精華區beta FreeBSD 關於我們 聯絡資訊
CNPRINT is a utility to print Chinese/Japanese/Korean (CJK) text (or convert to PostScript) under DOS, VMS and UNIX systems. It works just as a print command on your system. Currently GB, Hz, zW, BIG5, CNS, JIS, EUC, Shift-JIS, KSC, UTF8, UTF7 and UTF16 formats are supported. CNPRINT also has many other features, among them: * print all CJK codes using a single Unicode CJK font * print GB using Big5 fonts or print Big5 using GB fonts * multiple columns, vertical printing, change font or character size within document * phrase-based GB<->BIG5 conversions * built-in HZ<->GB conversion * repair/re-format functions for CJK text * envelope and address label printing * decode MIME quoted printable (=20=3C=5E like text) * true type fonts (TTF) support With its full Unicode support, it should be able to print other language (e.g. Thai, Vietnames, Arabic as well). For more information, please read the help file. CAI's Software Page http://www.neurophys.wisc.edu/~cai/software/ 參考 http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/print/cnprint/ 快速包好了 cnprint,不過發生了點小問題 1. 原作者的網站檔案不見了 @@ 2. hbf.tar.gz 檔案有點問題,我看了一下 mirror site 的內容, netbsd 內的 hbf.tar.gz 並不是 hbf 的相關函式, 而是一堆 .hbf 檔案,但是找不到最正確的 hbf.tar.gz ftp://ftp.netbsd.org/pub/NetBSD/packages/distfiles/ 找沒有 cnprint ftp://ftp.ifcss.org/pub/software/fonts/utils/hbf.tar.gz 這是轉換的工具程式 ftp://ftp.netbsd.org/pub/NetBSD/packages/1.6/i386/All/cnprint-3.30b.tgz 抓到了 package 既然都是字型,那就 md5 看看有沒有問題,沒問題就自己重包 hbf.tar.gz 吧 md5 /usr/local/share/cnprint/* MD5 (/usr/local/share/cnprint/cc48.sym) = 7c149ea2f29f318cbfb955f82a8c3dff MD5 (/usr/local/share/cnprint/cc48s.hbf) = 3ecd697e6cade9bf7248f0e8f63c863b MD5 (/usr/local/share/cnprint/cnprint.cmd) = d193ec67ae749253a057b10bace99fba MD5 (/usr/local/share/cnprint/hanglm24.bin) = 681115f1e5a9f3fa1c161df122885dee MD5 (/usr/local/share/cnprint/hanglm24.hbf) = 0f4be389b16edbb0542e6303f05d5ec9 MD5 (/usr/local/share/cnprint/hanja65.hbf) = bf24851951dac23017a4285e33979f2f MD5 (/usr/local/share/cnprint/jis16.hbf) = f86645941cbdffa000f62a822cd172b9 MD5 (/usr/local/share/cnprint/jiskan24.bin) = 987fe12c27139f62bee191a744031540 MD5 (/usr/local/share/cnprint/jiskan24.hbf) = 099344b04f8dc5fc9d795975ae025ba3 MD5 (/usr/local/share/cnprint/kanji48.bin) = 0ac1839c06fd3b6ae2fc15ad21935832 MD5 (/usr/local/share/cnprint/kanji48.hbf) = 320060ddfa793160ce4e5e0cd21cbf30 MD5 (/usr/local/share/cnprint/ksc16.hbf) = 6b7728ad7512dc9a9464f35574337aba MD5 (/usr/local/share/cnprint/mshei.htf) = 9db930523629701d7608c31627495540 MD5 (/usr/local/share/cnprint/mshei.ttf) = 3c465e0f6817083e2ee8af98b34b1b05 MD5 (/usr/local/share/cnprint/mssong.htf) = a92eba3f7b1b456e6d13081042a36ab2 MD5 (/usr/local/share/cnprint/mssong.ttf) = 49774b02f26f83aa2f6a2d40821c89c0 MD5 (/usr/local/share/cnprint/uwjis-16.hbf) = 88f361b8d965ad2599f7b8a89a630edb MD5 (/usr/local/share/cnprint/uwksc-16.hbf) = 4fa07a18f4e019a93b535e70e0e4e978 跟 package 的內容一樣,收工. 要使用 cnprint 的話,可以測試 outta-port # cd /usr/ports/outta-port/cnprint # make install clean ===== http://freebsd.ntu.edu.tw/bsd/6/2/8/7.html ◇ 如何列印中文 - how to print 2. 安裝 cnprint: ftp://ftp.nctu.edu.tw/Chinese/ifcss/software/unix/print/cnprint280.tar.gz (1) 抓回來後用 gcc -o cnprint cnprint.c 編出 cnprint。 (2) 視需要修改一下 cnprint.cmd。 (3) 如何沒有 hbf 字型,到 ftp://ftp.nctu.edu.tw/Chinese/ifcss/software/fonts 下抓。中文在 big5 目錄下,日文在 misc 目錄下。 (4) 用 cnprint xxx.txt -o=xxx.ps 把中文文件轉成 PostScript 檔, 再用 ghostscript 列印。 * 因為使用 hbf 字型,列印效果較差。 * 不只可以列印 big5 中文,也可以列印 gb 中文、JIS 日文等文件。 ===== ===== http://www.linux.org.tw/CLDP/Chinese-HOWTO-6.html Linux Chinese 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/ 找到 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. ===== ===== http://linux.cis.nctu.edu.tw/chinese/doc/cnprint-doc 標題: 如何列印中文 作者: 伍永康, yorkwu@ms4.hinet.net 版本: 0.9(86-03-29) 本文介紹在Linux如何列印中文. 本文可以在網路上免費流傳, 收錄於BBS之精華區. (可不通知作者, 但須保持著作資訊) 亦可商業轉載, 但必須(1)保存著作資訊(2)事先 通知作者. 此外, 若有人想於自己的文件中引用, 也請先通知作者. 0. 前言: 在日常生活中,列印也是件重要的事. 然而, Linux的各distribution並不提供 中文列印功能,這對我們這些用中文的用戶來說是不方便的.這就是本人寫這篇 文件的動機. PostScript是Adobe的商標 Windows 3.1, Windows 95是Microsoft Corporation的商標 1. 事前的準備: 在要準備裝中文列印功能以前,請先確定您有列印的能力. 您要有印表機及印表 機連接埠. 另外, 中文印表軟體也多是以PostScript或EPS格式輸出, 所以您也 要有PostScript列印能力. 如果您比較有錢, 用的是PostScript印表機, 那恭 喜, 您可以跳過這一段, 直接跳到下一節. 不過大多數人都沒有這樣好的設備, 這時就要用別的東西幫助了. 有關基本的印表設定, 請看Printing HOWTO及 Printing Usage HOWTO. 在這裡我簡單講一下如何讓一般印表機具PostScript列印能力. 有兩個東西是必 要的: ghostscript(gs)及aps-filter. 後者不是絕對必要, 但能大幅簡化您的 工作. 如果您是用Slackware distribution, gs已在AP系列磁片中了, 您只要選 擇裝它就行了. 如果您的硬碟空間夠大, 可以多裝幾個字型備用. 至於aps-filter,請自行搜尋aps-491.tgz這個檔, 把它download下來. 然後解到 一個地方(如/usr/local/lib/aps), 照著它的指示去裝就行了. 不過要注意的是 aps-filter依賴gs, 所以碰到gs不支援的印表機(如Windows GDI印表機), 它也是 愛莫能助了. 請確定一下自己的印表機不是GDI印表機. 裝好aps後, 您可以試著印aps的一些範例檔. 不過我們只對*.ps的檔案有興趣. 如果您能正確印出*.ps檔案, 那就完成了基本準備工作, 喝杯茶, 準備下一步吧! 2. 正式開始: 我們用cnprint來列印. 這個cnprint已經發展一段時間了, 它的工作原裡是讀入 原始檔及中文字型檔後, 轉換成PostScript格式印出. 雖然, 它還不支援TTF字型, 所以您還看不到如同Win31或Win95能印出那麼漂亮的東西, 但和倚天相比, 則毫 不遜色. 在2.6.0以後的版本, 還支援多國語言列印, 是個相當不錯的程式. 首先先抓cnprint260.tar.gz,把它解開. 您會得到: -rw-r--r-- 8382/6650 28213 Jan 26 12:55 1995 cnprint/cnprint.1 -rw-r--r-- 8382/6650 103902 Jan 26 12:39 1995 cnprint/cnprint.c -rw-r--r-- 8382/6650 11649 Jan 26 12:40 1995 cnprint/cnprint.cmd -rw-r--r-- 8382/6650 42609 Jan 26 12:39 1995 cnprint/cnprint.help 請先閱讀cnprint.help, 是份英文的文件. 這份文件在您碰到問題時很有幫助. 即使您已經裝過舊版的cnprint, 仍然需要看, 這版有不算太小的改變. 然後修改cnprint.cmd, 茲將本人的cnprint.cmd列於此, 供參考: --------------------------------cnprint.cmd----------------------------------- # File "cnprint.cmd" should be kept in the same directory where the fonts # are kept. Put your system PS printing command (DOS: port name) and/or # your default Big5/JIS/KSC/unicode HBF file name below. Leave one space # after the ":". If you mainly deal with BIG5, Japanese, Korean or unicode # files, change the default encoding. You can also change other default # settings, such as paper size, paper margins, etc. # # ****************************************************************** # * CNPRINT.CMD For CNPRINT Versions 2.60/2.61 (DOS, VMS and UNIX) * # ****************************************************************** # Copyright YIDAO CAI (~{2LR@5@~}), 1992-1995 # All Rights Reserved. # Free for non-commercial and personal use only. # # Lines headed by # are comments # Please leave ONE SPACE after the ":", e.g. # # 請注意, 在':'及設定值間留個空白... #PS_PRINT_COMMAND: laser <-- YES, correct #PS_PRINT_COMMAND:laser <-- NO, incorrect # # put PostScript print command (or port name in DOS, like LPT2:) bellow # 這裡是列印PostScript檔時下的命令. 如果裝了aps-filter,只要寫lpr就好. PS_PRINT_COMMAND: lpr # # 底下幾個是不同內碼時的中文字型檔設定: # # put default GB font (HBF) name below (such as cnj24.hbf) # GB(國標)碼,大陸用的內碼 DEFAULT_GB_FONT: cnf24.hbf # # put default BIG5 font (HBF) name below (such as cn5b24.hbf) # BIG5(大五)碼,台灣及香港用的內碼 DEFAULT_BIG5FONT: cn5b24.hbf # # put default JIS (Japanese) font (HBF) name below (such as cnjb24.hbf) # JIS碼,日文內碼 DEFAULT_JIS_FONT: cnjb24.hbf # # put default KSC font (HBF) name below (such as cnkb24.hbf) # KSC碼,韓文內碼 DEFAULT_KSC_FONT: cnkb24.hbf # # put default UNICODE font (HBF) name below (such as cnub24.hbf) DEFAULT_UTF_FONT: cnub24.hbf # # if you mainly print BIG5/Japanese/KSC/unicode files, put the default # encoding below (GB, BIG5, JIS, KSC or UNICODE in upper case). The # default "unicode" type is "utf8" # 設定預定的內碼. 由於我們最常用BIG-5中文碼, 所以寫BIG5. 您也可以設別的 # 然後在命令列再指定. DEFAULT_ENCODING: BIG5 # # if paper size used by your printer is not A (8.5x11), change the # paper size below (width, length in inch) # 基本上cnprint是給點陣印表機用的, 所以預設用letter size的紙. 如果您 # 要用噴墨或雷射, 請改成A4大小. DEFAULT_PAPERSIZE: 8.5 11. # # put paper margins (Left/Right/Top/Bottom in mm, minimum 3mm) below, # first for Portrait mode, then for Landscape mode PAPER_MARGINS: 26.1 21.9 25.2 25.8 15.3 15.2 20. 22. # # put char sizes for Portrait mode and Landscape mode (in points, 1 inch # = 72 points) and char space, line space (1=standard) below SIZE_SPACE: 13.5 11.6 1. 1. # # put character width/height or height/width below. Change ONE value # only, leave the other as 1. WIDTH-HEIGHT: 1. 1. # # ******** You are advised NOT to make any change below ******** # ******** if you don't know what you are doing ******** # # [Advanced users] you may specify/add/change the path of the temperal # file generated by CNPRINT TEMPFILE: CNPRINT.TMP # # [Advanced users] you may specify the device resolution (in dpi, # default 300) it may (or may not) improve the print quality DEVICERES: 300 # # ******** ABSOLUTLY NO CHANGES BELOW ******** # # The data base arrange the width of English character for each font # from 32 to 160, with that of Courier as 10000. Helvetica DATA 4633 4633 5916 9266 9266 14816 11116 3700 5549 5549 DATA: 6483 9733 4633 9733 4633 4633 9266 9266 9266 9266 DATA: 9266 9266 9266 9266 9266 9266 4633 4633 9733 9733 DATA: 9733 9266 16916 11116 11116 12033 12033 11116 10183 12966 DATA: 12033 4633 8333 11116 9266 13883 12033 12966 11116 12966 DATA: 12033 11116 10183 12033 11116 15733 11116 11116 10183 4633 DATA: 4633 4633 7816 9266 3699 9266 9266 8333 9266 9266 DATA: 4633 9266 9266 3699 3699 8333 3700 13883 9266 9266 DATA: 9266 9266 5549 8333 4633 9266 8333 12033 8333 8333 DATA: 8333 5566 4333 5566 9733 4633 12033 9266 9266 9266 DATA: 9266 9266 9266 8333 9266 9266 9266 4633 4633 4633 DATA: 11116 11116 11116 14816 16666 9266 9266 9266 9266 9266 DATA: 8333 12966 12033 9266 9266 9266 10183 4633 9266 Helvetica-Bold DATA: 4633 5549 7899 9266 9266 14816 12033 4633 5549 5549 DATA: 6483 9733 4633 9733 4633 4633 9266 9266 9266 9266 DATA: 9266 9266 9266 9266 9266 9266 5549 5549 9733 9733 DATA: 9733 10183 16249 12033 12033 12033 12033 11116 10183 12966 DATA: 12033 4633 9266 12033 10183 13883 12033 12966 11116 12966 DATA: 12033 11116 10183 12033 11116 15733 11116 11116 10183 5549 DATA: 4633 5549 9733 9266 4633 9266 10183 9266 10183 9266 DATA: 5549 10183 10183 4633 4633 9266 4633 14816 10183 10183 DATA: 10183 10183 6483 9266 5549 10183 9266 12966 9266 9266 DATA: 8333 6483 4666 6483 9733 4633 12033 10183 9266 9266 DATA: 9266 9266 9266 9266 9266 9266 9266 4633 4633 4633 DATA: 12033 12033 11116 14816 16666 10183 10183 10183 10183 10183 DATA: 9266 12966 12033 9266 9266 9266 10183 4633 9266 Times-Italic DATA: 4166 5549 6999 8333 8333 13883 12966 5549 5549 5549 DATA: 8333 11249 4166 11250 4166 4633 8333 8333 8333 8333 DATA: 8333 8333 8333 8333 8333 8333 5549 5549 11249 11249 DATA: 11249 8333 15333 10183 10183 11116 12033 10183 10183 12033 DATA: 12033 5549 7399 11116 9266 13883 11116 12033 10183 12033 DATA: 10183 8333 9266 12033 10183 13883 10183 9266 9266 6483 DATA: 4633 6483 7033 8333 5549 8333 8333 7399 8333 7399 DATA: 4633 8333 8333 4633 4633 7399 4633 12033 8333 8333 DATA: 8333 8333 6483 6483 4633 8333 7399 11116 7399 7399 DATA: 6483 6666 4583 6666 9016 4166 11116 8333 7399 8333 DATA: 8333 8333 8333 7399 7399 7399 7399 4633 4633 4633 DATA: 10183 10183 10183 11116 14816 8333 8333 8333 8333 8333 DATA: 7399 12033 12033 8333 8333 8333 8333 4166 8333 Times-Roman DATA: 4166 5549 6799 8333 8333 13883 12966 5549 5549 5549 DATA: 8333 9399 4166 9399 4166 4633 8333 8333 8333 8333 DATA: 8333 8333 8333 8333 8333 8333 4633 4633 9399 9399 DATA: 9399 7399 15349 12033 11116 11116 12033 10183 9266 12033 DATA: 12033 5549 6483 12033 10183 14816 12033 12033 9266 12033 DATA: 11116 9266 10183 12033 12033 15733 12033 12033 10183 5549 DATA: 4633 5549 7816 8333 5549 7399 8333 7399 8333 7399 DATA: 5549 8333 8333 4633 4633 8333 4633 12966 8333 8333 DATA: 8333 8333 5549 6483 4633 8333 8333 12033 8333 8333 DATA: 7399 8000 3333 8000 9016 4166 11116 8333 7399 7399 DATA: 7399 7399 7399 7399 7399 7399 7399 4633 4633 4633 DATA: 12033 12033 10183 11116 14816 8333 8333 8333 8333 8333 DATA: 8333 12033 12033 8333 8333 8333 8333 4166 7399 Times-Bold DATA: 4166 5549 9250 8333 8333 16666 13883 5549 5549 5549 DATA: 8333 9499 4166 9500 4166 4633 8333 8333 8333 8333 DATA: 8333 8333 8333 8333 8333 8333 5549 5549 9499 9499 DATA: 9499 8333 15500 12033 11116 12033 12033 11116 10183 12966 DATA: 12966 6483 8333 12966 11116 15733 12033 12966 10183 12966 DATA: 12033 9266 11116 12033 12033 16666 12033 12033 11116 5549 DATA: 4633 5549 9683 8333 5549 8333 9266 7399 9266 7399 DATA: 5549 8333 9266 4633 5549 9266 4633 13883 9266 8333 DATA: 9266 9266 7399 6483 5549 9266 8333 12033 8333 8333 DATA: 7399 6566 3666 6566 8666 4166 12033 9266 7399 8333 DATA: 8333 8333 8333 7399 7399 7399 7399 4633 4633 4633 DATA: 12033 12033 11116 12033 16666 8333 8333 8333 9266 9266 DATA: 8333 12966 12033 8333 8333 8333 9266 4166 8333 Palatino-Italic DATA: 4166 5549 8333 8333 8333 14816 12966 4633 5549 5549 DATA: 6483 10099 4166 10100 4166 4933 8333 8333 8333 8333 DATA: 8333 8333 8333 8333 8333 8333 4166 4166 10099 10099 DATA: 10099 8333 12449 12033 10183 11116 12966 10183 9266 12033 DATA: 12966 5549 5549 11116 9266 15733 12966 12966 10183 12966 DATA: 11116 9266 10183 12966 12033 15733 12033 11116 11116 5549 DATA: 10099 5549 10099 8333 4633 7399 7716 6783 8333 6483 DATA: 4633 8333 8333 4633 4633 7399 4633 12966 9266 7399 DATA: 8333 7716 6483 6483 5549 9266 8333 12033 8333 8333 DATA: 7399 5549 10099 5550 10099 4166 11116 9266 6483 7399 DATA: 7399 7399 7399 6783 6483 6483 6483 4633 4633 4633 DATA: 12@033 12033 10183 10633 15683 7399 7399 7399 9266 9266 DATA: 8333 12966 12966 8333 8333 8333 8333 4166 7399 Palatino-Bold DATA: 4166 4633 6699 8333 8333 14816 13883 4633 5549 5549 DATA: 7399 10099 4166 10100 4166 4933 8333 8333 8333 8333 DATA: 8333 8333 8333 8333 8333 8333 4166 4166 10099 10099 DATA: 10099 7399 12449 12966 11116 12033 13883 10183 9266 13883 DATA: 13883 6483 6483 12966 10183 16666 13883 13883 10183 13883 DATA: 12033 10183 11116 12966 12966 16666 11116 11116 11116 5549 DATA: 10099 5549 10099 8333 4633 8333 10183 7399 10183 8333 DATA: 6483 9266 10183 5550 5549 10183 5549 14816 10183 9266 DATA: 10183 10183 6483 7399 5549 10183 9266 13883 8333 9266 DATA: 8333 5166 10099 5166 10099 4166 12033 10183 8333 8333 DATA: 8333 8333 8333 7399 8333 8333 8333 5549 5549 5549 DATA: 12966 12966 10183 12966 16666 9266 9266 9266 10183 10183 DATA: 9266 13883 12966 8333 8333 8333 10183 4166 8333 AvantGarde-Book DATA: 4616 4916 5150 9233 9233 12916 12616 5850 6149 6149 DATA: 7083 10099 4616 10100 4616 7283 9233 9233 9233 9233 DATA: 9233 9233 9233 9233 9233 9233 4616 4616 10099 10099 DATA: 10099 9849 14449 12333 9566 13549 12399 8933 8083 14533 DATA: 11383 3766 8033 9849 7700 15316 12333 14483 9866 14516 DATA: 10116 8300 7099 10916 11699 16000 10149 9866 8000 5850 DATA: 10083 5849 10099 8333 5850 11383 11366 10783 11416 10833 DATA: 5233 11216 10166 3333 3383 8366 3333 15633 10166 10916 DATA: 11366 11366 5016 6466 5649 10133 9233 13850 8000 8933 DATA: 7083 5849 11199 5849 10099 4616 13549 10133 10833 11383 DATA: 11383 11383 11383 10783 10833 10833 10833 3333 3333 3333 DATA: 12333 12333 8933 19283 16533 10916 10916 10916 10133 10133 DATA: 8933 14483 10916 9233 9233 9233 9233 4616 11383 AvantGarde-BookOblique DATA: 4616 4916 5150 9233 9233 12916 12616 5850 6149 6149 DATA: 7083 10099 4616 10100 4616 7283 9233 9233 9233 9233 DATA: 9233 9233 9233 9233 9233 9233 4616 4616 10099 10099 DATA: 10099 9849 14449 12333 9566 13549 12399 8933 8083 14533 DATA: 11383 3766 8033 9849 7700 15316 12333 14483 9866 14516 DATA: 10116 8300 7099 10916 11699 16000 10149 9866 8000 5850 DATA: 10083 5849 10099 8333 5850 11383 11366 10783 11416 10833 DATA: 5233 11216 10166 3333 3383 8366 3333 15633 10166 10916 DATA: 11366 11366 5016 6466 5649 10133 9233 13850 8000 8933 DATA: 7083 5849 11199 5849 10099 4616 13549 10133 10833 11383 DATA: 11383 11383 11383 10783 10833 10833 10833 3333 3333 3333 DATA: 1@333 12333 8933 19283 16533 10916 10916 10916 10133 10133 DATA: 8933 14483 10916 9233 9233 9233 9233 4616 11383 AvantGarde-Demi DATA: 4666 4666 6000 9333 9333 14333 11333 4666 6333 6333 DATA: 7333 10000 4666 10000 4666 7666 9333 9333 9333 9333 DATA: 9333 9333 9333 9333 9333 9333 4666 4666 9999 9999 DATA: 10000 9333 12333 12333 9666 12999 11666 8666 8000 13999 DATA: 11333 4666 8000 10333 7333 15000 12333 13999 9333 13999 DATA: 9666 8666 6999 10666 11666 15000 11333 10333 8333 5333 DATA: 10666 5333 10000 8333 4666 11000 11000 10666 11000 10666 DATA: 4666 10999 10000 4000 4333 9666 4000 15666 9999 10666 DATA: 10999 10999 5333 7333 4999 9999 9333 13333 9333 9666 DATA: 7666 5666 10000 5666 9999 4666 12999 9999 10666 11000 DATA: 10999 10999 10999 10666 10666 10666 10666 4000 4000 4000 DATA: 12333 12333 8666 18000 15000 10666 10666 10666 9999 9999 DATA: 9666 13999 10666 9333 9333 9333 9999 4666 11000 AvantGarde-DemiOblique DATA: 4666 4666 6000 9333 9333 14333 11333 4666 6333 6333 DATA: 7333 10000 4666 10000 4666 7666 9333 9333 9333 9333 DATA: 9333 9333 9333 9333 9333 9333 4666 4666 9999 9999 DATA: 10000 9333 12333 12333 9666 12999 11666 8666 8000 13999 DATA: 11333 4666 8000 10333 7333 15000 12333 13999 9333 13999 DATA: 9666 8666 6999 10666 11666 15000 11333 10333 8333 5333 DATA: 10666 5333 10000 8333 4666 11000 11000 10666 11000 10666 DATA: 4666 10999 10000 4000 4333 9666 4000 15666 9999 10666 DATA: 10999 10999 5333 7333 4999 9999 9333 13333 9333 9666 DATA: 7666 5666 10000 5666 9999 4666 12999 9999 10666 11000 DATA: 10999 10999 10999 10666 10666 10666 10666 4000 4000 4000 DATA: 12333 12333 8666 18000 15000 10666 10666 10666 9999 9999 DATA: 9666 13999 10666 9333 9333 9333 9999 4666 11000 --------------------------end of cnprint.cmd-------------------------------- 接下來編譯cnprint.c. 不曉得為什麼, 我用-O2會不太正常, 所以我沒有作最 佳化. 您要不要用就看您了. gcc -o cnprint cnprint.c 這在我的486DX上花了兩三分鐘. 請耐心等. 編譯完成了, 可以開始印了吧! 且慢! 別忘了中文字型還沒裝哩! 現在在此先解釋 一下中文hbf字形的觀念: hbf(Hanzi Bitmap Font,漢字點陣字型)其實只是個字型的描述檔, 它本身並沒有 任何字型資料, 所以還需要字型資料檔. 如果您裝過yact想必對這有體認吧! 您可以去 ftp://ftp.edu.tw/Chinese/ifcss/software/fonts/big5/hbf 去抓. 在那裡有.hbf的檔就是HBF檔, 其它的有些是字型資料檔. 也可以看size 判斷, HBF檔一般不會超過幾K, 而資料檔則至少幾百K. 至於對應關係, 可以看 看HBF檔的內容就曉得了. 本文以用倚天為範例,當然將來可能會改變... spcfont.24, stdfont.24, spcfsupp.24: 倚天中文的字型檔, 如果您有原版倚天 就能copy. 其它人請抓taipei或國喬字. etm24.hbf: 做一個link到cn5b24.hbf 將這些字型檔copy到一個目錄(本人是/usr/local/lib/hbf),還有cnprint.cmd也 拷到那, 接著export HBFPATH=/usr/local/lib/hbf, 就可以試試了. cnprint chitest1.txt 它會列出一個menu, 現在先不管它, 按Enter, 等印表機出紙. 怎麼樣? 成功了吧! 這樣就算大功告成了. 現在可以結束了. 當然, 如果您像筆者一樣, 還想再多玩, 還可以試試其他語言. 本人現裝了以下字型: -rw-r--r-- 1 root root 487296 Mar 25 13:42 cclib.f24 -rw-r--r-- 2 root root 2586 Mar 25 13:39 ccs24f.hbf -rw-r--r-- 1 root root 60912 Mar 25 14:08 ccsym.24 -rw-r--r-- 3 root root 1811 Dec 15 13:32 cn5b24.hbf -rw-r--r-- 2 root root 2007 Sep 21 1994 cn5k48.hbf -rw-r--r-- 2 root root 2586 Mar 25 13:39 cnf24.hbf -rw-r--r-- 2 root root 1750 Sep 27 1994 cnjb24.hbf -rw-r--r-- 2 root root 1531 Sep 27 1994 cnkb24.hbf -rw-r--r-- 2 root root 7155 Aug 2 1996 cnub24.hbf -rw-r--r-- 1 root root 592128 Jul 4 1994 hanglm24.bin -rw-r--r-- 2 root root 1531 Sep 27 1994 hanglm24.hbf -rw-r--r-- 1 root root 495144 Jul 4 1994 jiskan24.bin -rw-r--r-- 2 root root 1750 Sep 27 1994 jiskan24.hbf -rw-r--r-- 1 root root 3876768 Jul 28 1994 ntu_kai48.bin -rw-r--r-- 2 root root 2007 Sep 21 1994 ntu_kai48.hbf lrwxrwxrwx 1 root root 18 Mar 25 10:22 spcfont.24 lrwxrwxrwx 1 root root 19 Mar 25 10:22 spcfsupp.24 lrwxrwxrwx 1 root root 18 Mar 25 10:22 stdfont.24 -rw-r--r-- 1 root root 1795608 Aug 2 1996 uni24.bin -rw-r--r-- 2 root root 7155 Aug 2 1996 uni24.hbf HBF 對應字型檔 說明 ------------------- ----------------------- -------------------- cnf24.hbf, cclib.f24,ccsym.24 國標碼繁體字型, 本人比較 ccs24f.hbf 看不習慣簡體. cn5b24.hbf, spcfont.24,spcfsupp.24, BIG-5碼, 倚天字 et24m.hbf stdfont.24 ntu_kai48.hbf, ntu_kai48.bin BIG-5碼, 台大字型, 我覺得 cn5k24.hbf 其實裝它就好了. cnjb24.hbf, jiskan24.bin 日文jis字型. 可用於JIS, jiskan24.hbf Shift-JIS(DOS)及EUC(UNIX)碼 cnkb24.hbf, hanglm24.bin 韓文ksc字型 hanglm24.hbf cnuk24.hbf, uni24.bin UniCode字型 uni24.hbf 至少我試過BIG-5, SJIS及EUC碼都很成功. cnprint的man page說其作者的下一版可能支援TTF, 我們期待吧! 3. 參考資料 1) Linux 中文應用手冊第一版, 王佑中著, 第三波發行 -- o=|====> yorkwu@ms4.hinet.net ===== 2003-01-29 Shen Chuan-Hsing -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: u8-177.u203-204.giga.net.tw