簡介字型檔格式:TTF、EOT、WOFF、WOFF2
2 |
先前用 FontAwesome 時學到網頁字型檔格式是 woff/woff2,較早期 IIS 需加設 MIME Types 才能正確下載。前陣子查閱 Google Material Icons 文件,讀到一段字型檔放自家網站的 CSS 設定範例:
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url(https://example.com/MaterialIcons-Regular.eot); /* For IE6-8 */
src: local('Material Icons'),
local('MaterialIcons-Regular'),
url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'),
url(https://example.com/MaterialIcons-Regular.woff) format('woff'),
url(https://example.com/MaterialIcons-Regular.ttf) format('truetype');
}
嘩! 一口氣冒出 ttf、eot、woff、woff2 四種檔案型別。印象中都有看過,但不知其來歷及差異,這回就把冷知識補上吧。
由 CSS 設定應該不難推敲,會列這麼多格式是因應瀏覽器不支援時的 Fallback,並可推論,IE6-8 只吃 .eot、其他瀏覽器的偏好順序則為 woff2 > woff > ttf。
找到一篇完整比較:Understanding of Font Formats: TTF, OTF, WOFF, EOT & SVG
各格式的簡介如下:
- TrueType Font (TTF)
相信大家一定不陌生,ttf 是 Windows 跟 Mac OS 最常用的字型格式,由 Apple 及微軟發展,目的是要與 Adobe PostScript 字型分庭抗禮。幾乎主要瀏覽器都支援 TTF,除了老 IE (6-8)。
TTF 提供很基本的著作權保護 - 作者可標註是否可嵌入 PDF 或網站,容易破解是個問題。另一個問題是 TTF 檔未經壓縮,檔案偏大不利網路傳輸。 - OpenType Font (OTF)
Adobe 跟微軟聯手推出了 TTF 進化版 - OTF,能同時包含列印跟螢幕顯示字型,並支援多平台及擴充字元集,最多可容量 65,000 個字元,額外的空間讓設計師能放入小型大寫字母、古風體數字、替代字元... 等內容。 - Web Open Font Format (WOFF)
為 OTF/TFF 加上 Metadata 壓縮而成,為 Mozilla、微軟、Opera 一起為網站打造的字型格式,幾乎所有瀏覽器都支援。Metadata 可用於標示授權及版權事宜,它是 W3C 官方建議的字型格式。 - Web Open Font Format 2 (WOFF2)
第二代 WOFF,WOFF2 壓縮比更好,比 WOFF 再減少 30% 體積,目前各大瀏覽器都已支援,是當今網路字型的首選。 - Embedded Open Type (EOT)
微軟推出的網站用字型規格,有工具能將 TTF/OTF 轉為 EOT 格式,重點在於補強 TTF 版權保護的不足。EOT 透過壓縮跟 Subsetting 縮小體積,並藉由 Subsetting 與加密提供保護。聽起來不錯,但只能用在 IE,就讓我們忘了它吧。
Introduction to common web fonts: TTF, EOT, WOFF and WOFF2.
Comments
# by ChrisTorng
現在網站預設都有 gZip 壓縮,所以沒有壓縮的檔案還是以壓縮格式傳輸吧? 當然事前的壓縮可以用更好但更慢的壓縮演算法壓得更小一點。不過即使是已壓縮的檔案,傳檔時一樣還是再套用 gZip 壓縮後才傳?
# by Jeffrey
to ChrisTorng,每次傳輸重新壓一次解一次,整體效率還是有差。至於重複壓縮的議題,我把 .ttf 跟 .woff 想成 .bmp vs .png,這件事就交給伺服器跟瀏覽器自己去優化,不需要我來操心,呵。