Search this blog

替 MacTeX 新增 CJK 之 Type 1 字型

本文可能已經過時,請斟酌參考。

本文說明如何在 MacTeX-2007 下為 CJK 新增中文 Type 1 字型

前言

首先感謝李果正先生的資料,其中對於新手的指點非常充足。

以 LaTeX 系統排中文,最有名的方式就是 CJK 了。不過,在 MacTeX-2007 中,只提供了 bsmi(為一種明體)作為正體中文之 CJK 字體,確實不太夠用。而網路上大部份說明如何新增 CJK 字型的中文資料,針對 MacTeX 者少。

我用 xelatex 也好一陣子了。不過 xelatex 最大的缺點就是,中英文字型會用同一種字型,除非每次遇到中英文時分別使用更換字型的命令(也許真的有更好的辦法,但小弟並不知道)。

以下我說明替 MacTeX-2007 新增 Arphic bkai00mp-20071106.tar.bz2 為 CJK 字型的步驟。若要從 TTF 字型轉成 TYPE 1 字型開始,我也不會,請參考上述李果正先生的資料。

工作環境

我的條件是在 OS 10.4 下灌好 MacTeX-2007,並未其它任何其它 TeX 或ghostscript 系統。

進行步驟

  1. 下載 bkai00mp-20071106.tar.bz2 並在 OS X 中直接解壓縮。
  2. 解壓縮後,將相關的資料夾或檔案丟到正確位置。過程中一定會要求密碼驗證。 不過太擔心丟錯地方會怎樣,其實新字型資料夾的結構和要丟去的地方有相似之處。如果你在 Finder 中找不到怎麼到這些目的地,請試著用 apple + shift + g。
    • .../fonts/afm/arphic/bkaiu
      這個資料夾丟到
      /usr/local/texlive/2007/texmf-dist/fonts/afm/arphic/
      裡。
    • .../fonts/map/arphic/dvips/arphic/bkaiu.map
      這個檔丟到
      /usr/local/texlive/2007/texmf-dist/fonts/map/dvips/arphic/
      裡。
    • .../fonts/tfm/arphic/
      內的
      bkaimp 與 bkaiu
      二個資料夾丟到
      /usr/local/texlive/2007/texmf-dist/fonts/tfm/arphic/
      裡。
    • .../fonts/type1/arphic/bkaiu
      這個資料夾丟到
      /usr/local/texlive/2007/texmf-dist/fonts/type1/arphic/
      裡。
    • .../fonts/vf/arphic/bkaimp
      這個資料夾丟到
      /usr/local/texlive/2007/texmf-dist/fonts/vf/arphic/
      裡。
  3. 確定
    /usr/local/texlive/2007/texmf-dist/tex/latex/CJK/UTF8/
    中有沒有
    c70bkai.fd 及 c70bkai.fdx
    這二個檔。如果沒有,到 CTAN 裡來抓。
  4. 在 terminal 中,執行:
    sudo texhash
    並輸入管理者密碼。此動作可以更新
    /usr/local/texlive/2007/**/
    下數個 Is-R 檔。
  5. 在 terminal 中,執行:
    sudo updmap-sys --enable Map bkaiu.map
    之後可以在
    /usr/local/texlive/2007/texmf-config/web2c/updmap.cfg
    這個檔案中找到
    Map bkaiu.map
    這行敘述。
  6. (此步驟不知道是否必要)在
    /usr/local/texlive/2007/texmf-dist/dvips/arphic/config.arphic
    中加入
    p +bkaiu.map
    一行。
  7. 到此步驟為止,已經可以用 latex + dvipdfmx 成功編譯,不過檔案很大,且 latex + dvips + ps2pdf 在 dvips 時仍會找不到新字型。我搞了很久,終於在
    /usr/local/texlive/2007/texmf-config/dvips/config/config.ps
    (記得用純文字編輯器打開)中,加入
    p +bkaiu.map
    一行即可。之後,latex + dvips + ps2pdf 可行,且 PDF 檔案也小。(但我不知道為什麼 MacTeX-2007 內建的 bsmiu.map 與 gbsnu.map 就不用。)

這樣就完成了。我以
\usepackage{CJKutf8}......\begin{CJK}{UTF8}{bkai}......\end{CJK}
再加上 latex + dvips + ps2pdf 可以完成很不錯且體積小的 PDF 檔,且與 hyperref 這個 package 在 PDF 中也配合得很好。

後記

這些過程我試很多次了,所以前前後後也許有遺漏之處,盼前輩能夠指正。 希望這篇說明對其它 MAC 愛好者能有所小小幫助。

若要加入其它中文字型給 MacTeX-2007 內的 CJK 用,我想大同小異吧。反正改錯了 再改回原來的樣子就好了,勇敢試下去吧!