很多網站都在解釋如今該使用哪種字體最好,但其中一些提供的資訊並不準確,反而讓人更加困惑。這裏我們澄清真正重要的事。
世界上一半以上的人口每天使用字體。大多數人不在乎內部細節,但有些人想知道 TrueType 和 OpenType 之間是否有區別,或者他們是否可以根據文件擴展名決定哪種字體最好。
本文旨在揭穿互聯網上流傳的關於字體格式的神話和錯誤資訊。例如:
| 來源 | 聲明/資訊 | 結論 |
|---|---|---|
| 356labs – OTF vs TTF? 有什麼區別? | 帶有 .ttf 文件擴展名的字體比 OTF 相對較舊 | 錯誤 |
| MakeUseOf – OTF vs. TTF 字體:哪個更好? | 讓您相信 TrueType 字體是 ttf,OpenType 字體是 otf | 誤導性 |
讓我們從一些相關的定義和關於可縮放字體技術的背景資訊開始:
Adobe 於 1984 年推出了 PostScript Type 1。它在桌面出版商中變得非常流行,但已被淘汰超過十年。
TrueType 由 Apple 在 1980 年代末發明,作為 Adobe 的 PostScript Type 1 的競爭產品。它自 1991 年起可用(Apple 的 Macintosh System 7)。Apple 免費向 Microsoft 許可 TrueType,並於 1992 年在 Microsoft Windows 3.1 上可用。
1994 年,Microsoft 開發了 TrueType Open。它由 Microsoft 和 Adobe 共同進一步改進,於 1996 年成為 OpenType。它是 TrueType 字體格式的擴展,保留了其基本結構,並添加了許多數據結構來規定排版行為,例如連字、小型大寫字母和舊式數字,這使字體創作者能夠設計更好的國際和高端排版字體。雖然 TrueType 只允許 TrueType 輪廓,但 OpenType 也支援基於緊湊字體格式的輪廓(CFF 是 Type 1 字體的變體)。OpenType 解決了 Macintosh 和 Windows 計算機之間的許多兼容性問題。OpenType 中的多主支援自規範版本 1.3 起已停止,但自 2016 年起它支援字體變體(見下文)。
OpenType 字體集合(以前稱為 TrueType 集合)是在單個文件結構中提供多個 OpenType 字體資源的一種方式。
2016 年,OpenType 規範中添加了對字體變體的支援。它允許在單個字體資源中包含字體族內的多個字體,因此例如細體、常規、粗體和重型以及壓縮和擴展可以包含在單個字體文件中,此外,它還允許沿包含的設計軸進行連續變化。輪廓格式可以是基於 TrueType 或 CFF 的,但對於基於 CFF 的,引入了新的內部 CFF2 表以支援可變字體。由於此 CFF2 表不向後兼容,大多數字體設計師製作基於 TrueType 的可變字體。
網絡開放字體格式(WOFF 和 WOFF2 版本)是一種封裝格式,封裝了 TrueType 字體、OpenType 字體、OpenType 字體集合或可變字體。WOFF2 基本上等於 WOFF,但具有更好的壓縮。兩者都在所有主要網絡瀏覽器中實現,儘管舊的網絡瀏覽器可能只支援 WOFF,或者根本不支援網絡字體。
您可以爭辯説 OpenType 字體都是包含額外數據結構的 TrueType 字體。我們更願意將 OpenType 視為一種新格式,當然它基於 TrueType,但它並不相同。
如果您同意此定義,那麼可以安全地説所有現代計算機主要附帶 OpenType 字體。互聯網上仍然有許多舊字體在流傳,它們內部僅包含原始 TrueType 字體規範中定義的數據結構,但最好避免使用它們,因為它們不再符合今天的設計標準。
如果您想繼續對所有 OpenType 字體使用術語 TrueType,那有什麼用?它不會澄清任何事情。
如果您想將帶有基於 TrueType 輪廓的字體稱為 TrueType,將帶有基於 CFF 輪廓的字體稱為 OpenType,那完全是錯誤的。不要這樣做,而是再次閲讀本文。
PostScript Type 1 和 TrueType 字體都不再製作。所有新發布的字體都是 OpenType 字體,就這樣。但為什麼人們仍然提到 ttf 和 otf?
可能是因為他們認為可以根據字體的文件擴展名來區分內部輪廓格式。這完全是錯誤的,所以讓我們來解釋一下。
關於字形輪廓格式,OpenType 字體有以下幾種類型:
大約 25 年前,Microsoft 認為繼續允許原始 TrueType 字體文件擴展名"ttf"是明智的,主要是出於兼容性原因,但僅適用於帶有基於 TrueType 輪廓的 OpenType 字體。引入了新的字體文件擴展名"otf",並且允許用於兩種字體類型。
由於以 .otf 結尾的文件可以是帶有基於 TrueType 輪廓的 OpenType 字體,也可以是帶有基於 CFF 輪廓的 OpenType 字體,因此文件擴展名不應用於區分上述 OpenType 字體類型。還要注意,如果您採用現有字體並將文件擴展名從 .otf 更改為 .ttf,它的行為仍然相同,因此文件擴展名毫無意義!
以下是官方 OpenType 規範對此的説明:
"在所有情況下,軟件必須根據文件內容而不是文件擴展名來確定字體中存在的輪廓類型。"
字體供應商通常提供多個字體資源供選擇。這使得很難判斷應該使用哪一個。那麼,什麼很重要?
光柵化器獲取字形輪廓並將其輸出到設備上。輸出效果的好壞主要取決於光柵化器、輪廓、字體大小和可選的微調。字體在高分辨率顯示器上和打印時通常看起來很棒,但在過時的網絡瀏覽器中查看時可能看起來很糟糕。因此,您需要什麼質量的字體和什麼輪廓格式取決於您的需求。
字體的另一個非常重要的部分是 OpenType 功能,因為它們使文本處理應用程式能夠改進文本佈局。其中一些高級排版功能對於複雜腳本字體(如阿拉伯語)至關重要,而其他功能則在桌面出版和排版軟件(如 Adobe InDesign)中使用,以啟用字體中可用的特定字符變體。並非所有軟件都支援所有 OpenType 佈局功能,因此並非所有功能在所有軟件中都可瀏覽。
以下是標識字體特定特徵的內部字體表的技術摘要:
| 特徵 | 純 TrueType | OpenType TT | OpenType CFF |
|---|---|---|---|
| OS/2 版本 0 或 1 (OS/2) | 是 | 否 | 否 |
| OS/2 版本 3+ (OS/2) | 否 | 是 | 是 |
| 基於 TrueType 的輪廓 (glyf 和 loca) | 是 | 是 | 否 |
| 基於 CFF 的輪廓 (CFF 或 CFF2) | 否 | 否 | 是 |
| OpenType 功能 (BASE, GDEF, GPOS, GSUB, JSTF) | 否 | 可選 | 可選 |
| 桌面文件擴展名 | .ttf | .ttf 或 .otf | .otf |
| 網絡文件擴展名 | 不適用 | .woff 或 .woff2 | .woff 或 .woff2 |
由於所有這些資訊都深埋在字體資源內部,因此使用字體管理器(如 MainType)要方便得多:
然後您可以確保您使用的是字體的最新版本,該版本帶有最新的 OpenType 佈局功能。
如果人們告訴您使用 OTF 而不是 TTF,他們可能不知道他們在説什麼。如果他們指的是文件擴展名,或者 OpenType 與 TrueType,或者內部輪廓格式(基於 TrueType 的輪廓與緊湊字體格式輪廓),請將他們指向本文,因為這不是 OTF 和 TTF 的內容。如果他們希望您使用包含 OpenType 佈局功能的字體,那麼他們應該談論這一點。
純 TrueType 字體是遺留字體,應該避免使用。我們喜歡將 TrueType 字體比作正方形,而 OpenType 在其頂部添加了一個頂點。有了這個新維度,它將正方形變成了金字塔。當然底部仍然是正方形,但是當您看到金字塔時,您會稱它為正方形嗎?
因此,字體文件擴展名毫無意義。您需要調查字體內部以確保使用什麼輪廓格式以及字體附帶什麼 OpenType 佈局功能。我們建議使用字體管理器(如 MainType)來檢查您的字體。當您可以選擇帶有基於 TrueType 輪廓的字體和帶有基於 CFF 輪廓的字體時,請選擇具有最佳語言支援和足夠 OpenType 佈局功能的字體。如果您使用 Word,明智的做法是使用帶有基於 TrueType 輪廓的 OpenType 字體,因為這些字體可以嵌入到導出的 PDF 文件中。