Copyright (c) 20021 李果正(Edward G.J. Lee <EdwardLee@bbs.ee.ntu.edu.tw>
)
這是 Jin-Hwan Cho(韓)、Shunsaku Hirata(日) 修改自 Mark A. Wicks 的 dvipdfm 而來的。
主要的功能是轉換 *.dvi 成為不內嵌中文字型的 *.pdf 檔。 一般的英文檔也是可以照常使用(含原有 dvipdfm 的功能)。 不管是可處理 double-byte code 的 Omega 或只能處理 single-byte 使用 subfont 的 CJK package 都可以使用。
最大的好處是可以利用 TeX/LaTeX 來製作中文 pdf 檔, 而且又不內嵌中文字型,可以使檔案小很多(是真的『很多』!:)。 可直接使用 TTF,但會被標記為 use font of acroread 所預設使用的字型(MHei-Medium 及 MSung-Light),這樣雖然不內嵌字型, 但在 acroread/xpdf 都可以正常閱覽,非常方便網路上的流通。 又不必再去花銀子買軟體來製作,更重要的是 TeX/LaTeX 的特殊功能還是可以繼續沿用。
如果和 pslatex 配合使用的話, 那連英文字型及少數特殊符號也會不內嵌,使檔案更小, 當然 mathtime 的一些數學符號並沒有 free 的,這會內嵌 CM 字型。
安裝 print/dvipdfmx。
以 bsmi00lp.ttf 為例,安裝好後 $TEXMF/dvipdfm/config/cid-x.map 設為:
arb5sung@Big5@ ETen-B5-H :0:!arb5_sung.ttf arb5sungs@Big5@ ETen-B5-H :0:!arb5_sung.ttf,Italic arb5sung@Big5@ ETen-B5-H :0:!arb5_sung.ttf,Bold arb5sungs@Big5@ ETen-B5-H :0:!arb5_sung.ttf,BoldItalic arb5kai@Big5@ ETen-B5-H :0:!arb5_kai.ttf arb5kais@Big5@ ETen-B5-H :0:!arb5_kai.ttf,Italic arb5kai@Big5@ ETen-B5-H :0:!arb5_kai.ttf,Bold arb5kais@Big5@ ETen-B5-H :0:!arb5_kai.ttf,BoldItalic % 但不含 postscript name 的字型則無法使用。去掉 ``!'' 會嵌入 TTF( % CIDFontType2,或 Type11),不需 *.enc 檔。
另外也有人建議將 ,Italic 改成 -s .167 ,,BoldItalic 改成 ,Bold -s .167 以避免斜體字顯示不正常, 沒有逗點的問題。
Note: 裝完後記得執行 mktexlsr
即可。當然,原先的系統 CJK package 要能夠正常運作 (不管是使用 Type1或 pk 字型),因為需要正確的 *.tfm 字型描述檔。 然後,依照一般正常程序編譯 CJK 文稿即可。
由於並沒有去變造、嵌入字型本身, 所以只要是合法買來的字型應該都可以放心去使用了。
% 我不是律師,可不負擔保責任。:)
讓英文字型也不內嵌:由 *.tex 文稿中,加入:
\usepackage{pslatex}
測試:
% cat cjk.tex \documentclass{article} \usepackage{CJK} \begin{document} Hello World \begin{CJK*}{Bg5}{song} 您好 \end{CJK*} \end{document} % bg5latex cjk.tex % dvips -o ps2pdf-cjk.ps cjk.dvi % ps2pdf ps2pdf-cjk.ps % dvipdfmx -o dvipdfmx-cjk.pdf cjk.dvi % cat bg5pslatex #!/bin/sh f=`echo $1 | sed -e 's|\(.*\)\.[^/]*$|\1|'` bg5conv < $1 > $f.cjk && pslatex $f.cjk % ./bg5pslatex cjk.tex % dvipdfmx -o pslatex-cjk.pdf cjk.dvi % pdffonts ps2pdf-cjk.pdf name type emb sub uni object ID ------------------------------------ ------------ --- --- --- --------- [none] Type 3 no no no 9 0 % pdffonts dvipdfmx-cjk.pdf name type emb sub uni object ID ------------------------------------ ------------ --- --- --- --------- TGRGZY+CMR10 Type 1 yes yes no 10 0 ZenKai-Medium CID TrueType no no no 13 0 % pdffonts pslatex-cjk.pdf name type emb sub uni object ID ------------------------------------ ------------ --- --- --- --------- Times-Roman Type 1 no no no 8 0 ZenKai-Medium CID TrueType no no no 11 0 % ls -l *.pdf -rw-r--r-- 1 root wheel 8427 7 6 00:17 dvipdfmx-cjk.pdf -rw-r--r-- 1 root wheel 5373 7 6 00:17 ps2pdf-cjk.pdf -rw-r--r-- 1 root wheel 3789 7 6 00:17 pslatex-cjk.pdf
問題:
無法由 pdf2ps/pdftops 來轉成 ps。也就是說一般表機會印不出來。
對策:
可經由 acroread 利用裡頭的 CIDKeyed font 來轉成 ps 檔。 品質相當精良,只是檔案很大就是了。
終究解決方法:
要和 gs 整合在一起。
WWW: 我的 CJK - by Edward
WWW: dvipdfmx project