Names shouldn’t be required for intermediate/brace layers either
lianghai opened this issue · 5 comments
I programmatically created some intermediate/brace layers (without GSLayer.name) in Glyphs, and they worked fine, but glyphsLib isn’t able to export them to UFO layers because of this validation:
glyphsLib/Lib/glyphsLib/builder/builders.py
Lines 297 to 304 in e2ebf5b
The condition not layer._is_bracket_layer()
should be extended to cover any types of layer that have a synthesized name in the built UFO, in particular intermediate/brace layers.
I’m working on it. You can try by switching to the Glyphs3 branch.
Good to know it’s a known issue. For now I’ll just make sure GSLayer.name is not empty. 👌
Can you try with the code in the "Glyphs3_merge" branch. It seems to work for me, now.
Sorry, I’ll just wait for a stable release before verifying this.
The other day I did notice some other symptom that suggests the current stable glyphsLib relies on unique layer names (which is inconsistent with Glyphs’s usage of layer IDs). The reliance on unique layer names causes unexpected conflicts of layers.
It would be good to verify the fix before releasing it. Could you send me a test file?