可變字體

OpenType可變字體(英語:OpenType variable fonts)是字體格式OpenType在1.8版規範中引入的擴展規範,由蘋果微軟谷歌Adobe聯合開發,於2016年9月14日正式發布。支持這一規範的計算機字體可以儲存輪廓變化數據,在初始字形輪廓的基礎上自動生成豐富的變化造型,使用戶可以自由調整文字的外觀[1][2]

方正蘭亭黑的可變字體版本,字重可以自由變化

一個可變字體文件可以儲存一個設計的多個變體,相當於是包含了一個含有無數個字型字體

歷史

對於可變字體技術的探索始於20世紀90年代。Adobe曾於1991年推出多重母版英語Multiple master fonts技術,蘋果也隨後推出TrueType GX可變技術,但因為蘋果和Adobe等企業之間的相互競爭等諸多原因,這些技術都沒有得到廣泛的應用[2][3]。2013年左右,微軟開始對可變字體技術的研究,並於2015年獲得蘋果支持,將其TrueType GX可變技術整合到OpenType中。2016年1月,谷歌開發者貝赫達德·埃斯法赫博德英語Behdad Esfahbod獨立發表了OpenType GX提案,微軟與蘋果團隊隨後與其聯繫。同年2月,項目獲得Adobe支持,微軟、蘋果、谷歌、Adobe開始聯合開發[2]。在同年9月14日於波蘭華沙召開的第60屆ATypI研討會上,OpenType可變字體隨OpenType 1.8版正式發布[2][4]

技術

OpenType可變字體以TrueType GX可變技術為基礎,將其集成到OpenType格式的各個方面[5]。TrueType GX的工程師邁克·里德(Mike Reed)提出通過記錄字形輪廓點的變化量來實現字形的插值變化。相比於多重母版技術需要從極端值的母版中插值生成字形,可變字體繼承自TrueType GX的策略可以從變化區間中的任意一種設計開始擴展,並且不同的字形變化(如字重和寬度)可以疊加,不需要另外新增設計。此外,變化量數據占用的存儲空間很小,這一策略可以顯著減小字體家族的整體體積[2][3]。這使得網頁等場合在可以使用更多字體樣式的同時減少頁面加載的時間。

該技術對比Adobe於1990年代發明的多重母版字型(英語:multiple master fonts,簡稱「MM字體」)十分相似,即使用母版字體實時插值和擴展新字體。MM字體需要用戶提前插值生成字體才可以使用,但是OpenType可變字體並不需要提前生成插值字體。

支持

操作系統

微軟於Windows 10版本1709(或稱「Windows 10 秋季創作者更新」)內開始支援可變字體[6],但該更新對使用CFF2的OpenType曲線格式可變字體並不完善,使用該類可變字體時文字渲染引擎可能會崩潰導致系統文字顯示空白;該問題之後在2023年的KB5032278更新解決[7]

Android 在 Android Oreo[8]或API 26級起提供接口給應用程序開發者使用可變字體[9]

ApplemacOS 10.5/iOS 3.2操作系統就已提供可變字體支援[10],但是Safari瀏覽器的支援只有 在macOS 10.13/iOS 11的Safari 11通過WebKit支持[11][12]

絕大部分類Unix系統包括Linux使用的FreeType渲染引擎在2017年5月的2.8版中更新可變字體支援[13]

編輯軟件

Adobe Creative Cloud 2018版本中的Photoshop[14]Illustrator[15]增加了對可變字體的支持,並提供了AcuminMinionMyriadSource CodeSource SansSource Serif的可變版本。

字體

微軟在Windows 10版本1709中內置了名為「Bahnschrift」的可變字體,其字形來源於DIN 1451[16]

谷歌開發的Noto字體系列支持可變字體[17]。谷歌和Adobe共同開發的思源黑體(Google稱Noto Sans CJK)亦於2.003版起支援可變字體。

參考資料

  1. ^ OpenType font variations. www.microsoft.com. [2019-08-30]. [失效連結]
  2. ^ 2.0 2.1 2.2 2.3 2.4 譚沛然. 参数化设计与字体战争:从OpenType 1.8说起. The Type. [2019-08-30]. (原始內容存檔於2021-02-23). 
  3. ^ 3.0 3.1 Rickner, Tom. Part 1: from TrueType GX to Variable Fonts. Monotype. [2019-08-31]. (原始內容存檔於2020-11-07). 
  4. ^ Brown, Tim. Variable fonts, a new kind of font for flexible design. Adobe Typekit Blog. Adobe. [2019-08-31]. (原始內容存檔於2020-10-27). 
  5. ^ Hudson, John. Introducing OpenType Variable Fonts. Medium. Tiro Typeworks. [2019-08-30]. (原始內容存檔於2018-01-30). 
  6. ^ What's new in DirectWrite - Win32 apps. learn.microsoft.com. 4 October 2021 [21 March 2024]. (原始內容存檔於2024-05-21) (美國英語). 
  7. ^ Source Han Sans CFF2 VF (or any CFF2 font) causes Windows text rendering to blank out (Windows 10 and 11) · Issue #290 · adobe-fonts/source-han-sans. GitHub. [21 March 2024]. (原始內容存檔於2024-03-21) (英語). 
  8. ^ Using Built-in Variable Font on Android - 回音的博客. echo.moe. [21 March 2024]. 
  9. ^ Franks, Rebecca. Variable Fonts in Android O 🖍. Over Engineering. 2 May 2018 [21 March 2024]. (原始內容存檔於2024-03-27) (英語). 
  10. ^ Variable Fonts – Support. v-fonts.com. [21 March 2024]. (原始內容存檔於2024-05-24). 
  11. ^ CTFontDescriptorCreateCopyWithVariation. Apple Developer Documentation. [21 March 2024]. (原始內容存檔於2024-03-21). 
  12. ^ Davis, Jon. New WebKit Features in Safari 11. WebKit. 22 September 2017 [2024-03-21]. (原始內容存檔於2017-09-30). 
  13. ^ FreeType 2.8 Completes OpenType Variation Fonts Support - Phoronix. www.phoronix.com. [2024-03-21]. (原始內容存檔於2022-06-21). 
  14. ^ Feature summary | Photoshop | 2018 releases. Adobe. [2019-08-31]. (原始內容存檔於2020-11-11). 
  15. ^ Feature summary | Illustrator | 2018 releases. Adobe. [2019-08-31]. (原始內容存檔於2019-08-31). 
  16. ^ Sarkar, Dona. Announcing Windows 10 Insider Preview Build 16273 for PC. Windows Blog. Microsoft. [2019-08-31]. (原始內容存檔於2017-09-05). 
  17. ^ Noto可變字體. 

外部連結