Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts


Per the OpenType spec: ‘The Font Family name […] should be shared among at most four fonts that differ only in weight or style […]’


Check name table for empty records.


Check the name table for empty records, as this can cause problems in Adobe apps.


Name table ID 6 (PostScript name) must be consistent across platforms.


The PostScript name entries in the font’s ‘name’ table should be consistent across platforms.

This is the TTF/CFF2 equivalent of the CFF ‘postscript_name_cff_vs_name’ check.


CFF table FontName must match name table ID 6 (PostScript name).


The PostScript name entries in the font’s ‘name’ table should match the FontName string in the ‘CFF ‘ table.

The ‘CFF ‘ table has a lot of information that is duplicated in other tables. This information should be consistent across tables, because there’s no guarantee which table an app will get the data from.[source][source]

Font follows the family naming recommendations?[source][source]

Checking correctness of monospaced metadata.


There are various metadata in the OpenType spec to specify if a font is monospaced or not. If the font is not truly monospaced, then no monospaced metadata should be set (as sometimes they mistakenly are…)

Requirements for monospace fonts:

  • post.isFixedPitch - “Set to 0 if the font is proportionally spaced, non-zero if the font is not proportionally spaced (monospaced)”

  • hhea.advanceWidthMax must be correct, meaning no glyph’s width value is greater.

  • OS/2.panose.bProportion must be set to 9 (monospace). Spec says: “The PANOSE definition contains ten digits each of which currently describes up to sixteen variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font mapper to determine family type. It also uses bProportion to determine if the font is monospaced.”

  • OS/2.xAvgCharWidth must be set accurately. “OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least by Windows GDI”

Also we should report an error for glyphs not of average width.

Please also note: Thomas Phinney told us that a few years ago (as of December 2019), if you gave a font a monospace flag in Panose, Microsoft Word would ignore the actual advance widths and treat it as monospaced. Source:[source][source]

Does full font name begin with the font family name?

Description strings in the name table must not contain copyright info.