字體:小 中 大 | |
|
|
2013/06/15 01:39:53瀏覽1477|回應1|推薦3 | |
接前文,中文ttf轉好後形成數百個檔案,主要是.tfm, .afm, .pfb, .enc。
轉好後先製作aming.map檔。這個檔是提供給dvipdfm(x),dvips, pdftex等程式使用的字體的位置,它們會根據TeX編譯好的dvi檔內的資訊,把指定的自體載入輸出成pdf或ps等可以在電腦螢薡觀看或印表機可以打印的檔案。
在aming目錄下,用終端機指令進入這個目錄,執行:
for i in *.tfm
do
cat>> aming.map<< EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done
這指令可建立一個aming.map檔案,內容是每個 aming*.tfm和相對aming*.pfb的對印表。
然後建立一個檔案名稱為c70aming.fd的純文字檔,內容:
\def\fileversion{4.8.3}
\def\filedate{2012/05/07}
\ProvidesFile{c70aming.fd}[\filedate\space\fileversion]
\DeclareFontFamily{C70}{aming}{\hyphenchar \font\m@ne}
\DeclareFontShape{C70}{aming}{m}{n}{<-> CJK * aming}{\CJKnormal}
\DeclareFontShape{C70}{aming}{bx}{n}{<-> CJKb * aming}{\CJKbold}
\endinput
這裡面定義明體(aming) 的通常字體,和粗體,這裡面是同樣的字體,如果其他的字體有安裝好,例如楷體(akai), 可以在這裡設定其為粗體,其中的內容可以就改成:
\DeclareFontShape{C70}{aming}{bx}{n}{<-> CJKb * akai}{\CJKbold}
那麼就可以在tex文件中指定自型為粗體時,就會把楷體排入。C70指的是字碼編碼為unicode。
然後就把字型搬到CJK套件所指定的目錄中。照其說明文件,把*.tfm搬到
~/library/texmf/fonts/tfm/CJK/aming 中,沒有的目錄就自已建立好目錄。在終端機環境下執行
mv *.tfm ~/library/texmf/fonts/tfm/CJK/aming
同樣的 *.pfb搬到
mv *.pfb ~/library/texmf/fonts/type1/CJK/aming
把aming.map搬到
mv aming.map ~/library/texmf/fonts/map/dvips/
把c70aming.fd搬到
mv c70aming.fd ~/library/texmf/tex/latex/CJK/UTF8
這些都完成之後,在終端機環境下執行:
sudo texhash
sudo updmap-sys --enable Map aming.map
這樣一來,中文CJK字體就算裝好了。dvipdfm(x)也運作正常。但是,TeXShop下,中文編排還有點問題,原之是它使用pdftex命令來執行排板工作,這個命令所找的map檔並沒有載入到pdftex.map內容中,所以這點自已搞定,用文字編輯器打之前所制作的aming.map內容全部複制後貼入到pdftex.map中就可以了。pdftex.map位置在
~/library/texlive/2012/texmf-var/fonts/map/pdftex/updmap/pdftex.map
這些都做完了後,TeXShop也可以順利運作了。可以在應用程式目錄中,執行TeXShop,在其偏好設定中,設定其文件格式是以unicode編碼儲存(utf8)。然後在TeXShop編輯軟體中,打入:
\documentclass[12pt]{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{aming}
This is a test. What a different day!\\
這是中文測試。
\end{CJK}
\end{document}
存檔後,按下視窗左上角的Typeset鍵,它就可以順利的編排完成,並且輸出成pdf檔,並且馬上打開這個pdf來看其結果。
之前轉檔時,還剩下*.afm和*.enc以及arplmingu20lt.ttf怎麼辦?
*.afm 可以放到 ~/library/texmf/fonts/afm/CJK/aming
*.enc的用途是給pdftex直接使用ttf的用途,但是,這樣子可能有問題,因為有時候直接取用ttf檔的作法會非常的慢。而使用type1的pfb就沒這個問題。而dvips則無法使用ttf如果要使用ttf,則可以這樣做:
dvipdfm(x)使用ttf
把arplmingu20lt.ttf 放到 ~/library/texmf/fonts/truetype/
在 ~/library/texmf/fonts/dvipdfm/cid-x.map 的內容加上一行:
aming @Unicode@ unicode arplmingu20lt.ttf
而pdftex則是要製作aming-enc.map,這個名稱是要和type1字做出區分。在轉檔轉好後,可以執行:
for i in *.tfm
do
cat>> aming-enc.map << EOF
${i%.tfm} < ${i%.tfm}.enc < arplmingu20lt.ttf
EOF
done
把map放到 ~/library/texmf/fonts/pdftex/CJK/aming-enc.map
把enc放到 ~/library/texmf/fonts/enc/CJK/aming/*.enc
使用方法:在.tex文件上面加入二行:
\pdfoutput=1
\pdfmapfile{=aming-enc.map}
\usedocumentclass{article} ...
因為使用ttf可不能保證其運作速度,所以不建議使用ttf。
文鼎公司提供的這個字型有二萬多字,也包含了簡體中文,所以繁體中文,簡體中文都可以用這個字體搞定。
|
|
( 興趣嗜好|電腦3C ) |