这一节教你怎么列印中文文件。但我不会教你如何设定印表机,你必须自行设定妥当。
这一节介绍的工具都是将文件转换成 PostScript 格式,因此你还要让你的印表机能列印 PostScript 文档。如果你的印表机不直接支持 PostScript, 你可以安装
ghostscript
.
请参考
Printing HOWTO 的说明。
cnprint
是一个将中文文章转换为 PostScript 文档以供列印的工具。使用上就和标准的列印指令一样。它同时支持 GB, HZ 与 BIG5 编码。
你可在
ftp://ftp.ifcss.org/pub/software/unix/print
找到 cnprint280.tar.gz
。
cnprint280.tar.gz
只包含了五个文档
# ls
cnprint.1 cnprint.cmd cnprint280.README
cnprint.c cnprint.help
用下法编译
# gcc cnprint.c -o cnprint
# mv cnprint /usr/local/bin
# mv cnprint.1 /usr/local/man/man1
HBF 字型包括了标头档与字型图档: .hbf
是描述字型的标头档,这是一个文字档,里面记载了它的字型图档名称。
两种文档你都必须安装。你可在
ftp://ftp.ifcss.org/pub/software/fonts/
找到 HBF 字型。
例如你想使用 ccfs24.hbf
, 一种仿宋简体字型,你必须取得这三个文档: ccfs24.hbf
, cclib.n24
与 ccsym.24
。
在 ifcss 的字型目录下的 00index.txt
列出了所有 HBF 字型的文档名称。
建一个目录专门来放 HBF 字型,例如 /usr/local/lib/chinese/HBF/
。将你取回来的 HBF 标头档与字型图档都放到这个目录下。
然后在环境变数中指定 HBF 字型的完整目录。
# export HBFPATH="/usr/local/lib/chinese/HBF/"
文档 cnprint.cmd
中包含了 cnprint
的一些预设值。
你必须修改它,让它指向你安装的 HBF 字型。然后将它放到 $HBFPATH
# cp cnprint.cmd $HBFPATH
现在你可用 ``cnprint -w FILENAME
'' 将中文文章转换为 PostScript 文档。详细的用法请参考 man cnprint
.
cnprint 2.80
还增加了许多特异功能,例如,各种编码格式的转换,BIG5 <=> GB <=> HZ.
不过 BIG5 <=> GB 必须另外安装转换表格,这个表格可以从下面地点取得:
ftp://ftp.ifcss.org/pub/software/unix/convert/hc.tab取回后放到 HBF 字型目录下,然后修改
cnprint.cmd
, 加上
DEFAULT_GBB5_TABLEFILE: /usr/local/lib/chinese/HBF/hc.tab
cnprint 2.80
的 BIG5 到 GB 转换不仅能做到一般的字对字转换,还能做到词对词的转换。
然而 cnprint
本身也未提供转换的字典,你必须自行建立。详情请参考 man cnprint
.
这个小程序的功能是将原本无法以中文输出的 PostScript 档转换成可以以中文输出。 例如 Netscape 在列印时是先将文档转成 PostScript,但其输出的 PostScript 却不包含中文字型,这使得原来是中文的部分变成乱码印出。 这个程序可以读入 PostScript 档,将其乱码的部分改以中文字取代之,并将结果送到标准输出,则其输出结果便可送到任何可以印 PostScript 文件的印表机列印。
在下面地点取得:
ftp://linux.cis.nctu.edu.tw/packages/chinese/misc/ps2cps-0.1.tgz
解开后视你的需要修改 Makefile:
BINPATH : 可执行档 (ps2cps) 的安装路径
PS2CPSPATH : PS2CPS 的资源档路径
PS2CPSRC : PS2CPS 资源档的名称
再来 make all install
即可。
你必须按照上节的方法先安装好 HBF 中文字型。再来修改你的 ps2cpsrc
文档:
HBF_PATH: 定义 HBF 字型所在目路
HBF_NAME: 定义 HBF 字型的名称 ( .hbf ,不含路径 )
CH_WORD_SHIFT: 定义中文字型位移。
其中最后一项是用来调整中文字型的位置用的。由于有些中文字型与原本的英文字型可能不在同一水平线上,故可以设此变数以做上下调整。其值为 -1.0 至 +1.0 之间。
然后你就可以用作者附的范例来测试:
# ps2cps thhsieh.ps > c-thhsieh.ps
用 ghostview
来试试能否看到中文字型。
然而这个程序尚在测试阶段,有许多问题待解决。若你有任何问题或是建议可直接向作者反应: 台大物研所谢东翰 < thhsieh@twclx.phys.ntu.edu.tw>.
这也是一个将 BIG5 中文文档转成可列印的 PostScript 档,功能和 cnprint 类似。 但是它使用 TrueType 字型因此输出结果比较漂亮。它还另外附一个可将 Netscape 输出的 PostScript 转换成可列印中文的 script. 作者是 Chen-Shan Chin < cschin@u.washington.edu>.
你可以从这里取得软件:
http://weber.u.washington.edu/~cschin/bg2ps/
解开压缩档并编译:
# mkdir bg2ps
# cd bg2ps
# tar xzvf bg5ps.tgz
# gcc -O2 ttf2psm.c -o ttf2psm
再来安装 TrueType 字型。你可将它安装在 bg2ps 同一目录,或另外指定目录。请参考
安装 TTF 字型 的说明。
然后在你的目录下建一 .bg5ps.conf
文档,你可以直接拿它所附的范例 bg5ps.conf
来修改。
其中最重要的是将 chineseFontPath
指到你安装 TrueType 字型的目录,并将 fontName
改成你使用的字型名称。
用它所附的范例来测试,并用 ghostview
或 gv
观看结果:
# ./bg5ps -if test.gb2312 -of test.ps
# ghostview test.ps
nps2cps 没有额外的设定档。你必须自行修改 nps2cps
script 中的 chineseFontPath
及 fontName
.
测试 nps2cps:
# nps2cps < netscape.ps > test.ps
# ghostview test.ps
gb2ps 是另一种可以列印 GB 与 HZ 编码的工具程序。
- 套件:
gb2ps.2.02.tar.gz
ftp://ftp.ifcss.org/pub/software/unix/print
- 字型:
csong24.ccf ckai24.ccf
cfang24.ccf chei24.ccf
ftp://ftp.ifcss.org/pub/software/fonts/gb/misc/
将字型放在某个目录下,例如 /usr/local/lib/chinese/CFONT
在编译 gb2ps 之前先更改 Makefile
的设定
CFONT=/usr/local/lib/chinese/CFONT/
COVERPAGE=/usr/local/lib/chinese/lib/cover.ps
然后打
# make
# cp gb2ps /usr/local/bin