Fontbakery Technical Report

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 1 12 66 9 153
0% 1% 6% 35% 5% 82%

Note: The following loglevels were omitted in this report: SKIP, INFO, PASS, DEBUG

Meaning of check results:

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

⚠️⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩ℹ️ℹ️ℹ️ℹ️ℹ️ℹ️ℹ️

Check for codepoints not covered by METADATA subsets.

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/unreachable_subsetting>
⚠️ ReemKufiInk-Regular.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: cherokee, coptic, tai-le
    • U+0301 COMBINING ACUTE ACCENT: try adding one of: cherokee, coptic, tifinagh, tai-le
    • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, coptic, tifinagh
    • U+0303 COMBINING TILDE: not included in any glyphset definition
    • U+0304 COMBINING MACRON: try adding one of: cherokee, coptic, gothic, tifinagh
    • U+0306 COMBINING BREVE: try adding tifinagh
    • U+0307 COMBINING DOT ABOVE: try adding one of: coptic, malayalam, tai-le, canadian-aboriginal, tifinagh
    • U+0308 COMBINING DIAERESIS: try adding one of: tai-le, coptic, gothic
    • 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: cherokee, tai-le
    • 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: cherokee, coptic, tifinagh, malayalam
    • 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: cherokee, tifinagh, gothic
    • 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: coptic, cham, kaithi, devanagari, myanmar, thai, gurmukhi, meetei-mayek, tifinagh, thaana, buginese, new-tai-lue, kharoshthi, kayah-li, mongolian, batak, tagbanwa, malayalam, chakma, buhid, rejang, lao, telugu, kannada, khmer, gujarati, brahmi, phags-pa, tai-le, hanunoo, oriya, syloti-nagri, tibetan, sundanese, javanese, sinhala, balinese, tai-viet, mandaic, lepcha, limbu, hebrew, canadian-aboriginal, tamil, bengali, tagalog

    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.

Check ID: <FontBakeryCheck:com.google.fonts/check/name/description_max_length>
⚠️ ReemKufiInk-Regular.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]

A static fonts directory with at least two fonts must accompany variable fonts

Check ID: <FontBakeryCheck:com.google.fonts/check/repo/vf_has_static_fonts>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ WARN

    Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]

On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.

Check ID: <FontBakeryCheck:com.google.fonts/check/description/family_update>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ 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]

Ensure fonts have ScriptLangTags declared on the 'meta' table.

Check ID: <FontBakeryCheck:com.google.fonts/check/meta/script_lang_tags>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ WARN

    This font file does not have a 'meta' table. [code: lacks-meta-table]

Section: Universal

🔥⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩⏩ℹ️ℹ️

Check font contains no unreachable glyphs

Check ID: <FontBakeryCheck:com.google.fonts/check/unreachable_glyphs>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ WARN

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

    - glyph00117
    
    - glyph00118
    

    [code: unreachable-glyphs]

Check if each glyph has the recommended amount of contours.

Check ID: <FontBakeryCheck:com.google.fonts/check/contour_count>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ 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: Eth	Contours detected: 3	Expected: 2
    
    - Glyph name: Dcroat	Contours detected: 3	Expected: 2
    
    - Glyph name: dcroat	Contours detected: 3	Expected: 2
    
    - Glyph name: hbar	Contours detected: 2	Expected: 1
    
    - Glyph name: Tbar	Contours detected: 2	Expected: 1
    
    - Glyph name: tbar	Contours detected: 2	Expected: 1
    
    - Glyph name: ohorn	Contours detected: 3	Expected: 2
    
    - Glyph name: Uhorn	Contours detected: 2	Expected: 1
    
    - Glyph name: uhorn	Contours detected: 2	Expected: 1
    
    - Glyph name: uni1EDB	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EDD	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EDF	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EE3	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EE8	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EE9	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEA	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEB	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEC	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EED	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEE	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEF	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EF0	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EF1	Contours detected: 3	Expected: 2
    
    - Glyph name: Dcroat	Contours detected: 3	Expected: 2
    
    - Glyph name: Eth	Contours detected: 3	Expected: 2
    
    - Glyph name: Tbar	Contours detected: 2	Expected: 1
    
    - Glyph name: Uhorn	Contours detected: 2	Expected: 1
    
    - Glyph name: dcroat	Contours detected: 3	Expected: 2
    
    - Glyph name: hbar	Contours detected: 2	Expected: 1
    
    - Glyph name: ohorn	Contours detected: 3	Expected: 2
    
    - Glyph name: tbar	Contours detected: 2	Expected: 1
    
    - Glyph name: uhorn	Contours detected: 2	Expected: 1
    
    - Glyph name: uni00AD	Contours detected: 1	Expected: 0
    
    - Glyph name: uni1EDB	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EDD	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EDF	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EE3	Contours detected: 4	Expected: 3
    
    - Glyph name: uni1EE8	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EE9	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEA	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEB	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEC	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EED	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEE	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EEF	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EF0	Contours detected: 3	Expected: 2
    
    - Glyph name: uni1EF1	Contours detected: 3	Expected: 2
    

    [code: contour-count]

Does the font contain a soft hyphen?

Check ID: <FontBakeryCheck:com.google.fonts/check/soft_hyphen>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character. [code: softhyphen]

Check math signs have the same width.

Check ID: <FontBakeryCheck:com.google.fonts/check/math_signs_width>
⚠️ ReemKufiInk-Regular.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: greaterequal, lessequal [code: width-outliers]

Check accent of Lcaron, dcaron, lcaron, tcaron (derived from com.google.fonts/check/alt_caron)

Check ID: <FontBakeryCheck:com.google.fonts/check/alt_caron:googlefonts>
🔥 ReemKufiInk-Regular.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.os2

⚠️⏩

Check if OS/2 xAvgCharWidth is correct.

Check ID: <FontBakeryCheck:com.google.fonts/check/xavgcharwidth>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ WARN

    OS/2 xAvgCharWidth is 609 but it should be 594 which corresponds to the average of the widths of all glyphs in the font. [code: xAvgCharWidth-wrong]

Section: fontbakery.profiles.post

⚠️

Font has correct post table version?

Check ID: <FontBakeryCheck:com.google.fonts/check/post_table_version>
⚠️ ReemKufiInk-Regular.ttf
  • ⚠️ WARN

    Post table format 3 use has niche use case problems.Please review the check rationale for additional details. [code: post-table-version]

Section: Shaping Checks

⚠️⏩⏩⏩

Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.

Check ID: <FontBakeryCheck:com.google.fonts/check/soft_dotted>
⚠️ ReemKufiInk-Regular.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: Dutch (Latn, 31,709,104 speakers), Igbo (Latn, 27,823,640 speakers).

    Your font does not cover the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Lithuanian (Latn, 2,357,094 speakers), Navajo (Latn, 166,319 speakers), Basaa (Latn, 332,940 speakers), Aghem (Latn, 38,843 speakers), Belarusian (Cyrl, 10,064,517 speakers). [code: soft-dotted]