ttf字体剥离优化概述
发表于2019-08-01
1.目前我们一款游戏常用字体如下所示:
这里主要介绍下字体剥离精简优化字体大小的操作,这个也是比较方便实用的。另外一款游戏常用字体也是根据白名单去生成的。
2.源字体查看
这里我用的是FontCreator,拖入KR_NORMAL.ttf查看如下:
上面显示的 Glyphs 定义是8112个。看了下里面很多是不用的,应该是可以剥离。
3.源字体剥离准备
这里我选用的是FontPruner,感觉比较清晰方便,命令行调用更方便工具化。工具不多介绍自行查看。
把源字体放到FontPruner根目录,编辑src\FonyExtract\unChineseOutPut.txt,我们可以在里面输入白名单字体,供后面从源字体文件里剥离处理。
添加测试字体配置
4.源字体剥离
我们这里只尝试ttf的,其他格式暂未亲测。上面准备好后,执行脚本需Python环境,开始执行FontPruner.py脚本。因为该脚本要穿指定参数,建议用bat包一层方便执行。
成功执行后在根目录output目录下会生成新的剥离好的字体。
如果你修改了白名单配置,比如删除了某些字不想下次生成出来,那么要记得把intermediate目录下的ChineseOutPut.txt先删除或清空,否则下次生成后删掉的内容还是会在字体里!
5.剥离后字体查看
显示的 Glyphs 定义是56个,其中包括白名单字体配置的文本,还有一些其他的应该是系统预留,暂未深究。
6.剥离字体unity里测试
7.拓展
要如何用到实际项目?重点在如何做工具去提取涉及到的文本,UI静态文本、配置文本等等。