字体文件压缩和格式转换

#python 2023/11/29 11:28:37

fontTools是专门操作字体文件的 Python 库,可以使用它来帮助压缩字体文件。

  • 原始字体思源黑体-SourceHanSansSC.ttf简体中文 ttf 格式 (34.4MB)

  • fontTools 命令行 pyftsubset 可以根据字符或者 unicode 编码生成字体字体。

下载字符文件常用汉字 3500 字并扩充数字/字母/符号保存为 regular_3500.txt 文件

pip install fontTools
pyftsubset SourceHanSansSC.ttf --text-file=regular_3500.txt

命令将会生成 SourceHanSansSC.subset.ttf 字体文件 (3.4MB)

  • 使用 fontTools.ttLib.woff2 将字体转为 woff2 格式,将会进一步压缩字体文件。
pip install Brotli #需要额外安装Brotli包

python
>>> from fontTools.ttLib import woff2
>>> woff2.compress('SourceHanSansSC.subset.ttf','SourceHanSanSC.woff2')

命令将会生成 SourceHanSanSC.woff2 字体文件 (1.65MB)