Skip to content

Add override config.yaml for more families with compatible sources file format#10464

Merged
felipesanches merged 50 commits into
mainfrom
add-override-config-compat-sources
Apr 24, 2026
Merged

Add override config.yaml for more families with compatible sources file format#10464
felipesanches merged 50 commits into
mainfrom
add-override-config-compat-sources

Conversation

@felipesanches
Copy link
Copy Markdown
Collaborator

No description provided.

- Repo: thundernixon/Encode-Sans
- Commit: 6407de854a4dc3bfbe2160a11c5b57f5a1baf3bc (unchanged)
- Config: override in ofl/encodesans/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs source at the pinned commit but no config file. An
override was added referencing sources/Encode-Sans.glyphs. STAT values
omitted — gftools-builder will auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: enathu/pavanam
- Commit: c4ba9335116a4ff2c124ebf918455748caedccac (unchanged)
- Config: override in ofl/pavanam/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .ufo source at the pinned commit but no config file. An
override was added referencing source/Pavanam-Regular.ufo. STAT values
omitted — gftools-builder will auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: theleagueof/prociono
- Commit: f9d9680de6d6f0c13939f23c9dd14cd7853cf844 (unchanged)
- Config: override in ofl/prociono/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .ufo
sources at the pinned commit but no config file. An override was added
referencing source/Prociono.ufo. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: alexeiva/rubikmonoone
- Commit: 7d08552d8921a0b864538b030cd0f59e7acdd4b1 (unchanged)
- Config: override in ofl/rubikmonoone/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/RubikMonoOne.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: m4rc1e/Ruda-new
- Commit: a63532e04ffb0f46b635cf9e000966155958e19d (unchanged)
- Config: override in ofl/ruda/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing Ruda_new.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: daltonmaag/scope-one
- Commit: 7a5c5df7367bdba124c4dcf8f59b15912811c3c4 (unchanged)
- Config: override in ofl/scopeone/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .ufo
sources at the pinned commit but no config file. An override was added
referencing source/ScopeOne_Rg.ufo. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: MichalSahar/Suez
- Commit: 04af4fcca02b34b461033520fc758132f7519c49 (unchanged)
- Config: override in ofl/suezone/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/SuezOne.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: noponies/sulphur-point
- Commit: 2c1a600846ca8b7890a89076aeeb2d43cdaeac23 (unchanged)
- Config: override in ofl/sulphurpoint/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/sulphur-point.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: motaitalic/vesper-libre
- Commit: b765c5a68c1786a177b46e3b3ecd766157ffe349 (unchanged)
- Config: override in ofl/vesperlibre/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing VesperLibre.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: alexeiva/yesevaone
- Commit: 0d609f6155ed0fe1d822696135ffbd04b88fd017 (unchanged)
- Config: override in ofl/yesevaone/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/YesevaOne.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: m4rc1e/zhimangxing
- Commit: 15cb1b0d4c78da973e8459a8e2f23a9aef00d8a6 (unchanged)
- Config: override in ofl/zhimangxing/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/ZhiMangXing.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-idiqlat
- Commit: 37a6c68fa053f4b4b4c9f6d67c569f66621b6daa (unchanged)
- Config: override in ofl/idiqlat/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/Idiqlat.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: clauseggers/Inknut-Antiqua
- Commit: 9db4a5c235ef042adbc0da37fcf3dda3ffe59201 (unchanged)
- Config: override in ofl/inknutantiqua/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing 'Inknut Antiqua uprights.glyphs'. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: BlackFoundryCom/InriaFonts
- Commit: 9b015af5d8ab574b6afeffd324443bfcbf77e300 (unchanged)
- Config: override in ofl/inriasans/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .ufo
sources at the pinned commit but no config file. An override was added
referencing masters/INRIA-SANS/InriaSans-*.ufo (6 styles). STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: BlackFoundryCom/InriaFonts
- Commit: 9b015af5d8ab574b6afeffd324443bfcbf77e300 (unchanged)
- Config: override in ofl/inriaserif/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .ufo
sources at the pinned commit but no config file. An override was added
referencing masters/INRIA-SERIF/InriaSerif-*.ufo (6 styles). STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-kanchenjunga/
- Commit: 19a3efac0c2ca42a1b28a53c74ca8f3eb6c12ca7 (unchanged)
- Config: override in ofl/kanchenjunga/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/Kanchenjunga.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-kayphodu
- Commit: 4c49d8ac7ae00cf0ee10db3c3c35dc49ca9efd4d (unchanged)
- Config: override in ofl/kayphodu/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/KayPhoDu.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-kedebideri
- Commit: 4973b2e0258ef40acc0da3c2c1d155630faecc2c (unchanged)
- Config: override in ofl/kedebideri/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/Kedebideri.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: originaltype/kufam
- Commit: a2c0c9552f98295167bc33bdb9c6256dd6abdc8a (unchanged)
- Config: override in ofl/kufam/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/Kufam_Arabic_Latin_Roman_Master.glyphs and sources/Kufam_Latin_Italic_Master.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-namdhinggo
- Commit: 2c6ac797b061941d1f46c980910982b1b1f240ab (unchanged)
- Config: override in ofl/namdhinggo/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/Namdhinggo.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
…m sources)

- Repo: theleagueof/sorts-mill-goudy
- Commit: 06072890c7b05f274215a24f17449655ccb2c8af (unchanged)
- Config: override in ofl/oflsortsmillgoudytt/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .ufo
sources at the pinned commit but no config file. An override was added
referencing source/OFLGoudyStM.ufo and source/OFLGoudyStM-Italic.ufo. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-padauk
- Commit: 278b8efb03c0ca0d7f29fb3edc1f52489ebb384f (unchanged)
- Config: override in ofl/padauk/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/Padauk.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: cadsondemak/prompt
- Commit: 18f813a4dea16a7ecc6f944053d3ce2cd4d7e824 (unchanged)
- Config: override in ofl/prompt/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .glyphs
sources at the pinned commit but no config file. An override was added
referencing Source/Prompt_*.glyphs (18 weight/style files). STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: silnrsi/font-ramsina
- Commit: 263c8d552bff566fad9e8c9b266ae32e6ab341b4 (unchanged)
- Config: override in ofl/ramsina/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .designspace
sources at the pinned commit but no config file. An override was added
referencing source/Ramsina.designspace. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: DunwichType/RhodiumLibre
- Commit: c6e9dc9167fb6f4bc6fc44f2262129aaf771c8a3 (unchanged)
- Config: override in ofl/rhodiumlibre/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing RhodiumLibre-Regular.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: lettersoup/Ropa-Sans
- Commit: 33acc9f9e7d126dd46b9e1efa03f98ea2e2046de (unchanged)
- Config: override in ofl/ropasans/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/RopaSans.glyphs and sources/RopaSans-Italic.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: huertatipografica/sahitya
- Commit: c4b5b34d0fbad63654b1d9a6bff72e566bf9a2c6 (unchanged)
- Config: override in ofl/sahitya/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .glyphs
sources at the pinned commit but no config file. An override was added
referencing Sahitya-Regular.glyphs and Sahitya-Bold.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: huertatipografica/sarala
- Commit: 7779e0c9eb121b25d9fcb7c20d5b3541b3f4fc15 (unchanged)
- Config: override in ofl/sarala/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing Sarala.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: googlefonts/scada
- Commit: df06a155d95984d259c8492aeaaa520188a3d46b (unchanged)
- Config: override in ofl/scada/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has .glyphs
sources at the pinned commit but no config file. An override was added
referencing sources/Scada.glyphs and sources/Scada-Italic.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
- Repo: jonpinhorn/shrikhand
- Commit: c11c9b0720fba977fad7cb4f339ebacdba1d1394 (unchanged)
- Config: override in ofl/shrikhand/config.yaml
- Status: complete
- Confidence: HIGH

Upstream has a .glyphs
sources at the pinned commit but no config file. An override was added
referencing masters/Shrikhand.glyphs. STAT values omitted — gftools-builder will
auto-derive.

Assisted by an AI agent (Claude Opus 4.7 1M context)
@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/ramsina/article/ARTICLE.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[17] ofl/ramsina/Ramsina-Regular.ttf
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 3 contains a line-break. [code: line-break]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Ramsina Ramsina
Subfamily Name Regular Regular
Full Name Ramsina Ramsina Regular
Postscript Name Ramsina-Regular Ramsina-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 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 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:

  • notequal.rtl (unencoded): found 1, expected one of: [3] [code: contour-count]
⚠️ 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:
  • uni07200710
  • uni07200710.fina
  • uni0640.threequarter
  • uni0640.half
  • uni0640.quarter
  • four.dnom
  • one.numr
  • three.numr
  • two.dnom [code: unreachable-glyphs]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • j̄The dot of soft dotted characters should disappear in other cases, for example:

  • j̊ [code: soft-dotted]

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • quotedbl (U+0022): X=307.5,Y=865 (should be at cap-height 864?)
    • quotedbl (U+0022): X=98,Y=865 (should be at cap-height 864?)
    • quotedbl (U+0022): X=661.5,Y=865 (should be at cap-height 864?)
    • quotedbl (U+0022): X=452,Y=865 (should be at cap-height 864?)
    • ampersand (U+0026): X=276.5,Y=865.5 (should be at cap-height 864?)
    • quotesingle (U+0027): X=307.5,Y=865 (should be at cap-height 864?)
    • quotesingle (U+0027): X=98,Y=865 (should be at cap-height 864?)
    • two.cv02: X=590.5,Y=-2.5 (should be at baseline 0?)
    • E (U+0045): X=637,Y=-2.5 (should be at baseline 0?)
      ... and 64 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • y (U+0079): from (649.0, 528.0) to (404.0, 45.0) is colinear with segment from (404.0, 45.0) to (293.0, -185.0)
  • yacute (U+00FD): from (649.0, 528.0) to (404.0, 45.0) is colinear with segment from (404.0, 45.0) to (293.0, -185.0)
  • ydieresis (U+00FF): from (649.0, 528.0) to (404.0, 45.0) is colinear with segment from (404.0, 45.0) to (293.0, -185.0)
  • uni0728.fina: from (806.0, 0.0) to (746.0, 0.0) is colinear with segment from (746.0, 0.0) to (744.0, 0.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:
  • ampersand (U+0026): Line(Line { p0: (699.0, 481.0), p1: (1027.0, 482.0) }) (angle: 0.17 degrees, expected: 0.00 degrees)
  • uni2010 (U+2010): Line(Line { p0: (104.0, 360.0), p1: (447.0, 362.0) }) (angle: 0.33 degrees, expected: 0.00 degrees)
  • hyphen (U+002D): Line(Line { p0: (104.0, 360.0), p1: (447.0, 362.0) }) (angle: 0.33 degrees, expected: 0.00 degrees)
  • four.cv02: Line(Line { p0: (589.0, 591.0), p1: (590.0, 328.0) }) (angle: -89.78 degrees, expected: -90.00 degrees)
  • F (U+0046): Line(Line { p0: (147.0, 311.0), p1: (148.0, 511.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
  • J (U+004A): Line(Line { p0: (342.0, 514.0), p1: (345.0, 4.0) }) (angle: -89.66 degrees, expected: -90.00 degrees)
  • J (U+004A): Line(Line { p0: (148.0, -29.0), p1: (147.0, 518.0) }) (angle: 90.10 degrees, expected: 90.00 degrees)
  • M (U+004D): Line(Line { p0: (259.0, 590.0), p1: (260.0, 299.0) }) (angle: -89.80 degrees, expected: -90.00 degrees)
  • P (U+0050): Line(Line { p0: (147.0, 304.0), p1: (148.0, 525.0) }) (angle: 89.74 degrees, expected: 90.00 degrees)
    ... and 29 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Ramsina-Regular.ttf
Dehinted Size 83768
Hinted Size 83792
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    prep
    GPOS
    GSUB
    JSTF
    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]
[1] ofl/ramsina/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Ramsina" does not match post_script_name="Ramsina-Regular". [code: mismatch]

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

[7] ofl/ramsina
🔥 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 poster sm sample text for language Northern Sotho, 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, syriac:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tswana, 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, syriac:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Veps, 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, syriac:
  • ž (U+017E)
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Ramsina-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:

"original fonts copyright (c) 1997-2025, sparksoft systems, with reserved font names "marcus" and "nohadra". latin glyphs copyright (c) 2018 the crimson pro project authors (https://github.com/fonthausen/crimsonpro). copyright (c) 2025, sil global (https://www.sil.org/), with reserved font names "ramsina" and "sil"." [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:

"original fonts copyright (c) 1997-2025, sparksoft systems, with reserved font names "marcus" and "nohadra". latin glyphs copyright (c) 2018 the crimson pro project authors (https://github.com/fonthausen/crimsonpro). copyright (c) 2025, sil global (https://www.sil.org/), with reserved font names "ramsina" and "sil"." [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 3 is not specified for that.
    Value was: "Original fonts copyright (c) 1997-2025, Sparksoft Systems, with Reserved Font Names "Marcus" and "Nohadra". Latin glyphs copyright (c) 2018 The Crimson Pro Project Authors (https://github.com/Fonthausen/CrimsonPro). Copyright (c) 2025, SIL Global (https://www.sil.org/), with Reserved Font Names "Ramsina" and "SIL".

This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: https://openfontlicense.org/


SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the copyright statement(s).

"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

  1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

  2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

  3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

  4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

  5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE."
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]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/ramsina/Ramsina-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+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C0 MODIFIER LETTER GLOTTAL STOP: try adding latin-ext
  • U+02C1 MODIFIER LETTER REVERSED GLOTTAL STOP: try adding latin-ext
  • U+02C7 CARON: try adding one of: tifinagh, canadian-aboriginal, latin-ext, yi
    ... and 43 others

Or you can add the above codepoints to one of the subsets supported by the font: latin, menu, syriac [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 ("Original fonts copyright (c) 1997-2025, Sparksoft Systems, with Reserved Font Names "Marcus" and "Nohadra". Latin glyphs copyright (c) 2018 The Crimson Pro Project Authors (https://github.com/Fonthausen/CrimsonPro). Copyright (c) 2025, SIL Global (https://www.sil.org/), with Reserved Font Names "Ramsina" and "SIL".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[2] ofl/ramsina/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"original fonts copyright (c) 1997-2025, sparksoft systems, with reserved font names "marcus" and "nohadra".
"

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:

+Latin glyphs copyright (c) 2018 The Crimson Pro Project Authors (https://github.com/Fonthausen/CrimsonPro).
+
+Copyright (c) 2025, SIL Global (https://www.sil.org/), with Reserved Font Names "Ramsina" and "SIL".
+
-https://openfontlicense.org
+https://openfontlicense.org/
[code: incorrect-ofl-body-text]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
14 13 8 123 66
6% 6% 4% 57% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright (c) 2014, dunwich type founders (http://dunwichtype.com). rhodium is a trademark of dunwich type founders.
"

which does not match the expected format, similar to:

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

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

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

[1] ofl/rhodiumlibre/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[9] ofl/rhodiumlibre
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1152, but got 1100 instead. [code: ascent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.08% 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]

🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL 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 RhodiumLibre-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 © 2015 by james puckett. all rights reserved." [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, dunwich type founders (http://dunwichtype.com). rhodium is a trademark of dunwich type founders." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2014, dunwich type founders (http://dunwichtype.com). rhodium is a trademark of dunwich type founders.: ["METADATA.pb"]
  • copyright © 2015 by james puckett. all rights reserved.: ["RhodiumLibre-Regular.ttf: Name Table entry"] [code: mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/rhodiumlibre/RhodiumLibre-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: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: math, greek, elbasan
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: elbasan, greek, math
  • U+03BC GREEK SMALL LETTER MU: try adding one of: math, greek
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: yi, greek, math
  • U+2021 DOUBLE DAGGER: try adding adlam
    ... and 16 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, devanagari, latin, latin-ext [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 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]
[32] ofl/rhodiumlibre/RhodiumLibre-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 Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoLineGap (705) and hhea lineGap (0) must be equal. [code: lineGap]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • backslash (component slash)
  • braceright (component braceleft)
  • bracketright (component bracketleft)
  • parenright (component parenleft)
  • guillemotleft (component guillemotright)
  • guilsinglleft (component guilsinglright)
  • quotedblleft (component quoteright)
  • quotedblleft (component quoteright)
  • quoteleft (component quoteright)
    ... and 6 others [code: transformed-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * en_Latn (English)
The following mark characters are missing from the font: ̃, ̂, ́, ̈, ̧, ̀
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * fr_Latn (French)
The following mark characters are missing from the font: ́, ̀, ̂, ̈, ̧
Mandatory orthography codepoints: * de_Latn (German)
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: * nb_Latn (Norwegian Bokmål)
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: * es_Latn (Spanish)
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: * ro_Latn (Romanian)
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: * 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: * cy_Latn (Welsh)
The following base characters are missing from the font: Ỳ, ẅ, Ŵ, Ẁ, ỳ, ẁ, Ẅ, ŵ, Ẃ, Ŷ, ẃ, ŷ
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: * 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: * da_Latn (Danish)
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: * lt_Latn (Lithuanian)
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: * it_Latn (Italian)
The following mark characters are missing from the font: ̀, ́, ̂, ̈
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: ġ, Ċ, ħ, ċ, Ħ, Ġ, GĦ, għ
The following mark characters are missing from the font: ̂, ̇, ̀
Mandatory orthography codepoints: * hr_Latn (Croatian)
The following mark characters are missing from the font: ̌, ́
Mandatory orthography codepoints: * pl_Latn (Polish)
The following mark characters are missing from the font: ̨, ́, ̇
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ą́
The following auxiliary characters are missing from the font: Ą̃
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ę́
The following auxiliary characters are missing from the font: Ę̃
The following auxiliary characters are missing from the font: Ė́
The following auxiliary characters are missing from the font: Ė̃
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Ĩ
The following auxiliary characters are missing from the font: Į́
The following auxiliary characters are missing from the font: Į̇́
The following auxiliary 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: ė̃
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: į̇̃
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: ū̃
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: * 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: * 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: * 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: * 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: * 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: * 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: * 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 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:
  • uni0326
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0962
  • uni0963
  • uni0945
  • uni0901
    ... and 12 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Rhodium Libre Rhodium Libre
Subfamily Name Regular Regular
Full Name Rhodium Libre Rhodium Libre Regular
Postscript Name RhodiumLibre-Regular RhodiumLibre-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.0009918 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0957 (uni0957) [code: mark-chars]
⚠️ 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 base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200C ZERO WIDTH NON-JOINER has non-zero advance width: 500 [code: non-zero-advance]

  • ⚠️ WARN U+200D ZERO WIDTH JOINER has non-zero advance width: 250 [code: non-zero-advance]

⚠️ 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:

  • uni0932094D.loclMAR (unencoded): found 1, expected one of: [2] [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 Checking Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • space.002
  • .null [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • C (U+0043): X=495,Y=-1.5 (should be at baseline 0?)
    • Cacute (U+0106): X=495,Y=-1.5 (should be at baseline 0?)
    • Ccaron (U+010C): X=495,Y=-1.5 (should be at baseline 0?)
    • G (U+0047): X=507.5,Y=-2.5 (should be at baseline 0?)
    • Gbreve (U+011E): X=507.5,Y=-2.5 (should be at baseline 0?)
    • Gcommaaccent (U+0122): X=507.5,Y=-2.5 (should be at baseline 0?)
    • K (U+004B): X=752,Y=1 (should be at baseline 0?)
    • K (U+004B): X=515,Y=1 (should be at baseline 0?)
    • Kcommaaccent (U+0136): X=752,Y=1 (should be at baseline 0?)
      ... and 89 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni0932094D0932.loclMAR: from (438.0, 105.0) to (439.0, 105.0) is colinear with segment from (439.0, 105.0) to (439.0, 105.0)
  • quotedbl (U+0022): from (97.0, 358.0) to (71.0, 635.0) is colinear with segment from (71.0, 635.0) to (71.0, 680.0)
  • quotedbl (U+0022): from (171.0, 680.0) to (171.0, 635.0) is colinear with segment from (171.0, 635.0) to (145.0, 358.0)
  • quotedbl (U+0022): from (267.0, 358.0) to (241.0, 635.0) is colinear with segment from (241.0, 635.0) to (241.0, 680.0)
  • quotedbl (U+0022): from (341.0, 680.0) to (341.0, 635.0) is colinear with segment from (341.0, 635.0) to (315.0, 358.0)
  • quotesingle (U+0027): from (97.0, 358.0) to (71.0, 635.0) is colinear with segment from (71.0, 635.0) to (71.0, 680.0)
  • quotesingle (U+0027): from (171.0, 680.0) to (171.0, 635.0) is colinear with segment from (171.0, 635.0) to (145.0, 358.0)
  • section (U+00A7): from (222.0, 424.0) to (327.0, 400.0) is colinear with segment from (327.0, 400.0) to (406.0, 382.0)
  • section (U+00A7): from (213.0, 164.0) to (355.0, 133.0) is colinear with segment from (355.0, 133.0) to (388.0, 126.0) [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • onehalf (U+00BD) has a counter-clockwise outer contour
  • onequarter (U+00BC) has a counter-clockwise outer contour
  • one.numr has a counter-clockwise outer contour
  • uni00B9 (U+00B9) has a counter-clockwise outer contour
  • backslash (U+005C) has a counter-clockwise outer contour
  • braceright (U+007D) has a counter-clockwise outer contour
  • bracketright (U+005D) has a counter-clockwise outer contour
  • parenright (U+0029) has a counter-clockwise outer contour
  • guillemotleft (U+00AB) has a counter-clockwise outer contour
    ... and 10 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0926094D0918: Quad(QuadBez { p0: (81.0, -47.0), p1: (81.0, -8.0), p2: (103.0, 17.0) })/Quad(QuadBez { p0: (103.0, 17.0), p1: (89.0, 7.0), p2: (64.0, 7.0) }) = 13.11454498833193 degrees
  • uni0926094D09180941: Quad(QuadBez { p0: (81.0, -47.0), p1: (81.0, -8.0), p2: (103.0, 17.0) })/Quad(QuadBez { p0: (103.0, 17.0), p1: (89.0, 7.0), p2: (64.0, 7.0) }) = 13.11454498833193 degrees
  • uni0926094D09180942: Quad(QuadBez { p0: (81.0, -47.0), p1: (81.0, -8.0), p2: (103.0, 17.0) })/Quad(QuadBez { p0: (103.0, 17.0), p1: (89.0, 7.0), p2: (64.0, 7.0) }) = 13.11454498833193 degrees
  • uni0926094D0918094D092F: Quad(QuadBez { p0: (81.0, -47.0), p1: (81.0, -8.0), p2: (103.0, 17.0) })/Quad(QuadBez { p0: (103.0, 17.0), p1: (89.0, 7.0), p2: (64.0, 7.0) }) = 13.11454498833193 degrees [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:
  • t (U+0074): Line(Line { p0: (188.0, 502.0), p1: (359.0, 501.0) }) (angle: -0.34 degrees, expected: 0.00 degrees)
  • t (U+0074): Line(Line { p0: (359.0, 431.0), p1: (188.0, 432.0) }) (angle: 179.66 degrees, expected: 180.00 degrees)
  • tcaron (U+0165): Line(Line { p0: (188.0, 502.0), p1: (359.0, 501.0) }) (angle: -0.34 degrees, expected: 0.00 degrees)
  • tcaron (U+0165): Line(Line { p0: (359.0, 431.0), p1: (188.0, 432.0) }) (angle: 179.66 degrees, expected: 180.00 degrees)
  • uni0163 (U+0163): Line(Line { p0: (188.0, 502.0), p1: (359.0, 501.0) }) (angle: -0.34 degrees, expected: 0.00 degrees)
  • uni0163 (U+0163): Line(Line { p0: (359.0, 431.0), p1: (188.0, 432.0) }) (angle: 179.66 degrees, expected: 180.00 degrees)
  • uni021B (U+021B): Line(Line { p0: (188.0, 502.0), p1: (359.0, 501.0) }) (angle: -0.34 degrees, expected: 0.00 degrees)
  • uni021B (U+021B): Line(Line { p0: (359.0, 431.0), p1: (188.0, 432.0) }) (angle: 179.66 degrees, expected: 180.00 degrees)
  • uni0926094D0926: Line(Line { p0: (211.0, 288.0), p1: (441.0, 287.0) }) (angle: -0.25 degrees, expected: 0.00 degrees)
    ... 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 'dtf ' 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Rhodium Libre" 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:
RhodiumLibre-Regular.ttf
Dehinted Size 156544
Hinted Size 233792
Increase 77248
Change 49.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 1.001; ttfautohint (v1.3) [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
19 29 11 108 66
9% 13% 5% 50% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[25] ofl/ropasans/RopaSans-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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * nb_Latn (Norwegian Bokmål)
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: * en_Latn (English)
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: * cs_Latn (Czech)
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: * fi_Latn (Finnish)
The following mark characters are missing from the font: ̊, ̈, ̃, ̌
Mandatory orthography codepoints: * hr_Latn (Croatian)
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: * hu_Latn (Hungarian)
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: * it_Latn (Italian)
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: * 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: * de_Latn (German)
The following base characters are missing from the font: ẞ
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: * ro_Latn (Romanian)
The following mark characters are missing from the font: ̂, ̆, ̧
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: Ẅ, ẁ, Ŷ, ŷ, ỳ, Ẁ, ŵ, Ẃ, ẃ, Ŵ, ẅ, Ỳ
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: * tr_Latn (Turkish)
The following mark characters are missing from the font: ̈, ̂, ̆, ̧, ̇
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ċ, għ, ċ, Ġ, Ħ, GĦ, ħ, ġ
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: * sv_Latn (Swedish)
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: * es_Latn (Spanish)
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: ċ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ħ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary 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: * 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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * 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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * 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: * 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: * 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 Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0999908 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 390 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=420: equal [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 Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 ("Ropa Sans") that differs from the currently used family name (Ropa Sans), which is fine. [code: legacy-familyname]

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

⚠️ 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:
  • i̓The dot of soft dotted characters should disappear in other cases, for example:

  • į̓

  • į̒

  • j̒ [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:
    • Acircumflex (U+00C2): X=266,Y=840 (should be at ascender 841?)
    • Ecircumflex (U+00CA): X=253,Y=840 (should be at ascender 841?)
    • Icircumflex (U+00CE): X=118,Y=840 (should be at ascender 841?)
    • Lcaron (U+013D): X=239,Y=656 (should be at cap-height 655?)
    • Ocircumflex (U+00D4): X=288,Y=840 (should be at ascender 841?)
    • Ucircumflex (U+00DB): X=288,Y=840 (should be at ascender 841?)
    • Uring (U+016E): X=372,Y=840 (should be at ascender 841?)
    • Uring (U+016E): X=203.5,Y=840 (should be at ascender 841?)
    • c (U+0063): X=343,Y=1 (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:
  • oslash (U+00F8): from (145.0, 325.0) to (145.0, 168.0) is colinear with segment from (145.0, 168.0) to (145.0, 158.0)
  • oslash (U+00F8): from (327.0, 163.0) to (327.0, 316.0) is colinear with segment from (327.0, 316.0) to (327.0, 326.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:
  • trademark (U+2122): Line(Line { p0: (726.0, 683.0), p1: (728.0, 350.0) }) (angle: -89.66 degrees, expected: -90.00 degrees)
  • trademark (U+2122): Line(Line { p0: (659.0, 350.0), p1: (660.0, 557.0) }) (angle: 89.72 degrees, expected: 90.00 degrees) [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • Ccedilla (U+00C7) contains a short segment Line(Line { p0: (283.0, -41.0), p1: (293.0, -41.0) }) (length: 10.00, total outline: 2938.11)
  • Scedilla (U+015E) contains a short segment Line(Line { p0: (255.0, -41.0), p1: (265.0, -41.0) }) (length: 10.00, total outline: 3295.67)
  • uni0162 (U+0162) contains a short segment Line(Line { p0: (267.0, -41.0), p1: (277.0, -41.0) }) (length: 10.00, total outline: 2849.00)
  • ccedilla (U+00E7) contains a short segment Line(Line { p0: (232.0, -41.0), p1: (242.0, -41.0) }) (length: 10.00, total outline: 2359.89)
  • scedilla (U+015F) contains a short segment Line(Line { p0: (219.0, -41.0), p1: (229.0, -41.0) }) (length: 10.00, total outline: 2647.52)
  • uni0163 (U+0163) contains a short segment Line(Line { p0: (205.0, -41.0), p1: (215.0, -41.0) }) (length: 10.00, total outline: 2627.85)
  • uogonek (U+0173) contains a short segment Line(Line { p0: (410.0, 0.0), p1: (394.0, 0.0) }) (length: 16.00, total outline: 3021.63)
  • one (U+0031) contains a short segment Line(Line { p0: (152.0, 519.0), p1: (150.0, 519.0) }) (length: 2.00, total outline: 1676.58)
  • seven (U+0037) contains a short segment Line(Line { p0: (275.0, 524.0), p1: (275.0, 526.0) }) (length: 2.00, total outline: 2012.33)
    ... and 6 others [code: found-short-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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Ropa Sans" 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:
RopaSans-Regular.ttf
Dehinted Size 39184
Hinted Size 57200
Increase 18016
Change 46.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.100, Version 1.100 [code: version-not-detected]
[2] ofl/ropasans/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that botjonikoltchev 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]
[24] ofl/ropasans/RopaSans-Italic.ttf
🔥 FAIL Checking post.italicAngle value. (opentype/italic_angle)
  • 🔥 FAIL Font is italic, so post.italicAngle should be non-zero. [code: zero-italic]
🔥 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * cs_Latn (Czech)
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: * 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: * en_Latn (English)
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: * is_Latn (Icelandic)
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: * mt_Latn (Maltese)
The following base characters are missing from the font: Ħ, ġ, għ, Ċ, ħ, GĦ, Ġ, ċ
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: * lt_Latn (Lithuanian)
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: * pl_Latn (Polish)
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: * nb_Latn (Norwegian Bokmål)
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: * hu_Latn (Hungarian)
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: * lv_Latn (Latvian)
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: * fi_Latn (Finnish)
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: * cy_Latn (Welsh)
The following base characters are missing from the font: ẅ, ẁ, ŵ, Ẁ, Ỳ, ŷ, Ẅ, ỳ, Ẃ, ẃ, Ŵ, Ŷ
The following mark characters are missing from the font: ̀, ́, ̂, ̈
Mandatory orthography codepoints: * hr_Latn (Croatian)
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: * ro_Latn (Romanian)
The following mark characters are missing from the font: ̆, ̧, ̂
  • ⚠️ 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: * 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: * 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: ʒ
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: * 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: * 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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0999908 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ 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 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 Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 ("Ropa Sans") that differs from the currently used family name (Ropa Sans), which is fine. [code: legacy-familyname]

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

⚠️ 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:
  • i̓The dot of soft dotted characters should disappear in other cases, for example:

  • į̒

  • į̓

  • i̒ [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:
    • Acircumflex (U+00C2): X=329,Y=840 (should be at ascender 841?)
    • Aogonek (U+0104): X=392,Y=1 (should be at baseline 0?)
    • C (U+0043): X=306.5,Y=-2 (should be at baseline 0?)
    • Cacute (U+0106): X=306.5,Y=-2 (should be at baseline 0?)
    • Ccaron (U+010C): X=306.5,Y=-2 (should be at baseline 0?)
    • Ecircumflex (U+00CA): X=312,Y=840 (should be at ascender 841?)
    • Icircumflex (U+00CE): X=182,Y=840 (should be at ascender 841?)
    • J (U+004A): X=-42,Y=2 (should be at baseline 0?)
    • Lcaron (U+013D): X=346.5,Y=657.5 (should be at cap-height 655?)
      ... and 53 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • B (U+0042): from (493.0, 517.0) to (492.0, 503.0) is colinear with segment from (492.0, 503.0) to (491.0, 492.0)
  • Ccedilla (U+00C7): from (316.0, -101.0) to (315.0, -112.0) is colinear with segment from (315.0, -112.0) to (314.0, -121.0)
  • Gcommaaccent (U+0122): from (211.0, -122.0) to (212.0, -113.0) is colinear with segment from (212.0, -113.0) to (215.0, -93.0)
  • Kcommaaccent (U+0136): from (190.0, -122.0) to (191.0, -113.0) is colinear with segment from (191.0, -113.0) to (194.0, -93.0)
  • Lcaron (U+013D): from (261.0, 601.0) to (262.0, 610.0) is colinear with segment from (262.0, 610.0) to (265.0, 630.0)
  • Lcommaaccent (U+013B): from (173.0, -122.0) to (174.0, -113.0) is colinear with segment from (174.0, -113.0) to (177.0, -93.0)
  • Ncommaaccent (U+0145): from (207.0, -122.0) to (208.0, -113.0) is colinear with segment from (208.0, -113.0) to (211.0, -93.0)
  • Rcommaaccent (U+0156): from (201.0, -122.0) to (202.0, -113.0) is colinear with segment from (202.0, -113.0) to (205.0, -93.0)
  • Scedilla (U+015E): from (276.0, -101.0) to (275.0, -112.0) is colinear with segment from (275.0, -112.0) to (274.0, -121.0)
    ... and 41 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • Abreve (U+0102): Line(Line { p0: (174.0, 752.0), p1: (183.0, 830.0) })/Quad(QuadBez { p0: (183.0, 830.0), p1: (183.0, 829.0), p2: (205.0, 815.0) }) = 6.581944655178027 degrees
  • Gbreve (U+011E): Line(Line { p0: (181.0, 752.0), p1: (190.0, 830.0) })/Quad(QuadBez { p0: (190.0, 830.0), p1: (190.0, 829.0), p2: (212.0, 815.0) }) = 6.581944655178027 degrees
  • abreve (U+0103): Line(Line { p0: (135.0, 606.0), p1: (147.0, 685.0) })/Quad(QuadBez { p0: (147.0, 685.0), p1: (147.0, 683.0), p2: (163.0, 666.0) }) = 8.637131415070778 degrees
  • abreve (U+0103): Quad(QuadBez { p0: (386.0, 666.0), p1: (407.0, 683.0), p2: (407.0, 685.0) })/Line(Line { p0: (407.0, 685.0), p1: (395.0, 602.0) }) = 8.226722464108196 degrees
  • gbreve (U+011F): Line(Line { p0: (132.0, 606.0), p1: (144.0, 685.0) })/Quad(QuadBez { p0: (144.0, 685.0), p1: (144.0, 683.0), p2: (160.0, 666.0) }) = 8.637131415070778 degrees
  • gbreve (U+011F): Quad(QuadBez { p0: (383.0, 666.0), p1: (404.0, 683.0), p2: (404.0, 685.0) })/Line(Line { p0: (404.0, 685.0), p1: (392.0, 602.0) }) = 8.226722464108196 degrees
  • breve (U+02D8): Line(Line { p0: (30.0, 606.0), p1: (42.0, 685.0) })/Quad(QuadBez { p0: (42.0, 685.0), p1: (42.0, 683.0), p2: (58.0, 666.0) }) = 8.637131415070778 degrees
  • breve (U+02D8): Quad(QuadBez { p0: (281.0, 666.0), p1: (302.0, 683.0), p2: (302.0, 685.0) })/Line(Line { p0: (302.0, 685.0), p1: (290.0, 602.0) }) = 8.226722464108196 degrees
  • breve.case: Line(Line { p0: (30.0, 752.0), p1: (39.0, 830.0) })/Quad(QuadBez { p0: (39.0, 830.0), p1: (39.0, 829.0), p2: (61.0, 815.0) }) = 6.581944655178027 degrees [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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Ropa Sans" 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:
RopaSans-Italic.ttf
Dehinted Size 41844
Hinted Size 58640
Increase 16796
Change 40.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 1.100, Version 1.100 [code: version-not-detected]
[7] ofl/ropasans
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL RopaSans-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 ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"." [code: bad-notice-format]

  • 🔥 FAIL RopaSans-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 ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"." [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 ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"." [code: bad-notice-format]

  • 🔥 FAIL RopaSans-Italic.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 ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"." [code: bad-notice-format]

  • 🔥 FAIL RopaSans-Italic.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 ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"." [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 ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/ropasans/RopaSans-Regular.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0312 COMBINING TURNED COMMA ABOVE: try adding math
  • U+0313 COMBINING COMMA ABOVE: try adding one of: old-permic, todhri
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: yi, math, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
    ... and 15 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 ofl/ropasans/RopaSans-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0312 COMBINING TURNED COMMA ABOVE: try adding math
  • U+0313 COMBINING COMMA ABOVE: try adding one of: old-permic, todhri
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: yi, math, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
    ... and 15 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 Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. (googlefonts/metadata/reserved_font_name)
  • ⚠️ WARN METADATA.pb: copyright field ("Copyright 2013 The Ropa Sans Project Authors (nikoltchev@lettersoup.de), with Reserved Font Name "Ropa Sans".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("Copyright 2013 The Ropa Sans Project Authors (nikoltchev@lettersoup.de), with Reserved Font Name "Ropa Sans".") 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]

  • ⚠️ 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.08% 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]
[2] ofl/ropasans/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]
[1] ofl/ropasans/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2013 the ropa sans project authors (nikoltchev@lettersoup.de), with reserved font name "ropa sans"."

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
15 58 14 196 123
4% 16% 4% 52% 33%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/rubikmonoone/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/rubikmonoone
🔥 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, hebrew, latin-ext, latin:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Ladino language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the poster md sample text:
  • ׳ (U+05F3) [code: missing-codepoints]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL RubikMonoOne-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 2015 the rubik project authors (mail@hubertfischer.com)" [code: bad-notice-format]

  • 🔥 FAIL RubikMonoOne-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 2015 the rubik project authors (mail@hubertfischer.com)" [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 2015 the rubik project authors (mail@hubertfischer.com)" [code: bad-notice-format]

⚠️ WARN METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.13% 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]

  • ⚠️ WARN Please remove 'hebrew' from METADATA.pb since less than 50% of its glyphs are supported by this font file. [code: unsupported-subset]

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

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, hebrew, 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 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]
[2] ofl/rubikmonoone/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 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]
[1] ofl/rubikmonoone/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2015 the rubik project authors (mail@hubertfischer.com)
"

which does not match the expected format, similar to:

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

[25] ofl/rubikmonoone/RubikMonoOne-Regular.ttf
🔥 FAIL Checking correctness of monospaced metadata. (opentype/monospace)
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+012B [code: missing-case-counterparts]
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * lv_Latn (Latvian)
The following base characters are missing from the font: Ī
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to j 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))
Mandatory orthography codepoints: * kaa_Cyrl (Kara-Kalpak)
The following base characters are missing from the font: ҳ, Ҳ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
Auxiliary orthography codepoints: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: Ī * cs_Latn (Czech)
* cy_Latn (Welsh)
* es_Latn (Spanish)
* hu_Latn (Hungarian)
* pt_Latn (Portuguese)
* sk_Latn (Slovak)
* sv_Latn (Swedish)
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: * 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: * 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: ǯ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: Ī
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0451 when shaping the text 'ё́' * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́'
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: * 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 uni0307 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 J when shaping the text 'J̃'
Shaper didn't attach uni0307 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 uni0307 to dotlessi when shaping the text 'i̇̀'
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 uni0307 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 j when shaping the text 'j̃'
Shaper didn't attach uni0307 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 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 'ū̃'
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: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ī
The following auxiliary characters are missing from the font: ẞ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: Ī
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
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: ʻ
Auxiliary orthography codepoints: * sr_Cyrl (Serbian)
Shaper didn't attach uni0302 to uni0430 when shaping the text 'а̂' * sr_Cyrl (Serbian)
Shaper didn't attach uni0302 to uni0438 when shaping the text 'и̂'
Shaper didn't attach uni0302 to uni043E when shaping the text 'о̂'
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
⚠️ 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 Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ 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 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:
  • brevecombcy [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • Lcaron (U+013D): X=523.5,Y=699 (should be at cap-height 700?)
    • Thorn (U+00DE): X=323,Y=701 (should be at cap-height 700?)
    • Thorn (U+00DE): X=108,Y=701 (should be at cap-height 700?)
    • lcaron (U+013E): X=523.5,Y=699 (should be at cap-height 700?)
    • thorn (U+00FE): X=323,Y=701 (should be at cap-height 700?)
    • thorn (U+00FE): X=108,Y=701 (should be at cap-height 700?)
    • uni041B (U+041B): X=45.5,Y=-2 (should be at baseline 0?)
    • uni0409 (U+0409): X=10.5,Y=-2 (should be at baseline 0?)
    • uni0462 (U+0462): X=148,Y=702 (should be at cap-height 700?)
      ... and 36 others [code: found-misalignments]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a counter-clockwise outer contour
  • Acircumflex (U+00C2) has a counter-clockwise outer contour
  • Agrave (U+00C0) has a counter-clockwise outer contour
  • Amacron (U+0100) has a counter-clockwise outer contour
  • Aring (U+00C5) has a counter-clockwise outer contour
  • Atilde (U+00C3) has a counter-clockwise outer contour
  • Uacute (U+00DA) has a counter-clockwise outer contour
  • Ucircumflex (U+00DB) has a counter-clockwise outer contour
  • Udieresis (U+00DC) has a counter-clockwise outer contour
    ... and 20 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • uni0413 (U+0413): Line(Line { p0: (452.0, 485.0), p1: (453.0, 27.0) }) (angle: -89.87 degrees, expected: -90.00 degrees)
  • uni0403 (U+0403): Line(Line { p0: (453.0, 27.0), p1: (452.0, 485.0) }) (angle: 90.13 degrees, expected: 90.00 degrees)
  • uni0490 (U+0490): Line(Line { p0: (462.0, 485.0), p1: (463.0, 27.0) }) (angle: -89.87 degrees, expected: -90.00 degrees)
  • uni0474 (U+0474): Line(Line { p0: (844.0, 672.0), p1: (843.0, 495.0) }) (angle: -90.32 degrees, expected: -90.00 degrees)
  • uni04F6 (U+04F6): Line(Line { p0: (452.0, 485.0), p1: (453.0, 215.0) }) (angle: -89.79 degrees, expected: -90.00 degrees)
  • uni0433 (U+0433): Line(Line { p0: (452.0, 485.0), p1: (453.0, 27.0) }) (angle: -89.87 degrees, expected: -90.00 degrees)
  • uni0453 (U+0453): Line(Line { p0: (453.0, 27.0), p1: (452.0, 485.0) }) (angle: 90.13 degrees, expected: 90.00 degrees)
  • uni0491 (U+0491): Line(Line { p0: (462.0, 485.0), p1: (463.0, 27.0) }) (angle: -89.87 degrees, expected: -90.00 degrees)
  • uni0475 (U+0475): Line(Line { p0: (844.0, 672.0), p1: (843.0, 495.0) }) (angle: -90.32 degrees, expected: -90.00 degrees)
    ... and 6 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 is 'PYRS', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Rubik Mono 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:
RubikMonoOne-Regular.ttf
Dehinted Size 94644
Hinted Size 141088
Increase 46444
Change 49.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]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
14 29 9 116 67
6% 13% 4% 54% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[27] ofl/ruda/Ruda[wght].ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL Lcaron uses component: uni030C [code: wrong-mark]
🔥 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * uk_Cyrl (Ukrainian)
The following base characters are missing from the font: ʼ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * 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)
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 acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach gravecomb to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach gravecomb to Idotaccent 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 acutecomb to Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇́'
Shaper didn't attach acutecomb to uni0307 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 uni0307 when shaping the text 'Į̇̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach tildecomb to uni0307 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 'Ū̃'
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 i when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̃'
Shaper didn't attach tildecomb to uni0307 when shaping the text 'i̇̃'
Shaper didn't attach acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇́'
Shaper didn't attach acutecomb to uni0307 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 uni0307 when shaping the text 'į̇̃'
Shaper didn't attach tildecomb to j when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to uni0307 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 'ū̃'
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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * uk_Cyrl (Ukrainian)
Shaper didn't attach acutecomb to uni0430 when shaping the text 'а́'
Shaper didn't attach acutecomb to uni0435 when shaping the text 'е́'
Shaper didn't attach acutecomb to uni0454 when shaping the text 'є́'
Shaper didn't attach acutecomb to uni0438 when shaping the text 'и́'
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 uni043E when shaping the text 'о́'
Shaper didn't attach acutecomb to uni0443 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: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
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)
Auxiliary orthography codepoints: * ru_Cyrl (Russian)
Shaper didn't attach acutecomb to uni0430 when shaping the text 'а́'
Shaper didn't attach acutecomb to uni0435 when shaping the text 'е́'
Shaper didn't attach acutecomb to uni0438 when shaping the text 'и́'
Shaper didn't attach acutecomb to uni043E when shaping the text 'о́'
Shaper didn't attach acutecomb to uni0443 when shaping the text 'у́'
Shaper didn't attach acutecomb to uni044B when shaping the text 'ы́'
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: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: Ĕ * 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: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0430 when shaping the text 'а́'
Shaper didn't attach acutecomb to uni0435 when shaping the text 'е́'
Shaper didn't attach acutecomb to uni0451 when shaping the text 'ё́'
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́'
Shaper didn't attach acutecomb to uni043E when shaping the text 'о́'
Shaper didn't attach acutecomb to uni0443 when shaping the text 'у́'
Shaper didn't attach acutecomb to uni044B when shaping the text 'ы́'
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: * bg_Cyrl (Bulgarian)
The following auxiliary 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 gravecomb to uni0430 when shaping the text 'а̀'
Shaper didn't attach gravecomb to uni043E when shaping the text 'о̀'
Shaper didn't attach gravecomb to uni0443 when shaping the text 'у̀'
Shaper didn't attach gravecomb to uni044A when shaping the text 'ъ̀'
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: * sr_Cyrl (Serbian)
Shaper didn't attach uni0302 to uni0430 when shaping the text 'а̂'
Shaper didn't attach uni0302 to uni0435 when shaping the text 'е̂'
Shaper didn't attach uni0302 to uni0438 when shaping the text 'и̂'
Shaper didn't attach uni0302 to uni043E when shaping the text 'о̂'
Shaper didn't attach uni0302 to uni0443 when shaping the text 'у̂'
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.001007 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0300 (gravecomb)
  • U+0301 (acutecomb)
  • U+0302 (uni0302)
  • U+0303 (tildecomb)
  • U+0304 (uni0304)
  • U+0306 (uni0306)
  • U+0307 (uni0307)
  • U+0308 (uni0308)
  • U+0309 (hookabovecomb)
    ... and 8 others [code: mark-chars]
⚠️ 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:

  • uni03060309 (unencoded): found 1, expected one of: [2] [code: contour-count]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 600 among a set of 10 math glyphs.
    The following math glyphs have a different width, though:
    width=621: plus
    width=632: less
    width=587: logicalnot
    width=618: divide, equal
    width=635: greater
    width=575: multiply
    width=559: plusminus [code: width-outliers]
⚠️ WARN Name table records must not have trailing spaces. (name/trailing_spaces)
  • ⚠️ WARN Name table record 3/1/1033/DESIGNER_URL has double spaces:
    www.mukamonsalve.com.ar www.angelinasanchez.com.ar [code: double-spaces]
⚠️ 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:
  • uni03000304
  • uni03010304
  • uni03040300
  • uni03040301
  • tildecomb.001
  • uni0306.case.001
  • uni0308.case
  • uni031B.case
  • dieresis.case
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Ensure variable fonts have relatively consistent sidebearings. (suspicious_sidebearings)
  • ⚠️ WARN Glyph "dieresistonos" has suspiciously high variation (z-score 11.28) in right sidebearings at locations:
    wght=533.34
    wght=666.68
    wght=754.55
    wght=827.27
    wght=900.00 [code: large-rsb-variation]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 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 10 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ј̉

  • ј̒

  • ј̇

  • ј̂

  • ј̀

  • ј̃

  • ј̆

  • ј̌

  • ј̄
    ... and 40 others [code: soft-dotted]

⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • kgreenlandic (U+0138) has a counter-clockwise outer contour
  • uni0413 (U+0413) has a counter-clockwise outer contour
  • uni0403 (U+0403) has a counter-clockwise outer contour
  • uni042C (U+042C) has a counter-clockwise outer contour
  • uni042A (U+042A) has a counter-clockwise outer contour
  • uni042A (U+042A) has a counter-clockwise outer contour
  • uni042B (U+042B) has a counter-clockwise outer contour
  • uni0409 (U+0409) has a counter-clockwise outer contour
  • uni0409 (U+0409) has a counter-clockwise outer contour
    ... and 5 others [code: ccw-outer-contour]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • Eng (U+014A): Line(Line { p0: (575.0, 0.0), p1: (462.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 'NONE' 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:
Ruda[wght].ttf
Dehinted Size 84396
Hinted Size 84420
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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.001 [code: version-not-detected]
[3] ofl/ruda/METADATA.pb
🔥 FAIL Does METADATA.pb copyright field contain broken links? (googlefonts/metadata/broken_links)
  • 🔥 FAIL The following links are broken:
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that angelinasanchez 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]
[8] ofl/ruda
🔥 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 masthead full sample text for language Adyghe, 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, latin-ext, latin, vietnamese:
  • Ӏ (U+04C0)
  • ӏ (U+04CF) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Belarusian 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 21 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Buriat, 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, latin-ext, latin, vietnamese:
  • ү (U+04AF)
  • Ү (U+04AE) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Buriat, 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, latin-ext, latin, vietnamese:
  • ө (U+04E9)
  • һ (U+04BB) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Evenki, 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 cyrillic, latin-ext, latin, vietnamese:
  • ң (U+04A3)
  • ӣ (U+04E3)
  • һ (U+04BB) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Evenki, 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 cyrillic, latin-ext, latin, vietnamese:
  • ӯ (U+04EF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Kara-Kalpak, 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, latin-ext, latin, vietnamese:
  • Ә (U+04D8)
  • ә (U+04D9)
  • Ҳ (U+04B2)
  • ҳ (U+04B3) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Kara-Kalpak, 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, latin-ext, latin, vietnamese:
  • ү (U+04AF)
  • ғ (U+0493)
  • ң (U+04A3)
  • ө (U+04E9)
  • қ (U+049B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Kabardian, 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, latin-ext, latin, vietnamese:
  • Ӏ (U+04C0)
  • ӏ (U+04CF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Khakas, 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 cyrillic, latin-ext, latin, vietnamese:
  • ғ (U+0493) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Khakas, 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 cyrillic, latin-ext, latin, vietnamese:
  • ң (U+04A3) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Khakas, 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 cyrillic, latin-ext, latin, vietnamese:
  • ҷ (U+04B7) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Kazakh, 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, latin-ext, latin, vietnamese:
  • қ (U+049B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Kazakh, 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, latin-ext, latin, vietnamese:
  • ө (U+04E9)
  • ғ (U+0493)
  • ң (U+04A3)
  • ү (U+04AF)
  • Ә (U+04D8)
  • ә (U+04D9) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Kyrgyz, 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, latin-ext, latin, vietnamese:
  • ө (U+04E9)
  • ү (U+04AF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Kyrgyz, 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, latin-ext, latin, vietnamese:
  • ң (U+04A3) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Mongolian, 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, latin-ext, latin, vietnamese:
  • Ү (U+04AE)
  • ү (U+04AF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Mongolian, 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, latin-ext, latin, vietnamese:
  • ө (U+04E9) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Tajik, 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, latin-ext, latin, vietnamese:
  • ҳ (U+04B3) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tajik, 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, latin-ext, latin, vietnamese:
  • ӣ (U+04E3)
  • ҷ (U+04B7)
  • қ (U+049B)
  • ғ (U+0493)
  • ӯ (U+04EF)
  • Ҳ (U+04B2) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Turkmen (Cyrillic), 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, latin-ext, latin, vietnamese:
  • ө (U+04E9)
  • ң (U+04A3)
  • ү (U+04AF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Turkmen (Cyrillic), 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, latin-ext, latin, vietnamese:
  • ә (U+04D9)
  • җ (U+0497) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Tatar, 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, latin-ext, latin, vietnamese:
  • ң (U+04A3)
  • ө (U+04E9) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Tatar, 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, latin-ext, latin, vietnamese:
  • ә (U+04D9)
  • ү (U+04AF)
  • җ (U+0497) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tatar, 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, latin-ext, latin, vietnamese:
  • һ (U+04BB)
  • Һ (U+04BA) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Tuvinian, 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, latin-ext, latin, vietnamese:
  • ү (U+04AF)
  • Ү (U+04AE) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tuvinian, 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, latin-ext, latin, vietnamese:
  • ң (U+04A3)
  • ө (U+04E9) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Uyghur (Cyrillic), 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, latin-ext, latin, vietnamese:
  • Һ (U+04BA)
  • һ (U+04BB) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Uyghur (Cyrillic), 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, latin-ext, latin, vietnamese:
  • ө (U+04E9)
  • ғ (U+0493)
  • қ (U+049B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Uzbek (Cyrillic), 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, latin-ext, latin, vietnamese:
  • қ (U+049B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Uzbek (Cyrillic), 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, latin-ext, latin, vietnamese:
  • ҳ (U+04B3) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Uzbek (Cyrillic), 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, latin-ext, latin, vietnamese:
  • ғ (U+0493)
  • Ҳ (U+04B2) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/ruda/Ruda[wght].ttf missing required codepoints:
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/ruda/Ruda[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: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, math, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: todhri, duployan, hebrew, malayalam, syriac, math, old-permic, tai-le, coptic, canadian-aboriginal, tifinagh
  • 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 41 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, latin, latin-ext, menu, 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=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 None of the fonts lack a STAT table.

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

[2] ofl/ruda/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
42 25 10 135 42
19% 12% 5% 62% 19%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[30] ofl/sahitya/Sahitya-Bold.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1, name table: 1.001 [code: mismatch]
🔥 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 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:
  • auMatra_reph_candraBindu-deva
  • oMatra_candraBindu-deva
  • oMatra_reph_candraBindu-deva [code: found-nested-components]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • Aringacute (component ring.cap)
  • Aringacute (component acute.cap)
  • aringacute (component ring.cap)
  • aringacute (component acute.cap)
  • imacron (component macron)
  • zha-deva (component nukta-deva)
  • zha-deva (component nukta-deva)
  • zha-deva (component nukta-deva)
  • ss_ra-deva (component ra-deva.post)
    ... and 20 others [code: transformed-components]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: iMatra-deva.14, sha-deva.loclMAR, ng_ka-deva, f-deva, iMatra-deva.03, jha-deva, p_ra-deva, g_la-deva.loclMAR, t-deva, au-deva, b-deva, l-deva, d_da-deva, d_r_ya-deva, v_r-deva, aiMatra-deva, eMatra_reph_anusvara-deva, anusvara-deva.imatra, iMatra-deva.11, d_gha_uMatra-deva, bh_n-deva, acute-deva, jha-deva.loclNEP, dd_na-deva, oShortMatra-deva, e-deva, m-deva, ny_ja-deva, d_ga_uMatra-deva, j_ja-deva, la-deva, h_nna-deva, dd-deva.pre, oCandraMatra-deva, iiMatra_reph_anusvara-deva, v_n-deva, tth-deva.pre, d_da_uMatra-deva, iMatra_reph-deva.14, five-deva, ss_ra-deva, h_ra-deva, ha_uMatra-deva, p_tta-deva, nya-deva, grave-deva, gh-deva, dda-deva, iiMatra-deva.02, a-deva, ny-deva, sh_na-deva, m_n-deva, three-deva, h_la-deva, h_ma-deva, iMatra-deva.06, candraBindu-deva, t_r_ya-deva, aiMatra_anusvara-deva, auMatra_anusvara-deva, one-deva, rakar-deva, ddh_na-deva, ddda-deva, ng_ma-deva, ch_la-deva.loclMAR, ttha-deva, k_ss_ma-deva, dh_ra-deva, u-deva, iMatra_reph_anusvara-deva.08, f_ra-deva, tta-deva, j_ny_ra-deva, ddh-deva, y_r-deva, iiMatra_reph-deva, iiMatra_reph-deva.02, rVocalicMatra-deva, ng-deva.pre, k_ra-deva.alt, ka_ra-deva.loclNEP, d_dha-deva, ng_gha-deva, k_ss-deva, dd_gha-deva, l_la-deva.loclMAR, aa-deva, iMatra_reph-deva.07, eMatra_reph-deva, uue-deva, iMatra-deva, ka-deva, oMatra_reph_candraBindu-deva, tt-deva, pa-deva, j_ra-deva, rVocalic-deva, iMatra-deva.09, gh_la-deva.loclMAR, d-deva, d_va-deva, y_n-deva, iiMatra_candraBindu-deva.02, iMatra-deva.02, zero-deva, h_na-deva, cha-deva, bh_r-deva, va-deva.post, iMatra_reph_anusvara-deva.06, d_g_ra-deva, iMatra-deva.00, ha-deva.comp, iMatra_reph-deva.10, k_ka-deva, iMatra_reph_anusvara-deva.04, ya-deva, anudatta-deva, rr-deva, kh-deva, iMatra-deva.07, uu-deva, eMatra_candraBindu-deva, aiMatra_reph-deva, la-deva.loclMAR, ph_la-deva.loclMAR, sh-deva.loclMAR, d_ga-deva, n_bha-deva, h_ya-deva, aiMatra_reph_candraBindu-deva, j_nya-deva, ng_k-deva, ng_k_ra-deva, eShortMatra-deva, q-deva, udatta-deva, ba-deva, n_na-deva, uueMatra-deva, nnna-deva, aw-deva, kh_na-deva, iMatra-deva.08, c_ra-deva, ca-deva, lVocalic-deva, ng_k_ta-deva, auMatra_reph-deva, iMatra-deva.05, ss_tta-deva, kh_ra-deva, ch_na-deva, jja-deva, sh_va-deva, d_gha-deva, seven-deva, dh_r-deva, d_rVocalicMatra-deva, bh_ra-deva, iMatra_reph-deva.01, kha-deva, d_ra-deva, uMatra-deva, reph-deva.imatra, aaMatra-deva, k_ss_ra-deva, oMatra_reph-deva, oMatra_candraBindu-deva, kha-deva.alt, ha_rVocalicMatra-deva, ooeMatra-deva, tt_ra-deva, iMatra_reph_anusvara-deva.12, na-deva, d_gh_ya-deva, p_la-deva.loclMAR, iMatra-deva.01, ra-deva.post, iiMatra-deva, k_ra-deva, iMatra_reph_anusvara-deva.03, sha-deva, g_n-deva, s-deva, d_ga_uuMatra-deva, t_ra-deva, tth_tth_ya-deva, d_dh_r_ya-deva, d_bha_uMatra-deva, iMatra-deva.04, iiMatra_candraBindu-deva, j-deva, iiMatra_reph_anusvara-deva.02, l_ra-deva, sh_r-deva, d_va_uMatra-deva, k_va-deva, jh_ra-deva, d_ba_uuMatra-deva, j_ny-deva, auMatra_reph_candraBindu-deva, sa-deva, y-deva, c_la-deva.loclMAR, ghh-deva, iiMatra_anusvara-deva.02, s_t_ra-deva, glottalstop-deva, uuMatra-deva, tt_va-deva, n_n-deva, oMatra_anusvara-deva, ng_kha-deva, da-deva.alt, om-deva, p_ta-deva, b_ja-deva, d_b_ra-deva, k_ssa-deva, dha-deva, ddh_ddh_ya-deva, oMatra_reph_anusvara-deva, bha-deva, tha-deva, lll-deva, lla-deva, rrVocalicMatra-deva, pha-deva, ng_gh_ra-deva, b_ra-deva, aiMatra_candraBindu-deva, ss_tt_ya-deva, dd_ma-deva, o_anusvara-deva, iMatra_reph-deva.06, k_la-deva.loclMAR, iiMatra_anusvara-deva, iMatra-deva.10, oMatra-deva, g_ra-deva, reph-deva, rakar_uMatra-deva, tt_na-deva, gh_ra-deva, bh_la-deva.loclMAR, oeMatra-deva, auMatra_reph_anusvara-deva, dddha-deva, s_tha-deva, m_la-deva.loclMAR, prishthaMatraE-deva, four-deva, ss-deva, candraBindu-deva.imatra, d_ba-deva, tth_ya-deva, tth-deva.post, aCandra-deva, d_va_uuMatra-deva, eCandra-deva, na-deva.post, aiMatra_reph_anusvara-deva, d_dha_uuMatra-deva, iMatra_reph-deva.05, p-deva, g_r-deva, ga-deva, sh_r_ya-deva, dd_dda-deva, h_va-deva, iMatra_reph_anusvara-deva.09, ma-deva, ng-deva, khha-deva, dd_dd_ya-deva, nukta-deva, iMatra_reph_anusvara-deva.05, g-deva, ng_ga-deva, llVocalic-deva, abbreviation-deva, th_ra-deva, ghha-deva, eight-deva, llVocalicMatra-deva, iMatra_reph-deva.09, ya-deva.post, ng_k_ssa-deva, c-deva, tth-deva, gga-deva, tt_ttha-deva, ddh-deva.pre, d_v_ya-deva, d_ma-deva, iMatra_reph-deva.11, ddha-deva, o-deva, c_ca-deva, d_ra_uuMatra-deva, rr_ya-deva, ddh-deva.post, nga-deva, ss_tth_ya-deva, iMatra_reph-deva.13, rakar_uuMatra-deva, tth_na-deva, da_uMatra-deva, iMatra_reph_anusvara-deva, dbldanda-deva, jh-deva.loclNEP, dh-deva, v_la-deva.loclMAR, ddh_ddha-deva, aw-deva-accent, six-deva, m_ra-deva, avagraha-deva, jha_uMatra-deva, auMatra-deva, space-deva, aShort-deva, tt_ya-deva, k_ta-deva, g_n_ya-deva, ss_tt_va-deva, qa-deva, v-deva, m_r-deva, jh-deva, iMatra_reph_anusvara-deva.13, visarga-deva, eMatra_reph_candraBindu-deva, ll-deva, c_ca-deva.alt, ueMatra-deva, ch-deva, cha-deva.pre, ra_uuMatra-deva, lVocalicMatra-deva, d_ya-deva, n_ra-deva, k_ss_ya-deva, gh_na-deva, v_ra-deva, reph_anusvara-deva, g_na-deva, eShort-deva, eMatra_anusvara-deva, i-deva, ra-deva, iMatra_reph_anusvara-deva.11, gha-deva.post, ra_uMatra-deva, da_uuMatra-deva, awVowel-deva, t_ta-deva, ph_ra-deva, nnn-deva, two-deva, n-deva, ai-deva, nine-deva, danda-deva, tt_ddha-deva, jjya-deva, ng_g_ra-deva, ja-deva, kh_la-deva.loclMAR, ta-deva, d_bh_ya-deva, llla-deva, d_na_uuMatra-deva, da-deva, iMatra_reph_anusvara-deva.02, oShort-deva, d_ra_uMatra-deva, tt_tt_ya-deva, dd_ddha-deva, d_dha_uMatra-deva, d_dh_ya-deva, ha-deva, fa-deva, bba-deva, la-deva.loclMAR.post, b_la-deva.loclMAR, dd-deva, iMatra_reph_anusvara-deva.01, gh_r-deva, dd_tta-deva, bh-deva, g_r_ya-deva, tt_tta-deva, iMatra_reph-deva.00, ii-deva, rra-deva, eCandraMatra-deva, ph-deva, n_n_ya-deva, ss_ttha-deva, sh_la-deva.loclMAR, sh-deva, sh_ca-deva, iMatra_reph-deva.02, t_t-deva, tth_ttha-deva, ny_ra-deva, iMatra_reph-deva.08, iMatra_reph-deva.04, ddh_ya-deva, h-deva, iMatra-deva.13, tt-deva.post, iMatra-deva.12, rha-deva, p_jha-deva, ue-deva, reph-deva.loclMAR, ssa-deva, d_na_uMatra-deva, anusvara-deva, k-deva, z-deva, na-deva.post2, ch_va-deva, oCandra-deva, gha-deva, za-deva, iMatra_reph_anusvara-deva.00, iMatra_reph-deva.03, tt-deva.pre, eMatra-deva, n_ma-deva, v_ha-deva, sh_ra-deva, s_ra-deva, d_d_ya-deva, iMatra_reph_anusvara-deva.10, va-deva, khh-deva, th-deva, d_ba_uMatra-deva, ooe-deva, yya-deva, d_gha_uuMatra-deva, nna-deva, oe-deva, sh-deva.ss02, reph_anusvara-deva.imatra, t_ra-deva.alt, j_j-deva, rr_ha-deva, t_r-deva, iMatra_reph_anusvara-deva.14, c_ch_va-deva, d_bha_uuMatra-deva, d_na-deva, dd_ya-deva, ha_uuMatra-deva, iMatra_reph-deva.12, d_da_uuMatra-deva, halant-deva, iMatra_reph-deva, y_ra-deva, ss_tth_va-deva, zha-deva, j_r-deva, nn-deva, d_bha-deva, nn_ra-deva, ny_ca-deva, iMatra_reph_anusvara-deva.07, rrVocalic-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * lv_Latn (Latvian)
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: * hr_Latn (Croatian)
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: * sk_Latn (Slovak)
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: * cs_Latn (Czech)
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: * fi_Latn (Finnish)
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: * mt_Latn (Maltese)
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: * nb_Latn (Norwegian Bokmål)
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: * tr_Latn (Turkish)
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: * pt_Latn (Portuguese)
The following mark characters are missing from the font: ̂, ̧, ̀, ̃, ́, ̈
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * cy_Latn (Welsh)
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: * en_Latn (English)
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: * ro_Latn (Romanian)
The following mark characters are missing from the font: ̆, ̂, ̧
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * 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: * 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: * en_Latn (English)
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: ǯ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL No dotted circle glyph present and font uses a complex shaper [code: missing-dotted-circle-complex]
🔥 FAIL Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '1.2' [code: parse-error]
🔥 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 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0952 (anudatta-deva)
  • U+0956 (ueMatra-deva)
  • U+0957 (uueMatra-deva) [code: mark-chars]
⚠️ 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 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 506 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=470: less, greater
    width=489: greaterequal, lessequal [code: width-outliers]
⚠️ WARN Name table records must not have trailing spaces. (name/trailing_spaces)
  • ⚠️ WARN Name table record 3/1/1033/UNIQUE_ID has double spaces:
    1.001;HT ;Sahitya-Bold [code: double-spaces]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • iiMatra_anusvara-deva
  • iiMatra_anusvara-deva.02
  • iiMatra_reph-deva.02
  • iiMatra_reph_anusvara-deva.02
  • caron.alt
  • candraBindu-deva.imatra
  • foundryicon
  • square1
  • square2
    ... and 1 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • X (U+0058) has a counter-clockwise outer contour
  • x (U+0078) has a counter-clockwise outer contour
  • x.sups has a counter-clockwise outer contour
  • ss_ra-deva has a path with no bounds (probably a single point) [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • y.sups: Quad(QuadBez { p0: (128.0, 643.5), p1: (165.0, 645.0), p2: (165.0, 647.0) })/Line(Line { p0: (165.0, 647.0), p1: (166.0, 643.0) }) = 14.036243467926484 degrees
  • parenleft (U+0028): Line(Line { p0: (291.0, 603.0), p1: (290.0, 597.0) })/Quad(QuadBez { p0: (290.0, 597.0), p1: (290.0, 602.0), p2: (259.5, 574.0) }) = 9.462322208025574 degrees
  • parenright (U+0029): Line(Line { p0: (19.0, -100.0), p1: (20.0, -94.0) })/Quad(QuadBez { p0: (20.0, -94.0), p1: (20.0, -99.0), p2: (50.5, -71.0) }) = 9.462322208025574 degrees [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • ss_ra-deva: Line(Line { p0: (558.0, 0.0), p1: (558.0, 0.0) }) has the same coordinates as a previous segment.
  • ss_ra-deva: Line(Line { p0: (558.0, 0.0), p1: (558.0, 0.0) }) has the same coordinates as a previous segment.
  • ss_ra-deva: Line(Line { p0: (558.0, 0.0), p1: (558.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:
  • Amacron (U+0100): Line(Line { p0: (318.0, 708.0), p1: (179.0, 707.0) }) (angle: -179.59 degrees, expected: -180.00 degrees)
  • Amacron (U+0100): Line(Line { p0: (182.0, 795.0), p1: (336.0, 794.0) }) (angle: -0.37 degrees, expected: 0.00 degrees)
  • Amacron (U+0100): Line(Line { p0: (459.0, 709.0), p1: (318.0, 708.0) }) (angle: -179.59 degrees, expected: -180.00 degrees)
  • B (U+0042): Line(Line { p0: (116.0, 137.0), p1: (117.0, 527.0) }) (angle: 89.85 degrees, expected: 90.00 degrees)
  • E (U+0045): Line(Line { p0: (115.0, 144.0), p1: (116.0, 523.0) }) (angle: 89.85 degrees, expected: 90.00 degrees)
  • Eacute (U+00C9): Line(Line { p0: (115.0, 144.0), p1: (116.0, 523.0) }) (angle: 89.85 degrees, expected: 90.00 degrees)
  • Ebreve (U+0114): Line(Line { p0: (115.0, 144.0), p1: (116.0, 523.0) }) (angle: 89.85 degrees, expected: 90.00 degrees)
  • Ecaron (U+011A): Line(Line { p0: (115.0, 144.0), p1: (116.0, 523.0) }) (angle: 89.85 degrees, expected: 90.00 degrees)
  • Ecircumflex (U+00CA): Line(Line { p0: (115.0, 144.0), p1: (116.0, 523.0) }) (angle: 89.85 degrees, expected: 90.00 degrees)
    ... and 160 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sahitya-Bold.ttf
Dehinted Size 189280
Hinted Size 267140
Increase 77860
Change 41.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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 16 -D latn -f none -w G -W -X "") [code: ok]
[1] ofl/sahitya/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2015 by juan pablo del peral (http://www.huertatipografica.com). all rights reserved."

which does not match the expected format, similar to:

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

[2] ofl/sahitya/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)
[29] ofl/sahitya/Sahitya-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1, name table: 1.001 [code: mismatch]
🔥 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 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:
  • oMatra_candraBindu-deva
  • oMatra_reph_candraBindu-deva
  • auMatra_reph_candraBindu-deva [code: found-nested-components]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • Aringacute (component ring.cap)
  • Aringacute (component acute.cap)
  • aringacute (component ring.cap)
  • aringacute (component acute.cap)
  • imacron (component macron)
  • zha-deva (component nukta-deva)
  • zha-deva (component nukta-deva)
  • zha-deva (component nukta-deva)
  • iiMatra_anusvara-deva (component anusvara-deva.imatra)
    ... and 11 others [code: transformed-components]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: ca-deva, iMatra_reph_anusvara-deva.01, j_ra-deva, halant-deva, ha_uuMatra-deva, oMatra_reph_anusvara-deva, iMatra-deva.06, iMatra-deva.03, l-deva, t_ta-deva, f-deva, j_r-deva, ss_ttha-deva, d_ga_uuMatra-deva, jh-deva.loclNEP, iMatra_reph-deva.11, ddh-deva, rVocalicMatra-deva, d_v_ya-deva, iiMatra_candraBindu-deva.02, na-deva, j-deva, d_da_uuMatra-deva, ja-deva, d_r_ya-deva, sha-deva, h_ra-deva, y-deva, rha-deva, bh_la-deva.loclMAR, nukta-deva, anudatta-deva, kh-deva, dd-deva, d_ga_uMatra-deva, h_la-deva, k_ss_ma-deva, t_r_ya-deva, s_t_ra-deva, d_ga-deva, j_j-deva, oeMatra-deva, aiMatra_anusvara-deva, v_ha-deva, jh-deva, la-deva.loclMAR.post, d_ma-deva, sh-deva, kha-deva, iMatra_reph_anusvara-deva.12, pha-deva, la-deva.loclMAR, d_dha-deva, y_r-deva, kh_la-deva.loclMAR, d_na_uuMatra-deva, d_ba-deva, dh_ra-deva, gh_ra-deva, iiMatra_anusvara-deva, ssa-deva, eCandra-deva, iMatra-deva.04, gh_r-deva, da-deva, tt-deva.pre, tth_ya-deva, nnna-deva, a-deva, d_b_ra-deva, iiMatra_reph-deva.02, oShort-deva, iMatra_reph_anusvara-deva.03, iMatra_reph-deva.06, gha-deva.post, nn-deva, c-deva, iiMatra_reph_anusvara-deva.02, ddha-deva, k-deva, ddh-deva.post, b_ja-deva, sh_r-deva, k_ta-deva, ny_ja-deva, tth-deva.pre, c_ca-deva, awVowel-deva, eMatra_candraBindu-deva, aa-deva, n_n-deva, three-deva, sha-deva.loclMAR, m_r-deva, space-deva, ra-deva.post, d_ra_uMatra-deva, rakar_uuMatra-deva, d_bha_uuMatra-deva, sh_r_ya-deva, th-deva, ng_g_ra-deva, uue-deva, o_anusvara-deva, d_ra-deva, dd_ma-deva, iiMatra_reph-deva, dh-deva, g_n-deva, tth-deva.post, g_n_ya-deva, dd_na-deva, v_la-deva.loclMAR, h_va-deva, n_ra-deva, bh-deva, f_ra-deva, d_bha_uMatra-deva, b_ra-deva, tt-deva.post, iMatra-deva.13, nine-deva, oCandra-deva, iMatra_reph-deva.01, sh_la-deva.loclMAR, yya-deva, d_dha_uMatra-deva, reph-deva.imatra, iMatra_reph-deva.14, gh_la-deva.loclMAR, ooe-deva, ue-deva, p_la-deva.loclMAR, p_ta-deva, oMatra-deva, iMatra_reph-deva.13, z-deva, ha_uMatra-deva, oe-deva, k_ss-deva, iMatra-deva.07, jjya-deva, ng_gha-deva, k_ss_ra-deva, j_ny-deva, u-deva, zero-deva, da-deva.alt, six-deva, d_bha-deva, sh_na-deva, ss_tth_va-deva, dda-deva, eight-deva, sh-deva.ss02, anusvara-deva.imatra, ng_k_ssa-deva, dd_ya-deva, d_ya-deva, iMatra_reph_anusvara-deva.11, ng_ga-deva, ii-deva, iMatra-deva.01, ddda-deva, k_la-deva.loclMAR, fa-deva, g_na-deva, k_va-deva, iMatra-deva.02, m_la-deva.loclMAR, rrVocalic-deva, iMatra_reph-deva.08, d_va-deva, d_gha_uuMatra-deva, tt_ya-deva, nga-deva, lVocalic-deva, iiMatra_candraBindu-deva, one-deva, aiMatra_reph-deva, k_ssa-deva, ai-deva, p-deva, ooeMatra-deva, aiMatra_reph_candraBindu-deva, oCandraMatra-deva, d_gha_uMatra-deva, glottalstop-deva, eMatra-deva, eMatra_reph-deva, jha-deva, nna-deva, sh-deva.loclMAR, k_ra-deva.alt, lla-deva, four-deva, tt_tt_ya-deva, iMatra_reph_anusvara-deva.14, anusvara-deva, nnn-deva, i-deva, ddh_na-deva, tt-deva, ss_tt_va-deva, reph-deva.loclMAR, seven-deva, dh_r-deva, dd_gha-deva, va-deva.post, iMatra_reph_anusvara-deva.00, reph-deva, c_la-deva.loclMAR, ddh_ddh_ya-deva, da_uMatra-deva, auMatra_reph_anusvara-deva, iMatra_reph-deva.04, m-deva, ss_tth_ya-deva, h_ya-deva, auMatra_reph_candraBindu-deva, j_ny_ra-deva, ya-deva, ba-deva, tth_tth_ya-deva, iMatra-deva.11, rra-deva, iMatra_reph_anusvara-deva.05, aCandra-deva, ph-deva, s_ra-deva, iMatra_reph-deva.12, d_ba_uuMatra-deva, ch_na-deva, iMatra_reph_anusvara-deva.13, gh_na-deva, g_la-deva.loclMAR, abbreviation-deva, iiMatra_anusvara-deva.02, ng_k-deva, uu-deva, d_dha_uuMatra-deva, iMatra_reph-deva.09, iMatra-deva, j_ja-deva, k_ra-deva, d-deva, aw-deva-accent, gga-deva, rr_ya-deva, dha-deva, gh-deva, d_da_uMatra-deva, jja-deva, tt_na-deva, d_rVocalicMatra-deva, ra_uMatra-deva, m_ra-deva, y_n-deva, dd_ddha-deva, na-deva.post, ng_gh_ra-deva, iMatra_reph-deva.02, j_nya-deva, lll-deva, jh_ra-deva, tt_tta-deva, ll-deva, iMatra-deva.08, eMatra_reph_anusvara-deva, bh_n-deva, c_ra-deva, n_bha-deva, rrVocalicMatra-deva, tta-deva, g_r_ya-deva, tt_ttha-deva, y_ra-deva, ng_kha-deva, v_ra-deva, za-deva, au-deva, n-deva, la-deva, n_na-deva, ddh_ddha-deva, h_na-deva, d_dh_r_ya-deva, nya-deva, d_da-deva, aw-deva, iMatra-deva.00, ya-deva.post, h_ma-deva, iMatra_reph_anusvara-deva.02, nn_ra-deva, iMatra-deva.05, iMatra_reph_anusvara-deva.07, ra_uuMatra-deva, kh_ra-deva, t-deva, ng_k_ra-deva, two-deva, ph_ra-deva, llVocalic-deva, zha-deva, kha-deva.alt, acute-deva, rVocalic-deva, eCandraMatra-deva, s_tha-deva, aShort-deva, t_ra-deva.alt, g-deva, gha-deva, ph_la-deva.loclMAR, aiMatra-deva, eShort-deva, uuMatra-deva, n_ma-deva, iMatra-deva.14, b_la-deva.loclMAR, ng_ka-deva, sh_ra-deva, ka_ra-deva.loclNEP, auMatra_reph-deva, iMatra_reph-deva.03, sa-deva, uMatra-deva, visarga-deva, eMatra_reph_candraBindu-deva, ng-deva, ha_rVocalicMatra-deva, d_na_uMatra-deva, ng_k_ta-deva, dd_dda-deva, cha-deva, ddh_ya-deva, d_bh_ya-deva, p_jha-deva, k_ka-deva, rr-deva, n_n_ya-deva, uueMatra-deva, q-deva, qa-deva, ss_tt_ya-deva, aiMatra_reph_anusvara-deva, oShortMatra-deva, ueMatra-deva, ny-deva, bh_ra-deva, bha-deva, iMatra-deva.09, ch-deva, reph_anusvara-deva.imatra, kh_na-deva, iMatra-deva.12, na-deva.post2, sh_va-deva, d_va_uMatra-deva, l_la-deva.loclMAR, ss_tta-deva, dbldanda-deva, ta-deva, oMatra_reph_candraBindu-deva, oMatra_candraBindu-deva, ny_ca-deva, e-deva, ma-deva, iMatra_reph-deva.00, d_ba_uMatra-deva, rakar_uMatra-deva, d_gh_ya-deva, auMatra-deva, ddh-deva.pre, ttha-deva, five-deva, c_ch_va-deva, th_ra-deva, bh_r-deva, k_ss_ya-deva, iMatra_reph-deva.07, o-deva, rakar-deva, v_n-deva, dd_dd_ya-deva, d_va_uuMatra-deva, dd-deva.pre, reph_anusvara-deva, prishthaMatraE-deva, va-deva, tha-deva, l_ra-deva, tt_ra-deva, ghh-deva, lVocalicMatra-deva, iMatra-deva.10, sh_ca-deva, ha-deva.comp, iMatra_reph_anusvara-deva.06, avagraha-deva, om-deva, khha-deva, dddha-deva, d_na-deva, t_r-deva, iMatra_reph-deva.05, oMatra_reph-deva, c_ca-deva.alt, iMatra_reph_anusvara-deva.04, iiMatra_reph_anusvara-deva, eShortMatra-deva, ss-deva, tt_va-deva, d_g_ra-deva, g_ra-deva, v_r-deva, rr_ha-deva, ny_ra-deva, iiMatra-deva, ghha-deva, s-deva, aaMatra-deva, aiMatra_candraBindu-deva, ng-deva.pre, jha-deva.loclNEP, ra-deva, b-deva, danda-deva, d_dh_ya-deva, h_nna-deva, g_r-deva, v-deva, ch_va-deva, tt_ddha-deva, tth_ttha-deva, iMatra_reph-deva, iMatra_reph_anusvara-deva.10, eMatra_anusvara-deva, llla-deva, ss_ra-deva, candraBindu-deva, udatta-deva, grave-deva, t_t-deva, llVocalicMatra-deva, iiMatra-deva.02, khh-deva, cha-deva.pre, iMatra_reph_anusvara-deva.08, d_ra_uuMatra-deva, iMatra_reph_anusvara-deva.09, dd_tta-deva, iMatra_reph-deva.10, bba-deva, ch_la-deva.loclMAR, iMatra_reph_anusvara-deva, t_ra-deva, m_n-deva, jha_uMatra-deva, da_uuMatra-deva, ha-deva, oMatra_anusvara-deva, p_ra-deva, tth_na-deva, h-deva, candraBindu-deva.imatra, ga-deva, auMatra_anusvara-deva, d_gha-deva, tth-deva, d_d_ya-deva, ka-deva, p_tta-deva, pa-deva, ng_ma-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * tr_Latn (Turkish)
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: * fr_Latn (French)
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: * lt_Latn (Lithuanian)
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: * cy_Latn (Welsh)
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: * hu_Latn (Hungarian)
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: * is_Latn (Icelandic)
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: * 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: * sk_Latn (Slovak)
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: * da_Latn (Danish)
The following mark characters are missing from the font: ́, ̊
Mandatory orthography codepoints: * hr_Latn (Croatian)
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: * sv_Latn (Swedish)
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: * ca_Latn (Catalan)
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: * fi_Latn (Finnish)
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: * de_Latn (German)
The following base characters are missing from the font: ẞ
The following mark characters are missing from the font: ̀, ̈, ́
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
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: * 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: * 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: * en_Latn (English)
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: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL No dotted circle glyph present and font uses a complex shaper [code: missing-dotted-circle-complex]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sahitya Sahitya
Subfamily Name Regular Regular
Full Name Sahitya Sahitya Regular
Postscript Name Sahitya-Regular Sahitya-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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '1.2' [code: parse-error]
🔥 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 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0952 (anudatta-deva)
  • U+0956 (ueMatra-deva)
  • U+0957 (uueMatra-deva) [code: mark-chars]
⚠️ 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 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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • ⚠️ WARN Name table record 3/1/1033/UNIQUE_ID has double spaces:
    1.001;HT ;Sahitya-Regular [code: double-spaces]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • iiMatra_anusvara-deva
  • iiMatra_anusvara-deva.02
  • iiMatra_reph-deva.02
  • iiMatra_reph_anusvara-deva.02
  • caron.alt
  • candraBindu-deva.imatra
  • foundryicon
  • square1
  • square2
    ... and 1 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • X (U+0058) has a counter-clockwise outer contour
  • x (U+0078) has a counter-clockwise outer contour
  • x.sups has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • H (U+0048): Quad(QuadBez { p0: (112.5, -4.0), p1: (59.0, -8.0), p2: (58.0, -12.0) })/Line(Line { p0: (58.0, -12.0), p1: (64.0, 34.0) }) = 6.604835496753992 degrees
  • Hbar (U+0126): Quad(QuadBez { p0: (110.5, -4.0), p1: (57.0, -8.0), p2: (56.0, -12.0) })/Line(Line { p0: (56.0, -12.0), p1: (62.0, 34.0) }) = 6.604835496753992 degrees
  • Hcircumflex (U+0124): Quad(QuadBez { p0: (112.5, -4.0), p1: (59.0, -8.0), p2: (58.0, -12.0) })/Line(Line { p0: (58.0, -12.0), p1: (64.0, 34.0) }) = 6.604835496753992 degrees
  • thorn (U+00FE): Quad(QuadBez { p0: (70.0, -232.5), p1: (21.0, -235.0), p2: (21.0, -237.0) })/Line(Line { p0: (21.0, -237.0), p1: (26.0, -198.0) }) = 7.3057595333108205 degrees
  • sa-deva (U+0938): Quad(QuadBez { p0: (459.0, 0.0), p1: (465.0, 116.0), p2: (464.0, 108.0) })/Line(Line { p0: (464.0, 108.0), p1: (469.0, 241.0) }) = 4.972053559801293 degrees
  • gga-deva (U+097B): Quad(QuadBez { p0: (374.0, 16.0), p1: (379.0, 132.0), p2: (379.0, 126.0) })/Quad(QuadBez { p0: (379.0, 126.0), p1: (384.0, 254.0), p2: (384.0, 291.0) }) = 2.23697906343756 degrees
  • jja-deva (U+097C): Quad(QuadBez { p0: (541.0, 16.0), p1: (546.0, 132.0), p2: (546.0, 126.0) })/Quad(QuadBez { p0: (546.0, 126.0), p1: (551.0, 254.0), p2: (551.0, 291.0) }) = 2.23697906343756 degrees
  • o_anusvara-deva: Quad(QuadBez { p0: (548.0, 0.0), p1: (554.0, 121.0), p2: (553.0, 107.0) })/Line(Line { p0: (553.0, 107.0), p1: (559.0, 263.0) }) = 1.8830186182087987 degrees
  • ng_gh_ra-deva: Line(Line { p0: (360.0, -230.0), p1: (362.0, -164.0) })/Quad(QuadBez { p0: (362.0, -164.0), p1: (362.0, -165.0), p2: (361.5, -165.0) }) = 1.735704588928346 degrees
    ... and 20 others [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:
  • Amacron (U+0100): Line(Line { p0: (295.0, 720.0), p1: (151.0, 719.0) }) (angle: -179.60 degrees, expected: -180.00 degrees)
  • Amacron (U+0100): Line(Line { p0: (155.0, 773.0), p1: (309.0, 772.0) }) (angle: -0.37 degrees, expected: 0.00 degrees)
  • Amacron (U+0100): Line(Line { p0: (437.0, 721.0), p1: (295.0, 720.0) }) (angle: -179.60 degrees, expected: -180.00 degrees)
  • B (U+0042): Line(Line { p0: (142.0, 120.0), p1: (143.0, 540.0) }) (angle: 89.86 degrees, expected: 90.00 degrees)
  • D (U+0044): Line(Line { p0: (142.0, 120.0), p1: (143.0, 540.0) }) (angle: 89.86 degrees, expected: 90.00 degrees)
  • Eth (U+00D0): Line(Line { p0: (149.0, 343.0), p1: (150.0, 540.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
  • Dcaron (U+010E): Line(Line { p0: (142.0, 120.0), p1: (143.0, 540.0) }) (angle: 89.86 degrees, expected: 90.00 degrees)
  • Dcroat (U+0110): Line(Line { p0: (149.0, 343.0), p1: (150.0, 540.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
  • E (U+0045): Line(Line { p0: (142.0, 120.0), p1: (143.0, 540.0) }) (angle: 89.86 degrees, expected: 90.00 degrees)
    ... and 175 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sahitya-Regular.ttf
Dehinted Size 189420
Hinted Size 261652
Increase 72232
Change 38.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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 16 -D latn -f none -w G -W -X "") [code: ok]
[8] ofl/sahitya
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 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 The font has the following codepoints needed to render the masthead full sample text for language Acoli, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ŋ (U+014A)
  • ŋ (U+014B) [code: missing-subsetted]
  • 🔥 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 specimen 16 sample text for language Old English, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ō (U+014D)
  • ġ (U+0121)
  • ċ (U+010B)
  • ā (U+0101)
  • ī (U+012B)
  • ē (U+0113) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Bashkir (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ş (U+015F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Bashkir (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ź (U+017A) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Belarusian (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ś (U+015B)
  • ž (U+017E)
  • ŭ (U+016D)
  • ń (U+0144) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Bari, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ŋ (U+014A)
  • ŋ (U+014B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Brahui (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ń (U+0144) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Brahui (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ŧ (U+0167) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Bosnian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ć (U+0106) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Bosnian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ć (U+0107)
  • š (U+0161)
  • č (U+010D)
  • ž (U+017E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Bosnian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • đ (U+0111) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Bulu, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ō (U+014D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Crimean Turkish, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ş (U+015F)
  • ğ (U+011F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Crimean Turkish, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • İ (U+0130) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Czech, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Š (U+0160)
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Czech, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Czech, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ť (U+0165)
  • č (U+010D)
  • ů (U+016F)
  • ě (U+011B)
  • ř (U+0159) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Czech, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ď (U+010F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Kashubian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ą (U+0105) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Lower Sorbian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161)
  • Š (U+0160) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Lower Sorbian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ź (U+017A) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Lower Sorbian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ć (U+0107)
  • ě (U+011B)
  • ś (U+015B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Jola-Fonyi, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ŋ (U+014B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Esperanto, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ĉ (U+0108)
  • ĉ (U+0109) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Esperanto, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ĝ (U+011C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Esperanto, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ŝ (U+015D)
  • ŭ (U+016D)
  • ĝ (U+011D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Gagauz, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • İ (U+0130)
  • ş (U+015F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 32 sample text for language Gagauz, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ţ (U+0163) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Old High German, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ī (U+012B)
  • ō (U+014D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Hawaiian, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ā (U+0100)
  • ā (U+0101) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Hawaiian, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ō (U+014D)
  • ū (U+016B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Hawaiian, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ī (U+012B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Croatian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ć (U+0107) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Croatian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E)
  • š (U+0161)
  • č (U+010D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Croatian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • đ (U+0111) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Upper Sorbian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161)
  • Š (U+0160) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Upper Sorbian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Upper Sorbian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ć (U+0107)
  • č (U+010D)
  • ě (U+011B)
  • ł (U+0142) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Hungarian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ű (U+0171) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Hungarian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ő (U+0151) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Kazakh (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ğ (U+011F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Karelian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • č (U+010D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Kurdish (Latin), but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ş (U+015F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ladin, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ć (U+0107) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Lithuanian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ė (U+0117) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Lithuanian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Lithuanian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • č (U+010D)
  • š (U+0161)
  • ę (U+0119)
  • ū (U+016B)
  • į (U+012F)
  • ų (U+0173)
  • ą (U+0105) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Latvian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ē (U+0113) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Latvian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ņ (U+0146)
  • ū (U+016B)
  • ā (U+0101)
  • ī (U+012B)
  • ļ (U+013C)
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Latvian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ģ (U+0123)
  • ķ (U+0137) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Maori, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ā (U+0100)
  • ā (U+0101) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead partial sample text for language Maori, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ē (U+0113)
  • Ē (U+0112) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Maori, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ū (U+016B)
  • ō (U+014D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Maori, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ī (U+012B) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Marathi 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 32 sample text (This suggests there's something wrong with the sample text):
  • ‍ (U+200D) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Maltese, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ġ (U+0121)
  • ċ (U+010B)
  • ħ (U+0127) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Maltese, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ż (U+017C)
  • Ħ (U+0126) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Nepali 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 21 sample text (This suggests there's something wrong with the sample text):
  • ‍ (U+200D) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Niuean, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ā (U+0101) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Northern Sotho, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Polish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Ż (U+017B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Polish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ż (U+017C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Polish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ł (U+0142)
  • ą (U+0105)
  • ś (U+015B)
  • ę (U+0119)
  • ć (U+0107) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Polish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ń (U+0144) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Romani, Balkan, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ś (U+015B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Romani, Balkan, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ą (U+0105) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Romanian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ș (U+0219)
  • ă (U+0103)
  • ț (U+021B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Northern Sami, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • č (U+010D)
  • š (U+0161)
  • đ (U+0111) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 32 sample text for language Northern Sami, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ŋ (U+014B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Slovak, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • Š (U+0160)
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Slovak, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Slovak, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ň (U+0148)
  • ť (U+0165)
  • č (U+010D)
  • ľ (U+013E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Slovenian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161)
  • č (U+010D)
  • ž (U+017E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Inari Sami, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161)
  • đ (U+0111)
  • č (U+010D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Soninke, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ŋ (U+014B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Serbian (Latin), but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Serbian (Latin), but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ć (U+0107)
  • ž (U+017E)
  • đ (U+0111)
  • č (U+010D) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Silesian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161)
  • Š (U+0160) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Silesian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ź (U+017A) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Silesian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ř (U+0159)
  • ć (U+0107)
  • ś (U+015B)
  • ů (U+016F)
  • ń (U+0144) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Turkmen (Latin), but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ň (U+0148) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Turkmen (Latin), but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E)
  • ş (U+015F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tswana, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Turkish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ş (U+015F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Turkish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • İ (U+0130) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Turkish, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ğ (U+011F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Purepecha, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ŋ (U+014B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Tatar (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ş (U+015F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tatar (Latin), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ğ (U+011F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead partial sample text for language Tuvalu, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ā (U+0101)
  • Ā (U+0100) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tuvalu, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ē (U+0113)
  • ū (U+016B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tahitian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ū (U+016B)
  • ō (U+014D)
  • ā (U+0101)
  • ē (U+0113) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 21 sample text for language Tahitian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ī (U+012B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Venetian, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ł (U+0142) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Veps, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets devanagari, latin:
  • ž (U+017E)
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Sahitya-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) 2015 by juan pablo del peral (http://www.huertatipografica.com). all rights reserved." [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) 2015 by juan pablo del peral (http://www.huertatipografica.com). all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Sahitya-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) 2015 by juan pablo del peral (http://www.huertatipografica.com). all rights reserved." [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) 2015 by juan pablo del peral (http://www.huertatipografica.com). all rights reserved." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sahitya/Sahitya-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+0100 LATIN CAPITAL LETTER A WITH MACRON: try adding latin-ext
  • U+0101 LATIN SMALL LETTER A WITH MACRON: try adding latin-ext
  • U+0102 LATIN CAPITAL LETTER A WITH BREVE: try adding one of: latin-ext, vietnamese
  • U+0103 LATIN SMALL LETTER A WITH BREVE: try adding one of: vietnamese, latin-ext
  • U+0104 LATIN CAPITAL LETTER A WITH OGONEK: try adding latin-ext
  • U+0105 LATIN SMALL LETTER A WITH OGONEK: try adding latin-ext
  • U+0106 LATIN CAPITAL LETTER C WITH ACUTE: try adding latin-ext
  • U+0107 LATIN SMALL LETTER C WITH ACUTE: try adding latin-ext
  • U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX: try adding latin-ext
    ... and 162 others

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

  • ⚠️ WARN ofl/sahitya/Sahitya-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+0100 LATIN CAPITAL LETTER A WITH MACRON: try adding latin-ext
  • U+0101 LATIN SMALL LETTER A WITH MACRON: try adding latin-ext
  • U+0102 LATIN CAPITAL LETTER A WITH BREVE: try adding one of: latin-ext, vietnamese
  • U+0103 LATIN SMALL LETTER A WITH BREVE: try adding one of: vietnamese, latin-ext
  • U+0104 LATIN CAPITAL LETTER A WITH OGONEK: try adding latin-ext
  • U+0105 LATIN SMALL LETTER A WITH OGONEK: try adding latin-ext
  • U+0106 LATIN CAPITAL LETTER C WITH ACUTE: try adding latin-ext
  • U+0107 LATIN SMALL LETTER C WITH ACUTE: try adding latin-ext
  • U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX: try adding latin-ext
    ... and 162 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, devanagari, latin [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]

  • ⚠️ 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]
[1] ofl/sahitya/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Sahitya" does not match post_script_name="Sahitya-Regular". [code: mismatch]

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
131 47 14 190 117
35% 13% 4% 51% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[34] ofl/sarala/Sarala-Bold.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1.0029907, name table: 1.004 [code: mismatch]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • candraBindu_halant-deva (Some(43251)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0122 [code: missing-case-counterparts]
🔥 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 component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • eMatra_anusvara-deva (component anusvara-deva)
  • aiMatra_reph_anusvara-deva (component anusvara-deva)
  • reph_anusvara-deva (component anusvara-deva) [code: transformed-components]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: uu-deva, gh-deva, oCandraMatra-deva, sa-deva, iMatra_reph_anusvara-deva.04, zha-deva.loclNEP, eMatra_reph_anusvara-deva, spacingCandraBindu-deva, auMatra-deva, nn_ra-deva, candraBindu_halant-deva, jha_uMatra-deva, dh_ra-deva, qa-deva, rVocalic-deva, h_ma-deva, ddh-deva, d_d_ya-deva, iMatra_reph-deva.04, iiMatra_reph-deva, iMatra-deva.01, aiMatra-deva, iMatra_reph_anusvara-deva.13, da-deva, ny-deva, b-deva, sh-deva.ss02, anusvara-deva.alt, l_ra-deva, rakar_uMatra-deva, da-deva-compo, tta-deva, ghh-deva, two_candraBindu-deva, tth_tth_ya-deva, k_la-deva, tt_va-deva, iMatra-deva.06, nuktathree-deva, nga-deva, auMatra_reph_anusvara-deva, headstroke-deva, oeMatra-deva, iMatra_reph_anusvara-deva.03, ka-deva.comb, ng_ka-deva, iMatra-deva.14, reph-deva, rakar-deva, h_ra-deva, iMatra_reph_anusvara-deva.02, ny_ra-deva, five-deva.loclNEP, ya-deva, dh-deva, d_ba_uMatra-deva, a-deva.comb, anusvara-deva, awMatra-deva, ghha-deva, vi-deva.comb, da_uMatra-deva, d_va_uMatra-deva, c_ca-deva.alt, v-deva, dd_na-deva, nna-deva, nya-deva, ny_ja-deva, one-deva.comb, jja-deva, iMatra-deva.04, n_ra-deva, h_la-deva, uuMatra-deva, iMatra_reph_anusvara-deva.10, rakar_uuMatra-deva, iMatra-deva.07, d_da-deva, tt_ttha-deva, iMatra_reph-deva.11, ha_uMatra-deva, four-deva.comb, d-deva, m-deva, t_ra-deva, za-deva, dddha-deva, j_ja-deva, d_bha_uMatra-deva, k-deva, aiMatra_anusvara-deva, k_ta-deva, two-deva.comb, rrVocalicMatra-deva, kh_ra-deva, d_ra-deva, c_r-deva, dbldanda-deva, t_r_ya-deva, ddh_ya-deva, eShort-deva, ng-deva, eMatra_reph-deva, zero-deva, avagraha-deva.comb, ga-deva, k_ssa-deva, dd_ddha-deva, anudatta-deva, au-deva, j_ny-deva, z-deva, iMatra_reph-deva.12, ddh_ddh_ya-deva, visarga-deva, rVocalicMatra-deva, k_ra-deva, iMatra_reph_anusvara-deva.15, jh-deva.loclNEP, gh_ra-deva, tth_na-deva, caret-deva, b_ra-deva, l_la-deva, eCandraMatra-deva, ssa-deva, iMatra_reph_anusvara-deva.00, nukta-deva, bha-deva, four-deva, iMatra_reph_anusvara-deva.01, ttha-deva, ooeMatra-deva, o-deva, uMatra-deva, uueMatra-deva, j_ny_ra-deva, d_v_ya-deva, sh_ca-deva, d_ga_uMatra-deva, ooe-deva, h_na-deva, iMatra-deva.05, iMatra_reph_anusvara-deva.07, iMatra_reph_anusvara-deva.09, iMatra-deva.12, iMatra_reph_anusvara-deva.08, rra-deva, oCandra-deva, c-deva, iMatra-deva.13, dda-deva, bba-deva, i-deva, candraBindu-deva.alt, k_ss-deva, d_ga-deva, dd-deva, d_b_ra-deva, aa-deva, bh-deva, sh-deva, iMatra_reph-deva.01, h_nna-deva, l-deva, iMatra-deva.02, iMatra_reph-deva.09, iMatra_reph-deva.13, oe-deva, sh_ra-deva, uue-deva, h_rVocalic-deva, iMatra_reph-deva.15, na-deva.comb, p_ta-deva, sh_rVocalic-deva, oShortMatra-deva, fa-deva, ai-deva, ha-deva, jjya-deva, glottalstop-deva, bh_ra-deva, s_t_ra-deva, iMatra_reph-deva.14, g_na-deva, eight-deva.loclNEP, ii-deva, reph_anusvara-deva, ss_ttha-deva, h-deva, aw-deva, d_ya-deva, five-deva, tt-deva, iMatra_reph-deva.00, j_j-deva, oMatra_anusvara-deva, iMatra-deva.03, a-deva, eight-deva.comb, n-deva, iiMatra_reph_anusvara-deva, eShortMatra-deva, ch_va-deva, g-deva, llVocalic-deva.loclMAR, eMatra_anusvara-deva, invertedCandraBindu-deva, lVocalic-deva, reph-deva.loclMAR, t_ta-deva, l_la-deva.loclMAR, one-deva, iMatra_reph-deva.03, iMatra_reph-deva.07, d_dha-deva, k_ka-deva, ny_ca-deva, h_ya-deva, kh-deva, d_g_ra-deva, c_ca-deva, gha-deva, dd_gha-deva, d_va-deva, eLongCandra-deva, s_ra-deva, ss-deva, acute-deva, d_ddh_r_ya-deva, iMatra-deva.09, nine-deva, iMatra-deva.15, vi-deva, avagraha-deva, iMatra_reph_anusvara-deva.05, iiMatra_reph_anusvara-deva.01, sh_r-deva, gapfiller-deva, j_ra-deva, iiMatra-deva.01, auMatra_reph-deva, three-deva.comb, ph_la-deva.loclMAR, ja-deva, eMatra-deva, j-deva, ddda-deva, khha-deva, u-deva.comb, gga-deva, va-deva, p_la-deva, sh_va-deva, grave-deva, q-deva, ha_rVocalicMatra-deva, ll-deva, auMatra_anusvara-deva, iMatra_reph_anusvara-deva.06, oShort-deva, sh_la-deva.loclMAR, aiMatra_reph-deva, iMatra_reph_anusvara-deva.12, reph-deva.alt, d_gha_uMatra-deva, lVocalicMatra-deva, kha-deva, n_na-deva, m_ra-deva, sha-deva.loclMAR, dha-deva, iMatra_reph-deva.05, iMatra-deva.08, ss_ra-deva, ueMatra-deva, p-deva, ue-deva, three_candraBindu-deva, rha-deva, aShort-deva, two-deva, d_na_uMatra-deva, sh_la-deva, na-deva, b_la-deva.loclMAR, llVocalic-deva, aCandra-deva, d_ma-deva, ph_la-deva, cha-deva, nnna-deva, tt_ddha-deva, doubleCandraBindu_halant-deva, dd_ma-deva, rrVocalic-deva, tth_ya-deva, ta-deva, lla-deva, ra_uMatra-deva, s-deva, eight-deva, candraBindu-deva, tt_na-deva, iMatra-deva, jha-deva, ra-deva.comb, ng_ga-deva, d_ra_uMatra-deva, d_rVocalicMatra-deva, th-deva, iMatra_reph-deva.06, iMatra_reph_anusvara-deva.14, d_dh_ya-deva, la-deva, ha-deva.alt, jha-deva.loclNEP, llVocalicMatra-deva, pa-deva, t_ra-deva.alt, p_la-deva.loclMAR, t-deva, ng_k_ssa-deva, dd_dd_ya-deva, pa-deva.comb, d_r_ya-deva, sha-deva, prishthaMatraE-deva, d_dha_uMatra-deva, ph_r_nukta-deva, b_r-deva, pha-deva, udatta-deva, iMatra_reph-deva, iiMatra_reph-deva.01, iMatra_reph_anusvara-deva.11, iMatra_reph-deva.08, y-deva, oMatra_reph_anusvara-deva, ss_tta-deva, llla-deva, iMatra-deva.11, aiMatra_reph_anusvara-deva, lll-deva, oMatra_reph-deva, ddh_na-deva, d_bha-deva, p_ra-deva, ra_uuMatra-deva, b_la-deva, th_ra-deva, k_va-deva, y_ra-deva, seven-deva.comb, zha-deva, seven-deva, zero-deva.comb, avagraha_candraBindu-deva, jh_ra-deva, ma-deva, iiMatra-deva, highspacingdot-deva, k_ss_ra-deva, u-deva, five-deva.comb, tha-deva, ca-deva, ng_kha-deva, tt_tta-deva, tt_tt_ya-deva, tt_ya-deva, dd_tta-deva, e-deva, d_na-deva, v_ra-deva, c_ra-deva, d_gha-deva, eCandra-deva, tth_ttha-deva, dd_ya-deva, ng_ma-deva, oMatra-deva, ddh_ddha-deva, ph_ra-deva, g_ra-deva, six-deva, ng_gha-deva, dd_dda-deva, jh-deva, nn-deva, pushpika-deva, ka-deva, nine-deva.comb, six-deva.comb, j_nya-deva, d_bh_ya-deva, k_ra-deva.loclNEP, ch-deva, t_r-deva, nnn-deva, h_va-deva, la-deva.loclMAR, f-deva, halant-deva, sh_na-deva, k_la-deva.loclMAR, iMatra_reph_anusvara-deva, rr-deva, khh-deva, iMatra_reph-deva.10, aaMatra-deva, d_ba-deva, ba-deva, d_da_uMatra-deva, ddha-deva, yya-deva, p_tta-deva, ng_k-deva, lVocalic-deva.loclMAR, iMatra_reph-deva.02, sh-deva.loclMAR, danda-deva, om-deva, ra-deva, tth-deva, iMatra-deva.00, iMatra-deva.10, j_r-deva, t_t-deva, ph-deva, abbreviation-deva, three-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * it_Latn (Italian)
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: * da_Latn (Danish)
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: * es_Latn (Spanish)
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: * pl_Latn (Polish)
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: * ca_Latn (Catalan)
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: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̇, ̄, ̌, ̨
Mandatory orthography codepoints: * hu_Latn (Hungarian)
The following mark characters are missing from the font: ̈, ̋, ́
Mandatory orthography codepoints: * hr_Latn (Croatian)
The following mark characters are missing from the font: ̌, ́
Mandatory orthography codepoints: * lv_Latn (Latvian)
The following base characters are missing from the font: ģ
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: * cy_Latn (Welsh)
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: * is_Latn (Icelandic)
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: * ro_Latn (Romanian)
The following base characters are missing from the font: ș, Ș, ț, Ț
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: * sv_Latn (Swedish)
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: * fr_Latn (French)
The following mark characters are missing from the font: ̧, ̂, ̈, ̀, ́
Mandatory orthography codepoints: * tr_Latn (Turkish)
The following mark characters are missing from the font: ̈, ̇, ̆, ̂, ̧
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
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: ǯ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
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: J̇̃
The following auxiliary characters are missing from the font: Ų́
The following auxiliary characters are missing from the font: Ū́
The following auxiliary characters are missing from the font: ą́
The following auxiliary characters are missing from the font: ẽ
The following auxiliary 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: j̇̃
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 Iogonek when shaping the text 'Į̇̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
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 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 i when shaping the text 'i̇̃'
Shaper didn't attach tildecomb to iogonek 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 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 'ū̃'
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: * en_Latn (English)
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
🔥 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-deva
  • candraBindu-deva
  • anusvara-deva
  • oeMatra-deva
  • nukta-deva
  • uMatra-deva
  • uuMatra-deva
  • rVocalicMatra-deva
  • rrVocalicMatra-deva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '1.00' [code: parse-error]
🔥 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.0029907 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0303 (tildecomb)
  • U+0953 (grave-deva)
  • U+0954 (acute-deva)
  • U+0955 (eLongCandra-deva)
  • U+A8E0 (zero-deva.comb)
  • U+A8E1 (one-deva.comb)
  • U+A8E2 (two-deva.comb)
  • U+A8E3 (three-deva.comb)
  • U+A8E4 (four-deva.comb)
    ... and 13 others [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1201 but it should be 1220 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 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 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 1261 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1150: plusminus
    width=1142: plus
    width=1247: minus
    width=1171: divide
    width=1308: lessequal, greaterequal
    width=1320: equal
    width=1228: notequal
    width=1134: multiply
    width=1323: logicalnot [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • a_compo
  • c_compo
  • g_compo
  • j_compo
  • j_compo_down
  • k_la-deva.loclMAR
  • p_la-deva.loclMAR
    ... and 32 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • į̃
  • j̃ [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:
    • percent (U+0025): X=479,Y=-2 (should be at baseline 0?)
    • three (U+0033): X=244.5,Y=1 (should be at baseline 0?)
    • c (U+0063): X=778,Y=2 (should be at baseline 0?)
    • d (U+0064): X=1133,Y=2 (should be at baseline 0?)
    • d (U+0064): X=897,Y=2 (should be at baseline 0?)
    • g (U+0067): X=827,Y=2 (should be at baseline 0?)
    • g (U+0067): X=537,Y=-2 (should be at baseline 0?)
    • x (U+0078): X=819,Y=-2 (should be at baseline 0?)
    • x (U+0078): X=336,Y=-2 (should be at baseline 0?)
      ... and 63 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): from (494.0, 1081.0) to (440.0, 608.0) is colinear with segment from (440.0, 608.0) to (369.0, 0.0)
  • M (U+004D): from (1536.0, 0.0) to (1462.0, 608.0) is colinear with segment from (1462.0, 608.0) to (1444.0, 780.0)
  • W (U+0057): from (606.0, 289.0) to (717.0, 770.0) is colinear with segment from (717.0, 770.0) to (874.0, 1452.0)
  • W (U+0057): from (1206.0, 1452.0) to (1364.0, 770.0) is colinear with segment from (1364.0, 770.0) to (1475.0, 289.0)
  • W (U+0057): from (1532.0, 530.0) to (1587.0, 770.0) is colinear with segment from (1587.0, 770.0) to (1743.0, 1452.0)
  • Wcircumflex (U+0174): from (606.0, 289.0) to (717.0, 770.0) is colinear with segment from (717.0, 770.0) to (874.0, 1452.0)
  • Wcircumflex (U+0174): from (1206.0, 1452.0) to (1364.0, 770.0) is colinear with segment from (1364.0, 770.0) to (1475.0, 289.0)
  • Wcircumflex (U+0174): from (1532.0, 530.0) to (1587.0, 770.0) is colinear with segment from (1587.0, 770.0) to (1743.0, 1452.0)
  • Wgrave (U+1E80): from (606.0, 289.0) to (717.0, 770.0) is colinear with segment from (717.0, 770.0) to (874.0, 1452.0)
    ... and 12 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • s_t_ra-deva has a path with no bounds (probably a single point) [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • d_ddh_r_ya-deva: Quad(QuadBez { p0: (1654.0, 210.0), p1: (1522.0, 297.0), p2: (1452.0, 483.0) })/Quad(QuadBez { p0: (1452.0, 483.0), p1: (1456.0, 463.0), p2: (1456.0, 451.0) }) = 9.313598909305012 degrees
  • d_ddh_r_ya-deva: Quad(QuadBez { p0: (1333.0, 630.0), p1: (1409.0, 584.0), p2: (1440.0, 518.0) })/Line(Line { p0: (1440.0, 518.0), p1: (1423.0, 575.0) }) = 8.55232133741462 degrees [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:
  • x (U+0078): Line(Line { p0: (1149.0, 0.0), p1: (819.0, -2.0) }) (angle: -179.65 degrees, expected: -180.00 degrees)
  • x (U+0078): Line(Line { p0: (336.0, -2.0), p1: (6.0, 0.0) }) (angle: 179.65 degrees, expected: 180.00 degrees)
  • i-deva (U+0907): Line(Line { p0: (1004.0, 834.0), p1: (455.0, 836.0) }) (angle: 179.79 degrees, expected: 180.00 degrees)
  • ii-deva (U+0908): Line(Line { p0: (1004.0, 834.0), p1: (455.0, 836.0) }) (angle: 179.79 degrees, expected: 180.00 degrees)
  • jha-deva (U+091D): Line(Line { p0: (963.0, 834.0), p1: (455.0, 836.0) }) (angle: 179.77 degrees, expected: 180.00 degrees)
  • bha-deva (U+092D): Line(Line { p0: (756.0, 1094.0), p1: (754.0, 770.0) }) (angle: -90.35 degrees, expected: -90.00 degrees)
  • caret-deva (U+A8FA): Line(Line { p0: (600.0, 1311.0), p1: (369.0, 1309.0) }) (angle: -179.50 degrees, expected: -180.00 degrees)
  • jha_uMatra-deva: Line(Line { p0: (963.0, 834.0), p1: (455.0, 836.0) }) (angle: 179.77 degrees, expected: 180.00 degrees)
  • jh_ra-deva: Line(Line { p0: (985.0, 834.0), p1: (477.0, 836.0) }) (angle: 179.77 degrees, expected: 180.00 degrees)
    ... and 6 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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sarala-Bold.ttf
Dehinted Size 207804
Hinted Size 239072
Increase 31268
Change 15.0 %
ℹ️ 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 latn -f none -w G) [code: ok]
[2] ofl/sarala/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)
[1] ofl/sarala/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2015 by andres torresi. all rights reserved.
"

which does not match the expected format, similar to:

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

[9] ofl/sarala
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.13% 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]

🔥 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 We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL 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 Sarala-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 2015 by andres torresi. all rights reserved." [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 2015 by andres torresi. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Sarala-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 2015 by andres torresi. all rights reserved." [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 2015 by andres torresi. all rights reserved." [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/sarala/Sarala-Bold.ttf missing required codepoints:
  • 0x20AC: EURO SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/sarala/Sarala-Regular.ttf missing required codepoints:
  • 0x20AC: EURO SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sarala/Sarala-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: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: math, greek, elbasan
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: math, elbasan, greek
  • U+03BC GREEK SMALL LETTER MU: try adding one of: greek, math
  • U+2017 DOUBLE LOW LINE: try adding math
  • U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK: try adding adlam
    ... and 25 others

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

  • ⚠️ WARN ofl/sarala/Sarala-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: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: math, greek, elbasan
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: math, elbasan, greek
  • U+03BC GREEK SMALL LETTER MU: try adding one of: greek, math
  • U+2017 DOUBLE LOW LINE: try adding math
  • U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK: try adding adlam
    ... and 25 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, devanagari, latin, latin-ext [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]

  • ⚠️ 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]
[32] ofl/sarala/Sarala-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1.0029907, name table: 1.004 [code: mismatch]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • candraBindu_halant-deva (Some(43251)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0122 [code: missing-case-counterparts]
🔥 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 component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • eMatra_anusvara-deva (component anusvara-deva)
  • aiMatra_reph_anusvara-deva (component anusvara-deva)
  • reph_anusvara-deva (component anusvara-deva) [code: transformed-components]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: ma-deva, dd_na-deva, gh-deva, l_la-deva.loclMAR, ba-deva, t-deva, five-deva.loclNEP, awMatra-deva, k_la-deva.loclMAR, oeMatra-deva, tta-deva, uuMatra-deva, t_r-deva, two-deva.comb, iMatra_reph_anusvara-deva, iMatra-deva.14, qa-deva, two-deva, prishthaMatraE-deva, oCandra-deva, five-deva, t_r_ya-deva, oShortMatra-deva, o-deva, six-deva, zha-deva, ddh_ya-deva, d_ddh_r_ya-deva, t_t-deva, iiMatra-deva.01, tt-deva, ya-deva, iMatra_reph-deva.04, headstroke-deva, iMatra_reph-deva.06, reph-deva.loclMAR, four-deva, ph_ra-deva, iMatra-deva.00, d_ba_uMatra-deva, iMatra_reph_anusvara-deva.14, jh_ra-deva, aiMatra_reph_anusvara-deva, ng_gha-deva, lVocalic-deva, ddh_na-deva, rVocalicMatra-deva, ph_la-deva, h_ra-deva, lVocalic-deva.loclMAR, aw-deva, c_ca-deva, two_candraBindu-deva, ng_ka-deva, three-deva, dd_ya-deva, tth_tth_ya-deva, d_va-deva, k_va-deva, k_ssa-deva, sh_r-deva, glottalstop-deva, kh_ra-deva, three-deva.comb, tt_ddha-deva, tt_na-deva, l_ra-deva, kh-deva, ng_k-deva, eLongCandra-deva, ng-deva, dd-deva, yya-deva, udatta-deva, d_b_ra-deva, dh-deva, bba-deva, candraBindu_halant-deva, oShort-deva, caret-deva, ghh-deva, ha-deva, iMatra_reph_anusvara-deva.04, iMatra_reph-deva.15, five-deva.comb, six-deva.comb, iMatra_reph_anusvara-deva.10, rrVocalic-deva, iMatra_reph_anusvara-deva.15, ra-deva, pha-deva, aa-deva, d_r_ya-deva, d_ra_uMatra-deva, ddh-deva, u-deva, nna-deva, oe-deva, fa-deva, i-deva, b_la-deva.loclMAR, j_ny-deva, one-deva, u-deva.comb, iMatra_reph_anusvara-deva.09, h_ma-deva, au-deva, halant-deva, rr-deva, sha-deva, iMatra_reph_anusvara-deva.07, reph_anusvara-deva, rakar_uuMatra-deva, candraBindu-deva.alt, d_ma-deva, jjya-deva, l_la-deva, reph-deva.alt, sh-deva.ss02, auMatra_reph-deva, gh_ra-deva, ch-deva, h_rVocalic-deva, auMatra_anusvara-deva, tt_ya-deva, eShort-deva, iiMatra_reph_anusvara-deva.01, y_ra-deva, m-deva, z-deva, jha-deva.loclNEP, tth-deva, v-deva, d_ga_uMatra-deva, sha-deva.loclMAR, iMatra_reph-deva.02, da_uMatra-deva, ss_ttha-deva, iMatra-deva.01, iMatra_reph_anusvara-deva.02, nnna-deva, nine-deva.comb, ny-deva, sh_la-deva.loclMAR, avagraha_candraBindu-deva, jha-deva, d_bha-deva, ng_kha-deva, q-deva, ka-deva.comb, tt_ttha-deva, ng_k_ssa-deva, d_na-deva, iMatra-deva.07, iMatra_reph_anusvara-deva.12, aiMatra_reph-deva, dha-deva, ny_ra-deva, ra-deva.comb, d_da_uMatra-deva, n_ra-deva, dh_ra-deva, zero-deva.comb, ph_la-deva.loclMAR, ssa-deva, bh-deva, nuktathree-deva, h_na-deva, vi-deva.comb, c_ra-deva, ddda-deva, iMatra_reph-deva.05, invertedCandraBindu-deva, anusvara-deva.alt, t_ra-deva, dda-deva, d_ra-deva, j-deva, om-deva, rakar_uMatra-deva, eMatra-deva, b_la-deva, lVocalicMatra-deva, sh_rVocalic-deva, d_na_uMatra-deva, lll-deva, iMatra_reph-deva.10, spacingCandraBindu-deva, visarga-deva, p_ra-deva, ra_uuMatra-deva, sh_va-deva, nga-deva, a-deva, rha-deva, k_ra-deva.loclNEP, ka-deva, dddha-deva, d_ba-deva, llVocalic-deva, k_la-deva, m_ra-deva, oMatra_anusvara-deva, iMatra_reph-deva.11, aCandra-deva, tth_ya-deva, iMatra_reph-deva.13, ooeMatra-deva, ii-deva, nukta-deva, eShortMatra-deva, aiMatra-deva, seven-deva.comb, th_ra-deva, ttha-deva, eight-deva.comb, k_ta-deva, ta-deva, na-deva, tt_tt_ya-deva, d_va_uMatra-deva, ss_ra-deva, l-deva, pa-deva, dbldanda-deva, eight-deva, ddh_ddh_ya-deva, anudatta-deva, d_gha-deva, ll-deva, h-deva, ha-deva.alt, rra-deva, iMatra-deva.02, iMatra-deva, uue-deva, nn_ra-deva, t_ta-deva, p_tta-deva, s_ra-deva, nn-deva, aaMatra-deva, ddha-deva, gga-deva, la-deva.loclMAR, tth_ttha-deva, bh_ra-deva, nine-deva, sh_ra-deva, c-deva, zha-deva.loclNEP, c_r-deva, iMatra_reph_anusvara-deva.01, iMatra_reph-deva.03, iMatra_reph_anusvara-deva.03, d_dha-deva, d_bha_uMatra-deva, d-deva, iMatra-deva.03, iMatra_reph-deva.07, iMatra_reph-deva.08, ghha-deva, iMatra-deva.08, iMatra-deva.13, g-deva, pa-deva.comb, iMatra_reph-deva.00, iiMatra_reph_anusvara-deva, iMatra_reph_anusvara-deva.08, iMatra-deva.10, iMatra_reph-deva.12, p_la-deva.loclMAR, iMatra-deva.05, va-deva, avagraha-deva, k_ss_ra-deva, f-deva, eight-deva.loclNEP, ng_ga-deva, la-deva, grave-deva, zero-deva, j_ja-deva, y-deva, khh-deva, t_ra-deva.alt, sh-deva.loclMAR, d_bh_ya-deva, a-deva.comb, rVocalic-deva, sh_ca-deva, eMatra_reph-deva, ooe-deva, dd_gha-deva, lla-deva, ph_r_nukta-deva, d_ga-deva, iMatra-deva.11, iiMatra-deva, ha_rVocalicMatra-deva, uueMatra-deva, iMatra_reph_anusvara-deva.06, c_ca-deva.alt, gha-deva, d_gha_uMatra-deva, jh-deva.loclNEP, vi-deva, iMatra_reph-deva.14, ph-deva, oMatra-deva, ny_ca-deva, oMatra_reph-deva, k_ss-deva, ss_tta-deva, dd_ddha-deva, h_nna-deva, n-deva, n_na-deva, na-deva.comb, jha_uMatra-deva, jh-deva, auMatra_reph_anusvara-deva, iMatra_reph-deva.01, e-deva, ng_ma-deva, d_g_ra-deva, g_na-deva, iMatra-deva.12, reph-deva, ai-deva, ny_ja-deva, v_ra-deva, abbreviation-deva, tth_na-deva, ddh_ddha-deva, h_ya-deva, highspacingdot-deva, tha-deva, khha-deva, j_j-deva, three_candraBindu-deva, cha-deva, four-deva.comb, k_ra-deva, sh_la-deva, uMatra-deva, oCandraMatra-deva, p-deva, b-deva, iMatra_reph-deva, pushpika-deva, iMatra-deva.04, j_r-deva, iMatra_reph_anusvara-deva.05, d_d_ya-deva, d_v_ya-deva, th-deva, eCandra-deva, ga-deva, ue-deva, llVocalicMatra-deva, k_ka-deva, h_la-deva, k-deva, iMatra_reph_anusvara-deva.13, tt_tta-deva, d_da-deva, b_r-deva, jja-deva, llVocalic-deva.loclMAR, rakar-deva, p_la-deva, aShort-deva, ueMatra-deva, b_ra-deva, iMatra_reph_anusvara-deva.00, uu-deva, g_ra-deva, anusvara-deva, eCandraMatra-deva, dd_tta-deva, h_va-deva, ss-deva, iMatra-deva.06, doubleCandraBindu_halant-deva, iMatra_reph-deva.09, iMatra_reph_anusvara-deva.11, iiMatra_reph-deva, seven-deva, eMatra_anusvara-deva, aiMatra_anusvara-deva, d_dh_ya-deva, gapfiller-deva, p_ta-deva, dd_dda-deva, rrVocalicMatra-deva, ha_uMatra-deva, da-deva, nnn-deva, avagraha-deva.comb, s-deva, iiMatra_reph-deva.01, iMatra-deva.09, llla-deva, kha-deva, ja-deva, j_ra-deva, s_t_ra-deva, dd_dd_ya-deva, ra_uMatra-deva, sh_na-deva, ch_va-deva, one-deva.comb, j_ny_ra-deva, danda-deva, sa-deva, j_nya-deva, d_ya-deva, acute-deva, sh-deva, candraBindu-deva, tt_va-deva, oMatra_reph_anusvara-deva, ca-deva, za-deva, d_rVocalicMatra-deva, iMatra-deva.15, auMatra-deva, nya-deva, eMatra_reph_anusvara-deva, dd_ma-deva, bha-deva, da-deva-compo, d_dha_uMatra-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * lt_Latn (Lithuanian)
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: * en_Latn (English)
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: * de_Latn (German)
The following base characters are missing from the font: ẞ
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: * sk_Latn (Slovak)
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: * tr_Latn (Turkish)
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: * lv_Latn (Latvian)
The following base characters are missing from the font: ģ
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: * cs_Latn (Czech)
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: * pl_Latn (Polish)
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: * fi_Latn (Finnish)
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: * hu_Latn (Hungarian)
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: * pt_Latn (Portuguese)
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: * ro_Latn (Romanian)
The following base characters are missing from the font: ț, Ș, Ț, ș
The following mark characters are missing from the font: ̂, ̆, ̧
Mandatory orthography codepoints: * hr_Latn (Croatian)
The following mark characters are missing from the font: ́, ̌
Mandatory orthography codepoints: * fr_Latn (French)
The following mark characters are missing from the font: ̀, ̈, ̧, ́, ̂
  • ⚠️ 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: * de_Latn (German)
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: ǯ
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: ǔ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
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: J̇̃
The following auxiliary characters are missing from the font: Ų́
The following auxiliary characters are missing from the font: Ū́
The following auxiliary characters are missing from the font: ą́
The following auxiliary characters are missing from the font: ẽ
The following auxiliary 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: j̇̃
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 Iogonek when shaping the text 'Į̇̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
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 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 i when shaping the text 'i̇̃'
Shaper didn't attach tildecomb to iogonek 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 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 'ū̃'
🔥 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-deva
  • candraBindu-deva
  • anusvara-deva
  • oeMatra-deva
  • nukta-deva
  • uMatra-deva
  • uuMatra-deva
  • rVocalicMatra-deva
  • rrVocalicMatra-deva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sarala Sarala
Subfamily Name Regular Regular
Full Name Sarala Sarala Regular
Postscript Name Sarala-Regular Sarala-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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '1.00' [code: parse-error]
🔥 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.0029907 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0303 (tildecomb)
  • U+0953 (grave-deva)
  • U+0954 (acute-deva)
  • U+0955 (eLongCandra-deva)
  • U+A8E0 (zero-deva.comb)
  • U+A8E1 (one-deva.comb)
  • U+A8E2 (two-deva.comb)
  • U+A8E3 (three-deva.comb)
  • U+A8E4 (four-deva.comb)
    ... and 13 others [code: mark-chars]
⚠️ 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 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 1228 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1275: minus
    width=1132: divide
    width=1202: approxequal
    width=1290: logicalnot
    width=1310: equal
    width=1277: lessequal, greaterequal
    width=1210: notequal
    width=1189: plusminus
    width=1124: plus
    width=1116: multiply [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • a_compo
  • c_compo
  • g_compo
  • j_compo
  • j_compo_down
  • k_la-deva.loclMAR
  • p_la-deva.loclMAR
    ... and 32 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • į̃
  • j̃ [code: soft-dotted]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): from (434.0, 1212.0) to (373.0, 705.0) is colinear with segment from (373.0, 705.0) to (285.0, 0.0)
  • M (U+004D): from (1567.0, 0.0) to (1479.0, 705.0) is colinear with segment from (1479.0, 705.0) to (1417.0, 1212.0)
  • W (U+0057): from (242.0, 1450.0) to (426.0, 711.0) is colinear with segment from (426.0, 711.0) to (561.0, 182.0)
  • W (U+0057): from (561.0, 182.0) to (692.0, 711.0) is colinear with segment from (692.0, 711.0) to (874.0, 1450.0)
  • W (U+0057): from (1137.0, 1450.0) to (1319.0, 711.0) is colinear with segment from (1319.0, 711.0) to (1450.0, 182.0)
  • W (U+0057): from (1450.0, 182.0) to (1585.0, 711.0) is colinear with segment from (1585.0, 711.0) to (1769.0, 1450.0)
  • w (U+0077): from (227.0, 1053.0) to (371.0, 530.0) is colinear with segment from (371.0, 530.0) to (467.0, 186.0)
  • w (U+0077): from (1161.0, 186.0) to (1257.0, 530.0) is colinear with segment from (1257.0, 530.0) to (1401.0, 1053.0)
  • y (U+0079): from (211.0, 1053.0) to (346.0, 686.0) is colinear with segment from (346.0, 686.0) to (381.0, 592.0)
    ... and 39 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • bba-deva (U+097F): Line(Line { p0: (709.0, 455.0), p1: (696.0, 442.0) })/Quad(QuadBez { p0: (696.0, 442.0), p1: (741.0, 475.0), p2: (780.0, 524.0) }) = 8.74616226255517 degrees
  • b_la-deva.loclMAR: Line(Line { p0: (709.0, 455.0), p1: (696.0, 442.0) })/Quad(QuadBez { p0: (696.0, 442.0), p1: (741.0, 475.0), p2: (780.0, 524.0) }) = 8.74616226255517 degrees [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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sarala-Regular.ttf
Dehinted Size 207700
Hinted Size 241592
Increase 33892
Change 16.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 latn -f none -w G) [code: ok]
[2] ofl/sarala/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Sarala" does not match post_script_name="Sarala-Regular". [code: mismatch]

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

⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that andrestorresi 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]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
38 54 16 181 117
10% 14% 4% 48% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[24] ofl/scada/Scada-BoldItalic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0133 [code: missing-case-counterparts]
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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))
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ċ, Ġ, GĦ, Ħ, ċ, ġ
Mandatory orthography codepoints: * cy_Latn (Welsh)
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: * kaa_Cyrl (Kara-Kalpak)
The following base characters are missing from the font: ҳ, Ҳ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: ŭ
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: * 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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 uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
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: * 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: ŧ
The following auxiliary characters are missing from the font: ʒ
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: * 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: * 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: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ũ
The following auxiliary characters are missing from the font: ẽ
The following auxiliary characters are missing from the font: ũ
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 tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 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 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 'Ū̃'
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 uni0307 to dotlessi when shaping the text 'i̇̀'
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 uni0307 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 j when shaping the text 'j̃'
Shaper didn't attach uni0307 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 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 'ū̃'
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: ĭ
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: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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 4 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 455 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=500: plusminus, logicalnot
    width=510: equal
    width=440: multiply
    width=470: divide
    width=490: plus [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 Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 3 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • į̇

  • į̋

  • į̈

  • į̆

  • į̊

  • ј̄

  • ј̇

  • ј̋

  • ј̈
    ... and 21 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+00E3): X=302,Y=701 (should be at cap-height 700?)
    • otilde (U+00F5): X=302,Y=701 (should be at cap-height 700?)
    • uni0416 (U+0416): X=935,Y=702 (should be at cap-height 700?)
    • uni042A (U+042A): X=367,Y=2 (should be at baseline 0?)
    • uni0496 (U+0496): X=935,Y=702 (should be at cap-height 700?)
    • uni0498 (U+0498): X=290,Y=-2 (should be at baseline 0?)
    • uni049C (U+049C): X=680,Y=702 (should be at cap-height 700?)
    • uni04AA (U+04AA): X=225,Y=-2 (should be at baseline 0?)
    • uni04C1 (U+04C1): X=935,Y=702 (should be at cap-height 700?)
      ... and 9 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): from (620.0, 0.0) to (684.0, 365.0) is colinear with segment from (684.0, 365.0) to (694.0, 409.0)
  • M (U+004D): from (684.0, 365.0) to (694.0, 409.0) is colinear with segment from (694.0, 409.0) to (700.0, 431.0)
  • N (U+004E): from (333.0, 700.0) to (439.0, 310.0) is colinear with segment from (439.0, 310.0) to (450.0, 266.0)
  • Nacute (U+0143): from (333.0, 700.0) to (439.0, 310.0) is colinear with segment from (439.0, 310.0) to (450.0, 266.0)
  • Ncaron (U+0147): from (333.0, 700.0) to (439.0, 310.0) is colinear with segment from (439.0, 310.0) to (450.0, 266.0)
  • Ncommaaccent (U+0145): from (333.0, 700.0) to (439.0, 310.0) is colinear with segment from (439.0, 310.0) to (450.0, 266.0)
  • Ntilde (U+00D1): from (333.0, 700.0) to (439.0, 310.0) is colinear with segment from (439.0, 310.0) to (450.0, 266.0)
  • eth (U+00F0): from (309.0, 588.0) to (280.0, 596.0) is colinear with segment from (280.0, 596.0) to (212.0, 610.0)
  • w (U+0077): from (440.0, 0.0) to (412.0, 295.0) is colinear with segment from (412.0, 295.0) to (411.0, 312.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:
  • N (U+004E): Line(Line { p0: (400.0, 0.0), p1: (293.0, 390.0) })/Quad(QuadBez { p0: (293.0, 390.0), p1: (294.0, 386.0), p2: (283.0, 434.0) }) = 1.3058563994086323 degrees
  • Nacute (U+0143): Line(Line { p0: (400.0, 0.0), p1: (293.0, 390.0) })/Quad(QuadBez { p0: (293.0, 390.0), p1: (294.0, 386.0), p2: (283.0, 434.0) }) = 1.3058563994086323 degrees
  • Ncaron (U+0147): Line(Line { p0: (400.0, 0.0), p1: (293.0, 390.0) })/Quad(QuadBez { p0: (293.0, 390.0), p1: (294.0, 386.0), p2: (283.0, 434.0) }) = 1.3058563994086323 degrees
  • Ncommaaccent (U+0145): Line(Line { p0: (400.0, 0.0), p1: (293.0, 390.0) })/Quad(QuadBez { p0: (293.0, 390.0), p1: (294.0, 386.0), p2: (283.0, 434.0) }) = 1.3058563994086323 degrees
  • Ntilde (U+00D1): Line(Line { p0: (400.0, 0.0), p1: (293.0, 390.0) })/Quad(QuadBez { p0: (293.0, 390.0), p1: (294.0, 386.0), p2: (283.0, 434.0) }) = 1.3058563994086323 degrees
  • uni2116 (U+2116): Line(Line { p0: (400.0, 0.0), p1: (293.0, 390.0) })/Quad(QuadBez { p0: (293.0, 390.0), p1: (294.0, 386.0), p2: (283.0, 434.0) }) = 1.3058563994086323 degrees [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 is 'PYRS', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Scada-BoldItalic.ttf
Dehinted Size 67136
Hinted Size 95196
Increase 28060
Change 41.8 %
ℹ️ 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 4.000, Version 4.000 [code: version-not-detected]
[23] ofl/scada/Scada-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0133 [code: missing-case-counterparts]
🔥 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 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 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * de_Latn (German)
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Ħ, ġ, Ġ
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))
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: Ẅ, Ŵ, Ỳ, ỳ, ŷ, ẃ, ŵ, Ẁ, Ŷ, ẅ, ẁ, Ẃ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * 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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
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 uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
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: ĭ
The following auxiliary characters are missing from the font: ŏ
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: * 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: * 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: * 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: ũ
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 tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 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 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 'Ū̃'
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 uni0307 to dotlessi when shaping the text 'i̇̀'
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 uni0307 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 j when shaping the text 'j̃'
Shaper didn't attach uni0307 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 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 'ū̃'
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: ŭ
Auxiliary orthography codepoints: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
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: ŧ
The following auxiliary characters are missing from the font: ʒ
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 'я́'
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 4 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 470 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=437: multiply
    width=460: logicalnot
    width=445: greater
    width=490: 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 Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 3 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ј̌

  • ј̄

  • ј́

  • ј̆

  • ј̃

  • ј̀

  • ј̋

  • ј̈

  • ј̊
    ... and 21 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • W (U+0057): from (234.0, 130.0) to (237.0, 159.0) is colinear with segment from (237.0, 159.0) to (240.0, 180.0)
  • W (U+0057): from (576.0, 184.0) to (580.0, 159.0) is colinear with segment from (580.0, 159.0) to (583.0, 130.0)
  • W (U+0057): from (404.0, 570.0) to (400.0, 541.0) is colinear with segment from (400.0, 541.0) to (391.0, 490.0)
  • W (U+0057): from (400.0, 541.0) to (391.0, 490.0) is colinear with segment from (391.0, 490.0) to (276.0, 0.0)
  • y (U+0079): from (256.0, 119.0) to (269.0, 170.0) is colinear with segment from (269.0, 170.0) to (360.0, 500.0)
  • yacute (U+00FD): from (256.0, 119.0) to (269.0, 170.0) is colinear with segment from (269.0, 170.0) to (360.0, 500.0)
  • ydieresis (U+00FF): from (256.0, 119.0) to (269.0, 170.0) is colinear with segment from (269.0, 170.0) to (360.0, 500.0)
  • uni0423 (U+0423): from (293.0, 288.0) to (306.0, 335.0) is colinear with segment from (306.0, 335.0) to (426.0, 700.0)
  • uni040E (U+040E): from (293.0, 288.0) to (306.0, 335.0) is colinear with segment from (306.0, 335.0) to (426.0, 700.0)
    ... and 14 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni043A (U+043A): Quad(QuadBez { p0: (340.0, 270.0), p1: (321.0, 261.0), p2: (305.0, 260.0) })/Quad(QuadBez { p0: (305.0, 260.0), p1: (327.0, 257.0), p2: (344.0, 247.0) }) = 11.341500393422699 degrees
  • uni045C (U+045C): Quad(QuadBez { p0: (340.0, 270.0), p1: (321.0, 261.0), p2: (305.0, 260.0) })/Quad(QuadBez { p0: (305.0, 260.0), p1: (327.0, 257.0), p2: (344.0, 247.0) }) = 11.341500393422699 degrees
  • uni049B (U+049B): Quad(QuadBez { p0: (340.0, 270.0), p1: (321.0, 261.0), p2: (305.0, 260.0) })/Quad(QuadBez { p0: (305.0, 260.0), p1: (327.0, 257.0), p2: (344.0, 247.0) }) = 11.341500393422699 degrees
  • uni049D (U+049D): Quad(QuadBez { p0: (360.0, 270.0), p1: (341.0, 261.0), p2: (325.0, 260.0) })/Quad(QuadBez { p0: (325.0, 260.0), p1: (347.0, 257.0), p2: (364.0, 247.0) }) = 11.341500393422699 degrees
  • uni04A1 (U+04A1): Quad(QuadBez { p0: (425.0, 270.0), p1: (406.0, 261.0), p2: (390.0, 260.0) })/Quad(QuadBez { p0: (390.0, 260.0), p1: (412.0, 257.0), p2: (429.0, 247.0) }) = 11.341500393422699 degrees [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 is 'PYRS', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Scada-Regular.ttf
Dehinted Size 63744
Hinted Size 91020
Increase 27276
Change 42.8 %
ℹ️ 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 4.000, Version 4.000 [code: version-not-detected]
[2] ofl/scada/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/scada/Scada-Bold.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0133 [code: missing-case-counterparts]
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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))
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
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Ħ, Ġ, ċ, Ħ
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * kaa_Cyrl (Kara-Kalpak)
The following base characters are missing from the font: Ҳ, ҳ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * 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: * 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: ĭ
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: * 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: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ċ
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ħ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŝ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ċ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary characters are missing from the font: ţ
The following auxiliary characters are missing from the font: ŧ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: * 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: ŭ
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: * 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: * 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: ũ
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 tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 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 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 'Ū̃'
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 uni0307 to dotlessi when shaping the text 'i̇̀'
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 uni0307 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 j when shaping the text 'j̃'
Shaper didn't attach uni0307 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 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 'ū̃'
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 uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * ro_Latn (Romanian)
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 4 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 500 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=455: less, greater
    width=510: equal
    width=490: plus
    width=470: divide
    width=440: multiply [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 Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 3 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • і̃

  • і̄

  • і̀

  • і̊

  • і̇

  • і̌

  • і̋

  • і̆

  • і̂
    ... and 21 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+00E3): X=205,Y=701 (should be at cap-height 700?)
    • otilde (U+00F5): X=205,Y=701 (should be at cap-height 700?)
    • uni0416 (U+0416): X=64,Y=702 (should be at cap-height 700?)
    • uni0416 (U+0416): X=836,Y=702 (should be at cap-height 700?)
    • uni041A (U+041A): X=551,Y=702 (should be at cap-height 700?)
    • uni040C (U+040C): X=551,Y=702 (should be at cap-height 700?)
    • uni042A (U+042A): X=392,Y=2 (should be at baseline 0?)
    • uni0496 (U+0496): X=64,Y=702 (should be at cap-height 700?)
    • uni0496 (U+0496): X=836,Y=702 (should be at cap-height 700?)
      ... and 13 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • N (U+004E): from (235.0, 700.0) to (410.0, 280.0) is colinear with segment from (410.0, 280.0) to (428.0, 236.0)
  • N (U+004E): from (410.0, 280.0) to (428.0, 236.0) is colinear with segment from (428.0, 236.0) to (436.0, 215.0)
  • N (U+004E): from (425.0, 0.0) to (250.0, 420.0) is colinear with segment from (250.0, 420.0) to (232.0, 464.0)
  • N (U+004E): from (250.0, 420.0) to (232.0, 464.0) is colinear with segment from (232.0, 464.0) to (224.0, 485.0)
  • Nacute (U+0143): from (235.0, 700.0) to (410.0, 280.0) is colinear with segment from (410.0, 280.0) to (428.0, 236.0)
  • Nacute (U+0143): from (410.0, 280.0) to (428.0, 236.0) is colinear with segment from (428.0, 236.0) to (436.0, 215.0)
  • Nacute (U+0143): from (425.0, 0.0) to (250.0, 420.0) is colinear with segment from (250.0, 420.0) to (232.0, 464.0)
  • Nacute (U+0143): from (250.0, 420.0) to (232.0, 464.0) is colinear with segment from (232.0, 464.0) to (224.0, 485.0)
  • Ncaron (U+0147): from (235.0, 700.0) to (410.0, 280.0) is colinear with segment from (410.0, 280.0) to (428.0, 236.0)
    ... and 25 others [code: found-colinear-vectors]
⚠️ 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 is 'PYRS', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Scada-Bold.ttf
Dehinted Size 63796
Hinted Size 91136
Increase 27340
Change 42.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 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 4.000, Version 4.000 [code: version-not-detected]
[1] ofl/scada/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2012 the scada project authors (lemonad@jovanny.ru)"

which does not match the expected format, similar to:

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

[1] ofl/scada/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[24] ofl/scada/Scada-Italic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0133 [code: missing-case-counterparts]
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ċ, ċ, GĦ, Ġ, ġ, Ħ
Mandatory orthography codepoints: * kaa_Cyrl (Kara-Kalpak)
The following base characters are missing from the font: ҳ, Ҳ
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: ẃ, Ŷ, ỳ, ŷ, ẅ, Ẁ, Ỳ, Ẃ, Ẅ, Ŵ, ẁ, ŵ
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))
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * 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: ĭ
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: ŭ
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: * 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: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * 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 uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
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: ũ
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 tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 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 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 'Ū̃'
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 uni0307 to dotlessi when shaping the text 'i̇̀'
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 uni0307 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 j when shaping the text 'j̃'
Shaper didn't attach uni0307 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 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 'ū̃'
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * 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: ŧ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 4 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 470 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=437: multiply
    width=460: logicalnot
    width=445: greater
    width=490: 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 Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 3 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • і̃

  • і̇

  • і̄

  • і̋

  • і̌

  • і̂

  • і̊

  • і̀

  • і̆
    ... and 21 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:
    • braceright (U+007D): X=254,Y=698.5 (should be at cap-height 700?)
    • section (U+00A7): X=427,Y=1 (should be at baseline 0?) [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): from (625.0, 0.0) to (699.0, 420.0) is colinear with segment from (699.0, 420.0) to (710.0, 474.0)
  • M (U+004D): from (699.0, 420.0) to (710.0, 474.0) is colinear with segment from (710.0, 474.0) to (718.0, 505.0)
  • M (U+004D): from (250.0, 505.0) to (246.0, 474.0) is colinear with segment from (246.0, 474.0) to (243.0, 448.0)
  • N (U+004E): from (448.0, 170.0) to (452.0, 201.0) is colinear with segment from (452.0, 201.0) to (455.0, 228.0)
  • N (U+004E): from (254.0, 530.0) to (250.0, 499.0) is colinear with segment from (250.0, 499.0) to (247.0, 473.0)
  • Nacute (U+0143): from (448.0, 170.0) to (452.0, 201.0) is colinear with segment from (452.0, 201.0) to (455.0, 228.0)
  • Nacute (U+0143): from (254.0, 530.0) to (250.0, 499.0) is colinear with segment from (250.0, 499.0) to (247.0, 473.0)
  • Ncaron (U+0147): from (448.0, 170.0) to (452.0, 201.0) is colinear with segment from (452.0, 201.0) to (455.0, 228.0)
  • Ncaron (U+0147): from (254.0, 530.0) to (250.0, 499.0) is colinear with segment from (250.0, 499.0) to (247.0, 473.0)
    ... and 72 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni043A (U+043A): Quad(QuadBez { p0: (362.0, 270.0), p1: (341.0, 261.0), p2: (325.0, 260.0) })/Quad(QuadBez { p0: (325.0, 260.0), p1: (347.0, 257.0), p2: (362.0, 247.0) }) = 11.341500393422699 degrees
  • uni045C (U+045C): Quad(QuadBez { p0: (362.0, 270.0), p1: (341.0, 261.0), p2: (325.0, 260.0) })/Quad(QuadBez { p0: (325.0, 260.0), p1: (347.0, 257.0), p2: (362.0, 247.0) }) = 11.341500393422699 degrees
  • uni049B (U+049B): Quad(QuadBez { p0: (362.0, 270.0), p1: (341.0, 261.0), p2: (325.0, 260.0) })/Quad(QuadBez { p0: (325.0, 260.0), p1: (347.0, 257.0), p2: (362.0, 247.0) }) = 11.341500393422699 degrees
  • uni049D (U+049D): Quad(QuadBez { p0: (383.0, 270.0), p1: (362.0, 261.0), p2: (346.0, 260.0) })/Quad(QuadBez { p0: (346.0, 260.0), p1: (368.0, 257.0), p2: (383.0, 247.0) }) = 11.341500393422699 degrees
  • uni04A1 (U+04A1): Quad(QuadBez { p0: (446.0, 270.0), p1: (425.0, 261.0), p2: (409.0, 260.0) })/Quad(QuadBez { p0: (409.0, 260.0), p1: (431.0, 257.0), p2: (446.0, 247.0) }) = 11.341500393422699 degrees [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 is 'PYRS', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Scada-Italic.ttf
Dehinted Size 67124
Hinted Size 94644
Increase 27520
Change 41.0 %
ℹ️ 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 4.000, Version 4.000 [code: version-not-detected]
[7] ofl/scada
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Scada-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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-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 2012 the scada project authors (lemonad@jovanny.ru)" [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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-Italic.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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-Italic.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 2012 the scada project authors (lemonad@jovanny.ru)" [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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-BoldItalic.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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-BoldItalic.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 2012 the scada project authors (lemonad@jovanny.ru)" [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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

  • 🔥 FAIL Scada-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 2012 the scada project authors (lemonad@jovanny.ru)" [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 2012 the scada project authors (lemonad@jovanny.ru)" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/scada/Scada-Bold.ttf missing required codepoints:
  • 0x2212: MINUS SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/scada/Scada-Italic.ttf missing required codepoints:
  • 0x2212: MINUS SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/scada/Scada-BoldItalic.ttf missing required codepoints:
  • 0x2212: MINUS SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/scada/Scada-Regular.ttf missing required codepoints:
  • 0x2212: MINUS SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/scada/Scada-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, canadian-aboriginal, malayalam, syriac, math, tai-le, tifinagh, todhri, old-permic, hebrew, 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 5 others

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

  • ⚠️ WARN ofl/scada/Scada-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, canadian-aboriginal, malayalam, syriac, math, tai-le, tifinagh, todhri, old-permic, hebrew, 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 5 others

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

  • ⚠️ WARN ofl/scada/Scada-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, canadian-aboriginal, malayalam, syriac, math, tai-le, tifinagh, todhri, old-permic, hebrew, 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 5 others

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

  • ⚠️ WARN ofl/scada/Scada-Regular.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, coptic, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, canadian-aboriginal, malayalam, syriac, math, tai-le, tifinagh, todhri, old-permic, hebrew, 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 5 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, 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]

  • ⚠️ 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 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 All of the fonts lack a STAT table. [code: summary]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
38 103 24 356 241
6% 15% 3% 52% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/scopeone/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[2] ofl/scopeone/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)
[8] ofl/scopeone
🔥 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]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL ScopeOne-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 2015 dalton maag ltd (info@daltonmaag.com)" [code: bad-notice-format]

  • 🔥 FAIL ScopeOne-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 2015 dalton maag ltd (info@daltonmaag.com)" [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 2015 dalton maag ltd (info@daltonmaag.com)" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/scopeone/ScopeOne-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: yi, canadian-aboriginal
  • 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: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: duployan, old-permic, coptic, hebrew, syriac, tifinagh, tai-le, todhri, canadian-aboriginal, math, malayalam
  • 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 50 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=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.13% 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]
[20] ofl/scopeone/ScopeOne-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 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]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0315 (uni0315) [code: mark-chars]
⚠️ 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:

  • uni20A5 (U+20A5): found 3, expected one of: [1, 2]
  • uni20B3 (U+20B3): found 2, expected one of: [1, 3] [code: contour-count]
⚠️ 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: * 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: * fr_Latn (French)
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: ẽ
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 acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach gravecomb to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach gravecomb to Idotaccent 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 acutecomb to Umacron when shaping the text 'Ū́'
Shaper didn't attach tildecomb to Umacron 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 uni0328 to dotlessi when shaping the text 'į́'
Shaper didn't attach uni0328 to dotlessi when shaping the text 'į̇́'
Shaper didn't attach uni0328 to dotlessi when shaping the text 'į̃'
Shaper didn't attach uni0328 to dotlessi 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 'ū̃'
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: Ĭ * de_Latn (German)
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: ŭ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * lv_Latn (Latvian)
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: ǯ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 should disappear in other cases, for example:
  • į̒
  • i̒ [code: soft-dotted]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • six (U+0036): Quad(QuadBez { p0: (194.5, 478.5), p1: (117.0, 395.0), p2: (94.0, 289.0) })/Quad(QuadBez { p0: (94.0, 289.0), p1: (117.0, 345.0), p2: (163.5, 377.5) }) = 10.086325179144671 degrees
  • nine (U+0039): Quad(QuadBez { p0: (323.0, 166.0), p1: (400.0, 250.0), p2: (423.0, 356.0) })/Quad(QuadBez { p0: (423.0, 356.0), p1: (400.0, 300.0), p2: (353.0, 267.5) }) = 10.086325179144671 degrees
  • six.pnum.onum: Quad(QuadBez { p0: (199.5, 478.5), p1: (122.0, 395.0), p2: (99.0, 289.0) })/Quad(QuadBez { p0: (99.0, 289.0), p1: (122.0, 345.0), p2: (168.5, 377.5) }) = 10.086325179144671 degrees
  • nine.pnum.onum: Quad(QuadBez { p0: (318.0, 51.0), p1: (395.0, 135.0), p2: (418.0, 241.0) })/Quad(QuadBez { p0: (418.0, 241.0), p1: (395.0, 185.0), p2: (348.0, 152.5) }) = 10.086325179144671 degrees
  • six.tnum.lnum: Quad(QuadBez { p0: (219.5, 478.5), p1: (142.0, 395.0), p2: (119.0, 289.0) })/Quad(QuadBez { p0: (119.0, 289.0), p1: (142.0, 345.0), p2: (188.5, 377.5) }) = 10.086325179144671 degrees
  • nine.tnum.lnum: Quad(QuadBez { p0: (341.0, 166.0), p1: (418.0, 250.0), p2: (441.0, 356.0) })/Quad(QuadBez { p0: (441.0, 356.0), p1: (418.0, 300.0), p2: (371.0, 267.5) }) = 10.086325179144671 degrees
  • six.tnum.onum: Quad(QuadBez { p0: (213.5, 478.5), p1: (136.0, 395.0), p2: (113.0, 289.0) })/Quad(QuadBez { p0: (113.0, 289.0), p1: (136.0, 345.0), p2: (182.5, 377.5) }) = 10.086325179144671 degrees
  • nine.tnum.onum: Quad(QuadBez { p0: (347.0, 51.0), p1: (424.0, 135.0), p2: (447.0, 241.0) })/Quad(QuadBez { p0: (447.0, 241.0), p1: (424.0, 185.0), p2: (377.0, 152.5) }) = 10.086325179144671 degrees
  • uni2086 (U+2086): Quad(QuadBez { p0: (138.5, 149.0), p1: (100.0, 110.0), p2: (88.0, 69.0) })/Quad(QuadBez { p0: (88.0, 69.0), p1: (102.0, 96.0), p2: (130.0, 113.0) }) = 11.09372301155785 degrees
    ... and 8 others [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:
  • question (U+003F): Line(Line { p0: (60.0, 458.0), p1: (61.0, 589.0) }) (angle: 89.56 degrees, expected: 90.00 degrees)
  • exclam (U+0021): Line(Line { p0: (82.0, 286.0), p1: (81.0, 645.0) }) (angle: 90.16 degrees, expected: 90.00 degrees)
  • exclam (U+0021): Line(Line { p0: (139.0, 645.0), p1: (138.0, 286.0) }) (angle: -90.16 degrees, expected: -90.00 degrees)
  • questiondown (U+00BF): Line(Line { p0: (411.0, 42.0), p1: (410.0, -89.0) }) (angle: -90.44 degrees, expected: -90.00 degrees)
  • exclamdown (U+00A1): Line(Line { p0: (81.0, -145.0), p1: (82.0, 214.0) }) (angle: 89.84 degrees, expected: 90.00 degrees)
  • exclamdown (U+00A1): Line(Line { p0: (138.0, 214.0), p1: (139.0, -145.0) }) (angle: -89.84 degrees, expected: -90.00 degrees)
  • questiondown.case: Line(Line { p0: (411.0, 187.0), p1: (410.0, 56.0) }) (angle: -90.44 degrees, expected: -90.00 degrees)
  • exclamdown.case: Line(Line { p0: (81.0, 0.0), p1: (82.0, 359.0) }) (angle: 89.84 degrees, expected: 90.00 degrees)
  • exclamdown.case: Line(Line { p0: (138.0, 359.0), p1: (139.0, 0.0) }) (angle: -89.84 degrees, expected: -90.00 degrees)
    ... and 1 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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.4.1; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Scope 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:
ScopeOne-Regular.ttf
Dehinted Size 70872
Hinted Size 93036
Increase 22164
Change 31.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 11 -r 50 -G 50 -x 14 -D latn -f latn -m "ttfautohint.ctrl" -w G -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 11 -r 50 -G 50 -x 14 -D latn -f latn -m "ttfautohint.ctrl" -w G -X "") [code: ok]

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

"copyright 2015 dalton maag ltd (info@daltonmaag.com)
"

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
9 21 12 122 64
4% 10% 6% 56% 30%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[29] ofl/shrikhand/Shrikhand-Regular.ttf
🔥 FAIL Checking post.italicAngle value. (opentype/italic_angle)
  • 🔥 FAIL Font is not italic, so post.italicAngle should equal to zero. [code: non-zero-upright]
🔥 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 Check that legacy accents aren't used in composite glyphs. (legacy_accents)
  • 🔥 FAIL Legacy accent "dieresis" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "dotaccent" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "grave" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "acute" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "hungarumlaut" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "circumflex" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "caron" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "breve" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "ring" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "tilde" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "macron" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "cedilla" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

  • 🔥 FAIL Legacy accent "ogonek" is defined in GDEF as a mark (class 3). [code: legacy-accents-gdef]

🔥 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 Space and non-breaking space have the same width? (whitespace_widths)
  • 🔥 FAIL The space glyph named space is 200 font units wide, non-breaking space named (uni00A0) is 600 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * pt_Latn (Portuguese)
The following mark characters are missing from the font: ̂, ̃, ̀, ́, ̈, ̧
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: ŵ, ẁ, Ŷ, Ẁ, ŷ, Ẃ, ỳ, Ẅ, Ŵ, Ỳ, ẃ, ẅ
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: * lv_Latn (Latvian)
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: * 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: * lt_Latn (Lithuanian)
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: * hr_Latn (Croatian)
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: * it_Latn (Italian)
The following mark characters are missing from the font: ̂, ́, ̀, ̈
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: għ, ħ, ċ, Ċ, GĦ, ġ, Ġ, Ħ
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: * da_Latn (Danish)
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: * nb_Latn (Norwegian Bokmål)
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: * ca_Latn (Catalan)
The following mark characters are missing from the font: ̈, ̧, ̀, ́
Mandatory orthography codepoints: * ro_Latn (Romanian)
The following base characters are missing from the font: ț, Ț
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: * tr_Latn (Turkish)
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: * pl_Latn (Polish)
The following mark characters are missing from the font: ̇, ̨, ́
Mandatory orthography codepoints: * hu_Latn (Hungarian)
The following mark characters are missing from the font: ́, ̈, ̋
Mandatory orthography codepoints: * sk_Latn (Slovak)
The following mark characters are missing from the font: ́, ̈, ̌, ̂
  • ⚠️ WARN Warning language shaping:
Message Languages
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: ĭ
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: ț
The following auxiliary characters are missing from the font: ŧ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * 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: * 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: * 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: * 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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * 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: ŧ
🔥 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:
  • gjmU
  • gjmUU
  • gjmvR
  • gjmvL
  • gjmvLL
  • gjmE
  • gjmAI
  • gjmEcandra
  • gjAnusvara
    ... and 3 others [code: unattached-dotted-circle-marks]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0010071 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0AC4 (gjmvRR) [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks. (opentype/GDEF_non_mark_chars)
  • ⚠️ WARN The following non-mark characters should not be in the GDEF mark glyph class:
  • U+0060 (grave)
  • U+00A8 (dieresis)
  • U+00AF (macron)
  • U+00B4 (acute)
  • U+00B8 (cedilla)
  • U+02C6 (circumflex)
  • U+02C7 (caron)
  • U+02D8 (breve)
  • U+02D9 (dotaccent)
    ... and 4 others [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:
  • gjAnusvara.matrai
  • grave
  • dieresis
  • macron
  • acute
  • cedilla
  • circumflex
  • caron
  • breve
    ... and 7 others [code: spacing-mark-glyphs]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ 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:

  • quotedblbase (U+201E): 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 690 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=769: lessequal
    width=772: greaterequal
    width=679: minus
    width=663: multiply
    width=541: approxequal
    width=700: equal, notequal
    width=639: plusminus
    width=689: logicalnot
    width=599: divide
    width=657: plus [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:
  • gjmII.alt
  • gjmII_Anusvara.alt
  • gjmII_Reph.alt
  • gjmII_Reph_Anusvara.alt
  • gjCHA.alt
  • Tcedilla
  • tcedilla
  • a.alt
  • A.init
    ... and 3 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • gjJ: from (398.0, 380.0) to (442.0, 388.0) is colinear with segment from (442.0, 388.0) to (677.0, 427.0)
  • gjBH_RA: from (676.0, 276.0) to (677.0, 279.0) is colinear with segment from (677.0, 279.0) to (688.0, 312.0)
  • gjK_MA: from (341.0, 356.0) to (625.0, 377.0) is colinear with segment from (625.0, 377.0) to (627.0, 377.0)
  • gjK_SS_M_YA: from (340.0, 357.0) to (558.0, 377.0) is colinear with segment from (558.0, 377.0) to (592.0, 379.0)
  • gjK_SA: from (340.0, 357.0) to (558.0, 377.0) is colinear with segment from (558.0, 377.0) to (592.0, 379.0)
  • gjK_S_TTA: from (340.0, 357.0) to (558.0, 377.0) is colinear with segment from (558.0, 377.0) to (592.0, 379.0)
  • gjK_S_DDA: from (340.0, 357.0) to (558.0, 377.0) is colinear with segment from (558.0, 377.0) to (592.0, 379.0)
  • gjK_S_TA: from (340.0, 357.0) to (558.0, 377.0) is colinear with segment from (558.0, 377.0) to (592.0, 379.0)
  • gjK_S_P_RA: from (340.0, 357.0) to (558.0, 377.0) is colinear with segment from (558.0, 377.0) to (592.0, 379.0)
    ... and 25 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • gjNGA (U+0A99) has a counter-clockwise outer contour
  • gjSeven (U+0AED) has a counter-clockwise outer contour
  • gjNG has a counter-clockwise outer contour
  • parenleft (U+0028) has a counter-clockwise outer contour
  • parenright (U+0029) has a counter-clockwise outer contour
  • germandbls (U+00DF) has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • gjAI (U+0A90): Line(Line { p0: (930.0, 770.0), p1: (985.0, 717.0) })/Quad(QuadBez { p0: (985.0, 717.0), p1: (958.0, 757.0), p2: (947.0, 787.0) }) = 12.041561700437777 degrees
  • gjAU (U+0A94): Line(Line { p0: (1302.0, 770.0), p1: (1357.0, 717.0) })/Quad(QuadBez { p0: (1357.0, 717.0), p1: (1330.0, 757.0), p2: (1319.0, 787.0) }) = 12.041561700437777 degrees
  • gjmAI (U+0AC8): Line(Line { p0: (-68.0, 770.0), p1: (-13.0, 717.0) })/Quad(QuadBez { p0: (-13.0, 717.0), p1: (-40.0, 757.0), p2: (-51.0, 787.0) }) = 12.041561700437777 degrees
  • gjmAU (U+0ACC): Line(Line { p0: (322.0, 770.0), p1: (377.0, 717.0) })/Quad(QuadBez { p0: (377.0, 717.0), p1: (350.0, 757.0), p2: (339.0, 787.0) }) = 12.041561700437777 degrees
  • gjK_RA: Line(Line { p0: (173.0, 300.0), p1: (238.0, 346.0) })/Quad(QuadBez { p0: (238.0, 346.0), p1: (198.0, 329.0), p2: (183.0, 324.0) }) = 12.26125696653164 degrees
  • gjGH_RA: Quad(QuadBez { p0: (415.0, 137.0), p1: (415.0, 148.0), p2: (416.0, 154.0) })/Quad(QuadBez { p0: (416.0, 154.0), p1: (366.0, 21.0), p2: (311.0, -30.5) }) = 11.140918865391676 degrees
  • gjTH_RA: Quad(QuadBez { p0: (511.0, 137.0), p1: (511.0, 158.0), p2: (515.0, 178.0) })/Quad(QuadBez { p0: (515.0, 178.0), p1: (461.0, 34.0), p2: (392.5, -24.0) }) = 9.24611274556323 degrees
  • gjP_RA: Quad(QuadBez { p0: (412.0, 137.0), p1: (412.0, 159.0), p2: (416.0, 180.0) })/Quad(QuadBez { p0: (416.0, 180.0), p1: (365.0, 32.0), p2: (307.5, -25.0) }) = 8.229376520967142 degrees
  • gjV_RA: Quad(QuadBez { p0: (400.0, 137.0), p1: (400.0, 159.0), p2: (404.0, 180.0) })/Quad(QuadBez { p0: (404.0, 180.0), p1: (353.0, 32.0), p2: (295.5, -25.0) }) = 8.229376520967142 degrees
    ... and 30 others [code: found-jaggy-segments]
⚠️ WARN 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 <= 7 | - Use grayscale rendering |

- Use smoothing along multiple axes with ClearType®
PPM <= 19 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 7 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 19 that may be unnecessary [code: non-ffff-range]

⚠️ 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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Shrikhand" 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:
Shrikhand-Regular.ttf
Dehinted Size 220356
Hinted Size 220804
Increase 448
Change 0.2 %
ℹ️ 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 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.001;PS 1.001;hotconv 1.0.88;makeotf.lib2.5.647800, Version 1.001;PS 1.001;hotconv 1.0.88;makeotf.lib2.5.647800 [code: version-not-detected]
[3] ofl/shrikhand/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]
⚠️ WARN Ensure font description does not use the word 'free'. (googlefonts/description/no_free_word)
  • ⚠️ WARN The description contains the word 'free'. All Google Fonts are libre/free, so this is redundant. [code: free-in-description]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[9] ofl/shrikhand
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • 🔥 FAIL The font style for Shrikhand-Regular.ttf is "normal" but it should be "italic". [code: italic]
🔥 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 Shrikhand-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) 2015 jonny pinhorn (jonpinhorn.typedesign@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Shrikhand-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) 2015 jonny pinhorn (jonpinhorn.typedesign@gmail.com)" [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) 2015 jonny pinhorn (jonpinhorn.typedesign@gmail.com)" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/shrikhand/Shrikhand-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+03C0 GREEK SMALL LETTER PI: try adding one of: math, greek, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2070 SUPERSCRIPT ZERO: try adding math
  • U+2074 SUPERSCRIPT FOUR: try adding math
  • U+2126 OHM SIGN: try adding math
    ... and 14 others

Or you can add the above codepoints to one of the subsets supported by the font: gujarati, 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.08% 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]
[2] ofl/shrikhand/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN Designer jonnypinhorn still does not have an avatar image. Please provide one. [code: missing-avatar]
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[1] ofl/shrikhand/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2015 jonny pinhorn (jonpinhorn.typedesign@gmail.com)
"

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
28 32 10 106 69
13% 15% 5% 49% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[21] ofl/sintony/Sintony-Bold.ttf
🔥 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: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 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.0010071 is equal to version on Google fonts [code: same-version]
⚠️ 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 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • ampersand (U+0026): X=419,Y=-1 (should be at baseline 0?)
    • period (U+002E): X=156.5,Y=-1.5 (should be at baseline 0?)
    • colon (U+003A): X=156.5,Y=-1.5 (should be at baseline 0?)
    • question (U+003F): X=249.5,Y=-1.5 (should be at baseline 0?)
    • grave (U+0060): X=16,Y=729 (should be at cap-height 730?)
    • ordfeminine (U+00AA): X=115,Y=732 (should be at cap-height 730?)
    • acute (U+00B4): X=282,Y=729 (should be at cap-height 730?)
    • onequarter (U+00BC): X=174,Y=731 (should be at cap-height 730?)
    • onequarter (U+00BC): X=269,Y=731 (should be at cap-height 730?)
      ... and 22 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • exclam (U+0021): from (223.0, 730.0) to (223.0, 548.0) is colinear with segment from (223.0, 548.0) to (189.0, 209.0)
  • exclam (U+0021): from (109.0, 209.0) to (75.0, 548.0) is colinear with segment from (75.0, 548.0) to (75.0, 730.0)
  • exclamdown (U+00A1): from (76.0, -152.0) to (76.0, 30.0) is colinear with segment from (76.0, 30.0) to (110.0, 369.0)
  • exclamdown (U+00A1): from (189.0, 369.0) to (223.0, 30.0) is colinear with segment from (223.0, 30.0) to (223.0, -152.0)
  • daggerdbl (U+2021): from (460.0, 466.0) to (406.0, 466.0) is colinear with segment from (406.0, 466.0) to (292.0, 477.0) [code: found-colinear-vectors]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • at (U+0040) contains a short segment Line(Line { p0: (708.0, 213.0), p1: (737.0, 213.0) }) (length: 29.00, total outline: 6415.43)
  • threesuperior (U+00B3) contains a short segment Line(Line { p0: (152.0, 574.0), p1: (162.0, 574.0) }) (length: 10.00, total outline: 1880.44)
  • threequarters (U+00BE) contains a short segment Line(Line { p0: (157.0, 560.0), p1: (167.0, 560.0) }) (length: 10.00, total outline: 1880.44) [code: found-short-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sintony-Bold.ttf
Dehinted Size 25992
Hinted Size 26016
Increase 24
Change 0.1 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.001, Version 1.001 [code: version-not-detected]
[2] ofl/sintony/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (Sintony). The name must end with Regular or Italic [code: mismatch]

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

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

⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that eduardorodrigueztunni 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]
[9] ofl/sintony
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.01% 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]

🔥 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 Sintony-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) 2013, eduardo tunni (http://www.tipo.net.ar), with reserved font name 'sintony'" [code: bad-notice-format]

  • 🔥 FAIL Sintony-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) 2013, eduardo tunni (http://www.tipo.net.ar), with reserved font name 'sintony'" [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) 2013, eduardo tunni (http://www.tipo.net.ar edu@tipo.net.ar), with reserved font name 'sintony'" [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2013, eduardo tunni (http://www.tipo.net.ar), with reserved font name 'sintony': ["Sintony-Regular.ttf: Name Table entry", "Sintony-Regular.ttf: Name Table entry"]
  • copyright (c) 2013, eduardo tunni (http://www.tipo.net.ar edu@tipo.net.ar), with reserved font name 'sintony': ["METADATA.pb"] [code: mismatch]
  • 🔥 FAIL Sintony-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) 2013, eduardo tunni (http://www.tipo.net.ar), with reserved font name 'sintony'" [code: bad-notice-format]

  • 🔥 FAIL Sintony-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) 2013, eduardo tunni (http://www.tipo.net.ar), with reserved font name 'sintony'" [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) 2013, eduardo tunni (http://www.tipo.net.ar edu@tipo.net.ar), with reserved font name 'sintony'" [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2013, eduardo tunni (http://www.tipo.net.ar edu@tipo.net.ar), with reserved font name 'sintony': ["METADATA.pb"]
  • copyright (c) 2013, eduardo tunni (http://www.tipo.net.ar), with reserved font name 'sintony': ["Sintony-Bold.ttf: Name Table entry", "Sintony-Bold.ttf: Name Table entry"] [code: mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sintony/Sintony-Regular.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
  • U+2206 INCREMENT: try adding math
    ... and 10 others

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

  • ⚠️ WARN ofl/sintony/Sintony-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
  • U+2206 INCREMENT: try adding math
    ... and 10 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, latin-ext [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) 2013, Eduardo Tunni (http://www.tipo.net.ar edu@tipo.net.ar), with Reserved Font Name 'Sintony'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("Copyright (c) 2013, Eduardo Tunni (http://www.tipo.net.ar edu@tipo.net.ar), with Reserved Font Name 'Sintony'") 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]

  • ⚠️ 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]
[22] ofl/sintony/Sintony-Regular.ttf
🔥 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: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sintony Sintony
Subfamily Name Regular Regular
Full Name Sintony Sintony Regular
Postscript Name Sintony Sintony-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.0010071 is equal to version on Google fonts [code: same-version]
⚠️ 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 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nbspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • exclam (U+0021): X=192,Y=2 (should be at baseline 0?)
    • exclam (U+0021): X=119.5,Y=2 (should be at baseline 0?)
    • period (U+002E): X=150,Y=2 (should be at baseline 0?)
    • period (U+002E): X=77.5,Y=2 (should be at baseline 0?)
    • colon (U+003A): X=150,Y=2 (should be at baseline 0?)
    • colon (U+003A): X=77.5,Y=2 (should be at baseline 0?)
    • question (U+003F): X=256,Y=2 (should be at baseline 0?)
    • question (U+003F): X=183.5,Y=2 (should be at baseline 0?)
    • Q (U+0051): X=459,Y=-1 (should be at baseline 0?)
      ... and 42 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • exclam (U+0021): from (203.0, 730.0) to (203.0, 566.0) is colinear with segment from (203.0, 566.0) to (181.0, 191.0)
  • exclam (U+0021): from (129.0, 191.0) to (107.0, 566.0) is colinear with segment from (107.0, 566.0) to (107.0, 730.0)
  • exclamdown (U+00A1): from (108.0, -152.0) to (108.0, 12.0) is colinear with segment from (108.0, 12.0) to (130.0, 387.0)
  • exclamdown (U+00A1): from (183.0, 387.0) to (205.0, 12.0) is colinear with segment from (205.0, 12.0) to (205.0, -152.0)
  • dagger (U+2020): from (430.0, 494.0) to (382.0, 494.0) is colinear with segment from (382.0, 494.0) to (268.0, 505.0)
  • daggerdbl (U+2021): from (18.0, 236.0) to (66.0, 236.0) is colinear with segment from (66.0, 236.0) to (186.0, 224.0)
  • daggerdbl (U+2021): from (430.0, 494.0) to (382.0, 494.0) is colinear with segment from (382.0, 494.0) to (261.0, 505.0)
  • daggerdbl (U+2021): from (261.0, 505.0) to (254.0, 365.0) is colinear with segment from (254.0, 365.0) to (261.0, 224.0)
  • daggerdbl (U+2021): from (261.0, 224.0) to (382.0, 236.0) is colinear with segment from (382.0, 236.0) to (430.0, 236.0)
    ... and 1 others [code: found-colinear-vectors]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • at (U+0040) contains a short segment Line(Line { p0: (649.0, 565.0), p1: (681.0, 565.0) }) (length: 32.00, total outline: 6379.98)
  • at (U+0040) contains a short segment Line(Line { p0: (681.0, 185.0), p1: (708.0, 185.0) }) (length: 27.00, total outline: 6379.98) [code: found-short-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sintony-Regular.ttf
Dehinted Size 25688
Hinted Size 25712
Increase 24
Change 0.1 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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 001.001, Version 001.001 [code: version-not-detected]
[1] ofl/sintony/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2013, eduardo tunni (http://www.tipo.net.ar edu@tipo.net.ar), with reserved font name 'sintony'
"

which does not match the expected format, similar to:

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
25 43 16 198 125
7% 11% 4% 53% 33%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[28] ofl/sora/Sora[wght].ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+01FA [code: missing-case-counterparts]
🔥 FAIL Ensure fvar instances have PostScript names. (fvar_instance_ps_names)
  • 🔥 FAIL Named instance 'Thin' (index 0) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'ExtraLight' (index 1) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Light' (index 2) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Regular' (index 3) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'SemiBold' (index 4) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Bold' (index 5) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'ExtraBold' (index 6) lacks a PostScript name entry. [code: missing-ps-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:
  • uni0137
  • quotedblleft
  • uni0157.salt
  • Idieresis.salt
  • Odieresis
  • edieresis
  • uni0146
  • uni021B
  • uni0219
    ... and 25 others [code: found-nested-components]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • braceright (component braceleft)
  • braceright.case (component braceleft.case)
  • bracketright (component bracketleft)
  • bracketright.case (component bracketleft.case)
  • exclamdown (component exclam)
  • exclamdown.case (component exclam)
  • parenright (component parenleft)
  • parenright.case (component parenleft.case) [code: transformed-components]
🔥 FAIL Check variable font instances (googlefonts/fvar_instances)
  • 🔥 FAIL fvar instances are incorrect:

  • Add missing instances

Name current expected
Thin wght=100 wght=100
ExtraLight wght=200 wght=200
Light wght=300 wght=300
Regular wght=400 wght=400
Medium N/A wght=500
SemiBold wght=600 wght=600
Bold wght=700 wght=700
ExtraBold wght=800 wght=800

[code: bad-fvar-instances]

🔥 FAIL Check a font's STAT table contains compulsory Axis Values. (googlefonts/STAT/compulsory_axis_values)
  • 🔥 FAIL Compulsory STAT Axis Values are incorrect:
Name Axis Current Value Expected Value Current Flags Expected Flags Current Linked Value Expected Linked Value
Bold wght 700 700 0 0 N/A N/A
ExtraBold wght 800 800 0 0 N/A N/A
ExtraLight wght 200 200 0 0 N/A N/A
Light wght 300 300 0 0 N/A N/A
Medium wght N/A 500 N/A 0 N/A N/A
Regular wght 400 400 2 2 N/A 700
SemiBold wght 600 600 0 0 N/A N/A
Thin wght 100 100 0 0 N/A N/A

[code: bad-axis-values]

🔥 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 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:

  • dagger (U+2020): found 3, expected one of: [1, 2, 4]
  • f_j (unencoded): found 5, expected one of: [1, 2, 3]
  • greater (U+003E): found 3, expected one of: [1, 2]
  • greaterequal (U+2265): found 4, expected one of: [2, 3, 6]
  • imacron (U+012B): found 3, expected one of: [2, 6]
  • less (U+003C): found 3, expected one of: [1, 2]
  • lessequal (U+2264): found 4, expected one of: [2, 3, 6]
  • v (U+0076): found 3, expected one of: [1, 2, 5]
  • yacute (U+00FD): found 4, expected one of: [2, 3, 6]
    ... and 1 others [code: contour-count]
⚠️ WARN Ensure variable fonts include an avar table. (mandatory_avar_table)
  • ⚠️ WARN The font does not include an avar table. If the progression rates of axes is linear and no user-mapping is expected, this is fine, and this check can be ignored or excluded. [code: missing-avar]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 590 among a set of 11 math glyphs.
    The following math glyphs have a different width, though:
    width=611: logicalnot
    width=610: 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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • uni0312.case [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * ca_Latn (Catalan)
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: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
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 tildecomb to m when shaping the text 'm̃'
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: ǯ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Ensure 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:

  • į̈

  • į̇

  • į̆

  • į̒

  • į̊

  • į̋ [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:
    • ampersand (U+0026): X=504,Y=728 (should be at cap-height 730?)
    • braceleft (U+007B): X=216,Y=2 (should be at baseline 0?)
    • braceright (U+007D): X=160,Y=2 (should be at baseline 0?)
    • uni0312.case: X=125,Y=968 (should be at ascender 970?)
    • uni0312.case: X=132,Y=968 (should be at ascender 970?)
    • dollar.tnum: X=348,Y=1 (should be at baseline 0?)
    • dollar.tnum: X=344,Y=729 (should be at cap-height 730?)
    • dollar.tnum: X=348,Y=1 (should be at baseline 0?)
    • eth (U+00F0): X=200,Y=2.5 (should be at baseline 0?)
      ... and 27 others [code: found-misalignments]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • braceright (U+007D) has a counter-clockwise outer contour
  • braceright.case has a counter-clockwise outer contour
  • bracketright (U+005D) has a counter-clockwise outer contour
  • bracketright (U+005D) has a counter-clockwise outer contour
  • bracketright (U+005D) has a counter-clockwise outer contour
  • bracketright.case has a counter-clockwise outer contour
  • bracketright.case has a counter-clockwise outer contour
  • bracketright.case has a counter-clockwise outer contour
  • exclamdown (U+00A1) has a counter-clockwise outer contour
    ... and 5 others [code: ccw-outer-contour]
⚠️ 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 'NONE' 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:
Sora[wght].ttf
Dehinted Size 111376
Hinted Size 111400
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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]
[7] ofl/sora
🔥 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 latin-ext, latin:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Yanomamö, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin:
  • ẽ (U+1EBD) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sora/Sora[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+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, coptic, math, cherokee
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: math, tifinagh, duployan, old-permic, canadian-aboriginal, coptic, hebrew, malayalam, syriac, tai-le, todhri
  • 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
  • U+0312 COMBINING TURNED COMMA ABOVE: try adding math
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+0327 COMBINING CEDILLA: try adding math
    ... and 8 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.12% 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]

[1] ofl/sora/OFL.txt
⚠️ WARN Check OFL body text is correct. (googlefonts/license/OFL_body_text)

Lines changed:

-This license is copied below, and is also available with a FAQ at:
-https://openfontlicense.org
+This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
+
[code: incorrect-ofl-body-text]

[1] ofl/sora/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[2] ofl/sora/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that jonathanbarnbrook 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]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
18 21 10 137 40
8% 10% 5% 63% 19%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/sortsmillgoudy/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[9] ofl/sortsmillgoudy
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.12% 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]

🔥 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:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Fonts have equal codepoint coverage? (googlefonts/family/equal_codepoint_coverage)
  • 🔥 FAIL Other fonts have codepoints not present in ofl/sortsmillgoudy/SortsMillGoudy-Regular.ttf: U+02DB [code: glyphset-diverges]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL SortsMillGoudy-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) 2010, barry schwartz (chemoelectric@chemoelectric.org)
" [code: bad-notice-format]

  • 🔥 FAIL SortsMillGoudy-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) 2010, barry schwartz (chemoelectric@chemoelectric.org)
" [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) 2010, barry schwartz (chemoelectric@chemoelectric.org)" [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • 🔥 FAIL SortsMillGoudy-Italic.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) 2010, barry schwartz (chemoelectric@chemoelectric.org)" [code: bad-notice-format]

  • 🔥 FAIL SortsMillGoudy-Italic.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) 2010, barry schwartz (chemoelectric@chemoelectric.org)" [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) 2010, barry schwartz (chemoelectric@chemoelectric.org)" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/sortsmillgoudy/SortsMillGoudy-Regular.ttf missing required codepoints:
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/sortsmillgoudy/SortsMillGoudy-Italic.ttf missing required codepoints:
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sortsmillgoudy/SortsMillGoudy-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: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, coptic, tifinagh, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: todhri, coptic, malayalam, duployan, canadian-aboriginal, math, tai-le, old-permic, hebrew, syriac, tifinagh
  • 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: tai-le, cherokee
  • U+0312 COMBINING TURNED COMMA ABOVE: try adding math
    ... and 23 others

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

  • ⚠️ WARN ofl/sortsmillgoudy/SortsMillGoudy-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: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, coptic, tifinagh, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: todhri, coptic, malayalam, duployan, canadian-aboriginal, math, tai-le, old-permic, hebrew, syriac, tifinagh
  • 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: tai-le, cherokee
    ... and 24 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, latin-ext [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]

ℹ️ 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]
[3] ofl/sortsmillgoudy/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]
🔥 FAIL DESCRIPTION.en_us.html must have more than 200 bytes. (googlefonts/description/min_length)
  • 🔥 FAIL DESCRIPTION.en_us.html must have size larger than 200 bytes. [code: too-short]
⚠️ 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]
[24] ofl/sortsmillgoudy/SortsMillGoudy-Italic.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours. (contour_count)
  • 🔥 FAIL The following glyphs have no contours even though they were expected to have some:
  • uni02C8 (U+02C8): found 0, expected one of: [1]
  • ogonek (U+02DB): found 0, expected one of: [1] [code: no-contour]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/VERSION_STRING has trailing spaces that must be removed:
    Version 003.101 [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/VERSION_STRING has trailing spaces that must be removed:
    Version 003.101 [code: trailing-space]

🔥 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
  • cedilla
  • onequarter
  • uni0162.001
  • threequarters
  • scedilla
  • i.TRK
  • ij
  • uni0163
    ... and 5 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [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: * is_Latn (Icelandic)
The following mark characters are missing from the font: ̨ * lt_Latn (Lithuanian)
* pl_Latn (Polish)
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
  • ⚠️ 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: ŋ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * 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: ǯ
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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
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 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 acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach gravecomb to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach gravecomb to Idotaccent 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 acutecomb to Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇́'
Shaper didn't attach acutecomb to uni0307 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 uni0307 when shaping the text 'Į̇̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach tildecomb to uni0307 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 'Ū̃'
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 i when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̃'
Shaper didn't attach tildecomb to uni0307 when shaping the text 'i̇̃'
Shaper didn't attach acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇́'
Shaper didn't attach acutecomb to uni0307 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 uni0307 when shaping the text 'į̇̃'
Shaper didn't attach tildecomb to j when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to uni0307 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 Font has all mandatory 'name' table entries? (googlefonts/name/mandatory_entries)
  • 🔥 FAIL Font lacks entry with nameId=9 (DESIGNER) [code: missing-entry]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3.100998 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0300 (gravecomb)
  • U+0301 (acutecomb)
  • U+0302 (uni0302)
  • U+0303 (tildecomb)
  • U+0304 (uni0304)
  • U+0306 (uni0306)
  • U+0307 (uni0307)
  • U+0308 (uni0308)
  • U+030A (uni030A)
    ... and 6 others [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 511 but it should be 493 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 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:
  • .null
  • nonmarkingreturn [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

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

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


  • ... and 6 others [code: soft-dotted]

⚠️ 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 is 'PfEd', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Sorts Mill Goudy" 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:
SortsMillGoudy-Italic.ttf
Dehinted Size 105660
Hinted Size 105684
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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 003.101 , Version 003.101 [code: version-not-detected]
[27] ofl/sortsmillgoudy/SortsMillGoudy-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours. (contour_count)
  • 🔥 FAIL The following glyphs have no contours even though they were expected to have some:
  • uni02C8 (U+02C8): found 0, expected one of: [1] [code: no-contour]
🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • dotlessi
  • ij
  • napostrophe
  • uni00B5
  • longs
  • germandbls
  • florin
  • uni0237 [code: missing-smcp-lowercase]
  • 🔥 FAIL The following letters did not take part in c2sc substitutions:
  • IJ
  • Idotaccent [code: missing-c2sc-uppercase]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Copyright (c) 2010, Barry Schwartz (chemoelectric@chemoelectric.org) [code: trailing-space]

  • 🔥 FAIL Name table record 1/0/0/VERSION_STRING has trailing spaces that must be removed:
    Version 003.101 [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Copyright (c) 2010, Barry Schwartz (chemoelectric@chemoelectric.org) [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/VERSION_STRING has trailing spaces that must be removed:
    Version 003.101 [code: trailing-space]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni021B
  • uni021B.sc
  • scedilla
  • kcommaaccent
  • uni2011.uppercase
  • Ncommaaccent
  • cedilla
  • onequarter
  • uni00AD.uppercase
    ... and 30 others [code: found-nested-components]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: ẃ, Ẅ, Ỳ, Ẃ, ỳ, Ẁ, ẅ, ẁ
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * is_Latn (Icelandic)
The following mark characters are missing from the font: ̨ * lt_Latn (Lithuanian)
* pl_Latn (Polish)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
Small caps for Latin letters: * nl_Latn (Dutch)
When shaping the text 'ij' and shaping the text 'ij' with features: smcp, the output is expected to be different, but was the same
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: ẽ
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 acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach acutecomb to Idotaccent when shaping the text 'İ́'
Shaper didn't attach gravecomb to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach gravecomb to Idotaccent 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 acutecomb to Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇́'
Shaper didn't attach acutecomb to uni0307 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 uni0307 when shaping the text 'Į̇̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach tildecomb to uni0307 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 'Ū̃'
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 i when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̃'
Shaper didn't attach tildecomb to uni0307 when shaping the text 'i̇̃'
Shaper didn't attach acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇́'
Shaper didn't attach acutecomb to uni0307 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 uni0307 when shaping the text 'į̇̃'
Shaper didn't attach tildecomb to j when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to uni0307 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 'ū̃'
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: ǔ
Small caps for Latin letters: * it_Latn (Italian)
When shaping the text 'ß' and shaping the text 'ß' with features: smcp, the output is expected to be different, but was the same * pl_Latn (Polish)
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: ŋ
Small caps for Latin letters: * de_Latn (German)
When shaping the text 'ß' and shaping the text 'ß' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ı' and shaping the text 'ı' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ſ' and shaping the text 'ſ' with features: smcp, the output is expected to be different, but was the same
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: ǯ
Small caps for Latin letters: * fr_Latn (French)
When shaping the text 'ſ' and shaping the text 'ſ' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ß' and shaping the text 'ß' with features: smcp, the output is expected to be different, but was the same
Small caps for Latin letters: * fi_Latn (Finnish)
When shaping the text 'ı' and shaping the text 'ı' with features: smcp, the output is expected to be different, but was the same * tr_Latn (Turkish)
When shaping the text 'ß' and shaping the text 'ß' with features: smcp, the output is expected to be different, but was the same
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry COPYRIGHT_NOTICE on platform 1 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry COPYRIGHT_NOTICE on platform 3 contains a line-break. [code: line-break]

🔥 FAIL Font has all mandatory 'name' table entries? (googlefonts/name/mandatory_entries)
  • 🔥 FAIL Font lacks entry with nameId=9 (DESIGNER) [code: missing-entry]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3.100998 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0300 (gravecomb)
  • U+0301 (acutecomb)
  • U+0302 (uni0302)
  • U+0303 (tildecomb)
  • U+0304 (uni0304)
  • U+0306 (uni0306)
  • U+0307 (uni0307)
  • U+0308 (uni0308)
  • U+030A (uni030A)
    ... and 6 others [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 536 but it should be 509 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 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:
  • .null
  • nonmarkingreturn [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

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

  • į̃

  • į̄

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

  • į̊

  • į̈

  • į̋
    ... and 6 others [code: soft-dotted]

⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • dollar (U+0024): Line(Line { p0: (262.0, 445.0), p1: (263.0, 641.0) }) (angle: 89.71 degrees, expected: 90.00 degrees)
  • two (U+0032): Line(Line { p0: (193.0, -1.0), p1: (56.0, -2.0) }) (angle: -179.58 degrees, expected: -180.00 degrees)
  • B (U+0042): Line(Line { p0: (69.0, 708.0), p1: (215.0, 709.0) }) (angle: 0.39 degrees, expected: 0.00 degrees)
  • D (U+0044): Line(Line { p0: (114.0, 369.0), p1: (113.0, 623.0) }) (angle: 90.23 degrees, expected: 90.00 degrees)
  • D (U+0044): Line(Line { p0: (198.0, 354.0), p1: (197.0, 141.0) }) (angle: -90.27 degrees, expected: -90.00 degrees)
  • H (U+0048): Line(Line { p0: (230.0, 384.0), p1: (394.0, 385.0) }) (angle: 0.35 degrees, expected: 0.00 degrees)
  • I (U+0049): Line(Line { p0: (198.0, 552.0), p1: (195.0, 182.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • J (U+004A): Line(Line { p0: (204.0, 553.0), p1: (203.0, 146.0) }) (angle: -90.14 degrees, expected: -90.00 degrees)
  • P (U+0050): Line(Line { p0: (114.0, 431.0), p1: (113.0, 601.0) }) (angle: 90.34 degrees, expected: 90.00 degrees)
    ... and 239 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 is 'PfEd', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Sorts Mill Goudy" 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:
SortsMillGoudy-Regular.ttf
Dehinted Size 121348
Hinted Size 121372
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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 003.101 , Version 003.101 [code: version-not-detected]
[1] ofl/sortsmillgoudy/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2010, barry schwartz (chemoelectric@chemoelectric.org)"

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
37 44 14 192 123
10% 12% 4% 51% 33%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/sourcesans3/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[1] ofl/sourcesans3/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Source Sans 3" does not match post_script_name="SourceSans3-Roman". [code: mismatch]

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

[19] ofl/sourcesans3/SourceSans3[wght].ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+028B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0280 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0288 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A7B5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0256 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0265 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DB [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0272 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03D9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+027D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026F [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0264 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0283 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0275 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0266 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03E1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+029D [code: missing-case-counterparts]

🔥 FAIL Ensure fvar instances have PostScript names. (fvar_instance_ps_names)
  • 🔥 FAIL Named instance 'ExtraLight' (index 0) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Light' (index 1) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Regular' (index 2) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Medium' (index 3) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'SemiBold' (index 4) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Bold' (index 5) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'ExtraBold' (index 6) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Black' (index 7) lacks a PostScript name entry. [code: missing-ps-name]

🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • uni0271
  • uni029D
  • uni025E
  • uni029E
  • uni0264
  • uni02A7
  • uni0256
  • uniAB66
  • uni0283
    ... and 82 others [code: missing-smcp-lowercase]
  • 🔥 FAIL The following letters did not take part in c2sc substitutions:
  • uniA7AE [code: missing-c2sc-uppercase]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • uni1E0D
  • uni1E6F
  • uni1E32
  • uni0407.s
  • uni1E34.s
  • uni04E6
  • uni1F4D
  • uni1F0E
  • uni1ECA.z
    ... and 315 others [code: found-nested-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: Ƙ, ƙ, ƴ, Ƴ
Mandatory orthography codepoints: * az_Cyrl (Azerbaijani (Cyrillic))
The following base characters are missing from the font: ҹ, ҝ
Mandatory orthography codepoints: * udm_Cyrl (Udmurt)
The following base characters are missing from the font: Ӟ, ӝ, ӟ, Ӵ, ӥ, Ӥ, Ӝ, ӵ
Mandatory orthography codepoints: * sah_Cyrl (Sakha)
The following base characters are missing from the font: ҕ, ҥ
Mandatory orthography codepoints: * chm_Cyrl (Mari)
The following base characters are missing from the font: ӱ, Ӱ, ҥ, Ҥ
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: ƴ, Ƴ
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: Ɲ * dyu_Latn (Dyula)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
Shaper didn't attach uni0301 to edotaccent when shaping the text 'ė́'
Shaper didn't attach uni0303 to edotaccent when shaping the text 'ė̃'
Auxiliary orthography codepoints: * bg_Cyrl (Bulgarian)
The following auxiliary characters are missing from the font: ѫ * bg_Cyrl (Bulgarian)
Shaper didn't attach uni0300 to uni044A when shaping the text 'ъ̀'
Auxiliary orthography codepoints: * ig_Latn (Igbo)
The following auxiliary characters are missing from the font: Ɵ
Small caps for Latin letters: * ig_Latn (Igbo)
When shaping the text 'ɵ' and shaping the text 'ɵ' with features: smcp, the output is expected to be different, but was the same
Small caps for Latin letters: * bm_Latn (Bambara)
When shaping the text 'ɲ' and shaping the text 'ɲ' with features: smcp, the output is expected to be different, but was the same * dyu_Latn (Dyula)
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 uni0301 to uni0451 when shaping the text 'ё́' * be_Cyrl (Belarusian)
Shaper didn't attach uni0301 to uni0456 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: ǩ
Auxiliary orthography codepoints: * uk_Cyrl (Ukrainian)
Shaper didn't attach uni0301 to uni0456 when shaping the text 'і́' * uk_Cyrl (Ukrainian)
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Source Sans 3 ExtraLight Source Sans 3 ExtraLight
Subfamily Name Regular Regular
Full Name Source Sans 3 Source Sans 3 ExtraLight
Postscript Name SourceSans3-Roman SourceSans3-ExtraLight
Typographic Family Name Source Sans 3 Source Sans 3
Typographic Subfamily Name ExtraLight ExtraLight
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3.052002 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0310 (uni0310)
  • U+0337 (uni0337)
  • U+0338 (uni0338)
  • U+034F (uni034F)
  • U+035C (uni035C)
  • U+035E (uni035E)
  • U+035F (uni035F)
  • U+0361 (uni0361)
  • U+1DCD (uni1DCD) [code: mark-chars]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 472 among a set of 16 math glyphs.
    The following math glyphs have a different width, though:
    width=488: uni2237 [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • і́

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

  • ʲ̉

  • ʲ̀

  • ʲ̑

  • ʲ̒

  • ʲ̓

  • ʲ͂

  • ʲ̂

  • ʲ̊
    ... and 104 others [code: soft-dotted]

⚠️ 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
SourceSans3[wght].ttf
Dehinted Size 646316
Hinted Size 646340
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    prep
    BASE
    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 3.052;hotconv 1.1.0;makeotfexe 2.6.0 [code: version-not-detected]
[2] ofl/sourcesans3/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2010-2020 adobe (http://www.adobe.com/), with reserved font name 'source'. all rights reserved. source is a trademark of adobe in the united states and/or other countries.
"

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:

-This license is copied below, and is also available with a FAQ at:
-https://openfontlicense.org
+This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
+
[code: incorrect-ofl-body-text]

[22] ofl/sourcesans3/SourceSans3-Italic[wght].ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+027D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0272 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03D9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0266 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0288 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A7B5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0256 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DB [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0264 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0280 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0265 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0275 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026F [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03E1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0283 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+029D [code: missing-case-counterparts]

🔥 FAIL Ensure fvar instances have PostScript names. (fvar_instance_ps_names)
  • 🔥 FAIL Named instance 'ExtraLight Italic' (index 0) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Light Italic' (index 1) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Italic' (index 2) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Medium Italic' (index 3) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'SemiBold Italic' (index 4) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Bold Italic' (index 5) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'ExtraBold Italic' (index 6) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Black Italic' (index 7) lacks a PostScript name entry. [code: missing-ps-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:
  • atilde.b
  • uni1F10
  • uni1FB8
  • uni1E36
  • Epsilontonos
  • uni1FEB
  • Upsilondieresis
  • uni0451
  • uni1E3B
    ... and 284 others [code: found-nested-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: Ɲ * dyu_Latn (Dyula)
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: ƴ, Ƴ
Mandatory orthography codepoints: * sah_Cyrl (Sakha)
The following base characters are missing from the font: ҕ, ҥ
Mandatory orthography codepoints: * az_Cyrl (Azerbaijani (Cyrillic))
The following base characters are missing from the font: ҝ, ҹ
Mandatory orthography codepoints: * chm_Cyrl (Mari)
The following base characters are missing from the font: Ҥ, ӱ, ҥ, Ӱ
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: ƙ, ƴ, Ƴ, Ƙ
Mandatory orthography codepoints: * udm_Cyrl (Udmurt)
The following base characters are missing from the font: ӟ, Ӵ, ӝ, ӥ, Ӥ, Ӝ, Ӟ, ӵ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * ig_Latn (Igbo)
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: ǩ
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
Shaper didn't attach uni0301 to edotaccent when shaping the text 'ė́'
Shaper didn't attach uni0303 to edotaccent when shaping the text 'ė̃'
Auxiliary orthography codepoints: * bg_Cyrl (Bulgarian)
The following auxiliary characters are missing from the font: ѫ * bg_Cyrl (Bulgarian)
Shaper didn't attach uni0300 to uni044A when shaping the text 'ъ̀'
Auxiliary orthography codepoints: * be_Cyrl (Belarusian)
Shaper didn't attach uni0301 to uni0451 when shaping the text 'ё́' * be_Cyrl (Belarusian)
Shaper didn't attach uni0301 to uni0456 when shaping the text 'і́'
Auxiliary orthography codepoints: * uk_Cyrl (Ukrainian)
Shaper didn't attach uni0301 to uni0456 when shaping the text 'і́' * uk_Cyrl (Ukrainian)
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Source Sans 3 ExtraLight Source Sans 3 ExtraLight
Subfamily Name Italic Italic
Full Name Source Sans 3 Italic Source Sans 3 ExtraLight Italic
Postscript Name SourceSans3-Italic SourceSans3-ExtraLightItalic
Typographic Family Name Source Sans 3 Source Sans 3
Typographic Subfamily Name ExtraLight Italic ExtraLight Italic
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3.052002 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0310 (uni0310)
  • U+0337 (uni0337)
  • U+0338 (uni0338)
  • U+034F (uni034F)
  • U+035C (uni035C)
  • U+035E (uni035E)
  • U+035F (uni035F)
  • U+0361 (uni0361)
  • U+1DCD (uni1DCD) [code: 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:
  • uni0315 [code: spacing-mark-glyphs]
⚠️ WARN Detect any interpolation issues in the font. (interpolation_issues)
  • ⚠️ WARN Interpolation issue in uni1EAA: Contour 2 becomes underweight in wght=900 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC4: Contour 1 becomes underweight in wght=900 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED6: Contour 2 becomes underweight in wght=900 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020303.c: Contour 0 becomes underweight in wght=900 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0302030C.c: Contour 0 becomes underweight in wght=900 compared to default [code: interpolation-issue]

⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 456 among a set of 16 math glyphs.
    The following math glyphs have a different width, though:
    width=482: uni2237 [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Ensure variable fonts have relatively consistent sidebearings. (suspicious_sidebearings)
  • ⚠️ WARN Glyph "uni0315" has suspiciously high variation (z-score 23.31) in right sidebearings at locations:
    wght=316.02
    wght=369.30
    wght=451.35
    wght=574.93
    wght=651.03
    wght=737.73
    wght=900.00 [code: large-rsb-variation]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 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 104 others [code: soft-dotted]

⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni025A (U+025A): Quad(QuadBez { p0: (12.0, 182.0), p1: (12.0, 182.0), p2: (12.0, 182.0) }) has the same coordinates as a previous segment. [code: overlapping-path-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
SourceSans3-Italic[wght].ttf
Dehinted Size 395348
Hinted Size 395372
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    prep
    BASE
    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 3.052;hotconv 1.1.0;makeotfexe 2.6.0 [code: version-not-detected]
[10] ofl/sourcesans3
🔥 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 Aghem 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+1DC7) [code: bad-sample-text]
  • 🔥 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, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Chinantec, Chiltepec, 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 cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Jarai (Latin), 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, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̆ (U+0306) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Lingala, 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, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̂ (U+0302)
  • ̌ (U+030C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Lushootseed, 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 cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̌ (U+030C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Central Mazahua, 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 cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Central Mazahua, 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 cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̸ (U+0338) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Mendankwe-Nkwen, 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, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̌ (U+030C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Nuer, 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, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Uduk, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek-ext, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL SourceSans3[wght].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:

"© 2023 adobe (http://www.adobe.com/), with reserved font name ‘source’" [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:

"© 2023 adobe (http://www.adobe.com/), with reserved font name ‘source’" [code: bad-notice-format]

  • 🔥 FAIL SourceSans3-Italic[wght].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:

"© 2023 adobe (http://www.adobe.com/), with reserved font name ‘source’" [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:

"© 2023 adobe (http://www.adobe.com/), with reserved font name ‘source’" [code: bad-notice-format]

⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Source Sans 3" does not match correct family name "Source Sans 3 ExtraLight". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Source Sans 3" does not match correct family name "Source Sans 3 ExtraLight". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sourcesans3/SourceSans3[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: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, coptic, math, cherokee
  • U+0305 COMBINING OVERLINE: try adding one of: glagolitic, gothic, coptic, elbasan, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: hebrew, tai-le, tifinagh, math, syriac, canadian-aboriginal, duployan, malayalam, coptic, todhri, 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
    ... and 214 others

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

  • ⚠️ WARN ofl/sourcesans3/SourceSans3-Italic[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: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, coptic, math, cherokee
  • U+0305 COMBINING OVERLINE: try adding one of: glagolitic, gothic, coptic, elbasan, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: hebrew, tai-le, tifinagh, math, syriac, canadian-aboriginal, duployan, malayalam, coptic, todhri, 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
    ... and 214 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, greek, greek-ext, latin, latin-ext, menu, vietnamese [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 ("© 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("© 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’") 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=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=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 'cyrillic-ext' is listed in production metadata, but only 0.16% 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-ital: 2 [code: summary]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
88 41 13 253 68
24% 11% 3% 68% 18%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[2] ofl/sourceserif4/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)
[27] ofl/sourceserif4/SourceSerif4[opsz,wght].ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+03D9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03D7 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03E1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DB [code: missing-case-counterparts]

🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • gid421
  • gid677
  • gid910
  • gid911
  • gid908
  • gid732
  • gid422
  • gid424
  • gid324
    ... and 4 others [code: missing-smcp-lowercase]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • gid1067
  • gid324
  • gid370
  • gid62
  • gid517
  • gid989
  • gid347
  • gid1443
  • gid166
    ... and 157 others [code: found-nested-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * sah_Cyrl (Sakha)
The following base characters are missing from the font: ҕ, ҥ
Mandatory orthography codepoints: * fat_Latn (Fanti)
The following base characters are missing from the font: Ɔ, ɔ, ɛ, Ɛ
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: Ƴ, ɓ, Ɓ, ƴ, ɗ, Ɗ
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: ɔ, Ɔ, ɲ, ɛ, Ɛ, Ɲ
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: ɓ, Ƙ, Ƴ, ɗ, ƙ, Ɓ, ƴ, Ɗ
Mandatory orthography codepoints: * az_Cyrl (Azerbaijani (Cyrillic))
The following base characters are missing from the font: ҹ, ҝ
Mandatory orthography codepoints: * udm_Cyrl (Udmurt)
The following base characters are missing from the font: ӥ, Ӝ, Ӥ, ӵ, Ӵ, ӟ, Ӟ, ӝ
Mandatory orthography codepoints: * tw_akuapem_Latn (Akuapem Twi)
The following base characters are missing from the font: Ɛ, Ɔ, ɔ, ɛ
Mandatory orthography codepoints: * chm_Cyrl (Mari)
The following base characters are missing from the font: Ӱ, Ҥ, ҥ, ӱ
Mandatory orthography codepoints: * dyu_Latn (Dyula)
The following base characters are missing from the font: ɛ, Ɔ, ɲ, Ɲ, Ɛ, ɔ
  • ⚠️ 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: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * ig_Latn (Igbo)
The following auxiliary characters are missing from the font: ɛ
The following auxiliary 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: * el_Grek (Greek)
The following auxiliary characters are missing from the font: ἀ
The following auxiliary characters are missing from the font: ἄ
The following auxiliary characters are missing from the font: ἂ
The following auxiliary characters are missing from the font: ἆ
The following auxiliary characters are missing from the font: ἁ
The following auxiliary characters are missing from the font: ἅ
The following auxiliary characters are missing from the font: ἃ
The following auxiliary characters are missing from the font: ἇ
The following auxiliary characters are missing from the font: ὰ
The following auxiliary characters are missing from the font: ᾶ
The following auxiliary characters are missing from the font: ἐ
The following auxiliary characters are missing from the font: ἔ
The following auxiliary characters are missing from the font: ἒ
The following auxiliary characters are missing from the font: ἑ
The following auxiliary characters are missing from the font: ἕ
The following auxiliary characters are missing from the font: ἓ
The following auxiliary characters are missing from the font: ὲ
The following auxiliary characters are missing from the font: ἠ
The following auxiliary characters are missing from the font: ἤ
The following auxiliary characters are missing from the font: ἢ
The following auxiliary characters are missing from the font: ἦ
The following auxiliary characters are missing from the font: ἡ
The following auxiliary characters are missing from the font: ἥ
The following auxiliary characters are missing from the font: ἣ
The following auxiliary characters are missing from the font: ἧ
The following auxiliary characters are missing from the font: ὴ
The following auxiliary characters are missing from the font: ῆ
The following auxiliary characters are missing from the font: ἰ
The following auxiliary characters are missing from the font: ἴ
The following auxiliary characters are missing from the font: ἲ
The following auxiliary characters are missing from the font: ἶ
The following auxiliary characters are missing from the font: ἱ
The following auxiliary characters are missing from the font: ἵ
The following auxiliary characters are missing from the font: ἳ
The following auxiliary characters are missing from the font: ἷ
The following auxiliary characters are missing from the font: ὶ
The following auxiliary characters are missing from the font: ῖ
The following auxiliary characters are missing from the font: ῒ
The following auxiliary characters are missing from the font: ῗ
The following auxiliary characters are missing from the font: ὄ
The following auxiliary characters are missing from the font: ὂ
The following auxiliary characters are missing from the font: ὃ
The following auxiliary characters are missing from the font: ὸ
The following auxiliary characters are missing from the font: ὐ
The following auxiliary characters are missing from the font: ὔ
The following auxiliary characters are missing from the font: ὒ
The following auxiliary characters are missing from the font: ὖ
The following auxiliary characters are missing from the font: ὑ
The following auxiliary characters are missing from the font: ὕ
The following auxiliary characters are missing from the font: ὓ
The following auxiliary characters are missing from the font: ὗ
The following auxiliary characters are missing from the font: ὺ
The following auxiliary characters are missing from the font: ῦ
The following auxiliary characters are missing from the font: ῢ
The following auxiliary characters are missing from the font: ῧ
The following auxiliary characters are missing from the font: ὤ
The following auxiliary characters are missing from the font: ὢ
The following auxiliary characters are missing from the font: ὦ
The following auxiliary characters are missing from the font: ὥ
The following auxiliary characters are missing from the font: ὣ
The following auxiliary characters are missing from the font: ὧ
The following auxiliary characters are missing from the font: ὼ
The following auxiliary characters are missing from the font: ῶ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŧ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * bg_Cyrl (Bulgarian)
The following auxiliary characters are missing from the font: ѫ * bg_Cyrl (Bulgarian)
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: Ĭ * cs_Latn (Czech)
The following auxiliary characters are missing from the font: ĭ * cy_Latn (Welsh)
* de_Latn (German)
* en_Latn (English)
* es_Latn (Spanish)
* hu_Latn (Hungarian)
* pt_Latn (Portuguese)
* sk_Latn (Slovak)
... and 1 others
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
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Source Serif 4 Source Serif 4
Subfamily Name Regular Regular
Full Name Source Serif 4 Regular Source Serif 4 Regular
Postscript Name SourceSerif4Roman-Regular SourceSerif4-Regular
Typographic Family Name N/A N/A
Typographic Subfamily Name N/A N/A
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 4.003998 is equal to version on Google fonts [code: same-version]
⚠️ WARN Axes and named instances fall within correct ranges? (opentype/fvar/regular_coords_correct)
  • ⚠️ WARN Regular instance has opsz coordinate of 20, expected between 10 and 16 [code: opsz]
⚠️ WARN Font has correct post table version? (opentype/post_table_version)
  • ⚠️ WARN Post table format 3 use has niche use case problems. Please review the check rationale for additional details. [code: post-table-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ WARN gid128 is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN gid259 is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN gid309 is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN gid366 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:

  • gid22 (U+0055): found 3, expected one of: [1, 2, 5]
  • gid23 (U+0056): found 3, expected one of: [1, 2, 5]
  • gid41 (U+006E): found 4, expected one of: [1, 2, 5]
  • gid49 (U+0076): found 3, expected one of: [1, 2, 5]
  • gid61 (U+1EAE): found 6, expected one of: [4, 5, 8]
  • gid62 (U+1EB6): found 6, expected one of: [4, 5, 8]
  • gid63 (U+1EB0): found 6, expected one of: [4, 5, 8]
  • gid72 (U+1EA0): found 5, expected one of: [3, 4, 7]
  • gid73 (U+1EA2): found 5, expected one of: [3, 4, 7]
    ... and 103 others [code: contour-count]
⚠️ WARN Ensure files are not too large. (file_size)
  • ⚠️ WARN Font file is 1.21 MB; ideally it should be less than 1.05 MB [code: large-font]
⚠️ WARN Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • ⚠️ WARN Font should contain the '.notdef' glyph. [code: notdef-not-found]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 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 (‘Source’) that differs from the currently used family name (Source Serif 4), which is fine. [code: legacy-familyname]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • ⚠️ WARN No dotted circle glyph present [code: missing-dotted-circle]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • gid878 (U+03B8) has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • gid535 (U+2020): Line(Line { p0: (256.0, 489.0), p1: (256.0, 515.0) }) has the same coordinates as a previous segment.
  • gid536 (U+2021): Line(Line { p0: (268.0, 164.0), p1: (244.0, 164.0) }) has the same coordinates as a previous segment.
  • gid536 (U+2021): Line(Line { p0: (268.0, 502.0), p1: (244.0, 502.0) }) has the same coordinates as a previous segment.
  • gid536 (U+2021): Line(Line { p0: (256.0, 151.0), p1: (256.0, 177.0) }) has the same coordinates as a previous segment.
  • gid536 (U+2021): Line(Line { p0: (256.0, 489.0), p1: (256.0, 515.0) }) has the same coordinates as a previous segment.
  • gid927 (U+0416): Line(Line { p0: (459.0, 363.0), p1: (459.0, 318.0) }) has the same coordinates as a previous segment.
  • gid974 (U+0496): Line(Line { p0: (459.0, 363.0), p1: (459.0, 318.0) }) has the same coordinates as a previous segment.
  • gid986 (U+04C1): Line(Line { p0: (459.0, 363.0), p1: (459.0, 318.0) }) has the same coordinates as a previous segment.
  • gid1002 (U+0436): Line(Line { p0: (379.0, 215.0), p1: (379.0, 257.0) }) has the same coordinates as a previous segment.
    ... and 8 others [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 Ensure 'opsz' axis values are not marked as elidable in STAT. (googlefonts/STAT/opsz_not_elided)
  • ⚠️ WARN STAT table 'opsz' axis value '20' is marked as elidable. Optical size values should not be elidable. [code: elidable-opsz]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Source Serif 4" 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:
SourceSerif4[opsz,wght].ttf
Dehinted Size 1209484
Hinted Size 1209508
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    prep
    BASE
    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 4.004;hotconv 1.0.116;makeotfexe 2.5.65601 [code: version-not-detected]
[28] ofl/sourceserif4/SourceSerif4-Italic[opsz,wght].ttf
🔥 FAIL Validates subfamilyNameID and postScriptNameID for the default instance record (opentype/varfont/valid_default_instance_nameids)
  • 🔥 FAIL Italic instance has the same coordinates as the default instance; its postscript name should be SourceSerif4Italic-Italic instead of SourceSerif4Italic-Regular. [code: invalid-default-instance-postscript-name]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+03D9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03D7 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03E1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+03DB [code: missing-case-counterparts]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • gid159
  • gid603
  • gid1054
  • gid181
  • gid68
  • gid617
  • gid1009
  • gid288
  • gid681
    ... and 110 others [code: found-nested-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: Ɲ, ɲ, Ɔ, ɔ, Ɛ, ɛ
Mandatory orthography codepoints: * udm_Cyrl (Udmurt)
The following base characters are missing from the font: Ӟ, ӝ, Ӵ, Ӝ, ӟ, ӵ, Ӥ, ӥ
Mandatory orthography codepoints: * sah_Cyrl (Sakha)
The following base characters are missing from the font: ҥ, ҕ
Mandatory orthography codepoints: * fat_Latn (Fanti)
The following base characters are missing from the font: ɔ, Ɛ, ɛ, Ɔ
Mandatory orthography codepoints: * az_Cyrl (Azerbaijani (Cyrillic))
The following base characters are missing from the font: ҹ, ҝ
Mandatory orthography codepoints: * dyu_Latn (Dyula)
The following base characters are missing from the font: ɲ, Ɛ, Ɲ, ɛ, Ɔ, ɔ
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: Ɗ, ƴ, ɗ, ɓ, Ɓ, Ƴ
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: Ɓ, ƙ, ƴ, ɓ, Ƙ, Ƴ, Ɗ, ɗ
Mandatory orthography codepoints: * tw_akuapem_Latn (Akuapem Twi)
The following base characters are missing from the font: Ɛ, ɔ, ɛ, Ɔ
Mandatory orthography codepoints: * chm_Cyrl (Mari)
The following base characters are missing from the font: ӱ, Ҥ, Ӱ, ҥ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * bg_Cyrl (Bulgarian)
The following auxiliary characters are missing from the font: ѫ * bg_Cyrl (Bulgarian)
Auxiliary orthography codepoints: * el_Grek (Greek)
The following auxiliary characters are missing from the font: ἀ
The following auxiliary characters are missing from the font: ἄ
The following auxiliary characters are missing from the font: ἂ
The following auxiliary characters are missing from the font: ἆ
The following auxiliary characters are missing from the font: ἁ
The following auxiliary characters are missing from the font: ἅ
The following auxiliary characters are missing from the font: ἃ
The following auxiliary characters are missing from the font: ἇ
The following auxiliary characters are missing from the font: ὰ
The following auxiliary characters are missing from the font: ᾶ
The following auxiliary characters are missing from the font: ἐ
The following auxiliary characters are missing from the font: ἔ
The following auxiliary characters are missing from the font: ἒ
The following auxiliary characters are missing from the font: ἑ
The following auxiliary characters are missing from the font: ἕ
The following auxiliary characters are missing from the font: ἓ
The following auxiliary characters are missing from the font: ὲ
The following auxiliary characters are missing from the font: ἠ
The following auxiliary characters are missing from the font: ἤ
The following auxiliary characters are missing from the font: ἢ
The following auxiliary characters are missing from the font: ἦ
The following auxiliary characters are missing from the font: ἡ
The following auxiliary characters are missing from the font: ἥ
The following auxiliary characters are missing from the font: ἣ
The following auxiliary characters are missing from the font: ἧ
The following auxiliary characters are missing from the font: ὴ
The following auxiliary characters are missing from the font: ῆ
The following auxiliary characters are missing from the font: ἰ
The following auxiliary characters are missing from the font: ἴ
The following auxiliary characters are missing from the font: ἲ
The following auxiliary characters are missing from the font: ἶ
The following auxiliary characters are missing from the font: ἱ
The following auxiliary characters are missing from the font: ἵ
The following auxiliary characters are missing from the font: ἳ
The following auxiliary characters are missing from the font: ἷ
The following auxiliary characters are missing from the font: ὶ
The following auxiliary characters are missing from the font: ῖ
The following auxiliary characters are missing from the font: ῒ
The following auxiliary characters are missing from the font: ῗ
The following auxiliary characters are missing from the font: ὄ
The following auxiliary characters are missing from the font: ὂ
The following auxiliary characters are missing from the font: ὃ
The following auxiliary characters are missing from the font: ὸ
The following auxiliary characters are missing from the font: ὐ
The following auxiliary characters are missing from the font: ὔ
The following auxiliary characters are missing from the font: ὒ
The following auxiliary characters are missing from the font: ὖ
The following auxiliary characters are missing from the font: ὑ
The following auxiliary characters are missing from the font: ὕ
The following auxiliary characters are missing from the font: ὓ
The following auxiliary characters are missing from the font: ὗ
The following auxiliary characters are missing from the font: ὺ
The following auxiliary characters are missing from the font: ῦ
The following auxiliary characters are missing from the font: ῢ
The following auxiliary characters are missing from the font: ῧ
The following auxiliary characters are missing from the font: ὤ
The following auxiliary characters are missing from the font: ὢ
The following auxiliary characters are missing from the font: ὦ
The following auxiliary characters are missing from the font: ὥ
The following auxiliary characters are missing from the font: ὣ
The following auxiliary characters are missing from the font: ὧ
The following auxiliary characters are missing from the font: ὼ
The following auxiliary characters are missing from the font: ῶ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
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: ǯ
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: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: Ĭ * cs_Latn (Czech)
The following auxiliary characters are missing from the font: ĭ * cy_Latn (Welsh)
* de_Latn (German)
* en_Latn (English)
* es_Latn (Spanish)
* hu_Latn (Hungarian)
* pt_Latn (Portuguese)
* sk_Latn (Slovak)
... and 1 others
Auxiliary orthography codepoints: * ig_Latn (Igbo)
The following auxiliary characters are missing from the font: ɛ
The following auxiliary 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
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Source Serif 4 Source Serif 4
Subfamily Name Italic Italic
Full Name Source Serif 4 Italic Source Serif 4 Italic
Postscript Name SourceSerif4Italic-Italic SourceSerif4-Italic
Typographic Family Name N/A N/A
Typographic Subfamily Name N/A N/A
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 4.003998 is equal to version on Google fonts [code: same-version]
⚠️ WARN Axes and named instances fall within correct ranges? (opentype/fvar/regular_coords_correct)
  • ⚠️ WARN Regular instance has opsz coordinate of 20, expected between 10 and 16 [code: opsz]
⚠️ WARN Font has correct post table version? (opentype/post_table_version)
  • ⚠️ WARN Post table format 3 use has niche use case problems. Please review the check rationale for additional details. [code: post-table-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ WARN gid128 is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN gid259 is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN gid309 is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN gid366 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:

  • gid22 (U+0055): found 3, expected one of: [1, 2, 5]
  • gid23 (U+0056): found 3, expected one of: [1, 2, 5]
  • gid61 (U+1EAE): found 6, expected one of: [4, 5, 8]
  • gid62 (U+1EB6): found 6, expected one of: [4, 5, 8]
  • gid63 (U+1EB0): found 6, expected one of: [4, 5, 8]
  • gid72 (U+1EA0): found 5, expected one of: [3, 4, 7]
  • gid73 (U+1EA2): found 5, expected one of: [3, 4, 7]
  • gid84 (U+1E0C): found 5, expected one of: [3]
  • gid85 (U+1E0E): found 5, expected one of: [3]
    ... and 57 others [code: contour-count]
⚠️ WARN Detect any interpolation issues in the font. (interpolation_issues)
  • ⚠️ WARN Interpolation issue in gid25: Contour 3 becomes underweight in opsz=60,wght=200 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gid542: Kink in contour 3 at node 8 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gid840: Contour 3 becomes underweight in opsz=60,wght=200 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gid923: Contour 3 becomes underweight in opsz=60,wght=200 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gid963: Contour 4 becomes underweight in opsz=60,wght=200 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gid1053: Kink in contour 0 at node 72 [code: interpolation-issue]

⚠️ WARN Font contains '.notdef' as its first glyph? (mandatory_glyphs)
  • ⚠️ WARN Font should contain the '.notdef' glyph. [code: notdef-not-found]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss03 lacks a description string in the name table [code: missing-description]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 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 (‘Source’) that differs from the currently used family name (Source Serif 4), which is fine. [code: legacy-familyname]
⚠️ 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 should disappear in other cases, for example:
  • ʲ̌
  • ʲ̉
  • ʲ̇
  • ʲ́
  • ʲ̈
  • ʲ̊
  • ʲ̄
  • ʲ̋
  • ʲ̀
    ... and 15 others [code: soft-dotted]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • gid542 (U+2020): Line(Line { p0: (302.0, 510.0), p1: (276.0, 510.0) }) has the same coordinates as a previous segment.
  • gid542 (U+2020): Line(Line { p0: (287.0, 497.0), p1: (292.0, 523.0) }) has the same coordinates as a previous segment.
  • gid543 (U+2021): Line(Line { p0: (225.0, 152.0), p1: (231.0, 177.0) }) has the same coordinates as a previous segment.
  • gid543 (U+2021): Line(Line { p0: (286.0, 497.0), p1: (292.0, 523.0) }) has the same coordinates as a previous segment.
  • gid908 (U+0416): Line(Line { p0: (474.0, 323.0), p1: (474.0, 368.0) }) has the same coordinates as a previous segment.
  • gid955 (U+0496): Line(Line { p0: (474.0, 323.0), p1: (474.0, 368.0) }) has the same coordinates as a previous segment.
  • gid967 (U+04C1): Line(Line { p0: (474.0, 323.0), p1: (474.0, 368.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 Ensure 'opsz' axis values are not marked as elidable in STAT. (googlefonts/STAT/opsz_not_elided)
  • ⚠️ WARN STAT table 'opsz' axis value '20' is marked as elidable. Optical size values should not be elidable. [code: elidable-opsz]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Source Serif 4" 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:
SourceSerif4-Italic[opsz,wght].ttf
Dehinted Size 855408
Hinted Size 855432
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    prep
    BASE
    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 4.004;hotconv 1.0.116;makeotfexe 2.5.65601 [code: version-not-detected]
[9] ofl/sourceserif4
🔥 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, greek, latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL SourceSerif4-Italic[opsz,wght].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:

"© 2014 - 2021 adobe systems incorporated (http://www.adobe.com/), with reserved font name ‘source’." [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:

"© 2014 - 2021 adobe systems incorporated (http://www.adobe.com/), with reserved font name ‘source’." [code: bad-notice-format]

  • 🔥 FAIL SourceSerif4[opsz,wght].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:

"© 2014 - 2021 adobe systems incorporated (http://www.adobe.com/), with reserved font name ‘source’." [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:

"© 2014 - 2021 adobe systems incorporated (http://www.adobe.com/), with reserved font name ‘source’." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sourceserif4/SourceSerif4-Italic[opsz,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: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, math, cherokee, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: hebrew, duployan, math, tifinagh, tai-le, canadian-aboriginal, malayalam, coptic, old-permic, syriac, todhri
  • 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 92 others

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

  • ⚠️ WARN ofl/sourceserif4/SourceSerif4[opsz,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: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, math, cherokee, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: hebrew, duployan, math, tifinagh, tai-le, canadian-aboriginal, malayalam, coptic, old-permic, syriac, todhri
  • 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 92 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, greek, latin, latin-ext, menu, vietnamese [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 ("© 2014 - 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name ‘Source’.") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("© 2014 - 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name ‘Source’.") 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=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=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 'cyrillic-ext' is listed in production metadata, but only 0.15% 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:
    opsz-wght-ital: 2 [code: summary]

[2] ofl/sourceserif4/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Source Serif 4 Regular" does not match post_script_name="SourceSerif4Roman-Regular". [code: mismatch]

  • 🔥 FAIL METADATA.pb font fullname = "Source Serif 4 Italic" does not match post_script_name="SourceSerif4Italic-Italic". [code: mismatch]

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

⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that frankgrieshammer 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]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
35 59 16 237 71
9% 16% 4% 63% 19%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[7] ofl/spacegrotesk
🔥 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 latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Jarai (Latin), 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, vietnamese:
  • ̆ (U+0306) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Central Mazahua, 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, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Central Mazahua, 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, vietnamese:
  • ̸ (U+0338) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Space Grotesk" does not match correct family name "Space Grotesk Light". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/spacegrotesk/SpaceGrotesk[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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, cherokee, tifinagh, math
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: hebrew, malayalam, old-permic, canadian-aboriginal, coptic, tai-le, tifinagh, math, syriac, todhri, duployan
  • 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 77 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
ℹ️ 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]

[24] ofl/spacegrotesk/SpaceGrotesk[wght].ttf
🔥 FAIL Ensure fvar instances have PostScript names. (fvar_instance_ps_names)
  • 🔥 FAIL Named instance 'Light' (index 0) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Regular' (index 1) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Medium' (index 2) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Bold' (index 3) lacks a PostScript name entry. [code: missing-ps-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:
  • uni1EB1.ss01
  • uni1EF1
  • three.sinf
  • oslashacute
  • uni1EEC
  • Dcroat
  • uni01C6
  • eight.sinf
  • uni1EEF
    ... and 60 others [code: found-nested-components]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • exclamdown.case (component exclam) [code: transformed-components]
🔥 FAIL Check variable font instances (googlefonts/fvar_instances)
  • 🔥 FAIL fvar instances are incorrect:

  • Add missing instances

Name current expected
Light wght=300 wght=300
Regular wght=400 wght=400
Medium wght=500 wght=500
SemiBold N/A wght=600
Bold wght=700 wght=700

[code: bad-fvar-instances]

🔥 FAIL Check a font's STAT table contains compulsory Axis Values. (googlefonts/STAT/compulsory_axis_values)
  • 🔥 FAIL Compulsory STAT Axis Values are incorrect:
Name Axis Current Value Expected Value Current Flags Expected Flags Current Linked Value Expected Linked Value
Bold wght 700 700 0 0 N/A N/A
Light wght 300 300 0 0 N/A N/A
Medium wght 500 500 0 0 N/A N/A
Regular wght 400 400 2 2 700 700
SemiBold wght N/A 600 N/A 0 N/A N/A

[code: bad-axis-values]

🔥 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 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:

  • arrowboth.case (unencoded): found 2, expected one of: [1, 3] [code: contour-count]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss03 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss04 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss05 lacks a description string in the name table [code: missing-description]

⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • NULL
  • eight.sinf
  • eight.subs
  • eight.sups
  • five.sinf
  • five.subs
  • five.sups
  • four.sinf
  • four.subs
    ... and 22 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ 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: * lt_Latn (Lithuanian)
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 acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach tildecomb to iogonek when shaping the text 'į̃'
Shaper didn't attach tildecomb to m when shaping the text 'm̃'
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 'ū̃'
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Ensure 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 25 others [code: soft-dotted]

⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • exclamdown.case has a counter-clockwise outer contour
  • exclamdown.case has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • eng (U+014B): Line(Line { p0: (470.0, 0.0), p1: (530.0, 0.0) }) has the same coordinates as a previous segment.
  • f_f (U+FB00): Line(Line { p0: (382.0, 432.0), p1: (382.0, 486.0) }) has the same coordinates as a previous segment.
  • f_f_i (U+FB03): Line(Line { p0: (382.0, 486.0), p1: (382.0, 432.0) }) has the same coordinates as a previous segment.
  • f_f_j.liga: Line(Line { p0: (382.0, 486.0), p1: (382.0, 432.0) }) has the same coordinates as a previous segment.
  • f_f_l (U+FB04): Line(Line { p0: (382.0, 432.0), p1: (382.0, 486.0) }) has the same coordinates as a previous segment.
  • arrowboth (U+2194): Line(Line { p0: (400.0, 286.0), p1: (400.0, 230.0) }) has the same coordinates as a previous segment.
  • arrowboth.case: Line(Line { p0: (400.0, 376.0), p1: (400.0, 320.0) }) has the same coordinates as a previous segment.
  • t_t.liga: Line(Line { p0: (383.0, 432.0), p1: (383.0, 486.0) }) has the same coordinates as a previous segment.
  • arrowupdn (U+2195): Line(Line { p0: (281.0, 350.0), p1: (339.0, 350.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 'FK{0x00}{0x00}' 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:
SpaceGrotesk[wght].ttf
Dehinted Size 136652
Hinted Size 136676
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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]
[1] ofl/spacegrotesk/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
20 21 8 144 40
9% 10% 4% 67% 19%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/stixtwomath/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/stixtwomath
🔥 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 Amarakaeri, 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 cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Chinantec, Chiltepec, 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 cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Central Mazahua, 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 cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Uduk, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, math, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
⚠️ WARN METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ⚠️ WARN Please remove 'cyrillic-ext' from METADATA.pb since less than 20% of its glyphs are supported by this font file. [code: unsupported-subset]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/stixtwomath/STIXTwoMath-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+02CD MODIFIER LETTER LOW MACRON: try adding lisu
  • 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: yi, canadian-aboriginal
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • 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: tai-le, cherokee
  • U+030D COMBINING VERTICAL LINE ABOVE: try adding sunuwar
    ... and 819 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
ℹ️ 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/stixtwomath/OFL.txt
⚠️ WARN Check OFL body text is correct. (googlefonts/license/OFL_body_text)

Lines changed:

[code: incorrect-ofl-body-text]

[26] ofl/stixtwomath/STIXTwoMath-Regular.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni20DD (Some(8413))
  • uni20DE (Some(8414))
  • uni20DF (Some(8415))
  • uni20E4 (Some(8420))
  • uniE05E.nu (Some(57438))
  • uniE060.nu (Some(57440))
  • uniE061.nu (Some(57441))
  • uniE062.nu (Some(57442))
  • uniE063.nu (Some(57443))
    ... and 10 others [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0199 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0268 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0264 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0283 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0266 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0188 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0275 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0259 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01A5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0272 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01AD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0253 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0292 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0254 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A727 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028C [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0280 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01B5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026F [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+027D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0265 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0260 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019E [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0288 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A792 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0289 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0263 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0195 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0256 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026C [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0257 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0180 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+1D8E [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0269 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+029D [code: missing-case-counterparts]

🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • uni1E64 (component uni0307.cap)
  • uni1E66 (component uni0307.cap)
  • uni1E65 (component uni0307)
  • uni1E67 (component uni0307)
  • uni221B (component three.ssty2)
  • uni221B.s1 (component three.ssty2)
  • uni221B.s2 (component three.ssty2)
  • uni221B.s3 (component three.ssty2)
  • uni221B.s4 (component three.ssty2)
    ... and 5 others [code: transformed-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach uni0301 to j.dotless when shaping the text 'íj́'
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: Ɲ, Ɔ * dyu_Latn (Dyula)
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: Ƴ, Ɓ, ƴ, Ɗ
Mandatory orthography codepoints: * fat_Latn (Fanti)
The following base characters are missing from the font: Ɔ * tw_akuapem_Latn (Akuapem Twi)
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: Ɗ, ƴ, Ɓ, Ƙ, Ƴ
Mandatory orthography codepoints: * yo_Latn (Yoruba)
The following base characters are missing from the font: ǹ, Ǹ
Shaper didn't attach uni0301 to uni1EB9 when shaping the text 'ẹ́'
Shaper didn't attach uni0300 to uni1EB9 when shaping the text 'ẹ̀'
Shaper didn't attach uni0300 to m when shaping the text 'm̀'
Shaper didn't attach uni0301 to uni1ECD when shaping the text 'ọ́'
Shaper didn't attach uni0300 to uni1ECD when shaping the text 'ọ̀'
  • ⚠️ 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: * ha_Latn (Hausa)
Shaper didn't attach uni0303 to r when shaping the text 'r̃'
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
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 uni0307 to i.dotless when shaping the text 'i̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to i.dotless when shaping the text 'i̇̀'
Shaper didn't attach uni0300 to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to i.dotless when shaping the text 'i̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'i̇̃'
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 uni0303 to j.dotless when shaping the text 'j̃'
Shaper didn't attach uni0307 to j.dotless when shaping the text 'j̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'j̇̃'
Shaper didn't attach uni0303 to m when shaping the text 'm̃'
Shaper didn't attach uni0303 to r when shaping the text 'r̃'
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: * 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: ǯ
Auxiliary orthography codepoints: * ig_Latn (Igbo)
The following auxiliary 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 uni1ECB when shaping the text 'ị́'
Shaper didn't attach uni0300 to uni1ECB when shaping the text 'ị̀'
Shaper didn't attach uni0300 to m when shaping the text 'm̀'
Shaper didn't attach uni0301 to uni1ECD when shaping the text 'ọ́'
Shaper didn't attach uni0300 to uni1ECD when shaping the text 'ọ̀'
Shaper didn't attach uni0301 to uni1EE5 when shaping the text 'ụ́'
Shaper didn't attach uni0300 to uni1EE5 when shaping the text 'ụ̀'
Auxiliary orthography codepoints: * el_Grek (Greek)
The following auxiliary characters are missing from the font: ἀ
The following auxiliary characters are missing from the font: ἄ
The following auxiliary characters are missing from the font: ἂ
The following auxiliary characters are missing from the font: ἆ
The following auxiliary characters are missing from the font: ἁ
The following auxiliary characters are missing from the font: ἅ
The following auxiliary characters are missing from the font: ἃ
The following auxiliary characters are missing from the font: ἇ
The following auxiliary characters are missing from the font: ὰ
The following auxiliary characters are missing from the font: ᾶ
The following auxiliary characters are missing from the font: ἐ
The following auxiliary characters are missing from the font: ἔ
The following auxiliary characters are missing from the font: ἒ
The following auxiliary characters are missing from the font: ἑ
The following auxiliary characters are missing from the font: ἕ
The following auxiliary characters are missing from the font: ἓ
The following auxiliary characters are missing from the font: ὲ
The following auxiliary characters are missing from the font: ἠ
The following auxiliary characters are missing from the font: ἤ
The following auxiliary characters are missing from the font: ἢ
The following auxiliary characters are missing from the font: ἦ
The following auxiliary characters are missing from the font: ἡ
The following auxiliary characters are missing from the font: ἥ
The following auxiliary characters are missing from the font: ἣ
The following auxiliary characters are missing from the font: ἧ
The following auxiliary characters are missing from the font: ὴ
The following auxiliary characters are missing from the font: ῆ
The following auxiliary characters are missing from the font: ἰ
The following auxiliary characters are missing from the font: ἴ
The following auxiliary characters are missing from the font: ἲ
The following auxiliary characters are missing from the font: ἶ
The following auxiliary characters are missing from the font: ἱ
The following auxiliary characters are missing from the font: ἵ
The following auxiliary characters are missing from the font: ἳ
The following auxiliary characters are missing from the font: ἷ
The following auxiliary characters are missing from the font: ὶ
The following auxiliary characters are missing from the font: ῖ
The following auxiliary characters are missing from the font: ῒ
The following auxiliary characters are missing from the font: ῗ
The following auxiliary characters are missing from the font: ὄ
The following auxiliary characters are missing from the font: ὂ
The following auxiliary characters are missing from the font: ὃ
The following auxiliary characters are missing from the font: ὸ
The following auxiliary characters are missing from the font: ὐ
The following auxiliary characters are missing from the font: ὔ
The following auxiliary characters are missing from the font: ὒ
The following auxiliary characters are missing from the font: ὖ
The following auxiliary characters are missing from the font: ὑ
The following auxiliary characters are missing from the font: ὕ
The following auxiliary characters are missing from the font: ὓ
The following auxiliary characters are missing from the font: ὗ
The following auxiliary characters are missing from the font: ὺ
The following auxiliary characters are missing from the font: ῦ
The following auxiliary characters are missing from the font: ῢ
The following auxiliary characters are missing from the font: ῧ
The following auxiliary characters are missing from the font: ὤ
The following auxiliary characters are missing from the font: ὢ
The following auxiliary characters are missing from the font: ὦ
The following auxiliary characters are missing from the font: ὥ
The following auxiliary characters are missing from the font: ὣ
The following auxiliary characters are missing from the font: ὧ
The following auxiliary characters are missing from the font: ὼ
The following auxiliary characters are missing from the font: ῶ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * yo_Latn (Yoruba)
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǐ
The following auxiliary characters are missing from the font: Ǐ
The following auxiliary characters are missing from the font: ǒ
The following auxiliary characters are missing from the font: Ǒ
The following auxiliary characters are missing from the font: ǔ
The following auxiliary 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 uni030C to uni1EB9 when shaping the text 'ẹ̌'
Shaper didn't attach uni030C to uni1ECD when shaping the text 'ọ̌'
Shaper didn't attach uni0329 to e when shaping the text 'e̩'
Shaper didn't attach uni0329 to E when shaping the text 'E̩'
Shaper didn't attach uni0329 to eacute when shaping the text 'é̩'
Shaper didn't attach uni0329 to Eacute when shaping the text 'É̩'
Shaper didn't attach uni0329 to egrave when shaping the text 'è̩'
Shaper didn't attach uni0329 to Egrave when shaping the text 'È̩'
Shaper didn't attach uni0329 to ecircumflex when shaping the text 'ê̩'
Shaper didn't attach uni0329 to Ecircumflex when shaping the text 'Ê̩'
Shaper didn't attach uni0329 to ecaron when shaping the text 'ě̩'
Shaper didn't attach uni0329 to Ecaron when shaping the text 'Ě̩'
Shaper didn't attach uni0329 to o when shaping the text 'o̩'
Shaper didn't attach uni0329 to O when shaping the text 'O̩'
Shaper didn't attach uni0329 to oacute when shaping the text 'ó̩'
Shaper didn't attach uni0329 to Oacute when shaping the text 'Ó̩'
Shaper didn't attach uni0329 to ograve when shaping the text 'ò̩'
Shaper didn't attach uni0329 to Ograve when shaping the text 'Ò̩'
Shaper didn't attach uni0329 to ocircumflex when shaping the text 'ô̩'
Shaper didn't attach uni0329 to Ocircumflex when shaping the text 'Ô̩'
Shaper didn't attach uni0329 to o when shaping the text 'ǒ̩'
Shaper didn't attach uni030C to uni0329 when shaping the text 'ǒ̩'
Shaper didn't attach uni0329 to O when shaping the text 'Ǒ̩'
Shaper didn't attach uni030C to uni0329 when shaping the text 'Ǒ̩'
Shaper didn't attach uni0329 to s when shaping the text 's̩'
Shaper didn't attach uni0329 to S when shaping the text 'S̩'
🔥 FAIL Check font follows the Google Fonts vertical metric schema (googlefonts/vertical_metrics)
  • 🔥 FAIL OS/2.sTypoLineGap is 250; it should be 0 [code: bad-OS/2.sTypoLineGap]

  • 🔥 FAIL hhea.lineGap is 250; it should be 0 [code: bad-hhea.lineGap]

⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0300 (uni0300)
  • U+0301 (uni0301)
  • U+0302 (uni0302)
  • U+0303 (uni0303)
  • U+0304 (uni0304)
  • U+0305 (uni0305)
  • U+0306 (uni0306)
  • U+0307 (uni0307)
  • U+0308 (uni0308)
    ... and 94 others [code: mark-chars]
⚠️ 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:

  • uniE061.nu (U+E061): found 3, expected one of: [2, 4, 6]
  • uniE077.nu (U+E077): found 1, expected one of: [2, 3, 9]
  • uniE089.nu (U+E089): found 2, expected one of: [1, 3, 17]
  • uniE0B9.nu (U+E0B9): found 2, expected one of: [1, 3, 6]
  • uniE0C0.nu (U+E0C0): found 3, expected one of: [1, 5, 7]
  • uniE0C1.nu (U+E0C1): found 3, expected one of: [1, 5]
  • uniE0CA.nu (U+E0CA): found 4, expected one of: [1, 2, 3]
  • uniE0CC.nu (U+E0CC): found 3, expected one of: [1, 2, 4]
  • uniE0CD.nu (U+E0CD): found 4, expected one of: [1, 2, 5]
    ... and 16 others [code: contour-count]
⚠️ WARN Ensure files are not too large. (file_size)
  • ⚠️ WARN Font file is 1.52 MB; ideally it should be less than 1.05 MB [code: large-font]
⚠️ WARN Checking Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN hhea lineGap is not equal to 0. [code: hhea]

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

⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss03 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss04 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss05 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss06 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss07 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss08 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss09 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss10 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss11 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss12 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss13 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss14 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss15 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss16 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss20 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ssty lacks a description string in the name table [code: missing-description]

⚠️ WARN Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 826, but got 762 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • dieresis.Greek
  • brevecomb.Cyrillic
  • brevecomb.Cyrillic.cap
  • hyphen.cap
  • parenleft.s1
  • parenleft.s2
  • parenleft.s3
  • parenleft.s4
  • parenleft.s5
    ... and 588 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

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

  • ị̂

  • ị́

  • ị̄

  • ị̀

  • ɨ̌

  • ɨ̃

  • ɨ̂

  • ɨ̏
    ... and 15 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • 𝑖̌

  • 𝑖⃔

  • 𝑖⃗

  • 𝑖̃

  • 𝑖̂

  • 𝑖̑

  • 𝑖⃰

  • 𝑖̒

  • 𝑖̔
    ... and 1396 others [code: soft-dotted]

⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni210A.ss01: Quad(QuadBez { p0: (165.5, -23.0), p1: (213.0, -3.0), p2: (277.0, 11.0) })/Quad(QuadBez { p0: (277.0, 11.0), p1: (274.0, 11.0), p2: (271.0, 11.0) }) = 12.33908727832618 degrees
  • uni210A.ss01: Quad(QuadBez { p0: (373.0, 48.0), p1: (355.0, 32.0), p2: (331.0, 22.0) })/Quad(QuadBez { p0: (331.0, 22.0), p1: (345.0, 25.0), p2: (360.0, 27.5) }) = 10.525107871028357 degrees
  • uni2315 (U+2315): Quad(QuadBez { p0: (359.5, -61.0), p1: (304.0, -40.0), p2: (260.0, -4.0) })/Line(Line { p0: (260.0, -4.0), p1: (262.0, -6.0) }) = 5.710593137499633 degrees
  • uni2592 (U+2592): Quad(QuadBez { p0: (10.0, 865.0), p1: (2.0, 858.0), p2: (0.0, 848.0) })/Line(Line { p0: (0.0, 848.0), p1: (0.0, 895.0) }) = 11.309932474020195 degrees
  • uni2592 (U+2592): Line(Line { p0: (0.0, -280.0), p1: (0.0, -116.0) })/Quad(QuadBez { p0: (0.0, -116.0), p1: (2.0, -125.0), p2: (10.0, -132.5) }) = 12.528807709151492 degrees
  • uni2592 (U+2592): Quad(QuadBez { p0: (30.0, -78.0), p1: (3.0, -78.0), p2: (0.0, -102.0) })/Line(Line { p0: (0.0, -102.0), p1: (0.0, 122.0) }) = 7.125016348901757 degrees
  • uni2592 (U+2592): Line(Line { p0: (0.0, -102.0), p1: (0.0, 122.0) })/Quad(QuadBez { p0: (0.0, 122.0), p1: (3.0, 98.0), p2: (30.0, 98.0) }) = 7.125016348901757 degrees
  • uni2592 (U+2592): Quad(QuadBez { p0: (10.0, 152.0), p1: (2.0, 145.0), p2: (0.0, 136.0) })/Line(Line { p0: (0.0, 136.0), p1: (0.0, 359.0) }) = 12.528807709151492 degrees
  • uni2592 (U+2592): Line(Line { p0: (0.0, 136.0), p1: (0.0, 359.0) })/Quad(QuadBez { p0: (0.0, 359.0), p1: (3.0, 336.0), p2: (30.0, 336.0) }) = 7.431407971172489 degrees
    ... and 50 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • u1D4FC.ss01: Line(Line { p0: (231.0, -12.0), p1: (231.0, -12.0) }) has the same coordinates as a previous segment.
  • u1D4C5.ssty: Quad(QuadBez { p0: (262.0, 396.0), p1: (262.0, 396.0), p2: (262.0, 396.0) }) has the same coordinates as a previous segment.
  • u1D4C8.ssty.ss01: Line(Line { p0: (227.0, -13.0), p1: (227.0, -13.0) }) has the same coordinates as a previous segment.
  • u1D4C8.ssty2.ss01: Line(Line { p0: (243.0, -14.0), p1: (243.0, -14.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:
  • t (U+0074): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • tcaron (U+0165): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni1E97 (U+1E97): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni1E6B (U+1E6B): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni1E71 (U+1E71): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni1E6F (U+1E6F): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni1E6D (U+1E6D): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni021B (U+021B): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
  • uni0163 (U+0163): Line(Line { p0: (176.0, 610.0), p1: (175.0, 468.0) }) (angle: -90.40 degrees, expected: -90.00 degrees)
    ... and 76 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 Description strings in the name table must not exceed 200 characters. (googlefonts/name/description_max_length)
  • ⚠️ WARN A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "STIX Two Math" 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:
STIXTwoMath-Regular.ttf
Dehinted Size 1022688
Hinted Size 1517976
Increase 495288
Change 48.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 2.12 b168a [code: version-not-detected]
[1] ofl/stixtwomath/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
55 40 9 114 67
25% 19% 4% 53% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[7] ofl/stixtwotext
🔥 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, greek, latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Chinantec, Chiltepec, 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 cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Central Mazahua, 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 cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Central Mazahua, 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 cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̸ (U+0338) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Uduk, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, greek, latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/stixtwotext/STIXTwoText[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+02CD MODIFIER LETTER LOW MACRON: try adding lisu
  • 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: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, cherokee, math, tifinagh
  • U+0305 COMBINING OVERLINE: try adding one of: elbasan, gothic, glagolitic, coptic, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: tifinagh, canadian-aboriginal, todhri, old-permic, tai-le, hebrew, duployan, coptic, malayalam, syriac, math
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
    ... and 206 others

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

  • ⚠️ WARN ofl/stixtwotext/STIXTwoText-Italic[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+02CD MODIFIER LETTER LOW MACRON: try adding lisu
  • 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: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, cherokee, math, tifinagh
  • U+0305 COMBINING OVERLINE: try adding one of: elbasan, gothic, glagolitic, coptic, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: tifinagh, canadian-aboriginal, todhri, old-permic, tai-le, hebrew, duployan, coptic, malayalam, syriac, math
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
    ... and 206 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, greek, latin, latin-ext, menu, vietnamese [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 'cyrillic-ext' is listed in production metadata, but only 0.02% 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-ital: 2 [code: summary]

[1] ofl/stixtwotext/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[26] ofl/stixtwotext/STIXTwoText-Italic[wght].ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni20DD (Some(8413))
  • uni20DE (Some(8414))
  • uni20DF (Some(8415))
  • uni20E4 (Some(8420)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+026C [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01AD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019E [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0180 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0266 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A727 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0269 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0288 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0254 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0199 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0257 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0272 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0292 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0283 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0268 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0188 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028C [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0259 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0265 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0195 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026F [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0280 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+029D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0289 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0256 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A792 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0263 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01A5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0260 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+1D8E [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0264 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0275 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+027D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0253 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01B5 [code: missing-case-counterparts]

🔥 FAIL Ensure fvar instances have PostScript names. (fvar_instance_ps_names)
  • 🔥 FAIL Named instance 'Italic' (index 0) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Medium Italic' (index 1) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'SemiBold Italic' (index 2) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Bold Italic' (index 3) lacks a PostScript name entry. [code: missing-ps-name]

🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • uni1D84
  • f_f_i
  • uni025C
  • uni1D1C
  • uni027C
  • uni0235
  • uni0221
  • uni02A1
  • uni03D1
    ... and 125 others [code: missing-smcp-lowercase]
  • 🔥 FAIL The following letters did not take part in c2sc substitutions:
  • uni2110
  • uni210C
  • uni211B
  • uni212C
  • uni212D
  • uni2131
  • uni2107
  • uni2111
  • uni211D
    ... and 20 others [code: missing-c2sc-uppercase]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * yo_Latn (Yoruba)
The following base characters are missing from the font: Ǹ, ǹ
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: Ɓ, Ɗ, ƴ, Ƴ
Mandatory orthography codepoints: * fat_Latn (Fanti)
The following base characters are missing from the font: Ɔ * tw_akuapem_Latn (Akuapem Twi)
Mandatory orthography codepoints: * dyu_Latn (Dyula)
The following base characters are missing from the font: Ɔ, Ɲ
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: Ɲ, Ɔ
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: Ɓ, Ƴ, Ɗ, Ƙ, ƴ
  • ⚠️ 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: ǎ
Small caps for Latin letters: * ig_Latn (Igbo)
When shaping the text 'ɛ' and shaping the text 'ɛ' with features: smcp, the output is expected to be different, but was the same
Auxiliary orthography codepoints: * yo_Latn (Yoruba)
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǐ
The following auxiliary characters are missing from the font: Ǐ
The following auxiliary characters are missing from the font: ǒ
The following auxiliary characters are missing from the font: Ǒ
The following auxiliary characters are missing from the font: ǔ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǒ̩
The following auxiliary characters are missing from the font: Ǒ̩
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ǯ
Small caps for Latin letters: * fat_Latn (Fanti)
When shaping the text 'ɛ' and shaping the text 'ɛ' with features: smcp, the output is expected to be different, but was the same * tw_akuapem_Latn (Akuapem Twi)
When shaping the text 'ɔ' and shaping the text 'ɔ' with features: smcp, the output is expected to be different, but was the same
Auxiliary orthography codepoints: * ig_Latn (Igbo)
The following auxiliary characters are missing from the font: ǹ
The following auxiliary characters are missing from the font: Ǹ
The following auxiliary characters are missing from the font: Ɵ
Small caps for Latin letters: * bm_Latn (Bambara)
When shaping the text 'ɛ' and shaping the text 'ɛ' with features: smcp, the output is expected to be different, but was the same * dyu_Latn (Dyula)
When shaping the text 'ɲ' and shaping the text 'ɲ' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ɔ' and shaping the text 'ɔ' with features: smcp, the output is expected to be different, but was the same
Small caps for Latin letters: * fi_Latn (Finnish)
When shaping the text 'ʒ' and shaping the text 'ʒ' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ǯ' and shaping the text 'ǯ' with features: smcp, the output is expected to be different, but was the same
Small caps for Latin letters: * de_Latn (German)
When shaping the text 'ſ' and shaping the text 'ſ' with features: smcp, the output is expected to be different, but was the same * fr_Latn (French)
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * el_Grek (Greek)
The following auxiliary characters are missing from the font: ἀ
The following auxiliary characters are missing from the font: ἄ
The following auxiliary characters are missing from the font: ἂ
The following auxiliary characters are missing from the font: ἆ
The following auxiliary characters are missing from the font: ἁ
The following auxiliary characters are missing from the font: ἅ
The following auxiliary characters are missing from the font: ἃ
The following auxiliary characters are missing from the font: ἇ
The following auxiliary characters are missing from the font: ὰ
The following auxiliary characters are missing from the font: ᾶ
The following auxiliary characters are missing from the font: ἐ
The following auxiliary characters are missing from the font: ἔ
The following auxiliary characters are missing from the font: ἒ
The following auxiliary characters are missing from the font: ἑ
The following auxiliary characters are missing from the font: ἕ
The following auxiliary characters are missing from the font: ἓ
The following auxiliary characters are missing from the font: ὲ
The following auxiliary characters are missing from the font: ἠ
The following auxiliary characters are missing from the font: ἤ
The following auxiliary characters are missing from the font: ἢ
The following auxiliary characters are missing from the font: ἦ
The following auxiliary characters are missing from the font: ἡ
The following auxiliary characters are missing from the font: ἥ
The following auxiliary characters are missing from the font: ἣ
The following auxiliary characters are missing from the font: ἧ
The following auxiliary characters are missing from the font: ὴ
The following auxiliary characters are missing from the font: ῆ
The following auxiliary characters are missing from the font: ἰ
The following auxiliary characters are missing from the font: ἴ
The following auxiliary characters are missing from the font: ἲ
The following auxiliary characters are missing from the font: ἶ
The following auxiliary characters are missing from the font: ἱ
The following auxiliary characters are missing from the font: ἵ
The following auxiliary characters are missing from the font: ἳ
The following auxiliary characters are missing from the font: ἷ
The following auxiliary characters are missing from the font: ὶ
The following auxiliary characters are missing from the font: ῖ
The following auxiliary characters are missing from the font: ῒ
The following auxiliary characters are missing from the font: ῗ
The following auxiliary characters are missing from the font: ὄ
The following auxiliary characters are missing from the font: ὂ
The following auxiliary characters are missing from the font: ὃ
The following auxiliary characters are missing from the font: ὸ
The following auxiliary characters are missing from the font: ὐ
The following auxiliary characters are missing from the font: ὔ
The following auxiliary characters are missing from the font: ὒ
The following auxiliary characters are missing from the font: ὖ
The following auxiliary characters are missing from the font: ὑ
The following auxiliary characters are missing from the font: ὕ
The following auxiliary characters are missing from the font: ὓ
The following auxiliary characters are missing from the font: ὗ
The following auxiliary characters are missing from the font: ὺ
The following auxiliary characters are missing from the font: ῦ
The following auxiliary characters are missing from the font: ῢ
The following auxiliary characters are missing from the font: ῧ
The following auxiliary characters are missing from the font: ὤ
The following auxiliary characters are missing from the font: ὢ
The following auxiliary characters are missing from the font: ὦ
The following auxiliary characters are missing from the font: ὥ
The following auxiliary characters are missing from the font: ὣ
The following auxiliary 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.130005 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+035C (uni035C)
  • U+0360 (uni0360)
  • U+0361 (uni0361)
  • U+0362 (uni0362)
  • U+20D2 (uni20D2)
  • U+20DD (uni20DD)
  • U+20DE (uni20DE)
  • U+20DF (uni20DF)
  • U+20E4 (uni20E4)
    ... and 5 others [code: mark-chars]
⚠️ 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:

  • uni1E44 (U+1E44): found 3, expected one of: [2, 4]
  • uni1E48 (U+1E48): found 3, expected one of: [2, 4]
  • uni1E46 (U+1E46): found 3, expected one of: [2, 4]
  • uni2132 (U+2132): found 2, expected one of: [1]
  • uni1D07 (U+1D07): found 2, expected one of: [1, 3]
  • uni0267 (U+0267): found 2, expected one of: [1]
  • uni0271 (U+0271): found 3, expected one of: [1, 2]
  • uni026F (U+026F): found 3, expected one of: [1]
  • uni0270 (U+0270): found 3, expected one of: [1, 2]
    ... and 31 others [code: contour-count]
⚠️ WARN Detect any interpolation issues in the font. (interpolation_issues)
  • ⚠️ WARN Interpolation issue in uni02DF: Contour order mismatch: [0, 1] in default vs [1, 0] in wght=700 [code: interpolation-issue]
⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 720 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=655: multiply
    width=577: divide
    width=701: greater, less
    width=614: logicalnot [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

⚠️ WARN Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 826, but got 762 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • f_b
  • f_f_b
  • f_f_h
  • f_f_j
  • f_f_k
  • f_h
  • f_j
  • f_k
  • dieresis.Greek
    ... and 2 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • ɨ̏

  • ɨ̄

  • ɨ̌

  • ɨ̋

  • ɨ̃

  • ɨ́

  • ɨ̈

  • ɨ̂

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

  • ⁱ⃖

  • ⁱ̇

  • ⁱ⃐

  • ⁱ⃑

  • ⁱ̑

  • ⁱ⃗

  • ⁱ̏

  • ⁱ⃰

  • ⁱ⃧
    ... and 364 others [code: soft-dotted]

⚠️ 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 Description strings in the name table must not exceed 200 characters. (googlefonts/name/description_max_length)
  • ⚠️ WARN A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "STIX Two Text" 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:
STIXTwoText-Italic[wght].ttf
Dehinted Size 454344
Hinted Size 454368
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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.13 b171 [code: version-not-detected]
[1] ofl/stixtwotext/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[26] ofl/stixtwotext/STIXTwoText[wght].ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni20DD (Some(8413))
  • uni20DE (Some(8414))
  • uni20DF (Some(8415))
  • uni20E4 (Some(8420)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+026F [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0263 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0259 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0268 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0264 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01A5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0256 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0272 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+026C [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0195 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A792 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0266 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+019E [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+A727 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0275 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0283 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+029D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0199 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028C [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01B5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0180 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0265 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0254 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0269 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028A [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0253 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0257 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0188 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0289 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0260 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0280 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+1D8E [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+028B [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+01AD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0292 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+027D [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+0288 [code: missing-case-counterparts]

🔥 FAIL Ensure fvar instances have PostScript names. (fvar_instance_ps_names)
  • 🔥 FAIL Named instance 'Regular' (index 0) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Medium' (index 1) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'SemiBold' (index 2) lacks a PostScript name entry. [code: missing-ps-name]

  • 🔥 FAIL Named instance 'Bold' (index 3) lacks a PostScript name entry. [code: missing-ps-name]

🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • uni2146
  • uni029C
  • uni02AA
  • uni2134
  • uni028D
  • uni02AB
  • uni0290
  • uni212F
  • uni1E9A
    ... and 125 others [code: missing-smcp-lowercase]
  • 🔥 FAIL The following letters did not take part in c2sc substitutions:
  • uni2115
  • uni2126
  • uni212B
  • uni211C
  • uni212D
  • uni2107
  • uni212A
  • uni210B
  • uni2119
    ... and 20 others [code: missing-c2sc-uppercase]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * dyu_Latn (Dyula)
The following base characters are missing from the font: Ɔ, Ɲ
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: Ƴ, Ɓ, ƴ, Ɗ, Ƙ
Mandatory orthography codepoints: * yo_Latn (Yoruba)
The following base characters are missing from the font: ǹ, Ǹ
Mandatory orthography codepoints: * fat_Latn (Fanti)
The following base characters are missing from the font: Ɔ * tw_akuapem_Latn (Akuapem Twi)
Mandatory orthography codepoints: * bm_Latn (Bambara)
The following base characters are missing from the font: Ɲ, Ɔ
Mandatory orthography codepoints: * ff_Latn (Fulah)
The following base characters are missing from the font: Ɗ, ƴ, Ƴ, Ɓ
  • ⚠️ WARN Warning language shaping:
Message Languages
Small caps for Latin letters: * ig_Latn (Igbo)
When shaping the text 'ɛ' and shaping the text 'ɛ' with features: smcp, the output is expected to be different, but was the same
Small caps for Latin letters: * de_Latn (German)
When shaping the text 'ſ' and shaping the text 'ſ' with features: smcp, the output is expected to be different, but was the same * fr_Latn (French)
Small caps for Latin letters: * fi_Latn (Finnish)
When shaping the text 'ʒ' and shaping the text 'ʒ' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ǯ' and shaping the text 'ǯ' with features: smcp, the output is expected to be different, but was the same
Small caps for Latin letters: * fat_Latn (Fanti)
When shaping the text 'ɛ' and shaping the text 'ɛ' with features: smcp, the output is expected to be different, but was the same * tw_akuapem_Latn (Akuapem Twi)
When shaping the text 'ɔ' and shaping the text 'ɔ' with features: smcp, the output is expected to be different, but was the same
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
Auxiliary orthography codepoints: * el_Grek (Greek)
The following auxiliary characters are missing from the font: ἀ
The following auxiliary characters are missing from the font: ἄ
The following auxiliary characters are missing from the font: ἂ
The following auxiliary characters are missing from the font: ἆ
The following auxiliary characters are missing from the font: ἁ
The following auxiliary characters are missing from the font: ἅ
The following auxiliary characters are missing from the font: ἃ
The following auxiliary characters are missing from the font: ἇ
The following auxiliary characters are missing from the font: ὰ
The following auxiliary characters are missing from the font: ᾶ
The following auxiliary characters are missing from the font: ἐ
The following auxiliary characters are missing from the font: ἔ
The following auxiliary characters are missing from the font: ἒ
The following auxiliary characters are missing from the font: ἑ
The following auxiliary characters are missing from the font: ἕ
The following auxiliary characters are missing from the font: ἓ
The following auxiliary characters are missing from the font: ὲ
The following auxiliary characters are missing from the font: ἠ
The following auxiliary characters are missing from the font: ἤ
The following auxiliary characters are missing from the font: ἢ
The following auxiliary characters are missing from the font: ἦ
The following auxiliary characters are missing from the font: ἡ
The following auxiliary characters are missing from the font: ἥ
The following auxiliary characters are missing from the font: ἣ
The following auxiliary characters are missing from the font: ἧ
The following auxiliary characters are missing from the font: ὴ
The following auxiliary characters are missing from the font: ῆ
The following auxiliary characters are missing from the font: ἰ
The following auxiliary characters are missing from the font: ἴ
The following auxiliary characters are missing from the font: ἲ
The following auxiliary characters are missing from the font: ἶ
The following auxiliary characters are missing from the font: ἱ
The following auxiliary characters are missing from the font: ἵ
The following auxiliary characters are missing from the font: ἳ
The following auxiliary characters are missing from the font: ἷ
The following auxiliary characters are missing from the font: ὶ
The following auxiliary characters are missing from the font: ῖ
The following auxiliary characters are missing from the font: ῒ
The following auxiliary characters are missing from the font: ῗ
The following auxiliary characters are missing from the font: ὄ
The following auxiliary characters are missing from the font: ὂ
The following auxiliary characters are missing from the font: ὃ
The following auxiliary characters are missing from the font: ὸ
The following auxiliary characters are missing from the font: ὐ
The following auxiliary characters are missing from the font: ὔ
The following auxiliary characters are missing from the font: ὒ
The following auxiliary characters are missing from the font: ὖ
The following auxiliary characters are missing from the font: ὑ
The following auxiliary characters are missing from the font: ὕ
The following auxiliary characters are missing from the font: ὓ
The following auxiliary characters are missing from the font: ὗ
The following auxiliary characters are missing from the font: ὺ
The following auxiliary characters are missing from the font: ῦ
The following auxiliary characters are missing from the font: ῢ
The following auxiliary characters are missing from the font: ῧ
The following auxiliary characters are missing from the font: ὤ
The following auxiliary characters are missing from the font: ὢ
The following auxiliary characters are missing from the font: ὦ
The following auxiliary characters are missing from the font: ὥ
The following auxiliary characters are missing from the font: ὣ
The following auxiliary characters are missing from the font: ὧ
The following auxiliary characters are missing from the font: ὼ
The following auxiliary characters are missing from the font: ῶ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * ig_Latn (Igbo)
The following auxiliary 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: * yo_Latn (Yoruba)
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǐ
The following auxiliary characters are missing from the font: Ǐ
The following auxiliary characters are missing from the font: ǒ
The following auxiliary characters are missing from the font: Ǒ
The following auxiliary characters are missing from the font: ǔ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ǒ̩
The following auxiliary characters are missing from the font: Ǒ̩
Small caps for Latin letters: * bm_Latn (Bambara)
When shaping the text 'ɛ' and shaping the text 'ɛ' with features: smcp, the output is expected to be different, but was the same * dyu_Latn (Dyula)
When shaping the text 'ɲ' and shaping the text 'ɲ' with features: smcp, the output is expected to be different, but was the same
When shaping the text 'ɔ' and shaping the text 'ɔ' with features: smcp, the output is expected to be different, but was the same
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name STIX Two Text STIX Two Text
Subfamily Name Regular Regular
Full Name STIX Two Text STIX Two Text Regular
Postscript Name STIXTwoText STIXTwoText-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 Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.130005 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+035C (uni035C)
  • U+0360 (uni0360)
  • U+0361 (uni0361)
  • U+0362 (uni0362)
  • U+20D2 (uni20D2)
  • U+20DD (uni20DD)
  • U+20DE (uni20DE)
  • U+20DF (uni20DF)
  • U+20E4 (uni20E4)
    ... and 5 others [code: mark-chars]
⚠️ 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:

  • uni1E44 (U+1E44): found 3, expected one of: [2, 4]
  • uni1E48 (U+1E48): found 3, expected one of: [2, 4]
  • uni1E46 (U+1E46): found 3, expected one of: [2, 4]
  • uni0250 (U+0250): found 1, expected one of: [2]
  • uni026F (U+026F): found 2, expected one of: [1]
  • uni0274 (U+0274): found 2, expected one of: [1, 3]
  • uni028D (U+028D): found 2, expected one of: [1]
  • uni1D8D (U+1D8D): found 3, expected one of: [1, 4]
  • uni02AC (U+02AC): found 4, expected one of: [2]
    ... and 7 others [code: contour-count]
⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 720 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=701: less, greater
    width=655: multiply
    width=577: divide
    width=614: logicalnot [code: width-outliers]
⚠️ 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 826, but got 762 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • f_b
  • f_f_b
  • f_f_h
  • f_f_j
  • f_f_k
  • f_h
  • f_j
  • f_k
  • dieresis.Greek
    ... and 2 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

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

  • ị̄

  • ị́

  • ị̀

  • ị̂

  • ɨ̈

  • ɨ̃

  • ɨ̌

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

  • ị̔

  • ị̈

  • ị̒

  • ị⃐

  • ị̌

  • ị̏

  • ị̋

  • ị̎

  • ị̿
    ... and 364 others [code: soft-dotted]

⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • uni213D (U+213D) has a counter-clockwise outer contour
  • uni213D (U+213D) has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ 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 Description strings in the name table must not exceed 200 characters. (googlefonts/name/description_max_length)
  • ⚠️ WARN A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "STIX Two Text" 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:
STIXTwoText[wght].ttf
Dehinted Size 418932
Hinted Size 418956
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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.13 b171 [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
111 39 17 246 67
30% 10% 5% 66% 18%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[9] ofl/suezone
🔥 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]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL SuezOne-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 2016 michal sahar. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL SuezOne-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 2016 michal sahar. all rights reserved." [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 2016 michal sahar. all rights reserved." [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/suezone/SuezOne-Regular.ttf missing required codepoints:
  • 0x007E: TILDE [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/suezone/SuezOne-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: 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, math, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding one of: duployan, syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
  • U+0312 COMBINING TURNED COMMA ABOVE: try adding math
    ... and 21 others

Or you can add the above codepoints to one of the subsets supported by the font: hebrew, 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.11% 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]
[2] ofl/suezone/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)
[1] ofl/suezone/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[26] ofl/suezone/SuezOne-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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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 j when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * 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: * 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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: ǯ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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 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 Uogonek when shaping the text 'Ų́'
Shaper didn't attach tildecomb to Uogonek 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 iogonek when shaping the text 'į́'
Shaper didn't attach uni0307 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 j when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach acutecomb to uogonek when shaping the text 'ų́'
Shaper didn't attach tildecomb to uogonek when shaping the text 'ų̃'
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: * 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: * da_Latn (Danish)
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.0010071 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:

  • quotedblbase (U+201E): found 1, expected one of: [2, 6]
  • quotedblleft (U+201C): found 1, expected one of: [2, 6]
  • quotedblright (U+201D): 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 611 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=562: plusminus
    width=627: approxequal
    width=613: plus, minus
    width=637: logicalnot
    width=649: lessequal, greaterequal
    width=669: greater, less
    width=540: multiply
    width=729: divide [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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 4 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:
    • A (U+0041): X=281,Y=675 (should be at cap-height 674?)
    • Aacute (U+00C1): X=281,Y=675 (should be at cap-height 674?)
    • Abreve (U+0102): X=281,Y=675 (should be at cap-height 674?)
    • Acircumflex (U+00C2): X=281,Y=675 (should be at cap-height 674?)
    • Adieresis (U+00C4): X=281,Y=675 (should be at cap-height 674?)
    • Agrave (U+00C0): X=281,Y=675 (should be at cap-height 674?)
    • Amacron (U+0100): X=281,Y=675 (should be at cap-height 674?)
    • Aogonek (U+0104): X=281,Y=675 (should be at cap-height 674?)
    • Aogonek (U+0104): X=693,Y=1 (should be at baseline 0?)
      ... and 65 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): from (228.0, 442.0) to (206.0, 146.0) is colinear with segment from (206.0, 146.0) to (206.0, 142.0)
  • X (U+0058): from (233.0, 337.0) to (72.0, 554.0) is colinear with segment from (72.0, 554.0) to (22.0, 614.0)
  • X (U+0058): from (463.0, 343.0) to (630.0, 120.0) is colinear with segment from (630.0, 120.0) to (680.0, 60.0)
  • uni05D0 (U+05D0): from (137.0, 577.0) to (215.0, 495.0) is colinear with segment from (215.0, 495.0) to (415.0, 287.0)
  • uni05DD (U+05DD): from (80.0, 0.0) to (84.0, 316.0) is colinear with segment from (84.0, 316.0) to (84.0, 346.0)
  • uni05E6 (U+05E6): from (126.0, 580.0) to (284.0, 375.0) is colinear with segment from (284.0, 375.0) to (343.0, 293.0)
  • uniFB39 (U+FB39): from (99.0, 583.0) to (124.0, 569.0) is colinear with segment from (124.0, 569.0) to (175.0, 542.0)
  • uniFB46 (U+FB46): from (129.0, 580.0) to (290.0, 375.0) is colinear with segment from (290.0, 375.0) to (350.0, 294.0)
  • uniFB4A (U+FB4A): from (280.0, 116.0) to (277.0, 85.0) is colinear with segment from (277.0, 85.0) to (267.0, 0.0)
    ... and 2 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • five (U+0035): Quad(QuadBez { p0: (317.5, 96.0), p1: (294.0, 124.0), p2: (245.0, 129.0) })/Quad(QuadBez { p0: (245.0, 129.0), p1: (269.0, 127.0), p2: (129.0, 137.0) }) = 1.0627003388293417 degrees [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:
  • N (U+004E): Line(Line { p0: (673.0, 550.0), p1: (669.0, 9.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • Nacute (U+0143): Line(Line { p0: (673.0, 550.0), p1: (669.0, 9.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • Ncaron (U+0147): Line(Line { p0: (673.0, 550.0), p1: (669.0, 9.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • Ncommaaccent (U+0145): Line(Line { p0: (673.0, 550.0), p1: (669.0, 9.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • Eng (U+014A): Line(Line { p0: (673.0, 550.0), p1: (670.0, 137.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • Ntilde (U+00D1): Line(Line { p0: (673.0, 550.0), p1: (669.0, 9.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • fi (U+FB01): Line(Line { p0: (476.0, 403.0), p1: (263.0, 404.0) }) (angle: 179.73 degrees, expected: 180.00 degrees)
  • uni05D4 (U+05D4): Line(Line { p0: (209.0, 293.0), p1: (208.0, 8.0) }) (angle: -90.20 degrees, expected: -90.00 degrees)
  • uni05D7 (U+05D7): Line(Line { p0: (212.0, 385.0), p1: (213.0, 8.0) }) (angle: -89.85 degrees, expected: -90.00 degrees)
    ... and 18 others [code: found-semi-vertical]
⚠️ WARN 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 <= 7 | - Use grayscale rendering |

- Use smoothing along multiple axes with ClearType®
PPM <= 19 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 7 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 19 that may be unnecessary [code: non-ffff-range]

⚠️ 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 The family name "Suez 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:
SuezOne-Regular.ttf
Dehinted Size 69396
Hinted Size 70856
Increase 1460
Change 2.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 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.001, Version 1.001 [code: version-not-detected]
[1] ofl/suezone/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2016 michal sahar. all rights reserved.
"

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
13 31 10 114 66
6% 14% 5% 53% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[27] ofl/sulphurpoint/SulphurPoint-Regular.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL dcaron uses component: uni030C [code: wrong-mark]

  • 🔥 FAIL lcaron uses component: uni030C [code: wrong-mark]

  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • fiveeighths
  • ohungarumlaut
  • Idieresis
  • odieresis
  • Adieresis
  • Edotaccent
  • seveneighths
  • Ohungarumlaut
  • dotaccent
    ... and 23 others [code: found-nested-components]
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoLineGap (369) and hhea lineGap (0) must be equal. [code: lineGap]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * ro_Latn (Romanian)
The following base characters are missing from the font: ș, ț, Ș, Ț
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ġ, Ċ, ġ, għ, GĦ, Ħ, ċ, ħ
Mandatory orthography codepoints: * tr_Latn (Turkish)
The following base characters are missing from the font: ğ, İ, Ğ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * 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: ĭ
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: * 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: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary characters are missing from the font: ș
The following auxiliary 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: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Ĩ
The following auxiliary characters are missing from the font: Ũ
The following auxiliary 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 tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach tildecomb to M when shaping the text 'M̃'
Shaper didn't attach tildecomb to j when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
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: ŋ
Auxiliary orthography codepoints: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
The following auxiliary characters are missing from the font: ij
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ğ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: İ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ğ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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 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 Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 550 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=461: multiply
    width=595: approxequal
    width=613: lessequal, greaterequal
    width=668: less, greater
    width=581: logicalnot
    width=549: divide [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 851, but got 790 instead [code: typoAscender]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 4 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • AE (U+00C6): from (321.0, 596.0) to (316.0, 581.0) is colinear with segment from (316.0, 581.0) to (222.0, 311.0)
  • Eogonek (U+0118): from (414.0, 68.0) to (414.0, 0.0) is colinear with segment from (414.0, 0.0) to (413.0, -60.0)
  • Q (U+0051): from (707.0, 0.0) to (376.0, 0.0) is colinear with segment from (376.0, 0.0) to (373.0, 0.0)
  • W (U+0057): from (413.0, 666.0) to (501.0, 421.0) is colinear with segment from (501.0, 421.0) to (617.0, 100.0)
  • Wacute (U+1E82): from (413.0, 666.0) to (501.0, 421.0) is colinear with segment from (501.0, 421.0) to (617.0, 100.0)
  • Wcircumflex (U+0174): from (413.0, 666.0) to (501.0, 421.0) is colinear with segment from (501.0, 421.0) to (617.0, 100.0)
  • Wdieresis (U+1E84): from (413.0, 666.0) to (501.0, 421.0) is colinear with segment from (501.0, 421.0) to (617.0, 100.0)
  • Wgrave (U+1E80): from (413.0, 666.0) to (501.0, 421.0) is colinear with segment from (501.0, 421.0) to (617.0, 100.0)
  • aogonek (U+0105): from (545.0, 487.0) to (545.0, 0.0) is colinear with segment from (545.0, 0.0) to (544.0, -60.0)
    ... and 5 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Adieresis (U+00C4) has a counter-clockwise outer contour
  • Adieresis (U+00C4) has a counter-clockwise outer contour
  • Edieresis (U+00CB) has a counter-clockwise outer contour
  • Edieresis (U+00CB) has a counter-clockwise outer contour
  • Edotaccent (U+0116) has a counter-clockwise outer contour
  • Idieresis (U+00CF) has a counter-clockwise outer contour
  • Idieresis (U+00CF) has a counter-clockwise outer contour
  • Odieresis (U+00D6) has a counter-clockwise outer contour
  • Odieresis (U+00D6) has a counter-clockwise outer contour
    ... and 53 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • partialdiff (U+2202): Quad(QuadBez { p0: (242.0, 357.0), p1: (290.0, 357.0), p2: (321.0, 336.0) })/Quad(QuadBez { p0: (321.0, 336.0), p1: (320.0, 337.0), p2: (318.5, 342.5) }) = 10.885527054658777 degrees [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:
  • B (U+0042): Line(Line { p0: (50.0, 666.0), p1: (245.0, 667.0) }) (angle: 0.29 degrees, expected: 0.00 degrees)
  • logicalnot (U+00AC): Line(Line { p0: (40.0, 332.0), p1: (541.0, 333.0) }) (angle: 0.11 degrees, expected: 0.00 degrees) [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (592.0, 0.0), p1: (591.0, 0.0) }) (length: 1.00, total outline: 3068.50)
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (590.0, -66.0), p1: (577.0, -65.0) }) (length: 13.04, total outline: 3068.50)
  • Aogonek (U+0104) contains a short segment Quad(QuadBez { p0: (577.0, -65.0), p1: (569.0, -65.0), p2: (566.0, -66.0) }) (length: 11.08, total outline: 3068.50)
  • Ccedilla (U+00C7) contains a short segment Quad(QuadBez { p0: (377.0, -69.0), p1: (371.0, -69.0), p2: (359.0, -73.0) }) (length: 18.51, total outline: 3705.65)
  • Eogonek (U+0118) contains a short segment Line(Line { p0: (413.0, -60.0), p1: (400.0, -59.0) }) (length: 13.04, total outline: 3711.82)
  • Eogonek (U+0118) contains a short segment Quad(QuadBez { p0: (400.0, -59.0), p1: (392.0, -59.0), p2: (389.0, -60.0) }) (length: 11.08, total outline: 3711.82)
  • Iogonek (U+012E) contains a short segment Line(Line { p0: (163.0, 0.0), p1: (162.0, 0.0) }) (length: 1.00, total outline: 2129.82)
  • Iogonek (U+012E) contains a short segment Quad(QuadBez { p0: (148.0, -59.0), p1: (140.0, -59.0), p2: (137.0, -60.0) }) (length: 11.08, total outline: 2129.82)
  • Q (U+0051) contains a short segment Line(Line { p0: (376.0, 0.0), p1: (373.0, 0.0) }) (length: 3.00, total outline: 2412.31)
    ... and 44 others [code: found-short-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Sulphur Point" 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:
SulphurPoint-Regular.ttf
Dehinted Size 37216
Hinted Size 54060
Increase 16844
Change 45.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 1.000; ttfautohint (v1.8), Version 1.000; ttfautohint (v1.8) [code: version-not-detected]
[2] ofl/sulphurpoint/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that dalesattler 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]
[1] ofl/sulphurpoint/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2016 michal sahar. all rights reserved.
"

which does not match the expected format, similar to:

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

[2] ofl/sulphurpoint/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)
[25] ofl/sulphurpoint/SulphurPoint-Light.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL dcaron uses component: uni030C [code: wrong-mark]

  • 🔥 FAIL lcaron uses component: uni030C [code: wrong-mark]

  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]

  • ⚠️ WARN Lcaron is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • fiveeighths
  • threeeighths
  • onequarter
  • threequarters
  • seveneighths
  • oneeighth
  • onehalf [code: found-nested-components]
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoLineGap (369) and hhea lineGap (0) must be equal. [code: lineGap]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * ro_Latn (Romanian)
The following base characters are missing from the font: Ș, ș, Ț, ț
Mandatory orthography codepoints: * tr_Latn (Turkish)
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ħ, ġ, Ħ
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 J when shaping the text 'ÍJ́'
  • ⚠️ WARN Warning language shaping:
Message Languages
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: ũ
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach tildecomb to M when shaping the text 'M̃'
Shaper didn't attach tildecomb to m when shaping the text 'm̃'
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: ŋ
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: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ğ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: İ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ğ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary characters are missing from the font: ș
The following auxiliary 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: ĭ
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: * da_Latn (Danish)
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
🔥 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 Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 550 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=668: greater, less
    width=581: logicalnot
    width=585: approxequal
    width=549: divide
    width=613: lessequal, greaterequal
    width=449: multiply [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 845, but got 790 instead [code: typoAscender]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 4 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni03BC (U+03BC): from (39.0, -85.0) to (40.0, 269.0) is colinear with segment from (40.0, 269.0) to (40.0, 500.0)
  • braceleft (U+007B): from (162.0, 575.0) to (162.0, 427.0) is colinear with segment from (162.0, 427.0) to (162.0, 403.0)
  • braceleft (U+007B): from (162.0, 138.0) to (162.0, 113.0) is colinear with segment from (162.0, 113.0) to (162.0, -34.0)
  • braceright (U+007D): from (187.0, -34.0) to (187.0, 113.0) is colinear with segment from (187.0, 113.0) to (187.0, 138.0)
  • braceright (U+007D): from (187.0, 403.0) to (187.0, 427.0) is colinear with segment from (187.0, 427.0) to (187.0, 575.0)
  • florin (U+0192): from (159.0, 270.0) to (159.0, 452.0) is colinear with segment from (159.0, 452.0) to (158.0, 496.0)
  • partialdiff (U+2202): from (389.0, 339.0) to (412.0, 277.0) is colinear with segment from (412.0, 277.0) to (433.0, 218.0)
  • uni00B5 (U+00B5): from (39.0, -85.0) to (40.0, 269.0) is colinear with segment from (40.0, 269.0) to (40.0, 500.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • eogonek (U+0119): Quad(QuadBez { p0: (242.5, -39.0), p1: (261.0, -13.0), p2: (296.0, -5.0) })/Line(Line { p0: (296.0, -5.0), p1: (292.0, -5.0) }) = 12.875001559612462 degrees
  • j (U+006A): Line(Line { p0: (2.0, -168.0), p1: (0.0, -168.0) })/Quad(QuadBez { p0: (0.0, -168.0), p1: (28.0, -166.0), p2: (52.5, -154.5) }) = 4.085616779974798 degrees
  • uni0237 (U+0237): Line(Line { p0: (2.0, -168.0), p1: (0.0, -168.0) })/Quad(QuadBez { p0: (0.0, -168.0), p1: (28.0, -166.0), p2: (52.5, -154.5) }) = 4.085616779974798 degrees [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:
  • A (U+0041): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Aacute (U+00C1): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Abreve (U+0102): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Acircumflex (U+00C2): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Adieresis (U+00C4): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Agrave (U+00C0): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Amacron (U+0100): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Aogonek (U+0104): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
  • Aring (U+00C5): Line(Line { p0: (194.0, 296.0), p1: (428.0, 295.0) }) (angle: -0.24 degrees, expected: 0.00 degrees)
    ... and 7 others [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (542.0, -1.0), p1: (533.0, -1.0) }) (length: 9.00, total outline: 3057.78)
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (575.0, 18.0), p1: (578.0, 18.0) }) (length: 3.00, total outline: 3057.78)
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (578.0, 18.0), p1: (578.0, 10.0) }) (length: 8.00, total outline: 3057.78)
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (578.0, 10.0), p1: (582.0, -1.0) }) (length: 11.70, total outline: 3057.78)
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (582.0, -1.0), p1: (578.0, -1.0) }) (length: 4.00, total outline: 3057.78)
  • Ccedilla (U+00C7) contains a short segment Quad(QuadBez { p0: (349.0, -61.0), p1: (344.0, -61.0), p2: (332.0, -63.0) }) (length: 17.13, total outline: 3796.27)
  • Eogonek (U+0118) contains a short segment Line(Line { p0: (414.0, 18.0), p1: (415.0, 18.0) }) (length: 1.00, total outline: 3797.21)
  • Iogonek (U+012E) contains a short segment Line(Line { p0: (56.0, 0.0), p1: (50.0, 0.0) }) (length: 6.00, total outline: 2095.21)
  • Iogonek (U+012E) contains a short segment Line(Line { p0: (96.0, 0.0), p1: (92.0, 0.0) }) (length: 4.00, total outline: 2095.21)
    ... and 25 others [code: found-short-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
SulphurPoint-Light.ttf
Dehinted Size 39680
Hinted Size 56832
Increase 17152
Change 43.2 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.000; ttfautohint (v1.8), Version 1.000; ttfautohint (v1.8) [code: version-not-detected]
[8] ofl/sulphurpoint
🔥 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 METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Sulphur Point" does not match correct family name "Sulphur Point Light". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sulphurpoint/SulphurPoint-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: coptic, math, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, malayalam, hebrew, tai-le, todhri, old-permic, canadian-aboriginal, coptic, tifinagh, math, duployan
  • 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 30 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 ofl/sulphurpoint/SulphurPoint-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, math, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, malayalam, hebrew, tai-le, todhri, old-permic, canadian-aboriginal, coptic, tifinagh, math, duployan
  • 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 30 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 ofl/sulphurpoint/SulphurPoint-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, math, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, malayalam, hebrew, tai-le, todhri, old-permic, canadian-aboriginal, coptic, tifinagh, math, duployan
  • 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 30 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=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 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 All of the fonts lack a STAT table. [code: summary]
[26] ofl/sulphurpoint/SulphurPoint-Bold.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL dcaron uses component: uni030C [code: wrong-mark]

  • 🔥 FAIL lcaron uses component: uni030C [code: wrong-mark]

  • 🔥 FAIL tcaron uses component: uni030C [code: wrong-mark]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • threeeighths
  • onequarter
  • seveneighths
  • oneeighth
  • fiveeighths
  • threequarters
  • onehalf [code: found-nested-components]
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoLineGap (369) and hhea lineGap (0) must be equal. [code: lineGap]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * tr_Latn (Turkish)
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ħ, Ġ, ħ, ċ, ġ, Ċ
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * ro_Latn (Romanian)
The following base characters are missing from the font: Ț, Ș, ș, ț
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ğ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: İ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ğ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
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: ũ
Shaper didn't attach tildecomb to M when shaping the text 'M̃'
Shaper didn't attach tildecomb to j when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to m when shaping the text 'm̃'
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: * da_Latn (Danish)
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: * 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: ŋ
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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: ĭ
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: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary characters are missing from the font: ș
The following auxiliary 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 1 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking Vertical Metric linegaps. (linegaps)
  • ⚠️ WARN OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 550 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=471: multiply
    width=549: minus, divide
    width=624: approxequal
    width=613: lessequal, greaterequal
    width=668: less, greater
    width=581: logicalnot [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 852, but got 790 instead [code: typoAscender]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 4 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • Eogonek (U+0118): from (414.0, 90.0) to (414.0, 0.0) is colinear with segment from (414.0, 0.0) to (413.0, -71.0)
  • Iogonek (U+012E): from (134.0, 665.0) to (134.0, 0.0) is colinear with segment from (134.0, 0.0) to (133.0, -72.0)
  • OE (U+0152): from (704.0, 575.0) to (704.0, 375.0) is colinear with segment from (704.0, 375.0) to (704.0, 373.0)
  • W (U+0057): from (423.0, 666.0) to (511.0, 422.0) is colinear with segment from (511.0, 422.0) to (612.0, 145.0)
  • Wacute (U+1E82): from (423.0, 666.0) to (511.0, 422.0) is colinear with segment from (511.0, 422.0) to (612.0, 145.0)
  • Wcircumflex (U+0174): from (423.0, 666.0) to (511.0, 422.0) is colinear with segment from (511.0, 422.0) to (612.0, 145.0)
  • Wdieresis (U+1E84): from (423.0, 666.0) to (511.0, 422.0) is colinear with segment from (511.0, 422.0) to (612.0, 145.0)
  • Wgrave (U+1E80): from (423.0, 666.0) to (511.0, 422.0) is colinear with segment from (511.0, 422.0) to (612.0, 145.0)
  • aogonek (U+0105): from (545.0, 488.0) to (545.0, 0.0) is colinear with segment from (545.0, 0.0) to (544.0, -71.0)
    ... and 7 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • dollar (U+0024) has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • germandbls (U+00DF): Line(Line { p0: (50.0, 666.0), p1: (245.0, 667.0) }) (angle: 0.29 degrees, expected: 0.00 degrees)
  • exclam (U+0021): Line(Line { p0: (60.0, 141.0), p1: (56.0, 665.0) }) (angle: 90.44 degrees, expected: 90.00 degrees)
  • exclam (U+0021): Line(Line { p0: (134.0, 665.0), p1: (130.0, 141.0) }) (angle: -90.44 degrees, expected: -90.00 degrees)
  • exclamdown (U+00A1): Line(Line { p0: (56.0, -166.0), p1: (60.0, 358.0) }) (angle: 89.56 degrees, expected: 90.00 degrees)
  • exclamdown (U+00A1): Line(Line { p0: (130.0, 358.0), p1: (134.0, -166.0) }) (angle: -89.56 degrees, expected: -90.00 degrees)
  • florin (U+0192): Line(Line { p0: (131.0, -9.0), p1: (132.0, 204.0) }) (angle: 89.73 degrees, expected: 90.00 degrees)
  • florin (U+0192): Line(Line { p0: (132.0, 287.0), p1: (133.0, 500.0) }) (angle: 89.73 degrees, expected: 90.00 degrees)
  • logicalnot (U+00AC): Line(Line { p0: (40.0, 332.0), p1: (541.0, 333.0) }) (angle: 0.11 degrees, expected: 0.00 degrees) [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • Aogonek (U+0104) contains a short segment Line(Line { p0: (602.0, 0.0), p1: (600.0, 0.0) }) (length: 2.00, total outline: 3024.26)
  • Aogonek (U+0104) contains a short segment Quad(QuadBez { p0: (599.0, -71.0), p1: (593.0, -70.0), p2: (581.0, -70.0) }) (length: 18.05, total outline: 3024.26)
  • Aogonek (U+0104) contains a short segment Quad(QuadBez { p0: (541.0, -100.0), p1: (540.0, -103.0), p2: (540.0, -109.0) }) (length: 9.09, total outline: 3024.26)
  • Ccedilla (U+00C7) contains a short segment Quad(QuadBez { p0: (339.0, -133.0), p1: (349.0, -141.0), p2: (352.0, -142.0) }) (length: 15.85, total outline: 3640.16)
  • Ccedilla (U+00C7) contains a short segment Quad(QuadBez { p0: (352.0, -142.0), p1: (359.0, -146.0), p2: (365.0, -146.0) }) (length: 13.75, total outline: 3640.16)
  • Ccedilla (U+00C7) contains a short segment Quad(QuadBez { p0: (365.0, -78.0), p1: (360.0, -78.0), p2: (346.0, -83.0) }) (length: 19.71, total outline: 3640.16)
  • Eogonek (U+0118) contains a short segment Quad(QuadBez { p0: (295.0, -107.0), p1: (295.0, -100.0), p2: (297.0, -88.0) }) (length: 19.12, total outline: 3608.28)
  • Eogonek (U+0118) contains a short segment Quad(QuadBez { p0: (413.0, -71.0), p1: (407.0, -70.0), p2: (395.0, -70.0) }) (length: 18.05, total outline: 3608.28)
  • Eogonek (U+0118) contains a short segment Quad(QuadBez { p0: (355.0, -100.0), p1: (354.0, -103.0), p2: (354.0, -109.0) }) (length: 9.09, total outline: 3608.28)
    ... and 37 others [code: found-short-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Sulphur Point" 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:
SulphurPoint-Bold.ttf
Dehinted Size 39012
Hinted Size 56188
Increase 17176
Change 44.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
25 77 22 268 182
5% 14% 4% 50% 34%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[34] ofl/sumana/Sumana-Bold.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+021A [code: missing-case-counterparts]
🔥 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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/DESCRIPTION has trailing spaces that must be removed:
    `Sumana is designed by Alexei Vanyashin for Cyreal. Latin design is based on Lora by Cyreal.

This Font Software is licensed under the SIL Open Font License
Version 1.1.
` [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/DESCRIPTION has trailing spaces that must be removed:
    `Sumana is designed by Alexei Vanyashin for Cyreal. Latin design is based on Lora by Cyreal.

This Font Software is licensed under the SIL Open Font License
Version 1.1.
` [code: trailing-space]

🔥 FAIL Ensure indic fonts have the Indian Rupee Sign glyph. (rupee)
  • 🔥 FAIL Font appears to be an Indic font but is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9. [code: missing-rupee]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • Aacute (component Grave)
  • Aacute.001 (component Grave)
  • gcommaaccent (component commaaccent)
  • zha-deva (component anusvara-deva)
  • zha-deva (component anusvara-deva)
  • zha-deva (component anusvara-deva)
  • oMatra_reph_anusvara-deva (component anusvara-deva)
  • auMatra_reph_anusvara-deva (component anusvara-deva)
  • backslash (component slash)
    ... and 17 others [code: transformed-components]
🔥 FAIL Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • nonmarkingreturn [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: iMatra-deva.08, bh_la-deva.loclMAR, sh-deva.loclMAR, d_gha-deva, kha-deva, ga-deva, dh_r-deva, sh_va-deva, iMatra_reph_anusvara-deva, nn_ra-deva, h_ma-deva, tha-deva, d_gha_uMatra-deva, sa-deva, oCandra-deva, d_ga-deva, aw-deva, iiMatra_reph-deva, oMatra-deva, dd_gha-deva, awVowel-deva, iMatra_reph_anusvara-deva.10, rakar_uMatra-deva, k_ra-deva, k_ss_ra-deva, ng_ga-deva, ddh_na-deva, d_bh_ya-deva, v_ha-deva, d_ga_uuMatra-deva, uue-deva, d_dh_ya-deva, tt-deva, llla-deva, h-deva, iiMatra_reph_anusvara-deva, iMatra-deva.05, jh-deva.loclNEP, oShort-deva, four-deva, iMatra_reph_anusvara-deva.15, d_dha_uuMatra-deva, ddh_ddha-deva, ss_tta-deva, candraBindu-deva, ueMatra-deva, d_ma-deva, khha-deva, nn-deva, iMatra_reph_anusvara-deva.20, k_ss_ya-deva, d_ra_uMatra-deva, glottalstop-deva, d_bha_uMatra-deva, sh_la-deva.loclMAR, lVocalic-deva, m_r-deva, tta-deva, n_na-deva, aaMatra-deva, dd_ma-deva, abbreviation-deva, three-deva, llVocalicMatra-deva, iMatra_reph-deva.01, g_la-deva.loclMAR, u-deva, d_da_uMatra-deva, uu-deva, eShortMatra-deva, kh-deva, aiMatra-deva, k_ss_ma-deva, ddh-deva, yya-deva, m_n-deva, iMatra-deva.10, aiMatra_reph_anusvara-deva, y-deva, auMatra-deva, p_la-deva.loclMAR, iMatra_reph-deva.02, va-deva.post, d_r_ya-deva, iMatra-deva.25, b_ja-deva, aiMatra_reph-deva, bh_ra-deva, d_ra-deva, d_v_ya-deva, sha-deva, iMatra-deva.0, tth-deva, oMatra_reph-deva, za-deva, ddda-deva, d_va_uMatra-deva, sh_r_ya-deva, j_ja-deva.alt, d-deva, auMatra_reph_anusvara-deva, tt_tta-deva, g_n_ya-deva, p_jha-deva, ng_kha-deva, d_g_ra-deva, ss_tt_ya-deva, iMatra_reph-deva.20, rrVocalic-deva, zero-deva, dh-deva, oe-deva, b_la-deva.loclMAR, gh_ra-deva, sh_r-deva, zha-deva.loclNEP, qa-deva, h_ya-deva, jjya-deva, ja-deva, two-deva, iiMatra-deva, s_tha-deva, tt_na-deva, bha-deva, j_ny-deva, m-deva, ng_k-deva, k_t_ta-deva, iMatra_reph_anusvara-deva.30, nine-deva, uMatra-deva, eMatra_reph_anusvara-deva, p_ta-deva, ch_va-deva, iMatra-deva.15, d_rVocalicMatra-deva, dh_ra-deva, iiMatra_reph-deva.02, ooe-deva, reph_anusvara-deva, acute-deva, k_ss-deva, ghha-deva, dd_ddha-deva, d_va-deva, d_ba_uuMatra-deva, fa-deva, ddha-deva, ma-deva, jja-deva, g-deva, sha-deva.loclMAR, d_b_ra-deva, lll-deva, iMatra_reph-deva.08, one-deva, dd_ya-deva, eMatra_anusvara-deva, aiMatra_anusvara-deva, ph-deva, c_ra-deva, n-deva, ue-deva, gh_r-deva, iMatra_reph_anusvara-deva.03, va-deva, c_la-deva.loclMAR, kh_ra-deva, t_ra-deva.alt, visarga-deva, nna-deva, d_dha-deva, d_na_uMatra-deva, rakar-deva, sh-deva, sh_ca-deva, ss_tth_va-deva, iMatra_reph_anusvara-deva.05, au-deva, iMatra_reph_anusvara-deva.25, t_ta-deva, rra-deva, v_la-deva.loclMAR, ha-deva, dd_dd_ya-deva, h_ra-deva, t_r_ya-deva.alt, eight-deva.loclNEP, iMatra_reph_anusvara-deva.01, tt_tt_ya-deva, rr_ha-deva, tt_ddha-deva, ss_ra-deva, gga-deva, e-deva, th-deva, ii-deva, iMatra_reph-deva.15, anusvara-deva, rrVocalicMatra-deva, k_ra-deva.alt, p-deva, nukta-deva, reph-deva.loclMAR, dha-deva, jha-deva.loclNEP, na-deva.post2, ta-deva, eCandra-deva, dd_na-deva, d_d_ya-deva, j_r-deva, auMatra_anusvara-deva, pa-deva, dd_tta-deva, danda-deva, anudatta-deva, h_va-deva, tt_ttha-deva, nya-deva, d_bha-deva, nga-deva, la-deva, ph_ra-deva, k_ka-deva, ng_g_ra-deva, y_ra-deva, dddha-deva, h_la-deva, zha-deva, n_n-deva, da_uMatra-deva, jh_ra-deva, d_ra_uuMatra-deva, ll-deva, ch_na-deva, candraBindu-deva.imatra, ha_uMatra-deva, iMatra_reph-deva.25, ddh_ya-deva, v_n-deva, l-deva, ha_uuMatra-deva, ch-deva, ny_ja-deva, l_la-deva.loclMAR, ya-deva, eShort-deva, pha-deva, j_ny_ra-deva, jha_uMatra-deva, th_ra-deva, na-deva, tt_ya-deva, t_r_ya-deva, n_ra-deva, d_ya-deva, o-deva, t-deva, n_n_ya-deva, v-deva, oeMatra-deva, ttha-deva, cha-deva, d_dha_uMatra-deva, t_ra-deva, a-deva, iMatra_reph-deva, oCandraMatra-deva, c-deva, aa-deva, iMatra-deva.03, d_va_uuMatra-deva, rha-deva, k_ssa-deva, dbldanda-deva, gha-deva, nnn-deva, avagraha-deva, ng_k_ssa-deva, gh_na-deva, om-deva, sh_na-deva, uuMatra-deva, eCandraMatra-deva, rakar_uuMatra-deva, ya-deva.post, auMatra_reph-deva, b-deva, l_ra-deva, ny_ra-deva, ss_ttha-deva, bh-deva, ch_la-deva.loclMAR, oMatra_anusvara-deva, d_da_uuMatra-deva, b_ra-deva, d_bha_uuMatra-deva, h_na-deva, m_ra-deva, i-deva, k-deva, gh_la-deva.loclMAR, j-deva, ka-deva, ny-deva, ha_rVocalicMatra-deva, ng_ma-deva, g_n-deva, bh_n-deva, bh_r-deva, s-deva, iiMatra_reph_anusvara-deva.02, rr_ya-deva, iMatra_reph-deva.05, dda-deva, d_ba-deva, five-deva, ra_uuMatra-deva, six-deva, eight-deva, rVocalicMatra-deva, ss-deva, ddh_ddh_ya-deva, eMatra-deva, tth_ya-deva, iMatra-deva.20, c_ch_va-deva, iMatra_reph_anusvara-deva.02, eMatra_reph-deva, reph-deva, uueMatra-deva, d_da-deva, g_na-deva, lVocalicMatra-deva, grave-deva, c_ca-deva.alt, iMatra_reph-deva.30, ny_ca-deva, tth_ttha-deva, n_bha-deva, llVocalic-deva, y_r-deva, p_ra-deva, aCandra-deva, ng_k_ra-deva, iMatra-deva.02, anusvara-deva.001, ba-deva, k_va-deva, iMatra_reph_anusvara-deva.08, sh-deva.ss02, v_r-deva, lla-deva, s_t_ra-deva, g_r_ya-deva, jh-deva, ssa-deva, v_ra-deva, ra-deva.post2, f-deva, j_ra-deva, la-deva.loclMAR, ss_tt_va-deva, iMatra-deva, iMatra_reph-deva.10, d_na_uuMatra-deva, ng_ka-deva, ra_uMatra-deva, da_uuMatra-deva, ai-deva, d_dh_r_ya-deva, j_j-deva.alt, d_ba_uMatra-deva, ra-deva, y_n-deva, oMatra_reph_anusvara-deva, kh_la-deva.loclMAR, halant-deva, ng_k_t_ta-deva, d_gh_ya-deva, iMatra_reph-deva.03, ya-deva2.post, tt_va-deva, p_tta-deva, iMatra_reph-deva.0, da-deva, gh-deva, k_la-deva.loclMAR, iiMatra-deva.02, dd_dda-deva, sh_ra-deva, udatta-deva, d_ga_uMatra-deva, d_na-deva, t_r-deva, iMatra-deva.01, bba-deva, t_t-deva, jha-deva, k_ra-deva.loclNEP, c_ca-deva, rr-deva, khh-deva, s_ra-deva, f_ra-deva, dd-deva, kh_na-deva, ss_tth_ya-deva, ph_la-deva.loclMAR, tth_tth_ya-deva, iMatra-deva.30, g_r-deva, tth_na-deva, q-deva, h_nna-deva, nnna-deva, rVocalic-deva, g_ra-deva, j_nya-deva, ghh-deva, z-deva, n_ma-deva, m_la-deva.loclMAR, oShortMatra-deva, iMatra_reph_anusvara-deva.0, five-deva.loclNEP, d_gha_uuMatra-deva, ca-deva, prishthaMatraE-deva, seven-deva, ng-deva, ng_gh_ra-deva, ng_gha-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • 🔥 FAIL These glyph names occur more than once: "nonmarkingreturn" [code: duplicated-glyph-names]

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

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * tr_Latn (Turkish)
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: * ca_Latn (Catalan)
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: * lv_Latn (Latvian)
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: * pl_Latn (Polish)
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: * ro_Latn (Romanian)
The following base characters are missing from the font: ț
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: * sv_Latn (Swedish)
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: * hu_Latn (Hungarian)
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: * lt_Latn (Lithuanian)
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: * en_Latn (English)
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: * fr_Latn (French)
The following mark characters are missing from the font: ̈, ̧, ́, ̂, ̀
Mandatory orthography codepoints: * hr_Latn (Croatian)
The following mark characters are missing from the font: ̌, ́
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: GĦ, ġ, Ġ, Ħ, għ, Ċ, ċ, ħ
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: * cy_Latn (Welsh)
The following base characters are missing from the font: Ỳ, ẃ, Ŵ, Ẁ, ŵ, Ẃ, Ŷ, ỳ, ẁ, ŷ, ẅ, Ẅ
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: * pt_Latn (Portuguese)
The following mark characters are missing from the font: ̀, ̂, ́, ̃, ̈, ̧
  • ⚠️ WARN Warning language shaping:
Message Languages
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
The following auxiliary characters are missing from the font: ij
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
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: * 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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * 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: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ċ
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ħ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŝ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ċ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ħ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary characters are missing from the font: ţ
The following auxiliary characters are missing from the font: ț
The following auxiliary 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry DESCRIPTION on platform 1 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry DESCRIPTION on platform 3 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 3 contains a line-break. [code: line-break]

🔥 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:
  • commaaccent
  • uMatra-deva
  • uuMatra-deva
  • rrVocalicMatra-deva
  • lVocalicMatra-deva
  • llVocalicMatra-deva
  • eCandraMatra-deva
  • candraBindu-deva
  • eShortMatra-deva
    ... and 4 others [code: unattached-dotted-circle-marks]
🔥 FAIL Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '0.94' [code: parse-error]
🔥 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.0149994 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0902 (anusvara-deva)
  • U+093A (oeMatra-deva)
  • U+0943 (rVocalicMatra-deva)
  • U+0952 (anudatta-deva)
  • U+0953 (grave-deva)
  • U+0954 (acute-deva)
  • U+0956 (ueMatra-deva)
  • U+0957 (uueMatra-deva) [code: mark-chars]
⚠️ 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:

  • Zacute (U+0179): found 3, expected one of: [2, 4, 6]
  • Zdotaccent (U+017B): found 3, expected one of: [2, 4, 6]
  • eacute (U+00E9): found 4, expected one of: [2, 3, 6]
  • ecaron (U+011B): found 4, expected one of: [2, 3, 6]
  • ecircumflex (U+00EA): found 4, expected one of: [2, 3, 6]
  • edieresis (U+00EB): found 5, expected one of: [3, 4, 7]
  • edotaccent (U+0117): found 4, expected one of: [2, 3, 6]
  • egrave (U+00E8): found 4, expected one of: [2, 3, 6]
  • emacron (U+0113): found 4, expected one of: [2, 3, 6]
    ... and 52 others [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 566 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=577: equal, minus
    width=526: plus
    width=560: multiply
    width=571: approxequal
    width=544: notequal
    width=281: divide
    width=581: logicalnot
    width=551: greater, less
    width=556: plusminus [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • Aacute.001
  • k_ra-deva.alt
  • c_ca-deva.alt
  • j_ja-deva.alt
  • t_ra-deva.alt
  • t_r_ya-deva.alt
  • k_la-deva.loclMAR
  • kh_la-deva.loclMAR
  • g_la-deva.loclMAR
    ... and 24 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • M (U+004D): from (723.0, 153.0) to (715.0, 365.0) is colinear with segment from (715.0, 365.0) to (713.0, 403.0)
  • M (U+004D): from (205.0, 379.0) to (205.0, 345.0) is colinear with segment from (205.0, 345.0) to (204.0, 164.0)
  • V (U+0056): from (395.0, 188.0) to (443.0, 326.0) is colinear with segment from (443.0, 326.0) to (519.0, 535.0)
  • V (U+0056): from (560.0, 627.0) to (508.0, 624.0) is colinear with segment from (508.0, 624.0) to (483.0, 623.0)
  • W (U+0057): from (343.0, 189.0) to (400.0, 394.0) is colinear with segment from (400.0, 394.0) to (493.0, 700.0)
  • W (U+0057): from (734.0, 188.0) to (772.0, 326.0) is colinear with segment from (772.0, 326.0) to (828.0, 535.0)
  • W (U+0057): from (869.0, 627.0) to (817.0, 624.0) is colinear with segment from (817.0, 624.0) to (792.0, 623.0)
  • X (U+0058): from (499.0, 627.0) to (449.0, 624.0) is colinear with segment from (449.0, 624.0) to (424.0, 623.0)
  • Y (U+0059): from (519.0, 627.0) to (467.0, 624.0) is colinear with segment from (467.0, 624.0) to (442.0, 623.0)
    ... and 36 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a path with no bounds (probably a single point)
  • Aacute (U+00C1) has a counter-clockwise outer contour
  • Abreve (U+0102) has a path with no bounds (probably a single point)
  • Acircumflex (U+00C2) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Agrave (U+00C0) has a path with no bounds (probably a single point)
  • Amacron (U+0100) has a path with no bounds (probably a single point)
  • Atilde (U+00C3) has a path with no bounds (probably a single point)
  • Cacute (U+0106) has a path with no bounds (probably a single point)
    ... and 193 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • d_ba-deva: Quad(QuadBez { p0: (301.0, 6.0), p1: (262.0, 6.0), p2: (218.0, 19.0) })/Line(Line { p0: (218.0, 19.0), p1: (329.0, -47.0) }) = 14.275472889880032 degrees
  • d_ba_uMatra-deva: Quad(QuadBez { p0: (301.0, 6.0), p1: (262.0, 6.0), p2: (218.0, 19.0) })/Line(Line { p0: (218.0, 19.0), p1: (329.0, -47.0) }) = 14.275472889880032 degrees
  • d_b_ra-deva: Quad(QuadBez { p0: (301.0, 6.0), p1: (262.0, 6.0), p2: (218.0, 19.0) })/Line(Line { p0: (218.0, 19.0), p1: (329.0, -47.0) }) = 14.275472889880032 degrees
  • aw-deva (U+0975): Quad(QuadBez { p0: (830.5, 685.5), p1: (867.0, 655.0), p2: (874.0, 588.0) })/Quad(QuadBez { p0: (874.0, 588.0), p1: (876.0, 610.0), p2: (876.0, 618.0) }) = 11.158916008987921 degrees
  • oMatra_reph-deva: Quad(QuadBez { p0: (171.0, 785.0), p1: (157.0, 783.0), p2: (170.0, 787.0) })/Quad(QuadBez { p0: (170.0, 787.0), p1: (150.0, 781.0), p2: (136.5, 765.5) }) = 0.4034847350598497 degrees
  • oMatra_reph_anusvara-deva: Quad(QuadBez { p0: (177.0, 785.0), p1: (163.0, 783.0), p2: (176.0, 787.0) })/Quad(QuadBez { p0: (176.0, 787.0), p1: (156.0, 781.0), p2: (142.5, 765.5) }) = 0.4034847350598497 degrees
  • seven (U+0037): Quad(QuadBez { p0: (284.0, 111.0), p1: (269.0, 51.0), p2: (271.0, 60.0) })/Quad(QuadBez { p0: (271.0, 60.0), p1: (263.0, 28.0), p2: (245.5, 6.0) }) = 1.5074357587748821 degrees
  • at (U+0040): Quad(QuadBez { p0: (451.0, 177.0), p1: (451.0, 192.0), p2: (452.0, 200.0) })/Quad(QuadBez { p0: (452.0, 200.0), p1: (427.0, 136.0), p2: (392.5, 106.0) }) = 14.211842942903834 degrees
  • trademark (U+2122): Quad(QuadBez { p0: (599.0, 532.0), p1: (586.0, 570.0), p2: (578.0, 603.0) })/Quad(QuadBez { p0: (578.0, 603.0), p1: (578.0, 571.0), p2: (579.0, 555.0) }) = 13.626994859891557 degrees
    ... and 2 others [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:
  • B (U+0042): Line(Line { p0: (50.0, 700.0), p1: (327.0, 702.0) }) (angle: 0.41 degrees, expected: 0.00 degrees)
  • D (U+0044): Line(Line { p0: (50.0, 700.0), p1: (341.0, 701.0) }) (angle: 0.20 degrees, expected: 0.00 degrees)
  • Eth (U+00D0): Line(Line { p0: (50.0, 701.0), p1: (341.0, 702.0) }) (angle: 0.20 degrees, expected: 0.00 degrees)
  • Dcaron (U+010E): Line(Line { p0: (50.0, 700.0), p1: (341.0, 701.0) }) (angle: 0.20 degrees, expected: 0.00 degrees)
  • Dcroat (U+0110): Line(Line { p0: (50.0, 701.0), p1: (341.0, 702.0) }) (angle: 0.20 degrees, expected: 0.00 degrees)
  • Lslash (U+0141): Line(Line { p0: (262.0, 75.0), p1: (396.0, 76.0) }) (angle: 0.43 degrees, expected: 0.00 degrees)
  • M (U+004D): Line(Line { p0: (205.0, 345.0), p1: (204.0, 164.0) }) (angle: -90.32 degrees, expected: -90.00 degrees)
  • N (U+004E): Line(Line { p0: (206.0, 474.0), p1: (208.0, 164.0) }) (angle: -89.63 degrees, expected: -90.00 degrees)
  • N (U+004E): Line(Line { p0: (122.0, 153.0), p1: (120.0, 536.0) }) (angle: 90.30 degrees, expected: 90.00 degrees)
    ... and 97 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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sumana-Bold.ttf
Dehinted Size 181976
Hinted Size 223880
Increase 41904
Change 23.0 %
ℹ️ 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 -w "G") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -w "G") [code: ok]

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

"copyright (c) 2011-2015, cyreal (www.cyreal.org a@cyreal.org)"

which does not match the expected format, similar to:

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

[8] ofl/sumana
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.08% 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]

🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Marathi 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 32 sample text (This suggests there's something wrong with the sample text):
  • ‍ (U+200D) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Nepali 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 21 sample text (This suggests there's something wrong with the sample text):
  • ‍ (U+200D) [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]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Sumana-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 © 2015 by cyreal. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Sumana-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 © 2015 by cyreal. all rights reserved." [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 © 2015 by cyreal. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Sumana-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 © 2015 by cyreal. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Sumana-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 © 2015 by cyreal. all rights reserved." [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 © 2015 by cyreal. all rights reserved." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sumana/Sumana-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: 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+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2074 SUPERSCRIPT FOUR: try adding math
  • U+2116 NUMERO SIGN: try adding cyrillic
    ... and 15 others

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

  • ⚠️ WARN ofl/sumana/Sumana-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: 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+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2074 SUPERSCRIPT FOUR: try adding math
  • U+2116 NUMERO SIGN: try adding cyrillic
    ... and 15 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, devanagari, latin, latin-ext [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]

ℹ️ 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/sumana/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[34] ofl/sumana/Sumana-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+021A [code: missing-case-counterparts]
🔥 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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/DESCRIPTION has trailing spaces that must be removed:
    `Sumana is designed by Alexei Vanyashin for Cyreal. Latin design is based on Lora by Cyreal.

This Font Software is licensed under the SIL Open Font License
Version 1.1.
` [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/DESCRIPTION has trailing spaces that must be removed:
    `Sumana is designed by Alexei Vanyashin for Cyreal. Latin design is based on Lora by Cyreal.

This Font Software is licensed under the SIL Open Font License
Version 1.1.
` [code: trailing-space]

🔥 FAIL Ensure indic fonts have the Indian Rupee Sign glyph. (rupee)
  • 🔥 FAIL Font appears to be an Indic font but is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9. [code: missing-rupee]
🔥 FAIL Ensure component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • Aacute (component Grave)
  • Adieresis (component period)
  • Adieresis (component period)
  • Eacute (component Grave)
  • Edieresis (component period)
  • Edieresis (component period)
  • Iacute (component Grave)
  • Idieresis (component period)
  • Idieresis (component period)
    ... and 45 others [code: transformed-components]
🔥 FAIL Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • nonmarkingreturn [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: ch_va-deva, eMatra-deva, tta-deva, fa-deva, jjya-deva, gga-deva, ng_g_ra-deva, d_ba_uMatra-deva, sh_ca-deva, d_bha-deva, kh_la-deva.loclMAR, ng_gh_ra-deva, ph_la-deva.loclMAR, ng_ga-deva, d_bha_uMatra-deva, ha_uuMatra-deva, ha_rVocalicMatra-deva, d_gh_ya-deva, j_ra-deva, ta-deva, uu-deva, llVocalic-deva, k-deva, n_n_ya-deva, k_ss-deva, h-deva, j_j-deva.alt, jh-deva.loclNEP, ny_ra-deva, gh_ra-deva, avagraha-deva, iMatra-deva.20, udatta-deva, d_gha_uuMatra-deva, h_ma-deva, au-deva, sh_ra-deva, iMatra_reph_anusvara-deva.30, ch_na-deva, s_ra-deva, dh_r-deva, t-deva, iMatra-deva.05, tth_ttha-deva, m-deva, dda-deva, h_la-deva, four-deva, visarga-deva, eShortMatra-deva, uueMatra-deva, acute-deva, ng_k_t_ta-deva, s_t_ra-deva, d_va_uuMatra-deva, d_dha-deva, sh_r_ya-deva, gh_r-deva, z-deva, ddh_ddha-deva, gha-deva, nnn-deva, na-deva, d-deva, three-deva, k_va-deva, n_bha-deva, v_n-deva, ga-deva, d_da_uuMatra-deva, m_la-deva.loclMAR, jha-deva.loclNEP, iiMatra_reph_anusvara-deva.02, jh-deva, va-deva, bha-deva, ya-deva, d_gha-deva, oe-deva, iMatra_reph-deva.20, d_dha_uuMatra-deva, jja-deva, d_ra-deva, aw-deva, nn_ra-deva, oCandraMatra-deva, ss_tta-deva, auMatra_anusvara-deva, eShort-deva, ddh-deva, nna-deva, tt_ttha-deva, u-deva, anusvara-deva, ka-deva, sha-deva, llla-deva, p_ra-deva, l-deva, k_ss_ya-deva, d_ra_uuMatra-deva, iMatra_reph_anusvara-deva.15, om-deva, tth_na-deva, ddha-deva, eight-deva, awVowel-deva, d_va-deva, nukta-deva, h_ya-deva, d_r_ya-deva, seven-deva, nine-deva, kh-deva, s-deva, dd_tta-deva, k_la-deva.loclMAR, d_na-deva, c_la-deva.loclMAR, t_r_ya-deva, ra_uMatra-deva, ra_uuMatra-deva, l_la-deva.loclMAR, tt-deva, auMatra_reph_anusvara-deva, c_ca-deva, h_va-deva, k_ss_ra-deva, m_n-deva, iMatra_reph-deva.10, d_dh_r_ya-deva, sh-deva.ss02, two-deva, g_ra-deva, v_ha-deva, ng_k_ra-deva, ss_tt_ya-deva, one-deva, rakar-deva, ph-deva, tha-deva, ss_tth_va-deva, ja-deva, ha-deva, sh_na-deva, ng_kha-deva, c_ch_va-deva, d_dha_uMatra-deva, k_ra-deva.alt, p_jha-deva, tt_tt_ya-deva, kh_na-deva, t_t-deva, v_r-deva, sh-deva, ba-deva, khh-deva, auMatra-deva, oMatra-deva, prishthaMatraE-deva, iMatra_reph-deva.0, six-deva, d_rVocalicMatra-deva, kha-deva, gh-deva, jha_uMatra-deva, la-deva.loclMAR, dddha-deva, g-deva, bh_r-deva, y-deva, iMatra-deva.0, ue-deva, rVocalicMatra-deva, y_r-deva, c-deva, aiMatra_reph_anusvara-deva, rakar_uMatra-deva, dha-deva, oMatra_anusvara-deva, iMatra-deva.30, llVocalicMatra-deva, rr-deva, qa-deva, v-deva, gh_na-deva, iMatra-deva.02, candraBindu-deva, d_da_uMatra-deva, iMatra_reph_anusvara-deva.0, ghha-deva, t_ta-deva, da_uuMatra-deva, ra-deva, eMatra_reph-deva, k_ra-deva, d_bha_uuMatra-deva, yya-deva, pa-deva, v_ra-deva, ss_tth_ya-deva, nga-deva, reph-deva, anusvara-deva.001, glottalstop-deva, rrVocalicMatra-deva, aa-deva, rVocalic-deva, d_d_ya-deva, lVocalic-deva, oShort-deva, dd_gha-deva, d_ba_uuMatra-deva, i-deva, ng_ma-deva, dd_ya-deva, da-deva, oCandra-deva, ooe-deva, j_ny-deva, iiMatra_reph-deva, iMatra_reph-deva.08, na-deva.post2, n_na-deva, iMatra-deva, dd_dd_ya-deva, ra-deva.post2, a-deva, ch-deva, dd_na-deva, nn-deva, g_r_ya-deva, tt_va-deva, cha-deva, g_la-deva.loclMAR, iMatra_reph_anusvara-deva, auMatra_reph-deva, p_la-deva.loclMAR, iMatra_reph_anusvara-deva.03, d_ra_uMatra-deva, d_ga_uuMatra-deva, c_ca-deva.alt, ii-deva, rrVocalic-deva, d_v_ya-deva, k_ssa-deva, d_bh_ya-deva, j-deva, ghh-deva, iMatra_reph-deva.15, iMatra_reph_anusvara-deva.01, iMatra_reph_anusvara-deva.20, iMatra_reph-deva.30, aiMatra_reph-deva, reph_anusvara-deva, rakar_uuMatra-deva, dd_ddha-deva, p_ta-deva, n_ra-deva, anudatta-deva, ttha-deva, lla-deva, h_na-deva, nnna-deva, iMatra_reph_anusvara-deva.25, iMatra_reph_anusvara-deva.08, candraBindu-deva.imatra, k_ka-deva, h_nna-deva, oShortMatra-deva, f-deva, aiMatra-deva, d_ga_uMatra-deva, ddh_ddh_ya-deva, o-deva, ai-deva, sh-deva.loclMAR, aiMatra_anusvara-deva, iiMatra-deva.02, ma-deva, ng_k-deva, j_nya-deva, m_ra-deva, k_t_ta-deva, b_ra-deva, five-deva, ng-deva, dd-deva, ya-deva2.post, c_ra-deva, iMatra_reph-deva.02, tth_tth_ya-deva, ss-deva, tt_ddha-deva, oeMatra-deva, h_ra-deva, sha-deva.loclMAR, sa-deva, iMatra-deva.01, jha-deva, iMatra-deva.10, halant-deva, la-deva, p-deva, dh_ra-deva, ha_uMatra-deva, iMatra_reph_anusvara-deva.10, ca-deva, bh_n-deva, iMatra_reph-deva.25, ll-deva, ddda-deva, k_ss_ma-deva, d_dh_ya-deva, khha-deva, t_ra-deva.alt, ssa-deva, nya-deva, ddh_ya-deva, t_ra-deva, th_ra-deva, t_r_ya-deva.alt, iMatra_reph-deva, g_n_ya-deva, v_la-deva.loclMAR, d_na_uuMatra-deva, ss_ttha-deva, b_ja-deva, eCandra-deva, gh_la-deva.loclMAR, g_n-deva, iMatra_reph-deva.01, iMatra_reph_anusvara-deva.02, iMatra-deva.08, zero-deva, five-deva.loclNEP, dbldanda-deva, iMatra-deva.25, ueMatra-deva, da_uMatra-deva, bba-deva, va-deva.post, zha-deva, rha-deva, ng_ka-deva, l_ra-deva, sh_r-deva, ny_ja-deva, lVocalicMatra-deva, eight-deva.loclNEP, d_b_ra-deva, d_ya-deva, j_r-deva, iMatra-deva.03, d_ga-deva, reph-deva.loclMAR, eMatra_anusvara-deva, tt_tta-deva, d_g_ra-deva, bh_ra-deva, sh_va-deva, n-deva, sh_la-deva.loclMAR, y_ra-deva, ny-deva, d_ma-deva, bh-deva, zha-deva.loclNEP, y_n-deva, d_gha_uMatra-deva, b-deva, q-deva, ya-deva.post, bh_la-deva.loclMAR, t_r-deva, j_ny_ra-deva, iiMatra_reph_anusvara-deva, kh_ra-deva, iMatra_reph_anusvara-deva.05, iMatra-deva.15, g_r-deva, eCandraMatra-deva, rr_ya-deva, dd_dda-deva, dh-deva, oMatra_reph-deva, d_na_uMatra-deva, iMatra_reph-deva.05, k_ra-deva.loclNEP, j_ja-deva.alt, ng_k_ssa-deva, d_va_uMatra-deva, p_tta-deva, b_la-deva.loclMAR, dd_ma-deva, ddh_na-deva, tth_ya-deva, uue-deva, tt_na-deva, rr_ha-deva, m_r-deva, aCandra-deva, ny_ca-deva, ss_tt_va-deva, lll-deva, iiMatra-deva, oMatra_reph_anusvara-deva, jh_ra-deva, d_da-deva, d_ba-deva, s_tha-deva, th-deva, pha-deva, ph_ra-deva, tth-deva, g_na-deva, f_ra-deva, n_n-deva, iiMatra_reph-deva.02, iMatra_reph-deva.03, ss_ra-deva, aaMatra-deva, za-deva, ng_gha-deva, danda-deva, rra-deva, abbreviation-deva, tt_ya-deva, uMatra-deva, uuMatra-deva, e-deva, eMatra_reph_anusvara-deva, grave-deva, ch_la-deva.loclMAR, n_ma-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • 🔥 FAIL These glyph names occur more than once: "nonmarkingreturn" [code: duplicated-glyph-names]

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

🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * tr_Latn (Turkish)
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: * cs_Latn (Czech)
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: * is_Latn (Icelandic)
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: * cy_Latn (Welsh)
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: * es_Latn (Spanish)
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: * hr_Latn (Croatian)
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: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̄, ̌, ̨, ̇
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: għ, Ċ, ħ, Ħ, Ġ, ġ, ċ, GĦ
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: * sq_Latn (Albanian)
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: * sv_Latn (Swedish)
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: * en_Latn (English)
The following mark characters are missing from the font: ̈, ̀, ́, ̃, ̧, ̂
Mandatory orthography codepoints: * ro_Latn (Romanian)
The following base characters are missing from the font: ț
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: * hu_Latn (Hungarian)
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: ̀, ́, ̊, ̈, ̂
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
The following auxiliary characters are missing from the font: ij
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * 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: * 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: * 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: ţ
The following auxiliary characters are missing from the font: ț
The following auxiliary 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: ĭ
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: ŭ
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry DESCRIPTION on platform 1 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry DESCRIPTION on platform 3 contains a line-break. [code: line-break]

  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 3 contains a line-break. [code: line-break]

🔥 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:
  • commaaccent
  • uMatra-deva
  • uuMatra-deva
  • rVocalicMatra-deva
  • rrVocalicMatra-deva
  • lVocalicMatra-deva
  • llVocalicMatra-deva
  • eCandraMatra-deva
  • candraBindu-deva
    ... and 6 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sumana Sumana
Subfamily Name Regular Regular
Full Name Sumana Sumana Regular
Postscript Name Sumana-Regular Sumana-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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '0.94' [code: parse-error]
🔥 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.0149994 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+093A (oeMatra-deva)
  • U+0952 (anudatta-deva)
  • U+0953 (grave-deva)
  • U+0954 (acute-deva)
  • U+0956 (ueMatra-deva)
  • U+0957 (uueMatra-deva) [code: mark-chars]
⚠️ 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:

  • Zacute (U+0179): found 3, expected one of: [2, 4, 6]
  • Zdotaccent (U+017B): found 3, expected one of: [2, 4, 6]
  • eacute (U+00E9): found 4, expected one of: [2, 3, 6]
  • ecaron (U+011B): found 4, expected one of: [2, 3, 6]
  • ecircumflex (U+00EA): found 4, expected one of: [2, 3, 6]
  • edieresis (U+00EB): found 5, expected one of: [3, 4, 7]
  • edotaccent (U+0117): found 4, expected one of: [2, 3, 6]
  • egrave (U+00E8): found 4, expected one of: [2, 3, 6]
  • emacron (U+0113): found 4, expected one of: [2, 3, 6]
    ... and 50 others [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 592 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=542: less
    width=559: notequal
    width=515: plus
    width=541: greater
    width=576: plusminus
    width=264: divide
    width=552: multiply
    width=579: lessequal, greaterequal [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • Aacute.001
  • k_ra-deva.alt
  • c_ca-deva.alt
  • j_ja-deva.alt
  • t_ra-deva.alt
  • t_r_ya-deva.alt
  • k_la-deva.loclMAR
  • kh_la-deva.loclMAR
  • g_la-deva.loclMAR
    ... and 24 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a path with no bounds (probably a single point)
  • Aacute (U+00C1) has a counter-clockwise outer contour
  • Abreve (U+0102) has a path with no bounds (probably a single point)
  • Acircumflex (U+00C2) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Agrave (U+00C0) has a path with no bounds (probably a single point)
  • Amacron (U+0100) has a path with no bounds (probably a single point)
  • Atilde (U+00C3) has a path with no bounds (probably a single point)
  • Cacute (U+0106) has a path with no bounds (probably a single point)
    ... and 204 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • A (U+0041): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Aacute (U+00C1): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Abreve (U+0102): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Acircumflex (U+00C2): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Adieresis (U+00C4): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Agrave (U+00C0): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Amacron (U+0100): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Aogonek (U+0104): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
  • Aring (U+00C5): Line(Line { p0: (417.0, 220.0), p1: (166.0, 214.0) })/Line(Line { p0: (166.0, 214.0), p1: (169.0, 214.0) }) = 1.3693594409071184 degrees
    ... and 40 others [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:
  • D (U+0044): Line(Line { p0: (48.0, 700.0), p1: (291.0, 701.0) }) (angle: 0.24 degrees, expected: 0.00 degrees)
  • Eth (U+00D0): Line(Line { p0: (49.0, 700.0), p1: (292.0, 701.0) }) (angle: 0.24 degrees, expected: 0.00 degrees)
  • Dcaron (U+010E): Line(Line { p0: (48.0, 700.0), p1: (291.0, 701.0) }) (angle: 0.24 degrees, expected: 0.00 degrees)
  • Dcroat (U+0110): Line(Line { p0: (49.0, 700.0), p1: (292.0, 701.0) }) (angle: 0.24 degrees, expected: 0.00 degrees)
  • E (U+0045): Line(Line { p0: (218.0, 386.0), p1: (392.0, 385.0) }) (angle: -0.33 degrees, expected: 0.00 degrees)
  • Eacute (U+00C9): Line(Line { p0: (218.0, 386.0), p1: (392.0, 385.0) }) (angle: -0.33 degrees, expected: 0.00 degrees)
  • Ecaron (U+011A): Line(Line { p0: (218.0, 386.0), p1: (392.0, 385.0) }) (angle: -0.33 degrees, expected: 0.00 degrees)
  • Ecircumflex (U+00CA): Line(Line { p0: (218.0, 386.0), p1: (392.0, 385.0) }) (angle: -0.33 degrees, expected: 0.00 degrees)
  • Edieresis (U+00CB): Line(Line { p0: (218.0, 386.0), p1: (392.0, 385.0) }) (angle: -0.33 degrees, expected: 0.00 degrees)
    ... and 156 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 is 'UKWN', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sumana-Regular.ttf
Dehinted Size 175368
Hinted Size 211548
Increase 36180
Change 20.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 -w "G") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -w "G") [code: ok]

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
52 58 17 180 119
14% 16% 5% 48% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright 2015 by carolina giovagnoli. all rights reserved."

which does not match the expected format, similar to:

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

[3] ofl/sura/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
⚠️ 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)
[1] ofl/sura/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Sura" does not match post_script_name="Sura-Regular". [code: mismatch]

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

[31] ofl/sura/Sura-Bold.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+00E4 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E8 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E2 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F5 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E3 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FB [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F3 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F2 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F4 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00EA [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FA [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F6 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00EB [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E0 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FC [code: missing-case-counterparts]

🔥 FAIL Check if each glyph has the recommended amount of contours. (contour_count)
  • 🔥 FAIL The following glyphs have no contours even though they were expected to have some:
  • uniA78C (U+A78B): found 0, expected one of: [1]
  • uniA78B (unencoded): found 0, expected one of: [1] [code: no-contour]
🔥 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 component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • invertedCandraBindu-deva (component eCandraMatra-deva) [code: transformed-components]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: pa-deva, avagraha-deva, eight-deva.comb, sh_la-deva, doubleCandraBindu_halant-deva, au-deva, g_na-deva, dd_ddha-deva, grave-deva, dd_ma-deva, h_va-deva, dh-deva, th-deva, iMatra_reph-deva.12, p_ra-deva, ch-deva, rakar_uMatra-deva, five-deva, eLongCandra-deva, kh-deva, iMatra-deva.15, iMatra_reph_anusvara-deva.04, lll-deva, aiMatra_candraBindu-deva, aw-deva, prishthaMatraE-deva, ghha-deva, va-deva, th_ra-deva, eCandraMatra-deva, udatta-deva, one-deva, h_na-deva, aaMatra-deva, ny_ca-deva, ng-deva, k_ra-deva, nn-deva, seven-deva, c_la-deva.loclMAR, tha-deva, iMatra-deva.09, uueMatra-deva, iMatra_reph-deva.04, iMatra_reph-deva.08, k_va-deva, tt-deva, glottalstop-deva, iMatra_reph-deva.13, tt_ya-deva, candraBindu-deva, da_uMatra-deva.001, eShortMatra-deva, iMatra_reph_anusvara-deva.10, ttha-deva, dbldanda-deva, uue-deva, avagraha-deva.comb, headstroke-deva, gh-deva, j_ny-deva, auMatra_reph-deva, k_ss-deva, khh-deva, aiMatra_reph_anusvara-deva, rakar_uuMatra-deva, eMatra_anusvara-deva, pa-deva.comb, ddh_ya-deva, c_ra-deva, y-deva, l_la-deva.loclMAR, ll-deva, iMatra-deva.01, h_ra-deva, bba-deva, jha-deva.loclNEP, c_ca-deva.alt, rVocalicMatra-deva, ddh-deva, iMatra_reph_anusvara-deva.13, b_la-deva, ha_uMatra-deva, oShortMatra-deva, eMatra_candraBindu-deva, ta-deva, highspacingdot-deva, oMatra_anusvara-deva, k_ra-deva.loclNEP, iMatra_reph_anusvara-deva.03, i-deva, rr-deva, ghh-deva, u-deva.comb, t_ta-deva, ue-deva, p-deva, oe-deva, t-deva, iMatra_reph-deva.09, sh_na-deva, ch_la-deva.loclMAR, iMatra_reph_anusvara-deva.08, d_bha_uMatra-deva, ja-deva, d_na-deva, eShortMatra_candraBindu-deva.001, tt_ttha-deva, sh_r-deva, g_ra-deva, ha-deva.alt, j_nya-deva, d_dh_ya-deva, visarga-deva, iMatra-deva.12, iMatra_reph-deva.15, two-deva, zha-deva.loclNEP, tt_va-deva, rha-deva, eCandra-deva, sh_ra-deva, cha-deva, sh_va-deva, iMatra_reph_anusvara-deva.11, h_la-deva, j_ra-deva, n-deva, pha-deva, eShort-deva, k_la-deva, j-deva, bha-deva, ss_ttha-deva, iMatra_reph-deva.00, ddh_ddha-deva, ya-deva.conecta, iMatra_reph-deva.07, b-deva, p_ta-deva, v_r-deva, oeMatra-deva, iiMatra_candraBindu-deva.01, iMatra_reph_anusvara-deva.14, t_r-deva, tta-deva, pushpika-deva, kh_ra-deva, llVocalic-deva, iMatra_reph_anusvara-deva.12, uu-deva, oMatra_candraBindu-deva, v_ra-deva, dd_ya-deva, j_j-deva, reph_anusvara-deva, llla-deva, iMatra-deva.04, a-deva.comb, awMatra-deva, iMatra-deva.11, rra-deva, six-deva.comb, vi-deva, ng_k-deva, tt_tta-deva, jha-deva, iMatra_reph-deva.11, candraBindu-deva.alt, p_la-deva, sh-deva.ss02, iiMatra_reph-deva.01, llVocalic-deva.loclMAR, s_ra-deva, ng_ma-deva, iMatra-deva, d_gha-deva, l-deva, q-deva, h_ma-deva, ph_ra-deva, la-deva.loclMAR, iMatra_reph_anusvara-deva.01, iiMatra_reph_anusvara-deva.01, five-deva.comb, iMatra-deva.13, oShort-deva, aiMatra_reph-deva, s_t_ra-deva, m_ra-deva, rrVocalicMatra-deva, nnna-deva, iMatra-deva.10, dd_gha-deva, dddha-deva, o-deva, four-deva, six-deva, lVocalic-deva, iMatra-deva.05, jh_ra-deva, d_va-deva, k_la-deva.loclMAR, dd_dd_ya-deva, nga-deva, sh-deva, lVocalicMatra-deva, ny_ja-deva, iiMatra-deva.01, ooe-deva, d_ga_uMatra-deva, tth-deva, tth_ya-deva, ddda-deva, c-deva, t_r_ya-deva, ssa-deva, one-deva.comb, gh_la-deva, iiMatra_reph-deva, e-deva, nine-deva, ss_ra-deva, c_la-deva, dd-deva, dd_dda-deva, eShortMatra_reph-deva, ss_tta-deva, sh_ca-deva, seven-deva.comb, ra-deva.comb, eight-deva.loclNEP, iMatra-deva.06, d_dha_uMatra-deva, iMatra_reph_anusvara-deva.06, ng_kha-deva, four-deva.comb, iMatra-deva.07, iMatra_reph-deva.06, dd_tta-deva, ha-deva, jja-deva, n_ra-deva, k_ss_ra-deva, kha-deva, bh_ra-deva, vi-deva.comb, iiMatra_candraBindu-deva, sha-deva, iMatra_reph-deva.01, iMatra_reph_anusvara-deva, reph-deva.alt, zero-deva, ai-deva, qa-deva, ch_va-deva, oCandraMatra-deva, za-deva, danda-deva, ra_uuMatra-deva, nnn-deva, nukta-deva, j_ja-deva, ny_ra-deva, d_ba_uMatra-deva, ss-deva, oMatra_reph_anusvara-deva, iMatra_reph_anusvara-deva.15, aiMatra-deva, sha-deva.loclMAR, d_b_ra-deva, auMatra-deva, l_la-deva, d_g_ra-deva, oMatra_reph-deva, anusvara-deva, invertedCandraBindu-deva, rrVocalic-deva, khha-deva, nine-deva.comb, ddh_na-deva, d_bha-deva, ng_ka-deva, ph-deva, d_gha_uMatra-deva, h-deva, jjya-deva, ka-deva, ph_r_nukta-deva, five-deva.loclNEP, sa-deva, d_bh_ya-deva, ii-deva, dh_ra-deva, eShortMatra_anusvara-deva, iMatra-deva.02, iMatra-deva.08, aiMatra_anusvara-deva, d_ya-deva, ra-deva, tth_na-deva, anusvara-deva.alt, ny-deva, t_ra-deva, iMatra-deva.14, iMatra_reph_anusvara-deva.09, d_ba-deva, d_r_ya-deva, iMatra_reph-deva, jh-deva.loclNEP, iMatra_reph_anusvara-deva.07, three-deva, jh-deva, tth_tth_ya-deva, iiMatra_reph_anusvara-deva, d_ma-deva, k_ta-deva, two-deva.comb, oMatra-deva, p_la-deva.loclMAR, m-deva, d_rVocalicMatra-deva, t_t-deva, nna-deva, ka-deva.comb, k-deva, candraBindu_halant-deva, ddha-deva, tt_na-deva, dd_na-deva, aa-deva, a-deva, two_candraBindu-deva, reph-deva.imatra, b_r-deva, dda-deva.001, gh_ra-deva, d_va_uMatra-deva, la-deva, d_ra_uMatra-deva, tt_ddha-deva, c_ca-deva, aCandra-deva, d_dha-deva, eMatra_reph-deva, y_ra-deva, ya-deva, bh-deva, acute-deva, ueMatra-deva, caret-deva, iMatra-deva.00, rakar-deva, da-deva, ga-deva, dda-deva, oCandra-deva, d_ddh_r_ya-deva, d_ra-deva, ba-deva, uMatra-deva, gga-deva, reph_anusvara-deva.imatra, d_da_uMatra-deva, da_uMatra-deva, nn_ra-deva, d_na_uMatra-deva, halant-deva, p_tta-deva, l_ra-deva, s-deva, iiMatra-deva, three_candraBindu-deva, b_ra-deva, ddh_ddh_ya-deva, yya-deva, sh_la-deva.loclMAR, iMatra_reph-deva.03, u-deva, reph_auMatra_anusvara-deva, n_na-deva, iMatra_reph_anusvara-deva.02, uuMatra-deva, sh_rVocalic-deva, iMatra_reph_anusvara-deva.05, three-deva.comb, fa-deva, d_d_ya-deva, h_nna-deva, j_ny_ra-deva, ma-deva, ng_k_ssa-deva, tth_ttha-deva, d-deva, eMatra_reph_anusvara-deva, h_ya-deva, iMatra_reph-deva.02, v-deva, reph-deva.loclMAR, auMatra_reph_anusvara-deva, nya-deva, ng_ga-deva, lVocalic-deva.loclMAR, f-deva, gapfiller-deva, reph-deva, abbreviation-deva, eShortMatra_candraBindu-deva, rVocalic-deva, d_ga-deva, k_ka-deva, reph_candraBindu-deva, auMatra_candraBindu-deva, jha_uMatra-deva, sh-deva.loclMAR, g_la-deva, auMatra_anusvara-deva, tt_tt-deva, anudatta-deva, ca-deva, z-deva, ha_rVocalicMatra-deva, gha-deva, ph_laph_la-deva.loclMAR, ra_uMatra-deva, d_y-deva, iMatra_reph_anusvara-deva.00, ooeMatra-deva, oShortMatra_candraBindu-deva, spacingCandraBindu-deva, iMatra_reph-deva.05, lla-deva, ph_la-deva, avagraha_candraBindu-deva, aShort-deva, na-deva.comb, ng_gha-deva, t_ra-deva.alt, zero-deva.comb, eMatra-deva, tt_tt_ya-deva, ka-deva.001, d_v_ya-deva, na-deva, zha-deva, d_da-deva, eight-deva, g-deva, dha-deva, k_ssa-deva, iiMatra_anusvara-deva, iMatra-deva.03, iMatra_reph-deva.10, llVocalicMatra-deva, iMatra_reph-deva.14, om-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]

🔥 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-deva
  • candraBindu-deva
  • anusvara-deva
  • uMatra-deva
  • uuMatra-deva
  • rVocalicMatra-deva
  • eCandraMatra-deva
  • eShortMatra-deva
  • eMatra-deva
    ... and 9 others [code: unattached-dotted-circle-marks]
🔥 FAIL Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '1.00' [code: parse-error]
🔥 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 mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0953 (grave-deva)
  • U+0954 (acute-deva)
  • U+A8E0 (zero-deva.comb)
  • U+A8E1 (one-deva.comb)
  • U+A8E2 (two-deva.comb)
  • U+A8E3 (three-deva.comb)
  • U+A8E4 (four-deva.comb)
  • U+A8E5 (five-deva.comb)
  • U+A8E6 (six-deva.comb)
    ... and 11 others [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks. (opentype/GDEF_non_mark_chars)
  • ⚠️ WARN The following non-mark characters should not be in the GDEF mark glyph class:
  • U+0903 (visarga-deva)
  • U+A8F3 (candraBindu_halant-deva) [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:
  • visarga-deva [code: spacing-mark-glyphs]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1149 but it should be 1175 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 985 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=1138: multiply
    width=1198: logicalnot, equal
    width=1189: plus
    width=1230: plusminus
    width=1210: divide [code: width-outliers]
⚠️ WARN Name table records must not have trailing spaces. (name/trailing_spaces)
  • ⚠️ WARN Name table record 3/1/1033/UNIQUE_ID has double spaces:
    1.002;HT ;Sura-Bold [code: double-spaces]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • k.small
  • l.small
  • ka-deva.001
  • dda-deva.001
  • d_ddh_r_ya-deva
  • ph_r_nukta-deva
  • da_uMatra-deva.001
    ... and 86 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • dollar (U+0024): X=281,Y=1 (should be at baseline 0?)
    • nine (U+0039): X=659.5,Y=-1 (should be at baseline 0?)
    • question (U+003F): X=227.5,Y=1469.5 (should be at cap-height 1468?)
    • A (U+0041): X=797,Y=1466 (should be at cap-height 1468?)
    • ordmasculine (U+00BA): X=377,Y=1470 (should be at cap-height 1468?)
    • anusvara-deva (U+0902): X=48.5,Y=1467.5 (should be at cap-height 1468?)
    • qa-deva (U+0958): X=297,Y=-2 (should be at baseline 0?)
    • vi-deva.comb (U+A8F4): X=680,Y=1466 (should be at cap-height 1468?)
    • tt_na-deva: X=180,Y=-2 (should be at baseline 0?)
      ... and 15 others [code: found-misalignments]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • exclam (U+0021) has a counter-clockwise outer contour
  • quotedbl (U+0022) has a counter-clockwise outer contour
  • quotedbl (U+0022) has a counter-clockwise outer contour
  • percent (U+0025) has a counter-clockwise outer contour
  • percent (U+0025) has a counter-clockwise outer contour
  • quotesingle (U+0027) has a counter-clockwise outer contour
  • comma (U+002C) has a counter-clockwise outer contour
  • period (U+002E) has a counter-clockwise outer contour
  • zero (U+0030) has a counter-clockwise outer contour
    ... and 51 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • paragraph (U+00B6): Quad(QuadBez { p0: (1126.5, 1448.0), p1: (1186.0, 1452.0), p2: (1186.0, 1454.0) })/Line(Line { p0: (1186.0, 1454.0), p1: (1196.0, 1288.0) }) = 3.4473868518651964 degrees
  • four-deva (U+096A): Quad(QuadBez { p0: (481.0, 829.0), p1: (542.0, 884.0), p2: (539.0, 881.0) })/Quad(QuadBez { p0: (539.0, 881.0), p1: (611.0, 949.0), p2: (642.5, 995.5) }) = 1.6365770416166923 degrees
  • k_ss_ra-deva: Line(Line { p0: (1202.0, 784.0), p1: (1204.0, 768.0) })/Line(Line { p0: (1204.0, 768.0), p1: (1204.0, 1098.0) }) = 7.125016348901757 degrees
  • j_ra-deva: Quad(QuadBez { p0: (939.0, 126.0), p1: (1034.0, 207.0), p2: (1192.0, 346.0) })/Quad(QuadBez { p0: (1192.0, 346.0), p1: (1190.0, 344.0), p2: (1231.0, 379.0) }) = 3.660398547875368 degrees
  • ny_ja-deva: Quad(QuadBez { p0: (455.0, 332.0), p1: (549.0, 357.0), p2: (535.0, 352.0) })/Quad(QuadBez { p0: (535.0, 352.0), p1: (832.0, 430.0), p2: (999.0, 469.0) }) = 4.938752407455477 degrees [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:
  • numbersign (U+0023): Line(Line { p0: (834.0, 471.0), p1: (1079.0, 473.0) }) (angle: 0.47 degrees, expected: 0.00 degrees)
  • numbersign (U+0023): Line(Line { p0: (66.0, 463.0), p1: (313.0, 465.0) }) (angle: 0.46 degrees, expected: 0.00 degrees)
  • numbersign (U+0023): Line(Line { p0: (346.0, 672.0), p1: (106.0, 670.0) }) (angle: -179.52 degrees, expected: -180.00 degrees)
  • numbersign (U+0023): Line(Line { p0: (1120.0, 680.0), p1: (866.0, 678.0) }) (angle: -179.55 degrees, expected: -180.00 degrees)
  • ddha-deva (U+0922): Line(Line { p0: (889.0, 735.0), p1: (584.0, 737.0) }) (angle: 179.62 degrees, expected: 180.00 degrees)
  • da-deva (U+0926): Line(Line { p0: (905.0, 709.0), p1: (600.0, 711.0) }) (angle: 179.62 degrees, expected: 180.00 degrees)
  • rha-deva (U+095D): Line(Line { p0: (889.0, 735.0), p1: (584.0, 737.0) }) (angle: 179.62 degrees, expected: 180.00 degrees)
  • caret-deva (U+A8FB): Line(Line { p0: (508.0, 1311.0), p1: (276.0, 1309.0) }) (angle: -179.51 degrees, expected: -180.00 degrees)
  • tt_ddha-deva: Line(Line { p0: (879.0, -70.0), p1: (588.0, -68.0) }) (angle: 179.61 degrees, expected: 180.00 degrees)
    ... and 19 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sura-Bold.ttf
Dehinted Size 122828
Hinted Size 148800
Increase 25972
Change 21.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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D latn -f none -w G) [code: ok]
[9] ofl/sura
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.01% 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]

🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Sura-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 2015 by carolina giovagnoli. all rights reserved." [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 2015 by carolina giovagnoli. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Sura-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 2015 by carolina giovagnoli. all rights reserved." [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 2015 by carolina giovagnoli. all rights reserved." [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/sura/Sura-Regular.ttf missing required codepoints:
  • 0x20AC: EURO SIGN
  • 0x2212: MINUS SIGN [code: missing-codepoints]
  • 🔥 FAIL ofl/sura/Sura-Bold.ttf missing required codepoints:
  • 0x20AC: EURO SIGN
  • 0x2212: MINUS SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sura/Sura-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+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam

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

  • ⚠️ WARN ofl/sura/Sura-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+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam

Or you can add the above codepoints to one of the subsets supported by the font: menu, devanagari, latin, latin-ext [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]

  • ⚠️ 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]
[32] ofl/sura/Sura-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1.0019989, name table: 1.003 [code: mismatch]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+00E0 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F2 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00EB [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F9 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E2 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00EA [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FB [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F4 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F6 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E4 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FC [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E8 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E1 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FD [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00E3 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00FA [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F3 [code: missing-case-counterparts]

  • 🔥 FAIL Missing case-swapping counterpart for U+00F5 [code: missing-case-counterparts]

🔥 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 component transforms do not perform scaling or rotation. (transformed_components)
  • 🔥 FAIL The following glyphs had components with scaling or rotation or inverted outline direction:
  • invertedCandraBindu-deva (component eCandraMatra-deva) [code: transformed-components]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: ddda-deva, eCandra-deva, dh_ra-deva, eShortMatra_candraBindu-deva.001, six-deva.comb, khha-deva, ng_k_ssa-deva, candraBindu-deva, iMatra-deva.13, iMatra-deva.00, ch-deva, anusvara-deva, spacingCandraBindu-deva, eShort-deva, ll-deva, iMatra_reph_anusvara-deva.07, nga-deva, d_bh_ya-deva, pha-deva, oShortMatra_candraBindu-deva, ss_ttha-deva, iMatra-deva.12, d_gha-deva, reph-deva, reph-deva.imatra, reph_anusvara-deva.imatra, seven-deva.comb, aw-deva, tth_ttha-deva, iMatra-deva.02, gh_ra-deva, uuMatra-deva, za-deva, lll-deva, oMatra_reph-deva, d_b_ra-deva, t_r-deva, dbldanda-deva, iMatra-deva.11, b_ra-deva, nya-deva, ch_la-deva.loclMAR, gha-deva, dd_gha-deva, uueMatra-deva, ss_ra-deva, pa-deva, iMatra_reph_anusvara-deva.14, tt_ya-deva, iMatra_reph-deva.14, lVocalic-deva.loclMAR, auMatra_candraBindu-deva, la-deva, six-deva, sh_ca-deva, sh_r-deva, k_ra-deva, ny_ja-deva, da-deva, b_r-deva, nn_ra-deva, n-deva, d_ra_uMatra-deva, two-deva.comb, ng_ma-deva, tt_ddha-deva, three-deva.comb, m_ra-deva, iMatra-deva.08, oMatra-deva, ph_la-deva, oMatra_reph_anusvara-deva, t-deva, rra-deva, iiMatra-deva, rVocalicMatra-deva, rr-deva, iMatra_reph_anusvara-deva.09, uue-deva, d_ba-deva, ca-deva, tth_na-deva, dd-deva, dd_na-deva, oMatra_anusvara-deva, gga-deva, dda-deva, ph_r_nukta-deva, ra_uuMatra-deva, aiMatra-deva, p_la-deva, n_na-deva, ra-deva, auMatra_anusvara-deva, uMatra-deva, iMatra_reph_anusvara-deva.08, iMatra_reph_anusvara-deva.02, th-deva, iMatra_reph_anusvara-deva.10, eShortMatra_reph-deva, h_na-deva, iMatra_reph-deva.03, q-deva, k_ka-deva, grave-deva, ka-deva.comb, nnn-deva, highspacingdot-deva, p_ra-deva, sh_ra-deva, ja-deva, gh-deva, ka-deva, na-deva.comb, oCandra-deva, c_la-deva.loclMAR, lVocalic-deva, ha-deva.alt, iMatra-deva.01, ooeMatra-deva, jh-deva, g_la-deva, h_va-deva, y-deva, eMatra-deva, iMatra_reph_anusvara-deva.01, jha_uMatra-deva, iMatra_reph-deva.05, four-deva.comb, pa-deva.comb, d_g_ra-deva, h_ya-deva, five-deva.loclNEP, eShortMatra_anusvara-deva, g_ra-deva, reph-deva.alt, oe-deva, j_ja-deva, j_ny_ra-deva, iMatra-deva.10, k-deva, ddh-deva, visarga-deva, aaMatra-deva, ph_ra-deva, eShortMatra-deva, h_ra-deva, k_la-deva, tt_tt-deva, n_ra-deva, tt-deva, d_gha_uMatra-deva, ddha-deva, d_dh_ya-deva, jjya-deva, headstroke-deva, p_tta-deva, om-deva, iMatra_reph-deva.15, eShortMatra_candraBindu-deva, one-deva.comb, sh-deva.loclMAR, reph_auMatra_anusvara-deva, jh-deva.loclNEP, kh_ra-deva, five-deva.comb, dd_tta-deva, k_ssa-deva, doubleCandraBindu_halant-deva, ya-deva, d_da_uMatra-deva, d_dha-deva, m-deva, ng-deva, g-deva, nukta-deva, p_la-deva.loclMAR, ssa-deva, s_ra-deva, iMatra_reph_anusvara-deva.06, iMatra_reph-deva.10, iMatra_reph-deva.12, d_va-deva, zero-deva.comb, vi-deva.comb, z-deva, k_ss_ra-deva, iMatra_reph_anusvara-deva.13, b-deva, aiMatra_reph-deva, k_ra-deva.loclNEP, llVocalic-deva.loclMAR, prishthaMatraE-deva, bha-deva, gapfiller-deva, t_ra-deva.alt, ss-deva, iiMatra_reph-deva, avagraha-deva, pushpika-deva, two-deva, c_ra-deva, d_na-deva, j-deva, tta-deva, a-deva, rha-deva, ny_ra-deva, h_ma-deva, la-deva.loclMAR, iiMatra_reph-deva.01, iMatra-deva.07, j_nya-deva, ph-deva, zero-deva, ooe-deva, nna-deva, u-deva.comb, dd_ma-deva, reph_anusvara-deva, ai-deva, three-deva, oShortMatra-deva, s-deva, iMatra_reph-deva.04, nn-deva, tt_va-deva, h_nna-deva, iMatra_reph_anusvara-deva.05, udatta-deva, iiMatra_candraBindu-deva.01, d_y-deva, va-deva, sh_na-deva, iiMatra-deva.01, h-deva, yya-deva, oMatra_candraBindu-deva, k_ss-deva, k_ta-deva, ueMatra-deva, jh_ra-deva, d_d_ya-deva, aa-deva, sha-deva, p-deva, ng_kha-deva, ng_ga-deva, aiMatra_candraBindu-deva, ii-deva, d_na_uMatra-deva, d_v_ya-deva, sh_va-deva, khh-deva, eMatra_anusvara-deva, zha-deva, iMatra_reph-deva.00, ng_ka-deva, eLongCandra-deva, d_ga_uMatra-deva, three_candraBindu-deva, nine-deva.comb, g_na-deva, ra-deva.comb, danda-deva, llVocalic-deva, reph-deva.loclMAR, tha-deva, d_ma-deva, oCandraMatra-deva, ddh_ddh_ya-deva, eight-deva, iMatra-deva.04, auMatra_reph-deva, dh-deva, dd_dd_ya-deva, iMatra-deva.05, eight-deva.loclNEP, nnna-deva, nine-deva, d_bha-deva, ph_laph_la-deva.loclMAR, sh_la-deva, llVocalicMatra-deva, ha_rVocalicMatra-deva, ghh-deva, sa-deva, d_r_ya-deva, iMatra_reph-deva, aiMatra_anusvara-deva, oShort-deva, abbreviation-deva, aCandra-deva, d_ga-deva, sh_la-deva.loclMAR, avagraha_candraBindu-deva, uu-deva, l_la-deva, iMatra_reph_anusvara-deva.00, jha-deva.loclNEP, tth-deva, o-deva, ha_uMatra-deva, lla-deva, gh_la-deva, j_ra-deva, iMatra-deva.15, tth_ya-deva, jha-deva, ka-deva.001, auMatra_reph_anusvara-deva, iMatra_reph_anusvara-deva.03, rVocalic-deva, ha-deva, d_ba_uMatra-deva, two_candraBindu-deva, ch_va-deva, l_ra-deva, p_ta-deva, sh-deva, eMatra_reph_anusvara-deva, d_bha_uMatra-deva, awMatra-deva, iMatra_reph-deva.09, dda-deva.001, na-deva, iMatra_reph-deva.13, ttha-deva, da_uMatra-deva, llla-deva, ya-deva.conecta, v-deva, t_r_ya-deva, bh_ra-deva, iMatra-deva.14, j_ny-deva, seven-deva, tt_tt_ya-deva, bba-deva, c_ca-deva.alt, u-deva, dd_ddha-deva, ny_ca-deva, t_t-deva, five-deva, tt_ttha-deva, l_la-deva.loclMAR, zha-deva.loclNEP, iMatra_reph-deva.02, ba-deva, invertedCandraBindu-deva, eight-deva.comb, anudatta-deva, one-deva, dd_dda-deva, sh-deva.ss02, iMatra_reph_anusvara-deva.15, da_uMatra-deva.001, k_la-deva.loclMAR, kh-deva, dha-deva, iMatra-deva.06, c-deva, tt_tta-deva, oeMatra-deva, rakar_uuMatra-deva, d_dha_uMatra-deva, i-deva, iMatra_reph-deva.06, iMatra_reph_anusvara-deva.12, th_ra-deva, iMatra_reph-deva.07, d_ya-deva, y_ra-deva, iMatra_reph_anusvara-deva.04, anusvara-deva.alt, c_la-deva, glottalstop-deva, sha-deva.loclMAR, fa-deva, ddh_ddha-deva, eMatra_reph-deva, candraBindu_halant-deva, candraBindu-deva.alt, vi-deva, iMatra_reph-deva.08, lVocalicMatra-deva, iMatra-deva, tt_na-deva, iMatra_reph-deva.01, ddh_na-deva, rakar_uMatra-deva, dd_ya-deva, auMatra-deva, d-deva, f-deva, sh_rVocalic-deva, four-deva, rrVocalicMatra-deva, iiMatra_candraBindu-deva, eCandraMatra-deva, qa-deva, tth_tth_ya-deva, cha-deva, d_va_uMatra-deva, s_t_ra-deva, d_ddh_r_ya-deva, iiMatra_reph_anusvara-deva, ga-deva, caret-deva, rakar-deva, au-deva, d_da-deva, t_ta-deva, k_va-deva, iMatra-deva.03, iMatra-deva.09, ue-deva, eMatra_candraBindu-deva, a-deva.comb, ghha-deva, l-deva, iMatra_reph-deva.11, t_ra-deva, e-deva, v_ra-deva, d_ra-deva, iMatra_reph_anusvara-deva.11, reph_candraBindu-deva, v_r-deva, aShort-deva, h_la-deva, d_rVocalicMatra-deva, ta-deva, halant-deva, bh-deva, dddha-deva, c_ca-deva, ny-deva, j_j-deva, ddh_ya-deva, ra_uMatra-deva, b_la-deva, rrVocalic-deva, acute-deva, ng_gha-deva, avagraha-deva.comb, iiMatra_reph_anusvara-deva.01, ng_k-deva, aiMatra_reph_anusvara-deva, ma-deva, jja-deva, iiMatra_anusvara-deva, kha-deva, iMatra_reph_anusvara-deva, ss_tta-deva

              A glyph name must be entirely comprised of characters
              from the following set: A-Z a-z 0-9 .(period) _(underscore).
              A glyph name must not start with a digit or period.
              There are a few exceptions such as the special glyph '.notdef'.
              The glyph names "twocents", "a1", and "_" are all valid,
              while "2cents" and ".twocents" are not.' [code: found-invalid-names]
    
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]

🔥 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-deva
  • candraBindu-deva
  • anusvara-deva
  • oeMatra-deva
  • uMatra-deva
  • uuMatra-deva
  • rVocalicMatra-deva
  • rrVocalicMatra-deva
  • eCandraMatra-deva
    ... and 11 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sura Sura
Subfamily Name Regular Regular
Full Name Sura Sura Regular
Postscript Name Sura-Regular Sura-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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '1.00' [code: parse-error]
🔥 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 mark characters are in GDEF mark glyph class. (opentype/GDEF_mark_chars)
  • ⚠️ WARN The following mark characters should be in the GDEF mark glyph class:
  • U+0953 (grave-deva)
  • U+0954 (acute-deva)
  • U+A8E0 (zero-deva.comb)
  • U+A8E1 (one-deva.comb)
  • U+A8E2 (two-deva.comb)
  • U+A8E3 (three-deva.comb)
  • U+A8E4 (four-deva.comb)
  • U+A8E5 (five-deva.comb)
  • U+A8E6 (six-deva.comb)
    ... and 11 others [code: mark-chars]
⚠️ WARN Check GDEF mark glyph class doesn't have characters that are not marks. (opentype/GDEF_non_mark_chars)
  • ⚠️ WARN The following non-mark characters should not be in the GDEF mark glyph class:
  • U+0903 (visarga-deva)
  • U+A8F3 (candraBindu_halant-deva) [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:
  • visarga-deva [code: spacing-mark-glyphs]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1083 but it should be 1099 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 1146 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=1101: multiply [code: width-outliers]
⚠️ WARN Name table records must not have trailing spaces. (name/trailing_spaces)
  • ⚠️ WARN Name table record 3/1/1033/UNIQUE_ID has double spaces:
    1.003;HT ;Sura-Regular [code: double-spaces]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • k.small
  • l.small
  • ka-deva.001
  • dda-deva.001
  • d_ddh_r_ya-deva
  • ph_r_nukta-deva
  • da_uMatra-deva.001
    ... and 86 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • nine (U+0039): X=606.5,Y=1 (should be at baseline 0?)
    • Q (U+0051): X=989,Y=2 (should be at baseline 0?)
    • X (U+0058): X=1444,Y=-2 (should be at baseline 0?)
    • X (U+0058): X=549,Y=-2 (should be at baseline 0?)
    • f (U+0066): X=666,Y=1466 (should be at cap-height 1464?)
    • g (U+0067): X=330,Y=-2 (should be at baseline 0?)
    • g (U+0067): X=330,Y=-2 (should be at baseline 0?)
    • ordmasculine (U+00BA): X=127,Y=1465.5 (should be at cap-height 1464?)
    • ordmasculine (U+00BA): X=578,Y=1465 (should be at cap-height 1464?)
      ... and 44 others [code: found-misalignments]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • exclam (U+0021) has a counter-clockwise outer contour
  • quotedbl (U+0022) has a counter-clockwise outer contour
  • quotedbl (U+0022) has a counter-clockwise outer contour
  • quotesingle (U+0027) has a counter-clockwise outer contour
  • parenright (U+0029) has a counter-clockwise outer contour
  • comma (U+002C) has a counter-clockwise outer contour
  • period (U+002E) has a counter-clockwise outer contour
  • zero (U+0030) has a counter-clockwise outer contour
  • six (U+0036) has a counter-clockwise outer contour
    ... and 45 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • au-deva (U+0914): Quad(QuadBez { p0: (1317.0, 1579.0), p1: (1471.0, 1579.0), p2: (1686.0, 1403.0) })/Quad(QuadBez { p0: (1686.0, 1403.0), p1: (1586.0, 1538.0), p2: (1490.5, 1609.5) }) = 14.167228837040584 degrees
  • aiMatra-deva (U+0948): Quad(QuadBez { p0: (174.0, 1579.0), p1: (328.0, 1579.0), p2: (543.0, 1403.0) })/Quad(QuadBez { p0: (543.0, 1403.0), p1: (443.0, 1538.0), p2: (347.5, 1609.5) }) = 14.167228837040584 degrees
  • auMatra-deva (U+094C): Quad(QuadBez { p0: (-233.0, 1579.0), p1: (-79.0, 1579.0), p2: (135.0, 1403.0) })/Quad(QuadBez { p0: (135.0, 1403.0), p1: (35.0, 1538.0), p2: (-60.5, 1609.5) }) = 14.03624346792643 degrees
  • auMatra_candraBindu-deva: Quad(QuadBez { p0: (-233.0, 1579.0), p1: (-79.0, 1579.0), p2: (135.0, 1403.0) })/Quad(QuadBez { p0: (135.0, 1403.0), p1: (35.0, 1538.0), p2: (-60.5, 1609.5) }) = 14.03624346792643 degrees
  • auMatra_reph-deva: Quad(QuadBez { p0: (-231.0, 1579.0), p1: (-77.0, 1579.0), p2: (137.0, 1403.0) })/Quad(QuadBez { p0: (137.0, 1403.0), p1: (37.0, 1538.0), p2: (-58.5, 1609.5) }) = 14.03624346792643 degrees
  • auMatra_reph_anusvara-deva: Quad(QuadBez { p0: (-223.0, 1579.0), p1: (-69.0, 1579.0), p2: (145.0, 1403.0) })/Quad(QuadBez { p0: (145.0, 1403.0), p1: (45.0, 1538.0), p2: (-50.0, 1609.5) }) = 14.03624346792643 degrees
  • auMatra_anusvara-deva: Quad(QuadBez { p0: (-229.0, 1579.0), p1: (-75.0, 1579.0), p2: (139.0, 1403.0) })/Quad(QuadBez { p0: (139.0, 1403.0), p1: (39.0, 1538.0), p2: (-56.5, 1609.5) }) = 14.03624346792643 degrees
  • aiMatra_candraBindu-deva: Quad(QuadBez { p0: (174.0, 1579.0), p1: (328.0, 1579.0), p2: (543.0, 1403.0) })/Quad(QuadBez { p0: (543.0, 1403.0), p1: (443.0, 1538.0), p2: (347.5, 1609.5) }) = 14.167228837040584 degrees
  • aiMatra_anusvara-deva: Quad(QuadBez { p0: (174.0, 1579.0), p1: (328.0, 1579.0), p2: (543.0, 1403.0) })/Quad(QuadBez { p0: (543.0, 1403.0), p1: (443.0, 1538.0), p2: (347.5, 1609.5) }) = 14.167228837040584 degrees
    ... and 3 others [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:
  • numbersign (U+0023): Line(Line { p0: (809.0, 451.0), p1: (1079.0, 453.0) }) (angle: 0.42 degrees, expected: 0.00 degrees)
  • numbersign (U+0023): Line(Line { p0: (66.0, 442.0), p1: (330.0, 444.0) }) (angle: 0.43 degrees, expected: 0.00 degrees)
  • numbersign (U+0023): Line(Line { p0: (369.0, 692.0), p1: (106.0, 690.0) }) (angle: -179.56 degrees, expected: -180.00 degrees)
  • numbersign (U+0023): Line(Line { p0: (1120.0, 700.0), p1: (848.0, 698.0) }) (angle: -179.58 degrees, expected: -180.00 degrees)
  • N (U+004E): Line(Line { p0: (1333.0, -14.0), p1: (1335.0, 608.0) }) (angle: 89.82 degrees, expected: 90.00 degrees)
  • s (U+0073): Line(Line { p0: (111.0, 59.0), p1: (113.0, 332.0) }) (angle: 89.58 degrees, expected: 90.00 degrees)
  • nna-deva (U+0923): Line(Line { p0: (811.0, 1083.0), p1: (813.0, 618.0) }) (angle: -89.75 degrees, expected: -90.00 degrees)
  • nna-deva (U+0923): Line(Line { p0: (147.0, 637.0), p1: (150.0, 1083.0) }) (angle: 89.61 degrees, expected: 90.00 degrees)
  • nna-deva (U+0923): Line(Line { p0: (313.0, 1083.0), p1: (311.0, 598.0) }) (angle: -90.24 degrees, expected: -90.00 degrees)
    ... and 10 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sura-Regular.ttf
Dehinted Size 122316
Hinted Size 140444
Increase 18128
Change 14.8 %
ℹ️ 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 latn -f none -w G) [code: ok]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
71 46 15 180 121
19% 12% 4% 48% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[30] ofl/tajawal/Tajawal-Regular.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • dotcenterar (Some(57384)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 14 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Tajawal Tajawal
Subfamily Name Regular Regular
Full Name Tajawal Tajawal Regular
Postscript Name Tajawal-Regular Tajawal-Regular
Typographic Family Name Tajawal N/A
Typographic Subfamily Name Regular 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.699997 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 643 when it should be 1016 [code: bad-typo-ascender]

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

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

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

⚠️ 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+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
  • U+FC5F (uniFC5F)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 421 but it should be 521 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 509 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=390: divide
    width=483: approxequal
    width=517: greater, less
    width=518: plus
    width=467: logicalnot
    width=501: multiply [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 823, but got 643 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • quotedblleft (U+201C): from (168.0, 502.0) to (168.0, 501.0) is colinear with segment from (168.0, 501.0) to (168.0, 500.0)
  • quotedblleft (U+201C): from (297.0, 502.0) to (297.0, 501.0) is colinear with segment from (297.0, 501.0) to (297.0, 500.0)
  • quoteleft (U+2018): from (168.0, 502.0) to (168.0, 501.0) is colinear with segment from (168.0, 501.0) to (168.0, 500.0)
  • multiply (U+00D7): from (216.0, 232.0) to (104.0, 351.0) is colinear with segment from (104.0, 351.0) to (48.0, 410.0)
  • uni060C (U+060C): from (163.0, 46.0) to (163.0, 45.0) is colinear with segment from (163.0, 45.0) to (163.0, 44.0)
  • uni061B (U+061B): from (181.0, 293.0) to (181.0, 292.0) is colinear with segment from (181.0, 292.0) to (181.0, 291.0)
  • uniFEDE (U+FEDE): from (585.0, 645.0) to (585.0, 175.0) is colinear with segment from (585.0, 175.0) to (585.0, 173.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni066D (U+066D): Quad(QuadBez { p0: (145.0, 446.0), p1: (145.0, 463.0), p2: (171.0, 520.0) })/Line(Line { p0: (171.0, 520.0), p1: (168.0, 516.0) }) = 12.350254957653247 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (87.0, 514.0), p1: (100.0, 523.0), p2: (167.0, 530.0) })/Quad(QuadBez { p0: (167.0, 530.0), p1: (105.0, 537.0), p2: (87.0, 546.0) }) = 12.406087200588134 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (119.0, 600.0), p1: (135.0, 590.0), p2: (170.0, 541.0) })/Quad(QuadBez { p0: (170.0, 541.0), p1: (145.0, 598.0), p2: (145.0, 614.0) }) = 11.855590067435926 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (232.0, 461.0), p1: (218.0, 469.0), p2: (183.0, 518.0) })/Line(Line { p0: (183.0, 518.0), p1: (185.0, 514.0) }) = 8.972626614896438 degrees [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:
  • t (U+0074): Line(Line { p0: (178.0, 399.0), p1: (177.0, 115.0) }) (angle: -90.20 degrees, expected: -90.00 degrees) [code: found-semi-vertical]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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:
Tajawal-Regular.ttf
Dehinted Size 60336
Hinted Size 60364
Increase 28
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[27] ofl/tajawal/Tajawal-ExtraBold.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • dotcenterar (Some(57384)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 8 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.699997 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+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
  • U+FC5F (uniFC5F)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 514 but it should be 562 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 514 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=470: divide
    width=522: less, greater
    width=521: multiply
    width=546: approxequal
    width=491: plus
    width=475: logicalnot [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 823, but got 643 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • dollar (U+0024): from (295.0, 391.0) to (305.0, 387.0) is colinear with segment from (305.0, 387.0) to (314.0, 383.0)
  • dollar (U+0024): from (244.0, 276.0) to (236.0, 279.0) is colinear with segment from (236.0, 279.0) to (229.0, 281.0)
  • ampersand (U+0026): from (374.0, 287.0) to (374.0, 297.0) is colinear with segment from (374.0, 297.0) to (374.0, 329.0)
  • asterisk (U+002A): from (303.0, 450.0) to (287.0, 455.0) is colinear with segment from (287.0, 455.0) to (273.0, 458.0)
  • three (U+0033): from (122.0, 393.0) to (220.0, 393.0) is colinear with segment from (220.0, 393.0) to (228.0, 393.0)
  • question (U+003F): from (105.0, 155.0) to (105.0, 225.0) is colinear with segment from (105.0, 225.0) to (105.0, 233.0)
  • W (U+0057): from (50.0, 422.0) to (37.0, 478.0) is colinear with segment from (37.0, 478.0) to (2.0, 633.0)
  • W (U+0057): from (300.0, 562.0) to (309.0, 595.0) is colinear with segment from (309.0, 595.0) to (319.0, 633.0)
  • l (U+006C): from (184.0, 636.0) to (194.0, 641.0) is colinear with segment from (194.0, 641.0) to (201.0, 645.0)
    ... and 25 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • ampersand (U+0026): Quad(QuadBez { p0: (323.0, 276.0), p1: (377.0, 210.0), p2: (404.0, 179.0) })/Line(Line { p0: (404.0, 179.0), p1: (362.0, 227.0) }) = 0.13111139474585237 degrees
  • M (U+004D): Line(Line { p0: (627.0, 0.0), p1: (627.0, 513.0) })/Quad(QuadBez { p0: (627.0, 513.0), p1: (575.0, 288.0), p2: (480.0, 0.0) }) = 13.013213279258641 degrees
  • M (U+004D): Quad(QuadBez { p0: (361.0, 0.0), p1: (249.0, 343.0), p2: (215.0, 507.0) })/Line(Line { p0: (215.0, 507.0), p1: (215.0, 0.0) }) = 11.71247231108753 degrees
  • germandbls (U+00DF): Quad(QuadBez { p0: (418.0, 376.5), p1: (384.0, 336.0), p2: (335.0, 331.0) })/Quad(QuadBez { p0: (335.0, 331.0), p1: (477.0, 311.0), p2: (477.0, 173.0) }) = 13.843435103211096 degrees
  • trademark (U+2122): Line(Line { p0: (397.0, 395.0), p1: (374.0, 497.0) })/Line(Line { p0: (374.0, 497.0), p1: (374.0, 395.0) }) = 12.707113501316611 degrees
  • trademark (U+2122): Line(Line { p0: (521.0, 395.0), p1: (521.0, 491.0) })/Line(Line { p0: (521.0, 491.0), p1: (498.0, 395.0) }) = 13.47315811273114 degrees
  • ae (U+00E6): Line(Line { p0: (449.0, 183.0), p1: (448.0, 189.0) })/Quad(QuadBez { p0: (448.0, 189.0), p1: (449.0, 147.0), p2: (481.5, 116.0) }) = 8.098394676422659 degrees
  • ydieresis (U+00FF): Quad(QuadBez { p0: (123.0, -93.0), p1: (141.0, -93.0), p2: (185.0, 13.0) })/Line(Line { p0: (185.0, 13.0), p1: (180.0, 0.0) }) = 1.5055499746362275 degrees
  • yacute (U+00FD): Quad(QuadBez { p0: (117.0, -91.0), p1: (156.0, -91.0), p2: (189.0, 13.0) })/Line(Line { p0: (189.0, 13.0), p1: (184.0, 0.0) }) = 3.4328776887577583 degrees
    ... and 6 others [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:
  • m (U+006D): Line(Line { p0: (513.0, 301.0), p1: (512.0, 0.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • uniFD3E (U+FD3E): Line(Line { p0: (343.0, 739.0), p1: (342.0, 609.0) }) (angle: -90.44 degrees, expected: -90.00 degrees)
  • uniFECC (U+FECC): Line(Line { p0: (737.0, 140.0), p1: (738.0, 0.0) }) (angle: -89.59 degrees, expected: -90.00 degrees)
  • uniFED0 (U+FED0): Line(Line { p0: (737.0, 140.0), p1: (738.0, 0.0) }) (angle: -89.59 degrees, expected: -90.00 degrees) [code: found-semi-vertical]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Tajawal-ExtraBold.ttf
Dehinted Size 59620
Hinted Size 59648
Increase 28
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[14] ofl/tajawal
🔥 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 'Tajawal' has 7 fonts, which is more than the maximum of 4 [code: too-many]
🔥 FAIL Fonts have consistent underline thickness? (opentype/family/underline_thickness)
  • 🔥 FAIL Underline thickness is inconsistent. Detected underline thickness values are:
  • ofl/tajawal/Tajawal-Regular.ttf: 50
  • ofl/tajawal/Tajawal-Black.ttf: 50
  • ofl/tajawal/Tajawal-Medium.ttf: 3
  • ofl/tajawal/Tajawal-ExtraBold.ttf: 3
  • ofl/tajawal/Tajawal-Bold.ttf: 3
  • ofl/tajawal/Tajawal-ExtraLight.ttf: 3
  • ofl/tajawal/Tajawal-Light.ttf: 3
    [code: inconsistent-underline-thickness]
🔥 FAIL Each font in a family must have the same set of vertical metrics values. (family/vertical_metrics)
  • 🔥 FAIL sTypoAscender is not the same across the family:
  • Tajawal-Regular.ttf: 643
  • Tajawal-Black.ttf: 643
  • Tajawal-Medium.ttf: 643
  • Tajawal-ExtraBold.ttf: 643
  • Tajawal-Bold.ttf: 643
  • Tajawal-ExtraLight.ttf: 645
  • Tajawal-Light.ttf: 645 [code: sTypoAscender-mismatch]
  • 🔥 FAIL sTypoDescender is not the same across the family:
  • Tajawal-Regular.ttf: -357
  • Tajawal-Black.ttf: -357
  • Tajawal-Medium.ttf: -357
  • Tajawal-ExtraBold.ttf: -357
  • Tajawal-Bold.ttf: -357
  • Tajawal-ExtraLight.ttf: -355
  • Tajawal-Light.ttf: -355 [code: sTypoDescender-mismatch]
  • 🔥 FAIL ascent is not the same across the family:
  • Tajawal-Regular.ttf: 643
  • Tajawal-Black.ttf: 643
  • Tajawal-Medium.ttf: 643
  • Tajawal-ExtraBold.ttf: 643
  • Tajawal-Bold.ttf: 643
  • Tajawal-ExtraLight.ttf: 645
  • Tajawal-Light.ttf: 645 [code: ascent-mismatch]
  • 🔥 FAIL descent is not the same across the family:
  • Tajawal-Regular.ttf: -357
  • Tajawal-Black.ttf: -357
  • Tajawal-Medium.ttf: -357
  • Tajawal-ExtraBold.ttf: -357
  • Tajawal-Bold.ttf: -357
  • Tajawal-ExtraLight.ttf: -355
  • Tajawal-Light.ttf: -355 [code: descent-mismatch]
  • 🔥 FAIL usWinAscent is not the same across the family:
  • Tajawal-Regular.ttf: 1016
  • Tajawal-Black.ttf: 1065
  • Tajawal-Medium.ttf: 1016
  • Tajawal-ExtraBold.ttf: 1065
  • Tajawal-Bold.ttf: 1065
  • Tajawal-ExtraLight.ttf: 972
  • Tajawal-Light.ttf: 972 [code: usWinAscent-mismatch]
  • 🔥 FAIL usWinDescent is not the same across the family:
  • Tajawal-Regular.ttf: 375
  • Tajawal-Black.ttf: 411
  • Tajawal-Medium.ttf: 375
  • Tajawal-ExtraBold.ttf: 411
  • Tajawal-Bold.ttf: 411
  • Tajawal-ExtraLight.ttf: 375
  • Tajawal-Light.ttf: 375 [code: usWinDescent-mismatch]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 1016 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 375 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 1065 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 411 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 1016 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 375 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 1065 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 411 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 1065 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 411 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 972 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 375 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 1180, but got 972 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 433, but got 375 instead. [code: descent]

🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • 🔥 FAIL METADATA.pb full_name field "Tajawal Medium" does not match correct full name "Tajawal-Medium". [code: fullname-mismatch]

  • 🔥 FAIL METADATA.pb full_name field "Tajawal Bold" does not match correct full name "Tajawal-Bold". [code: fullname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Tajawal" does not match correct family name "Tajawal ExtraLight". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Tajawal" does not match correct family name "Tajawal Light". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Tajawal" does not match correct family name "Tajawal Medium". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Tajawal" does not match correct family name "Tajawal ExtraBold". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Tajawal" does not match correct family name "Tajawal Black". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Northern Sotho, 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 arabic, latin:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tswana, 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 arabic, latin:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Venetian, 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 arabic, latin:
  • ł (U+0142) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Fonts have equal codepoint coverage? (googlefonts/family/equal_codepoint_coverage)
  • 🔥 FAIL Font ofl/tajawal/Tajawal-Regular.ttf has codepoints not present in sibling fonts: U+2008 [code: glyphset-diverges]

  • 🔥 FAIL Other fonts have codepoints not present in ofl/tajawal/Tajawal-Regular.ttf: U+E033, U+E038, U+E03A, U+E035, U+E039, U+E037, U+E036, U+E034, U+E03B [code: glyphset-diverges]

🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-Black.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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-Black.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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-Medium.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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-Medium.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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-ExtraLight.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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-ExtraLight.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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tajawal-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:

"(c) 2017 by boutros international. all rights reserved." [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:

"(c) 2017 by boutros international. all rights reserved." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/tajawal/Tajawal-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 29 others

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

  • ⚠️ WARN ofl/tajawal/Tajawal-Black.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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 29 others

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

  • ⚠️ WARN ofl/tajawal/Tajawal-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 29 others

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

  • ⚠️ WARN ofl/tajawal/Tajawal-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 29 others

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

  • ⚠️ WARN ofl/tajawal/Tajawal-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 29 others

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

  • ⚠️ WARN ofl/tajawal/Tajawal-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 28 others

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

  • ⚠️ WARN ofl/tajawal/Tajawal-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: yi, latin-ext, tifinagh, canadian-aboriginal
    ... and 28 others

Or you can add the above codepoints to one of the subsets supported by the font: arabic, latin, 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]

  • ⚠️ 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 METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'arabic' is listed in production metadata, but only 0.13% 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]
[31] ofl/tajawal/Tajawal-Bold.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFC63 (Some(64611)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 9 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Tajawal Tajawal
Subfamily Name Bold Bold
Full Name Tajawal-Bold Tajawal Bold
Postscript Name Tajawal-Bold Tajawal-Bold
Typographic Family Name Tajawal N/A
Typographic Subfamily Name Bold N/A
🔥 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.699997 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+E028 (dotcenterar)
  • U+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 514 but it should be 544 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 516 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=497: less, greater
    width=505: approxequal
    width=458: divide
    width=477: logicalnot
    width=498: plus
    width=479: multiply [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 823, but got 643 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • v (U+0076): from (474.0, 454.0) to (455.0, 407.0) is colinear with segment from (455.0, 407.0) to (433.0, 353.0)
  • w (U+0077): from (701.0, 454.0) to (679.0, 391.0) is colinear with segment from (679.0, 391.0) to (667.0, 360.0)
  • Adieresis (U+00C4): from (369.0, 240.0) to (357.0, 276.0) is colinear with segment from (357.0, 276.0) to (350.0, 294.0)
  • Aring (U+00C5): from (369.0, 240.0) to (357.0, 276.0) is colinear with segment from (357.0, 276.0) to (350.0, 294.0)
  • Agrave (U+00C0): from (369.0, 240.0) to (357.0, 276.0) is colinear with segment from (357.0, 276.0) to (350.0, 294.0)
  • Atilde (U+00C3): from (369.0, 240.0) to (357.0, 276.0) is colinear with segment from (357.0, 276.0) to (350.0, 294.0)
  • ydieresis (U+00FF): from (164.0, 0.0) to (79.0, 242.0) is colinear with segment from (79.0, 242.0) to (5.0, 454.0)
  • Acircumflex (U+00C2): from (369.0, 240.0) to (357.0, 276.0) is colinear with segment from (357.0, 276.0) to (350.0, 294.0)
  • Aacute (U+00C1): from (369.0, 240.0) to (357.0, 276.0) is colinear with segment from (357.0, 276.0) to (350.0, 294.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:
  • M (U+004D): Line(Line { p0: (625.0, 0.0), p1: (625.0, 514.0) })/Quad(QuadBez { p0: (625.0, 514.0), p1: (578.0, 311.0), p2: (471.0, 0.0) }) = 13.03583677006631 degrees
  • M (U+004D): Quad(QuadBez { p0: (362.0, 0.0), p1: (249.0, 343.0), p2: (209.0, 509.0) })/Line(Line { p0: (209.0, 509.0), p1: (209.0, 0.0) }) = 13.547938988000517 degrees
  • g (U+0067): Quad(QuadBez { p0: (347.0, 435.0), p1: (376.0, 415.0), p2: (376.0, 405.0) })/Line(Line { p0: (376.0, 405.0), p1: (386.0, 454.0) }) = 11.534620653644676 degrees
  • q (U+0071): Line(Line { p0: (356.0, -177.0), p1: (356.0, 47.0) })/Quad(QuadBez { p0: (356.0, 47.0), p1: (351.0, 27.0), p2: (313.5, 7.5) }) = 14.03624346792651 degrees
  • trademark (U+2122): Line(Line { p0: (391.0, 395.0), p1: (363.0, 508.0) })/Line(Line { p0: (363.0, 508.0), p1: (363.0, 395.0) }) = 13.916877433301254 degrees
  • threequarters (U+00BE): Quad(QuadBez { p0: (303.0, 558.0), p1: (303.0, 494.0), p2: (229.0, 491.0) })/Quad(QuadBez { p0: (229.0, 491.0), p1: (308.0, 475.0), p2: (308.0, 410.0) }) = 13.770868578332726 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (149.0, 440.0), p1: (151.0, 459.0), p2: (171.0, 504.0) })/Line(Line { p0: (171.0, 504.0), p1: (162.0, 491.0) }) = 10.73266455665575 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (89.0, 517.0), p1: (105.0, 525.0), p2: (156.0, 531.0) })/Quad(QuadBez { p0: (156.0, 531.0), p1: (153.0, 531.0), p2: (144.0, 532.0) }) = 6.70983680775695 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (208.0, 574.0), p1: (206.0, 569.0), p2: (205.0, 566.0) })/Quad(QuadBez { p0: (205.0, 566.0), p1: (206.0, 568.0), p2: (210.0, 573.0) }) = 8.130102354156051 degrees [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:
  • uniFECA (U+FECA): Line(Line { p0: (714.0, 121.0), p1: (715.0, 0.0) }) (angle: -89.53 degrees, expected: -90.00 degrees)
  • uniFECE (U+FECE): Line(Line { p0: (714.0, 121.0), p1: (715.0, 0.0) }) (angle: -89.53 degrees, expected: -90.00 degrees) [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • exclam (U+0021) contains a short segment Quad(QuadBez { p0: (215.0, 52.0), p1: (215.0, 51.0), p2: (215.0, 50.0) }) (length: 2.00, total outline: 468.08)
  • ampersand (U+0026) contains a short segment Quad(QuadBez { p0: (202.0, 408.0), p1: (208.0, 401.0), p2: (212.0, 396.0) }) (length: 15.62, total outline: 2708.74)
  • period (U+002E) contains a short segment Quad(QuadBez { p0: (239.0, 69.0), p1: (239.0, 68.0), p2: (239.0, 67.0) }) (length: 2.00, total outline: 468.08)
  • colon (U+003A) contains a short segment Quad(QuadBez { p0: (239.0, 309.0), p1: (239.0, 308.0), p2: (239.0, 307.0) }) (length: 2.00, total outline: 468.08)
  • colon (U+003A) contains a short segment Quad(QuadBez { p0: (239.0, 69.0), p1: (239.0, 68.0), p2: (239.0, 67.0) }) (length: 2.00, total outline: 468.08)
  • a (U+0061) contains a short segment Line(Line { p0: (311.0, 291.0), p1: (311.0, 293.0) }) (length: 2.00, total outline: 2004.50)
  • m (U+006D) contains a short segment Line(Line { p0: (184.0, 410.0), p1: (189.0, 410.0) }) (length: 5.00, total outline: 3791.96)
  • q (U+0071) contains a short segment Quad(QuadBez { p0: (356.0, 295.0), p1: (356.0, 296.0), p2: (356.0, 298.0) }) (length: 3.00, total outline: 802.55)
  • u (U+0075) contains a short segment Line(Line { p0: (365.0, 52.0), p1: (364.0, 52.0) }) (length: 1.00, total outline: 2392.79)
    ... and 61 others [code: found-short-segments]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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:
Tajawal-Bold.ttf
Dehinted Size 59960
Hinted Size 59988
Increase 28
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[28] ofl/tajawal/Tajawal-Light.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFC63 (Some(64611)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 15 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.699997 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+E028 (dotcenterar)
  • U+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 481 but it should be 506 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 499 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=501: multiply
    width=389: divide
    width=457: logicalnot
    width=517: less, plus, greater
    width=471: approxequal [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 823, but got 645 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • section (U+00A7): from (352.0, 606.0) to (340.0, 589.0) is colinear with segment from (340.0, 589.0) to (336.0, 582.0)
  • uni0635 (U+0635): from (690.0, 42.0) to (693.0, 42.0) is colinear with segment from (693.0, 42.0) to (1079.0, 42.0)
  • uni0636 (U+0636): from (690.0, 42.0) to (693.0, 42.0) is colinear with segment from (693.0, 42.0) to (1079.0, 42.0)
  • uniFEBA (U+FEBA): from (690.0, 42.0) to (693.0, 42.0) is colinear with segment from (693.0, 42.0) to (1079.0, 42.0)
  • uniFEBB (U+FEBB): from (305.0, 42.0) to (308.0, 42.0) is colinear with segment from (308.0, 42.0) to (694.0, 42.0)
  • uniFEBC (U+FEBC): from (305.0, 42.0) to (308.0, 42.0) is colinear with segment from (308.0, 42.0) to (694.0, 42.0)
  • uniFEBE (U+FEBE): from (690.0, 42.0) to (693.0, 42.0) is colinear with segment from (693.0, 42.0) to (1079.0, 42.0)
  • uniFEBF (U+FEBF): from (305.0, 42.0) to (308.0, 42.0) is colinear with segment from (308.0, 42.0) to (694.0, 42.0)
  • uniFEC0 (U+FEC0): from (305.0, 42.0) to (308.0, 42.0) is colinear with segment from (308.0, 42.0) to (694.0, 42.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni066D (U+066D): Quad(QuadBez { p0: (143.0, 448.0), p1: (143.0, 464.0), p2: (170.0, 525.0) })/Line(Line { p0: (170.0, 525.0), p1: (159.0, 511.0) }) = 14.28194573344158 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (187.0, 532.0), p1: (179.0, 531.0), p2: (175.0, 530.0) })/Quad(QuadBez { p0: (175.0, 530.0), p1: (178.0, 530.0), p2: (186.0, 529.0) }) = 14.036243467926457 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (178.0, 521.0), p1: (176.0, 523.0), p2: (175.0, 525.0) })/Quad(QuadBez { p0: (175.0, 525.0), p1: (202.0, 464.0), p2: (202.0, 448.0) }) = 2.6897703231505687 degrees [code: found-jaggy-segments]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • at (U+0040) contains a short segment Quad(QuadBez { p0: (426.0, 256.0), p1: (427.0, 258.0), p2: (430.0, 268.0) }) (length: 12.66, total outline: 4421.30)
  • at (U+0040) contains a short segment Quad(QuadBez { p0: (430.0, 268.0), p1: (435.0, 281.0), p2: (437.0, 287.0) }) (length: 20.25, total outline: 4421.30)
  • R (U+0052) contains a short segment Line(Line { p0: (285.0, 269.0), p1: (284.0, 270.0) }) (length: 1.41, total outline: 2465.32)
  • asciicircum (U+005E) contains a short segment Line(Line { p0: (193.0, 573.0), p1: (192.0, 572.0) }) (length: 1.41, total outline: 1315.57)
  • a (U+0061) contains a short segment Line(Line { p0: (353.0, 282.0), p1: (353.0, 290.0) }) (length: 8.00, total outline: 2010.01)
  • braceleft (U+007B) contains a short segment Line(Line { p0: (306.0, 600.0), p1: (296.0, 600.0) }) (length: 10.00, total outline: 2106.14)
  • braceleft (U+007B) contains a short segment Line(Line { p0: (306.0, -140.0), p1: (296.0, -140.0) }) (length: 10.00, total outline: 2106.14)
  • braceright (U+007D) contains a short segment Line(Line { p0: (57.0, -95.0), p1: (67.0, -95.0) }) (length: 10.00, total outline: 2106.25)
  • braceright (U+007D) contains a short segment Line(Line { p0: (57.0, 645.0), p1: (67.0, 645.0) }) (length: 10.00, total outline: 2106.25)
    ... and 50 others [code: found-short-segments]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Tajawal-Light.ttf
Dehinted Size 61836
Hinted Size 61864
Increase 28
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[29] ofl/tajawal/Tajawal-ExtraLight.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • dotcenterar (Some(57384)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 8 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.699997 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+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
  • U+FC5F (uniFC5F)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 481 but it should be 492 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 489 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=446: logicalnot
    width=516: plus
    width=356: minus, divide
    width=501: multiply
    width=458: approxequal
    width=517: less, greater [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 818, but got 645 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • eight (U+0038): from (419.0, 501.0) to (419.0, 503.0) is colinear with segment from (419.0, 503.0) to (419.0, 504.0)
  • asciitilde (U+007E): from (343.0, 201.0) to (341.0, 201.0) is colinear with segment from (341.0, 201.0) to (340.0, 201.0)
  • section (U+00A7): from (245.0, 359.0) to (198.0, 379.0) is colinear with segment from (198.0, 379.0) to (157.0, 396.0)
  • currency (U+00A4): from (50.0, 107.0) to (40.0, 118.0) is colinear with segment from (40.0, 118.0) to (32.0, 127.0)
  • uni066D (U+066D): from (168.0, 531.0) to (169.0, 531.0) is colinear with segment from (169.0, 531.0) to (170.0, 531.0)
  • uniFB6B (U+FB6B): from (255.0, 22.0) to (616.0, 22.0) is colinear with segment from (616.0, 22.0) to (620.0, 22.0)
  • uniFB6B (U+FB6B): from (711.0, 22.0) to (715.0, 22.0) is colinear with segment from (715.0, 22.0) to (935.0, 22.0)
  • uniFB6D (U+FB6D): from (-10.0, 22.0) to (222.0, 22.0) is colinear with segment from (222.0, 22.0) to (227.0, 22.0)
  • uniFB6D (U+FB6D): from (317.0, 22.0) to (321.0, 22.0) is colinear with segment from (321.0, 22.0) to (554.0, 22.0)
    ... and 15 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • uni066D (U+066D) has a path with no bounds (probably a single point) [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • braceleft (U+007B): Quad(QuadBez { p0: (186.0, 608.5), p1: (213.0, 642.0), p2: (292.0, 644.0) })/Line(Line { p0: (292.0, 644.0), p1: (291.0, 644.0) }) = 1.4502162909332779 degrees
  • braceleft (U+007B): Line(Line { p0: (291.0, 615.0), p1: (292.0, 615.0) })/Quad(QuadBez { p0: (292.0, 615.0), p1: (283.0, 616.0), p2: (279.0, 616.0) }) = 6.340191745909966 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (280.0, -111.0), p1: (283.0, -111.0), p2: (292.0, -110.0) })/Line(Line { p0: (292.0, -110.0), p1: (291.0, -110.0) }) = 6.340191745909966 degrees
  • braceleft (U+007B): Line(Line { p0: (291.0, -139.0), p1: (292.0, -139.0) })/Quad(QuadBez { p0: (292.0, -139.0), p1: (213.0, -137.0), p2: (186.0, -103.0) }) = 1.4502162909332779 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (162.0, -102.5), p1: (135.0, -136.0), p2: (56.0, -139.0) })/Line(Line { p0: (56.0, -139.0), p1: (57.0, -139.0) }) = 2.1747441146101725 degrees
  • braceright (U+007D): Line(Line { p0: (57.0, 644.0), p1: (56.0, 644.0) })/Quad(QuadBez { p0: (56.0, 644.0), p1: (135.0, 641.0), p2: (162.0, 608.0) }) = 2.1747441146101725 degrees [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni066D (U+066D): Line(Line { p0: (164.0, 530.0), p1: (168.0, 530.0) }) has the same coordinates as a previous segment.
  • uni066D (U+066D): Line(Line { p0: (167.0, 532.0), p1: (168.0, 531.0) }) has the same coordinates as a previous segment.
  • uni066D (U+066D): Line(Line { p0: (170.0, 529.0), p1: (170.0, 530.0) }) has the same coordinates as a previous segment.
  • uni066D (U+066D): Line(Line { p0: (170.0, 529.0), p1: (169.0, 529.0) }) has the same coordinates as a previous segment.
  • uni066D (U+066D): Line(Line { p0: (169.0, 529.0), p1: (170.0, 529.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:
  • fi (U+FB01): Line(Line { p0: (128.0, 453.0), p1: (399.0, 454.0) }) (angle: 0.21 degrees, expected: 0.00 degrees) [code: found-semi-vertical]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Tajawal-ExtraLight.ttf
Dehinted Size 55756
Hinted Size 55784
Increase 28
Change 0.1 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[1] ofl/tajawal/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[2] ofl/tajawal/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Tajawal" does not match post_script_name="Tajawal-Regular". [code: mismatch]

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

⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that mouradboutros 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]

  • ⚠️ WARN It seems that soulafkhalifeh 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]

[30] ofl/tajawal/Tajawal-Medium.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFC63 (Some(64611)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 15 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Tajawal Medium Tajawal Medium
Subfamily Name Regular Regular
Full Name Tajawal-Medium Tajawal Medium
Postscript Name Tajawal-Medium Tajawal-Medium
Typographic Family Name Tajawal Tajawal
Typographic Subfamily Name Medium Medium
🔥 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.699997 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+E028 (dotcenterar)
  • U+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 508 but it should be 530 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 518 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=501: multiply
    width=406: divide
    width=495: approxequal
    width=477: logicalnot
    width=517: less, greater [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 823, but got 643 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uniFECC (U+FECC): from (-30.0, 81.0) to (234.0, 81.0) is colinear with segment from (234.0, 81.0) to (248.0, 81.0)
  • uniFECC (U+FECC): from (449.0, 81.0) to (464.0, 81.0) is colinear with segment from (464.0, 81.0) to (728.0, 81.0)
  • uniFED0 (U+FED0): from (-30.0, 81.0) to (234.0, 81.0) is colinear with segment from (234.0, 81.0) to (248.0, 81.0)
  • uniFED0 (U+FED0): from (449.0, 81.0) to (464.0, 81.0) is colinear with segment from (464.0, 81.0) to (728.0, 81.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • M (U+004D): Quad(QuadBez { p0: (260.5, 271.5), p1: (203.0, 438.0), p2: (182.0, 521.0) })/Line(Line { p0: (182.0, 521.0), p1: (182.0, 0.0) }) = 14.198554023863164 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (195.0, 560.0), p1: (192.0, 554.0), p2: (191.0, 551.0) })/Quad(QuadBez { p0: (191.0, 551.0), p1: (192.0, 553.0), p2: (196.0, 558.0) }) = 8.130102354156051 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (209.0, 532.0), p1: (201.0, 531.0), p2: (198.0, 531.0) })/Quad(QuadBez { p0: (198.0, 531.0), p1: (203.0, 530.0), p2: (214.0, 529.0) }) = 11.309932474020195 degrees
  • uni066D (U+066D): Quad(QuadBez { p0: (193.0, 507.0), p1: (192.0, 509.0), p2: (191.0, 511.0) })/Quad(QuadBez { p0: (191.0, 511.0), p1: (192.0, 509.0), p2: (197.0, 497.0) }) = 0.0000012074182697257333 degrees [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:
  • t (U+0074): Line(Line { p0: (196.0, 384.0), p1: (195.0, 120.0) }) (angle: -90.22 degrees, expected: -90.00 degrees) [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • exclam (U+0021) contains a short segment Quad(QuadBez { p0: (67.0, 40.0), p1: (67.0, 41.0), p2: (67.0, 42.0) }) (length: 2.00, total outline: 342.16)
  • period (U+002E) contains a short segment Quad(QuadBez { p0: (91.0, 48.0), p1: (91.0, 49.0), p2: (91.0, 50.0) }) (length: 2.00, total outline: 342.16)
  • colon (U+003A) contains a short segment Quad(QuadBez { p0: (91.0, 288.0), p1: (91.0, 289.0), p2: (91.0, 290.0) }) (length: 2.00, total outline: 342.16)
  • colon (U+003A) contains a short segment Quad(QuadBez { p0: (91.0, 48.0), p1: (91.0, 49.0), p2: (91.0, 50.0) }) (length: 2.00, total outline: 342.16)
  • question (U+003F) contains a short segment Quad(QuadBez { p0: (264.0, 322.0), p1: (260.0, 318.0), p2: (258.0, 316.0) }) (length: 8.49, total outline: 1605.35)
  • at (U+0040) contains a short segment Line(Line { p0: (420.0, -172.0), p1: (396.0, -173.0) }) (length: 24.02, total outline: 4339.08)
  • at (U+0040) contains a short segment Quad(QuadBez { p0: (396.0, -173.0), p1: (387.0, -173.0), p2: (380.0, -173.0) }) (length: 16.00, total outline: 4339.08)
  • at (U+0040) contains a short segment Quad(QuadBez { p0: (374.0, -114.0), p1: (384.0, -114.0), p2: (393.0, -113.0) }) (length: 19.04, total outline: 4339.08)
  • K (U+004B) contains a short segment Line(Line { p0: (180.0, 360.0), p1: (181.0, 360.0) }) (length: 1.00, total outline: 3179.10)
    ... and 87 others [code: found-short-segments]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Tajawal-Medium.ttf
Dehinted Size 62252
Hinted Size 62280
Increase 28
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[28] ofl/tajawal/Tajawal-Black.ttf
🔥 FAIL Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (arabic_spacing_symbols)
  • 🔥 FAIL U+FBB2 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB3 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB4 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB5 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB6 is defined in GDEF as a mark (class 3). [code: gdef-mark]

  • 🔥 FAIL U+FBB7 is defined in GDEF as a mark (class 3). [code: gdef-mark]

🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • dotcenterar (Some(57384)) [code: zero-width-bases]
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 9 others [code: duplicated-glyph-names]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: ".notdef" [code: duplicated-glyph-names]
🔥 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:
  • uni064B
  • uni064C
  • uni064D
  • uni064E
  • uni064F
  • uni0650
  • uni0651
  • uni0652
  • uni0653
    ... and 8 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.699997 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+E800 (uniE800)
  • U+FBB2 (uniFBB2)
  • U+FBB3 (uniFBB3)
  • U+FBB4 (uniFBB4)
  • U+FBB5 (uniFBB5)
  • U+FBB6 (uniFBB6)
  • U+FBB7 (uniFBB7)
  • U+FC5E (uniFC5E)
  • U+FC5F (uniFC5F)
    ... and 4 others [code: non-mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 840 but it should be 572 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 515 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=530: multiply
    width=488: divide
    width=482: logicalnot
    width=520: plusminus, minus, equal
    width=491: plus
    width=529: less, greater
    width=552: approxequal [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 823, but got 643 instead [code: typoAscender]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
  • .notdef
    ... and 10 others [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • ampersand (U+0026): from (368.0, 302.0) to (368.0, 303.0) is colinear with segment from (368.0, 303.0) to (368.0, 329.0)
  • one (U+0031): from (37.0, 487.0) to (22.0, 512.0) is colinear with segment from (22.0, 512.0) to (17.0, 521.0)
  • six (U+0036): from (203.0, 291.0) to (203.0, 284.0) is colinear with segment from (203.0, 284.0) to (203.0, 268.0)
  • at (U+0040): from (486.0, 311.0) to (486.0, 122.0) is colinear with segment from (486.0, 122.0) to (486.0, 119.0)
  • s (U+0073): from (195.0, 330.0) to (195.0, 329.0) is colinear with segment from (195.0, 329.0) to (195.0, 327.0)
  • sterling (U+00A3): from (93.0, 381.0) to (92.0, 426.0) is colinear with segment from (92.0, 426.0) to (92.0, 427.0)
  • registered (U+00AE): from (185.0, 501.0) to (188.0, 501.0) is colinear with segment from (188.0, 501.0) to (196.0, 501.0)
  • lessequal (U+2264): from (29.0, 395.0) to (54.0, 400.0) is colinear with segment from (54.0, 400.0) to (157.0, 419.0)
  • greaterequal (U+2265): from (486.0, 233.0) to (311.0, 186.0) is colinear with segment from (311.0, 186.0) to (299.0, 182.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:
  • M (U+004D): Line(Line { p0: (633.0, 0.0), p1: (633.0, 510.0) })/Quad(QuadBez { p0: (633.0, 510.0), p1: (581.0, 256.0), p2: (496.0, 0.0) }) = 11.569972047902063 degrees
  • M (U+004D): Quad(QuadBez { p0: (319.0, 151.0), p1: (233.0, 432.0), p2: (228.0, 503.0) })/Line(Line { p0: (228.0, 503.0), p1: (228.0, 0.0) }) = 4.028263666485194 degrees
  • g (U+0067): Quad(QuadBez { p0: (363.0, 435.0), p1: (391.0, 415.0), p2: (391.0, 404.0) })/Line(Line { p0: (391.0, 404.0), p1: (401.0, 454.0) }) = 11.309932474020227 degrees
  • acircumflex (U+00E2): Line(Line { p0: (319.0, 495.0), p1: (273.0, 572.0) })/Line(Line { p0: (273.0, 572.0), p1: (274.0, 570.0) }) = 4.289153328818926 degrees
  • ocircumflex (U+00F4): Line(Line { p0: (314.0, 495.0), p1: (268.0, 572.0) })/Line(Line { p0: (268.0, 572.0), p1: (269.0, 570.0) }) = 4.289153328818926 degrees
  • germandbls (U+00DF): Quad(QuadBez { p0: (425.0, 373.0), p1: (391.0, 332.0), p2: (342.0, 330.0) })/Quad(QuadBez { p0: (342.0, 330.0), p1: (484.0, 314.0), p2: (484.0, 174.0) }) = 8.766053607953642 degrees
  • trademark (U+2122): Line(Line { p0: (408.0, 395.0), p1: (392.0, 504.0) })/Line(Line { p0: (392.0, 504.0), p1: (392.0, 395.0) }) = 8.350752532331416 degrees
  • trademark (U+2122): Line(Line { p0: (537.0, 395.0), p1: (537.0, 501.0) })/Line(Line { p0: (537.0, 501.0), p1: (521.0, 395.0) }) = 8.583621480113967 degrees
  • Acircumflex (U+00C2): Line(Line { p0: (349.0, 663.0), p1: (303.0, 740.0) })/Line(Line { p0: (303.0, 740.0), p1: (304.0, 738.0) }) = 4.289153328818926 degrees
    ... and 6 others [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:
  • uni0621 (U+0621): Line(Line { p0: (511.0, 214.0), p1: (510.0, 65.0) }) (angle: -90.38 degrees, expected: -90.00 degrees) [code: found-semi-vertical]
⚠️ WARN Are any segments inordinately short? (outline_short_segments)
  • ⚠️ WARN The following glyphs have short segments:
  • exclam (U+0021) contains a short segment Quad(QuadBez { p0: (259.0, 64.0), p1: (259.0, 63.0), p2: (259.0, 62.0) }) (length: 2.00, total outline: 598.78)
  • dollar (U+0024) contains a short segment Quad(QuadBez { p0: (242.0, 127.0), p1: (244.0, 127.0), p2: (245.0, 127.0) }) (length: 3.00, total outline: 2695.42)
  • parenleft (U+0028) contains a short segment Line(Line { p0: (227.0, -140.0), p1: (222.0, -135.0) }) (length: 7.07, total outline: 1956.47)
  • period (U+002E) contains a short segment Quad(QuadBez { p0: (283.0, 89.0), p1: (283.0, 88.0), p2: (283.0, 87.0) }) (length: 2.00, total outline: 598.78)
  • one (U+0031) contains a short segment Line(Line { p0: (22.0, 512.0), p1: (17.0, 521.0) }) (length: 10.30, total outline: 1827.76)
  • six (U+0036) contains a short segment Quad(QuadBez { p0: (202.0, 401.0), p1: (202.0, 399.0), p2: (202.0, 394.0) }) (length: 7.00, total outline: 2310.94)
  • nine (U+0039) contains a short segment Quad(QuadBez { p0: (348.0, 232.0), p1: (348.0, 234.0), p2: (348.0, 239.0) }) (length: 7.00, total outline: 2310.76)
  • colon (U+003A) contains a short segment Quad(QuadBez { p0: (283.0, 329.0), p1: (283.0, 328.0), p2: (283.0, 327.0) }) (length: 2.00, total outline: 598.78)
  • colon (U+003A) contains a short segment Quad(QuadBez { p0: (283.0, 89.0), p1: (283.0, 88.0), p2: (283.0, 87.0) }) (length: 2.00, total outline: 598.78)
    ... and 91 others [code: found-short-segments]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]
⚠️ 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 '1bou' 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Tajawal-Black.ttf
Dehinted Size 59000
Hinted Size 59028
Increase 28
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

ℹ️ 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.700, Version 1.700 [code: version-not-detected]
[1] ofl/tajawal/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2018 boutros international. (http://www.boutrosfonts.com)
"

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
153 191 35 535 429
13% 16% 3% 46% 37%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[23] ofl/tangerine/Tangerine-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1.3009949, name table: 1.3 [code: mismatch]
🔥 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 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 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.3009949 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 750 when it should be 765 [code: bad-typo-ascender]

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

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

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

⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 217 but it should be 375 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:

  • guillemotleft (U+00AB): found 3, expected one of: [2, 6] [code: contour-count]
⚠️ 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 301 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=265: logicalnot [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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • G (U+0047): X=601,Y=643 (should be at cap-height 644?)
    • H (U+0048): X=487,Y=645 (should be at cap-height 644?)
    • I (U+0049): X=738,Y=645 (should be at cap-height 644?)
    • I (U+0049): X=738,Y=645 (should be at cap-height 644?)
    • Iacute (U+00CD): X=698,Y=645 (should be at cap-height 644?)
    • Iacute (U+00CD): X=698,Y=645 (should be at cap-height 644?)
    • Icircumflex (U+00CE): X=698,Y=645 (should be at cap-height 644?)
    • Icircumflex (U+00CE): X=698,Y=645 (should be at cap-height 644?)
    • Idieresis (U+00CF): X=698,Y=645 (should be at cap-height 644?)
      ... and 79 others [code: found-misalignments]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • M (U+004D): Quad(QuadBez { p0: (1133.5, 474.0), p1: (1165.0, 531.0), p2: (1206.0, 578.0) })/Quad(QuadBez { p0: (1206.0, 578.0), p1: (1144.0, 532.0), p2: (1079.5, 467.5) }) = 12.327462763862584 degrees
  • M (U+004D): Quad(QuadBez { p0: (775.5, 282.5), p1: (811.0, 403.0), p2: (860.0, 505.0) })/Quad(QuadBez { p0: (860.0, 505.0), p1: (780.0, 385.0), p2: (703.0, 291.0) }) = 8.030803009012407 degrees
  • U (U+0055): Quad(QuadBez { p0: (623.0, 197.0), p1: (638.0, 266.0), p2: (670.0, 346.0) })/Quad(QuadBez { p0: (670.0, 346.0), p1: (579.0, 175.0), p2: (490.0, 87.5) }) = 6.21887966906201 degrees
  • Uacute (U+00DA): Quad(QuadBez { p0: (589.0, 197.0), p1: (604.0, 266.0), p2: (636.0, 346.0) })/Quad(QuadBez { p0: (636.0, 346.0), p1: (545.0, 175.0), p2: (456.0, 87.5) }) = 6.21887966906201 degrees
  • Ucircumflex (U+00DB): Quad(QuadBez { p0: (589.0, 197.0), p1: (604.0, 266.0), p2: (636.0, 346.0) })/Quad(QuadBez { p0: (636.0, 346.0), p1: (545.0, 175.0), p2: (456.0, 87.5) }) = 6.21887966906201 degrees
  • Udieresis (U+00DC): Quad(QuadBez { p0: (589.0, 197.0), p1: (604.0, 266.0), p2: (636.0, 346.0) })/Quad(QuadBez { p0: (636.0, 346.0), p1: (545.0, 175.0), p2: (456.0, 87.5) }) = 6.21887966906201 degrees
  • Ugrave (U+00D9): Quad(QuadBez { p0: (589.0, 197.0), p1: (604.0, 266.0), p2: (636.0, 346.0) })/Quad(QuadBez { p0: (636.0, 346.0), p1: (545.0, 175.0), p2: (456.0, 87.5) }) = 6.21887966906201 degrees
  • W (U+0057): Quad(QuadBez { p0: (560.0, 397.5), p1: (560.0, 448.0), p2: (576.0, 477.0) })/Quad(QuadBez { p0: (576.0, 477.0), p1: (539.0, 424.0), p2: (509.0, 378.0) }) = 6.032820245547009 degrees
  • W (U+0057): Quad(QuadBez { p0: (389.5, 248.0), p1: (375.0, 183.0), p2: (353.0, 118.0) })/Quad(QuadBez { p0: (353.0, 118.0), p1: (380.0, 180.0), p2: (416.5, 248.5) }) = 4.8333657567198856 degrees
    ... and 30 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (291.0, 251.0), p1: (298.0, 253.0), p2: (300.0, 246.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (300.0, 246.0), p1: (302.0, 239.0), p2: (294.0, 233.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (294.0, 233.0), p1: (280.0, 224.0), p2: (260.5, 209.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (260.5, 209.0), p1: (241.0, 194.0), p2: (221.0, 178.5) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (221.0, 178.5), p1: (201.0, 163.0), p2: (183.0, 148.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (183.0, 148.0), p1: (165.0, 133.0), p2: (155.0, 123.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (155.0, 123.0), p1: (176.0, 106.0), p2: (199.0, 82.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (199.0, 82.0), p1: (222.0, 58.0), p2: (236.0, 38.0) }) has the same coordinates as a previous segment.
  • guillemotleft (U+00AB): Quad(QuadBez { p0: (236.0, 38.0), p1: (237.0, 34.0), p2: (236.0, 27.0) }) has the same coordinates as a previous segment.
    ... and 8 others [code: overlapping-path-segments]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 16 - Use grid-fitting
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 16 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp range 0xFFFF value 0x03 should be set to 0x0F [code: unset-flags]

⚠️ 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 'pyrs' 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 The family name "Tangerine" 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:
Tangerine-Regular.ttf
Dehinted Size 46808
Hinted Size 60648
Increase 13840
Change 29.6 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    gasp
    hdmx
    LTSH
    VDMX [code: optional-tables]

ℹ️ 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.3, Version 1.3 [code: version-not-detected]
[1] ofl/tangerine/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]
[8] ofl/tangerine
🔥 FAIL Each font in a family must have the same set of vertical metrics values. (family/vertical_metrics)
  • 🔥 FAIL usWinDescent is not the same across the family:
  • Tangerine-Regular.ttf: 286
  • Tangerine-Bold.ttf: 287 [code: usWinDescent-mismatch]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 287, but got 286 instead. [code: descent]
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Northern Sotho, 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:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Tswana, 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:
  • š (U+0161) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Venetian, 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:
  • ł (U+0142) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Tangerine-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) 2010 by toshi omagari. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tangerine-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) 2010 by toshi omagari. all rights reserved." [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) 2010 by toshi omagari. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tangerine-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) 2010 by toshi omagari. all rights reserved." [code: bad-notice-format]

  • 🔥 FAIL Tangerine-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) 2010 by toshi omagari. all rights reserved." [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) 2010 by toshi omagari. all rights reserved." [code: bad-notice-format]

🔥 FAIL Check copyright namerecords match license file. (googlefonts/name/license)
  • 🔥 FAIL Font lacks NameID 13 (LICENSE DESCRIPTION). A proper licensing entry must be set. [code: missing]

  • 🔥 FAIL Font lacks NameID 13 (LICENSE DESCRIPTION). A proper licensing entry must be set. [code: missing]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/tangerine/Tangerine-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: latin-ext, canadian-aboriginal, yi, tifinagh
    ... and 8 others

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

  • ⚠️ WARN ofl/tangerine/Tangerine-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+0141 LATIN CAPITAL LETTER L WITH STROKE: try adding latin-ext
  • U+0142 LATIN SMALL LETTER L WITH STROKE: try adding latin-ext
  • U+0160 LATIN CAPITAL LETTER S WITH CARON: try adding latin-ext
  • U+0161 LATIN SMALL LETTER S WITH CARON: try adding latin-ext
  • U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS: try adding latin-ext
  • U+017D LATIN CAPITAL LETTER Z WITH CARON: try adding latin-ext
  • U+017E LATIN SMALL LETTER Z WITH CARON: try adding latin-ext
  • U+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+02C7 CARON: try adding one of: latin-ext, canadian-aboriginal, yi, tifinagh
    ... and 8 others

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

ℹ️ 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/tangerine/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[20] ofl/tangerine/Tangerine-Bold.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 1.3009949, name table: 1.3 [code: mismatch]
🔥 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 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 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.3009949 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 240 but it should be 397 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 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 301 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=265: logicalnot [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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • F (U+0046): X=534,Y=645 (should be at cap-height 644?)
    • G (U+0047): X=447,Y=-2.5 (should be at baseline 0?)
    • G (U+0047): X=621,Y=643 (should be at cap-height 644?)
    • H (U+0048): X=506,Y=645 (should be at cap-height 644?)
    • I (U+0049): X=777,Y=645 (should be at cap-height 644?)
    • I (U+0049): X=777,Y=645 (should be at cap-height 644?)
    • Iacute (U+00CD): X=777,Y=645 (should be at cap-height 644?)
    • Iacute (U+00CD): X=777,Y=645 (should be at cap-height 644?)
    • Icircumflex (U+00CE): X=777,Y=645 (should be at cap-height 644?)
      ... and 55 others [code: found-misalignments]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • M (U+004D): Quad(QuadBez { p0: (1172.5, 464.5), p1: (1203.0, 522.0), p2: (1242.0, 568.0) })/Quad(QuadBez { p0: (1242.0, 568.0), p1: (1182.0, 523.0), p2: (1118.0, 460.0) }) = 12.837954598528173 degrees
  • M (U+004D): Quad(QuadBez { p0: (794.5, 283.0), p1: (830.0, 404.0), p2: (878.0, 506.0) })/Quad(QuadBez { p0: (878.0, 506.0), p1: (798.0, 386.0), p2: (721.5, 291.5) }) = 8.488943880504696 degrees
  • U (U+0055): Quad(QuadBez { p0: (617.0, 197.0), p1: (632.0, 266.0), p2: (664.0, 346.0) })/Quad(QuadBez { p0: (664.0, 346.0), p1: (573.0, 175.0), p2: (483.5, 87.5) }) = 6.21887966906201 degrees
  • Uacute (U+00DA): Quad(QuadBez { p0: (617.0, 197.0), p1: (632.0, 266.0), p2: (664.0, 346.0) })/Quad(QuadBez { p0: (664.0, 346.0), p1: (573.0, 175.0), p2: (483.5, 87.5) }) = 6.21887966906201 degrees
  • Ucircumflex (U+00DB): Quad(QuadBez { p0: (617.0, 197.0), p1: (632.0, 266.0), p2: (664.0, 346.0) })/Quad(QuadBez { p0: (664.0, 346.0), p1: (573.0, 175.0), p2: (483.5, 87.5) }) = 6.21887966906201 degrees
  • Udieresis (U+00DC): Quad(QuadBez { p0: (617.0, 197.0), p1: (632.0, 266.0), p2: (664.0, 346.0) })/Quad(QuadBez { p0: (664.0, 346.0), p1: (573.0, 175.0), p2: (483.5, 87.5) }) = 6.21887966906201 degrees
  • Ugrave (U+00D9): Quad(QuadBez { p0: (617.0, 197.0), p1: (632.0, 266.0), p2: (664.0, 346.0) })/Quad(QuadBez { p0: (664.0, 346.0), p1: (573.0, 175.0), p2: (483.5, 87.5) }) = 6.21887966906201 degrees
  • W (U+0057): Quad(QuadBez { p0: (559.0, 396.5), p1: (559.0, 447.0), p2: (575.0, 476.0) })/Quad(QuadBez { p0: (575.0, 476.0), p1: (541.0, 429.0), p2: (511.5, 383.5) }) = 6.9955554792935795 degrees
  • W (U+0057): Quad(QuadBez { p0: (418.0, 349.0), p1: (406.0, 261.0), p2: (372.0, 163.0) })/Quad(QuadBez { p0: (372.0, 163.0), p1: (399.0, 220.0), p2: (432.0, 280.0) }) = 6.212532736041191 degrees
    ... and 29 others [code: found-jaggy-segments]
⚠️ WARN 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 <= 8 - Use grayscale rendering
PPM <= 16 - Use grid-fitting
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 16 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp range 0xFFFF value 0x03 should be set to 0x0F [code: unset-flags]

⚠️ 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 'pyrs' 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 The family name "Tangerine" 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:
Tangerine-Bold.ttf
Dehinted Size 46684
Hinted Size 65464
Increase 18780
Change 40.2 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    gasp
    hdmx
    LTSH
    VDMX [code: optional-tables]

ℹ️ 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.3, Version 1.3 [code: version-not-detected]
[1] ofl/tangerine/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2010, toshi omagari (tosche@mac.com)"

which does not match the expected format, similar to:

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
31 32 13 193 131
8% 9% 3% 52% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/trispace/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[1] ofl/trispace/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/trispace/Trispace[wdth,wght].ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0229 [code: missing-case-counterparts]
🔥 FAIL Ensure small caps glyphs are available (missing_small_caps_glyphs)
  • 🔥 FAIL The following letters did not take part in smcp substitutions:
  • fi
  • florin
  • uni0229
  • uni1E20
  • uni00B5
  • kgreenlandic
  • uni0237
  • fl
  • dotlessi [code: missing-smcp-lowercase]
🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Ldot
  • ldot.ss01.sc [code: found-nested-components]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.2100067 is equal to version on Google fonts [code: same-version]
⚠️ 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:

  • uni1E42 (U+1E42): found 5, expected one of: [2, 3, 4]
  • m.sc (unencoded): found 4, expected one of: [1, 2, 3]
  • uni0219.sc (unencoded): found 3, expected one of: [2, 4, 6]
  • w.sc (unencoded): found 4, expected one of: [1, 2, 3]
  • wacute.sc (unencoded): found 5, expected one of: [2, 3, 4]
  • wcircumflex.sc (unencoded): found 5, expected one of: [2, 3, 4]
  • wdieresis.sc (unencoded): found 6, expected one of: [3, 4, 5]
  • wgrave.sc (unencoded): found 5, expected one of: [2, 3, 4]
  • semicolon (U+003B): found 3, expected one of: [2, 6]
    ... and 13 others [code: contour-count]
⚠️ WARN Detect any interpolation issues in the font. (interpolation_issues)
  • ⚠️ WARN Interpolation issue in Aacute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAE: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA4: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA4: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA4: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA6: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA6: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA6: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Aringacute: Contour 4 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in AEacute: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Cacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E08: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Eacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBE: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBE: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBE: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC0: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC0: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC0: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E16: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Iacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Iacute.ss01: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2E: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2E.ss01: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Lacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Nacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Oacute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED0: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED0: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED0: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED2: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED2: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED2: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EDA: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E52: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Oslashacute: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E4C: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Racute: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Sacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E64: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Uacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni01D7: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EE8: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E78: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Wacute: Contour 4 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Yacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in Zacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.ss01: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.ss01: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA7: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA7: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA7: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA7.ss01: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA7.ss01: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA7.ss01: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute: Contour 4 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.ss01: Contour 4 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aeacute: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in cacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E09: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in eacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC1: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC1: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EC1: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E17: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in iacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2F: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.ss01: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in nacute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oacute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED3: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED3: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED3: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EDB: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E53: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E4D: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.ss01: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in sacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E65: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uacute: Contour 2 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni01D8: Contour 4 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EE9: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E79: Contour 3 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in wacute: Contour 4 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in yacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in zacute: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.ss01.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.ss01.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.ss01.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aacute.ss01.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.ss01.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.ss01.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.ss01.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EAF.ss01.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EA5.ss01.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.sc: Contour 4 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.sc: Contour 4 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.sc: Contour 4 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.sc: Contour 4 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.ss01.sc: Contour 4 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.ss01.sc: Contour 4 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.ss01.sc: Contour 4 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aringacute.ss01.sc: Contour 4 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aeacute.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aeacute.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aeacute.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in aeacute.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in cacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in cacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in cacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in cacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E09.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E09.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E09.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E09.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in eacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in eacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in eacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in eacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EBF.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E17.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E17.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E17.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E17.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in iacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in iacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in iacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in iacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2F.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2F.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2F.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E2F.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.sc: Wrong start point: contour 1 should start at 1 in wdth=75,wght=800 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.ss01.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.ss01.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.ss01.sc: Wrong start point: contour 1 should start at 1 in wdth=75,wght=800 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.ss01.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in lacute.ss01.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in nacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in nacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in nacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in nacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oacute.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oacute.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oacute.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oacute.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1ED1.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EDB.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EDB.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EDB.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EDB.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E53.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E53.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E53.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E53.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E4D.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E4D.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E4D.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E4D.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.ss01.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.ss01.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.ss01.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in racute.ss01.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in sacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in sacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in sacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in sacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E65.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E65.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E65.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E65.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni01D8.sc: Contour 3 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni01D8.sc: Contour 3 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni01D8.sc: Contour 3 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni01D8.sc: Contour 3 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EE9.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EE9.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EE9.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1EE9.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E79.sc: Contour 2 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E79.sc: Contour 2 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E79.sc: Contour 2 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni1E79.sc: Contour 2 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in wacute.sc: Contour 4 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in wacute.sc: Contour 4 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in wacute.sc: Contour 4 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in wacute.sc: Contour 4 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in yacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in yacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in yacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in yacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in zacute.sc: Contour 1 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in zacute.sc: Contour 1 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in zacute.sc: Contour 1 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in zacute.sc: Contour 1 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in infinity: Contour order mismatch: [0, 1, 2, 3] in default vs [3, 0, 1, 2] in wdth=75,wght=800 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in infinity: Wrong start point: contour 0 should start at 2 in wdth=75,wght=800 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acutecomb: Contour 0 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acutecomb.case: Contour 0 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acutecomb.sc: Contour 0 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acutecomb.sc: Contour 0 becomes underweight in wdth=125 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acutecomb.sc: Contour 0 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acutecomb.sc: Contour 0 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in acute: Contour 0 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03060301: Contour 1 becomes underweight in wdth=75 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020301: Contour 0 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020301: Contour 0 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020301: Contour 0 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020300: Contour 0 becomes underweight in wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020300: Contour 0 becomes underweight in wdth=75,wght=800 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni03020300: Contour 0 becomes underweight in wdth=125,wght=800 compared to default [code: interpolation-issue]

⚠️ WARN Ensure variable fonts include an avar table. (mandatory_avar_table)
  • ⚠️ WARN The font does not include an avar table. If the progression rates of axes is linear and no user-mapping is expected, this is fine, and this check can be ignored or excluded. [code: missing-avar]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • uni1E21.ss01
  • uni03020303.001
  • sterlira
  • newGlyph [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Ensure variable fonts have relatively consistent sidebearings. (suspicious_sidebearings)
  • ⚠️ WARN Glyph "slash" has suspiciously high variation (z-score 13.97) in advance widths at locations:
    wght=200.02, wdth=100.00
    wght=299.99, wdth=100.00
    wght=400.01, wdth=100.00
    wght=499.99, wdth=100.00
    wght=600.01, wdth=100.00
    wght=700.02, wdth=100.00
    wght=800.00, wdth=100.00 [code: large-aw-variation]

  • ⚠️ WARN Glyph "dcaron" has suspiciously high variation (z-score 23.60) in advance widths at locations:
    wght=200.02, wdth=100.00
    wght=299.99, wdth=100.00
    wght=400.01, wdth=100.00
    wght=499.99, wdth=100.00
    wght=600.01, wdth=100.00
    wght=700.02, wdth=100.00
    wght=800.00, wdth=100.00 [code: large-aw-variation]

  • ⚠️ WARN Glyph "lcaron" has suspiciously high variation (z-score 11.45) in advance widths at locations:
    wght=200.02, wdth=100.00
    wght=299.99, wdth=100.00
    wght=400.01, wdth=100.00
    wght=499.99, wdth=100.00
    wght=600.01, wdth=100.00
    wght=700.02, wdth=100.00
    wght=800.00, wdth=100.00 [code: large-aw-variation]

  • ⚠️ WARN Glyph "backslash" has suspiciously high variation (z-score 14.19) in advance widths at locations:
    wght=200.02, wdth=100.00
    wght=299.99, wdth=100.00
    wght=400.01, wdth=100.00
    wght=499.99, wdth=100.00
    wght=600.01, wdth=100.00
    wght=700.02, wdth=100.00
    wght=800.00, wdth=100.00 [code: large-aw-variation]

⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * en_Latn (English)
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: * 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: * lt_Latn (Lithuanian)
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 edotaccent when shaping the text 'ė́'
Shaper didn't attach tildecomb to edotaccent when shaping the text 'ė̃'
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 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 'ū̃'
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Small caps for Latin letters: * de_Latn (German)
When shaping the text 'ı' and shaping the text 'ı' with features: smcp, the output is expected to be different, but was the same * fi_Latn (Finnish)
* tr_Latn (Turkish)
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Ensure 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 10 others [code: soft-dotted]

⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • Iogonek.ss01: Line(Line { p0: (465.0, 0.0), p1: (531.0, 0.0) }) has the same coordinates as a previous segment.
  • aogonek.ss01: Line(Line { p0: (958.0, 0.0), p1: (1024.0, 0.0) }) has the same coordinates as a previous segment.
  • f_f_l: Line(Line { p0: (2047.0, 1435.0), p1: (2113.0, 1499.0) }) has the same coordinates as a previous segment.
  • fl (U+FB02): Line(Line { p0: (1253.0, 1436.0), p1: (1319.0, 1500.0) }) has the same coordinates as a previous segment. [code: overlapping-path-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Trispace[wdth,wght].ttf
Dehinted Size 303508
Hinted Size 303532
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.210 [code: version-not-detected]
[7] ofl/trispace
🔥 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 latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Central Mazahua, 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, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Central Mazahua, 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, vietnamese:
  • ̸ (U+0338) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Trispace" does not match correct family name "Trispace Thin". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/trispace/Trispace[wdth,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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, cherokee, tifinagh, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: canadian-aboriginal, syriac, malayalam, duployan, coptic, tifinagh, math, tai-le, todhri, old-permic, hebrew
  • 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 54 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
ℹ️ 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:
    wdth-wght: 1 [code: summary]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
14 286 8 147 38
6% 132% 4% 68% 18%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/truculenta/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[6] ofl/truculenta
🔥 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 latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Amarakaeri, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Chickasaw, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Central Mazahua, 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, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Central Mazahua, 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, vietnamese:
  • ̸ (U+0338) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Otomi, Mezquital, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Secoya, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Siona, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Ticuna, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, vietnamese:
  • ̱ (U+0331) [code: missing-subsetted]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/truculenta/Truculenta[opsz,wdth,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: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, math, tifinagh, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: hebrew, coptic, tai-le, tifinagh, malayalam, math, old-permic, canadian-aboriginal, 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: tai-le, cherokee
    ... and 39 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
ℹ️ 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:
    opsz-wdth-wght: 1 [code: summary]

[1] ofl/truculenta/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[25] ofl/truculenta/Truculenta[opsz,wdth,wght].ttf
🔥 FAIL Validates subfamilyNameID and postScriptNameID for the default instance record (opentype/varfont/valid_default_instance_nameids)
  • 🔥 FAIL Regular instance has the same coordinates as the default instance; its postscript name should be Truculenta-Regular instead of TruculentaRoman-Regular. [code: invalid-default-instance-postscript-name]
🔥 FAIL Check a font's STAT table contains compulsory Axis Values. (googlefonts/STAT/compulsory_axis_values)
  • 🔥 FAIL Compulsory STAT Axis Values are incorrect:
Name Axis Current Value Expected Value Current Flags Expected Flags Current Linked Value Expected Linked Value
Condensed wdth 75 75 0 0 N/A N/A
Expanded wdth 125 125 0 0 N/A N/A
ExtraCondensed wdth 62.5 N/A 0 N/A N/A N/A
Normal wdth 100 100 2 2 N/A N/A
SemiCondensed wdth 87.5 87.5 0 0 N/A N/A
SemiExpanded wdth 112.5 112.5 0 0 N/A N/A
UltraCondensed wdth 50 N/A 0 N/A N/A N/A
Black wght 900 900 0 0 N/A N/A
Bold wght 700 700 0 0 N/A N/A
ExtraBold wght 800 800 0 0 N/A N/A
ExtraLight wght 200 200 0 0 N/A N/A
Light wght 300 300 0 0 N/A N/A
Medium wght 500 500 0 0 N/A N/A
Regular wght 400 400 2 2 N/A 700
SemiBold wght 600 600 0 0 N/A N/A
Thin wght 100 100 0 0 N/A N/A

[code: bad-axis-values]

🔥 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 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 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:

  • E.alt (unencoded): found 4, expected one of: [1, 2]
  • F.alt (unencoded): found 3, expected one of: [1, 2]
  • R.alt (unencoded): found 3, expected one of: [1, 2]
  • ccedilla (U+00E7): found 3, expected one of: [1, 2, 6]
  • zacute.loclPLK (unencoded): found 4, expected one of: [2]
  • five (U+0035): found 3, expected one of: [1, 2, 5]
  • four.osf (unencoded): found 3, expected one of: [1, 2]
  • seven.osf (unencoded): found 2, expected one of: [1]
  • two.tosf (unencoded): found 2, expected one of: [1]
    ... and 9 others [code: contour-count]
⚠️ WARN Ensure files are not too large. (file_size)
  • ⚠️ WARN Font file is 1.05 MB; ideally it should be less than 1.05 MB [code: large-font]
⚠️ WARN Detect any interpolation issues in the font. (interpolation_issues)
  • ⚠️ WARN Interpolation issue in uni019D.alt: Kink in contour 0 at node 9 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in g.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gbreve.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcaron.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gcircumflex.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni0123.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 6 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in gdotaccent.alt: Kink in contour 1 at node 20 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Wrong start point: contour 2 should start at 1 in wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Contour 2 becomes underweight in wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Wrong start point: contour 2 should start at 1 in wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Contour 2 becomes underweight in wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Wrong start point: contour 2 should start at 1 in wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Contour 2 becomes underweight in wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Contour 2 becomes underweight in opsz=72,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Contour 2 becomes underweight in opsz=72,wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslash.BRACKET.600: Contour 2 becomes underweight in opsz=72,wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Wrong start point: contour 2 should start at 1 in wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Contour 2 becomes underweight in wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Wrong start point: contour 2 should start at 1 in wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Contour 2 becomes underweight in wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Wrong start point: contour 2 should start at 1 in wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Contour 2 becomes underweight in wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Contour 2 becomes underweight in opsz=72,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Contour 2 becomes underweight in opsz=72,wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in oslashacute.BRACKET.600: Contour 2 becomes underweight in opsz=72,wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour order mismatch: [0, 1, 2, 3, 4] in default vs [0, 3, 4, 1, 2] in wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 1 should start at 1 in wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 1 becomes underweight in wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 2 should start at 1 in wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 2 becomes underweight in wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour order mismatch: [0, 1, 2, 3, 4] in default vs [0, 1, 2, 4, 3] in wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 1 should start at 1 in wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 1 becomes underweight in wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 2 should start at 1 in wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 2 becomes underweight in wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour order mismatch: [0, 1, 2, 3, 4] in default vs [0, 3, 4, 1, 2] in wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 1 should start at 1 in wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 1 becomes underweight in wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 2 should start at 1 in wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 2 becomes underweight in wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour order mismatch: [0, 1, 2, 3, 4] in default vs [0, 3, 4, 1, 2] in opsz=72,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 1 should start at 1 in opsz=72,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 1 becomes underweight in opsz=72,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 2 becomes underweight in opsz=72,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour order mismatch: [0, 1, 2, 3, 4] in default vs [0, 1, 2, 4, 3] in opsz=72,wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 1 should start at 1 in opsz=72,wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 1 becomes underweight in opsz=72,wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wdth=75,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 2 becomes underweight in opsz=72,wdth=75,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour order mismatch: [0, 1, 2, 3, 4] in default vs [0, 3, 4, 1, 2] in opsz=72,wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 1 should start at 1 in opsz=72,wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 1 becomes underweight in opsz=72,wdth=125,wght=100 compared to default [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Wrong start point: contour 2 should start at 1 in opsz=72,wdth=125,wght=100 [code: interpolation-issue]

  • ⚠️ WARN Interpolation issue in uni20A9.BRACKET.600: Contour 2 becomes underweight in opsz=72,wdth=125,wght=100 compared to default [code: interpolation-issue]

⚠️ WARN Ensure variable fonts include an avar table. (mandatory_avar_table)
  • ⚠️ WARN The font does not include an avar table. If the progression rates of axes is linear and no user-mapping is expected, this is fine, and this check can be ignored or excluded. [code: missing-avar]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 500 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=550: logicalnot [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • uni0259.alt
  • uni0231.alt
  • .null
  • caron.alt [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * en_Latn (English)
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: ǯ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
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 tildecomb to m when shaping the text 'm̃'
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN Ensure 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 12 others [code: soft-dotted]

⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • A (U+0041): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • Aacute (U+00C1): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • Abreve (U+0102): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • uni1EAE (U+1EAE): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • uni1EB6 (U+1EB6): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • uni1EB0 (U+1EB0): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • uni1EB2 (U+1EB2): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • uni1EB4 (U+1EB4): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
  • uni01CD (U+01CD): Line(Line { p0: (180.0, 702.0), p1: (288.0, 704.0) }) has the same coordinates as a previous segment.
    ... and 28 others [code: overlapping-path-segments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Truculenta" 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:
Truculenta[opsz,wdth,wght].ttf
Dehinted Size 1052104
Hinted Size 1052128
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 1.002 [code: version-not-detected]
[1] ofl/truculenta/OFL.txt
⚠️ WARN Check OFL body text is correct. (googlefonts/license/OFL_body_text)

Lines changed:

[code: incorrect-ofl-body-text]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
13 116 10 143 39
6% 54% 5% 66% 18%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[23] ofl/unna/Unna-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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Adieresis [code: found-nested-components]
🔥 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: * lt_Latn (Lithuanian)
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: * ca_Latn (Catalan)
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: * tr_Latn (Turkish)
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: * 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: * de_Latn (German)
The following base characters are missing from the font: ẞ
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: * es_Latn (Spanish)
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: * sq_Latn (Albanian)
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: * sv_Latn (Swedish)
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: * fr_Latn (French)
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: * ro_Latn (Romanian)
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: * hr_Latn (Croatian)
The following mark characters are missing from the font: ́, ̌
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: ħ, GĦ, Ċ, Ħ, għ, Ġ, ċ, ġ
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: * is_Latn (Icelandic)
The following mark characters are missing from the font: ̨, ́, ̈
  • ⚠️ WARN Warning language shaping:
Message Languages
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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: * 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: ʒ
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)
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: Ĕ * 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: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0069885 is equal to version on Google fonts [code: same-version]
⚠️ 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:

  • Zacute (U+0179): found 3, expected one of: [2, 4, 6]
  • Zdotaccent (U+017B): found 3, expected one of: [2, 4, 6]
  • eacute (U+00E9): found 4, expected one of: [2, 3, 6]
  • ecaron (U+011B): found 4, expected one of: [2, 3, 6]
  • ecircumflex (U+00EA): found 4, expected one of: [2, 3, 6]
  • edieresis (U+00EB): found 5, expected one of: [3, 4, 7]
  • edotaccent (U+0117): found 4, expected one of: [2, 3, 6]
  • egrave (U+00E8): found 4, expected one of: [2, 3, 6]
  • emacron (U+0113): found 4, expected one of: [2, 3, 6]
    ... and 23 others [code: contour-count]
⚠️ 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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a path with no bounds (probably a single point)
  • Abreve (U+0102) has a path with no bounds (probably a single point)
  • Acircumflex (U+00C2) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Agrave (U+00C0) has a path with no bounds (probably a single point)
  • Amacron (U+0100) has a path with no bounds (probably a single point)
  • Aring (U+00C5) has a path with no bounds (probably a single point)
  • Atilde (U+00C3) has a path with no bounds (probably a single point)
    ... and 160 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • B (U+0042): Quad(QuadBez { p0: (462.5, 364.5), p1: (425.0, 328.0), p2: (362.0, 317.0) })/Quad(QuadBez { p0: (362.0, 317.0), p1: (409.0, 317.0), p2: (448.0, 297.0) }) = 9.904183212973862 degrees
  • registered (U+00AE): Quad(QuadBez { p0: (315.0, 430.0), p1: (300.0, 416.0), p2: (274.0, 411.0) })/Quad(QuadBez { p0: (274.0, 411.0), p1: (297.0, 411.0), p2: (316.0, 396.0) }) = 10.885527054658743 degrees [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • m (U+006D): Line(Line { p0: (171.0, 195.0), p1: (171.0, 203.0) }) has the same coordinates as a previous segment.
  • u (U+0075): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • uacute (U+00FA): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • ucircumflex (U+00FB): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • udieresis (U+00FC): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • ugrave (U+00F9): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • uhungarumlaut (U+0171): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • umacron (U+016B): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
  • uogonek (U+0173): Line(Line { p0: (353.0, 226.0), p1: (353.0, 220.0) }) has the same coordinates as a previous segment.
    ... and 1 others [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:
  • m (U+006D): Line(Line { p0: (172.0, 231.0), p1: (171.0, 43.0) }) (angle: -90.30 degrees, expected: -90.00 degrees)
  • u (U+0075): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • uacute (U+00FA): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • ucircumflex (U+00FB): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • udieresis (U+00FC): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • ugrave (U+00F9): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • uhungarumlaut (U+0171): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • umacron (U+016B): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
  • uogonek (U+0173): Line(Line { p0: (352.0, 186.0), p1: (353.0, 375.0) }) (angle: 89.70 degrees, expected: 90.00 degrees)
    ... and 1 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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Unna-Regular.ttf
Dehinted Size 54796
Hinted Size 71164
Increase 16368
Change 29.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 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.007; ttfautohint (v1.5), Version 2.007; ttfautohint (v1.5) [code: version-not-detected]
[23] ofl/unna/Unna-Bold.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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Adieresis [code: found-nested-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * sq_Latn (Albanian)
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: * pl_Latn (Polish)
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: * it_Latn (Italian)
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: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̇, ̌, ̄, ̨
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ħ, ċ, għ, GĦ, ġ, Ġ, Ċ, ħ
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: * pt_Latn (Portuguese)
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: * tr_Latn (Turkish)
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: * hu_Latn (Hungarian)
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: * hr_Latn (Croatian)
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: * da_Latn (Danish)
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: * ca_Latn (Catalan)
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: * 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: * ro_Latn (Romanian)
The following mark characters are missing from the font: ̂, ̆, ̧
Mandatory orthography codepoints: * is_Latn (Icelandic)
The following mark characters are missing from the font: ̈, ̨, ́
  • ⚠️ WARN Warning language shaping:
Message Languages
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
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: * 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: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * da_Latn (Danish)
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: Ĕ * 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: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: ŭ
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0069885 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ 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 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:

  • Zacute (U+0179): found 3, expected one of: [2, 4, 6]
  • Zdotaccent (U+017B): found 3, expected one of: [2, 4, 6]
  • eacute (U+00E9): found 4, expected one of: [2, 3, 6]
  • ecaron (U+011B): found 4, expected one of: [2, 3, 6]
  • ecircumflex (U+00EA): found 4, expected one of: [2, 3, 6]
  • edieresis (U+00EB): found 5, expected one of: [3, 4, 7]
  • edotaccent (U+0117): found 4, expected one of: [2, 3, 6]
  • egrave (U+00E8): found 4, expected one of: [2, 3, 6]
  • emacron (U+0113): found 4, expected one of: [2, 3, 6]
    ... and 17 others [code: contour-count]
⚠️ 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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 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=227,Y=596 (should be at cap-height 597?)
    • .notdef: X=163,Y=596 (should be at cap-height 597?)
    • .notdef: X=325,Y=596 (should be at cap-height 597?)
    • .notdef: X=260,Y=596 (should be at cap-height 597?)
    • AE (U+00C6): X=786,Y=599 (should be at cap-height 597?)
    • E (U+0045): X=497,Y=598 (should be at cap-height 597?)
    • Eacute (U+00C9): X=497,Y=598 (should be at cap-height 597?)
    • Ecaron (U+011A): X=497,Y=598 (should be at cap-height 597?)
    • Ecircumflex (U+00CA): X=497,Y=598 (should be at cap-height 597?)
      ... and 76 others [code: found-misalignments]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a path with no bounds (probably a single point)
  • Abreve (U+0102) has a path with no bounds (probably a single point)
  • Acircumflex (U+00C2) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Agrave (U+00C0) has a path with no bounds (probably a single point)
  • Amacron (U+0100) has a path with no bounds (probably a single point)
  • Aring (U+00C5) has a path with no bounds (probably a single point)
  • Atilde (U+00C3) has a path with no bounds (probably a single point)
    ... and 147 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • B (U+0042): Quad(QuadBez { p0: (485.5, 364.5), p1: (448.0, 328.0), p2: (385.0, 317.0) })/Quad(QuadBez { p0: (385.0, 317.0), p1: (432.0, 317.0), p2: (471.0, 297.0) }) = 9.904183212973862 degrees
  • R (U+0052): Quad(QuadBez { p0: (470.5, 345.0), p1: (432.0, 304.0), p2: (364.0, 290.0) })/Quad(QuadBez { p0: (364.0, 290.0), p1: (400.0, 290.0), p2: (437.0, 270.0) }) = 11.633633998940457 degrees
  • Racute (U+0154): Quad(QuadBez { p0: (470.5, 345.0), p1: (432.0, 304.0), p2: (364.0, 290.0) })/Quad(QuadBez { p0: (364.0, 290.0), p1: (400.0, 290.0), p2: (437.0, 270.0) }) = 11.633633998940457 degrees
  • Rcaron (U+0158): Quad(QuadBez { p0: (470.5, 345.0), p1: (432.0, 304.0), p2: (364.0, 290.0) })/Quad(QuadBez { p0: (364.0, 290.0), p1: (400.0, 290.0), p2: (437.0, 270.0) }) = 11.633633998940457 degrees
  • Rcommaaccent (U+0156): Quad(QuadBez { p0: (470.5, 345.0), p1: (432.0, 304.0), p2: (364.0, 290.0) })/Quad(QuadBez { p0: (364.0, 290.0), p1: (400.0, 290.0), p2: (437.0, 270.0) }) = 11.633633998940457 degrees
  • at (U+0040): Quad(QuadBez { p0: (431.0, 36.0), p1: (431.0, 74.0), p2: (453.0, 172.0) })/Quad(QuadBez { p0: (453.0, 172.0), p1: (412.0, 76.0), p2: (362.0, 33.0) }) = 10.473963888190799 degrees
  • registered (U+00AE): Quad(QuadBez { p0: (327.5, 427.0), p1: (312.0, 411.0), p2: (282.0, 407.0) })/Quad(QuadBez { p0: (282.0, 407.0), p1: (306.0, 407.0), p2: (326.0, 394.0) }) = 7.594643368591447 degrees [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]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Unna-Bold.ttf
Dehinted Size 59960
Hinted Size 79556
Increase 19596
Change 32.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 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.007; ttfautohint (v1.5), Version 2.007; ttfautohint (v1.5) [code: version-not-detected]
[2] ofl/unna/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2016 the unna project authors (omnibus.type@gmail.com)"

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:

-OTHER DEALINGS IN THE FONT SOFTWARE.+OTHER DEALINGS IN THE FONT SOFTWARE.
[code: incorrect-ofl-body-text]

[7] ofl/unna
🔥 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 Unna-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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-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 2016 the unna project authors (omnibus.type@gmail.com)" [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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-Italic.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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-Italic.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 2016 the unna project authors (omnibus.type@gmail.com)" [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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-BoldItalic.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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-BoldItalic.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 2016 the unna project authors (omnibus.type@gmail.com)" [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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL Unna-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 2016 the unna project authors (omnibus.type@gmail.com)" [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 2016 the unna project authors (omnibus.type@gmail.com)" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/unna/Unna-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+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: greek, elbasan, math
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: elbasan, greek, math
  • U+03BC GREEK SMALL LETTER MU: try adding one of: greek, math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • U+2021 DOUBLE DAGGER: try adding adlam
    ... and 16 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 ofl/unna/Unna-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+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: greek, elbasan, math
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: elbasan, greek, math
  • U+03BC GREEK SMALL LETTER MU: try adding one of: greek, math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • U+2021 DOUBLE DAGGER: try adding adlam
    ... and 16 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 ofl/unna/Unna-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+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: greek, elbasan, math
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: elbasan, greek, math
  • U+03BC GREEK SMALL LETTER MU: try adding one of: greek, math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • U+2021 DOUBLE DAGGER: try adding adlam
    ... and 16 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 ofl/unna/Unna-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+0326 COMBINING COMMA BELOW: try adding math
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: greek, elbasan, math
  • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: elbasan, greek, math
  • U+03BC GREEK SMALL LETTER MU: try adding one of: greek, math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • U+2021 DOUBLE DAGGER: try adding adlam
    ... and 16 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=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 METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.10% of its glyphs are supported by this font file. We can't remove it, however, since that would cause a regression in production. [code: unsupported-production-subset]
ℹ️ INFO Check 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/unna/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]
[23] ofl/unna/Unna-Italic.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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Adieresis [code: found-nested-components]
🔥 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 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: * fi_Latn (Finnish)
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: * es_Latn (Spanish)
The following mark characters are missing from the font: ́, ̃, ̈
Mandatory orthography codepoints: * hr_Latn (Croatian)
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: * pl_Latn (Polish)
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: * is_Latn (Icelandic)
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: * hu_Latn (Hungarian)
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: * tr_Latn (Turkish)
The following mark characters are missing from the font: ̇, ̈, ̧, ̂, ̆
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ġ, ħ, ġ, Ħ, Ċ, GĦ, għ, ċ
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: * sk_Latn (Slovak)
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: * de_Latn (German)
The following base characters are missing from the font: ẞ
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: * cs_Latn (Czech)
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: * nb_Latn (Norwegian Bokmål)
The following mark characters are missing from the font: ̀, ̈, ̊, ̂, ́
Mandatory orthography codepoints: * en_Latn (English)
The following mark characters are missing from the font: ́, ̃, ̀, ̂, ̧, ̈
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: * 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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: Ĕ * 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: ŏ
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: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
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)
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: ʒ
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.0069885 is equal to version on Google fonts [code: same-version]
⚠️ 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:

  • Zacute (U+0179): found 3, expected one of: [2, 4, 6]
  • Zdotaccent (U+017B): found 3, expected one of: [2, 4, 6]
  • eacute (U+00E9): found 4, expected one of: [2, 3, 6]
  • ecaron (U+011B): found 4, expected one of: [2, 3, 6]
  • ecircumflex (U+00EA): found 4, expected one of: [2, 3, 6]
  • edieresis (U+00EB): found 5, expected one of: [3, 4, 7]
  • edotaccent (U+0117): found 4, expected one of: [2, 3, 6]
  • egrave (U+00E8): found 4, expected one of: [2, 3, 6]
  • emacron (U+0113): found 4, expected one of: [2, 3, 6]
    ... and 16 others [code: contour-count]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 447 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=446: less, greater, plusminus
    width=444: equal, approxequal
    width=440: logicalnot
    width=460: lessequal
    width=445: multiply, divide
    width=466: minus [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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss03 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss04 lacks a description string in the name table [code: missing-description]

⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • A (U+0041): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Aacute (U+00C1): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Abreve (U+0102): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Acircumflex (U+00C2): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Adieresis (U+00C4): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Agrave (U+00C0): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Amacron (U+0100): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Aogonek (U+0104): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
  • Aring (U+00C5): from (536.0, 27.0) to (541.0, 27.0) is colinear with segment from (541.0, 27.0) to (575.0, 29.0)
    ... and 70 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a path with no bounds (probably a single point)
  • Abreve (U+0102) has a path with no bounds (probably a single point)
  • Acircumflex (U+00C2) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Agrave (U+00C0) has a path with no bounds (probably a single point)
  • Amacron (U+0100) has a path with no bounds (probably a single point)
  • Aring (U+00C5) has a path with no bounds (probably a single point)
  • Atilde (U+00C3) has a path with no bounds (probably a single point)
    ... and 152 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • B (U+0042): Quad(QuadBez { p0: (478.0, 371.5), p1: (435.0, 329.0), p2: (366.0, 317.0) })/Quad(QuadBez { p0: (366.0, 317.0), p1: (429.0, 317.0), p2: (470.0, 278.0) }) = 9.865806943084365 degrees
  • d (U+0064): Quad(QuadBez { p0: (301.0, 39.0), p1: (301.0, 100.0), p2: (316.0, 186.0) })/Quad(QuadBez { p0: (316.0, 186.0), p1: (272.0, 85.0), p2: (222.0, 37.5) }) = 13.646118599778873 degrees
  • dcaron (U+010F): Quad(QuadBez { p0: (301.0, 39.0), p1: (301.0, 100.0), p2: (316.0, 186.0) })/Quad(QuadBez { p0: (316.0, 186.0), p1: (272.0, 85.0), p2: (222.0, 37.5) }) = 13.646118599778873 degrees
  • dcroat (U+0111): Quad(QuadBez { p0: (301.0, 39.0), p1: (301.0, 100.0), p2: (316.0, 186.0) })/Quad(QuadBez { p0: (316.0, 186.0), p1: (272.0, 85.0), p2: (222.0, 37.5) }) = 13.646118599778873 degrees
  • m (U+006D): Quad(QuadBez { p0: (441.0, 340.0), p1: (441.0, 310.0), p2: (429.0, 250.0) })/Quad(QuadBez { p0: (429.0, 250.0), p1: (514.0, 430.0), p2: (619.0, 430.0) }) = 13.967789761532753 degrees
  • p (U+0070): Quad(QuadBez { p0: (164.0, 285.0), p1: (162.0, 266.0), p2: (156.0, 238.0) })/Quad(QuadBez { p0: (156.0, 238.0), p1: (200.0, 337.0), p2: (250.0, 383.5) }) = 11.867731897566067 degrees
  • q (U+0071): Quad(QuadBez { p0: (275.0, -92.0), p1: (298.0, 88.0), p2: (315.0, 183.0) })/Quad(QuadBez { p0: (315.0, 183.0), p1: (271.0, 83.0), p2: (221.0, 36.5) }) = 13.60395005897042 degrees
  • r (U+0072): Line(Line { p0: (172.0, 309.0), p1: (163.0, 255.0) })/Quad(QuadBez { p0: (163.0, 255.0), p1: (193.0, 332.0), p2: (228.0, 381.0) }) = 11.824082905633501 degrees
  • racute (U+0155): Line(Line { p0: (172.0, 309.0), p1: (163.0, 255.0) })/Quad(QuadBez { p0: (163.0, 255.0), p1: (193.0, 332.0), p2: (228.0, 381.0) }) = 11.824082905633501 degrees
    ... and 4 others [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]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Unna-Italic.ttf
Dehinted Size 62804
Hinted Size 80320
Increase 17516
Change 27.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 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.007; ttfautohint (v1.5), Version 2.007; ttfautohint (v1.5) [code: version-not-detected]
[23] ofl/unna/Unna-BoldItalic.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 Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 1/0/0/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/MANUFACTURER has trailing spaces that must be removed:
    Omnibus-Type [code: trailing-space]

🔥 FAIL Ensure glyphs do not have components which are themselves components. (nested_components)
  • 🔥 FAIL The following glyphs have components which are themselves component glyphs:
  • Adieresis [code: found-nested-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * lv_Latn (Latvian)
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: * ro_Latn (Romanian)
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: * en_Latn (English)
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: * mt_Latn (Maltese)
The following base characters are missing from the font: ġ, Ċ, għ, ċ, Ħ, GĦ, Ġ, ħ
The following mark characters are missing from the font: ̂, ̇, ̀
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * fi_Latn (Finnish)
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: * it_Latn (Italian)
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: * hr_Latn (Croatian)
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: * 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: * 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: * cs_Latn (Czech)
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: * sq_Latn (Albanian)
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: * tr_Latn (Turkish)
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: * es_Latn (Spanish)
The following mark characters are missing from the font: ̃, ́, ̈
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ą́
The following auxiliary characters are missing from the font: Ą̃
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ę́
The following auxiliary characters are missing from the font: Ę̃
The following auxiliary characters are missing from the font: Ė́
The following auxiliary characters are missing from the font: Ė̃
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Ĩ
The following auxiliary characters are missing from the font: Į́
The following auxiliary characters are missing from the font: Į̇́
The following auxiliary 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: ė̃
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: į̇̃
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: ū̃
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: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary 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: Ĕ * 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: ŏ
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: ʒ
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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0069885 is equal to version on Google fonts [code: same-version]
⚠️ 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:

  • Zacute (U+0179): found 3, expected one of: [2, 4, 6]
  • Zdotaccent (U+017B): found 3, expected one of: [2, 4, 6]
  • eacute (U+00E9): found 4, expected one of: [2, 3, 6]
  • ecaron (U+011B): found 4, expected one of: [2, 3, 6]
  • ecircumflex (U+00EA): found 4, expected one of: [2, 3, 6]
  • edieresis (U+00EB): found 5, expected one of: [3, 4, 7]
  • edotaccent (U+0117): found 4, expected one of: [2, 3, 6]
  • egrave (U+00E8): found 4, expected one of: [2, 3, 6]
  • emacron (U+0113): found 4, expected one of: [2, 3, 6]
    ... and 16 others [code: contour-count]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 457 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=446: less
    width=461: lessequal
    width=456: multiply, approxequal, equal
    width=455: logicalnot, plus
    width=450: divide
    width=462: minus [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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss03 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss04 lacks a description string in the name table [code: missing-description]

⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • A (U+0041): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Aacute (U+00C1): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Abreve (U+0102): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Acircumflex (U+00C2): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Adieresis (U+00C4): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Agrave (U+00C0): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Amacron (U+0100): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Aogonek (U+0104): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
  • Aring (U+00C5): from (575.0, 35.0) to (580.0, 35.0) is colinear with segment from (580.0, 35.0) to (606.0, 37.0)
    ... and 49 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • Aacute (U+00C1) has a path with no bounds (probably a single point)
  • Abreve (U+0102) has a path with no bounds (probably a single point)
  • Acircumflex (U+00C2) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Adieresis (U+00C4) has a path with no bounds (probably a single point)
  • Agrave (U+00C0) has a path with no bounds (probably a single point)
  • Amacron (U+0100) has a path with no bounds (probably a single point)
  • Aring (U+00C5) has a path with no bounds (probably a single point)
  • Atilde (U+00C3) has a path with no bounds (probably a single point)
    ... and 152 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • B (U+0042): Quad(QuadBez { p0: (511.5, 371.0), p1: (468.0, 329.0), p2: (397.0, 317.0) })/Quad(QuadBez { p0: (397.0, 317.0), p1: (462.0, 317.0), p2: (504.0, 278.0) }) = 9.593134262730318 degrees
  • a (U+0061): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • aacute (U+00E1): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • abreve (U+0103): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • acircumflex (U+00E2): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • adieresis (U+00E4): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • agrave (U+00E0): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • amacron (U+0101): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
  • aogonek (U+0105): Quad(QuadBez { p0: (307.0, 138.0), p1: (309.0, 156.0), p2: (311.0, 165.0) })/Quad(QuadBez { p0: (311.0, 165.0), p1: (269.0, 73.0), p2: (219.5, 31.5) }) = 12.008920767426275 degrees
    ... and 15 others [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]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Unna-BoldItalic.ttf
Dehinted Size 65996
Hinted Size 84916
Increase 18920
Change 28.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 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.007; ttfautohint (v1.5), Version 2.007; ttfautohint (v1.5) [code: version-not-detected]
[1] ofl/unna/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
40 96 24 354 245
6% 14% 3% 51% 36%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright (c) 2007, robert keller (www.motaitalic.com)"

which does not match the expected format, similar to:

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

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

  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 900 and and weight value (VesperLibre-Heavy). The name must end with Black or BlackItalic [code: mismatch]

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

[9] ofl/vesperlibre
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]

  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.08% 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]

🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Maithili language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL 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 VesperLibre-Medium.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) 2007, robert keller (www.motaitalic.com)" [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) 2007, robert keller (www.motaitalic.com)" [code: bad-notice-format]

  • 🔥 FAIL VesperLibre-Heavy.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) 2007, robert keller (www.motaitalic.com)" [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) 2007, robert keller (www.motaitalic.com)" [code: bad-notice-format]

  • 🔥 FAIL VesperLibre-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) 2007, robert keller (www.motaitalic.com)" [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) 2007, robert keller (www.motaitalic.com)" [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) 2007, robert keller (www.motaitalic.com)" [code: bad-notice-format]

⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Vesper Libre" does not match correct family name "Vesper Libre Medium". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

  • ⚠️ WARN METADATA.pb family name field "Vesper Libre" does not match correct family name "Vesper Libre Heavy". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/vesperlibre/VesperLibre-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: yi, canadian-aboriginal
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
  • U+212E ESTIMATED SYMBOL: try adding math
    ... and 13 others

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

  • ⚠️ WARN ofl/vesperlibre/VesperLibre-Heavy.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: yi, canadian-aboriginal
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
  • U+212E ESTIMATED SYMBOL: try adding math
    ... and 13 others

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

  • ⚠️ WARN ofl/vesperlibre/VesperLibre-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: yi, canadian-aboriginal
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
  • U+212E ESTIMATED SYMBOL: try adding math
    ... and 13 others

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

  • ⚠️ WARN ofl/vesperlibre/VesperLibre-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: yi, canadian-aboriginal
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, math, yi
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
  • U+212E ESTIMATED SYMBOL: try adding math
    ... and 13 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, devanagari, latin, latin-ext [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]

  • ⚠️ 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=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=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]
[24] ofl/vesperlibre/VesperLibre-Heavy.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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: Ċ, Ġ, GĦ, ċ, ħ, Ħ, ġ, għ
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: * cy_Latn (Welsh)
The following base characters are missing from the font: ỳ, ẃ, Ẁ, Ẃ, Ỳ, ŵ, ẅ, ŷ, Ŷ, ẁ, Ŵ, Ẅ
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: * hr_Latn (Croatian)
The following mark characters are missing from the font: ́, ̌
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * lt_Latn (Lithuanian)
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: * fr_Latn (French)
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: * ro_Latn (Romanian)
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: * da_Latn (Danish)
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: * it_Latn (Italian)
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: * lv_Latn (Latvian)
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: * cs_Latn (Czech)
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: * ca_Latn (Catalan)
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: * tr_Latn (Turkish)
The following mark characters are missing from the font: ̆, ̈, ̇, ̂, ̧
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * 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: ţ
The following auxiliary characters are missing from the font: ŧ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
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: * 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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: ǎ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŧ
Auxiliary orthography codepoints: * da_Latn (Danish)
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: * 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
🔥 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:
  • uni0326
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0962
  • uni0963
  • uni0945
  • uni0901
    ... and 13 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Unsupported style name 'Heavy' for static font. OS/2 usWeightClass is 900, so suggested style name is 'Black'. [code: unsupported-style]
🔥 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.0579987 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 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 1024 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1022: approxequal
    width=1025: less
    width=1026: notequal [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:
  • .null
  • uni0327.case
  • uni0945.01
  • fontmetrics [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • G (U+0047): X=1123,Y=1386 (should be at cap-height 1384?)
    • Gbreve (U+011E): X=1123,Y=1386 (should be at cap-height 1384?)
    • Gcommaaccent (U+0122): X=1123,Y=1386 (should be at cap-height 1384?)
    • aring (U+00E5): X=328.5,Y=1385 (should be at cap-height 1384?)
    • eogonek (U+0119): X=732,Y=1.5 (should be at baseline 0?)
    • iogonek (U+012F): X=652,Y=2 (should be at baseline 0?)
    • oe (U+0153): X=1383.5,Y=-2 (should be at baseline 0?)
    • oe (U+0153): X=1044,Y=1.5 (should be at baseline 0?)
    • oe (U+0153): X=728,Y=2.5 (should be at baseline 0?)
      ... and 50 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • AE (U+00C6): from (557.0, 1384.0) to (1709.0, 1384.0) is colinear with segment from (1709.0, 1384.0) to (1855.0, 1397.0)
  • E (U+0045): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Eacute (U+00C9): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Ecaron (U+011A): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Ecircumflex (U+00CA): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Edieresis (U+00CB): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Edotaccent (U+0116): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Egrave (U+00C8): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
  • Emacron (U+0112): from (78.0, 1384.0) to (1090.0, 1384.0) is colinear with segment from (1090.0, 1384.0) to (1235.0, 1397.0)
    ... and 50 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • M (U+004D): Line(Line { p0: (825.0, -15.0), p1: (402.0, 1143.0) })/Quad(QuadBez { p0: (402.0, 1143.0), p1: (429.0, 938.0), p2: (437.0, 731.0) }) = 12.56340170329302 degrees
  • uni090C (U+090C): Quad(QuadBez { p0: (1048.0, 384.0), p1: (1084.0, 427.0), p2: (1082.0, 424.0) })/Quad(QuadBez { p0: (1082.0, 424.0), p1: (1122.0, 471.0), p2: (1144.0, 499.0) }) = 6.709836807756896 degrees
  • uni090D (U+090D): Quad(QuadBez { p0: (420.0, 233.0), p1: (330.0, 288.0), p2: (334.0, 286.0) })/Quad(QuadBez { p0: (334.0, 286.0), p1: (251.0, 338.0), p2: (209.5, 374.5) }) = 5.502340426182559 degrees
  • uni090E (U+090E): Quad(QuadBez { p0: (420.0, 233.0), p1: (330.0, 288.0), p2: (334.0, 286.0) })/Quad(QuadBez { p0: (334.0, 286.0), p1: (251.0, 338.0), p2: (209.5, 374.5) }) = 5.502340426182559 degrees
  • uni090F (U+090F): Quad(QuadBez { p0: (420.0, 233.0), p1: (330.0, 288.0), p2: (334.0, 286.0) })/Quad(QuadBez { p0: (334.0, 286.0), p1: (251.0, 338.0), p2: (209.5, 374.5) }) = 5.502340426182559 degrees
  • uni0910 (U+0910): Quad(QuadBez { p0: (420.0, 233.0), p1: (330.0, 288.0), p2: (334.0, 286.0) })/Quad(QuadBez { p0: (334.0, 286.0), p1: (251.0, 338.0), p2: (209.5, 374.5) }) = 5.502340426182559 degrees
  • uni0914 (U+0914): Quad(QuadBez { p0: (1493.5, 1472.5), p1: (1600.0, 1411.0), p2: (1719.0, 1257.0) })/Quad(QuadBez { p0: (1719.0, 1257.0), p1: (1662.0, 1378.0), p2: (1602.0, 1459.0) }) = 12.470317069328381 degrees
  • uni094C (U+094C): Quad(QuadBez { p0: (15.5, 1472.5), p1: (122.0, 1411.0), p2: (241.0, 1257.0) })/Quad(QuadBez { p0: (241.0, 1257.0), p1: (184.0, 1378.0), p2: (124.0, 1459.0) }) = 12.470317069328381 degrees
  • uni094C0902: Quad(QuadBez { p0: (15.5, 1472.5), p1: (122.0, 1411.0), p2: (241.0, 1257.0) })/Quad(QuadBez { p0: (241.0, 1257.0), p1: (184.0, 1378.0), p2: (124.0, 1459.0) }) = 12.470317069328381 degrees
    ... and 15 others [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:
  • G (U+0047): Line(Line { p0: (1378.0, 490.0), p1: (1377.0, 214.0) }) (angle: -90.21 degrees, expected: -90.00 degrees)
  • Gbreve (U+011E): Line(Line { p0: (1378.0, 490.0), p1: (1377.0, 214.0) }) (angle: -90.21 degrees, expected: -90.00 degrees)
  • Gcommaaccent (U+0122): Line(Line { p0: (1378.0, 490.0), p1: (1377.0, 214.0) }) (angle: -90.21 degrees, expected: -90.00 degrees)
  • abreve (U+0103): Line(Line { p0: (218.0, 1381.0), p1: (381.0, 1380.0) }) (angle: -0.35 degrees, expected: 0.00 degrees)
  • gbreve (U+011F): Line(Line { p0: (242.0, 1381.0), p1: (405.0, 1380.0) }) (angle: -0.35 degrees, expected: 0.00 degrees)
  • n (U+006E): Line(Line { p0: (532.0, 698.0), p1: (533.0, 140.0) }) (angle: -89.90 degrees, expected: -90.00 degrees)
  • nacute (U+0144): Line(Line { p0: (532.0, 698.0), p1: (533.0, 140.0) }) (angle: -89.90 degrees, expected: -90.00 degrees)
  • ncaron (U+0148): Line(Line { p0: (532.0, 698.0), p1: (533.0, 140.0) }) (angle: -89.90 degrees, expected: -90.00 degrees)
  • ncommaaccent (U+0146): Line(Line { p0: (532.0, 698.0), p1: (533.0, 140.0) }) (angle: -89.90 degrees, expected: -90.00 degrees)
    ... and 23 others [code: found-semi-vertical]
⚠️ WARN 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 <= 7 | - Use grayscale rendering |

- Use smoothing along multiple axes with ClearType®
PPM <= 19 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 7 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 19 that may be unnecessary [code: non-ffff-range]

⚠️ 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
VesperLibre-Heavy.ttf
Dehinted Size 165244
Hinted Size 165724
Increase 480
Change 0.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 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.058 [code: version-not-detected]
[25] ofl/vesperlibre/VesperLibre-Bold.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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * en_Latn (English)
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: * es_Latn (Spanish)
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: * mt_Latn (Maltese)
The following base characters are missing from the font: Ġ, Ħ, ġ, għ, GĦ, Ċ, ċ, ħ
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: * it_Latn (Italian)
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: * sq_Latn (Albanian)
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: * de_Latn (German)
The following base characters are missing from the font: ẞ
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: * is_Latn (Icelandic)
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: * ro_Latn (Romanian)
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: * pt_Latn (Portuguese)
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: * fi_Latn (Finnish)
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: * hu_Latn (Hungarian)
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: * cy_Latn (Welsh)
The following base characters are missing from the font: ỳ, Ẁ, ŷ, ẅ, Ỳ, Ẃ, ŵ, Ŷ, ẁ, Ŵ, ẃ, Ẅ
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: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
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)
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * 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: * 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: ţ
The following auxiliary 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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
Auxiliary orthography codepoints: * 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: * 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: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
The following auxiliary characters are missing from the font: ij
🔥 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:
  • uni0326
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0962
  • uni0963
  • uni0945
  • uni0901
    ... and 13 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.0579987 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 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 1024 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1025: notequal, less
    width=1023: 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:
  • .null
  • uni0327.case
  • uni0945.01
  • fontmetrics [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • G (U+0047): X=1000.5,Y=-2.5 (should be at baseline 0?)
    • G (U+0047): X=550.5,Y=1382 (should be at cap-height 1384?)
    • Gbreve (U+011E): X=1000.5,Y=-2.5 (should be at baseline 0?)
    • Gbreve (U+011E): X=550.5,Y=1382 (should be at cap-height 1384?)
    • Gcommaaccent (U+0122): X=1000.5,Y=-2.5 (should be at baseline 0?)
    • Gcommaaccent (U+0122): X=550.5,Y=1382 (should be at cap-height 1384?)
    • Scedilla (U+015E): X=236,Y=1.5 (should be at baseline 0?)
    • c (U+0063): X=685.5,Y=1 (should be at baseline 0?)
    • cacute (U+0107): X=685.5,Y=1 (should be at baseline 0?)
      ... and 72 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • AE (U+00C6): from (564.0, 1384.0) to (1645.0, 1384.0) is colinear with segment from (1645.0, 1384.0) to (1784.0, 1397.0)
  • E (U+0045): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Eacute (U+00C9): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Ecaron (U+011A): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Ecircumflex (U+00CA): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Edieresis (U+00CB): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Edotaccent (U+0116): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Egrave (U+00C8): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
  • Emacron (U+0112): from (84.0, 1384.0) to (1041.0, 1384.0) is colinear with segment from (1041.0, 1384.0) to (1179.0, 1397.0)
    ... and 66 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • M (U+004D): Line(Line { p0: (833.0, -15.0), p1: (391.0, 1143.0) })/Quad(QuadBez { p0: (391.0, 1143.0), p1: (414.0, 968.0), p2: (420.5, 753.5) }) = 13.404095902881044 degrees
  • uni090C (U+090C): Quad(QuadBez { p0: (1040.0, 363.0), p1: (1080.0, 413.0), p2: (1077.0, 409.0) })/Quad(QuadBez { p0: (1077.0, 409.0), p1: (1128.0, 473.0), p2: (1158.0, 524.0) }) = 1.6805676503137656 degrees
  • uni0961 (U+0961): Quad(QuadBez { p0: (1232.0, 244.0), p1: (1209.0, 218.0), p2: (1210.0, 219.0) })/Quad(QuadBez { p0: (1210.0, 219.0), p1: (1167.0, 169.0), p2: (1146.0, 132.5) }) = 4.304468960507996 degrees
  • uni0914 (U+0914): Quad(QuadBez { p0: (1495.0, 1454.0), p1: (1598.0, 1393.0), p2: (1708.0, 1245.0) })/Quad(QuadBez { p0: (1708.0, 1245.0), p1: (1651.0, 1377.0), p2: (1589.0, 1463.0) }) = 13.26576263449844 degrees
  • uni094C (U+094C): Quad(QuadBez { p0: (17.0, 1454.0), p1: (120.0, 1393.0), p2: (230.0, 1245.0) })/Quad(QuadBez { p0: (230.0, 1245.0), p1: (173.0, 1377.0), p2: (111.0, 1463.0) }) = 13.26576263449844 degrees
  • uni094C0902: Quad(QuadBez { p0: (17.0, 1454.0), p1: (120.0, 1393.0), p2: (230.0, 1245.0) })/Quad(QuadBez { p0: (230.0, 1245.0), p1: (173.0, 1377.0), p2: (111.0, 1463.0) }) = 13.26576263449844 degrees
  • uni094C0930094D: Quad(QuadBez { p0: (17.0, 1454.0), p1: (120.0, 1393.0), p2: (230.0, 1245.0) })/Quad(QuadBez { p0: (230.0, 1245.0), p1: (173.0, 1377.0), p2: (111.0, 1463.0) }) = 13.26576263449844 degrees
  • uni094C0930094D0902: Quad(QuadBez { p0: (17.0, 1454.0), p1: (120.0, 1393.0), p2: (230.0, 1245.0) })/Quad(QuadBez { p0: (230.0, 1245.0), p1: (173.0, 1377.0), p2: (111.0, 1463.0) }) = 13.26576263449844 degrees
  • uni092E0930: Line(Line { p0: (898.0, 559.0), p1: (899.0, 552.0) })/Line(Line { p0: (899.0, 552.0), p1: (899.0, 1019.0) }) = 8.130102354156005 degrees
    ... and 12 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni093F0930094D.08: Line(Line { p0: (2033.0, 1328.0), p1: (2033.0, 1328.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:
  • dcroat (U+0111): Line(Line { p0: (1167.0, 1076.0), p1: (1012.0, 1077.0) }) (angle: 179.63 degrees, expected: 180.00 degrees)
  • oe (U+0153): Line(Line { p0: (1464.0, 487.0), p1: (986.0, 488.0) }) (angle: 179.88 degrees, expected: 180.00 degrees)
  • z (U+007A): Line(Line { p0: (906.0, 314.0), p1: (908.0, 0.0) }) (angle: -89.64 degrees, expected: -90.00 degrees)
  • zacute (U+017A): Line(Line { p0: (906.0, 314.0), p1: (908.0, 0.0) }) (angle: -89.64 degrees, expected: -90.00 degrees)
  • zcaron (U+017E): Line(Line { p0: (906.0, 314.0), p1: (908.0, 0.0) }) (angle: -89.64 degrees, expected: -90.00 degrees)
  • zdotaccent (U+017C): Line(Line { p0: (906.0, 314.0), p1: (908.0, 0.0) }) (angle: -89.64 degrees, expected: -90.00 degrees)
  • fl (U+FB02): Line(Line { p0: (1211.0, 1472.0), p1: (1212.0, 135.0) }) (angle: -89.96 degrees, expected: -90.00 degrees)
  • uni094F (U+094F): Line(Line { p0: (-140.0, 1418.0), p1: (-15.0, 1419.0) }) (angle: 0.46 degrees, expected: 0.00 degrees)
  • uni0919094D0917: Line(Line { p0: (820.0, -507.0), p1: (819.0, 119.0) }) (angle: 90.09 degrees, expected: 90.00 degrees)
    ... and 28 others [code: found-semi-vertical]
⚠️ WARN 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 <= 7 | - Use grayscale rendering |

- Use smoothing along multiple axes with ClearType®
PPM <= 19 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 7 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 19 that may be unnecessary [code: non-ffff-range]

⚠️ 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 The family name "Vesper Libre" 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:
VesperLibre-Bold.ttf
Dehinted Size 167692
Hinted Size 168172
Increase 480
Change 0.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 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.058 [code: version-not-detected]
[3] ofl/vesperlibre/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
⚠️ 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)
[25] ofl/vesperlibre/VesperLibre-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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * pt_Latn (Portuguese)
The following mark characters are missing from the font: ̧, ́, ̂, ̃, ̀, ̈
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: ŵ, ẃ, ẅ, Ŷ, Ẁ, Ỳ, Ẃ, Ŵ, Ẅ, ẁ, ỳ, ŷ
The following mark characters are missing from the font: ̀, ̈, ̂, ́
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * it_Latn (Italian)
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: * sk_Latn (Slovak)
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: * fi_Latn (Finnish)
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: * lv_Latn (Latvian)
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: * es_Latn (Spanish)
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: * tr_Latn (Turkish)
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: * en_Latn (English)
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: * fr_Latn (French)
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: * mt_Latn (Maltese)
The following base characters are missing from the font: GĦ, Ħ, Ġ, ċ, Ċ, ħ, ġ, għ
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: * hr_Latn (Croatian)
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: * de_Latn (German)
The following base characters are missing from the font: ẞ
The following mark characters are missing from the font: ́, ̀, ̈
  • ⚠️ WARN Warning language shaping:
Message Languages
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: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * 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: * 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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ċ
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ħ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: Ŝ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ċ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ħ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary characters are missing from the font: ţ
The following auxiliary 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: * 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: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
🔥 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:
  • uni0326
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0962
  • uni0963
  • uni0945
  • uni0901
    ... and 13 others [code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Vesper Libre Vesper Libre
Subfamily Name Regular Regular
Full Name Vesper Libre Vesper Libre Regular
Postscript Name VesperLibre-Regular VesperLibre-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.0579987 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 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • uni0327.case
  • uni0945.01
  • fontmetrics [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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:
  • T (U+0054): from (96.0, 1393.0) to (227.0, 1384.0) is colinear with segment from (227.0, 1384.0) to (1158.0, 1384.0)
  • T (U+0054): from (227.0, 1384.0) to (1158.0, 1384.0) is colinear with segment from (1158.0, 1384.0) to (1284.0, 1396.0)
  • Tcaron (U+0164): from (96.0, 1393.0) to (227.0, 1384.0) is colinear with segment from (227.0, 1384.0) to (1158.0, 1384.0)
  • Tcaron (U+0164): from (227.0, 1384.0) to (1158.0, 1384.0) is colinear with segment from (1158.0, 1384.0) to (1284.0, 1396.0)
  • uni021A (U+021A): from (96.0, 1393.0) to (227.0, 1384.0) is colinear with segment from (227.0, 1384.0) to (1158.0, 1384.0)
  • uni021A (U+021A): from (227.0, 1384.0) to (1158.0, 1384.0) is colinear with segment from (1158.0, 1384.0) to (1284.0, 1396.0)
  • Z (U+005A): from (153.0, 1394.0) to (281.0, 1384.0) is colinear with segment from (281.0, 1384.0) to (1111.0, 1384.0)
  • Zacute (U+0179): from (153.0, 1394.0) to (281.0, 1384.0) is colinear with segment from (281.0, 1384.0) to (1111.0, 1384.0)
  • Zcaron (U+017D): from (153.0, 1394.0) to (281.0, 1384.0) is colinear with segment from (281.0, 1384.0) to (1111.0, 1384.0)
    ... and 61 others [code: found-colinear-vectors]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • fontmetrics has a counter-clockwise outer contour
  • fontmetrics has a counter-clockwise outer contour
  • fontmetrics has a counter-clockwise outer contour
  • fontmetrics has a counter-clockwise outer contour
  • fontmetrics has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0914 (U+0914): Quad(QuadBez { p0: (1496.0, 1423.5), p1: (1594.0, 1364.0), p2: (1688.0, 1230.0) })/Quad(QuadBez { p0: (1688.0, 1230.0), p1: (1629.0, 1377.0), p2: (1564.0, 1472.0) }) = 13.180794126675858 degrees
  • uni094C (U+094C): Quad(QuadBez { p0: (18.0, 1423.5), p1: (116.0, 1364.0), p2: (210.0, 1230.0) })/Quad(QuadBez { p0: (210.0, 1230.0), p1: (151.0, 1377.0), p2: (86.0, 1472.0) }) = 13.180794126675858 degrees
  • uni094C0902: Quad(QuadBez { p0: (18.0, 1423.5), p1: (116.0, 1364.0), p2: (210.0, 1230.0) })/Quad(QuadBez { p0: (210.0, 1230.0), p1: (151.0, 1377.0), p2: (86.0, 1472.0) }) = 13.180794126675858 degrees
  • uni094C0930094D: Quad(QuadBez { p0: (18.0, 1423.5), p1: (116.0, 1364.0), p2: (210.0, 1230.0) })/Quad(QuadBez { p0: (210.0, 1230.0), p1: (151.0, 1377.0), p2: (86.0, 1472.0) }) = 13.180794126675858 degrees
  • uni094C0930094D0902: Quad(QuadBez { p0: (18.0, 1423.5), p1: (116.0, 1364.0), p2: (210.0, 1230.0) })/Quad(QuadBez { p0: (210.0, 1230.0), p1: (151.0, 1377.0), p2: (86.0, 1472.0) }) = 13.180794126675858 degrees
  • uni092E0930: Line(Line { p0: (826.0, 532.0), p1: (842.0, 463.0) })/Line(Line { p0: (842.0, 463.0), p1: (842.0, 1053.0) }) = 13.055247223796618 degrees
  • uni0948 (U+0948): Quad(QuadBez { p0: (-491.0, 1423.5), p1: (-393.0, 1364.0), p2: (-299.0, 1230.0) })/Quad(QuadBez { p0: (-299.0, 1230.0), p1: (-358.0, 1377.0), p2: (-423.0, 1472.0) }) = 13.180794126675858 degrees
  • uni09480902: Quad(QuadBez { p0: (-491.0, 1423.5), p1: (-393.0, 1364.0), p2: (-299.0, 1230.0) })/Quad(QuadBez { p0: (-299.0, 1230.0), p1: (-358.0, 1377.0), p2: (-423.0, 1472.0) }) = 13.180794126675858 degrees
  • uni09480930094D: Quad(QuadBez { p0: (-491.0, 1423.5), p1: (-393.0, 1364.0), p2: (-299.0, 1230.0) })/Quad(QuadBez { p0: (-299.0, 1230.0), p1: (-358.0, 1377.0), p2: (-423.0, 1472.0) }) = 13.180794126675858 degrees
    ... and 1 others [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:
  • dcroat (U+0111): Line(Line { p0: (737.0, 1094.0), p1: (498.0, 1092.0) }) (angle: -179.52 degrees, expected: -180.00 degrees)
  • m (U+006D): Line(Line { p0: (396.0, 687.0), p1: (395.0, 126.0) }) (angle: -90.10 degrees, expected: -90.00 degrees)
  • z (U+007A): Line(Line { p0: (823.0, 292.0), p1: (825.0, 0.0) }) (angle: -89.61 degrees, expected: -90.00 degrees)
  • zacute (U+017A): Line(Line { p0: (823.0, 292.0), p1: (825.0, 0.0) }) (angle: -89.61 degrees, expected: -90.00 degrees)
  • zcaron (U+017E): Line(Line { p0: (823.0, 292.0), p1: (825.0, 0.0) }) (angle: -89.61 degrees, expected: -90.00 degrees)
  • zdotaccent (U+017C): Line(Line { p0: (823.0, 292.0), p1: (825.0, 0.0) }) (angle: -89.61 degrees, expected: -90.00 degrees)
  • uni0919094D0917: Line(Line { p0: (805.0, -490.0), p1: (802.0, 169.0) }) (angle: 90.26 degrees, expected: 90.00 degrees)
  • uni0919094D09170930: Line(Line { p0: (805.0, -490.0), p1: (804.0, -310.0) }) (angle: 90.32 degrees, expected: 90.00 degrees)
  • uni0919094D09170930: Line(Line { p0: (804.0, -155.0), p1: (802.0, 169.0) }) (angle: 90.35 degrees, expected: 90.00 degrees)
    ... and 27 others [code: found-semi-vertical]
⚠️ WARN 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 <= 7 | - Use grayscale rendering |

- Use smoothing along multiple axes with ClearType®
PPM <= 19 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 7 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 19 that may be unnecessary [code: non-ffff-range]

⚠️ 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 "Vesper Libre" 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:
VesperLibre-Regular.ttf
Dehinted Size 165644
Hinted Size 166124
Increase 480
Change 0.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 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.058 [code: version-not-detected]
[25] ofl/vesperlibre/VesperLibre-Medium.ttf
🔥 FAIL Check glyphs do not have duplicate components which have the same x,y coordinates. (opentype/glyf_non_transformed_duplicate_components)
  • 🔥 FAIL uni0977: duplicate component uni0956 at 1552,0. Duplicate components may cause rendering issues. [code: found-duplicates]
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: ċ, ġ, GĦ, ħ, Ġ, Ċ, għ, Ħ
The following mark characters are missing from the font: ̇, ̀, ̂
Mandatory orthography codepoints: * cy_Latn (Welsh)
The following base characters are missing from the font: Ẁ, ỳ, ŷ, Ỳ, Ẅ, Ŷ, Ẃ, ẃ, ŵ, Ŵ, ẅ, ẁ
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: * ca_Latn (Catalan)
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: * it_Latn (Italian)
The following mark characters are missing from the font: ́, ̀, ̂, ̈
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * pl_Latn (Polish)
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: * 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: * pt_Latn (Portuguese)
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: * nb_Latn (Norwegian Bokmål)
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: * sv_Latn (Swedish)
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: * de_Latn (German)
The following base characters are missing from the font: ẞ
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: * da_Latn (Danish)
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: * en_Latn (English)
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: * lv_Latn (Latvian)
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: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: * 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: Į̇̃
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: ė̃
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: į̇̃
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: ū̃
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: ĭ
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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
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: * 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: ţ
The following auxiliary 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: * tr_Latn (Turkish)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary 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: * da_Latn (Danish)
The following auxiliary characters are missing from the font: Ǿ
The following auxiliary characters are missing from the font: ǿ
🔥 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:
  • uni0326
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0962
  • uni0963
  • uni0945
  • uni0901
    ... and 13 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.0579987 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 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 1024 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1023: approxequal
    width=1025: notequal [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:
  • .null
  • uni0327.case
  • uni0945.01
  • fontmetrics [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • G (U+0047): X=488.5,Y=2.5 (should be at baseline 0?)
    • G (U+0047): X=549.5,Y=1383.5 (should be at cap-height 1384?)
    • Gbreve (U+011E): X=488.5,Y=2.5 (should be at baseline 0?)
    • Gbreve (U+011E): X=549.5,Y=1383.5 (should be at cap-height 1384?)
    • Gcommaaccent (U+0122): X=488.5,Y=2.5 (should be at baseline 0?)
    • Gcommaaccent (U+0122): X=549.5,Y=1383.5 (should be at cap-height 1384?)
    • Scedilla (U+015E): X=236.5,Y=1.5 (should be at baseline 0?)
    • a (U+0061): X=461,Y=-2 (should be at baseline 0?)
    • aacute (U+00E1): X=461,Y=-2 (should be at baseline 0?)
      ... and 73 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • AE (U+00C6): from (568.0, 1384.0) to (1603.0, 1384.0) is colinear with segment from (1603.0, 1384.0) to (1738.0, 1397.0)
  • E (U+0045): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Eacute (U+00C9): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Ecaron (U+011A): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Ecircumflex (U+00CA): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Edieresis (U+00CB): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Edotaccent (U+0116): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Egrave (U+00C8): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
  • Emacron (U+0112): from (89.0, 1384.0) to (1010.0, 1384.0) is colinear with segment from (1010.0, 1384.0) to (1144.0, 1397.0)
    ... and 57 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • M (U+004D): Line(Line { p0: (839.0, -15.0), p1: (383.0, 1143.0) })/Quad(QuadBez { p0: (383.0, 1143.0), p1: (404.0, 984.0), p2: (410.0, 756.0) }) = 13.969825958379172 degrees
  • uni0914 (U+0914): Quad(QuadBez { p0: (1495.0, 1442.0), p1: (1596.0, 1382.0), p2: (1701.0, 1240.0) })/Quad(QuadBez { p0: (1701.0, 1240.0), p1: (1643.0, 1377.0), p2: (1579.5, 1466.5) }) = 13.534835552991872 degrees
  • uni094C (U+094C): Quad(QuadBez { p0: (17.0, 1442.0), p1: (118.0, 1382.0), p2: (223.0, 1240.0) })/Quad(QuadBez { p0: (223.0, 1240.0), p1: (165.0, 1377.0), p2: (101.5, 1466.5) }) = 13.534835552991872 degrees
  • uni094C0902: Quad(QuadBez { p0: (17.0, 1442.0), p1: (118.0, 1382.0), p2: (223.0, 1240.0) })/Quad(QuadBez { p0: (223.0, 1240.0), p1: (165.0, 1377.0), p2: (101.5, 1466.5) }) = 13.534835552991872 degrees
  • uni094C0930094D: Quad(QuadBez { p0: (17.0, 1442.0), p1: (118.0, 1382.0), p2: (223.0, 1240.0) })/Quad(QuadBez { p0: (223.0, 1240.0), p1: (165.0, 1377.0), p2: (101.5, 1466.5) }) = 13.534835552991872 degrees
  • uni094C0930094D0902: Quad(QuadBez { p0: (17.0, 1442.0), p1: (118.0, 1382.0), p2: (223.0, 1240.0) })/Quad(QuadBez { p0: (223.0, 1240.0), p1: (165.0, 1377.0), p2: (101.5, 1466.5) }) = 13.534835552991872 degrees
  • uni092E0930: Line(Line { p0: (870.0, 549.0), p1: (877.0, 512.0) })/Line(Line { p0: (877.0, 512.0), p1: (877.0, 1032.0) }) = 10.713123022791033 degrees
  • uni0948 (U+0948): Quad(QuadBez { p0: (-505.5, 1442.0), p1: (-404.0, 1382.0), p2: (-300.0, 1239.0) })/Quad(QuadBez { p0: (-300.0, 1239.0), p1: (-358.0, 1377.0), p2: (-421.5, 1466.5) }) = 13.230851917160983 degrees
  • uni09480902: Quad(QuadBez { p0: (-505.5, 1442.0), p1: (-404.0, 1382.0), p2: (-300.0, 1239.0) })/Quad(QuadBez { p0: (-300.0, 1239.0), p1: (-358.0, 1377.0), p2: (-421.5, 1466.5) }) = 13.230851917160983 degrees
    ... and 6 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni0977 (U+0977): Quad(QuadBez { p0: (721.0, -125.0), p1: (795.0, -212.0), p2: (862.5, -246.5) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (862.5, -246.5), p1: (930.0, -281.0), p2: (1007.0, -281.0) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (1007.0, -281.0), p1: (1088.0, -281.0), p2: (1164.0, -236.0) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (1164.0, -236.0), p1: (1240.0, -191.0), p2: (1316.0, -98.0) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Line(Line { p0: (1316.0, -98.0), p1: (1440.0, -214.0) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (1440.0, -214.0), p1: (1360.0, -324.0), p2: (1268.0, -376.0) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (1268.0, -376.0), p1: (1176.0, -428.0), p2: (1066.0, -428.0) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (1066.0, -428.0), p1: (946.0, -428.0), p2: (844.0, -372.5) }) has the same coordinates as a previous segment.
  • uni0977 (U+0977): Quad(QuadBez { p0: (844.0, -372.5), p1: (742.0, -317.0), p2: (650.0, -180.0) }) has the same coordinates as a previous segment.
    ... and 5 others [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:
  • G (U+0047): Line(Line { p0: (1287.0, 505.0), p1: (1286.0, 211.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • Gbreve (U+011E): Line(Line { p0: (1287.0, 505.0), p1: (1286.0, 211.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • Gcommaaccent (U+0122): Line(Line { p0: (1287.0, 505.0), p1: (1286.0, 211.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • abreve (U+0103): Line(Line { p0: (210.0, 1364.0), p1: (339.0, 1363.0) }) (angle: -0.44 degrees, expected: 0.00 degrees)
  • dcroat (U+0111): Line(Line { p0: (732.0, 1083.0), p1: (495.0, 1081.0) }) (angle: -179.52 degrees, expected: -180.00 degrees)
  • gbreve (U+011F): Line(Line { p0: (241.0, 1364.0), p1: (370.0, 1363.0) }) (angle: -0.44 degrees, expected: 0.00 degrees)
  • m (U+006D): Line(Line { p0: (448.0, 687.0), p1: (447.0, 131.0) }) (angle: -90.10 degrees, expected: -90.00 degrees)
  • n (U+006E): Line(Line { p0: (447.0, 698.0), p1: (448.0, 131.0) }) (angle: -89.90 degrees, expected: -90.00 degrees)
  • nacute (U+0144): Line(Line { p0: (447.0, 698.0), p1: (448.0, 131.0) }) (angle: -89.90 degrees, expected: -90.00 degrees)
    ... and 37 others [code: found-semi-vertical]
⚠️ WARN 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 <= 7 | - Use grayscale rendering |

- Use smoothing along multiple axes with ClearType®
PPM <= 19 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
- Use gridfitting with ClearType symmetric smoothing
- Use smoothing along multiple axes with ClearType®
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 7 that may be unnecessary [code: non-ffff-range]

  • ⚠️ WARN The gasp table has a range of 19 that may be unnecessary [code: non-ffff-range]

⚠️ 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
VesperLibre-Medium.ttf
Dehinted Size 167888
Hinted Size 168368
Increase 480
Change 0.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 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.058 [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
43 101 24 346 239
6% 15% 3% 50% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[9] ofl/yesevaone
🔥 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, latin-ext, latin, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL YesevaOne-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 2012 the yeseva one project authors (lemonad@jovanny.ru), with reserved font name "yeseva"." [code: bad-notice-format]

  • 🔥 FAIL YesevaOne-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 2012 the yeseva one project authors (lemonad@jovanny.ru), with reserved font name "yeseva"." [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 2012 the yeseva one project authors (lemonad@jovanny.ru), with reserved font name "yeseva"." [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/yesevaone/YesevaOne-Regular.ttf missing required codepoints:
  • 0x2212: MINUS SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/yesevaone/YesevaOne-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: cherokee, coptic, tifinagh, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, malayalam, math, todhri, tai-le, tifinagh, canadian-aboriginal, hebrew, coptic, duployan, 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: tai-le, cherokee
    ... and 5 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, latin, latin-ext, menu, vietnamese [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 2012 The Yeseva One Project Authors (lemonad@jovanny.ru), with Reserved Font Name "Yeseva".") 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 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]
[28] ofl/yesevaone/YesevaOne-Regular.ttf
🔥 FAIL Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • 🔥 FAIL Lcaron uses component: uni030C [code: wrong-mark]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0133 [code: missing-case-counterparts]
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * mt_Latn (Maltese)
The following base characters are missing from the font: GĦ, Ħ
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))
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: ẞ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
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: * 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: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
Auxiliary orthography codepoints: * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0451 when shaping the text 'ё́' * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́'
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: * lt_Latn (Lithuanian)
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 Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 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 acutecomb to aogonek when shaping the text 'ą́'
Shaper didn't attach tildecomb to aogonek when shaping the text 'ą̃'
Shaper didn't attach acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach uni0307 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 'į̇̃'
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 uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * nl_Latn (Dutch)
The following auxiliary characters are missing from the font: IJ
Auxiliary orthography codepoints: * ro_Latn (Romanian)
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: ţ
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ħ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ŋ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ţ
The following auxiliary characters are missing from the font: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ţ
The following auxiliary characters are missing from the font: ŧ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * 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: * mn_Cyrl (Mongolian)
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 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:

  • lacute (U+013A): found 1, expected one of: [2, 3, 6] [code: contour-count]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 505 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=470: logicalnot
    width=460: equal
    width=500: divide
    width=406: multiply
    width=515: plus [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:
  • NULL
  • foundryicon [code: unreachable-glyphs]
⚠️ WARN Does the font have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 ("Yeseva") that differs from the currently used family name (Yeseva One), which is fine. [code: legacy-familyname]

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

⚠️ 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 3 othersThe dot of soft dotted characters should disappear in other cases, for example:

  • ị̋

  • ị̆

  • ị̊

  • ị̉

  • ị̇

  • ị̌

  • ị̈

  • і̋

  • і̆
    ... and 26 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:
    • Ohorn (U+01A0): X=485,Y=698 (should be at cap-height 700?)
    • Ohorn (U+01A0): X=530,Y=702 (should be at cap-height 700?)
    • uni1EDA (U+1EDA): X=485,Y=698 (should be at cap-height 700?)
    • uni1EDA (U+1EDA): X=530,Y=702 (should be at cap-height 700?)
    • uni1EE2 (U+1EE2): X=485,Y=698 (should be at cap-height 700?)
    • uni1EE2 (U+1EE2): X=530,Y=702 (should be at cap-height 700?)
    • uni1EDC (U+1EDC): X=485,Y=698 (should be at cap-height 700?)
    • uni1EDC (U+1EDC): X=530,Y=702 (should be at cap-height 700?)
    • uni1EDE (U+1EDE): X=485,Y=698 (should be at cap-height 700?)
      ... and 40 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • lacute (U+013A): from (40.0, 700.0) to (170.0, 700.0) is colinear with segment from (170.0, 700.0) to (182.0, 700.0)
  • lacute (U+013A): from (170.0, 700.0) to (182.0, 700.0) is colinear with segment from (182.0, 700.0) to (312.0, 700.0)
  • uni049C (U+049C): from (275.0, 385.0) to (325.0, 385.0) is colinear with segment from (325.0, 385.0) to (329.0, 385.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni00B3 (U+00B3): Quad(QuadBez { p0: (260.0, 552.0), p1: (234.0, 541.0), p2: (205.0, 540.0) })/Quad(QuadBez { p0: (205.0, 540.0), p1: (242.0, 537.0), p2: (267.0, 527.0) }) = 6.610397437784617 degrees
  • threequarters (U+00BE): Quad(QuadBez { p0: (260.0, 552.0), p1: (234.0, 541.0), p2: (205.0, 540.0) })/Quad(QuadBez { p0: (205.0, 540.0), p1: (242.0, 537.0), p2: (267.0, 527.0) }) = 6.610397437784617 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (185.0, 271.0), p1: (151.0, 253.0), p2: (105.0, 250.0) })/Quad(QuadBez { p0: (105.0, 250.0), p1: (151.0, 247.0), p2: (185.0, 229.0) }) = 7.462793998320895 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (185.0, 229.0), p1: (219.0, 247.0), p2: (265.0, 250.0) })/Quad(QuadBez { p0: (265.0, 250.0), p1: (219.0, 253.0), p2: (185.0, 271.0) }) = 7.462793998320895 degrees
  • sterling (U+00A3): Quad(QuadBez { p0: (226.0, 73.0), p1: (207.0, 60.0), p2: (180.0, 55.0) })/Line(Line { p0: (180.0, 55.0), p1: (475.0, 55.0) }) = 10.491477012331634 degrees
  • registered (U+00AE): Quad(QuadBez { p0: (550.0, 350.0), p1: (518.0, 338.0), p2: (480.0, 335.0) })/Quad(QuadBez { p0: (480.0, 335.0), p1: (500.0, 333.0), p2: (518.0, 326.0) }) = 10.224581595500897 degrees [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:
  • uni0474 (U+0474): Line(Line { p0: (673.0, 528.0), p1: (674.0, 677.0) }) (angle: 89.62 degrees, expected: 90.00 degrees) [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 is 'PfEd', a font editor default.
    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: bad]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Yeseva 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:
YesevaOne-Regular.ttf
Dehinted Size 76284
Hinted Size 108016
Increase 31732
Change 41.6 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 2.000, Version 2.000 [code: version-not-detected]
[1] ofl/yesevaone/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2012 the yeseva one project authors (lemonad@jovanny.ru), with reserved font name "yeseva"."

which does not match the expected format, similar to:

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

[1] ofl/yesevaone/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[1] ofl/yesevaone/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]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
13 28 9 112 67
6% 13% 4% 52% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Checks with FATAL results

These must be addressed first.

[1] ofl/zhimangxing/ZhiMangXing-Regular.ttf
💥 ERROR Check font contains no unreachable glyphs (unreachable_glyphs)
  • 💥 ERROR Error: Error reading font file: An offset was unexpectedly null

All other checks

[8] ofl/zhimangxing
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • 🔥 FAIL METADATA.pb family name field "Zhi Mang Xing" does not match correct family name "". [code: familyname-mismatch]

  • 🔥 FAIL METADATA.pb family name field "Zhi Mang Xing" does not match correct family name "钟齐志莽行书". [code: familyname-mismatch]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/zhimangxing/ZhiMangXing-Regular.ttf missing required codepoints:
  • 0x00AE: REGISTERED SIGN
  • 0x00B7: MIDDLE DOT [code: missing-codepoints]
⚠️ WARN METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ⚠️ WARN Please add 'japanese' to METADATA.pb since more than 50% of its glyphs are supported by this font file. [code: missing-subset]

  • ⚠️ WARN Please add 'chinese-hongkong' to METADATA.pb since more than 50% of its glyphs are supported by this font file. [code: missing-subset]

  • ⚠️ WARN Please add 'chinese-traditional' to METADATA.pb since more than 50% of its glyphs are supported by this font file. [code: missing-subset]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/zhimangxing/ZhiMangXing-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: tifinagh, latin-ext, canadian-aboriginal, yi
  • U+2015 HORIZONTAL BAR: try adding adlam
  • U+2025 TWO DOT LEADER: try adding phags-pa
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+4E2C CJK UNIFIED IDEOGRAPH-4E2C: try adding chinese-hongkong
  • U+4EA0 CJK UNIFIED IDEOGRAPH-4EA0: try adding japanese
  • U+4EC2 CJK UNIFIED IDEOGRAPH-4EC2: try adding japanese
  • U+4F7E CJK UNIFIED IDEOGRAPH-4F7E: try adding one of: chinese-traditional, chinese-hongkong
  • U+5025 CJK UNIFIED IDEOGRAPH-5025: try adding japanese
    ... and 286 others

Or you can add the above codepoints to one of the subsets supported by the font: chinese-simplified, latin, 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 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]
[3] ofl/zhimangxing/METADATA.pb
🔥 FAIL Does METADATA.pb copyright field contain broken links? (googlefonts/metadata/broken_links)
  • 🔥 FAIL The following links are broken:
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that weizhimang 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]
[1] ofl/zhimangxing/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]
[23] ofl/zhimangxing/ZhiMangXing-Regular.ttf
🔥 FAIL Check name table for empty records. (opentype/name/empty_records)
  • 🔥 FAIL Empty name record found for name ID=FAMILY_NAME platform ID=1 encoding ID=25 [code: empty-record]

  • 🔥 FAIL Empty name record found for name ID=SUBFAMILY_NAME platform ID=1 encoding ID=25 [code: empty-record]

🔥 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:
  • uniFF1A [code: found-nested-components]
🔥 FAIL Font has all mandatory 'name' table entries? (googlefonts/name/mandatory_entries)
  • 🔥 FAIL Font lacks entry with nameId=1 (FAMILY_NAME) [code: missing-entry]

  • 🔥 FAIL Font lacks entry with nameId=2 (SUBFAMILY_NAME) [code: missing-entry]

🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0009918 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does the font contain chws and vchw features? (cjk_chws_feature)
⚠️ 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:

  • uniFF2F (U+FF2F): found 3, expected one of: [2, 6, 7]
  • uniFF33 (U+FF33): found 2, expected one of: [1, 3]
  • uniFF37 (U+FF37): found 2, expected one of: [1, 3, 13]
  • uni3016 (U+3016): found 1, expected one of: [2]
  • uni3017 (U+3017): found 1, expected one of: [2]
  • divide (U+00F7): found 1, expected one of: [3, 7] [code: contour-count]
⚠️ WARN Ensure files are not too large. (file_size)
  • ⚠️ WARN Font file is 4.06 MB; ideally it should be less than 1.05 MB [code: large-font]
⚠️ 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 have a DSIG table? (dsig)
  • ⚠️ WARN 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: found-DSIG]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

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

⚠️ WARN 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • uniFE4E (U+FE4E) has a counter-clockwise outer contour
  • uniFE4E (U+FE4E) has a counter-clockwise outer contour
  • uniFE4A (U+FE4A) has a counter-clockwise outer contour
  • uniFE4A (U+FE4A) has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • A (U+0041): Quad(QuadBez { p0: (450.0, 359.0), p1: (446.0, 447.0), p2: (442.0, 627.0) })/Quad(QuadBez { p0: (442.0, 627.0), p1: (434.0, 581.0), p2: (417.5, 489.0) }) = 11.138836963141133 degrees
  • uniFF21 (U+FF21): Quad(QuadBez { p0: (615.0, 359.0), p1: (611.0, 447.0), p2: (607.0, 627.0) })/Quad(QuadBez { p0: (607.0, 627.0), p1: (599.0, 581.0), p2: (582.5, 489.0) }) = 11.138836963141133 degrees
  • uni51BD (U+51BD): Quad(QuadBez { p0: (129.0, 213.0), p1: (130.0, 228.0), p2: (130.0, 229.0) })/Line(Line { p0: (130.0, 229.0), p1: (133.0, 215.0) }) = 12.094757077012119 degrees
  • uni5237 (U+5237): Quad(QuadBez { p0: (688.0, 542.0), p1: (694.0, 542.0), p2: (696.0, 553.0) })/Line(Line { p0: (696.0, 553.0), p1: (696.0, 492.0) }) = 10.304846468766044 degrees
  • uni5288 (U+5288): Line(Line { p0: (393.0, 161.0), p1: (399.0, 201.0) })/Line(Line { p0: (399.0, 201.0), p1: (401.0, 167.0) }) = 11.897226273377964 degrees
  • uni54C8 (U+54C8): Line(Line { p0: (199.0, 330.0), p1: (191.0, 313.0) })/Line(Line { p0: (191.0, 313.0), p1: (205.0, 330.0) }) = 14.271336202868714 degrees
  • uni54FF (U+54FF): Line(Line { p0: (387.0, 375.0), p1: (405.0, 385.0) })/Line(Line { p0: (405.0, 385.0), p1: (387.0, 380.0) }) = 13.5304931023229 degrees
  • uni558A (U+558A): Line(Line { p0: (573.0, 601.0), p1: (574.0, 642.0) })/Line(Line { p0: (574.0, 642.0), p1: (584.0, 592.0) }) = 12.707113501316611 degrees
  • uni5997 (U+5997): Line(Line { p0: (494.0, 600.0), p1: (456.0, 567.0) })/Line(Line { p0: (456.0, 567.0), p1: (484.0, 598.0) }) = 6.939101492652921 degrees
    ... and 36 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • a (U+0061): Quad(QuadBez { p0: (86.0, 150.0), p1: (187.0, 237.0), p2: (246.0, 413.0) }) has the same coordinates as a previous segment.
  • k (U+006B): Quad(QuadBez { p0: (147.0, 313.0), p1: (206.0, 331.0), p2: (256.0, 397.0) }) has the same coordinates as a previous segment.
  • uniFF41 (U+FF41): Quad(QuadBez { p0: (320.0, 150.0), p1: (421.0, 237.0), p2: (480.0, 413.0) }) has the same coordinates as a previous segment.
  • uniFF4B (U+FF4B): Quad(QuadBez { p0: (422.0, 313.0), p1: (481.0, 331.0), p2: (531.0, 397.0) }) has the same coordinates as a previous segment.
  • uniFF20 (U+FF20): Quad(QuadBez { p0: (378.0, 298.0), p1: (455.0, 365.0), p2: (500.0, 498.0) }) has the same coordinates as a previous segment.
  • at (U+0040): Quad(QuadBez { p0: (228.0, 298.0), p1: (305.0, 365.0), p2: (350.0, 498.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:
  • J (U+004A): Line(Line { p0: (344.0, 760.0), p1: (461.0, 761.0) }) (angle: 0.49 degrees, expected: 0.00 degrees)
  • uniFF2A (U+FF2A): Line(Line { p0: (561.0, 760.0), p1: (678.0, 761.0) }) (angle: 0.49 degrees, expected: 0.00 degrees)
  • uni4EEC (U+4EEC): Line(Line { p0: (408.0, 423.0), p1: (409.0, 280.0) }) (angle: -89.60 degrees, expected: -90.00 degrees)
  • uni4F34 (U+4F34): Line(Line { p0: (593.0, 302.0), p1: (594.0, 140.0) }) (angle: -89.65 degrees, expected: -90.00 degrees)
  • uni4F4F (U+4F4F): Line(Line { p0: (317.0, 377.0), p1: (316.0, 262.0) }) (angle: -90.50 degrees, expected: -90.00 degrees)
  • uni4F5D (U+4F5D): Line(Line { p0: (255.0, 236.0), p1: (256.0, 109.0) }) (angle: -89.55 degrees, expected: -90.00 degrees)
  • uni4F63 (U+4F63): Line(Line { p0: (698.0, 544.0), p1: (699.0, 701.0) }) (angle: 89.64 degrees, expected: 90.00 degrees)
  • uni5188 (U+5188): Line(Line { p0: (719.0, 337.0), p1: (717.0, 71.0) }) (angle: -90.43 degrees, expected: -90.00 degrees)
  • uni523D (U+523D): Line(Line { p0: (707.0, 565.0), p1: (706.0, 703.0) }) (angle: 90.42 degrees, expected: 90.00 degrees)
    ... and 81 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 'ZYEC' 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 The family name "Zhi Mang Xing" 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:
ZhiMangXing-Regular.ttf
Dehinted Size 4063508
Hinted Size 4063532
Increase 24
Change 0.0 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    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.001, Version 2.001 [code: version-not-detected]

Summary

💥 ERROR 🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
1 13 26 8 112 71
0% 6% 12% 4% 52% 33%

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