AI摘要:通过使用Python库fonttools,可以对字体文件进行子集压缩。安装fonttools后,使用现代汉语常用3500字列表,通过命令行工具对字体文件进行压缩,指定输入字体文件、定义保留字符的文本文件和输出文件路径。压缩后字体大小从11M减少到约1.7M。
使用python
这里使用到的是Python 的库:fonttools
使用最新版 Python
的 pip 命令安装即可在 Shell 中使用:
pip install fonttools
常用汉字大约有3500字
我使用的是这个现代汉语常用 3500 字.txt
中文常用字库项目https://github.com/DavidSheh/CommonChineseCharacter
取子集
使用以下命令即可对字体文件取子集
fonttools subset "$input_file" --text-file="$text_file" --output-file="$output_file"
其中$input_file
:输入的字体文件。$text_file
:定义保留字符的纯文本文件路径。$output_file
:输出的字体文件路径。
取完子集完成之后字体从11M压缩到1.7M左右
压缩
安装模块brotli
pip install brotli
使用命令
fonttools ttLib.woff2 compress "$input_file" -o "$output_file"
其中$input_file
:输入的字体文件。$output_file
:输出的字体文件路径。
再次压缩为 woff2 字体格式 大约840kb