
使用 fonttools-pyftsubset 对 ttf 格式字体进行精简并压缩为 woff2 格式
为了让网站使用自定义字体,需要将字体文件一并上传,但是一般的中文字体文件都很大,动辄 20MB+
解决办法就是使用一些工具对字体进行精简和压缩
网上找了一些在线工具,但是都只能压缩为 woff2 格式,20MB 左右的字体压缩后依然有 8MB+
一个有效的解决办法就是使用 fonttools 中的 pyftsubset 对字体进行精简,具体步骤如下
使用 pip 下载 fonttools
1 | pip install fonttools -i https://pypi.tuna.tsinghua.edu.cn/simple |
准备字体文件以及精简字符文件
1 | Library\Downloads\FutureRoundSC_Regular took 5s |
其中 FutureRoundSC_Regular.ttf
是我需要压缩的字体文件
另外两个 txt 文件的内容是常用 3600 字简体中文和常用 4600 字简体中文
精简字符集可以在 https://www.fontspider.vip/ 中复制粘贴获取
使用 pyftsubset 对文件进行精简和压缩
格式为 pyftsubset {字体路径} --text-file={精简字符集路径} --flavor={转换后的格式}
,如下
1 | pyftsubset .\FutureRoundSC_Regular.ttf --text-file=./36.txt --flavor=woff2 |
如果不添加 --flavor
则只会精简字符集而不压缩为 woff2 格式
最终效果
1 | Library\Downloads\FutureRoundSC_Regular |
缩小了近 30 倍,效果显著!
参考文献
本文采用CC BY-NC-SA 4.0协议,完整转载请注明来自V1hZ's Blog
评论 ()