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
2 26 8 99 78
1% 12% 4% 46% 37%

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 mark characters are in GDEF mark glyph class.

Check ID: opentype/GDEF_mark_chars
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The following mark characters should be in the GDEF mark glyph class:

    • U+115B2 (uni115B2)
    • U+115B3 (uni115B3)
    • U+115B4 (uni115B4)
    • U+115B5 (uni115B5)
    • U+115BC (uni115BC)
    • U+115BD (uni115BD)
    • U+115BF (uni115BF)
    • U+115C0 (uni115C0)
    • U+115DC (uni115DC)
    • U+115DD (uni115DD)
    [code: mark-chars]

Universal Profile Checks

Check accent of Lcaron, dcaron, lcaron, tcaron

Check ID: alt_caron
⚠️ NotoSansSiddham-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]

Are there caret positions declared for every ligature?

Check ID: ligature_carets
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    This font lacks caret position values for ligature glyphs on its GDEF table.

    [code: lacks-caret-pos]

Ensure indic fonts have the Indian Rupee Sign glyph.

Check ID: rupee
⚠️ NotoSansSiddham-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]

Ensure Stylistic Sets have description.

Check ID: stylisticset_description
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The stylistic set ss01 lacks a description string in the name table

    [code: missing-description]
  • ⚠️ WARN

    The stylistic set ss02 lacks a description string in the name table

    [code: missing-description]
  • ⚠️ WARN

    The stylistic set ss03 lacks a description string in the name table

    [code: missing-description]
  • ⚠️ WARN

    The stylistic set ss04 lacks a description string in the name table

    [code: missing-description]
  • ⚠️ WARN

    The stylistic set ss05 lacks a description string in the name table

    [code: missing-description]
  • ⚠️ WARN

    The stylistic set ss06 lacks a description string in the name table

    [code: missing-description]

Glyph names are all valid?

Check ID: valid_glyphnames
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The following glyph names are too long: "seed_ca_ch_r_k_y_iiMatra_candrabindusidd, seed_ta_r_k_y_iMatra_anusvarasidd, seed_ta_r_aaMatra_visagra_ha_uMatrasidd, seed_ha_r_iiMatra_ha_visargasidd, seed_ta_r_h_y_iMatra_anusvarasidd, seed_ca_ch_r_k_y_candrabindusidd, seed_dha_iMatra_visarga_ma_m_dandasidd, seed_ha_iiMatra_ha_uMatra_visargasidd, seed_ca_l_h_y_iMatra_candrabindusidd, seed_ra_rMatra_iMatra_aaMatrasidd, seed_va_sh_r_m_nn_y_auMatra_sidd, seed_ca_ch_rMatra_ha_y_candrabindusidd, seed_sha_rMatra_rMatra_aiMatra_ka_ksidd, seed_sa_l_h_y_iiMatra_anusvarasidd, seed_sha_rMatra_aiMatra_ka_viramasidd, seed_dha_iMatra_visarga_ma_msidd, seed_sa_t_r_y_iMatra_anusvarasidd"

    [code: legacy-long-names]

Metadata Checks

Check for codepoints not covered by METADATA subsets.

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

    fonts/NotoSansSiddham/googlefonts/ttf/NotoSansSiddham-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: yi, canadian-aboriginal
    • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
    • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, math, coptic, cherokee
    • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
    • U+0307 COMBINING DOT ABOVE: try adding one of: tai-le, syriac, hebrew, tifinagh, old-permic, math, coptic, malayalam, todhri, canadian-aboriginal, duployan
    • 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: tai-le, cherokee
    • U+0326 COMBINING COMMA BELOW: try adding math
    • U+0327 COMBINING CEDILLA: try adding math
    • U+2D3C TIFINAGH LETTER YAF: try adding tifinagh
    • U+2D3D TIFINAGH LETTER YAK: try adding tifinagh
    • U+2D3E TIFINAGH LETTER TUAREG YAK: try adding tifinagh
    • U+2D3F TIFINAGH LETTER YAKHH: try adding tifinagh
    • U+2D40 TIFINAGH LETTER YAH: try adding tifinagh
    • U+2D41 TIFINAGH LETTER BERBER ACADEMY YAH: try adding tifinagh
    • U+2D42 TIFINAGH LETTER TUAREG YAH: try adding tifinagh
    • U+2D43 TIFINAGH LETTER YAHH: try adding tifinagh
    • U+2D44 TIFINAGH LETTER YAA: try adding tifinagh
    • U+2D45 TIFINAGH LETTER YAKH: try adding tifinagh
    • U+2D46 TIFINAGH LETTER TUAREG YAKH: try adding tifinagh
    • U+2D47 TIFINAGH LETTER YAQ: try adding tifinagh
    • U+2D48 TIFINAGH LETTER TUAREG YAQ: try adding tifinagh
    • U+2D49 TIFINAGH LETTER YI: try adding tifinagh
    • U+2D4A TIFINAGH LETTER YAZH: try adding tifinagh
    • U+2D4B TIFINAGH LETTER AHAGGAR YAZH: try adding tifinagh
    • U+2D4C TIFINAGH LETTER TUAREG YAZH: try adding tifinagh
    • U+2D4D TIFINAGH LETTER YAL: try adding tifinagh
    • U+2D4E TIFINAGH LETTER YAM: try adding tifinagh
    • U+2D4F TIFINAGH LETTER YAN: try adding tifinagh

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

    [code: unreachable-subsetting]

Glyphset Checks

Shapes languages in all GF glyphsets.

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

    Warning language shaping:

    Message Languages
    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: * 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: * 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: * 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: * 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: * 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: * 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: * 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: * 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: * 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
⚠️ NotoSansSiddham-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
🔥 NotoSansSiddham-Regular.ttf
  • 🔥 FAIL

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

    [code: mismatch]

Font File Checks

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

Check ID: googlefonts/meta/script_lang_tags
⚠️ NotoSansSiddham-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
🔥 NotoSansSiddham-Regular.ttf
  • 🔥 FAIL

    Version number 2.005005 is equal to version on Google fonts

    [code: same-version]

Shaping Checks

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

Check ID: soft_dotted
⚠️ NotoSansSiddham-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
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The following glyphs have colinear vectors:

    • uni1158F (U+1158F): from (784.0, 606.0) to (633.0, 497.0) is colinear with segment from (633.0, 497.0) to (571.0, 459.0)
    [code: found-colinear-vectors]

Check the direction of the outermost contour in each glyph

Check ID: outline_direction
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The following glyphs have a counter-clockwise outer contour:

    • uni11594.ini has a counter-clockwise outer contour
    • uni11594.ini has a counter-clockwise outer contour
    • uni11594.iniThird has a counter-clockwise outer contour
    • uni11594.iniThird has a counter-clockwise outer contour
    • uni115D8115BF has a counter-clockwise outer contour
    • uni115D8115BF has a counter-clockwise outer contour
    • uni115D8115BF.med has a counter-clockwise outer contour
    • uni115D8115BF.med has a counter-clockwise outer contour
    • uni115D8115BF.med.ra has a counter-clockwise outer contour
    • uni115D8115BF.med.ra has a counter-clockwise outer contour
    • uni115D8115BF.ra has a counter-clockwise outer contour
    • uni115D8115BF.ra has a counter-clockwise outer contour
    • uni115D8115BF.third has a counter-clockwise outer contour
    • uni115D8115BF.third has a counter-clockwise outer contour
    • seed_ca_ch_rMatra_ha_y_candrabindusidd has a counter-clockwise outer contour
    • seed_ca_ch_rMatra_ha_y_candrabindusidd has a counter-clockwise outer contour
    • seed_ca_ch_r_k_y_candrabindusidd has a counter-clockwise outer contour
    • seed_ca_ch_r_k_y_candrabindusidd has a counter-clockwise outer contour
    • seed_ca_ch_r_k_y_iiMatra_candrabindusidd has a counter-clockwise outer contour
    • seed_ca_ch_r_k_y_iiMatra_candrabindusidd has a counter-clockwise outer contour
    [code: ccw-outer-contour]

Do outlines contain any jaggy segments?

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

    The following glyphs have jaggy segments:

    • uni11580 (U+2D3C): Line(Line { p0: (484.0, 619.0), p1: (243.0, 341.0) })/Line(Line { p0: (243.0, 341.0), p1: (271.0, 379.0) }) = 4.537876916876464 degrees
    • uni11581 (U+2D3D): Line(Line { p0: (484.0, 619.0), p1: (243.0, 341.0) })/Line(Line { p0: (243.0, 341.0), p1: (271.0, 379.0) }) = 4.537876916876464 degrees
    • uni11584 (U+2D40): Line(Line { p0: (363.0, 332.0), p1: (622.0, 605.0) })/Line(Line { p0: (622.0, 605.0), p1: (532.0, 467.0) }) = 10.381222280853025 degrees
    • uni11585 (U+2D41): Line(Line { p0: (363.0, 332.0), p1: (622.0, 605.0) })/Line(Line { p0: (622.0, 605.0), p1: (532.0, 467.0) }) = 10.381222280853025 degrees
    • uni1159E (U+1159E): Quad(QuadBez { p0: (316.5, 77.5), p1: (351.0, 100.0), p2: (351.0, 145.0) })/Line(Line { p0: (351.0, 145.0), p1: (388.0, -11.0) }) = 13.342833698423046 degrees
    • uni115A0 (U+115A0): Quad(QuadBez { p0: (351.5, 191.5), p1: (386.0, 214.0), p2: (386.0, 259.0) })/Line(Line { p0: (386.0, 259.0), p1: (413.0, 99.0) }) = 9.578422919460733 degrees
    • uni115A0.ini: Quad(QuadBez { p0: (351.5, 283.0), p1: (386.0, 302.0), p2: (386.0, 339.0) })/Line(Line { p0: (386.0, 339.0), p1: (413.0, 199.0) }) = 10.91588243169311 degrees
    • uni115A0.iniThird: Quad(QuadBez { p0: (351.5, 374.0), p1: (386.0, 389.0), p2: (386.0, 419.0) })/Line(Line { p0: (386.0, 419.0), p1: (413.0, 299.0) }) = 12.680383491819825 degrees
    • uni115A9.iniThird: Quad(QuadBez { p0: (404.5, 447.5), p1: (470.0, 433.0), p2: (525.0, 407.0) })/Line(Line { p0: (525.0, 407.0), p1: (469.0, 420.0) }) = 12.232060729137547 degrees
    • uni11586115BF: Line(Line { p0: (332.0, 679.0), p1: (320.0, 622.0) })/Line(Line { p0: (320.0, 622.0), p1: (320.0, 697.0) }) = 11.888658039627968 degrees
    • uni1158E115BF: Quad(QuadBez { p0: (351.5, 328.5), p1: (386.0, 345.0), p2: (386.0, 379.0) })/Line(Line { p0: (386.0, 379.0), p1: (413.0, 242.0) }) = 11.148989696441838 degrees
    • uni11597115BF: Quad(QuadBez { p0: (365.0, 451.0), p1: (412.0, 434.0), p2: (455.0, 405.0) })/Line(Line { p0: (455.0, 405.0), p1: (399.0, 429.0) }) = 10.79786863460233 degrees
    • uni115DA115BF.med: Line(Line { p0: (546.0, 474.0), p1: (571.0, 446.0) })/Quad(QuadBez { p0: (571.0, 446.0), p1: (506.0, 490.0), p2: (470.5, 522.0) }) = 14.144722341336577 degrees
    • uni115DB115BF.med: Line(Line { p0: (564.0, 395.0), p1: (589.0, 367.0) })/Quad(QuadBez { p0: (589.0, 367.0), p1: (524.0, 411.0), p2: (488.5, 443.0) }) = 14.144722341336577 degrees
    • uni11588115BF.med: Line(Line { p0: (278.0, 599.0), p1: (348.0, 618.0) })/Quad(QuadBez { p0: (348.0, 618.0), p1: (284.0, 588.0), p2: (216.5, 562.5) }) = 9.928997623943243 degrees
    • uni1158B115BF.med: Line(Line { p0: (278.0, 599.0), p1: (348.0, 618.0) })/Quad(QuadBez { p0: (348.0, 618.0), p1: (284.0, 588.0), p2: (216.5, 562.5) }) = 9.928997623943243 degrees
    • uni1158E115BF.med: Quad(QuadBez { p0: (351.5, 374.0), p1: (386.0, 389.0), p2: (386.0, 419.0) })/Line(Line { p0: (386.0, 419.0), p1: (413.0, 289.0) }) = 11.733084156412218 degrees
    • uni11597115BF.med: Quad(QuadBez { p0: (342.0, 548.5), p1: (387.0, 538.0), p2: (425.0, 518.0) })/Line(Line { p0: (425.0, 518.0), p1: (369.0, 533.0) }) = 12.763461471884046 degrees
    • uni1158E115BF.med.ra: Quad(QuadBez { p0: (351.5, 174.0), p1: (386.0, 189.0), p2: (386.0, 219.0) })/Line(Line { p0: (386.0, 219.0), p1: (413.0, 99.0) }) = 12.680383491819825 degrees
    • uni11597115BF.med.ra: Quad(QuadBez { p0: (404.5, 247.5), p1: (470.0, 233.0), p2: (525.0, 207.0) })/Line(Line { p0: (525.0, 207.0), p1: (469.0, 220.0) }) = 12.232060729137547 degrees
    • uni1158E115BF.ra: Quad(QuadBez { p0: (351.5, 83.0), p1: (386.0, 102.0), p2: (386.0, 139.0) })/Line(Line { p0: (386.0, 139.0), p1: (413.0, -1.0) }) = 10.91588243169311 degrees
    • uni115DA115BF.third: Line(Line { p0: (486.0, 474.0), p1: (511.0, 446.0) })/Quad(QuadBez { p0: (511.0, 446.0), p1: (446.0, 490.0), p2: (410.5, 522.0) }) = 14.144722341336577 degrees
    • uni115DB115BF.third: Line(Line { p0: (564.0, 395.0), p1: (589.0, 367.0) })/Quad(QuadBez { p0: (589.0, 367.0), p1: (524.0, 411.0), p2: (488.5, 443.0) }) = 14.144722341336577 degrees
    • uni11588115BF.third: Line(Line { p0: (278.0, 599.0), p1: (348.0, 618.0) })/Quad(QuadBez { p0: (348.0, 618.0), p1: (284.0, 588.0), p2: (216.5, 562.5) }) = 9.928997623943243 degrees
    • uni1158B115BF.third: Line(Line { p0: (278.0, 599.0), p1: (348.0, 618.0) })/Quad(QuadBez { p0: (348.0, 618.0), p1: (284.0, 588.0), p2: (216.5, 562.5) }) = 9.928997623943243 degrees
    • uni1158E115BF.third: Quad(QuadBez { p0: (351.5, 374.0), p1: (386.0, 389.0), p2: (386.0, 419.0) })/Line(Line { p0: (386.0, 419.0), p1: (413.0, 289.0) }) = 11.733084156412218 degrees
    • uni11597115BF.third: Quad(QuadBez { p0: (338.5, 565.5), p1: (383.0, 555.0), p2: (420.0, 537.0) })/Line(Line { p0: (420.0, 537.0), p1: (364.0, 552.0) }) = 10.947216360695704 degrees
    • seed_ta_h_iiMatra_ma_msidd: Line(Line { p0: (211.0, -93.0), p1: (175.0, -101.0) })/Quad(QuadBez { p0: (175.0, -101.0), p1: (214.0, -92.0), p2: (255.5, -79.5) }) = 0.4658090827646189 degrees
    • seed_ca_l_h_y_iMatra_candrabindusidd: Quad(QuadBez { p0: (572.0, 148.5), p1: (617.0, 138.0), p2: (655.0, 118.0) })/Line(Line { p0: (655.0, 118.0), p1: (599.0, 133.0) }) = 12.763461471884046 degrees
    • seed_dha_iMatra_visarga_ma_m_dandasidd: Line(Line { p0: (361.0, 29.0), p1: (312.0, 29.0) })/Quad(QuadBez { p0: (312.0, 29.0), p1: (395.0, 43.0), p2: (440.5, 63.0) }) = 9.574227885091826 degrees
    • seed_dha_iMatra_visarga_ma_m_dandasidd: Quad(QuadBez { p0: (508.0, 374.0), p1: (533.0, 389.0), p2: (533.0, 419.0) })/Line(Line { p0: (533.0, 419.0), p1: (560.0, 293.0) }) = 12.094757077012119 degrees
    • seed_dha_iMatra_visarga_ma_msidd: Quad(QuadBez { p0: (478.0, 374.0), p1: (503.0, 389.0), p2: (503.0, 419.0) })/Line(Line { p0: (503.0, 419.0), p1: (530.0, 293.0) }) = 12.094757077012119 degrees
    • seed_dha_iMatra_visarga_masidd: Line(Line { p0: (415.0, -173.0), p1: (291.0, -142.0) })/Quad(QuadBez { p0: (291.0, -142.0), p1: (345.0, -142.0), p2: (382.5, -122.0) }) = 14.036243467926457 degrees
    • seed_dha_iMatra_visarga_masidd: Quad(QuadBez { p0: (602.5, 301.0), p1: (637.0, 319.0), p2: (637.0, 355.0) })/Line(Line { p0: (637.0, 355.0), p1: (664.0, 219.0) }) = 11.22889182153877 degrees
    • seed_ma_l_c_y_aaMatrasidd: Quad(QuadBez { p0: (592.0, 154.5), p1: (637.0, 144.0), p2: (675.0, 124.0) })/Line(Line { p0: (675.0, 124.0), p1: (619.0, 139.0) }) = 12.763461471884046 degrees
    • seed_da_dhsidd: Quad(QuadBez { p0: (351.5, -100.0), p1: (386.0, -81.0), p2: (386.0, -44.0) })/Line(Line { p0: (386.0, -44.0), p1: (413.0, -189.0) }) = 10.548065418142118 degrees
    • seed_da_dh_aaMatra_visargasidd: Quad(QuadBez { p0: (351.5, -100.0), p1: (386.0, -81.0), p2: (386.0, -44.0) })/Line(Line { p0: (386.0, -44.0), p1: (413.0, -189.0) }) = 10.548065418142118 degrees
    • seed_ha_lsidd: Quad(QuadBez { p0: (355.0, -13.0), p1: (402.0, -30.0), p2: (445.0, -59.0) })/Line(Line { p0: (445.0, -59.0), p1: (389.0, -35.0) }) = 10.79786863460233 degrees
    • seed_va_c_l_m_d_y_aiMatrasidd: Quad(QuadBez { p0: (355.0, -101.0), p1: (399.0, -110.0), p2: (436.0, -127.0) })/Line(Line { p0: (436.0, -127.0), p1: (380.0, -114.0) }) = 11.607545274054866 degrees
    • seed_sa_t_r_y_iMatra_anusvarasidd: Line(Line { p0: (682.0, 119.0), p1: (752.0, 138.0) })/Quad(QuadBez { p0: (752.0, 138.0), p1: (688.0, 108.0), p2: (620.5, 82.5) }) = 9.928997623943243 degrees
    • seed_sa_l_h_y_iiMatra_anusvarasidd: Quad(QuadBez { p0: (469.0, 78.5), p1: (522.0, 68.0), p2: (568.0, 48.0) })/Line(Line { p0: (568.0, 48.0), p1: (512.0, 63.0) }) = 8.503486546776188 degrees
    • seed_hammaan_dandasidd: Line(Line { p0: (138.0, -73.0), p1: (102.0, -81.0) })/Quad(QuadBez { p0: (102.0, -81.0), p1: (161.0, -58.0), p2: (193.5, -27.5) }) = 8.768546339882201 degrees
    [code: found-jaggy-segments]

Check there are no overlapping path segments

Check ID: overlapping_path_segments
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The following glyphs have overlapping path segments:

    • uni1158A (U+1158A): Line(Line { p0: (722.0, 680.0), p1: (812.0, 619.0) }) has the same coordinates as a previous segment.
    • uni1158A (U+1158A): Line(Line { p0: (432.0, 59.0), p1: (342.0, 120.0) }) has the same coordinates as a previous segment.
    • uni1158B (U+1158B): Line(Line { p0: (722.0, 680.0), p1: (812.0, 619.0) }) has the same coordinates as a previous segment.
    • uni1158B (U+1158B): Line(Line { p0: (432.0, 59.0), p1: (342.0, 120.0) }) has the same coordinates as a previous segment.
    • uni1159E (U+1159E): Line(Line { p0: (352.0, 680.0), p1: (442.0, 617.0) }) has the same coordinates as a previous segment.
    • uni115A0 (U+115A0): Line(Line { p0: (417.0, 680.0), p1: (507.0, 617.0) }) has the same coordinates as a previous segment.
    • uni1159E.ini: Line(Line { p0: (352.0, 680.0), p1: (442.0, 617.0) }) has the same coordinates as a previous segment.
    • uni115A0.ini: Line(Line { p0: (417.0, 680.0), p1: (507.0, 617.0) }) has the same coordinates as a previous segment.
    • uni1159E.iniThird: Line(Line { p0: (352.0, 680.0), p1: (442.0, 617.0) }) has the same coordinates as a previous segment.
    • uni115A0.iniThird: Line(Line { p0: (417.0, 680.0), p1: (507.0, 617.0) }) has the same coordinates as a previous segment.
    • uni1158B.ss02: Line(Line { p0: (722.0, 680.0), p1: (812.0, 619.0) }) has the same coordinates as a previous segment.
    • uni1158B.ss02: Line(Line { p0: (432.0, 59.0), p1: (342.0, 120.0) }) has the same coordinates as a previous segment.
    • uni1158C115BF.med.ra: Line(Line { p0: (352.0, 480.0), p1: (442.0, 417.0) }) has the same coordinates as a previous segment.
    • uni1158E115BF.med.ra: Line(Line { p0: (417.0, 480.0), p1: (507.0, 417.0) }) has the same coordinates as a previous segment.
    • uni1158C115BF.ra: Line(Line { p0: (352.0, 480.0), p1: (442.0, 417.0) }) has the same coordinates as a previous segment.
    • uni1158E115BF.ra: Line(Line { p0: (417.0, 480.0), p1: (507.0, 417.0) }) has the same coordinates as a previous segment.
    • seed_dha_iMatra_visarga_ma_m_dandasidd: Line(Line { p0: (549.0, 680.0), p1: (639.0, 617.0) }) has the same coordinates as a previous segment.
    • seed_dha_iMatra_visarga_ma_msidd: Line(Line { p0: (519.0, 680.0), p1: (609.0, 617.0) }) has the same coordinates as a previous segment.
    • seed_dha_iMatra_visarga_masidd: Line(Line { p0: (668.0, 680.0), p1: (758.0, 617.0) }) has the same coordinates as a previous segment.
    • seed_va_sh_r_m_nn_y_auMatra_sidd: Quad(QuadBez { p0: (515.0, -132.0), p1: (515.0, -145.0), p2: (505.0, -145.0) }) has the same coordinates as a previous segment.
    • seed_va_sh_r_m_nn_y_auMatra_sidd: Quad(QuadBez { p0: (505.0, -145.0), p1: (494.0, -145.0), p2: (474.5, -137.0) }) has the same coordinates as a previous segment.
    • seed_va_sh_r_m_nn_y_auMatra_sidd: Quad(QuadBez { p0: (474.5, -137.0), p1: (455.0, -129.0), p2: (440.0, -118.0) }) has the same coordinates as a previous segment.
    • seed_va_sh_r_m_nn_y_auMatra_sidd: Quad(QuadBez { p0: (440.0, -118.0), p1: (425.0, -107.0), p2: (425.0, -98.0) }) has the same coordinates as a previous segment.
    [code: overlapping-path-segments]

Do outlines contain any semi-vertical or semi-horizontal lines?

Check ID: outline_semi_vertical
⚠️ NotoSansSiddham-Regular.ttf
  • ⚠️ WARN

    The following glyphs have semi-vertical/semi-horizontal lines:

    • uni1158E (U+1158E): Line(Line { p0: (351.0, 610.0), p1: (350.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni11594 (U+2D4A): Line(Line { p0: (390.0, 610.0), p1: (389.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni1158E.ini: Line(Line { p0: (357.0, 610.0), p1: (356.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni11594.ini: Line(Line { p0: (390.0, 610.0), p1: (389.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni1158E.iniThird: Line(Line { p0: (359.0, 610.0), p1: (358.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni11594.iniThird: Line(Line { p0: (390.0, 610.0), p1: (389.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni11580115BF.med.ra: Line(Line { p0: (359.0, 410.0), p1: (358.0, 267.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni115D8115BF.med.ra: Line(Line { p0: (390.0, 410.0), p1: (389.0, 267.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni11580115BF.ra: Line(Line { p0: (351.0, 410.0), p1: (350.0, 267.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • uni115D8115BF.ra: Line(Line { p0: (390.0, 410.0), p1: (389.0, 267.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • seed_ka_rMatra_tt_viramasidd: Line(Line { p0: (359.0, 610.0), p1: (358.0, 467.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • seed_ta_r_k_y_iMatra_anusvarasidd: Line(Line { p0: (538.0, 50.0), p1: (537.0, -93.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • seed_ca_ch_r_k_y_candrabindusidd: Line(Line { p0: (366.0, -120.0), p1: (365.0, -263.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    • seed_ca_ch_r_k_y_iiMatra_candrabindusidd: Line(Line { p0: (366.0, -120.0), p1: (365.0, -263.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    [code: found-semi-vertical]