跳转到主要内容

常见字体任务速查

适合谁看:手头有一个具体的字体问题,想知道用什么工具、去哪一页看详细步骤的人。

速查表

我想…… 用什么 详细说明
看一款字体叫什么、什么版本、什么许可 字体管理器,或 ttx -t name 《看懂字体信息:名称、版本、字重和许可》
查字体里有没有某个字 fontTools 读 cmap 《怎么查一款字有没有某个字》
把 TTF/OTF 转成 WOFF2 fonttools ttLib.woff2 compress 或 woff2_compress 《fontTools 入门:查看、修改、转格式》
只保留页面用到的字 pyftsubset、glyphhanger 《动手拆子集:pyftsubset》
整款中文字体按需加载 cn-font-split 《按字分片:cn-font-split》
从可变字体导出某个字重 fonttools varLib.instancer 《fontTools 入门:查看、修改、转格式》
看字体有哪些排版功能、可变轴 Wakamai Fondue、FontDrop! 《在线检查和预览工具》
网页上确认实际用了哪款字体 浏览器开发者工具 《字体没生效?一套排查顺序》
发布前检查字体质量 Font Bakery、Fontspector 《字体工程工具:构建、检查和压缩》
从源文件生成字体 fontmake、fontc 《字体工程工具:构建、检查和压缩》
选格式(TTF、OTF、WOFF2) — 《字体文件格式怎么选:TTF、OTF、TTC、WOFF2 和可变字体》
生僻字显示成方框 换字体或加后备字体 《繁体、日文、生僻字显示成方框怎么办》

动手前的三条提醒

  1. 先备份原文件:所有修改都在副本上做。
  2. 先看许可:子集、转格式、改名都可能算修改字体。商业字体通常有限制;开源字体也有条件,比如 OFL 的保留字体名称。详见《自托管网页字体的许可要点》。
  3. 改完要测试:在目标环境(网页、Word、设计软件)里实际打开看一遍,确认字没有缺、排版功能还在。

一个完整例子:给博客做一份中文网页字体

  1. 确认字体许可允许网页使用和自托管;
  2. 决定用子集(内容固定)还是分片(内容不固定);
  3. 用 pyftsubset 或 cn-font-split 生成 WOFF2;
  4. 写 @font-face,见《写对 @font-face:字体名、字重和 local()》;
  5. 设置加载策略,见《加载策略:font-display、预连接和预加载》;
  6. 用浏览器开发者工具确认生效。

如果不想自己处理,也可以直接用现成的中文网页字体服务,接法见《用文风网页字体:一页看懂正确接法》。

参考资料