首页 / 文章 / 打造你自己的字体
打造你自己的字体
来源:蓝色理想
作者:佚名
时间:2011-03-10

 打造你自己的字体 Ⅱ

MyFonts.com上销售的字体总数已经超过55,000个。现有字体的巨大数量表明了一个事实:我们在设计一个字体时,要面临着近乎无限的选择。有些选择是很基本的,比如说:衬线还是无衬线(当然两者下面都有着大量的子类);手写体还是精确的印刷级字体;宽体还是窄体;粗体还是细体。但除了这些明显的选择之外,还有一些你可能从未听说过的术语:

  • 封闭的、半封闭的还是开放的4?
  • 三笔还是两笔的Y?
  • 有下伸部还是位于基线的J?
  • 双层还是单层架构的g?
  • 双层还是单层架构的a?
  • 交叉的、连接的、还是圆角的W?

01.gif

你可以多对照一些你喜欢的字体,来理解上面的这些细节区别,或者更多的,比如说——三笔的Y 对你来说更传统一些吗?你的新字体中准备采用这种结构吗?一个有下伸部的J 更适合你的字体吗,或是你决定不让它超出基线?

你可能还有更多需要斟酌的事项:

  • 你的e 中水平横杠的高度
  • 你的*(星号)应该有几瓣?(译注:我对照了一下,4、5、6瓣的都有)
  • 你的# 号的倾角
  • 你的y 和q 有没有尾巴?

如果一开始就陷入这些细节中无法动弹,那你永远无法开始实际的字体设计。但在你动手设计之前,的确应该对它们有所考虑。在字体设计软件之外多花的一点时间,可能会让你在正式设计时避免花费大量的时间来反复的修改或是返工重做字符

Vertical Metrics 垂直量度

还有一系列需要你把握的决定,比如说垂直量度——决定你字符各种高度的一系列尺寸。下面为你准备了相关的术语:

  • 上沿线,定义小写字母的顶部位置(通常为小写b 的最高点)
  • 大写高度,定义大写字母的高度(通常取大写H 的高度)
  • x 高度,大部分小写字母的高度,如v 。
  • 基线,字符所“坐”位置的假想线。
  • 下沿线,定义小写字母的底部位置(通常取小写p 的底部)

在开始设计字体之前你必须解决好以下这些与垂直量度有关的问题:

  • 你最高的小写字母的上沿是否会高于大写字母高度?(许多字体都会超过,但并非全部。)
  • 你的x高度应该有多高?(仅仅是把“标准的”x高度提高或者降低一些,就足以产生有趣的效果。)
  • 下沿线应该定义多低?

在为你的字体决定垂直量度时,还有一些基本原则需要考虑。

02.gif

底部为曲线的字符往往会稍稍低于基线。同样的,顶部为曲线的字符也经常会稍稍的超出标准的x高度或大写高度。

03.gif

之所以有这些基本原则,是因为这些有曲线的字符如果不稍微的高于或低于那些方形的字符,它们看起来就要稍微小一些。我的意思是,法律并没有规定你一定要遵循这条规则。如果你的字体采用绝对相同的基线和高度时效果更好,那你就这样做。但假如是由于你自己都不清楚是否这样做更好,就给它们定义相同的高度,这实在不是什么好主意。

Horizontal Metrics 水平量度

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

正确的设置侧架(sidebearing,以下同),能让之后的字距调整更简单,节省你为优化水平量度所花费的大量宝贵时间。

04.gif

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

05.gif

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

06.gif

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

07.gif

字距调整一样能解决这个问题,但如果 j 总是(或经常)要靠近左边相邻的字符,那么定义一个负的侧架能让你减少你字距调整的工作,并且,对于那些不使用字距调整的用户(很不幸,大部分字处理软件中,字距调整选项默认是关闭的),能得到更好的字母间距。

Kerning 字距调整

读完 Johno关于kerning的文章 ,你已经能跟上这些基础课程了吧?下面是关于kerning的一些细节,你作为一个字体设计师应该知道的。

良好的侧架设置就好比拥有一个主教练,他对于比赛有一个很好的总体计划,可以让你的字体在用户不使用字距调整的大多数情况下,也可以得到比较像样的结果。但是在某些具体的场合,为了获得完美的结果,你还必须有一个优秀的进攻协调员在场上组织具体的进攻——那就是字距调整。

在完成侧架设置之后,我喜欢把字体中的字符对打印出来,检查哪些地方出了问题,需要进行字距调整的辅助。实际上,我写了一个脚本来将这些字符对生成一个Open Office 文档,你可以在这里下载这份文档 。然后你就可以在 Open Office 中打开这份文档,选择所有文本,变为你自己的字体之后,打印出来检查。

08.gif

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

09.gif

然后是字距调整之后:

10.gif

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

在做字距调整的时候要注意的几个问题:

  • 如果你发觉对每一对字符你都要做字距调整,那么很可能是你的侧架设置出了问题。好的侧架设置通常意味着有一部分的字符对已经设置完成,不再需要单独的字距调整。
  • 会有人告诉你,你只需对最常用的字符对做字距调整。比如对于q,你只需要做qu 以及qa 的字距调整,而qz 则不必要—在实际印刷中谁会用到qz 啊?可是我就是一个例外,我坚持为全部的字符对做字距调整,不管那些组合是多么的不可理喻。那些纯粹主义者可能又要晕倒或是吓到呼吸困难了。但我为什么要限制我字体的用户,让他们只有在使用标准字符对的时候才拥有漂亮的字距调整?如果有人想打印qz,那就应当让他们打印出一个漂亮的qz 。

大部分的字体编辑软件都有一个自动字距调整的功能。这是一个好的开端,但明智的做法是,在自动调整之后你还应该亲自进行逐个的检查和调整。没有什么算法能超过人的眼睛。

Scratching the Surface 划破皮肤

到这里为止,我们才刚刚划破皮肤。如果不及时处置的话,就可能会引发“字体狂热症”。我的确希望如此。即便是在从事字体设计这么多年之后,每一次打开FontLab Studio 在其中奋战,都依然会让我学到一点新的东西。

临时预览表
字体商用授权
反馈留言
微信公众平台
公众号:zhaozinet
客服微信
微信号:FindText
字体排行榜
返回顶部
操作成功