Make sure all font files have the same version value.


Checking font version fields (head and name table).


Checking unitsPerEm value is reasonable.


According to the OpenType spec:

The value of unitsPerEm at the head table must be a value between 16 and 16384. Any value in this range is valid.

In fonts that have TrueType outlines, a power of 2 is recommended as this allows performance optimizations in some rasterizers.

But 1000 is a commonly used value. And 2000 may become increasingly more common on Variable Fonts.

fontbakery.profiles.head.parse_version_string(name: str) → float[source][source]

Parse a version string (name ID 5) as a decimal and return as fractions.Fraction.

Example of the expected format: ‘Version 01.003; Comments’. Version strings like “Version 1.300” will be post-processed into Fraction(13, 10). The parsed version numbers will therefore match as numbers, but not necessarily in string form.