字体压缩指南
前言
当我们在搞汉化的时候,我们会找一个合适的字体。
而找字体就会引发一个问题:字体文件太大了怎么办?
很多时候我们的项目实际上不需要那么多的字符,因此字体中的十分甚至九分都是冗余的。
这个教程就是帮助各位来减少字体大小的,不过有一定技术门槛。
准备工作
步骤
- Python 安装完后,打开命令提示符,输入
pip install fonttools
,安装 FontTools。 找到下载
cc.exe
的目录,打开命令提示符,输入:cc "计数文件名" "导出文件名"
举例:如果你要计算字符的文件为
F:\foo.txt
,导出到F:\bar.txt
,则输入:cc "F:\foo.txt" "F:\bar.txt"
- 打开导出的文件,复制所有内容。
- 打开浏览器,转到 UTF-8 转代码点工具。
将复制的内容粘贴到左侧,将右侧内容复制下来。
- 新建一个文本文件,将复制的内容粘贴进去。
打开命令提示符,输入:
pyftsubset "字体文件" --unicodes-file="新建的文本文件"
举例:新建的文本文件为
D:\foo.txt
,字体文件为D:\font.ttf
,则输入:pyftsubset "D:\font.ttf" --unicodes-file="D:\foo.txt"
导出的字体可以在字体文件的目录找到,格式为
字体名.subset.文件格式
。举例:字体文件为
D:\font.ttf
,则导出文件为D:\font.subset.ttf
。
大功告成!
结尾
- 这个方法我不确定
woff
和woff2
能不能用,但是这俩都是被压缩了的字体,所以最好不要用这种格式来删字符,建议用ttf
。 建议在用大于 2MB 的字体的时候先用这种方法删一下冗余字符。
我用的字体大概 20MB,删完之后只有 300KB 左右。
- Character Counter 的源码:https://gist.github.com/ZiYueCommentary/3862de5d6a38f10786e2a3eddb56d829
附录
以下是我用于压缩字体文件大小的常用文字:https://www.ziyuebot.cn/characters.html
提交评论