背景介紹
早期電腦顯示的字體都是點陣字體,通過像素點標記字符,這種方式節省電腦運算量,但顯示效果差,字體一旦放大就出現鋸齒甚至馬賽克問題。1980年代中期,蘋果公司推出 Macintosh 電腦(Mac系列早期型號),在文字處理上使用新的矢量字體取代點陣字體,在文字顯示效果上獨領風騷。為了支持矢量字體,蘋果定義了一套標準的字體數據結構格式:SFNT[1]。平滑的字體技術加上獨立設計的新字體,也成為 Macintosh 暢銷的賣點之一。
SFNT 發布后,Adobe公司緊接著發布了 Type 1 PostScript 字體,通過與 PostScript 系列工具的整合搶占市場。為了對抗 Adobe 的 PostScript,蘋果設計開發了 TrueType 字體,后來微軟也加入了 TrueType 的開發。事情后來的發展違背了蘋果的預期,微軟成功的把 TrueType 全面集成到 Windows3.1 中,而 Macintosh 電腦上卻是 PostScript 成為主導字體。
1991年,微軟與 Monotype 公司合作,制作了一批高質量 TrueType 字體,同時兼容PostScript字體集成進 Windows。
1994年,微軟開發了 TrueType Open “智能字體”技術。
TrueType字體文件后綴名(*.ttf)
1996年,Adobe公司加入 TrueType Open 的開發,隨后 TrueType Open 與 Adobe Type 1 合并并成立新項目:OpenType。
OpenType字體文件后綴名(*.otf)
1997年,微軟發布的IE4中支持將壓縮后的 OpenType 文件嵌入到瀏覽器(Embedded OpenType)的技術[4]。這標志這瀏覽器使用特定字體能力的開始。
Embedded OpenType字體文件后綴名(*.eot)
2006年,瀏覽器紛紛開始支持主流的 OpenType 字體標準。
2007年,OpenType 成為 ISO 標準,以ISO/IEC 14496-22發布。
2008年,W3C委員會拒絕了微軟提出的將Embedded OpenType字體作為標準的提案。
2009年,Mozilla 開始測試一種 OpenType 的字體壓縮技術:Web Open Font Format(簡稱WOFF)。同年,Mozilla、Opera、微軟共同向W3C提交 WOFF提案。
Web Open Font Format字體文件后綴名(*.woff)
2010年,W3C將WOFF發布為草案,并進行推廣 。
WOFF 壓縮格式的2個特點:
- 利用壓縮技術有效減小文件大小。
- 不加密、不受DRM(數字著作權)限制。
2014年,WebFont 工作組發布了 WOFF2 草案。同年,Chrome 38 版本移除了對 SVG 字體的支持。
2018年,WOFF2標準成為 W3C 推薦標準。
瀏覽器兼容性
瀏覽器字體引用方式
目前的字體庫主要通過字體工具生成(比如 百度字體工具),并直接使用字體工具提供的CSS引用方法。字體工具為了兼容,會包含不同的字體文件,典型的引用方式如圖
而實際上,考慮到 woff2 在瀏覽器的兼容性上已經表現的足夠好。完全可以只使用 woff2 這一種字體。當然,如果你還要兼容IE,那么還需要使用eot字體。
結論
- eot:IE系列專屬字體方案,不推薦。
- svg:不是真的字體,存在很多兼容問題,已經被大部分瀏覽器拋棄,不推薦。
- ttf:兼容性好,但是字體文件較大 ,不推薦。
- woff:W3C標準,兼容性好,推薦。
- woff2:W3C標準,但是不兼容IE,推薦。
備注:在IE上其實可以使用退化兼容方案,也就是在頁面中只使用 woff2 字體,IE不識別,無法使用,也僅是使用瀏覽器默認字體,不影響頁面功能。
引用
[1] https://zh.wikipedia.org/wiki/SFNT
[2] https://zh.wikipedia.org/wiki/TrueType
[3] https://www.iso.org/standard/43466.html
[4] https://en.wikipedia.org/wiki/Web_typography#History
[5] https://web.archive.org/web/20100309062544/http://people.mozilla.org/~jkew/woff/woff-spec-latest.html