下一页 上一页 目录

6. 中文打印

本节将教您如何打印中文文档,但不演示如何设置打印机;您必须自行完成所有准备工作。本节介绍的工具都是用于转换为 PostScript 格式;因此,您需要设置您的打印机以便打印 PostScript 文件。如果您的打印机不支持直接 PostScript,您可以安装 ghostscript 作为替代方案。请参考 Printing HOWTO

6.1 cnprint

cnprint 是一个打印工具,旨在将中文文本文件转换为 PostScript 格式,其命令与标准命令相同。它同时支持 GB、HZ 和 BIG5 编码。

在哪里获取?

ftp://ftp.ifcss.org/pub/software/unix/print 下载,文件名为 cnprint280.tar.gz

设置 cnprint

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 字体包括描述文件和字体文件。.hbf 是描述字体的头文件,采用纯文本格式,记录了其字体文件的文件名。这两个文件都必须由您自己安装。您可以在 ftp://ftp.ifcss.org/pub/software/fonts/ 找到它们。

如果您想使用 ccfs24.hbf,例如,这是一种仿宋体的简体字体,您必须获取以下三个文件:ccfs24.hbfcclib.n24ccsym.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

不仅如此,对于 BIG5 到 GB 代码的转换,cnprint 2.80 可以完成针对字到字的转换,也可以完成针对词组到词组的工作。但是,cnprint 本身没有提供转换字典,这意味着如果您需要字典,则必须自己创建一个。请参考 man cnprint 获取更多详细信息。

6.2 ps2cps

这个小程序的目的在于使 PostScript 文件(原本无法输出中文到输出设备)能够用于中文输出。例如,当 Netscape 打印文件时,它会首先将文件转换为 PostScript 格式;但是,PostScript 的输出不会加载中文字体,因此中文单词的原始部分将变成乱码输出。此程序可以读取 PostScript 输入,并将乱码替换为相应的单词;然后将结果输出到标准输出设备,输出数据可以发送到可以打印 PostScript 文档的打印机。

从这个站点获取 ps2cps

ftp://linux.cis.nctu.edu.tw/packages/chinese/misc/ps2cps-0.1.tgz

解压并解压缩此文件,并根据您的需求修改 Makefile

    BINPATH    : Installing pathname for binary ps2cps 
    PS2CPSPATH : Resources files' pathname for PS2CPS 
    PS2CPSRC   : Filename of resources files for PS2CPS 

下一步是 make all install

您必须首先根据上一节安装 HBF 中文字体,然后修改您的 ps2cpsrc 文件

    HBF_PATH:      Define the directory pathname of HBF fonts
    HBF_NAME:      Define filenames of HBF fonts(NOT including pathname)
    CH_WORD_SHIFT: Define shift of Chinese fonts
最后一项用于调整中文字体的位置。一些中文字体和原始英文字体可能不在同一水平线上,因此您可以设置此变量,其数值范围从 -1.0 到 +1.0,激活后可以向上或向下调整。

因此,您可以使用创始人制作的示例进行一些测试

# ps2cps thhsieh.ps > c-thhsieh.ps
使用 ghostview 查看您是否可以看到中文字符。

但是,该程序仍处于 beta 测试阶段,还有许多问题等待解决。如果您有任何问题或建议,可以直接向作者发送消息:Tung-Han Hsieh < thhsieh@twclx.phys.ntu.edu.tw>。

6.3 bg2ps

这是另一个程序,可以将基于 BIG5 的中文文件转换为可用于打印的 PostScript(与 cnprint 相同)。但因为它使用 TrueType 字体,所以输出比其他程序更美观。此外,它有一个脚本可以将 Netscape 的 PostScript 输出转换为中文。作者是 Chen-Shan Chin < cschin@u.washington.edu>。

从这个网站获取此软件

http://weber.u.washington.edu/~cschin/bg2ps/

安装 bg2ps

解压缩并编译它

# mkdir bg2ps
# cd bg2ps
# tar xzvf bg5ps.tgz 
# gcc -O2 ttf2psm.c -o ttf2psm

下一步安装 TrueType 字体。您可以将其安装在 bg2ps 的同一目录下,也可以指定另一个目录供使用。请参考 安装 TTF 字体 以获得更多解释。然后,在目录下创建一个 .bg5ps.conf,您可以直接使用该程序附带的示例文件进行修改。最重要的是将您安装 TrueType 字体的目录分配给 chineseFontPath,并将 fontName 的内容重命名为您使用的字体名称。

测试它附带的示例,并使用 ghostviewgv 查看输出。

# ./bg5ps -if test.big5 -of test.ps
# ghostview test.ps

安装 nps2cps

nps2cps 没有额外的配置文件。您需要在 nps2cps 脚本中自行修改 chineseFontPathfontName

测试 nps2cps

# nps2cps < netscape.ps > test.ps
# ghostview test.ps

6.4 gb2ps

gb2ps 程序是另一个用于打印 GB 和 HZ 编码的工具。

如何获取 gb2ps?

软件包

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

在编译 gb2ps 之前,更改 Makefile 中的设置。

CFONT=/usr/local/lib/chinese/CFONT/
COVERPAGE=/usr/local/lib/chinese/lib/cover.ps
然后输入这些命令并按回车键,
# make
# cp gb2ps /usr/local/bin


下一页 上一页 目录