This isn't perfect, as theoretically a font could contain hints per glyph and none of these "helper tables", and a rasterizer could decide to hint the font anyway — but that sounds like a very edgy edge case. Since lib-font doesn't report hinting per glyphs, checking for the presence of these helper tables is adequate.
Note that we exclude the prep table when it contains a specific, short string of instructions. This is because this is added in the build/verification process of Google Fonts. Although it does give some instruction on how to deal with a hinting-related issue, the presence of merely this short prep table shouldn't be considered proper hinting. So we exclude this.
⚠️ This doesn't currently pass tests as the lib-font version on npm isn't up to date with the latest fixes that allow it to detect hinting-related tables!
This isn't perfect, as theoretically a font could contain hints per glyph and none of these "helper tables", and a rasterizer could decide to hint the font anyway — but that sounds like a very edgy edge case. Since lib-font doesn't report hinting per glyphs, checking for the presence of these helper tables is adequate.
Note that we exclude the
prep
table when it contains a specific, short string of instructions. This is because this is added in the build/verification process of Google Fonts. Although it does give some instruction on how to deal with a hinting-related issue, the presence of merely this shortprep
table shouldn't be considered proper hinting. So we exclude this.⚠️ This doesn't currently pass tests as the lib-font version on npm isn't up to date with the latest fixes that allow it to detect hinting-related tables!