提剑追梦

通过取子集的方式压缩霞鹜文楷字体

使用python

这里使用到的是Python 的库:fonttools

使用最新版 Python 的 pip 命令安装即可在 Shell 中使用:

pip install fonttools

常用汉字大约有3500字 我使用的是这个现代汉语常用 3500 字.txt 中文常用字库项目https://github.com/DavidSheh/CommonChineseCharacter

https://github.com/JasonWei512/5000-commonly-used-chinese-characters

环境变量

在安装完成之后需要将Python的Scripts目录添加到环境变量中,路径一般为:

C:\Users\你的用户名\AppData\Roaming\Python\Python310\Scripts

取子集

使用以下命令即可对字体文件取子集

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