Variable Fonts

Myles Maxfield, Apple

  • contain tables for each glyph
    • sequence of points that define each path
  • variable fonts allow parameterization of:
    • control points in glyph contours
    • advances (horizontal space) for each glyph
    • shaping information
    • basically all information specified by table
  • parameters held in a vector
    • grouped together into axes
      • e.g. weight, height, etc.
  • software sends a value to the font structure that generates a result based on these axes
  • SanFransisco only understands weight axis
  • Skia has weight, width, etc.
  • these axes are animatable
  • implemented/used via CSS
  • three main components
    • some properties already exists (weight, width, and stretch) which map directly onto axes (weight, width, and slant)
    • remaining axes do not currently have CSS properties, but are used by the browser
    • axes that are unknown to browsers
      • font-variation-settings is a sequence of key-value pairs that define custom axes and their value format
        • due to cascading of CSS, this property must replace the entire list (no append)
  • each property can have different syntax/format
  • prevents duplication of fonts for different features
  • new format will be larger than a single font, but smaller than two forms of the same font (normal and bold > new format > normal)
  • support for font files with this format is basically done
  • CSS implementation is still being worked out
Last modified 7 years ago Last modified on Oct 27, 2016 1:46:38 PM