--- title: "通过取子集的方式压缩霞鹜文楷字体" slug: "yasuoziti" date: 2024-08-24T00:00:00.000Z categories: - 分享 tags: - 字体 --- ## 使用python 这里使用到的是Python 的库:`fonttools` 使用最新版 `Python` 的 pip 命令安装即可在 Shell 中使用: ```shell pip install fonttools ``` 常用汉字大约有3500字 中文常用字库项目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` ```shell pip install brotli ``` 使用命令 ```shell fonttools ttLib.woff2 compress "$input_file" -o "$output_file" ``` 其中 `$input_file`:输入的字体文件。 `$output_file`:输出的字体文件路径。 再次压缩为 woff2 字体格式 大约840kb