文章目录
一、前言
在 Unity
中制作游戏时,很可能会导入一些外部字体,而从网上下载的字体,小则两三兆,大则十几兆的,这些字体文件既占包体又占内存,所以对动态字体的剥离和精简就很有必要了。
二、FontSubsetGUI工具
FontSubsetGUI
是常用的字体精简工具。
1、FontSubsetGUI下载
FontSubsetGUI
工具下载地址: https://gitcode.net/linxinfa/fontmaker/-/blob/master/FontSubsetPack.zip
2、FontSubsetGUI使用教程
准备好一个包含你需要字符的txt文件和TTF原文件。
运行FontSubsetGUI
,选好TTF
文件和TXT
文件的路径,点击Proceed
生成新TTF
文件。
常用8000汉字:https://gitcode.net/linxinfa/fontmaker/-/blob/master/8000Hanzi.txt
常用标点符号和英文字母:https://gitcode.net/linxinfa/fontmaker/-/blob/master/symbols.txt
其中所需的字符为:
裁剪后生成的新的TTF字体只有361KB
三、FontCreator工具
FontCreator
是一款专业的可用来制作字体(TTF
),字体设计软件。FontCreator
功能非常强大,是广大字体修改爱好者的必备工具。FontCreator
可以用来制作、编辑修改ttf, otf, ttc
格式的字体文件,并生成可在任意设备使用的标准字体文件,是Windows
系统下编辑制作字体。
我们可以使用FontCreator
工具查看下生成的TTF
字体。
1、FontCreator下载地址
FontCreator
工具下载地址: https://gitcode.net/linxinfa/fontmaker/-/blob/master/FontCreator.zip
2、FontCreator使用教程
我们运行FontCreator
,打开上面新生成的TTF字体,在预览中输入“你好世界”,因为不在我们上面的所需字符内,所以显示不出来
我们输入如果有来生
,就可以正常显示出来了。
四、格式问题: OTF转TTF
FontSubsetGUI
工具无法对OTF
格式的字体进行裁剪,所以 如果是OTF
格式的字体,那么可以使用FontCreator
工具将OTF转成TTF
打开FontCreator
,然后点【文件】-【打开】-【字体文件】打开一个OTF格式的字体
然后点【文件】-【另存为】保存成TTF格式的字体即可。
五、FontPruner工具
还有一个不错的开源工具FontPruner
,可以更好的裁剪字体。它是西山居公司开发的一款开源的字体裁剪工具。
1、FontPruner下载地址
FontPruner的介绍:https://gulu-dev.com/post/2017/2017-09-15-font-pruner-intro/content
FontPruner工具下载地址:https://github.com/GameBuildingBlocks/FontPruner
2、FontPruner使用教程
- step1:安装
python
,jre
- setp2:从作者
github
下载文件包 - setp3:自定义要保留的文字。找到
src/FontExtract/unChineseOutPut.txt
,在这记事本内填入你要保留的文字保存
- step4:准备我们处理的字体。我这里为了方便直接将ttf 字体拷贝到
FontPruner.py
同级目录。 - step5:
cmd
进入FontPruner.py
所在目录,使用命令FontPruner.py --inputPath=./ --inputFont=./字体名.TTF --tempPath=./
- step6:处理完会在同级目录生成一个
output
目录 ,咱们的目标字体文件就在里面。
六、Unicode字符百科
Unicode字符百科:https://unicode-table.com/cn/#control-character