Ant-Veil

Caspar Blog

使用 XeTeX,CJK 无忧,字体无忧

| Comments

曾经的曾经,为了折腾 LaTeX 中的中文字体,我参照了MonnandTualatriX童鞋的配置方式,装好 CJKutf8 宏包,然后用 fontforge 制作Type1字体,然后才算搞定。一切皆因为 LaTeX 默认不支持 Unicode,也不能支持Truetype字体。

最近一段时间一直听到 XeTeX 的相关消息,在 BYR 上,在 linuxsir 上,都听说了,只是安逸于自己的 CJKutf8,不想去折腾。可是昨天写简历的时候,发现没有斜体字,看来我制作的 Type1 字体没有包含斜体字。为了把斜体弄出来,上网狂 Google,就在熄灯前的几秒钟,我看到了网上对 XeTeX 原生 Unicode 支持的评价很高,尤其是它可以直接使用 Truetype 字体,顿时心里痒痒。今天起床后,趁着做实验的空档,把 XeTeX 装好,果然很惊喜啊。

首先了解一下什么是 XeTeX 吧,其官方主页:http://www.tug.org/xetex/. 网页开篇即说:XeTeX is "a typesetting system based on a merger of Donald Knuth's TeX system with Unicode and modern font technologies.",正合我意。

不过虽然 XeTeX 支持了 Unicode 和OpenType(查看其 wiki 可以知道 OpenType 是一种同时包含了 Truetype 和 Type1 两种字体的字体),但是它没说可以完美支持中文字体和中文排版,所以现在推荐孙文昌老师开发的xeCJK 宏包(当然还有一种是 zhspacing,不过我不太喜欢用),可以完美支持中文。具体的使用方法,可以看附件里的文档。

从文档里可以找到我所需要的斜体字,嘿嘿。

接下来说说怎么安装 XeTeX 和相关的宏包。

linuxsir 的精华区有一篇文章讲了怎么在 texlive-2007 下安装 XeTeX 和 xeCJK,由于 xeCJK 和 zhspacing 这两个中文处理宏包需要 XeTeX-0.997 以上版本,所以需要 hack 一下 texlive-2007,而我现在 Gentoo 中最新的 portage 里的 texlive 已经是 2008-r4,XeTeX 的版本是 0.999,所以不需要 hack 了,而 xeCJK 和 zhspacing 在 gentoo-china 的 overlay 里跟进很快,所以直接 emerge zhspacing xecjk 就可以了。

Fedora,如果是 DVD 版的 Fedora10,那就不用装texlive了,不过 texlive 版本是 2007,里面的 XeTeX 版本应该不到 0.997,所以大概需要上 XeTeX 网站上下最新版本,安装覆盖原来的版本。不过我没试过,有哪位童鞋装好的可以传授经验。需要去 texlive 官方网站上把最新的 texlive2008 的镜像下下来,装好后去下孙老师的 xeCJK 包,这样是最快最保险的做法。

另外还有 Ubuntu,也因为没有环境所以无法测试。不过我最后一次用 Ubuntu 记得里面的 texlive 版本也是 2007。

最后提一句,搞不清楚 texlive, tex, latex, xetex, oo_and_xxtex 之间的关系的童鞋,请去http://www.tug.org/texlive/doc.html,里面有文档,看了就会清楚很多了。

Comments