variable font

{{Short description|Font file with many design variants}}

{{missing information|Registered axes|date=February 2021}}

{{Use dmy dates|date=April 2017}}

File:Recursive font cube.png of two cubes]]

A variable font (VF) is a font file that is able to store a continuous range of design variants. An entire typeface (font family) can be stored in such a file, with an infinite number of fonts available to be sampled.

The variable font technology originated in Apple's TrueType GX font variations. The technology was adapted to OpenType as OpenType variable fonts (OTVF) in version 1.8 of the OpenType specification.{{cite web|last1=Phinney|first1=Thomas|title=Variable Fonts Are the Next Generation|url=https://www.commarts.com/columns/variable-fonts-are-the-next-generation|website=Communication Arts|date=February 2017|access-date=20 September 2017}}{{cite web|last1=Phinney|first1=Thomas|title=The Lesson of Color Fonts for Variable Fonts|url=http://www.thomasphinney.com/2016/09/color-fonts-lesson-for-variable/|website=thomasphinney.com|date=14 September 2016|access-date=20 September 2017}} The technology was announced by Adobe, Apple, Google, and Microsoft in September 2016. Making such a feature standardized in OpenType paved the way for support in many software platforms.{{cite web|url=https://www.microsoft.com/en-us/Typography/FontVariationsAnnouncement.aspx|title=Introducing OpenType Font Variations|website=www.microsoft.com}}{{cite web|url=https://drafts.csswg.org/css-fonts-4/|title=CSS Fonts Module Level 4|website=drafts.csswg.org}}{{cite web|last1=Nieskens|first1=Roel|title=Variable Fonts: the Future of (Web) Type|url=http://typographica.org/on-typography/variable-fonts/|website=Typographica|access-date=31 October 2016}}{{cite web|last1=Hudson|first1=John|title=Introducing OpenType Variable Fonts|url=https://medium.com/@tiro/https-medium-com-tiro-introducing-opentype-variable-fonts-12ba6cd2369#.josnafajq|website=Medium|publisher=Tiro Typeworks|access-date=31 October 2016}}

Variable fonts should not be confused with variable-width fonts. A variable font may be either variable-width or fixed-width.{{cite web |last1=Beckwith |first1=Kate |title=Ubuntu's new variable fonts |url=https://typenetwork.com/articles/ubuntus-new-variable-fonts |website=TypeNetwork |access-date=8 August 2024}}

Technology

OpenType variable fonts are an adaptation of Apple's TrueType GX font variations to OpenType, with integration into key aspects of the OpenType format including OpenType Layout tables and both TrueType and CFF glyph outline formats. It also surpasses TrueType GX by providing better interoperability, both between different fonts, and between variable fonts and font-formatting specifications such as those found in Cascading Style Sheets. The technology allows software to access any design instance for a continuous range of designs defined within the font. When a specific design instance has been selected, the glyph outlines or other data values for that design instance are computed as font data is being processed during text layout and rasterization.

The technology uses interpolation and extrapolation mechanisms that have been supported in font-development tools and used by font designers for many years.{{cite web|last1=Griscti|first1=Jessica|title=Jess Loves Interpolation|url=http://www.alphabettes.org/jess-loves-interpolation/|website=Alphabettes|access-date=15 May 2016}} In that paradigm, the font designer creates a variable design, but then chooses specific instances to generate as static, non-variable fonts that get distributed to customers. With variable fonts, however, the font produced and distributed by the font designer can have built-in variability, and the interpolation mechanisms can now be built into operating systems and Web browsers or other applications, with specific design instances selected at time of use.

One of the key benefits of the technology is that it can significantly reduce the combined size of font data whenever multiple styles are in use. On the Web, this may allow a site to use more font styles while at the same time reducing page load times. A further benefit is that it gives access to a continuous range of style variations, which can provide benefits for responsive design.

The technology has been compared to Adobe's multiple master fonts (MM fonts) technology, also from the 1990s, which used on-the-fly generation of font designs from master files by interpolation and extrapolation.{{cite book|title=Designing Multiple Master Typefaces|date=1997|publisher=Adobe Systems|location=San José|url=https://partners.adobe.com/public/developer/en/font/5091.Design_MM_Fonts.pdf|archive-url=https://web.archive.org/web/20050128015956/https://partners.adobe.com/public/developer/en/font/5091.Design_MM_Fonts.pdf|url-status=dead|archive-date=2005-01-28|access-date=20 September 2017}}{{cite web|last1=Riggs|first1=Tamye|title=The Adobe Originals Silver Anniversary Story|url=http://blog.typekit.com/2014/07/30/the-adobe-originals-silver-anniversary-story-how-the-originals-endured-in-an-ever-changing-industry/|website=Typekit blog|publisher=Adobe|access-date=2 July 2015}}{{cite web|title=The Adobe Originals Silver Anniversary Story: Expanding the Originals|url=http://blog.typekit.com/2014/06/30/the-adobe-originals-silver-anniversary-story-expanding-the-originals/|website=Typekit|publisher=Adobe Systems|access-date=8 January 2016}}{{cite web|last1=Phinney|first1=Thomas|title=Font Remix Tools (RMX) and Multiple Master Fonts in type design|date=18 March 2010|url=http://www.thomasphinney.com/2010/03/font-remix-tools-rmx-and-multiple-master-fonts-in-type-design/|publisher=Phinney|access-date=4 July 2015}} Multiple master fonts, however, required the user to generate a specific "instance" of the font for particular variation-axis values before it could be used. This is not required for OpenType variable fonts, however: named or arbitrary design instances can be selected and used on demand.

Adoption

= Operating systems =

In Windows 10, version 1709 (or known as "Windows 10 Fall Creators Update") released in 2017, official support for variable fonts is provided by Microsoft,{{cite web |title=What's new in DirectWrite - Win32 apps |url=https://learn.microsoft.com/en-us/windows/win32/directwrite/what-s-new-in-directwrite-for-windows-8-consumer-preview#initial-support-for-opentype-font-variations |website=learn.microsoft.com |access-date=21 March 2024 |language=en-us |date=4 October 2021}} along with the first variable font in Windows: the "Bahnschrift" font, which is a digitisation of DIN 1451.{{cite web|title=Introducing the Bahnschrift font|url=https://blogs.windows.com/windowsexperience/2017/08/23/announcing-windows-10-insider-preview-build-16273-pc/|website=Windows Blog|date=23 August 2017|publisher=Microsoft|access-date=28 August 2017}}{{cite web|last1=Protalinski|first1=Emil|title=Microsoft releases new Windows 10 preview with shell, Edge, and input improvements|url=https://venturebeat.com/2017/08/23/microsoft-releases-new-windows-10-preview-with-shell-edge-and-input-improvements/|website=VentureBeat|date=23 August 2017|access-date=28 August 2017}} However, support for CFF2 fonts using OpenType outlines had caused issues with Windows text rendering engine, sometimes making UI text blank out; this was later fixed in 2023 with the KB5032278 update.{{cite web |title=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 |url=https://github.com/adobe-fonts/source-han-sans/issues/290 |website=GitHub |access-date=21 March 2024 |language=en}}

Android started to provide variable font support for mobile app developers in Android Oreo{{cite web |title=Using Built-in Variable Font on Android - 回音的博客 |url=https://echo.moe/using-built-in-variable-font-on-android/ |website=echo.moe |access-date=21 March 2024}} or API level 26.{{cite web |last1=Franks |first1=Rebecca |title=Variable Fonts in Android O 🖍 |url=https://medium.com/over-engineering/variable-fonts-in-android-p-c5c918275646 |website=Over Engineering |access-date=21 March 2024 |language=en |date=2 May 2018}}

Apple provided variable font support in its operating system since macOS 10.5/iOS 3.2,{{cite web |title=Variable Fonts – Support |url=https://v-fonts.com/support |website=v-fonts.com |access-date=21 March 2024}} but usage in Safari through WebKit only comes in macOS 10.13/iOS 11 with Safari 11.{{cite web |title=CTFontDescriptorCreateCopyWithVariation |url=https://developer.apple.com/documentation/coretext/1508650-ctfontdescriptorcreatecopywithva?language=objc |website=Apple Developer Documentation |access-date=21 March 2024}}{{cite web |last1=Davis |first1=Jon |title=New WebKit Features in Safari 11 |url=https://webkit.org/blog/7956/new-webkit-features-in-safari-11/ |website=WebKit |date=22 September 2017}}

FreeType, the font rendering program used by most Unix-like systems including Linux, received variable font support in May 2017 (FreeType 2.8).{{cite web |title=FreeType 2.8 Completes OpenType Variation Fonts Support - Phoronix |url=https://www.phoronix.com/scan.php?page=news_item&px=FreeType-2.8-Released |website=www.phoronix.com}}

= Editors =

Adobe Creative Cloud 2018 version, released 18 October 2017, includes support for variable fonts in Photoshop{{cite web|url=https://helpx.adobe.com/photoshop/using/whats-new.html#Variablefonts|title=New features summary {{pipe}} October 2017 release of Photoshop CC|access-date=19 October 2017}} and Illustrator{{cite web|url=https://helpx.adobe.com/illustrator/using/whats-new.html#Variablefonts|title=New features summary {{pipe}} October 2017 release of Illustrator CC|access-date=19 October 2017}} and includes variable concept versions of the fonts Acumin, Minion, Myriad, Source Code, Source Sans, and Source Serif.

Creative Cloud 2020 has added variable font support for InDesign.{{Cite web|url=https://indesignsecrets.com/whats-new-with-indesign-cc-2020.php|title=What's New with InDesign 2020? | CreativePro Network|date=4 November 2019}}

Inkscape version 1.0 has added variable font support.{{cite web|access-date=2020-07-01|title=Introducing Inkscape 1.0|url=https://inkscape.org/news/2020/05/04/introducing-inkscape-10/|website=inkscape.org}}

LibreOffice version 7.5 has added variable font support.{{Cite web |url=https://wiki.documentfoundation.org/ReleaseNotes/7.5 |title=LibreOffice 7.5: Release Notes |publisher=The Document Foundation's Wiki |access-date=3 February 2023 }}

= Browsers =

Variable fonts are controlled in the web browser using both existing properties for well-known options such as weight and a raw {{code|font-variation-settings}} control. Refer to the MDN pages of the CSS property for support history.{{cite web |title=Variable fonts guide - CSS: Cascading Style Sheets |url=https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide |website=MDN}}

References

{{Reflist}}