Skip to content

Sources info 2025-10-29#9957

Merged
felipesanches merged 8 commits into
mainfrom
sources_info_2025-10-29
Oct 30, 2025
Merged

Sources info 2025-10-29#9957
felipesanches merged 8 commits into
mainfrom
sources_info_2025-10-29

Conversation

@felipesanches
Copy link
Copy Markdown
Collaborator

No description provided.

From google/fonts original commit: 90abd17
Note: PR #900 mentions "hotfixing" but it is unclear what was done manually after building the sources.
PR #905 mentions "hotfixing", but it is unclear what (if anything) was
manually changed in the binaries after they were built from sources.
@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.5.1

Check results

[2] ofl/iceberg/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
  • 🔥 FAIL Please host your font project on a public Git repo (such as GitHub or GitLab) and place a link in the DESCRIPTION.en_us.html file. [code: lacks-git-url]
⚠️ 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]
[23] ofl/iceberg/Iceberg-Regular.ttf
🔥 FAIL Ensure smart dropout control is enabled in "prep" table instructions. (smart_dropout)
  • 🔥 FAIL The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script. [code: lacks-smart-dropout]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Space and non-breaking space have the same width? (whitespace_widths)
  • 🔥 FAIL The space glyph named space is 173 font units wide, non-breaking space named (nonbreakingspace) is 247 font units wide, and both should be positive and the same. GlyphsApp has "Sidebearing arithmetic" (https://glyphsapp.com/tutorials/spacing) which allows you to set the non-breaking space width to always equal the space width. [code: different-widths]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Iceberg Iceberg
Subfamily Name Regular Regular
Full Name Iceberg Iceberg Regular
Postscript Name Iceberg-Regular Iceberg-Regular
Typographic Family Name N/A N/A
Typographic Subfamily Name N/A N/A
  • ⚠️ WARN Regular missing from full name [code: lacks-regular]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 493 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=642: plusminus [code: width-outliers]
⚠️ WARN Ensure indic fonts have the Indian Rupee Sign glyph. (rupee)
  • ⚠️ WARN Font is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9. [code: missing-rupee]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • caron.case
  • ring.case
  • designer
  • noBreak
  • foundryicon [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Name table strings must not contain the string 'Reserved Font Name'. (googlefonts/name/rfn)
  • ⚠️ WARN Name table entry contains "Reserved Font Name" for a family name ("Iceberg") that differs from the currently used family name (Iceberg), which is fine. [code: legacy-familyname]

  • ⚠️ WARN Name table entry contains "Reserved Font Name" for a family name ("Iceberg") that differs from the currently used family name (Iceberg), which is fine. [code: legacy-familyname]

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • .notdef: X=704,Y=-1 (should be at baseline 0?)
    • M (U+004D): X=667,Y=1 (should be at baseline 0?)
    • M (U+004D): X=568,Y=1 (should be at baseline 0?)
    • M (U+004D): X=198,Y=1 (should be at baseline 0?)
    • M (U+004D): X=99,Y=1 (should be at baseline 0?)
    • N (U+004E): X=580,Y=1 (should be at baseline 0?)
    • N (U+004E): X=389,Y=1 (should be at baseline 0?)
    • N (U+004E): X=198,Y=1 (should be at baseline 0?)
    • N (U+004E): X=99,Y=1 (should be at baseline 0?)
      ... and 26 others [code: found-misalignments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • K (U+004B): Line(Line { p0: (519.0, 691.0), p1: (518.0, 569.0) })
  • X (U+0058): Line(Line { p0: (487.0, 191.0), p1: (488.0, 0.0) })
  • yen (U+00A5): Line(Line { p0: (86.0, 508.0), p1: (87.0, 691.0) })
  • section (U+00A7): Line(Line { p0: (196.0, 403.0), p1: (197.0, 142.0) }) [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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Iceberg-Regular.ttf
Dehinted Size 16700
Hinted Size 42808
Increase 26108
Change 156.3 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    gasp
    PCLT [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.002, Version 1.002 [code: version-not-detected]
[2] ofl/iceberg/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2011, cyreal (www.cyreal.org),"

which does not match the expected format, similar to:

"Copyright 2022 The Familyname Project Authors (git url)" [code: bad-format]

⚠️ WARN Check OFL body text is correct. (googlefonts/license/OFL_body_text)

Lines changed:

+with Reserved Font Name "Iceberg".
[code: incorrect-ofl-body-text]

[1] ofl/iceberg/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Iceberg" does not match post_script_name="Iceberg-Regular". [code: mismatch]

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

[9] ofl/iceberg
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 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 Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Iceberg-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2011, cyreal (www.cyreal.org), with reserved font name "iceberg"." [code: bad-notice-format]

  • 🔥 FAIL Iceberg-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2011, cyreal (www.cyreal.org), with reserved font name "iceberg"." [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2011, cyreal (www.cyreal.org a@cyreal.org), with reserved font name "iceberg"." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2011, cyreal (www.cyreal.org), with reserved font name "iceberg".: ["Iceberg-Regular.ttf: Name Table entry", "Iceberg-Regular.ttf: Name Table entry"]
  • copyright (c) 2011, cyreal (www.cyreal.org a@cyreal.org), with reserved font name "iceberg".: ["METADATA.pb"] [code: mismatch]
🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/iceberg/Iceberg-Regular.ttf missing required codepoints:
  • 0x2026: HORIZONTAL ELLIPSIS
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/iceberg/Iceberg-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+02C7 CARON: try adding one of: latin-ext, yi, canadian-aboriginal, tifinagh
  • U+2074 SUPERSCRIPT FOUR: try adding math

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

⚠️ WARN Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. (googlefonts/metadata/reserved_font_name)
  • ⚠️ WARN METADATA.pb: copyright field ("Copyright (c) 2011, Cyreal (www.cyreal.org a@cyreal.org), with Reserved Font Name "Iceberg".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
17 24 8 104 62
8% 12% 4% 52% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.5.1

Check results

[24] ofl/khula/Khula-Regular.ttf
🔥 FAIL Check code page character ranges (opentype/code_pages)
  • 🔥 FAIL No code pages defined in the OS/2 table ulCodePageRange1 and CodePageRange2 fields. [code: no-code-pages]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.

Table: FFTM Reason: Table contains redundant FontForge timestamp info
[code: unwanted-tables]

🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • invertedcandrabindu
  • candrabindudeva
  • anusvaradeva
  • oevowelsigndevaKSH
  • uvowelsigndeva
  • uuvowelsigndeva
  • rvocalicvowelsigndeva
  • rrvocalicvowelsigndeva
  • ecandravowelsigndeva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ 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+0971 (uni0971)
  • U+02BC (uni02BC) [code: non-mark-chars]
⚠️ WARN Check glyphs in mark glyph class are non-spacing. (opentype/GDEF_spacing_marks)
  • ⚠️ WARN The following glyphs seem to be spacing (because they have width > 0 on the hmtx table) so they may be in the GDEF mark glyph class by mistake, or they should have zero width instead:
  • uni02BC
  • uni0971 [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 1978 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1130 but it should be 1158 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • NULL
  • jhadevaNEP
  • ladevaMAR
  • shadevaMAR
  • vattuulowdeva
  • vattuuulowdeva
  • vatturvocaliclowdeva
  • vattuviramalowdeva
    ... and 11 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • comma (U+002C): X=112,Y=2.5 (should be at baseline 0?)
    • six (U+0036): X=862,Y=1318 (should be at cap-height 1316?)
    • semicolon (U+003B): X=132,Y=2.5 (should be at baseline 0?)
    • at (U+0040): X=888,Y=1314 (should be at cap-height 1316?)
    • G (U+0047): X=991,Y=-1.5 (should be at baseline 0?)
    • nnnadeva (U+0929): X=171,Y=-1.5 (should be at baseline 0?)
    • nnnadeva (U+0929): X=362,Y=-1.5 (should be at baseline 0?)
    • shadeva (U+0936): X=686,Y=-1 (should be at baseline 0?)
    • rrvocalicdeva (U+0960): X=1627,Y=-2 (should be at baseline 0?)
      ... and 22 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • at (U+0040): Line { p0: (1145.0, 913.0), p1: (1122.0, 490.0) } -> Line { p0: (1122.0, 490.0), p1: (1122.0, 470.0) }
  • d (U+0064): Line { p0: (832.0, 859.0), p1: (825.0, 930.0) } -> Line { p0: (825.0, 930.0), p1: (822.0, 999.0) }
  • d (U+0064): Line { p0: (825.0, 930.0), p1: (822.0, 999.0) } -> Line { p0: (822.0, 999.0), p1: (822.0, 1400.0) } [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • fivedeva (U+096B): Line(Line { p0: (817.0, 581.0), p1: (801.0, 552.0) })/Quad(QuadBez { p0: (801.0, 552.0), p1: (810.0, 567.0), p2: (817.0, 581.0) }) = 2.0771747651627295
  • fivedeva (U+096B): Quad(QuadBez { p0: (801.0, 552.0), p1: (810.0, 567.0), p2: (817.0, 581.0) })/Line(Line { p0: (817.0, 581.0), p1: (801.0, 552.0) }) = 2.3215305898330105 [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • fivedeva (U+096B): Quad(QuadBez { p0: (801.0, 552.0), p1: (810.0, 567.0), p2: (817.0, 581.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]
⚠️ WARN Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.8.2; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Khula-Regular.ttf
Dehinted Size 101708
Hinted Size 158356
Increase 56648
Change 55.7 %
ℹ️ 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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

[22] ofl/khula/Khula-SemiBold.ttf
🔥 FAIL Check code page character ranges (opentype/code_pages)
  • 🔥 FAIL No code pages defined in the OS/2 table ulCodePageRange1 and CodePageRange2 fields. [code: no-code-pages]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.

Table: FFTM Reason: Table contains redundant FontForge timestamp info
[code: unwanted-tables]

🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • invertedcandrabindu
  • candrabindudeva
  • anusvaradeva
  • oevowelsigndevaKSH
  • uvowelsigndeva
  • uuvowelsigndeva
  • rvocalicvowelsigndeva
  • rrvocalicvowelsigndeva
  • ecandravowelsigndeva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ 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+02BC (uni02BC)
  • U+0971 (uni0971) [code: non-mark-chars]
⚠️ WARN Check glyphs in mark glyph class are non-spacing. (opentype/GDEF_spacing_marks)
  • ⚠️ WARN The following glyphs seem to be spacing (because they have width > 0 on the hmtx table) so they may be in the GDEF mark glyph class by mistake, or they should have zero width instead:
  • uni02BC
  • uni0971 [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 1978 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1164 but it should be 1198 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • NULL
  • jhadevaNEP
  • ladevaMAR
  • shadevaMAR
  • vattuulowdeva
  • vattuuulowdeva
  • vatturvocaliclowdeva
  • vattuviramalowdeva
    ... and 11 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • numbersign (U+0023): X=446,Y=1314 (should be at cap-height 1316?)
    • numbersign (U+0023): X=608,Y=1314 (should be at cap-height 1316?)
    • numbersign (U+0023): X=835,Y=1314 (should be at cap-height 1316?)
    • numbersign (U+0023): X=992,Y=1314 (should be at cap-height 1316?)
    • six (U+0036): X=881,Y=1318 (should be at cap-height 1316?)
    • seven (U+0037): X=67,Y=1314 (should be at cap-height 1316?)
    • seven (U+0037): X=976,Y=1314 (should be at cap-height 1316?)
    • G (U+0047): X=971,Y=-1.5 (should be at baseline 0?)
    • invertedcandrabindu (U+0900): X=-380.5,Y=1317 (should be at cap-height 1316?)
      ... and 16 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • at (U+0040): Line { p0: (1166.0, 925.0), p1: (1147.0, 507.0) } -> Line { p0: (1147.0, 507.0), p1: (1147.0, 485.0) }
  • W (U+0057): Line { p0: (354.0, 0.0), p1: (184.0, 659.0) } -> Line { p0: (184.0, 659.0), p1: (11.0, 1316.0) }
  • k (U+006B): Line { p0: (361.0, 1400.0), p1: (361.0, 717.0) } -> Line { p0: (361.0, 717.0), p1: (350.0, 526.0) }
  • k (U+006B): Line { p0: (355.0, 526.0), p1: (475.0, 675.0) } -> Line { p0: (475.0, 675.0), p1: (776.0, 995.0) } [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • iivowelcandrabindudeva: Quad(QuadBez { p0: (555.0, 1400.0), p1: (366.0, 1400.0), p2: (216.0, 1565.0) })/Quad(QuadBez { p0: (216.0, 1565.0), p1: (313.0, 1450.0), p2: (380.0, 1283.0) }) = 2.1267853930860685
  • iivowelcandrabindu2deva: Quad(QuadBez { p0: (550.0, 1400.0), p1: (388.0, 1400.0), p2: (253.0, 1528.0) })/Quad(QuadBez { p0: (253.0, 1528.0), p1: (326.0, 1423.0), p2: (379.0, 1283.0) }) = 11.716124623439555
  • jathadeva: Line(Line { p0: (470.0, 773.0), p1: (1307.0, 773.0) })/Quad(QuadBez { p0: (1307.0, 773.0), p1: (1147.0, 804.0), p2: (1061.0, 890.5) }) = 10.96519668513787
  • januktathadeva: Line(Line { p0: (470.0, 773.0), p1: (1307.0, 773.0) })/Quad(QuadBez { p0: (1307.0, 773.0), p1: (1147.0, 804.0), p2: (1061.0, 890.5) }) = 10.96519668513787 [code: found-jaggy-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]
⚠️ WARN Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.8.2; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Khula-SemiBold.ttf
Dehinted Size 101692
Hinted Size 154444
Increase 52752
Change 51.9 %
ℹ️ 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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

[1] ofl/khula/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[10] ofl/khula
🔥 FAIL Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts. (opentype/family/max_4_fonts_per_family_name)
  • 🔥 FAIL Family name 'Khula' has 5 fonts, which is more than the maximum of 4 [code: too-many]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Fonts have equal codepoint coverage? (googlefonts/family/equal_codepoint_coverage)
  • 🔥 FAIL Other fonts have codepoints not present in ofl/khula/Khula-Regular.ttf: U+0000 [code: glyphset-diverges]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Khula-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-Bold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-Bold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-ExtraBold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-ExtraBold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-SemiBold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-SemiBold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-Light.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL Khula-Light.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation." [code: bad-notice-format]

🔥 FAIL Check copyright namerecords match license file. (googlefonts/name/license)
  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 is not specified for that.
    Value was: "This Font Software is licensed under the SIL Open Font License, Version 1.1."
    Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org" [code: wrong]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/khula/Khula-Regular.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00AE: REGISTERED SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x20AC: EURO SIGN
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/khula/Khula-Bold.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00AE: REGISTERED SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x20AC: EURO SIGN
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/khula/Khula-ExtraBold.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00AE: REGISTERED SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x20AC: EURO SIGN
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/khula/Khula-SemiBold.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00AE: REGISTERED SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x20AC: EURO SIGN
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/khula/Khula-Light.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00AE: REGISTERED SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x20AC: EURO SIGN
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/khula/Khula-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+2015 HORIZONTAL BAR: try adding adlam

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/khula/Khula-Bold.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+2015 HORIZONTAL BAR: try adding adlam

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/khula/Khula-ExtraBold.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+2015 HORIZONTAL BAR: try adding adlam

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/khula/Khula-SemiBold.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+2015 HORIZONTAL BAR: try adding adlam

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/khula/Khula-Light.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+2015 HORIZONTAL BAR: try adding adlam

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

ℹ️ INFO METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.00% 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 The subset 'latin' is listed in production metadata, but only 0.47% 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 for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ 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/khula/Khula-Light.ttf
🔥 FAIL Check code page character ranges (opentype/code_pages)
  • 🔥 FAIL No code pages defined in the OS/2 table ulCodePageRange1 and CodePageRange2 fields. [code: no-code-pages]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.

Table: FFTM Reason: Table contains redundant FontForge timestamp info
[code: unwanted-tables]

🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • invertedcandrabindu
  • candrabindudeva
  • anusvaradeva
  • oevowelsigndevaKSH
  • uvowelsigndeva
  • uuvowelsigndeva
  • rvocalicvowelsigndeva
  • rrvocalicvowelsigndeva
  • ecandravowelsigndeva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ 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+0971 (uni0971)
  • U+02BC (uni02BC) [code: non-mark-chars]
⚠️ WARN Check glyphs in mark glyph class are non-spacing. (opentype/GDEF_spacing_marks)
  • ⚠️ WARN The following glyphs seem to be spacing (because they have width > 0 on the hmtx table) so they may be in the GDEF mark glyph class by mistake, or they should have zero width instead:
  • uni02BC
  • uni0971 [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 1978 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1091 but it should be 1111 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • jhadevaNEP
  • ladevaMAR
  • shadevaMAR
  • vattuulowdeva
  • vattuuulowdeva
  • vatturvocaliclowdeva
  • vattuviramalowdeva
  • vattulowdeva
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • tadeva (U+0924): X=381,Y=-2 (should be at baseline 0?)
    • thadeva (U+0925): X=332,Y=1314 (should be at cap-height 1316?)
    • llvocalicdeva (U+0961): X=1079,Y=2 (should be at baseline 0?)
    • taprehalfdeva: X=376,Y=-2 (should be at baseline 0?)
    • thaprehalfdeva: X=310,Y=1314 (should be at cap-height 1316?)
    • rahalantdeva: X=233,Y=1 (should be at baseline 0?)
    • tharadeva: X=332,Y=1314 (should be at cap-height 1316?)
    • ddanuktaradeva: X=38,Y=2 (should be at baseline 0?)
    • ddanuktaradeva: X=184,Y=2 (should be at baseline 0?)
      ... and 21 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • at (U+0040): Line { p0: (1126.0, 905.0), p1: (1106.0, 488.0) } -> Line { p0: (1106.0, 488.0), p1: (1106.0, 461.0) }
  • K (U+004B): Line { p0: (278.0, 632.0), p1: (424.0, 778.0) } -> Line { p0: (424.0, 778.0), p1: (940.0, 1316.0) }
  • h (U+0068): Line { p0: (253.0, 1400.0), p1: (253.0, 955.0) } -> Line { p0: (253.0, 955.0), p1: (248.0, 830.0) }
  • k (U+006B): Line { p0: (253.0, 1400.0), p1: (253.0, 698.0) } -> Line { p0: (253.0, 698.0), p1: (247.0, 429.0) }
  • w (U+0077): Line { p0: (673.0, 850.0), p1: (614.0, 652.0) } -> Line { p0: (614.0, 652.0), p1: (396.0, 0.0) } [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • fivedeva (U+096B): Line(Line { p0: (798.0, 576.0), p1: (789.0, 550.0) })/Quad(QuadBez { p0: (789.0, 550.0), p1: (795.0, 565.0), p2: (798.0, 576.0) }) = 2.707917485866095
  • fivedeva (U+096B): Quad(QuadBez { p0: (789.0, 550.0), p1: (795.0, 565.0), p2: (798.0, 576.0) })/Line(Line { p0: (798.0, 576.0), p1: (789.0, 550.0) }) = 3.8383732974277525 [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • fivedeva (U+096B): Quad(QuadBez { p0: (789.0, 550.0), p1: (795.0, 565.0), p2: (798.0, 576.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]
⚠️ WARN Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.8.2; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Khula-Light.ttf
Dehinted Size 103496
Hinted Size 165864
Increase 62368
Change 60.3 %
ℹ️ 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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

[24] ofl/khula/Khula-Bold.ttf
🔥 FAIL Check code page character ranges (opentype/code_pages)
  • 🔥 FAIL No code pages defined in the OS/2 table ulCodePageRange1 and CodePageRange2 fields. [code: no-code-pages]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.

Table: FFTM Reason: Table contains redundant FontForge timestamp info
[code: unwanted-tables]

🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • invertedcandrabindu
  • candrabindudeva
  • anusvaradeva
  • oevowelsigndevaKSH
  • uvowelsigndeva
  • uuvowelsigndeva
  • rvocalicvowelsigndeva
  • rrvocalicvowelsigndeva
  • ecandravowelsigndeva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ 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+02BC (uni02BC)
  • U+0971 (uni0971) [code: non-mark-chars]
⚠️ WARN Check glyphs in mark glyph class are non-spacing. (opentype/GDEF_spacing_marks)
  • ⚠️ WARN The following glyphs seem to be spacing (because they have width > 0 on the hmtx table) so they may be in the GDEF mark glyph class by mistake, or they should have zero width instead:
  • uni02BC
  • uni0971 [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 1978 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1209 but it should be 1253 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • NULL
  • jhadevaNEP
  • ladevaMAR
  • shadevaMAR
  • vattuulowdeva
  • vattuuulowdeva
  • vatturvocaliclowdeva
  • vattuviramalowdeva
    ... and 11 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • numbersign (U+0023): X=435,Y=1314 (should be at cap-height 1316?)
    • numbersign (U+0023): X=632,Y=1314 (should be at cap-height 1316?)
    • numbersign (U+0023): X=811,Y=1314 (should be at cap-height 1316?)
    • numbersign (U+0023): X=1004,Y=1314 (should be at cap-height 1316?)
    • six (U+0036): X=901,Y=1318 (should be at cap-height 1316?)
    • seven (U+0037): X=49,Y=1314 (should be at cap-height 1316?)
    • seven (U+0037): X=994,Y=1314 (should be at cap-height 1316?)
    • c (U+0063): X=726.5,Y=-1.5 (should be at baseline 0?)
    • braceleft (U+007B): X=704,Y=2 (should be at baseline 0?)
      ... and 23 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • one (U+0031): Line { p0: (483.0, 0.0), p1: (483.0, 761.0) } -> Line { p0: (483.0, 761.0), p1: (490.0, 1023.0) }
  • K (U+004B): Line { p0: (445.0, 714.0), p1: (554.0, 868.0) } -> Line { p0: (554.0, 868.0), p1: (911.0, 1316.0) }
  • W (U+0057): Line { p0: (863.0, 842.0), p1: (830.0, 689.0) } -> Line { p0: (830.0, 689.0), p1: (652.0, 0.0) }
  • k (U+006B): Line { p0: (418.0, 1400.0), p1: (418.0, 776.0) } -> Line { p0: (418.0, 776.0), p1: (404.0, 547.0) }
  • k (U+006B): Line { p0: (408.0, 547.0), p1: (527.0, 700.0) } -> Line { p0: (527.0, 700.0), p1: (809.0, 1006.0) }
  • w (U+0077): Line { p0: (971.0, 0.0), p1: (894.0, 352.0) } -> Line { p0: (894.0, 352.0), p1: (789.0, 796.0) } [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • W (U+0057): Quad(QuadBez { p0: (918.0, 841.0), p1: (894.0, 958.0), p2: (890.0, 999.0) })/Quad(QuadBez { p0: (890.0, 999.0), p1: (886.0, 950.0), p2: (863.0, 842.0) }) = 10.239056175402776
  • W (U+0057): Quad(QuadBez { p0: (443.0, 598.0), p1: (489.0, 387.0), p2: (507.0, 253.0) })/Quad(QuadBez { p0: (507.0, 253.0), p1: (512.0, 305.0), p2: (530.5, 406.5) }) = 13.142975512486858
  • llaradeva: Line(Line { p0: (1111.0, 67.0), p1: (1180.0, 67.0) })/Quad(QuadBez { p0: (1180.0, 67.0), p1: (997.0, 77.0), p2: (820.0, 200.0) }) = 3.1278061212863246
  • llanuktaradeva: Line(Line { p0: (1111.0, 67.0), p1: (1180.0, 67.0) })/Quad(QuadBez { p0: (1180.0, 67.0), p1: (997.0, 77.0), p2: (820.0, 200.0) }) = 3.1278061212863246
  • llaraprehalfdeva: Line(Line { p0: (1111.0, 67.0), p1: (1180.0, 67.0) })/Quad(QuadBez { p0: (1180.0, 67.0), p1: (997.0, 77.0), p2: (820.0, 200.0) }) = 3.1278061212863246
  • llanuktaraprehalfdeva: Line(Line { p0: (1111.0, 67.0), p1: (1180.0, 67.0) })/Quad(QuadBez { p0: (1180.0, 67.0), p1: (997.0, 77.0), p2: (820.0, 200.0) }) = 3.1278061212863246
  • tathadeva: Quad(QuadBez { p0: (523.0, 840.0), p1: (720.0, 840.0), p2: (900.0, 776.0) })/Quad(QuadBez { p0: (900.0, 776.0), p1: (786.0, 830.0), p2: (728.0, 912.5) }) = 5.773050111536458 [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • tathadeva: Line(Line { p0: (983.0, 744.0), p1: (987.0, 742.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]
⚠️ WARN Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.8.2; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Khula-Bold.ttf
Dehinted Size 102024
Hinted Size 155640
Increase 53616
Change 52.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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

[1] ofl/khula/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2014, erin mclaughlin (hello@erinmclaughlin.com). digitized data copyright 2010, google corporation."

which does not match the expected format, similar to:

"Copyright 2022 The Familyname Project Authors (git url)" [code: bad-format]

[23] ofl/khula/Khula-ExtraBold.ttf
🔥 FAIL Check code page character ranges (opentype/code_pages)
  • 🔥 FAIL No code pages defined in the OS/2 table ulCodePageRange1 and CodePageRange2 fields. [code: no-code-pages]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.

Table: FFTM Reason: Table contains redundant FontForge timestamp info
[code: unwanted-tables]

🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • invertedcandrabindu
  • candrabindudeva
  • anusvaradeva
  • oevowelsigndevaKSH
  • uvowelsigndeva
  • uuvowelsigndeva
  • rvocalicvowelsigndeva
  • rrvocalicvowelsigndeva
  • ecandravowelsigndeva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ 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+0971 (uni0971)
  • U+02BC (uni02BC) [code: non-mark-chars]
⚠️ WARN Check glyphs in mark glyph class are non-spacing. (opentype/GDEF_spacing_marks)
  • ⚠️ WARN The following glyphs seem to be spacing (because they have width > 0 on the hmtx table) so they may be in the GDEF mark glyph class by mistake, or they should have zero width instead:
  • uni02BC
  • uni0971 [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 1978 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1247 but it should be 1296 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • NULL
  • jhadevaNEP
  • ladevaMAR
  • shadevaMAR
  • vattuulowdeva
  • vattuuulowdeva
  • vatturvocaliclowdeva
  • vattuviramalowdeva
    ... and 11 others [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • seven (U+0037): X=70,Y=1314 (should be at cap-height 1316?)
    • seven (U+0037): X=1020,Y=1314 (should be at cap-height 1316?)
    • S (U+0053): X=263.5,Y=1.5 (should be at baseline 0?)
    • bracketleft (U+005B): X=554,Y=-1 (should be at baseline 0?)
    • bracketleft (U+005B): X=391,Y=-1 (should be at baseline 0?)
    • bracketright (U+005D): X=42,Y=-1 (should be at baseline 0?)
    • bracketright (U+005D): X=206,Y=-1 (should be at baseline 0?)
    • e (U+0065): X=826.5,Y=-1.5 (should be at baseline 0?)
    • chadeva (U+091B): X=1123,Y=-1 (should be at baseline 0?)
      ... and 32 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • at (U+0040): Line { p0: (1213.0, 948.0), p1: (1194.0, 568.0) } -> Line { p0: (1194.0, 568.0), p1: (1192.0, 483.0) }
  • asciicircum (U+005E): Line { p0: (466.0, 971.0), p1: (355.0, 709.0) } -> Line { p0: (355.0, 709.0), p1: (243.0, 452.0) }
  • w (U+0077): Line { p0: (999.0, 0.0), p1: (884.0, 486.0) } -> Line { p0: (884.0, 486.0), p1: (857.0, 633.0) }
  • w (U+0077): Line { p0: (884.0, 486.0), p1: (857.0, 633.0) } -> Line { p0: (857.0, 633.0), p1: (839.0, 751.0) } [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • V (U+0056): Quad(QuadBez { p0: (579.0, 649.0), p1: (634.0, 430.0), p2: (640.0, 339.0) })/Quad(QuadBez { p0: (640.0, 339.0), p1: (650.0, 454.0), p2: (698.0, 645.0) }) = 8.742024337490056
  • W (U+0057): Quad(QuadBez { p0: (988.0, 714.0), p1: (970.0, 813.0), p2: (960.0, 895.0) })/Quad(QuadBez { p0: (960.0, 895.0), p1: (943.0, 754.0), p2: (905.0, 590.0) }) = 13.827775496878132
  • W (U+0057): Quad(QuadBez { p0: (1293.0, 551.0), p1: (1323.0, 395.0), p2: (1335.0, 308.0) })/Quad(QuadBez { p0: (1335.0, 308.0), p1: (1344.0, 398.0), p2: (1399.0, 654.0) }) = 13.563906439477883 [code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • taprehalfdeva: Line(Line { p0: (1066.0, 867.0), p1: (1065.0, 578.0) }) [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]
⚠️ WARN Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.8.2; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Khula-ExtraBold.ttf
Dehinted Size 103172
Hinted Size 159768
Increase 56596
Change 54.9 %
ℹ️ 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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D deva -f latn -a qsq -W -X "") [code: ok]

[2] ofl/khula/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
60 74 33 415 244
8% 9% 4% 53% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.5.1

Check results

[23] ofl/krub/Krub-Regular.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni01CE
  • uni1E49
  • Odieresis
  • Lacute
  • odieresis
  • Adieresis
  • oacute
  • udieresis
  • zcaron
    ... and 283 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 557 but it should be 570 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • ị̀

  • ị́

  • ị̃

  • ị̄

  • ị̂

  • į̀

  • į́

  • į̃

  • į̌
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • i̦̇

  • i̦̋

  • i̦̊

  • j̦̇

  • j̦̈

  • j̦̉

  • j̦̀

  • j̦́

  • j̦̃
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni0E22 (U+0E22): Line { p0: (465.0, 191.0), p1: (464.0, 284.0) } -> Line { p0: (464.0, 284.0), p1: (464.0, 576.0) }
  • uni0E22 (U+0E22): Line { p0: (529.0, 576.0), p1: (529.0, 284.0) } -> Line { p0: (529.0, 284.0), p1: (530.0, 184.0) }
  • uni210A (U+210A): Line { p0: (439.0, 87.0), p1: (439.0, 425.0) } -> Line { p0: (439.0, 425.0), p1: (439.0, 430.0) }
  • uni0E47 (U+0E47): Line { p0: (-228.0, 839.0), p1: (-292.0, 841.0) } -> Line { p0: (-292.0, 841.0), p1: (-355.0, 842.0) }
  • uni0E47.narrow: Line { p0: (-296.0, 839.0), p1: (-357.0, 841.0) } -> Line { p0: (-357.0, 841.0), p1: (-418.0, 842.0) } [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:
  • uni0E0F (U+0E0F): Line(Line { p0: (487.0, -195.0), p1: (485.0, 366.0) })
  • toPatakthai.short: Line(Line { p0: (487.0, -142.0), p1: (485.0, 366.0) })
  • uni0E11 (U+0E11): Line(Line { p0: (215.0, 222.0), p1: (214.0, 0.0) })
  • uni0E13 (U+0E13): Line(Line { p0: (471.0, 123.0), p1: (470.0, 383.0) })
  • uni0E17 (U+0E17): Line(Line { p0: (235.0, 481.0), p1: (234.0, 276.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (150.0, 113.0), p1: (149.0, 485.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (215.0, 481.0), p1: (214.0, 132.0) })
  • uni0E1A (U+0E1A): Line(Line { p0: (215.0, 481.0), p1: (214.0, 183.0) })
  • uni0E1B (U+0E1B): Line(Line { p0: (215.0, 481.0), p1: (214.0, 183.0) })
    ... and 14 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[23] ofl/krub/Krub-Bold.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni01D0
  • uni0219
  • uni1EE8
  • ydieresis
  • breve_grave
  • Scircumflex
  • threeeighths
  • uni1E48
  • Eacute
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 570 but it should be 584 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̀

  • į́

  • į̌

  • į̂

  • į̄

  • į̃

  • ị̀

  • ị́

  • ị̂
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • į̱̆

  • į̱̊

  • į̱̀

  • į̱́

  • į̱̋

  • į̱̉

  • į̱̈

  • į̱̌

  • į̱̂
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni0251 (U+0251): Line { p0: (389.0, 142.0), p1: (389.0, 146.0) } -> Line { p0: (389.0, 146.0), p1: (389.0, 436.0) }
  • m (U+006D): Line { p0: (531.0, 416.0), p1: (531.0, 404.0) } -> Line { p0: (531.0, 404.0), p1: (531.0, 0.0) }
  • uni1E43 (U+1E43): Line { p0: (531.0, 416.0), p1: (531.0, 404.0) } -> Line { p0: (531.0, 404.0), p1: (531.0, 0.0) }
  • p (U+0070): Line { p0: (211.0, 414.0), p1: (211.0, 401.0) } -> Line { p0: (211.0, 401.0), p1: (211.0, 104.0) }
  • q (U+0071): Line { p0: (389.0, 144.0), p1: (389.0, 401.0) } -> Line { p0: (389.0, 401.0), p1: (389.0, 412.0) }
  • uni0E09 (U+0E09): Line { p0: (452.0, 258.0), p1: (452.0, 259.0) } -> Line { p0: (452.0, 259.0), p1: (452.0, 381.0) }
  • uni0E12 (U+0E12): Line { p0: (419.0, 476.0), p1: (370.0, 444.0) } -> Line { p0: (370.0, 444.0), p1: (341.0, 426.0) }
  • uni0E2C (U+0E2C): Line { p0: (724.0, 444.0), p1: (724.0, 190.0) } -> Line { p0: (724.0, 190.0), p1: (724.0, 115.0) }
  • loChulathai.short: Line { p0: (724.0, 444.0), p1: (724.0, 190.0) } -> Line { p0: (724.0, 190.0), p1: (724.0, 115.0) }
    ... and 10 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E29 (U+0E29): Line(Line { p0: (295.0, 446.0), p1: (294.0, 301.0) })/Quad(QuadBez { p0: (294.0, 301.0), p1: (300.0, 337.0), p2: (329.0, 357.5) }) = 9.067185165518097
  • uni0E29 (U+0E29): Quad(QuadBez { p0: (334.5, 194.5), p1: (301.0, 222.0), p2: (294.0, 265.0) })/Line(Line { p0: (294.0, 265.0), p1: (294.0, 173.0) }) = 9.24611274556323 [code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • uni0E0F (U+0E0F): Line(Line { p0: (422.0, -165.0), p1: (420.0, 383.0) })
  • toPatakthai.short: Line(Line { p0: (422.0, -118.0), p1: (420.0, 383.0) })
  • uni0E11 (U+0E11): Line(Line { p0: (260.0, 192.0), p1: (259.0, 0.0) })
  • uni0E13 (U+0E13): Line(Line { p0: (416.0, 113.0), p1: (415.0, 383.0) })
  • uni0E17 (U+0E17): Line(Line { p0: (315.0, 446.0), p1: (314.0, 318.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (150.0, 113.0), p1: (149.0, 478.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (295.0, 446.0), p1: (294.0, 182.0) })
  • uni0E1A (U+0E1A): Line(Line { p0: (295.0, 446.0), p1: (294.0, 173.0) })
  • uni0E1B (U+0E1B): Line(Line { p0: (295.0, 446.0), p1: (294.0, 173.0) })
    ... and 11 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[23] ofl/krub/Krub-ExtraLightItalic.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Check name table IDs 1, 2, 16, 17 to conform to Italic style. (name/italic_names)
  • 🔥 FAIL Name ID 2 (Subfamily Name) does not conform to specs. Only R/I/B/BI are allowed, found ExtraLight Italic [code: bad-subfamilyname]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni1EA6
  • egrave
  • uni1E21
  • zcaron
  • Imacron
  • Wcircumflex
  • idieresis
  • nacute
  • uni1E20
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 557 but it should be 569 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • ị̂

  • ị̃

  • ị́

  • ị̀

  • ị̄

  • į̂

  • į̃

  • į́

  • į̀
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ị̤̋

  • ị̤̂

  • ị̤̃

  • ị̤́

  • ị̤̉

  • ị̤̇

  • ị̤̀

  • ị̤̄

  • ị̤̈
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • Q (U+0051): Line { p0: (344.0, 35.0), p1: (303.0, 113.0) } -> Line { p0: (303.0, 113.0), p1: (284.0, 149.0) }
  • uni0251 (U+0251): Line { p0: (427.0, 111.0), p1: (463.0, 370.0) } -> Line { p0: (463.0, 370.0), p1: (476.0, 461.0) }
  • eng (U+014B): Line { p0: (515.0, 372.0), p1: (463.0, 0.0) } -> Line { p0: (463.0, 0.0), p1: (453.0, -69.0) }
  • eng (U+014B): Line { p0: (413.0, -68.0), p1: (423.0, 0.0) } -> Line { p0: (423.0, 0.0), p1: (475.0, 373.0) }
  • q (U+0071): Line { p0: (419.0, 82.0), p1: (468.0, 436.0) } -> Line { p0: (468.0, 436.0), p1: (471.0, 456.0) }
  • uni0E0C (U+0E0C): Line { p0: (449.0, 92.0), p1: (455.0, 137.0) } -> Line { p0: (455.0, 137.0), p1: (466.0, 213.0) }
  • uni0E21 (U+0E21): Line { p0: (187.0, 251.0), p1: (194.0, 300.0) } -> Line { p0: (194.0, 300.0), p1: (218.0, 468.0) }
  • uni0E21 (U+0E21): Line { p0: (168.0, 100.0), p1: (173.0, 136.0) } -> Line { p0: (173.0, 136.0), p1: (183.0, 214.0) }
  • uni0E22 (U+0E22): Line { p0: (554.0, 576.0), p1: (513.0, 284.0) } -> Line { p0: (513.0, 284.0), p1: (509.0, 255.0) }
    ... and 13 others [code: found-colinear-vectors]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni0162 (U+0162): Line(Line { p0: (193.0, 0.0), p1: (235.0, 0.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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[1] ofl/krub/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[22] ofl/krub/Krub-Italic.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Omacron
  • uni0218
  • uni1ED8
  • uni01DB
  • ebreve
  • uni1EAE
  • Gcaron
  • ccaron
  • ij
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 557 but it should be 570 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̂

  • į̃

  • į́

  • į̄

  • į̀

  • į̌

  • ị̂

  • ị̃

  • ị́
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • į̣̇

  • į̣̋

  • į̣̂

  • į̣̃

  • į̣̈

  • į̣̉

  • į̣́

  • į̣̆

  • į̣̊
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (776.0, 44.0), p1: (774.0, 18.0), p2: (774.0, 20.0) })/Quad(QuadBez { p0: (774.0, 20.0), p1: (771.0, 0.0), p2: (756.0, 0.0) }) = 8.530765609948139
  • uni0E12 (U+0E12): Quad(QuadBez { p0: (791.0, 44.0), p1: (789.0, 18.0), p2: (789.0, 20.0) })/Quad(QuadBez { p0: (789.0, 20.0), p1: (786.0, 0.0), p2: (769.0, 0.0) }) = 8.530765609948139
  • uni0E21 (U+0E21): Quad(QuadBez { p0: (513.0, 44.0), p1: (511.0, 18.0), p2: (511.0, 20.0) })/Quad(QuadBez { p0: (511.0, 20.0), p1: (508.0, 0.0), p2: (493.0, 0.0) }) = 8.530765609948139 [code: found-jaggy-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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[22] ofl/krub/Krub-Medium.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Odieresis
  • omacron
  • uni2153
  • Wacute
  • uni1EC1
  • edotaccent
  • aeacute
  • tcaron
  • ygrave
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 561 but it should be 574 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • ị̄

  • ị̃

  • ị́

  • ị̂

  • ị̀

  • į̄

  • į̃

  • į́

  • į̂
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ị̮̆

  • ị̮̇

  • ị̮̄

  • ị̮̈

  • ị̮̃

  • ị̮́

  • ị̮̂

  • ị̮̌

  • ị̮̊
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • q (U+0071): Line { p0: (422.0, 110.0), p1: (422.0, 420.0) } -> Line { p0: (422.0, 420.0), p1: (422.0, 425.0) }
  • uni0E22 (U+0E22): Line { p0: (461.0, 202.0), p1: (461.0, 254.0) } -> Line { p0: (461.0, 254.0), p1: (461.0, 576.0) }
  • uni0E2C (U+0E2C): Line { p0: (664.0, 467.0), p1: (664.0, 190.0) } -> Line { p0: (664.0, 190.0), p1: (664.0, 137.0) }
  • loChulathai.short: Line { p0: (664.0, 467.0), p1: (664.0, 190.0) } -> Line { p0: (664.0, 190.0), p1: (664.0, 137.0) }
  • uni210A (U+210A): Line { p0: (422.0, 113.0), p1: (422.0, 419.0) } -> Line { p0: (422.0, 419.0), p1: (422.0, 425.0) }
  • uni0E47 (U+0E47): Line { p0: (-221.0, 841.0), p1: (-286.0, 843.0) } -> Line { p0: (-286.0, 843.0), p1: (-351.0, 844.0) }
  • uni0E47.narrow: Line { p0: (-316.0, 841.0), p1: (-377.0, 842.0) } -> Line { p0: (-377.0, 842.0), p1: (-440.0, 844.0) }
  • uni0E38 (U+0E38): Line { p0: (-75.0, -208.0), p1: (-76.0, -259.0) } -> Line { p0: (-76.0, -259.0), p1: (-76.0, -287.0) }
  • uni0E38.small: Line { p0: (-74.0, -394.0), p1: (-75.0, -434.0) } -> Line { p0: (-75.0, -434.0), p1: (-75.0, -461.0) } [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:
  • uni0E0F (U+0E0F): Line(Line { p0: (465.0, -185.0), p1: (463.0, 372.0) })
  • toPatakthai.short: Line(Line { p0: (465.0, -134.0), p1: (463.0, 372.0) })
  • uni0E11 (U+0E11): Line(Line { p0: (230.0, 212.0), p1: (229.0, 0.0) })
  • uni0E13 (U+0E13): Line(Line { p0: (453.0, 120.0), p1: (452.0, 383.0) })
  • uni0E17 (U+0E17): Line(Line { p0: (262.0, 469.0), p1: (261.0, 293.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (150.0, 113.0), p1: (149.0, 483.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (242.0, 469.0), p1: (241.0, 149.0) })
  • uni0E1A (U+0E1A): Line(Line { p0: (242.0, 469.0), p1: (241.0, 180.0) })
  • uni0E1B (U+0E1B): Line(Line { p0: (242.0, 469.0), p1: (241.0, 180.0) })
    ... and 13 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[23] ofl/krub/Krub-MediumItalic.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Check name table IDs 1, 2, 16, 17 to conform to Italic style. (name/italic_names)
  • 🔥 FAIL Name ID 2 (Subfamily Name) does not conform to specs. Only R/I/B/BI are allowed, found Medium Italic [code: bad-subfamilyname]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Gcaron
  • iacute
  • Ccaron
  • Edotaccent
  • uni1ED7
  • idieresis
  • ldot
  • Lacute
  • ncaron
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 562 but it should be 575 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • ị̄

  • ị́

  • ị̃

  • ị̀

  • ị̂

  • į̌

  • į̄

  • į́

  • į̃
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • j̦̊

  • j̦̈

  • ǰ̦

  • j̦̄

  • j̦̇

  • j̦̆

  • j̦́

  • j̦̃

  • j̦̋
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • Adieresis (U+00C4): Line { p0: (533.0, 821.0), p1: (532.0, 811.0) } -> Line { p0: (532.0, 811.0), p1: (530.0, 801.0) }
  • Edieresis (U+00CB): Line { p0: (498.0, 828.0), p1: (497.0, 818.0) } -> Line { p0: (497.0, 818.0), p1: (495.0, 808.0) }
  • Idieresis (U+00CF): Line { p0: (391.0, 821.0), p1: (390.0, 811.0) } -> Line { p0: (390.0, 811.0), p1: (388.0, 801.0) }
  • Odieresis (U+00D6): Line { p0: (557.0, 821.0), p1: (556.0, 811.0) } -> Line { p0: (556.0, 811.0), p1: (554.0, 801.0) }
  • Udieresis (U+00DC): Line { p0: (570.0, 818.0), p1: (569.0, 808.0) } -> Line { p0: (569.0, 808.0), p1: (567.0, 798.0) }
  • uni01D7 (U+01D7): Line { p0: (571.0, 818.0), p1: (570.0, 808.0) } -> Line { p0: (570.0, 808.0), p1: (568.0, 798.0) }
  • uni01D9 (U+01D9): Line { p0: (569.0, 818.0), p1: (568.0, 808.0) } -> Line { p0: (568.0, 808.0), p1: (566.0, 798.0) }
  • uni01DB (U+01DB): Line { p0: (571.0, 818.0), p1: (570.0, 808.0) } -> Line { p0: (570.0, 808.0), p1: (568.0, 798.0) }
  • uni01D5 (U+01D5): Line { p0: (570.0, 818.0), p1: (569.0, 808.0) } -> Line { p0: (569.0, 808.0), p1: (567.0, 798.0) }
    ... and 34 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (783.0, 44.0), p1: (781.0, 18.0), p2: (781.0, 20.0) })/Quad(QuadBez { p0: (781.0, 20.0), p1: (778.0, 0.0), p2: (763.0, 0.0) }) = 8.530765609948139
  • uni0E21 (U+0E21): Quad(QuadBez { p0: (540.0, 44.0), p1: (538.0, 18.0), p2: (538.0, 20.0) })/Quad(QuadBez { p0: (538.0, 20.0), p1: (535.0, 0.0), p2: (520.0, 0.0) }) = 8.530765609948139 [code: found-jaggy-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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[22] ofl/krub/Krub-SemiBoldItalic.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Check name table IDs 1, 2, 16, 17 to conform to Italic style. (name/italic_names)
  • 🔥 FAIL Name ID 2 (Subfamily Name) does not conform to specs. Only R/I/B/BI are allowed, found SemiBold Italic [code: bad-subfamilyname]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Oacute
  • ebreve
  • uni01DC
  • uni0157
  • uni1EB2
  • acircumflex
  • Gdotaccent
  • gbreve
  • sacute
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 566 but it should be 579 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̀

  • į̂

  • į̄

  • į̃

  • į́

  • į̌

  • ị̀

  • ị̂

  • ị̄
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • i̦̊

  • i̦̋

  • i̦̇

  • j̦̀

  • j̦̄

  • j̦̊

  • j̦̋

  • j̦̉

  • j̦̃
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • K (U+004B): Line { p0: (219.0, 399.0), p1: (270.0, 399.0) } -> Line { p0: (270.0, 399.0), p1: (279.0, 399.0) }
  • uni0136 (U+0136): Line { p0: (219.0, 399.0), p1: (270.0, 399.0) } -> Line { p0: (270.0, 399.0), p1: (279.0, 399.0) }
  • m (U+006D): Line { p0: (519.0, 419.0), p1: (517.0, 404.0) } -> Line { p0: (517.0, 404.0), p1: (461.0, 0.0) }
  • uni1E43 (U+1E43): Line { p0: (519.0, 419.0), p1: (517.0, 404.0) } -> Line { p0: (517.0, 404.0), p1: (461.0, 0.0) }
  • eng (U+014B): Line { p0: (528.0, 372.0), p1: (476.0, 0.0) } -> Line { p0: (476.0, 0.0), p1: (469.0, -46.0) }
  • eng (U+014B): Line { p0: (347.0, -55.0), p1: (355.0, 0.0) } -> Line { p0: (355.0, 0.0), p1: (406.0, 366.0) }
  • q (U+0071): Line { p0: (366.0, 126.0), p1: (406.0, 411.0) } -> Line { p0: (406.0, 411.0), p1: (407.0, 420.0) }
  • uni0E32 (U+0E32): Line { p0: (241.0, 29.0), p1: (242.0, 38.0) } -> Line { p0: (242.0, 38.0), p1: (295.0, 413.0) }
  • uni0E33 (U+0E33): Line { p0: (241.0, 29.0), p1: (242.0, 38.0) } -> Line { p0: (242.0, 38.0), p1: (295.0, 413.0) }
    ... and 5 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E06 (U+0E06): Quad(QuadBez { p0: (564.0, 43.0), p1: (561.0, 14.0), p2: (562.0, 18.0) })/Quad(QuadBez { p0: (562.0, 18.0), p1: (559.0, 0.0), p2: (544.0, 0.0) }) = 4.573921259900898
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (789.0, 44.0), p1: (787.0, 18.0), p2: (787.0, 20.0) })/Quad(QuadBez { p0: (787.0, 20.0), p1: (784.0, 0.0), p2: (769.0, 0.0) }) = 8.530765609948139
  • uni0E21 (U+0E21): Quad(QuadBez { p0: (566.0, 44.0), p1: (564.0, 18.0), p2: (564.0, 20.0) })/Quad(QuadBez { p0: (564.0, 20.0), p1: (561.0, 0.0), p2: (546.0, 0.0) }) = 8.530765609948139 [code: found-jaggy-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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[6] ofl/krub
🔥 FAIL Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts. (opentype/family/max_4_fonts_per_family_name)
  • 🔥 FAIL Family name 'Krub' has 12 fonts, which is more than the maximum of 4 [code: too-many]
🔥 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 Aleut, 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 latin-ext, latin, thai, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/krub/Krub-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+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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-LightItalic.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-Light.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-SemiBoldItalic.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-Medium.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-BoldItalic.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-ExtraLightItalic.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-Bold.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-SemiBold.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-MediumItalic.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

  • ⚠️ WARN ofl/krub/Krub-ExtraLight.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: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, duployan, hebrew, syriac, math, malayalam, old-permic, tifinagh, canadian-aboriginal, tai-le, todhri
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 69 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ 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/krub/Krub-BoldItalic.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • ccircumflex
  • threequarters
  • uni0137
  • Zacute
  • Ygrave
  • uni1E61
  • obreve
  • uni1EC1
  • uni1E6E
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 571 but it should be 584 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̌

  • į̃

  • į̂

  • į̀

  • į̄

  • į́

  • ị̃

  • ị̂

  • ị̀
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • į̣̋

  • į̣̌

  • į̣̃

  • į̣̂

  • į̣̀

  • į̣̆

  • į̣̉

  • į̣̇

  • į̣̈
    ... and 198 others [code: soft-dotted]

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • uni1EB2 (U+1EB2): X=410,Y=1009 (should be at ascender 1007?)
    • uni1EA8 (U+1EA8): X=446,Y=1005 (should be at ascender 1007?)
    • Aring (U+00C5): X=414,Y=1009 (should be at ascender 1007?)
    • Aringacute (U+01FA): X=414,Y=1009 (should be at ascender 1007?)
    • uni1EC2 (U+1EC2): X=398,Y=1005 (should be at ascender 1007?)
    • IJ (U+0132): X=313.5,Y=-1.5 (should be at baseline 0?)
    • J (U+004A): X=20.5,Y=-1.5 (should be at baseline 0?)
    • Jcircumflex (U+0134): X=20.5,Y=-1.5 (should be at baseline 0?)
    • uni1ED4 (U+1ED4): X=458,Y=1005 (should be at ascender 1007?)
      ... and 88 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • eng (U+014B): Line { p0: (535.0, 372.0), p1: (483.0, 0.0) } -> Line { p0: (483.0, 0.0), p1: (475.0, -53.0) }
  • eng (U+014B): Line { p0: (326.0, -62.0), p1: (335.0, 0.0) } -> Line { p0: (335.0, 0.0), p1: (386.0, 363.0) }
  • eng (U+014B): Line { p0: (3.0, 0.0), p1: (55.0, 370.0) } -> Line { p0: (55.0, 370.0), p1: (58.0, 394.0) }
  • q (U+0071): Line { p0: (352.0, 142.0), p1: (388.0, 401.0) } -> Line { p0: (388.0, 401.0), p1: (390.0, 413.0) }
  • uni207F (U+207F): Line { p0: (242.0, 421.0), p1: (266.0, 592.0) } -> Line { p0: (266.0, 592.0), p1: (267.0, 601.0) }
  • uni0E09 (U+0E09): Line { p0: (429.0, 258.0), p1: (433.0, 278.0) } -> Line { p0: (433.0, 278.0), p1: (448.0, 378.0) }
  • uni0E32 (U+0E32): Line { p0: (229.0, 36.0), p1: (230.0, 45.0) } -> Line { p0: (230.0, 45.0), p1: (281.0, 412.0) }
  • uni0E33 (U+0E33): Line { p0: (229.0, 36.0), p1: (230.0, 45.0) } -> Line { p0: (230.0, 45.0), p1: (281.0, 412.0) }
  • uni210A (U+210A): Line { p0: (355.0, 162.0), p1: (389.0, 407.0) } -> Line { p0: (389.0, 407.0), p1: (390.0, 412.0) }
    ... and 9 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E06 (U+0E06): Quad(QuadBez { p0: (593.0, 44.0), p1: (591.0, 18.0), p2: (591.0, 20.0) })/Quad(QuadBez { p0: (591.0, 20.0), p1: (588.0, 0.0), p2: (573.0, 0.0) }) = 8.530765609948139
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (796.0, 44.0), p1: (794.0, 18.0), p2: (794.0, 20.0) })/Quad(QuadBez { p0: (794.0, 20.0), p1: (791.0, 0.0), p2: (776.0, 0.0) }) = 8.530765609948139
  • uni0E12 (U+0E12): Quad(QuadBez { p0: (856.0, 42.0), p1: (854.0, 18.0), p2: (854.0, 20.0) })/Quad(QuadBez { p0: (854.0, 20.0), p1: (851.0, 0.0), p2: (836.0, 0.0) }) = 8.530765609948139
  • uni0E21 (U+0E21): Quad(QuadBez { p0: (593.0, 44.0), p1: (591.0, 18.0), p2: (591.0, 20.0) })/Quad(QuadBez { p0: (591.0, 20.0), p1: (588.0, 0.0), p2: (573.0, 0.0) }) = 8.530765609948139 [code: found-jaggy-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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[23] ofl/krub/Krub-LightItalic.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Check name table IDs 1, 2, 16, 17 to conform to Italic style. (name/italic_names)
  • 🔥 FAIL Name ID 2 (Subfamily Name) does not conform to specs. Only R/I/B/BI are allowed, found Light Italic [code: bad-subfamilyname]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni01D7
  • imacron
  • uni01DB
  • uni1EB5
  • seveneighths
  • ebreve
  • eacute
  • ldot
  • uni0162
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 557 but it should be 570 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̄

  • į̃

  • į̌

  • į̀

  • į́

  • į̂

  • ị̄

  • ị̃

  • ị̀
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • j̦̄

  • j̦̃

  • ǰ̦

  • j̦̋

  • j̦̉

  • j̦̀

  • j̦̈

  • j̦́

  • j̦̆
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • OE (U+0152): Line { p0: (626.0, 338.0), p1: (620.0, 297.0) } -> Line { p0: (620.0, 297.0), p1: (585.0, 50.0) }
  • eng (U+014B): Line { p0: (515.0, 372.0), p1: (463.0, 0.0) } -> Line { p0: (463.0, 0.0), p1: (456.0, -51.0) }
  • eng (U+014B): Line { p0: (401.0, -55.0), p1: (409.0, 0.0) } -> Line { p0: (409.0, 0.0), p1: (461.0, 373.0) }
  • q (U+0071): Line { p0: (407.0, 86.0), p1: (455.0, 433.0) } -> Line { p0: (455.0, 433.0), p1: (457.0, 446.0) }
  • uni0E06 (U+0E06): Line { p0: (162.0, 122.0), p1: (167.0, 161.0) } -> Line { p0: (167.0, 161.0), p1: (173.0, 212.0) }
  • uni0E21 (U+0E21): Line { p0: (179.0, 255.0), p1: (184.0, 300.0) } -> Line { p0: (184.0, 300.0), p1: (209.0, 471.0) }
  • uni0E22 (U+0E22): Line { p0: (554.0, 576.0), p1: (513.0, 284.0) } -> Line { p0: (513.0, 284.0), p1: (508.0, 246.0) }
  • uni0E22 (U+0E22): Line { p0: (454.0, 242.0), p1: (460.0, 284.0) } -> Line { p0: (460.0, 284.0), p1: (501.0, 576.0) }
  • uni0E2C (U+0E2C): Line { p0: (644.0, 470.0), p1: (603.0, 190.0) } -> Line { p0: (603.0, 190.0), p1: (599.0, 159.0) }
    ... and 8 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • Uhorn (U+01AF): Line(Line { p0: (660.0, 655.0), p1: (663.0, 676.0) })/Line(Line { p0: (663.0, 676.0), p1: (603.0, 251.0) }) = 0.09439164362526745
  • uni1EE8 (U+1EE8): Line(Line { p0: (660.0, 655.0), p1: (663.0, 676.0) })/Line(Line { p0: (663.0, 676.0), p1: (603.0, 251.0) }) = 0.09439164362526745
  • uni1EF0 (U+1EF0): Line(Line { p0: (660.0, 655.0), p1: (663.0, 676.0) })/Line(Line { p0: (663.0, 676.0), p1: (603.0, 251.0) }) = 0.09439164362526745
  • uni1EEA (U+1EEA): Line(Line { p0: (660.0, 655.0), p1: (663.0, 676.0) })/Line(Line { p0: (663.0, 676.0), p1: (603.0, 251.0) }) = 0.09439164362526745
  • uni1EEC (U+1EEC): Line(Line { p0: (660.0, 655.0), p1: (663.0, 676.0) })/Line(Line { p0: (663.0, 676.0), p1: (603.0, 251.0) }) = 0.09439164362526745
  • uni1EEE (U+1EEE): Line(Line { p0: (660.0, 655.0), p1: (663.0, 676.0) })/Line(Line { p0: (663.0, 676.0), p1: (603.0, 251.0) }) = 0.09439164362526745
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (774.0, 42.0), p1: (772.0, 18.0), p2: (772.0, 19.0) })/Quad(QuadBez { p0: (772.0, 19.0), p1: (769.0, 0.0), p2: (755.0, 0.0) }) = 8.972626614896358
  • uni0E12 (U+0E12): Quad(QuadBez { p0: (784.0, 44.0), p1: (782.0, 18.0), p2: (782.0, 19.0) })/Quad(QuadBez { p0: (782.0, 19.0), p1: (779.0, 0.0), p2: (764.0, 0.0) }) = 8.972626614896358
  • uni0E21 (U+0E21): Quad(QuadBez { p0: (512.0, 42.0), p1: (510.0, 18.0), p2: (510.0, 19.0) })/Quad(QuadBez { p0: (510.0, 19.0), p1: (507.0, 0.0), p2: (493.0, 0.0) }) = 8.972626614896358 [code: found-jaggy-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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[24] ofl/krub/Krub-ExtraLight.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni01D8
  • ycircumflex
  • Utilde
  • Cacute
  • uni1E39
  • uni1E5D
  • wdieresis
  • uni1ED2
  • uni1E97
    ... and 283 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 557 but it should be 569 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • ị̃

  • ị́

  • ị̄

  • ị̀

  • ị̂

  • į̃

  • į̌

  • į́

  • į̄
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ị̤̋

  • ị̤̊

  • ị̤̃

  • ị̤̌

  • ị̤́

  • ị̤̆

  • ị̤̉

  • ị̤̇

  • ị̤̄
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • b (U+0062): Line { p0: (143.0, 460.0), p1: (143.0, 108.0) } -> Line { p0: (143.0, 108.0), p1: (143.0, 102.0) }
  • q (U+0071): Line { p0: (465.0, 83.0), p1: (465.0, 436.0) } -> Line { p0: (465.0, 436.0), p1: (465.0, 456.0) }
  • uni0E12 (U+0E12): Line { p0: (540.0, 217.0), p1: (540.0, 130.0) } -> Line { p0: (540.0, 130.0), p1: (540.0, 91.0) }
  • uni0E12 (U+0E12): Line { p0: (498.0, 92.0), p1: (498.0, 133.0) } -> Line { p0: (498.0, 133.0), p1: (498.0, 215.0) }
  • uni0E17 (U+0E17): Line { p0: (188.0, 36.0), p1: (189.0, 92.0) } -> Line { p0: (189.0, 92.0), p1: (189.0, 477.0) }
  • uni0E1E (U+0E1E): Line { p0: (634.0, 576.0), p1: (634.0, 190.0) } -> Line { p0: (634.0, 190.0), p1: (633.0, 95.0) }
  • uni0E1F (U+0E1F): Line { p0: (634.0, 783.0), p1: (634.0, 190.0) } -> Line { p0: (634.0, 190.0), p1: (633.0, 95.0) }
  • uni0E21 (U+0E21): Line { p0: (209.0, 251.0), p1: (209.0, 300.0) } -> Line { p0: (209.0, 300.0), p1: (209.0, 477.0) }
  • uni0E22 (U+0E22): Line { p0: (487.0, 201.0), p1: (487.0, 284.0) } -> Line { p0: (487.0, 284.0), p1: (487.0, 576.0) }
    ... and 11 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E10 (U+0E10): Quad(QuadBez { p0: (489.5, 177.5), p1: (482.0, 138.0), p2: (465.0, 72.0) })/Quad(QuadBez { p0: (465.0, 72.0), p1: (467.0, 79.0), p2: (451.0, 18.0) }) = 1.5013601764305287
  • thoThanthai.less: Quad(QuadBez { p0: (489.5, 177.5), p1: (482.0, 138.0), p2: (465.0, 72.0) })/Quad(QuadBez { p0: (465.0, 72.0), p1: (467.0, 79.0), p2: (451.0, 18.0) }) = 1.5013601764305287
  • uni0E4D0E49: Quad(QuadBez { p0: (-143.5, 982.0), p1: (-164.0, 954.0), p2: (-201.0, 946.0) })/Line(Line { p0: (-201.0, 946.0), p1: (-190.0, 947.0) }) = 7.006039819646009
  • uni0E4D0E49: Line(Line { p0: (-247.0, 943.0), p1: (-235.0, 944.0) })/Line(Line { p0: (-235.0, 944.0), p1: (-237.0, 944.0) }) = 4.76364169072622
  • uni0E4D0E49: Line(Line { p0: (-237.0, 944.0), p1: (-247.0, 943.0) })/Line(Line { p0: (-247.0, 943.0), p1: (-235.0, 944.0) }) = 0.9469514467736448 [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni0162 (U+0162): Line(Line { p0: (250.0, 0.0), p1: (292.0, 0.0) }) has the same coordinates as a previous segment. [code: overlapping-path-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • uni03BC (U+03BC): Line(Line { p0: (90.0, -220.0), p1: (91.0, 550.0) })
  • uni0E11 (U+0E11): Line(Line { p0: (196.0, 222.0), p1: (195.0, 0.0) })
  • uni0E13 (U+0E13): Line(Line { p0: (476.0, 113.0), p1: (475.0, 383.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (170.0, 113.0), p1: (169.0, 477.0) })
  • uni0E21 (U+0E21): Line(Line { p0: (211.0, 92.0), p1: (210.0, 214.0) })
  • seven (U+0037): Line(Line { p0: (408.0, 663.0), p1: (82.0, 662.0) })
  • uni0E5A (U+0E5A): Line(Line { p0: (316.0, 0.0), p1: (317.0, 443.0) })
  • uni0E5A (U+0E5A): Line(Line { p0: (437.0, 0.0), p1: (434.0, 576.0) })
  • uni0E2F (U+0E2F): Line(Line { p0: (314.0, 0.0), p1: (315.0, 441.0) })
    ... and 3 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[1] ofl/krub/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
  • 🔥 FAIL Please host your font project on a public Git repo (such as GitHub or GitLab) and place a link in the DESCRIPTION.en_us.html file. [code: lacks-git-url]
[22] ofl/krub/Krub-Light.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • dieresis_grave
  • Oacute
  • uni1E6F
  • Odieresis
  • AEacute
  • uni1EA6
  • egrave
  • uni1E8E
  • uni01DA
    ... and 283 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 557 but it should be 570 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni0E0C (U+0E0C): found 2, expected one of: {3, 1} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̂

  • į̌

  • į̀

  • į̄

  • į́

  • į̃

  • ị̂

  • ị̀

  • ị̄
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ǰ̦

  • j̦̊

  • j̦̇

  • j̦̈

  • j̦̋

  • j̦̆

  • j̦̀

  • j̦̉

  • j̦̄
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • q (U+0071): Line { p0: (452.0, 87.0), p1: (452.0, 433.0) } -> Line { p0: (452.0, 433.0), p1: (452.0, 444.0) }
  • uni0E12 (U+0E12): Line { p0: (547.0, 194.0), p1: (547.0, 133.0) } -> Line { p0: (547.0, 133.0), p1: (547.0, 101.0) }
  • uni0E1E (U+0E1E): Line { p0: (634.0, 576.0), p1: (634.0, 190.0) } -> Line { p0: (634.0, 190.0), p1: (634.0, 137.0) }
  • uni0E1F (U+0E1F): Line { p0: (634.0, 783.0), p1: (634.0, 190.0) } -> Line { p0: (634.0, 190.0), p1: (634.0, 137.0) }
  • uni0E22 (U+0E22): Line { p0: (477.0, 195.0), p1: (476.0, 284.0) } -> Line { p0: (476.0, 284.0), p1: (476.0, 576.0) }
  • uni0E22 (U+0E22): Line { p0: (529.0, 576.0), p1: (529.0, 284.0) } -> Line { p0: (529.0, 284.0), p1: (530.0, 193.0) }
  • uni210A (U+210A): Line { p0: (452.0, 85.0), p1: (452.0, 429.0) } -> Line { p0: (452.0, 429.0), p1: (452.0, 444.0) }
  • uni0E47 (U+0E47): Line { p0: (-213.0, 844.0), p1: (-279.0, 845.0) } -> Line { p0: (-279.0, 845.0), p1: (-347.0, 847.0) }
  • uni0E47.narrow: Line { p0: (-284.0, 844.0), p1: (-349.0, 846.0) } -> Line { p0: (-349.0, 846.0), p1: (-413.0, 847.0) } [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:
  • uni03BC (U+03BC): Line(Line { p0: (90.0, -220.0), p1: (91.0, 550.0) })
  • uni0E0F (U+0E0F): Line(Line { p0: (498.0, -201.0), p1: (497.0, 366.0) })
  • toPatakthai.short: Line(Line { p0: (498.0, -150.0), p1: (497.0, 366.0) })
  • uni0E11 (U+0E11): Line(Line { p0: (206.0, 222.0), p1: (205.0, 0.0) })
  • uni0E13 (U+0E13): Line(Line { p0: (474.0, 118.0), p1: (473.0, 383.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (160.0, 113.0), p1: (159.0, 481.0) })
  • uni0E1C (U+0E1C): Line(Line { p0: (129.0, 466.0), p1: (130.0, 130.0) })
  • uni0E1D (U+0E1D): Line(Line { p0: (129.0, 466.0), p1: (130.0, 130.0) })
  • seven (U+0037): Line(Line { p0: (395.0, 653.0), p1: (87.0, 652.0) })
    ... and 4 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]
[22] ofl/krub/Krub-SemiBold.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Ograve
  • zdotaccent
  • Tcaron
  • uni0122
  • uni1E8E
  • uni1E48
  • Lacute
  • uni1E60
  • igrave
    ... and 281 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 566 but it should be 579 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ 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: ǯ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • ị̄

  • ị̀

  • ị̃

  • ị̂

  • ị́

  • į̌

  • į̄

  • į̀

  • į̃
    ... and 2 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ị̮̌

  • ị̮̄

  • ị̮̀

  • ị̮̉

  • ị̮̃

  • ị̮̋

  • ị̮̈

  • ị̮̂

  • ị̮̊
    ... and 198 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • K (U+004B): Line { p0: (220.0, 399.0), p1: (271.0, 399.0) } -> Line { p0: (271.0, 399.0), p1: (279.0, 399.0) }
  • uni0136 (U+0136): Line { p0: (220.0, 399.0), p1: (271.0, 399.0) } -> Line { p0: (271.0, 399.0), p1: (279.0, 399.0) }
  • q (U+0071): Line { p0: (406.0, 129.0), p1: (406.0, 411.0) } -> Line { p0: (406.0, 411.0), p1: (406.0, 417.0) }
  • uni0E2C (U+0E2C): Line { p0: (694.0, 457.0), p1: (694.0, 190.0) } -> Line { p0: (694.0, 190.0), p1: (694.0, 137.0) }
  • loChulathai.short: Line { p0: (694.0, 457.0), p1: (694.0, 190.0) } -> Line { p0: (694.0, 190.0), p1: (694.0, 137.0) }
  • uni210A (U+210A): Line { p0: (406.0, 138.0), p1: (406.0, 413.0) } -> Line { p0: (406.0, 413.0), p1: (406.0, 417.0) }
  • uni0E47 (U+0E47): Line { p0: (-215.0, 842.0), p1: (-281.0, 844.0) } -> Line { p0: (-281.0, 844.0), p1: (-346.0, 845.0) }
  • uni0E47.narrow: Line { p0: (-335.0, 842.0), p1: (-399.0, 844.0) } -> Line { p0: (-399.0, 844.0), p1: (-461.0, 845.0) }
  • uni0E38 (U+0E38): Line { p0: (-67.0, -176.0), p1: (-68.0, -268.0) } -> Line { p0: (-68.0, -268.0), p1: (-68.0, -288.0) }
    ... and 1 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (368.5, 17.0), p1: (340.0, 43.0), p2: (336.0, 90.0) })/Quad(QuadBez { p0: (336.0, 90.0), p1: (332.0, 46.0), p2: (300.0, 19.5) }) = 10.058943345495328
  • uni0E0C (U+0E0C): Quad(QuadBez { p0: (309.5, 164.5), p1: (331.0, 147.0), p2: (335.0, 113.0) })/Quad(QuadBez { p0: (335.0, 113.0), p1: (337.0, 159.0), p2: (362.5, 192.5) }) = 9.199389729756085 [code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • uni0E0F (U+0E0F): Line(Line { p0: (444.0, -175.0), p1: (442.0, 377.0) })
  • toPatakthai.short: Line(Line { p0: (444.0, -126.0), p1: (442.0, 377.0) })
  • uni0E11 (U+0E11): Line(Line { p0: (245.0, 202.0), p1: (244.0, 0.0) })
  • uni0E13 (U+0E13): Line(Line { p0: (434.0, 116.0), p1: (433.0, 383.0) })
  • uni0E17 (U+0E17): Line(Line { p0: (288.0, 458.0), p1: (287.0, 302.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (150.0, 113.0), p1: (149.0, 480.0) })
  • uni0E19 (U+0E19): Line(Line { p0: (268.0, 458.0), p1: (267.0, 165.0) })
  • uni0E1A (U+0E1A): Line(Line { p0: (268.0, 458.0), p1: (267.0, 176.0) })
  • uni0E1B (U+0E1B): Line(Line { p0: (268.0, 458.0), p1: (267.0, 176.0) })
    ... and 11 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    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.000; ttfautohint (v1.6), Version 1.000; ttfautohint (v1.6) [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
79 240 43 934 628
4% 13% 2% 52% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.5.1

Check results

[1] ofl/kurale/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)"

which does not match the expected format, similar to:

"Copyright 2022 The Familyname Project Authors (git url)" [code: bad-format]

[1] ofl/kurale/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[25] ofl/kurale/Kurale-Regular.ttf
🔥 FAIL PPEM must be an integer on hinted fonts. (integer_ppem_if_hinted)
  • 🔥 FAIL This is a hinted font, so it must have bit 3 set on the flags of the head table, so that PPEM values will be rounded into an integer value. [code: bad-flags]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * kaa_Cyrl (Kara-Kalpak)
The following base characters are missing from the font: Ҳ, ҳ
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
Mandatory orthography codepoints: * tg_Cyrl (Tajik)
The following base characters are missing from the font: ҳ * uz_Cyrl (Uzbek (Cyrillic))
* tg_Cyrl (Tajik)
* uz_Cyrl (Uzbek (Cyrillic))
  • ⚠️ WARN Warning language shaping:
Message Languages
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: ǎ
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́' * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni044D when shaping the text 'э́'
Shaper didn't attach acutecomb to uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * uk_Cyrl (Ukrainian)
Shaper didn't attach acutecomb to uni0454 when shaping the text 'є́' * uk_Cyrl (Ukrainian)
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́'
Shaper didn't attach acutecomb to uni0457 when shaping the text 'ї́'
Shaper didn't attach acutecomb to uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * bg_Cyrl (Bulgarian)
Shaper didn't attach gravecomb to uni044A when shaping the text 'ъ̀' * bg_Cyrl (Bulgarian)
Shaper didn't attach gravecomb to uni044E when shaping the text 'ю̀'
Shaper didn't attach gravecomb to uni044F when shaping the text 'я̀'
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: ſ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * ru_Cyrl (Russian)
Shaper didn't attach acutecomb to uni044D when shaping the text 'э́' * ru_Cyrl (Russian)
Shaper didn't attach acutecomb to uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
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: ǯ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: ẽ
Shaper didn't attach tildecomb to Aogonek when shaping the text 'Ą̃'
Shaper didn't attach tildecomb to Eogonek when shaping the text 'Ę̃'
Shaper didn't attach tildecomb to Edotaccent when shaping the text 'Ė̃'
Shaper didn't attach tildecomb to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach tildecomb to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach tildecomb to Iogonek when shaping the text 'Į̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
Shaper didn't attach tildecomb to L when shaping the text 'L̃'
Shaper didn't attach tildecomb to M when shaping the text 'M̃'
Shaper didn't attach tildecomb to R when shaping the text 'R̃'
Shaper didn't attach tildecomb to Uogonek when shaping the text 'Ų̃'
Shaper didn't attach tildecomb to Umacron when shaping the text 'Ū̃'
Shaper didn't attach acutecomb to aogonek when shaping the text 'ą́'
Shaper didn't attach tildecomb to aogonek when shaping the text 'ą̃'
Shaper didn't attach acutecomb to eogonek when shaping the text 'ę́'
Shaper didn't attach tildecomb to eogonek when shaping the text 'ę̃'
Shaper didn't attach acutecomb to edotaccent when shaping the text 'ė́'
Shaper didn't attach tildecomb to edotaccent when shaping the text 'ė̃'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̃'
Shaper didn't attach acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach tildecomb to iogonek when shaping the text 'į̃'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇̃'
Shaper didn't attach tildecomb to uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to l when shaping the text 'l̃'
Shaper didn't attach tildecomb to m when shaping the text 'm̃'
Shaper didn't attach tildecomb to r when shaping the text 'r̃'
Shaper didn't attach acutecomb to uogonek when shaping the text 'ų́'
Shaper didn't attach tildecomb to uogonek when shaping the text 'ų̃'
Shaper didn't attach acutecomb to umacron when shaping the text 'ū́'
Shaper didn't attach tildecomb to umacron when shaping the text 'ū̃'
🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • uni0308
  • uni0307
  • gravecomb
  • acutecomb
  • uni030B
  • uni0302
  • uni030C
  • uni0306
  • uni030A
    ... and 44 others [code: unattached-dotted-circle-marks]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ 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]

⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni091B094D0935 (unencoded): found 1, expected one of: {4, 3, 2}
  • uni092B094D0932 (unencoded): found 2, expected one of: {3} [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 621 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=563: plusminus, lessequal, greaterequal, logicalnot, notequal, approxequal [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • f.alt
  • z.alt
  • z.altacute
  • z.altcaron
  • z.altdotaccent
  • y.calt
  • da_rvocalicsigndevadeva
  • n_altdeva
  • ya_altdeva
    ... and 69 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]

⚠️ 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:
  • į̂

  • į̄

  • į̃

  • į̌

  • į̀

  • į́

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

  • į̨̂

  • į̨̇

  • į̨̄

  • į̨̃

  • į̨̌

  • į̨̋

  • į̨̈

  • į̨̀

  • į̨̆
    ... and 158 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): Line { p0: (646.0, 101.0), p1: (645.0, 135.0) } -> Line { p0: (645.0, 135.0), p1: (617.0, 514.0) }
  • uni041C (U+041C): Line { p0: (646.0, 101.0), p1: (645.0, 135.0) } -> Line { p0: (645.0, 135.0), p1: (617.0, 514.0) }
  • uni046A (U+046A): Line { p0: (412.0, 306.0), p1: (269.0, 521.0) } -> Line { p0: (269.0, 521.0), p1: (251.0, 548.0) }
  • uni0496 (U+0496): Line { p0: (700.0, 74.0), p1: (699.0, 76.0) } -> Line { p0: (699.0, 76.0), p1: (617.0, 241.0) }
  • uni049B (U+049B): Line { p0: (351.0, 50.0), p1: (339.0, 69.0) } -> Line { p0: (339.0, 69.0), p1: (276.0, 174.0) }
  • uni049B (U+049B): Line { p0: (432.0, 87.0), p1: (449.0, 59.0) } -> Line { p0: (449.0, 59.0), p1: (457.0, 47.0) }
  • uni049D (U+049D): Line { p0: (256.0, 240.0), p1: (258.0, 240.0) } -> Line { p0: (258.0, 240.0), p1: (274.0, 240.0) }
  • pi (U+03C0): Line { p0: (234.0, 384.0), p1: (190.0, 134.0) } -> Line { p0: (190.0, 134.0), p1: (187.0, 111.0) }
  • uni090B (U+090B): Line { p0: (806.0, 389.0), p1: (806.0, 389.0) } -> Line { p0: (806.0, 389.0), p1: (806.0, 389.0) }
    ... and 10 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • Q (U+0051): Quad(QuadBez { p0: (130.0, 316.0), p1: (130.0, 187.0), p2: (184.0, 115.0) })/Quad(QuadBez { p0: (184.0, 115.0), p1: (182.0, 119.0), p2: (182.0, 133.0) }) = 10.304846468766044
  • uni051A (U+051A): Quad(QuadBez { p0: (130.0, 316.0), p1: (130.0, 187.0), p2: (184.0, 115.0) })/Quad(QuadBez { p0: (184.0, 115.0), p1: (182.0, 119.0), p2: (182.0, 133.0) }) = 10.304846468766044
  • uni0938094D0930: Quad(QuadBez { p0: (234.0, 283.0), p1: (191.0, 283.0), p2: (178.0, 301.0) })/Quad(QuadBez { p0: (178.0, 301.0), p1: (217.0, 225.0), p2: (259.5, 170.0) }) = 8.672667896946376
  • uni0938094D: Quad(QuadBez { p0: (234.0, 283.0), p1: (191.0, 283.0), p2: (178.0, 301.0) })/Quad(QuadBez { p0: (178.0, 301.0), p1: (217.0, 225.0), p2: (259.5, 170.0) }) = 8.672667896946376
  • sa_virama_ta_virama_radeva: Quad(QuadBez { p0: (234.0, 283.0), p1: (191.0, 283.0), p2: (178.0, 301.0) })/Quad(QuadBez { p0: (178.0, 301.0), p1: (217.0, 225.0), p2: (259.5, 170.0) }) = 8.672667896946376 [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni090B (U+090B): Line(Line { p0: (806.0, 389.0), p1: (806.0, 389.0) }) has the same coordinates as a previous segment. [code: overlapping-path-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • l (U+006C): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) })
  • lacute (U+013A): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) })
  • lcaron (U+013E): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) })
  • lcommaaccent (U+013C): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) })
  • ldot (U+0140): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) })
  • lslash (U+0142): Line(Line { p0: (172.0, 680.0), p1: (170.0, 379.0) })
  • f_f_l: Line(Line { p0: (722.0, 676.0), p1: (721.0, 80.0) })
  • uni0463 (U+0463): Line(Line { p0: (245.0, 680.0), p1: (244.0, 445.0) })
  • uni0463 (U+0463): Line(Line { p0: (244.0, 374.0), p1: (243.0, 155.0) })
    ... and 8 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'ACEd' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Kurale-Regular.ttf
Dehinted Size 166752
Hinted Size 250224
Increase 83472
Change 50.1 %
ℹ️ 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 2.000, Version 2.000 [code: version-not-detected]
[8] ofl/kurale
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 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 Aleut, 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 cyrillic-ext, cyrillic, devanagari, latin-ext, latin:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Kurale-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)" [code: bad-notice-format]

  • 🔥 FAIL Kurale-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)" [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/kurale/Kurale-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: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, cherokee, coptic, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: duployan, malayalam, hebrew, syriac, tai-le, coptic, math, todhri, tifinagh, canadian-aboriginal, old-permic
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 33 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

ℹ️ INFO METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.14% 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 for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[1] ofl/kurale/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
11 26 10 111 56
6% 13% 5% 56% 28%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.5.1

Check results

[1] ofl/nerkoone/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[7] ofl/nerkoone
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Aleut 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+0302) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead partial sample text for language Igbo, 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 latin-ext, latin:
  • Ụ (U+1EE4)
  • ụ (U+1EE5) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Igbo, 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 latin-ext, latin:
  • ị (U+1ECB)
  • ọ (U+1ECD) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Igbo, 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 latin-ext, latin:
  • Ọ (U+1ECC) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Lamnso’ language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the poster lg sample text (This suggests there's something wrong with the sample text):
  • ̀ (U+0300)
  • ́ (U+0301) [code: bad-sample-text]
  • 🔥 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]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/nerkoone/NerkoOne-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+0096 : try adding symbols
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: math, elbasan, greek
  • U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE: try adding vietnamese
  • U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE: try adding vietnamese
  • U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW: try adding vietnamese
  • U+1ECB LATIN SMALL LETTER I WITH DOT BELOW: try adding vietnamese
  • U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW: try adding vietnamese
  • U+1ECD LATIN SMALL LETTER O WITH DOT BELOW: try adding vietnamese
    ... and 17 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=LICENSE_DESCRIPTION] [code: http-in-description]

  • ⚠️ WARN Please consider updating the url from 'https://scripts.sil.org/OFL' to 'https://openfontlicense.org'. [code: old-url]

  • ⚠️ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]

ℹ️ INFO METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.18% 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 for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[25] ofl/nerkoone/NerkoOne-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL The following glyphs are missing case-swapping counterparts:
Glyph present in the font Missing case-swapping counterpart
U+1E25: LATIN SMALL LETTER H WITH DOT BELOW U+1E24: LATIN CAPITAL LETTER H WITH DOT BELOW
U+018E: LATIN CAPITAL LETTER REVERSED E U+01DD: LATIN SMALL LETTER TURNED E
🔥 FAIL Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • 🔥 FAIL The '.notdef' glyph should contain a drawing, but it is blank. [code: notdef-is-blank]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * hu_Latn (Hungarian)
The following mark characters are missing from the font: ́, ̋, ̈
Mandatory orthography codepoints: * pt_Latn (Portuguese)
The following mark characters are missing from the font: ̃, ̂, ̈, ́, ̧, ̀
Mandatory orthography codepoints: * tr_Latn (Turkish)
The following mark characters are missing from the font: ̂, ̇, ̈, ̆, ̦, ̧
Mandatory orthography codepoints: * ca_Latn (Catalan)
The following mark characters are missing from the font: ́, ̈, ̧, ̀
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following mark characters are missing from the font: ̈, ̀, ́, ̂
Mandatory orthography codepoints: * nl_Latn (Dutch)
The following base characters are missing from the font: íj́, ÍJ́
The following mark characters are missing from the font: ̂, ́, ̈, ̀
Mandatory orthography codepoints: * es_Latn (Spanish)
The following mark characters are missing from the font: ̃, ́, ̈
Mandatory orthography codepoints: * da_Latn (Danish)
The following mark characters are missing from the font: ́, ̊
Mandatory orthography codepoints: * fr_Latn (French)
The following mark characters are missing from the font: ̂, ̈, ́, ̀, ̧
Mandatory orthography codepoints: * pl_Latn (Polish)
The following mark characters are missing from the font: ̨, ̇, ́
Mandatory orthography codepoints: * sk_Latn (Slovak)
The following mark characters are missing from the font: ̈, ̂, ́, ̌
Mandatory orthography codepoints: * ro_Latn (Romanian)
The following mark characters are missing from the font: ̆, ̂, ̦, ̧
Mandatory orthography codepoints: * sq_Latn (Albanian)
The following mark characters are missing from the font: ̧, ̈
Mandatory orthography codepoints: * it_Latn (Italian)
The following mark characters are missing from the font: ̈, ́, ̀, ̂
Mandatory orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following mark characters are missing from the font: ́, ̀, ̂, ̊, ̈
Mandatory orthography codepoints: * lv_Latn (Latvian)
The following mark characters are missing from the font: ̧, ̌, ̄
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
The following mark characters are missing from the font: ́, ̈, ̀
Mandatory orthography codepoints: * fi_Latn (Finnish)
The following mark characters are missing from the font: ̃, ̈, ̌, ̊
Mandatory orthography codepoints: * is_Latn (Icelandic)
The following mark characters are missing from the font: ̈, ̨, ́
Mandatory orthography codepoints: * cs_Latn (Czech)
The following mark characters are missing from the font: ̊, ́, ̌
Mandatory orthography codepoints: * en_Latn (English)
The following mark characters are missing from the font: ̈, ̂, ́, ̧, ̀, ̃
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following mark characters are missing from the font: ̂, ̇, ̀
Mandatory orthography codepoints: * sv_Latn (Swedish)
The following mark characters are missing from the font: ́, ̊, ̈, ̀
Mandatory orthography codepoints: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̨, ̄, ̌, ̇
Mandatory orthography codepoints: * hr_Latn (Croatian)
The following mark characters are missing from the font: ́, ̌
  • ⚠️ 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: ǯ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
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: ǎ
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: Ė́
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: J̃
The following auxiliary characters are missing from the font: J̇̃
The following auxiliary characters are missing from the font: L̃
The following auxiliary characters are missing from the font: M̃
The following auxiliary characters are missing from the font: R̃
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: i̇́
The following auxiliary characters are missing from the font: i̇̀
The following auxiliary characters are missing from the font: i̇̃
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: j̃
The following auxiliary characters are missing from the font: j̇̃
The following auxiliary characters are missing from the font: l̃
The following auxiliary characters are missing from the font: m̃
The following auxiliary characters are missing from the font: r̃
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: ʻ
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: ſ
The following auxiliary characters are missing from the font: ǔ
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.1009979 is equal to version on Google fonts [code: same-version]
🔥 FAIL Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts. (googlefonts/vertical_metrics_regressions)
  • 🔥 FAIL OS/2 sTypoAscender is 894 when it should be 937 [code: bad-typo-ascender]

  • 🔥 FAIL OS/2 sTypoDescender is -317 when it should be -319 [code: bad-typo-descender]

  • 🔥 FAIL hhea Ascender is 894 when it should be 937 [code: bad-hhea-ascender]

  • 🔥 FAIL hhea Descender is -317 when it should be -319 [code: bad-hhea-descender]

⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ 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]

⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni1EE5 (U+2022): found 2, expected one of: {5, 1}
  • uni1ECA (U+1ECA): found 1, expected one of: {3, 2, 6}
  • uni1EC8 (U+1EC8): found 1, expected one of: {2, 6, 3}
  • quotedblbase (U+201E): found 1, expected one of: {2, 6}
  • uni201C (U+201C): found 1, expected one of: {6, 2}
  • quotedbl (U+0022): found 1, expected one of: {6, 2}
  • uni1EC9 (U+1EC9): found 1, expected one of: {2, 6} [code: contour-count]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 408 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=442: greater, less
    width=500: equal
    width=564: plusminus
    width=251: multiply
    width=563: plus
    width=594: logicalnot
    width=571: divide
    width=588: approxequal
    width=575: greaterequal, lessequal [code: width-outliers]
⚠️ WARN Ensure indic fonts have the Indian Rupee Sign glyph. (rupee)
  • ⚠️ WARN Font is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9. [code: missing-rupee]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN License URL matches License text on name table? (googlefonts/name/license_url)
  • ⚠️ WARN Please consider using HTTPS URLs in the license description [code: http-in-description]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • Idotaccent (U+0130): Line { p0: (31.0, 687.0), p1: (31.0, 692.0) } -> Line { p0: (31.0, 692.0), p1: (31.0, 698.0) }
  • Uogonek (U+0172): Line { p0: (275.0, 424.0), p1: (273.0, 439.0) } -> Line { p0: (273.0, 439.0), p1: (271.0, 457.0) }
  • uni0214 (U+0214): Line { p0: (275.0, 424.0), p1: (273.0, 439.0) } -> Line { p0: (273.0, 439.0), p1: (271.0, 457.0) }
  • uni0216 (U+0216): Line { p0: (275.0, 424.0), p1: (273.0, 439.0) } -> Line { p0: (273.0, 439.0), p1: (271.0, 457.0) }
  • W (U+0057): Line { p0: (466.0, 157.0), p1: (475.0, 240.0) } -> Line { p0: (475.0, 240.0), p1: (517.0, 534.0) }
  • Wcircumflex (U+0174): Line { p0: (466.0, 157.0), p1: (475.0, 240.0) } -> Line { p0: (475.0, 240.0), p1: (517.0, 534.0) }
  • Wgrave (U+1E80): Line { p0: (466.0, 157.0), p1: (475.0, 240.0) } -> Line { p0: (475.0, 240.0), p1: (517.0, 534.0) }
  • Wacute (U+1E82): Line { p0: (466.0, 157.0), p1: (475.0, 240.0) } -> Line { p0: (475.0, 240.0), p1: (517.0, 534.0) }
  • Wdieresis (U+1E84): Line { p0: (466.0, 157.0), p1: (475.0, 240.0) } -> Line { p0: (475.0, 240.0), p1: (517.0, 534.0) }
    ... and 31 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • Eacute (U+00C9): Quad(QuadBez { p0: (333.0, 567.0), p1: (318.0, 565.0), p2: (304.0, 565.0) })/Line(Line { p0: (304.0, 565.0), p1: (333.0, 567.0) }) = 3.9451862290376023
  • Eacute (U+00C9): Line(Line { p0: (304.0, 565.0), p1: (333.0, 567.0) })/Quad(QuadBez { p0: (333.0, 567.0), p1: (318.0, 565.0), p2: (304.0, 565.0) }) = 3.6494571395539603
  • Eng (U+014A): Quad(QuadBez { p0: (503.5, 99.0), p1: (509.0, 66.0), p2: (510.0, 58.0) })/Quad(QuadBez { p0: (510.0, 58.0), p1: (510.0, 59.0), p2: (512.5, 48.0) }) = 7.125016348901757
  • uni03A9 (U+03A9): Quad(QuadBez { p0: (131.5, 623.0), p1: (180.0, 659.0), p2: (247.0, 664.0) })/Quad(QuadBez { p0: (247.0, 664.0), p1: (234.0, 663.0), p2: (230.5, 663.0) }) = 0.1308120547088842
  • uni2113 (U+2113): Quad(QuadBez { p0: (95.5, 151.5), p1: (96.0, 169.0), p2: (97.0, 170.0) })/Quad(QuadBez { p0: (97.0, 170.0), p1: (62.0, 134.0), p2: (48.0, 120.5) }) = 0.8069294551026209
  • aogonek (U+0105): Quad(QuadBez { p0: (292.0, -11.0), p1: (300.0, 0.0), p2: (314.0, 6.0) })/Quad(QuadBez { p0: (314.0, 6.0), p1: (297.0, 3.0), p2: (267.5, 1.0) }) = 13.190610712206839
  • exclam (U+0021): Line(Line { p0: (35.0, 239.0), p1: (35.0, 238.0) })/Line(Line { p0: (35.0, 238.0), p1: (30.0, 522.0) }) = 1.0086243106599666 [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • Eacute (U+00C9): Line(Line { p0: (304.0, 565.0), p1: (333.0, 567.0) }) has the same coordinates as a previous segment.
  • uni0210 (U+0210): Quad(QuadBez { p0: (167.0, 491.0), p1: (167.0, 491.0), p2: (166.5, 491.0) }) has the same coordinates as a previous segment.
  • uni0210 (U+0210): Quad(QuadBez { p0: (166.5, 491.0), p1: (166.0, 491.0), p2: (167.0, 491.0) }) has the same coordinates as a previous segment.
  • uni0212 (U+0212): Quad(QuadBez { p0: (167.0, 491.0), p1: (167.0, 491.0), p2: (166.5, 491.0) }) has the same coordinates as a previous segment.
  • uni0212 (U+0212): Quad(QuadBez { p0: (166.5, 491.0), p1: (166.0, 491.0), p2: (167.0, 491.0) }) has the same coordinates as a previous segment.
  • exclam (U+0021): Quad(QuadBez { p0: (197.0, 504.0), p1: (197.0, 504.0), p2: (197.0, 504.0) }) has the same coordinates as a previous segment. [code: overlapping-path-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • Z (U+005A): Line(Line { p0: (208.0, 98.0), p1: (355.0, 99.0) })
  • Zacute (U+0179): Line(Line { p0: (208.0, 98.0), p1: (355.0, 99.0) })
  • Zdotaccent (U+017B): Line(Line { p0: (208.0, 98.0), p1: (355.0, 99.0) })
  • Zcaron (U+017D): Line(Line { p0: (208.0, 98.0), p1: (355.0, 99.0) })
  • uni1E92 (U+1E92): Line(Line { p0: (208.0, 98.0), p1: (355.0, 99.0) })
  • AEacute (U+01FC): Line(Line { p0: (411.0, 167.0), p1: (290.0, 168.0) })
  • uni01F1 (U+01F1): Line(Line { p0: (628.0, 98.0), p1: (775.0, 99.0) })
  • uni03A9 (U+03A9): Line(Line { p0: (280.0, 4.0), p1: (21.0, 5.0) })
  • uni03A9 (U+03A9): Line(Line { p0: (560.0, 6.0), p1: (302.0, 4.0) })
    ... and 14 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 "Nerko One" 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:
NerkoOne-Regular.ttf
Dehinted Size 102392
Hinted Size 102416
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    prep
    GPOS
    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.101 [code: version-not-detected]
[2] ofl/nerkoone/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)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
18 21 11 108 59
9% 10% 6% 54% 30%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.5.1

Check results

[20] ofl/oxanium/Oxanium[wght].ttf
🔥 FAIL Validates subfamilyNameID and postScriptNameID for the default instance record (opentype/varfont/valid_default_instance_nameids)
  • 🔥 FAIL ExtraLight instance has the same coordinates as the default instance; its postscript name should be Oxanium-ExtraLight instead of OxaniumRoman-ExtraLight. [code: invalid-default-instance-postscript-name]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • onehalf
  • threequarters
  • perthousand
  • onequarter
  • percent [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: DSIG Reason: This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly.

The current recommendation is to completely remove the DSIG table.
[code: unwanted-tables]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: ẁ, ẃ, Ŵ, Ẅ, ẅ, ỳ, Ẃ, Ŷ, ŵ, Ỳ, Ẁ, ŷ
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: GĦ, għ, Ċ, ħ, ċ, ġ, Ħ, Ġ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: ŭ
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: ʻ
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: ŭ
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: ŭ
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: ũ
Shaper didn't attach uni0301 to Aogonek when shaping the text 'Ą́'
Shaper didn't attach uni0303 to Aogonek when shaping the text 'Ą̃'
Shaper didn't attach uni0301 to Eogonek when shaping the text 'Ę́'
Shaper didn't attach uni0303 to Eogonek when shaping the text 'Ę̃'
Shaper didn't attach uni0301 to Edotaccent when shaping the text 'Ė́'
Shaper didn't attach uni0303 to Edotaccent when shaping the text 'Ė̃'
Shaper didn't attach uni0301 to Idotaccent when shaping the text 'İ́'
Shaper didn't attach uni0301 to Idotaccent when shaping the text 'İ́'
Shaper didn't attach uni0300 to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach uni0300 to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach uni0303 to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach uni0303 to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach uni0301 to Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'Į̇́'
Shaper didn't attach uni0303 to Iogonek when shaping the text 'Į̃'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'Į̇̃'
Shaper didn't attach uni0301 to Uogonek when shaping the text 'Ų́'
Shaper didn't attach uni0303 to Uogonek when shaping the text 'Ų̃'
Shaper didn't attach uni0301 to Umacron when shaping the text 'Ū́'
Shaper didn't attach uni0303 to Umacron when shaping the text 'Ū̃'
Shaper didn't attach uni0301 to aogonek when shaping the text 'ą́'
Shaper didn't attach uni0303 to aogonek when shaping the text 'ą̃'
Shaper didn't attach uni0301 to eogonek when shaping the text 'ę́'
Shaper didn't attach uni0303 to eogonek when shaping the text 'ę̃'
Shaper didn't attach uni0301 to edotaccent when shaping the text 'ė́'
Shaper didn't attach uni0303 to edotaccent when shaping the text 'ė̃'
Shaper didn't attach uni0301 to iogonek when shaping the text 'į́'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'į̇́'
Shaper didn't attach uni0303 to iogonek when shaping the text 'į̃'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'į̇̃'
Shaper didn't attach uni0301 to uogonek when shaping the text 'ų́'
Shaper didn't attach uni0303 to uogonek when shaping the text 'ų̃'
Shaper didn't attach uni0301 to umacron when shaping the text 'ū́'
Shaper didn't attach uni0303 to umacron when shaping the text 'ū̃'
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: * 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: ŧ
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: * 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: ǔ
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2 is equal to version on Google fonts [code: same-version]
⚠️ 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 Ensure indic fonts have the Indian Rupee Sign glyph. (rupee)
  • ⚠️ WARN Font is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9. [code: missing-rupee]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 899, but got 790 instead [code: typoAscender]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ 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:
  • į̌

  • į́

  • į̀

  • į̃

  • į̄

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

  • į̧̊

  • į̧̌

  • į̧́

  • į̧̀

  • į̧̈

  • į̧̃

  • į̧̋

  • į̧̆

  • į̧̄
    ... and 74 others [code: soft-dotted]

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • Atilde (U+00C3): X=400,Y=789 (should be at ascender 790?)
    • Atilde (U+00C3): X=302,Y=789 (should be at ascender 790?)
    • Ntilde (U+00D1): X=457,Y=789 (should be at ascender 790?)
    • Ntilde (U+00D1): X=359,Y=789 (should be at ascender 790?)
    • Otilde (U+00D5): X=444,Y=789 (should be at ascender 790?)
    • Otilde (U+00D5): X=346,Y=789 (should be at ascender 790?)
    • uni0303.cap: X=-218,Y=789 (should be at ascender 790?)
    • uni0303.cap: X=-316,Y=789 (should be at ascender 790?)
    • at (U+0040): X=95,Y=2 (should be at baseline 0?)
      ... and 1 others [code: found-misalignments]
⚠️ 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]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value ' ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Oxanium[wght].ttf
Dehinted Size 39848
Hinted Size 43536
Increase 3688
Change 9.3 %
ℹ️ 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 2.000 [code: version-not-detected]
[2] ofl/oxanium/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that severinmeyer is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[7] ofl/oxanium
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 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]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/oxanium/Oxanium[wght].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: yi, canadian-aboriginal
  • 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: coptic, cherokee, math, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: old-permic, canadian-aboriginal, coptic, tai-le, hebrew, malayalam, math, tifinagh, syriac, todhri, duployan
  • U+030A COMBINING RING ABOVE: try adding one of: duployan, syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
    ... and 27 others

Or you can add the above codepoints to one of the subsets supported by the font: 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.09% 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 for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO None of the fonts lack a STAT table.

    And these are the most common STAT axis orderings:
    wght: 1 [code: summary]

[2] ofl/oxanium/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)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
8 16 10 133 36
4% 8% 5% 66% 18%

@felipesanches felipesanches merged commit 3b1bbfe into main Oct 30, 2025
11 checks passed
@felipesanches felipesanches deleted the sources_info_2025-10-29 branch October 30, 2025 05:54
felipesanches added a commit to googlefonts/fontc_crater that referenced this pull request Oct 30, 2025
felipesanches added a commit to googlefonts/fontc_crater that referenced this pull request Oct 30, 2025
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