Build is blocked by a glyph that apparently has zero characters in its name ....
βΆ python build.py --varfiles
π Building files for mastering
π Generating sources
π Copying files
π Opening sources
π Checking family name
π Removing non-exporting glyphs
Traceback (most recent call last):
File "build.py", line 69, in <module>
files = buildFiles(version=version, static=False)
File "/Users/stephennixon/type-repos/recursive/mastering/build_files.py", line 95, in buildFiles
makeSources(ds, paths["src"], version)
File "/Users/stephennixon/type-repos/recursive/mastering/build_files.py", line 72, in makeSources
prep(os.path.join(src, ds), version)
File "/Users/stephennixon/type-repos/recursive/mastering/prep_fonts.py", line 507, in prep
decomposeNonExportingGlyphs(fonts)
File "/Users/stephennixon/type-repos/recursive/mastering/prep_fonts.py", line 248, in decomposeNonExportingGlyphs
removeGlyphs(font, non_exporting)
File "/Users/stephennixon/type-repos/recursive/mastering/prep_fonts.py", line 39, in removeGlyphs
glyphOrder = font.glyphOrder
File "/Users/stephennixon/type-repos/recursive/venv/lib/python3.7/site-packages/fontParts/base/base.py", line 90, in __get__
return getter()
File "/Users/stephennixon/type-repos/recursive/venv/lib/python3.7/site-packages/fontParts/base/font.py", line 1104, in _get_base_glyphOrder
value = normalizers.normalizeGlyphOrder(value)
File "/Users/stephennixon/type-repos/recursive/venv/lib/python3.7/site-packages/fontParts/base/normalizers.py", line 96, in normalizeGlyphOrder
normalizeGlyphName(v)
File "/Users/stephennixon/type-repos/recursive/venv/lib/python3.7/site-packages/fontParts/base/normalizers.py", line 306, in normalizeGlyphName
raise ValueError("Glyph names must be at least one character long.")
ValueError: Glyph names must be at least one character long.
Steps taken to resolve:
Write script to check for glyphs with names less than 1 character in length. Nothing is surfacing for this, so the error is probably something else.
Oh, I should have just stuck a print() statement in fontParts/base/normalizers.py", line 306. Doing that now... but nothing shows up. This is checking groups values, so the problem could be there.
Checking in Prepolator Next, I found that the fractions all had a mismatching components, because the Sans still had the fraction.split as a component
Iβm trying to build in the frac-design branch, so instead Iβll try moving up to main to see whether itβs working there. ...hmmmm it does work there. So, it is a change due to the new fraction glyphs, somehow...
Sorting source fonts
one of the sources had global guidelines, so i removed those
the threequarters.afrc had incompatible ordering of components, which I have rearranged to fix
I used git diff main..HEAD -- "/Users/stephennixon/type-repos/recursive/src/ufo/sans/Recursive Sans-Linear B.ufo/lib.plist" to search for the diff in a random lib, to check for errant glyphs. I got super lucky, as this is the only source which has a blank glyphname in its lib.plist: <string></string>. This miiiight be the issue???
Problem description
Build is blocked by a glyph that apparently has zero characters in its name ....
Steps taken to resolve:
1
character in length. Nothing is surfacing for this, so the error is probably something else.print()
statement infontParts/base/normalizers.py", line 306
. Doing that now... but nothing shows up. This is checking groups values, so the problem could be there.fraction.split
as a componentmain
to see whether itβs working there. ...hmmmm it does work there. So, it is a change due to the new fraction glyphs, somehow...git diff main..HEAD -- "/Users/stephennixon/type-repos/recursive/src/ufo/sans/Recursive Sans-Linear B.ufo/lib.plist"
to search for the diff in a random lib, to check for errant glyphs. I got super lucky, as this is the only source which has a blank glyphname in its lib.plist:<string></string>
. This miiiight be the issue???