Skip to content

transformed_components

Simon Cozens edited this page May 8, 2025 · 2 revisions

Ensure component transforms do not perform scaling or rotation.

transformed_components

  • Applies to: TTF
  • Fontspector can hotfix?: yes
  • Fontspector can fix sources?: no

Rationale

Some families have glyphs which have been constructed by using transformed components e.g the 'u' being constructed from a flipped 'n'.

From a designers point of view, this sounds like a win (less work). However, such approaches can lead to rasterization issues, such as having the 'u' not sitting on the baseline at certain sizes after running the font through ttfautohint.

Other issues are outlines that end up reversed when only one dimension is flipped while the other isn't.

As of July 2019, Marc Foley observed that ttfautohint assigns cvt values to transformed glyphs as if they are not transformed and the result is they render very badly, and that vttLib does not support flipped components.

When building the font with fontmake, the problem can be fixed by adding this to the command line:

--filter DecomposeTransformedComponentsFilter

Proposal

Profiles

  • universal (in section 'Universal Profile Checks')

  • googlefonts (in section 'Universal Profile Checks')

Clone this wiki locally