在網頁的製作中,某些地方比如標題用到了諸如方正蘭亭黑這樣的特殊字體,而這些字體在訪問網頁的操作系統中往往是沒有的,爲了能正確顯示字體,通常有兩種做法,一種是將標題以圖片形式保存,另外一種是在打開網頁的時候,通過網絡加載字體文件。這兩種做法都會增加網頁的大小,耗費網絡帶寬。最好將原有的字體文件裁剪一下,做成一個只包含這幾個文字的子集,然後再通過網絡加載這個縮小後的字體文件,就能大大節省網絡傳輸量。
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字體文件