• 字体
  • 字体家族
  • 字体公司
  • 字体设计师
  • 字体样张
  • 资讯
  • 帮助
字客网>资讯>详情

TrueType字体的hinting工具:Xgridfit

时间:2006-03-13 23:14:00| 软件|浏览:759|来源:http://blog.bs2.to/EdwardLee|作者:EdwardLee
导语矢量字体,例如 TrueType、Type 1 等,它虽然是储存数学计算资料在字体里头,而不是 bitmap,但在屏幕显示及打印机打印的时候还是得转成 bitmap 的型式。这在低分辨率的屏幕,小字的时候常会造成失真,严重的时候会使字的笔划看起来歪七扭八。hinting 就是在做这些&ldqu

矢量字体,例如 TrueType、Type 1 等,它虽然是储存数学计算资料在字体里头,而不是 bitmap,但在屏幕显示及打印机打印的时候还是得转成 bitmap 的型式。这在低分辨率的屏幕,小字的时候常会造成失真,严重的时候会使字的笔划看起来歪七扭八。hinting 就是在做这些“校正”的动作,让屏幕显示得到较佳的正确性。

严格来说,TrueType 字体和 PostScript 字体的hinting机制并不完全一样,正式上称呼加入 PostScript 字体的 hints 为 hinting,加入 TrueType 字体的 instructions 为 gridfit。但现在似乎有通用的情形。本文讨论的重点是针对 TTF 的 gridfit。

所谓的 hinting(gridfit)是指储存在字体里头的一些额外的信息(指令),提供字体引擎在转成 bitmap 影像的时候,可以依据这些信息(instructions/hints),做细部的调整。有无hinting的区别,可以参考:http://fontforge.sf.net/overview.html#Hints

在字体编辑器,例如 FontForge 通常会有自动hinting的功能,但这些算法很难面面俱到,所以,自动hinting的效果,通常只能达到中等的水准,要达到高水平需要人工的调整,尤其是笔划复杂的中文字更是如此(不适当的hinting比不hinting在屏幕上可能更难让人的眼睛所接受)。而且,这是针对 PostScript 字体的 hints,并没有 auto instructions 的工具,TTF instructions 还是得手动编辑加入。

所谓人工调整,就是写 TTF instructions 去控制字体在 render/raster 时的表现,也就是去调整形成 bitmap 时某些点的位置。这是很累人的,因为写 TTF instructions 就好象在“刻”汇编语言一样,还得时时注意它实际在屏幕上的真正表现来做调整。英文字还好,中文几万个字的话,那真的是会要人命的!

这里介绍的Xgridfit就是一个这样子的工具。但它当然不是自动点击几下就完成所有字的 hinting,它只是让 TTF instructions 好写一点而已,有点类似它是更高级的 TTF instructions 语言。

Xgridfit 是 XML 应用软件,你必须有以下的工具互相配合使用:

TTX(字体分解、组合工具)
Java
Saxon(XSLT processor)
xsltproc(XSLT processor)
FontForge(字体编辑器)

目前 TTX 的发展似乎已经停了下来,所以将来的Xgridfit可能会另外寻求 TTX 的替代工具。

这里只是简单介绍有这个工具,并没有实际介绍它的使用方法,但有一个实际的例子可供参考,那就是 Junicode 字体,它就是使用Xgridfit来做hinting的工作,有兴趣的朋友可以参考一下。它是一个 XSLT script,工作流程大致如下:

开启 FontForge sfd 字体文件或 TrueType 字体文件。
加入 cvt, fpgm 及 prep table。
针对一个或多个 glyph,加入所需要的 instructions。
把 TrueType instructions 和 maxp table 关联。
存盘成 sfd 档或产生 TTF。

最后要补充说明的是,这在大字及打印机印出时并不会有影响。会产生这个问题是因为我们的屏幕分辨率太低(通常是 70-96 dpi)的关系。而且,目前字体显示引擎,例如FreeType,它有自动hinting及 Anti-Alias 的字体笔划平滑功能,虽然目前对中文字还不是很理想,但应付一般使用应该是还可以用。

另外一个替代方案就是在小字的时候,字体中预先嵌入实际的点阵字,所以在小字显示时就使用这些点阵字,这是目前最多人使用的方式,效果也还不错。

会有这些替代方案是因为像庞大的中文字体,要有品质良好的hinting实在是相当的困难,而 Anti-Alias 常会造成朦胧的情况,对有些人的睛眼而言会感觉不舒服。或许将来会有人提出更好的自动 hinting/gridfit 的算法,能适用于所有的中文字,而且在字体显示引擎上就能提供,不必由字体本身的 hints/instructions 来调整;或者更良好的 Anti-Alias 机制以降低朦胧的程度。

【参考资料】

TrueType 规格书
OpenType 规格书
Type 1 规格书
FontForge 使用手册
FreeType 使用及参考手册
Hinting and Production Guidelines

TrueType, PostScript Type 1, & OpenType: What's the Difference?

0
  • 关注字客网公众号领取Z码
  • 关注字体先森公众号抽取SVIP
相关字体公司
TrueType字体的hinting工具:Xgridfit 网友点评
游客:文明上网,理性发言。 看不清?换一张
TrueType字体的hinting工具:Xgridfit 最新评论
暂无相关评论