google / fonts

Font files available from Google Fonts, and a public issue tracker for all things Google Fonts
https://fonts.google.com
17.83k stars 2.6k forks source link

Fragment Mono SC: Version 1.012; ttfautohint (v1.8.4.7-5d5b) added #7813

Closed simoncozens closed 1 week ago

simoncozens commented 1 month ago

Taken from the upstream repo https://github.com/weiweihuanghuang/fragment-mono at commit https://github.com/weiweihuanghuang/fragment-mono/commit/766d60703081ca3581e17764b36e8487c7ba6225.

PR Checklist:

github-actions[bot] commented 1 month ago

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] FragmentMonoSC-Italic.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/fragmentmonosc does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] FragmentMonoSC-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/fragmentmonosc does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[21] FragmentMonoSC-Italic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+039E: GREEK CAPITAL LETTER XI U+03BE: GREEK SMALL LETTER XI
[code: missing-case-counterparts]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 1022, but got 945 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 378, but got 265 instead

[code: descent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://github.com/weiweihuanghuang/fragment-mono

But: HTML description has 'github.com/twardoch/urw-core35-fonts'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237.sc
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Checking correctness of monospaced metadata.
* ⚠️ **WARN**

The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 714 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **WARN**

This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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:

- Glyph name: aogonek    Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: uogonek   Contours detected: 2    Expected: 1

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: aogonek   Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: uogonek   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Glyph names are all valid?
* ⚠️ **WARN**

The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit: asciitilde_asciitilde_greater.liga, less_numbersign_hyphen_hyphen.liga and semicolon_semicolon_semicolon.liga

[code: legacy-long-names]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **WARN**

The following glyphs have on-curve points which have potentially incorrect y coordinates:

* a (U+0061): X=419.5,Y=2.0 (should be at baseline 0?)

* aacute (U+00E1): X=419.5,Y=2.0 (should be at baseline 0?)

* abreve (U+0103): X=419.5,Y=2.0 (should be at baseline 0?)

* uni01CE (U+01CE): X=419.5,Y=2.0 (should be at baseline 0?)

* acircumflex (U+00E2): X=419.5,Y=2.0 (should be at baseline 0?)

* adieresis (U+00E4): X=419.5,Y=2.0 (should be at baseline 0?)

* agrave (U+00E0): X=419.5,Y=2.0 (should be at baseline 0?)

* amacron (U+0101): X=419.5,Y=2.0 (should be at baseline 0?)

* amacron (U+0101): X=244.0,Y=701.0 (should be at cap-height 699?)

* amacron (U+0101): X=518.0,Y=701.0 (should be at cap-height 699?)

* 64 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* bar_equal_greater.liga: L<<-1056.0,431.0>--<-1051.0,454.0>> -> L<<-1051.0,454.0>--<-1011.0,642.0>>

* bar_equal_greater.liga: L<<-1131.0,77.0>--<-1087.0,285.0>> -> L<<-1087.0,285.0>--<-1086.0,289.0>>

* bar_hyphen_greater.liga: L<<-1110.0,77.0>--<-1053.0,345.0>> -> L<<-1053.0,345.0>--<-1042.0,399.0>>

* eng (U+014B): L<<371.0,-37.0>--<379.0,0.0>> -> L<<379.0,0.0>--<456.0,363.0>>

* eng (U+014B): L<<542.0,376.0>--<462.0,0.0>> -> L<<462.0,0.0>--<449.0,-59.0>>

* less_equal_bar.liga: L<<459.0,289.0>--<454.0,266.0>> -> L<<454.0,266.0>--<414.0,78.0>>

* less_equal_bar.liga: L<<534.0,643.0>--<490.0,435.0>> -> L<<490.0,435.0>--<489.0,431.0>>

* less_hyphen_bar.liga: L<<534.0,643.0>--<477.0,375.0>> -> L<<477.0,375.0>--<466.0,321.0>>
[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* m.sc: L<<432.0,0.0>--<534.0,477.0>>/L<<534.0,477.0>--<299.0,0.0>> = 14.157592127600394

* trademark (U+2122): L<<418.0,332.0>--<428.0,639.0>>/L<<428.0,639.0>--<363.0,332.0>> = 10.08883041066053

* trademark (U+2122): L<<531.0,332.0>--<596.0,639.0>>/L<<596.0,639.0>--<477.0,332.0>> = 9.232951420697566

* uni20A9 (U+20A9): L<<229.0,699.0>--<162.0,93.0>>/L<<162.0,93.0>--<360.0,699.0>> = 11.784848165590649

* uni20A9 (U+20A9): L<<319.0,0.0>--<375.0,579.0>>/L<<375.0,579.0>--<187.0,0.0>> = 12.464119629827673

* uni20A9 (U+20A9): L<<442.0,699.0>--<382.0,93.0>>/L<<382.0,93.0>--<573.0,699.0>> = 11.83946742345819

* uni2116 (U+2116): L<<164.0,0.0>--<172.0,592.0>>/L<<172.0,592.0>--<45.0,0.0>> = 11.333755455975231

* uni2116 (U+2116): L<<222.0,699.0>--<216.0,102.0>>/L<<216.0,102.0>--<344.0,699.0>> = 11.525493565128695
[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that URW Design Studio is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

[code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

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: yi, tifinagh, canadian-aboriginal
  • 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+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, math, cherokee, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: tifinagh, malayalam, old-permic, canadian-aboriginal, tai-le, math, syriac, coptic
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 137 more.

Use -F or --full-lists to disable shortening of long lists.

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

[code: unreachable-subsetting]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/fragmentmono

[code: family-path] * ℹ️ **INFO**

ofl/fragmentmonosc

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/twardoch/urw-core35-fonts

[code: url-found] * ℹ️ **INFO**

Found a git repo URL: https://github.com/weiweihuanghuang/fragment-mono/

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/fragmentmonosc/FragmentMonoSC-Italic.ttf
Dehinted Size 77.9kb
Hinted Size 119.3kb
Increase 41.4kb
Change 53.1 %
[code: size-impact]
[21] FragmentMonoSC-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+039E: GREEK CAPITAL LETTER XI U+03BE: GREEK SMALL LETTER XI
[code: missing-case-counterparts]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 1022, but got 945 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 378, but got 265 instead

[code: descent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://github.com/weiweihuanghuang/fragment-mono

But: HTML description has 'github.com/twardoch/urw-core35-fonts'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237.sc
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Checking correctness of monospaced metadata.
* ⚠️ **WARN**

The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 714 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **WARN**

This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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:

- Glyph name: aogonek    Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: uogonek   Contours detected: 2    Expected: 1

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: aogonek   Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: uogonek   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Glyph names are all valid?
* ⚠️ **WARN**

The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit: asciitilde_asciitilde_greater.liga, less_numbersign_hyphen_hyphen.liga and semicolon_semicolon_semicolon.liga

[code: legacy-long-names]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **WARN**

The following glyphs have on-curve points which have potentially incorrect y coordinates:

* uni1E9E (U+1E9E): X=435.5,Y=-1.0 (should be at baseline 0?)

* uni1E9E (U+1E9E): X=260.0,Y=-1.0 (should be at baseline 0?)

* a (U+0061): X=340.0,Y=0.5 (should be at baseline 0?)

* aacute (U+00E1): X=340.0,Y=0.5 (should be at baseline 0?)

* abreve (U+0103): X=340.0,Y=0.5 (should be at baseline 0?)

* uni01CE (U+01CE): X=340.0,Y=0.5 (should be at baseline 0?)

* acircumflex (U+00E2): X=340.0,Y=0.5 (should be at baseline 0?)

* adieresis (U+00E4): X=340.0,Y=0.5 (should be at baseline 0?)

* agrave (U+00E0): X=340.0,Y=0.5 (should be at baseline 0?)

* amacron (U+0101): X=340.0,Y=0.5 (should be at baseline 0?)

* 48 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-misalignments]
⚠️ WARN Are any segments inordinately short?
* ⚠️ **WARN**

The following glyphs have segments which seem very short:

* AE (U+00C6) contains a short segment L<<306.0,619.0>--<302.0,619.0>>

* N (U+004E) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* N (U+004E) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Nacute (U+0143) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* Nacute (U+0143) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Ncaron (U+0147) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* Ncaron (U+0147) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* uni0145 (U+0145) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* uni0145 (U+0145) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Ntilde (U+00D1) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* 77 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-short-segments]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* less_asciitilde_greater.liga: B<<342.0,339.0>-<328.0,331.0>-<312.0,310.0>>/L<<312.0,310.0>--<342.0,339.0>> = 8.667073653095745

* less_asciitilde_greater.liga: L<<119.0,121.0>--<284.0,283.0>>/B<<284.0,283.0>-<255.0,262.0>-<217.0,262.0>> = 8.564642314364727

* less_asciitilde_greater.liga: L<<312.0,310.0>--<342.0,339.0>>/B<<342.0,339.0>-<328.0,331.0>-<312.0,310.0>> = 14.284096771978573

* trademark (U+2122): L<<403.0,332.0>--<348.0,639.0>>/L<<348.0,639.0>--<348.0,332.0>> = 10.15696551936229

* trademark (U+2122): L<<516.0,332.0>--<516.0,639.0>>/L<<516.0,639.0>--<462.0,332.0>> = 9.976036422751434

* uni20A9 (U+20A9): L<<137.0,699.0>--<199.0,93.0>>/L<<199.0,93.0>--<268.0,699.0>> = 12.337420712236526

* uni20A9 (U+20A9): L<<350.0,699.0>--<420.0,93.0>>/L<<420.0,93.0>--<481.0,699.0>> = 12.337157115263608

* uni20A9 (U+20A9): L<<375.0,0.0>--<309.0,579.0>>/L<<309.0,579.0>--<243.0,0.0>> = 13.006111889763387

* uni2116 (U+2116): L<<129.0,699.0>--<250.0,118.0>>/L<<250.0,118.0>--<250.0,699.0>> = 11.764350807103282

* uni2116 (U+2116): L<<220.0,0.0>--<102.0,576.0>>/L<<102.0,576.0>--<102.0,0.0>> = 11.577489206021184
[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that URW Design Studio is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

[code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

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: yi, tifinagh, canadian-aboriginal
  • 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+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, math, cherokee, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: tifinagh, malayalam, old-permic, canadian-aboriginal, tai-le, math, syriac, coptic
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 137 more.

Use -F or --full-lists to disable shortening of long lists.

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

[code: unreachable-subsetting]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/fragmentmono

[code: family-path] * ℹ️ **INFO**

ofl/fragmentmonosc

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/twardoch/urw-core35-fonts

[code: url-found] * ℹ️ **INFO**

Found a git repo URL: https://github.com/weiweihuanghuang/fragment-mono/

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/fragmentmonosc/FragmentMonoSC-Regular.ttf
Dehinted Size 75.9kb
Hinted Size 116.9kb
Increase 41.0kb
Change 54.0 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
* ℹ️ **INFO**

All of the fonts lack a STAT table.

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 8 22 122 17 309 0
0% 0% 2% 5% 26% 4% 65% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 1 month ago

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] FragmentMonoSC-Italic.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/fragmentmonosc does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] FragmentMonoSC-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/fragmentmonosc does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[21] FragmentMonoSC-Italic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+039E: GREEK CAPITAL LETTER XI U+03BE: GREEK SMALL LETTER XI
[code: missing-case-counterparts]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 1022, but got 945 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 378, but got 265 instead

[code: descent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://github.com/weiweihuanghuang/fragment-mono

But: HTML description has 'github.com/twardoch/urw-core35-fonts'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237.sc
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Checking correctness of monospaced metadata.
* ⚠️ **WARN**

The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 714 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **WARN**

This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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:

- Glyph name: aogonek    Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: uogonek   Contours detected: 2    Expected: 1

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: aogonek   Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: uogonek   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Glyph names are all valid?
* ⚠️ **WARN**

The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit: asciitilde_asciitilde_greater.liga, less_numbersign_hyphen_hyphen.liga and semicolon_semicolon_semicolon.liga

[code: legacy-long-names]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **WARN**

The following glyphs have on-curve points which have potentially incorrect y coordinates:

* a (U+0061): X=419.5,Y=2.0 (should be at baseline 0?)

* aacute (U+00E1): X=419.5,Y=2.0 (should be at baseline 0?)

* abreve (U+0103): X=419.5,Y=2.0 (should be at baseline 0?)

* uni01CE (U+01CE): X=419.5,Y=2.0 (should be at baseline 0?)

* acircumflex (U+00E2): X=419.5,Y=2.0 (should be at baseline 0?)

* adieresis (U+00E4): X=419.5,Y=2.0 (should be at baseline 0?)

* agrave (U+00E0): X=419.5,Y=2.0 (should be at baseline 0?)

* amacron (U+0101): X=419.5,Y=2.0 (should be at baseline 0?)

* amacron (U+0101): X=244.0,Y=701.0 (should be at cap-height 699?)

* amacron (U+0101): X=518.0,Y=701.0 (should be at cap-height 699?)

* 64 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* bar_equal_greater.liga: L<<-1056.0,431.0>--<-1051.0,454.0>> -> L<<-1051.0,454.0>--<-1011.0,642.0>>

* bar_equal_greater.liga: L<<-1131.0,77.0>--<-1087.0,285.0>> -> L<<-1087.0,285.0>--<-1086.0,289.0>>

* bar_hyphen_greater.liga: L<<-1110.0,77.0>--<-1053.0,345.0>> -> L<<-1053.0,345.0>--<-1042.0,399.0>>

* eng (U+014B): L<<371.0,-37.0>--<379.0,0.0>> -> L<<379.0,0.0>--<456.0,363.0>>

* eng (U+014B): L<<542.0,376.0>--<462.0,0.0>> -> L<<462.0,0.0>--<449.0,-59.0>>

* less_equal_bar.liga: L<<459.0,289.0>--<454.0,266.0>> -> L<<454.0,266.0>--<414.0,78.0>>

* less_equal_bar.liga: L<<534.0,643.0>--<490.0,435.0>> -> L<<490.0,435.0>--<489.0,431.0>>

* less_hyphen_bar.liga: L<<534.0,643.0>--<477.0,375.0>> -> L<<477.0,375.0>--<466.0,321.0>>
[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* m.sc: L<<432.0,0.0>--<534.0,477.0>>/L<<534.0,477.0>--<299.0,0.0>> = 14.157592127600394

* trademark (U+2122): L<<418.0,332.0>--<428.0,639.0>>/L<<428.0,639.0>--<363.0,332.0>> = 10.08883041066053

* trademark (U+2122): L<<531.0,332.0>--<596.0,639.0>>/L<<596.0,639.0>--<477.0,332.0>> = 9.232951420697566

* uni20A9 (U+20A9): L<<229.0,699.0>--<162.0,93.0>>/L<<162.0,93.0>--<360.0,699.0>> = 11.784848165590649

* uni20A9 (U+20A9): L<<319.0,0.0>--<375.0,579.0>>/L<<375.0,579.0>--<187.0,0.0>> = 12.464119629827673

* uni20A9 (U+20A9): L<<442.0,699.0>--<382.0,93.0>>/L<<382.0,93.0>--<573.0,699.0>> = 11.83946742345819

* uni2116 (U+2116): L<<164.0,0.0>--<172.0,592.0>>/L<<172.0,592.0>--<45.0,0.0>> = 11.333755455975231

* uni2116 (U+2116): L<<222.0,699.0>--<216.0,102.0>>/L<<216.0,102.0>--<344.0,699.0>> = 11.525493565128695
[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that URW Design Studio is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

[code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

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: yi, tifinagh, canadian-aboriginal
  • 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+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, cherokee, tifinagh, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, tifinagh, old-permic, tai-le, canadian-aboriginal, math, coptic, malayalam
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage 137 more.

Use -F or --full-lists to disable shortening of long lists.

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

[code: unreachable-subsetting]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/fragmentmono

[code: family-path] * ℹ️ **INFO**

ofl/fragmentmonosc

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/twardoch/urw-core35-fonts

[code: url-found] * ℹ️ **INFO**

Found a git repo URL: https://github.com/weiweihuanghuang/fragment-mono/

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/fragmentmonosc/FragmentMonoSC-Italic.ttf
Dehinted Size 77.9kb
Hinted Size 119.3kb
Increase 41.4kb
Change 53.1 %
[code: size-impact]
[21] FragmentMonoSC-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+039E: GREEK CAPITAL LETTER XI U+03BE: GREEK SMALL LETTER XI
[code: missing-case-counterparts]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 1022, but got 945 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 378, but got 265 instead

[code: descent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://github.com/weiweihuanghuang/fragment-mono

But: HTML description has 'github.com/twardoch/urw-core35-fonts'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237.sc
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Checking correctness of monospaced metadata.
* ⚠️ **WARN**

The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 714 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **WARN**

This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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:

- Glyph name: aogonek    Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: uogonek   Contours detected: 2    Expected: 1

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: aogonek   Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: uogonek   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Glyph names are all valid?
* ⚠️ **WARN**

The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit: asciitilde_asciitilde_greater.liga, less_numbersign_hyphen_hyphen.liga and semicolon_semicolon_semicolon.liga

[code: legacy-long-names]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **WARN**

The following glyphs have on-curve points which have potentially incorrect y coordinates:

* uni1E9E (U+1E9E): X=435.5,Y=-1.0 (should be at baseline 0?)

* uni1E9E (U+1E9E): X=260.0,Y=-1.0 (should be at baseline 0?)

* a (U+0061): X=340.0,Y=0.5 (should be at baseline 0?)

* aacute (U+00E1): X=340.0,Y=0.5 (should be at baseline 0?)

* abreve (U+0103): X=340.0,Y=0.5 (should be at baseline 0?)

* uni01CE (U+01CE): X=340.0,Y=0.5 (should be at baseline 0?)

* acircumflex (U+00E2): X=340.0,Y=0.5 (should be at baseline 0?)

* adieresis (U+00E4): X=340.0,Y=0.5 (should be at baseline 0?)

* agrave (U+00E0): X=340.0,Y=0.5 (should be at baseline 0?)

* amacron (U+0101): X=340.0,Y=0.5 (should be at baseline 0?)

* 48 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-misalignments]
⚠️ WARN Are any segments inordinately short?
* ⚠️ **WARN**

The following glyphs have segments which seem very short:

* AE (U+00C6) contains a short segment L<<306.0,619.0>--<302.0,619.0>>

* N (U+004E) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* N (U+004E) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Nacute (U+0143) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* Nacute (U+0143) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Ncaron (U+0147) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* Ncaron (U+0147) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* uni0145 (U+0145) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* uni0145 (U+0145) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Ntilde (U+00D1) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* 77 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-short-segments]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* less_asciitilde_greater.liga: B<<342.0,339.0>-<328.0,331.0>-<312.0,310.0>>/L<<312.0,310.0>--<342.0,339.0>> = 8.667073653095745

* less_asciitilde_greater.liga: L<<119.0,121.0>--<284.0,283.0>>/B<<284.0,283.0>-<255.0,262.0>-<217.0,262.0>> = 8.564642314364727

* less_asciitilde_greater.liga: L<<312.0,310.0>--<342.0,339.0>>/B<<342.0,339.0>-<328.0,331.0>-<312.0,310.0>> = 14.284096771978573

* trademark (U+2122): L<<403.0,332.0>--<348.0,639.0>>/L<<348.0,639.0>--<348.0,332.0>> = 10.15696551936229

* trademark (U+2122): L<<516.0,332.0>--<516.0,639.0>>/L<<516.0,639.0>--<462.0,332.0>> = 9.976036422751434

* uni20A9 (U+20A9): L<<137.0,699.0>--<199.0,93.0>>/L<<199.0,93.0>--<268.0,699.0>> = 12.337420712236526

* uni20A9 (U+20A9): L<<350.0,699.0>--<420.0,93.0>>/L<<420.0,93.0>--<481.0,699.0>> = 12.337157115263608

* uni20A9 (U+20A9): L<<375.0,0.0>--<309.0,579.0>>/L<<309.0,579.0>--<243.0,0.0>> = 13.006111889763387

* uni2116 (U+2116): L<<129.0,699.0>--<250.0,118.0>>/L<<250.0,118.0>--<250.0,699.0>> = 11.764350807103282

* uni2116 (U+2116): L<<220.0,0.0>--<102.0,576.0>>/L<<102.0,576.0>--<102.0,0.0>> = 11.577489206021184
[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that URW Design Studio is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

[code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

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: yi, tifinagh, canadian-aboriginal
  • 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+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, cherokee, tifinagh, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: syriac, tifinagh, old-permic, tai-le, canadian-aboriginal, math, coptic, malayalam
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage 137 more.

Use -F or --full-lists to disable shortening of long lists.

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

[code: unreachable-subsetting]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/fragmentmono

[code: family-path] * ℹ️ **INFO**

ofl/fragmentmonosc

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/twardoch/urw-core35-fonts

[code: url-found] * ℹ️ **INFO**

Found a git repo URL: https://github.com/weiweihuanghuang/fragment-mono/

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/fragmentmonosc/FragmentMonoSC-Regular.ttf
Dehinted Size 75.9kb
Hinted Size 116.9kb
Increase 41.0kb
Change 54.0 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
* ℹ️ **INFO**

All of the fonts lack a STAT table.

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 8 22 122 17 309 0
0% 0% 2% 5% 26% 4% 65% 0%

Note: The following loglevels were omitted in this report:

emmamarichal commented 1 week ago

Dont know if it's important or not, but lowercases are displayed in the menu (Indd):

Screenshot 2024-06-21 at 12 24 12

In Word (Mac), we have a great menu, but we still have lowercases (like in Big Shoulder)

Screenshot 2024-06-21 at 12 24 54
github-actions[bot] commented 1 week ago

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] FragmentMonoSC-Italic.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/fragmentmonosc does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] FragmentMonoSC-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/fragmentmonosc does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[21] FragmentMonoSC-Italic.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+039E: GREEK CAPITAL LETTER XI U+03BE: GREEK SMALL LETTER XI
[code: missing-case-counterparts]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 1022, but got 945 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 378, but got 265 instead

[code: descent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://github.com/weiweihuanghuang/fragment-mono

But: HTML description has 'github.com/twardoch/urw-core35-fonts'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237.sc
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Checking correctness of monospaced metadata.
* ⚠️ **WARN**

The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 714 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **WARN**

This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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:

- Glyph name: aogonek    Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: uogonek   Contours detected: 2    Expected: 1

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: aogonek   Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: uogonek   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Glyph names are all valid?
* ⚠️ **WARN**

The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit: asciitilde_asciitilde_greater.liga, less_numbersign_hyphen_hyphen.liga and semicolon_semicolon_semicolon.liga

[code: legacy-long-names]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **WARN**

The following glyphs have on-curve points which have potentially incorrect y coordinates:

* a (U+0061): X=419.5,Y=2.0 (should be at baseline 0?)

* aacute (U+00E1): X=419.5,Y=2.0 (should be at baseline 0?)

* abreve (U+0103): X=419.5,Y=2.0 (should be at baseline 0?)

* uni01CE (U+01CE): X=419.5,Y=2.0 (should be at baseline 0?)

* acircumflex (U+00E2): X=419.5,Y=2.0 (should be at baseline 0?)

* adieresis (U+00E4): X=419.5,Y=2.0 (should be at baseline 0?)

* agrave (U+00E0): X=419.5,Y=2.0 (should be at baseline 0?)

* amacron (U+0101): X=419.5,Y=2.0 (should be at baseline 0?)

* amacron (U+0101): X=244.0,Y=701.0 (should be at cap-height 699?)

* amacron (U+0101): X=518.0,Y=701.0 (should be at cap-height 699?)

* 64 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-misalignments]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* bar_equal_greater.liga: L<<-1056.0,431.0>--<-1051.0,454.0>> -> L<<-1051.0,454.0>--<-1011.0,642.0>>

* bar_equal_greater.liga: L<<-1131.0,77.0>--<-1087.0,285.0>> -> L<<-1087.0,285.0>--<-1086.0,289.0>>

* bar_hyphen_greater.liga: L<<-1110.0,77.0>--<-1053.0,345.0>> -> L<<-1053.0,345.0>--<-1042.0,399.0>>

* eng (U+014B): L<<371.0,-37.0>--<379.0,0.0>> -> L<<379.0,0.0>--<456.0,363.0>>

* eng (U+014B): L<<542.0,376.0>--<462.0,0.0>> -> L<<462.0,0.0>--<449.0,-59.0>>

* less_equal_bar.liga: L<<459.0,289.0>--<454.0,266.0>> -> L<<454.0,266.0>--<414.0,78.0>>

* less_equal_bar.liga: L<<534.0,643.0>--<490.0,435.0>> -> L<<490.0,435.0>--<489.0,431.0>>

* less_hyphen_bar.liga: L<<534.0,643.0>--<477.0,375.0>> -> L<<477.0,375.0>--<466.0,321.0>>
[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* m.sc: L<<432.0,0.0>--<534.0,477.0>>/L<<534.0,477.0>--<299.0,0.0>> = 14.157592127600394

* trademark (U+2122): L<<418.0,332.0>--<428.0,639.0>>/L<<428.0,639.0>--<363.0,332.0>> = 10.08883041066053

* trademark (U+2122): L<<531.0,332.0>--<596.0,639.0>>/L<<596.0,639.0>--<477.0,332.0>> = 9.232951420697566

* uni20A9 (U+20A9): L<<229.0,699.0>--<162.0,93.0>>/L<<162.0,93.0>--<360.0,699.0>> = 11.784848165590649

* uni20A9 (U+20A9): L<<319.0,0.0>--<375.0,579.0>>/L<<375.0,579.0>--<187.0,0.0>> = 12.464119629827673

* uni20A9 (U+20A9): L<<442.0,699.0>--<382.0,93.0>>/L<<382.0,93.0>--<573.0,699.0>> = 11.83946742345819

* uni2116 (U+2116): L<<164.0,0.0>--<172.0,592.0>>/L<<172.0,592.0>--<45.0,0.0>> = 11.333755455975231

* uni2116 (U+2116): L<<222.0,699.0>--<216.0,102.0>>/L<<216.0,102.0>--<344.0,699.0>> = 11.525493565128695
[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that URW Design Studio is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

[code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: tifinagh, canadian-aboriginal, yi
  • 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+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, coptic, math, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: canadian-aboriginal, coptic, math, old-permic, malayalam, tai-le, syriac, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 137 more.

Use -F or --full-lists to disable shortening of long lists.

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

[code: unreachable-subsetting]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/fragmentmono

[code: family-path] * ℹ️ **INFO**

ofl/fragmentmonosc

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/twardoch/urw-core35-fonts

[code: url-found] * ℹ️ **INFO**

Found a git repo URL: https://github.com/weiweihuanghuang/fragment-mono/

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/fragmentmonosc/FragmentMonoSC-Italic.ttf
Dehinted Size 77.9kb
Hinted Size 119.3kb
Increase 41.4kb
Change 53.1 %
[code: size-impact]
[21] FragmentMonoSC-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+039E: GREEK CAPITAL LETTER XI U+03BE: GREEK SMALL LETTER XI
[code: missing-case-counterparts]
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent.
* 🔥 **FAIL**

OS/2.usWinAscent value should be equal or greater than 1022, but got 945 instead

[code: ascent] * 🔥 **FAIL**

OS/2.usWinDescent value should be equal or greater than 378, but got 265 instead

[code: descent]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://github.com/weiweihuanghuang/fragment-mono

But: HTML description has 'github.com/twardoch/urw-core35-fonts'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237.sc
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Checking correctness of monospaced metadata.
* ⚠️ **WARN**

The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 714 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **WARN**

This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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:

- Glyph name: aogonek    Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: uogonek   Contours detected: 2    Expected: 1

- Glyph name: Uogonek   Contours detected: 2    Expected: 1

- Glyph name: aogonek   Contours detected: 3    Expected: 2

- Glyph name: eogonek   Contours detected: 3    Expected: 2

- Glyph name: uogonek   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Glyph names are all valid?
* ⚠️ **WARN**

The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit: asciitilde_asciitilde_greater.liga, less_numbersign_hyphen_hyphen.liga and semicolon_semicolon_semicolon.liga

[code: legacy-long-names]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **WARN**

The following glyphs have on-curve points which have potentially incorrect y coordinates:

* uni1E9E (U+1E9E): X=435.5,Y=-1.0 (should be at baseline 0?)

* uni1E9E (U+1E9E): X=260.0,Y=-1.0 (should be at baseline 0?)

* a (U+0061): X=340.0,Y=0.5 (should be at baseline 0?)

* aacute (U+00E1): X=340.0,Y=0.5 (should be at baseline 0?)

* abreve (U+0103): X=340.0,Y=0.5 (should be at baseline 0?)

* uni01CE (U+01CE): X=340.0,Y=0.5 (should be at baseline 0?)

* acircumflex (U+00E2): X=340.0,Y=0.5 (should be at baseline 0?)

* adieresis (U+00E4): X=340.0,Y=0.5 (should be at baseline 0?)

* agrave (U+00E0): X=340.0,Y=0.5 (should be at baseline 0?)

* amacron (U+0101): X=340.0,Y=0.5 (should be at baseline 0?)

* 48 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-misalignments]
⚠️ WARN Are any segments inordinately short?
* ⚠️ **WARN**

The following glyphs have segments which seem very short:

* AE (U+00C6) contains a short segment L<<306.0,619.0>--<302.0,619.0>>

* N (U+004E) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* N (U+004E) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Nacute (U+0143) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* Nacute (U+0143) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Ncaron (U+0147) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* Ncaron (U+0147) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* uni0145 (U+0145) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* uni0145 (U+0145) contains a short segment L<<455.0,135.0>--<456.0,135.0>>

* Ntilde (U+00D1) contains a short segment L<<163.0,559.0>--<162.0,559.0>>

* 77 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-short-segments]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* less_asciitilde_greater.liga: B<<342.0,339.0>-<328.0,331.0>-<312.0,310.0>>/L<<312.0,310.0>--<342.0,339.0>> = 8.667073653095745

* less_asciitilde_greater.liga: L<<119.0,121.0>--<284.0,283.0>>/B<<284.0,283.0>-<255.0,262.0>-<217.0,262.0>> = 8.564642314364727

* less_asciitilde_greater.liga: L<<312.0,310.0>--<342.0,339.0>>/B<<342.0,339.0>-<328.0,331.0>-<312.0,310.0>> = 14.284096771978573

* trademark (U+2122): L<<403.0,332.0>--<348.0,639.0>>/L<<348.0,639.0>--<348.0,332.0>> = 10.15696551936229

* trademark (U+2122): L<<516.0,332.0>--<516.0,639.0>>/L<<516.0,639.0>--<462.0,332.0>> = 9.976036422751434

* uni20A9 (U+20A9): L<<137.0,699.0>--<199.0,93.0>>/L<<199.0,93.0>--<268.0,699.0>> = 12.337420712236526

* uni20A9 (U+20A9): L<<350.0,699.0>--<420.0,93.0>>/L<<420.0,93.0>--<481.0,699.0>> = 12.337157115263608

* uni20A9 (U+20A9): L<<375.0,0.0>--<309.0,579.0>>/L<<309.0,579.0>--<243.0,0.0>> = 13.006111889763387

* uni2116 (U+2116): L<<129.0,699.0>--<250.0,118.0>>/L<<250.0,118.0>--<250.0,699.0>> = 11.764350807103282

* uni2116 (U+2116): L<<220.0,0.0>--<102.0,576.0>>/L<<102.0,576.0>--<102.0,0.0>> = 11.577489206021184
[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that URW Design Studio is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

[code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: tifinagh, canadian-aboriginal, yi
  • 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+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, coptic, math, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: canadian-aboriginal, coptic, math, old-permic, malayalam, tai-le, syriac, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 137 more.

Use -F or --full-lists to disable shortening of long lists.

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

[code: unreachable-subsetting]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/fragmentmono

[code: family-path] * ℹ️ **INFO**

ofl/fragmentmonosc

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/twardoch/urw-core35-fonts

[code: url-found] * ℹ️ **INFO**

Found a git repo URL: https://github.com/weiweihuanghuang/fragment-mono/

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/fragmentmonosc/FragmentMonoSC-Regular.ttf
Dehinted Size 75.9kb
Hinted Size 116.9kb
Increase 41.0kb
Change 54.0 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
* ℹ️ **INFO**

All of the fonts lack a STAT table.

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 8 22 122 17 309 0
0% 0% 2% 5% 26% 4% 65% 0%

Note: The following loglevels were omitted in this report: