Typesetting LaTeX with CJK on Mac OS X is provided out-of-box by MacTeX, so working with LaTeX should be a breeze on Mac OS X. However, MacTeX ships with only two Chinese fonts, Arphic Ming Big5 (bsmi) and Arphic Sung GB2312 (gbsn). As I want to use Kai I have to look around for solutions.
I found this great website that explains how to use LaTeX and the CJK package on OS X. The good news is that the author of the page provides a shell script for installing any Unicode truetype fonts for TexLive so that you can use the truetype fonts in your LaTeX documents. The bad news is… it doesn’t work on my system. I tried it on both Arphic Big5 and GB2312 Kai fonts, and when I ran my LaTeX document through the
latex command (or in TeXShop, for that matters), I came to this error:
! Package inputenc Error: Keyboard character used is undefined
(inputenc) in inputencoding `utf8'.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
Trying the shell script on the STKaiti font (/Library/Fonts/华文楷体.ttf) shipped with OS X, is even worse, because ttf2tfm gives a “Bus error” (or segfault on Linux) when parsing the truetype font, looks like a bug in ttf2tfm:
$ ttf2tfm stkaiti.ttf -P 0 -E 3 -w "stkaitiu@Unicode@"
This is ttf2tfm version 1.5
Glyph Code Glyph Name Width llx lly urx ury
At the end, I resort to extracting the necessary files from Debian packages (hurray Debian) and put them into ~/Library/texmf, and that works!
The Debian packages I use are latex-cjk-chinese-arphic-bkai00mp and latex-cjk-chinese-arphic-gkai00mp. Since Debian packages are just
ar archives, they can be extracted by the
ar x command. After the deb package has been extracted, extract the data.tar.gz file, and then look for the folders called
tex, move them to
~/Library/texmf, which you have to create. Now you should have a directory structure like this:
After the font files have been put in place, run these two commands (for the Big5 Kai truetype font):
$ sudo texhash $ sudo updmap --enable Map bkaiu.map
For the GB2312 one, use:
$ sudo texhash $ sudo updmap --enable Map gkaiu.map
It’s that easy!