googlefonts / googlefonts/fontmake
Glyphs missing from GDEF
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
In the Handjet production we noticed [an issue](https://github.com/rosettatype/Handjet/issues/8) where fontmake (0.2.2) would fail to include certain mark glyphs in the compiled font's `GDEF`.
Please find here a [folder with test files](https://www.dropbox.com/s/1cepkzugxmx0zh8/handjet-gdef-testcase.zip?dl=0).
Running these commands show the problem:
```
fontmake -u Handjet-Regular.ufo -o ttf
fontbakery check-googlefonts -c com.google.fonts/check/gdef_mark_chars master_ttf/Handjet-Regular.ttf
ttx -t GDEF master_ttf/Handjet-Regular.ttf
```
Fontbakery complains about missing `GDEF`'s:
> com.google.fonts/check/gdef_mark_chars
Check mark characters are in GDEF mark glyph class
with master_ttf/Handjet-Regular.ttf
Rationale:
Mark characters should be in the GDEF mark glyph class.
> WARN: The following mark characters could be in the GDEF mark glyph class:
U+0324, U+0335, U+0344, U+05B0, U+05B1, U+05B2, U+05B3, U+05B4, U+05B5, U+05B6, U+05B7, U+05B8, U+05B9, U+05BA, U+05BB, U+05BC, U+05BF, U+05C1, U+05C2, U+05C7, U+0610, U+064B, U+064C, U+064D, U+064E, U+064F, U+0650, U+0651, U+0652, U+0653, U+0654, U+0655, U+0656, U+0658 and U+0670 [code: mark-chars]
And indeed inspecting the `GDEF` ttx dump e.g. uni0324/diesresisbelow is missing entirely.
The `Handjet-Regular.ufo/glyphs/dieresisbelow.glif` seems correct, no advance width, `_bottom` mark attachment anchor:
```
...
```
Why are these glyphs not included in the `GDEF` table?
Contributor guide
Assessment
This issue has not been assessed yet.