fontTools 是处理字体文件的 Python 工具库。附带的 TTX 可以把 TrueType、OpenType 字体转换成 XML,方便检查名称、字符映射和其他内部表;subset 工具则可以保留指定字符及相关字形,用于网页字体优化。

当前官方 README 要求 Python 3.11 或以上。建议在虚拟环境中安装;基础安装命令是 pip install fonttools,需要 WOFF2 支持时可使用 pip install "fonttools[woff]",安装相应的 Brotli 依赖。

一个小型试验可以从已有授权的字体开始:准备包含页面文字的 UTF-8 文件 text.txt,再运行 fonttools subset input.ttf --text-file=text.txt --flavor=woff2 --output-file=site.woff2。这些文件名是示例,执行前需要替换成实际路径。

字体子集不是越小越好。动态内容、其他语言、标点、连字或以后新增的文字,都可能需要补充字符。上线前应测试缺字、字距与不同浏览器中的显示。fontTools 采用 MIT 许可证、可免费使用,但工具许可不会代替原字体的网页嵌入与修改授权。