字宽、间距和排版功能
适合谁看:字形画好了,接下来要处理字宽、字距和 OpenType 功能的人。
汉字:全角等宽
汉字一般都是等宽的,字宽就是 1 个 em。间距主要通过字面大小来控制,见《汉字的骨架:字身框、字面、重心和中宫》。
西文:字侧空间和字偶距
西文字母宽度各不相同,需要逐个设定:
- 字侧空间:每个字形左右两侧的空白。常见方法是先给直线类字母(如 n、H)定好间距,再推到圆形类(o、O)和斜线类(v、A)
[1][2]; - 字偶距调整:对特定组合(如 AV、To、LT)单独调整距离,存进字体的
kern功能。先把字侧空间调好,字偶距只用来处理少数特殊组合[3]。字偶距只用来处理少数特殊组合。
常用的 OpenType 功能
OpenType 功能让字体在排版时自动替换字形或调整位置[4]。功能让字体在排版时自动替换字形或调整位置。中文字体常用的:
| 功能 | 作用 |
|---|---|
vert / vrt2 |
竖排时替换标点等字形 |
halt / vhal |
把全角标点变成半宽(横排/竖排) |
chws / vchw |
根据上下文自动挤压标点 |
locl |
按语言切换字形,例如简繁或地区字形 |
palt / vpal |
比例宽度的字形调整 |
kern |
西文字偶距 |
liga |
西文连字 |
tnum / pnum |
等宽数字 / 比例数字 |
功能做好后,要在真实排版环境里测试:网页浏览器、Word、InDesign 对各功能的支持程度不同。网页上如何开启这些功能,见《在网页上实现中文排版:CSS 速查》。
度量信息
字体文件里还要设定行高相关的数值(上升、下降、行间距等)。这些数值不一致,会导致同一款字在不同系统里行高不同。可变字体和多字重家族中,各字重的这些数值要保持一致[5]。各字重的这些数值要保持一致。