這一節教你怎麼列印中文文件。但我不會教你如何設定印表機,你必須自行設定妥當。
這一節介紹的工具都是將文件轉換成 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.big5 -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