googlefonts / googlefonts/fontmake
Unable to build instances for 4 Noto fonts (related to include path handling fix)
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
Since handling of includes was changed in fontmake (or one of the libraries it uses) I'm unable to build instances for the following fonts:
- NotoSansHanifiRohingya
- NotoSansMedefaidrin
- NotoSerifNyiakengPuachueHmong
- NotoSerifYezidi
All the sources I use for this build are in https://github.com/googlefonts/noto-source/tree/main/src
The symptoms of the failure (for example for _fontmake -m src/NotoSerifYezidi/*.designspace -i -o otf ttf_ ):
INFO:fontmake.font_project:Interpolating master UFOs from designspace
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Yezidi Regular"
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Yezidi Medium"
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Yezidi SemiBold"
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Yezidi Bold"
INFO:fontmake.font_project:Building OTF for NotoSerifYezidi-Regular
INFO:ufo2ft:Pre-processing glyphs
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on NotoSerifYezidi-Regular
INFO:ufo2ft.filters.base:Running RemoveOverlapsFilter on NotoSerifYezidi-Regular
INFO:ufo2ft:Building OpenType tables
fontmake: Error: In 'src/NotoSerifYezidi/NotoSerifYezidi.designspace' -> 'src/build/instance_ufos/NotoSerifYezidi-Regular.ufo': Compiling UFO failed: src/build/instance_ufos/NotoSerifYezidi-Regular.ufo/features.fea:1:8: The following feature file should be included but cannot be found: family.fea
I need help fixing the sources or fixing something in the fontmake (or libraries).
Note that I can build the variable fonts but I'm not certain anymore that it properly deals with the external feature file.
I believe that the issue is that "fontmake et al" creates build instance_ufos in a separate build directory. However, the features.fea in each UFO includes file that is in the .. directory in the sources which is not copied to the build UFO structure.
PS. For NotoSerifNyiakengPuachueHmong the file path is somewhat different but the failure is the same
INFO:fontmake.font_project:Interpolating master UFOs from designspace
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Hmong Nyiakeng Regular"
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Hmong Nyiakeng Medium"
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Hmong Nyiakeng SemiBold"
INFO:fontmake.font_project:Generating instance UFO for "Noto Serif Hmong Nyiakeng Bold"
INFO:fontmake.font_project:Building OTF for NotoSerifHmongNyiakeng-Regular
INFO:ufo2ft:Pre-processing glyphs
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on NotoSerifHmongNyiakeng-Regular
INFO:ufo2ft.filters.base:Running RemoveOverlapsFilter on NotoSerifHmongNyiakeng-Regular
INFO:ufo2ft:Building OpenType tables
fontmake: Error: In 'src/NotoSerifNyiakengPuachueHmong/NotoSerifNyiakengPuachueHmong.designspace' -> 'src/NotoSerifNyiakengPuachueHmong/instance_ufos/NotoSerifNyiakengPuachueHmong-Regular.ufo': Compiling UFO failed: src/NotoSerifNyiakengPuachueHmong/instance_ufos/NotoSerifNyiakengPuachueHmong-Regular.ufo/features.fea:1:8: The following feature file should be included but cannot be found: family.fea
PS2. I believe I can copy the common feature file into each instance UFO and this would fix the issue but the designer of the font established a common feature file for all instances and copying this file into each instance would fore us to maintain multiple copies of the same info
Contributor guide
Assessment
This issue has not been assessed yet.