Pango + Cairo 输出的 PDF 字体过大的问题

LiYanrui posted @ Apr 27, 2008 07:42:22 AM in 程序设计 with tags Cairo Pango pdf , 6693 阅读

上午用 Cairo + Pango 生成 PDF,将输出结果与 LuaTeX 的输出结果比对了一下,发现同样在设定 Font Size = 12pt 的情况下,Cairo + Pango 生成的 PDF 字体要比 LuaTeX 的大一些。后来,在 Font Szie 设定为 12pt 的条件下,用 OpenOffice 输出一份 PDF,所得 PDF 文档的字体与 LuaTeX 同,却比 OpenOffice 文档中的字体小一些。想了好久,感觉是 DPI 的问题,因为厌烦排版中各类长度单位的换算,对此也就未有深究,就一直郁闷着。

刚才,无意间看到一篇文章《说“DPI”》,得知 PDF 默认的 DPI 值是 72,这才大概明白 Pango + Cairo 输出的 PDF 字体过大的原因。

Pango 在设定字体大小时,主要面向的是 Screen 字体,默认采用的 DPI 值是 96,当我采用 12pt 的字体生成 PDF 文档时,最终的字体大小是 (12 * 96/72)。而 LuaTeX 应该是采用了 PDF 默认的 DPI 值,因此在 TeX 源文档中所设置的 12pt 字体在输出的 PDF 文档中的大小为 (12 * 72/72)。

OpenOffice 文档中所用的字体采用的 DPI 值为 96;当将其导出为 PDF 文件时,所采用的 DPI 值又切换为 72。

若要控制 Pango + Cairo 所生成的 PDF 文档字体,使之与 LuaTeX 的输出结果同,只需要将原来 Pango + Cairo 程序中所设定的 12pt 改为 9pt 即可。对于其它 Font Size,可类推之。

Yue Wang 说:
2008年5月10日 04:02 ummm... 上次的luatex的bug已经修复了,估计下一个release,我们就能得到比较清晰得pdf文件了。感谢你得努力:)
Li Yanrui 说:
2008年5月10日 04:31 :) 水木里看到你们的讨论了。

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter