Skip to content

🤖 Update upstream font: Tiro Devanagari Hindi v1.65#10698

Closed
github-actions[bot] wants to merge 19 commits into
mainfrom
autoupdate/tiro-devanagari-hindi-v1.65-bb6971b
Closed

🤖 Update upstream font: Tiro Devanagari Hindi v1.65#10698
github-actions[bot] wants to merge 19 commits into
mainfrom
autoupdate/tiro-devanagari-hindi-v1.65-bb6971b

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 Automated Upstream Font Update: Tiro Devanagari Hindi

📊 Safe to Update (STU) Score: 99.97 / 100

Decision Tier: 🟢 AUTO_APPROVE (High Confidence)

🕒 Version & Timestamp Comparison

Property Local Installed (GF) Upstream Candidate Status
Font Version String Version 1.52 1.65 🆕 Update Available
Numerical Version 1.52 1.65 UPDATE_AVAILABLE
Commit / Mod Date 2026-07-15T16:36:17-07:00 2026-03-20T17:18:36Z 📅 Upstream Newer

📈 Score Breakdown

Component Weight Tool Sub-Score Status
Visual Diff ($S_{visual}$) 35% diffenator2 99.9 / 100 ✅ Pass
Metrics & Layout ($S_{metric}$) 25% diffenator2 100.0 / 100 ✅ Stable
Glyph Set Retention ($S_{cmap}$) 25% diffenator2 / fontTools 100.0 / 100 ✅ Intact
QA Checks ($S_{qa}$) 15% Fontspector 100.0 / 100 ✅ Clean

🔍 diffenator2 Primary Regression Summary

  • Visual Specimen Shift: 0.10% pixel difference
  • Max Vertical Metric Shift: 0 font units
  • Advance Width Max Shift: 0.00%
  • Deleted Unicodes: 0 | Added Unicodes: 0

📋 Fontspector QA Check Delta

  • FATAL: 0 | ERROR: 0 | WARN: 0 | PASS: 120

🔗 Upstream Source Metadata


Generated automatically by Google Fonts Automated Upstream Update System (GFAU)

@google-cla

google-cla Bot commented Jul 15, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions

Copy link
Copy Markdown
Contributor Author

FontSpector report

fontspector version: 1.7.2

Check results

[1] ofl/tirodevanagarihindi/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font filename = "TiroDevanagariHindi-Regular.ttf" does not match post_script_name="TiroDevaHindi-Regular". [code: mismatch]

  • 🔥 FAIL METADATA.pb font fullname = "Tiro Devanagari Hindi Regular" does not match post_script_name="TiroDevaHindi-Regular". [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "TiroDevanagariHindi-Italic.ttf" does not match post_script_name="TiroDevaHindi-Italic". [code: mismatch]

  • 🔥 FAIL METADATA.pb font fullname = "Tiro Devanagari Hindi Italic" does not match post_script_name="TiroDevaHindi-Italic". [code: mismatch]

  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]

[1] ofl/tirodevanagarihindi/article/ARTICLE.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[10] ofl/tirodevanagarihindi
🔥 FAIL Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets. (googlefonts/article/images)
  • 🔥 FAIL Image hero.png, is too large: 2400 x 1200 pixels`

Max resolution allowed: 2048 x 1024 pixels [code: image-too-large]

🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • 🔥 FAIL METADATA.pb post_script_name field "TiroDevaHindi-Regular" does not match correct font name "TiroDevanagariHindi". [code: mismatch]

  • 🔥 FAIL METADATA.pb post_script_name field "TiroDevaHindi-Italic" does not match correct font name "TiroDevanagariHindi". [code: mismatch]

🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Yanomamö, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ẽ (U+1EBD) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Qʼeqchiʼ language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead partial sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • Ẽ (U+1EBC)
  • ẽ (U+1EBD) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Purepecha language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ŋ (U+014B) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Uduk, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin-ext, latin:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • 🔥 FAIL This font has both a DESCRIPTION.en_us.html file and an ARTICLE.en_us.html file. In this case the description must be deleted. [code: description-and-article]
⚠️ WARN Ensure Fonts have 'ital' STAT axis. (opentype/STAT/ital_axis)
  • ⚠️ WARN Static font is missing the 'STAT' table. [code: no-stat-table]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/tirodevanagarihindi/TiroDevanagariHindi-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+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, cherokee, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: todhri, syriac, hebrew, duployan, coptic, old-permic, canadian-aboriginal, tai-le, tifinagh, malayalam, math
  • U+030A COMBINING RING ABOVE: try adding one of: duployan, syriac
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0310 COMBINING CANDRABINDU: try adding one of: sunuwar, math
  • U+0324 COMBINING DIAERESIS BELOW: try adding one of: syriac, duployan, cherokee
  • U+0325 COMBINING RING BELOW: try adding syriac
  • U+0326 COMBINING COMMA BELOW: try adding math
    ... and 27 others

Or you can add the above codepoints to one of the subsets supported by the font: devanagari, latin, latin-ext, menu [code: unreachable-subsetting]

  • ⚠️ WARN ofl/tirodevanagarihindi/TiroDevanagariHindi-Italic.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+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, cherokee, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: todhri, syriac, hebrew, duployan, coptic, old-permic, canadian-aboriginal, tai-le, tifinagh, malayalam, math
  • U+030A COMBINING RING ABOVE: try adding one of: duployan, syriac
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0310 COMBINING CANDRABINDU: try adding one of: sunuwar, math
  • U+0324 COMBINING DIAERESIS BELOW: try adding one of: syriac, duployan, cherokee
  • U+0325 COMBINING RING BELOW: try adding syriac
  • U+0326 COMBINING COMMA BELOW: try adding math
    ... and 27 others

Or you can add the above codepoints to one of the subsets supported by the font: devanagari, latin, latin-ext, menu [code: unreachable-subsetting]

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
ℹ️ INFO METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.10% of its glyphs are supported by this font file. We can't remove it, however, since that would cause a regression in production. [code: unsupported-production-subset]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[23] ofl/tirodevanagarihindi/TiroDevanagariHindi-Regular.ttf
🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • dotlessj
  • florin
  • germandbls
  • micro
  • dotlessi [code: missing-smcp-lowercase]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Tiro Devanagari Hindi Tiro Devanagari Hindi
Subfamily Name Regular Regular
Full Name Tiro Devanagari Hindi Regular Tiro Devanagari Hindi Regular
Postscript Name TiroDevaHindi-Regular TiroDevanagariHindi-Regular
Typographic Family Name N/A N/A
Typographic Subfamily Name N/A N/A
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.5200043 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check that OS/2 fsSelection WWS bit is set correctly. (opentype/fsselection_wws)
  • ⚠️ 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]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0300 (gravecomb)
  • U+0301 (acutecomb)
  • U+0302 (circumflexcomb)
  • U+0303 (tildecomb)
  • U+0304 (macroncomb)
  • U+0306 (brevecomb)
  • U+0307 (dotaccentcomb)
  • U+0308 (dieresiscomb)
  • U+030A (ringcomb)
    ... and 10 others [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks. (opentype/GDEF_non_mark_chars)
  • ⚠️ WARN The following non-mark characters should not be in the GDEF mark glyph class:
  • U+0903 (dVisarga) [code: non-mark-chars]
⚠️ WARN Checking Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN hhea lineGap is not equal to 0. [code: hhea]

  • ⚠️ WARN OS/2 sTypoLineGap is not equal to 0. [code: OS/2]

⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 911, but got 755 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • dSignOeAnusvara
  • dSignOeRephAnusvara
  • dSignOoeRephAnusvara
  • dSignAwReph
  • dSignAwRephAnusvara
  • dSignAyAnusvara
  • dSignAyReph
  • dSignAyRephAnusvara
  • dNg.half
    ... and 17 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN The following glyph names are too long: "r_ringbelowcomb_macroncomb_acutecomb, L_ringbelowcomb_macroncomb_acutecomb.sc, R_ringbelowcomb_macroncomb_acutecomb, G_macronbelowcomb_H_macronbelowcomb.sc, L_ringbelowcomb_macroncomb_acutecomb, G_macronbelowcomb_H_macronbelowcomb, R_ringbelowcomb_macroncomb_acutecomb.sc, l_ringbelowcomb_macroncomb_acutecomb" [code: legacy-long-names]

  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]

⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

  • ⚠️ WARN Missing separator glyph U+2029 [code: missing-separator-glyphs]

⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • i̐The dot of soft dotted characters should disappear in other cases, for example:

  • i̇ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • dKKa: from (914.0, 545.0) to (551.0, 545.0) is colinear with segment from (551.0, 545.0) to (451.0, 545.0)
  • dKTta: from (874.0, 545.0) to (551.0, 545.0) is colinear with segment from (551.0, 545.0) to (451.0, 545.0)
  • dKNna: from (610.0, 545.0) to (542.0, 545.0) is colinear with segment from (542.0, 545.0) to (451.0, 545.0)
  • dKPa: from (610.0, 545.0) to (542.0, 545.0) is colinear with segment from (542.0, 545.0) to (451.0, 545.0)
  • dKPRa: from (610.0, 545.0) to (532.0, 545.0) is colinear with segment from (532.0, 545.0) to (451.0, 545.0)
  • dKPha: from (611.0, 545.0) to (542.0, 545.0) is colinear with segment from (542.0, 545.0) to (451.0, 545.0)
  • dKYa: from (728.0, 545.0) to (572.0, 545.0) is colinear with segment from (572.0, 545.0) to (451.0, 545.0)
  • dKVa: from (974.0, 545.0) to (556.0, 545.0) is colinear with segment from (556.0, 545.0) to (451.0, 545.0)
  • dGhMa: from (-28.0, 620.0) to (432.0, 620.0) is colinear with segment from (432.0, 620.0) to (966.0, 620.0)
    ... and 31 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • five.LP: Line(Line { p0: (134.0, 699.0), p1: (479.0, 702.0) }) (angle: 0.50 degrees, expected: 0.00 degrees)
  • five.LP: Line(Line { p0: (460.0, 604.0), p1: (164.0, 606.0) }) (angle: 179.61 degrees, expected: 180.00 degrees)
  • fivesuperior (U+2075): Line(Line { p0: (101.0, 783.0), p1: (334.0, 785.0) }) (angle: 0.49 degrees, expected: 0.00 degrees)
  • dShortA (U+0904): Line(Line { p0: (698.0, 545.0), p1: (700.0, -10.0) }) (angle: -89.79 degrees, expected: -90.00 degrees)
  • dShortA (U+0904): Line(Line { p0: (610.0, 42.0), p1: (611.0, 243.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
  • dA (U+0905): Line(Line { p0: (698.0, 545.0), p1: (700.0, -10.0) }) (angle: -89.79 degrees, expected: -90.00 degrees)
  • dA (U+0905): Line(Line { p0: (610.0, 42.0), p1: (611.0, 243.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
  • dCandraA (U+0972): Line(Line { p0: (698.0, 545.0), p1: (700.0, -10.0) }) (angle: -89.79 degrees, expected: -90.00 degrees)
  • dCandraA (U+0972): Line(Line { p0: (610.0, 42.0), p1: (611.0, 243.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
    ... and 1350 others [code: found-semi-vertical]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Tiro Devanagari Hindi" seems to be already in use.
    Please visit http://namecheck.fontdata.com/ for more info. [code: name-collision]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
TiroDevanagariHindi-Regular.ttf
Dehinted Size 290980
Hinted Size 423224
Increase 132244
Change 45.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp [code: optional-tables]

ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • ℹ️ INFO These are the ppm ranges declared on the gasp table:

| PPM <= 65535 | - Use grid-fitting |
| | - Use grayscale rendering |
| | - Use gridfitting with ClearType symmetric smoothing |

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.52 [code: version-not-detected]
[2] ofl/tirodevanagarihindi/DESCRIPTION.en_us.html
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak. (googlefonts/description/eof_linebreak)
  • ⚠️ WARN The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it. [code: missing-eof-linebreak]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[24] ofl/tirodevanagarihindi/TiroDevanagariHindi-Italic.ttf
🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • dotlessj
  • dotlessi
  • germandbls
  • micro
  • florin [code: missing-smcp-lowercase]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Tiro Devanagari Hindi Tiro Devanagari Hindi
Subfamily Name Italic Italic
Full Name Tiro Devanagari Hindi Italic Tiro Devanagari Hindi Italic
Postscript Name TiroDevaHindi-Italic TiroDevanagariHindi-Italic
Typographic Family Name N/A N/A
Typographic Subfamily Name N/A N/A
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.5200043 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check that OS/2 fsSelection WWS bit is set correctly. (opentype/fsselection_wws)
  • ⚠️ 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]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0300 (gravecomb)
  • U+0301 (acutecomb)
  • U+0302 (circumflexcomb)
  • U+0303 (tildecomb)
  • U+0304 (macroncomb)
  • U+0306 (brevecomb)
  • U+0307 (dotaccentcomb)
  • U+0308 (dieresiscomb)
  • U+030A (ringcomb)
    ... and 10 others [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks. (opentype/GDEF_non_mark_chars)
  • ⚠️ WARN The following non-mark characters should not be in the GDEF mark glyph class:
  • U+0903 (dVisarga) [code: non-mark-chars]
⚠️ WARN Checking Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN hhea lineGap is not equal to 0. [code: hhea]

  • ⚠️ WARN OS/2 sTypoLineGap is not equal to 0. [code: OS/2]

⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 911, but got 755 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • dSignOeAnusvara
  • dSignOeRephAnusvara
  • dSignOoeRephAnusvara
  • dSignAwReph
  • dSignAwRephAnusvara
  • dSignAyAnusvara
  • dSignAyReph
  • dSignAyRephAnusvara
  • dNg.half
    ... and 17 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN The following glyph names are too long: "l_ringbelowcomb_macroncomb_acutecomb, R_ringbelowcomb_macroncomb_acutecomb.sc, L_ringbelowcomb_macroncomb_acutecomb.sc, L_ringbelowcomb_macroncomb_acutecomb, G_macronbelowcomb_H_macronbelowcomb.sc, G_macronbelowcomb_H_macronbelowcomb, r_ringbelowcomb_macroncomb_acutecomb, R_ringbelowcomb_macroncomb_acutecomb" [code: legacy-long-names]

  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]

⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

  • ⚠️ WARN Missing separator glyph U+2029 [code: missing-separator-glyphs]

⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • j̃The dot of soft dotted characters should disappear in other cases, for example:

  • j̐ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • b (U+0062): from (250.0, 565.0) to (221.0, 424.0) is colinear with segment from (221.0, 424.0) to (206.0, 364.0)
  • h (U+0068): from (250.0, 565.0) to (218.0, 413.0) is colinear with segment from (218.0, 413.0) to (202.0, 345.0)
  • k (U+006B): from (252.0, 565.0) to (221.0, 415.0) is colinear with segment from (221.0, 415.0) to (202.0, 337.0)
  • k (U+006B): from (179.0, 207.0) to (178.0, 203.0) is colinear with segment from (178.0, 203.0) to (136.0, 0.0)
  • n (U+006E): from (193.0, 190.0) to (191.0, 182.0) is colinear with segment from (191.0, 182.0) to (149.0, 0.0)
  • q (U+0071): from (355.0, 297.0) to (358.0, 309.0) is colinear with segment from (358.0, 309.0) to (378.0, 393.0)
  • b_dieresisbelowcomb: from (255.0, 565.0) to (226.0, 424.0) is colinear with segment from (226.0, 424.0) to (211.0, 364.0)
  • hdotbelow (U+1E25): from (255.0, 565.0) to (223.0, 413.0) is colinear with segment from (223.0, 413.0) to (207.0, 345.0)
  • h_dieresisbelowcomb: from (255.0, 565.0) to (223.0, 413.0) is colinear with segment from (223.0, 413.0) to (207.0, 345.0)
    ... and 61 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dBDha: Quad(QuadBez { p0: (336.5, 455.5), p1: (370.0, 444.0), p2: (393.0, 425.0) })/Quad(QuadBez { p0: (393.0, 425.0), p1: (377.0, 446.0), p2: (369.5, 468.5) }) = 13.13638375302206 degrees
  • dBDha: Quad(QuadBez { p0: (439.0, 382.0), p1: (427.0, 390.0), p2: (417.0, 399.0) })/Quad(QuadBez { p0: (417.0, 399.0), p1: (425.0, 388.0), p2: (432.0, 375.0) }) = 11.985414119079746 degrees
  • dBDhVa: Quad(QuadBez { p0: (336.5, 455.5), p1: (370.0, 444.0), p2: (393.0, 425.0) })/Quad(QuadBez { p0: (393.0, 425.0), p1: (362.0, 465.0), p2: (362.0, 511.0) }) = 12.664647725050834 degrees
  • dBDhVa: Quad(QuadBez { p0: (440.0, 383.0), p1: (427.0, 391.0), p2: (416.0, 400.0) })/Quad(QuadBez { p0: (416.0, 400.0), p1: (425.0, 389.0), p2: (432.0, 376.0) }) = 11.42118627499929 degrees [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • dKPRa: Quad(QuadBez { p0: (638.0, 400.0), p1: (638.0, 401.0), p2: (638.0, 401.0) }) has the same coordinates as a previous segment.
  • dGBhYa: Line(Line { p0: (464.0, 545.0), p1: (464.0, 545.0) }) has the same coordinates as a previous segment.
  • dTwo.sups: Quad(QuadBez { p0: (242.0, 397.0), p1: (242.0, 397.0), p2: (242.0, 397.0) }) has the same coordinates as a previous segment.
  • niPlaceholderMark (U+A837): Quad(QuadBez { p0: (60.0, 257.0), p1: (60.0, 257.0), p2: (60.0, 257.0) }) has the same coordinates as a previous segment. [code: overlapping-path-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Tiro Devanagari Hindi" seems to be already in use.
    Please visit http://namecheck.fontdata.com/ for more info. [code: name-collision]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
TiroDevanagariHindi-Italic.ttf
Dehinted Size 294428
Hinted Size 425636
Increase 131208
Change 44.6 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp [code: optional-tables]

ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • ℹ️ INFO These are the ppm ranges declared on the gasp table:

| PPM <= 65535 | - Use grid-fitting |
| | - Use grayscale rendering |
| | - Use gridfitting with ClearType symmetric smoothing |

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.52 [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
29 47 17 210 115
7% 11% 4% 50% 28%

@aaronbell aaronbell closed this Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant