在网页的制作中,某些地方比如标题用到了诸如方正兰亭黑这样的特殊字体,而这些字体在访问网页的操作系统中往往是没有的,为了能正确显示字体,通常有两种做法,一种是将标题以图片形式保存,另外一种是在打开网页的时候,通过网络加载字体文件。这两种做法都会增加网页的大小,耗费网络带宽。最好将原有的字体文件裁剪一下,做成一个只包含这几个文字的子集,然后再通过网络加载这个缩小后的字体文件,就能大大节省网络传输量。
Github上有一个开源的Python工具fonttools可以解决这个问题。
安装fonttools
pip install fonttools
可以命令行方式执行:
pyftsubset aaa.ttf --font-number=12 --text='你好' --output-file=xxx.ttf
也可以嵌入到代码中:
from fontTools import subset
options = subset.Options() # dir(options)
font = subset.load_font('font.ttf', options)
subsetter = subset.Subsetter(options)
subsetter.populate(text = 'Google')
subsetter.subset(font)
options.flavor = 'woff'
subset.save_font(font, 'font.woff', options)
还可以通过点击以下的链接,在线直接生成。
在线生成压缩WOFF2字体文件
网友评论