google / fonts

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

Add Asimovian #7608

Open carolinashort opened 7 months ago

carolinashort commented 7 months ago

Font Project Git Repo URL: https://github.com/carolinashort/asimovian

Super short description of the Font Family: Asimovian is inspired by a geometric logotype; letters seamlessly connect through square or circular features and blend sharp edges with rounded shapes, reminiscent of Art Deco typefaces infused with a futuristic essence, echoing the narrative allure of Asimov's Foundation series.

Requirements: Google Fonts will publish only fonts that match its requirements. Please familiarize yourself with the complete documentation in the Google Fonts Guide (GF-Guide) and ensure your font project complies with them before submitting the font family. You can also use the Google Fonts Project Template, which will help you create a repository that follows the needed structure and includes build requirements.

By filling this issue, you can confirm the project meets the requirements (by ticking the cases or putting x between the square brackets in text mode):

Image: Asimovian Sample

vv-monsalve commented 2 weeks ago

Thank you for your submission, @carolinashort. We will look at the next intake revision and let you know.

For the time being, this is the FB report

FontBakery report

fontbakery version: 0.12.10

Check results

[19] asimovian-Regular.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
> > This check uses a heuristic to determine which GF glyphsets a font supports. > Then it checks the font for correct shaping behaviour for all languages in > those glyphsets. > > Original proposal: https://github.com/googlefonts/fontbakery/issues/4147 * 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to j
[code: failed-language-shaping]
🔥 FAIL Check family name for GF Guide compliance.
> > Checks the family name for compliance with the Google Fonts Guide. > https://googlefonts.github.io/gf-guide/onboarding.html#new-fonts > > If you want to have your family name added to the CamelCase > exceptions list, please submit a pull request to the > camelcased_familyname_exceptions.txt file. > > Similarly, abbreviations can be submitted to the > abbreviations_familyname_exceptions.txt file. > > These are located in the Lib/fontbakery/data/googlefonts/ directory > of the FontBakery source code currently hosted at > https://github.com/fonttools/fontbakery/ > > Original proposal: https://github.com/fonttools/fontbakery/issues/4049 * 🔥 **FAIL**

"asimovian" doesn't start with an uppercase letter.

[code: starts-with-not-uppercase]
🔥 FAIL Ensure dotted circle glyph is present and can attach marks.
> > The dotted circle character (U+25CC) is inserted by shaping engines before > mark glyphs which do not have an associated base, especially in the context > of broken syllabic clusters. > > For fonts containing combining marks, it is recommended that the dotted circle > character be included so that these isolated marks can be displayed properly; > for fonts supporting complex scripts, this should be considered mandatory. > > Additionally, when a dotted circle glyph is present, it should be able to > display all marks correctly, meaning that it should contain anchors for all > attaching marks. > > A fontmake filter can be used to automatically add a dotted_circle to a font: > > fontmake --filter 'DottedCircleFilter(pre=True)' --filter '...' > > Original proposal: https://github.com/fonttools/fontbakery/issues/3600 * 🔥 **FAIL**

The following glyphs could not be attached to the dotted circle glyph:

- acutecomb

- dotbelowcomb

- gravecomb

- hookabovecomb

- tildecomb

- uni0302

- uni0304

- uni0306

- uni0307

- uni0308

- uni030A

- uni030B

- uni030C

- uni0310

- uni0312

- uni031B

- uni0324

- uni0325

- uni0326

- uni0327

- uni0328

- uni032E

- uni0331

- uni035F
[code: unattached-dotted-circle-marks]
🔥 FAIL Check font names are correct
> > Google Fonts has several rules which need to be adhered to when > setting a font's name table. Please read: > https://googlefonts.github.io/gf-guide/statics.html#supported-styles > https://googlefonts.github.io/gf-guide/statics.html#style-linking > https://googlefonts.github.io/gf-guide/statics.html#unsupported-styles > https://googlefonts.github.io/gf-guide/statics.html#single-weight-families > > Original proposal: https://github.com/fonttools/fontbakery/pull/3800 * 🔥 **FAIL**

Font names are incorrect:

nameID current expected
Family Name asimovian asimovian
Subfamily Name Regular Regular
Full Name asimovian Regular asimovian Regular
Postscript Name asimovian-Regular asimovian-Regular
Typographic Family Name asimovian N/A
Typographic Subfamily Name Regular N/A
[code: bad-names]
🔥 FAIL Check glyphs do not have components which are themselves components.
> > There have been bugs rendering variable fonts with nested components. > Additionally, some static fonts with nested components have been reported > to have rendering and printing issues. > > For more info, see: > * https://github.com/fonttools/fontbakery/issues/2961 > * https://github.com/arrowtype/recursive/issues/412 > > Original proposal: https://github.com/fonttools/fontbakery/issues/2961 * 🔥 **FAIL**

The following glyphs have components which themselves are component glyphs: * Agrave * Aacute * Atilde * Adieresis * Aring * Egrave * Eacute * Edieresis * Igrave * Iacute * Idieresis * Ntilde * Ograve * Oacute * Otilde * Odieresis * Ugrave * Uacute * Udieresis * Yacute * agrave * aacute * atilde * adieresis * aring * egrave * eacute * edieresis * igrave * iacute * idieresis * ntilde * ograve * oacute * otilde * odieresis * ugrave * uacute * udieresis * yacute * ydieresis * Amacron * Emacron * Omacron * Umacron * amacron * emacron * omacron * umacron * uni1EB6 * uni1EB2 * uni01CD * uni1EAC * uni01DE * uni01DE * uni1EA0 * uni01E2 * Cacute * Ccaron * Cdotaccent * Dcaron * uni1E0C * uni1E0E * Ecaron * uni1EC6 * Edotaccent * uni1EB8 * uni1EBC * Gcaron * uni0122 * Gdotaccent * uni1E20 * uni1E2A * uni1E24 * uni01CF * Idotaccent * uni1ECA * Itilde * uni004A0301 * uni0136 * uni1E34 * Lacute * uni013B * uni1E36 * uni1E38 * uni1E38 * uni1E3A * uni1E40 * uni1E42 * Nacute * Ncaron * uni0145 * uni1E44 * uni1E46 * uni1E48 * uni01D1 * uni1ED8 * uni1ECC * uni1EDA * uni1EE2 * uni1EDC * uni1EE0 * Racute * Rcaron * uni0156 * uni1E5C * uni1E5C * uni1E5E * Sacute * Scaron * uni0218 * uni1E62 * Tcaron * uni021A * uni1E6C * uni1E6E * uni01D3 * uni01D7 * uni01D7 * uni01D9 * uni01D9 * uni01DB * uni01DB * uni01D5 * uni01D5 * uni1EE4 * uni1EE8 * uni1EF0 * uni1EEA * uni1EEE * Uring * Utilde * Wacute * Wdieresis * Wgrave * Ydieresis * uni1E8E * uni1EF4 * Ygrave * uni0232 * uni1EF8 * Zacute * Zcaron * Zdotaccent * uni1E92 * uni1E94 * uni1EB7 * uni1EB3 * uni01CE * uni1EAD * uni01DF * uni01DF * uni1EA1 * uni01E3 * cacute * ccaron * cdotaccent * uni1E0D * uni1E0F * ecaron * uni1EC7 * edotaccent * uni1EB9 * uni1EBD * gcaron * gdotaccent * uni1E21 * uni1E2B * uni1E25 * uni1E96 * uni01D0 * i.loclTRK * uni1ECB * itilde * uni006A0301 * uni0137 * uni1E35 * lacute * uni013C * uni1E37 * uni1E39 * uni1E39 * uni1E3B * uni1E41 * uni1E43 * nacute * ncaron * uni0146 * uni1E45 * uni1E47 * uni1E49 * uni01D2 * uni1ED9 * uni1ECD * uni1EDB * uni1EE3 * uni1EDD * uni1EE1 * racute * rcaron * uni0157 * uni1E5D * uni1E5D * uni1E5F * sacute * scaron * uni0219 * uni1E63 * uni021B * uni1E97 * uni1E6D * uni1E6F * uni01D4 * uni01D8 * uni01D8 * uni01DA * uni01DA * uni01DC * uni01DC * uni01D6 * uni01D6 * uni1EE5 * uni1EE9 * uni1EF1 * uni1EEB * uni1EEF * uring * utilde * wacute * wdieresis * wgrave * uni1E8F * uni1EF5 * ygrave * uni0233 * uni1EF9 * zacute * zcaron * zdotaccent * uni1E93 * uni1E95 and uni0325

[code: found-nested-components]
🔥 FAIL Check Google Fonts glyph coverage.
> > Google Fonts expects that fonts in its collection support at least the minimal > set of characters defined in the `GF-latin-core` glyph-set. > > Original proposal: https://github.com/fonttools/fontbakery/pull/2488 * 🔥 **FAIL**

Missing required codepoints:

- 0x00AA (FEMININE ORDINAL INDICATOR)

- 0x00BA (MASCULINE ORDINAL INDICATOR)
[code: missing-codepoints]
🔥 FAIL PPEM must be an integer on hinted fonts.
> > Hinted fonts must have head table flag bit 3 set. > > Per https://docs.microsoft.com/en-us/typography/opentype/spec/head, > bit 3 of Head::flags decides whether PPEM should be rounded. This bit should > always be set for hinted fonts. > > Note: > Bit 3 = Force ppem to integer values for all internal scaler math; > May use fractional ppem sizes if this bit is clear; > > Original proposal: https://github.com/fonttools/fontbakery/issues/2338 * 🔥 **FAIL**

This is a hinted font, so it must have bit 3 set on the flags of the head table, so that PPEM values will be rounded into an integer value.

This can be accomplished by using the 'gftools fix-hinting' command:

# create virtualenv
python3 -m venv venv
# activate virtualenv
source venv/bin/activate
# install gftools
pip install git+https://www.github.com/googlefonts/tools
[code: bad-flags]
⚠️ WARN Does the font have a DSIG table?
> > Microsoft Office 2013 and below products expect fonts to have a digital > signature declared in a DSIG table in order to implement OpenType features. > The EOL date for Microsoft Office 2013 products is 4/11/2023. > This issue does not impact Microsoft Office 2016 and above products. > > As we approach the EOL date, it is now considered better to > completely remove the table. > > But if you still want your font to support OpenType features on Office 2013, > then you may find it handy to add a fake signature on a placeholder DSIG table > by running one of the helper scripts provided at > https://github.com/googlefonts/gftools > > Reference: https://github.com/fonttools/fontbakery/issues/1845 > > Original proposal: legacy:check/045 > See also: https://github.com/fonttools/fontbakery/issues/3398 * ⚠️ **WARN**

This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly. The current recommendation is to completely remove the DSIG table.

[code: found-DSIG]
⚠️ WARN Check font contains no unreachable glyphs
> > Glyphs are either accessible directly through Unicode codepoints or through > substitution rules. > > In Color Fonts, glyphs are also referenced by the COLR table. And mathematical > fonts also reference glyphs via the MATH table. > > Any glyphs not accessible by these means are redundant and serve only > to increase the font's file size. > > Original proposal: https://github.com/fonttools/fontbakery/issues/3160 * ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- i.loclTRK

- uni004A0301

- uni006A0301
[code: unreachable-glyphs]
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
> > The purpose of this check is to ensure images (either raster or vector files) > are not excessively large in filesize and resolution. > > These constraints are loosely based on infrastructure limitations under > default configurations. > > It also ensures that the article page has a minimum length and includes > at least one visual asset. > > Original proposal: https://github.com/fonttools/fontbakery/issues/4594 * ⚠️ **WARN**

Family metadata at /Users/vvmonsalve/Downloads/asimovian-main/sources does not have an article.

[code: lacks-article]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
> > This check ensures that all encoded glyphs in the font are covered by a > subset declared in the METADATA.pb. Google Fonts splits the font into > a set of subset fonts based on the contents of the `subsets` field and > the subset definitions in the `glyphsets` repository. > > Any encoded glyphs which are not by any of these subset definitions > will not be served in the subsetted fonts, and so will be unreachable to > the end user. > > Original proposal: https://github.com/fonttools/fontbakery/issues/4097 > See also: https://github.com/fonttools/fontbakery/pull/4273 * ⚠️ **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+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, math, cherokee, coptic
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, hebrew, tifinagh, syriac, todhri, tai-le, math, duployan, malayalam, old-permic, canadian-aboriginal
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
  • U+0310 COMBINING CANDRABINDU: try adding one of: math, sunuwar
  • U+0312 COMBINING TURNED COMMA ABOVE: try adding math
  • U+031B COMBINING HORN: not included in any glyphset definition
  • U+0324 COMBINING DIAERESIS BELOW: try adding one of: syriac, duployan, cherokee
  • U+0325 COMBINING RING BELOW: try adding syriac
  • U+0326 COMBINING COMMA BELOW: try adding math
  • U+0327 COMBINING CEDILLA: try adding math
  • U+0328 COMBINING OGONEK: not included in any glyphset definition
  • U+032E COMBINING BREVE BELOW: try adding syriac
  • U+0331 COMBINING MACRON BELOW: try adding one of: cherokee, sunuwar, caucasian-albanian, thai, syriac, tifinagh, gothic
  • U+035F COMBINING DOUBLE MACRON BELOW: not included in any glyphset definition
  • U+0E3F THAI CURRENCY SYMBOL BAHT: try adding thai
  • U+2000 EN QUAD: try adding symbols2
  • U+2001 EM QUAD: try adding symbols2
  • U+2003 EM SPACE: try adding nushu
  • U+2004 THREE-PER-EM SPACE: try adding symbols2
  • U+2005 FOUR-PER-EM SPACE: try adding symbols2
  • U+2006 SIX-PER-EM SPACE: try adding symbols2
  • U+2007 FIGURE SPACE: try adding symbols2
  • U+2008 PUNCTUATION SPACE: try adding symbols2
  • U+200A HAIR SPACE: try adding symbols2
  • U+200C ZERO WIDTH NON-JOINER: try adding one of: mahajani, sundanese, kaithi, hebrew, modi, new-tai-lue, syloti-nagri, gunjala-gondi, javanese, balinese, dogra, avestan, grantha, gujarati, kayah-li, rejang, limbu, khudawadi, telugu, newa, mongolian, kharoshthi, tamil, batak, thai, buhid, pahawh-hmong, sharada, sinhala, devanagari, lepcha, myanmar, hanunoo, oriya, psalter-pahlavi, tai-tham, warang-citi, gurmukhi, yi, chakma, lao, malayalam, khojki, phags-pa, siddham, kannada, masaram-gondi, hanifi-rohingya, cham, tai-viet, takri, sogdian, tagalog, tai-le, meetei-mayek, duployan, tifinagh, khmer, saurashtra, zanabazar-square, tagbanwa, buginese, bengali, manichaean, thaana, brahmi, syriac, bhaiksuki, mandaic, hatran, nko, arabic, tibetan, tirhuta
  • U+200D ZERO WIDTH JOINER: try adding one of: mahajani, sundanese, kaithi, hebrew, modi, new-tai-lue, old-hungarian, syloti-nagri, gunjala-gondi, javanese, balinese, dogra, avestan, grantha, gujarati, kayah-li, rejang, limbu, khudawadi, telugu, newa, mongolian, kharoshthi, tamil, batak, thai, buhid, pahawh-hmong, sharada, sinhala, devanagari, lepcha, myanmar, hanunoo, oriya, psalter-pahlavi, tai-tham, warang-citi, gurmukhi, yi, chakma, lao, malayalam, khojki, phags-pa, siddham, kannada, masaram-gondi, hanifi-rohingya, cham, tai-viet, takri, sogdian, tagalog, tai-le, meetei-mayek, duployan, tifinagh, khmer, saurashtra, zanabazar-square, tagbanwa, buginese, bengali, manichaean, thaana, brahmi, syriac, bhaiksuki, mandaic, nko, arabic, tibetan, tirhuta
  • U+200E LEFT-TO-RIGHT MARK: try adding one of: thaana, hebrew, syriac, nko, arabic, phags-pa
  • U+200F RIGHT-TO-LEFT MARK: try adding one of: thaana, hebrew, syriac, nko, phags-pa
  • U+2021 DOUBLE DAGGER: try adding adlam
  • U+202F NARROW NO-BREAK SPACE: try adding one of: yi, phags-pa, mongolian
  • U+2030 PER MILLE SIGN: try adding adlam
  • U+205F MEDIUM MATHEMATICAL SPACE: try adding math
  • U+2190 LEFTWARDS ARROW: try adding one of: symbols, math
  • U+2192 RIGHTWARDS ARROW: try adding one of: symbols, math
  • U+2194 LEFT RIGHT ARROW: try adding one of: symbols, math
  • U+2195 UP DOWN ARROW: try adding one of: symbols, math
  • U+2196 NORTH WEST ARROW: try adding one of: symbols, math
  • U+2197 NORTH EAST ARROW: try adding one of: symbols, math
  • U+2198 SOUTH EAST ARROW: try adding one of: symbols, math
  • U+2199 SOUTH WEST ARROW: try adding one of: symbols, math
  • U+2202 PARTIAL DIFFERENTIAL: try adding math
  • U+2205 EMPTY SET: try adding math
  • U+220F N-ARY PRODUCT: try adding math
  • U+2211 N-ARY SUMMATION: try adding math
  • U+221A SQUARE ROOT: try adding math
  • U+221E INFINITY: try adding math
  • U+222B INTEGRAL: try adding math
  • U+2248 ALMOST EQUAL TO: try adding math
  • U+2260 NOT EQUAL TO: try adding math
  • U+2264 LESS-THAN OR EQUAL TO: try adding math
  • U+2265 GREATER-THAN OR EQUAL TO: try adding math
  • U+25CA LOZENGE: try adding one of: symbols, math
  • U+25CC DOTTED CIRCLE: try adding one of: adlam, telugu, kharoshthi, lepcha, hanunoo, oriya, malayalam, phags-pa, masaram-gondi, tifinagh, saurashtra, bassa-vah, buginese, bengali, manichaean, brahmi, nko, tirhuta, modi, dogra, limbu, mongolian, tamil, buhid, gurmukhi, math, chakma, osage, khojki, hanifi-rohingya, cham, sogdian, tagalog, tai-le, meetei-mayek, duployan, miao, old-permic, symbols, mahajani, syloti-nagri, javanese, newa, batak, thai, sharada, sinhala, psalter-pahlavi, myanmar, yi, lao, canadian-aboriginal, siddham, tai-viet, takri, elbasan, zanabazar-square, tagbanwa, syriac, bhaiksuki, mandaic, tibetan, sundanese, kaithi, hebrew, new-tai-lue, gunjala-gondi, kayah-li, balinese, gujarati, grantha, rejang, wancho, khudawadi, mende-kikakui, pahawh-hmong, warang-citi, devanagari, tai-tham, music, kannada, coptic, armenian, khmer, caucasian-albanian, soyombo, ahom, marchen, thaana
  • U+3000 IDEOGRAPHIC SPACE: try adding one of: chinese-traditional, chinese-hongkong, japanese, chinese-simplified, nushu, yi, phags-pa

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

[code: unreachable-subsetting]
⚠️ WARN License URL matches License text on name table?
> > A known license URL must be provided in the NameID 14 (LICENSE INFO URL) > entry of the name table. > > The source of truth for this check is the licensing text found on the NameID 13 > entry (LICENSE DESCRIPTION). > > The string snippets used for detecting licensing terms are: > > - "This Font Software is licensed under the SIL Open Font License, Version 1.1. > This license is available with a FAQ at: openfontlicense.org" > > - "Licensed under the Apache License, Version 2.0" > > - "Licensed under the Ubuntu Font Licence 1.0." > > > Currently accepted licenses are Apache or Open Font License. For a small set of > legacy families the Ubuntu Font License may be acceptable as well. > > When in doubt, please choose OFL for new font projects. > > Original proposal: legacy:check/030 > See also: https://github.com/fonttools/fontbakery/issues/4358 * ⚠️ **WARN**

Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13]

[code: http-in-description] * ⚠️ **WARN**

Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13]

[code: http-in-description] * ⚠️ **WARN**

Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13]

[code: http-in-description]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
> > An accent placed on characters with a "soft dot", like i or j, causes > the dot to disappear. > An explicit dot above can be added where required. > See "Diacritics on i and j" in Section 7.1, "Latin" in The Unicode Standard. > > Characters with the Soft_Dotted property are listed in > https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt > > See also: > https://googlefonts.github.io/gf-guide/diacritics.html#soft-dotted-glyphs > > Original proposal: https://github.com/fonttools/fontbakery/issues/4059 * ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: i̊ i̋ i̐ j̀ j́ j̃ j̄ j̈ į̀ į́ į̂ į̃ į̄ į̌ ị̀ ị́ ị̂ ị̃ ị̄

The dot of soft dotted characters should disappear in other cases, for example: ĭ i̇ i̒ ĭ̛ i̛̇ i̛̊ i̛̋ i̛̐ i̛̒ ĭ̤ i̤̇ i̤̊ i̤̋ i̤̐ i̤̒ ĭ̥ i̥̇ i̥̊ i̥̋ i̥̐

Your font fully covers the following languages that require the soft-dotted feature: Han (Latn, 6 speakers), Navajo (Latn, 166,319 speakers), Lithuanian (Latn, 2,357,094 speakers), Kaska (Latn, 125 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Ekpeye (Latn, 226,000 speakers), Lugbara (Latn, 2,200,000 speakers), Sar (Latn, 500,000 speakers), Heiltsuk (Latn, 300 speakers), Belarusian (Cyrl, 10,064,517 speakers), South Central Banda (Latn, 244,000 speakers), Teke-Ebo (Latn, 260,000 speakers), Bafut (Latn, 158,146 speakers), Ejagham (Latn, 120,000 speakers), Mundani (Latn, 34,000 speakers), Mango (Latn, 77,000 speakers), Fur (Latn, 1,230,163 speakers), Koonzime (Latn, 40,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Aghem (Latn, 38,843 speakers), Igbo (Latn, 27,823,640 speakers), Mfumte (Latn, 79,000 speakers), Dii (Latn, 71,000 speakers), Gulay (Latn, 250,478 speakers), Bete-Bendi (Latn, 100,000 speakers), Cicipu (Latn, 44,000 speakers), Vute (Latn, 21,000 speakers), Dan (Latn, 1,099,244 speakers), Nzakara (Latn, 50,000 speakers), Basaa (Latn, 332,940 speakers), Zapotec (Latn, 490,000 speakers), Kom (Latn, 360,685 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Dutch (Latn, 31,709,104 speakers), Avokaya (Latn, 100,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Yala (Latn, 200,000 speakers), Southern Kisi (Latn, 360,000 speakers), Nateni (Latn, 100,000 speakers), Ma’di (Latn, 584,000 speakers), Ebira (Latn, 2,200,000 speakers), Makaa (Latn, 221,000 speakers).

[code: soft-dotted]
⚠️ WARN Are any segments inordinately short?
> > This check looks for outline segments which seem particularly short (less > than 0.6% of the overall path length). > > This check is not run for variable fonts, as they may legitimately have > short segments. As this check is liable to generate significant numbers > of false positives, it will pass if there are more than > 100 reported short segments. > > Original proposal: https://github.com/fonttools/fontbakery/pull/3088 * ⚠️ **WARN**

The following glyphs have segments which seem very short:

* ampersand (U+0026) contains a short segment L<<312.0,342.0>--<311.0,342.0>>

* at (U+0040) contains a short segment L<<432.0,-131.0>--<421.0,-131.0>>

* E (U+0045) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* M (U+004D) contains a short segment L<<577.0,380.0>--<578.0,357.0>>

* Q (U+0051) contains a short segment L<<348.0,-2.0>--<346.0,-2.0>>

* g (U+0067) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* braceleft (U+007B) contains a short segment L<<261.0,-212.0>--<250.0,-212.0>>

* braceright (U+007D) contains a short segment L<<70.0,817.0>--<81.0,817.0>>

* sterling (U+00A3) contains a short segment L<<246.0,0.0>--<246.0,-1.0>>

* AE (U+00C6) contains a short segment L<<591.0,355.0>--<591.0,336.0>>

* Ccedilla (U+00E7) contains a short segment L<<321.0,-19.0>--<332.0,-19.0>>

* Egrave (U+00C8) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* Eacute (U+00C9) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* Ecircumflex (U+00CA) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* Edieresis (U+00CB) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* germandbls (U+00DF) contains a short segment L<<248.0,452.0>--<252.0,452.0>>

* OE (U+0152) contains a short segment L<<660.0,355.0>--<660.0,336.0>>

* trademark (U+2122) contains a short segment L<<331.0,700.0>--<338.0,699.0>>

* trademark (U+2122) contains a short segment L<<496.0,700.0>--<505.0,699.0>>

* radical (U+221A) contains a short segment L<<249.0,-113.0>--<250.0,-115.0>>

* radical (U+221A) contains a short segment L<<148.0,-115.0>--<148.0,-113.0>>

* lozenge (U+25CA) contains a short segment L<<61.0,287.0>--<60.0,288.0>>

* lozenge (U+25CA) contains a short segment L<<60.0,288.0>--<61.0,288.0>>

* lozenge (U+25CA) contains a short segment L<<456.0,288.0>--<457.0,288.0>>

* lozenge (U+25CA) contains a short segment L<<457.0,288.0>--<456.0,287.0>>

* lozenge (U+25CA) contains a short segment L<<456.0,287.0>--<457.0,286.0>>

* lozenge (U+25CA) contains a short segment L<<457.0,286.0>--<456.0,286.0>>

* lozenge (U+25CA) contains a short segment L<<61.0,286.0>--<60.0,286.0>>

* lozenge (U+25CA) contains a short segment L<<60.0,286.0>--<61.0,287.0>>

* Emacron (U+0112) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni01E2 (U+01E2) contains a short segment L<<591.0,355.0>--<591.0,336.0>>

* Ecaron (U+011A) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EBE (U+1EBE) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EC6 (U+1EC6) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EC0 (U+1EC0) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EC2 (U+1EC2) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EC4 (U+1EC4) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* Edotaccent (U+0116) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EB8 (U+1EB8) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EBA (U+1EBA) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* Eogonek (U+0118) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1EBC (U+1EBC) contains a short segment L<<166.0,355.0>--<166.0,336.0>>

* uni1E40 (U+1E40) contains a short segment L<<577.0,380.0>--<578.0,357.0>>

* uni1E42 (U+1E42) contains a short segment L<<577.0,380.0>--<578.0,357.0>>

* Scedilla (U+015E) contains a short segment L<<248.0,-19.0>--<259.0,-19.0>>

* uni1E9E (U+1E9E) contains a short segment L<<248.0,452.0>--<252.0,452.0>>

* uni0162 (U+0162) contains a short segment L<<350.0,-6.0>--<361.0,-6.0>>

* Uhorn (U+01AF) contains a short segment L<<696.0,708.0>--<696.0,691.0>>

* uni1EE8 (U+1EE8) contains a short segment L<<696.0,708.0>--<696.0,691.0>>

* uni1EF0 (U+1EF0) contains a short segment L<<696.0,708.0>--<696.0,691.0>>

* uni1EEA (U+1EEA) contains a short segment L<<696.0,708.0>--<696.0,691.0>>

* uni1EEC (U+1EEC) contains a short segment L<<696.0,708.0>--<696.0,691.0>>

* uni1EEE (U+1EEE) contains a short segment L<<696.0,708.0>--<696.0,691.0>>

* Uogonek (U+0172) contains a short segment L<<521.0,0.0>--<516.0,0.0>>

* gbreve (U+011F) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* gcaron (U+01E7) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* gcircumflex (U+011D) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* uni0123 (U+0123) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* gdotaccent (U+0121) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* uni1E21 (U+1E21) contains a short segment L<<369.0,184.0>--<358.0,184.0>>

* scedilla (U+015F) contains a short segment L<<164.0,-19.0>--<175.0,-19.0>>

* uni0163 (U+0163) contains a short segment L<<280.0,-19.0>--<291.0,-19.0>>

* uhorn (U+01B0) contains a short segment L<<629.0,543.0>--<629.0,526.0>>

* uni1EE9 (U+1EE9) contains a short segment L<<629.0,543.0>--<629.0,526.0>>

* uni1EF1 (U+1EF1) contains a short segment L<<629.0,543.0>--<629.0,526.0>>

* uni1EEB (U+1EEB) contains a short segment L<<629.0,543.0>--<629.0,526.0>>

* uni1EED (U+1EED) contains a short segment L<<629.0,543.0>--<629.0,526.0>>

* uni1EEF (U+1EEF) contains a short segment L<<629.0,543.0>--<629.0,526.0>>

* uni20AA (U+20AA) contains a short segment L<<613.0,-9.0>--<613.0,-8.0>>

* uni20AA (U+20AA) contains a short segment L<<212.0,690.0>--<212.0,689.0>>
[code: found-short-segments]
⚠️ WARN Do any segments have colinear vectors?
> > This check looks for consecutive line segments which have the same angle. This > normally happens if an outline point has been added by accident. > > This check is not run for variable fonts, as they may legitimately have > colinear vectors. > > Original proposal: https://github.com/fonttools/fontbakery/pull/3088 * ⚠️ **WARN**

The following glyphs have colinear vectors:

* A (U+0041): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Aacute (U+00C1): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Abreve (U+0102): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Acircumflex (U+00C2): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Adieresis (U+00C4): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Agrave (U+00C0): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Amacron (U+0100): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Aogonek (U+0104): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Aring (U+00C5): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Atilde (U+00C3): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Euro (U+20AC): L<<142.0,333.0>--<142.0,365.0>> -> L<<142.0,365.0>--<143.0,394.0>>

* Euro (U+20AC): L<<143.0,307.0>--<142.0,333.0>> -> L<<142.0,333.0>--<142.0,365.0>>

* Euro (U+20AC): L<<258.0,364.0>--<258.0,336.0>> -> L<<258.0,336.0>--<259.0,307.0>>

* Euro (U+20AC): L<<259.0,394.0>--<258.0,364.0>> -> L<<258.0,364.0>--<258.0,336.0>>

* M (U+004D): L<<466.0,700.0>--<503.0,700.0>> -> L<<503.0,700.0>--<563.0,700.0>>

* M (U+004D): L<<577.0,380.0>--<578.0,357.0>> -> L<<578.0,357.0>--<578.0,0.0>>

* M (U+004D): L<<577.0,598.0>--<577.0,380.0>> -> L<<577.0,380.0>--<578.0,357.0>>

* M (U+004D): L<<70.0,700.0>--<107.0,700.0>> -> L<<107.0,700.0>--<167.0,700.0>>

* N (U+004E): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Nacute (U+0143): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Ncaron (U+0147): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* Ntilde (U+00D1): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* U (U+0055): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Uacute (U+00DA): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Ubreve (U+016C): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Ucircumflex (U+00DB): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Udieresis (U+00DC): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Ugrave (U+00D9): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Uhorn (U+01AF): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Uhungarumlaut (U+0170): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Umacron (U+016A): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Uogonek (U+0172): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<516.0,0.0>>

* Uring (U+016E): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* Utilde (U+0168): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* V (U+0056): L<<570.0,528.0>--<571.0,421.0>> -> L<<571.0,421.0>--<570.0,335.0>>

* V (U+0056): L<<570.0,700.0>--<570.0,528.0>> -> L<<570.0,528.0>--<571.0,421.0>>

* ampersand (U+0026): L<<395.0,342.0>--<312.0,342.0>> -> L<<312.0,342.0>--<311.0,342.0>>

* eogonek (U+0119): L<<469.0,-2.0>--<369.0,-2.0>> -> L<<369.0,-2.0>--<332.0,1.0>>

* germandbls (U+00DF): L<<71.0,0.0>--<70.0,194.0>> -> L<<70.0,194.0>--<70.0,427.0>>

* m (U+006D): L<<365.0,535.0>--<443.0,535.0>> -> L<<443.0,535.0>--<476.0,534.0>>

* m (U+006D): L<<70.0,535.0>--<151.0,535.0>> -> L<<151.0,535.0>--<179.0,534.0>>

* one (U+0031): L<<277.0,427.0>--<277.0,194.0>> -> L<<277.0,194.0>--<276.0,0.0>>

* parenleft (U+0028): L<<71.0,116.0>--<70.0,289.0>> -> L<<70.0,289.0>--<71.0,458.0>>

* partialdiff (U+2202): L<<200.0,429.0>--<303.0,474.0>> -> L<<303.0,474.0>--<341.0,493.0>>

* trademark (U+2122): L<<56.0,578.0>--<57.0,617.0>> -> L<<57.0,617.0>--<57.0,647.0>>

* trademark (U+2122): L<<57.0,527.0>--<56.0,578.0>> -> L<<56.0,578.0>--<57.0,617.0>>

* trademark (U+2122): L<<672.0,488.0>--<672.0,449.0>> -> L<<672.0,449.0>--<672.0,370.0>>

* trademark (U+2122): L<<672.0,540.0>--<672.0,488.0>> -> L<<672.0,488.0>--<672.0,449.0>>

* uni0145 (U+0145): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni01CD (U+01CD): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni01D3 (U+01D3): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni01D5 (U+01D5): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni01D7 (U+01D7): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni01D9 (U+01D9): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni01DB (U+01DB): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni01DE (U+01DE): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1E40 (U+1E40): L<<466.0,700.0>--<503.0,700.0>> -> L<<503.0,700.0>--<563.0,700.0>>

* uni1E40 (U+1E40): L<<577.0,380.0>--<578.0,357.0>> -> L<<578.0,357.0>--<578.0,0.0>>

* uni1E40 (U+1E40): L<<577.0,598.0>--<577.0,380.0>> -> L<<577.0,380.0>--<578.0,357.0>>

* uni1E40 (U+1E40): L<<70.0,700.0>--<107.0,700.0>> -> L<<107.0,700.0>--<167.0,700.0>>

* uni1E41 (U+1E41): L<<365.0,535.0>--<443.0,535.0>> -> L<<443.0,535.0>--<476.0,534.0>>

* uni1E41 (U+1E41): L<<70.0,535.0>--<151.0,535.0>> -> L<<151.0,535.0>--<179.0,534.0>>

* uni1E42 (U+1E42): L<<466.0,700.0>--<503.0,700.0>> -> L<<503.0,700.0>--<563.0,700.0>>

* uni1E42 (U+1E42): L<<577.0,380.0>--<578.0,357.0>> -> L<<578.0,357.0>--<578.0,0.0>>

* uni1E42 (U+1E42): L<<577.0,598.0>--<577.0,380.0>> -> L<<577.0,380.0>--<578.0,357.0>>

* uni1E42 (U+1E42): L<<70.0,700.0>--<107.0,700.0>> -> L<<107.0,700.0>--<167.0,700.0>>

* uni1E43 (U+1E43): L<<365.0,535.0>--<443.0,535.0>> -> L<<443.0,535.0>--<476.0,534.0>>

* uni1E43 (U+1E43): L<<70.0,535.0>--<151.0,535.0>> -> L<<151.0,535.0>--<179.0,534.0>>

* uni1E44 (U+1E44): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1E46 (U+1E46): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1E48 (U+1E48): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1E9E (U+1E9E): L<<71.0,0.0>--<70.0,194.0>> -> L<<70.0,194.0>--<70.0,427.0>>

* uni1EA0 (U+1EA0): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EA2 (U+1EA2): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EA4 (U+1EA4): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EA6 (U+1EA6): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EA8 (U+1EA8): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EAA (U+1EAA): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EAC (U+1EAC): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EAE (U+1EAE): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EB0 (U+1EB0): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EB2 (U+1EB2): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EB4 (U+1EB4): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EB6 (U+1EB6): L<<70.0,700.0>--<119.0,700.0>> -> L<<119.0,700.0>--<179.0,700.0>>

* uni1EE4 (U+1EE4): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni1EE6 (U+1EE6): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni1EE8 (U+1EE8): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni1EEA (U+1EEA): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni1EEC (U+1EEC): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni1EEE (U+1EEE): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni1EF0 (U+1EF0): L<<570.0,0.0>--<521.0,0.0>> -> L<<521.0,0.0>--<461.0,0.0>>

* uni20AA (U+20AA): L<<157.0,691.0>--<194.0,690.0>> -> L<<194.0,690.0>--<212.0,690.0>>

* uni20AA (U+20AA): L<<668.0,-10.0>--<631.0,-9.0>> -> L<<631.0,-9.0>--<613.0,-9.0>>

* uni20AA (U+20AA): L<<728.0,-10.0>--<668.0,-10.0>> -> L<<668.0,-10.0>--<631.0,-9.0>>

* uni20AA (U+20AA): L<<97.0,691.0>--<157.0,691.0>> -> L<<157.0,691.0>--<194.0,690.0>>
[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
> > This check detects line segments which are nearly, but not quite, exactly > horizontal or vertical. Sometimes such lines are created by design, but often > they are indicative of a design error. > > This check is disabled for italic styles, which often contain nearly-upright > lines. > > Original proposal: https://github.com/fonttools/fontbakery/pull/3088 * ⚠️ **WARN**

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

* D (U+0044): L<<70.0,700.0>--<186.0,699.0>>

* Dcaron (U+010E): L<<70.0,700.0>--<186.0,699.0>>

* Dcroat (U+0110): L<<154.0,700.0>--<270.0,699.0>>

* Eth (U+00D0): L<<154.0,700.0>--<270.0,699.0>>

* Euro (U+20AC): L<<143.0,394.0>--<20.0,393.0>>

* Euro (U+20AC): L<<161.0,209.0>--<23.0,208.0>>

* Euro (U+20AC): L<<259.0,307.0>--<512.0,308.0>>

* Euro (U+20AC): L<<509.0,395.0>--<259.0,394.0>>

* Euro (U+20AC): L<<512.0,210.0>--<289.0,209.0>>

* L (U+004C): L<<186.0,700.0>--<187.0,110.0>>

* Lacute (U+0139): L<<186.0,700.0>--<187.0,110.0>>

* Lcaron (U+013D): L<<186.0,700.0>--<187.0,110.0>>

* M (U+004D): L<<185.0,598.0>--<186.0,0.0>>

* N (U+004E): L<<185.0,598.0>--<186.0,0.0>>

* Nacute (U+0143): L<<185.0,598.0>--<186.0,0.0>>

* Ncaron (U+0147): L<<185.0,598.0>--<186.0,0.0>>

* Ntilde (U+00D1): L<<185.0,598.0>--<186.0,0.0>>

* P (U+0050): L<<188.0,267.0>--<186.0,0.0>>

* Q (U+0051): L<<667.0,-1.0>--<348.0,-2.0>>

* R (U+0052): L<<188.0,267.0>--<186.0,0.0>>

* Racute (U+0154): L<<188.0,267.0>--<186.0,0.0>>

* Rcaron (U+0158): L<<188.0,267.0>--<186.0,0.0>>

* S (U+0053): L<<450.0,590.0>--<157.0,589.0>>

* Sacute (U+015A): L<<450.0,590.0>--<157.0,589.0>>

* Scaron (U+0160): L<<450.0,590.0>--<157.0,589.0>>

* Scedilla (U+015E): L<<450.0,590.0>--<157.0,589.0>>

* Scircumflex (U+015C): L<<450.0,590.0>--<157.0,589.0>>

* U (U+0055): L<<455.0,102.0>--<454.0,700.0>>

* Uacute (U+00DA): L<<455.0,102.0>--<454.0,700.0>>

* Ubreve (U+016C): L<<455.0,102.0>--<454.0,700.0>>

* Ucircumflex (U+00DB): L<<455.0,102.0>--<454.0,700.0>>

* Udieresis (U+00DC): L<<455.0,102.0>--<454.0,700.0>>

* Ugrave (U+00D9): L<<455.0,102.0>--<454.0,700.0>>

* Uhorn (U+01AF): L<<455.0,102.0>--<454.0,700.0>>

* Uhungarumlaut (U+0170): L<<455.0,102.0>--<454.0,700.0>>

* Umacron (U+016A): L<<455.0,102.0>--<454.0,700.0>>

* Uogonek (U+0172): L<<455.0,102.0>--<454.0,700.0>>

* Uring (U+016E): L<<455.0,102.0>--<454.0,700.0>>

* Utilde (U+0168): L<<455.0,102.0>--<454.0,700.0>>

* asterisk (U+002A): L<<290.0,738.0>--<291.0,577.0>>

* asterisk (U+002A): L<<291.0,447.0>--<292.0,284.0>>

* dcroat (U+0111): L<<277.0,738.0>--<400.0,739.0>>

* dcroat (U+0111): L<<400.0,651.0>--<277.0,650.0>>

* dollar (U+0024): L<<450.0,590.0>--<157.0,589.0>>

* endash (U+2013): L<<0.0,375.0>--<500.0,377.0>>

* endash (U+2013): L<<500.0,270.0>--<0.0,268.0>>

* equal (U+003D): L<<49.0,400.0>--<548.0,401.0>>

* equal (U+003D): L<<52.0,197.0>--<551.0,198.0>>

* equal (U+003D): L<<548.0,311.0>--<49.0,309.0>>

* equal (U+003D): L<<551.0,108.0>--<52.0,106.0>>

* germandbls (U+00DF): L<<71.0,0.0>--<70.0,194.0>>

* hbar (U+0127): L<<182.0,739.0>--<316.0,740.0>>

* hbar (U+0127): L<<316.0,652.0>--<182.0,651.0>>

* notequal (U+2260): L<<194.0,213.0>--<72.0,212.0>>

* notequal (U+2260): L<<286.0,411.0>--<72.0,410.0>>

* notequal (U+2260): L<<551.0,214.0>--<290.0,213.0>>

* notequal (U+2260): L<<551.0,412.0>--<382.0,411.0>>

* notequal (U+2260): L<<72.0,496.0>--<326.0,497.0>>

* numbersign (U+0023): L<<330.0,265.0>--<447.0,266.0>>

* numbersign (U+0023): L<<383.0,497.0>--<499.0,498.0>>

* one (U+0031): L<<277.0,194.0>--<276.0,0.0>>

* paragraph (U+00B6): L<<407.0,-92.0>--<408.0,700.0>>

* paragraph (U+00B6): L<<501.0,700.0>--<502.0,-92.0>>

* parenleft (U+0028): L<<70.0,289.0>--<71.0,458.0>>

* parenleft (U+0028): L<<71.0,116.0>--<70.0,289.0>>

* registered (U+00AE): L<<324.0,311.0>--<323.0,181.0>>

* semicolon (U+003B): L<<141.0,184.0>--<257.0,183.0>>

* two (U+0032): L<<160.0,108.0>--<505.0,107.0>>

* uni013B (U+013B): L<<186.0,700.0>--<187.0,110.0>>

* uni0145 (U+0145): L<<185.0,598.0>--<186.0,0.0>>

* uni0156 (U+0156): L<<188.0,267.0>--<186.0,0.0>>

* uni01D3 (U+01D3): L<<455.0,102.0>--<454.0,700.0>>

* uni01D5 (U+01D5): L<<455.0,102.0>--<454.0,700.0>>

* uni01D7 (U+01D7): L<<455.0,102.0>--<454.0,700.0>>

* uni01D9 (U+01D9): L<<455.0,102.0>--<454.0,700.0>>

* uni01DB (U+01DB): L<<455.0,102.0>--<454.0,700.0>>

* uni0218 (U+0218): L<<450.0,590.0>--<157.0,589.0>>

* uni1E0C (U+1E0C): L<<70.0,700.0>--<186.0,699.0>>

* uni1E0E (U+1E0E): L<<70.0,700.0>--<186.0,699.0>>

* uni1E36 (U+1E36): L<<186.0,700.0>--<187.0,110.0>>

* uni1E38 (U+1E38): L<<186.0,700.0>--<187.0,110.0>>

* uni1E3A (U+1E3A): L<<186.0,700.0>--<187.0,110.0>>

* uni1E40 (U+1E40): L<<185.0,598.0>--<186.0,0.0>>

* uni1E42 (U+1E42): L<<185.0,598.0>--<186.0,0.0>>

* uni1E44 (U+1E44): L<<185.0,598.0>--<186.0,0.0>>

* uni1E46 (U+1E46): L<<185.0,598.0>--<186.0,0.0>>

* uni1E48 (U+1E48): L<<185.0,598.0>--<186.0,0.0>>

* uni1E5C (U+1E5C): L<<188.0,267.0>--<186.0,0.0>>

* uni1E5E (U+1E5E): L<<188.0,267.0>--<186.0,0.0>>

* uni1E62 (U+1E62): L<<450.0,590.0>--<157.0,589.0>>

* uni1E9E (U+1E9E): L<<71.0,0.0>--<70.0,194.0>>

* uni1EE4 (U+1EE4): L<<455.0,102.0>--<454.0,700.0>>

* uni1EE6 (U+1EE6): L<<455.0,102.0>--<454.0,700.0>>

* uni1EE8 (U+1EE8): L<<455.0,102.0>--<454.0,700.0>>

* uni1EEA (U+1EEA): L<<455.0,102.0>--<454.0,700.0>>

* uni1EEC (U+1EEC): L<<455.0,102.0>--<454.0,700.0>>

* uni1EEE (U+1EEE): L<<455.0,102.0>--<454.0,700.0>>

* uni1EF0 (U+1EF0): L<<455.0,102.0>--<454.0,700.0>>

* uni20AA (U+20AA): L<<212.0,587.0>--<213.0,-9.0>>

* uni20AA (U+20AA): L<<613.0,94.0>--<612.0,690.0>>

* uni20B4 (U+20B4): L<<42.0,462.0>--<366.0,463.0>>

* uni20B4 (U+20B4): L<<425.0,589.0>--<132.0,590.0>>

* uni20B4 (U+20B4): L<<563.0,365.0>--<423.0,364.0>>

* uni20B4 (U+20B4): L<<564.0,220.0>--<216.0,219.0>>

* uni20BD (U+20BD): L<<267.0,199.0>--<534.0,200.0>>

* uni20BD (U+20BD): L<<534.0,98.0>--<267.0,97.0>>

* yen (U+00A5): L<<236.0,288.0>--<40.0,287.0>>

* yen (U+00A5): L<<512.0,289.0>--<353.0,288.0>>

* yen (U+00A5): L<<515.0,130.0>--<263.0,129.0>>
[code: found-semi-vertical]
⚠️ WARN Check the direction of the outermost contour in each glyph
> > In TrueType fonts, the outermost contour of a glyph should be oriented > clockwise, while the inner contours should be oriented counter-clockwise. > Getting the path direction wrong can lead to rendering issues in some > software. > > Original proposal: https://github.com/fonttools/fontbakery/issues/2056 * ⚠️ **WARN**

The following glyphs have a counter-clockwise outer contour:

* x (U+0078) has a counter-clockwise outer contour
[code: ccw-outer-contour]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
> > The OpenType 'meta' table originated at Apple. Microsoft added it to OT with > just two DataMap records: > > - dlng: comma-separated ScriptLangTags that indicate which scripts, > or languages and scripts, with possible variants, the font is designed for. > > - slng: comma-separated ScriptLangTags that indicate which scripts, > or languages and scripts, with possible variants, the font supports. > > > The slng structure is intended to describe which languages and scripts the > font overall supports. For example, a Traditional Chinese font that also > contains Latin characters, can indicate Hant,Latn, showing that it supports > Hant, the Traditional Chinese variant of the Hani script, and it also > supports the Latn script. > > The dlng structure is far more interesting. A font may contain various glyphs, > but only a particular subset of the glyphs may be truly "leading" in the design, > while other glyphs may have been included for technical reasons. Such a > Traditional Chinese font could only list Hant there, showing that it’s designed > for Traditional Chinese, but the font would omit Latn, because the developers > don’t think the font is really recommended for purely Latin-script use. > > The tags used in the structures can comprise just script, or also language > and script. For example, if a font has Bulgarian Cyrillic alternates in the > locl feature for the cyrl BGR OT languagesystem, it could also indicate in > dlng explicitly that it supports bul-Cyrl. (Note that the scripts and languages > in meta use the ISO language and script codes, not the OpenType ones). > > This check ensures that the font has the meta table containing the > slng and dlng structures. > > All families in the Google Fonts collection should contain the 'meta' table. > Windows 10 already uses it when deciding on which fonts to fall back to. > The Google Fonts API and also other environments could use the data for > smarter filtering. Most importantly, those entries should be added > to the Noto fonts. > > In the font making process, some environments store this data in external > files already. But the meta table provides a convenient way to store this > inside the font file, so some tools may add the data, and unrelated tools > may read this data. This makes the solution much more portable and universal. > > Original proposal: https://github.com/fonttools/fontbakery/issues/3349 * ⚠️ **WARN**

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

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
> > Microsoft keeps a list of font vendors and their respective contact info. This > list is updated regularly and is indexed by a 4-char "Vendor ID" which is > stored in the achVendID field of the OS/2 table. > > Registering your ID is not mandatory, but it is a good practice since some > applications may display the type designer / type foundry contact info on some > dialog and also because that info will be visible on Microsoft's website: > > https://docs.microsoft.com/en-us/typography/vendors/ > > This check verifies whether or not a given font's vendor ID is registered in > that list or if it has some of the default values used by the most common > font editors. > > Each new FontBakery release includes a cached copy of that list of vendor IDs. > If you registered recently, you're safe to ignore warnings emitted by this > check, since your ID will soon be included in one of our upcoming releases. > > Original proposal: legacy:check/018 > See also: https://github.com/fonttools/fontbakery/issues/3943 * ⚠️ **WARN**

OS/2 VendorID is 'UKWN', a font editor default. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx

[code: bad]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 7 12 121 9 102 0
0% 0% 3% 5% 48% 4% 41% 0%

Note: The following loglevels were omitted in this report:

carolinashort commented 5 days ago

Thanks @vv-monsalve, I will look into these issues.