googlefonts / googlefonts/fontmake
Exclude glyphs from master, bug → feature
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
Sometimes during compiling a variable font, due to uncertain conditions there are warnings about excluding glyphs from master, although glyphs seem to be valid (see [excluding-glyphs.zip](https://github.com/googlefonts/fontmake/files/6056159/excluding-glyphs.zip))
```sh
WARNING:fontTools.varLib:glyph _22 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _23 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _24 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _25 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _26 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _27 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _28 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _29 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _30 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _31 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _32 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _33 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _34 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _35 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _36 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _37 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _38 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _39 has incompatible masters; skipping
WARNING:fontTools.varLib:glyph _40 has incompatible masters; skipping
```
That fact can be considered a feature - some axis may need to change only a subset of glyphs, eg. used as components by other glyphs. That feature would allow reducing resulting file size by excluding unchanging glyphs.
But that's not completely clear if that's possible to define via `designspace`:
```designspace
```
doesn't seem to do anything.
Could you clarify that point - is that possible to exclude characters from master? [Wavefont](https://a-vis.github.io/wavefont), for example, could reduce size this way 2-3 fold.
Contributor guide
Assessment
This issue has not been assessed yet.