Skip to content

Add override config.yaml for mixed sources#10465

Merged
felipesanches merged 39 commits into
mainfrom
add-override-config-mixed-sources
Apr 24, 2026
Merged

Add override config.yaml for mixed sources#10465
felipesanches merged 39 commits into
mainfrom
add-override-config-mixed-sources

Conversation

@felipesanches
Copy link
Copy Markdown
Collaborator

These are families that have in their upstream sources repos both legacy sources formats (such as .vfb and .sfd) as well as modern ones (such as .glyphs and .ufo) that are gftools-builder compatible.

…upstream)

- Repo: silnrsi/font-gentium
- Commit: 7ac5e5c (unchanged)
- Config: override in ofl/gentiumbookplus/config.yaml
- Status: complete
- Confidence: HIGH

Upstream at the pinned commit has both compatible sources (.designspace) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/GentiumPlusRoman.designspace, source/GentiumPlusItalic.designspace. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

- Repo: silnrsi/font-gentium
- Commit: 7ac5e5c (unchanged)
- Config: override in ofl/gentiumplus/config.yaml
- Status: complete
- Confidence: HIGH

Upstream at the pinned commit has both compatible sources (.designspace) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/GentiumPlusRoman.designspace, source/GentiumPlusItalic.designspace. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Light/font.ufo, styles/Regular/font.ufo, styles/Medium/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Light/font.ufo, styles/Regular/font.ufo, styles/Medium/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Light/font.ufo, styles/Regular/font.ufo, styles/Medium/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Light/font.ufo, styles/Regular/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Light/font.ufo, styles/Regular/font.ufo, styles/Medium/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

- Repo: theleagueof/league-script-number-one
- Commit: 225add0 (unchanged)
- Config: override in ofl/leaguescript/config.yaml
- Status: complete
- Confidence: HIGH

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/LeagueScriptNumberOne.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: Mandali.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: Sources/Mirza 2 Masters.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs and .ufo (selected .glyphs)) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/Mitr-200.glyphs, source/Mitr-300.glyphs, source/Mitr-400.glyphs, source/Mitr-500.glyphs, source/Mitr-600.glyphs, source/Mitr-700.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.designspace) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/Narnoor.designspace. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: NATS.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

- Repo: jmsole/noticiatext
- Commit: bcc80c5 (unchanged)
- Config: override in ofl/noticiatext/config.yaml
- Status: complete
- Confidence: HIGH

Upstream at the pinned commit has both compatible sources (.glyphs) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/NoticiaText-Regular.glyphs, source/NoticiaText-Italic.glyphs, source/NoticiaText-Bold.glyphs, source/NoticiaText-BoldItalic.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: NTR.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.designspace) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/NuosuSIL.designspace. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: Palanquin/SourceFiles/UFOs/Palanquin_Th.ufo, Palanquin/SourceFiles/UFOs/Palanquin_ExLt.ufo, Palanquin/SourceFiles/UFOs/Palanquin Light.ufo, Palanquin/SourceFiles/UFOs/Palanquin Regular.ufo, Palanquin/SourceFiles/UFOs/Palanquin Medium.ufo, Palanquin/SourceFiles/UFOs/Palanquin SemiBold.ufo, Palanquin/SourceFiles/UFOs/Palanquin Bold.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

- Repo: VanillaandCream/Palanquin
- Commit: f912925 (unchanged)
- Config: override in ofl/palanquindark/config.yaml
- Status: complete
- Confidence: HIGH

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: PalanquinDark/SourceFiles/UFOs/PalanquinDark Reg.ufo, PalanquinDark/SourceFiles/UFOs/PalanquinDark Med.ufo, PalanquinDark/SourceFiles/UFOs/PalanquinDark SBld.ufo, PalanquinDark/SourceFiles/UFOs/PalanquinDark Bld.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs and .ufo (selected .glyphs)) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/Pattaya.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs and .ufo (selected .glyphs)) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: source/Pridi-200.glyphs, source/Pridi-300.glyphs, source/Pridi-400.glyphs, source/Pridi-500.glyphs, source/Pridi-600.glyphs, source/Pridi-700.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Light/font.ufo, styles/Regular/font.ufo, styles/Medium/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: Ramabhadra.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: Ramaraja-Regular.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: sources/Rationale.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Regular/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: sources/Sacramento.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: styles/Regular/font.ufo, styles/Medium/font.ufo, styles/SemiBold/font.ufo, styles/Bold/font.ufo, styles/ExtraBold/font.ufo, styles/Black/font.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.glyphs) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: sources/ShareTech.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

- Repo: cyrealtype/Sirin-Stencil
- Commit: 803ade3 (unchanged)
- Config: override in ofl/sirinstencil/config.yaml
- Status: complete
- Confidence: HIGH

Upstream at the pinned commit has both compatible sources (.glyphs) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: sources/Sirin Stencil.glyphs. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

Upstream at the pinned commit has both compatible sources (.ufo) and
legacy .sfd/.vfb archives. The override references the compatible
sources only: UFOs/Slabo 13px b004.ufo. STAT values omitted (all shipped fonts are
statics; gftools-builder will auto-derive as needed).

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

[11] ofl/mitr
🔥 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 'Mitr' has 6 fonts, which is more than the maximum of 4 [code: too-many]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 448, but got 420 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 448, but got 420 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 448, but got 420 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 448, but got 420 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 448, but got 420 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 448, but got 420 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 Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Aleut, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets latin-ext, latin, thai, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Mitr-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) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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:

"copyright (c) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Mitr-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, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

⚠️ WARN Make sure all font files have the same version value. (opentype/family/equal_font_versions)
  • ⚠️ WARN Version info differs among font files of the same font project.

The following values were found:

  • 1.003: ofl/mitr/Mitr-Medium.ttf
  • 1.003: ofl/mitr/Mitr-SemiBold.ttf
  • 1.001: ofl/mitr/Mitr-ExtraLight.ttf
  • 1.003: ofl/mitr/Mitr-Regular.ttf
  • 1.003: ofl/mitr/Mitr-Bold.ttf
  • 1.003: ofl/mitr/Mitr-Light.ttf [code: mismatch]
⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Mitr" does not match correct family name "Mitr ExtraLight". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

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

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

  • ⚠️ WARN METADATA.pb family name field "Mitr" does not match correct family name "Mitr SemiBold". 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/mitr/Mitr-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: 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: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, coptic, malayalam, duployan, math, hebrew, old-permic, todhri, canadian-aboriginal, tai-le, 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 70 others

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

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

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

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

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

  • ⚠️ WARN ofl/mitr/Mitr-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: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, coptic, malayalam, duployan, math, hebrew, old-permic, todhri, canadian-aboriginal, tai-le, 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 70 others

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

  • ⚠️ WARN ofl/mitr/Mitr-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: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, coptic, malayalam, duployan, math, hebrew, old-permic, todhri, canadian-aboriginal, tai-le, 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 70 others

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ℹ️ 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/mitr/Mitr-Medium.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-420) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 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+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 11 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 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 542 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=575: approxequal
    width=470: plus, logicalnot, divide, minus
    width=396: multiply
    width=462: notequal, plusminus
    width=463: equal [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 912, but got 750 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:
  • .null
  • uni0E34.narrow.001
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
    ... 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 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:
  • Aring (U+00C5): from (35.0, 33.0) to (294.0, 650.0) is colinear with segment from (294.0, 650.0) to (298.0, 659.0)
  • Aring (U+00C5): from (442.0, 658.0) to (446.0, 650.0) is colinear with segment from (446.0, 650.0) to (705.0, 33.0)
  • Aringacute (U+01FA): from (35.0, 33.0) to (294.0, 650.0) is colinear with segment from (294.0, 650.0) to (298.0, 659.0)
  • Aringacute (U+01FA): from (442.0, 658.0) to (446.0, 650.0) is colinear with segment from (446.0, 650.0) to (705.0, 33.0)
  • Ccedilla (U+00C7): from (307.0, -86.0) to (334.0, -18.0) is colinear with segment from (334.0, -18.0) to (337.0, -12.0)
  • K (U+004B): from (440.0, 12.0) to (219.0, 302.0) is colinear with segment from (219.0, 302.0) to (216.0, 306.0)
  • K (U+004B): from (216.0, 378.0) to (219.0, 382.0) is colinear with segment from (219.0, 382.0) to (433.0, 667.0)
  • Kcommaaccent (U+0136): from (440.0, 12.0) to (219.0, 302.0) is colinear with segment from (219.0, 302.0) to (216.0, 306.0)
  • Kcommaaccent (U+0136): from (216.0, 378.0) to (219.0, 382.0) is colinear with segment from (219.0, 382.0) to (433.0, 667.0)
    ... and 7 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • uni0E0C (U+0E0C): Line(Line { p0: (400.0, 39.0), p1: (399.0, 321.0) }) (angle: 90.20 degrees, expected: 90.00 degrees)
  • uni0E13 (U+0E13): Line(Line { p0: (902.0, 481.0), p1: (901.0, 39.0) }) (angle: -90.13 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Mitr-Medium.ttf
Dehinted Size 149680
Hinted Size 222116
Increase 72436
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 1.003, Version 1.003 [code: version-not-detected]
[27] ofl/mitr/Mitr-ExtraLight.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-420) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
🔥 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 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 11 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 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 474 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=384: multiply
    width=590: greater, less, greaterequal, lessequal
    width=458: equal
    width=454: plusminus, notequal
    width=520: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 912, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • Eng (U+014A): from (621.0, 657.0) to (621.0, 23.0) is colinear with segment from (621.0, 23.0) to (621.0, -70.0)
  • uni0162 (U+0162): from (307.0, 631.0) to (307.0, 23.0) is colinear with segment from (307.0, 23.0) to (307.0, 20.0)
  • uni0162 (U+0162): from (307.0, 23.0) to (307.0, 20.0) is colinear with segment from (307.0, 20.0) to (307.0, 17.0)
  • uni0162 (U+0162): from (253.0, 21.0) to (253.0, 23.0) is colinear with segment from (253.0, 23.0) to (253.0, 631.0)
  • uni01D7 (U+01D7): from (332.0, 893.0) to (334.0, 901.0) is colinear with segment from (334.0, 901.0) to (380.0, 1032.0)
  • uni01DB (U+01DB): from (340.0, 1030.0) to (386.0, 899.0) is colinear with segment from (386.0, 899.0) to (388.0, 891.0)
  • aogonek (U+0105): from (487.0, 14.0) to (486.0, 23.0) is colinear with segment from (486.0, 23.0) to (483.0, 71.0)
  • ccedilla (U+00E7): from (273.0, -87.0) to (300.0, -19.0) is colinear with segment from (300.0, -19.0) to (302.0, -14.0)
  • uni0163 (U+0163): from (207.0, -87.0) to (234.0, -19.0) is colinear with segment from (234.0, -19.0) to (237.0, -12.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:
  • loChulathai.short: Line(Line { p0: (502.0, 86.0), p1: (556.0, 305.0) })/Quad(QuadBez { p0: (556.0, 305.0), p1: (555.0, 300.0), p2: (563.0, 332.0) }) = 2.5414865397846707 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Mitr-ExtraLight.ttf
Dehinted Size 142220
Hinted Size 200760
Increase 58540
Change 41.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.001, Version 1.001 [code: version-not-detected]
[25] ofl/mitr/Mitr-Light.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-420) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 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+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 12 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 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 473 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=457: plusminus, notequal
    width=574: lessequal, less, greaterequal, greater
    width=538: approxequal
    width=460: equal
    width=388: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 912, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • Ccedilla (U+00C7): from (327.0, -85.0) to (354.0, -17.0) is colinear with segment from (354.0, -17.0) to (355.0, -14.0)
  • Gcommaaccent (U+0122): from (318.0, -213.0) to (320.0, -204.0) is colinear with segment from (320.0, -204.0) to (367.0, -56.0)
  • Kcommaaccent (U+0136): from (187.0, -213.0) to (189.0, -204.0) is colinear with segment from (189.0, -204.0) to (236.0, -56.0)
  • Lcaron (U+013D): from (320.0, 550.0) to (322.0, 559.0) is colinear with segment from (322.0, 559.0) to (369.0, 707.0)
  • Lcommaaccent (U+013B): from (202.0, -213.0) to (204.0, -204.0) is colinear with segment from (204.0, -204.0) to (251.0, -56.0)
  • Ncommaaccent (U+0145): from (272.0, -213.0) to (274.0, -204.0) is colinear with segment from (274.0, -204.0) to (321.0, -56.0)
  • Rcommaaccent (U+0156): from (223.0, -213.0) to (225.0, -204.0) is colinear with segment from (225.0, -204.0) to (272.0, -56.0)
  • uni021A (U+021A): from (193.0, -213.0) to (195.0, -204.0) is colinear with segment from (195.0, -204.0) to (242.0, -56.0)
  • aogonek (U+0105): from (469.0, 11.0) to (467.0, 21.0) is colinear with segment from (467.0, 21.0) to (462.0, 65.0)
    ... and 27 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Mitr-Light.ttf
Dehinted Size 147680
Hinted Size 211080
Increase 63400
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 1.003, Version 1.003 [code: version-not-detected]
[26] ofl/mitr/Mitr-Bold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02C9 (Some(713))
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-420) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 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+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 11 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 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 467 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=510: less, lessequal, greaterequal, greater
    width=404: multiply
    width=612: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 912, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • Eng (U+014A): from (667.0, 623.0) to (667.0, 56.0) is colinear with segment from (667.0, 56.0) to (667.0, -2.0)
  • Scedilla (U+015E): from (245.0, -86.0) to (272.0, -19.0) is colinear with segment from (272.0, -19.0) to (275.0, -13.0)
  • W (U+0057): from (167.0, 38.0) to (17.0, 647.0) is colinear with segment from (17.0, 647.0) to (15.0, 659.0)
  • W (U+0057): from (860.0, 659.0) to (858.0, 647.0) is colinear with segment from (858.0, 647.0) to (707.0, 38.0)
  • Wacute (U+1E82): from (167.0, 38.0) to (17.0, 647.0) is colinear with segment from (17.0, 647.0) to (15.0, 659.0)
  • Wacute (U+1E82): from (860.0, 659.0) to (858.0, 647.0) is colinear with segment from (858.0, 647.0) to (707.0, 38.0)
  • Wcircumflex (U+0174): from (167.0, 38.0) to (17.0, 647.0) is colinear with segment from (17.0, 647.0) to (15.0, 659.0)
  • Wcircumflex (U+0174): from (860.0, 659.0) to (858.0, 647.0) is colinear with segment from (858.0, 647.0) to (707.0, 38.0)
  • Wdieresis (U+1E84): from (167.0, 38.0) to (17.0, 647.0) is colinear with segment from (17.0, 647.0) to (15.0, 659.0)
    ... and 10 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Mitr-Bold.ttf
Dehinted Size 149692
Hinted Size 224432
Increase 74740
Change 49.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 1.003, Version 1.003 [code: version-not-detected]
[27] ofl/mitr/Mitr-Regular.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-420) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 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 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 1150 [code: bad-typo-ascender]

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

⚠️ 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 11 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 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 558 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=461: equal
    width=471: minus, divide, logicalnot, plus
    width=392: multiply
    width=556: approxequal
    width=459: notequal, 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 912, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • uni0162 (U+0162): from (223.0, -69.0) to (250.0, -1.0) is colinear with segment from (250.0, -1.0) to (251.0, 2.0)
  • scedilla (U+015F): from (323.0, -12.0) to (322.0, -14.0) is colinear with segment from (322.0, -14.0) to (299.0, -64.0)
  • uogonek (U+0173): from (428.0, 11.0) to (427.0, 19.0) is colinear with segment from (427.0, 19.0) to (423.0, 61.0)
  • uni0E07 (U+0E07): from (252.0, 442.0) to (235.0, 497.0) is colinear with segment from (235.0, 497.0) to (233.0, 505.0)
  • colonmonetary (U+20A1): from (430.0, 750.0) to (428.0, 741.0) is colinear with segment from (428.0, 741.0) to (416.0, 695.0)
  • colonmonetary (U+20A1): from (580.0, 750.0) to (578.0, 741.0) is colinear with segment from (578.0, 741.0) to (560.0, 669.0)
  • uni2113 (U+2113): from (38.0, 277.0) to (21.0, 330.0) is colinear with segment from (21.0, 330.0) to (19.0, 338.0) [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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Mitr-Regular.ttf
Dehinted Size 149560
Hinted Size 222416
Increase 72856
Change 48.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 1.003, Version 1.003 [code: version-not-detected]
[1] ofl/mitr/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/mitr/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)
[27] ofl/mitr/Mitr-SemiBold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-420) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) and hhea lineGap (0) must be equal. [code: lineGap]

🔥 FAIL Space and non-breaking space have the same width? (whitespace_widths)
  • 🔥 FAIL The space glyph named space is 330 font units wide, non-breaking space named (uni00A0) is 450 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 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+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 11 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 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 468 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=526: lessequal, less, greater, greaterequal
    width=464: notequal, plusminus
    width=465: equal
    width=400: multiply
    width=593: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 912, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • Aring (U+00C5): from (28.0, 38.0) to (282.0, 646.0) is colinear with segment from (282.0, 646.0) to (291.0, 664.0)
  • Aring (U+00C5): from (456.0, 664.0) to (465.0, 646.0) is colinear with segment from (465.0, 646.0) to (719.0, 38.0)
  • Aringacute (U+01FA): from (28.0, 38.0) to (282.0, 646.0) is colinear with segment from (282.0, 646.0) to (291.0, 664.0)
  • Aringacute (U+01FA): from (456.0, 664.0) to (465.0, 646.0) is colinear with segment from (465.0, 646.0) to (719.0, 38.0)
  • Scedilla (U+015E): from (186.0, -79.0) to (213.0, -12.0) is colinear with segment from (213.0, -12.0) to (215.0, -8.0)
  • uni0E51 (U+0E51): from (335.0, 211.0) to (355.0, 125.0) is colinear with segment from (355.0, 125.0) to (357.0, 113.0)
  • Euro (U+20AC): from (283.0, 360.0) to (283.0, 340.0) is colinear with segment from (283.0, 340.0) to (283.0, 318.0)
  • section (U+00A7): from (303.0, 248.0) to (370.0, 217.0) is colinear with segment from (370.0, 217.0) to (427.0, 190.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni0162 (U+0162): Quad(QuadBez { p0: (399.5, 16.0), p1: (391.0, 4.0), p2: (371.0, 1.0) })/Line(Line { p0: (371.0, 1.0), p1: (378.0, 1.0) }) = 8.530765609948096 degrees
  • ccedilla (U+00E7): Line(Line { p0: (256.0, -12.0), p1: (258.0, -12.0) })/Quad(QuadBez { p0: (258.0, -12.0), p1: (145.0, 1.0), p2: (84.0, 65.0) }) = 6.562698508937456 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Mitr-SemiBold.ttf
Dehinted Size 149104
Hinted Size 225796
Increase 76692
Change 51.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
73 177 30 499 353
7% 18% 3% 50% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[17] ofl/narnoor/Narnoor-ExtraBold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFFFC (Some(65532)) [code: zero-width-bases]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 3/1/1033/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in). Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/). Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/LICENSE_DESCRIPTION has trailing spaces that must be removed:
    `Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated
    (http://www.adobe.com/), with Reserved Font Name 'Source'.

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://scripts.sil.org/OFL


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.
` [code: trailing-space]

🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry COPYRIGHT_NOTICE 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 Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • 🔥 FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
    If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
    GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 510 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=639: multiply
    width=423: greater, less
    width=711: plus
    width=674: equal
    width=675: divide
    width=497: minus [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
  • nonmarkingreturn [code: unreachable-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 (Narnoor ExtraBold), which is fine. [code: legacy-familyname]
⚠️ 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:

  • ǐ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • four.dnom: from (206.0, 0.0) to (206.0, 191.0) is colinear with segment from (206.0, 191.0) to (212.0, 304.0)
  • four.dnom: from (208.0, 304.0) to (170.0, 229.0) is colinear with segment from (170.0, 229.0) to (129.0, 151.0)
  • M (U+004D): from (547.0, 445.0) to (495.0, 296.0) is colinear with segment from (495.0, 296.0) to (406.0, 54.0)
  • M (U+004D): from (327.0, 54.0) to (238.0, 296.0) is colinear with segment from (238.0, 296.0) to (187.0, 445.0)
  • N (U+004E): from (220.0, 630.0) to (384.0, 316.0) is colinear with segment from (384.0, 316.0) to (447.0, 178.0)
  • N (U+004E): from (422.0, 0.0) to (258.0, 314.0) is colinear with segment from (258.0, 314.0) to (195.0, 451.0)
  • b (U+0062): from (204.0, 677.0) to (204.0, 511.0) is colinear with segment from (204.0, 511.0) to (201.0, 438.0)
  • d (U+0064): from (354.0, 441.0) to (349.0, 513.0) is colinear with segment from (349.0, 513.0) to (349.0, 677.0)
  • f (U+0066): from (23.0, 474.0) to (95.0, 479.0) is colinear with segment from (95.0, 479.0) to (315.0, 479.0)
    ... and 35 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • u11DA2 (U+11DA2): Quad(QuadBez { p0: (362.5, 481.0), p1: (331.0, 513.0), p2: (286.0, 513.0) })/Line(Line { p0: (286.0, 513.0), p1: (450.0, 525.0) }) = 4.184916125118406 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 Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    GPOS
    GSUB [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 3.000 [code: version-not-detected]
[1] ofl/narnoor/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[18] ofl/narnoor/Narnoor-Medium.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFFFC (Some(65532)) [code: zero-width-bases]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 3/1/1033/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in). Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/). Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/LICENSE_DESCRIPTION has trailing spaces that must be removed:
    `Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated
    (http://www.adobe.com/), with Reserved Font Name 'Source'.

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://scripts.sil.org/OFL


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.
` [code: trailing-space]

🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry COPYRIGHT_NOTICE 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 Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • 🔥 FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
    If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
    GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 491 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=696: plus
    width=675: divide
    width=423: less, greater
    width=639: multiply
    width=497: minus
    width=659: equal [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
  • nonmarkingreturn [code: unreachable-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 (Narnoor Medium), which is fine. [code: legacy-familyname]
⚠️ 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:

  • ǐ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • four.dnom: from (210.0, 0.0) to (210.0, 205.0) is colinear with segment from (210.0, 205.0) to (215.0, 312.0)
  • four.dnom: from (211.0, 312.0) to (166.0, 235.0) is colinear with segment from (166.0, 235.0) to (114.0, 147.0)
  • M (U+004D): from (547.0, 501.0) to (496.0, 355.0) is colinear with segment from (496.0, 355.0) to (388.0, 60.0)
  • M (U+004D): from (325.0, 60.0) to (216.0, 355.0) is colinear with segment from (216.0, 355.0) to (166.0, 501.0)
  • N (U+004E): from (189.0, 632.0) to (394.0, 267.0) is colinear with segment from (394.0, 267.0) to (460.0, 132.0)
  • N (U+004E): from (442.0, 0.0) to (238.0, 367.0) is colinear with segment from (238.0, 367.0) to (171.0, 500.0)
  • b (U+0062): from (176.0, 684.0) to (176.0, 504.0) is colinear with segment from (176.0, 504.0) to (173.0, 424.0)
  • d (U+0064): from (371.0, 432.0) to (366.0, 509.0) is colinear with segment from (366.0, 509.0) to (366.0, 684.0)
  • f (U+0066): from (26.0, 468.0) to (95.0, 473.0) is colinear with segment from (95.0, 473.0) to (288.0, 473.0)
    ... and 37 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • u11D63 (U+11D63): Quad(QuadBez { p0: (804.0, 232.0), p1: (772.0, 206.0), p2: (772.0, 159.0) })/Line(Line { p0: (772.0, 159.0), p1: (749.0, 280.0) }) = 10.762537223142443 degrees
  • u11DA2 (U+11DA2): Quad(QuadBez { p0: (355.0, 492.0), p1: (323.0, 524.0), p2: (285.0, 524.0) })/Line(Line { p0: (285.0, 524.0), p1: (416.0, 536.0) }) = 5.233861647216551 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 Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    GPOS
    GSUB [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 3.000 [code: version-not-detected]
[17] ofl/narnoor/Narnoor-SemiBold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFFFC (Some(65532)) [code: zero-width-bases]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 3/1/1033/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in). Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/). Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/LICENSE_DESCRIPTION has trailing spaces that must be removed:
    `Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated
    (http://www.adobe.com/), with Reserved Font Name 'Source'.

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://scripts.sil.org/OFL


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.
` [code: trailing-space]

🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry COPYRIGHT_NOTICE 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 Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • 🔥 FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
    If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
    GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 498 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=639: multiply
    width=675: divide
    width=701: plus
    width=497: minus
    width=664: equal
    width=423: greater, less [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
  • nonmarkingreturn [code: unreachable-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 (Narnoor SemiBold), which is fine. [code: legacy-familyname]
⚠️ 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:

  • ĵ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • four.dnom: from (209.0, 0.0) to (209.0, 200.0) is colinear with segment from (209.0, 200.0) to (214.0, 310.0)
  • four.dnom: from (210.0, 310.0) to (168.0, 233.0) is colinear with segment from (168.0, 233.0) to (119.0, 149.0)
  • M (U+004D): from (547.0, 483.0) to (496.0, 336.0) is colinear with segment from (496.0, 336.0) to (394.0, 58.0)
  • M (U+004D): from (326.0, 58.0) to (224.0, 336.0) is colinear with segment from (224.0, 336.0) to (173.0, 483.0)
  • N (U+004E): from (200.0, 632.0) to (391.0, 283.0) is colinear with segment from (391.0, 283.0) to (456.0, 148.0)
  • N (U+004E): from (436.0, 0.0) to (245.0, 349.0) is colinear with segment from (245.0, 349.0) to (179.0, 484.0)
  • b (U+0062): from (185.0, 682.0) to (185.0, 507.0) is colinear with segment from (185.0, 507.0) to (183.0, 429.0)
  • d (U+0064): from (365.0, 435.0) to (361.0, 511.0) is colinear with segment from (361.0, 511.0) to (361.0, 682.0)
  • f (U+0066): from (25.0, 470.0) to (95.0, 475.0) is colinear with segment from (95.0, 475.0) to (297.0, 475.0)
    ... and 37 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • u11D63 (U+11D63): Quad(QuadBez { p0: (823.0, 232.5), p1: (791.0, 207.0), p2: (791.0, 159.0) })/Line(Line { p0: (791.0, 159.0), p1: (763.0, 286.0) }) = 12.433235188095669 degrees
  • u11DA2 (U+11DA2): Quad(QuadBez { p0: (357.5, 488.5), p1: (326.0, 521.0), p2: (286.0, 521.0) })/Line(Line { p0: (286.0, 521.0), p1: (428.0, 533.0) }) = 4.830419958289947 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 Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    GPOS
    GSUB [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 3.000 [code: version-not-detected]
[11] ofl/narnoor
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Ensure METADATA.pb does not use escaped strings. (googlefonts/metadata/escaped_strings)
  • 🔥 FAIL Found escaped chars at 'Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).\nAdditions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).\nLatin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated\n(http://www.adobe.com/), with Reserved Font Name Source.'. Please use an unicode string instead. [code: escaped-strings]

  • 🔥 FAIL Found escaped chars at 'Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).\nAdditions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).\nLatin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated\n(http://www.adobe.com/), with Reserved Font Name Source.'. Please use an unicode string instead. [code: escaped-strings]

  • 🔥 FAIL Found escaped chars at 'Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).\nAdditions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).\nLatin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated\n(http://www.adobe.com/), with Reserved Font Name Source.'. Please use an unicode string instead. [code: escaped-strings]

  • 🔥 FAIL Found escaped chars at 'Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).\nAdditions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).\nLatin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated\n(http://www.adobe.com/), with Reserved Font Name Source.'. Please use an unicode string instead. [code: escaped-strings]

  • 🔥 FAIL Found escaped chars at 'Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).\nAdditions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).\nLatin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated\n(http://www.adobe.com/), with Reserved Font Name Source.'. Please use an unicode string instead. [code: escaped-strings]

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

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
(http://www.adobe.com/), with reserved font name 'source'." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.: ["METADATA.pb"]
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.
    : ["Narnoor-Medium.ttf: Name Table entry"] [code: mismatch]
  • 🔥 FAIL Narnoor-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 font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
(http://www.adobe.com/), with reserved font name 'source'." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.: ["METADATA.pb"]
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.
    : ["Narnoor-Regular.ttf: Name Table entry"] [code: mismatch]
  • 🔥 FAIL Narnoor-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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
(http://www.adobe.com/), with reserved font name 'source'." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.: ["METADATA.pb"]
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.
    : ["Narnoor-ExtraBold.ttf: Name Table entry"] [code: mismatch]
  • 🔥 FAIL Narnoor-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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
(http://www.adobe.com/), with reserved font name 'source'." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.
    : ["Narnoor-Bold.ttf: Name Table entry"]
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.: ["METADATA.pb"] [code: mismatch]
  • 🔥 FAIL Narnoor-SemiBold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

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

But instead we have got:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 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:

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
(http://www.adobe.com/), with reserved font name 'source'." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.
    : ["Narnoor-SemiBold.ttf: Name Table entry"]
  • original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
    additions and modifications copyright (c) 2015-2023 sil international (https://www.sil.org/).
    latin glyphs copyright (c) 2010, 2012, 2014, 2021 adobe systems incorporated
    (http://www.adobe.com/), with reserved font name 'source'.: ["METADATA.pb"] [code: mismatch]
⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Narnoor" does not match correct family name "Narnoor Medium". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

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

  • ⚠️ WARN METADATA.pb family name field "Narnoor" does not match correct family name "Narnoor ExtraBold". 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/narnoor/Narnoor-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: 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+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0970 DEVANAGARI ABBREVIATION SIGN: try adding devanagari
  • U+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
    ... and 13 others

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

  • ⚠️ WARN ofl/narnoor/Narnoor-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+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0970 DEVANAGARI ABBREVIATION SIGN: try adding devanagari
  • U+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
    ... and 13 others

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

  • ⚠️ WARN ofl/narnoor/Narnoor-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+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+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0970 DEVANAGARI ABBREVIATION SIGN: try adding devanagari
  • U+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
    ... and 13 others

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

  • ⚠️ WARN ofl/narnoor/Narnoor-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+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0970 DEVANAGARI ABBREVIATION SIGN: try adding devanagari
  • U+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
    ... and 13 others

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

  • ⚠️ WARN ofl/narnoor/Narnoor-SemiBold.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: 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+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0970 DEVANAGARI ABBREVIATION SIGN: try adding devanagari
  • U+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
    ... and 13 others

Or you can add the above codepoints to one of the subsets supported by the font: gunjala-gondi, latin, latin-ext, math, menu, symbols [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 font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 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 ("Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 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 ("Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 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 ("Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 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 ("Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 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]

  • ⚠️ 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 METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ 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]

  • ℹ️ INFO The subset 'math' is listed in production metadata, but only 0.05% of its glyphs are supported by this font file. We can't remove it, however, since that would cause a regression in production. [code: unsupported-production-subset]

  • ℹ️ INFO The subset 'symbols' 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 All of the fonts lack a STAT table. [code: summary]
[18] ofl/narnoor/Narnoor-Bold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFFFC (Some(65532)) [code: zero-width-bases]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 3/1/1033/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in). Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/). Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/LICENSE_DESCRIPTION has trailing spaces that must be removed:
    `Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated
    (http://www.adobe.com/), with Reserved Font Name 'Source'.

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://scripts.sil.org/OFL


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.
` [code: trailing-space]

🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry COPYRIGHT_NOTICE 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 Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • 🔥 FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
    If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
    GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 504 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=669: equal
    width=675: divide
    width=497: minus
    width=706: plus
    width=423: less, greater
    width=639: 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 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 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 (Narnoor), which is fine. [code: legacy-familyname]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN The dot of soft dotted characters used in orthographies must disappear in the following strings:
  • j̃The dot of soft dotted characters should disappear in other cases, for example:

  • j̊ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • four.dnom: from (207.0, 0.0) to (207.0, 196.0) is colinear with segment from (207.0, 196.0) to (213.0, 307.0)
  • four.dnom: from (209.0, 307.0) to (169.0, 231.0) is colinear with segment from (169.0, 231.0) to (124.0, 150.0)
  • M (U+004D): from (547.0, 464.0) to (495.0, 316.0) is colinear with segment from (495.0, 316.0) to (400.0, 56.0)
  • M (U+004D): from (326.0, 56.0) to (231.0, 316.0) is colinear with segment from (231.0, 316.0) to (180.0, 464.0)
  • N (U+004E): from (210.0, 631.0) to (387.0, 300.0) is colinear with segment from (387.0, 300.0) to (451.0, 163.0)
  • N (U+004E): from (429.0, 0.0) to (251.0, 332.0) is colinear with segment from (251.0, 332.0) to (187.0, 467.0)
  • b (U+0062): from (195.0, 679.0) to (195.0, 509.0) is colinear with segment from (195.0, 509.0) to (192.0, 433.0)
  • d (U+0064): from (360.0, 438.0) to (355.0, 512.0) is colinear with segment from (355.0, 512.0) to (355.0, 679.0)
  • f (U+0066): from (24.0, 472.0) to (95.0, 477.0) is colinear with segment from (95.0, 477.0) to (306.0, 477.0)
    ... and 35 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • u11D63 (U+11D63): Quad(QuadBez { p0: (842.5, 232.5), p1: (811.0, 207.0), p2: (811.0, 159.0) })/Line(Line { p0: (811.0, 159.0), p1: (778.0, 292.0) }) = 13.934835114501363 degrees
  • u11DA2 (U+11DA2): Quad(QuadBez { p0: (359.5, 485.0), p1: (328.0, 517.0), p2: (286.0, 517.0) })/Line(Line { p0: (286.0, 517.0), p1: (439.0, 529.0) }) = 4.484606009544706 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 Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    GPOS
    GSUB [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 3.000 [code: version-not-detected]
[20] ofl/narnoor/Narnoor-Regular.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFFFC (Some(65532)) [code: zero-width-bases]
🔥 FAIL Name table records must not have trailing spaces. (name/trailing_spaces)
  • 🔥 FAIL Name table record 3/1/1033/COPYRIGHT_NOTICE has trailing spaces that must be removed:
    Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in). Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/). Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. [code: trailing-space]

  • 🔥 FAIL Name table record 3/1/1033/LICENSE_DESCRIPTION has trailing spaces that must be removed:
    `Original font copyright (c) 2014-2017 CDAST, University of Hyderabad, Hyderabad (cdast@uohyd.ernet.in).
    Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
    Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated
    (http://www.adobe.com/), with Reserved Font Name 'Source'.

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://scripts.sil.org/OFL


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.
` [code: trailing-space]

🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry COPYRIGHT_NOTICE 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 Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Narnoor Narnoor
Subfamily Name Regular Regular
Full Name Narnoor Narnoor Regular
Postscript Name Narnoor-Regular Narnoor-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 Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • 🔥 FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
    If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
    GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 3 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 485 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=639: multiply
    width=675: divide
    width=654: equal
    width=423: greater, less
    width=691: plus
    width=497: minus [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
  • nonmarkingreturn [code: unreachable-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 (Narnoor), which is fine. [code: legacy-familyname]
⚠️ 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:

  • ǰ [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • four.dnom: from (211.0, 0.0) to (211.0, 209.0) is colinear with segment from (211.0, 209.0) to (216.0, 315.0)
  • four.dnom: from (212.0, 315.0) to (165.0, 237.0) is colinear with segment from (165.0, 237.0) to (109.0, 146.0)
  • M (U+004D): from (547.0, 520.0) to (496.0, 375.0) is colinear with segment from (496.0, 375.0) to (382.0, 62.0)
  • M (U+004D): from (324.0, 62.0) to (209.0, 375.0) is colinear with segment from (209.0, 375.0) to (159.0, 520.0)
  • N (U+004E): from (179.0, 633.0) to (397.0, 250.0) is colinear with segment from (397.0, 250.0) to (464.0, 117.0)
  • N (U+004E): from (449.0, 0.0) to (231.0, 384.0) is colinear with segment from (231.0, 384.0) to (163.0, 516.0)
  • b (U+0062): from (166.0, 686.0) to (166.0, 502.0) is colinear with segment from (166.0, 502.0) to (164.0, 419.0)
  • d (U+0064): from (376.0, 429.0) to (372.0, 508.0) is colinear with segment from (372.0, 508.0) to (372.0, 686.0)
  • f (U+0066): from (27.0, 466.0) to (95.0, 471.0) is colinear with segment from (95.0, 471.0) to (279.0, 471.0)
    ... and 37 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • u11D63 (U+11D63): Quad(QuadBez { p0: (767.0, 212.0), p1: (752.0, 190.0), p2: (752.0, 159.0) })/Line(Line { p0: (752.0, 159.0), p1: (734.0, 274.0) }) = 8.895856969663328 degrees
  • u11D81 (U+11D81): Quad(QuadBez { p0: (303.5, 298.0), p1: (336.0, 319.0), p2: (341.0, 345.0) })/Line(Line { p0: (341.0, 345.0), p1: (341.0, 249.0) }) = 10.88552705465871 degrees
  • u11D81.half: Quad(QuadBez { p0: (303.5, 298.0), p1: (336.0, 319.0), p2: (341.0, 345.0) })/Line(Line { p0: (341.0, 345.0), p1: (341.0, 249.0) }) = 10.88552705465871 degrees
  • u11D81_u11D8A: Quad(QuadBez { p0: (303.5, 298.0), p1: (336.0, 319.0), p2: (341.0, 345.0) })/Line(Line { p0: (341.0, 345.0), p1: (341.0, 249.0) }) = 10.88552705465871 degrees
  • u11D81_u11D8B: Quad(QuadBez { p0: (303.5, 298.0), p1: (336.0, 319.0), p2: (341.0, 345.0) })/Line(Line { p0: (341.0, 345.0), p1: (341.0, 249.0) }) = 10.88552705465871 degrees
  • u11DA2 (U+11DA2): Quad(QuadBez { p0: (336.0, 509.0), p1: (311.0, 528.0), p2: (285.0, 528.0) })/Line(Line { p0: (285.0, 528.0), p1: (405.0, 540.0) }) = 5.710593137499568 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 Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    GPOS
    GSUB [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 3.000 [code: version-not-detected]
[2] ofl/narnoor/METADATA.pb
🔥 FAIL Does METADATA.pb copyright field contain broken links? (googlefonts/metadata/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Narnoor" does not match post_script_name="Narnoor-Regular". [code: mismatch]

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

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

"original font copyright (c) 2014-2017 cdast, university of hyderabad, hyderabad (cdast@uohyd.ernet.in).
"

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:

+Additions and modifications copyright (c) 2015-2023 SIL International (https://www.sil.org/).
+Latin glyphs copyright (c) 2010, 2012, 2014, 2021 Adobe Systems Incorporated
+(https://www.adobe.com/), with Reserved Font Name 'Source'.
[code: incorrect-ofl-body-text]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
62 80 21 442 310
7% 9% 2% 52% 37%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[10] ofl/nats
🔥 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 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, telugu:
  • š (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, telugu:
  • š (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, telugu:
  • ł (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 NATS-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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011-2012, julieta ulanovsky (julieta.ulanovsky@gmail.com), with reserved font names 'montserrat'" [code: bad-notice-format]

  • 🔥 FAIL NATS-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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011-2012, julieta ulanovsky (julieta.ulanovsky@gmail.com), with reserved font names 'montserrat'" [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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011-2012, julieta ulanovsky (julieta.ulanovsky@gmail.com), with reserved font names 'montserrat'" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/nats/NATS-Regular.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/nats/NATS-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+0127 LATIN SMALL LETTER H WITH STROKE: try adding latin-ext
  • U+0128 LATIN CAPITAL LETTER I WITH TILDE: try adding one of: vietnamese, latin-ext
  • U+0129 LATIN SMALL LETTER I WITH TILDE: try adding one of: vietnamese, latin-ext
  • U+0133 LATIN SMALL LIGATURE IJ: try adding latin-ext
  • U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX: try adding latin-ext
  • U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX: try adding latin-ext
  • U+0137 LATIN SMALL LETTER K WITH CEDILLA: try adding latin-ext
  • U+0138 LATIN SMALL LETTER KRA: try adding latin-ext
  • U+0140 LATIN SMALL LETTER L WITH MIDDLE DOT: try adding latin-ext
    ... and 42 others

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Silicon Andhra (fonts.siliconandhra.org). Copyright (c) 2011-2012, Julieta Ulanovsky (julieta.ulanovsky@gmail.com), with Reserved Font Names 'Montserrat'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[3] ofl/nats/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/nats/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[31] ofl/nats/NATS-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 0.2999878, name table: 1 [code: mismatch]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0137 [code: missing-case-counterparts]

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

  • 🔥 FAIL Missing case-swapping counterpart for U+0154 [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:
  • arrowdown (U+2193): found 0, expected one of: [1, 2]
  • arrowleft (U+2190): found 0, expected one of: [1, 2]
  • arrowright (U+2192): found 0, expected one of: [1, 2]
  • arrowup (U+2191): found 0, expected one of: [1, 2]
  • graveaccent (U+0060): found 0, expected one of: [1]
  • leftcurly (U+007B): found 0, expected one of: [1, 2, 5]
  • rightcurly (U+007D): found 0, expected one of: [1, 2, 5]
  • uni2022 (U+2022): found 0, expected one of: [1, 5] [code: no-contour]
  • ⚠️ 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:

  • Nukta (U+093C): found 2, expected one of: [1]
  • lozenge (U+25CA): found 1, expected one of: [2] [code: contour-count]
🔥 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 Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 FAIL Check family name for GF Guide compliance. (googlefonts/family_name_compliance)
  • 🔥 FAIL "NATS" contains an abbreviation. [code: abbreviation]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name NATS NATS
Subfamily Name Regular Regular
Full Name NATS NATS Regular
Postscript Name NATS NATS-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 Check font follows the Google Fonts vertical metric schema (googlefonts/vertical_metrics)
  • 🔥 FAIL The sum of hhea.ascender + abs(hhea.descender) + hhea.lineGap is 2050 when it should be at most 1940 [code: bad-hhea-range]
⚠️ 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+093C (Nukta)
  • U+0951 (Udatta)
  • U+0952 (Anudatta)
  • U+0953 (KaHalanth)
  • U+0C3E (AAMatra)
  • U+0C3F (Imatra)
  • U+0C40 (IIMatra)
  • U+0C46 (uni0C46)
  • U+0C47 (EEMatra)
    ... and 9 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+00BD (onehalf) [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:
  • DDaOttu
  • DDhaOttu
  • DaOttu
  • DhaOttu
  • DoubleDanda
  • GNaOttu
  • GaOttu
  • GhaOttu
  • GyaOttu
    ... and 47 others [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 970 instead. [code: suboptimal]
⚠️ WARN Check base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200C ZERO WIDTH NON-JOINER has non-zero advance width: 235 [code: non-zero-advance]

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

⚠️ 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 398 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=445: notequal
    width=396: multiply
    width=431: greaterequal, lessequal
    width=484: approxequal
    width=437: equal
    width=580: logicalnot
    width=414: greater, less [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • uni0000
  • uni000D
  • Divide
  • RaOttuMiddle
  • TTaAA
  • TTaAU
  • TTaE
  • TTaEE
  • TTaHalanth
    ... and 15 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN x-height and cap-height checks are skipped because OS/2 table version is only 1 and version >= 2 is required for those checks. [code: skip-cap-x-height-alignment]

  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:

    • LLaOttu: X=77,Y=-2 (should be at baseline 0?)
    • Nya (U+0C1E): X=338,Y=1 (should be at baseline 0?)
    • NyaAA: X=338,Y=1 (should be at baseline 0?)
    • NyaAU: X=338,Y=1 (should be at baseline 0?)
    • NyaE: X=338,Y=1 (should be at baseline 0?)
    • NyaEE: X=338,Y=1 (should be at baseline 0?)
    • NyaHalanth: X=338,Y=1 (should be at baseline 0?)
    • NyaI: X=338,Y=1 (should be at baseline 0?)
    • NyaII: X=338,Y=1 (should be at baseline 0?)
      ... and 26 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • BaEE: from (344.0, 365.0) to (378.0, 365.0) is colinear with segment from (378.0, 365.0) to (406.0, 365.0)
  • BhaOttu: from (-54.0, -285.0) to (-54.0, -361.0) is colinear with segment from (-54.0, -361.0) to (-54.0, -363.0)
  • CaAA: from (84.0, 365.0) to (314.0, 365.0) is colinear with segment from (314.0, 365.0) to (398.0, 364.0)
  • CaEE: from (193.0, 365.0) to (314.0, 365.0) is colinear with segment from (314.0, 365.0) to (398.0, 365.0)
  • CaNuktaAA: from (84.0, 365.0) to (314.0, 365.0) is colinear with segment from (314.0, 365.0) to (398.0, 364.0)
  • ChaAA: from (84.0, 365.0) to (314.0, 365.0) is colinear with segment from (314.0, 365.0) to (398.0, 364.0)
  • ChaOttu: from (-39.0, -303.0) to (-39.0, -379.0) is colinear with segment from (-39.0, -379.0) to (-39.0, -381.0)
  • DhaOttu: from (237.0, -292.0) to (237.0, -368.0) is colinear with segment from (237.0, -368.0) to (237.0, -370.0)
  • GaOttu: from (357.0, -228.0) to (357.0, -279.0) is colinear with segment from (357.0, -279.0) to (357.0, -281.0)
    ... and 20 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:
  • AA (U+0C06) has a counter-clockwise outer contour
  • AAMatra (U+0C3E) has a counter-clockwise outer contour
  • AI (U+0C10) has a counter-clockwise outer contour
  • AIMatra (U+0C48) has a counter-clockwise outer contour
  • AIMatra (U+0C48) has a counter-clockwise outer contour
  • AU (U+0C14) has a counter-clockwise outer contour
  • Anudatta (U+0952) has a counter-clockwise outer contour
  • Anusvara (U+0C02) has a counter-clockwise outer contour
  • Arasunna (U+0C01) has a counter-clockwise outer contour
    ... and 852 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:
  • Delta (U+2206): Line(Line { p0: (144.0, 78.0), p1: (409.0, 76.0) }) (angle: -0.43 degrees, expected: 0.00 degrees)
  • RaOO: Line(Line { p0: (297.0, 423.0), p1: (171.0, 424.0) }) (angle: 179.55 degrees, expected: 180.00 degrees)
  • ae (U+00E6): Line(Line { p0: (360.0, 222.0), p1: (559.0, 221.0) }) (angle: -0.29 degrees, expected: 0.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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.2.25-373a; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
⚠️ 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
NATS-Regular.ttf
Dehinted Size 225204
Hinted Size 355880
Increase 130676
Change 58.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 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

[2] ofl/nats/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (NATS). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "NATS-Regular.ttf" does not match post_script_name="NATS". [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 purushothkumarguttula 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]
[1] ofl/nats/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011-2012, julieta ulanovsky (julieta.ulanovsky@gmail.com), with reserved font names 'montserrat'"

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
27 32 9 103 68
12% 15% 4% 48% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[10] ofl/noticiatext
🔥 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 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 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]
🔥 FAIL Fonts have equal codepoint coverage? (googlefonts/family/equal_codepoint_coverage)
  • 🔥 FAIL Font ofl/noticiatext/NoticiaText-Bold.ttf has codepoints not present in sibling fonts: U+F6D8, U+F6D7 [code: glyphset-diverges]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL NoticiaText-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) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

  • 🔥 FAIL NoticiaText-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) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

  • 🔥 FAIL NoticiaText-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) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

  • 🔥 FAIL NoticiaText-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) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

  • 🔥 FAIL NoticiaText-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 (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

  • 🔥 FAIL NoticiaText-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 (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011 jm sole (info@jmsole.cl), with reserved font name "noticia text"." [code: bad-notice-format]

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

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

  • ⚠️ WARN ofl/noticiatext/NoticiaText-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: cherokee, tifinagh, coptic, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: old-permic, syriac, tai-le, canadian-aboriginal, hebrew, coptic, duployan, malayalam, math, tifinagh, todhri
  • 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
    ... and 70 others

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

  • ⚠️ WARN ofl/noticiatext/NoticiaText-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: 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: cherokee, tifinagh, coptic, math
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: old-permic, syriac, tai-le, canadian-aboriginal, hebrew, coptic, duployan, malayalam, math, tifinagh, todhri
  • 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
    ... and 70 others

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

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

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, latin-ext, 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 (c) 2011 JM Sole (info@jmsole.cl), with Reserved Font Name "Noticia Text".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("Copyright (c) 2011 JM Sole (info@jmsole.cl), with Reserved Font Name "Noticia Text".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("Copyright (c) 2011 JM Sole (info@jmsole.cl), with Reserved Font Name "Noticia Text".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]

  • ⚠️ WARN METADATA.pb: copyright field ("Copyright (c) 2011 JM Sole (info@jmsole.cl), with Reserved Font Name "Noticia Text".") 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]

  • ⚠️ 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]
[2] ofl/noticiatext/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Noticia Text" does not match post_script_name="NoticiaText-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 Designer jmsole still does not have an avatar image. Please provide one. [code: missing-avatar]
[2] ofl/noticiatext/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2011, jm sole (http://jmsole.cl|info@jmsole.cl),"

which does not match the expected format, similar to:

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

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

Lines changed:

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

[23] ofl/noticiatext/NoticiaText-Italic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+1E0A [code: missing-case-counterparts]

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

🔥 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: * 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: * tw_akuapem_Latn (Akuapem Twi)
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: * yo_Latn (Yoruba)
The following base characters are missing from the font: ǹ, Ǹ
The following mark characters are missing from the font: ̩
Mandatory orthography codepoints: * ha_Latn (Hausa)
The following base characters are missing from the font: ƴ, Ƙ, Ɗ, ƙ, ɓ, Ƴ, ɗ, Ɓ
Mandatory orthography codepoints: * fat_Latn (Fanti)
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: ǹ
The following auxiliary characters are missing from the font: Ǹ
The following auxiliary characters are missing from the font: ɛ
The following auxiliary 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: e̩
The following auxiliary characters are missing from the font: E̩
The following auxiliary characters are missing from the font: é̩
The following auxiliary characters are missing from the font: É̩
The following auxiliary characters are missing from the font: è̩
The following auxiliary characters are missing from the font: È̩
The following auxiliary characters are missing from the font: ê̩
The following auxiliary characters are missing from the font: Ê̩
The following auxiliary characters are missing from the font: ě̩
The following auxiliary characters are missing from the font: Ě̩
The following auxiliary characters are missing from the font: o̩
The following auxiliary characters are missing from the font: O̩
The following auxiliary characters are missing from the font: ó̩
The following auxiliary characters are missing from the font: Ó̩
The following auxiliary characters are missing from the font: ò̩
The following auxiliary characters are missing from the font: Ò̩
The following auxiliary characters are missing from the font: ô̩
The following auxiliary characters are missing from the font: Ô̩
The following auxiliary characters are missing from the font: ǒ̩
The following auxiliary characters are missing from the font: Ǒ̩
The following auxiliary characters are missing from the font: s̩
The following auxiliary characters are missing from the font: S̩
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: ǯ
🔥 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.003006 is equal to version on Google fonts [code: same-version]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 1148 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1043: plus, plusminus
    width=1163: logicalnot
    width=1102: equal, notequal
    width=1153: divide
    width=1001: multiply
    width=1241: approxequal
    width=993: minus [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
  • nonmarkingreturn
  • uni00670303
  • uni00470303
  • i.latnTRK [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 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 ("Noticia Text") that differs from the currently used family name (Noticia Text), which is fine. [code: legacy-familyname]

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

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

  • ị̉

  • ị̋

  • ị̈

  • ị̇

  • ị̆

  • ị̏

  • ị̌
    ... and 14 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:
    • b (U+0062): X=297,Y=-1 (should be at baseline 0?)
    • t (U+0074): X=538.5,Y=-2 (should be at baseline 0?)
    • s (U+0073): X=209,Y=-2.5 (should be at baseline 0?)
    • questiondown (U+00BF): X=156.5,Y=2.5 (should be at baseline 0?)
    • eight (U+0038): X=236,Y=-1.5 (should be at baseline 0?)
    • nine (U+0039): X=48,Y=1 (should be at baseline 0?)
    • percent (U+0025): X=343.5,Y=1351.5 (should be at cap-height 1353?)
    • percent (U+0025): X=585.5,Y=1351.5 (should be at cap-height 1353?)
    • percent (U+0025): X=1266,Y=1.5 (should be at baseline 0?)
      ... and 49 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • asterisk (U+002A): from (577.0, 1103.0) to (569.0, 826.0) is colinear with segment from (569.0, 826.0) to (566.0, 802.0)
  • asterisk (U+002A): from (486.0, 1103.0) to (238.0, 938.0) is colinear with segment from (238.0, 938.0) to (216.0, 926.0)
  • asterisk (U+002A): from (509.0, 1261.0) to (517.0, 1538.0) is colinear with segment from (517.0, 1538.0) to (520.0, 1562.0)
  • asterisk (U+002A): from (600.0, 1261.0) to (848.0, 1426.0) is colinear with segment from (848.0, 1426.0) to (870.0, 1438.0)
  • uni20B9 (U+20B9): from (528.0, 933.0) to (210.0, 933.0) is colinear with segment from (210.0, 933.0) to (67.0, 947.0)
  • uni20B9 (U+20B9): from (284.0, 1254.0) to (252.0, 1254.0) is colinear with segment from (252.0, 1254.0) to (109.0, 1268.0)
  • uni20B9 (U+20B9): from (126.0, 1353.0) to (777.0, 1353.0) is colinear with segment from (777.0, 1353.0) to (920.0, 1339.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dong (U+20AB): Line(Line { p0: (603.0, 551.0), p1: (603.0, 549.0) })/Line(Line { p0: (603.0, 549.0), p1: (663.0, 977.0) }) = 7.980113745168495 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 The family name "Noticia 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:
NoticiaText-Italic.ttf
Dehinted Size 66324
Hinted Size 87392
Increase 21068
Change 31.8 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    gasp
    VDMX [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.003, Version 1.003 [code: version-not-detected]
[25] ofl/noticiatext/NoticiaText-BoldItalic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+1E59 [code: missing-case-counterparts]

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

🔥 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 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:
  • gcommaaccent (component uni0326) [code: transformed-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: * 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: * tw_akuapem_Latn (Akuapem Twi)
The following base characters are missing from the font: ɛ, Ɔ, Ɛ, ɔ
Mandatory orthography codepoints: * yo_Latn (Yoruba)
The following base characters are missing from the font: Ǹ, ǹ
The following mark 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: Ɗ, ɗ, Ƴ, ƴ, ɓ, Ɓ
  • ⚠️ WARN Warning language shaping:
Message Languages
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: Ɛ
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: e̩
The following auxiliary characters are missing from the font: E̩
The following auxiliary characters are missing from the font: é̩
The following auxiliary characters are missing from the font: É̩
The following auxiliary characters are missing from the font: è̩
The following auxiliary characters are missing from the font: È̩
The following auxiliary characters are missing from the font: ê̩
The following auxiliary characters are missing from the font: Ê̩
The following auxiliary characters are missing from the font: ě̩
The following auxiliary characters are missing from the font: Ě̩
The following auxiliary characters are missing from the font: o̩
The following auxiliary characters are missing from the font: O̩
The following auxiliary characters are missing from the font: ó̩
The following auxiliary characters are missing from the font: Ó̩
The following auxiliary characters are missing from the font: ò̩
The following auxiliary characters are missing from the font: Ò̩
The following auxiliary characters are missing from the font: ô̩
The following auxiliary characters are missing from the font: Ô̩
The following auxiliary characters are missing from the font: ǒ̩
The following auxiliary characters are missing from the font: Ǒ̩
The following auxiliary characters are missing from the font: s̩
The following auxiliary characters are missing from the font: S̩
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: ǯ
🔥 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.003006 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:

  • uni1E5D (U+1E5D): found 2, expected one of: [3, 4]
  • napostrophe (U+0149): found 1, expected one of: [2, 3, 4] [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 1132 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1039: multiply
    width=1108: lessequal, greaterequal
    width=1183: divide
    width=1301: approxequal
    width=1223: logicalnot
    width=1023: minus
    width=1073: plus, plusminus
    width=1148: less, greater [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
  • nonmarkingreturn
  • uni00670303
  • uni00470303
  • i.latnTRK [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 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 ("Noticia Text") that differs from the currently used family name (Noticia Text), which is fine. [code: legacy-familyname]

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

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

  • į̆
    ... and 14 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:
    • .notdef: X=1185,Y=1351 (should be at cap-height 1353?)
    • .notdef: X=316,Y=1351 (should be at cap-height 1353?)
    • c (U+0063): X=667,Y=2 (should be at baseline 0?)
    • e (U+0065): X=685,Y=2.5 (should be at baseline 0?)
    • t (U+0074): X=600.5,Y=-2 (should be at baseline 0?)
    • egrave (U+00E8): X=685,Y=2.5 (should be at baseline 0?)
    • eacute (U+00E9): X=685,Y=2.5 (should be at baseline 0?)
    • eight (U+0038): X=250,Y=-1.5 (should be at baseline 0?)
    • nine (U+0039): X=36,Y=1 (should be at baseline 0?)
      ... and 69 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • colonmonetary (U+20A1): from (391.0, 683.0) to (373.0, 550.0) is colinear with segment from (373.0, 550.0) to (371.0, 536.0)
  • uni018F (U+018F): from (74.0, 525.0) to (87.0, 615.0) is colinear with segment from (87.0, 615.0) to (100.0, 712.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dong (U+20AB): Line(Line { p0: (555.0, 561.0), p1: (555.0, 559.0) })/Line(Line { p0: (555.0, 559.0), p1: (612.0, 969.0) }) = 7.914779290419515 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 The family name "Noticia 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:
NoticiaText-BoldItalic.ttf
Dehinted Size 65280
Hinted Size 86044
Increase 20764
Change 31.8 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    gasp
    VDMX [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.003, Version 1.003 [code: version-not-detected]
[1] ofl/noticiatext/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/noticiatext/NoticiaText-Bold.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+1E59 [code: missing-case-counterparts]

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

🔥 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 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:
  • gcommaaccent (component uni0326) [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 acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to j when shaping the text 'íj́'
Mandatory orthography codepoints: * fat_Latn (Fanti)
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: * ff_Latn (Fulah)
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: * 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: ǹ, Ǹ
The following mark characters are missing from the font: ̩
Shaper didn't attach acutecomb to uni1EB9 when shaping the text 'ẹ́'
Shaper didn't attach acutecomb to uni1EB8 when shaping the text 'Ẹ́'
Shaper didn't attach gravecomb to uni1EB9 when shaping the text 'ẹ̀'
Shaper didn't attach gravecomb to uni1EB8 when shaping the text 'Ẹ̀'
Shaper didn't attach gravecomb to m when shaping the text 'm̀'
Shaper didn't attach gravecomb to M when shaping the text 'M̀'
Shaper didn't attach acutecomb to uni1ECD when shaping the text 'ọ́'
Shaper didn't attach acutecomb to uni1ECC when shaping the text 'Ọ́'
Shaper didn't attach gravecomb to uni1ECD when shaping the text 'ọ̀'
Shaper didn't attach gravecomb to uni1ECC when shaping the text 'Ọ̀'
Mandatory orthography codepoints: * dyu_Latn (Dyula)
The following base characters are missing from the font: Ɔ, ɛ, Ɛ, Ɲ, ɲ, ɔ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * yo_Latn (Yoruba)
The following auxiliary characters are missing from the font: e̩
The following auxiliary characters are missing from the font: E̩
The following auxiliary characters are missing from the font: é̩
The following auxiliary characters are missing from the font: É̩
The following auxiliary characters are missing from the font: è̩
The following auxiliary characters are missing from the font: È̩
The following auxiliary characters are missing from the font: ê̩
The following auxiliary characters are missing from the font: Ê̩
The following auxiliary characters are missing from the font: ě̩
The following auxiliary characters are missing from the font: Ě̩
The following auxiliary characters are missing from the font: o̩
The following auxiliary characters are missing from the font: O̩
The following auxiliary characters are missing from the font: ó̩
The following auxiliary characters are missing from the font: Ó̩
The following auxiliary characters are missing from the font: ò̩
The following auxiliary characters are missing from the font: Ò̩
The following auxiliary characters are missing from the font: ô̩
The following auxiliary characters are missing from the font: Ô̩
The following auxiliary characters are missing from the font: ǒ̩
The following auxiliary characters are missing from the font: Ǒ̩
The following auxiliary characters are missing from the font: s̩
The following auxiliary characters are missing from the font: S̩
Shaper didn't attach uni030C to uni1EB9 when shaping the text 'ẹ̌'
Shaper didn't attach uni030C to uni1EB8 when shaping the text 'Ẹ̌'
Shaper didn't attach uni030C to uni1ECD when shaping the text 'ọ̌'
Shaper didn't attach uni030C to uni1ECC when shaping the text 'Ọ̌'
Auxiliary orthography codepoints: * ha_Latn (Hausa)
Shaper didn't attach tildecomb to r when shaping the text 'r̃'
Shaper didn't attach tildecomb to R when shaping the text 'R̃'
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: Ɛ
The following auxiliary characters are missing from the font: ɵ
The following auxiliary characters are missing from the font: Ɵ
Shaper didn't attach acutecomb to uni1ECB when shaping the text 'ị́'
Shaper didn't attach acutecomb to uni1ECA when shaping the text 'Ị́'
Shaper didn't attach gravecomb to uni1ECB when shaping the text 'ị̀'
Shaper didn't attach gravecomb to uni1ECA when shaping the text 'Ị̀'
Shaper didn't attach gravecomb to m when shaping the text 'm̀'
Shaper didn't attach gravecomb to M when shaping the text 'M̀'
Shaper didn't attach acutecomb to uni1ECD when shaping the text 'ọ́'
Shaper didn't attach acutecomb to uni1ECC when shaping the text 'Ọ́'
Shaper didn't attach gravecomb to uni1ECD when shaping the text 'ọ̀'
Shaper didn't attach gravecomb to uni1ECC when shaping the text 'Ọ̀'
Shaper didn't attach acutecomb to uni1EE5 when shaping the text 'ụ́'
Shaper didn't attach acutecomb to uni1EE4 when shaping the text 'Ụ́'
Shaper didn't attach gravecomb to uni1EE5 when shaping the text 'ụ̀'
Shaper didn't attach gravecomb to uni1EE4 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: ǯ
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 'ū̃'
🔥 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.003006 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 12 others [code: mark-chars]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 1168 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1243: logicalnot
    width=1213: divide
    width=1109: multiply
    width=1128: greaterequal, lessequal
    width=1162: equal, notequal
    width=1103: plusminus, plus
    width=1053: minus
    width=1281: 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
  • nonmarkingreturn
  • i.latnTRK
  • uni00670303
  • uni00470303 [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 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 ("Noticia Text") that differs from the currently used family name (Noticia Text), which is fine. [code: legacy-familyname]

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

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

  • ị̏

  • ị̌

  • ị̉

  • ị̊

  • ị̋

  • ị̇

  • ị̆

  • ị̈


  • ... and 14 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:
    • .notdef: X=1185,Y=1351 (should be at cap-height 1353?)
    • .notdef: X=316,Y=1351 (should be at cap-height 1353?)
    • s (U+0073): X=247.5,Y=-2.5 (should be at baseline 0?)
    • W (U+0057): X=981,Y=1351 (should be at cap-height 1353?)
    • five (U+0035): X=283,Y=2.5 (should be at baseline 0?)
    • nine (U+0039): X=115,Y=1 (should be at baseline 0?)
    • paragraph (U+00B6): X=766.5,Y=-1.5 (should be at baseline 0?)
    • sacute (U+015B): X=247.5,Y=-2.5 (should be at baseline 0?)
    • scircumflex (U+015D): X=247.5,Y=-2.5 (should be at baseline 0?)
      ... and 57 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • g (U+0067): from (595.0, -22.0) to (375.0, -22.0) is colinear with segment from (375.0, -22.0) to (373.0, -22.0)
  • gcircumflex (U+011D): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
  • Euro (U+20AC): from (463.0, 713.0) to (463.0, 683.0) is colinear with segment from (463.0, 683.0) to (463.0, 593.0)
  • gbreve (U+011F): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
  • gdotaccent (U+0121): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
  • gcommaaccent (U+0123): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
  • gacute (U+01F5): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
  • gcaron (U+01E7): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
  • uni1E21 (U+1E21): from (593.0, -22.0) to (373.0, -22.0) is colinear with segment from (373.0, -22.0) to (371.0, -22.0)
    ... and 2 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 The family name "Noticia 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:
NoticiaText-Bold.ttf
Dehinted Size 80956
Hinted Size 113244
Increase 32288
Change 39.9 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    gasp
    hdmx
    LTSH
    VDMX [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.003, Version 1.003 [code: version-not-detected]
[25] ofl/noticiatext/NoticiaText-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+1E59 [code: missing-case-counterparts]

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

🔥 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 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:
  • gcommaaccent (component uni0326) [code: transformed-components]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * fat_Latn (Fanti)
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: * yo_Latn (Yoruba)
The following base characters are missing from the font: Ǹ, ǹ
The following mark characters are missing from the font: ̩
Shaper didn't attach acutecomb to uni1EB9 when shaping the text 'ẹ́'
Shaper didn't attach acutecomb to uni1EB8 when shaping the text 'Ẹ́'
Shaper didn't attach gravecomb to uni1EB9 when shaping the text 'ẹ̀'
Shaper didn't attach gravecomb to uni1EB8 when shaping the text 'Ẹ̀'
Shaper didn't attach gravecomb to m when shaping the text 'm̀'
Shaper didn't attach gravecomb to M when shaping the text 'M̀'
Shaper didn't attach acutecomb to uni1ECD when shaping the text 'ọ́'
Shaper didn't attach acutecomb to uni1ECC when shaping the text 'Ọ́'
Shaper didn't attach gravecomb to uni1ECD when shaping the text 'ọ̀'
Shaper didn't attach gravecomb to uni1ECC when shaping the text 'Ọ̀'
Mandatory orthography codepoints: * bm_Latn (Bambara)
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: * 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: * ff_Latn (Fulah)
The following base characters are missing from the font: Ɓ, Ƴ, ɓ, Ɗ, ɗ, ƴ
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * ha_Latn (Hausa)
Shaper didn't attach tildecomb to r when shaping the text 'r̃'
Shaper didn't attach tildecomb to R when shaping the text 'R̃'
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: Ɛ
The following auxiliary characters are missing from the font: ɵ
The following auxiliary characters are missing from the font: Ɵ
Shaper didn't attach acutecomb to uni1ECB when shaping the text 'ị́'
Shaper didn't attach acutecomb to uni1ECA when shaping the text 'Ị́'
Shaper didn't attach gravecomb to uni1ECB when shaping the text 'ị̀'
Shaper didn't attach gravecomb to uni1ECA when shaping the text 'Ị̀'
Shaper didn't attach gravecomb to m when shaping the text 'm̀'
Shaper didn't attach gravecomb to M when shaping the text 'M̀'
Shaper didn't attach acutecomb to uni1ECD when shaping the text 'ọ́'
Shaper didn't attach acutecomb to uni1ECC when shaping the text 'Ọ́'
Shaper didn't attach gravecomb to uni1ECD when shaping the text 'ọ̀'
Shaper didn't attach gravecomb to uni1ECC when shaping the text 'Ọ̀'
Shaper didn't attach acutecomb to uni1EE5 when shaping the text 'ụ́'
Shaper didn't attach acutecomb to uni1EE4 when shaping the text 'Ụ́'
Shaper didn't attach gravecomb to uni1EE5 when shaping the text 'ụ̀'
Shaper didn't attach gravecomb to uni1EE4 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 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: * 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: * yo_Latn (Yoruba)
The following auxiliary characters are missing from the font: e̩
The following auxiliary characters are missing from the font: E̩
The following auxiliary characters are missing from the font: é̩
The following auxiliary characters are missing from the font: É̩
The following auxiliary characters are missing from the font: è̩
The following auxiliary characters are missing from the font: È̩
The following auxiliary characters are missing from the font: ê̩
The following auxiliary characters are missing from the font: Ê̩
The following auxiliary characters are missing from the font: ě̩
The following auxiliary characters are missing from the font: Ě̩
The following auxiliary characters are missing from the font: o̩
The following auxiliary characters are missing from the font: O̩
The following auxiliary characters are missing from the font: ó̩
The following auxiliary characters are missing from the font: Ó̩
The following auxiliary characters are missing from the font: ò̩
The following auxiliary characters are missing from the font: Ò̩
The following auxiliary characters are missing from the font: ô̩
The following auxiliary characters are missing from the font: Ô̩
The following auxiliary characters are missing from the font: ǒ̩
The following auxiliary characters are missing from the font: Ǒ̩
The following auxiliary characters are missing from the font: s̩
The following auxiliary characters are missing from the font: S̩
Shaper didn't attach uni030C to uni1EB9 when shaping the text 'ẹ̌'
Shaper didn't attach uni030C to uni1EB8 when shaping the text 'Ẹ̌'
Shaper didn't attach uni030C to uni1ECD when shaping the text 'ọ̌'
Shaper didn't attach uni030C to uni1ECC when shaping the text 'Ọ̌'
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Noticia Text Noticia Text
Subfamily Name Regular Regular
Full Name Noticia Text Noticia Text Regular
Postscript Name NoticiaText-Regular NoticiaText-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.003006 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 12 others [code: mark-chars]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 1128 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=1122: equal, notequal
    width=1261: approxequal
    width=1063: plus, plusminus
    width=1148: less, greater
    width=1193: logicalnot
    width=1013: minus
    width=1173: divide
    width=1021: 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • NULL
  • nonmarkingreturn
  • i.latnTRK
  • uni00670303
  • uni00470303 [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 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 ("Noticia Text") that differs from the currently used family name (Noticia Text), which is fine. [code: legacy-familyname]

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

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

  • į̇

  • į̋

  • į̊

  • į̏

  • į̉

  • į̈

  • į̆
    ... and 14 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:
    • s (U+0073): X=281,Y=-1 (should be at baseline 0?)
    • y (U+0079): X=668,Y=2 (should be at baseline 0?)
    • nine (U+0039): X=147,Y=1 (should be at baseline 0?)
    • yacute (U+00FD): X=668,Y=2 (should be at baseline 0?)
    • ydieresis (U+00FF): X=668,Y=2 (should be at baseline 0?)
    • sacute (U+015B): X=281,Y=-1 (should be at baseline 0?)
    • scircumflex (U+015D): X=281,Y=-1 (should be at baseline 0?)
    • ycircumflex (U+0177): X=668,Y=2 (should be at baseline 0?)
    • scaron (U+0161): X=281,Y=-1 (should be at baseline 0?)
      ... and 46 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • Euro (U+20AC): from (368.0, 723.0) to (368.0, 683.0) is colinear with segment from (368.0, 683.0) to (368.0, 623.0)
  • lira (U+20A4): from (265.0, 579.0) to (244.0, 657.0) is colinear with segment from (244.0, 657.0) to (225.0, 721.0)
  • oe (U+0153): from (838.0, 503.0) to (838.0, 511.0) is colinear with segment from (838.0, 511.0) to (838.0, 622.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:
  • three (U+0033): Line(Line { p0: (85.0, 72.0), p1: (86.0, 330.0) }) (angle: 89.78 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 '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 "Noticia 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:
NoticiaText-Regular.ttf
Dehinted Size 81800
Hinted Size 115288
Increase 33488
Change 40.9 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    gasp
    hdmx
    LTSH
    VDMX [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.003, Version 1.003 [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
53 99 23 340 251
8% 14% 3% 49% 36%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[30] ofl/ntr/NTR-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 0.2999878, name table: 1 [code: mismatch]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]
🔥 FAIL Check family name for GF Guide compliance. (googlefonts/family_name_compliance)
  • 🔥 FAIL "NTR" contains an abbreviation. [code: abbreviation]
🔥 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 NTR NTR
Subfamily Name Regular Regular
Full Name NTR NTR Regular
Postscript Name NTR NTR-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 0.2999878 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+093C (Nukta)
  • U+0953 (KaHalanth)
  • U+0C55 (uni0C55)
  • U+0C62 (uni0C62)
  • U+0C63 (uni0C63) [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+007E (asciitilde)
  • U+00BD (onehalf)
  • U+00BE (threequarters)
  • U+0C03 (Visarga)
  • U+0C41 (UMatra)
  • U+0C42 (UUMatra)
  • U+0C43 (RMatra)
  • U+0C44 (RRMatra) [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:
  • asciitilde
  • onehalf
  • threequarters
  • Visarga
  • AAMatra
  • UMatra
  • UUMatra
  • RMatra
  • RRMatra
    ... and 78 others [code: spacing-mark-glyphs]
⚠️ WARN Check base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200C ZERO WIDTH NON-JOINER has non-zero advance width: 238 [code: non-zero-advance]

  • ⚠️ WARN U+200D ZERO WIDTH JOINER has non-zero advance width: 748 [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:

  • Nukta (U+093C): found 2, expected one of: [1] [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 474 among a set of 5 math glyphs.
    The following math glyphs have a different width, though:
    width=583: equal
    width=460: plus
    width=693: Divide [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • RaOttuMiddle [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 (Varela Round) that differs from the currently used family name (NTR), which is fine. [code: legacy-familyname]

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

⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • afii301 (U+200D) 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:
  • asterisk (U+002A): Quad(QuadBez { p0: (182.0, 465.0), p1: (251.0, 520.0), p2: (250.0, 519.0) })/Quad(QuadBez { p0: (250.0, 519.0), p1: (259.0, 525.0), p2: (269.0, 522.0) }) = 11.309932474020261 degrees
  • AIMatra (U+0C48): Quad(QuadBez { p0: (272.0, -226.5), p1: (258.0, -252.0), p2: (216.0, -264.0) })/Line(Line { p0: (216.0, -264.0), p1: (587.0, -240.0) }) = 12.244087708403478 degrees
  • tvam (U+0C56): Quad(QuadBez { p0: (471.0, -226.5), p1: (457.0, -252.0), p2: (415.0, -264.0) })/Line(Line { p0: (415.0, -264.0), p1: (730.0, -240.0) }) = 11.588420895076547 degrees
  • CaNukta (U+0C58): Line(Line { p0: (101.0, 744.0), p1: (443.0, 720.0) })/Quad(QuadBez { p0: (443.0, 720.0), p1: (374.0, 739.0), p2: (374.0, 818.0) }) = 11.381373558584068 degrees
  • JaNukta (U+0C59): Line(Line { p0: (101.0, 694.0), p1: (443.0, 670.0) })/Quad(QuadBez { p0: (443.0, 670.0), p1: (374.0, 689.0), p2: (374.0, 768.0) }) = 11.381373558584068 degrees
  • uni2022 (U+2022): Quad(QuadBez { p0: (288.0, 328.0), p1: (425.0, 437.0), p2: (423.0, 435.0) })/Quad(QuadBez { p0: (423.0, 435.0), p1: (440.0, 447.0), p2: (460.0, 441.0) }) = 9.782407031807322 degrees
  • Kaottu: Line(Line { p0: (311.0, -111.0), p1: (211.0, -103.0) })/Quad(QuadBez { p0: (211.0, -103.0), p1: (324.0, -137.0), p2: (324.0, -207.0) }) = 12.17182927841924 degrees
  • KhaOttu: Line(Line { p0: (307.0, -327.0), p1: (309.0, -327.0) })/Quad(QuadBez { p0: (309.0, -327.0), p1: (301.0, -325.0), p2: (287.0, -316.0) }) = 14.036243467926484 degrees
  • NgaOttu: Quad(QuadBez { p0: (410.0, -24.0), p1: (424.0, -22.0), p2: (425.0, -35.0) })/Quad(QuadBez { p0: (425.0, -35.0), p1: (427.0, -16.0), p2: (431.0, -41.0) }) = 10.407711312490084 degrees
    ... and 57 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:
  • BhaOttu: Line(Line { p0: (-15.0, -350.0), p1: (-16.0, -486.0) }) (angle: -90.42 degrees, expected: -90.00 degrees)
  • DDaAU: Line(Line { p0: (259.0, 601.0), p1: (513.0, 599.0) }) (angle: -0.45 degrees, expected: 0.00 degrees)
  • DDhaAU: Line(Line { p0: (259.0, 601.0), p1: (513.0, 599.0) }) (angle: -0.45 degrees, expected: 0.00 degrees)
  • TaAU: Line(Line { p0: (208.0, 605.0), p1: (461.0, 603.0) }) (angle: -0.45 degrees, expected: 0.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 Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ⚠️ WARN ttfautohint used in font = 1.2.25-373a; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value ' ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
NTR-Regular.ttf
Dehinted Size 197076
Hinted Size 374932
Increase 177856
Change 90.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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

[9] ofl/ntr
🔥 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' is listed in production metadata, but only 0.47% of its glyphs are supported by this font file. We can't remove it, however, since that would cause a regression in production. [code: unsupported-production-subset]

🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL NTR-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) 2012 siliconandhra (fonts.siliconandhra.org). copyright (c) 2011, joe prince, admix designs (http://www.admixdesigns.com/) with reserved font name varela round." [code: bad-notice-format]

  • 🔥 FAIL NTR-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) 2012 siliconandhra (fonts.siliconandhra.org). copyright (c) 2011, joe prince, admix designs (http://www.admixdesigns.com/) with reserved font name varela round." [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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011, joe prince, admix designs (http://www.admixdesigns.com/) with reserved font name varela round." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2012 siliconandhra (fonts.siliconandhra.org). copyright (c) 2011, joe prince, admix designs (http://www.admixdesigns.com/) with reserved font name varela round.: ["NTR-Regular.ttf: Name Table entry", "NTR-Regular.ttf: Name Table entry"]
  • copyright (c) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011, joe prince, admix designs (http://www.admixdesigns.com/) with reserved font name varela round.: ["METADATA.pb"] [code: mismatch]
🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/ntr/NTR-Regular.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x00D7: MULTIPLICATION SIGN
  • 0x2013: EN DASH
  • 0x2014: EM DASH
  • 0x2026: HORIZONTAL ELLIPSIS
    ... and 2 others [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/ntr/NTR-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+093C DEVANAGARI SIGN NUKTA: try adding devanagari
  • U+0950 DEVANAGARI OM: try adding devanagari
  • U+0953 DEVANAGARI GRAVE ACCENT: try adding devanagari
  • U+20B9 INDIAN RUPEE SIGN: try adding one of: tamil, gurmukhi, oriya, latin-ext, devanagari, malayalam, ol-chiki, bengali, kannada, gujarati
  • U+2190 LEFTWARDS ARROW: try adding one of: math, symbols
  • U+2192 RIGHTWARDS ARROW: try adding one of: math, symbols

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Silicon Andhra (fonts.siliconandhra.org). Copyright (c) 2011, Joe Prince, Admix Designs (http://www.admixdesigns.com/) with Reserved Font Name Varela Round.") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[2] ofl/ntr/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (NTR). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "NTR-Regular.ttf" does not match post_script_name="NTR". [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 purushothkumarguttula 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]
[3] ofl/ntr/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/ntr/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[1] ofl/ntr/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011, joe prince, admix designs (http://www.admixdesigns.com/) with reserved font name varela round."

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
19 31 11 108 65
9% 14% 5% 50% 30%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright (c) 1999-2022 sil international (http://www.sil.org)
"

which does not match the expected format, similar to:

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

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

Lines changed:

+with Reserved Font Names "Nuosu" and "SIL".
[code: incorrect-ofl-body-text]

[1] ofl/nuosusil/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[8] ofl/nuosusil
🔥 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 NuosuSIL-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) 1999-2022 sil international" [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) 1999-2022 sil international" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/nuosusil/NuosuSIL-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+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
  • U+2004 THREE-PER-EM SPACE: try adding symbols2
  • U+2005 FOUR-PER-EM SPACE: try adding symbols2
  • U+2006 SIX-PER-EM SPACE: try adding symbols2
  • U+2007 FIGURE SPACE: try adding symbols2
  • U+2008 PUNCTUATION SPACE: try adding symbols2
  • U+200A HAIR SPACE: try adding symbols2
    ... and 34 others

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu, yi [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.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]
ℹ️ 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]
[19] ofl/nuosusil/NuosuSIL-Regular.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniFFFC (Some(65532)) [code: zero-width-bases]
🔥 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 Nuosu SIL Nuosu SIL
Subfamily Name Regular Regular
Full Name Nuosu SIL Nuosu SIL Regular
Postscript Name NuosuSIL-Regular NuosuSIL-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 Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • 🔥 FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
    If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
    GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.2999878 is equal to version on Google fonts [code: same-version]
⚠️ WARN Any CJK font should contain at least a minimal set of 150 CJK characters. (cjk_not_enough_glyphs)
  • ⚠️ WARN There is only one CJK glyph when there needs to be at least 150 in order to support the smallest CJK writing system, Kana.
    The following CJK glyphs were found:
  • 12539
    Please check that these glyphs have the correct unicodes. [code: cjk-not-enough-glyphs]
⚠️ 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 2049 among a set of 14 math glyphs.
    The following math glyphs have a different width, though:
    width=1599: uni3012
    width=2051: less, plus, greater, equal
    width=1573: 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 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 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:
  • exclam (U+0021): from (335.0, 373.0) to (245.0, 1218.0) is colinear with segment from (245.0, 1218.0) to (236.0, 1297.0)
  • uniA107 (U+A107): from (280.0, 714.0) to (279.0, 896.0) is colinear with segment from (279.0, 896.0) to (280.0, 988.0)
  • uniA107 (U+A107): from (279.0, 896.0) to (280.0, 988.0) is colinear with segment from (280.0, 988.0) to (280.0, 1793.0)
  • uniA260 (U+A260): from (385.0, 1207.0) to (396.0, 1204.0) is colinear with segment from (396.0, 1204.0) to (488.0, 1182.0)
  • uniA2B3 (U+A2B3): from (1268.0, 969.0) to (1268.0, 978.0) is colinear with segment from (1268.0, 978.0) to (1267.0, 1604.0)
  • uniA2B4 (U+A2B4): from (1268.0, 969.0) to (1268.0, 978.0) is colinear with segment from (1268.0, 978.0) to (1267.0, 1604.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uniA004 (U+A004): Quad(QuadBez { p0: (467.0, 1383.0), p1: (465.0, 1385.0), p2: (465.0, 1386.0) })/Line(Line { p0: (465.0, 1386.0), p1: (466.0, 1381.0) }) = 11.309932474020195 degrees
  • uniA004 (U+A004): Line(Line { p0: (465.0, 1386.0), p1: (466.0, 1381.0) })/Quad(QuadBez { p0: (466.0, 1381.0), p1: (466.0, 1382.0), p2: (467.0, 1383.0) }) = 11.309932474020195 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:
  • uni300E (U+300E): Line(Line { p0: (870.0, 1.0), p1: (713.0, 0.0) }) (angle: -179.64 degrees, expected: -180.00 degrees)
  • uni300E (U+300E): Line(Line { p0: (830.0, 30.0), p1: (840.0, 1655.0) }) (angle: 89.65 degrees, expected: 90.00 degrees)
  • uni300F (U+300F): Line(Line { p0: (1034.0, 1792.0), p1: (1191.0, 1793.0) }) (angle: 0.36 degrees, expected: 0.00 degrees)
  • uni300F (U+300F): Line(Line { p0: (1074.0, 1763.0), p1: (1064.0, 128.0) }) (angle: -90.35 degrees, expected: -90.00 degrees)
  • uni3016 (U+3016): Line(Line { p0: (1196.0, 1688.0), p1: (798.0, 1687.0) }) (angle: -179.86 degrees, expected: -180.00 degrees)
  • uni3017 (U+3017): Line(Line { p0: (802.0, 1687.0), p1: (404.0, 1688.0) }) (angle: 179.86 degrees, expected: 180.00 degrees)
  • uniA107 (U+A107): Line(Line { p0: (280.0, 714.0), p1: (279.0, 896.0) }) (angle: 90.31 degrees, expected: 90.00 degrees)
  • uniA1FC (U+A1FC): Line(Line { p0: (739.0, 0.0), p1: (737.0, 657.0) }) (angle: 90.17 degrees, expected: 90.00 degrees)
  • uniA1FD (U+A1FD): Line(Line { p0: (739.0, 0.0), p1: (737.0, 657.0) }) (angle: 90.17 degrees, expected: 90.00 degrees)
    ... and 26 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 The family name "Nuosu SIL" seems to be already in use.
    Please visit http://namecheck.fontdata.com/ for more info. [code: name-collision]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca [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 2.300 [code: version-not-detected]
[1] ofl/nuosusil/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Nuosu SIL" does not match post_script_name="NuosuSIL-Regular". [code: mismatch]

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
12 17 8 114 73
6% 8% 4% 53% 34%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[28] ofl/palanquindark/PalanquinDark-Bold.ttf
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoAscender (770) and hhea ascent (1320) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-230) and hhea descent (-491) must be equal. [code: descender]

🔥 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 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: * 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: * 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: * hr_Latn (Croatian)
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: * 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: * 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: * 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: ́, ̨, ̈
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: * 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: * sv_Latn (Swedish)
The following mark characters are missing from the font: ̈, ̊, ̀, ́
Mandatory orthography codepoints: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̨, ̇, ̌, ̄
Mandatory orthography codepoints: * da_Latn (Danish)
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: * 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: * fr_Latn (French)
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: * 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: * 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: * 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: * 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: * 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: * 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: * 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:
  • dv_CandrabinduInverted
  • dv_Candrabindu
  • dv_Anusvara
  • dv_MatraOe
  • dv_Nukta
  • dv_MatraU
  • dv_MatraUu
  • dv_MatraVocalicR
  • dv_MatraVocalicRr
    ... and 12 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.0010071 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+0976 (dv_Ue)
  • U+0977 (dv_Uue)
  • U+0971 (dv_Highspacedot) [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:
  • dv_Ue
  • dv_Uue
  • dv_Highspacedot [code: spacing-mark-glyphs]
⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 382 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=563: plus
    width=525: plusminus
    width=587: multiply
    width=476: minus
    width=523: equal
    width=386: lessequal, greaterequal
    width=553: notequal
    width=492: divide
    width=534: logicalnot
    width=545: 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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 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 932, but got 770 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:
  • grave.case
  • dieresis.case
  • macron.case
  • acute.case
  • circumflex.case
  • caron.case
  • breve.case
  • dotaccent.case
  • ring.case
    ... and 7 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 outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dv_Gh.half: Quad(QuadBez { p0: (436.0, 235.5), p1: (489.0, 272.0), p2: (493.0, 344.0) })/Line(Line { p0: (493.0, 344.0), p1: (493.0, 95.0) }) = 3.1798301198641643 degrees
  • dv_Th.half: Quad(QuadBez { p0: (482.0, 306.0), p1: (513.0, 327.0), p2: (513.0, 356.0) })/Line(Line { p0: (513.0, 356.0), p1: (517.0, 163.0) }) = 1.1873073157289764 degrees
  • dv_Dh.half: Quad(QuadBez { p0: (431.5, 237.5), p1: (492.0, 282.0), p2: (496.0, 354.0) })/Line(Line { p0: (496.0, 354.0), p1: (496.0, 95.0) }) = 3.1798301198642793 degrees
  • dv_Y.half: Quad(QuadBez { p0: (397.0, 306.0), p1: (428.0, 327.0), p2: (428.0, 356.0) })/Line(Line { p0: (428.0, 356.0), p1: (432.0, 163.0) }) = 1.1873073157289764 degrees
  • dv_Yy.half: Quad(QuadBez { p0: (397.0, 306.0), p1: (428.0, 327.0), p2: (428.0, 356.0) })/Line(Line { p0: (428.0, 356.0), p1: (432.0, 163.0) }) = 1.1873073157289764 degrees
  • dv_ThR.half: Quad(QuadBez { p0: (482.0, 306.0), p1: (513.0, 327.0), p2: (513.0, 356.0) })/Line(Line { p0: (513.0, 356.0), p1: (520.0, 163.0) }) = 2.0771747651629053 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:
  • Turkishlira (U+20BA): Line(Line { p0: (466.0, 361.0), p1: (654.0, 360.0) }) (angle: -0.30 degrees, expected: 0.00 degrees)
  • dv_Ga (U+0917): Line(Line { p0: (327.0, 537.0), p1: (326.0, 198.0) }) (angle: -90.17 degrees, expected: -90.00 degrees)
  • dv_Ghha (U+095A): Line(Line { p0: (327.0, 537.0), p1: (326.0, 198.0) }) (angle: -90.17 degrees, expected: -90.00 degrees)
  • dv_Gga (U+097B): Line(Line { p0: (327.0, 537.0), p1: (326.0, 198.0) }) (angle: -90.17 degrees, expected: -90.00 degrees)
  • dv_GDhYa: Line(Line { p0: (327.0, 537.0), p1: (326.0, 198.0) }) (angle: -90.17 degrees, expected: -90.00 degrees)
  • dv_GDhVa: Line(Line { p0: (327.0, 537.0), p1: (326.0, 198.0) }) (angle: -90.17 degrees, expected: -90.00 degrees)
  • dv_GBhYa: Line(Line { p0: (327.0, 537.0), p1: (326.0, 198.0) }) (angle: -90.17 degrees, expected: -90.00 degrees)
  • dv_GNa: Line(Line { p0: (327.0, 537.0), p1: (326.0, 257.0) }) (angle: -90.20 degrees, expected: -90.00 degrees)
  • dv_JGa: Line(Line { p0: (809.0, 537.0), p1: (808.0, 165.0) }) (angle: -90.15 degrees, expected: -90.00 degrees)
    ... and 3 others [code: found-semi-vertical]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID 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 "Palanquin Dark" 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:
PalanquinDark-Bold.ttf
Dehinted Size 298408
Hinted Size 511480
Increase 213072
Change 71.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    hdmx
    LTSH
    VDMX [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]
[1] ofl/palanquindark/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2014 pria ravichandran (pria.ravichandran@gmail.com)"

which does not match the expected format, similar to:

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

[10] ofl/palanquindark
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 524, but got 491 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 524, but got 491 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 524, but got 491 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 524, but got 491 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 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 PalanquinDark-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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL PalanquinDark-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 2014 pria ravichandran (pria.ravichandran@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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL PalanquinDark-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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL PalanquinDark-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 2014 pria ravichandran (pria.ravichandran@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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL PalanquinDark-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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

  • 🔥 FAIL PalanquinDark-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 2014 pria ravichandran (pria.ravichandran@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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright 2014 pria ravichandran (pria.ravichandran@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 2014 pria ravichandran (pria.ravichandran@gmail.com)" [code: bad-notice-format]

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

  • ⚠️ WARN METADATA.pb family name field "Palanquin Dark" does not match correct family name "Palanquin Dark SemiBold". 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/palanquindark/PalanquinDark-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: yi, canadian-aboriginal
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • 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
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
    ... and 12 others

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

  • ⚠️ WARN ofl/palanquindark/PalanquinDark-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: 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+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • 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
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
    ... and 12 others

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

  • ⚠️ WARN ofl/palanquindark/PalanquinDark-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: yi, canadian-aboriginal
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • 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
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
    ... and 12 others

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

  • ⚠️ WARN ofl/palanquindark/PalanquinDark-SemiBold.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: 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+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • 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
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
    ... and 12 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ 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.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]
[30] ofl/palanquindark/PalanquinDark-Regular.ttf
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoAscender (770) and hhea ascent (1320) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-230) and hhea descent (-491) must be equal. [code: descender]

🔥 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * ro_Latn (Romanian)
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: * 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: * 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: * lv_Latn (Latvian)
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: * cy_Latn (Welsh)
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: * 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: * sk_Latn (Slovak)
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: * 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: * 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: * 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: * 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: ̃, ̈, ̊, ̌
  • ⚠️ 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: * 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: * 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: * 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: * 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
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: * 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: * 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: * 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: ʻ
🔥 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:
  • dv_CandrabinduInverted
  • dv_Candrabindu
  • dv_Anusvara
  • dv_MatraOe
  • dv_Nukta
  • dv_MatraU
  • dv_MatraUu
  • dv_MatraVocalicR
  • dv_MatraVocalicRr
    ... and 12 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.0010071 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 770 when it should be 1320 [code: bad-typo-ascender]

  • 🔥 FAIL OS/2 sTypoDescender is -230 when it should be -491 [code: bad-typo-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+0976 (dv_Ue)
  • U+0977 (dv_Uue)
  • U+0971 (dv_Highspacedot) [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:
  • dv_Ue
  • dv_Uue
  • dv_Highspacedot [code: spacing-mark-glyphs]
⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 356 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=450: minus
    width=511: logicalnot
    width=452: plusminus
    width=481: divide
    width=344: less, greater
    width=498: notequal, equal
    width=509: plus
    width=551: multiply
    width=514: 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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 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 903, but got 770 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:
  • grave.case
  • dieresis.case
  • macron.case
  • acute.case
  • circumflex.case
  • caron.case
  • breve.case
  • dotaccent.case
  • ring.case
    ... and 7 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:
  • dv_GNa: from (175.0, 82.0) to (178.0, 84.0) is colinear with segment from (178.0, 84.0) to (458.0, 274.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dv_Tha (U+0925): Quad(QuadBez { p0: (199.0, 430.0), p1: (237.0, 453.0), p2: (237.0, 507.0) })/Quad(QuadBez { p0: (237.0, 507.0), p1: (233.0, 491.0), p2: (210.5, 479.5) }) = 14.036243467926484 degrees
  • dv_ThRa: Quad(QuadBez { p0: (199.0, 430.0), p1: (237.0, 453.0), p2: (237.0, 507.0) })/Quad(QuadBez { p0: (237.0, 507.0), p1: (233.0, 491.0), p2: (210.5, 479.5) }) = 14.036243467926484 degrees
  • dv_NThYa: Quad(QuadBez { p0: (497.0, 435.0), p1: (528.0, 458.0), p2: (528.0, 507.0) })/Quad(QuadBez { p0: (528.0, 507.0), p1: (525.0, 491.0), p2: (502.5, 479.5) }) = 10.619655276155106 degrees
  • dv_NThVa: Quad(QuadBez { p0: (497.0, 435.0), p1: (528.0, 458.0), p2: (528.0, 507.0) })/Quad(QuadBez { p0: (528.0, 507.0), p1: (525.0, 491.0), p2: (502.5, 479.5) }) = 10.619655276155106 degrees
  • dv_LThYa: Quad(QuadBez { p0: (730.5, 445.0), p1: (752.0, 467.0), p2: (752.0, 507.0) })/Quad(QuadBez { p0: (752.0, 507.0), p1: (749.0, 491.0), p2: (726.5, 479.5) }) = 10.61965527615514 degrees
  • dv_SThYa: Quad(QuadBez { p0: (671.5, 430.0), p1: (710.0, 453.0), p2: (710.0, 507.0) })/Quad(QuadBez { p0: (710.0, 507.0), p1: (706.0, 491.0), p2: (684.0, 479.5) }) = 14.036243467926484 degrees
  • dv_KTha: Quad(QuadBez { p0: (834.5, 447.0), p1: (855.0, 469.0), p2: (855.0, 507.0) })/Quad(QuadBez { p0: (855.0, 507.0), p1: (851.0, 491.0), p2: (828.5, 479.5) }) = 14.036243467926457 degrees
  • dv_GhTha: Quad(QuadBez { p0: (573.5, 430.5), p1: (611.0, 453.0), p2: (611.0, 507.0) })/Quad(QuadBez { p0: (611.0, 507.0), p1: (608.0, 491.0), p2: (585.5, 479.5) }) = 10.61965527615514 degrees
  • dv_CTha: Quad(QuadBez { p0: (584.0, 430.5), p1: (622.0, 453.0), p2: (622.0, 507.0) })/Quad(QuadBez { p0: (622.0, 507.0), p1: (618.0, 491.0), p2: (595.5, 479.5) }) = 14.036243467926484 degrees
    ... and 36 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:
  • Eth (U+00D0): Line(Line { p0: (339.0, -1.0), p1: (90.0, 0.0) }) (angle: 179.77 degrees, expected: 180.00 degrees)
  • Dcroat (U+0110): Line(Line { p0: (339.0, -1.0), p1: (90.0, 0.0) }) (angle: 179.77 degrees, expected: 180.00 degrees)
  • Dcaron (U+010E): Line(Line { p0: (332.0, -1.0), p1: (84.0, 0.0) }) (angle: 179.77 degrees, expected: 180.00 degrees)
  • dv_KTha: Line(Line { p0: (1094.0, 0.0), p1: (1093.0, 179.0) }) (angle: 90.32 degrees, expected: 90.00 degrees)
  • dv_GhTha: Line(Line { p0: (850.0, 0.0), p1: (849.0, 179.0) }) (angle: 90.32 degrees, expected: 90.00 degrees)
  • dv_TTha: Line(Line { p0: (766.0, 0.0), p1: (765.0, 179.0) }) (angle: 90.32 degrees, expected: 90.00 degrees)
  • dv_DhTha: Line(Line { p0: (845.0, 0.0), p1: (844.0, 179.0) }) (angle: 90.32 degrees, expected: 90.00 degrees)
  • dv_PTha: Line(Line { p0: (814.0, 0.0), p1: (813.0, 179.0) }) (angle: 90.32 degrees, expected: 90.00 degrees)
  • dv_PhTha: Line(Line { p0: (1160.0, 0.0), p1: (1159.0, 179.0) }) (angle: 90.32 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 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 "Palanquin Dark" 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:
PalanquinDark-Regular.ttf
Dehinted Size 299020
Hinted Size 500136
Increase 201116
Change 67.3 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    hdmx
    LTSH
    VDMX [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]
[1] ofl/palanquindark/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/palanquindark/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/palanquindark/PalanquinDark-Medium.ttf
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoAscender (770) and hhea ascent (1320) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-230) and hhea descent (-491) must be equal. [code: descender]

🔥 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * pl_Latn (Polish)
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 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: * fr_Latn (French)
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: * ca_Latn (Catalan)
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: * pt_Latn (Portuguese)
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: * 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: * en_Latn (English)
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: * 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: * 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: * nb_Latn (Norwegian Bokmål)
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: ̊, ̌, ̃, ̈
  • ⚠️ 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: * 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: * 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: * 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: * 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: * 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: * 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:
  • dv_CandrabinduInverted
  • dv_Candrabindu
  • dv_Anusvara
  • dv_MatraOe
  • dv_Nukta
  • dv_MatraU
  • dv_MatraUu
  • dv_MatraVocalicR
  • dv_MatraVocalicRr
    ... and 12 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.0010071 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+0976 (dv_Ue)
  • U+0977 (dv_Uue)
  • U+0971 (dv_Highspacedot) [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:
  • dv_Ue
  • dv_Uue
  • dv_Highspacedot [code: spacing-mark-glyphs]
⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 366 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=476: plusminus
    width=506: equal
    width=527: plus
    width=563: multiply
    width=516: notequal
    width=485: divide
    width=459: minus
    width=357: less, greater
    width=519: logicalnot
    width=524: 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 Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 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 913, but got 770 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:
  • grave.case
  • dieresis.case
  • macron.case
  • acute.case
  • circumflex.case
  • caron.case
  • breve.case
  • dotaccent.case
  • ring.case
    ... and 7 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 outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dv_Gh.half: Quad(QuadBez { p0: (424.0, 242.0), p1: (478.0, 290.0), p2: (482.0, 380.0) })/Line(Line { p0: (482.0, 380.0), p1: (482.0, 124.0) }) = 2.544804379813189 degrees
  • dv_C.half: Quad(QuadBez { p0: (446.5, 210.0), p1: (484.0, 228.0), p2: (491.0, 257.0) })/Line(Line { p0: (491.0, 257.0), p1: (491.0, 86.0) }) = 13.570434385161475 degrees
  • dv_Th.half: Quad(QuadBez { p0: (451.0, 299.0), p1: (486.0, 324.0), p2: (488.0, 364.0) })/Line(Line { p0: (488.0, 364.0), p1: (488.0, 173.0) }) = 2.862405226111779 degrees
  • dv_Dh.half: Quad(QuadBez { p0: (447.0, 241.5), p1: (510.0, 294.0), p2: (514.0, 384.0) })/Line(Line { p0: (514.0, 384.0), p1: (514.0, 124.0) }) = 2.544804379813189 degrees
  • dv_P.half: Quad(QuadBez { p0: (410.0, 292.0), p1: (441.0, 317.0), p2: (445.0, 354.0) })/Line(Line { p0: (445.0, 354.0), p1: (445.0, 167.0) }) = 6.170175095029644 degrees
  • dv_Y.half: Quad(QuadBez { p0: (389.5, 299.0), p1: (425.0, 324.0), p2: (426.0, 365.0) })/Quad(QuadBez { p0: (426.0, 365.0), p1: (426.0, 317.0), p2: (426.5, 269.0) }) = 1.3971810272963687 degrees
  • dv_L.half: Line(Line { p0: (617.0, 482.0), p1: (617.0, 292.0) })/Quad(QuadBez { p0: (617.0, 292.0), p1: (614.0, 326.0), p2: (595.5, 347.5) }) = 5.042451069170885 degrees
  • dv_Yy.half: Quad(QuadBez { p0: (389.5, 299.0), p1: (425.0, 324.0), p2: (426.0, 365.0) })/Quad(QuadBez { p0: (426.0, 365.0), p1: (426.0, 317.0), p2: (426.5, 269.0) }) = 1.3971810272963687 degrees
  • dv_ThR.half: Quad(QuadBez { p0: (448.5, 297.0), p1: (483.0, 320.0), p2: (487.0, 357.0) })/Quad(QuadBez { p0: (487.0, 357.0), p1: (487.0, 311.0), p2: (487.5, 264.0) }) = 6.170175095029644 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:
  • dv_MatraAi (U+0948): Line(Line { p0: (-113.0, 675.0), p1: (-244.0, 674.0) }) (angle: -179.56 degrees, expected: -180.00 degrees)
  • dv_MatraAiReph: Line(Line { p0: (-110.0, 675.0), p1: (-240.0, 674.0) }) (angle: -179.56 degrees, expected: -180.00 degrees)
  • dv_PhJha: Line(Line { p0: (718.0, 485.0), p1: (849.0, 486.0) }) (angle: 0.44 degrees, expected: 0.00 degrees)
  • dv_MatraAiAnusvara: Line(Line { p0: (-116.0, 675.0), p1: (-247.0, 674.0) }) (angle: -179.56 degrees, expected: -180.00 degrees)
  • dv_MatraAiCandraBindu: Line(Line { p0: (-116.0, 675.0), p1: (-247.0, 674.0) }) (angle: -179.56 degrees, expected: -180.00 degrees)
  • dv_MatraAiRephAnusvara: Line(Line { p0: (-113.0, 675.0), p1: (-244.0, 674.0) }) (angle: -179.56 degrees, expected: -180.00 degrees)
  • dv_MatraAiRephCandraBindu: Line(Line { p0: (-117.0, 675.0), p1: (-248.0, 674.0) }) (angle: -179.56 degrees, expected: -180.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 '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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
PalanquinDark-Medium.ttf
Dehinted Size 306468
Hinted Size 513060
Increase 206592
Change 67.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    hdmx
    LTSH
    VDMX [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]
[27] ofl/palanquindark/PalanquinDark-SemiBold.ttf
🔥 FAIL Checking OS/2 Metrics match hhea Metrics. (os2_metrics_match_hhea)
  • 🔥 FAIL OS/2 sTypoAscender (770) and hhea ascent (1320) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-230) and hhea descent (-491) must be equal. [code: descender]

🔥 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * 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: * 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: * nb_Latn (Norwegian Bokmål)
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 base characters are missing from the font: ẁ, Ẃ, ẅ, Ŵ, ŵ, Ẁ, ŷ, Ŷ, Ỳ, ỳ, ẃ, Ẅ
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: * 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: * 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: * 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: * sk_Latn (Slovak)
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: * it_Latn (Italian)
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: * hu_Latn (Hungarian)
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: * 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: ǯ
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: * 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: * 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: * 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: ŭ
🔥 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:
  • dv_CandrabinduInverted
  • dv_Candrabindu
  • dv_Anusvara
  • dv_MatraOe
  • dv_Nukta
  • dv_MatraU
  • dv_MatraUu
  • dv_MatraVocalicR
  • dv_MatraVocalicRr
    ... and 12 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.0010071 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+0976 (dv_Ue)
  • U+0977 (dv_Uue)
  • U+0971 (dv_Highspacedot) [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:
  • dv_Ue
  • dv_Uue
  • dv_Highspacedot [code: spacing-mark-glyphs]
⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 534 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=376: greaterequal, lessequal
    width=500: plusminus
    width=545: plus
    width=526: logicalnot
    width=488: divide
    width=369: less, greater
    width=467: minus
    width=575: multiply
    width=514: equal [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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 922, but got 770 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:
  • grave.case
  • dieresis.case
  • macron.case
  • acute.case
  • circumflex.case
  • caron.case
  • breve.case
  • dotaccent.case
  • ring.case
    ... and 7 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 outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • dv_BDhVa: Quad(QuadBez { p0: (392.0, 438.5), p1: (436.0, 418.0), p2: (466.0, 396.0) })/Quad(QuadBez { p0: (466.0, 396.0), p1: (447.0, 416.0), p2: (434.0, 452.5) }) = 10.214962976941045 degrees
  • dv_Gh.half: Quad(QuadBez { p0: (429.5, 238.5), p1: (483.0, 281.0), p2: (487.0, 362.0) })/Line(Line { p0: (487.0, 362.0), p1: (487.0, 109.0) }) = 2.8271245781612855 degrees
  • dv_Th.half: Quad(QuadBez { p0: (466.0, 302.5), p1: (499.0, 326.0), p2: (500.0, 360.0) })/Quad(QuadBez { p0: (500.0, 360.0), p1: (501.0, 312.0), p2: (501.5, 264.0) }) = 2.878173741878384 degrees
  • dv_Dh.half: Quad(QuadBez { p0: (439.0, 239.5), p1: (501.0, 288.0), p2: (505.0, 369.0) })/Line(Line { p0: (505.0, 369.0), p1: (505.0, 109.0) }) = 2.8271245781612855 degrees
  • dv_P.half: Quad(QuadBez { p0: (416.0, 288.5), p1: (444.0, 311.0), p2: (451.0, 340.0) })/Line(Line { p0: (451.0, 340.0), p1: (451.0, 155.0) }) = 13.570434385161501 degrees
  • dv_L.half: Line(Line { p0: (618.0, 479.0), p1: (618.0, 289.0) })/Quad(QuadBez { p0: (618.0, 289.0), p1: (614.0, 317.0), p2: (597.5, 334.5) }) = 8.13010235415596 degrees
  • dv_ThR.half: Quad(QuadBez { p0: (465.0, 301.0), p1: (498.0, 323.0), p2: (500.0, 356.0) })/Quad(QuadBez { p0: (500.0, 356.0), p1: (500.0, 309.0), p2: (501.0, 261.5) }) = 3.4682292589172015 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:
  • dv_GhR.half: Line(Line { p0: (506.0, 298.0), p1: (507.0, 125.0) }) (angle: -89.67 degrees, expected: -90.00 degrees)
  • dv_DhR.half: Line(Line { p0: (524.0, 298.0), p1: (525.0, 125.0) }) (angle: -89.67 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 '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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
PalanquinDark-SemiBold.ttf
Dehinted Size 307872
Hinted Size 522336
Increase 214464
Change 69.7 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    hdmx
    LTSH
    VDMX [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]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
52 119 23 335 241
8% 17% 3% 49% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright (c) 2015, cadson demak (info@cadsondemak.com), copyright (c) 2010, pablo impallari (www.impallari.com|impallari@gmail.com), copyright (c) 2010, 2011, alexei vanyashin (www.cyreal.org|a@cyreal.org), with reserved font name lobster.
"

which does not match the expected format, similar to:

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

[27] ofl/pattaya/Pattaya-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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 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: * 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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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: * 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: ſ
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: * fr_Latn (French)
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 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 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 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:

  • uni1E0C (U+1E0C): found 2, expected one of: [3]
  • Ohorn (U+01A0): found 1, expected one of: [2, 3, 6]
  • uni1EDA (U+1EDA): found 2, expected one of: [3, 4, 7]
  • uni1EE2 (U+1EE2): found 2, expected one of: [3, 4, 7]
  • uni1EDC (U+1EDC): found 2, expected one of: [3, 4, 7]
  • uni1E92 (U+1E92): found 3, expected one of: [2, 4]
  • uni1E61 (U+1E61): found 3, expected one of: [2, 4]
  • uni1E63 (U+1E63): found 3, expected one of: [2, 4]
  • nine.denominator (unencoded): found 1, expected one of: [2]
    ... and 3 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 829 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=733: less
    width=903: approxequal
    width=1024: notequal
    width=981: plusminus
    width=909: logicalnot
    width=965: minus
    width=1055: equal
    width=850: divide
    width=905: plus
    width=741: greater
    width=848: multiply [code: width-outliers]
⚠️ WARN Name table records must not have trailing spaces. (name/trailing_spaces)
  • ⚠️ WARN Name table record 1/0/0/DESIGNER_URL has double spaces:
    www.impallari.com www.katatrad.com [code: double-spaces]

  • ⚠️ WARN Name table record 3/1/1033/DESIGNER_URL has double spaces:
    www.impallari.com www.katatrad.com [code: double-spaces]

⚠️ 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:
  • A.salt
  • B.salt
  • E.salt
  • N.salt
  • a.end
  • aacute.end
  • c.end
  • d.end
  • e.end
    ... and 232 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 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 (Lobster) that differs from the currently used family name (Pattaya), which is fine. [code: legacy-familyname]

  • ⚠️ WARN Name table entry contains "Reserved Font Name" for a family name (Lobster) that differs from the currently used family name (Pattaya), 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 34 others [code: soft-dotted]

⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • a (U+0061): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • aacute (U+00E1): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • abreve (U+0103): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • uni1EAF (U+1EAF): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • uni1EB7 (U+1EB7): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • uni1EB1 (U+1EB1): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • uni1EB3 (U+1EB3): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • uni1EB5 (U+1EB5): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
  • uni01CE (U+01CE): Line(Line { p0: (666.0, 930.0), p1: (666.0, 915.0) })/Line(Line { p0: (666.0, 915.0), p1: (688.0, 1024.0) }) = 11.410983126765371 degrees
    ... and 70 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: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • uni01F4 (U+01F4): Line(Line { p0: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • Gbreve (U+011E): Line(Line { p0: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • Gcaron (U+01E6): Line(Line { p0: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • Gcircumflex (U+011C): Line(Line { p0: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • Gdotaccent (U+0120): Line(Line { p0: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • uni1E20 (U+1E20): Line(Line { p0: (876.0, 858.0), p1: (1118.0, 856.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • uni20A9 (U+20A9): Line(Line { p0: (575.0, 1540.0), p1: (581.0, 831.0) }) (angle: -89.52 degrees, expected: -90.00 degrees)
  • uni20A9 (U+20A9): Line(Line { p0: (582.0, 729.0), p1: (583.0, 596.0) }) (angle: -89.57 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 Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value ' ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pattaya-Regular.ttf
Dehinted Size 283352
Hinted Size 420092
Increase 136740
Change 48.3 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 2.001, Version 2.001 [code: version-not-detected]
[8] ofl/pattaya
🔥 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, latin-ext, latin, thai, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Pattaya-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, cadson demak (info@cadsondemak.com), copyright (c) 2010, pablo impallari (www.impallari.com|impallari@gmail.com), copyright (c) 2010, 2011, alexei vanyashin (www.cyreal.org|a@cyreal.org), with reserved font name lobster." [code: bad-notice-format]

  • 🔥 FAIL Pattaya-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, cadson demak (info@cadsondemak.com), copyright (c) 2010, pablo impallari (www.impallari.com|impallari@gmail.com), copyright (c) 2010, 2011, alexei vanyashin (www.cyreal.org|a@cyreal.org), with reserved font name lobster." [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, cadson demak (info@cadsondemak.com), copyright (c) 2010, pablo impallari (www.impallari.com|impallari@gmail.com), copyright (c) 2010, 2011, alexei vanyashin (www.cyreal.org|a@cyreal.org), with reserved font name lobster." [code: bad-notice-format]

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

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

⚠️ WARN Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. (googlefonts/metadata/reserved_font_name)
⚠️ 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/pattaya/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/pattaya/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
10 34 9 114 66
5% 16% 4% 53% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[2] ofl/pridi/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)
[11] ofl/pridi
🔥 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 'Pridi' has 6 fonts, which is more than the maximum of 4 [code: too-many]
🔥 FAIL Each font in a family must have the same set of vertical metrics values. (family/vertical_metrics)
  • 🔥 FAIL usWinAscent is not the same across the family:
  • Pridi-Bold.ttf: 1100
  • Pridi-ExtraLight.ttf: 1150
  • Pridi-SemiBold.ttf: 1100
  • Pridi-Regular.ttf: 1100
  • Pridi-Medium.ttf: 1100
  • Pridi-Light.ttf: 1100 [code: usWinAscent-mismatch]
  • 🔥 FAIL ascent is not the same across the family:
  • Pridi-Bold.ttf: 1100
  • Pridi-ExtraLight.ttf: 1150
  • Pridi-SemiBold.ttf: 1100
  • Pridi-Regular.ttf: 1100
  • Pridi-Medium.ttf: 1100
  • Pridi-Light.ttf: 1100 [code: ascent-mismatch]
🔥 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, thai, vietnamese:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Pridi-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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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:

"copyright (c) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

  • 🔥 FAIL Pridi-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) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2015, cadson demak (info@cadsondemak.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, cadson demak (info@cadsondemak.com)" [code: bad-notice-format]

⚠️ WARN Make sure all font files have the same version value. (opentype/family/equal_font_versions)
  • ⚠️ WARN Version info differs among font files of the same font project.

The following values were found:

  • 1.001: ofl/pridi/Pridi-Bold.ttf
  • 1.001: ofl/pridi/Pridi-ExtraLight.ttf
  • 1.001: ofl/pridi/Pridi-SemiBold.ttf
  • 1.001: ofl/pridi/Pridi-Regular.ttf
  • 1.001: ofl/pridi/Pridi-Medium.ttf
  • 1.003: ofl/pridi/Pridi-Light.ttf [code: mismatch]
⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Pridi" does not match correct family name "Pridi ExtraLight". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

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

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

  • ⚠️ WARN METADATA.pb family name field "Pridi" does not match correct family name "Pridi SemiBold". 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/pridi/Pridi-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+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, coptic, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: canadian-aboriginal, duployan, old-permic, math, tifinagh, hebrew, coptic, malayalam, syriac, todhri, tai-le
  • 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 70 others

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

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

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

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

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

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

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

  • ⚠️ WARN ofl/pridi/Pridi-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: 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, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: canadian-aboriginal, duployan, old-permic, math, tifinagh, hebrew, coptic, malayalam, syriac, todhri, tai-le
  • 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 70 others

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

  • ⚠️ WARN ofl/pridi/Pridi-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: 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, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: canadian-aboriginal, duployan, old-permic, math, tifinagh, hebrew, coptic, malayalam, syriac, todhri, tai-le
  • 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 70 others

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ℹ️ 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/pridi/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[30] ofl/pridi/Pridi-SemiBold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1100) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-450) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

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

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

  • uni0E04 (U+0E04): found 3, expected one of: [1, 2]
  • uni0E05 (U+0E05): found 3, expected one of: [1, 2]
  • uni0E14 (U+0E14): found 3, expected one of: [1, 2]
  • uni0E15 (U+0E15): found 3, expected one of: [1, 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 413 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=621: less, greater
    width=383: multiply
    width=399: approxequal
    width=613: greaterequal, lessequal
    width=499: logicalnot
    width=428: equal, 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 879, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • five (U+0035): from (53.0, 339.0) to (53.0, 408.0) is colinear with segment from (53.0, 408.0) to (73.0, 647.0)
  • fiveeighths (U+215D): from (41.0, 495.0) to (41.0, 545.0) is colinear with segment from (41.0, 545.0) to (52.0, 657.0)
  • uni2085 (U+2085): from (41.0, 9.0) to (41.0, 59.0) is colinear with segment from (41.0, 59.0) to (52.0, 174.0)
  • uni2075 (U+2075): from (41.0, 495.0) to (41.0, 545.0) is colinear with segment from (41.0, 545.0) to (52.0, 657.0)
  • colonmonetary (U+20A1): from (323.0, 661.0) to (349.0, 662.0) is colinear with segment from (349.0, 662.0) to (363.0, 662.0)
  • ampersand (U+0026): from (291.0, 408.0) to (309.0, 389.0) is colinear with segment from (309.0, 389.0) to (449.0, 242.0)
  • daggerdbl (U+2021): from (219.0, 299.0) to (217.0, 393.0) is colinear with segment from (217.0, 393.0) to (219.0, 484.0)
  • daggerdbl (U+2021): from (369.0, 484.0) to (371.0, 393.0) is colinear with segment from (371.0, 393.0) to (369.0, 299.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • s (U+0073): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • sacute (U+015B): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • scaron (U+0161): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • scedilla (U+015F): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • scircumflex (U+015D): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • scommaaccent (U+0219): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • uni1E61 (U+1E61): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • uni1E63 (U+1E63): Quad(QuadBez { p0: (283.5, 153.0), p1: (270.0, 163.0), p2: (228.0, 180.0) })/Quad(QuadBez { p0: (228.0, 180.0), p1: (232.0, 178.0), p2: (174.0, 203.0) }) = 4.528824236932531 degrees
  • uni0E14 (U+0E14): Line(Line { p0: (409.0, 0.0), p1: (409.0, 204.0) })/Quad(QuadBez { p0: (409.0, 204.0), p1: (405.0, 181.0), p2: (393.0, 164.0) }) = 9.865806943084365 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:
  • uni0E0D (U+0E0D): Line(Line { p0: (848.0, 529.0), p1: (849.0, 236.0) }) (angle: -89.80 degrees, expected: -90.00 degrees)
  • yoYingthai.less: Line(Line { p0: (848.0, 529.0), p1: (849.0, 181.0) }) (angle: -89.84 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pridi-SemiBold.ttf
Dehinted Size 120332
Hinted Size 220084
Increase 99752
Change 82.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 1.001, Version 1.001 [code: version-not-detected]
[29] ofl/pridi/Pridi-Regular.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1100) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-450) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ 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 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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

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

🔥 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]
🔥 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 1100 [code: bad-typo-ascender]

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

⚠️ 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 11 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 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 412 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=624: greater, less
    width=505: logicalnot
    width=367: multiply
    width=410: notequal, equal
    width=395: approxequal
    width=620: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 880, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • five (U+0035): from (66.0, 356.0) to (66.0, 411.0) is colinear with segment from (66.0, 411.0) to (86.0, 647.0)
  • uni2085 (U+2085): from (53.0, 20.0) to (53.0, 62.0) is colinear with segment from (53.0, 62.0) to (63.0, 174.0)
  • colonmonetary (U+20A1): from (320.0, 662.0) to (321.0, 662.0) is colinear with segment from (321.0, 662.0) to (356.0, 661.0)
  • Euro (U+20AC): from (203.0, 355.0) to (203.0, 320.0) is colinear with segment from (203.0, 320.0) to (203.0, 288.0)
  • uni20B1 (U+20B1): from (588.0, 470.0) to (589.0, 448.0) is colinear with segment from (589.0, 448.0) to (588.0, 423.0)
  • ampersand (U+0026): from (260.0, 402.0) to (290.0, 370.0) is colinear with segment from (290.0, 370.0) to (464.0, 186.0)
  • registered (U+00AE): from (259.0, 220.0) to (259.0, 273.0) is colinear with segment from (259.0, 273.0) to (259.0, 470.0)
  • daggerdbl (U+2021): from (241.0, 278.0) to (238.0, 393.0) is colinear with segment from (238.0, 393.0) to (241.0, 506.0)
  • daggerdbl (U+2021): from (337.0, 506.0) to (340.0, 393.0) is colinear with segment from (340.0, 393.0) to (337.0, 278.0) [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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pridi-Regular.ttf
Dehinted Size 143452
Hinted Size 222368
Increase 78916
Change 55.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.001, Version 1.001 [code: version-not-detected]
[27] ofl/pridi/Pridi-Light.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1100) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-450) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ 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 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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

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

🔥 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+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 11 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 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 411 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=626: less, greater
    width=393: approxequal
    width=508: logicalnot
    width=400: notequal, equal
    width=358: multiply
    width=624: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 880, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • five (U+0035): from (72.0, 364.0) to (72.0, 412.0) is colinear with segment from (72.0, 412.0) to (92.0, 647.0)
  • fiveeighths (U+215D): from (58.0, 512.0) to (58.0, 550.0) is colinear with segment from (58.0, 550.0) to (68.0, 657.0)
  • uni2085 (U+2085): from (59.0, 26.0) to (59.0, 64.0) is colinear with segment from (59.0, 64.0) to (69.0, 175.0)
  • uni2075 (U+2075): from (58.0, 512.0) to (58.0, 550.0) is colinear with segment from (58.0, 550.0) to (68.0, 657.0)
  • colonmonetary (U+20A1): from (303.0, 661.0) to (319.0, 662.0) is colinear with segment from (319.0, 662.0) to (356.0, 661.0)
  • daggerdbl (U+2021): from (252.0, 267.0) to (248.0, 393.0) is colinear with segment from (248.0, 393.0) to (252.0, 517.0)
  • daggerdbl (U+2021): from (320.0, 517.0) to (324.0, 393.0) is colinear with segment from (324.0, 393.0) to (320.0, 267.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:
  • uni0E5A (U+0E5A): Line(Line { p0: (586.0, 0.0), p1: (585.0, 341.0) }) (angle: 90.17 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pridi-Light.ttf
Dehinted Size 142852
Hinted Size 211748
Increase 68896
Change 48.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.003, Version 1.003 [code: version-not-detected]
[28] ofl/pridi/Pridi-ExtraLight.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1150) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-450) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

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

🔥 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 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 11 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 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 628 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=411: minus, plus, divide, plusminus
    width=511: logicalnot
    width=350: multiply
    width=391: equal, notequal, approxequal [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 881, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • five (U+0035): from (79.0, 373.0) to (79.0, 414.0) is colinear with segment from (79.0, 414.0) to (99.0, 647.0)
  • fiveeighths (U+215D): from (64.0, 518.0) to (64.0, 552.0) is colinear with segment from (64.0, 552.0) to (74.0, 657.0)
  • uni2085 (U+2085): from (65.0, 32.0) to (65.0, 66.0) is colinear with segment from (65.0, 66.0) to (75.0, 176.0)
  • uni2075 (U+2075): from (64.0, 518.0) to (64.0, 552.0) is colinear with segment from (64.0, 552.0) to (74.0, 657.0)
  • uni20B9 (U+20B9): from (55.0, 647.0) to (207.0, 647.0) is colinear with segment from (207.0, 647.0) to (453.0, 647.0)
  • ampersand (U+0026): from (226.0, 398.0) to (240.0, 383.0) is colinear with segment from (240.0, 383.0) to (480.0, 129.0)
  • daggerdbl (U+2021): from (263.0, 256.0) to (259.0, 393.0) is colinear with segment from (259.0, 393.0) to (263.0, 528.0)
  • daggerdbl (U+2021): from (304.0, 528.0) to (308.0, 393.0) is colinear with segment from (308.0, 393.0) to (304.0, 256.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:
  • uni0E24.short: Line(Line { p0: (479.0, 367.0), p1: (480.0, -126.0) }) (angle: -89.88 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pridi-ExtraLight.ttf
Dehinted Size 122204
Hinted Size 188316
Increase 66112
Change 54.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.001, Version 1.001 [code: version-not-detected]
[30] ofl/pridi/Pridi-Bold.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1100) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-450) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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 Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

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

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

  • uni0E04 (U+0E04): found 3, expected one of: [1, 2]
  • uni0E05 (U+0E05): found 3, expected one of: [1, 2]
  • uni0E14 (U+0E14): found 3, expected one of: [1, 2]
  • uni0E15 (U+0E15): found 3, expected one of: [1, 2]
  • uni0E12 (U+0E12): found 4, expected one of: [1, 2, 3] [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN 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 414 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=619: greater, less
    width=438: equal, notequal
    width=495: logicalnot
    width=392: multiply
    width=401: approxequal
    width=609: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 879, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • uni0E12 (U+0E12): from (362.0, 111.0) to (350.0, 99.0) is colinear with segment from (350.0, 99.0) to (246.0, 0.0)
  • five (U+0035): from (46.0, 330.0) to (46.0, 406.0) is colinear with segment from (46.0, 406.0) to (66.0, 647.0)
  • fiveeighths (U+215D): from (35.0, 489.0) to (35.0, 543.0) is colinear with segment from (35.0, 543.0) to (46.0, 657.0)
  • uni2085 (U+2085): from (35.0, 3.0) to (35.0, 57.0) is colinear with segment from (35.0, 57.0) to (46.0, 171.0)
  • uni2075 (U+2075): from (35.0, 489.0) to (35.0, 543.0) is colinear with segment from (35.0, 543.0) to (46.0, 657.0)
  • uni0E5B (U+0E5B): from (930.0, 177.0) to (930.0, 255.0) is colinear with segment from (930.0, 255.0) to (930.0, 262.0)
  • uni20B9 (U+20B9): from (25.0, 654.0) to (234.0, 654.0) is colinear with segment from (234.0, 654.0) to (521.0, 654.0)
  • daggerdbl (U+2021): from (208.0, 310.0) to (206.0, 394.0) is colinear with segment from (206.0, 394.0) to (208.0, 473.0)
  • daggerdbl (U+2021): from (386.0, 473.0) to (388.0, 394.0) is colinear with segment from (388.0, 394.0) to (386.0, 310.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:
  • uni0E0D (U+0E0D): Line(Line { p0: (862.0, 529.0), p1: (863.0, 235.0) }) (angle: -89.81 degrees, expected: -90.00 degrees)
  • yoYingthai.less: Line(Line { p0: (862.0, 529.0), p1: (863.0, 177.0) }) (angle: -89.84 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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pridi-Bold.ttf
Dehinted Size 119408
Hinted Size 212956
Increase 93548
Change 78.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, Version 1.001 [code: version-not-detected]
[1] ofl/pridi/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2015, cadson demak (info@cadsondemak.com)
"

which does not match the expected format, similar to:

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

[27] ofl/pridi/Pridi-Medium.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uni02CB (Some(715))
  • uni02BF (Some(703))
  • uni02BE (Some(702))
  • uni02CA (Some(714))
  • uni02CC (Some(716))
  • uni02C8 (Some(712)) [code: zero-width-bases]
🔥 FAIL 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 sTypoAscender (750) and hhea ascent (1100) must be equal. [code: ascender]

  • 🔥 FAIL OS/2 sTypoDescender (-250) and hhea descent (-450) must be equal. [code: descender]

  • 🔥 FAIL OS/2 sTypoLineGap (200) 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to J when shaping the text 'ÍJ́'
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ * fr_Latn (French)
Auxiliary orthography codepoints: * 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 dotlessi when shaping the text 'i̇́'
Shaper didn't attach acutecomb to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̀'
Shaper didn't attach gravecomb to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to dotlessi 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 uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 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: * 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: ǯ
🔥 FAIL Name table entries should not contain line-breaks. (googlefonts/name/line_breaks)
  • 🔥 FAIL Name entry LICENSE_DESCRIPTION on platform 1 contains a line-break. [code: line-break]

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

🔥 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 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 11 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 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 413 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=397: approxequal
    width=419: notequal, equal
    width=616: greaterequal, lessequal
    width=502: logicalnot
    width=622: less, greater
    width=375: 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 Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 879, but got 750 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:
  • .null
  • circumflexacute
  • circumflexgrave
  • circumflexhookabove
  • circumflextilde
  • breveacute
  • brevegrave
  • brevehookabove
  • brevetilde
    ... and 1 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 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:
  • five (U+0035): from (59.0, 347.0) to (59.0, 409.0) is colinear with segment from (59.0, 409.0) to (79.0, 647.0)
  • fiveeighths (U+215D): from (46.0, 500.0) to (46.0, 546.0) is colinear with segment from (46.0, 546.0) to (57.0, 657.0)
  • uni2085 (U+2085): from (47.0, 14.0) to (47.0, 60.0) is colinear with segment from (47.0, 60.0) to (57.0, 176.0)
  • uni2075 (U+2075): from (46.0, 500.0) to (46.0, 546.0) is colinear with segment from (46.0, 546.0) to (57.0, 657.0)
  • colonmonetary (U+20A1): from (335.0, 661.0) to (350.0, 662.0) is colinear with segment from (350.0, 662.0) to (368.0, 662.0)
  • ampersand (U+0026): from (281.0, 400.0) to (300.0, 380.0) is colinear with segment from (300.0, 380.0) to (456.0, 215.0)
  • daggerdbl (U+2021): from (230.0, 289.0) to (227.0, 393.0) is colinear with segment from (227.0, 393.0) to (230.0, 495.0)
  • daggerdbl (U+2021): from (353.0, 495.0) to (356.0, 393.0) is colinear with segment from (356.0, 393.0) to (353.0, 289.0) [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 value 'CDK ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Pridi-Medium.ttf
Dehinted Size 139480
Hinted Size 225316
Increase 85836
Change 61.5 %
ℹ️ 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, Version 1.001 [code: version-not-detected]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
85 181 30 485 353
8% 18% 3% 48% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/rajdhani/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[27] ofl/rajdhani/Rajdhani-Bold.ttf
🔥 FAIL Is there any unused data at the end of the glyf table? (opentype/glyf_unused_data)
  • 🔥 FAIL Unused data at the end of the glyf table [code: unreachable-data]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • commaaccent (Some(63171)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+03A3 [code: missing-case-counterparts]

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

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

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

🔥 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: * 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: * mt_Latn (Maltese)
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: * pt_Latn (Portuguese)
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: * 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: * 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: * 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: * 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: * de_Latn (German)
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: * it_Latn (Italian)
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: * hu_Latn (Hungarian)
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 base characters are missing from the font: ț, Ț
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: * fi_Latn (Finnish)
The following mark characters are missing from the font: ̈, ̌, ̊, ̃
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * es_Latn (Spanish)
The following auxiliary characters are missing from the font: ª * it_Latn (Italian)
The following auxiliary characters are missing from the font: º * pt_Latn (Portuguese)
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ą́
The following auxiliary characters are missing from the font: Ą̃
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ę́
The following auxiliary characters are missing from the font: Ę̃
The following auxiliary characters are missing from the font: Ė́
The following auxiliary characters are missing from the font: Ė̃
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Į́
The following auxiliary characters are missing from the font: Į̇́
The following auxiliary characters are missing from the font: Į̃
The following auxiliary characters are missing from the font: Į̇̃
The following auxiliary characters are missing from the font: J̃
The following auxiliary characters are missing from the font: J̇̃
The following auxiliary characters are missing from the font: L̃
The following auxiliary characters are missing from the font: M̃
The following auxiliary characters are missing from the font: R̃
The following auxiliary characters are missing from the font: Ų́
The following auxiliary characters are missing from the font: Ų̃
The following auxiliary characters are missing from the font: Ū́
The following auxiliary characters are missing from the font: Ū̃
The following auxiliary characters are missing from the font: ą́
The following auxiliary characters are missing from the font: ą̃
The following auxiliary characters are missing from the font: ẽ
The following auxiliary characters are missing from the font: ę́
The following auxiliary characters are missing from the font: ę̃
The following auxiliary characters are missing from the font: ė́
The following auxiliary characters are missing from the font: ė̃
The following auxiliary characters are missing from the font: i̇́
The following auxiliary characters are missing from the font: i̇̀
The following auxiliary characters are missing from the font: i̇̃
The following auxiliary characters are missing from the font: į́
The following auxiliary characters are missing from the font: į̇́
The following auxiliary characters are missing from the font: į̃
The following auxiliary characters are missing from the font: į̇̃
The following auxiliary characters are missing from the font: j̃
The following auxiliary characters are missing from the font: j̇̃
The following auxiliary characters are missing from the font: l̃
The following auxiliary characters are missing from the font: m̃
The following auxiliary characters are missing from the font: r̃
The following auxiliary characters are missing from the font: ų́
The following auxiliary characters are missing from the font: ų̃
The following auxiliary characters are missing from the font: ū́
The following auxiliary characters are missing from the font: ū̃
Auxiliary orthography codepoints: * de_Latn (German)
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: * ca_Latn (Catalan)
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: ǯ
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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0945
  • uni0947
  • uni0948
  • uni094D [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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.201004 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Check for points out of bounds (opentype/points_out_of_bounds)
  • ⚠️ WARN quotedbl (x=34, bounds are 37<->316) [code: points-out-of-bounds]

  • ⚠️ WARN quotedbl (x=319, bounds are 37<->316) [code: points-out-of-bounds]

  • ⚠️ WARN ampersand (x=582, bounds are 38<->580) [code: points-out-of-bounds]

  • ⚠️ WARN quotesingle (x=36, bounds are 39<->148) [code: points-out-of-bounds]

  • ⚠️ WARN quotesingle (x=152, bounds are 39<->148) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=365, bounds are 40<->359) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=332, bounds are 338<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=327, bounds are 338<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=34, bounds are 40<->359) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=23, bounds are 31<->379) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=387, bounds are 31<->379) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=132, bounds are 139<->515) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=524, bounds are 139<->515) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=524, bounds are 139<->515) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=132, bounds are 139<->515) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN K (x=551, bounds are 65<->547) [code: points-out-of-bounds]

  • ⚠️ WARN R (x=517, bounds are 65<->508) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=9, bounds are 16<->506) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=511, bounds are 16<->506) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=12, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=795, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=21, bounds are 25<->515) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=519, bounds are 25<->515) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=8, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=510, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=387, bounds are 31<->379) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=23, bounds are 31<->379) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=35, bounds are 46<->464) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=475, bounds are 46<->464) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=51, bounds are 54<->241) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=252, bounds are 54<->241) [code: points-out-of-bounds]

  • ⚠️ WARN k (x=469, bounds are 55<->464) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=456, bounds are 18<->450) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=12, bounds are 18<->450) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=17, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=679, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=10, bounds are 22<->444) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=12, bounds are 22<->444) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=446, bounds are 22<->444) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=447, bounds are 22<->444) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=14, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=458, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=15, bounds are 24<->519) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=528, bounds are 24<->519) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=78, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=435, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=78, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=435, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=247, bounds are 57<->244) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=47, bounds are 57<->244) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla (x=49, bounds are 55<->212) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=435, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=78, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=435, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=78, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN AE (x=-2, bounds are 7<->736) [code: points-out-of-bounds]

  • ⚠️ WARN Igrave (x=-13, bounds are -10<->197) [code: points-out-of-bounds]

  • ⚠️ WARN Iacute (x=280, bounds are 70<->277) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=8, bounds are 15<->249) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=256, bounds are 15<->249) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=453, bounds are 83<->436) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=129, bounds are 145<->497) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=129, bounds are 145<->497) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=67, bounds are 83<->436) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=68, bounds are 83<->436) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=514, bounds are 145<->497) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=514, bounds are 145<->497) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=452, bounds are 83<->436) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (y=-12, bounds are -1<->643) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=39, bounds are 51<->531) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (y=655, bounds are -1<->643) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=542, bounds are 51<->531) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=8, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=510, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN igrave (x=-24, bounds are -21<->187) [code: points-out-of-bounds]

  • ⚠️ WARN iacute (x=272, bounds are 60<->269) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=-1, bounds are 6<->240) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=247, bounds are 6<->240) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=723, bounds are 0<->714) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=728, bounds are 0<->714) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=6, bounds are 21<->500) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=516, bounds are 21<->500) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=14, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=458, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=14, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=458, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=18, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=539, bounds are 24<->533) [code: points-out-of-bounds]

  • ⚠️ WARN Iogonek (x=54, bounds are 62<->197) [code: points-out-of-bounds]

  • ⚠️ WARN Jcircumflex (x=521, bounds are 32<->514) [code: points-out-of-bounds]

  • ⚠️ WARN jcircumflex (x=244, bounds are -67<->237) [code: points-out-of-bounds]

  • ⚠️ WARN uni0136 (x=551, bounds are 65<->547) [code: points-out-of-bounds]

  • ⚠️ WARN uni0137 (x=469, bounds are 55<->464) [code: points-out-of-bounds]

  • ⚠️ WARN lacute (x=268, bounds are 60<->265) [code: points-out-of-bounds]

  • ⚠️ WARN Racute (x=517, bounds are 65<->508) [code: points-out-of-bounds]

  • ⚠️ WARN uni0156 (x=517, bounds are 65<->508) [code: points-out-of-bounds]

  • ⚠️ WARN Rcaron (x=517, bounds are 65<->508) [code: points-out-of-bounds]

  • ⚠️ WARN uhungarumlaut (x=477, bounds are 50<->468) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=12, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=795, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=17, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=679, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=8, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=510, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=14, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=458, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=8, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=510, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN AEacute (x=-2, bounds are 7<->736) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (y=-12, bounds are -1<->836) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=39, bounds are 51<->531) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=542, bounds are 51<->531) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=6, bounds are 21<->500) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=516, bounds are 21<->500) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=48, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=296, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=48, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=296, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=186, bounds are 66<->183) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=64, bounds are 66<->183) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=47, bounds are 57<->358) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=371, bounds are 57<->358) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=12, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=795, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=17, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=679, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=12, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=795, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=17, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=679, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=12, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=795, bounds are 15<->792) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=17, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=679, bounds are 21<->674) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=8, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=510, bounds are 12<->506) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=14, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=458, bounds are 20<->453) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=78, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=435, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=435, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=78, bounds are 81<->432) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=-220, bounds are -217<->321) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=324, bounds are -217<->321) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=647, bounds are 32<->639) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=24, bounds are 32<->639) [code: points-out-of-bounds]

  • ⚠️ WARN lessequal (y=538, bounds are 108<->532) [code: points-out-of-bounds]

  • ⚠️ WARN greaterequal (y=538, bounds are 108<->532) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=94, bounds are 97<->284) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=295, bounds are 97<->284) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=289, bounds are 99<->286) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=89, bounds are 99<->286) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla.uc (x=104, bounds are 110<->267) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek.uc (x=125, bounds are 133<->267) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=35, bounds are 45<->347) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=360, bounds are 45<->347) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=48, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=296, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=48, bounds are 55<->289) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=296, bounds are 55<->289) [code: points-out-of-bounds]

⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 493 but it should be 643 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 565 among a set of 12 math glyphs.
    The following math glyphs have a different width, though:
    width=464: divide
    width=521: multiply
    width=567: equal, greater
    width=563: less [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094D0928.post
  • uni094D092F.post
  • uni094D0930.post
  • uni094A0902
  • uni091B094D0930094D092F
    ... and 50 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 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=156,Y=644 (should be at cap-height 643?)
    • percent (U+0025): X=215,Y=644 (should be at cap-height 643?)
    • percent (U+0025): X=156,Y=644 (should be at cap-height 643?)
    • question (U+003F): X=203,Y=642 (should be at cap-height 643?)
    • question (U+003F): X=262,Y=642 (should be at cap-height 643?)
    • bracketleft (U+005B): X=179,Y=-1 (should be at baseline 0?)
    • bracketright (U+005D): X=142,Y=-1 (should be at baseline 0?)
    • g (U+0067): X=337,Y=2 (should be at baseline 0?)
    • j (U+006A): X=187,Y=-2 (should be at baseline 0?)
      ... and 72 others [code: found-misalignments]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • asterisk (U+002A): Quad(QuadBez { p0: (275.0, 474.0), p1: (233.0, 475.0), p2: (208.0, 481.0) })/Quad(QuadBez { p0: (208.0, 481.0), p1: (286.0, 454.0), p2: (321.0, 398.0) }) = 5.597758719689876 degrees
  • asterisk (U+002A): Quad(QuadBez { p0: (248.0, 346.0), p1: (200.0, 404.0), p2: (200.0, 484.0) })/Quad(QuadBez { p0: (200.0, 484.0), p1: (197.0, 420.0), p2: (184.0, 393.0) }) = 2.68377515946891 degrees
  • asterisk (U+002A): Quad(QuadBez { p0: (183.5, 476.5), p1: (190.0, 480.0), p2: (200.0, 484.0) })/Quad(QuadBez { p0: (200.0, 484.0), p1: (114.0, 460.0), p2: (60.0, 478.0) }) = 6.208598547085376 degrees
  • asterisk (U+002A): Line(Line { p0: (194.0, 490.0), p1: (198.0, 486.0) })/Quad(QuadBez { p0: (198.0, 486.0), p1: (196.0, 489.0), p2: (193.5, 493.5) }) = 11.309932474020261 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 The family name "Rajdhani" 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:
Rajdhani-Bold.ttf
Dehinted Size 235136
Hinted Size 400680
Increase 165544
Change 70.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 ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

[10] ofl/rajdhani
🔥 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 'Rajdhani' has 5 fonts, which is more than the maximum of 4 [code: too-many]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL 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 Rajdhani-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

  • 🔥 FAIL Rajdhani-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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

  • 🔥 FAIL Rajdhani-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) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

  • ⚠️ WARN METADATA.pb family name field "Rajdhani" does not match correct family name "Rajdhani SemiBold". 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/rajdhani/Rajdhani-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+039C GREEK CAPITAL LETTER MU: try adding one of: elbasan, greek, math
  • U+03A0 GREEK CAPITAL LETTER PI: try adding one of: elbasan, greek, math
  • U+03A3 GREEK CAPITAL LETTER SIGMA: try adding one of: math, elbasan, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
    ... and 6 others

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

  • ⚠️ WARN ofl/rajdhani/Rajdhani-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+039C GREEK CAPITAL LETTER MU: try adding one of: elbasan, greek, math
  • U+03A0 GREEK CAPITAL LETTER PI: try adding one of: elbasan, greek, math
  • U+03A3 GREEK CAPITAL LETTER SIGMA: try adding one of: math, elbasan, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
    ... and 6 others

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

  • ⚠️ WARN ofl/rajdhani/Rajdhani-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+039C GREEK CAPITAL LETTER MU: try adding one of: elbasan, greek, math
  • U+03A0 GREEK CAPITAL LETTER PI: try adding one of: elbasan, greek, math
  • U+03A3 GREEK CAPITAL LETTER SIGMA: try adding one of: math, elbasan, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
    ... and 6 others

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

  • ⚠️ WARN ofl/rajdhani/Rajdhani-SemiBold.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+039C GREEK CAPITAL LETTER MU: try adding one of: elbasan, greek, math
  • U+03A0 GREEK CAPITAL LETTER PI: try adding one of: elbasan, greek, math
  • U+03A3 GREEK CAPITAL LETTER SIGMA: try adding one of: math, elbasan, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
    ... and 6 others

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

  • ⚠️ WARN ofl/rajdhani/Rajdhani-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+039C GREEK CAPITAL LETTER MU: try adding one of: elbasan, greek, math
  • U+03A0 GREEK CAPITAL LETTER PI: try adding one of: elbasan, greek, math
  • U+03A3 GREEK CAPITAL LETTER SIGMA: try adding one of: math, elbasan, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2126 OHM SIGN: try adding math
    ... and 6 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ 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 '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 All of the fonts lack a STAT table. [code: summary]
[24] ofl/rajdhani/Rajdhani-Medium.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • commaaccent (Some(63171)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+03A3 [code: missing-case-counterparts]

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

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

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

🔥 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 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: * cy_Latn (Welsh)
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: * 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: * 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: * 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: ́, ̈, ̂, ̊, ̀
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: * da_Latn (Danish)
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: * es_Latn (Spanish)
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: * mt_Latn (Maltese)
The following mark characters are missing from the font: ̀, ̇, ̂
Mandatory orthography codepoints: * sv_Latn (Swedish)
The following mark characters are missing from the font: ̊, ̈, ́, ̀
Mandatory orthography codepoints: * tr_Latn (Turkish)
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: * en_Latn (English)
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: * ca_Latn (Catalan)
The following mark characters are missing from the font: ̧, ̀, ́, ̈
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: º
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ą́
The following auxiliary characters are missing from the font: Ą̃
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ę́
The following auxiliary characters are missing from the font: Ę̃
The following auxiliary characters are missing from the font: Ė́
The following auxiliary characters are missing from the font: Ė̃
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Į́
The following auxiliary characters are missing from the font: Į̇́
The following auxiliary characters are missing from the font: Į̃
The following auxiliary characters are missing from the font: Į̇̃
The following auxiliary characters are missing from the font: J̃
The following auxiliary characters are missing from the font: J̇̃
The following auxiliary characters are missing from the font: L̃
The following auxiliary characters are missing from the font: M̃
The following auxiliary characters are missing from the font: R̃
The following auxiliary characters are missing from the font: Ų́
The following auxiliary characters are missing from the font: Ų̃
The following auxiliary characters are missing from the font: Ū́
The following auxiliary characters are missing from the font: Ū̃
The following auxiliary characters are missing from the font: ą́
The following auxiliary characters are missing from the font: ą̃
The following auxiliary characters are missing from the font: ẽ
The following auxiliary characters are missing from the font: ę́
The following auxiliary characters are missing from the font: ę̃
The following auxiliary characters are missing from the font: ė́
The following auxiliary characters are missing from the font: ė̃
The following auxiliary characters are missing from the font: i̇́
The following auxiliary characters are missing from the font: i̇̀
The following auxiliary characters are missing from the font: i̇̃
The following auxiliary characters are missing from the font: į́
The following auxiliary characters are missing from the font: į̇́
The following auxiliary characters are missing from the font: į̃
The following auxiliary characters are missing from the font: į̇̃
The following auxiliary characters are missing from the font: j̃
The following auxiliary characters are missing from the font: j̇̃
The following auxiliary characters are missing from the font: l̃
The following auxiliary characters are missing from the font: m̃
The following auxiliary characters are missing from the font: r̃
The following auxiliary characters are missing from the font: ų́
The following auxiliary characters are missing from the font: ų̃
The following auxiliary characters are missing from the font: ū́
The following auxiliary characters are missing from the font: ū̃
Auxiliary orthography codepoints: * 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: * es_Latn (Spanish)
The following auxiliary characters are missing from the font: ª * it_Latn (Italian)
The following auxiliary characters are missing from the font: º * pt_Latn (Portuguese)
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: ǯ
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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0945
  • uni0947
  • uni0948
  • uni094D [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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.201004 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Check for points out of bounds (opentype/points_out_of_bounds)
  • ⚠️ WARN quotedbl (x=283, bounds are 55<->281) [code: points-out-of-bounds]

  • ⚠️ WARN ampersand (x=549, bounds are 62<->548) [code: points-out-of-bounds]

  • ⚠️ WARN quotesingle (x=58, bounds are 59<->127) [code: points-out-of-bounds]

  • ⚠️ WARN quotesingle (x=128, bounds are 59<->127) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=349, bounds are 60<->344) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=368, bounds are 373<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=365, bounds are 373<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=55, bounds are 60<->344) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=47, bounds are 53<->347) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=354, bounds are 53<->347) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=145, bounds are 151<->496) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=502, bounds are 151<->496) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=502, bounds are 151<->496) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=145, bounds are 151<->496) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN K (x=525, bounds are 79<->514) [code: points-out-of-bounds]

  • ⚠️ WARN R (x=495, bounds are 79<->486) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=21, bounds are 24<->482) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=485, bounds are 24<->482) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=24, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=774, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=29, bounds are 31<->484) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=486, bounds are 31<->484) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=20, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=485, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=353, bounds are 53<->347) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=47, bounds are 53<->347) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=46, bounds are 55<->423) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=432, bounds are 55<->423) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=62, bounds are 64<->212) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=220, bounds are 64<->212) [code: points-out-of-bounds]

  • ⚠️ WARN k (x=435, bounds are 69<->432) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=415, bounds are 20<->411) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=16, bounds are 20<->411) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=18, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=668, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=17, bounds are 25<->403) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=22, bounds are 25<->403) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=412, bounds are 25<->403) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=22, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=442, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=22, bounds are 28<->483) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=490, bounds are 28<->483) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=82, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=429, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=82, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=429, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=216, bounds are 65<->214) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=59, bounds are 65<->214) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla (x=58, bounds are 64<->196) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=429, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=82, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=429, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=82, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN AE (x=-4, bounds are 4<->716) [code: points-out-of-bounds]

  • ⚠️ WARN Igrave (x=-6, bounds are -4<->157) [code: points-out-of-bounds]

  • ⚠️ WARN Iacute (x=248, bounds are 84<->246) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=12, bounds are 19<->220) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=227, bounds are 19<->220) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=417, bounds are 94<->405) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=156, bounds are 166<->476) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=156, bounds are 166<->476) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=83, bounds are 94<->405) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=84, bounds are 94<->405) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=488, bounds are 166<->476) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=488, bounds are 166<->476) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=416, bounds are 94<->405) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (y=-3, bounds are 0<->643) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=41, bounds are 50<->515) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (y=645, bounds are 0<->643) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=524, bounds are 50<->515) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=20, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=485, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN igrave (x=-17, bounds are -15<->147) [code: points-out-of-bounds]

  • ⚠️ WARN iacute (x=237, bounds are 74<->235) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=2, bounds are 9<->211) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=218, bounds are 9<->211) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=711, bounds are 0<->701) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=707, bounds are 0<->701) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=18, bounds are 28<->493) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=503, bounds are 28<->493) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=22, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=442, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=22, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=442, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=24, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=516, bounds are 28<->512) [code: points-out-of-bounds]

  • ⚠️ WARN Iogonek (x=33, bounds are 40<->157) [code: points-out-of-bounds]

  • ⚠️ WARN iogonek (x=30, bounds are 35<->147) [code: points-out-of-bounds]

  • ⚠️ WARN Jcircumflex (x=500, bounds are 36<->493) [code: points-out-of-bounds]

  • ⚠️ WARN jcircumflex (x=217, bounds are -56<->210) [code: points-out-of-bounds]

  • ⚠️ WARN uni0136 (x=525, bounds are 79<->514) [code: points-out-of-bounds]

  • ⚠️ WARN uni0137 (x=435, bounds are 69<->432) [code: points-out-of-bounds]

  • ⚠️ WARN lacute (x=235, bounds are 74<->233) [code: points-out-of-bounds]

  • ⚠️ WARN Racute (x=495, bounds are 79<->486) [code: points-out-of-bounds]

  • ⚠️ WARN uni0156 (x=495, bounds are 79<->486) [code: points-out-of-bounds]

  • ⚠️ WARN Rcaron (x=495, bounds are 79<->486) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=24, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=774, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=18, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=668, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=20, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=485, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=22, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=442, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=20, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=485, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN AEacute (x=-4, bounds are 4<->716) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (y=-3, bounds are 0<->836) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=41, bounds are 50<->515) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=524, bounds are 50<->515) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=18, bounds are 28<->493) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=503, bounds are 28<->493) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=58, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=273, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=58, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=273, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=176, bounds are 70<->175) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=65, bounds are 70<->175) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=59, bounds are 65<->323) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=332, bounds are 65<->323) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=24, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=774, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=18, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=668, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=24, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=774, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=18, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=668, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=24, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=774, bounds are 27<->771) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=18, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=668, bounds are 21<->665) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=20, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=485, bounds are 23<->477) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=22, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=442, bounds are 26<->437) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=82, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=429, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=429, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=82, bounds are 84<->427) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=-204, bounds are -202<->315) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=316, bounds are -202<->315) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=592, bounds are 31<->585) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=26, bounds are 31<->585) [code: points-out-of-bounds]

  • ⚠️ WARN lessequal (y=520, bounds are 123<->516) [code: points-out-of-bounds]

  • ⚠️ WARN greaterequal (y=520, bounds are 123<->516) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=75, bounds are 85<->231) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=239, bounds are 85<->231) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=235, bounds are 84<->233) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=76, bounds are 84<->233) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla.uc (x=83, bounds are 88<->221) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek.uc (x=92, bounds are 99<->212) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=52, bounds are 60<->318) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=327, bounds are 60<->318) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=58, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=273, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=58, bounds are 65<->266) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=273, bounds are 65<->266) [code: points-out-of-bounds]

⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 482 but it should be 633 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 535 among a set of 12 math glyphs.
    The following math glyphs have a different width, though:
    width=501: multiply
    width=528: less
    width=496: divide
    width=542: equal, greater [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094D0928.post
  • uni094D092F.post
  • uni094D0930.post
  • uni094A0902
  • uni091B094D0930094D092F
    ... and 50 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 outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • asterisk (U+002A): Quad(QuadBez { p0: (249.0, 388.0), p1: (208.0, 442.0), p2: (202.0, 499.0) })/Quad(QuadBez { p0: (202.0, 499.0), p1: (202.0, 494.0), p2: (194.0, 468.0) }) = 6.009005957494474 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Rajdhani-Medium.ttf
Dehinted Size 233360
Hinted Size 384348
Increase 150988
Change 64.7 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

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

"copyright (c) 2014, indian type foundry (info@indiantypefoundry.com)."

which does not match the expected format, similar to:

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

[25] ofl/rajdhani/Rajdhani-Regular.ttf
🔥 FAIL Is there any unused data at the end of the glyf table? (opentype/glyf_unused_data)
  • 🔥 FAIL Unused data at the end of the glyf table [code: unreachable-data]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • commaaccent (Some(63171)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0125 [code: missing-case-counterparts]

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

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

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

🔥 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: * ca_Latn (Catalan)
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 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: * fi_Latn (Finnish)
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: * de_Latn (German)
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: * cy_Latn (Welsh)
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: * fr_Latn (French)
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: * hr_Latn (Croatian)
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: * 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: * 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: * hu_Latn (Hungarian)
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: * 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: ǯ
Auxiliary orthography codepoints: * es_Latn (Spanish)
The following auxiliary characters are missing from the font: ª * it_Latn (Italian)
The following auxiliary characters are missing from the font: º * pt_Latn (Portuguese)
Auxiliary orthography codepoints: * de_Latn (German)
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: * ca_Latn (Catalan)
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: * 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: ū̃
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0945
  • uni0947
  • uni0948
  • uni094D [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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.201004 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Check for points out of bounds (opentype/points_out_of_bounds)
  • ⚠️ WARN quotesingle (x=120, bounds are 67<->118) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=342, bounds are 68<->338) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=381, bounds are 387<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=381, bounds are 387<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=65, bounds are 68<->338) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=57, bounds are 62<->334) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=339, bounds are 62<->334) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=152, bounds are 156<->488) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=494, bounds are 156<->488) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=494, bounds are 156<->488) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=152, bounds are 156<->488) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN K (x=510, bounds are 85<->502) [code: points-out-of-bounds]

  • ⚠️ WARN R (x=483, bounds are 85<->477) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=24, bounds are 28<->472) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=475, bounds are 28<->472) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=29, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=765, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=30, bounds are 35<->469) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=476, bounds are 35<->469) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=21, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=470, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=340, bounds are 63<->334) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=56, bounds are 63<->334) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=55, bounds are 57<->408) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=410, bounds are 57<->408) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=65, bounds are 67<->200) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=206, bounds are 67<->200) [code: points-out-of-bounds]

  • ⚠️ WARN k (x=421, bounds are 75<->419) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=399, bounds are 20<->395) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=17, bounds are 20<->395) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=18, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=665, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=19, bounds are 27<->387) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=26, bounds are 27<->387) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=394, bounds are 27<->387) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=25, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=434, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=25, bounds are 30<->468) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=475, bounds are 30<->468) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=84, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=427, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=84, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=427, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=203, bounds are 69<->202) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=63, bounds are 69<->202) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla (x=62, bounds are 67<->190) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=427, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=84, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=427, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=84, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN AE (x=-2, bounds are 2<->708) [code: points-out-of-bounds]

  • ⚠️ WARN Igrave (x=-9, bounds are 0<->140) [code: points-out-of-bounds]

  • ⚠️ WARN Iacute (x=235, bounds are 90<->233) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=14, bounds are 21<->209) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=216, bounds are 21<->209) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=401, bounds are 99<->393) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=166, bounds are 174<->468) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=166, bounds are 174<->468) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=90, bounds are 99<->393) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=91, bounds are 99<->393) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=476, bounds are 174<->468) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=476, bounds are 174<->468) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=401, bounds are 99<->393) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=42, bounds are 49<->509) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=516, bounds are 49<->509) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=21, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=470, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN igrave (x=-15, bounds are -14<->130) [code: points-out-of-bounds]

  • ⚠️ WARN iacute (x=224, bounds are 80<->222) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=4, bounds are 11<->199) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=206, bounds are 11<->199) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=705, bounds are 0<->698) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=699, bounds are 0<->698) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=23, bounds are 30<->491) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=498, bounds are 30<->491) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=25, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=434, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=25, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=434, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=26, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=506, bounds are 30<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Iogonek (x=25, bounds are 31<->140) [code: points-out-of-bounds]

  • ⚠️ WARN iogonek (x=18, bounds are 23<->130) [code: points-out-of-bounds]

  • ⚠️ WARN Jcircumflex (x=492, bounds are 38<->485) [code: points-out-of-bounds]

  • ⚠️ WARN jcircumflex (x=205, bounds are -52<->198) [code: points-out-of-bounds]

  • ⚠️ WARN uni0136 (x=510, bounds are 85<->502) [code: points-out-of-bounds]

  • ⚠️ WARN uni0137 (x=421, bounds are 75<->419) [code: points-out-of-bounds]

  • ⚠️ WARN lacute (x=223, bounds are 80<->221) [code: points-out-of-bounds]

  • ⚠️ WARN Racute (x=483, bounds are 85<->477) [code: points-out-of-bounds]

  • ⚠️ WARN uni0156 (x=483, bounds are 85<->477) [code: points-out-of-bounds]

  • ⚠️ WARN Rcaron (x=483, bounds are 85<->477) [code: points-out-of-bounds]

  • ⚠️ WARN rcaron (x=73, bounds are 75<->287) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=29, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=765, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=18, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=665, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=21, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=470, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=25, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=434, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=21, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=470, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN AEacute (x=-2, bounds are 2<->708) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=42, bounds are 49<->509) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=516, bounds are 49<->509) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=23, bounds are 30<->491) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=498, bounds are 30<->491) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=61, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=264, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=61, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=264, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=173, bounds are 70<->171) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=65, bounds are 70<->171) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=63, bounds are 69<->308) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=316, bounds are 69<->308) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=29, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=765, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=18, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=665, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=29, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=765, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=18, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=665, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=29, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=765, bounds are 32<->762) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=18, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=665, bounds are 21<->661) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=21, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=470, bounds are 27<->466) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=25, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=434, bounds are 29<->431) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=84, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=427, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=427, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=84, bounds are 86<->425) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=-202, bounds are -192<->312) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=313, bounds are -192<->312) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=568, bounds are 31<->563) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=28, bounds are 31<->563) [code: points-out-of-bounds]

  • ⚠️ WARN lessequal (y=513, bounds are 129<->509) [code: points-out-of-bounds]

  • ⚠️ WARN greaterequal (y=513, bounds are 129<->509) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=74, bounds are 76<->209) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=215, bounds are 76<->209) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=213, bounds are 78<->211) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=72, bounds are 78<->211) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla.uc (x=74, bounds are 79<->201) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek.uc (x=78, bounds are 84<->190) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=60, bounds are 66<->306) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=314, bounds are 66<->306) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=61, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=264, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=61, bounds are 68<->257) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=264, bounds are 68<->257) [code: points-out-of-bounds]

⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 477 but it should be 629 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 523 among a set of 12 math glyphs.
    The following math glyphs have a different width, though:
    width=493: multiply
    width=513: less
    width=531: greater, equal
    width=510: divide [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094D0928.post
  • uni094D092F.post
  • uni094D0930.post
  • uni094A0902
  • uni091B094D0930094D092F
    ... and 50 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 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 "Rajdhani" 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:
Rajdhani-Regular.ttf
Dehinted Size 235184
Hinted Size 377860
Increase 142676
Change 60.7 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

[25] ofl/rajdhani/Rajdhani-Light.ttf
🔥 FAIL Is there any unused data at the end of the glyf table? (opentype/glyf_unused_data)
  • 🔥 FAIL Unused data at the end of the glyf table [code: unreachable-data]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • commaaccent (Some(63171)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+03A0 [code: missing-case-counterparts]

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

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

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

🔥 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: * 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: * 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: * 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: * 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: * 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: * nb_Latn (Norwegian Bokmål)
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 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: * sk_Latn (Slovak)
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: * lt_Latn (Lithuanian)
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: * 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: * sq_Latn (Albanian)
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: * lv_Latn (Latvian)
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: * pl_Latn (Polish)
The following mark characters are missing from the font: ̇, ̨, ́
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * es_Latn (Spanish)
The following auxiliary characters are missing from the font: ª * it_Latn (Italian)
The following auxiliary characters are missing from the font: º * pt_Latn (Portuguese)
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ą́
The following auxiliary characters are missing from the font: Ą̃
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ę́
The following auxiliary characters are missing from the font: Ę̃
The following auxiliary characters are missing from the font: Ė́
The following auxiliary characters are missing from the font: Ė̃
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Į́
The following auxiliary characters are missing from the font: Į̇́
The following auxiliary characters are missing from the font: Į̃
The following auxiliary characters are missing from the font: Į̇̃
The following auxiliary characters are missing from the font: J̃
The following auxiliary characters are missing from the font: J̇̃
The following auxiliary characters are missing from the font: L̃
The following auxiliary characters are missing from the font: M̃
The following auxiliary characters are missing from the font: R̃
The following auxiliary characters are missing from the font: Ų́
The following auxiliary characters are missing from the font: Ų̃
The following auxiliary characters are missing from the font: Ū́
The following auxiliary characters are missing from the font: Ū̃
The following auxiliary characters are missing from the font: ą́
The following auxiliary characters are missing from the font: ą̃
The following auxiliary characters are missing from the font: ẽ
The following auxiliary characters are missing from the font: ę́
The following auxiliary characters are missing from the font: ę̃
The following auxiliary characters are missing from the font: ė́
The following auxiliary characters are missing from the font: ė̃
The following auxiliary characters are missing from the font: i̇́
The following auxiliary characters are missing from the font: i̇̀
The following auxiliary characters are missing from the font: i̇̃
The following auxiliary characters are missing from the font: į́
The following auxiliary characters are missing from the font: į̇́
The following auxiliary characters are missing from the font: į̃
The following auxiliary characters are missing from the font: į̇̃
The following auxiliary characters are missing from the font: j̃
The following auxiliary characters are missing from the font: j̇̃
The following auxiliary characters are missing from the font: l̃
The following auxiliary characters are missing from the font: m̃
The following auxiliary characters are missing from the font: r̃
The following auxiliary characters are missing from the font: ų́
The following auxiliary characters are missing from the font: ų̃
The following auxiliary characters are missing from the font: ū́
The following auxiliary characters are missing from the font: ū̃
Auxiliary orthography codepoints: * ca_Latn (Catalan)
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: ǯ
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: * 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: ſ
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0945
  • uni0947
  • uni0948
  • uni094D [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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.201004 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Check for points out of bounds (opentype/points_out_of_bounds)
  • ⚠️ WARN asterisk (x=336, bounds are 76<->332) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=395, bounds are 400<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=396, bounds are 400<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=73, bounds are 76<->332) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=66, bounds are 71<->322) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=327, bounds are 71<->322) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=157, bounds are 161<->481) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=485, bounds are 161<->481) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=485, bounds are 161<->481) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=157, bounds are 161<->481) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN K (x=497, bounds are 90<->491) [code: points-out-of-bounds]

  • ⚠️ WARN R (x=474, bounds are 90<->469) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=28, bounds are 31<->463) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=466, bounds are 31<->463) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=34, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=757, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=33, bounds are 38<->457) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=462, bounds are 38<->457) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=26, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=460, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=326, bounds are 71<->322) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=66, bounds are 71<->322) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=55, bounds are 62<->391) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=398, bounds are 62<->391) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=69, bounds are 70<->189) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=194, bounds are 70<->189) [code: points-out-of-bounds]

  • ⚠️ WARN k (x=412, bounds are 80<->405) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=384, bounds are 21<->381) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=18, bounds are 21<->381) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=18, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=661, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=22, bounds are 28<->372) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=378, bounds are 28<->372) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=28, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=428, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=27, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=460, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=86, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=424, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=86, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=424, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=192, bounds are 72<->191) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=67, bounds are 72<->191) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla (x=66, bounds are 71<->184) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=424, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=86, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=424, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=86, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN AE (x=-4, bounds are 1<->701) [code: points-out-of-bounds]

  • ⚠️ WARN Igrave (x=-2, bounds are -1<->125) [code: points-out-of-bounds]

  • ⚠️ WARN Iacute (x=223, bounds are 95<->222) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=15, bounds are 22<->198) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=205, bounds are 22<->198) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=388, bounds are 103<->381) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=175, bounds are 182<->460) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=175, bounds are 182<->460) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=96, bounds are 103<->381) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=96, bounds are 103<->381) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=467, bounds are 182<->460) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=467, bounds are 182<->460) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=388, bounds are 103<->381) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=43, bounds are 49<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=510, bounds are 49<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=26, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=460, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN igrave (x=-13, bounds are -12<->115) [code: points-out-of-bounds]

  • ⚠️ WARN iacute (x=211, bounds are 85<->210) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=5, bounds are 12<->188) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=195, bounds are 12<->188) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=700, bounds are 0<->695) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=27, bounds are 33<->488) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=494, bounds are 33<->488) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=28, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=428, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=28, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=428, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=28, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=498, bounds are 31<->495) [code: points-out-of-bounds]

  • ⚠️ WARN Iogonek (x=17, bounds are 23<->125) [code: points-out-of-bounds]

  • ⚠️ WARN iogonek (x=7, bounds are 13<->115) [code: points-out-of-bounds]

  • ⚠️ WARN Jcircumflex (x=484, bounds are 40<->477) [code: points-out-of-bounds]

  • ⚠️ WARN jcircumflex (x=195, bounds are -48<->188) [code: points-out-of-bounds]

  • ⚠️ WARN uni0136 (x=497, bounds are 90<->491) [code: points-out-of-bounds]

  • ⚠️ WARN uni0137 (x=412, bounds are 80<->405) [code: points-out-of-bounds]

  • ⚠️ WARN lacute (x=210, bounds are 85<->209) [code: points-out-of-bounds]

  • ⚠️ WARN Racute (x=474, bounds are 90<->469) [code: points-out-of-bounds]

  • ⚠️ WARN uni0156 (x=474, bounds are 90<->469) [code: points-out-of-bounds]

  • ⚠️ WARN Rcaron (x=474, bounds are 90<->469) [code: points-out-of-bounds]

  • ⚠️ WARN rcaron (x=75, bounds are 80<->273) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=34, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=757, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=18, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=661, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=26, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=460, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=28, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=428, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=26, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=460, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN AEacute (x=-4, bounds are 1<->701) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=43, bounds are 49<->503) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=510, bounds are 49<->503) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=27, bounds are 33<->488) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=494, bounds are 33<->488) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=65, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=255, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=65, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=255, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=65, bounds are 71<->173) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=67, bounds are 72<->297) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=298, bounds are 72<->297) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=34, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=757, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=18, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=661, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=34, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=757, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=18, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=661, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=34, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=757, bounds are 36<->754) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=18, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=661, bounds are 21<->658) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=26, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=460, bounds are 31<->455) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=28, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=428, bounds are 31<->425) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=86, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=424, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=424, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=86, bounds are 88<->422) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=-196, bounds are -187<->310) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=547, bounds are 31<->543) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=27, bounds are 31<->543) [code: points-out-of-bounds]

  • ⚠️ WARN lessequal (y=507, bounds are 135<->503) [code: points-out-of-bounds]

  • ⚠️ WARN greaterequal (y=507, bounds are 135<->503) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=69, bounds are 70<->189) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=194, bounds are 70<->189) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=192, bounds are 72<->191) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=67, bounds are 72<->191) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla.uc (x=66, bounds are 71<->184) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek.uc (x=65, bounds are 71<->173) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=67, bounds are 72<->297) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=298, bounds are 72<->297) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=65, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=255, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=65, bounds are 72<->248) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=255, bounds are 72<->248) [code: points-out-of-bounds]

⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 473 but it should be 625 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 512 among a set of 12 math glyphs.
    The following math glyphs have a different width, though:
    width=485: multiply
    width=500: less
    width=522: equal, greater, divide [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094D0928.post
  • uni094D092F.post
  • uni094D0930.post
  • uni094A0902
  • uni091B094D0930094D092F
    ... and 50 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 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=209,Y=645 (should be at cap-height 643?)
    • dollar (U+0024): X=248,Y=645 (should be at cap-height 643?)
    • dollar (U+0024): X=278,Y=645 (should be at cap-height 643?)
    • dollar (U+0024): X=289,Y=645 (should be at cap-height 643?)
    • question (U+003F): X=214,Y=642 (should be at cap-height 643?)
    • question (U+003F): X=261,Y=642 (should be at cap-height 643?)
    • q (U+0071): X=312.5,Y=1.5 (should be at baseline 0?)
    • macron (U+00AF): X=70,Y=644 (should be at cap-height 643?)
    • macron (U+00AF): X=292,Y=644 (should be at cap-height 643?)
      ... and 84 others [code: found-misalignments]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Rajdhani-Light.ttf
Dehinted Size 236180
Hinted Size 383928
Increase 147748
Change 62.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 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

[1] ofl/rajdhani/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[26] ofl/rajdhani/Rajdhani-SemiBold.ttf
🔥 FAIL Is there any unused data at the end of the glyf table? (opentype/glyf_unused_data)
  • 🔥 FAIL Unused data at the end of the glyf table [code: unreachable-data]
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • commaaccent (Some(63171)) [code: zero-width-bases]
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+03A0 [code: missing-case-counterparts]

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

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

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

🔥 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: * 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: * is_Latn (Icelandic)
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: * lv_Latn (Latvian)
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: * tr_Latn (Turkish)
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: * it_Latn (Italian)
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: * 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: * nb_Latn (Norwegian Bokmål)
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: * hr_Latn (Croatian)
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: * 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: * cs_Latn (Czech)
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: * 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: ̌, ̊, ̃, ̈
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * es_Latn (Spanish)
The following auxiliary characters are missing from the font: ª * it_Latn (Italian)
The following auxiliary characters are missing from the font: º * pt_Latn (Portuguese)
Auxiliary orthography codepoints: * ca_Latn (Catalan)
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: * 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: * 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: ǎ
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: ǯ
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0945
  • uni0947
  • uni0948
  • uni094D [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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.201004 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Check for points out of bounds (opentype/points_out_of_bounds)
  • ⚠️ WARN quotedbl (x=46, bounds are 47<->297) [code: points-out-of-bounds]

  • ⚠️ WARN quotedbl (x=300, bounds are 47<->297) [code: points-out-of-bounds]

  • ⚠️ WARN ampersand (x=564, bounds are 51<->563) [code: points-out-of-bounds]

  • ⚠️ WARN quotesingle (x=47, bounds are 50<->137) [code: points-out-of-bounds]

  • ⚠️ WARN quotesingle (x=138, bounds are 50<->137) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=356, bounds are 51<->351) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=351, bounds are 357<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (y=347, bounds are 357<->643) [code: points-out-of-bounds]

  • ⚠️ WARN asterisk (x=45, bounds are 51<->351) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=36, bounds are 43<->362) [code: points-out-of-bounds]

  • ⚠️ WARN slash (x=368, bounds are 43<->362) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=138, bounds are 146<->505) [code: points-out-of-bounds]

  • ⚠️ WARN less (y=513, bounds are 146<->505) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=513, bounds are 146<->505) [code: points-out-of-bounds]

  • ⚠️ WARN greater (y=138, bounds are 146<->505) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN A (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN K (x=540, bounds are 73<->528) [code: points-out-of-bounds]

  • ⚠️ WARN R (x=507, bounds are 73<->496) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=15, bounds are 21<->493) [code: points-out-of-bounds]

  • ⚠️ WARN V (x=498, bounds are 21<->493) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=19, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN W (x=784, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=25, bounds are 28<->498) [code: points-out-of-bounds]

  • ⚠️ WARN X (x=501, bounds are 28<->498) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=14, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN Y (x=494, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=369, bounds are 43<->362) [code: points-out-of-bounds]

  • ⚠️ WARN backslash (x=36, bounds are 43<->362) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=41, bounds are 51<->442) [code: points-out-of-bounds]

  • ⚠️ WARN asciicircum (x=452, bounds are 51<->442) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=57, bounds are 59<->225) [code: points-out-of-bounds]

  • ⚠️ WARN grave (x=235, bounds are 59<->225) [code: points-out-of-bounds]

  • ⚠️ WARN k (x=451, bounds are 63<->448) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=435, bounds are 19<->429) [code: points-out-of-bounds]

  • ⚠️ WARN v (x=15, bounds are 19<->429) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=17, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN w (x=674, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=13, bounds are 24<->421) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=16, bounds are 24<->421) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=422, bounds are 24<->421) [code: points-out-of-bounds]

  • ⚠️ WARN x (x=431, bounds are 24<->421) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=19, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN y (x=448, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=19, bounds are 26<->500) [code: points-out-of-bounds]

  • ⚠️ WARN yen (x=507, bounds are 26<->500) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=80, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=432, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=81, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotleft (y=431, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=231, bounds are 62<->229) [code: points-out-of-bounds]

  • ⚠️ WARN acute (x=54, bounds are 62<->229) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla (x=54, bounds are 60<->204) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=431, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=81, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=431, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guillemotright (y=81, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Agrave (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Aacute (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Acircumflex (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Atilde (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Adieresis (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Aring (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN AE (x=-3, bounds are 5<->726) [code: points-out-of-bounds]

  • ⚠️ WARN Igrave (x=-9, bounds are -7<->175) [code: points-out-of-bounds]

  • ⚠️ WARN Iacute (x=263, bounds are 78<->261) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=10, bounds are 17<->234) [code: points-out-of-bounds]

  • ⚠️ WARN Icircumflex (x=242, bounds are 17<->234) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=433, bounds are 89<->420) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=142, bounds are 156<->486) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=142, bounds are 156<->486) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=76, bounds are 89<->420) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=77, bounds are 89<->420) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=501, bounds are 156<->486) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (y=500, bounds are 156<->486) [code: points-out-of-bounds]

  • ⚠️ WARN multiply (x=432, bounds are 89<->420) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (y=-7, bounds are 0<->643) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=40, bounds are 50<->523) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (y=650, bounds are 0<->643) [code: points-out-of-bounds]

  • ⚠️ WARN Oslash (x=532, bounds are 50<->523) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=14, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN Yacute (x=494, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN igrave (x=-20, bounds are -18<->165) [code: points-out-of-bounds]

  • ⚠️ WARN iacute (x=253, bounds are 68<->251) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=0, bounds are 8<->224) [code: points-out-of-bounds]

  • ⚠️ WARN icircumflex (x=232, bounds are 8<->224) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=716, bounds are 0<->706) [code: points-out-of-bounds]

  • ⚠️ WARN eth (y=717, bounds are 0<->706) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=12, bounds are 25<->496) [code: points-out-of-bounds]

  • ⚠️ WARN oslash (x=510, bounds are 25<->496) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=19, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN yacute (x=448, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=19, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN ydieresis (x=448, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Amacron (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Abreve (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=22, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Aogonek (x=526, bounds are 26<->522) [code: points-out-of-bounds]

  • ⚠️ WARN Iogonek (x=43, bounds are 50<->175) [code: points-out-of-bounds]

  • ⚠️ WARN iogonek (x=44, bounds are 48<->165) [code: points-out-of-bounds]

  • ⚠️ WARN Jcircumflex (x=511, bounds are 34<->503) [code: points-out-of-bounds]

  • ⚠️ WARN jcircumflex (x=230, bounds are -61<->222) [code: points-out-of-bounds]

  • ⚠️ WARN uni0136 (x=540, bounds are 73<->528) [code: points-out-of-bounds]

  • ⚠️ WARN uni0137 (x=451, bounds are 63<->448) [code: points-out-of-bounds]

  • ⚠️ WARN lacute (x=251, bounds are 68<->248) [code: points-out-of-bounds]

  • ⚠️ WARN Racute (x=507, bounds are 73<->496) [code: points-out-of-bounds]

  • ⚠️ WARN uni0156 (x=507, bounds are 73<->496) [code: points-out-of-bounds]

  • ⚠️ WARN Rcaron (x=507, bounds are 73<->496) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=19, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN Wcircumflex (x=784, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=17, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN wcircumflex (x=674, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=14, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN Ycircumflex (x=494, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=19, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN ycircumflex (x=448, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=14, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN Ydieresis (x=494, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN AEacute (x=-3, bounds are 5<->726) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (y=-7, bounds are 0<->836) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=40, bounds are 50<->523) [code: points-out-of-bounds]

  • ⚠️ WARN Oslashacute (x=532, bounds are 50<->523) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=12, bounds are 25<->496) [code: points-out-of-bounds]

  • ⚠️ WARN oslashacute (x=510, bounds are 25<->496) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=57, bounds are 59<->279) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex (x=280, bounds are 59<->279) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=57, bounds are 59<->277) [code: points-out-of-bounds]

  • ⚠️ WARN caron (x=284, bounds are 59<->277) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=183, bounds are 68<->179) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek (x=64, bounds are 68<->179) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=54, bounds are 62<->339) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut (x=350, bounds are 62<->339) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=19, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN Wgrave (x=784, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=17, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN wgrave (x=674, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=19, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN Wacute (x=784, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=17, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN wacute (x=674, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=19, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN Wdieresis (x=784, bounds are 21<->781) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=17, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN wdieresis (x=674, bounds are 21<->669) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=14, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN Ygrave (x=494, bounds are 18<->491) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=19, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN ygrave (x=448, bounds are 23<->445) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=81, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglleft (y=431, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=431, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN guilsinglright (y=81, bounds are 83<->429) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=-211, bounds are -208<->317) [code: points-out-of-bounds]

  • ⚠️ WARN fraction (x=320, bounds are -208<->317) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=617, bounds are 32<->610) [code: points-out-of-bounds]

  • ⚠️ WARN uni2206 (x=25, bounds are 32<->610) [code: points-out-of-bounds]

  • ⚠️ WARN lessequal (y=529, bounds are 116<->523) [code: points-out-of-bounds]

  • ⚠️ WARN greaterequal (y=529, bounds are 116<->523) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=87, bounds are 89<->256) [code: points-out-of-bounds]

  • ⚠️ WARN grave.uc (x=264, bounds are 89<->256) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=260, bounds are 91<->258) [code: points-out-of-bounds]

  • ⚠️ WARN acute.uc (x=82, bounds are 91<->258) [code: points-out-of-bounds]

  • ⚠️ WARN cedilla.uc (x=92, bounds are 98<->242) [code: points-out-of-bounds]

  • ⚠️ WARN ogonek.uc (x=107, bounds are 115<->237) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=44, bounds are 53<->331) [code: points-out-of-bounds]

  • ⚠️ WARN hungarumlaut.uc (x=342, bounds are 53<->331) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=57, bounds are 59<->279) [code: points-out-of-bounds]

  • ⚠️ WARN caron.uc (x=280, bounds are 59<->279) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=57, bounds are 59<->277) [code: points-out-of-bounds]

  • ⚠️ WARN circumflex.uc (x=284, bounds are 59<->277) [code: points-out-of-bounds]

⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 487 but it should be 638 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 549 among a set of 12 math glyphs.
    The following math glyphs have a different width, though:
    width=510: multiply
    width=481: divide
    width=544: less
    width=554: equal, greater [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094D0928.post
  • uni094D092F.post
  • uni094D0930.post
  • uni094A0902
  • uni091B094D0930094D092F
    ... and 50 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 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=208,Y=644 (should be at cap-height 643?)
    • dollar (U+0024): X=225,Y=644 (should be at cap-height 643?)
    • dollar (U+0024): X=305,Y=644 (should be at cap-height 643?)
    • dollar (U+0024): X=310,Y=644 (should be at cap-height 643?)
    • percent (U+0025): X=159,Y=645 (should be at cap-height 643?)
    • percent (U+0025): X=205,Y=645 (should be at cap-height 643?)
    • percent (U+0025): X=159,Y=645 (should be at cap-height 643?)
    • parenright (U+0029): X=134,Y=-2.5 (should be at baseline 0?)
    • comma (U+002C): X=131,Y=1 (should be at baseline 0?)
      ... and 89 others [code: found-misalignments]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • asterisk (U+002A): Quad(QuadBez { p0: (340.0, 501.0), p1: (283.0, 480.0), p2: (201.0, 492.0) })/Quad(QuadBez { p0: (201.0, 492.0), p1: (204.0, 492.0), p2: (230.0, 478.0) }) = 8.325650330426804 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Rajdhani-SemiBold.ttf
Dehinted Size 232780
Hinted Size 390340
Increase 157560
Change 67.7 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
76 993 32 428 290
9% 117% 4% 50% 34%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[8] ofl/ramabhadra
🔥 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' is listed in production metadata, but only 0.49% 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 Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Ramabhadra-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) 2012 andhra pradesh society for knowledge networks (fonts.siliconandhra.org). digitized data copyright (c) 2010-2012 google corporation." [code: bad-notice-format]

  • 🔥 FAIL Ramabhadra-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) 2012 andhra pradesh society for knowledge networks (fonts.siliconandhra.org). digitized data copyright (c) 2010-2012 google corporation." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2012 andhra pradesh society for knowledge networks (fonts.siliconandhra.org). digitized data copyright (c) 2010-2012 google corporation." [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/ramabhadra/Ramabhadra-Regular.ttf missing required codepoints:
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x20AC: EURO SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/ramabhadra/Ramabhadra-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+0950 DEVANAGARI OM: try adding devanagari
  • U+20B9 INDIAN RUPEE SIGN: try adding one of: kannada, devanagari, ol-chiki, gujarati, oriya, tamil, bengali, latin-ext, gurmukhi, malayalam
  • U+2103 DEGREE CELSIUS: try adding math
  • U+2109 DEGREE FAHRENHEIT: try adding math
  • U+2153 VULGAR FRACTION ONE THIRD: try adding symbols
  • U+2190 LEFTWARDS ARROW: try adding one of: math, symbols
  • U+2192 RIGHTWARDS ARROW: try adding one of: math, symbols

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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]
[1] ofl/ramabhadra/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 andhra pradesh society for knowledge networks (fonts.siliconandhra.org). digitized data copyright (c) 2010-2012 google corporation."

which does not match the expected format, similar to:

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

[3] ofl/ramabhadra/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/ramabhadra/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[28] ofl/ramabhadra/Ramabhadra-Regular.ttf
🔥 FAIL Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • glyph226
  • U0C15_U0C4D_U0C37_U0C4D_U0C30_U [code: duplicated-glyph-names]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL These glyph names occur more than once: "U0C15_U0C4D_U0C37_U0C4D_U0C30_U, glyph226" [code: duplicated-glyph-names]

  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]

  • ⚠️ WARN The following glyph names are too long: "U0C15_U0C4D_U0C37_U0C40_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C3F_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C46_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C47_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C4C_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C3E_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C4A_U0C30_U0C4D.blws, U0C15_U0C4D_U0C37_U0C4B_U0C30_U0C4D.blws" [code: legacy-long-names]

🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Ramabhadra Ramabhadra
Subfamily Name Regular Regular
Full Name Ramabhadra Ramabhadra Regular
Postscript Name Ramabhadra Ramabhadra-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 = 'UNKNOWN' [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+0951 (U0951)
  • U+0952 (U0952)
  • U+0C3E (U0C3E)
  • U+0C3F (U0C3F)
  • U+0C40 (U0C40)
  • U+0C46 (U0C46)
  • U+0C47 (U0C47)
  • U+0C48 (U0C48)
  • U+0C4A (U0C4A)
    ... and 7 others [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:
  • U0C30_U0C4D [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 830 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 487 but it should be 618 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:

  • U0951 (U+0951): found 2, expected one of: [1]
  • U0952 (U+0952): found 3, expected one of: [1]
  • U0C56 (U+0C56): found 3, expected one of: [1, 2, 4] [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 484 among a set of 7 math glyphs.
    The following math glyphs have a different width, though:
    width=531: U2212
    width=455: divide [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • U0C15_U0C4D_U0C37_U0C4D_U0C30_U
  • glyph226
  • glyph225
  • glyph226
  • glyph227
  • U0C2A_U0C4D_U0C2A_U0C41
  • U0C58_U0C3E.abvs
  • U0C58_U0C41.psts
    ... and 18 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • U0951 (U+0951) has a path with no bounds (probably a single point)
  • U0952 (U+0952) has a path with no bounds (probably a single point)
  • U0952 (U+0952) has a path with no bounds (probably a single point)
  • U0C56 (U+0C56) 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:
  • M (U+004D): Quad(QuadBez { p0: (530.0, 369.5), p1: (530.0, 381.0), p2: (534.0, 471.0) })/Quad(QuadBez { p0: (534.0, 471.0), p1: (505.0, 362.0), p2: (491.0, 319.0) }) = 12.353891054587223 degrees
  • M (U+004D): Line(Line { p0: (200.0, 319.0), p1: (157.0, 471.0) })/Quad(QuadBez { p0: (157.0, 471.0), p1: (162.0, 377.0), p2: (162.0, 346.0) }) = 12.751150544879945 degrees
  • U0C6B (U+0C6B): Quad(QuadBez { p0: (328.0, 107.0), p1: (328.0, 117.0), p2: (326.0, 126.0) })/Quad(QuadBez { p0: (326.0, 126.0), p1: (328.0, 121.0), p2: (318.0, 134.0) }) = 9.272601777200244 degrees
  • U0C37_U0C3E: Line(Line { p0: (406.0, 10.0), p1: (409.0, 31.0) })/Quad(QuadBez { p0: (409.0, 31.0), p1: (404.0, 15.0), p2: (375.5, 4.0) }) = 9.223922282105367 degrees
  • U0C19_U0C4A: Line(Line { p0: (227.0, 338.0), p1: (279.0, 338.0) })/Quad(QuadBez { p0: (279.0, 338.0), p1: (249.0, 345.0), p2: (225.0, 371.0) }) = 13.134022306396327 degrees
  • U0C37_U0C4A: Line(Line { p0: (406.0, 10.0), p1: (409.0, 31.0) })/Quad(QuadBez { p0: (409.0, 31.0), p1: (404.0, 15.0), p2: (375.5, 4.0) }) = 9.223922282105367 degrees
  • U0C19_U0C4B: Line(Line { p0: (227.0, 338.0), p1: (277.0, 338.0) })/Quad(QuadBez { p0: (277.0, 338.0), p1: (248.0, 345.0), p2: (223.5, 373.5) }) = 13.570434385161501 degrees
  • U0C37_U0C4B: Line(Line { p0: (406.0, 10.0), p1: (409.0, 31.0) })/Quad(QuadBez { p0: (409.0, 31.0), p1: (404.0, 15.0), p2: (375.5, 4.0) }) = 9.223922282105367 degrees
  • U0C37_U0C4C: Line(Line { p0: (406.0, 10.0), p1: (409.0, 31.0) })/Quad(QuadBez { p0: (409.0, 31.0), p1: (404.0, 15.0), p2: (375.5, 4.0) }) = 9.223922282105367 degrees
    ... and 7 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:
  • U0C60 (U+0C60): Line(Line { p0: (728.0, 364.0), p1: (1033.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
  • U0C18_U0C3E: Line(Line { p0: (503.0, 364.0), p1: (808.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
  • U0C2E_U0C3E: Line(Line { p0: (478.0, 364.0), p1: (782.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
  • U0C2F_U0C3E: Line(Line { p0: (718.0, 364.0), p1: (1020.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
  • U0C15_U0C4D_U0C37_U0C46: Line(Line { p0: (135.0, 371.0), p1: (265.0, 372.0) }) (angle: 0.44 degrees, expected: 0.00 degrees)
  • U0C1E_U0C4A: Line(Line { p0: (587.0, 358.0), p1: (586.0, 228.0) }) (angle: -90.44 degrees, expected: -90.00 degrees)
  • U0C2E_U0C4B: Line(Line { p0: (492.0, 364.0), p1: (797.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
  • U0C2F_U0C4B: Line(Line { p0: (718.0, 364.0), p1: (1020.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
  • U0C58_U0C42.psts: Line(Line { p0: (602.0, 364.0), p1: (907.0, 365.0) }) (angle: 0.19 degrees, expected: 0.00 degrees)
    ... and 70 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 'GPK ' 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 "Ramabhadra" 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:
Ramabhadra-Regular.ttf
Dehinted Size 328416
Hinted Size 733308
Increase 404892
Change 123.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 7 -r 28 -G 50 -x 13 -D telu -f telu -w G -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f telu -w G -X "") [code: ok]

[2] ofl/ramabhadra/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (Ramabhadra). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "Ramabhadra-Regular.ttf" does not match post_script_name="Ramabhadra". [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 purushothkumarguttula 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
19 27 11 108 68
9% 12% 5% 50% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[9] ofl/ramaraja
🔥 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 Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Ramaraja-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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2010, sebastian kosch (sebastian@aldusleaf.org), with reserved font name 'crimson'" [code: bad-notice-format]

  • 🔥 FAIL Ramaraja-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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2010, sebastian kosch (sebastian@aldusleaf.org), with reserved font name 'crimson'" [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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2010, sebastian kosch (sebastian@aldusleaf.org), with reserved font name 'crimson'" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/ramaraja/Ramaraja-Regular.ttf missing required codepoints:
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x2022: BULLET
  • 0x20AC: EURO SIGN
  • 0x2212: MINUS SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/ramaraja/Ramaraja-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+0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE: try adding latin-ext
  • U+021C LATIN CAPITAL LETTER YOGH: try adding latin-ext
  • U+0950 DEVANAGARI OM: try adding devanagari
  • U+20B9 INDIAN RUPEE SIGN: try adding one of: gurmukhi, tamil, devanagari, malayalam, bengali, ol-chiki, kannada, oriya, latin-ext, gujarati
  • U+2103 DEGREE CELSIUS: try adding math
  • U+2109 DEGREE FAHRENHEIT: try adding math
  • U+2153 VULGAR FRACTION ONE THIRD: try adding symbols
  • U+2190 LEFTWARDS ARROW: try adding one of: math, symbols
  • U+2192 RIGHTWARDS ARROW: try adding one of: math, symbols

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Silicon Andhra (fonts.siliconandhra.org). Copyright (c) 2010, Sebastian Kosch (sebastian@aldusleaf.org), with Reserved Font Name 'Crimson'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[2] ofl/ramaraja/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (Ramaraja). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "Ramaraja-Regular.ttf" does not match post_script_name="Ramaraja". [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 appajiambarishadarbha 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]
[32] ofl/ramaraja/Ramaraja-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+00C9 [code: missing-case-counterparts]

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

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

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

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

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

  • 🔥 FAIL Missing case-swapping counterpart for U+00C5 [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:
  • uni0214 (U+0214): found 0, expected one of: [3, 4, 5]
  • uni021C (U+021C): found 0, expected one of: [1, 2] [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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]

  • ⚠️ WARN The following glyph names are too long: "U0C2F_U0C4C.abvs_U0C30_U0C4D.blwf, U0C24_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C4C.abvs_U0C30_U0C4D.blwf, U0C17_U0C4D.haln_U0C30_U0C4D.blwf, U0C30_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C4D.haln_U0C30_U0C4D.blwf, U0C20_U0C4D.haln_U0C30_U0C4D.blwf, U0C37_U0C4D.haln_U0C30_U0C4D.blwf, U0C25_U0C42.psts_U0C30_U0C4D.blwf, U0C2D_U0C3E.abvs_U0C30_U0C4D.blwf, U0C37_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1C_U0C46.abvs_U0C30_U0C4D.blwf, U0C36_U0C47.abvs_U0C30_U0C4D.blwf, U0C26_U0C4A.abvs_U0C30_U0C4D.blwf, U0C21_U0C47.abvs_U0C30_U0C4D.blwf, U0C39_U0C4C.abvs_U0C30_U0C4D.blwf, U0C37_U0C40.abvs_U0C30_U0C4D.blwf, U0C24_U0C4B.abvs_U0C30_U0C4D.blwf, U0C22_U0C4D.haln_U0C30_U0C4D.blwf, U0C2D_U0C4D.haln_U0C30_U0C4D.blwf, U0C2A_U0C47.abvs_U0C30_U0C4D.blwf, U0C2A_U0C41.psts_U0C30_U0C4D.blwf, U0C16_U0C46.abvs_U0C30_U0C4D.blwf, U0C28_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2C_U0C40.abvs_U0C30_U0C4D.blwf, U0C25_U0C4A.abvs_U0C30_U0C4D.blwf, U0C18_U0C4D.haln_U0C30_U0C4D.blwf, U0C1C_U0C42.psts_U0C30_U0C4D.blwf, U0C2B_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C4D.haln_U0C30_U0C4D.blwf, U0C2B_U0C41.psts_U0C30_U0C4D.blwf, U0C25_U0C3F.abvs_U0C30_U0C4D.blwf, U0C20_U0C40.abvs_U0C30_U0C4D.blwf, U0C16_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1C_U0C40.abvs_U0C30_U0C4D.blwf, U0C37_U0C41.psts_U0C30_U0C4D.blwf, U0C1B_U0C40.abvs_U0C30_U0C4D.blwf, U0C24_U0C3F.abvs_U0C30_U0C4D.blwf, U0C38_U0C40.abvs_U0C30_U0C4D.blwf, U0C24_U0C4C.abvs_U0C30_U0C4D.blwf, U0C33_U0C42.psts_U0C30_U0C4D.blwf, U0C23_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C4B.abvs_U0C30_U0C4D.blwf, U0C33_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C4B.abvs_U0C30_U0C4D.blwf, U0C19_U0C40.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4B.abvs_U0C30_U0C4D.blwf, U0C33_U0C4A.abvs_U0C30_U0C4D.blwf, U0C24_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4B.abvs_U0C30_U0C4D.blwf, U0C30_U0C4C.abvs_U0C30_U0C4D.blwf, U0C36_U0C4D.haln_U0C30_U0C4D.blwf, U0C19_U0C41.psts_U0C30_U0C4D.blwf, U0C2A_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C41.psts_U0C30_U0C4D.blwf, U0C2E_U0C41.psts_U0C30_U0C4D.blwf, U0C1F_U0C46.abvs_U0C30_U0C4D.blwf, U0C39_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C40.abvs_U0C30_U0C4D.blwf, U0C1F_U0C47.abvs_U0C30_U0C4D.blwf, U0C23_U0C4C.abvs_U0C30_U0C4D.blwf, U0C19_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C4A.abvs_U0C30_U0C4D.blwf, U0C39_U0C46.abvs_U0C30_U0C4D.blwf, U0C36_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2F_U0C3F.abvs_U0C30_U0C4D.blwf, U0C28_U0C4A.abvs_U0C30_U0C4D.blwf, U0C37_U0C46.abvs_glyph473_U0C56_U0C, U0C23_U0C4A.abvs_U0C30_U0C4D.blwf, U0C30_U0C40.abvs_U0C30_U0C4D.blwf, U0C2A_U0C46.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4D.haln_U0C30_U0C4D.blwf, U0C24_U0C42.psts_U0C30_U0C4D.blwf, U0C26_U0C46.abvs_U0C30_U0C4D.blwf, U0C37_U0C47.abvs_U0C30_U0C4D.blwf, U0C27_U0C4D.haln_U0C30_U0C4D.blwf, U0C33_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C4C.abvs_U0C30_U0C4D.blwf, U0C36_U0C42.psts_U0C30_U0C4D.blwf, U0C2F_U0C3E.abvs_U0C30_U0C4D.blwf, U0C24_U0C40.abvs_U0C30_U0C4D.blwf, U0C39_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4A.abvs_U0C30_U0C4D.blwf, U0C24_U0C4A.abvs_U0C30_U0C4D.blwf, U0C25_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1D_U0C3E.abvs_U0C30_U0C4D.blwf, U0C33_U0C4B.abvs_U0C30_U0C4D.blwf, U0C16_U0C40.abvs_U0C30_U0C4D.blwf, U0C38_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1E_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4C.abvs_U0C30_U0C4D.blwf, U0C38_U0C4C.abvs_U0C30_U0C4D.blwf, U0C35_U0C4D.haln_U0C30_U0C4D.blwf, U0C17_U0C47.abvs_U0C30_U0C4D.blwf, U0C1E_U0C41.psts_U0C30_U0C4D.blwf, U0C23_U0C46.abvs_U0C30_U0C4D.blwf, U0C2A_U0C40.abvs_U0C30_U0C4D.blwf, U0C33_U0C4D.haln_U0C30_U0C4D.blwf, U0C31_U0C3E.abvs_U0C30_U0C4D.blwf, U0C16_U0C47.abvs_U0C30_U0C4D.blwf, U0C1B_U0C42.psts_U0C30_U0C4D.blwf, U0C38_U0C46.abvs_U0C56_U0C24_U0C4D.blwf.blws_glyph536, U0C33_U0C46.abvs_U0C30_U0C4D.blwf, U0C2B_U0C47.abvs_U0C30_U0C4D.blwf, U0C32_U0C4A.abvs_U0C30_U0C4D.blwf, U0C39_U0C3F.abvs_U0C30_U0C4D.blwf, U0C21_U0C40.abvs_U0C30_U0C4D.blwf, U0C39_U0C40.abvs_U0C30_U0C4D.blwf, U0C27_U0C46.abvs_U0C30_U0C4D.blwf, U0C35_U0C40.abvs_U0C30_U0C4D.blwf, U0C30_U0C4B.abvs_U0C30_U0C4D.blwf, U0C20_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1B_U0C47.abvs_U0C30_U0C4D.blwf, U0C22_U0C4C.abvs_U0C30_U0C4D.blwf, U0C33_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1B_U0C41.psts_U0C30_U0C4D.blwf, U0C2C_U0C41.psts_U0C30_U0C4D.blwf, U0C20_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1D_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1D_U0C41.psts_U0C30_U0C4D.blwf, U0C18_U0C41.psts_U0C30_U0C4D.blwf, U0C2D_U0C42.psts_U0C30_U0C4D.blwf, U0C2F_U0C42.psts_U0C30_U0C4D.blwf, U0C17_U0C3F.abvs_U0C30_U0C4D.blwf, U0C28_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1A_U0C3E.abvs_U0C30_U0C4D.blwf, U0C18_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1C_U0C41.psts_U0C30_U0C4D.blwf, U0C33_U0C41.psts_U0C30_U0C4D.blwf, U0C15_U0C46_U0C56_U0C37_U0C4D.akhn, U0C19_U0C42.psts_U0C30_U0C4D.blwf, U0C15_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4D.haln_U0C30_U0C4D.blwf, U0C32_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4C.abvs_U0C30_U0C4D.blwf, U0C30_U0C46.abvs_U0C30_U0C4D.blwf, U0C2B_U0C3F.abvs_U0C30_U0C4D.blwf, U0C26_U0C41.psts_U0C30_U0C4D.blwf, U0C15_U0C4A_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1F_U0C4A.abvs_U0C30_U0C4D.blwf, U0C28_U0C42.psts_U0C30_U0C4D.blwf, U0C2E_U0C47.abvs_U0C30_U0C4D.blwf, U0C21_U0C4C.abvs_U0C30_U0C4D.blwf, U0C21_U0C46.abvs_U0C30_U0C4D.blwf, U0C39_U0C4B.abvs_U0C30_U0C4D.blwf, U0C19_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1C_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C47.abvs_U0C30_U0C4D.blwf, U0C32_U0C4B.abvs_U0C30_U0C4D.blwf, U0C31_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4B.abvs_U0C30_U0C4D.blwf, U0C18_U0C3F.abvs_U0C30_U0C4D.blwf, U0C32_U0C4C.abvs_U0C30_U0C4D.blwf, U0C31_U0C4D.haln_U0C30_U0C4D.blwf, U0C25_U0C41.psts_U0C30_U0C4D.blwf, U0C2F_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C41.psts_U0C30_U0C4D.blwf, U0C23_U0C47.abvs_U0C30_U0C4D.blwf, U0C35_U0C3F.abvs_U0C30_U0C4D.blwf, U0C32_U0C4D.haln_U0C30_U0C4D.blwf, U0C2C_U0C3E.abvs_U0C30_U0C4D.blwf, U0C18_U0C40.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4B.abvs_U0C30_U0C4D.blwf, U0C36_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1E_U0C40.abvs_U0C30_U0C4D.blwf, U0C22_U0C41.psts_U0C30_U0C4D.blwf, U0C21_U0C41.psts_U0C30_U0C4D.blwf, U0C26_U0C4C.abvs_U0C30_U0C4D.blwf, U0C21_U0C3F.abvs_U0C30_U0C4D.blwf, U0C35_U0C4A.abvs_U0C30_U0C4D.blwf, U0C38_U0C4A.abvs_U0C30_U0C4D.blwf, U0C16_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4C.abvs_U0C30_U0C4D.blwf, U0C23_U0C3F.abvs_U0C30_U0C4D.blwf, U0C36_U0C4C.abvs_U0C30_U0C4D.blwf, U0C27_U0C41.psts_U0C30_U0C4D.blwf, U0C2E_U0C40.abvs_U0C30_U0C4D.blwf, U0C28_U0C47.abvs_U0C30_U0C4D.blwf, U0C25_U0C40.abvs_U0C30_U0C4D.blwf, U0C38_U0C3F.abvs_U0C30_U0C4D.blwf, U0C36_U0C40.abvs_U0C30_U0C4D.blwf.blws, U0C39_U0C47.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4C.abvs_U0C30_U0C4D.blwf, U0C22_U0C3E.abvs_U0C30_U0C4D.blwf, U0C26_U0C4B.abvs_U0C30_U0C4D.blwf, U0C28_U0C4D.haln_U0C30_U0C4D.blwf, U0C2E_U0C4D.haln_U0C30_U0C4D.blwf, U0C17_U0C42.psts_U0C30_U0C4D.blwf, U0C23_U0C42.psts_U0C30_U0C4D.blwf, U0C37_U0C4B.abvs_U0C30_U0C4D.blwf, U0C38_U0C41.psts_U0C30_U0C4D.blwf, U0C20_U0C4C.abvs_U0C30_U0C4D.blwf, U0C36_U0C3F.abvs_U0C30_U0C4D.blwf, U0C20_U0C41.psts_U0C30_U0C4D.blwf, U0C31_U0C42.psts_U0C30_U0C4D.blwf, U0C15_U0C46.abvs_U0C30_U0C4D.blwf, U0C33_U0C3E.abvs_U0C30_U0C4D.blwf, U0C23_U0C4D.haln_U0C30_U0C4D.blwf, U0C17_U0C46.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4A.abvs_U0C30_U0C4D.blwf, U0C15_U0C41_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C27_U0C4B.abvs_U0C30_U0C4D.blwf, U0C24_U0C41.psts_U0C30_U0C4D.blwf, U0C25_U0C46.abvs_U0C30_U0C4D.blwf, U0C32_U0C46.abvs_U0C30_U0C4D.blwf, U0C2B_U0C46.abvs_U0C30_U0C4D.blwf, U0C32_U0C40.abvs_U0C30_U0C4D.blwf, U0C18_U0C46.abvs_U0C30_U0C4D.blwf, U0C15_U0C46_U0C56_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1D_U0C46.abvs_U0C30_U0C4D.blwf, U0C2E_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1E_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1A_U0C40.abvs_U0C30_U0C4D.blwf, U0C28_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C40_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C21_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C4D.haln_U0C30_U0C4D.blwf, U0C1F_U0C41.psts_U0C30_U0C4D.blwf, U0C32_U0C42.psts_U0C30_U0C4D.blwf, U0C32_U0C41.psts_U0C30_U0C4D.blwf, U0C2B_U0C3E.abvs_U0C30_U0C4D.blwf, U0C18_U0C47.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4D.haln_U0C30_U0C4D.blwf, U0C33_U0C40.abvs_U0C30_U0C4D.blwf, U0C35_U0C41.psts_U0C30_U0C4D.blwf, U0C2C_U0C46.abvs_U0C30_U0C4D.blwf, U0C18_U0C4B.abvs_U0C30_U0C4D.blwf, U0C32_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4A.abvs_U0C30_U0C4D.blwf, U0C17_U0C40.abvs_U0C30_U0C4D.blwf, U0C15_U0C4B_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C15_U0C3F_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C2E_U0C46.abvs_U0C30_U0C4D.blwf, U0C2B_U0C40.abvs_U0C30_U0C4D.blwf, U0C35_U0C4C.abvs_U0C30_U0C4D.blwf, U0C37_U0C3E.abvs_U0C30_U0C4D.blwf, U0C22_U0C40.abvs_U0C30_U0C4D.blwf, U0C1E_U0C46.abvs_U0C30_U0C4D.blwf, U0C1A_U0C41.psts_U0C30_U0C4D.blwf, U0C22_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2A_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2D_U0C41.psts_U0C30_U0C4D.blwf, U0C31_U0C40.abvs_U0C30_U0C4D.blwf, U0C31_U0C47.abvs_U0C30_U0C4D.blwf, U0C16_U0C42.psts_U0C30_U0C4D.blwf, U0C23_U0C40.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4D.haln_U0C30_U0C4D.blwf, U0C24_U0C47.abvs_U0C30_U0C4D.blwf, U0C22_U0C47.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4B.abvs_U0C30_U0C4D.blwf, U0C20_U0C46.abvs_U0C30_U0C4D.blwf, U0C27_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4A.abvs_U0C30_U0C4D.blwf, U0C30_U0C4D.haln_U0C30_U0C4D.blwf, U0C16_U0C41.psts_U0C30_U0C4D.blwf, U0C1B_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4B.abvs_U0C30_U0C4D.blwf, U0C36_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C46.abvs_U0C30_U0C4D.blwf, U0C1A_U0C42.psts_U0C30_U0C4D.blwf, U0C31_U0C4B.abvs_U0C30_U0C4D.blwf, U0C37_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2B_U0C42.psts_U0C30_U0C4D.blwf, U0C2D_U0C3F.abvs_U0C30_U0C4D.blwf, U0C28_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1B_U0C46.abvs_U0C30_U0C4D.blwf, U0C2C_U0C47.abvs_U0C30_U0C4D.blwf, U0C1C_U0C3E.abvs_U0C30_U0C4D.blwf, U0C15_U0C4C_U0C37_U0C4D.akhn_glyph494, U0C27_U0C3F.abvs_U0C30_U0C4D.blwf, U0C26_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C3F.abvs_U0C30_U0C4D.blwf, U0C28_U0C40.abvs_U0C30_U0C4D.blwf, U0C28_U0C41.psts_U0C30_U0C4D.blwf, U0C30_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C4B.abvs_U0C30_U0C4D.blwf, U0C35_U0C47.abvs_U0C30_U0C4D.blwf, U0C30_U0C41.psts_U0C30_U0C4D.blwf, U0C1D_U0C47.abvs_U0C30_U0C4D.blwf, U0C17_U0C4C.abvs_U0C30_U0C4D.blwf, U0C32_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C4A.abvs_U0C30_U0C4D.blwf, U0C18_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4C.abvs_U0C30_U0C4D.blwf, U0C23_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1F_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4B.abvs_U0C30_U0C4D.blwf, U0C27_U0C47.abvs_U0C30_U0C4D.blwf, U0C25_U0C47.abvs_U0C30_U0C4D.blwf, U0C17_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C3E.abvs_U0C30_U0C4D.blwf, U0C18_U0C3E.abvs_U0C30_U0C4D.blwf, U0C15_U0C47_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C2E_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2D_U0C40.abvs_U0C30_U0C4D.blwf, U0C1C_U0C3F.abvs_U0C30_U0C4D.blwf, U0C17_U0C4A.abvs_U0C30_U0C4D.blwf, U0C27_U0C4A.abvs_U0C30_U0C4D.blwf, U0C37_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2A_U0C42.psts_U0C30_U0C4D.blwf, U0C39_U0C42.psts_U0C30_U0C4D.blwf, U0C26_U0C40.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2F_U0C47.abvs_U0C30_U0C4D.blwf, U0C38_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4B.abvs_U0C30_U0C4D.blwf, U0C20_U0C4B.abvs_U0C30_U0C4D.blwf, U0C30_U0C47.abvs_U0C30_U0C4D.blwf, U0C1A_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2D_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4D.haln_U0C30_U0C4D.blwf, U0C2C_U0C4D.haln_U0C30_U0C4D.blwf, U0C35_U0C46.abvs_U0C30_U0C4D.blwf, U0C26_U0C3E.abvs_U0C30_U0C4D.blwf, U0C38_U0C3E.abvs_U0C30_U0C4D.blwf, U0C39_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C37_U0C4D.akhn_U0C4D.haln_U0C30_U0C4D.blwf, U0C26_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C42_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C16_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2F_U0C4B.abvs_U0C30_U0C4D.blwf, U0C21_U0C42.psts_U0C30_U0C4D.blwf, U0C18_U0C42.psts_U0C30_U0C4D.blwf, U0C27_U0C42.psts_U0C30_U0C4D.blwf, U0C21_U0C3E.abvs_U0C30_U0C4D.blwf, U0C16_U0C3E.abvs_U0C30_U0C4D.blwf, U0C20_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C4D.haln_U0C30_U0C4D.blwf, U0C1F_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2F_U0C41.psts_U0C30_U0C4D.blwf, U0C20_U0C4A.abvs_U0C30_U0C4D.blwf, U0C22_U0C42.psts_U0C30_U0C4D.blwf, U0C37_U0C42.psts_U0C30_U0C4D.blwf, U0C17_U0C3E.abvs_U0C30_U0C4D.blwf, U0C31_U0C46.abvs_U0C30_U0C4D.blwf, U0C35_U0C3E.abvs_U0C30_U0C4D.blwf, U0C27_U0C4C.abvs_U0C30_U0C4D.blwf, U0C17_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1B_U0C3E.abvs_U0C30_U0C4D.blwf, U0C35_U0C42.psts_U0C30_U0C4D.blwf, U0C15_U0C40.abvs_U0C30_U0C4D.blwf, U0C2C_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2F_U0C40.abvs_U0C30_U0C4D.blwf, U0C16_U0C4D.haln_U0C30_U0C4D.blwf, U0C2D_U0C47.abvs_U0C30_U0C4D.blwf, U0C20_U0C47.abvs_U0C30_U0C4D.blwf, U0C1F_U0C42.psts_U0C30_U0C4D.blwf, U0C19_U0C4A.abvs_U0C30_U0C4D.blwf, U0C26_U0C42.psts_U0C30_U0C4D.blwf, U0C19_U0C47.abvs_U0C30_U0C4D.blwf, U0C23_U0C41.psts_U0C30_U0C4D.blwf, U0C22_U0C46.abvs_U0C30_U0C4D.blwf, U0C38_U0C47.abvs_U0C30_U0C4D.blwf, U0C1F_U0C40.abvs_U0C30_U0C4D.blwf, U0C15_U0C42.psts_U0C30_U0C4D.blwf, U0C30_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2C_U0C42.psts_U0C30_U0C4D.blwf, U0C1E_U0C47.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4A.abvs_U0C30_U0C4D.blwf, U0C15_U0C46_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1A_U0C4A.abvs_U0C30_U0C4D.blwf, U0C22_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C3E_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C27_U0C40.abvs_U0C30_U0C4D.blwf, U0C1A_U0C46.abvs_U0C30_U0C4D.blwf, U0C26_U0C47.abvs_U0C30_U0C4D.blwf, U0C2F_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4B.abvs_U0C30_U0C4D.blwf, U0C39_U0C4A.abvs_U0C30_U0C4D.blwf, U0C24_U0C4D.haln_U0C30_U0C4D.blwf, U0C1C_U0C4D.haln_U0C30_U0C4D.blwf, U0C2A_U0C4D.haln_U0C30_U0C4D.blwf, U0C30_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4D.haln_U0C30_U0C4D.blwf, U0C2E_U0C42.psts_U0C30_U0C4D.blwf, U0C2E_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1D_U0C3F.abvs_U0C30_U0C4D.blwf, U0C19_U0C3F.abvs_U0C30_U0C4D.blwf, U0C22_U0C3F.abvs_U0C30_U0C4D.blwf, U0C37_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C40.abvs_U0C30_U0C4D.blwf, U0C1A_U0C47.abvs_U0C30_U0C4D.blwf, U0C16_U0C4A.abvs_U0C30_U0C4D.blwf, U0C35_U0C4B.abvs_U0C30_U0C4D.blwf" [code: legacy-long-names]

🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Ramaraja Ramaraja
Subfamily Name Regular Regular
Full Name Ramaraja Ramaraja Regular
Postscript Name Ramaraja Ramaraja-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 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+0C3E (U0C3E)
  • U+0C3F (U0C3F)
  • U+0C40 (U0C40)
  • U+0C46 (U0C46)
  • U+0C47 (U0C47)
  • U+0C48 (U0C48)
  • U+0C4A (U0C4A)
  • U+0C4B (U0C4B)
  • U+0C4C (U0C4C)
    ... and 4 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+0C43 (U0C43)
  • U+0C44 (U0C44) [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:
  • U0C43
  • U0C44
  • U0C56
  • U0C15_U0C4D.blwf
  • U0C16_U0C4D.blwf
  • U0C17_U0C4D.blwf
  • U0C18_U0C4D.blwf
  • U0C19_U0C4D.blwf
  • U0C1A_U0C4D.blwf
    ... and 92 others [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 750 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 371 but it should be 535 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 base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200C ZERO WIDTH NON-JOINER has non-zero advance width: 96 [code: non-zero-advance]

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

⚠️ 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 300 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:
    width=317: divide
    width=329: less, greater
    width=336: multiply [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • _1
  • _1.015
  • _1.013
  • _1.012
  • _00154
  • _00155
  • _00156
  • _00157
    ... and 407 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:
  • seven (U+0037): from (44.0, 420.0) to (234.0, 420.0) is colinear with segment from (234.0, 420.0) to (294.0, 423.0)
  • B (U+0042): from (72.0, 434.0) to (119.0, 434.0) is colinear with segment from (119.0, 434.0) to (220.0, 436.0)
  • E (U+0045): from (72.0, 434.0) to (119.0, 434.0) is colinear with segment from (119.0, 434.0) to (333.0, 438.0)
  • F (U+0046): from (72.0, 434.0) to (119.0, 434.0) is colinear with segment from (119.0, 434.0) to (333.0, 438.0)
  • M (U+004D): from (436.0, 57.0) to (436.0, 98.0) is colinear with segment from (436.0, 98.0) to (430.0, 301.0)
  • P (U+0050): from (72.0, 434.0) to (119.0, 434.0) is colinear with segment from (119.0, 434.0) to (220.0, 436.0)
  • R (U+0052): from (72.0, 434.0) to (119.0, 434.0) is colinear with segment from (119.0, 434.0) to (220.0, 436.0)
  • z (U+007A): from (168.0, 251.0) to (142.0, 251.0) is colinear with segment from (142.0, 251.0) to (100.0, 252.0)
  • registered (U+00AE): from (154.0, 330.0) to (174.0, 330.0) is colinear with segment from (174.0, 330.0) to (214.0, 331.0)
    ... and 53 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:
  • U0C59 (U+0C59) has a counter-clockwise outer contour
  • U0C58_U0C3E.abvs has a counter-clockwise outer contour
  • U0C58_U0C3E.abvs has a counter-clockwise outer contour
  • U0C59_U0C3E.abvs has a counter-clockwise outer contour
  • U0C59_U0C3E.abvs has a counter-clockwise outer contour
  • U0C58_U0C4A.abvs has a counter-clockwise outer contour
  • U0C58_U0C4A.abvs has a counter-clockwise outer contour
  • U0C58_U0C4B.abvs has a counter-clockwise outer contour
  • U0C58_U0C4B.abvs 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:
  • at (U+0040): Quad(QuadBez { p0: (273.0, 62.0), p1: (273.0, 67.0), p2: (275.0, 71.0) })/Quad(QuadBez { p0: (275.0, 71.0), p1: (250.0, 26.0), p2: (211.0, 5.0) }) = 2.4895529219992745 degrees
  • threequarters (U+00BE): Quad(QuadBez { p0: (162.0, 327.0), p1: (150.0, 318.0), p2: (132.0, 315.0) })/Quad(QuadBez { p0: (132.0, 315.0), p1: (149.0, 315.0), p2: (165.0, 304.0) }) = 9.46232220802565 degrees
  • U0C06 (U+0C06): Quad(QuadBez { p0: (367.0, 182.5), p1: (378.0, 183.0), p2: (391.0, 182.0) })/Quad(QuadBez { p0: (391.0, 182.0), p1: (348.0, 186.0), p2: (324.0, 208.0) }) = 0.9158403149498427 degrees
  • U0C09 (U+0C09): Quad(QuadBez { p0: (347.0, 90.0), p1: (404.0, 90.0), p2: (426.0, 134.0) })/Quad(QuadBez { p0: (426.0, 134.0), p1: (412.0, 114.0), p2: (386.0, 107.5) }) = 8.426969021480678 degrees
  • U0C16 (U+0C16): Quad(QuadBez { p0: (151.0, 291.0), p1: (120.0, 304.0), p2: (82.0, 296.0) })/Quad(QuadBez { p0: (82.0, 296.0), p1: (108.0, 302.0), p2: (133.0, 282.0) }) = 1.1059587522890146 degrees
  • U0C1A (U+0C1A): Quad(QuadBez { p0: (65.5, 147.0), p1: (82.0, 181.0), p2: (117.0, 201.0) })/Quad(QuadBez { p0: (117.0, 201.0), p1: (105.0, 196.0), p2: (85.5, 187.5) }) = 7.125016348901757 degrees
  • U0C1B (U+0C1B): Quad(QuadBez { p0: (65.5, 147.0), p1: (82.0, 181.0), p2: (117.0, 201.0) })/Quad(QuadBez { p0: (117.0, 201.0), p1: (105.0, 196.0), p2: (85.5, 187.5) }) = 7.125016348901757 degrees
  • U0C23 (U+0C23): Quad(QuadBez { p0: (364.0, 62.0), p1: (348.0, 31.0), p2: (317.0, 27.0) })/Quad(QuadBez { p0: (317.0, 27.0), p1: (365.0, 27.0), p2: (395.0, 66.0) }) = 7.352379359892374 degrees
  • U0C24 (U+0C24): Quad(QuadBez { p0: (321.0, 114.0), p1: (377.0, 142.0), p2: (370.0, 207.0) })/Quad(QuadBez { p0: (370.0, 207.0), p1: (367.0, 186.0), p2: (352.0, 169.0) }) = 14.276728013802643 degrees
    ... and 130 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:
  • k (U+006B): Line(Line { p0: (143.0, 380.0), p1: (142.0, 156.0) }) (angle: -90.26 degrees, expected: -90.00 degrees)
  • U0C31 (U+0C31): Line(Line { p0: (393.0, 139.0), p1: (113.0, 138.0) }) (angle: -179.80 degrees, expected: -180.00 degrees)
  • uni0C3D (U+0C3D): Line(Line { p0: (74.0, 52.0), p1: (568.0, 53.0) }) (angle: 0.12 degrees, expected: 0.00 degrees)
  • U0C46 (U+0C46): Line(Line { p0: (-224.0, 381.0), p1: (-446.0, 380.0) }) (angle: -179.74 degrees, expected: -180.00 degrees)
  • U0C47 (U+0C47): Line(Line { p0: (-224.0, 381.0), p1: (-446.0, 380.0) }) (angle: -179.74 degrees, expected: -180.00 degrees)
  • U0C48 (U+0C48): Line(Line { p0: (-224.0, 381.0), p1: (-446.0, 380.0) }) (angle: -179.74 degrees, expected: -180.00 degrees)
  • U0C68 (U+0C68): Line(Line { p0: (50.0, 94.0), p1: (412.0, 91.0) }) (angle: -0.47 degrees, expected: 0.00 degrees)
  • uni0C7E (U+0C7E): Line(Line { p0: (116.0, 76.0), p1: (571.0, 74.0) }) (angle: -0.25 degrees, expected: 0.00 degrees)
  • U0C15_U0C3E.abvs: Line(Line { p0: (43.0, 346.0), p1: (373.0, 347.0) }) (angle: 0.17 degrees, expected: 0.00 degrees)
    ... and 217 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.2.25-373a; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
⚠️ 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 "Ramaraja" 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:
Ramaraja-Regular.ttf
Dehinted Size 495488
Hinted Size 704256
Increase 208768
Change 42.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 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

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

"copyright (c) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2010, sebastian kosch (sebastian@aldusleaf.org), with reserved font name 'crimson'"

which does not match the expected format, similar to:

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

[2] ofl/ramaraja/DESCRIPTION.en_us.html
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/ramaraja/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
24 32 10 105 67
11% 15% 5% 49% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[27] ofl/rationale/Rationale-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 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 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:
  • greater (component less)
  • exclamdown (component exclam)
  • questiondown (component question) [code: transformed-components]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Rationale Rationale
Subfamily Name Regular Regular
Full Name Rationale Rationale Regular
Postscript Name Rationale-Regular Rationale-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.0110016 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 360 but it should be 411 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 436 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=349: greater, less [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
  • nonmarkingreturn
  • noBreak
  • foundryicon [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN 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 ("Rationale") that differs from the currently used family name (Rationale), which is fine. [code: legacy-familyname]

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

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • parenleft (U+0028): X=241,Y=702 (should be at cap-height 700?)
    • parenleft (U+0028): X=194,Y=702 (should be at cap-height 700?)
    • parenright (U+0029): X=87,Y=702 (should be at cap-height 700?)
    • parenright (U+0029): X=40,Y=702 (should be at cap-height 700?)
    • W (U+0057): X=526,Y=-1 (should be at baseline 0?)
    • W (U+0057): X=455,Y=-1 (should be at baseline 0?)
    • bracketleft (U+005B): X=253,Y=702 (should be at cap-height 700?)
    • bracketleft (U+005B): X=154,Y=702 (should be at cap-height 700?)
    • bracketright (U+005D): X=164,Y=702 (should be at cap-height 700?)
      ... and 22 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • numbersign (U+0023): from (367.0, 0.0) to (183.0, 442.0) is colinear with segment from (183.0, 442.0) to (145.0, 553.0)
  • numbersign (U+0023): from (143.0, 553.0) to (152.0, 438.0) is colinear with segment from (152.0, 438.0) to (152.0, 27.0)
  • numbersign (U+0023): from (156.0, 700.0) to (329.0, 279.0) is colinear with segment from (329.0, 279.0) to (365.0, 168.0)
  • numbersign (U+0023): from (367.0, 168.0) to (358.0, 281.0) is colinear with segment from (358.0, 281.0) to (358.0, 673.0)
  • M (U+004D): from (141.0, 582.0) to (149.0, 461.0) is colinear with segment from (149.0, 461.0) to (154.0, 27.0)
  • M (U+004D): from (488.0, 0.0) to (488.0, 461.0) is colinear with segment from (488.0, 461.0) to (497.0, 582.0)
  • N (U+004E): from (384.0, 0.0) to (199.0, 420.0) is colinear with segment from (199.0, 420.0) to (143.0, 581.0)
  • N (U+004E): from (153.0, 700.0) to (338.0, 272.0) is colinear with segment from (338.0, 272.0) to (393.0, 123.0)
  • V (U+0056): from (106.0, 700.0) to (213.0, 203.0) is colinear with segment from (213.0, 203.0) to (227.0, 92.0)
    ... and 28 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:
  • greater (U+003E) 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:
  • b (U+0062): Quad(QuadBez { p0: (164.5, 14.5), p1: (152.0, 29.0), p2: (146.0, 58.0) })/Line(Line { p0: (146.0, 58.0), p1: (146.0, 27.0) }) = 11.68936917543917 degrees
  • h (U+0068): Line(Line { p0: (146.0, 700.0), p1: (146.0, 450.0) })/Quad(QuadBez { p0: (146.0, 450.0), p1: (152.0, 479.0), p2: (164.5, 493.5) }) = 11.689369175439202 degrees
  • m (U+006D): Line(Line { p0: (145.0, 508.0), p1: (145.0, 450.0) })/Quad(QuadBez { p0: (145.0, 450.0), p1: (151.0, 479.0), p2: (163.5, 493.5) }) = 11.689369175439202 degrees
  • n (U+006E): Line(Line { p0: (145.0, 508.0), p1: (145.0, 450.0) })/Quad(QuadBez { p0: (145.0, 450.0), p1: (151.0, 479.0), p2: (163.5, 493.5) }) = 11.689369175439202 degrees
  • p (U+0070): Quad(QuadBez { p0: (163.5, 14.5), p1: (151.0, 29.0), p2: (145.0, 58.0) })/Line(Line { p0: (145.0, 58.0), p1: (145.0, -174.0) }) = 11.689369175439202 degrees
  • Thorn (U+00DE): Line(Line { p0: (152.0, 700.0), p1: (152.0, 492.0) })/Quad(QuadBez { p0: (152.0, 492.0), p1: (158.0, 521.0), p2: (170.5, 535.5) }) = 11.689369175439202 degrees
  • ntilde (U+00F1): Line(Line { p0: (145.0, 508.0), p1: (145.0, 450.0) })/Quad(QuadBez { p0: (145.0, 450.0), p1: (151.0, 479.0), p2: (163.5, 493.5) }) = 11.689369175439202 degrees
  • thorn (U+00FE): Line(Line { p0: (146.0, 700.0), p1: (146.0, 450.0) })/Quad(QuadBez { p0: (146.0, 450.0), p1: (152.0, 479.0), p2: (164.5, 493.5) }) = 11.689369175439202 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:
  • five (U+0035): Line(Line { p0: (142.0, 642.0), p1: (141.0, 392.0) }) (angle: -90.23 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
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 8 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 ' ' 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 "Rationale" 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:
Rationale-Regular.ttf
Dehinted Size 46300
Hinted Size 57156
Increase 10856
Change 23.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    gasp
    hdmx
    LTSH
    VDMX
    kern [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.011, Version 1.011 [code: version-not-detected]
[2] ofl/rationale/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

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

which does not match the expected format, similar to:

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

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

Lines changed:

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

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

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

[9] ofl/rationale
🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Rationale-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

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

But instead we have got:

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

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

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

But instead we have got:

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

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

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

But instead we have got:

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

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

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

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

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

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

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

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
17 31 8 109 69
8% 14% 4% 50% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[8] ofl/rozhaone
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Aleut language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ̂ (U+0302) [code: bad-sample-text]
  • 🔥 FAIL 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 RozhaOne-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/rozhaone/RozhaOne-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+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2070 SUPERSCRIPT ZERO: try adding math
  • U+2126 OHM SIGN: try adding math
  • U+212E ESTIMATED SYMBOL: try adding math
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
    ... and 10 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ 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.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 All of the fonts lack a STAT table. [code: summary]
[1] ofl/rozhaone/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2014, indian type foundry (info@indiantypefoundry.com)."

which does not match the expected format, similar to:

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

[1] ofl/rozhaone/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[28] ofl/rozhaone/RozhaOne-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0125 [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:
  • estimated (U+212E): found 0, expected one of: [1, 2] [code: no-contour]
  • ⚠️ 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:

  • uni0937094D (unencoded): found 1, expected one of: [2, 3]
  • uni094B0902 (unencoded): found 3, expected one of: [2, 4]
  • uni094C0902 (unencoded): found 4, expected one of: [2, 3]
  • uni094C0930094D0902 (unencoded): found 3, expected one of: [2, 7]
  • uni0915094D0937094D092E094D092F (unencoded): found 3, expected one of: [4, 5]
  • uni092D094D0930094D (unencoded): found 4, expected one of: [1, 2, 3]
  • uni0936094D0915 (unencoded): found 1, expected one of: [2, 3]
  • uni0936094D0915093C (unencoded): found 2, expected one of: [3]
  • uni0932094D092D094D (unencoded): found 4, expected one of: [1, 2, 3]
    ... and 1 others [code: contour-count]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]
🔥 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: * 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: * 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: * 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: * es_Latn (Spanish)
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: * 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: * fr_Latn (French)
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: ́, ̌
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: * is_Latn (Icelandic)
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: * 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: * 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: * mt_Latn (Maltese)
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: ǯ
Auxiliary orthography codepoints: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: º
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ª
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: º
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * 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: * pl_Latn (Polish)
The following auxiliary characters are missing from the font: ẞ * 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: * 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: * es_Latn (Spanish)
The following auxiliary characters are missing from the font: ª * pt_Latn (Portuguese)
The following auxiliary characters are missing from the font: º
Auxiliary orthography codepoints: * en_Latn (English)
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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0947
  • uni0948
    ... and 1 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.1' [code: parse-error]
🔥 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 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [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:
  • uni0946 [code: spacing-mark-glyphs]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 543 but it should be 710 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 505 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=485: divide, plus
    width=465: approxequal, equal
    width=483: less, greater, lessequal, greaterequal
    width=395: multiply [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094D0928.post
  • uni094D092F.post
  • uni094D0930.post
  • uni094A0902
  • uni091B094D0930094D092F
    ... 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 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:
  • uni092F (U+092F): from (178.0, 295.0) to (178.0, 292.0) is colinear with segment from (178.0, 292.0) to (177.0, 277.0)
  • uni092F093C (U+095F): from (178.0, 295.0) to (178.0, 292.0) is colinear with segment from (178.0, 292.0) to (177.0, 277.0)
  • uni092F094D: from (162.0, 295.0) to (162.0, 292.0) is colinear with segment from (162.0, 292.0) to (161.0, 277.0)
  • uni092F093C094D: from (160.0, 295.0) to (160.0, 292.0) is colinear with segment from (160.0, 292.0) to (159.0, 277.0)
  • uni0915094D0937094D092E094D092F: from (978.0, 295.0) to (978.0, 292.0) is colinear with segment from (978.0, 292.0) to (977.0, 277.0)
  • uni092F094D0928: from (178.0, 295.0) to (178.0, 292.0) is colinear with segment from (178.0, 292.0) to (177.0, 277.0)
  • uni092F094D0930: from (178.0, 295.0) to (178.0, 292.0) is colinear with segment from (178.0, 292.0) to (177.0, 277.0)
  • uni092F093C094D0930: from (178.0, 295.0) to (178.0, 292.0) is colinear with segment from (178.0, 292.0) to (177.0, 277.0)
  • uni092F094D0930094D: from (178.0, 295.0) to (178.0, 292.0) is colinear with segment from (178.0, 292.0) to (177.0, 277.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:
  • three (U+0033): Quad(QuadBez { p0: (406.5, 356.0), p1: (363.0, 318.0), p2: (282.0, 314.0) })/Quad(QuadBez { p0: (282.0, 314.0), p1: (373.0, 313.0), p2: (429.5, 273.0) }) = 3.4567231865714874 degrees
  • W (U+0057): Line(Line { p0: (630.0, 0.0), p1: (634.0, 11.0) })/Line(Line { p0: (634.0, 11.0), p1: (629.0, 0.0) }) = 4.460848258516627 degrees
  • r (U+0072): Line(Line { p0: (240.0, 460.0), p1: (240.0, 341.0) })/Quad(QuadBez { p0: (240.0, 341.0), p1: (249.0, 390.0), p2: (272.5, 421.0) }) = 10.40771131249005 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (215.0, 299.5), p1: (189.0, 272.0), p2: (145.0, 272.0) })/Quad(QuadBez { p0: (145.0, 272.0), p1: (191.0, 270.0), p2: (216.0, 245.0) }) = 2.4895529219991284 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (72.0, 245.0), p1: (97.0, 270.0), p2: (143.0, 272.0) })/Quad(QuadBez { p0: (143.0, 272.0), p1: (99.0, 272.0), p2: (73.0, 299.5) }) = 2.4895529219991284 degrees
  • registered (U+00AE): Quad(QuadBez { p0: (423.0, 360.0), p1: (423.0, 296.0), p2: (332.0, 290.0) })/Quad(QuadBez { p0: (332.0, 290.0), p1: (370.0, 290.0), p2: (391.0, 269.0) }) = 3.7722836093798127 degrees
  • threesuperior (U+00B3): Quad(QuadBez { p0: (186.5, 474.5), p1: (169.0, 459.0), p2: (137.0, 458.0) })/Quad(QuadBez { p0: (137.0, 458.0), p1: (173.0, 457.0), p2: (195.5, 441.0) }) = 3.3810508794407688 degrees
  • threequarters (U+00BE): Quad(QuadBez { p0: (223.0, 444.0), p1: (201.0, 425.0), p2: (161.0, 423.0) })/Quad(QuadBez { p0: (161.0, 423.0), p1: (207.0, 423.0), p2: (235.0, 403.0) }) = 2.862405226111906 degrees
  • racute (U+0155): Line(Line { p0: (240.0, 460.0), p1: (240.0, 341.0) })/Quad(QuadBez { p0: (240.0, 341.0), p1: (249.0, 390.0), p2: (272.5, 421.0) }) = 10.40771131249005 degrees
    ... and 148 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:
  • uni0928094D0915094D0938: Line(Line { p0: (364.0, 390.0), p1: (231.0, 391.0) }) (angle: 179.57 degrees, expected: 180.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]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Rozha 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:
RozhaOne-Regular.ttf
Dehinted Size 198524
Hinted Size 322828
Increase 124304
Change 62.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 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D latn -f deva -w G) [code: ok]

[1] ofl/rozhaone/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
17 28 11 114 65
8% 13% 5% 53% 30%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

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

[8] ofl/sacramento
🔥 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 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 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 Sacramento-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) 2012 by brian j. bonislawsky dba astigmatic (aoeti) (astigma@astigmatic.com), with reserved
font name "sacramento"" [code: bad-notice-format]

  • 🔥 FAIL Sacramento-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) 2012 by brian j. bonislawsky dba astigmatic (aoeti) (astigma@astigmatic.com), with reserved
font name "sacramento"" [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) 2012 by brian j. bonislawsky dba astigmatic (aoeti) (astigma@astigmatic.com), with reserved font name 'sacramento'" [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2012 by brian j. bonislawsky dba astigmatic (aoeti) (astigma@astigmatic.com), with reserved
    font name "sacramento": ["Sacramento-Regular.ttf: Name Table entry", "Sacramento-Regular.ttf: Name Table entry"]
  • copyright (c) 2012 by brian j. bonislawsky dba astigmatic (aoeti) (astigma@astigmatic.com), with reserved font name 'sacramento': ["METADATA.pb"] [code: mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sacramento/Sacramento-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+0315 COMBINING COMMA ABOVE RIGHT: try adding math
  • U+03BC GREEK SMALL LETTER MU: try adding one of: math, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
  • U+221A SQUARE ROOT: try adding math
    ... and 5 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) 2012 by Brian J. Bonislawsky DBA Astigmatic (AOETI) (astigma@astigmatic.com), with Reserved Font Name 'Sacramento'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[28] ofl/sacramento/Sacramento-Regular.ttf
🔥 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 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 Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * ro_Latn (Romanian)
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: * 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: * tr_Latn (Turkish)
The following mark characters are missing from the font: ̈, ̦, ̧, ̂, ̇, ̆
Mandatory orthography codepoints: * es_Latn (Spanish)
The following mark characters are missing from the font: ̈, ́, ̃
Mandatory orthography codepoints: * da_Latn (Danish)
The following mark characters are missing from the font: ̊, ́
Mandatory orthography codepoints: * sv_Latn (Swedish)
The following mark characters are missing from the font: ̈, ̀, ̊, ́
Mandatory orthography codepoints: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̨, ̌, ̄, ̇
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * 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: * 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: * pl_Latn (Polish)
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: * 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: * en_Latn (English)
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: * nb_Latn (Norwegian Bokmål)
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: * 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: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ą́
The following auxiliary characters are missing from the font: Ą̃
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: Ę́
The following auxiliary characters are missing from the font: Ę̃
The following auxiliary characters are missing from the font: Ė́
The following auxiliary characters are missing from the font: Ė̃
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ́
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̀
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: İ̃
The following auxiliary characters are missing from the font: Į́
The following auxiliary characters are missing from the font: Į̇́
The following auxiliary characters are missing from the font: Į̃
The following auxiliary characters are missing from the font: Į̇̃
The following auxiliary characters are missing from the font: J̃
The following auxiliary characters are missing from the font: J̇̃
The following auxiliary characters are missing from the font: L̃
The following auxiliary characters are missing from the font: M̃
The following auxiliary characters are missing from the font: R̃
The following auxiliary characters are missing from the font: Ų́
The following auxiliary characters are missing from the font: Ų̃
The following auxiliary characters are missing from the font: Ū́
The following auxiliary characters are missing from the font: Ū̃
The following auxiliary characters are missing from the font: ą́
The following auxiliary characters are missing from the font: ą̃
The following auxiliary characters are missing from the font: ẽ
The following auxiliary characters are missing from the font: ę́
The following auxiliary characters are missing from the font: ę̃
The following auxiliary characters are missing from the font: ė́
The following auxiliary characters are missing from the font: ė̃
The following auxiliary characters are missing from the font: i̇́
The following auxiliary characters are missing from the font: i̇̀
The following auxiliary characters are missing from the font: i̇̃
The following auxiliary characters are missing from the font: į́
The following auxiliary characters are missing from the font: į̇́
The following auxiliary characters are missing from the font: į̃
The following auxiliary characters are missing from the font: į̇̃
The following auxiliary characters are missing from the font: j̃
The following auxiliary characters are missing from the font: j̇̃
The following auxiliary characters are missing from the font: l̃
The following auxiliary characters are missing from the font: m̃
The following auxiliary characters are missing from the font: r̃
The following auxiliary characters are missing from the font: ų́
The following auxiliary characters are missing from the font: ų̃
The following auxiliary characters are missing from the font: ū́
The following auxiliary characters are missing from the font: ū̃
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: Ī
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: ǎ
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: * tr_Latn (Turkish)
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: ǯ
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: ǔ
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sacramento Sacramento
Subfamily Name Regular Regular
Full Name Sacramento Sacramento Regular
Postscript Name Sacramento-Regular Sacramento-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 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 607 but it should be 1130 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 uses component: quoteright [code: bad-mark]

  • ⚠️ WARN dcaron uses component: quoteright [code: bad-mark]

  • ⚠️ WARN lcaron uses component: quoteright [code: bad-mark]

  • ⚠️ WARN tcaron uses component: quoteright [code: bad-mark]

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

  • t (U+0074): found 4, expected one of: [1, 2, 3]
  • tcaron (U+0165): found 5, expected one of: [2, 3, 6] [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:
  • .null
  • nonmarkingreturn
  • Imacron [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN 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:
  • R (U+0052): from (1138.0, 688.0) to (1138.0, 687.0) is colinear with segment from (1138.0, 687.0) to (1138.0, 639.0)
  • Racute (U+0154): from (1138.0, 688.0) to (1138.0, 687.0) is colinear with segment from (1138.0, 687.0) to (1138.0, 639.0)
  • Rcommaaccent (U+0156): from (1138.0, 688.0) to (1138.0, 687.0) is colinear with segment from (1138.0, 687.0) to (1138.0, 639.0)
  • Rcaron (U+0158): from (1138.0, 688.0) to (1138.0, 687.0) is colinear with segment from (1138.0, 687.0) to (1138.0, 639.0)
  • logicalnot (U+00AC): from (659.0, 717.0) to (659.0, 714.0) is colinear with segment from (659.0, 714.0) to (648.0, 487.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:
  • t (U+0074) has a path with no bounds (probably a single point)
  • tcommaaccent (U+0163) has a path with no bounds (probably a single point)
  • tcaron (U+0165) 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:
  • U (U+0055): Quad(QuadBez { p0: (1587.0, 430.0), p1: (1596.0, 531.0), p2: (1610.0, 648.0) })/Quad(QuadBez { p0: (1610.0, 648.0), p1: (1552.0, 468.0), p2: (1483.0, 335.0) }) = 11.036631671645557 degrees
  • Y (U+0059): Quad(QuadBez { p0: (1698.5, 525.0), p1: (1704.0, 579.0), p2: (1710.0, 635.0) })/Quad(QuadBez { p0: (1710.0, 635.0), p1: (1651.0, 465.0), p2: (1582.0, 335.0) }) = 13.0242786923677 degrees
  • v (U+0076): Quad(QuadBez { p0: (441.5, 512.0), p1: (452.0, 504.0), p2: (455.0, 490.0) })/Quad(QuadBez { p0: (455.0, 490.0), p1: (455.0, 491.0), p2: (459.0, 474.0) }) = 12.094757077012119 degrees
  • x (U+0078): Quad(QuadBez { p0: (863.0, 294.0), p1: (863.0, 289.0), p2: (861.0, 281.0) })/Quad(QuadBez { p0: (861.0, 281.0), p1: (862.0, 283.0), p2: (852.0, 261.0) }) = 12.528807709151492 degrees
  • y (U+0079): Quad(QuadBez { p0: (177.0, 448.0), p1: (177.0, 437.0), p2: (171.0, 428.0) })/Quad(QuadBez { p0: (171.0, 428.0), p1: (172.0, 429.0), p2: (161.5, 411.5) }) = 11.309932474020261 degrees
  • oe (U+0153): Quad(QuadBez { p0: (123.5, 233.5), p1: (112.0, 259.0), p2: (109.0, 285.0) })/Quad(QuadBez { p0: (109.0, 285.0), p1: (108.0, 275.0), p2: (101.5, 255.0) }) = 12.292537792677662 degrees
  • Ugrave (U+00D9): Quad(QuadBez { p0: (1587.0, 430.0), p1: (1596.0, 531.0), p2: (1610.0, 648.0) })/Quad(QuadBez { p0: (1610.0, 648.0), p1: (1552.0, 468.0), p2: (1483.0, 335.0) }) = 11.036631671645557 degrees
  • Uacute (U+00DA): Quad(QuadBez { p0: (1587.0, 430.0), p1: (1596.0, 531.0), p2: (1610.0, 648.0) })/Quad(QuadBez { p0: (1610.0, 648.0), p1: (1552.0, 468.0), p2: (1483.0, 335.0) }) = 11.036631671645557 degrees
  • Ucircumflex (U+00DB): Quad(QuadBez { p0: (1587.0, 430.0), p1: (1596.0, 531.0), p2: (1610.0, 648.0) })/Quad(QuadBez { p0: (1610.0, 648.0), p1: (1552.0, 468.0), p2: (1483.0, 335.0) }) = 11.036631671645557 degrees
    ... and 16 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • t (U+0074): Line(Line { p0: (111.0, 305.0), p1: (111.0, 306.0) }) has the same coordinates as a previous segment.
  • tcommaaccent (U+0163): Line(Line { p0: (111.0, 305.0), p1: (111.0, 306.0) }) has the same coordinates as a previous segment.
  • tcaron (U+0165): Line(Line { p0: (111.0, 305.0), p1: (111.0, 306.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: (132.0, 945.0), p1: (310.0, 946.0) }) (angle: 0.32 degrees, expected: 0.00 degrees)
  • Hbar (U+0126): Line(Line { p0: (1283.0, 969.0), p1: (2108.0, 973.0) }) (angle: 0.28 degrees, expected: 0.00 degrees)
  • Hbar (U+0126): Line(Line { p0: (2183.0, 973.0), p1: (2346.0, 974.0) }) (angle: 0.35 degrees, expected: 0.00 degrees)
  • Hbar (U+0126): Line(Line { p0: (1021.0, 968.0), p1: (1206.0, 969.0) }) (angle: 0.31 degrees, expected: 0.00 degrees)
  • hbar (U+0127): Line(Line { p0: (-111.0, 945.0), p1: (52.0, 946.0) }) (angle: 0.35 degrees, expected: 0.00 degrees)
  • hbar (U+0127): Line(Line { p0: (125.0, 947.0), p1: (285.0, 948.0) }) (angle: 0.36 degrees, expected: 0.00 degrees)
  • tbar (U+0167): Line(Line { p0: (81.0, 697.0), p1: (196.0, 698.0) }) (angle: 0.50 degrees, expected: 0.00 degrees)
  • sterling (U+00A3): Line(Line { p0: (332.0, 643.0), p1: (185.0, 642.0) }) (angle: -179.61 degrees, expected: -180.00 degrees)
  • sterling (U+00A3): Line(Line { p0: (184.0, 713.0), p1: (315.0, 714.0) }) (angle: 0.44 degrees, expected: 0.00 degrees)
    ... and 3 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 <= 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 'AOEF' 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 "Sacramento" 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:
Sacramento-Regular.ttf
Dehinted Size 79268
Hinted Size 79696
Increase 428
Change 0.5 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    kern [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.000, Version 1.000 [code: version-not-detected]
[1] ofl/sacramento/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012, brian j. bonislawsky dba astigmatic (aoeti) (astigma@astigmatic.com), with reserved font names 'sacramento'"

which does not match the expected format, similar to:

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

[3] ofl/sacramento/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
🔥 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
19 34 9 106 72
9% 16% 4% 49% 33%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[27] ofl/sarpanch/Sarpanch-Medium.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 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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 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: * it_Latn (Italian)
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: * 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: * sq_Latn (Albanian)
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: * 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: ̊, ̀, ̂, ̈, ́
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: * 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: * lv_Latn (Latvian)
The following mark characters are missing from the font: ̧, ̌, ̄
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
The following mark characters are missing from the font: ̈, ́, ̀
Mandatory orthography codepoints: * fr_Latn (French)
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: * 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: * 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: ̇, ̨, ́
Mandatory orthography codepoints: * sv_Latn (Swedish)
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: * cy_Latn (Welsh)
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: * 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: * 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: * 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
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: * da_Latn (Danish)
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: * 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: ʻ
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0946
  • uni0947
    ... and 2 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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0039978 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 656 but it should be 1059 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 672 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=655: divide
    width=752: logicalnot
    width=680: minus
    width=725: greaterequal, lessequal
    width=656: plus
    width=660: multiply
    width=689: notequal
    width=691: equal
    width=690: plusminus
    width=784: 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
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094A0902
  • uni091E094D0930094D
  • uni091B094D0930094D092F
  • uni0915094D0930.aTrad
  • uni0924094D0930094D0915.aTrad
    ... and 12 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 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=119,Y=621 (should be at cap-height 622?)
    • percent (U+0025): X=359,Y=621 (should be at cap-height 622?)
    • edieresis (U+00EB): X=251,Y=623 (should be at cap-height 622?)
    • edieresis (U+00EB): X=112,Y=623 (should be at cap-height 622?)
    • edieresis (U+00EB): X=519,Y=623 (should be at cap-height 622?)
    • edieresis (U+00EB): X=380,Y=623 (should be at cap-height 622?)
    • idieresis (U+00EF): X=216,Y=623 (should be at cap-height 622?)
    • idieresis (U+00EF): X=355,Y=623 (should be at cap-height 622?)
    • idieresis (U+00EF): X=-52,Y=623 (should be at cap-height 622?)
      ... and 67 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni09480930094D: from (-214.0, 822.0) to (-198.0, 770.0) is colinear with segment from (-198.0, 770.0) to (-170.0, 668.0)
  • uni09480930094D0902: from (-214.0, 822.0) to (-198.0, 770.0) is colinear with segment from (-198.0, 770.0) to (-170.0, 668.0)
  • uni094C0930094D: from (156.0, 822.0) to (172.0, 770.0) is colinear with segment from (172.0, 770.0) to (200.0, 668.0)
  • uni094C0930094D0902: from (156.0, 822.0) to (172.0, 770.0) is colinear with segment from (172.0, 770.0) to (200.0, 668.0)
  • uni0917094D0930: from (866.0, -27.0) to (866.0, 15.0) is colinear with segment from (866.0, 15.0) to (871.0, 119.0)
  • uni091C094D0930: from (836.0, -27.0) to (836.0, -1.0) is colinear with segment from (836.0, -1.0) to (841.0, 103.0)
  • uni091D094D0930: from (873.0, -27.0) to (873.0, -1.0) is colinear with segment from (873.0, -1.0) to (877.0, 75.0)
  • uni091E094D0930: from (803.0, -27.0) to (803.0, -1.0) is colinear with segment from (803.0, -1.0) to (809.0, 103.0)
  • uni0923094D0930: from (857.0, -27.0) to (857.0, -1.0) is colinear with segment from (857.0, -1.0) to (861.0, 103.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:
  • three (U+0033): Quad(QuadBez { p0: (587.0, 371.0), p1: (587.0, 319.0), p2: (542.0, 316.0) })/Quad(QuadBez { p0: (542.0, 316.0), p1: (587.0, 311.0), p2: (587.0, 262.0) }) = 10.154266580200302 degrees
  • eight (U+0038): Quad(QuadBez { p0: (584.0, 367.0), p1: (584.0, 315.0), p2: (539.0, 312.0) })/Quad(QuadBez { p0: (539.0, 312.0), p1: (584.0, 307.0), p2: (584.0, 258.0) }) = 10.154266580200302 degrees
  • eight (U+0038): Quad(QuadBez { p0: (85.0, 258.0), p1: (85.0, 307.0), p2: (130.0, 312.0) })/Quad(QuadBez { p0: (130.0, 312.0), p1: (85.0, 315.0), p2: (85.0, 367.0) }) = 10.154266580200302 degrees
  • at (U+0040): Line(Line { p0: (657.0, 59.0), p1: (657.0, 121.0) })/Quad(QuadBez { p0: (657.0, 121.0), p1: (650.0, 78.0), p2: (598.0, 78.0) }) = 9.246112745563272 degrees
  • B (U+0042): Quad(QuadBez { p0: (614.0, 366.0), p1: (614.0, 313.0), p2: (568.0, 310.0) })/Quad(QuadBez { p0: (568.0, 310.0), p1: (614.0, 305.0), p2: (614.0, 257.0) }) = 9.93484490085228 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (287.0, 369.0), p1: (287.0, 256.0), p2: (207.0, 247.0) })/Quad(QuadBez { p0: (207.0, 247.0), p1: (246.0, 243.0), p2: (266.5, 211.0) }) = 12.274800315667745 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (144.5, 211.0), p1: (165.0, 243.0), p2: (205.0, 247.0) })/Quad(QuadBez { p0: (205.0, 247.0), p1: (124.0, 256.0), p2: (124.0, 369.0) }) = 12.050784883409518 degrees
  • threesuperior (U+00B3): Quad(QuadBez { p0: (346.0, 484.0), p1: (346.0, 456.0), p2: (321.0, 454.0) })/Quad(QuadBez { p0: (321.0, 454.0), p1: (346.0, 451.0), p2: (346.0, 424.0) }) = 11.416694672531849 degrees
  • approxequal (U+2248): Quad(QuadBez { p0: (709.0, 367.0), p1: (709.0, 306.0), p2: (658.0, 293.0) })/Line(Line { p0: (658.0, 293.0), p1: (709.0, 293.0) }) = 14.300277449185575 degrees
    ... and 9 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sarpanch-Medium.ttf
Dehinted Size 178904
Hinted Size 292468
Increase 113564
Change 63.5 %
ℹ️ 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 deva -w gGD -W -c) [code: ok]

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

[28] ofl/sarpanch/Sarpanch-ExtraBold.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 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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * 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: * 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: * 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: * en_Latn (English)
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: * 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: * nb_Latn (Norwegian Bokmål)
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: * 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: * fi_Latn (Finnish)
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: * 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: * 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: * is_Latn (Icelandic)
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: * 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: * 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: * 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: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŀ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary 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: * 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: * 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: ŭ
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0946
  • uni0947
    ... and 2 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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0039978 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 686 but it should be 1064 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 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:

  • colon (U+003A): found 1, expected one of: [2, 6]
  • guillemotleft (U+00AB): found 1, expected one of: [2, 6]
  • guillemotright (U+00BB): found 1, expected one of: [2, 6]
  • approxequal (U+2248): found 1, 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 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 734 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=712: greater, less
    width=809: approxequal
    width=779: logicalnot
    width=711: divide
    width=830: minus
    width=726: plusminus
    width=731: equal
    width=672: multiply
    width=725: notequal
    width=717: 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:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094A0902
  • uni091E094D0930094D
  • uni091B094D0930094D092F
  • uni0915094D0930.aTrad
  • uni0924094D0930094D0915.aTrad
    ... and 11 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 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=1100,Y=1 (should be at baseline 0?)
    • percent (U+0025): X=793,Y=1 (should be at baseline 0?)
    • section (U+00A7): X=413,Y=-1 (should be at baseline 0?)
    • section (U+00A7): X=492,Y=-1 (should be at baseline 0?)
    • ocircumflex (U+00F4): X=330,Y=623 (should be at cap-height 622?)
    • abreve (U+0103): X=243,Y=621 (should be at cap-height 622?)
    • abreve (U+0103): X=414,Y=621 (should be at cap-height 622?)
    • gbreve (U+011F): X=245,Y=621 (should be at cap-height 622?)
    • gbreve (U+011F): X=416,Y=621 (should be at cap-height 622?)
      ... and 25 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni09480930094D: from (-193.0, 839.0) to (-173.0, 769.0) is colinear with segment from (-173.0, 769.0) to (-145.0, 648.0)
  • uni09480930094D0902: from (-193.0, 839.0) to (-173.0, 769.0) is colinear with segment from (-173.0, 769.0) to (-145.0, 648.0)
  • uni094C0930094D: from (179.0, 839.0) to (199.0, 769.0) is colinear with segment from (199.0, 769.0) to (227.0, 648.0)
  • uni094C0930094D0902: from (179.0, 839.0) to (199.0, 769.0) is colinear with segment from (199.0, 769.0) to (227.0, 648.0)
  • uni0917094D0930: from (803.0, -81.0) to (803.0, -56.0) is colinear with segment from (803.0, -56.0) to (810.0, 55.0)
  • uni091C094D0930: from (799.0, -81.0) to (799.0, -62.0) is colinear with segment from (799.0, -62.0) to (806.0, 48.0)
  • uni091D094D0930: from (876.0, -81.0) to (876.0, -62.0) is colinear with segment from (876.0, -62.0) to (882.0, 36.0)
  • uni091E094D0930: from (785.0, -81.0) to (785.0, -62.0) is colinear with segment from (785.0, -62.0) to (792.0, 48.0)
  • uni0923094D0930: from (819.0, -81.0) to (819.0, -62.0) is colinear with segment from (819.0, -62.0) to (826.0, 48.0)
    ... and 8 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • three (U+0033): Quad(QuadBez { p0: (627.0, 387.0), p1: (627.0, 321.0), p2: (567.0, 318.0) })/Quad(QuadBez { p0: (567.0, 318.0), p1: (627.0, 314.0), p2: (627.0, 249.0) }) = 6.676480060402135 degrees
  • eight (U+0038): Quad(QuadBez { p0: (624.0, 383.0), p1: (624.0, 317.0), p2: (563.0, 314.0) })/Quad(QuadBez { p0: (563.0, 314.0), p1: (624.0, 309.0), p2: (624.0, 245.0) }) = 7.501456523713907 degrees
  • eight (U+0038): Quad(QuadBez { p0: (65.0, 245.0), p1: (65.0, 310.0), p2: (125.0, 314.0) })/Quad(QuadBez { p0: (125.0, 314.0), p1: (65.0, 317.0), p2: (65.0, 383.0) }) = 6.676480060402135 degrees
  • at (U+0040): Line(Line { p0: (648.0, 59.0), p1: (648.0, 109.0) })/Quad(QuadBez { p0: (648.0, 109.0), p1: (641.0, 78.0), p2: (597.0, 78.0) }) = 12.724355685422363 degrees
  • B (U+0042): Quad(QuadBez { p0: (653.0, 381.0), p1: (653.0, 315.0), p2: (592.0, 312.0) })/Quad(QuadBez { p0: (592.0, 312.0), p1: (653.0, 307.0), p2: (653.0, 244.0) }) = 7.501456523713907 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (316.0, 285.5), p1: (292.0, 251.0), p2: (247.0, 249.0) })/Quad(QuadBez { p0: (247.0, 249.0), p1: (292.0, 246.0), p2: (316.0, 211.5) }) = 6.358879214103461 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (126.5, 211.5), p1: (150.0, 246.0), p2: (196.0, 249.0) })/Quad(QuadBez { p0: (196.0, 249.0), p1: (150.0, 251.0), p2: (126.5, 285.5) }) = 6.220949921159665 degrees
  • threesuperior (U+00B3): Quad(QuadBez { p0: (371.0, 493.0), p1: (371.0, 457.0), p2: (338.0, 455.0) })/Quad(QuadBez { p0: (338.0, 455.0), p1: (371.0, 452.0), p2: (371.0, 417.0) }) = 8.662658166651992 degrees
  • lessequal (U+2264): Line(Line { p0: (680.0, 411.0), p1: (178.0, 366.0) })/Line(Line { p0: (178.0, 366.0), p1: (680.0, 319.0) }) = 10.471138347102269 degrees
    ... and 5 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sarpanch-ExtraBold.ttf
Dehinted Size 186248
Hinted Size 299108
Increase 112860
Change 60.6 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D latn -f deva -w gGD -W -c) [code: ok]

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

[11] ofl/sarpanch
🔥 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 'Sarpanch' has 6 fonts, which is more than the maximum of 4 [code: too-many]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 484, but got 350 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 484, but got 350 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 484, but got 350 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 484, but got 350 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 484, but got 350 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 484, but got 350 instead. [code: descent]

🔥 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 Sarpanch-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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

  • 🔥 FAIL Sarpanch-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) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

  • 🔥 FAIL Sarpanch-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:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

  • 🔥 FAIL Sarpanch-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:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2014 indian type foundry (info@indiantypefoundry.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) 2014 indian type foundry (info@indiantypefoundry.com)" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/sarpanch/Sarpanch-Medium.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
  • 🔥 FAIL ofl/sarpanch/Sarpanch-Black.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
  • 🔥 FAIL ofl/sarpanch/Sarpanch-Bold.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
  • 🔥 FAIL ofl/sarpanch/Sarpanch-SemiBold.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
  • 🔥 FAIL ofl/sarpanch/Sarpanch-Regular.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
  • 🔥 FAIL ofl/sarpanch/Sarpanch-ExtraBold.ttf missing required codepoints:
  • 0x00A0: NO-BREAK SPACE [code: missing-codepoints]
⚠️ WARN Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • ⚠️ WARN METADATA.pb family name field "Sarpanch" does not match correct family name "Sarpanch Medium". This is a warning because the font is not a non-variable RIBBI. [code: familyname-mismatch]

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

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

  • ⚠️ WARN METADATA.pb family name field "Sarpanch" does not match correct family name "Sarpanch Black". 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/sarpanch/Sarpanch-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: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • 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+220F N-ARY PRODUCT: try adding math
  • U+2219 BULLET OPERATOR: try adding one of: math, symbols, tai-tham, yi
    ... and 7 others

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

  • ⚠️ WARN ofl/sarpanch/Sarpanch-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+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+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+220F N-ARY PRODUCT: try adding math
  • U+2219 BULLET OPERATOR: try adding one of: math, symbols, tai-tham, yi
    ... and 7 others

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

  • ⚠️ WARN ofl/sarpanch/Sarpanch-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+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+220F N-ARY PRODUCT: try adding math
  • U+2219 BULLET OPERATOR: try adding one of: math, symbols, tai-tham, yi
    ... and 7 others

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

  • ⚠️ WARN ofl/sarpanch/Sarpanch-SemiBold.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • 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+220F N-ARY PRODUCT: try adding math
  • U+2219 BULLET OPERATOR: try adding one of: math, symbols, tai-tham, yi
    ... and 7 others

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

  • ⚠️ WARN ofl/sarpanch/Sarpanch-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+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+220F N-ARY PRODUCT: try adding math
  • U+2219 BULLET OPERATOR: try adding one of: math, symbols, tai-tham, yi
    ... and 7 others

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

  • ⚠️ WARN ofl/sarpanch/Sarpanch-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+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+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+220F N-ARY PRODUCT: try adding math
  • U+2219 BULLET OPERATOR: try adding one of: math, symbols, tai-tham, yi
    ... and 7 others

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

⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ 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 '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]
[27] ofl/sarpanch/Sarpanch-Black.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 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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * ro_Latn (Romanian)
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: * lt_Latn (Lithuanian)
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: * is_Latn (Icelandic)
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: * 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: * 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: * cy_Latn (Welsh)
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: * 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: * nb_Latn (Norwegian Bokmål)
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: * 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: * 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: ̈, ̧
  • ⚠️ 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: * 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: * 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: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ċ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ħ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary 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: * 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: * 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: * 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0946
  • uni0947
    ... and 2 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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0039978 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 707 but it should be 1068 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 741 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=828: approxequal
    width=751: notequal
    width=761: plus, equal
    width=799: logicalnot
    width=680: multiply
    width=939: minus
    width=752: divide, 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094A0902
  • uni091E094D0930094D
  • uni091B094D0930094D092F
  • uni0915094D0930.aTrad
  • uni0924094D0930094D0915.aTrad
    ... 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 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=1186,Y=2 (should be at baseline 0?)
    • percent (U+0025): X=830,Y=2 (should be at baseline 0?)
    • atilde (U+00E3): X=364,Y=621 (should be at cap-height 622?)
    • aring (U+00E5): X=284,Y=623 (should be at cap-height 622?)
    • aring (U+00E5): X=393,Y=623 (should be at cap-height 622?)
    • ntilde (U+00F1): X=368,Y=620 (should be at cap-height 622?)
    • ntilde (U+00F1): X=428,Y=621 (should be at cap-height 622?)
    • otilde (U+00F5): X=364,Y=621 (should be at cap-height 622?)
    • uring (U+016F): X=287,Y=620 (should be at cap-height 622?)
      ... and 27 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni0917094D0930: from (757.0, -120.0) to (757.0, -107.0) is colinear with segment from (757.0, -107.0) to (765.0, 8.0)
  • uni091C094D0930: from (772.0, -120.0) to (772.0, -107.0) is colinear with segment from (772.0, -107.0) to (780.0, 8.0)
  • uni091D094D0930: from (878.0, -120.0) to (878.0, -107.0) is colinear with segment from (878.0, -107.0) to (886.0, 8.0)
  • uni091E094D0930: from (772.0, -120.0) to (772.0, -107.0) is colinear with segment from (772.0, -107.0) to (780.0, 8.0)
  • uni0923094D0930: from (792.0, -120.0) to (792.0, -107.0) is colinear with segment from (792.0, -107.0) to (800.0, 8.0)
  • uni0928094D0930: from (768.0, -120.0) to (768.0, -107.0) is colinear with segment from (768.0, -107.0) to (776.0, 8.0)
  • uni092D094D0930: from (781.0, -120.0) to (781.0, -107.0) is colinear with segment from (781.0, -107.0) to (789.0, 8.0)
  • uni092E094D0930: from (801.0, -120.0) to (801.0, -107.0) is colinear with segment from (801.0, -107.0) to (809.0, 8.0)
  • uni0917093C094D0930: from (757.0, -120.0) to (757.0, -107.0) is colinear with segment from (757.0, -107.0) to (765.0, 8.0)
    ... and 4 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • three (U+0033): Quad(QuadBez { p0: (657.0, 398.0), p1: (657.0, 322.0), p2: (585.0, 319.0) })/Quad(QuadBez { p0: (585.0, 319.0), p1: (657.0, 314.0), p2: (657.0, 240.0) }) = 6.358439971139363 degrees
  • eight (U+0038): Quad(QuadBez { p0: (653.0, 394.0), p1: (653.0, 318.0), p2: (581.0, 315.0) })/Quad(QuadBez { p0: (581.0, 315.0), p1: (653.0, 310.0), p2: (653.0, 236.0) }) = 6.358439971139363 degrees
  • eight (U+0038): Quad(QuadBez { p0: (50.0, 236.0), p1: (50.0, 310.0), p2: (122.0, 315.0) })/Quad(QuadBez { p0: (122.0, 315.0), p1: (50.0, 318.0), p2: (50.0, 394.0) }) = 6.358439971139363 degrees
  • B (U+0042): Quad(QuadBez { p0: (682.0, 392.0), p1: (682.0, 316.0), p2: (610.0, 313.0) })/Quad(QuadBez { p0: (610.0, 313.0), p1: (682.0, 308.0), p2: (682.0, 234.0) }) = 6.358439971139363 degrees
  • p (U+0070): Line(Line { p0: (290.0, 484.0), p1: (290.0, 444.0) })/Quad(QuadBez { p0: (290.0, 444.0), p1: (300.0, 484.0), p2: (353.0, 484.0) }) = 14.036243467926484 degrees
  • q (U+0071): Quad(QuadBez { p0: (329.0, 484.0), p1: (382.0, 484.0), p2: (392.0, 444.0) })/Line(Line { p0: (392.0, 444.0), p1: (392.0, 484.0) }) = 14.036243467926484 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (351.5, 287.0), p1: (325.0, 251.0), p2: (276.0, 250.0) })/Quad(QuadBez { p0: (276.0, 250.0), p1: (325.0, 248.0), p2: (351.5, 212.0) }) = 3.506445187031182 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (113.5, 212.0), p1: (140.0, 248.0), p2: (189.0, 250.0) })/Quad(QuadBez { p0: (189.0, 250.0), p1: (140.0, 251.0), p2: (113.5, 287.0) }) = 3.506445187031182 degrees
  • section (U+00A7): Quad(QuadBez { p0: (289.0, 366.5), p1: (309.0, 387.0), p2: (331.0, 390.0) })/Quad(QuadBez { p0: (331.0, 390.0), p1: (308.0, 392.0), p2: (289.5, 408.0) }) = 12.734906746535673 degrees
    ... and 9 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sarpanch-Black.ttf
Dehinted Size 187840
Hinted Size 299512
Increase 111672
Change 59.5 %
ℹ️ 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 deva -w gGD -W -c) [code: ok]

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

[28] ofl/sarpanch/Sarpanch-SemiBold.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 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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 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: * is_Latn (Icelandic)
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: * nb_Latn (Norwegian Bokmål)
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: * es_Latn (Spanish)
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: * sk_Latn (Slovak)
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: * 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: * 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: * fr_Latn (French)
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: * en_Latn (English)
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: * 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: * 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: ̄, ̌, ̧
  • ⚠️ 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: Ǔ
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: * 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: * 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: * 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: * 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: ǯ
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0946
  • uni0947
    ... and 2 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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0039978 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 664 but it should be 1061 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 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:

  • colon (U+003A): found 1, expected one of: [2, 6]
  • guillemotleft (U+00AB): found 1, expected one of: [2, 6]
  • guillemotright (U+00BB): found 1, 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 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 727 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=791: approxequal
    width=683: greater, less
    width=760: logicalnot
    width=699: notequal
    width=703: equal
    width=700: plusminus
    width=671: divide
    width=663: multiply
    width=674: plus
    width=724: minus [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
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094A0902
  • uni091E094D0930094D
  • uni091B094D0930094D092F
  • uni0915094D0930.aTrad
  • uni0924094D0930094D0915.aTrad
    ... and 11 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 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=1016,Y=1 (should be at baseline 0?)
    • percent (U+0025): X=757,Y=1 (should be at baseline 0?)
    • percent (U+0025): X=112,Y=621 (should be at cap-height 622?)
    • percent (U+0025): X=371,Y=621 (should be at cap-height 622?)
    • at (U+0040): X=82,Y=1 (should be at baseline 0?)
    • abreve (U+0103): X=214,Y=620 (should be at cap-height 622?)
    • abreve (U+0103): X=422,Y=620 (should be at cap-height 622?)
    • gbreve (U+011F): X=220,Y=620 (should be at cap-height 622?)
    • gbreve (U+011F): X=428,Y=620 (should be at cap-height 622?)
      ... and 35 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni09480930094D: from (-208.0, 827.0) to (-191.0, 770.0) is colinear with segment from (-191.0, 770.0) to (-163.0, 663.0)
  • uni09480930094D0902: from (-208.0, 827.0) to (-191.0, 770.0) is colinear with segment from (-191.0, 770.0) to (-163.0, 663.0)
  • uni094C0930094D: from (162.0, 827.0) to (179.0, 770.0) is colinear with segment from (179.0, 770.0) to (207.0, 663.0)
  • uni094C0930094D0902: from (162.0, 827.0) to (179.0, 770.0) is colinear with segment from (179.0, 770.0) to (207.0, 663.0)
  • uni0917094D0930: from (848.0, -42.0) to (848.0, -5.0) is colinear with segment from (848.0, -5.0) to (853.0, 100.0)
  • uni091C094D0930: from (825.0, -42.0) to (825.0, -18.0) is colinear with segment from (825.0, -18.0) to (831.0, 87.0)
  • uni091D094D0930: from (874.0, -42.0) to (874.0, -18.0) is colinear with segment from (874.0, -18.0) to (879.0, 64.0)
  • uni091E094D0930: from (798.0, -42.0) to (798.0, -18.0) is colinear with segment from (798.0, -18.0) to (804.0, 87.0)
  • uni0923094D0930: from (846.0, -42.0) to (846.0, -18.0) is colinear with segment from (846.0, -18.0) to (851.0, 87.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:
  • three (U+0033): Quad(QuadBez { p0: (599.0, 376.0), p1: (599.0, 320.0), p2: (549.0, 317.0) })/Quad(QuadBez { p0: (549.0, 317.0), p1: (599.0, 311.0), p2: (599.0, 259.0) }) = 10.276403775081478 degrees
  • eight (U+0038): Quad(QuadBez { p0: (595.0, 372.0), p1: (595.0, 316.0), p2: (546.0, 313.0) })/Quad(QuadBez { p0: (546.0, 313.0), p1: (595.0, 307.0), p2: (595.0, 255.0) }) = 10.484589051614302 degrees
  • eight (U+0038): Quad(QuadBez { p0: (79.0, 255.0), p1: (79.0, 307.0), p2: (128.0, 313.0) })/Quad(QuadBez { p0: (128.0, 313.0), p1: (79.0, 316.0), p2: (79.0, 372.0) }) = 10.484589051614302 degrees
  • at (U+0040): Line(Line { p0: (654.0, 59.0), p1: (654.0, 118.0) })/Quad(QuadBez { p0: (654.0, 118.0), p1: (648.0, 78.0), p2: (597.0, 78.0) }) = 8.530765609948139 degrees
  • B (U+0042): Quad(QuadBez { p0: (625.0, 370.0), p1: (625.0, 314.0), p2: (575.0, 311.0) })/Quad(QuadBez { p0: (575.0, 311.0), p1: (625.0, 305.0), p2: (625.0, 253.0) }) = 10.276403775081478 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (281.0, 284.5), p1: (260.0, 252.0), p2: (218.0, 248.0) })/Quad(QuadBez { p0: (218.0, 248.0), p1: (260.0, 244.0), p2: (281.0, 211.5) }) = 10.88066406201104 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (139.0, 211.5), p1: (160.0, 244.0), p2: (202.0, 248.0) })/Quad(QuadBez { p0: (202.0, 248.0), p1: (160.0, 252.0), p2: (139.0, 284.5) }) = 10.88066406201104 degrees
  • threesuperior (U+00B3): Quad(QuadBez { p0: (353.0, 487.0), p1: (353.0, 456.0), p2: (326.0, 454.0) })/Quad(QuadBez { p0: (326.0, 454.0), p1: (353.0, 452.0), p2: (353.0, 422.0) }) = 8.472789598117664 degrees
  • lessequal (U+2264): Line(Line { p0: (664.0, 414.0), p1: (155.0, 352.0) })/Line(Line { p0: (155.0, 352.0), p1: (664.0, 289.0) }) = 14.000576443578899 degrees
    ... and 9 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sarpanch-SemiBold.ttf
Dehinted Size 178580
Hinted Size 292920
Increase 114340
Change 64.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 deva -w gGD -W -c) [code: ok]

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

[28] ofl/sarpanch/Sarpanch-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 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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
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: * sk_Latn (Slovak)
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: * 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: * it_Latn (Italian)
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: * cy_Latn (Welsh)
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: * sq_Latn (Albanian)
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: * 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: * hr_Latn (Croatian)
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: * ro_Latn (Romanian)
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: * pl_Latn (Polish)
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: * 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: * de_Latn (German)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * ca_Latn (Catalan)
The following auxiliary characters are missing from the font: Ĕ
The following auxiliary characters are missing from the font: Ĭ
The following auxiliary characters are missing from the font: Ŀ
The following auxiliary characters are missing from the font: Ŏ
The following auxiliary characters are missing from the font: Ŭ
The following auxiliary characters are missing from the font: ĕ
The following auxiliary characters are missing from the font: ĭ
The following auxiliary characters are missing from the font: ŀ
The following auxiliary characters are missing from the font: ŏ
The following auxiliary characters are missing from the font: ŭ
Auxiliary orthography codepoints: * 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: * 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: Ŧ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ċ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ħ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ŋ
The following auxiliary characters are missing from the font: ŝ
The following auxiliary 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: * 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: ŭ
🔥 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0946
  • uni0947
    ... and 2 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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0039978 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 648 but it should be 1058 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 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 640 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=680: plusminus, equal
    width=679: notequal
    width=657: multiply
    width=745: logicalnot
    width=777: approxequal
    width=661: less, greater
    width=722: 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094A0902
  • uni091E094D0930094D
  • uni091B094D0930094D092F
  • uni0915094D0930.aTrad
  • uni0924094D0930094D0915.aTrad
    ... and 13 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 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=125,Y=621 (should be at cap-height 622?)
    • percent (U+0025): X=347,Y=621 (should be at cap-height 622?)
    • g (U+0067): X=452,Y=2 (should be at baseline 0?)
    • g (U+0067): X=451,Y=2 (should be at baseline 0?)
    • edotaccent (U+0117): X=375,Y=623 (should be at cap-height 622?)
    • edotaccent (U+0117): X=268,Y=623 (should be at cap-height 622?)
    • gbreve (U+011F): X=452,Y=2 (should be at baseline 0?)
    • gbreve (U+011F): X=451,Y=2 (should be at baseline 0?)
    • uni0123 (U+0123): X=452,Y=2 (should be at baseline 0?)
      ... and 41 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni0917094D0930: from (883.0, -12.0) to (883.0, 34.0) is colinear with segment from (883.0, 34.0) to (887.0, 136.0)
  • uni091C094D0930: from (846.0, -12.0) to (846.0, 16.0) is colinear with segment from (846.0, 16.0) to (851.0, 118.0)
  • uni091D094D0930: from (872.0, -12.0) to (872.0, 16.0) is colinear with segment from (872.0, 16.0) to (876.0, 86.0)
  • uni091E094D0930: from (808.0, -12.0) to (808.0, 16.0) is colinear with segment from (808.0, 16.0) to (813.0, 118.0)
  • uni0923094D0930: from (867.0, -12.0) to (867.0, 16.0) is colinear with segment from (867.0, 16.0) to (871.0, 118.0)
  • uni0928094D0930: from (823.0, -12.0) to (823.0, 16.0) is colinear with segment from (823.0, 16.0) to (828.0, 118.0)
  • uni092D094D0930: from (854.0, -12.0) to (854.0, 16.0) is colinear with segment from (854.0, 16.0) to (858.0, 118.0)
  • uni092E094D0930: from (855.0, -12.0) to (855.0, 16.0) is colinear with segment from (855.0, 16.0) to (859.0, 118.0)
  • uni0936094D0930: from (821.0, 173.0) to (825.0, 280.0) is colinear with segment from (825.0, 280.0) to (825.0, 282.0)
    ... and 7 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • three (U+0033): Quad(QuadBez { p0: (576.0, 367.0), p1: (576.0, 319.0), p2: (535.0, 316.0) })/Quad(QuadBez { p0: (535.0, 316.0), p1: (576.0, 310.0), p2: (576.0, 266.0) }) = 12.510566455545229 degrees
  • eight (U+0038): Quad(QuadBez { p0: (573.0, 363.0), p1: (573.0, 315.0), p2: (533.0, 312.0) })/Quad(QuadBez { p0: (533.0, 312.0), p1: (573.0, 306.0), p2: (573.0, 262.0) }) = 12.819918938767145 degrees
  • eight (U+0038): Quad(QuadBez { p0: (90.0, 262.0), p1: (90.0, 306.0), p2: (131.0, 312.0) })/Quad(QuadBez { p0: (131.0, 312.0), p1: (90.0, 315.0), p2: (90.0, 363.0) }) = 12.510566455545229 degrees
  • at (U+0040): Line(Line { p0: (659.0, 59.0), p1: (659.0, 124.0) })/Quad(QuadBez { p0: (659.0, 124.0), p1: (654.0, 78.0), p2: (598.0, 78.0) }) = 6.203447901691829 degrees
  • B (U+0042): Quad(QuadBez { p0: (603.0, 362.0), p1: (603.0, 313.0), p2: (562.0, 310.0) })/Quad(QuadBez { p0: (562.0, 310.0), p1: (603.0, 304.0), p2: (603.0, 261.0) }) = 12.510566455545229 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (273.0, 368.0), p1: (273.0, 256.0), p2: (196.0, 247.0) })/Quad(QuadBez { p0: (196.0, 247.0), p1: (273.0, 238.0), p2: (273.0, 127.0) }) = 13.333319781802704 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (130.0, 127.0), p1: (130.0, 238.0), p2: (207.0, 247.0) })/Quad(QuadBez { p0: (207.0, 247.0), p1: (130.0, 256.0), p2: (130.0, 368.0) }) = 13.333319781802704 degrees
  • threesuperior (U+00B3): Quad(QuadBez { p0: (339.0, 482.0), p1: (339.0, 456.0), p2: (316.0, 454.0) })/Quad(QuadBez { p0: (316.0, 454.0), p1: (339.0, 451.0), p2: (339.0, 426.0) }) = 12.401148699282784 degrees
  • uni09470930094D: Line(Line { p0: (-196.0, 674.0), p1: (-191.0, 661.0) })/Quad(QuadBez { p0: (-191.0, 661.0), p1: (-201.0, 692.0), p2: (-201.0, 730.0) }) = 3.158814429580313 degrees
    ... and 7 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 The family name "Sarpanch" 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:
Sarpanch-Regular.ttf
Dehinted Size 179476
Hinted Size 290368
Increase 110892
Change 61.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 deva -w gGD -W -c) [code: ok]

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

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

"copyright (c) 2014, indian type foundry (info@indiantypefoundry.com)."

which does not match the expected format, similar to:

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

[1] ofl/sarpanch/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]
[1] ofl/sarpanch/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[30] ofl/sarpanch/Sarpanch-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 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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Font contains glyphs for whitespace characters? (whitespace_glyphs)
  • 🔥 FAIL Whitespace glyph missing for codepoint 0x00A0 [code: missing-whitespace-glyph-0x00A0]
🔥 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: * 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: * tr_Latn (Turkish)
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: * lt_Latn (Lithuanian)
The following mark characters are missing from the font: ̄, ̇, ̨, ̌
Mandatory orthography codepoints: * hr_Latn (Croatian)
The following mark characters are missing from the font: ́, ̌
Mandatory orthography codepoints: * sv_Latn (Swedish)
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 base characters are missing from the font: ẅ, Ŷ, Ẃ, Ẁ, Ỳ, ŵ, Ŵ, ẁ, ẃ, Ẅ, ỳ, ŷ
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: * 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: * ro_Latn (Romanian)
The following mark characters are missing from the font: ̂, ̆, ̧, ̦
Mandatory orthography codepoints: * fi_Latn (Finnish)
The following mark characters are missing from the font: ̊, ̌, ̃, ̈
Mandatory orthography codepoints: * is_Latn (Icelandic)
The following mark characters are missing from the font: ̨, ̈, ́
Mandatory orthography codepoints: * it_Latn (Italian)
The following mark characters are missing from the font: ̂, ̈, ́, ̀
Mandatory orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following mark characters are missing from the font: ́, ̂, ̀, ̊, ̈
Mandatory orthography codepoints: * hu_Latn (Hungarian)
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: * 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: * da_Latn (Danish)
The following mark characters are missing from the font: ̊, ́
Mandatory orthography codepoints: * ca_Latn (Catalan)
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: * 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: * 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: * 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: ǯ
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: * 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: * 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:
  • uni0901
  • uni0902
  • uni0941
  • uni0942
  • uni0943
  • uni0944
  • uni0945
  • uni0946
  • uni0947
    ... and 2 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.1' [code: parse-error]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2.0039978 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+093C (uni093C)
  • U+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0953 (uni0953)
  • U+0954 (uni0954) [code: mark-chars]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 674 but it should be 1062 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 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:

  • colon (U+003A): found 1, expected one of: [2, 6]
  • guillemotleft (U+00AB): found 1, expected one of: [2, 6]
  • guillemotright (U+00BB): found 1, expected one of: [2, 6]
  • approxequal (U+2248): found 1, 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 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 730 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=800: approxequal
    width=697: greater, less
    width=712: plusminus
    width=711: notequal
    width=694: plus
    width=716: equal
    width=667: multiply
    width=773: minus
    width=690: divide
    width=769: 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • nonmarkingreturn
  • itfLogo
  • itfStar
  • uni094A0902
  • uni091E094D0930094D
  • uni091B094D0930094D092F
  • uni0915094D0930.aTrad
  • uni0924094D0930094D0915.aTrad
    ... 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 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=1055,Y=1 (should be at baseline 0?)
    • percent (U+0025): X=773,Y=1 (should be at baseline 0?)
    • percent (U+0025): X=104,Y=621 (should be at cap-height 622?)
    • percent (U+0025): X=386,Y=621 (should be at cap-height 622?)
    • at (U+0040): X=77,Y=-2 (should be at baseline 0?)
    • abreve (U+0103): X=228,Y=621 (should be at cap-height 622?)
    • abreve (U+0103): X=418,Y=621 (should be at cap-height 622?)
    • gbreve (U+011F): X=232,Y=621 (should be at cap-height 622?)
    • gbreve (U+011F): X=422,Y=621 (should be at cap-height 622?)
      ... and 45 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni09480930094D: from (-201.0, 833.0) to (-182.0, 770.0) is colinear with segment from (-182.0, 770.0) to (-154.0, 656.0)
  • uni09480930094D0902: from (-201.0, 833.0) to (-182.0, 770.0) is colinear with segment from (-182.0, 770.0) to (-154.0, 656.0)
  • uni094C0930094D: from (170.0, 833.0) to (189.0, 770.0) is colinear with segment from (189.0, 770.0) to (217.0, 656.0)
  • uni094C0930094D0902: from (170.0, 833.0) to (189.0, 770.0) is colinear with segment from (189.0, 770.0) to (217.0, 656.0)
  • uni0917094D0930: from (827.0, -60.0) to (827.0, -29.0) is colinear with segment from (827.0, -29.0) to (833.0, 79.0)
  • uni091C094D0930: from (813.0, -60.0) to (813.0, -39.0) is colinear with segment from (813.0, -39.0) to (819.0, 69.0)
  • uni091D094D0930: from (875.0, -60.0) to (875.0, -39.0) is colinear with segment from (875.0, -39.0) to (880.0, 51.0)
  • uni091E094D0930: from (792.0, -60.0) to (792.0, -39.0) is colinear with segment from (792.0, -39.0) to (798.0, 69.0)
  • uni0923094D0930: from (834.0, -60.0) to (834.0, -39.0) is colinear with segment from (834.0, -39.0) to (839.0, 69.0)
    ... and 8 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • three (U+0033): Quad(QuadBez { p0: (612.0, 381.0), p1: (612.0, 320.0), p2: (557.0, 317.0) })/Quad(QuadBez { p0: (557.0, 317.0), p1: (612.0, 312.0), p2: (612.0, 254.0) }) = 8.316559369850554 degrees
  • eight (U+0038): Quad(QuadBez { p0: (609.0, 377.0), p1: (609.0, 316.0), p2: (554.0, 313.0) })/Quad(QuadBez { p0: (554.0, 313.0), p1: (609.0, 308.0), p2: (609.0, 250.0) }) = 8.316559369850554 degrees
  • eight (U+0038): Quad(QuadBez { p0: (72.0, 250.0), p1: (72.0, 308.0), p2: (127.0, 313.0) })/Quad(QuadBez { p0: (127.0, 313.0), p1: (72.0, 316.0), p2: (72.0, 377.0) }) = 8.316559369850554 degrees
  • at (U+0040): Line(Line { p0: (651.0, 59.0), p1: (651.0, 114.0) })/Quad(QuadBez { p0: (651.0, 114.0), p1: (645.0, 78.0), p2: (597.0, 78.0) }) = 9.462322208025613 degrees
  • B (U+0042): Quad(QuadBez { p0: (638.0, 375.0), p1: (638.0, 314.0), p2: (583.0, 311.0) })/Quad(QuadBez { p0: (583.0, 311.0), p1: (638.0, 306.0), p2: (638.0, 249.0) }) = 8.316559369850554 degrees
  • braceleft (U+007B): Quad(QuadBez { p0: (297.5, 285.0), p1: (275.0, 252.0), p2: (232.0, 248.0) })/Quad(QuadBez { p0: (232.0, 248.0), p1: (275.0, 245.0), p2: (297.5, 211.5) }) = 9.305458768374585 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (133.5, 211.5), p1: (156.0, 245.0), p2: (199.0, 248.0) })/Quad(QuadBez { p0: (199.0, 248.0), p1: (156.0, 252.0), p2: (133.5, 285.0) }) = 9.305458768374585 degrees
  • threesuperior (U+00B3): Quad(QuadBez { p0: (361.0, 490.0), p1: (361.0, 456.0), p2: (331.0, 454.0) })/Quad(QuadBez { p0: (331.0, 454.0), p1: (361.0, 452.0), p2: (361.0, 420.0) }) = 7.628149668580714 degrees
  • lessequal (U+2264): Line(Line { p0: (672.0, 413.0), p1: (166.0, 358.0) })/Line(Line { p0: (166.0, 358.0), p1: (672.0, 303.0) }) = 12.406895803383685 degrees
    ... and 7 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni0926094D092C: Line(Line { p0: (512.0, -14.0), p1: (512.0, -15.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 Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Sarpanch" 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:
Sarpanch-Bold.ttf
Dehinted Size 179224
Hinted Size 291920
Increase 112696
Change 62.9 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 8 -r 50 -G 200 -x 14 -D latn -f deva -w gGD -W -c) [code: ok]

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
84 170 36 483 353
8% 17% 4% 48% 35%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/sharetech/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[3] ofl/sharetech/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]
⚠️ 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/sharetech/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2012 the share tech project authors (post@carrois.com), with reserved font name 'share’."

which does not match the expected format, similar to:

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

[20] ofl/sharetech/ShareTech-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 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 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 550 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=510: approxequal
    width=575: 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 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 ('Share’) that differs from the currently used family name (Share Tech), which is fine. [code: legacy-familyname]

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

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • Aring (U+00C5): X=248,Y=702 (should be at cap-height 700?)
    • Aring (U+00C5): X=254,Y=702 (should be at cap-height 700?)
    • Ccedilla (U+00C7): X=213,Y=2 (should be at baseline 0?)
    • Oslash (U+00D8): X=215,Y=2 (should be at baseline 0?)
    • Q (U+0051): X=520,Y=-2 (should be at baseline 0?)
    • aring (U+00E5): X=216,Y=701 (should be at cap-height 700?)
    • aring (U+00E5): X=210,Y=701 (should be at cap-height 700?)
    • oslash (U+00F8): X=211,Y=1 (should be at baseline 0?)
    • ordmasculine (U+00BA): X=201,Y=702 (should be at cap-height 700?)
      ... and 17 others [code: found-misalignments]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • N (U+004E): Line(Line { p0: (319.0, 0.0), p1: (166.0, 626.0) })/Line(Line { p0: (166.0, 626.0), p1: (166.0, 0.0) }) = 13.734349041914049 degrees
  • N (U+004E): Line(Line { p0: (227.0, 700.0), p1: (381.0, 74.0) })/Line(Line { p0: (381.0, 74.0), p1: (381.0, 700.0) }) = 13.820684742617463 degrees
  • Ntilde (U+00D1): Line(Line { p0: (319.0, 0.0), p1: (166.0, 626.0) })/Line(Line { p0: (166.0, 626.0), p1: (166.0, 0.0) }) = 13.734349041914049 degrees
  • Ntilde (U+00D1): Line(Line { p0: (227.0, 700.0), p1: (381.0, 74.0) })/Line(Line { p0: (381.0, 74.0), p1: (381.0, 700.0) }) = 13.820684742617463 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: (552.0, 217.0), p1: (552.0, 201.0), p2: (564.0, 190.5) }) (length: 30.06, total outline: 5455.76)
  • paragraph (U+00B6) contains a short segment Line(Line { p0: (224.0, 374.0), p1: (218.0, 374.0) }) (length: 6.00, total outline: 2090.76) [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 "Share Tech" 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:
ShareTech-Regular.ttf
Dehinted Size 34888
Hinted Size 53096
Increase 18208
Change 52.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.100, Version 1.100 [code: version-not-detected]
[7] ofl/sharetech
🔥 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 ShareTech-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 share tech project authors (post@carrois.com), with reserved font name 'share’." [code: bad-notice-format]

  • 🔥 FAIL ShareTech-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 share tech project authors (post@carrois.com), with reserved font name 'share’." [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 share tech project authors (post@carrois.com), with reserved font name 'share." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright 2012 the share tech project authors (post@carrois.com), with reserved font name 'share’.: ["ShareTech-Regular.ttf: Name Table entry", "ShareTech-Regular.ttf: Name Table entry"]
  • copyright 2012 the share tech project authors (post@carrois.com), with reserved font name 'share.: ["METADATA.pb"] [code: mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sharetech/ShareTech-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, canadian-aboriginal, latin-ext, tifinagh
    ... and 28 others

Or you can add the above codepoints to one of the subsets supported by the font: latin, 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 2012 The Share Tech Project Authors (post@carrois.com), with Reserved Font Name 'Share.") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
14 24 8 120 67
6% 11% 4% 56% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[21] ofl/sirinstencil/SirinStencil-Regular.ttf
🔥 FAIL Ensure smart dropout control is enabled in "prep" table instructions. (smart_dropout)
  • 🔥 FAIL The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script. [code: lacks-smart-dropout]
🔥 FAIL Check family name for GF Guide compliance. (googlefonts/family_name_compliance)
  • 🔥 FAIL "SirinStencil" is a CamelCased name. To solve this, simply use spaces instead in the font name. [code: camelcase]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name SirinStencil SirinStencil
Subfamily Name Regular Regular
Full Name SirinStencil SirinStencil Regular
Postscript Name SirinStencil-Regular SirinStencil-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]
⚠️ 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:

  • numbersign (U+0023): found 8, expected one of: [2, 4, 6]
  • plus (U+002B): found 3, expected one of: [1, 2]
  • three (U+0033): found 3, expected one of: [1, 2, 5]
  • five (U+0035): found 3, expected one of: [1, 2, 5]
  • six (U+0036): found 3, expected one of: [1, 2, 5]
  • nine (U+0039): found 3, expected one of: [1, 2, 5]
  • S (U+0053): found 3, expected one of: [1, 2, 5]
  • bracketleft (U+005B): found 2, expected one of: [1, 3, 5]
  • bracketright (U+005D): found 2, expected one of: [1, 3, 5]
    ... and 12 others [code: contour-count]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ 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
  • noBreak
  • caron.case
  • foundryicon [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 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 ("Sirin" and "Sirin Stencil") that differs from the currently used family name (SirinStencil), which is fine. [code: legacy-familyname]

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

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

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

⚠️ WARN Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • .notdef: X=1442,Y=-2 (should be at baseline 0?)
    • .notdef: X=1462.5,Y=-1.5 (should be at baseline 0?)
    • .notdef: X=1485,Y=-1 (should be at baseline 0?)
    • A (U+0041): X=12.5,Y=-1.5 (should be at baseline 0?)
    • A (U+0041): X=597.5,Y=1425.5 (should be at cap-height 1423?)
    • S (U+0053): X=666,Y=-2 (should be at baseline 0?)
    • U (U+0055): X=384.5,Y=1.5 (should be at baseline 0?)
    • bracketright (U+005D): X=0,Y=1422 (should be at cap-height 1423?)
    • o (U+006F): X=297.5,Y=-2 (should be at baseline 0?)
      ... and 31 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • P (U+0050): from (305.0, 1403.0) to (411.0, 1404.0) is colinear with segment from (411.0, 1404.0) to (539.0, 1403.0)
  • u (U+0075): from (293.0, 1012.0) to (293.0, 403.0) is colinear with segment from (293.0, 403.0) to (297.0, 326.0)
  • y (U+0079): from (293.0, 1012.0) to (293.0, 448.0) is colinear with segment from (293.0, 448.0) to (296.0, 360.0)
  • section (U+00A7): from (409.0, 998.0) to (458.0, 970.0) is colinear with segment from (458.0, 970.0) to (520.0, 938.0)
  • ugrave (U+00F9): from (293.0, 1012.0) to (293.0, 403.0) is colinear with segment from (293.0, 403.0) to (297.0, 326.0)
  • uacute (U+00FA): from (293.0, 1012.0) to (293.0, 403.0) is colinear with segment from (293.0, 403.0) to (297.0, 326.0)
  • ucircumflex (U+00FB): from (293.0, 1012.0) to (293.0, 403.0) is colinear with segment from (293.0, 403.0) to (297.0, 326.0)
  • udieresis (U+00FC): from (293.0, 1012.0) to (293.0, 403.0) is colinear with segment from (293.0, 403.0) to (297.0, 326.0)
  • yacute (U+00FD): from (293.0, 1012.0) to (293.0, 448.0) is colinear with segment from (293.0, 448.0) to (296.0, 360.0)
    ... and 1 others [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • P (U+0050): Line(Line { p0: (411.0, 1404.0), p1: (539.0, 1403.0) }) (angle: -0.45 degrees, expected: 0.00 degrees)
  • T (U+0054): Line(Line { p0: (414.0, 33.0), p1: (413.0, 1119.0) }) (angle: 90.05 degrees, expected: 90.00 degrees)
  • b (U+0062): Line(Line { p0: (304.0, 1493.0), p1: (301.0, 987.0) }) (angle: -90.34 degrees, expected: -90.00 degrees)
  • h (U+0068): Line(Line { p0: (305.0, 1493.0), p1: (301.0, 993.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • j (U+006A): Line(Line { p0: (160.0, -331.0), p1: (158.0, 926.0) }) (angle: 90.09 degrees, expected: 90.00 degrees)
  • y (U+0079): Line(Line { p0: (741.0, -207.0), p1: (739.0, 926.0) }) (angle: 90.10 degrees, expected: 90.00 degrees)
  • braceright (U+007D): Line(Line { p0: (329.0, 865.0), p1: (331.0, 1183.0) }) (angle: 89.64 degrees, expected: 90.00 degrees)
  • yacute (U+00FD): Line(Line { p0: (741.0, -207.0), p1: (739.0, 926.0) }) (angle: 90.10 degrees, expected: 90.00 degrees)
  • thorn (U+00FE): Line(Line { p0: (304.0, 1493.0), p1: (300.0, 987.0) }) (angle: -90.45 degrees, expected: -90.00 degrees)
    ... and 1 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 <= 23 - Use grayscale rendering
PPM <= 65535 - Use grid-fitting
- Use grayscale rendering
[code: ranges]
  • ⚠️ WARN The gasp table has a range of 23 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 ' ' 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:
SirinStencil-Regular.ttf
Dehinted Size 47508
Hinted Size 69332
Increase 21824
Change 45.9 %
ℹ️ 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.002, Version 1.002 [code: version-not-detected]
[2] ofl/sirinstencil/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]
[2] ofl/sirinstencil/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

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

which does not match the expected format, similar to:

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

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

Lines changed:

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

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

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

[11] ofl/sirinstencil
🔥 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 "Sirin Stencil" does not match correct family name "SirinStencil". [code: familyname-mismatch]

  • 🔥 FAIL METADATA.pb family name field "Sirin Stencil" does not match correct family name "SirinStencil". [code: familyname-mismatch]

🔥 FAIL METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • 🔥 FAIL Subsets are not in order [code: not-sorted]
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL We detected support for the Yapese language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL SirinStencil-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

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

But instead we have got:

"copyright (c) 2011, cyreal (www.cyreal.org)
with reserved font name "sirin" and "sirin stencil".

this font software is licensed under the sil open font license,
version 1.1. this license is available with a faq at:
http://scripts.sil.org/ofl" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011, cyreal (www.cyreal.org)
with reserved font name "sirin" and "sirin stencil".

this font software is licensed under the sil open font license,
version 1.1. this license is available with a faq at:
http://scripts.sil.org/ofl" [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2011, cyreal (www.cyreal.org a@cyreal.org) with reserved font name "sirin" and "sirin stencil". this font software is licensed under the sil open font license, version 1.1. this license is available with a faq at: http://scripts.sil.org/ofl" [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2011, cyreal (www.cyreal.org)
    with reserved font name "sirin" and "sirin stencil".

this font software is licensed under the sil open font license,
version 1.1. this license is available with a faq at:
http://scripts.sil.org/ofl: ["SirinStencil-Regular.ttf: Name Table entry", "SirinStencil-Regular.ttf: Name Table entry"]

  • copyright (c) 2011, cyreal (www.cyreal.org a@cyreal.org) with reserved font name "sirin" and "sirin stencil". this font software is licensed under the sil open font license, version 1.1. this license is available with a faq at: http://scripts.sil.org/ofl: ["METADATA.pb"] [code: mismatch]
🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/sirinstencil/SirinStencil-Regular.ttf missing required codepoints:
  • 0x2026: HORIZONTAL ELLIPSIS
  • 0x2122: TRADE MARK SIGN [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sirinstencil/SirinStencil-Regular.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02C7 CARON: try adding one of: latin-ext, tifinagh, canadian-aboriginal, yi
  • U+2074 SUPERSCRIPT FOUR: try adding math

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

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

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

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

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

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

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

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
18 30 7 109 73
8% 14% 3% 50% 34%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

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

[9] ofl/slabo13px
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 750, but got 720 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.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 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 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 Slabo13px-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, tiro typeworks ltd (www.tiro.com)." [code: bad-notice-format]

  • 🔥 FAIL Slabo13px-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, tiro typeworks ltd (www.tiro.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) 2013, tiro typeworks ltd (www.tiro.com)." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/slabo13px/Slabo13px-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: malayalam, syriac, canadian-aboriginal, tai-le, old-permic, hebrew, todhri, duployan, tifinagh, coptic, math
  • 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 8 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]

ℹ️ 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/slabo13px/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2013, tiro typeworks ltd (www.tiro.com)."

which does not match the expected format, similar to:

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

[20] ofl/slabo13px/Slabo13px-Regular.ttf
🔥 FAIL Ensure smart dropout control is enabled in "prep" table instructions. (smart_dropout)
  • 🔥 FAIL The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script. [code: lacks-smart-dropout]
🔥 FAIL 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 when shaping the text 'ÍJ́'
Shaper didn't attach uni0301 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: * 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: * 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: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: ẽ
Shaper didn't attach uni0301 to Aogonek when shaping the text 'Ą́'
Shaper didn't attach uni0303 to Aogonek when shaping the text 'Ą̃'
Shaper didn't attach uni0301 to Eogonek when shaping the text 'Ę́'
Shaper didn't attach uni0303 to Eogonek when shaping the text 'Ę̃'
Shaper didn't attach uni0301 to Edotaccent when shaping the text 'Ė́'
Shaper didn't attach uni0303 to Edotaccent when shaping the text 'Ė̃'
Shaper didn't attach uni0301 to Idotaccent when shaping the text 'İ́'
Shaper didn't attach uni0301 to Idotaccent when shaping the text 'İ́'
Shaper didn't attach uni0300 to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach uni0300 to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach uni0303 to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach uni0303 to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach uni0301 to Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'Į̇́'
Shaper didn't attach uni0303 to Iogonek when shaping the text 'Į̃'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'Į̇̃'
Shaper didn't attach uni0303 to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'J̇̃'
Shaper didn't attach uni0303 to L when shaping the text 'L̃'
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 'Ū̃'
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 when shaping the text 'i̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̀'
Shaper didn't attach uni0300 to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to i 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 when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'j̇̃'
Shaper didn't attach uni0303 to l when shaping the text 'l̃'
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: * de_Latn (German)
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: ʻ
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Slabo 13px Slabo 13px
Subfamily Name Regular Regular
Full Name Slabo 13px Slabo 13px Regular
Postscript Name Slabo13px-Regular Slabo13px-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.019989 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 (uni0300)
  • U+0301 (uni0301)
  • U+0302 (uni0302)
  • U+0303 (uni0303)
  • U+0304 (uni0304)
  • U+0306 (uni0306)
  • U+0307 (uni0307)
  • U+0308 (uni0308)
  • U+030A (uni030A)
    ... and 7 others [code: mark-chars]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 780 instead. [code: suboptimal]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ WARN tcaron 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 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • Q (U+0051): X=227,Y=2 (should be at baseline 0?)
    • Eogonek (U+0118): X=340,Y=-2 (should be at baseline 0?)
    • Iogonek (U+012E): X=120,Y=-2 (should be at baseline 0?)
    • Uogonek (U+0172): X=285,Y=-1 (should be at baseline 0?)
    • Uogonek (U+0172): X=284,Y=1 (should be at baseline 0?)
    • f (U+0066): X=245,Y=539 (should be at cap-height 540?)
    • aogonek (U+0105): X=310,Y=-2 (should be at baseline 0?)
    • iogonek (U+012F): X=120,Y=-2 (should be at baseline 0?)
    • uogonek (U+0173): X=360,Y=-2 (should be at baseline 0?)
      ... and 24 others [code: found-misalignments]
⚠️ 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 <= 20 - 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 20 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]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Slabo 13px" 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:
Slabo13px-Regular.ttf
Dehinted Size 37392
Hinted Size 55796
Increase 18404
Change 49.2 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    hdmx
    LTSH [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.02 Build 005a, Version 1.02 Build 005a [code: version-not-detected]
[2] ofl/slabo13px/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
17 23 10 118 68
8% 11% 5% 55% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright (c) 2013, tiro typeworks ltd (www.tiro.com)."

which does not match the expected format, similar to:

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

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

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

[20] ofl/slabo27px/Slabo27px-Regular.ttf
🔥 FAIL Ensure smart dropout control is enabled in "prep" table instructions. (smart_dropout)
  • 🔥 FAIL The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script. [code: lacks-smart-dropout]
🔥 FAIL 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 when shaping the text 'ÍJ́'
Shaper didn't attach uni0301 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: * 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: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * 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 uni0301 to Aogonek when shaping the text 'Ą́'
Shaper didn't attach uni0303 to Aogonek when shaping the text 'Ą̃'
Shaper didn't attach uni0301 to Eogonek when shaping the text 'Ę́'
Shaper didn't attach uni0303 to Eogonek when shaping the text 'Ę̃'
Shaper didn't attach uni0301 to Edotaccent when shaping the text 'Ė́'
Shaper didn't attach uni0303 to Edotaccent when shaping the text 'Ė̃'
Shaper didn't attach uni0301 to Idotaccent when shaping the text 'İ́'
Shaper didn't attach uni0301 to Idotaccent when shaping the text 'İ́'
Shaper didn't attach uni0300 to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach uni0300 to Idotaccent when shaping the text 'İ̀'
Shaper didn't attach uni0303 to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach uni0303 to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach uni0301 to Iogonek when shaping the text 'Į́'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'Į̇́'
Shaper didn't attach uni0303 to Iogonek when shaping the text 'Į̃'
Shaper didn't attach uni0307 to Iogonek when shaping the text 'Į̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'Į̇̃'
Shaper didn't attach uni0303 to J when shaping the text 'J̃'
Shaper didn't attach uni0307 to J when shaping the text 'J̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'J̇̃'
Shaper didn't attach uni0303 to L when shaping the text 'L̃'
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 'Ū̃'
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 when shaping the text 'i̇́'
Shaper didn't attach uni0301 to uni0307 when shaping the text 'i̇́'
Shaper didn't attach uni0307 to i when shaping the text 'i̇̀'
Shaper didn't attach uni0300 to uni0307 when shaping the text 'i̇̀'
Shaper didn't attach uni0307 to i 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 when shaping the text 'j̃'
Shaper didn't attach uni0307 to j when shaping the text 'j̇̃'
Shaper didn't attach uni0303 to uni0307 when shaping the text 'j̇̃'
Shaper didn't attach uni0303 to l when shaping the text 'l̃'
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: * 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: ǿ
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Slabo 27px Slabo 27px
Subfamily Name Regular Regular
Full Name Slabo 27px Slabo 27px Regular
Postscript Name Slabo27px-Regular Slabo27px-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.019989 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 (uni0300)
  • U+0301 (uni0301)
  • U+0302 (uni0302)
  • U+0303 (uni0303)
  • U+0304 (uni0304)
  • U+0306 (uni0306)
  • U+0307 (uni0307)
  • U+0308 (uni0308)
  • U+030A (uni030A)
    ... and 7 others [code: mark-chars]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 810 instead. [code: suboptimal]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 390 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=395: 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 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 Are there any misaligned on-curve points? (outline_alignment_miss)
  • ⚠️ WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • Q (U+0051): X=317,Y=1 (should be at baseline 0?)
    • Q (U+0051): X=317,Y=-1 (should be at baseline 0?)
    • Eogonek (U+0118): X=314,Y=-2 (should be at baseline 0?)
    • Iogonek (U+012E): X=134,Y=-2 (should be at baseline 0?)
    • Uogonek (U+0172): X=284,Y=-2 (should be at baseline 0?)
    • aring (U+00E5): X=141,Y=542.5 (should be at cap-height 540?)
    • aring (U+00E5): X=251,Y=542.5 (should be at cap-height 540?)
    • aogonek (U+0105): X=304,Y=-2 (should be at baseline 0?)
    • iogonek (U+012F): X=114,Y=-2 (should be at baseline 0?)
      ... and 27 others [code: found-misalignments]
⚠️ 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 <= 23 - 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 23 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]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Slabo 27px" 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:
Slabo27px-Regular.ttf
Dehinted Size 34752
Hinted Size 56088
Increase 21336
Change 61.4 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp
    LTSH [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.02 Build 003a, Version 1.02 Build 003a [code: version-not-detected]
[2] ofl/slabo27px/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)
[8] ofl/slabo27px
🔥 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 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 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 Slabo27px-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, tiro typeworks ltd (www.tiro.com)." [code: bad-notice-format]

  • 🔥 FAIL Slabo27px-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, tiro typeworks ltd (www.tiro.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) 2013, tiro typeworks ltd (www.tiro.com)." [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/slabo27px/Slabo27px-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: coptic, math, cherokee, tifinagh
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: math, hebrew, canadian-aboriginal, malayalam, old-permic, tai-le, coptic, tifinagh, todhri, duployan, syriac
  • 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 8 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]

ℹ️ 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
16 23 10 119 68
7% 11% 5% 55% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[20] ofl/sniglet/Sniglet-Regular.ttf
🔥 FAIL Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '0.95' [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 2 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 440 but it should be 490 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 459 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=476: equal
    width=391: greater
    width=610: logicalnot
    width=372: less
    width=357: 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 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 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 outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • m (U+006D): Quad(QuadBez { p0: (427.5, 400.0), p1: (439.0, 367.0), p2: (443.0, 333.0) })/Quad(QuadBez { p0: (443.0, 333.0), p1: (447.0, 366.0), p2: (459.5, 398.5) }) = 13.621063926781616 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:
  • J (U+004A): Line(Line { p0: (265.0, 251.0), p1: (266.0, 648.0) }) (angle: 89.86 degrees, expected: 90.00 degrees)
  • P (U+0050): Line(Line { p0: (161.0, 246.0), p1: (160.0, 63.0) }) (angle: -90.31 degrees, expected: -90.00 degrees)
  • j (U+006A): Line(Line { p0: (162.0, 443.0), p1: (161.0, -60.0) }) (angle: -90.11 degrees, expected: -90.00 degrees)
  • paragraph (U+00B6): Line(Line { p0: (228.0, -7.0), p1: (227.0, 312.0) }) (angle: 90.18 degrees, expected: 90.00 degrees)
  • dotlessj (U+0237): Line(Line { p0: (162.0, 443.0), p1: (161.0, -60.0) }) (angle: -90.11 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 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]
⚠️ 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sniglet-Regular.ttf
Dehinted Size 51360
Hinted Size 75212
Increase 23852
Change 46.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 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]

[2] ofl/sniglet/METADATA.pb
🔥 FAIL METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • 🔥 FAIL Font family Sniglet does not explicitely mention the names of its designers on its METADATA.pb file. [code: multiple-designers]
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[9] ofl/sniglet
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 292, but got 289 instead. [code: descent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 292, but got 289 instead. [code: descent]

🔥 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 Sniglet-ExtraBold.ttf: Name Table entry: Copyright notices should match a pattern similar to:

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

But instead we have got:

"copyright (c) 2008, haley fiege (haley@kingdomofawesome.com),
copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com)
copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com),
with no reserved font name." [code: bad-notice-format]

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

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

But instead we have got:

"copyright (c) 2008, haley fiege (haley@kingdomofawesome.com),
copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com)
copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com),
with no reserved font name." [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) 2008, haley fiege (haley@kingdomofawesome.com), copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com) copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com), with no reserved font name." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • 🔥 FAIL Sniglet-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) 2008, haley fiege (haley@kingdomofawesome.com),
copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com)
copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com),
with no reserved font name." [code: bad-notice-format]

  • 🔥 FAIL Sniglet-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) 2008, haley fiege (haley@kingdomofawesome.com),
copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com)
copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com),
with no reserved font name." [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) 2008, haley fiege (haley@kingdomofawesome.com), copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com) copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com), with no reserved font name." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sniglet/Sniglet-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+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+03BC GREEK SMALL LETTER MU: try adding one of: math, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2074 SUPERSCRIPT FOUR: try adding math
  • U+2081 SUBSCRIPT ONE: try adding math
  • U+2082 SUBSCRIPT TWO: try adding math
    ... and 3 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/sniglet/Sniglet-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+03BC GREEK SMALL LETTER MU: try adding one of: math, greek
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+2074 SUPERSCRIPT FOUR: try adding math
  • U+2081 SUBSCRIPT ONE: try adding math
  • U+2082 SUBSCRIPT TWO: try adding math
    ... and 3 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 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]
[21] ofl/sniglet/Sniglet-ExtraBold.ttf
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sniglet Sniglet ExtraBold
Subfamily Name ExtraBold Regular
Full Name Sniglet ExtraBold Sniglet ExtraBold
Postscript Name Sniglet-ExtraBold Sniglet-ExtraBold
Typographic Family Name N/A Sniglet
Typographic Subfamily Name N/A ExtraBold
🔥 FAIL Font has all mandatory 'name' table entries? (googlefonts/name/mandatory_entries)
  • 🔥 FAIL Font lacks entry with nameId=16 (TYPOGRAPHIC_FAMILY_NAME) [code: missing-entry]

  • 🔥 FAIL Font lacks entry with nameId=17 (TYPOGRAPHIC_SUBFAMILY_NAME) [code: missing-entry]

🔥 FAIL Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • 🔥 FAIL Failed to parse ttfautohint version values: latest = '1.8.4'; used_in_font = '0.95' [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 2 is equal to version on Google fonts [code: same-version]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 595 but it should be 616 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 math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 536 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=543: minus
    width=618: plus, plusminus
    width=474: less
    width=468: greater
    width=574: divide
    width=686: 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 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 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 outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • Adieresis (U+00C4): Quad(QuadBez { p0: (378.5, 145.0), p1: (374.0, 163.0), p2: (373.0, 171.0) })/Quad(QuadBez { p0: (373.0, 171.0), p1: (372.0, 163.0), p2: (367.5, 145.0) }) = 14.250032697803546 degrees
  • Agrave (U+00C0): Quad(QuadBez { p0: (378.5, 145.0), p1: (374.0, 163.0), p2: (373.0, 171.0) })/Quad(QuadBez { p0: (373.0, 171.0), p1: (372.0, 163.0), p2: (367.5, 145.0) }) = 14.250032697803546 degrees
  • Aring (U+00C5): Quad(QuadBez { p0: (378.5, 145.0), p1: (374.0, 163.0), p2: (373.0, 171.0) })/Quad(QuadBez { p0: (373.0, 171.0), p1: (372.0, 163.0), p2: (367.5, 145.0) }) = 14.250032697803546 degrees
  • Atilde (U+00C3): Quad(QuadBez { p0: (378.5, 145.0), p1: (374.0, 163.0), p2: (373.0, 171.0) })/Quad(QuadBez { p0: (373.0, 171.0), p1: (372.0, 163.0), p2: (367.5, 145.0) }) = 14.250032697803546 degrees
  • Aacute (U+00C1): Quad(QuadBez { p0: (378.5, 145.0), p1: (374.0, 163.0), p2: (373.0, 171.0) })/Quad(QuadBez { p0: (373.0, 171.0), p1: (372.0, 163.0), p2: (367.5, 145.0) }) = 14.250032697803546 degrees
  • E (U+0045): Quad(QuadBez { p0: (492.0, 458.0), p1: (433.0, 447.0), p2: (358.0, 451.0) })/Quad(QuadBez { p0: (358.0, 451.0), p1: (415.0, 441.0), p2: (444.0, 423.5) }) = 6.897744173159177 degrees
  • E (U+0045): Quad(QuadBez { p0: (411.0, 247.5), p1: (394.0, 242.0), p2: (389.0, 241.0) })/Quad(QuadBez { p0: (389.0, 241.0), p1: (435.0, 241.0), p2: (470.0, 236.0) }) = 11.309932474020195 degrees
  • Eacute (U+00C9): Quad(QuadBez { p0: (492.0, 458.0), p1: (433.0, 447.0), p2: (358.0, 451.0) })/Quad(QuadBez { p0: (358.0, 451.0), p1: (415.0, 441.0), p2: (444.0, 423.5) }) = 6.897744173159177 degrees
  • Eacute (U+00C9): Quad(QuadBez { p0: (411.0, 247.5), p1: (394.0, 242.0), p2: (389.0, 241.0) })/Quad(QuadBez { p0: (389.0, 241.0), p1: (435.0, 241.0), p2: (470.0, 236.0) }) = 11.309932474020195 degrees
    ... and 41 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]
⚠️ 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]
⚠️ 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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Sniglet-ExtraBold.ttf
Dehinted Size 54772
Hinted Size 74228
Increase 19456
Change 35.5 %
ℹ️ 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/sniglet/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2008, haley fiege (haley@kingdomofawesome.com), copyright (c) 2012, brenda gallo (gbrenda1987@gmail.com), copyright (c) 2013, pablo impallari (www.impallari.com|impallari@gmail.com)
"

which does not match the expected format, similar to:

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

[3] ofl/sniglet/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
🔥 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
26 42 16 193 129
7% 11% 4% 52% 34%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[10] ofl/sreekrushnadevaraya
🔥 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 We detected support for the Afrikaans language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Welsh language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Manx language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Hausa 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Chin, Matu language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Ijo, Southeast 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 lg sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Makonde 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Ganda language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Malagasy language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mi'kmaq 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mazatec, Ixcatlán language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Nyamwezi language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rarotongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rapa (Latin) language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018)
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 32 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tojolabal language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tsonga 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Makhuwa language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL SreeKrushnadevaraya-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011-2012, sorkin type co (www.sorkintype.com) with reserved font name 'cantata'" [code: bad-notice-format]

  • 🔥 FAIL SreeKrushnadevaraya-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011-2012, sorkin type co (www.sorkintype.com) with reserved font name 'cantata'" [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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011-2012, sorkin type co (www.sorkintype.com) with reserved font name 'cantata'" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/sreekrushnadevaraya/SreeKrushnadevaraya-Regular.ttf missing required codepoints:
  • 0x2013: EN DASH
  • 0x2014: EM DASH
  • 0x2018: LEFT SINGLE QUOTATION MARK
  • 0x2019: RIGHT SINGLE QUOTATION MARK
  • 0x201C: LEFT DOUBLE QUOTATION MARK
  • 0x201D: RIGHT DOUBLE QUOTATION MARK
  • 0x2022: BULLET
  • 0x2026: HORIZONTAL ELLIPSIS
  • 0x20AC: EURO SIGN
    ... and 2 others [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/sreekrushnadevaraya/SreeKrushnadevaraya-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+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: yi, greek, math
  • U+0950 DEVANAGARI OM: try adding devanagari

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Andhrapradesh Society for Knowledge Networks (fonts.siliconandhra.org). Copyright (c) 2011-2012, Sorkin Type Co (www.sorkintype.com) with Reserved Font Name 'Cantata'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[2] ofl/sreekrushnadevaraya/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)
[2] ofl/sreekrushnadevaraya/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (SreeKrushnadevaraya). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "SreeKrushnadevaraya-Regular.ttf" does not match post_script_name="SreeKrushnadevaraya". [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 purushothkumarguttula 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/sreekrushnadevaraya/SreeKrushnadevaraya-Regular.ttf
🔥 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 Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • uni0C36_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws [code: duplicated-glyph-names]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: uni0C15_uni0C37_uni0C4D.akhn_uni0C41.abvs_uni0C30_uni0C4D.blwf., uni0C37_uni0C3F.abvs_uni0C1F_uni0C4D.blwf_uni0C30_uni0C4D.blwf., uni0C38_uni0C3F.abvs_uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.

              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: "uni0C36_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws" [code: duplicated-glyph-names]

  • ⚠️ WARN The following glyph names are too long: "uni0C2B_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C41_uni0C37_uni0C4D.akhn, uni0C2F_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4C_uni0C37_uni0C4D.akhn, uni0C23_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C47_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C46.abvs_uni0C56.blws, uni0C17_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C46.abvs_uni0C56.blws, uni0C2D_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C46.abvs_uni0C56.blws, uni0C1E_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C4D.abvs, uni0C18_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3E_uni0C37_uni0C4D.akhn, uni0C2A_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C37_uni0C4D.akhn, uni0C1C_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C46.abvs_uni0C56.blws, uni0C28_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C46.abvs_uni0C56.blws, uni0C31_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C46.abvs_uni0C56.blws, uni0C1C_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C46.abvs_uni0C56.blws, uni0C1C_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4C_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C46.abvs_uni0C56.blws, uni0C16_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C56_uni0C37_uni0C4D.akhn, uni0C30_uni0C46.abvs_uni0C56.blws, uni0C23_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C46.abvs_uni0C56.blws, uni0C2A_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C46.abvs_uni0C56.blws, uni0C32_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4B_uni0C37_uni0C4D.akhn, uni0C32_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4B_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C46.abvs_uni0C56.blws, uni0C1B_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn_uni0C2E_uni0C4D.blwf.psts, uni0C35_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46.abvs_uni0C56.blws, uni0C1A_uni0C46.abvs_uni0C56.blws, uni0C19_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C2E_uni0C4D.blwf.psts, uni0C1B_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C4D.psts, uni0C2D_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C46.abvs_uni0C56.blws, uni0C39_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C4D.blwf_uni0C37_uni0C4D.blwf.blwf, uni0C27_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C46.abvs_uni0C56.blws, uni0C1A_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4A_uni0C37_uni0C4D.akhn, uni0C1B_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C1F_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4A_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C46.abvs_uni0C56.blws, uni0C21_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C46.abvs_uni0C56.blws, uni0C37_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C41.abvs, uni0C1C_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C46.abvs_uni0C56.blws, uni0C32_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40_uni0C37_uni0C4D.akhn_uni0C2E_uni0C4D.blwf.psts, uni0C1D_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C42.abvs, uni0C30_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C46.abvs_uni0C56.blws, uni0C2A_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C46.abvs_uni0C56.blws, uni0C24_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C47_uni0C37_uni0C4D.akhn, uni0C1D_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C46.abvs_uni0C56.blws, uni0C20_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C24_uni0C30_uni0C40.akhn, uni0C16_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3E_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40_uni0C37_uni0C4D.akhn, uni0C35_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C46.abvs_uni0C56.blws, uni0C38_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C46.abvs_uni0C56.blws, uni0C37_uni0C1F_uni0C30_uni0C40.akhn, uni0C28_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C46.abvs_uni0C56.blws, uni0C33_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C46.abvs_uni0C56.blws, uni0C26_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C46.abvs_uni0C56.blws, uni0C39_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C46.abvs_uni0C56.blws, uni0C32_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C42_uni0C37_uni0C4D.akhn, uni0C21_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C4D.blwf_uni0C4D.haln, uni0C1E_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn, uni0C25_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C37_uni0C4D.akhn_uni0C56.blws, uni0C1F_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C46.abvs_uni0C56.blws, uni0C19_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C46.abvs_uni0C56.blws, uni0C1F_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws" [code: legacy-long-names]

🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Sree Krushnadevaraya Sree Krushnadevaraya
Subfamily Name Regular Regular
Full Name Sree Krushnadevaraya Sree Krushnadevaraya Regular
Postscript Name SreeKrushnadevaraya SreeKrushnadevaraya-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 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+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0C3E (uni0C3E)
  • U+0C3F (uni0C3F)
  • U+0C40 (uni0C40)
  • U+0C46 (uni0C46)
  • U+0C47 (uni0C47)
  • U+0C48 (uni0C48)
  • U+0C4A (uni0C4A)
    ... and 7 others [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:
  • uni0C30_uni0C4D.blwf [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 720 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 384 but it should be 540 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:

  • nine (U+0039): found 3, expected one of: [1, 2, 5]
  • colon (U+003A): 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 409 among a set of 8 math glyphs.
    The following math glyphs have a different width, though:
    width=408: greater, less [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:
  • 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • nine (U+0039) has a path with no bounds (probably a single point)
  • greater (U+003E) has a counter-clockwise outer contour
  • backslash (U+005C) has a counter-clockwise outer contour
  • bracketright (U+005D) has a counter-clockwise outer contour
  • braceright (U+007D) has a counter-clockwise outer contour
  • guillemotright (U+00BB) has a counter-clockwise outer contour
  • guillemotright (U+00BB) has a counter-clockwise outer contour
  • uni0C36 (U+0C36) has a path with no bounds (probably a single point)
  • uni0C36_uni0C30_uni0C4D.blwf.blws 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:
  • uni0C21 (U+0C21): Quad(QuadBez { p0: (365.0, 134.0), p1: (365.0, 139.0), p2: (364.0, 151.0) })/Quad(QuadBez { p0: (364.0, 151.0), p1: (361.0, 130.0), p2: (343.5, 119.5) }) = 12.893744044882189 degrees
  • uni0C22 (U+0C22): Quad(QuadBez { p0: (365.0, 134.0), p1: (365.0, 139.0), p2: (364.0, 151.0) })/Quad(QuadBez { p0: (364.0, 151.0), p1: (361.0, 130.0), p2: (343.5, 119.5) }) = 12.893744044882189 degrees
  • uni0C41 (U+0C41): Line(Line { p0: (-50.0, 95.0), p1: (-39.0, 141.0) })/Quad(QuadBez { p0: (-39.0, 141.0), p1: (-39.0, 115.0), p2: (-16.5, 95.5) }) = 13.448615051686527 degrees
  • uni0C44 (U+0C44): Quad(QuadBez { p0: (-4.0, -129.0), p1: (-17.0, -120.0), p2: (-22.0, -107.0) })/Quad(QuadBez { p0: (-22.0, -107.0), p1: (-19.0, -130.0), p2: (1.0, -145.0) }) = 13.606103054249285 degrees
  • uni0C21_uni0C3E.abvs: Quad(QuadBez { p0: (365.0, 134.0), p1: (365.0, 139.0), p2: (364.0, 151.0) })/Quad(QuadBez { p0: (364.0, 151.0), p1: (361.0, 130.0), p2: (343.5, 119.5) }) = 12.893744044882189 degrees
  • uni0C22_uni0C3E.abvs: Quad(QuadBez { p0: (365.0, 134.0), p1: (365.0, 139.0), p2: (364.0, 151.0) })/Quad(QuadBez { p0: (364.0, 151.0), p1: (361.0, 130.0), p2: (343.5, 119.5) }) = 12.893744044882189 degrees
  • uni0C15_uni0C3E_uni0C37_uni0C4D.akhn: Quad(QuadBez { p0: (342.0, -156.0), p1: (342.0, -134.0), p2: (355.0, -115.0) })/Quad(QuadBez { p0: (355.0, -115.0), p1: (330.0, -142.0), p2: (286.0, -142.0) }) = 8.417057114389285 degrees
  • uni0C21_uni0C3F.abvs: Quad(QuadBez { p0: (365.0, 134.0), p1: (365.0, 139.0), p2: (364.0, 151.0) })/Quad(QuadBez { p0: (364.0, 151.0), p1: (361.0, 130.0), p2: (343.5, 119.5) }) = 12.893744044882189 degrees
  • uni0C22_uni0C3F.abvs: Quad(QuadBez { p0: (365.0, 134.0), p1: (365.0, 139.0), p2: (364.0, 151.0) })/Quad(QuadBez { p0: (364.0, 151.0), p1: (361.0, 130.0), p2: (343.5, 119.5) }) = 12.893744044882189 degrees
    ... and 89 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • nine (U+0039): Line(Line { p0: (95.0, 21.0), p1: (96.0, 21.0) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (48.0, 38.0), p1: (48.0, 66.0), p2: (74.0, 77.0) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (74.0, 77.0), p1: (82.0, 80.0), p2: (95.5, 80.0) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (95.5, 80.0), p1: (109.0, 80.0), p2: (121.5, 68.0) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (121.5, 68.0), p1: (134.0, 56.0), p2: (134.0, 38.0) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (134.0, 38.0), p1: (134.0, 20.0), p2: (121.5, 7.5) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (121.5, 7.5), p1: (109.0, -5.0), p2: (91.0, -5.0) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (91.0, -5.0), p1: (73.0, -5.0), p2: (60.5, 7.5) }) has the same coordinates as a previous segment.
  • colon (U+003A): Quad(QuadBez { p0: (60.5, 7.5), p1: (48.0, 20.0), p2: (48.0, 38.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:
  • E (U+0045): Line(Line { p0: (72.0, 21.0), p1: (73.0, 387.0) }) (angle: 89.84 degrees, expected: 90.00 degrees)
  • H (U+0048): Line(Line { p0: (56.0, 21.0), p1: (57.0, 387.0) }) (angle: 89.84 degrees, expected: 90.00 degrees)
  • M (U+004D): Line(Line { p0: (405.0, 21.0), p1: (406.0, 376.0) }) (angle: 89.84 degrees, expected: 90.00 degrees)
  • R (U+0052): Line(Line { p0: (63.0, 21.0), p1: (64.0, 387.0) }) (angle: 89.84 degrees, expected: 90.00 degrees)
  • U (U+0055): Line(Line { p0: (48.0, 149.0), p1: (49.0, 387.0) }) (angle: 89.76 degrees, expected: 90.00 degrees)
  • uni0C2E_uni0C4D.abvs: Line(Line { p0: (284.0, 273.0), p1: (140.0, 274.0) }) (angle: 179.60 degrees, expected: 180.00 degrees)
  • uni0C35_uni0C4D.abvs: Line(Line { p0: (284.0, 273.0), p1: (140.0, 274.0) }) (angle: 179.60 degrees, expected: 180.00 degrees)
  • glyph867: Line(Line { p0: (284.0, 273.0), p1: (140.0, 274.0) }) (angle: 179.60 degrees, expected: 180.00 degrees)
  • glyph873: Line(Line { p0: (284.0, 273.0), p1: (140.0, 274.0) }) (angle: 179.60 degrees, expected: 180.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 value 'GPK ' 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 "Sree Krushnadevaraya" 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:
SreeKrushnadevaraya-Regular.ttf
Dehinted Size 409076
Hinted Size 612636
Increase 203560
Change 49.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 1.0.5; ttfautohint (v1.2.42-39fb), Version 1.0.5; ttfautohint (v1.2.42-39fb) [code: version-not-detected]
[1] ofl/sreekrushnadevaraya/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011-2012, sorkin type co (www.sorkintype.com) with reserved font name 'cantata'"

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
39 30 9 104 70
18% 14% 4% 48% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[10] ofl/suranna
🔥 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 We detected support for the Afrikaans language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Welsh language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Manx language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Hausa 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Chin, Matu language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Ijo, Southeast 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 lg sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Makonde 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Ganda language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Malagasy language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mi'kmaq 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mazatec, Ixcatlán language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Nyamwezi language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rarotongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018)
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rapa (Latin) language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 32 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tojolabal language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tsonga 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Makhuwa language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Suranna-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, cyreal (www.cyreal.org) with reserved font name 'prata'" [code: bad-notice-format]

  • 🔥 FAIL Suranna-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, cyreal (www.cyreal.org) with reserved font name 'prata'" [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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, cyreal (www.cyreal.org) with reserved font name 'prata'" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/suranna/Suranna-Regular.ttf missing required codepoints:
  • 0x00D7: MULTIPLICATION SIGN
  • 0x00F7: DIVISION SIGN
  • 0x2013: EN DASH
  • 0x2014: EM DASH
  • 0x2018: LEFT SINGLE QUOTATION MARK
  • 0x2019: RIGHT SINGLE QUOTATION MARK
  • 0x201C: LEFT DOUBLE QUOTATION MARK
  • 0x201D: RIGHT DOUBLE QUOTATION MARK
  • 0x2022: BULLET
    ... and 4 others [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/suranna/Suranna-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+0950 DEVANAGARI OM: try adding devanagari

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Andhrapradesh Society for Knowledge Networks (fonts.siliconandhra.org). Copyright (c) 2011, Cyreal (www.cyreal.org) with Reserved Font Name 'Prata'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[30] ofl/suranna/Suranna-Regular.ttf
🔥 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:
  • parenright (component parenleft)
  • bracketright (component bracketleft)
  • braceright (component braceleft)
  • exclamdown (component exclam)
  • guillemotright (component guillemotleft)
  • questiondown (component question) [code: transformed-components]
🔥 FAIL Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • uni0C36_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws [code: duplicated-glyph-names]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: uni0C37_uni0C3F.abvs_uni0C1F_uni0C4D.blwf_uni0C30_uni0C4D.blwf., uni0C15_uni0C37_uni0C4D.akhn_uni0C41.abvs_uni0C30_uni0C4D.blwf., uni0C38_uni0C3F.abvs_uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.

              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: "uni0C36_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws" [code: duplicated-glyph-names]

  • ⚠️ WARN The following glyph names are too long: "uni0C2A_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C2E_uni0C4D.blwf.psts, uni0C33_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C46.abvs_uni0C56.blws, uni0C28_uni0C46.abvs_uni0C56.blws, uni0C39_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C46.abvs_uni0C56.blws, uni0C2D_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C46.abvs_uni0C56.blws, uni0C30_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C47_uni0C37_uni0C4D.akhn, uni0C39_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C46.abvs_uni0C56.blws, uni0C35_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40_uni0C37_uni0C4D.akhn, uni0C21_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C4D.abvs, uni0C27_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C46.abvs_uni0C56.blws, uni0C2C_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C42.abvs, uni0C38_uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C46.abvs_uni0C56.blws, uni0C2B_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4C_uni0C37_uni0C4D.akhn, uni0C23_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C46.abvs_uni0C56.blws, uni0C17_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C4D.psts, uni0C33_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C47_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3E_uni0C37_uni0C4D.akhn, uni0C1A_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C46.abvs_uni0C56.blws, uni0C2C_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C46.abvs_uni0C56.blws, uni0C19_uni0C46.abvs_uni0C56.blws, uni0C23_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C41_uni0C37_uni0C4D.akhn, uni0C31_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4B_uni0C37_uni0C4D.akhn, uni0C30_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C46.abvs_uni0C56.blws, uni0C17_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C46.abvs_uni0C56.blws, uni0C30_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C40_uni0C37_uni0C4D.akhn_uni0C2E_uni0C4D.blwf.psts, uni0C2E_uni0C46.abvs_uni0C56.blws, uni0C36_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C46.abvs_uni0C56.blws, uni0C22_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4B_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4A_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C1F_uni0C30_uni0C40.akhn, uni0C17_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C24_uni0C30_uni0C40.akhn, uni0C15_uni0C46_uni0C37_uni0C4D.akhn_uni0C56.blws, uni0C22_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C46.abvs_uni0C56.blws, uni0C37_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C56_uni0C37_uni0C4D.akhn, uni0C1B_uni0C46.abvs_uni0C56.blws, uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C46.abvs_uni0C56.blws, uni0C2F_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2C_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C46.abvs_uni0C56.blws, uni0C2C_uni0C46.abvs_uni0C56.blws, uni0C26_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn_uni0C2E_uni0C4D.blwf.psts, uni0C35_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C46.abvs_uni0C56.blws, uni0C32_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C46.abvs_uni0C56.blws, uni0C33_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C46.abvs_uni0C56.blws, uni0C2B_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C23_uni0C46.abvs_uni0C56.blws, uni0C23_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C46.abvs_uni0C56.blws, uni0C21_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C46.abvs_uni0C56.blws, uni0C31_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C4D.blwf_uni0C4D.haln, uni0C1C_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1B_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C46.abvs_uni0C56.blws, uni0C15_uni0C4D.blwf_uni0C37_uni0C4D.blwf.blwf, uni0C24_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C46.abvs_uni0C56.blws, uni0C21_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46_uni0C37_uni0C4D.akhn, uni0C26_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4C_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C46.abvs_uni0C56.blws, uni0C27_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C30_uni0C4D.blwf.blws, uni0C17_uni0C46.abvs_uni0C56.blws, uni0C1A_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C1F_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3E_uni0C37_uni0C4D.akhn_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C4A_uni0C37_uni0C4D.akhn, uni0C1D_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn, uni0C1D_uni0C46.abvs_uni0C56.blws, uni0C33_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1A_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C27_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C21_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C46.abvs_uni0C56.blws, uni0C33_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C22_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C30_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C33_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1F_uni0C41.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C30_uni0C4D.blwf.blws, uni0C32_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C37_uni0C4D.akhn_uni0C41.abvs, uni0C1E_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1D_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C15_uni0C42_uni0C37_uni0C4D.akhn, uni0C2A_uni0C30_uni0C4D.blwf.blws, uni0C2E_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C30_uni0C4D.blwf.blws, uni0C1E_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C36_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C24_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C28_uni0C3E.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2F_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C26_uni0C4B.abvs_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C20_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C1C_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C16_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C35_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C19_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C31_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C25_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2D_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws, uni0C38_uni0C3F.abvs_uni0C30_uni0C4D.blwf.blws, uni0C18_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2B_uni0C42.abvs_uni0C30_uni0C4D.blwf.blws, uni0C39_uni0C4A.abvs_uni0C30_uni0C4D.blwf.blws, uni0C2A_uni0C40.abvs_uni0C30_uni0C4D.blwf.blws" [code: legacy-long-names]

🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Suranna Suranna
Subfamily Name Regular Regular
Full Name Suranna Suranna Regular
Postscript Name Suranna Suranna-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 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+0951 (uni0951)
  • U+0952 (uni0952)
  • U+0C3E (uni0C3E)
  • U+0C3F (uni0C3F)
  • U+0C40 (uni0C40)
  • U+0C46 (uni0C46)
  • U+0C47 (uni0C47)
  • U+0C48 (uni0C48)
  • U+0C4A (uni0C4A)
    ... and 7 others [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:
  • uni0C30_uni0C4D.blwf [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 780 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 382 but it should be 603 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:

  • uni0951 (U+0951): found 2, expected one of: [1]
  • uni0952 (U+0952): found 3, expected one of: [1] [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 299 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:
    width=373: plusminus
    width=344: logicalnot
    width=323: plus
    width=371: equal [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:
  • 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • parenright (U+0029) has a counter-clockwise outer contour
  • bracketright (U+005D) has a counter-clockwise outer contour
  • braceright (U+007D) has a counter-clockwise outer contour
  • exclamdown (U+00A1) has a counter-clockwise outer contour
  • exclamdown (U+00A1) has a counter-clockwise outer contour
  • guillemotright (U+00BB) has a counter-clockwise outer contour
  • guillemotright (U+00BB) has a counter-clockwise outer contour
  • uni0951 (U+0951) has a path with no bounds (probably a single point)
  • uni0952 (U+0952) has a path with no bounds (probably a single point)
    ... and 29 others [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • asciitilde (U+007E): Quad(QuadBez { p0: (52.0, 124.0), p1: (29.0, 131.0), p2: (29.0, 130.0) })/Quad(QuadBez { p0: (29.0, 130.0), p1: (31.0, 139.0), p2: (39.0, 155.0) }) = 12.528807709151492 degrees
  • uni0C33 (U+0C33): Quad(QuadBez { p0: (351.0, 129.0), p1: (304.0, 88.0), p2: (248.0, 88.0) })/Quad(QuadBez { p0: (248.0, 88.0), p1: (293.0, 80.0), p2: (316.0, 64.0) }) = 10.08059798754231 degrees
  • uni0C21_uni0C3E.abvs: Line(Line { p0: (515.0, 310.0), p1: (314.0, 310.0) })/Quad(QuadBez { p0: (314.0, 310.0), p1: (366.0, 299.0), p2: (408.0, 269.0) }) = 11.944177188446359 degrees
  • uni0C21_uni0C3E.abvs: Quad(QuadBez { p0: (72.0, 256.0), p1: (111.0, 296.0), p2: (172.0, 310.0) })/Line(Line { p0: (172.0, 310.0), p1: (16.0, 310.0) }) = 12.92599912470594 degrees
  • uni0C22_uni0C3E.abvs: Line(Line { p0: (515.0, 310.0), p1: (314.0, 310.0) })/Quad(QuadBez { p0: (314.0, 310.0), p1: (366.0, 299.0), p2: (408.0, 269.0) }) = 11.944177188446359 degrees
  • uni0C22_uni0C3E.abvs: Quad(QuadBez { p0: (72.0, 256.0), p1: (111.0, 296.0), p2: (172.0, 310.0) })/Line(Line { p0: (172.0, 310.0), p1: (16.0, 310.0) }) = 12.92599912470594 degrees
  • uni0C33_uni0C3E.abvs: Quad(QuadBez { p0: (351.0, 129.0), p1: (304.0, 88.0), p2: (248.0, 88.0) })/Quad(QuadBez { p0: (248.0, 88.0), p1: (293.0, 80.0), p2: (316.0, 64.0) }) = 10.08059798754231 degrees
  • uni0C31_uni0C3F.abvs: Quad(QuadBez { p0: (418.0, 357.0), p1: (439.0, 373.0), p2: (448.0, 416.0) })/Quad(QuadBez { p0: (448.0, 416.0), p1: (445.0, 399.0), p2: (424.5, 388.0) }) = 1.8135085391656391 degrees
  • uni0C33_uni0C46.abvs: Quad(QuadBez { p0: (351.0, 129.0), p1: (304.0, 88.0), p2: (248.0, 88.0) })/Quad(QuadBez { p0: (248.0, 88.0), p1: (293.0, 80.0), p2: (316.0, 64.0) }) = 10.08059798754231 degrees
    ... and 56 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:
  • uni0C1E_uni0C46.abvs: Line(Line { p0: (470.0, 310.0), p1: (469.0, 186.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • uni0C1E_uni0C47.abvs: Line(Line { p0: (470.0, 310.0), p1: (469.0, 186.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • uni0C1E_uni0C46.abvs_uni0C30_uni0C4D.blwf.blws: Line(Line { p0: (553.0, 310.0), p1: (552.0, 186.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • uni0C1E_uni0C47.abvs_uni0C30_uni0C4D.blwf.blws: Line(Line { p0: (553.0, 310.0), p1: (552.0, 186.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • uni0C37_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws: Line(Line { p0: (428.0, 391.0), p1: (633.0, 390.0) }) (angle: -0.28 degrees, expected: 0.00 degrees)
  • uni0C37_uni0C4C.abvs_uni0C30_uni0C4D.blwf.blws: Line(Line { p0: (120.0, 390.0), p1: (381.0, 391.0) }) (angle: 0.22 degrees, expected: 0.00 degrees)
  • uni0C1E_uni0C46.abvs_uni0C56.blws: Line(Line { p0: (470.0, 310.0), p1: (469.0, 186.0) }) (angle: -90.46 degrees, expected: -90.00 degrees)
  • uni0C1E_uni0C46.abvs_uni0C56.blws_uni0C30_uni0C4D.blwf.blws: Line(Line { p0: (470.0, 310.0), p1: (469.0, 186.0) }) (angle: -90.46 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 value 'GPK ' 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:
Suranna-Regular.ttf
Dehinted Size 386524
Hinted Size 624852
Increase 238328
Change 61.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 1.0.5; ttfautohint (v1.2.42-39fb), Version 1.0.5; ttfautohint (v1.2.42-39fb) [code: version-not-detected]
[3] ofl/suranna/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/suranna/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[1] ofl/suranna/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, cyreal (www.cyreal.org) with reserved font name 'prata'"

which does not match the expected format, similar to:

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

[2] ofl/suranna/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (Suranna). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "Suranna-Regular.ttf" does not match post_script_name="Suranna". [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 purushothkumarguttula 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
41 29 9 103 70
19% 13% 4% 48% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[34] ofl/suravaram/Suravaram-Regular.ttf
🔥 FAIL Checking font version fields (head and name table). (opentype/font_version)
  • 🔥 FAIL Font version mismatch: head table: 0.2999878, name table: 1 [code: mismatch]
🔥 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:
  • exclamdown (component exclam)
  • questiondown (component question) [code: transformed-components]
🔥 FAIL Font contains unique glyph names? (unique_glyphnames)
  • 🔥 FAIL These glyph names occur more than once:
  • uni0C15_uni0C4D_uni0C37_uni0C4D.akhn [code: duplicated-glyph-names]
🔥 FAIL Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL The following glyph names do not comply with naming conventions: uni0C15_uni0C46_uni0C56_uni0C37_uni0C4D.akhn_uni0C23_uni0C4D.bl, uni0C15_uni0C46_uni0C56_uni0C37_uni0C4D.akhn_uni0C15_uni0C4D_un

              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: "uni0C15_uni0C4D_uni0C37_uni0C4D.akhn" [code: duplicated-glyph-names]

  • ⚠️ WARN The following glyph names are too long: "uni0C15_uni0C46_uni0C37_uni0C4D.akhn, uni0C15_uni0C40_uni0C37_uni0C4D.akhn, uni0C37_uni0C4D.blwf_uni0C20_uni0C4D.blwf.blws, uni0C15_uni0C3F_uni0C37_uni0C4D.akhn, uni0C15_uni0C46_uni0C56_uni0C37_uni0C4D.akhn, uni0C15_uni0C42_uni0C37_uni0C4D.akhn, uni0C1F_uni0C4D.blwf_uni0C32_uni0C4D.blwf.blws, uni0C2A_uni0C41.psts_uni0C2A_uni0C4D.blwf.psts, uni0C24_uni0C4D.blwf_uni0C30_uni0C4D.blwf.blws, uni0C37_uni0C4D.blwf_uni0C1F_uni0C4D.blwf.blws, uni0C15_uni0C47_uni0C37_uni0C4D.akhn, uni0C15_uni0C4A_uni0C37_uni0C4D.akhn, uni0C15_uni0C4C_uni0C37_uni0C4D.akhn, uni0C1C_uni0C4D.blwf_uni0C1E_uni0C4D.blwf.blws, uni0C19_uni0C4D.blwf_uni0C17_uni0C4D.blwf.blws, uni0C37_uni0C4D.blwf_uni0C23_uni0C4D.blwf.blws, uni0C15_uni0C4B_uni0C37_uni0C4D.akhn, uni0C15_uni0C3E_uni0C37_uni0C4D.akhn, uni0C15_uni0C4D_uni0C37_uni0C4D.akhn, uni0C15_uni0C41_uni0C37_uni0C4D.akhn" [code: legacy-long-names]

🔥 FAIL Space and non-breaking space have the same width? (whitespace_widths)
  • 🔥 FAIL The space glyph named space is 177 font units wide, non-breaking space named (uni00A0) is 197 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 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 Suravaram Suravaram
Subfamily Name Regular Regular
Full Name Suravaram Suravaram Regular
Postscript Name Suravaram Suravaram-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 0.2999878 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+0C55 (uni0C55)
  • U+0C62 (uni0C62)
  • U+0C63 (uni0C63) [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+0C03 (uni0C03)
  • U+0C41 (uni0C41)
  • U+0C42 (uni0C42)
  • U+0C43 (uni0C43)
  • U+0C44 (uni0C44) [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:
  • uni0C03
  • uni0C3E
  • uni0C41
  • uni0C42
  • uni0C43
  • uni0C44
  • uni0C48
  • uni0C4A
  • uni0C4B
    ... and 73 others [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 980 instead. [code: suboptimal]
⚠️ WARN Check base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200D ZERO WIDTH JOINER has non-zero advance width: 743 [code: non-zero-advance]
⚠️ 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 420 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=625: minus
    width=464: greater, less
    width=431: equal, plus
    width=411: 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 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 Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • exclam (U+0021): from (156.0, 462.0) to (156.0, 450.0) is colinear with segment from (156.0, 450.0) to (142.0, 165.0)
  • four (U+0034): from (235.0, 400.0) to (82.0, 182.0) is colinear with segment from (82.0, 182.0) to (76.0, 172.0)
  • less (U+003C): from (45.0, 184.0) to (44.0, 196.0) is colinear with segment from (44.0, 196.0) to (44.0, 200.0)
  • less (U+003C): from (45.0, 171.0) to (45.0, 184.0) is colinear with segment from (45.0, 184.0) to (44.0, 196.0)
  • B (U+0042): from (242.0, 444.0) to (196.0, 442.0) is colinear with segment from (196.0, 442.0) to (177.0, 441.0)
  • E (U+0045): from (276.0, 439.0) to (246.0, 438.0) is colinear with segment from (246.0, 438.0) to (172.0, 437.0)
  • F (U+0046): from (279.0, 439.0) to (250.0, 438.0) is colinear with segment from (250.0, 438.0) to (175.0, 437.0)
  • G (U+0047): from (453.0, 191.0) to (452.0, 160.0) is colinear with segment from (452.0, 160.0) to (452.0, 34.0)
  • N (U+004E): from (421.0, 89.0) to (416.0, 358.0) is colinear with segment from (416.0, 358.0) to (416.0, 396.0)
    ... and 24 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:
  • exclamdown (U+00A1) has a counter-clockwise outer contour
  • exclamdown (U+00A1) 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:
  • uni0C08 (U+0C08): Quad(QuadBez { p0: (251.0, 352.0), p1: (201.0, 313.0), p2: (189.0, 243.0) })/Line(Line { p0: (189.0, 243.0), p1: (189.0, 256.0) }) = 9.727578551401624 degrees
  • uni0C4D (U+0C4D): Quad(QuadBez { p0: (345.0, 645.0), p1: (377.0, 654.0), p2: (409.0, 683.0) })/Line(Line { p0: (409.0, 683.0), p1: (311.0, 570.0) }) = 6.881875459017231 degrees
  • uni0C15_uni0C4D.haln: Quad(QuadBez { p0: (545.5, 693.5), p1: (579.0, 703.0), p2: (612.0, 733.0) })/Line(Line { p0: (612.0, 733.0), p1: (510.0, 616.0) }) = 6.6445598579736735 degrees
  • uni0C16_uni0C4D.haln: Quad(QuadBez { p0: (749.0, 671.5), p1: (782.0, 681.0), p2: (815.0, 709.0) })/Line(Line { p0: (815.0, 709.0), p1: (713.0, 594.0) }) = 8.11426839835765 degrees
  • uni0C17_uni0C4D.haln: Quad(QuadBez { p0: (592.0, 673.5), p1: (625.0, 683.0), p2: (658.0, 713.0) })/Line(Line { p0: (658.0, 713.0), p1: (556.0, 596.0) }) = 6.6445598579736735 degrees
  • uni0C18_uni0C4D.haln: Quad(QuadBez { p0: (517.0, 671.5), p1: (550.0, 681.0), p2: (583.0, 711.0) })/Line(Line { p0: (583.0, 711.0), p1: (481.0, 594.0) }) = 6.6445598579736735 degrees
  • uni0C19_uni0C4D.haln: Quad(QuadBez { p0: (713.0, 671.5), p1: (746.0, 681.0), p2: (779.0, 711.0) })/Line(Line { p0: (779.0, 711.0), p1: (677.0, 594.0) }) = 6.6445598579736735 degrees
  • uni0C1A_uni0C4D.haln: Quad(QuadBez { p0: (805.0, 671.5), p1: (838.0, 681.0), p2: (871.0, 709.0) })/Line(Line { p0: (871.0, 709.0), p1: (769.0, 594.0) }) = 8.11426839835765 degrees
  • uni0C58_uni0C4D.haln: Quad(QuadBez { p0: (805.0, 671.5), p1: (838.0, 681.0), p2: (871.0, 709.0) })/Line(Line { p0: (871.0, 709.0), p1: (769.0, 594.0) }) = 8.11426839835765 degrees
    ... and 33 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:
  • N (U+004E): Line(Line { p0: (104.0, 85.0), p1: (103.0, 396.0) }) (angle: 90.18 degrees, expected: 90.00 degrees)
  • P (U+0050): Line(Line { p0: (103.0, 85.0), p1: (102.0, 398.0) }) (angle: 90.18 degrees, expected: 90.00 degrees)
  • R (U+0052): Line(Line { p0: (103.0, 85.0), p1: (102.0, 400.0) }) (angle: 90.18 degrees, expected: 90.00 degrees)
  • m (U+006D): Line(Line { p0: (524.0, 94.0), p1: (523.0, 221.0) }) (angle: 90.45 degrees, expected: 90.00 degrees)
  • uni0C7C (U+0C7C): Line(Line { p0: (652.0, 365.0), p1: (192.0, 364.0) }) (angle: -179.88 degrees, expected: -180.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 value ' ' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
  • ℹ️ INFO The family name "Suravaram" 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:
Suravaram-Regular.ttf
Dehinted Size 188860
Hinted Size 270044
Increase 81184
Change 43.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.0.4; ttfautohint (v1.2.42-39fb), Version 1.0.4; ttfautohint (v1.2.42-39fb) [code: version-not-detected]
[10] ofl/suravaram
🔥 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 We detected support for the Afrikaans language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Welsh language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Manx language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Hausa 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Chin, Matu language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Ijo, Southeast 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 lg sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Makonde 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Ganda language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Malagasy language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mi'kmaq 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mazatec, Ixcatlán language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Nyamwezi language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rarotongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rapa (Latin) language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 32 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tojolabal language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tsonga 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Makhuwa language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Suravaram-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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011 by vernon adams (vern@newtypography.co.uk) with reserved font name 'tienne'" [code: bad-notice-format]

  • 🔥 FAIL Suravaram-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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011 by vernon adams (vern@newtypography.co.uk) with reserved font name 'tienne'" [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) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011 by vernon adams (vern@newtypography.co.uk) with reserved font name 'tienne'" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/suravaram/Suravaram-Regular.ttf missing required codepoints:
  • 0x2013: EN DASH
  • 0x2014: EM DASH
  • 0x2018: LEFT SINGLE QUOTATION MARK
  • 0x2019: RIGHT SINGLE QUOTATION MARK
  • 0x201C: LEFT DOUBLE QUOTATION MARK
  • 0x201D: RIGHT DOUBLE QUOTATION MARK
  • 0x2022: BULLET
  • 0x2026: HORIZONTAL ELLIPSIS
  • 0x20AC: EURO SIGN
    ... and 1 others [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/suravaram/Suravaram-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+0192 LATIN SMALL LETTER F WITH HOOK: try adding latin-ext
  • U+03BC GREEK SMALL LETTER MU: try adding one of: math, greek
  • U+03C0 GREEK SMALL LETTER PI: try adding one of: greek, yi, math
  • U+0950 DEVANAGARI OM: try adding devanagari

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Silicon Andhra (fonts.siliconandhra.org). Copyright (c) 2011 by vernon adams (vern@newtypography.co.uk) with Reserved Font Name 'Tienne'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[3] ofl/suravaram/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
  • 🔥 FAIL The following links are broken:
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/suravaram/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[2] ofl/suravaram/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (Suravaram). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "Suravaram-Regular.ttf" does not match post_script_name="Suravaram". [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 purushothkumarguttula 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]
[1] ofl/suravaram/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 silicon andhra (fonts.siliconandhra.org). copyright (c) 2011 by vernon adams (vern@newtypography.co.uk) with reserved font name 'tienne'"

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
44 30 9 101 68
20% 14% 4% 47% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright (c) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, wojciech kalinowski (wmk69@o2.pl), with reserved font names 'classica'"

which does not match the expected format, similar to:

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

[10] ofl/tenaliramakrishna
🔥 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' is listed in production metadata, but only 0.49% 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 Afrikaans language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Welsh language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Manx language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Hausa 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Chin, Matu language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Ijo, Southeast 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 lg sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Makonde 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Ganda language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Malagasy language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mi'kmaq 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mazatec, Ixcatlán language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Nyamwezi language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rarotongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018)
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rapa (Latin) language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 32 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tojolabal language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tsonga 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Makhuwa language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL TenaliRamakrishna-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, wojciech kalinowski (wmk69@o2.pl), with reserved font names 'classica'" [code: bad-notice-format]

  • 🔥 FAIL TenaliRamakrishna-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, wojciech kalinowski (wmk69@o2.pl), with reserved font names 'classica'" [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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, wojciech kalinowski (wmk69@o2.pl), with reserved font names 'classica'" [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/tenaliramakrishna/TenaliRamakrishna-Regular.ttf missing required codepoints:
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x2018: LEFT SINGLE QUOTATION MARK
  • 0x2019: RIGHT SINGLE QUOTATION MARK
  • 0x201C: LEFT DOUBLE QUOTATION MARK
  • 0x201D: RIGHT DOUBLE QUOTATION MARK
  • 0x2022: BULLET
    ... and 2 others [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/tenaliramakrishna/TenaliRamakrishna-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+0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE: try adding latin-ext
  • U+021C LATIN CAPITAL LETTER YOGH: try adding latin-ext
  • U+0950 DEVANAGARI OM: try adding devanagari
  • U+20B9 INDIAN RUPEE SIGN: try adding one of: bengali, devanagari, malayalam, gurmukhi, latin-ext, kannada, gujarati, ol-chiki, oriya, tamil
  • U+2103 DEGREE CELSIUS: try adding math
  • U+2109 DEGREE FAHRENHEIT: try adding math
  • U+2153 VULGAR FRACTION ONE THIRD: try adding symbols
  • U+2190 LEFTWARDS ARROW: try adding one of: math, symbols
  • U+2192 RIGHTWARDS ARROW: try adding one of: math, symbols

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Andhrapradesh Society for Knowledge Networks (fonts.siliconandhra.org). Copyright (c) 2011, Wojciech Kalinowski (wmk69@o2.pl), with Reserved Font Names 'Classica'") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[32] ofl/tenaliramakrishna/TenaliRamakrishna-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+00C5 [code: missing-case-counterparts]

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

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

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

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

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

  • 🔥 FAIL Missing case-swapping counterpart for U+0214 [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:
  • uni0214 (U+0214): found 0, expected one of: [3, 4, 5]
  • uni021C (U+021C): found 0, expected one of: [1, 2] [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 Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]

  • ⚠️ WARN The following glyph names are too long: "U0C38_U0C47.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1D_U0C47.abvs_U0C30_U0C4D.blwf, U0C16_U0C42.psts_U0C30_U0C4D.blwf, U0C28_U0C40.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4A.abvs_U0C30_U0C4D.blwf, U0C15_U0C47.abvs_U0C30_U0C4D.blwf, U0C24_U0C3E.abvs_U0C30_U0C4D.blwf, U0C32_U0C4B.abvs_U0C30_U0C4D.blwf, U0C28_U0C41.psts_U0C30_U0C4D.blwf, U0C18_U0C3E.abvs_U0C30_U0C4D.blwf, U0C16_U0C3F.abvs_U0C30_U0C4D.blwf, U0C17_U0C40.abvs_U0C30_U0C4D.blwf, U0C19_U0C4C.abvs_U0C30_U0C4D.blwf, U0C33_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C46.abvs_U0C30_U0C4D.blwf, U0C2A_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4A.abvs_U0C30_U0C4D.blwf, U0C23_U0C4D.haln_U0C30_U0C4D.blwf, U0C35_U0C4A.abvs_U0C30_U0C4D.blwf, U0C36_U0C40.abvs_U0C30_U0C4D.blwf.blws, U0C36_U0C3F.abvs_U0C30_U0C4D.blwf, U0C30_U0C41.psts_U0C30_U0C4D.blwf, U0C15_U0C3E_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1A_U0C4B.abvs_U0C30_U0C4D.blwf, U0C23_U0C40.abvs_U0C30_U0C4D.blwf, U0C2F_U0C4C.abvs_U0C30_U0C4D.blwf, U0C35_U0C4D.haln_U0C30_U0C4D.blwf, U0C38_U0C46.abvs_U0C56_U0C24_U0C4D.blwf.blws_glyph536, U0C26_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C3F.abvs_U0C30_U0C4D.blwf, U0C31_U0C4C.abvs_U0C30_U0C4D.blwf, U0C16_U0C46.abvs_U0C30_U0C4D.blwf, U0C36_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2A_U0C47.abvs_U0C30_U0C4D.blwf, U0C18_U0C4B.abvs_U0C30_U0C4D.blwf, U0C36_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C46.abvs_U0C30_U0C4D.blwf, U0C15_U0C41.psts_U0C30_U0C4D.blwf, U0C2A_U0C3F.abvs_U0C30_U0C4D.blwf, U0C16_U0C41.psts_U0C30_U0C4D.blwf, U0C24_U0C41.psts_U0C30_U0C4D.blwf, U0C27_U0C4A.abvs_U0C30_U0C4D.blwf, U0C21_U0C4B.abvs_U0C30_U0C4D.blwf, U0C22_U0C4C.abvs_U0C30_U0C4D.blwf, U0C25_U0C4D.haln_U0C30_U0C4D.blwf, U0C36_U0C41.psts_U0C30_U0C4D.blwf, U0C37_U0C42.psts_U0C30_U0C4D.blwf, U0C22_U0C47.abvs_U0C30_U0C4D.blwf, U0C17_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C42.psts_U0C30_U0C4D.blwf, U0C2D_U0C46.abvs_U0C30_U0C4D.blwf, U0C2B_U0C47.abvs_U0C30_U0C4D.blwf, U0C30_U0C46.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C42.psts_U0C30_U0C4D.blwf, U0C30_U0C42.psts_U0C30_U0C4D.blwf, U0C22_U0C4A.abvs_U0C30_U0C4D.blwf, U0C18_U0C42.psts_U0C30_U0C4D.blwf, U0C32_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2D_U0C3F.abvs_U0C30_U0C4D.blwf, U0C18_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C40.abvs_U0C30_U0C4D.blwf, U0C26_U0C4B.abvs_U0C30_U0C4D.blwf, U0C20_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C4C_U0C37_U0C4D.akhn_glyph494, U0C24_U0C42.psts_U0C30_U0C4D.blwf, U0C1E_U0C47.abvs_U0C30_U0C4D.blwf, U0C37_U0C47.abvs_U0C30_U0C4D.blwf, U0C19_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C42.psts_U0C30_U0C4D.blwf, U0C23_U0C4A.abvs_U0C30_U0C4D.blwf, U0C27_U0C46.abvs_U0C30_U0C4D.blwf, U0C15_U0C4A_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C22_U0C3E.abvs_U0C30_U0C4D.blwf, U0C37_U0C40.abvs_U0C30_U0C4D.blwf, U0C39_U0C4B.abvs_U0C30_U0C4D.blwf, U0C27_U0C47.abvs_U0C30_U0C4D.blwf, U0C37_U0C4D.haln_U0C30_U0C4D.blwf, U0C32_U0C40.abvs_U0C30_U0C4D.blwf, U0C20_U0C3F.abvs_U0C30_U0C4D.blwf, U0C16_U0C4A.abvs_U0C30_U0C4D.blwf, U0C20_U0C47.abvs_U0C30_U0C4D.blwf, U0C20_U0C4A.abvs_U0C30_U0C4D.blwf, U0C33_U0C3F.abvs_U0C30_U0C4D.blwf, U0C36_U0C47.abvs_U0C30_U0C4D.blwf, U0C31_U0C4A.abvs_U0C30_U0C4D.blwf, U0C39_U0C41.psts_U0C30_U0C4D.blwf, U0C1F_U0C47.abvs_U0C30_U0C4D.blwf, U0C2D_U0C47.abvs_U0C30_U0C4D.blwf, U0C37_U0C41.psts_U0C30_U0C4D.blwf, U0C17_U0C4B.abvs_U0C30_U0C4D.blwf, U0C23_U0C3F.abvs_U0C30_U0C4D.blwf, U0C27_U0C3E.abvs_U0C30_U0C4D.blwf, U0C23_U0C46.abvs_U0C30_U0C4D.blwf, U0C2C_U0C42.psts_U0C30_U0C4D.blwf, U0C32_U0C42.psts_U0C30_U0C4D.blwf, U0C30_U0C47.abvs_U0C30_U0C4D.blwf, U0C24_U0C47.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4C.abvs_U0C30_U0C4D.blwf, U0C36_U0C3E.abvs_U0C30_U0C4D.blwf, U0C27_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1C_U0C41.psts_U0C30_U0C4D.blwf, U0C1F_U0C41.psts_U0C30_U0C4D.blwf, U0C15_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4B.abvs_U0C30_U0C4D.blwf, U0C31_U0C42.psts_U0C30_U0C4D.blwf, U0C1B_U0C47.abvs_U0C30_U0C4D.blwf, U0C2E_U0C46.abvs_U0C30_U0C4D.blwf, U0C15_U0C46_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C30_U0C4B.abvs_U0C30_U0C4D.blwf, U0C19_U0C47.abvs_U0C30_U0C4D.blwf, U0C33_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2D_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1C_U0C47.abvs_U0C30_U0C4D.blwf, U0C38_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C4D.haln_U0C30_U0C4D.blwf, U0C2C_U0C40.abvs_U0C30_U0C4D.blwf, U0C21_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1D_U0C3F.abvs_U0C30_U0C4D.blwf, U0C21_U0C41.psts_U0C30_U0C4D.blwf, U0C24_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1E_U0C3E.abvs_U0C30_U0C4D.blwf, U0C18_U0C4C.abvs_U0C30_U0C4D.blwf, U0C25_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1E_U0C40.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4B.abvs_U0C30_U0C4D.blwf, U0C24_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2B_U0C40.abvs_U0C30_U0C4D.blwf, U0C25_U0C4C.abvs_U0C30_U0C4D.blwf, U0C18_U0C40.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4C.abvs_U0C30_U0C4D.blwf, U0C17_U0C41.psts_U0C30_U0C4D.blwf, U0C27_U0C41.psts_U0C30_U0C4D.blwf, U0C39_U0C46.abvs_U0C30_U0C4D.blwf, U0C36_U0C46.abvs_U0C30_U0C4D.blwf, U0C2D_U0C41.psts_U0C30_U0C4D.blwf, U0C21_U0C4D.haln_U0C30_U0C4D.blwf, U0C2C_U0C46.abvs_U0C30_U0C4D.blwf, U0C2C_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4A.abvs_U0C30_U0C4D.blwf, U0C18_U0C4A.abvs_U0C30_U0C4D.blwf, U0C28_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4A.abvs_U0C30_U0C4D.blwf, U0C30_U0C40.abvs_U0C30_U0C4D.blwf, U0C31_U0C3E.abvs_U0C30_U0C4D.blwf, U0C35_U0C46.abvs_U0C30_U0C4D.blwf, U0C2F_U0C47.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4D.haln_U0C30_U0C4D.blwf, U0C1E_U0C4C.abvs_U0C30_U0C4D.blwf, U0C32_U0C4D.haln_U0C30_U0C4D.blwf, U0C1F_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2E_U0C42.psts_U0C30_U0C4D.blwf, U0C16_U0C40.abvs_U0C30_U0C4D.blwf, U0C26_U0C4C.abvs_U0C30_U0C4D.blwf, U0C26_U0C4D.haln_U0C30_U0C4D.blwf, U0C19_U0C4D.haln_U0C30_U0C4D.blwf, U0C21_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1E_U0C46.abvs_U0C30_U0C4D.blwf, U0C1E_U0C41.psts_U0C30_U0C4D.blwf, U0C35_U0C4B.abvs_U0C30_U0C4D.blwf, U0C21_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C40_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1A_U0C46.abvs_U0C30_U0C4D.blwf, U0C26_U0C47.abvs_U0C30_U0C4D.blwf, U0C2A_U0C46.abvs_U0C30_U0C4D.blwf, U0C23_U0C4B.abvs_U0C30_U0C4D.blwf, U0C36_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1B_U0C3F.abvs_U0C30_U0C4D.blwf, U0C38_U0C4C.abvs_U0C30_U0C4D.blwf, U0C19_U0C46.abvs_U0C30_U0C4D.blwf, U0C17_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1A_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C41_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C26_U0C46.abvs_U0C30_U0C4D.blwf, U0C2D_U0C42.psts_U0C30_U0C4D.blwf, U0C19_U0C40.abvs_U0C30_U0C4D.blwf, U0C1C_U0C3F.abvs_U0C30_U0C4D.blwf, U0C30_U0C3F.abvs_U0C30_U0C4D.blwf, U0C18_U0C3F.abvs_U0C30_U0C4D.blwf, U0C37_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1D_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C3F.abvs_U0C30_U0C4D.blwf, U0C35_U0C40.abvs_U0C30_U0C4D.blwf, U0C39_U0C3E.abvs_U0C30_U0C4D.blwf, U0C23_U0C41.psts_U0C30_U0C4D.blwf, U0C26_U0C41.psts_U0C30_U0C4D.blwf, U0C1F_U0C3E.abvs_U0C30_U0C4D.blwf, U0C20_U0C41.psts_U0C30_U0C4D.blwf, U0C1A_U0C40.abvs_U0C30_U0C4D.blwf, U0C15_U0C47_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C20_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C4A.abvs_U0C30_U0C4D.blwf, U0C28_U0C4B.abvs_U0C30_U0C4D.blwf, U0C23_U0C42.psts_U0C30_U0C4D.blwf, U0C2E_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2B_U0C42.psts_U0C30_U0C4D.blwf, U0C2C_U0C4B.abvs_U0C30_U0C4D.blwf, U0C39_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2C_U0C47.abvs_U0C30_U0C4D.blwf, U0C24_U0C4C.abvs_U0C30_U0C4D.blwf, U0C35_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1D_U0C41.psts_U0C30_U0C4D.blwf, U0C17_U0C4D.haln_U0C30_U0C4D.blwf, U0C25_U0C41.psts_U0C30_U0C4D.blwf, U0C2F_U0C41.psts_U0C30_U0C4D.blwf, U0C1D_U0C4B.abvs_U0C30_U0C4D.blwf, U0C35_U0C47.abvs_U0C30_U0C4D.blwf, U0C2F_U0C3E.abvs_U0C30_U0C4D.blwf, U0C31_U0C41.psts_U0C30_U0C4D.blwf, U0C19_U0C42.psts_U0C30_U0C4D.blwf, U0C24_U0C4A.abvs_U0C30_U0C4D.blwf, U0C31_U0C4B.abvs_U0C30_U0C4D.blwf, U0C22_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2F_U0C4A.abvs_U0C30_U0C4D.blwf, U0C17_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4D.haln_U0C30_U0C4D.blwf, U0C39_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C40.abvs_U0C30_U0C4D.blwf, U0C23_U0C47.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4A.abvs_U0C30_U0C4D.blwf, U0C25_U0C40.abvs_U0C30_U0C4D.blwf, U0C35_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C37_U0C4D.akhn_U0C4D.haln_U0C30_U0C4D.blwf, U0C2E_U0C41.psts_U0C30_U0C4D.blwf, U0C15_U0C42.psts_U0C30_U0C4D.blwf, U0C33_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4C.abvs_U0C30_U0C4D.blwf, U0C39_U0C40.abvs_U0C30_U0C4D.blwf, U0C39_U0C47.abvs_U0C30_U0C4D.blwf, U0C30_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1E_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1D_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4D.haln_U0C30_U0C4D.blwf, U0C37_U0C46.abvs_glyph473_U0C56_U0C, U0C33_U0C4A.abvs_U0C30_U0C4D.blwf, U0C17_U0C3F.abvs_U0C30_U0C4D.blwf, U0C19_U0C4B.abvs_U0C30_U0C4D.blwf, U0C26_U0C42.psts_U0C30_U0C4D.blwf, U0C33_U0C4D.haln_U0C30_U0C4D.blwf, U0C32_U0C41.psts_U0C30_U0C4D.blwf, U0C38_U0C46.abvs_U0C30_U0C4D.blwf, U0C28_U0C4A.abvs_U0C30_U0C4D.blwf, U0C22_U0C4D.haln_U0C30_U0C4D.blwf, U0C28_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C39_U0C3F.abvs_U0C30_U0C4D.blwf, U0C25_U0C46.abvs_U0C30_U0C4D.blwf, U0C15_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4B.abvs_U0C30_U0C4D.blwf, U0C27_U0C4C.abvs_U0C30_U0C4D.blwf, U0C21_U0C42.psts_U0C30_U0C4D.blwf, U0C1D_U0C4D.haln_U0C30_U0C4D.blwf, U0C37_U0C4C.abvs_U0C30_U0C4D.blwf, U0C22_U0C41.psts_U0C30_U0C4D.blwf, U0C32_U0C47.abvs_U0C30_U0C4D.blwf, U0C20_U0C4D.haln_U0C30_U0C4D.blwf, U0C1C_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1C_U0C42.psts_U0C30_U0C4D.blwf, U0C16_U0C3E.abvs_U0C30_U0C4D.blwf, U0C35_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2B_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2A_U0C41.psts_U0C30_U0C4D.blwf, U0C18_U0C41.psts_U0C30_U0C4D.blwf, U0C1A_U0C47.abvs_U0C30_U0C4D.blwf, U0C28_U0C4D.haln_U0C30_U0C4D.blwf, U0C20_U0C42.psts_U0C30_U0C4D.blwf, U0C39_U0C4C.abvs_U0C30_U0C4D.blwf, U0C37_U0C4B.abvs_U0C30_U0C4D.blwf, U0C28_U0C47.abvs_U0C30_U0C4D.blwf, U0C33_U0C40.abvs_U0C30_U0C4D.blwf, U0C15_U0C42_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C33_U0C41.psts_U0C30_U0C4D.blwf, U0C1B_U0C40.abvs_U0C30_U0C4D.blwf, U0C21_U0C46.abvs_U0C30_U0C4D.blwf, U0C22_U0C42.psts_U0C30_U0C4D.blwf, U0C2C_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2C_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4D.haln_U0C30_U0C4D.blwf, U0C25_U0C42.psts_U0C30_U0C4D.blwf, U0C2E_U0C3E.abvs_U0C30_U0C4D.blwf, U0C24_U0C40.abvs_U0C30_U0C4D.blwf, U0C1A_U0C42.psts_U0C30_U0C4D.blwf, U0C38_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2E_U0C40.abvs_U0C30_U0C4D.blwf, U0C1B_U0C42.psts_U0C30_U0C4D.blwf, U0C33_U0C47.abvs_U0C30_U0C4D.blwf, U0C32_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2B_U0C46.abvs_U0C30_U0C4D.blwf, U0C37_U0C46.abvs_U0C30_U0C4D.blwf, U0C35_U0C41.psts_U0C30_U0C4D.blwf, U0C27_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1B_U0C46.abvs_U0C30_U0C4D.blwf, U0C38_U0C41.psts_U0C30_U0C4D.blwf, U0C23_U0C3E.abvs_U0C30_U0C4D.blwf, U0C37_U0C3F.abvs_U0C30_U0C4D.blwf, U0C25_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2F_U0C3F.abvs_U0C30_U0C4D.blwf, U0C22_U0C40.abvs_U0C30_U0C4D.blwf, U0C18_U0C4D.haln_U0C30_U0C4D.blwf, U0C17_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2C_U0C41.psts_U0C30_U0C4D.blwf, U0C16_U0C4C.abvs_U0C30_U0C4D.blwf, U0C17_U0C42.psts_U0C30_U0C4D.blwf, U0C1F_U0C40.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4B.abvs_U0C30_U0C4D.blwf, U0C21_U0C40.abvs_U0C30_U0C4D.blwf, U0C36_U0C40.abvs_U0C30_U0C4D.blwf, U0C33_U0C4C.abvs_U0C30_U0C4D.blwf, U0C24_U0C4D.haln_U0C30_U0C4D.blwf, U0C32_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C4D.haln_U0C30_U0C4D.blwf, U0C26_U0C40.abvs_U0C30_U0C4D.blwf, U0C2E_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C4B_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C2A_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C46_U0C56_U0C37_U0C4D.akhn, U0C1A_U0C3E.abvs_U0C30_U0C4D.blwf, U0C25_U0C47.abvs_U0C30_U0C4D.blwf, U0C32_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4D.haln_U0C30_U0C4D.blwf, U0C22_U0C46.abvs_U0C30_U0C4D.blwf, U0C33_U0C42.psts_U0C30_U0C4D.blwf, U0C26_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2D_U0C40.abvs_U0C30_U0C4D.blwf, U0C15_U0C3F_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C27_U0C40.abvs_U0C30_U0C4D.blwf, U0C24_U0C46.abvs_U0C30_U0C4D.blwf, U0C30_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1C_U0C46.abvs_U0C30_U0C4D.blwf, U0C21_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C40.abvs_U0C30_U0C4D.blwf, U0C2A_U0C40.abvs_U0C30_U0C4D.blwf, U0C1F_U0C46.abvs_U0C30_U0C4D.blwf, U0C25_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1C_U0C40.abvs_U0C30_U0C4D.blwf, U0C27_U0C4B.abvs_U0C30_U0C4D.blwf, U0C18_U0C47.abvs_U0C30_U0C4D.blwf, U0C36_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C46_U0C56_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C38_U0C3E.abvs_U0C30_U0C4D.blwf, U0C20_U0C4C.abvs_U0C30_U0C4D.blwf, U0C19_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2F_U0C46.abvs_U0C30_U0C4D.blwf, U0C1A_U0C41.psts_U0C30_U0C4D.blwf, U0C16_U0C47.abvs_U0C30_U0C4D.blwf, U0C23_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4D.haln_U0C30_U0C4D.blwf, U0C27_U0C42.psts_U0C30_U0C4D.blwf, U0C20_U0C40.abvs_U0C30_U0C4D.blwf, U0C37_U0C4A.abvs_U0C30_U0C4D.blwf, U0C30_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1B_U0C3E.abvs_U0C30_U0C4D.blwf, U0C32_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4A.abvs_U0C30_U0C4D.blwf, U0C38_U0C4A.abvs_U0C30_U0C4D.blwf, U0C38_U0C40.abvs_U0C30_U0C4D.blwf, U0C17_U0C47.abvs_U0C30_U0C4D.blwf, U0C26_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4A.abvs_U0C30_U0C4D.blwf, U0C30_U0C4D.haln_U0C30_U0C4D.blwf, U0C2B_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1B_U0C41.psts_U0C30_U0C4D.blwf, U0C31_U0C47.abvs_U0C30_U0C4D.blwf, U0C16_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2B_U0C41.psts_U0C30_U0C4D.blwf, U0C2A_U0C42.psts_U0C30_U0C4D.blwf, U0C2B_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1F_U0C3F.abvs_U0C30_U0C4D.blwf, U0C20_U0C46.abvs_U0C30_U0C4D.blwf, U0C2E_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C47.abvs_U0C30_U0C4D.blwf, U0C28_U0C42.psts_U0C30_U0C4D.blwf, U0C35_U0C42.psts_U0C30_U0C4D.blwf, U0C39_U0C42.psts_U0C30_U0C4D.blwf, U0C22_U0C3F.abvs_U0C30_U0C4D.blwf, U0C31_U0C40.abvs_U0C30_U0C4D.blwf, U0C28_U0C3F.abvs_U0C30_U0C4D.blwf, U0C16_U0C4D.haln_U0C30_U0C4D.blwf" [code: legacy-long-names]

🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Tenali Ramakrishna Tenali Ramakrishna
Subfamily Name Regular Regular
Full Name Tenali Ramakrishna Tenali Ramakrishna Regular
Postscript Name TenaliRamakrishna TenaliRamakrishna-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 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+0C3E (U0C3E)
  • U+0C3F (U0C3F)
  • U+0C40 (U0C40)
  • U+0C46 (U0C46)
  • U+0C47 (U0C47)
  • U+0C48 (U0C48)
  • U+0C4A (U0C4A)
  • U+0C4B (U0C4B)
  • U+0C4C (U0C4C)
    ... and 2 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+0C43 (U0C43)
  • U+0C44 (U0C44) [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:
  • U0C43
  • U0C44
  • U0C56
  • uni0C62
  • uni0C63
  • U0C15_U0C4D.blwf
  • U0C16_U0C4D.blwf
  • U0C17_U0C4D.blwf
  • U0C18_U0C4D.blwf
    ... and 89 others [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 750 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 335 but it should be 510 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 base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200C ZERO WIDTH NON-JOINER has non-zero advance width: 96 [code: non-zero-advance]

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

⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 300 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:
    width=329: less, greater
    width=317: divide
    width=336: multiply [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • _1
  • _1.013
  • _1.012
  • _00154
  • _00155
  • _00156
  • _00157
  • _00158
    ... and 410 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:
  • bracketleft (U+005B): from (97.0, 355.0) to (97.0, 12.0) is colinear with segment from (97.0, 12.0) to (100.0, -31.0)
  • bracketright (U+005D): from (96.0, -31.0) to (99.0, 12.0) is colinear with segment from (99.0, 12.0) to (99.0, 355.0)
  • U0C46 (U+0C46): from (-365.0, 459.0) to (-182.0, 459.0) is colinear with segment from (-182.0, 459.0) to (-167.0, 460.0)
  • U0C47 (U+0C47): from (-365.0, 459.0) to (-182.0, 459.0) is colinear with segment from (-182.0, 459.0) to (-167.0, 460.0)
  • U0C48 (U+0C48): from (-364.0, 459.0) to (-181.0, 459.0) is colinear with segment from (-181.0, 459.0) to (-166.0, 460.0)
  • uni20B9 (U+20B9): from (132.0, 320.0) to (102.0, 321.0) is colinear with segment from (102.0, 321.0) to (1.0, 321.0)
  • trademark (U+2122): from (418.0, 358.0) to (418.0, 330.0) is colinear with segment from (418.0, 330.0) to (427.0, 222.0)
  • trademark (U+2122): from (247.0, 309.0) to (239.0, 223.0) is colinear with segment from (239.0, 223.0) to (239.0, 192.0)
  • arrowright (U+2192): from (239.0, 321.0) to (284.0, 283.0) is colinear with segment from (284.0, 283.0) to (364.0, 213.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • braceleft (U+007B): Quad(QuadBez { p0: (127.0, 259.0), p1: (127.0, 192.0), p2: (58.0, 184.0) })/Quad(QuadBez { p0: (58.0, 184.0), p1: (127.0, 177.0), p2: (127.0, 109.0) }) = 12.406256977346908 degrees
  • braceright (U+007D): Quad(QuadBez { p0: (80.0, 109.0), p1: (80.0, 177.0), p2: (150.0, 184.0) })/Quad(QuadBez { p0: (150.0, 184.0), p1: (80.0, 192.0), p2: (80.0, 259.0) }) = 12.230394889156582 degrees
  • U0C06 (U+0C06): Quad(QuadBez { p0: (53.5, 213.0), p1: (34.0, 231.0), p2: (34.0, 256.0) })/Quad(QuadBez { p0: (34.0, 256.0), p1: (29.0, 235.0), p2: (29.0, 207.0) }) = 13.392497753751098 degrees
  • U0C0B (U+0C0B): Quad(QuadBez { p0: (238.0, 25.5), p1: (210.0, 51.0), p2: (207.0, 82.0) })/Quad(QuadBez { p0: (207.0, 82.0), p1: (204.0, 46.0), p2: (171.0, 24.0) }) = 10.291181842382318 degrees
  • U0C2C (U+0C2C): Quad(QuadBez { p0: (237.5, 24.5), p1: (210.0, 49.0), p2: (207.0, 82.0) })/Quad(QuadBez { p0: (207.0, 82.0), p1: (203.0, 46.0), p2: (170.0, 22.0) }) = 11.53462065364477 degrees
  • U0C2D (U+0C2D): Quad(QuadBez { p0: (237.5, 24.5), p1: (210.0, 49.0), p2: (207.0, 82.0) })/Quad(QuadBez { p0: (207.0, 82.0), p1: (203.0, 46.0), p2: (170.0, 22.0) }) = 11.53462065364477 degrees
  • U0C33 (U+0C33): Quad(QuadBez { p0: (37.0, 255.5), p1: (37.0, 280.0), p2: (51.0, 294.0) })/Quad(QuadBez { p0: (51.0, 294.0), p1: (22.0, 272.0), p2: (22.0, 247.0) }) = 7.815293546766919 degrees
  • U0C3F (U+0C3F): Quad(QuadBez { p0: (-254.0, 427.0), p1: (-261.0, 442.0), p2: (-275.0, 453.0) })/Quad(QuadBez { p0: (-275.0, 453.0), p1: (-257.0, 431.0), p2: (-275.0, 396.0) }) = 12.55336655013059 degrees
  • U0C40 (U+0C40): Quad(QuadBez { p0: (-254.0, 427.0), p1: (-261.0, 442.0), p2: (-275.0, 453.0) })/Quad(QuadBez { p0: (-275.0, 453.0), p1: (-257.0, 431.0), p2: (-275.0, 396.0) }) = 12.55336655013059 degrees
    ... and 127 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • U0C2A_U0C42.psts: Quad(QuadBez { p0: (373.5, 321.0), p1: (374.0, 329.0), p2: (380.0, 336.0) }) has the same coordinates as a previous segment.
  • U0C2A_U0C42.psts: Quad(QuadBez { p0: (380.0, 336.0), p1: (386.0, 343.0), p2: (396.0, 343.0) }) has the same coordinates as a previous segment.
  • U0C2B_U0C42.psts: Quad(QuadBez { p0: (373.5, 321.0), p1: (374.0, 329.0), p2: (380.0, 336.0) }) has the same coordinates as a previous segment.
  • U0C2B_U0C42.psts: Quad(QuadBez { p0: (380.0, 336.0), p1: (386.0, 343.0), p2: (396.0, 343.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:
  • uni0C7E (U+0C7E): Line(Line { p0: (91.0, 42.0), p1: (439.0, 40.0) }) (angle: -0.33 degrees, expected: 0.00 degrees)
  • U0C35_U0C3E.abvs: Line(Line { p0: (426.0, 301.0), p1: (96.0, 300.0) }) (angle: -179.83 degrees, expected: -180.00 degrees)
  • U0C35_U0C3E.abvs: Line(Line { p0: (96.0, 341.0), p1: (466.0, 342.0) }) (angle: 0.15 degrees, expected: 0.00 degrees)
  • U0C36_U0C3E.abvs: Line(Line { p0: (95.0, 339.0), p1: (348.0, 340.0) }) (angle: 0.23 degrees, expected: 0.00 degrees)
  • U0C1A_U0C46.abvs: Line(Line { p0: (279.0, 432.0), p1: (84.0, 431.0) }) (angle: -179.71 degrees, expected: -180.00 degrees)
  • U0C1B_U0C46.abvs: Line(Line { p0: (279.0, 432.0), p1: (84.0, 431.0) }) (angle: -179.71 degrees, expected: -180.00 degrees)
  • U0C1C_U0C46.abvs: Line(Line { p0: (311.0, 432.0), p1: (116.0, 431.0) }) (angle: -179.71 degrees, expected: -180.00 degrees)
  • U0C1D_U0C46.abvs: Line(Line { p0: (206.0, 432.0), p1: (27.0, 431.0) }) (angle: -179.68 degrees, expected: -180.00 degrees)
  • U0C1E_U0C46.abvs: Line(Line { p0: (392.0, 434.0), p1: (228.0, 433.0) }) (angle: -179.65 degrees, expected: -180.00 degrees)
    ... and 57 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.2.25-373a; latest = 1.8.4; Need to re-run with the newer version! [code: old-ttfa]
⚠️ 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 "Tenali Ramakrishna" 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:
TenaliRamakrishna-Regular.ttf
Dehinted Size 483340
Hinted Size 710220
Increase 226880
Change 46.9 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

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

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

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

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has ttfautohint params? (googlefonts/has_ttfautohint_params)
  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

  • ℹ️ INFO Font has ttfautohint params (-l 7 -r 28 -G 50 -x 13 -D telu -f latn -w G -X "") [code: ok]

[2] ofl/tenaliramakrishna/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (TenaliRamakrishna). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "TenaliRamakrishna-Regular.ttf" does not match post_script_name="TenaliRamakrishna". [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 appajiambarishadarbha 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]
[2] ofl/tenaliramakrishna/DESCRIPTION.en_us.html
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/tenaliramakrishna/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
44 33 11 104 67
20% 15% 5% 48% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[2] ofl/timmana/DESCRIPTION.en_us.html
🔥 FAIL Is this a proper HTML snippet? (googlefonts/description/valid_html)
  • 🔥 FAIL ofl/timmana/DESCRIPTION.en_us.html does not look like a proper HTML snippet. Please look for syntax errors. Maybe the following parser error message can help you find what's wrong:

No

tag to close

[code: malformed-snippet]

ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[10] ofl/timmana
🔥 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' is listed in production metadata, but only 0.49% 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 Afrikaans language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Welsh language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Manx language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Hausa 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Chin, Matu language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Ijo, Southeast 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 lg sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Makonde 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Ganda language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Malagasy language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mi'kmaq 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Mazatec, Ixcatlán language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Nyamwezi language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rarotongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Rapa (Latin) language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019)
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Sukuma language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 32 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan 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+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tongan language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ‘ (U+2018) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tojolabal language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
  • 🔥 FAIL We detected support for the Tsonga 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+2019) [code: bad-sample-text]
  • 🔥 FAIL We detected support for the Makhuwa language because the font contained all the codepoints for the sample text, but the font is missing the following codepoints needed to render the specimen 16 sample text:
  • ’ (U+2019) [code: missing-codepoints]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Timmana-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, sergiy tkachenko (www.4thfebruary.com.ua info@4thfebruary.com.ua), with reserved font names 'sansus', 'webissimo'." [code: bad-notice-format]

  • 🔥 FAIL Timmana-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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, sergiy tkachenko (www.4thfebruary.com.ua info@4thfebruary.com.ua), with reserved font names 'sansus', 'webissimo'." [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) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, sergiy tkachenko (www.4thfebruary.com.ua info@4thfebruary.com.ua), with reserved font names 'sansus', 'webissimo'." [code: bad-notice-format]

🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/timmana/Timmana-Regular.ttf missing required codepoints:
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00B0: DEGREE SIGN
  • 0x00B7: MIDDLE DOT
  • 0x2018: LEFT SINGLE QUOTATION MARK
  • 0x2019: RIGHT SINGLE QUOTATION MARK
  • 0x201C: LEFT DOUBLE QUOTATION MARK
  • 0x201D: RIGHT DOUBLE QUOTATION MARK
  • 0x2022: BULLET
    ... and 2 others [code: missing-codepoints]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/timmana/Timmana-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+0214 LATIN CAPITAL LETTER U WITH DOUBLE GRAVE: try adding latin-ext
  • U+021C LATIN CAPITAL LETTER YOGH: try adding latin-ext
  • U+0950 DEVANAGARI OM: try adding devanagari
  • U+20B9 INDIAN RUPEE SIGN: try adding one of: malayalam, gujarati, ol-chiki, oriya, devanagari, kannada, tamil, latin-ext, gurmukhi, bengali
  • U+2103 DEGREE CELSIUS: try adding math
  • U+2109 DEGREE FAHRENHEIT: try adding math
  • U+2153 VULGAR FRACTION ONE THIRD: try adding symbols
  • U+2190 LEFTWARDS ARROW: try adding one of: symbols, math
  • U+2192 RIGHTWARDS ARROW: try adding one of: math, symbols

Or you can add the above codepoints to one of the subsets supported by the font: menu, latin, telugu [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) 2012 Andhrapradesh Society for Knowledge Networks (fonts.siliconandhra.org). Copyright (c) 2011, Sergiy Tkachenko (www.4thfebruary.com.ua info@4thfebruary.com.ua), with Reserved Font Names 'Sansus', 'Webissimo'.") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
⚠️ WARN Check copyright namerecords match license file. (googlefonts/name/license)
  • ⚠️ WARN Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=LICENSE_DESCRIPTION] [code: http-in-description]

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

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

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

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

ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[31] ofl/timmana/Timmana-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+00C7 [code: missing-case-counterparts]

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

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

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

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

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

  • 🔥 FAIL Missing case-swapping counterpart for U+00D1 [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:
  • uni0214 (U+0214): found 0, expected one of: [3, 4, 5]
  • uni021C (U+021C): found 0, expected one of: [1, 2] [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 Are there unwanted tables? (unwanted_tables)
  • 🔥 FAIL Unwanted tables found:
    Table: FFTM Reason: Table contains redundant FontForge timestamp info
    [code: unwanted-tables]
🔥 FAIL Glyph names are all valid? (valid_glyphnames)
  • 🔥 FAIL Glyph 0x00A0 is called nbsp; must be named 'uni00A0'. [code: non-compliant-00A0]

  • ⚠️ WARN The following glyph names are too long: "U0C20_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C41.psts_U0C30_U0C4D.blwf, U0C16_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C3E.abvs_U0C30_U0C4D.blwf, U0C17_U0C4A.abvs_U0C30_U0C4D.blwf, U0C38_U0C4B.abvs_U0C30_U0C4D.blwf, U0C33_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C4C.abvs_U0C30_U0C4D.blwf, U0C35_U0C41.psts_U0C30_U0C4D.blwf, U0C2F_U0C47.abvs_U0C30_U0C4D.blwf, U0C35_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1B_U0C3F.abvs_U0C30_U0C4D.blwf, U0C23_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1D_U0C3F.abvs_U0C30_U0C4D.blwf, U0C25_U0C40.abvs_U0C30_U0C4D.blwf, U0C2B_U0C46.abvs_U0C30_U0C4D.blwf, U0C23_U0C47.abvs_U0C30_U0C4D.blwf, U0C31_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2B_U0C47.abvs_U0C30_U0C4D.blwf, U0C17_U0C3E.abvs_U0C30_U0C4D.blwf, U0C15_U0C40.abvs_U0C30_U0C4D.blwf, U0C1A_U0C47.abvs_U0C30_U0C4D.blwf, U0C39_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1B_U0C40.abvs_U0C30_U0C4D.blwf, U0C32_U0C47.abvs_U0C30_U0C4D.blwf, U0C2B_U0C41.psts_U0C30_U0C4D.blwf, U0C1B_U0C42.psts_U0C30_U0C4D.blwf, U0C17_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4D.haln_U0C30_U0C4D.blwf, U0C21_U0C47.abvs_U0C30_U0C4D.blwf, U0C35_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4D.haln_U0C30_U0C4D.blwf, U0C26_U0C3F.abvs_U0C30_U0C4D.blwf, U0C24_U0C42.psts_U0C30_U0C4D.blwf, U0C32_U0C3F.abvs_U0C30_U0C4D.blwf, U0C28_U0C42.psts_U0C30_U0C4D.blwf, U0C2B_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C4C.abvs_U0C30_U0C4D.blwf, U0C18_U0C41.psts_U0C30_U0C4D.blwf, U0C30_U0C42.psts_U0C30_U0C4D.blwf, U0C31_U0C41.psts_U0C30_U0C4D.blwf, U0C22_U0C41.psts_U0C30_U0C4D.blwf, U0C35_U0C42.psts_U0C30_U0C4D.blwf, U0C16_U0C3F.abvs_U0C30_U0C4D.blwf, U0C26_U0C40.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4D.haln_U0C30_U0C4D.blwf, U0C30_U0C4D.haln_U0C30_U0C4D.blwf, U0C1C_U0C46.abvs_U0C30_U0C4D.blwf, U0C20_U0C41.psts_U0C30_U0C4D.blwf, U0C22_U0C42.psts_U0C30_U0C4D.blwf, U0C15_U0C3F_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C36_U0C40.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4C.abvs_U0C30_U0C4D.blwf, U0C16_U0C40.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4C.abvs_U0C30_U0C4D.blwf, U0C27_U0C42.psts_U0C30_U0C4D.blwf, U0C1B_U0C41.psts_U0C30_U0C4D.blwf, U0C37_U0C47.abvs_U0C30_U0C4D.blwf, U0C32_U0C40.abvs_U0C30_U0C4D.blwf, U0C39_U0C47.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4C.abvs_U0C30_U0C4D.blwf, U0C23_U0C41.psts_U0C30_U0C4D.blwf, U0C20_U0C42.psts_U0C30_U0C4D.blwf, U0C2A_U0C42.psts_U0C30_U0C4D.blwf, U0C31_U0C40.abvs_U0C30_U0C4D.blwf, U0C22_U0C46.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4D.haln_U0C30_U0C4D.blwf, U0C1C_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2F_U0C4B.abvs_U0C30_U0C4D.blwf, U0C21_U0C4C.abvs_U0C30_U0C4D.blwf, U0C16_U0C4D.haln_U0C30_U0C4D.blwf, U0C35_U0C4D.haln_U0C30_U0C4D.blwf, U0C31_U0C42.psts_U0C30_U0C4D.blwf, U0C1E_U0C47.abvs_U0C30_U0C4D.blwf, U0C36_U0C4D.haln_U0C30_U0C4D.blwf, U0C2E_U0C3F.abvs_U0C30_U0C4D.blwf, U0C39_U0C40.abvs_U0C30_U0C4D.blwf, U0C37_U0C46.abvs_glyph473_U0C56_U0C, U0C1C_U0C41.psts_U0C30_U0C4D.blwf, U0C33_U0C3E.abvs_U0C30_U0C4D.blwf, U0C16_U0C4A.abvs_U0C30_U0C4D.blwf, U0C37_U0C4D.haln_U0C30_U0C4D.blwf, U0C1F_U0C4B.abvs_U0C30_U0C4D.blwf, U0C37_U0C40.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4A.abvs_U0C30_U0C4D.blwf, U0C15_U0C41_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C15_U0C37_U0C4D.akhn_U0C4D.haln_U0C30_U0C4D.blwf, U0C2D_U0C47.abvs_U0C30_U0C4D.blwf, U0C33_U0C41.psts_U0C30_U0C4D.blwf, U0C37_U0C3E.abvs_U0C30_U0C4D.blwf, U0C38_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C46_U0C56_U0C37_U0C4D.akhn, U0C1E_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4A.abvs_U0C30_U0C4D.blwf, U0C35_U0C40.abvs_U0C30_U0C4D.blwf, U0C26_U0C47.abvs_U0C30_U0C4D.blwf, U0C2D_U0C41.psts_U0C30_U0C4D.blwf, U0C27_U0C46.abvs_U0C30_U0C4D.blwf, U0C32_U0C46.abvs_U0C30_U0C4D.blwf, U0C18_U0C47.abvs_U0C30_U0C4D.blwf, U0C18_U0C3E.abvs_U0C30_U0C4D.blwf, U0C30_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4A.abvs_U0C30_U0C4D.blwf, U0C22_U0C4C.abvs_U0C30_U0C4D.blwf, U0C20_U0C40.abvs_U0C30_U0C4D.blwf, U0C2B_U0C3F.abvs_U0C30_U0C4D.blwf, U0C30_U0C46.abvs_U0C30_U0C4D.blwf, U0C2A_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1F_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1A_U0C3F.abvs_U0C30_U0C4D.blwf, U0C24_U0C3F.abvs_U0C30_U0C4D.blwf, U0C31_U0C46.abvs_U0C30_U0C4D.blwf, U0C1F_U0C4A.abvs_U0C30_U0C4D.blwf, U0C24_U0C4C.abvs_U0C30_U0C4D.blwf, U0C28_U0C4D.haln_U0C30_U0C4D.blwf, U0C27_U0C41.psts_U0C30_U0C4D.blwf, U0C38_U0C41.psts_U0C30_U0C4D.blwf, U0C19_U0C42.psts_U0C30_U0C4D.blwf, U0C2A_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4C.abvs_U0C30_U0C4D.blwf, U0C30_U0C40.abvs_U0C30_U0C4D.blwf, U0C21_U0C3F.abvs_U0C30_U0C4D.blwf, U0C32_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4D.haln_U0C30_U0C4D.blwf, U0C2C_U0C3F.abvs_U0C30_U0C4D.blwf, U0C26_U0C4D.haln_U0C30_U0C4D.blwf, U0C36_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2F_U0C4D.haln_U0C30_U0C4D.blwf, U0C39_U0C4D.haln_U0C30_U0C4D.blwf, U0C1A_U0C4D.haln_U0C30_U0C4D.blwf, U0C1A_U0C42.psts_U0C30_U0C4D.blwf, U0C35_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1E_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C20_U0C3F.abvs_U0C30_U0C4D.blwf, U0C38_U0C40.abvs_U0C30_U0C4D.blwf, U0C2A_U0C46.abvs_U0C30_U0C4D.blwf, U0C2A_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C4B_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C18_U0C4D.haln_U0C30_U0C4D.blwf, U0C1D_U0C40.abvs_U0C30_U0C4D.blwf, U0C17_U0C3F.abvs_U0C30_U0C4D.blwf, U0C1F_U0C46.abvs_U0C30_U0C4D.blwf, U0C28_U0C4B.abvs_U0C30_U0C4D.blwf, U0C1E_U0C4B.abvs_U0C30_U0C4D.blwf, U0C16_U0C3E.abvs_U0C30_U0C4D.blwf, U0C35_U0C3E.abvs_U0C30_U0C4D.blwf, U0C33_U0C40.abvs_U0C30_U0C4D.blwf, U0C36_U0C4B.abvs_U0C30_U0C4D.blwf, U0C25_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C46.abvs_U0C30_U0C4D.blwf, U0C1F_U0C47.abvs_U0C30_U0C4D.blwf, U0C15_U0C46_U0C56_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C25_U0C41.psts_U0C30_U0C4D.blwf, U0C2C_U0C42.psts_U0C30_U0C4D.blwf, U0C38_U0C46.abvs_U0C56_U0C24_U0C4D.blwf.blws_glyph536, U0C1F_U0C3F.abvs_U0C30_U0C4D.blwf, U0C15_U0C47_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1B_U0C4A.abvs_U0C30_U0C4D.blwf, U0C27_U0C4A.abvs_U0C30_U0C4D.blwf, U0C33_U0C4A.abvs_U0C30_U0C4D.blwf, U0C28_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4A.abvs_U0C30_U0C4D.blwf, U0C37_U0C4A.abvs_U0C30_U0C4D.blwf, U0C28_U0C41.psts_U0C30_U0C4D.blwf, U0C30_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C40.abvs_U0C30_U0C4D.blwf.blws, U0C27_U0C3F.abvs_U0C30_U0C4D.blwf, U0C22_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2C_U0C4C.abvs_U0C30_U0C4D.blwf, U0C28_U0C40.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4C.abvs_U0C30_U0C4D.blwf, U0C27_U0C4D.haln_U0C30_U0C4D.blwf, U0C39_U0C4C.abvs_U0C30_U0C4D.blwf, U0C30_U0C47.abvs_U0C30_U0C4D.blwf, U0C33_U0C4B.abvs_U0C30_U0C4D.blwf, U0C16_U0C41.psts_U0C30_U0C4D.blwf, U0C2B_U0C40.abvs_U0C30_U0C4D.blwf, U0C2C_U0C46.abvs_U0C30_U0C4D.blwf, U0C2D_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C46.abvs_U0C30_U0C4D.blwf, U0C22_U0C47.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4A.abvs_U0C30_U0C4D.blwf, U0C16_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C4D.haln_U0C30_U0C4D.blwf, U0C38_U0C47.abvs_U0C30_U0C4D.blwf, U0C37_U0C3F.abvs_U0C30_U0C4D.blwf, U0C36_U0C41.psts_U0C30_U0C4D.blwf, U0C1E_U0C4C.abvs_U0C30_U0C4D.blwf, U0C19_U0C3E.abvs_U0C30_U0C4D.blwf, U0C15_U0C3E_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C1C_U0C4C.abvs_U0C30_U0C4D.blwf, U0C38_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1E_U0C40.abvs_U0C30_U0C4D.blwf, U0C19_U0C4D.haln_U0C30_U0C4D.blwf, U0C35_U0C4C.abvs_U0C30_U0C4D.blwf, U0C33_U0C3F.abvs_U0C30_U0C4D.blwf, U0C24_U0C3E.abvs_U0C30_U0C4D.blwf, U0C24_U0C47.abvs_U0C30_U0C4D.blwf, U0C23_U0C4B.abvs_U0C30_U0C4D.blwf, U0C26_U0C41.psts_U0C30_U0C4D.blwf, U0C1D_U0C42.psts_U0C30_U0C4D.blwf, U0C32_U0C4B.abvs_U0C30_U0C4D.blwf, U0C28_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1A_U0C3E.abvs_U0C30_U0C4D.blwf, U0C18_U0C40.abvs_U0C30_U0C4D.blwf, U0C19_U0C40.abvs_U0C30_U0C4D.blwf, U0C2C_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C40.abvs_U0C30_U0C4D.blwf, U0C2E_U0C46.abvs_U0C30_U0C4D.blwf, U0C16_U0C46.abvs_U0C30_U0C4D.blwf, U0C18_U0C46.abvs_U0C30_U0C4D.blwf, U0C26_U0C46.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4B.abvs_U0C30_U0C4D.blwf, U0C32_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1F_U0C41.psts_U0C30_U0C4D.blwf, U0C1F_U0C4D.haln_U0C30_U0C4D.blwf, U0C2F_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1D_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2F_U0C46.abvs_U0C30_U0C4D.blwf, U0C36_U0C3E.abvs_U0C30_U0C4D.blwf, U0C35_U0C46.abvs_U0C30_U0C4D.blwf, U0C17_U0C4C.abvs_U0C30_U0C4D.blwf, U0C23_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1A_U0C41.psts_U0C30_U0C4D.blwf, U0C2F_U0C41.psts_U0C30_U0C4D.blwf, U0C2D_U0C40.abvs_U0C30_U0C4D.blwf, U0C1F_U0C42.psts_U0C30_U0C4D.blwf, U0C27_U0C40.abvs_U0C30_U0C4D.blwf, U0C22_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1C_U0C42.psts_U0C30_U0C4D.blwf, U0C1B_U0C46.abvs_U0C30_U0C4D.blwf, U0C37_U0C42.psts_U0C30_U0C4D.blwf, U0C17_U0C41.psts_U0C30_U0C4D.blwf, U0C1E_U0C46.abvs_U0C30_U0C4D.blwf, U0C31_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1B_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1B_U0C47.abvs_U0C30_U0C4D.blwf, U0C25_U0C4A.abvs_U0C30_U0C4D.blwf, U0C39_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1E_U0C3E.abvs_U0C30_U0C4D.blwf, U0C16_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2E_U0C4B.abvs_U0C30_U0C4D.blwf, U0C23_U0C4A.abvs_U0C30_U0C4D.blwf, U0C30_U0C3E.abvs_U0C30_U0C4D.blwf, U0C25_U0C4B.abvs_U0C30_U0C4D.blwf, U0C37_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2B_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2F_U0C3F.abvs_U0C30_U0C4D.blwf, U0C38_U0C4A.abvs_U0C30_U0C4D.blwf, U0C31_U0C4B.abvs_U0C30_U0C4D.blwf, U0C26_U0C4C.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4C.abvs_U0C30_U0C4D.blwf, U0C30_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1D_U0C41.psts_U0C30_U0C4D.blwf, U0C2C_U0C41.psts_U0C30_U0C4D.blwf, U0C33_U0C47.abvs_U0C30_U0C4D.blwf, U0C27_U0C4C.abvs_U0C30_U0C4D.blwf, U0C32_U0C41.psts_U0C30_U0C4D.blwf, U0C2E_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C4C.abvs_U0C30_U0C4D.blwf, U0C37_U0C4C.abvs_U0C30_U0C4D.blwf, U0C31_U0C4D.haln_U0C30_U0C4D.blwf, U0C1C_U0C4B.abvs_U0C30_U0C4D.blwf, U0C18_U0C4B.abvs_U0C30_U0C4D.blwf, U0C22_U0C4D.haln_U0C30_U0C4D.blwf, U0C1E_U0C41.psts_U0C30_U0C4D.blwf, U0C23_U0C42.psts_U0C30_U0C4D.blwf, U0C2D_U0C42.psts_U0C30_U0C4D.blwf, U0C37_U0C46.abvs_U0C30_U0C4D.blwf, U0C39_U0C3E.abvs_U0C30_U0C4D.blwf, U0C2F_U0C42.psts_U0C30_U0C4D.blwf, U0C2C_U0C47.abvs_U0C30_U0C4D.blwf, U0C20_U0C4B.abvs_U0C30_U0C4D.blwf, U0C24_U0C40.abvs_U0C30_U0C4D.blwf, U0C24_U0C4B.abvs_U0C30_U0C4D.blwf, U0C18_U0C3F.abvs_U0C30_U0C4D.blwf, U0C33_U0C42.psts_U0C30_U0C4D.blwf, U0C2E_U0C42.psts_U0C30_U0C4D.blwf, U0C32_U0C42.psts_U0C30_U0C4D.blwf, U0C19_U0C47.abvs_U0C30_U0C4D.blwf, U0C17_U0C42.psts_U0C30_U0C4D.blwf, U0C21_U0C4B.abvs_U0C30_U0C4D.blwf, U0C28_U0C3E.abvs_U0C30_U0C4D.blwf, U0C22_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C42.psts_U0C30_U0C4D.blwf, U0C23_U0C40.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4C.abvs_U0C30_U0C4D.blwf, U0C1C_U0C3F.abvs_U0C30_U0C4D.blwf, U0C38_U0C46.abvs_U0C30_U0C4D.blwf, U0C30_U0C4B.abvs_U0C30_U0C4D.blwf, U0C25_U0C42.psts_U0C30_U0C4D.blwf, U0C20_U0C46.abvs_U0C30_U0C4D.blwf, U0C28_U0C47.abvs_U0C30_U0C4D.blwf, U0C2A_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1A_U0C4A.abvs_U0C30_U0C4D.blwf, U0C19_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2D_U0C3F.abvs_U0C30_U0C4D.blwf, U0C36_U0C46.abvs_U0C30_U0C4D.blwf, U0C20_U0C4D.haln_U0C30_U0C4D.blwf, U0C2D_U0C3E.abvs_U0C30_U0C4D.blwf, U0C21_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1A_U0C46.abvs_U0C30_U0C4D.blwf, U0C1D_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C42_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C33_U0C46.abvs_U0C30_U0C4D.blwf, U0C15_U0C4A_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C23_U0C3E.abvs_U0C30_U0C4D.blwf, U0C27_U0C3E.abvs_U0C30_U0C4D.blwf, U0C24_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C46_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C2C_U0C40.abvs_U0C30_U0C4D.blwf, U0C2D_U0C4B.abvs_U0C30_U0C4D.blwf, U0C20_U0C47.abvs_U0C30_U0C4D.blwf, U0C17_U0C4D.haln_U0C30_U0C4D.blwf, U0C1E_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C4B.abvs_U0C30_U0C4D.blwf, U0C16_U0C47.abvs_U0C30_U0C4D.blwf, U0C1B_U0C4B.abvs_U0C30_U0C4D.blwf, U0C2E_U0C40.abvs_U0C30_U0C4D.blwf, U0C27_U0C47.abvs_U0C30_U0C4D.blwf, U0C2F_U0C40.abvs_U0C30_U0C4D.blwf, U0C37_U0C41.psts_U0C30_U0C4D.blwf, U0C23_U0C46.abvs_U0C30_U0C4D.blwf, U0C25_U0C46.abvs_U0C30_U0C4D.blwf, U0C17_U0C40.abvs_U0C30_U0C4D.blwf, U0C18_U0C4C.abvs_U0C30_U0C4D.blwf, U0C15_U0C40_U0C37_U0C4D.akhn_U0C30_U0C4D.blwf, U0C17_U0C46.abvs_U0C30_U0C4D.blwf, U0C18_U0C42.psts_U0C30_U0C4D.blwf, U0C1C_U0C40.abvs_U0C30_U0C4D.blwf, U0C1F_U0C40.abvs_U0C30_U0C4D.blwf, U0C15_U0C3F.abvs_U0C30_U0C4D.blwf, U0C31_U0C47.abvs_U0C30_U0C4D.blwf, U0C1D_U0C47.abvs_U0C30_U0C4D.blwf, U0C2E_U0C47.abvs_U0C30_U0C4D.blwf, U0C39_U0C41.psts_U0C30_U0C4D.blwf, U0C2C_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2B_U0C4D.haln_U0C30_U0C4D.blwf, U0C30_U0C4A.abvs_U0C30_U0C4D.blwf, U0C39_U0C3F.abvs_U0C30_U0C4D.blwf, U0C23_U0C3F.abvs_U0C30_U0C4D.blwf, U0C32_U0C4A.abvs_U0C30_U0C4D.blwf, U0C2A_U0C40.abvs_U0C30_U0C4D.blwf, U0C22_U0C3F.abvs_U0C30_U0C4D.blwf, U0C2A_U0C4D.haln_U0C30_U0C4D.blwf, U0C20_U0C3E.abvs_U0C30_U0C4D.blwf, U0C24_U0C46.abvs_U0C30_U0C4D.blwf, U0C32_U0C4D.haln_U0C30_U0C4D.blwf, U0C15_U0C42.psts_U0C30_U0C4D.blwf, U0C26_U0C42.psts_U0C30_U0C4D.blwf, U0C25_U0C47.abvs_U0C30_U0C4D.blwf, U0C26_U0C4B.abvs_U0C30_U0C4D.blwf, U0C15_U0C4C_U0C37_U0C4D.akhn_glyph494, U0C1C_U0C4A.abvs_U0C30_U0C4D.blwf, U0C1A_U0C40.abvs_U0C30_U0C4D.blwf, U0C21_U0C4D.haln_U0C30_U0C4D.blwf, U0C24_U0C41.psts_U0C30_U0C4D.blwf, U0C35_U0C47.abvs_U0C30_U0C4D.blwf, U0C1C_U0C47.abvs_U0C30_U0C4D.blwf, U0C28_U0C4C.abvs_U0C30_U0C4D.blwf, U0C19_U0C41.psts_U0C30_U0C4D.blwf, U0C21_U0C41.psts_U0C30_U0C4D.blwf, U0C36_U0C42.psts_U0C30_U0C4D.blwf, U0C19_U0C3F.abvs_U0C30_U0C4D.blwf, U0C25_U0C3F.abvs_U0C30_U0C4D.blwf, U0C26_U0C4A.abvs_U0C30_U0C4D.blwf, U0C31_U0C4A.abvs_U0C30_U0C4D.blwf, U0C24_U0C4A.abvs_U0C30_U0C4D.blwf, U0C39_U0C46.abvs_U0C30_U0C4D.blwf, U0C19_U0C4C.abvs_U0C30_U0C4D.blwf, U0C39_U0C42.psts_U0C30_U0C4D.blwf, U0C36_U0C47.abvs_U0C30_U0C4D.blwf, U0C2F_U0C3E.abvs_U0C30_U0C4D.blwf, U0C19_U0C46.abvs_U0C30_U0C4D.blwf, U0C2E_U0C3E.abvs_U0C30_U0C4D.blwf, U0C26_U0C3E.abvs_U0C30_U0C4D.blwf, U0C1C_U0C4D.haln_U0C30_U0C4D.blwf, U0C22_U0C40.abvs_U0C30_U0C4D.blwf, U0C18_U0C4A.abvs_U0C30_U0C4D.blwf, U0C31_U0C3F.abvs_U0C30_U0C4D.blwf, U0C21_U0C46.abvs_U0C30_U0C4D.blwf, U0C33_U0C4C.abvs_U0C30_U0C4D.blwf, U0C17_U0C47.abvs_U0C30_U0C4D.blwf, U0C38_U0C3E.abvs_U0C30_U0C4D.blwf, U0C20_U0C4A.abvs_U0C30_U0C4D.blwf, U0C27_U0C4B.abvs_U0C30_U0C4D.blwf" [code: legacy-long-names]

🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Timmana Timmana
Subfamily Name Regular Regular
Full Name Timmana Timmana Regular
Postscript Name Timmana Timmana-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 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+0C3E (U0C3E)
  • U+0C3F (U0C3F)
  • U+0C40 (U0C40)
  • U+0C46 (U0C46)
  • U+0C47 (U0C47)
  • U+0C48 (U0C48)
  • U+0C4A (U0C4A)
  • U+0C4B (U0C4B)
  • U+0C4C (U0C4C)
    ... and 4 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+0C43 (U0C43)
  • U+0C44 (U0C44) [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:
  • U0C43
  • U0C44
  • U0C56
  • U0C15_U0C4D.blwf
  • U0C16_U0C4D.blwf
  • U0C17_U0C4D.blwf
  • U0C18_U0C4D.blwf
  • U0C19_U0C4D.blwf
  • U0C1A_U0C4D.blwf
    ... and 84 others [code: spacing-mark-glyphs]
⚠️ WARN Checking unitsPerEm value is reasonable. (opentype/unitsperem)
  • ⚠️ WARN In order to optimize performance on some legacy renderers, the value of unitsPerEm at the head table should ideally be a power of 2 between 16 to 16384. And values of 1000 and 2000 are also common and may be just fine as well. But we got 750 instead. [code: suboptimal]
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 392 but it should be 593 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 base characters have non-zero advance width. (base_has_width)
  • ⚠️ WARN U+200C ZERO WIDTH NON-JOINER has non-zero advance width: 71 [code: non-zero-advance]

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

⚠️ 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 Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 329 among a set of 6 math glyphs.
    The following math glyphs have a different width, though:
    width=308: plus
    width=280: greater
    width=444: multiply
    width=322: divide
    width=272: less [code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • .null
  • _1.013
  • _1.012
  • _1
  • _1.011
  • _1.009
  • _0127
  • _0128
  • _0129
    ... and 208 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 Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • U0C33_U0C3E.abvs_U0C30_U0C4D.blwf 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:
  • V (U+0056): Line(Line { p0: (139.0, 141.0), p1: (139.0, 73.0) })/Line(Line { p0: (139.0, 73.0), p1: (156.0, 141.0) }) = 14.03624346792643 degrees
  • U0C0B (U+0C0B): Line(Line { p0: (360.0, 80.0), p1: (395.0, 221.0) })/Quad(QuadBez { p0: (395.0, 221.0), p1: (395.0, 218.0), p2: (406.0, 161.0) }) = 13.940591170290036 degrees
  • U0C24 (U+0C24): Quad(QuadBez { p0: (395.5, 449.5), p1: (419.0, 406.0), p2: (427.0, 403.0) })/Quad(QuadBez { p0: (427.0, 403.0), p1: (404.0, 412.0), p2: (383.0, 412.0) }) = 0.8145770497589855 degrees
  • U0C28 (U+0C28): Quad(QuadBez { p0: (371.0, 448.0), p1: (394.0, 408.0), p2: (401.0, 405.0) })/Quad(QuadBez { p0: (401.0, 405.0), p1: (378.0, 414.0), p2: (358.0, 414.0) }) = 1.82796824430516 degrees
  • U0C2A (U+0C2A): Quad(QuadBez { p0: (343.0, 443.0), p1: (361.0, 407.0), p2: (369.0, 404.0) })/Quad(QuadBez { p0: (369.0, 404.0), p1: (346.0, 413.0), p2: (326.0, 413.0) }) = 0.8145770497589855 degrees
  • U0C2B (U+0C2B): Quad(QuadBez { p0: (336.5, 443.5), p1: (355.0, 407.0), p2: (364.0, 404.0) })/Quad(QuadBez { p0: (364.0, 404.0), p1: (341.0, 414.0), p2: (321.0, 414.0) }) = 5.063616853030124 degrees
  • U0C2D (U+0C2D): Quad(QuadBez { p0: (481.0, 457.5), p1: (501.0, 414.0), p2: (509.0, 411.0) })/Quad(QuadBez { p0: (509.0, 411.0), p1: (488.0, 421.0), p2: (465.0, 421.0) }) = 4.907299842288164 degrees
  • U0C2E (U+0C2E): Quad(QuadBez { p0: (438.0, 447.0), p1: (458.0, 407.0), p2: (467.0, 404.0) })/Quad(QuadBez { p0: (467.0, 404.0), p1: (442.0, 413.0), p2: (423.0, 413.0) }) = 1.3639275316029233 degrees
  • U0C2F (U+0C2F): Quad(QuadBez { p0: (613.5, 455.5), p1: (637.0, 411.0), p2: (644.0, 408.0) })/Quad(QuadBez { p0: (644.0, 408.0), p1: (617.0, 418.0), p2: (601.0, 418.0) }) = 2.875453683985235 degrees
    ... and 342 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:
  • U0C18_U0C3E.abvs: Line(Line { p0: (421.0, 63.0), p1: (422.0, 185.0) }) (angle: 89.53 degrees, expected: 90.00 degrees)
  • U0C36_U0C3E.abvs: Line(Line { p0: (294.0, 355.0), p1: (444.0, 354.0) }) (angle: -0.38 degrees, expected: 0.00 degrees)
  • U0C39_U0C3F.abvs: Line(Line { p0: (307.0, 354.0), p1: (577.0, 353.0) }) (angle: -0.21 degrees, expected: 0.00 degrees)
  • U0C39_U0C40.abvs: Line(Line { p0: (307.0, 354.0), p1: (577.0, 353.0) }) (angle: -0.21 degrees, expected: 0.00 degrees)
  • U0C30_U0C46.abvs: Line(Line { p0: (4.0, 476.0), p1: (299.0, 475.0) }) (angle: -0.19 degrees, expected: 0.00 degrees)
  • U0C35_U0C46.abvs: Line(Line { p0: (333.0, 296.0), p1: (206.0, 297.0) }) (angle: 179.55 degrees, expected: 180.00 degrees)
  • U0C39_U0C46.abvs: Line(Line { p0: (307.0, 354.0), p1: (577.0, 353.0) }) (angle: -0.21 degrees, expected: 0.00 degrees)
  • U0C39_U0C47.abvs: Line(Line { p0: (320.0, 354.0), p1: (591.0, 353.0) }) (angle: -0.21 degrees, expected: 0.00 degrees)
  • U0C25_U0C4C.abvs: Line(Line { p0: (308.0, 302.0), p1: (180.0, 303.0) }) (angle: 179.55 degrees, expected: 180.00 degrees)
    ... and 199 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 '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 Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Timmana-Regular.ttf
Dehinted Size 468116
Hinted Size 760696
Increase 292580
Change 62.5 %
ℹ️ 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.0.4; ttfautohint (v1.2.42-39fb), Version 1.0.4; ttfautohint (v1.2.42-39fb) [code: version-not-detected]
[2] ofl/timmana/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb: Mismatch between postScriptName 400 and and weight value (Timmana). The name must end with Regular or Italic [code: mismatch]

  • 🔥 FAIL METADATA.pb font filename = "Timmana-Regular.ttf" does not match post_script_name="Timmana". [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 appajiambarishadarbha 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]
[1] ofl/timmana/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 andhrapradesh society for knowledge networks (fonts.siliconandhra.org). copyright (c) 2011, sergiy tkachenko (www.4thfebruary.com.ua info@4thfebruary.com.ua), with reserved font names 'sansus', 'webissimo'."

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
45 31 10 104 69
21% 14% 5% 48% 32%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[2] ofl/vampiroone/DESCRIPTION.en_us.html
🔥 FAIL Does DESCRIPTION file contain broken links? (googlefonts/description/broken_links)
🔥 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/vampiroone
🔥 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.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]

🔥 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 VampiroOne-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) 2012 by sorkin type co (www.sorkintype.com), with reserved font name 'vampiro'" [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) 2012, sorkin type co (www.sorkintype.com eben@eyebytes.com) with reserved font name 'vampiro'." [code: bad-notice-format]

  • 🔥 FAIL Copyright notices differ between name table entries and METADATA.pb. The following entries were found:
  • copyright (c) 2012, sorkin type co (www.sorkintype.com eben@eyebytes.com) with reserved font name 'vampiro'.: ["METADATA.pb"]
  • copyright (c) 2012 by sorkin type co (www.sorkintype.com), with reserved font name 'vampiro': ["VampiroOne-Regular.ttf: Name Table entry"] [code: mismatch]
⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/vampiroone/VampiroOne-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+0001 : try adding symbols
  • U+0002 : try adding symbols
  • U+0003 : try adding symbols
  • U+0004 : try adding symbols
  • U+0005 : try adding symbols
  • U+0006 : try adding symbols
  • U+0007 : try adding symbols
  • U+0008 : try adding symbols
  • U+0009 : try adding symbols
    ... and 14 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) 2012, Sorkin Type Co (www.sorkintype.com eben@eyebytes.com) with Reserved Font Name 'Vampiro'.") 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]

ℹ️ 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/vampiroone/METADATA.pb
🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • 🔥 FAIL METADATA.pb font fullname = "Vampiro One" does not match post_script_name="VampiroOne-Regular". [code: mismatch]

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

[24] ofl/vampiroone/VampiroOne-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs. (case_mapping)
  • 🔥 FAIL Missing case-swapping counterpart for U+0154 [code: missing-case-counterparts]
🔥 FAIL Does font file include unacceptable control character glyphs? (control_chars)
  • 🔥 FAIL Unacceptable control character U+0001 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0002 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0003 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0004 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0005 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0006 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0007 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0008 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0009 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+000A found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0010 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0011 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0012 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0013 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0014 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0015 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0016 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0017 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0018 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+0019 found in font [code: unacceptable]

  • 🔥 FAIL Unacceptable control character U+001E found in font [code: unacceptable]

🔥 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:
  • parenright (component parenleft)
  • greater (component less)
  • bracketright (component bracketleft)
  • braceright (component braceleft)
  • questiondown (component question) [code: transformed-components]
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Vampiro One Vampiro One
Subfamily Name Regular Regular
Full Name Vampiro One Vampiro One Regular
Postscript Name VampiroOne-Regular VampiroOne-Regular
Typographic Family Name N/A N/A
Typographic Subfamily Name N/A N/A
  • ⚠️ WARN Regular missing from full name [code: lacks-regular]
🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (googlefonts/use_typo_metrics)
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) was NOT set. [code: missing-os2-fsselection-bit7]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 1.0019989 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check hhea.caretSlopeRise and hhea.caretSlopeRun (opentype/caret_slope)
  • ⚠️ WARN hhea.caretSlopeRise and hhea.caretSlopeRun do not match with post.italicAngle.
    Got caretSlopeRise: 100, caretSlopeRun: 70, expected caretSlopeRise: 1, caretSlopeRun: 0 [code: mismatch]
⚠️ 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 609 among a set of 9 math glyphs.
    The following math glyphs have a different width, though:
    width=591: 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 Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • macron.cap [code: unreachable-glyphs]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x00A0 is called nonbreakingspace; must be named 'uni00A0'. [code: not-recommended-00A0]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN 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:
    • .notdef: X=495,Y=703 (should be at cap-height 705?)
    • .notdef: X=381,Y=703 (should be at cap-height 705?)
    • .notdef: X=255,Y=703 (should be at cap-height 705?)
    • .notdef: X=141,Y=703 (should be at cap-height 705?)
    • asterisk (U+002A): X=454,Y=706 (should be at cap-height 705?)
    • A (U+0041): X=514,Y=704 (should be at cap-height 705?)
    • G (U+0047): X=58,Y=-1 (should be at baseline 0?)
    • J (U+004A): X=203,Y=-2 (should be at baseline 0?)
    • N (U+004E): X=293,Y=704 (should be at cap-height 705?)
      ... and 26 others [code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • .notdef: from (249.0, 189.0) to (291.0, 286.0) is colinear with segment from (291.0, 286.0) to (318.0, 361.0)
  • .notdef: from (318.0, 361.0) to (345.0, 286.0) is colinear with segment from (345.0, 286.0) to (387.0, 189.0)
  • .notdef: from (381.0, 703.0) to (340.0, 606.0) is colinear with segment from (340.0, 606.0) to (317.0, 540.0)
  • .notdef: from (317.0, 540.0) to (295.0, 606.0) is colinear with segment from (295.0, 606.0) to (255.0, 703.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • u (U+0075): Line(Line { p0: (373.0, 135.0), p1: (369.0, 133.0) })/Quad(QuadBez { p0: (369.0, 133.0), p1: (433.0, 150.0), p2: (508.5, 185.0) }) = 11.689369175439232 degrees
  • mu (U+00B5): Line(Line { p0: (403.0, 135.0), p1: (399.0, 133.0) })/Quad(QuadBez { p0: (399.0, 133.0), p1: (454.0, 148.0), p2: (537.0, 185.0) }) = 11.309932474020227 degrees
  • ugrave (U+00F9): Line(Line { p0: (373.0, 135.0), p1: (369.0, 133.0) })/Quad(QuadBez { p0: (369.0, 133.0), p1: (433.0, 150.0), p2: (508.5, 185.0) }) = 11.689369175439232 degrees
  • uacute (U+00FA): Line(Line { p0: (373.0, 135.0), p1: (369.0, 133.0) })/Quad(QuadBez { p0: (369.0, 133.0), p1: (433.0, 150.0), p2: (508.5, 185.0) }) = 11.689369175439232 degrees
  • ucircumflex (U+00FB): Line(Line { p0: (373.0, 135.0), p1: (369.0, 133.0) })/Quad(QuadBez { p0: (369.0, 133.0), p1: (433.0, 150.0), p2: (508.5, 185.0) }) = 11.689369175439232 degrees
  • udieresis (U+00FC): Line(Line { p0: (373.0, 135.0), p1: (369.0, 133.0) })/Quad(QuadBez { p0: (369.0, 133.0), p1: (433.0, 150.0), p2: (508.5, 185.0) }) = 11.689369175439232 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 The family name "Vampiro 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:
VampiroOne-Regular.ttf
Dehinted Size 22304
Hinted Size 27920
Increase 5616
Change 25.2 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    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]
[2] ofl/vampiroone/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright (c) 2012 by sorkin type co (www.sorkintype.com), with reserved font name 'vampiro'
"

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:

+Vampiro is a trademark of Sorkin Type Co.
+
-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
+
-include source files, build scripts and documentation.
+include Fjalla files, build scripts and documentation.
[code: incorrect-ofl-body-text]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
36 21 9 113 68
17% 10% 4% 52% 31%

@github-actions
Copy link
Copy Markdown
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

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

"copyright 2011, the vt323 project authors (peter.hull@oikoi.com)"

which does not match the expected format, similar to:

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

[2] ofl/vt323/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that peterhull 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]
[22] ofl/vt323/VT323-Regular.ttf
🔥 FAIL Checking correctness of monospaced metadata. (opentype/monospace)
🔥 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: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
  • ⚠️ 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 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 tildecomb to uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to 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 'ų̃'
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: ǔ
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: ſ
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ WARN dcaron 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:

  • uni1EAE (U+1EAE): found 6, expected one of: [4, 5, 8]
  • uni1EB6 (U+1EB6): found 6, expected one of: [4, 5, 8]
  • uni1EB0 (U+1EB0): found 6, expected one of: [4, 5, 8]
  • Ibreve (U+012C): found 4, expected one of: [2, 3, 6]
  • Itilde (U+0128): found 4, expected one of: [2, 3, 6]
  • uni020E (U+020E): found 5, expected one of: [2, 3, 4]
  • Ubreve (U+016C): found 4, expected one of: [2, 3, 6]
  • Utilde (U+0168): found 4, expected one of: [2, 3, 6]
  • uni1EAF (U+1EAF): found 5, expected one of: [3, 4, 8]
    ... and 41 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 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:
  • uni0326.alt
  • IJacute
  • ijacute [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 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 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:
VT323-Regular.ttf
Dehinted Size 108900
Hinted Size 153116
Increase 44216
Change 40.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]
[6] ofl/vt323
🔥 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 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]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL VT323-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 2011, the vt323 project authors (peter.hull@oikoi.com)" [code: bad-notice-format]

  • 🔥 FAIL VT323-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 2011, the vt323 project authors (peter.hull@oikoi.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 2011, the vt323 project authors (peter.hull@oikoi.com)" [code: bad-notice-format]

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

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

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

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

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

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

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

ℹ️ 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/vt323/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
17 24 8 119 67
8% 11% 4% 55% 31%

@felipesanches felipesanches merged commit 2da4190 into main Apr 24, 2026
7 checks passed
@felipesanches felipesanches deleted the add-override-config-mixed-sources branch April 24, 2026 10:16
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