快速业务通道

TeX 排版中文字体嵌入问题(转载)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-19

低于 18 周岁的小朋友们请不要看此文,会被吓到的.如果你和中国的字体公司有联系,请把我所描述的问题转告给他们.

考完作文后,在上海小歇,除了吃喝玩乐加上逛街还有被导师虐着写文章,自己看两眼G词以外,就是在尝试解决中文 TeX 用户几年来一直抱怨的关于 TeX 产生的 pdf 文档中文字体看上去太细的问题.

这个问题的来龙去脉是这样的.很久以前,大家都需要用 dvips 或者 dvipdfm 来转换 TeX 产生的 dvi 文件为 pdf 文件,这个路径很麻烦,需要把一个中文 trueype 字体转为大约一百多个 Type1 字体,然后再把这些字体的 Subfont 给嵌入到文档中.南韩的一个数学家 Cho,不满意 TeX 的这种状况,因此写了一个 dvipdfm 程序的扩展,名为 dvipdfmx.dvipdfmx 可以直接嵌入 CID 的 TrueType 和 OpenType 字体,不需要把字体分割成许多个 subfont,产生的 pdf 文件小巧,比原先的方法在阅览器下渲染速度快,质量比较高.因此得到了中日韩用户的喜爱.但是许久以来,中文用户一直抱怨一个问题,就是貌似由 dvipdfmx 产生的文档,在 Adobe 公司官方的 Acrobat Reader 下,显得发虚,严重地影响阅读,而相同的字体,如果不用 dvipdfmx,比如使用 cairo、quartz 或者 word2007 进行转化,产生的 pdf 就没有这个问题.如果文章中都是中文,那只不过是难以阅读而已.而如果是中文和英文混排的,而英文部分又比较正常,比如使用了 Times 字体或者 Palatino 字体,则整个 type block 就显得斑驳,一眼看到的都是突出的英文,一直以来,我们都建议用户使用本来就细得要命的默认的 Computer Modern 字体,以文档不至于失调.

几年来,从来没有人认真地研究过这个问题,南韩的用户都觉得 dvipdfmx 产生的 pdf 质量不错,他们使用的随 KTUG 定制的发行版发布的字体本来就比较粗,而中国的用户如果使用 Windows 下的中易公司的宋体,即 simsun,则相当不能忍,方正公司的字体,比如书宋,则稍微好一点,但怎么也好不过 Adobe 公司的 OpenType 字体 Adobe Songti Std Light.若干年前,jjgod 同学写过一篇文章比较了几十个中文字体,他是使用了 dvipdfmx 输出的结果的视觉效果来评价字体的质量,结果一个相当好的字体,方正博雅宋,在阅览器中显示过细,被他认为不如方正书宋.而几年以后,这个问题被泛化,当今,TeX 正在走向国际化,如今的 TeX 已经支持 Unicode 和各种高级的字体格式,也全面从 dvi 时代过渡到 pdf 时代,目前两大炒作得很热的 TeX 引擎,都和 dvipdfmx 扯上了关系. XeTeX 直接使用了 dvipdfmx 的一个变种,xdvipdfmx 来产生 pdf,而 LuaTeX,则用 dvipdfmx 的代码替换掉部分产原先 pdfTeX 的代码,来产生 pdf.这就导致,目前所有的先进的 TeX 系统,在 CID 字体嵌入方面的代码,是近亲关系,所有产生的中文 pdf,都虚得离谱,LuaTeX 尤甚.

我在去年和今年,一直使用 LuaTeX 引擎和 ConTeXt 格式,写各种包括论文以内的文档,在使用的过程中,发现了不少问题,就开始和开发者交流.几个月来,报告了不少 bug,其中一些,还给出了补丁.此外,我和 ConTeXt 开发者 Hans 等 TeX 专家讨论,试图让最新的 ConTeXt 和 LuaTeX 来支持中文排版.其他事情,还包括为ConTeXt 的用户们提供 FreeBSD 操作系统的 TeX 二进制文件.因此,我和 LuaTeX 与 ConTeXt 的开发者(其实是同一拨人),有很频繁的联系,也彼此保持着不错的关系.开发者们也很勤快地修复着我汇报的各种 bug,这也使我能够很好地使用这些软件进行各种文档(学术论文、技术文档)的排版.今年考完作文后,我暂时可以小歇一下,同时 LuaTeX 的开发者们刚刚搞定了一项新功能,mplib,也有空余的时间.因此,我们就有时间来讨论和解决这个由来已久的问题.

我一开始写信给 LuaTeX 的开发者,Taco Hoekwater,之不写给 dvipdfmx 开发者 Cho 而发给他,我和他熟, Taco 这两年来,勤勤恳恳地写代码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号