字体要设置成偶数,是一代一代不求甚解的设计师流传下来的神秘技巧。
Windows XP 及之前,系统内置的默认字体是宋体。说是宋体,但其实我们肉眼看到的字体和宋体没有什么关系。当年屏幕分辨率低,也不支持次像素渲染(想象你看到的那种红色的灯屏,每个像素都只有亮和灭两个状态),要在这种屏幕上将宋体的细节显示出来,是不可能的。所以,实际上,这个宋体内嵌了三套点阵字体,分别是 12 像素,14 像素和 16 像素大。那个年代我们大多数情况下看到的中文字,就是这几套点阵字体,并被称为宋体。
如果不用 12、14、16 这三个字号的话,系统会插值计算,效果的确不敢恭维。这就是为什么设计师们祖传秘方,字号要用 12、14、16。
Windows Vista 开始有了微软雅黑,但仍然不少网站强制使用宋体,其实就是强制使用点阵字。微软雅黑配合 ClearType 的次像素渲染,效果不管怎么说都是要比点阵字好的。可惜大家看习惯了点阵字,包括许多设计师自己也是,总会觉得雅黑不清晰。
08 或 09 年的时候我负责更新 Google 中文字体的设置,希望能在有雅黑的时候默认调用雅黑,一个阻力就来自于此。今天应该不会再有人想用点阵字了,但习惯对于审美的作用还是挺大的。
所以,今天的字体显示技术,并没有一个说法是必须要用偶数。iOS 默认字号是 17pt,物理像素可以高达 51px 了,但国内大部分产品都会把字号调小一些。
顺便说一下 Google 一直是 13px,倒也没有别的考虑,我觉得中英文站字体统一更重要一些,也推荐用 13px。
没想到一把岁数了还要给人解释这个。