Google教你优雅的精简字体
2018-05-17 本文已影响19人
凡卡的手写笔

Hello 好久不见。
游戏开发的过程中,免不了要使用一些各中各样的字体库, 而字库中的文本不一定都会使用到,一个字体库小则几百K,大则十几M,这无疑增加了客户的流量费用,更增加了游戏的下载时间,使得游戏的体验更差, 网上就有很多字体提取工具,可以提取出指定的文字,避免了上述的情况。
下面简单记录一下精简字体的方法, 我们可以使用Google开源的字体提取神器 —— sfntly
(假装你们都已安装好JDK和ANT环境)
去GitHub下载sfntly

打开文件找到sfnttool目录下

我们要用的就是这个Sfnttool.java这个工具,但是不能直接用,需要ant编译一下。
(在该目录下,Shift+右键调出终端,输入ant命令即可编译)

编译完后会生成dist文件夹,我们要用的工具就在该文件夹目录下(\java\dist\tools\sfnttool)
我们要用的工具就是sfnttool.jar文件

使用方法:
在该目录下,shift+右键调出命令行工具,输入指令:
java -jar sfnttool.jar -s ' 这里输入你要提取的文本 ' 该目录下的原始字体.ttf 你生成新字体文件.ttf
待指令运行完后,会在同一文件夹内生成`你需要的"新字体文件".ttf
采坑:我在提取文本时,由于双引号没处理反复出现文本被双引号截断,且每次出现命令行里文本排版错乱的情况

建议:在你要提取的文字里,文本之间不要留有空格,若字符中带有双引号,-s指令后用单引号包括要提取的文本,且双引号的文本里可空格把文本域双引号隔开。(待进一步验证)
共勉!
如果你也喜欢各种技术,我在我的微信公众号等你来畅聊!
