Horizontal Metrics 水平量度
为字体定义水平量度需要花费你大量的时间。主要的水平量度—kerning/字距调整(下面会详述)—需要你许多个小时的艰难而细致的工作才能完成。(我想你之前一定读过了 Johno关于kerning的文章 了吧?没有?! 你实在应该读的。去吧,我会在这里等你。)不过在我们讨论字距调整之前,我们应该先来想想sidebearing(预留空间,或者更简洁的翻译:“侧架”)。
正确的设置侧架(sidebearing,以下同),能让之后的字距调整更简单,节省你为优化水平量度所花费的大量宝贵时间。

侧架是字符左右预留的空间。上图中,字母U的左右定义了相同的侧架。这是常见的情形,但不是必须的。有时候,侧架可以是一侧是正的而另一侧是负的——这意味着,侧架有可能位于字符之内。

注意 j 的左侧架(LSB),已经是位于字符实际边界之内了——相当于削去了部分的字符。为什么要这样做?好,我们来看看j和其他字母相遇时候的情形。

内部的侧架告诉计算机在渲染j的时候要比标准间距更靠近左边相邻的字符。如果左右的侧架定义成一样的,那么j 和左边邻居之间的空间就变得大而呆板。

字距调整一样能解决这个问题,但如果 j 总是(或经常)要靠近左边相邻的字符,那么定义一个负的侧架能让你减少你字距调整的工作,并且,对于那些不使用字距调整的用户(很不幸,大部分字处理软件中,字距调整选项默认是关闭的),能得到更好的字母间距。
Kerning 字距调整
读完 Johno关于kerning的文章 ,你已经能跟上这些基础课程了吧?下面是关于kerning的一些细节,你作为一个字体设计师应该知道的。
良好的侧架设置就好比拥有一个主教练,他对于比赛有一个很好的总体计划,可以让你的字体在用户不使用字距调整的大多数情况下,也可以得到比较像样的结果。但是在某些具体的场合,为了获得完美的结果,你还必须有一个优秀的进攻协调员在场上组织具体的进攻——那就是字距调整。
在完成侧架设置之后,我喜欢把字体中的字符对打印出来,检查哪些地方出了问题,需要进行字距调整的辅助。实际上,我写了一个脚本来将这些字符对生成一个Open Office 文档,你可以在这里下载这份文档 。然后你就可以在 Open Office 中打开这份文档,选择所有文本,变为你自己的字体之后,打印出来检查。

发现那些有问题的字符对之后,你就得弄脏双手亲自对它们进行修理了。这里是我一个字体的范例,显示了设置了侧架而还未进行字距调整的V-e 配对。注意两个字符中的空隙是多么巨大。

然后是字距调整之后:

我们要做的是让字母自然的从一个流向下一个。我常常会想,字距调整就仿佛是让我的字符们彼此偎依在一起。

