google / fonts

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

CJK subset fix for the recently merged families #7905

Closed vv-monsalve closed 6 hours ago

vv-monsalve commented 4 days ago

The dev server is broken because multiple CJK subsets are declared in the fonts. In a private chat Rod said:

Only one default slicing strategy can be taken, got [japanese, Korean]

This PR deletes "Japanese" from the recently merged families with "Korean" as primary_script.

github-actions[bot] commented 4 days 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] Batang-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/batang 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

[28] Batang-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: Q  Contours detected: 3    Expected: 2

- Glyph name: uni00AD   Contours detected: 1    Expected: 0

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

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

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

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

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

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

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

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

- 37 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN Check if OS/2 xAvgCharWidth is correct.
* ⚠️ **WARN**

OS/2 xAvgCharWidth is 512 but it should be 495 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font.

[code: xAvgCharWidth-wrong]
⚠️ WARN Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
* ⚠️ **WARN**

GPOS table lacks kerning information.

[code: lacks-kern-info]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 12 math glyphs. The following math glyphs have a different width, though:

Width = 853: plus

Width = 640: less, equal, greater

Width = 804: logicalnot

Width = 832: divide, lessequal, multiply, equivalence, plusminus, greaterequal, notequal, minus

Width = 974: orthogonal

Width = 786: approxequal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* delta (U+03B4): B<<153.0,500.0>-<192.0,454.0>-<277.0,433.0>>/B<<277.0,433.0>-<175.0,433.0>-<115.0,364.0>> = 13.877529803208008

* epsilon (U+03B5): B<<134.0,298.0>-<168.0,262.0>-<217.0,255.0>>/B<<217.0,255.0>-<161.0,250.0>-<123.0,217.0>> = 13.232267606514155

* epsilontonos (U+03AD): B<<134.0,298.0>-<168.0,262.0>-<217.0,255.0>>/B<<217.0,255.0>-<161.0,250.0>-<123.0,217.0>> = 13.232267606514155

* glyph01656: B<<479.0,656.0>-<471.0,652.0>-<461.0,650.0>>/B<<461.0,650.0>-<463.0,650.0>-<456.0,649.0>> = 11.309932474020195

* glyph01668: B<<479.0,674.0>-<471.0,670.0>-<461.0,668.0>>/B<<461.0,668.0>-<463.0,668.0>-<456.0,667.0>> = 11.309932474020195

* glyph01680: B<<479.0,674.0>-<471.0,670.0>-<461.0,668.0>>/B<<461.0,668.0>-<463.0,668.0>-<456.0,667.0>> = 11.309932474020195

* glyph01700: B<<262.0,388.0>-<262.0,467.0>-<263.0,439.0>>/B<<263.0,439.0>-<263.0,448.0>-<264.0,450.0>> = 2.0454084888871935

* glyph01714: B<<262.0,449.0>-<262.0,515.0>-<263.0,487.0>>/B<<263.0,487.0>-<263.0,496.0>-<264.0,499.0>> = 2.0454084888871935

* glyph01728: B<<262.0,458.0>-<262.0,524.0>-<263.0,496.0>>/B<<263.0,496.0>-<263.0,506.0>-<264.0,509.0>> = 2.0454084888871935

* glyph01755: L<<325.0,740.0>--<326.0,736.0>>/B<<326.0,736.0>-<325.0,742.0>-<327.0,746.0>> = 4.573921259900818

* 900 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* arrowboth (U+2194): L<<201.0,348.0>--<451.0,349.0>>

* arrowdblright (U+21D2): L<<780.0,481.0>--<186.0,480.0>>

* glyph00009: L<<918.0,599.0>--<113.0,598.0>>

* glyph00009: L<<92.0,567.0>--<940.0,566.0>>

* glyph00014: L<<1003.0,239.0>--<511.0,238.0>>

* glyph00014: L<<510.0,207.0>--<975.0,206.0>>

* glyph00015: L<<20.0,495.0>--<512.0,494.0>>

* glyph00016: L<<1003.0,239.0>--<507.0,238.0>>

* glyph00016: L<<506.0,127.0>--<901.0,126.0>>

* glyph00018: L<<937.0,-80.0>--<936.0,199.0>>

* 12661 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 76351 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 6.5Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/batang

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/batang

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/batang/Batang-Regular.ttf
Dehinted Size 5.7Mb
Hinted Size 6.5Mb
Increase 785.1kb
Change 13.3 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 4 18 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] BatangChe-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/batangche 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

[28] BatangChe-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: Q  Contours detected: 3    Expected: 2

- Glyph name: uni00AD   Contours detected: 1    Expected: 0

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

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

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

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

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

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

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

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

- 37 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Check family name for GF Guide compliance.
* 🔥 **FAIL**

"BatangChe" is a CamelCased name. To solve this, simply use spaces instead in the font name.

[code: camelcase]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN 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 457 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics] * ⚠️ **WARN**

Font is monospaced but 422 glyphs (1.85%) have a different width. You should check the widths of: ['uni007F', 'uni0000', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'uni00A0', 'cent', 'sterling', 'yen', 'brokenbar', 'copyright', 'guillemotleft', 'logicalnot', 'macron', 'mu', 'guillemotright', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'ydieresis', 'Amacron', 'amacron', 'Abreve', 'abreve', 'Aogonek', 'aogonek', 'Cacute', 'cacute', 'Ccircumflex', 'ccircumflex', 'Cdotaccent', 'cdotaccent', 'Ccaron', 'ccaron', 'Dcaron', 'dcaron', 'Dcroat', 'Emacron', 'emacron', 'Ebreve', 'ebreve', 'Edotaccent', 'edotaccent', 'Eogonek', 'eogonek', 'Ecaron', 'ecaron', 'Gcircumflex', 'gcircumflex', 'Gbreve', 'gbreve', 'Gdotaccent', 'gdotaccent', 'uni0122', 'uni0123', 'Hcircumflex', 'hcircumflex', 'Itilde', 'itilde', 'Imacron', 'imacron', 'Ibreve', 'ibreve', 'Iogonek', 'iogonek', 'Idotaccent', 'Jcircumflex', 'jcircumflex', 'uni0136', 'uni0137', 'Lacute', 'lacute', 'uni013B', 'uni013C', 'Lcaron', 'lcaron', 'Nacute', 'nacute', 'uni0145', 'uni0146', 'Ncaron', 'ncaron', 'Omacron', 'omacron', 'Obreve', 'obreve', 'Ohungarumlaut', 'ohungarumlaut', 'Racute', 'racute', 'uni0156', 'uni0157', 'Rcaron', 'rcaron', 'Sacute', 'sacute', 'Scircumflex', 'scircumflex', 'Scedilla', 'scedilla', 'Scaron', 'scaron', 'uni0162', 'uni0163', 'Tcaron', 'tcaron', 'Utilde', 'utilde', 'Umacron', 'umacron', 'Ubreve', 'ubreve', 'Uring', 'uring', 'Uhungarumlaut', 'uhungarumlaut', 'Uogonek', 'uogonek', 'Wcircumflex', 'wcircumflex', 'Ycircumflex', 'ycircumflex', 'Ydieresis', 'Zacute', 'zacute', 'Zdotaccent', 'zdotaccent', 'Zcaron', 'zcaron', 'longs', 'florin', 'Aringacute', 'aringacute', 'AEacute', 'aeacute', 'Oslashacute', 'oslashacute', 'circumflex', 'uni02C9', 'tilde', 'tonos', 'dieresistonos', 'Alphatonos', 'anoteleia', 'Epsilontonos', 'Etatonos', 'Iotatonos', 'Omicrontonos', 'Upsilontonos', 'Omegatonos', 'iotadieresistonos', 'Iotadieresis', 'Upsilondieresis', 'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos', 'upsilondieresistonos', 'sigma1', 'iotadieresis', 'upsilondieresis', 'omicrontonos', 'upsilontonos', 'omegatonos', 'uni0402', 'uni0403', 'uni0404', 'uni0405', 'uni0406', 'uni0407', 'uni0408', 'uni0409', 'uni040A', 'uni040B', 'uni040C', 'uni040E', 'uni040F', 'uni0452', 'uni0453', 'uni0454', 'uni0455', 'uni0456', 'uni0457', 'uni0458', 'uni0459', 'uni045A', 'uni045B', 'uni045C', 'uni045E', 'uni045F', 'uni0490', 'uni0491', 'Wgrave', 'wgrave', 'Wacute', 'wacute', 'Wdieresis', 'wdieresis', 'Ygrave', 'ygrave', 'endash', 'emdash', 'underscoredbl', 'quotesinglbase', 'quotereversed', 'quotedblbase', 'bullet', 'guilsinglleft', 'guilsinglright', 'exclamdbl', 'uni203E', 'fraction', 'franc', 'lira', 'peseta', 'uni2105', 'estimated', 'arrowupdnbse', 'Delta', 'minus', 'uni2219', 'orthogonal', 'approxequal', 'house', 'revlogicalnot', 'integraltp', 'integralbt', 'SF430000', 'SF240000', 'SF510000', 'SF520000', 'SF390000', 'SF220000', 'SF210000', 'SF250000', 'SF500000', 'SF490000', 'SF380000', 'SF280000', 'SF270000', 'SF260000', 'SF360000', 'SF370000', 'SF420000', 'SF190000', 'SF200000', 'SF230000', 'SF470000', 'SF480000', 'SF410000', 'SF450000', 'SF460000', 'SF400000', 'SF540000', 'SF530000', 'SF440000', 'upblock', 'dnblock', 'block', 'lfblock', 'rtblock', 'ltshade', 'dkshade', 'H18543', 'H18551', 'filledrect', 'triagrt', 'triaglf', 'lozenge', 'invbullet', 'invcircle', 'openbullet', 'smileface', 'invsmileface', 'sun', 'diamond', 'musicalnotedbl', 'uniFB01', 'uniFB02', 'uni037E', 'uni2215']

[code: mono-outliers]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 19 math glyphs. The following math glyphs have a different width, though:

Width = 512: orthogonal, plus, less, minus, equal, greater, logicalnot, approxequal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* M (U+004D): L<<253.0,-8.0>--<383.0,688.0>>/L<<383.0,688.0>--<383.0,96.0>> = 10.579887259280381

* M (U+004D): L<<93.0,96.0>--<93.0,687.0>>/L<<93.0,687.0>--<236.0,-8.0>> = 11.626655502830266

* delta (U+03B4): B<<382.0,500.0>-<421.0,454.0>-<507.0,433.0>>/B<<507.0,433.0>-<405.0,433.0>-<344.0,364.0>> = 13.722297133133548

* epsilon (U+03B5): B<<367.0,298.0>-<401.0,262.0>-<450.0,255.0>>/B<<450.0,255.0>-<394.0,250.0>-<356.0,217.0>> = 13.232267606514155

* epsilontonos (U+03AD): B<<134.0,298.0>-<168.0,262.0>-<217.0,255.0>>/B<<217.0,255.0>-<161.0,250.0>-<123.0,217.0>> = 13.232267606514155

* glyph01656: B<<479.0,656.0>-<471.0,652.0>-<461.0,650.0>>/B<<461.0,650.0>-<463.0,650.0>-<456.0,649.0>> = 11.309932474020195

* glyph01668: B<<479.0,674.0>-<471.0,670.0>-<461.0,668.0>>/B<<461.0,668.0>-<463.0,668.0>-<456.0,667.0>> = 11.309932474020195

* glyph01680: B<<479.0,674.0>-<471.0,670.0>-<461.0,668.0>>/B<<461.0,668.0>-<463.0,668.0>-<456.0,667.0>> = 11.309932474020195

* glyph01700: B<<262.0,388.0>-<262.0,467.0>-<263.0,439.0>>/B<<263.0,439.0>-<263.0,448.0>-<264.0,450.0>> = 2.0454084888871935

* glyph01714: B<<262.0,449.0>-<262.0,515.0>-<263.0,487.0>>/B<<263.0,487.0>-<263.0,496.0>-<264.0,499.0>> = 2.0454084888871935

* 902 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* G (U+0047): L<<438.0,-15.0>--<439.0,233.0>>

* arrowdblright (U+21D2): L<<780.0,481.0>--<186.0,480.0>>

* dollar (U+0024): L<<241.0,727.0>--<240.0,449.0>>

* glyph00009: L<<918.0,599.0>--<113.0,598.0>>

* glyph00009: L<<92.0,567.0>--<940.0,566.0>>

* glyph00014: L<<1003.0,239.0>--<511.0,238.0>>

* glyph00014: L<<510.0,207.0>--<975.0,206.0>>

* glyph00015: L<<20.0,495.0>--<512.0,494.0>>

* glyph00016: L<<1003.0,239.0>--<507.0,238.0>>

* glyph00016: L<<506.0,127.0>--<901.0,126.0>>

* 12661 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 76371 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: tifinagh, canadian-aboriginal, yi
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 6.5Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/batangche

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/batang

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/batangche/BatangChe-Regular.ttf
Dehinted Size 5.7Mb
Hinted Size 6.5Mb
Increase 781.2kb
Change 13.3 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 5 17 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] Dotum-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/dotum 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

[28] Dotum-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: uni00AD    Contours detected: 1    Expected: 0

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

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

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

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

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

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

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

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

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

- 33 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN Check if OS/2 xAvgCharWidth is correct.
* ⚠️ **WARN**

OS/2 xAvgCharWidth is 512 but it should be 479 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font.

[code: xAvgCharWidth-wrong]
⚠️ WARN Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
* ⚠️ **WARN**

GPOS table lacks kerning information.

[code: lacks-kern-info]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 12 math glyphs. The following math glyphs have a different width, though:

Width = 596: plus

Width = 640: greater, less

Width = 598: equal

Width = 720: logicalnot

Width = 853: equivalence, approxequal, divide, plusminus, greaterequal, minus, lessequal, notequal, multiply

Width = 1006: orthogonal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* Phi (U+03A6): B<<609.0,219.0>-<544.0,157.0>-<425.0,149.0>>/L<<425.0,149.0>--<425.0,149.0>> = 3.846030090047334

* alpha (U+03B1): L<<544.0,514.0>--<544.0,514.0>>/L<<544.0,514.0>--<478.0,525.0>> = 9.462322208025613

* alphatonos (U+03AC): L<<544.0,514.0>--<544.0,514.0>>/L<<544.0,514.0>--<478.0,525.0>> = 9.462322208025613

* eth (U+00F0): B<<432.0,500.0>-<462.0,453.0>-<477.0,415.0>>/B<<477.0,415.0>-<460.0,442.0>-<420.0,461.0>> = 10.654758016174767

* fiveeighths (U+215D): B<<256.0,556.0>-<236.0,553.0>-<236.0,552.0>>/L<<236.0,552.0>--<239.0,622.0>> = 2.4540316745270325

* infinity (U+221E): B<<809.0,536.0>-<757.0,583.0>-<679.0,587.0>>/L<<679.0,587.0>--<679.0,587.0>> = 2.935673446421099

* musicalnotedbl (U+266B): L<<679.0,705.0>--<264.0,795.0>>/L<<264.0,795.0>--<264.0,795.0>> = 12.236111509416325

* ordfeminine (U+00AA): L<<375.0,464.0>--<375.0,464.0>>/L<<375.0,464.0>--<357.0,462.0>> = 6.340191745909908

* phi (U+03C6): B<<464.0,118.0>-<422.0,54.0>-<347.0,41.0>>/L<<347.0,41.0>--<347.0,41.0>> = 9.833563964207102

* quotedblleft (U+201C): L<<191.0,832.0>--<191.0,832.0>>/B<<191.0,832.0>-<157.0,825.0>-<139.0,814.0>> = 11.633633998940427

* 482 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* arrowboth (U+2194): L<<201.0,348.0>--<451.0,349.0>>

* glyph00009: L<<94.0,501.0>--<940.0,500.0>>

* glyph00016: L<<488.0,99.0>--<882.0,98.0>>

* glyph00016: L<<984.0,212.0>--<488.0,213.0>>

* glyph00017: L<<165.0,578.0>--<541.0,579.0>>

* glyph00017: L<<541.0,525.0>--<116.0,524.0>>

* glyph00017: L<<90.0,495.0>--<567.0,494.0>>

* glyph00018: L<<951.0,-57.0>--<950.0,225.0>>

* glyph00019: L<<78.0,489.0>--<950.0,488.0>>

* glyph00019: L<<79.0,783.0>--<78.0,489.0>>

* 570 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 85966 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: canadian-aboriginal, tifinagh, yi
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 4.4Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/dotum

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/gulim

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/dotum/Dotum-Regular.ttf
Dehinted Size 3.7Mb
Hinted Size 4.4Mb
Increase 676.9kb
Change 17.9 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 4 18 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] DotumChe-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/dotumche 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

[28] DotumChe-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: uni00AD    Contours detected: 1    Expected: 0

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

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

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

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

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

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

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

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

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

- 31 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Check family name for GF Guide compliance.
* 🔥 **FAIL**

"DotumChe" is a CamelCased name. To solve this, simply use spaces instead in the font name.

[code: camelcase]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN 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 457 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics] * ⚠️ **WARN**

Font is monospaced but 422 glyphs (1.86%) have a different width. You should check the widths of: ['uni007F', 'uni0000', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'uni00A0', 'cent', 'sterling', 'yen', 'brokenbar', 'copyright', 'guillemotleft', 'logicalnot', 'macron', 'mu', 'guillemotright', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'ydieresis', 'Amacron', 'amacron', 'Abreve', 'abreve', 'Aogonek', 'aogonek', 'Cacute', 'cacute', 'Ccircumflex', 'ccircumflex', 'Cdotaccent', 'cdotaccent', 'Ccaron', 'ccaron', 'Dcaron', 'dcaron', 'Dcroat', 'Emacron', 'emacron', 'Ebreve', 'ebreve', 'Edotaccent', 'edotaccent', 'Eogonek', 'eogonek', 'Ecaron', 'ecaron', 'Gcircumflex', 'gcircumflex', 'Gbreve', 'gbreve', 'Gdotaccent', 'gdotaccent', 'uni0122', 'uni0123', 'Hcircumflex', 'hcircumflex', 'Itilde', 'itilde', 'Imacron', 'imacron', 'Ibreve', 'ibreve', 'Iogonek', 'iogonek', 'Idotaccent', 'Jcircumflex', 'jcircumflex', 'uni0136', 'uni0137', 'Lacute', 'lacute', 'uni013B', 'uni013C', 'Lcaron', 'lcaron', 'Nacute', 'nacute', 'uni0145', 'uni0146', 'Ncaron', 'ncaron', 'Omacron', 'omacron', 'Obreve', 'obreve', 'Ohungarumlaut', 'ohungarumlaut', 'Racute', 'racute', 'uni0156', 'uni0157', 'Rcaron', 'rcaron', 'Sacute', 'sacute', 'Scircumflex', 'scircumflex', 'Scedilla', 'scedilla', 'Scaron', 'scaron', 'uni0162', 'uni0163', 'Tcaron', 'tcaron', 'Utilde', 'utilde', 'Umacron', 'umacron', 'Ubreve', 'ubreve', 'Uring', 'uring', 'Uhungarumlaut', 'uhungarumlaut', 'Uogonek', 'uogonek', 'Wcircumflex', 'wcircumflex', 'Ycircumflex', 'ycircumflex', 'Ydieresis', 'Zacute', 'zacute', 'Zdotaccent', 'zdotaccent', 'Zcaron', 'zcaron', 'longs', 'florin', 'Aringacute', 'aringacute', 'AEacute', 'aeacute', 'Oslashacute', 'oslashacute', 'circumflex', 'uni02C9', 'tilde', 'tonos', 'dieresistonos', 'Alphatonos', 'anoteleia', 'Epsilontonos', 'Etatonos', 'Iotatonos', 'Omicrontonos', 'Upsilontonos', 'Omegatonos', 'iotadieresistonos', 'Iotadieresis', 'Upsilondieresis', 'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos', 'upsilondieresistonos', 'sigma1', 'iotadieresis', 'upsilondieresis', 'omicrontonos', 'upsilontonos', 'omegatonos', 'uni0402', 'uni0403', 'uni0404', 'uni0405', 'uni0406', 'uni0407', 'uni0408', 'uni0409', 'uni040A', 'uni040B', 'uni040C', 'uni040E', 'uni040F', 'uni0452', 'uni0453', 'uni0454', 'uni0455', 'uni0456', 'uni0457', 'uni0458', 'uni0459', 'uni045A', 'uni045B', 'uni045C', 'uni045E', 'uni045F', 'uni0490', 'uni0491', 'Wgrave', 'wgrave', 'Wacute', 'wacute', 'Wdieresis', 'wdieresis', 'Ygrave', 'ygrave', 'endash', 'emdash', 'underscoredbl', 'quotesinglbase', 'quotereversed', 'quotedblbase', 'bullet', 'guilsinglleft', 'guilsinglright', 'exclamdbl', 'uni203E', 'fraction', 'franc', 'lira', 'peseta', 'uni2105', 'estimated', 'arrowupdnbse', 'Delta', 'minus', 'uni2219', 'orthogonal', 'approxequal', 'house', 'revlogicalnot', 'integraltp', 'integralbt', 'SF430000', 'SF240000', 'SF510000', 'SF520000', 'SF390000', 'SF220000', 'SF210000', 'SF250000', 'SF500000', 'SF490000', 'SF380000', 'SF280000', 'SF270000', 'SF260000', 'SF360000', 'SF370000', 'SF420000', 'SF190000', 'SF200000', 'SF230000', 'SF470000', 'SF480000', 'SF410000', 'SF450000', 'SF460000', 'SF400000', 'SF540000', 'SF530000', 'SF440000', 'upblock', 'dnblock', 'block', 'lfblock', 'rtblock', 'ltshade', 'dkshade', 'H18543', 'H18551', 'filledrect', 'triagrt', 'triaglf', 'lozenge', 'invbullet', 'invcircle', 'openbullet', 'smileface', 'invsmileface', 'sun', 'diamond', 'musicalnotedbl', 'uniFB01', 'uniFB02', 'uni037E', 'uni2215']

[code: mono-outliers]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 19 math glyphs. The following math glyphs have a different width, though:

Width = 512: plus, orthogonal, minus, less, approxequal, greater, equal, logicalnot

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* M (U+004D): L<<106.0,-1.0>--<106.0,579.0>>/L<<106.0,579.0>--<226.0,-1.0>> = 11.689369175439202

* M (U+004D): L<<284.0,-1.0>--<404.0,579.0>>/L<<404.0,579.0>--<404.0,-1.0>> = 11.689369175439202

* W (U+0057): L<<216.0,736.0>--<134.0,137.0>>/L<<134.0,137.0>--<77.0,736.0>> = 13.230861199846725

* W (U+0057): L<<438.0,736.0>--<378.0,137.0>>/L<<378.0,137.0>--<299.0,736.0>> = 13.233240774096526

* Wacute (U+1E82): L<<216.0,702.0>--<134.0,137.0>>/L<<134.0,137.0>--<77.0,702.0>> = 14.01862704120606

* Wacute (U+1E82): L<<438.0,702.0>--<378.0,137.0>>/L<<378.0,137.0>--<299.0,702.0>> = 14.021453035263715

* Wcircumflex (U+0174): L<<216.0,702.0>--<134.0,137.0>>/L<<134.0,137.0>--<77.0,702.0>> = 14.01862704120606

* Wcircumflex (U+0174): L<<438.0,702.0>--<378.0,137.0>>/L<<378.0,137.0>--<299.0,702.0>> = 14.021453035263715

* Wdieresis (U+1E84): L<<216.0,702.0>--<134.0,137.0>>/L<<134.0,137.0>--<77.0,702.0>> = 14.01862704120606

* Wdieresis (U+1E84): L<<438.0,702.0>--<378.0,137.0>>/L<<378.0,137.0>--<299.0,702.0>> = 14.021453035263715

* 483 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* glyph00009: L<<94.0,501.0>--<940.0,500.0>>

* glyph00016: L<<488.0,99.0>--<882.0,98.0>>

* glyph00016: L<<984.0,212.0>--<488.0,213.0>>

* glyph00017: L<<165.0,578.0>--<541.0,579.0>>

* glyph00017: L<<541.0,525.0>--<116.0,524.0>>

* glyph00017: L<<90.0,495.0>--<567.0,494.0>>

* glyph00018: L<<951.0,-57.0>--<950.0,225.0>>

* glyph00019: L<<78.0,489.0>--<950.0,488.0>>

* glyph00019: L<<79.0,783.0>--<78.0,489.0>>

* glyph00020: L<<686.0,277.0>--<687.0,454.0>>

* 569 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 85964 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 4.4Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/dotumche

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/gulim

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/dotumche/DotumChe-Regular.ttf
Dehinted Size 3.7Mb
Hinted Size 4.4Mb
Increase 673.0kb
Change 17.8 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 5 17 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] Gulim-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/gulim 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

[28] Gulim-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: uni00AD    Contours detected: 1    Expected: 0

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

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

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

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

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

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

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

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

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

- 33 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN Check if OS/2 xAvgCharWidth is correct.
* ⚠️ **WARN**

OS/2 xAvgCharWidth is 512 but it should be 483 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font.

[code: xAvgCharWidth-wrong]
⚠️ WARN Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
* ⚠️ **WARN**

GPOS table lacks kerning information.

[code: lacks-kern-info]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 12 math glyphs. The following math glyphs have a different width, though:

Width = 640: equal, plus, less, greater

Width = 720: logicalnot

Width = 853: equivalence, greaterequal, minus, plusminus, lessequal, multiply, notequal, approxequal, divide

Width = 1006: orthogonal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* Phi (U+03A6): B<<618.0,199.0>-<555.0,134.0>-<434.0,126.0>>/L<<434.0,126.0>--<434.0,126.0>> = 3.782645446596307

* musicalnotedbl (U+266B): L<<679.0,705.0>--<264.0,795.0>>/L<<264.0,795.0>--<264.0,795.0>> = 12.236111509416325

* phi (U+03C6): B<<464.0,127.0>-<422.0,63.0>-<347.0,50.0>>/L<<347.0,50.0>--<347.0,50.0>> = 9.833563964207102

* sigma (U+03C3): L<<322.0,544.0>--<309.0,543.0>>/L<<309.0,543.0>--<309.0,543.0>> = 4.398705354995508

* uni0411 (U+0411): B<<486.0,90.0>-<442.0,54.0>-<364.0,53.0>>/L<<364.0,53.0>--<364.0,53.0>> = 0.7345210342544469

* uni207F (U+207F): B<<172.0,663.0>-<142.0,644.0>-<141.0,626.0>>/L<<141.0,626.0>--<141.0,655.0>> = 3.1798301198641643

* uni261C (U+261C): B<<585.0,427.0>-<571.0,429.0>-<537.0,435.0>>/L<<537.0,435.0>--<537.0,435.0>> = 10.007979801441312

* uni261C (U+261C): L<<537.0,435.0>--<537.0,435.0>>/B<<537.0,435.0>-<525.0,436.0>-<510.0,428.0>> = 4.763641690726143

* uni3392 (U+3392): L<<110.0,151.0>--<110.0,600.0>>/L<<110.0,600.0>--<205.0,156.0>> = 12.077130318757831

* uni3392 (U+3392): L<<264.0,156.0>--<363.0,600.0>>/L<<363.0,600.0>--<363.0,151.0>> = 12.56979180767867

* 471 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* glyph00009: L<<94.0,501.0>--<940.0,500.0>>

* glyph00015: L<<535.0,575.0>--<91.0,574.0>>

* glyph00015: L<<62.0,543.0>--<535.0,542.0>>

* glyph00015: L<<63.0,815.0>--<62.0,543.0>>

* glyph00016: L<<488.0,99.0>--<882.0,98.0>>

* glyph00016: L<<984.0,212.0>--<488.0,213.0>>

* glyph00018: L<<951.0,-57.0>--<950.0,225.0>>

* glyph00019: L<<78.0,489.0>--<950.0,488.0>>

* glyph00019: L<<79.0,783.0>--<78.0,489.0>>

* glyph00020: L<<686.0,277.0>--<687.0,454.0>>

* 640 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 85090 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: canadian-aboriginal, yi, tifinagh
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 4.5Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/gulim

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/gulim

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/gulim/Gulim-Regular.ttf
Dehinted Size 3.8Mb
Hinted Size 4.5Mb
Increase 691.5kb
Change 17.7 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 4 18 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] GulimChe-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/gulimche 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

[28] GulimChe-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: uni00AD    Contours detected: 1    Expected: 0

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

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

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

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

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

- Glyph name: uni0403   Contours detected: 4    Expected: 2

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

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

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

- 33 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Check family name for GF Guide compliance.
* 🔥 **FAIL**

"GulimChe" is a CamelCased name. To solve this, simply use spaces instead in the font name.

[code: camelcase]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN 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 457 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics] * ⚠️ **WARN**

Font is monospaced but 422 glyphs (1.87%) have a different width. You should check the widths of: ['uni007F', 'uni0000', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'uni00A0', 'cent', 'sterling', 'yen', 'brokenbar', 'copyright', 'guillemotleft', 'logicalnot', 'macron', 'mu', 'guillemotright', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'ydieresis', 'Amacron', 'amacron', 'Abreve', 'abreve', 'Aogonek', 'aogonek', 'Cacute', 'cacute', 'Ccircumflex', 'ccircumflex', 'Cdotaccent', 'cdotaccent', 'Ccaron', 'ccaron', 'Dcaron', 'dcaron', 'Dcroat', 'Emacron', 'emacron', 'Ebreve', 'ebreve', 'Edotaccent', 'edotaccent', 'Eogonek', 'eogonek', 'Ecaron', 'ecaron', 'Gcircumflex', 'gcircumflex', 'Gbreve', 'gbreve', 'Gdotaccent', 'gdotaccent', 'uni0122', 'uni0123', 'Hcircumflex', 'hcircumflex', 'Itilde', 'itilde', 'Imacron', 'imacron', 'Ibreve', 'ibreve', 'Iogonek', 'iogonek', 'Idotaccent', 'Jcircumflex', 'jcircumflex', 'uni0136', 'uni0137', 'Lacute', 'lacute', 'uni013B', 'uni013C', 'Lcaron', 'lcaron', 'Nacute', 'nacute', 'uni0145', 'uni0146', 'Ncaron', 'ncaron', 'Omacron', 'omacron', 'Obreve', 'obreve', 'Ohungarumlaut', 'ohungarumlaut', 'Racute', 'racute', 'uni0156', 'uni0157', 'Rcaron', 'rcaron', 'Sacute', 'sacute', 'Scircumflex', 'scircumflex', 'Scedilla', 'scedilla', 'Scaron', 'scaron', 'uni0162', 'uni0163', 'Tcaron', 'tcaron', 'Utilde', 'utilde', 'Umacron', 'umacron', 'Ubreve', 'ubreve', 'Uring', 'uring', 'Uhungarumlaut', 'uhungarumlaut', 'Uogonek', 'uogonek', 'Wcircumflex', 'wcircumflex', 'Ycircumflex', 'ycircumflex', 'Ydieresis', 'Zacute', 'zacute', 'Zdotaccent', 'zdotaccent', 'Zcaron', 'zcaron', 'longs', 'florin', 'Aringacute', 'aringacute', 'AEacute', 'aeacute', 'Oslashacute', 'oslashacute', 'circumflex', 'uni02C9', 'tilde', 'tonos', 'dieresistonos', 'Alphatonos', 'anoteleia', 'Epsilontonos', 'Etatonos', 'Iotatonos', 'Omicrontonos', 'Upsilontonos', 'Omegatonos', 'iotadieresistonos', 'Iotadieresis', 'Upsilondieresis', 'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos', 'upsilondieresistonos', 'sigma1', 'iotadieresis', 'upsilondieresis', 'omicrontonos', 'upsilontonos', 'omegatonos', 'uni0402', 'uni0403', 'uni0404', 'uni0405', 'uni0406', 'uni0407', 'uni0408', 'uni0409', 'uni040A', 'uni040B', 'uni040C', 'uni040E', 'uni040F', 'uni0452', 'uni0453', 'uni0454', 'uni0455', 'uni0456', 'uni0457', 'uni0458', 'uni0459', 'uni045A', 'uni045B', 'uni045C', 'uni045E', 'uni045F', 'uni0490', 'uni0491', 'Wgrave', 'wgrave', 'Wacute', 'wacute', 'Wdieresis', 'wdieresis', 'Ygrave', 'ygrave', 'endash', 'emdash', 'underscoredbl', 'quotesinglbase', 'quotereversed', 'quotedblbase', 'bullet', 'guilsinglleft', 'guilsinglright', 'exclamdbl', 'uni203E', 'fraction', 'franc', 'lira', 'peseta', 'uni2105', 'estimated', 'arrowupdnbse', 'Delta', 'minus', 'uni2219', 'orthogonal', 'approxequal', 'house', 'revlogicalnot', 'integraltp', 'integralbt', 'SF430000', 'SF240000', 'SF510000', 'SF520000', 'SF390000', 'SF220000', 'SF210000', 'SF250000', 'SF500000', 'SF490000', 'SF380000', 'SF280000', 'SF270000', 'SF260000', 'SF360000', 'SF370000', 'SF420000', 'SF190000', 'SF200000', 'SF230000', 'SF470000', 'SF480000', 'SF410000', 'SF450000', 'SF460000', 'SF400000', 'SF540000', 'SF530000', 'SF440000', 'upblock', 'dnblock', 'block', 'lfblock', 'rtblock', 'ltshade', 'dkshade', 'H18543', 'H18551', 'filledrect', 'triagrt', 'triaglf', 'lozenge', 'invbullet', 'invcircle', 'openbullet', 'smileface', 'invsmileface', 'sun', 'diamond', 'musicalnotedbl', 'uniFB01', 'uniFB02', 'uni037E', 'uni2215']

[code: mono-outliers]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 19 math glyphs. The following math glyphs have a different width, though:

Width = 512: less, orthogonal, plus, greater, logicalnot, approxequal, equal, minus

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* M (U+004D): L<<300.0,19.0>--<414.0,626.0>>/L<<414.0,626.0>--<414.0,13.0>> = 10.63675168887027

* M (U+004D): L<<97.0,13.0>--<97.0,626.0>>/L<<97.0,626.0>--<212.0,19.0>> = 10.727900132035208

* Phi (U+03A6): B<<728.0,198.0>-<665.0,133.0>-<544.0,125.0>>/L<<544.0,125.0>--<544.0,125.0>> = 3.782645446596307

* W (U+0057): L<<445.0,721.0>--<384.0,131.0>>/L<<384.0,131.0>--<297.0,719.0>> = 14.319202266204877

* backslash (U+20A9): L<<177.0,436.0>--<135.0,131.0>>/L<<135.0,131.0>--<106.0,436.0>> = 13.272066103778132

* backslash (U+20A9): L<<406.0,436.0>--<378.0,131.0>>/L<<378.0,131.0>--<336.0,436.0>> = 13.085837311163644

* uni261C (U+261C): B<<585.0,427.0>-<571.0,429.0>-<537.0,435.0>>/L<<537.0,435.0>--<537.0,435.0>> = 10.007979801441312

* uni261C (U+261C): L<<537.0,435.0>--<537.0,435.0>>/B<<537.0,435.0>-<525.0,436.0>-<510.0,428.0>> = 4.763641690726143

* uni3392 (U+3392): L<<110.0,151.0>--<110.0,600.0>>/L<<110.0,600.0>--<205.0,156.0>> = 12.077130318757831

* uni3392 (U+3392): L<<264.0,156.0>--<363.0,600.0>>/L<<363.0,600.0>--<363.0,151.0>> = 12.56979180767867

* 471 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* glyph00009: L<<94.0,501.0>--<940.0,500.0>>

* glyph00015: L<<535.0,575.0>--<91.0,574.0>>

* glyph00015: L<<62.0,543.0>--<535.0,542.0>>

* glyph00015: L<<63.0,815.0>--<62.0,543.0>>

* glyph00016: L<<488.0,99.0>--<882.0,98.0>>

* glyph00016: L<<984.0,212.0>--<488.0,213.0>>

* glyph00018: L<<951.0,-57.0>--<950.0,225.0>>

* glyph00019: L<<78.0,489.0>--<950.0,488.0>>

* glyph00019: L<<79.0,783.0>--<78.0,489.0>>

* glyph00020: L<<686.0,277.0>--<687.0,454.0>>

* 641 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 85093 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 4.5Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/gulimche

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/gulim

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/gulimche/GulimChe-Regular.ttf
Dehinted Size 3.8Mb
Hinted Size 4.5Mb
Increase 686.5kb
Change 17.5 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 5 17 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] Gungsuh-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/gungsuh 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

[28] Gungsuh-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: Q  Contours detected: 3    Expected: 2

- Glyph name: uni00AD   Contours detected: 1    Expected: 0

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

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

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

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

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

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

- Glyph name: notequal  Contours detected: 3    Expected: 1

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

- 34 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN Check if OS/2 xAvgCharWidth is correct.
* ⚠️ **WARN**

OS/2 xAvgCharWidth is 512 but it should be 575 which corresponds to the weighted average of the widths of the latin lowercase glyphs in the font.

[code: xAvgCharWidth-wrong]
⚠️ WARN Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
* ⚠️ **WARN**

GPOS table lacks kerning information.

[code: lacks-kern-info]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 13 math glyphs. The following math glyphs have a different width, though:

Width = 640: plus, equal

Width = 725: less, greater

Width = 704: logicalnot

Width = 853: minus, equivalence, lessequal, plusminus, greaterequal, notequal, multiply, divide

Width = 768: approxequal

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* Aacute (U+00C1): B<<242.0,709.0>-<208.0,709.0>-<178.0,711.0>>/L<<178.0,711.0>--<178.0,711.0>> = 3.8140748342903783

* Aacute (U+00C1): L<<178.0,711.0>--<178.0,711.0>>/B<<178.0,711.0>-<164.0,713.0>-<156.0,699.0>> = 8.13010235415596

* Acircumflex (U+00C2): B<<242.0,709.0>-<208.0,709.0>-<178.0,711.0>>/L<<178.0,711.0>--<178.0,711.0>> = 3.8140748342903783

* Acircumflex (U+00C2): L<<178.0,711.0>--<178.0,711.0>>/B<<178.0,711.0>-<164.0,713.0>-<156.0,699.0>> = 8.13010235415596

* Adieresis (U+00C4): B<<242.0,709.0>-<208.0,709.0>-<178.0,711.0>>/L<<178.0,711.0>--<178.0,711.0>> = 3.8140748342903783

* Adieresis (U+00C4): L<<178.0,711.0>--<178.0,711.0>>/B<<178.0,711.0>-<164.0,713.0>-<156.0,699.0>> = 8.13010235415596

* Agrave (U+00C0): B<<242.0,709.0>-<208.0,709.0>-<178.0,711.0>>/L<<178.0,711.0>--<178.0,711.0>> = 3.8140748342903783

* Agrave (U+00C0): L<<178.0,625.0>--<217.0,626.0>>/B<<217.0,626.0>-<152.0,624.0>-<251.0,627.0>> = 0.29359030927338153

* Agrave (U+00C0): L<<178.0,711.0>--<178.0,711.0>>/B<<178.0,711.0>-<164.0,713.0>-<156.0,699.0>> = 8.13010235415596

* Aring (U+00C5): B<<227.0,709.0>-<201.0,709.0>-<178.0,711.0>>/L<<178.0,711.0>--<178.0,711.0>> = 4.969740728110289

* 1314 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* arrowdblboth (U+21D4): L<<776.0,481.0>--<241.0,480.0>>

* glyph00009: L<<92.0,501.0>--<940.0,500.0>>

* glyph00015: L<<535.0,575.0>--<91.0,574.0>>

* glyph00015: L<<62.0,543.0>--<535.0,542.0>>

* glyph00015: L<<63.0,815.0>--<62.0,543.0>>

* glyph00016: L<<488.0,99.0>--<882.0,98.0>>

* glyph00016: L<<984.0,212.0>--<488.0,213.0>>

* glyph00018: L<<951.0,-57.0>--<950.0,225.0>>

* glyph00019: L<<78.0,489.0>--<950.0,488.0>>

* glyph00019: L<<79.0,783.0>--<78.0,489.0>>

* 9465 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 76813 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: yi, canadian-aboriginal, tifinagh
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 6.3Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/gungsuh

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/batang

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/gungsuh/Gungsuh-Regular.ttf
Dehinted Size 5.6Mb
Hinted Size 6.3Mb
Increase 656.5kb
Change 11.4 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 4 18 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 4 days 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] GungsuhChe-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/gungsuhche 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

[28] GungsuhChe-Regular.ttf
🔥 FAIL Check if each glyph has the recommended amount of contours.
* 🔥 **FAIL**

The following glyphs have no contours even though they were expected to have some:

- Glyph name: uniFFFC    Expected: 22

- Glyph name: uniFFFC   Expected: 22
[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 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: Q  Contours detected: 3    Expected: 2

- Glyph name: uni00AD   Contours detected: 1    Expected: 0

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

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

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

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

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

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

- Glyph name: notequal  Contours detected: 3    Expected: 1

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

- 34 more.

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

[code: contour-count]
🔥 FAIL Font contains '.notdef' as its first glyph?
* 🔥 **FAIL**

The '.notdef' glyph should contain a drawing, but it is blank.

[code: notdef-is-blank]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
ru_Cyrl (Russian) Some mark glyphs were missing: ◌́, ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
uk_Cyrl (Ukrainian) Some base glyphs were missing: ʼ
^ Some mark glyphs were missing: ◌́, ◌̆, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
sr_Cyrl (Serbian) Some mark glyphs were missing: ◌́
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
be_Cyrl (Belarusian) Some mark glyphs were missing: ◌̆, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Cyrillic_Core glyphset:

Language FAIL messages
bg_Cyrl (Bulgarian) Some mark glyphs were missing: ◌̀, ◌̆
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Greek_Core glyphset:

Language FAIL messages
el_Grek (Greek) Some mark glyphs were missing: ◌́, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ca_Latn (Catalan) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cs_Latn (Czech) Some mark glyphs were missing: ◌́, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
cy_Latn (Welsh) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
da_Latn (Danish) Some mark glyphs were missing: ◌́, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
de_Latn (German) Some base glyphs were missing: ẞ
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
en_Latn (English) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
es_Latn (Spanish) Some mark glyphs were missing: ◌́, ◌̃, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fi_Latn (Finnish) Some mark glyphs were missing: ◌̃, ◌̈, ◌̊, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
fr_Latn (French) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hr_Latn (Croatian) Some mark glyphs were missing: ◌́, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
hu_Latn (Hungarian) Some mark glyphs were missing: ◌́, ◌̈, ◌̋
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
is_Latn (Icelandic) Some mark glyphs were missing: ◌́, ◌̈, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
it_Latn (Italian) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lt_Latn (Lithuanian) Some mark glyphs were missing: ◌̄, ◌̇, ◌̌, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
lv_Latn (Latvian) Some mark glyphs were missing: ◌̄, ◌̌, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
mt_Latn (Maltese) Some mark glyphs were missing: ◌̀, ◌̂, ◌̇
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nb_Latn (Norwegian Bokmål) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Some base glyphs were missing: ÍJ́, íj́
^ Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̈
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pl_Latn (Polish) Some mark glyphs were missing: ◌́, ◌̇, ◌̨
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
pt_Latn (Portuguese) Some mark glyphs were missing: ◌̀, ◌́, ◌̂, ◌̃, ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
ro_Latn (Romanian) Some base glyphs were missing: Ș, ș, Ț, ț
^ Some mark glyphs were missing: ◌̂, ◌̆, ◌̦, ◌̧
^ Shaper produced a .notdef
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sk_Latn (Slovak) Some mark glyphs were missing: ◌́, ◌̂, ◌̈, ◌̌
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sq_Latn (Albanian) Some mark glyphs were missing: ◌̈, ◌̧
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
sv_Latn (Swedish) Some mark glyphs were missing: ◌̀, ◌́, ◌̈, ◌̊
[code: failed-language-shaping] * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
tr_Latn (Turkish) Some mark glyphs were missing: ◌̂, ◌̆, ◌̇, ◌̈, ◌̦, ◌̧
[code: failed-language-shaping] * ⚠️ **WARN**

GF_Cyrillic_Core glyphset:

Language WARN messages
uk_Cyrl (Ukrainian) Some auxiliary glyphs were missing: ʼ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
de_Latn (German) Some auxiliary glyphs were missing: ẞ
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
nl_Latn (Dutch) Some auxiliary glyphs were missing: ÍJ́, íj́
[code: warning-language-shaping] * ⚠️ **WARN**

GF_Latin_Core glyphset:

Language WARN messages
ro_Latn (Romanian) Some auxiliary glyphs were missing: Ș, ș, Ț, ț
[code: warning-language-shaping]
🔥 FAIL Check family name for GF Guide compliance.
* 🔥 **FAIL**

"GungsuhChe" is a CamelCased name. To solve this, simply use spaces instead in the font name.

[code: camelcase]
🔥 FAIL Font enables smart dropout control in "prep" table instructions?
* 🔥 **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]
⚠️ WARN Font has correct post table version?
* ⚠️ **WARN**

Post table format 3 use has niche use case problems.Please review the check rationale for additional details.

[code: post-table-version]
⚠️ WARN 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 457 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.

[code: bad-numberOfHMetrics] * ⚠️ **WARN**

Font is monospaced but 422 glyphs (1.93%) have a different width. You should check the widths of: ['uni007F', 'uni0000', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'uni00A0', 'cent', 'sterling', 'yen', 'brokenbar', 'copyright', 'guillemotleft', 'logicalnot', 'macron', 'mu', 'guillemotright', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'ydieresis', 'Amacron', 'amacron', 'Abreve', 'abreve', 'Aogonek', 'aogonek', 'Cacute', 'cacute', 'Ccircumflex', 'ccircumflex', 'Cdotaccent', 'cdotaccent', 'Ccaron', 'ccaron', 'Dcaron', 'dcaron', 'Dcroat', 'Emacron', 'emacron', 'Ebreve', 'ebreve', 'Edotaccent', 'edotaccent', 'Eogonek', 'eogonek', 'Ecaron', 'ecaron', 'Gcircumflex', 'gcircumflex', 'Gbreve', 'gbreve', 'Gdotaccent', 'gdotaccent', 'uni0122', 'uni0123', 'Hcircumflex', 'hcircumflex', 'Itilde', 'itilde', 'Imacron', 'imacron', 'Ibreve', 'ibreve', 'Iogonek', 'iogonek', 'Idotaccent', 'Jcircumflex', 'jcircumflex', 'uni0136', 'uni0137', 'Lacute', 'lacute', 'uni013B', 'uni013C', 'Lcaron', 'lcaron', 'Nacute', 'nacute', 'uni0145', 'uni0146', 'Ncaron', 'ncaron', 'Omacron', 'omacron', 'Obreve', 'obreve', 'Ohungarumlaut', 'ohungarumlaut', 'Racute', 'racute', 'uni0156', 'uni0157', 'Rcaron', 'rcaron', 'Sacute', 'sacute', 'Scircumflex', 'scircumflex', 'Scedilla', 'scedilla', 'Scaron', 'scaron', 'uni0162', 'uni0163', 'Tcaron', 'tcaron', 'Utilde', 'utilde', 'Umacron', 'umacron', 'Ubreve', 'ubreve', 'Uring', 'uring', 'Uhungarumlaut', 'uhungarumlaut', 'Uogonek', 'uogonek', 'Wcircumflex', 'wcircumflex', 'Ycircumflex', 'ycircumflex', 'Ydieresis', 'Zacute', 'zacute', 'Zdotaccent', 'zdotaccent', 'Zcaron', 'zcaron', 'longs', 'florin', 'Aringacute', 'aringacute', 'AEacute', 'aeacute', 'Oslashacute', 'oslashacute', 'circumflex', 'uni02C9', 'tilde', 'tonos', 'dieresistonos', 'Alphatonos', 'anoteleia', 'Epsilontonos', 'Etatonos', 'Iotatonos', 'Omicrontonos', 'Upsilontonos', 'Omegatonos', 'iotadieresistonos', 'Iotadieresis', 'Upsilondieresis', 'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos', 'upsilondieresistonos', 'sigma1', 'iotadieresis', 'upsilondieresis', 'omicrontonos', 'upsilontonos', 'omegatonos', 'uni0402', 'uni0403', 'uni0404', 'uni0405', 'uni0406', 'uni0407', 'uni0408', 'uni0409', 'uni040A', 'uni040B', 'uni040C', 'uni040E', 'uni040F', 'uni0452', 'uni0453', 'uni0454', 'uni0455', 'uni0456', 'uni0457', 'uni0458', 'uni0459', 'uni045A', 'uni045B', 'uni045C', 'uni045E', 'uni045F', 'uni0490', 'uni0491', 'Wgrave', 'wgrave', 'Wacute', 'wacute', 'Wdieresis', 'wdieresis', 'Ygrave', 'ygrave', 'endash', 'emdash', 'underscoredbl', 'quotesinglbase', 'quotereversed', 'quotedblbase', 'bullet', 'guilsinglleft', 'guilsinglright', 'exclamdbl', 'uni203E', 'fraction', 'franc', 'lira', 'peseta', 'uni2105', 'estimated', 'arrowupdnbse', 'Delta', 'minus', 'uni2219', 'orthogonal', 'approxequal', 'house', 'revlogicalnot', 'integraltp', 'integralbt', 'SF430000', 'SF240000', 'SF510000', 'SF520000', 'SF390000', 'SF220000', 'SF210000', 'SF250000', 'SF500000', 'SF490000', 'SF380000', 'SF280000', 'SF270000', 'SF260000', 'SF360000', 'SF370000', 'SF420000', 'SF190000', 'SF200000', 'SF230000', 'SF470000', 'SF480000', 'SF410000', 'SF450000', 'SF460000', 'SF400000', 'SF540000', 'SF530000', 'SF440000', 'upblock', 'dnblock', 'block', 'lfblock', 'rtblock', 'ltshade', 'dkshade', 'H18543', 'H18551', 'filledrect', 'triagrt', 'triaglf', 'lozenge', 'invbullet', 'invcircle', 'openbullet', 'smileface', 'invsmileface', 'sun', 'diamond', 'musicalnotedbl', 'uniFB01', 'uniFB02', 'uni037E', 'uni2215']

[code: mono-outliers]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **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**

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 the font contain chws and vchw features?
* ⚠️ **WARN**

chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-chws-feature] * ⚠️ **WARN**

vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it.

[code: missing-vchw-feature]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 1024 among a set of 19 math glyphs. The following math glyphs have a different width, though:

Width = 512: less, equal, minus, orthogonal, greater, plus, approxequal, logicalnot

[code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen?
* ⚠️ **WARN**

This font has a 'Soft Hyphen' character.

[code: softhyphen]
⚠️ WARN Are there any misaligned on-curve points?
* ⚠️ **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 Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* Abreve (U+0102): B<<159.0,709.0>-<134.0,709.0>-<112.0,711.0>>/L<<112.0,711.0>--<112.0,711.0>> = 5.1944289077348

* Abreve (U+0102): L<<112.0,711.0>--<112.0,711.0>>/B<<112.0,711.0>-<98.0,713.0>-<90.0,699.0>> = 8.13010235415596

* Amacron (U+0100): B<<162.0,709.0>-<134.0,709.0>-<112.0,711.0>>/L<<112.0,711.0>--<112.0,711.0>> = 5.1944289077348

* Amacron (U+0100): L<<112.0,711.0>--<112.0,711.0>>/B<<112.0,711.0>-<98.0,713.0>-<90.0,699.0>> = 8.13010235415596

* Lambda (U+039B): B<<374.0,626.0>-<418.0,627.0>-<404.0,627.0>>/L<<404.0,627.0>--<421.0,626.0>> = 3.3664606634298315

* M (U+004D): L<<148.0,105.0>--<148.0,506.0>>/L<<148.0,506.0>--<209.0,165.0>> = 10.142116832828803

* M (U+004D): L<<303.0,165.0>--<363.0,506.0>>/L<<363.0,506.0>--<363.0,105.0>> = 9.979221674604293

* Q (U+0051): B<<233.0,-18.0>-<250.0,-18.0>-<254.0,-17.0>>/B<<254.0,-17.0>-<249.0,-18.0>-<279.0,-14.0>> = 2.726310993906212

* four (U+0034): B<<257.0,84.0>-<238.0,84.0>-<195.0,85.0>>/L<<195.0,85.0>--<195.0,85.0>> = 1.3322198538696923

* glyph01447: B<<611.0,475.0>-<524.0,357.0>-<508.0,352.0>>/L<<508.0,352.0>--<543.0,356.0>> = 10.834222884604358

* 1306 more.

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

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* Eacute (U+00C9): L<<75.0,591.0>--<76.0,129.0>>

* Ebreve (U+0114): L<<75.0,591.0>--<76.0,129.0>>

* Ecaron (U+011A): L<<75.0,591.0>--<76.0,129.0>>

* Ecircumflex (U+00CA): L<<75.0,591.0>--<76.0,129.0>>

* Edieresis (U+00CB): L<<75.0,591.0>--<76.0,129.0>>

* Edotaccent (U+0116): L<<75.0,591.0>--<76.0,129.0>>

* Egrave (U+00C8): L<<75.0,591.0>--<76.0,129.0>>

* Emacron (U+0112): L<<75.0,591.0>--<76.0,129.0>>

* Eogonek (U+0118): L<<75.0,591.0>--<76.0,129.0>>

* arrowdblboth (U+21D4): L<<776.0,481.0>--<241.0,480.0>>

* 9475 more.

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

[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
* ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* A (U+0041) has a counter-clockwise outer contour

* AE (U+00C6) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* AEacute (U+01FC) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Aacute (U+00C1) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Abreve (U+0102) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* Acircumflex (U+00C2) has a counter-clockwise outer contour

* 76841 more.

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

[code: ccw-outer-contour]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
* ⚠️ **WARN**

It seems that HanYang I&C Co. 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+007F : try adding symbols
  • U+02C7 CARON: try adding one of: yi, tifinagh, canadian-aboriginal
  • U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
  • U+02D0 MODIFIER LETTER TRIANGULAR COLON: not included in any glyphset definition
  • 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+1100 HANGUL CHOSEONG KIYEOK: not included in any glyphset definition
  • U+1101 HANGUL CHOSEONG SSANGKIYEOK: not included in any glyphset definition 8711 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, greek, korean, latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure files are not too large.
* ⚠️ **WARN**

Font file is 6.3Mb; ideally it should be less than 1.0Mb

[code: large-font]
⚠️ WARN 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 <= 10: flag = 0x02 - Use grayscale rendering PPM <= 25: flag = 0x01 - Use grid-fitting PPM <= 65535: flag = 0x03 - Use grid-fitting - Use grayscale rendering

[code: ranges] * ⚠️ **WARN**

The gasp table has a range of 10 that may be unneccessary.

[code: non-ffff-range] * ⚠️ **WARN**

The gasp table has a range of 25 that may be unneccessary.

[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.
* ⚠️ **WARN**

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

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

ofl/gungsuhche

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

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GSUB

- gasp

- vhea

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

Found a git repo URL: https://github.com/googlefonts/batang

[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 Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/gungsuhche/GungsuhChe-Regular.ttf
Dehinted Size 5.6Mb
Hinted Size 6.3Mb
Increase 653.7kb
Change 11.3 %
[code: size-impact]
ℹ️ INFO Font has old ttfautohint applied?
* ℹ️ **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.21']

[code: version-not-detected]
[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 5 17 72 9 145 0
0% 0% 2% 7% 29% 4% 58% 0%

Note: The following loglevels were omitted in this report: