v143 · miscellaneous

Implement CSS property font-language-override

This feature introduces support for the font-language-override CSS property in Chromium. The property allows developers to override the system language used for OpenType glyph substitution by specifying a four-character language tag directly in CSS.

concepts

  1. Language Override

    Live stage: pick a font and OpenType language tag and compare the default rendering with the font-language-override result on the same sample text.

  2. Multilingual paragraph

    One paragraph mixing Polish, Bulgarian, Dutch, Turkish — each segment scoped to its own override so OpenType locl rules apply correctly even when the lang attribute can't be cleanly tagged.

  3. Glyph variant explorer

    A 7-cell matrix showing the same string rendered under every OpenType language tag (Polish, German, Dutch, Turkish, Bulgarian, Catalan, default). Type to compare; pick a font to see how each typeface's locl table differs.

  4. Typography Comparator

    Side-by-side rendering panels — left without font-language-override, right with it set. A language selector covers Serbian Cyrillic, Turkish, Azeri, Romanian, and Moldavian. Zoom control, normal/italic toggle, and a "Show diff" overlay apply a wavy underline to distinctive characters, with per-language notes explaining which glyphs differ and why.

why it shipped

Currently, Chromium relies on system-level language settings for OpenType glyph substitution, which may not always align with the author's intent. By exposing font-language-override at the CSS level, developers gain direct control over language-specific font behavior, improving rendering accuracy and consistency across platforms. This feature is already supported in Firefox, enhancing interoperability.

references