以下是 poorman 的 cjk-latex 中文 Type1 [EMAIL PROTECTED] 關係,這裡只能講方法。是以 Big5 繁體中文為例,gb 簡體中文原理應該 相同。
◎ 所需工具 ttf2pfb: freetype-contribe t1asm: freetype-contribe or t1utils printafm: GhostScript afm2tfm: tetex pfaedit http://bibliofile.mc.duke.edu/gww/FreeWare/PfaEdit/ * XFree86-4.x 版 freetype 已附上。但 freetype2 改版後已無這些工具 ,得另行下載 freetype1 的 source 來編譯。 * Windows 上除 pfaedit 外皆有這些工具。 ◎ 參考資料 From: [EMAIL PROTECTED] (smallbull) Newsgroups: tw.bbs.comp.tex Subject: Re: [EMAIL PROTECTED] Date: 03 May 2001 10:26:25 GMT From: [EMAIL PROTECTED] (papa) Newsgroups: tw.bbs.comp.tex Subject: Re: [EMAIL PROTECTED] Date: 06 May 2001 15:09:15 GMT * 很感謝兩位提供的心得及經驗,沒有他們的幫忙,這篇文章無法完成。 ◎ 字型 目前是以全真字型 avmfv.ttf(全真中仿宋) 為例,這是有版權的,因此只 提供方法。另外台大字型(ntu 系列)也可以,文鼎字型因為是 Unicode 編碼,得另行轉碼,也有轉好的,請至陳弘毅教授的 ChiTex 網站下載: ftp://dongpo.math.ncu.edu.tw/tex-archive/local/chitex/chitex/unix/6.1.2p7/ nbsmi00lp.ttf.gz 這是 big5 編碼,gb 碼的是 ngkaioomp.ttf.gz。 如要自行轉碼的話,請下載 bkai34.afm(gkai33.afm) 配合 ttf_edit 來轉 碼。ttf_edit 的使用說明在 http://truetex.com/ttf_edit。; ◎ 步驟 1. 由 TTF 產生 ps 檔 ttf2pfb -c -pid 3 -eid 4 -plane 1 avmfv -o avmfv01 avmfv.ttf ...... ttf2pfb -c -pid 3 -eid 4 -plane 58 avmfv -o avmfv58 avmfv.ttf 造至 avmfv58.ps。可自行寫 sh script 來做比較方便。 * 全真字型可至 plane 58,文鼎的只到 55 就可以了,視字型而定。 2. 修改 ps 檔 FullName 改成 avmfvxx(xx 視字型 plane 號碼) Family Name 改成 avmfv 請自行用編輯器或 perl/python 來做。 3. 由 ps 產生 pfb 檔 t1asm -b avmfv01.ps > avmfv01.pfb ...... t1asm -b avmfv58.ps > avmfv58.pfb 請自行寫 sh script 來做。 4. 製作 afm 及 tfm 檔 printafm avmfv01.pfb ...... printafm avmfv58.pfb afm2tfm avmfv01.afm ...... afm2tfm avmfv58.afm 請自行寫 sh script 來做。 5. 安裝字型步驟 將各字型及其描述檔 copy 至以下目錄。 $TEXMF/fonts/afm/CJK/ $TEXMF/fonts/tfm/CJK/ $TEXMF/fonts/type1/CJK/ * $TEXMF 是您安裝 tetex 的路徑。 新增 $TEXMF/tex/latex/CJK/Bg5/c00avmfv.fd 內容如下: \def\fileversion{4.2.0} \def\filedate{1998/12/13} \ProvidesFile{c00avmfv.fd}[\filedate\space\fileversion] \DeclareFontFamily{C00}{avmfv}{\hyphenchar [EMAIL PROTECTED] \DeclareFontShape{C00}{avmfv}{m}{n}{<-> CJK * avmfv}{} \DeclareFontShape{C00}{avmfv}{bx}{n}{<-> CJKb * avmfv}{\CJKbold} \endinput * 我的心得是不用 \CJKbold 摸擬粗體字,不好看,另用真正的粗體字型 代替。 新增 $TEXFM/dvips/config/avmfv.map 內容如下: avmfv01 avmfv01 <avmfv01.pfb ...... avmfv58 avmfv58 <avmfv58.pfb 在 $TEXFM/dvips/config/config.ps 最後加上 p +avmfv.map 執行 texhash 或 mktexslr。 ◎ 測試 以下為各 plane 的字,以便測試是否可以正常由 dvips 自 pfb 中取出。 如果發生 Second number not found in Char string of '/FontName' 的 [EMAIL PROTECTED] plane,把這個 pfb 由 pfaedit [EMAIL PROTECTED] 可,即由 pfaedit 開取這個 pfb 字型,然後 File => Generate Fonts... => Save 即可,原先的 afm, tfm 可以不必更動。 * gb 碼請自行撿字做測試。文鼎字型的話 plane 24 か 不必做測試。 請將以下內容納入 CJK enviroment,並使用 avmfv 字型。 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 糎 ㄝ 反 年 李 彿 南 研 悟 財 啟 造 無 黑 義 對 遠 確 操 應 濾 贈 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 躍 か 冊 扙 冾 阼 氡 除 浣 偲 惊 紽 媏 琮 趉 搵 葸 嗼 碴 誏 潽 諘 45 46 47 48 49 50 51 52 53 54 55 憨 膮 檑 薈 鮨 繰 譀 醷 鐱 蘼 ?? 這樣產生的 ps 檔相當漂亮,轉成 pdf 也很漂亮,不過轉成 pdf 的話,使 用 dvipdfm 較 ps2pdf 佳,檔案會比較小。為和中文配合,英文也請使用 Type1 字型,\usepackage{times} 或 dvips -P cmz your.dvi。 ◎ TODO 1. 文鼎 TTF 由於陳教授提供的 bkai34.afm 沒有日文字型,這個 afm 可能 得另行補足。 2. [EMAIL PROTECTED] perl script 來自動化產生、安裝。 3. ttf_edit 並不是 free software,可能得從 ttf2pfb 著手,看是否能用 於 Unicode 編碼的 TTF。另加強 ttf2pfb 能用於 TTC。 ps. 請各位用力的指正,謝謝! -- Warm Regards, Edward G.J. Lee(李果正) --*-- The best kind of learning is learning by doing. --*--

