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.
parse_version_string(name: str) → float¶
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.