Font Bakery Logo image/svg+xml Font Bakery Logo Robert Martinez font build service https://github.com/xen/fontbakery
Fontspector Technical Report

If you think a check is flawed or have an idea for a check, please file an issue at https://github.com/fonttools/fontspector/issues and remember to include a pointer to the repo and branch you're checking.

Summary

🔥 FAIL⚠️ WARNℹ️ INFO✅ PASS⏩ SKIP
5 17 11 99 80
2% 8% 5% 47% 38%

Meaning of check results:

If you get ERRORs, please help us improve the tool by reporting them at our issue tracker.

(but other kinds of bug reports and/or feature requests are also always welcome, of course!)

Fontspector version: 1.8.0

Opentype Specification Checks

Ensure Fonts have 'ital' STAT axis.

Check ID: opentype/STAT/ital_axis
⚠️ ttf
  • ⚠️ WARN

    Static font is missing the 'STAT' table.

    [code: no-stat-table]

Check that OS/2 fsSelection WWS bit is set correctly.

Check ID: opentype/fsselection_wws
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    OS/2 fsSelection WWS bit is not set, and the font does not have name IDs 21/22 (WWS Family/Subfamily). If the font's naming is WWS-conformant, the WWS bit should be set.

    [code: no-wws-without-wws-names]

Universal Profile Checks

Check accent of Lcaron, dcaron, lcaron, tcaron

Check ID: alt_caron
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    Lcaron is decomposed and therefore could not be checked. Please check manually.

    [code: decomposed-outline]
  • ⚠️ WARN

    dcaron is decomposed and therefore could not be checked. Please check manually.

    [code: decomposed-outline]
  • ⚠️ WARN

    lcaron is decomposed and therefore could not be checked. Please check manually.

    [code: decomposed-outline]
  • ⚠️ WARN

    tcaron is decomposed and therefore could not be checked. Please check manually.

    [code: decomposed-outline]

Combined length of family and style must not exceed 32 characters.

Check ID: name/family_and_style_max_length
🔥 NotoSansAnatolianHieroglyphs-Regular.ttf
  • 🔥 FAIL

    Name ID 4 'Full Font Name' exceeds 32 characters (31 characters too long). This has been found to cause problems with the dropdown menu in old versions of Microsoft Word as well as shaping issues for some accented letters in Microsoft Word on Windows 10 and 11.

    [code: nameid4-too-long]
  • ⚠️ WARN

    Name ID 6 'PostScript Name' exceeds 27 characters (37 characters too long). This has been found to cause problems with PostScript printers, especially on Mac platforms.

    [code: nameid6-too-long]

Ensure indic fonts have the Indian Rupee Sign glyph.

Check ID: rupee
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    Font is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9.

    [code: missing-rupee]

Metadata Checks

Check for codepoints not covered by METADATA subsets.

Check ID: googlefonts/metadata/unreachable_subsetting
⚠️ ttf
  • ⚠️ WARN

    fonts/NotoSansAnatolianHieroglyphs/googlefonts/ttf/NotoSansAnatolianHieroglyphs-Regular.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

    • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
    • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
    • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
    • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
    • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
    • U+0307 COMBINING DOT ABOVE: try adding one of: todhri, syriac, duployan, coptic, hebrew, tai-le, tifinagh, math, old-permic, canadian-aboriginal, malayalam
    • U+030A COMBINING RING ABOVE: try adding one of: duployan, syriac
    • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
    • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    • U+0326 COMBINING COMMA BELOW: try adding math
    • U+0327 COMBINING CEDILLA: try adding math

    Or you can add the above codepoints to one of the subsets supported by the font: anatolian-hieroglyphs, latin-ext, latin

    [code: unreachable-subsetting]

Glyphset Checks

Shapes languages in all GF glyphsets.

Check ID: googlefonts/glyphsets/shape_languages
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    Warning language shaping:

    Message Languages
    Auxiliary orthography codepoints: * fi_Latn (Finnish)
    The following auxiliary characters are missing from the font: Ǧ
    The following auxiliary characters are missing from the font: Ǥ
    The following auxiliary characters are missing from the font: Ȟ
    The following auxiliary characters are missing from the font: Ǩ
    The following auxiliary characters are missing from the font: Ŋ
    The following auxiliary characters are missing from the font: Ŝ
    The following auxiliary characters are missing from the font: Ţ
    The following auxiliary characters are missing from the font: Ŧ
    The following auxiliary characters are missing from the font: Ʒ
    The following auxiliary characters are missing from the font: Ǯ
    The following auxiliary characters are missing from the font: ǧ
    The following auxiliary characters are missing from the font: ǥ
    The following auxiliary characters are missing from the font: ȟ
    The following auxiliary characters are missing from the font: ǩ
    The following auxiliary characters are missing from the font: ŋ
    The following auxiliary characters are missing from the font: ŝ
    The following auxiliary characters are missing from the font: ţ
    The following auxiliary characters are missing from the font: ŧ
    The following auxiliary characters are missing from the font: ʒ
    The following auxiliary characters are missing from the font: ǯ
    Auxiliary orthography codepoints: * ca_Latn (Catalan)
    The following auxiliary characters are missing from the font: Ĕ
    The following auxiliary characters are missing from the font: Ĭ
    The following auxiliary characters are missing from the font: Ŀ
    The following auxiliary characters are missing from the font: Ŏ
    The following auxiliary characters are missing from the font: Ō
    The following auxiliary characters are missing from the font: Ŭ
    The following auxiliary characters are missing from the font: ĕ
    The following auxiliary characters are missing from the font: ĭ
    The following auxiliary characters are missing from the font: ŀ
    The following auxiliary characters are missing from the font: ŏ
    The following auxiliary characters are missing from the font: ō
    The following auxiliary characters are missing from the font: ŭ
    Auxiliary orthography codepoints: * cs_Latn (Czech)
    The following auxiliary characters are missing from the font: Ĕ * cy_Latn (Welsh)
    The following auxiliary characters are missing from the font: Ĭ * es_Latn (Spanish)
    The following auxiliary characters are missing from the font: Ŏ * hu_Latn (Hungarian)
    The following auxiliary characters are missing from the font: Ō * pt_Latn (Portuguese)
    The following auxiliary characters are missing from the font: Ŭ * sk_Latn (Slovak)
    The following auxiliary characters are missing from the font: ĕ * tr_Latn (Turkish)
    The following auxiliary characters are missing from the font: ĭ
    The following auxiliary characters are missing from the font: ŏ
    The following auxiliary characters are missing from the font: ō
    The following auxiliary characters are missing from the font: ŭ
    Auxiliary orthography codepoints: * en_Latn (English)
    The following auxiliary characters are missing from the font: Ĕ
    The following auxiliary characters are missing from the font: Ĭ
    The following auxiliary characters are missing from the font: Ŏ
    The following auxiliary characters are missing from the font: Ō
    The following auxiliary characters are missing from the font: Ŭ
    The following auxiliary characters are missing from the font: ĕ
    The following auxiliary characters are missing from the font: ĭ
    The following auxiliary characters are missing from the font: ŏ
    The following auxiliary characters are missing from the font: ō
    The following auxiliary characters are missing from the font: ŭ
    The following auxiliary characters are missing from the font: ʻ
    Auxiliary orthography codepoints: * fr_Latn (French)
    The following auxiliary characters are missing from the font: Ǔ
    The following auxiliary characters are missing from the font: ſ
    The following auxiliary characters are missing from the font: ǔ
    Auxiliary orthography codepoints: * lv_Latn (Latvian)
    The following auxiliary characters are missing from the font: Ō
    The following auxiliary characters are missing from the font: Ŗ
    The following auxiliary characters are missing from the font: ō
    The following auxiliary characters are missing from the font: ŗ
    Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
    The following auxiliary characters are missing from the font: Ǎ
    The following auxiliary characters are missing from the font: Ŋ
    The following auxiliary characters are missing from the font: Ŧ
    The following auxiliary characters are missing from the font: ǎ
    The following auxiliary characters are missing from the font: ŋ
    The following auxiliary characters are missing from the font: ŧ
    Auxiliary orthography codepoints: * de_Latn (German)
    The following auxiliary characters are missing from the font: Ĕ
    The following auxiliary characters are missing from the font: Ĭ
    The following auxiliary characters are missing from the font: Ŏ
    The following auxiliary characters are missing from the font: Ō
    The following auxiliary characters are missing from the font: Ŭ
    The following auxiliary characters are missing from the font: ĕ
    The following auxiliary characters are missing from the font: ĭ
    The following auxiliary characters are missing from the font: ŏ
    The following auxiliary characters are missing from the font: ō
    The following auxiliary characters are missing from the font: ſ
    The following auxiliary characters are missing from the font: ŭ
    Auxiliary orthography codepoints: * da_Latn (Danish)
    The following auxiliary characters are missing from the font: Ǿ
    The following auxiliary characters are missing from the font: ǿ
    Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
    The following auxiliary characters are missing from the font: Ẽ
    The following auxiliary characters are missing from the font: Ĩ
    The following auxiliary characters are missing from the font: Ũ
    The following auxiliary characters are missing from the font: ẽ
    The following auxiliary characters are missing from the font: ĩ
    The following auxiliary characters are missing from the font: ũ
    Auxiliary orthography codepoints: * nl_Latn (Dutch)
    The following auxiliary characters are missing from the font: IJ
    The following auxiliary characters are missing from the font: ij
    Auxiliary orthography codepoints: * ro_Latn (Romanian)
    The following auxiliary characters are missing from the font: Ţ
    The following auxiliary characters are missing from the font: ţ
    [code: warning-language-shaping]

Font has correct separator glyphs?

Check ID: googlefonts/separator_glyphs
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    Missing separator glyph U+2028

    [code: missing-separator-glyphs]
  • ⚠️ WARN

    Missing separator glyph U+2029

    [code: missing-separator-glyphs]

Repository Checks

Directory name in GFonts repo structure must match NameID 1 of the regular.

Check ID: googlefonts/repo/dirname_matches_nameid_1
🔥 NotoSansAnatolianHieroglyphs-Regular.ttf
  • 🔥 FAIL

    Family name on the name table ('Noto Sans Anatolian Hieroglyphs') does not match directory name in the repo structure ('ttf'). Expected 'notosansanatolianhieroglyphs'.

    [code: mismatch]

Font File Checks

Checking file is named canonically.

Check ID: googlefonts/canonical_filename
🔥 NotoSansAnatolianHieroglyphs-Regular.ttf
  • 🔥 FAIL

    Expected "NotoSansAnatolianHieroglyphs-NotoSansAnatolianHieroglyphsRegular.ttf". Got "NotoSansAnatolianHieroglyphs-Regular.ttf".

    [code: bad-filename]

Check font names are correct

Check ID: googlefonts/font_names
🔥 NotoSansAnatolianHieroglyphs-Regular.ttf
  • 🔥 FAIL

    Unsupported style name Noto Sans Anatolian Hieroglyphs Regular for static font. Expected one of ["Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic"], got 'Noto Sans Anatolian Hieroglyphs Regular'.

    [code: unsupported-style]

Ensure fonts have ScriptLangTags declared on the 'meta' table.

Check ID: googlefonts/meta/script_lang_tags
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    This font file does not have a 'meta' table.

    [code: lacks-meta-table]

Version number has increased since previous release on Google Fonts?

Check ID: googlefonts/version_bump
🔥 NotoSansAnatolianHieroglyphs-Regular.ttf
  • 🔥 FAIL

    Version number 2.001007 is equal to version on Google fonts

    [code: same-version]

Shaping Checks

Ensure dotted circle glyph is present and can attach marks.

Check ID: dotted_circle
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    No dotted circle glyph present

    [code: missing-dotted-circle]

Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.

Check ID: soft_dotted
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    The dot of soft dotted characters used in orthographies must disappear in the following strings:

    • į́

    • į̂

    • į̄

    • į̀

    • į̃

    • į̌The dot of soft dotted characters should disappear in other cases, for example:

    • į̈

    • į̋

    • į̇

    • į̆

    • į̊

    [code: soft-dotted]

Outline Checks

Do any segments have colinear vectors?

Check ID: outline_colinear_vectors
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    The following glyphs have colinear vectors:

    • u144DD (U+144DD): from (332.0, 730.0) to (339.0, 714.0) is colinear with segment from (339.0, 714.0) to (347.0, 699.0)
    • u145CD (U+145CD): from (135.0, 179.0) to (150.0, 155.0) is colinear with segment from (150.0, 155.0) to (240.0, 22.0)
    • u145F6 (U+145F6): from (103.0, 106.0) to (108.0, 75.0) is colinear with segment from (108.0, 75.0) to (111.0, 60.0)
    • u14642 (U+14642): from (678.0, 56.0) to (678.0, 53.0) is colinear with segment from (678.0, 53.0) to (679.0, 41.0)
    [code: found-colinear-vectors]

Do outlines contain any jaggy segments?

Check ID: outline_jaggy_segments
⚠️ NotoSansAnatolianHieroglyphs-Regular.ttf
  • ⚠️ WARN

    The following glyphs have jaggy segments:

    • u14404 (U+14404): Quad(QuadBez { p0: (363.0, 497.0), p1: (363.0, 491.0), p2: (362.0, 489.0) })/Quad(QuadBez { p0: (362.0, 489.0), p1: (380.0, 514.0), p2: (380.0, 547.0) }) = 9.188836077358777 degrees
    • u1443C (U+1443C): Quad(QuadBez { p0: (520.5, 194.0), p1: (531.0, 125.0), p2: (555.0, 64.0) })/Quad(QuadBez { p0: (555.0, 64.0), p1: (552.0, 82.0), p2: (552.0, 100.0) }) = 12.014468771514755 degrees
    • u1443C (U+1443C): Quad(QuadBez { p0: (345.0, 100.0), p1: (345.0, 82.0), p2: (342.0, 64.0) })/Quad(QuadBez { p0: (342.0, 64.0), p1: (366.0, 125.0), p2: (376.5, 194.0) }) = 12.014468771514755 degrees
    • u1446D (U+1446D): Quad(QuadBez { p0: (408.0, 374.0), p1: (388.0, 393.0), p2: (374.0, 410.0) })/Quad(QuadBez { p0: (374.0, 410.0), p1: (385.0, 387.0), p2: (397.0, 363.5) }) = 13.912494676519978 degrees
    • u14474 (U+14474): Quad(QuadBez { p0: (174.0, 900.0), p1: (184.0, 889.0), p2: (186.0, 881.0) })/Quad(QuadBez { p0: (186.0, 881.0), p1: (186.0, 908.0), p2: (200.5, 931.0) }) = 14.036243467926484 degrees
    • u144C2 (U+144C2): Quad(QuadBez { p0: (612.0, 185.5), p1: (607.0, 246.0), p2: (597.0, 304.0) })/Line(Line { p0: (597.0, 304.0), p1: (597.0, 0.0) }) = 9.782407031807322 degrees
    • u144C2 (U+144C2): Line(Line { p0: (397.0, 0.0), p1: (397.0, 305.0) })/Quad(QuadBez { p0: (397.0, 305.0), p1: (387.0, 246.0), p2: (382.0, 185.5) }) = 9.619727799698897 degrees
    • u1450A (U+1450A): Line(Line { p0: (264.0, 341.0), p1: (286.0, 94.0) })/Line(Line { p0: (286.0, 94.0), p1: (308.0, 341.0) }) = 10.17967301857579 degrees
    • u1450A (U+1450A): Line(Line { p0: (494.0, 341.0), p1: (516.0, 94.0) })/Line(Line { p0: (516.0, 94.0), p1: (538.0, 341.0) }) = 10.17967301857579 degrees
    • u1450B (U+1450B): Line(Line { p0: (249.0, 510.0), p1: (286.0, 94.0) })/Line(Line { p0: (286.0, 94.0), p1: (323.0, 510.0) }) = 10.165289048358535 degrees
    • u1450B (U+1450B): Line(Line { p0: (479.0, 510.0), p1: (516.0, 94.0) })/Line(Line { p0: (516.0, 94.0), p1: (553.0, 510.0) }) = 10.165289048358535 degrees
    • u1450B (U+1450B): Line(Line { p0: (709.0, 510.0), p1: (746.0, 94.0) })/Line(Line { p0: (746.0, 94.0), p1: (783.0, 510.0) }) = 10.165289048358535 degrees
    • u14539 (U+14539): Quad(QuadBez { p0: (195.5, 406.5), p1: (208.0, 435.0), p2: (224.0, 458.0) })/Quad(QuadBez { p0: (224.0, 458.0), p1: (211.0, 445.0), p2: (196.5, 436.5) }) = 10.175510843043194 degrees
    • u1453A (U+1453A): Line(Line { p0: (160.0, 614.0), p1: (550.0, 144.0) })/Line(Line { p0: (550.0, 144.0), p1: (298.0, 670.0) }) = 14.086958041300855 degrees
    • u1454A (U+1454A): Quad(QuadBez { p0: (159.0, 34.5), p1: (118.0, 9.0), p2: (97.0, 3.0) })/Quad(QuadBez { p0: (97.0, 3.0), p1: (132.0, 4.0), p2: (176.5, 15.5) }) = 14.308818859306164 degrees
    • u1454C (U+1454C): Quad(QuadBez { p0: (591.5, 19.5), p1: (637.0, 7.0), p2: (670.0, 6.0) })/Quad(QuadBez { p0: (670.0, 6.0), p1: (645.0, 13.0), p2: (588.5, 48.5) }) = 13.906541868280332 degrees
    • u1454D (U+1454D): Quad(QuadBez { p0: (769.5, 19.5), p1: (815.0, 7.0), p2: (848.0, 6.0) })/Quad(QuadBez { p0: (848.0, 6.0), p1: (823.0, 13.0), p2: (766.5, 48.5) }) = 13.906541868280332 degrees
    • u1454E (U+1454E): Quad(QuadBez { p0: (769.5, 19.5), p1: (815.0, 7.0), p2: (848.0, 6.0) })/Quad(QuadBez { p0: (848.0, 6.0), p1: (823.0, 13.0), p2: (766.5, 48.5) }) = 13.906541868280332 degrees
    • u14553 (U+14553): Line(Line { p0: (164.0, 303.0), p1: (662.0, 303.0) })/Line(Line { p0: (662.0, 303.0), p1: (115.0, 344.0) }) = 4.286549330297288 degrees
    • u14558 (U+14558): Quad(QuadBez { p0: (468.0, 165.0), p1: (444.0, 208.0), p2: (441.0, 254.0) })/Quad(QuadBez { p0: (441.0, 254.0), p1: (437.0, 211.0), p2: (416.5, 169.0) }) = 9.045942669105216 degrees
    • u14558 (U+14558): Quad(QuadBez { p0: (280.5, 165.0), p1: (257.0, 208.0), p2: (254.0, 254.0) })/Quad(QuadBez { p0: (254.0, 254.0), p1: (250.0, 211.0), p2: (229.0, 169.0) }) = 9.045942669105216 degrees
    • u14558 (U+14558): Quad(QuadBez { p0: (245.0, 346.0), p1: (252.0, 323.0), p2: (253.0, 287.0) })/Quad(QuadBez { p0: (253.0, 287.0), p1: (255.0, 322.0), p2: (261.5, 345.0) }) = 4.861628194378152 degrees
    • u14558 (U+14558): Quad(QuadBez { p0: (432.5, 346.0), p1: (439.0, 323.0), p2: (441.0, 287.0) })/Quad(QuadBez { p0: (441.0, 287.0), p1: (443.0, 322.0), p2: (449.5, 345.0) }) = 6.4503180430477896 degrees
    • u1459E (U+1459E): Line(Line { p0: (687.0, 301.0), p1: (854.0, 367.0) })/Line(Line { p0: (854.0, 367.0), p1: (684.0, 339.0) }) = 12.211427329426325 degrees
    • u145C7 (U+145C7): Line(Line { p0: (443.0, 68.0), p1: (411.0, 350.0) })/Line(Line { p0: (411.0, 350.0), p1: (411.0, 241.0) }) = 6.473955968672361 degrees
    • u145C7 (U+145C7): Line(Line { p0: (285.0, 241.0), p1: (285.0, 324.0) })/Line(Line { p0: (285.0, 324.0), p1: (256.0, 68.0) }) = 6.462985770321962 degrees
    • u14633 (U+14633): Line(Line { p0: (327.0, 634.0), p1: (416.0, 67.0) })/Line(Line { p0: (416.0, 67.0), p1: (416.0, 831.0) }) = 8.9207282780818 degrees
    • u14633 (U+14633): Line(Line { p0: (446.0, 831.0), p1: (446.0, 67.0) })/Line(Line { p0: (446.0, 67.0), p1: (535.0, 634.0) }) = 8.9207282780818 degrees
    [code: found-jaggy-segments]