字体裁剪,精简字体,字体瘦身:FontSubsetGUI,FontCreator,FontPruner

23 篇文章 1 订阅

一、前言

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:安装pythonjre
  • 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

  • 31
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林新发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值