![](https://img.haomeiwen.com/i155354/0a0cff28b1ce491b.jpg)
Hello 好久不见。
游戏开发的过程中,免不了要使用一些各中各样的字体库, 而字库中的文本不一定都会使用到,一个字体库小则几百K,大则十几M,这无疑增加了客户的流量费用,更增加了游戏的下载时间,使得游戏的体验更差, 网上就有很多字体提取工具,可以提取出指定的文字,避免了上述的情况。
下面简单记录一下精简字体的方法, 我们可以使用Google开源的字体提取神器 —— sfntly
(假装你们都已安装好JDK和ANT环境)
去GitHub下载sfntly
![](https://img.haomeiwen.com/i155354/516a1565cc9c3646.png)
打开文件找到sfnttool目录下
![](https://img.haomeiwen.com/i155354/080910b192161600.png)
我们要用的就是这个Sfnttool.java这个工具,但是不能直接用,需要ant编译一下。
(在该目录下,Shift+右键调出终端,输入ant命令即可编译)
![](https://img.haomeiwen.com/i155354/94d398d8911ae275.png)
编译完后会生成dist文件夹,我们要用的工具就在该文件夹目录下(\java\dist\tools\sfnttool)
我们要用的工具就是sfnttool.jar文件
![](https://img.haomeiwen.com/i155354/a508a4aee037fbca.png)
使用方法:
在该目录下,shift+右键调出命令行工具,输入指令:
java -jar sfnttool.jar -s ' 这里输入你要提取的文本 ' 该目录下的原始字体.ttf 你生成新字体文件.ttf
待指令运行完后,会在同一文件夹内生成`你需要的"新字体文件".ttf
采坑:我在提取文本时,由于双引号没处理反复出现文本被双引号截断,且每次出现命令行里文本排版错乱的情况
![](https://img.haomeiwen.com/i155354/76964a28cc3ab6c0.png)
建议:在你要提取的文字里,文本之间不要留有空格,若字符中带有双引号,-s指令后用单引号包括要提取的文本,且双引号的文本里可空格把文本域双引号隔开。(待进一步验证)
共勉!
如果你也喜欢各种技术,我在我的微信公众号等你来畅聊!
![](https://img.haomeiwen.com/i155354/1cfcd91fdf8233ce.gif)
网友评论