🤖 Update upstream font: Tiro Devanagari Hindi v1.65#10698
🤖 Update upstream font: Tiro Devanagari Hindi v1.65#10698github-actions[bot] wants to merge 19 commits into
Conversation
…publish to GitHub Step Summary
…ream versions in audit report output
…ed font update (max_prs=1)
… METADATA.pb mutations during audit mode
…g and fallback authentication
|
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. |
FontSpector reportfontspector version: 1.7.2 Check results[1] ofl/tirodevanagarihindi/METADATA.pb🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
[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)
Max resolution allowed: 🔥 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 Tofu should not be shown in sample texts. (googlefonts/tofu)
🔥 FAIL Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
|
| 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:
-
j̃
-
j́
-
j̀
-
i̊
-
i̐The dot of soft dotted characters should disappear in other cases, for example:
-
j̊
-
ĵ
-
j̆
-
ǰ
-
j̇
-
j̐
-
ǐ
-
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 OS/2 xAvgCharWidth is 661 but it should be 660 which corresponds to the average of the widths of all glyphs in the font. These are similar values, which may be a symptom of the slightly different calculation of the xAvgCharWidth value in font editors. There's further discussion on this at com.google.fonts/test/034: xAvgCharWidth bakery vs glyphs vs font val fonttools/fontbakery#1622 [code: xAvgCharWidth-close]
ℹ️ 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)
- ℹ️ INFO Found a git repo URL: https://github.com/TiroTypeworks/Indigo [code: url-found]
[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:
-
i̊
-
i̐
-
j̀
-
j́
-
j̃The dot of soft dotted characters should disappear in other cases, for example:
-
i̇
-
ǐ
-
j̇
-
j̆
-
ǰ
-
ĵ
-
j̊
-
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 OS/2 xAvgCharWidth is 654 but it should be 653 which corresponds to the average of the widths of all glyphs in the font. These are similar values, which may be a symptom of the slightly different calculation of the xAvgCharWidth value in font editors. There's further discussion on this at com.google.fonts/test/034: xAvgCharWidth bakery vs glyphs vs font val fonttools/fontbakery#1622 [code: xAvgCharWidth-close]
ℹ️ 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 | ℹ️ INFO | ✅ PASS | ⏩ SKIP | |
|---|---|---|---|---|
| 29 | 47 | 17 | 210 | 115 |
| 7% | 11% | 4% | 50% | 28% |
🤖 Automated Upstream Font Update:
Tiro Devanagari Hindi📊 Safe to Update (STU) Score:
99.97 / 100Decision Tier: 🟢 AUTO_APPROVE (High Confidence)
🕒 Version & Timestamp Comparison
Version 1.521.651.521.65UPDATE_AVAILABLE2026-07-15T16:36:17-07:002026-03-20T17:18:36Z📈 Score Breakdown
diffenator299.9 / 100diffenator2100.0 / 100diffenator2/fontTools100.0 / 100Fontspector100.0 / 100🔍
diffenator2Primary Regression Summary0.10%pixel difference0font units0.00%0| Added Unicodes:0📋
FontspectorQA Check Delta0| ERROR:0| WARN:0| PASS:120🔗 Upstream Source Metadata
1.65bb6971bd84133778068ed1070f0174cf1d1f60fdGenerated automatically by Google Fonts Automated Upstream Update System (GFAU)