Unity字体精简-FontPruner or FontSubsetPack

最近一直在搞Unity客户端的优化,发现了冷加载界面的字体只用到了指定的文字,但是字体文件很大,内存消耗也很大,必须精简,如何把8M的字体精简到几十K呢?


1、FontSubsetPack使用方便,但是有一定的不足,我选择了FontPruner
FontSubsetPack下载地址:https://download.csdn.net/download/yaukeywang/10012038
使用方法:

Unity字体精简-FontPruner or FontSubsetPack_第1张图片
使用说明


2、FontPruner下载地址:https://github.com/yaukeywang/FontPruner/tree/extend
由于是python的源码,需要pycharm运行代码执行,需要安装python和pycharm以及搭建必要的环境。


下载好了以后,打开项目,print输出没有括号,报错
Unity字体精简-FontPruner or FontSubsetPack_第2张图片
报错

python2.0之前的写法,我安装的python3,所以需要补上()括号,
print("path = " +path),当然删除log也可以。
1、复制需要生成字体源文件到根目录


Unity字体精简-FontPruner or FontSubsetPack_第3张图片
源字体

2、加入字体文件需要保留的文字到txt中,找到src/FontExtract/unChineseOutPut.txt 在这记事本内填入你要保留的文字 保存
Unity字体精简-FontPruner or FontSubsetPack_第4张图片
image.png

3、复制命令:FontPruner.py --inputPath=./ --inputFont=./simkai.TTF --tempPath=./
切换到cmd窗口,粘贴命令,修改simkai为你的字体名字,然后回车,开始生成字体


Unity字体精简-FontPruner or FontSubsetPack_第5张图片
image.png

生成成功
Unity字体精简-FontPruner or FontSubsetPack_第6张图片
image.png

Unity字体精简-FontPruner or FontSubsetPack_第7张图片
image.png

大小对比:
Unity字体精简-FontPruner or FontSubsetPack_第8张图片
image.png

导入到unity开始使用吧,有个小问题就是,其实这个字体也包含了所有的字体,但是不是我们输出的文本里面包含的文字,显示方式还是有很大差别的,具体看下面的图。


Unity字体精简-FontPruner or FontSubsetPack_第9张图片
image.png

你可能感兴趣的:(Unity字体精简-FontPruner or FontSubsetPack)