前言
- python工具库fontTools,我是用来压缩前端字体的,优化前端请求速度的;
- 使用的过程中,遇到了不少的坑,把这个过程记录下来,防止再犯。
安装
pip install fontTools
提取子字体集
方法一:–text 参数
- 很多资料里面都是介绍使用–text,可是它不会把
"
加入到子集中,反而报错; - 这个坑死我了,一旦–text中存在
"
的时候,则会一直报错或者提前中断。
import os
string = "1234567890"
os.system('pyftsubset ./x1.ttf --text="{}" --output-file=./x2.ttf'.format(string)
)
方法二:–text-file 参数
- 该方法一直找不到,还是官网查找的,使用起来很方便;
- 该方法就是需要.txt文件,作为中间产物进行操作。
import os
os.system('pyftsubset ./x1.ttf --text-file=./x.txt --output-file=./x2.ttf'
)
方法三:代码形式
from fontTools import subset
support = set()
with open('./x.txt', encoding='utf-8') as t:support = set(t.read())
options = subset.Options()
font = subset.load_font('./x1.ttf', options)
subsetter = subset.Subsetter(options=options)
subsetter.populate(text=str(support))
subsetter.subset(font)
subset.save_font(font, './x2.ttf', options)
问题
xxx…is not recognized as an internal or external command,operable program or batch file
功能实现
参考资料
- github仓库fonttools
- fonttools官方文档