notofonts/noto-source

Cannot build NotoMusic with current build instructions

iwsfutcmd opened this issue · 2 comments

Attempting to build NotoMusic with the build instructions from the readme results in the following error:

INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.classes:Parsing "src/NotoMusic.glyphs" file into <GSFont>
ERROR:ufo2ft.featureWriters:failed to load feature writer: {'class': 'CursFeatureWriter', 'options': {'mode': 'append'}}
Traceback (most recent call last):
  File "/home/iwsfutcmd/git-repos/noto-source/env/lib/python3.9/site-packages/ufo2ft/featureWriters/__init__.py", line 86, in loadFeatureWriters
    klass = getattr(module, className)
AttributeError: module 'ufo2ft.featureWriters' has no attribute 'CursFeatureWriter'
INFO:fontmake.font_project:Interpolating master UFOs from designspace
fontmake: Error: In 'src/NotoMusic.glyphs' -> 'master_ufo/NotoMusic-Regular.designspace' -> 'master_ufo/NotoMusic-Regular.designspace': Preparing the Designspace for interpolation failed: Can't generate UFOs from this Designspace because there is no default master source at location 'Weight: 100.0, Width: 100.0'. Check that all 'default' values of all axes together point to a single actual master source. For axes with a mapping, the 'default' values should have an 'input="..."' map value, where the corresponding 'output="..."' value then points to the master source.

This is due to the fact that more recent versions of fontmake and ufo2ft are needed.

Temporary fix:

  • Generate venv using ./build setup as normal
  • Activate venv with source env/bin/activate
  • Install newer version of fontmake with pip3 install --upgrade fontmake
  • Install newer version of ufo2ft with pip install --upgrade git+git://github.com/googlefonts/ufo2ft.git@32fa83c
    • Note: v2.25.2 from PyPI is not sufficient for build
  • Build font with ./build src/NotoMusic.glyphs

Sorry about this. The relevant fix to ufo2ft was googlefonts/ufo2ft#576. Unfortunately there hasn't been a new release of ufo2ft since then, so currently git versions are required. I'll get a new release cut.