º¥ý±z¥²¶·³]©w¦n±zªº /etc/printcap ¥H¤Î¨ä¥L³¡¥÷¡A ¦¹³¡¥÷½Ð°Ñ¦Ò zh-handbook ©Î¬O^¤åª© FreeBSD handbook¡C ¥H¤U¬O¤@¥x PostScript2 USB ¦Lªí¾÷ªº³]©w¡G(¦pªG±z¨S¦³Postscript¦Lªí¾÷¡A½Ð¦w¸Ë ports/chinese/ghostscript6 ¨Ó¼ÒÀÀ PostScript)¡C
¦ý¬O¦pªG±zªº¦Lªí¾÷¥u¤ä´© Windows ©Î¬O MacOS¡A¨º»ò½Ð¥Î ps2pdf12/ ps2pdf13 ±N¤U±¦U¤è¦¡°µ¥Xªº output.ps Âন pdf Àɮרì windows ¤U¥h¦C¦L¡C¥un¥´¡G ps2pdf1x output.ps output.pdf §Y¥i¡C(¨ä¹êY¬O¦³¦¹±¡ªp¡A §ÚÌ«ØÄ³±zª½±µ±N쥻»Ýn¦C¦LªºÀɮת½±µ¶Ç¦Ü¦Lªí¾÷©Ò¦bªº¾÷¾¹¦C¦L§Y¥i)
lp|local line printer:\
:sh:\
:mx=0:\ #³]©wµL³Ì¤jÀɮפj¤p
:lp=/dev/ulpt0:\ #¦¹¶µ½Ð¨Ì·Ó±z¦Lªí¾÷©Ò¦bªºport§ï¦¨lpt0©Î¬O¨ä¥Lport
sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
¤U¨Ó½Ð¦w¸Ë (½Ð°O±o¨Ï¥Îmake WANT_GS6=yes install)
ports/chinese/arphicttf
ports/chinese/bg5ps
(½Ð°O±o cp /usr/local/etc/bg5ps.conf.samle /usr/local/etc/bg5ps.conf)
ports/chinese/enscript
ports/chinese/ghostscript6
ports/moefonts-cid
±µ¤U¨Ó«Ü²³æ,§Ų́ӬݦC¦L¦UºØ¤£¦P¤å¥óªº¤èªk
Netscape(¥]¬A©Ò¦³»Ýn¦C¦L HTML ªº¦a¤è)¡G ½Ð¥H Ports ¤ºªº¤¤¤å Netscape ¦C¦L¦ÜÀÉ®×µM«á¿é¤J³oÓ«ü¥O¡G ps2ps netscape.ps output.ps ;lpr output.ps
´¶³q¤å¦rÀÉ¡G bg5ps < print.txt > print.ps; lpr output.ps
¯S®í¤å¦rÀÉ¡G enscript -X big5 -f DefaultMingB5-Regular-B5pc-H@12 -o print.ps print.txt ; ps2ps print.ps output.ps ; lpr output.ps
¨ä¥LÃþ«¬ÀɮץثeµL²³æ¤èªk¦C¦L
¥H¤U¬O¤@Ó¤p script¡AÀ°±z¦Û°Ê±N¤å¦rÀɤÀ¶
#!/usr/bin/perl -w
#
# This tiny script converts ^L to empty lines
# to fit a2ps
# Currently it only eats from STDIN and output to STDOUT.
# Fine enough.
# Customize the $expbl (Expected blank lines) to meet your
needs.
my $expbl=40; # Customize THIS !!!
meow
my $lc=0, $restlc=0 ;
foreach (<>) {
if (/^L/) {
$restlc = $expbl - (($lc % $expbl)) ;
for ($i=1; $i < $restlc; $i++) {
$lc++ ;
# print "$lc " . "\n" ;
# You could comment out above line to see the
line number.
print "\n" ;
}
}
s/^L// ;
if (/\n/) { $lc++ ;}
# print "$lc " .$_ ;
# You could comment out above line to see the line
number.
print $_ ;
}
bg5ps ¬O¤@ӨϥΥ¨Á¯´yz»y¨¥ (Python Scrpting Language)¼gªº¤@Ó¤pµ{¦¡¡A¯à°÷§Q¥Î´X®M§K¶Oªº Truetype ¤¤¤å¦r«¬±N¤@¯ë¥Î BIG5 ½s½Xªº¤å¦rÀÉÂà´«¦¨¯à°÷¦b ¨S¦³¤¤¤å¦r«¬ªº postscript ¦Lªí¾÷©Î¬O¥u¦³ ghostscript ªº¨t²Î¤W¦L¦Cªº postscript ÀɮסC bg5ps ¤]¥i¥H®³¨Ó·í°µ¹LÂo¾¹(filter)¡A¥Î¨Ó¹LÂo¦b FreeBSD ¤Wªº Netscape ©Î¬O mpage ²£¥Íªº postscript ÀɮרӦL¦C¨ä¤¤©Ò¥]§tªº BIG5 ¤¤¤å¦r¤¸¡C¦]¬° bg5ps ¨Ï¥Îªº¬O Truetype ¦r«¬¦Ó«D¯x°}¦r«¬¡A·í¦b¹p®g¦Lªí¾÷¤W©Î¬O¦r«¬¸û¤j®É¡A ¥i¥HÀò±o¤ñ¸û¦nªº¦L¦C«~½è¡C
bg5ps ªº¦w¸Ë¡G
# cd /usr/ports/chinese/bg5ps
# make install
¥Ø«e bg5ps ¬O±Ä¥Î moettf ¬°¦C¦Lªº¦r«¬¡C±z¥²¶·³]©w TTF ¦r«¬¸ô®| ¡A¦b¦w¸Ë§¹¤§«á¡A±z¥²¶·°Ñ¦Ò /usr/local/etc/bg5ps/bg5ps.conf.sample ¡A¨Ã±N±zªº³]©wÀɸm©ó ~/.bg5ps.conf ©Î /usr/local/etc/bg5ps/bg5ps.conf¡C
¥Î¥¦©Òªþªº½d¨Ò¨Ó´ú¸Õ¡A¨Ã¥Î ghostview ©Î gv Æ[¬Ýµ²ªG¡G
% cd /usr/local/share/doc/bg5ps
% bg5ps -if bg5ps.txt -of bg5ps.ps
% ghostview bg5ps.ps
bg5ps -h ¨Ó¬Ý¦³¨º¨Ç°Ñ¼Æ¥i¥H¨Ï¥Î¡C
¨Ï¥Î¤èªk
bg5ps ¥i¥H¥H¿W¥ß(stand along)©Î¬O·í¦¨¹LÂo¾¹(filter)¨Ó¨Ï¥Î¡C
¥H¿W¥ß¤è¦¡°õ¦æ¡C
¦pªG±zªº³]©wÀɨS¦³°ÝÃD¡A¦b¤j¦h¼Æªº®ÉÔ±z¥u¶·¤U¹F
% bg5ps -if yourfile.big5 -of yourfile.ps
´N¥i¥H±N big5 ½s½XªºÀÉ®×Âন¥i¥H¦L¦Cªº postscript ÀɮסC ¦b¤j³¡¥÷ªº Ãþ UNIX ªº¨t²Î¸Ì¡A¨Ï¥Î
% lpr yourfile.ps
´N¥i±N postscript ÀɮצL¥X¡C»Ýnª`·Nªº¬O±z¥²¶·n¦³ postscript ¦Lªí ¾÷©Î¬O¥Î ghostscript ¼ÒÀÀ postscript ªº¦Lªí ¾÷¤Î¦Lªí¹LÂo¾¹¡C¦¹¥~±z ÁÙ»Ýn½T©w±z¬O§_¥¿½Tªº«ü©w¦Lªí¾÷¡C ¦pªG±z·Qn±N mpage ¤Î netscape ©Ò²£¥Íªº postscript¤¤ªº big5 ½X°µ³B ²z¡A¨Ï¨ä¦¨¬°¥i¥H¦L¦C big5 ¤¤¤åªº postscriptÀÉ¡C ¨º±z»Ýn¥[¤W "-nps y" ³oÓ¿ï¶µ¦p¤U
% bg5ps -nps y -if netscape.ps -of cnetscape.ps
¦]¬°¦b netscape ²£¥Íªº postscript Àɤ¤ªº^¤å¬O¥iÅܼe«×ªº¦r«¬¡A ©Ò¥H ¦³®É·|¦³©M¤¤¤å¹ï¤£»ôªºª¬ªpµo¥Í¡C¦p¥Î mpage «h¨S¦³³o¤è± ªº°ÝÃD¡C¥Î mpage+bg5ps ¬O¥Î¨Ó¹wÄý¤jªº¤¤¤åÀɮ׸`¬Ù¯È±iªº¦n¤è ®×¡C
·í¦¨¹LÂo¾¹¨Ï¥Î¡C
bg5ps ¤]¥i¥H§Q¥Î UNIX ¤¤ªººÞ¹D(pipe)·í¦¨¹LÂo¾¹¨Ï¥Î¡C¤èªk¦p¤U
% cat yourfile.big5 | bg5ps > yourfile.ps
% cat yourfile.big5 | bg5ps | lpr
©Î
% cat netscape.ps | bg5ps -nps y > yourfile.ps
% cat netscape.ps | bg5ps | lpr
¿ï¶µ
bg5ps ¦³¤U¦Cªº¿ï¶µ¥i¥H¨Ï¥Î
* -fp ChineseFontPath: «ü©w¤¤¤å¦r«¬ªº¸ô®|(¹w³]È: »P bg5ps ¦P)
* -fn ChineseFontName: «ü©w¤¤¤å¦r«¬ªºÀɮצWºÙ(¹w³]È: ntu_kai)
* -o [0|1]: 0 ¤£¿é¥X©_¼Æ¶¡A1 ¿é¥X©_¼Æ¶(¹w³]È: 1)
* -e [0|1]: 0 ¤£¿é¥X°¸¼Æ¶¡A1 ¿é¥X°¸¼Æ¶(¹w³]È: 1)
* -s num: «ü©w¿é¥X¦r«¬ªº¤j¤p(¹w³]È: 12)
* -ls num: «ü©w¦æ¶Z(¹w³]È: 6.0)
* -cs num: «ü©w¦r¶Z(¹w³]È: 2.0)
* -lm num: «ü©w¥ªÃä¬É(¹w³]È: 72.0)
* -rm num: «ü©w¥kÃä¬É(¹w³]È: 72.0)
* -tm num: «ü©w¤WÃä¬É(¹w³]È: 72.0)
* -bm num: «ü©w¤UÃä¬É(¹w³]È: 72.0)
* -if filename: «ü©w¿é¤JÀÉÀɦW
* -of filename: «ü©w¿é¥XÀÉÀɦW
* -cf filename: «ü©w³]©wÀÉ(¹w³]È: /.bg5ps.conf)
* -nps [y|n]: y ¨Ï¥Î nps ¼Ò¦¡¡An ¤£¨Ï¥Î nps ¼Ò¦¡(¹w³]È: n)
½d¨Ò
% bg5ps -fn ntu_kai -e 0 -o 1 -s 18 -cs 3 -if mybig5.txt -of myps.ps
³]©wÀÉ(Configuration file)
bg5ps ªº³]©wÀɨä¹ê¨C¤@¦æ³£¬O python script »y¨¥ªº¤@ ¦æ«ü¥O¡A¥Ñ bg5ps ¥D µ{¦¡¥h©I¥s°õ¦æ¡A©Ò¥H¥i¯à¦³¦w¥þ©Ê¤Wªº °ÝÃD¡C½Ð°O±on±N³]©wÀɧ令°ßŪ¡C¦] ¬°³]©wÀɤ]¬O python script¡A©Ò¥H ¨C¤@¦æªº¶}©l¬O¤£¯à¦³ªÅ®æªº¡C
bg5ps ³]©wÀɦ³¤U¦C°Ñ¼Æ¥i¥H§ïÅÜ
* chineseFontPath: «ü©w¤¤¤å¦r«¬ªº¸ô®|(¹w³]È: »P bg5ps ¦P)
* fontName: «ü©w¤¤¤å¦r«¬ªºÀɮצWºÙ(¹w³]È: ntu_kai)
* oddPages: 0 ¤£¿é¥X©_¼Æ¶¡A1 ¿é¥X©_¼Æ¶(¹w³]È: 1)
* evenPages: 0 ¤£¿é¥X°¸¼Æ¶¡A1 ¿é¥X°¸¼Æ¶(¹w³]È: 1)
* size: «ü©w¿é¥X¦r«¬ªº¤j¤p(¹w³]È: 12)
* lineSpace: «ü©w¦æ¶Z(¹w³]È: 6.0)
* chrSpace: «ü©w¦r¶Z(¹w³]È: 2.0)
* leftMargin: «ü©w¥ªÃä¬É(¹w³]È: 72.0)
* rightMargin: «ü©w¥kÃä¬É(¹w³]È: 72.0)
* topMargin: «ü©w¤WÃä¬É(¹w³]È: 72.0)
* bottomMargin: «ü©w¤UÃä¬É(¹w³]È: 72.0)
½d¨Ò¡G
chineseFontPath="/home/cschin/lib/cfonts"
fontName="ntu_kai"
oddPages=1
evenPages=1
Note: ¦pªG¦b netscape ªº¦C¦L«ü¥O¸Ì±§â "lpr" ´«¦¨ "bg5ps -nps y | lpr"¡A´N¥i¥H¦C¦L¤¤¤åºô¶¤F¡C
WWW: http://weber.u.washington.edu/%7Ecschin/chinhome.html
Author: Chen-Shan Chin <cschin@u.washington.edu>