1957 年,瑞士的哈斯铸造厂发布了一款名为 Neue Haas Grotesk 的无衬线字体。三年后它改名发行,走向世界——你猜到了,就是 Helvetica。「像 Helvetica 一样清晰」,从此成为瑞士设计最响亮的广告语。

01从 Helvetica 开始

Helvetica 的伟大之处恰恰是它的「平庸」:中性、没有性格、近乎透明。它不替你说话,它只帮你把话说清楚。这也是为什么直到今天,无数操作系统和网页默认使用它的后代或仿品。

网页上我们通常不会真的打包 Helvetica,而是写一个字体栈,让系统逐级回退:

body{
  font-family: "Helvetica Neue", Helvetica, Arial,
    "PingFang SC", "Microsoft YaHei", sans-serif;
}

注意最后的回退:中文字体必须显式列出。西文栈写得再优雅,落到中文屏幕上,也会被一个随机的系统字体接管。

02中文字体的困境

中文没有西文那种「中立无衬线」的完整传统,屏幕上常见的候选是苹方(PingFang SC)、微软雅黑(Microsoft YaHei)与思源黑体(Noto Sans CJK)。它们字面率、笔画粗细各不相同,同一段文字在不同系统上的观感可能完全不同。

应对方法只有两招:第一,明确回退顺序,把最想要的效果放在最前面;第二,给中文更大的行高。中文方块字没有 x-height 的参照,行距通常需要比西文更慷慨:

html{
  font-family: "PingFang SC", "Microsoft YaHei",
    "Noto Sans CJK SC", sans-serif;
  line-height: 1.7;   /* 中文建议 1.6 – 1.8 */
}

03可变字体与未来

可变字体(variable fonts)把同一字族的多个字重、宽度甚至倾斜角度装进一个文件,浏览器可以像调音量一样连续取值。对排版而言,这意味着「光学尺寸」成为可能:标题自动加粗收紧,正文自动轻盈舒展,全部由系统实时计算。

中文可变字体仍在路上,但思源黑体的可变版与更纱黑体已经让中文开发者第一次尝到了「一个文件,无数种字重」的甜头。当字体文件不再是带宽的敌人,瑞士设计最看重的字距推敲,终于可以在网页上完整上演。

字体是内容的表情——排版错了,内容也会被读错。

下一篇,我们继续讨论静态网站的另一件大事:没有后端,搜索从哪里来?