If you think a check is flawed or have an idea for a check, please file an issue at https://github.com/fonttools/fontbakery/issues and remember to include a pointer to the repo and branch you're checking.
Summary
💥 ERROR | 🔥 FAIL | ⚠️ WARN | ⏩ SKIP | ℹ️ INFO | ✅ PASS |
---|---|---|---|---|---|
0 | 5 | 13 | 39 | 9 | 175 |
0% | 3% | 7% | 20% | 5% | 92% |
Note: The following loglevels were omitted in this report: SKIP, INFO, PASS, DEBUG
Meaning of check results:
- 💥 An ERROR is something wrong with FontBakery itself, possibly a bug.
- 🔥 A FAIL is a problem with the font that must be fixed.
- ⚠️ A WARN is something that you should consider addressing.
- ℹ️ An INFO result simply prints something useful. Typically stats.
- ✅ A PASS means the font looks good for the given checking routine.
- ⏩ And a SKIP happens when the check does not apply to the given font.
If you get ERRORs, please help us improve the tool by reporting them at our issue tracker.
(but other kinds of bug reports and/or feature requests are also always welcome, of course!)
FontBakery version: 0.9.2
Section: Google Fonts
🔥🔥⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩ℹ️ℹ️ℹ️ℹ️ℹ️ℹ️ℹ️Does DESCRIPTION file contain broken links?
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
Timedout while attempting to access: 'https://github.com/alif-type/reem-kufi'. Please verify if that's a broken link. [code: timeout]
Does METADATA.pb copyright field contain broken links?
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
Timed out while attempting to access: 'https://github.com/aliftype/reem-kufi'. Please verify if that's a broken link. [code: timeout]
Check for codepoints not covered by METADATA subsets.
⚠️ ReemKufiFun[wght].ttf
- ⚠️ 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+0272 LATIN SMALL LETTER N WITH LEFT HOOK: not included in any glyphset definition
- U+02C7 CARON: try adding one of: canadian-aboriginal, tifinagh
- U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition
- U+02D8 BREVE: try adding canadian-aboriginal
- U+02D9 DOT ABOVE: try adding canadian-aboriginal
- U+02DB OGONEK: try adding canadian-aboriginal
- U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
- U+0300 COMBINING GRAVE ACCENT: try adding one of: coptic, tai-le, cherokee
- U+0301 COMBINING ACUTE ACCENT: try adding one of: coptic, tai-le, tifinagh, cherokee
- U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, cherokee
- U+0303 COMBINING TILDE: not included in any glyphset definition
- U+0304 COMBINING MACRON: try adding one of: coptic, gothic, tifinagh, cherokee
- U+0306 COMBINING BREVE: try adding tifinagh
- U+0307 COMBINING DOT ABOVE: try adding one of: tifinagh, coptic, malayalam, tai-le, canadian-aboriginal
- U+0308 COMBINING DIAERESIS: try adding one of: coptic, gothic, tai-le
- U+0309 COMBINING HOOK ABOVE: try adding tifinagh
- U+030A COMBINING RING ABOVE: not included in any glyphset definition
- U+030B COMBINING DOUBLE ACUTE ACCENT: try adding cherokee
- U+030C COMBINING CARON: try adding one of: tai-le, cherokee
- U+030F COMBINING DOUBLE GRAVE ACCENT: not included in any glyphset definition
- U+0311 COMBINING INVERTED BREVE: try adding coptic
- U+0312 COMBINING TURNED COMMA ABOVE: not included in any glyphset definition
- U+031B COMBINING HORN: not included in any glyphset definition
- U+0323 COMBINING DOT BELOW: try adding one of: coptic, malayalam, tifinagh, cherokee
- U+0324 COMBINING DIAERESIS BELOW: try adding cherokee
- U+0326 COMBINING COMMA BELOW: not included in any glyphset definition
- U+0327 COMBINING CEDILLA: not included in any glyphset definition
- U+0328 COMBINING OGONEK: not included in any glyphset definition
- U+032E COMBINING BREVE BELOW: not included in any glyphset definition
- U+0331 COMBINING MACRON BELOW: try adding one of: gothic, tifinagh, cherokee
- U+0335 COMBINING SHORT STROKE OVERLAY: not included in any glyphset definition
- U+0394 GREEK CAPITAL LETTER DELTA: try adding greek
- U+03BC GREEK SMALL LETTER MU: try adding greek
- U+03C0 GREEK SMALL LETTER PI: try adding greek
- U+0615 ARABIC SMALL HIGH TAH: not included in any glyphset definition
- U+065A ARABIC VOWEL SIGN SMALL V ABOVE: not included in any glyphset definition
- U+066E ARABIC LETTER DOTLESS BEH: not included in any glyphset definition
- U+066F ARABIC LETTER DOTLESS QAF: not included in any glyphset definition
- U+0674 ARABIC LETTER HIGH HAMZA: not included in any glyphset definition
- U+068E ARABIC LETTER DUL: not included in any glyphset definition
- U+0695 ARABIC LETTER REH WITH SMALL V BELOW: not included in any glyphset definition
- U+06A0 ARABIC LETTER AIN WITH THREE DOTS ABOVE: not included in any glyphset definition
- U+06A1 ARABIC LETTER DOTLESS FEH: not included in any glyphset definition
- U+06AC ARABIC LETTER KAF WITH DOT ABOVE: not included in any glyphset definition
- U+06B5 ARABIC LETTER LAM WITH SMALL V: not included in any glyphset definition
- U+06BD ARABIC LETTER NOON WITH THREE DOTS ABOVE: not included in any glyphset definition
- U+06C6 ARABIC LETTER OE: not included in any glyphset definition
- U+06CA ARABIC LETTER WAW WITH TWO DOTS ABOVE: not included in any glyphset definition
- U+06CB ARABIC LETTER VE: not included in any glyphset definition
- U+06CE ARABIC LETTER YEH WITH SMALL V: not included in any glyphset definition
- U+06CF ARABIC LETTER WAW WITH DOT ABOVE: not included in any glyphset definition
- U+06D5 ARABIC LETTER AE: not included in any glyphset definition
- U+06E1 ARABIC SMALL HIGH DOTLESS HEAD OF KHAH: not included in any glyphset definition
- U+06E4 ARABIC SMALL HIGH MADDA: not included in any glyphset definition
- U+0762 ARABIC LETTER KEHEH WITH DOT ABOVE: not included in any glyphset definition
- U+2021 DOUBLE DAGGER: not included in any glyphset definition
- U+2030 PER MILLE SIGN: not included in any glyphset definition
- U+2116 NUMERO SIGN: try adding cyrillic
- U+2126 OHM SIGN: not included in any glyphset definition
- U+2206 INCREMENT: not included in any glyphset definition
- U+220F N-ARY PRODUCT: not included in any glyphset definition
- U+2211 N-ARY SUMMATION: not included in any glyphset definition
- U+2219 BULLET OPERATOR: try adding tai-tham
- U+221A SQUARE ROOT: not included in any glyphset definition
- U+221E INFINITY: not included in any glyphset definition
- U+222B INTEGRAL: not included in any glyphset definition
- U+2248 ALMOST EQUAL TO: not included in any glyphset definition
- U+2260 NOT EQUAL TO: not included in any glyphset definition
- U+2264 LESS-THAN OR EQUAL TO: not included in any glyphset definition
- U+2265 GREATER-THAN OR EQUAL TO: not included in any glyphset definition
- U+25CA LOZENGE: not included in any glyphset definition
- U+25CC DOTTED CIRCLE: try adding one of: buginese, phags-pa, kayah-li, kaithi, telugu, myanmar, malayalam, brahmi, syloti-nagri, coptic, canadian-aboriginal, rejang, devanagari, buhid, tibetan, limbu, tagbanwa, mongolian, chakma, gujarati, thai, balinese, kharoshthi, lao, meetei-mayek, bengali, new-tai-lue, khmer, kannada, batak, gurmukhi, cham, lepcha, tagalog, javanese, tai-le, sundanese, tamil, hebrew, tifinagh, sinhala, tai-viet, hanunoo, thaana, mandaic, oriya
Or you can add the above codepoints to one of the subsets supported by the font:
arabic
,latin
,latin-ext
,menu
,vietnamese
[code: unreachable-subsetting]
Description strings in the name table must not exceed 200 characters.
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
Check font names are correct
🔥 ReemKufiFun[wght].ttf
- 🔥 FAIL
Font names are incorrect:
| nameID | current | expected | | :--- | :--- | :--- | | Family Name | Reem Kufi Fun | Reem Kufi Fun | | Subfamily Name | Regular | Regular | | Full Name | Reem Kufi Fun | Reem Kufi Fun Regular | | Poscript Name | ReemKufiFun | ReemKufiFun-Regular | [code: bad-names]
- ⚠️ WARN
Regular missing from full name [code: lacks-regular]
Font enables smart dropout control in "prep" table instructions?
🔥 ReemKufiFun[wght].ttf
- 🔥 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]
A static fonts directory with at least two fonts must accompany variable fonts
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
It seems that Santiago Orozco 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]
Ensure variable fonts include an avar table.
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
This variable font does not have an avar table. [code: missing-avar]
Ensure fonts have ScriptLangTags declared on the 'meta' table.
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
This font file does not have a 'meta' table. [code: lacks-meta-table]
Color layers should have a minimum brightness
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
The following glyphs have layers that are too bright or too dark: alefabove-ar, alefbelow-ar, dotabove-ar, dotbelow-ar, dotcenter-ar, tahabove-ar, threedotsdownabove-ar, threedotsdownbelow-ar, threedotsupabove-ar, threedotsupbelow-ar, twodotshorizontalabove-ar, twodotshorizontalbelow-ar, twodotsverticalabove-ar, twodotsverticalabove-ar.alt, twodotsverticalbelow-ar, vabove-ar, vbelow-ar and wasla-ar.
To fix this, please either set the color definitions of all layers in question to current color (0xFFFF), or alter the brightness of these layers significantly. [code: glyphs-too-dark-or-too-bright]
Section: Universal
🔥🔥⚠️⚠️⚠️⏩⏩⏩⏩⏩ℹ️ℹ️Glyph names are all valid?
🔥 ReemKufiFun[wght].ttf
- 🔥 FAIL
The following glyph names do not comply with naming conventions: ae-ar, ain-ar, ain-ar.fina, ain-ar.fina.1, ain-ar.init, ain-ar.medi, ain-ar.medi.1, ainThreedots-ar, alef-ar, alef-ar.1, alef-ar.2, alef-ar.3, alef-ar.fina, alef-ar.fina.Lam, alef-ar.fina.Lam.1, alefHamzaabove-ar, alefHamzabelow-ar, alefMadda-ar, alefMaksura-ar, alefMaksura-ar.1, alefMaksura-ar.fina, alefMaksura-ar.fina.1, alefWasla-ar, alefabove-ar, alefbelow-ar, beh-ar, behDotless-ar, behDotless-ar.fina, behDotless-ar.init, behDotless-ar.init.Hah, behDotless-ar.init.wide, behDotless-ar.medi, behDotless-ar.medi.high, behDotless-ar.medi.high.wide, behDotless-ar.medi.high.wider, behDotless-ar.medi.wide, behDotless-ar.medi.wider, comma-ar, dad-ar, dal-ar, dal-ar.fina, damma-ar, dammatan-ar, ddal-ar, dotabove-ar, dotabove-ar.color0, dotbelow-ar, dotbelow-ar.color0, dotcenter-ar, dotcenter-ar.color0, dul-ar, e-ar, eight-ar, fatha-ar, fathatan-ar, feh-ar, fehDotless-ar, fehDotless-ar.fina, fehDotless-ar.init, fehDotless-ar.medi, five-ar, four-ar, four-persian, four-persian.urdu, fullstop-ar, gaf-ar, gafsarkashabove-ar, ghain-ar, hah-ar, hah-ar.alt, hah-ar.fina, hah-ar.fina.1, hah-ar.fina.alt, hah-ar.fina.alt.1, hah-ar.init, hah-ar.init.2, hah-ar.medi, hah-ar.medi.1, hah-ar.medi.2, hahabove-ar, hamza-ar, hamzaabove-ar, hamzabelow-ar, heh-ar, heh-ar.1, heh-ar.fina, heh-ar.fina.1, heh-ar.init, heh-ar.init.1, heh-ar.init.2, heh-ar.init.3, heh-ar.isol, heh-ar.medi, heh-ar.medi.1, heh-ar.medi.2, heh-ar.medi.3, hehDoachashmee-ar, hehDoachashmee-ar.fina, hehHamzaabove-ar, hehgoal-ar, hehgoalHamzaabove-ar, highhamza-ar, jeem-ar, jeh-ar, kaf-ar, kaf-ar.fina, kaf-ar.fina.1, kaf-ar.init, kaf-ar.init.1, kaf-ar.medi, kaf-ar.medi.1, kafDotabove-ar, kashida-ar, kasra-ar, kasratan-ar, keheh-ar, kehehDotabove-ar, khah-ar, lam-ar, lam-ar.fina, lam-ar.init, lam-ar.init.Alef, lam-ar.init.Alef.1, lam-ar.init.Hah, lam-ar.medi, lam-ar.medi.Alef, lamVabove-ar, madda-ar, madda-ar.color0, meem-ar, meem-ar.1, meem-ar.2, meem-ar.fina, meem-ar.fina.1, meem-ar.fina.2, meem-ar.init, meem-ar.medi, meem-ar.medi.1, nine-ar, noon-ar, noonRing-ar, noonThreedotsabove-ar, noonghunna-ar, noonghunna-ar.fina, oe-ar, one-ar, peh-ar, qaf-ar, qafDotless-ar, qafDotless-ar.fina, question-ar, reh-ar, reh-ar.fina, rehVbelow-ar, ringbelow-ar, rnoon-ar, rreh-ar, sad-ar, sad-ar.fina, sad-ar.init, sad-ar.medi, seen-ar, seen-ar.fina, seen-ar.init, seen-ar.medi, semicolon-ar, seven-ar, seven-persian, seven-persian.urdu, shadda-ar, sheen-ar, six-ar, six-persian, sukun-ar, tah-ar, tah-ar.fina, tah-ar.init, tah-ar.medi, tahabove-ar, tcheh-ar, teh-ar, tehMarbuta-ar, tehMarbutagoal-ar, thal-ar, theh-ar, three-ar, threedotsdownabove-ar, threedotsdownabove-ar.color0, threedotsdownbelow-ar, threedotsdownbelow-ar.color0, threedotsupabove-ar, threedotsupabove-ar.color0, threedotsupbelow-ar, threedotsupbelow-ar.color0, tteh-ar, tteheh-ar, two-ar, two-persian, twodotshorizontalabove-ar, twodotshorizontalabove-ar.color0, twodotshorizontalbelow-ar, twodotshorizontalbelow-ar.color0, twodotsverticalabove-ar, twodotsverticalabove-ar.alt, twodotsverticalabove-ar.alt.color0, twodotsverticalabove-ar.color0, twodotsverticalbelow-ar, twodotsverticalbelow-ar.color0, vabove-ar, vbelow-ar, ve-ar, veh-ar, wasla-ar, waw-ar, waw-ar.fina, waw-ar.fina.1, wawDotabove-ar, wawHamzaabove-ar, wawTwodots-ar, yeh-ar, yeh-farsi, yehHamzaabove-ar, yehVabove-ar, yehbarree-ar, yehbarree-ar.fina, yehbarreeHamzaabove-ar, zah-ar, zain-ar and zero-ar
A glyph name must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) (underscore). A glyph name must not start with a digit or period. There are a few exceptions such as the special glyph ".notdef". The glyph names "twocents", "a1", and "" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]
Check font contains no unreachable glyphs
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
The following glyphs could not be reached by codepoint or substitution rules:
- IJacute - ijacute - macronbelowcomba - threedotsdownabove-ar - threedotsupbelow-ar
[code: unreachable-glyphs]
Does the font contain a soft hyphen?
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
This font has a 'Soft Hyphen' character. [code: softhyphen]
Check math signs have the same width.
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
The most common width is 718 among a set of 2 math glyphs. The following math glyphs have a different width, though:
Width = 551: plus
Width = 594: less
Width = 584: greater
Width = 496: logicalnot
Width = 532: plusminus
Width = 519: multiply
Width = 507: divide
Width = 624: minus
Width = 463: approxequal
Width = 556: lessequal, greaterequal [code: width-outliers]
Check accent of Lcaron, dcaron, lcaron, tcaron (derived from com.google.fonts/check/alt_caron)
🔥 ReemKufiFun[wght].ttf
- 🔥 FAIL
Lcaron uses component quoteright. [code: bad-mark]
- 🔥 FAIL
dcaron uses component quoteright. [code: bad-mark]
- 🔥 FAIL
lcaron uses component quoteright. [code: bad-mark]
Section: fontbakery.profiles.fvar
🔥⏩⏩⏩⏩⏩⏩Validates that when an instance record is included for the default instance, its subfamilyNameID value is set to a name ID whose string is equal to the string of either name ID 2 or 17, and its postScriptNameID value is set to a name ID whose string is equal to the string of name ID 6.
🔥 ReemKufiFun[wght].ttf
- 🔥 FAIL
'Regular' instance has the same coordinates as the default instance; its postscript name should be 'ReemKufiFun', instead of 'ReemKufiFun-Regular'. [code: invalid-default-instance-postscript-name]
Section: Shaping Checks
⚠️⏩⏩⏩Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
⚠️ ReemKufiFun[wght].ttf
- ⚠️ WARN
The dot of soft dotted characters used in orthographies must disappear in the following strings: j̀ 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̵̒ j̆ j̇ j̉ j̊ j̋ ǰ j̏ j̒ j̛̒ j̣̒ j̤̒ j̦̒
Your font fully covers the following languages that require the soft-dotted feature: Igbo (Latn, 27,823,640 speakers), Dutch (Latn, 31,709,104 speakers).
Your font does not cover the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Belarusian (Cyrl, 10,064,517 speakers), Lithuanian (Latn, 2,357,094 speakers), Aghem (Latn, 38,843 speakers), Navajo (Latn, 166,319 speakers), Basaa (Latn, 332,940 speakers). [code: soft-dotted]