文悦科技
首发于文悦科技
如何帮助减少辣眼睛的设计品出街

如何帮助减少辣眼睛的设计品出街

这几天因为某个事件, 注意到了题图这张照片. 别误会, 我不是想讨论市容整顿的话题. 如果看不清楚, 下面是我仿制的:

康熙字典体与另一款迥异的宋体穿插在一起, 形成了这种辣眼睛的视觉效果, 通常称之为跳字. 然而很多人根本不会注意到它的不协调, 更有甚者将其视为有意为之的艺术效果, 所以满大街都是这种玩意.

跳字的形成机理很简单: 使用字体时, 遇到该字体中不包含的字, 在某些情况下, 会自动用其它字体替代.

而另一些情况下, 这些字则会被 .notdef 字形替代. .notdef 是字体中定义的缺字替代图形, 通常是一个方块 (也有做成空白的), 也就是 Google Noto 项目所说的 "no more tofu" 中的 tofu (豆腐), 像这样:

诚然, 无论跳字还是豆腐, 都是由于当前字体中缺少这些字而产生的, 但一款字体想将所有字都包含是不太可能的. 从可操作性上来讲, 单以汉字举例, 目前 Unicode 正式收录的汉字已达 8 万, 而常用字仅为其 5% 左右. 对于一般的字体, 为了少数不确定的用途而做足这些字显然是不现实的. 特别是——其实大部分的缺字情况都是由于使用了不正确的字体版本, 比如题图的问题, 是由于使用了康熙字典体的试用版所致 (所含字数较少); 而更常见的情况是, 将一款繁体字体用于简体内容上 (或者反过来), 这样不缺字才怪了.

那么回到一开始的话题, 作为字体开发者, 如何帮助减少这类辣眼睛的设计品出街呢? 我们并不能指望某些人的设计水平或严谨程度突飞猛进, 所以更重要的是, 当缺字情况发生时, 让使用者能够切实地注意到并意识到问题的严重性, 从而迫使他更加认真的去设置字体.

最简单有效的办法就是, 强制让缺字在所有情况下都显示为豆腐, 不要跳字, 不要空白, 只要豆腐. 相信看到下面这种情况, 谁都会知道是字体出了问题:

目前我们在售的字体产品都作了这样的初步处理, 但显然我多年前发布的康熙字典体已经没法再给它补钙了. 最近有人咨询说, 将文悦古典明朝体用于家谱排版时, 缺字显示为方框, 不会自动变为宋体, 不解. 今天这篇文字实际就是为什么要这么做的答案, 这是一个实验, 也是一种对更高字体运用水准的祈望.

文章被以下专栏收录