主方案
人生苦短,我用 python
主方案我们用 python 的 fonttools 解决问题。
subset.txt
就是一个常用汉字子集,例子可以看这个 gist。
操作
- 安装 python3
pip3 install fonttools
pip3 install brotli
(压缩功能会用到)- 运行
genSubset.sh
- 完结撒花,十分简单
- 遇到反馈说某个字字体丢失,只要在
subset.txt
添加该字再重复以上步骤即可
如果你还是不想用 python,坚持 Node 的话,以下提供两个方案供参考。
方案 2:字蛛
当然,其实把所有常见汉字包进去其实是一种偷懒,但是不能否认这是十分高效的做法。
把字体文件极致压缩到只包含你的网站使用到字也是可能的,甚至在现在还简单一点,因为 SSR 又起来了(如果是 SSG,那就更是简单),以前 SPA CSR 是真的不方便。
这样的极致压缩方案其实早就有了,那就是八年前的“远古”项目字蛛。可惜现在的 Node 应该是不能正常运行了,得故意为压缩字体 nvm
一下。
方案 3:fontkit
其实用 py 主方案的时候我就觉得,这样的操作在 Node 应该也有替代方案,今天找了找,大概 fontkit 也是可行的。(没有实际使用过,仅提供信息)