裁剪字体文件,最大限度节约空间

前段时间有个小需求,就是生成一份PDF文件。遇到了个少见的问题:

由于是老外写的库,PDF文件要求嵌入字体才能显示中文汉字,然而库支持的字体格式不知道怎么回事,并不可以使用系统自带字体。

这就需要软件自身提供一个兼容的字体,然而中文字体文件有十几到好几十M大小,软件不可能内嵌一个完整的字体文件

简单搜索,发现可以裁剪字体文件,这样就不需要一个完整的字体文件了,可以节约空间

首先安装fonttools(得有python环境)

pip install fonttools

然后准备一个txt文件,文件里放上你要保留的所有字,包括中英文和标点符号,比如这样,保存为text.txt(注意文件要用UTF8格式保存,不然不认)

测试
,。
-./0123456789
::,;;?<=>? @
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
[\]^_()

接着处理就好了

fonttools subset 你的字体文件.ttf --text-file=text.txt --output-file=要导出的文件名.ttf

这样导出的字体只有几十K大小了,在可接受范围内

发表评论

您的电子邮箱地址不会被公开。