字面、字身,以及汉字为什么不肯听拉丁字母的话
拉丁字母的宽度各不相同,汉字却每一个都住在同样大的方框里。真正决定疏密的不是那个框,而是框里那一点留白——字面率。把中文和英文排在同一行时,出问题的几乎永远是这件事。
一个拉丁字母有自己的宽度。i 窄,m 宽,排版时它们各占各的位置,这叫比例宽度。
汉字不是这样。每一个汉字都住在同样大的一个方框里,无论它是「一」还是「鬱」。这个框叫字身框,它的边长就是字号。
问题在于,笔画真正占到的那一块,比框要小。那一块叫字面,两者的比值叫字面率:
为什么这个比值决定一切
假设字号是 ,字面率是 ,那么两个相邻汉字之间,天然就存在一段留白:
这段留白不是你排出来的,是字体设计师替你决定的。所以中文正文几乎不需要额外加字距——加了就等于在已经有的留白上再加一层。
| 字面率 | 观感 | 常见于 |
|---|---|---|
| 0.88 – 0.92 | 紧、饱满、适合标题 | 黑体、宋体标题字 |
| 0.83 – 0.87 | 正文的舒适区 | 多数屏幕正文字体 |
| 0.78 – 0.82 | 疏朗、古典 | 明朝体、老式宋体 |
Note
同样一段话,用 的字体排出来,会比 的显得挤——即使两者的字号完全相同。字号相同不代表看起来一样大。
混排:真正的麻烦
把 Literata 和汉字排在同一行,两套完全不同的度量就撞在一起了。
拉丁字母的视觉重心落在 x 高度上,汉字的重心落在整个字面的中间。两者的基线是同一条,视觉中线却不是,所以英文看起来总是偏低一点。
其中 是拉丁字体的 x 高度。这个差值通常在字号的百分之三到百分之六之间——小到说不出哪里不对,大到整行看着就是歪的。
能做的三件事
第一,给拉丁部分单独调字号。中文 16px 配英文 16px,英文几乎总是显小,因为它的 x 高度只有字身的一半左右。
第二,在中西文之间留四分之一个字宽。这是排版界的老规矩,不是审美偏好:没有它,「使用 Literata 排版」这几个字里,「用」和 L 会贴在一起。
第三,不要指望字距解决它。字距是全局的,而这个问题是局部的——它只发生在中西文交界的那一处。
Tip
判断一份中英混排做得好不好,只要看一行里有没有出现「字母紧贴汉字」和「标点后面开了个大口子」这两件事。它们同时出现,说明排版规则里根本没写混排这一条。