diff --git a/Lib/fontbakery/checks/glyphset.py b/Lib/fontbakery/checks/glyphset.py index b84b7e575d..8be44967fb 100644 --- a/Lib/fontbakery/checks/glyphset.py +++ b/Lib/fontbakery/checks/glyphset.py @@ -31,11 +31,7 @@ def check_case_mapping(ttFont): EXCEPTIONS = [ 0x0192, # ƒ - Latin Small Letter F with Hook 0x00B5, # µ - Micro Sign - 0x03C0, # π - Greek Small Letter Pi 0x2126, # Ω - Ohm Sign - 0x03BC, # μ - Greek Small Letter Mu - 0x03A9, # Ω - Greek Capital Letter Omega - 0x0394, # Δ - Greek Capital Letter Delta 0x0251, # ɑ - Latin Small Letter Alpha 0x0261, # ɡ - Latin Small Letter Script G 0x00FF, # ÿ - Latin Small Letter Y with Diaeresis @@ -53,6 +49,13 @@ def check_case_mapping(ttFont): 0x026B, # ɫ - Latin Small Letter L with Middle Tilde ] + # Font has incomplete legacy Greek coverage, so ignore Greek dynamically + # (minimal Greek coverage is 2x24=48 characters, so we assume incomplete + # if coverage is less than half of 48) + greek = characters_per_script(ttFont, "Greek") + if 0 < len(greek) < 24: + EXCEPTIONS.extend(greek) + missing_counterparts_table = [] cmap = ttFont["cmap"].getBestCmap() for codepoint in cmap: