当前位置: 首页 > 工具软件 > sfntly > 使用案例 >

ttf字体库裁剪工具制作与使用 sfntly,FontSubsetGUI,FontPruner

孙辰阳
2023-12-01

https://blog.csdn.net/linxinfa/article/details/88427808

关于字体剥离和精简工具 FontSubsetGUI 和 FontPruner 的比较。

https://www.cnblogs.com/yaukey/p/compare_fontsubsetgui_fontpruner_for_unity.html

以上两种导入到项目中使用都没有问题,但是 FontPruner 更加精简准确

  1. FontSubsetGU

注意红色线框部分,Glyphs 总共定义了 28562 个,同原始字体一样,但是 Empty 了 28542 个,就是如上 图一 中所有空白方快,他们都是缺失字体外形定义,但有字体符号表,也就是说有这个字但没有定义和映射字体外形,处于不可用状态

  1. FontPruner

裁剪文本是16个,字体文件内可用的 Characters 也是16个,显示的 Glyphs 定义是17个,其中包含一个 .notdef 系统预留的定义(图四),值为0;也就是其余所有没用到的 Glyphs 都被裁剪掉了,变得更加精简,所以文件就更小。

https://github.com/cmd2001/FontPruner-python3

https://github.com/GameBuildingBlocks/FontPruner

Unity字体精简-FontPruner or FontSubsetPack

https://www.jianshu.com/p/2a83a544a59e

文章目录

一、前言

二、FontSubsetGUI工具

1、FontSubsetGUI下载

2、FontSubsetGUI使用教程

三、FontCreator工具

1、FontCreator下载地址

2、FontCreator使用教程

四、格式问题: OTF转TTF

五、FontPruner工具

1、FontPruner下载地址

2、FontPruner使用教程

六、Unicode字符百科

一、前言

在 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

————————————————

版权声明:本文为CSDN博主「林新发」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/linxinfa/article/details/88427808

======================

https://github.com/googlefonts/sfntly

ttf字体库裁剪工具制作与使用 sfntly

github上下载google开源的sfntly,下载地址为:sfntly地址

下载完后解压,在eclipse中打开,接下来我们生成jar包,

右键点击SfntDump.java,选择export

设置路径点击finish。

得到sfnttool.jar,yi.ttf是我们要修剪的字体

在此处打开cmd,输入:

java -jar sfnttool.jar -s "富强民主文明和谐自由平等公正法治爱国敬业诚信友善" yi.ttf y2.ttf

y2.ttf就是修剪之后的ttf字体。

————————————————

版权声明:本文为CSDN博主「东城西阙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_35605081/article/details/120845141

Google开源的字体提取神器——sfntly

而提取常用汉字3000个左右,

使用 "細黑體_0.ttf" 提取子集仅仅2.5M

使用 "mingliu_0.ttf" 提取的子集有8.5M 。(估计是跟字体库本身设置了什么有关

https://blog.csdn.net/Leichelle/article/details/82757262?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-82757262-blog-127175213.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-82757262-blog-127175213.pc_relevant_default&utm_relevant_index=6

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

https://blog.csdn.net/linxinfa/article/details/88427808

ttf字体文件子集生成工具

https://github.com/fonttools/fonttools

下载 Fontmin 客户端 for Windows

http://ecomfe.github.io/fontmin/#app

Related

 类似资料: