可变字体
OpenType可变字体(英语:OpenType variable fonts)是字体格式OpenType在1.8版规范中引入的扩展规范,由苹果、微软、谷歌和Adobe联合开发,于2016年9月14日正式发布。支持这一规范的计算机字体可以储存轮廓变化数据,在初始字形轮廓的基础上自动生成丰富的变化造型,使用户可以自由调整文字的外观[1][2]。
历史
对于可变字体技术的探索始于20世纪90年代。Adobe曾于1991年推出多重母版技术,苹果也随后推出TrueType GX可变技术,但因为苹果和Adobe等企业之间的相互竞争等诸多原因,这些技术都没有得到广泛的应用[2][3]。2013年左右,微软开始对可变字体技术的研究,并于2015年获得苹果支持,将其TrueType GX可变技术整合到OpenType中。2016年1月,谷歌开发者贝赫达德·埃斯法赫博德独立发表了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]。
Apple在macOS 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]增加了对可变字体的支持,并提供了Acumin、Minion、Myriad、Source Code、Source Sans及Source Serif的可变版本。
字体
微软在Windows 10版本1709中内置了名为“Bahnschrift”的可变字体,其字形来源于DIN 1451[16]。
谷歌开发的Noto字体系列支持可变字体[17]。谷歌和Adobe共同开发的思源黑体(Google称Noto Sans CJK)亦于2.003版起支援可变字体。
参考资料
- ^ OpenType font variations. www.microsoft.com. [2019-08-30].[失效链接]
- ^ 2.0 2.1 2.2 2.3 2.4 谭沛然. 参数化设计与字体战争:从OpenType 1.8说起. The Type. [2019-08-30]. (原始内容存档于2021-02-23).
- ^ 3.0 3.1 Rickner, Tom. Part 1: from TrueType GX to Variable Fonts. Monotype. [2019-08-31]. (原始内容存档于2020-11-07).
- ^ Brown, Tim. Variable fonts, a new kind of font for flexible design. Adobe Typekit Blog. Adobe. [2019-08-31]. (原始内容存档于2020-10-27).
- ^ Hudson, John. Introducing OpenType Variable Fonts. Medium. Tiro Typeworks. [2019-08-30]. (原始内容存档于2018-01-30).
- ^ What's new in DirectWrite - Win32 apps. learn.microsoft.com. 4 October 2021 [21 March 2024]. (原始内容存档于2024-05-21) (美国英语).
- ^ 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) (英语).
- ^ Using Built-in Variable Font on Android - 回音的博客. echo.moe. [21 March 2024].
- ^ Franks, Rebecca. Variable Fonts in Android O 🖍. Over Engineering. 2 May 2018 [21 March 2024]. (原始内容存档于2024-03-27) (英语).
- ^ Variable Fonts – Support. v-fonts.com. [21 March 2024]. (原始内容存档于2024-05-24).
- ^ CTFontDescriptorCreateCopyWithVariation. Apple Developer Documentation. [21 March 2024]. (原始内容存档于2024-03-21).
- ^ Davis, Jon. New WebKit Features in Safari 11. WebKit. 22 September 2017 [2024-03-21]. (原始内容存档于2017-09-30).
- ^ FreeType 2.8 Completes OpenType Variation Fonts Support - Phoronix. www.phoronix.com. [2024-03-21]. (原始内容存档于2022-06-21).
- ^ Feature summary | Photoshop | 2018 releases. Adobe. [2019-08-31]. (原始内容存档于2020-11-11).
- ^ Feature summary | Illustrator | 2018 releases. Adobe. [2019-08-31]. (原始内容存档于2019-08-31).
- ^ Sarkar, Dona. Announcing Windows 10 Insider Preview Build 16273 for PC. Windows Blog. Microsoft. [2019-08-31]. (原始内容存档于2017-09-05).
- ^ Noto可變字體.