常用的字体标准有哪些?

319 阅读6分钟

大家好,我是前端西瓜哥。

今天我们来简单了解一些常用字体标准。

字体发展简史

不过首先我们简单过过桌面字体的发展历史。

在很久前,桌面排版使用的是点阵图,不支持所见即所得,需要用户不断推敲测试,打印效率很低。

PostScript

直到 Adobe 在 1984 年发布了 PostScript 页面描述语言,配合苹果的 LaserWriter 打印机,解决了 “所见即所得” 的桌面排版问题,获得了巨大的商业成功。

Adobe 靠此从名不见经传的小公司成为字体和排版业界行业的巨头。

当时 PostScript 只能在打印机上预览,而不能在苹果的 Mac 电脑上预览,所以苹果希望获得 PostScript 栅格化技术的授权,以提高销量。

TrueType

Adobe 不愿意失去垄断地位拒绝了苹果,于是苹果决定推出了自己的 TrueType 字体标准。

1989 年底,苹果和微软公布了他们合作开发 TrueType 的商业计划,TrueType 字体格式将完全公开,不需要授权,然后在 1991 年内建在苹果的 Mac OS 中。

Adobe 也因此不得不开放了 Type 1(PostScript 中唯一保密部分)技术规范。

Adobe 和苹果的字体战争正式打响。

Adobe 在 1990 年推出了 Adobe Type Manager 软件,可以在电脑上预览 Type 1 字体,此外也推出了 Multiple Master(多重母版,简称 MM)技术,一种可以对字形进行插值 无级变换 (interpolation) 的先进技术。

为了对抗 Adobe 的 MM 这种无极变换技术,苹果也扩展了 TrueType,推出了 TrueType GX 特殊字体。相比 MM,TrueType GX 要更优秀。

但因为商业竞争和推广策略等原因,MM 和 TrueType GX 都没能推广开来。

OpenType

当微软希望得到 TrueType GX 授权被拒绝后,历史重演了,微软和 Adobe 联合起来,在 1997 年发布了 OpenType 标准。和 TrueType 一样,它也是公开的。

OpenType 继承了 TrueType 的先进理念,并且支持 PostScript。

Adobe 也知道 Type 1 这种落后的字体标准不利于卖字体,于是花了大力气推广 OpenType,砍掉了 MM,并将所有字体都转为 OpenType,并进行高强度推广,最终 OpenType 变得流行。

苹果也移除了 GX,并支持 OpenType。

至此,这场漫长的字体战争,以 OpenType 的胜利结束。

Variable font(可变字体)

2016 年,OpenType 1.8 正式发布,支持可变字体( Open­Type Variation)。

可变字体正是基于之前的 TrueType GX 技术,支持无级变换。

所谓无极变换,就是可以设置任意字重(weight)、字宽(width)等变量,可对字体轮廓进行非常非常细腻的调整,让设计师有更多的选择。

而不是像以前那样,需要安装好几种字体,什么 xx-light,xx-heavy,然后字重也只能设置为固定的几个值比如 300、400,然后去对应上这些不同的字体。

下面是小米兰亭 Pro 字体,无级修改字重的效果。

图片

字体标准

对常见字体标准做简单介绍。

PostScript

或者可以叫做 Type 1 字体。

后缀名为 .ps

由 Adobe 创造,基于三次贝塞尔曲线进行表达。

设计比较落后,已退出历史舞台。

如果感兴趣,可以试试用 evince 和 ghostscript 软件打开。

TrueType

常用后缀名为 .ttf

由苹果设计,基于二次贝塞尔曲线进行,这种表达被人所诟病,相比三次贝塞尔曲线灵活性较差。

TrueType 支持 hinting(渲染提示),在字体层面可以配置不同字号下如何调整字形轮廓,使其呈现美观的效果,尤其是缩小得非常小的情况下。

不过现在随着显示器分辨率的提高以及渲染技术的发展,现在苹果和微软在渲染文字时会忽略 TrueType 中绝大多数的 hinting。

OpenType

后缀名有好几种:

  • .otf:普通的 OpenType 字体;

  • .otc:OpenType Collections,将多个字体文件整合在一起,并使用 CFF 格式压缩字形数据,尤其有助于减少 CJK 字体(中文、日文、韩文)的大小;

  • .ttf:这名字貌似是 TrueType 字体,但其实是 Window 3.1 时使用的一种 OpenType TT 字体,后面换成 OpenType PS 字体了(.otf);

  • .ttc:OpenType 本来要支持 "TrueType Collections" 特性,此时后缀为 .ttc,但是后面用 OpenType Collections 将其取代掉了。

OpenType 继承了 TrueType 的先进理念,添加了许多的新特性,并且支持 PostScript。

OpenType 这次又改回用三阶贝塞尔曲线进行表达了。二阶贝塞尔确实不好用,且最终字体提及可能会更大。

另外重要的一点是,OpenType 兼容 Unicode,可以保存更多的字形,有利于实现非拉丁复杂语系字体。

WOFF

WOFF,全称为 Web Open Font Format,是一种适用于网页的压缩字体。

后缀名为 .woff.woff2

它本质是将 OpenType 或 TrueType 进行压缩,并带上一些 XML 元信息。

WOFF 使用 zlib(基于 Deflate 算法)进行压缩;后续又发布了 WOFF 2.0,改为 Brotli 进行压缩,进一步减少了文件体积。

Variable font(可变字体)

可变字体支持无极变换,可以用一款字体替代同一套的各种字重字体。

可变字体是 OpenType 1.8 的新特性,没有专门的后缀名。

但通常文件名会以 -VF 结尾。

比如 FiraCode-VF.ttfSourceHanSansSC-VF.otf

结尾

我是前端西瓜哥,关注我,学习更多前端知识。

相关阅读,

opentype.js 使用与文字渲染