


hb-shape and hb-view now accept -variations. Implement OpenType Font Variation tables avar/fvar/HVAR/VVAR.

Variations are handled in the Pango font description while features are handled by setting attributes. Pango uses a different mechanism for handling variations from 'font-feature-settings'. But this is used only to get glyph positions. Pango passes the font variation info onto HarfBuzz via hb_font_set_variations() in pangofc-shape.c for shaping. In principle this works with FreeType 2.8 but I seemed to need 2.9 to get it to work. Using the descriptor does not have the 'variation' axes set. Pango_fc_font_lock_face() (which calls pango_ft2_font_get_face()) Pango handles font variations via the Pango Font Description however the FreeType font retrieved via: Axes values are not yet clamped to allowed range. Needs fixing (incorrect parsing, parsing not robust against variations in white-space). Reading of 'font-variation-settings' implemented. Linked to recent libraries, Inkscape can use "named" variations out-of-the box (i.e., one font file provides multiple styles).

This is the same stuff we'll use in inkscape soon. Test file Google's FontView proof-of-conceptįontView is a demo program written by Google engineers to demonstrate the variable font technologies recently added to harfbuzz and freetype. Note: Chrome also supports 'font-weight' values that are not multiples of 100 (CSS Fonts Level 4 changes the allowed values of 'font-weight' to include all integers from 1 to 1000): Firefox: In Nightly but must be enabled.įirefox nightly does not support "named" variations.CSS Fonts Level 4 'font-variation-settings' property.Our font rendering stack now includes support for font variations (harfbuzz (1.4), pango (1.41.1), freetype (2.8/2.9). For an more information see this tutorial. Fonts with Variations allow one to change the font appearance (weight, spacing, etc.) over a continuous range of values, all with just one font file.
