WOFF(Web Open Font Format)是一種用於網頁裡的字型格式,支援OpenType和TrueType,可以使用zlib或是Zopfli來壓縮字型,大大地減少伺服器傳遞字型時損耗的網路流量。WOFF2(WOFF 2.0)是比較新穎的字型格式,擁有比WOFF還要更好的壓縮能力,使得字型檔案變得更小、更易於傳輸!如果想要在網頁裡,透過CSS的@font-face
功能來外嵌網路字體(Web Font),十分建議使用WOFF字型格式來達成。
OpenType和TrueType、OTF和TTF
TrueType是一種要曲線來描繪字體的字型格式,標準的副檔名為TTF。OpenType是可以同時使用PostScript(為一種建立向量圖形的程式語言,有許多良好的特性非常適合用於排版輸出)或是TrueType的字型格式,標準的副檔名為OTF。
以下例子均以17.3MB的NotoSansCJKtc-Regular.otf
來做轉檔例子。
將OTF或是TTF檔案轉成WOFF
sfnt2woff
在Linux上要將字型轉換成WOFF,可以使用sfnt2woff
指令工具來完成。
如果是使用Ubuntu或是其他基於Ubuntu的Linux發行版,可以使用以下指令來安裝:
紅帽系的Linux發行版,可以使用以下指令來安裝:
安裝之後,就可以使用sfnt2woff
指令來將字型檔案轉成WOFF格式,使用方式如下:
舉例來說,若要將目前工作目錄中的NotoSansCJKtc-Regular.otf
轉成NotoSansCJKtc-Regular.woff
,指令如下:
執行後要等個幾秒鐘,就會在工作目錄產生轉換好的NotoSansCJKtc-Regular.woff
檔案。
sfnt2woff
指令會使用zLib來壓縮字型,NotoSansCJKtc-Regular.woff
的檔案大小為14.4MB,比起原先的17.3MB,還小了約16.7%。若是使用Zopfli來壓縮字型,可以獲得更好的壓縮結果。
sfnt2woff-zopfli
至於要如何製作Zopfli壓縮的WOFF字型檔案,就要使用別的工具才行了。sfnt2woff-zopfli
是個不錯的指令工具,可以將OTF或是TTF檔案使用Zopfli壓縮來轉成WOFF字型檔案。
如果是使用Ubuntu或是其他基於Ubuntu的Linux發行版,可以使用以下指令來安裝:
紅帽系的Linux發行版,可以使用以下指令來安裝:
sfnt2woff-zopfli
指令的用法和sfnt2woff
相同,如下:
將NotoSansCJKtc-Regular.otf
轉成NotoSansCJKtc-Regular.woff
,可能會需要幾分鐘的時間,比sfnt2woff
還緩慢許多。最後產生出來的NotoSansCJKtc-Regular.woff
,檔案大小為14.3MB,比起原先的17.3MB,還小了約17.3%,效果比用zLib壓縮的sfnt2woff
指令還好一點點。
將OTF或是TTF檔案轉成WOFF2
在Linux上要將字型轉換成WOFF2,可以使用woff2_compress
指令工具來完成。
如果是使用Ubuntu或是其他基於Ubuntu的Linux發行版,可以使用以下指令來安裝:
紅帽系的Linux發行版,可以使用以下指令來安裝:
woff2_compress
指令的用法和sfnt2woff
相同,如下:
將NotoSansCJKtc-Regular.otf
轉成NotoSansCJKtc-Regular.woff2
,可能會需要花上幾分鐘的時間,比sfnt2woff
甚至是sfnt2woff-zopfli
還緩慢許多。最後產生出來的NotoSansCJKtc-Regular.woff2
,檔案大小為12.1MB,比起原先的17.3MB,還小了約29.8%,效果卓越。
如果使用一般壓縮軟體來壓縮字型的話,比如使用rar並加上-m5
參數,來達成將字型壓縮成最小的NotoSansCJKtc-Regular.otf.rar
,得到的檔案大小為12.7MB,還比能直接進行字型套用的WOFF2字型格式檔案還要大!各大瀏覽器現都支援WOFF2了,如果有用到網頁字型的話,強烈建議直接使用WOFF2。