fontTools工具的使用介绍

前言

  • python工具库fontTools,我是用来压缩前端字体的,优化前端请求速度的;
  • 使用的过程中,遇到了不少的坑,把这个过程记录下来,防止再犯。

安装

# fontTools 4.56.0
pip install fontTools

提取子字体集

方法一:–text 参数

  • 很多资料里面都是介绍使用–text,可是它不会把"加入到子集中,反而报错;
  • 这个坑死我了,一旦–text中存在"的时候,则会一直报错或者提前中断。
import os
# 定义需要保留的字符
string = "1234567890"
# 模拟执行pyftsubset命令生成字体子集
os.system(
    'pyftsubset ./x1.ttf --text="{}" --output-file=./x2.ttf'.format(string)
)

方法二:–text-file 参数

  • 该方法一直找不到,还是官网查找的,使用起来很方便;
  • 该方法就是需要.txt文件,作为中间产物进行操作。
import os
# 模拟执行pyftsubset命令生成字体子集
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

  • 就是文件里面多了"'

功能实现

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

KjPrime

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

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

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

打赏作者

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

抵扣说明:

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

余额充值