googlefonts / googlefonts/glyphsLib
glyph = self.glyphSet[glyphName] KeyError: ''
- Dominant language
- Python
- Stars
- 201
- Forks
- 56
- Avg merge
- 17m
- Merged PRs (30d)
- 1
Description
Hello,
With version 5.2.0
```
€ wget https://github.com/antijingoist/opendyslexic/archive/v0.91.12.tar.gz
€ tar xf v0.91.12.tar.gz
€ cd opendyslexic-0.91.12/sources/opendyslexic
€ glyphs2ufo 'OpenDyslexic Italic.glyphs'
Glyph 'a': All components of the background layer of 'Italic' will be decomposed.
Traceback (most recent call last):
File "/usr/bin/glyphs2ufo", line 33, in
sys.exit(load_entry_point('glyphsLib==5.2.0', 'console_scripts', 'glyphs2ufo')())
File "/usr/lib/python3/dist-packages/glyphsLib/cli.py", line 228, in _glyphs2ufo_entry_point
return main(args)
File "/usr/lib/python3/dist-packages/glyphsLib/cli.py", line 189, in main
return options.func(options)
File "/usr/lib/python3/dist-packages/glyphsLib/cli.py", line 208, in glyphs2ufo
glyphsLib.build_masters(
File "/usr/lib/python3/dist-packages/glyphsLib/__init__.py", line 114, in build_masters
designspace = to_designspace(
File "/usr/lib/python3/dist-packages/glyphsLib/builder/__init__.py", line 111, in to_designspace
return builder.designspace
File "/usr/lib/python3/dist-packages/glyphsLib/builder/builders.py", line 277, in designspace
list(self.masters) # Make sure that the UFOs are built
File "/usr/lib/python3/dist-packages/glyphsLib/builder/builders.py", line 199, in masters
self.to_ufo_glyph(ufo_glyph, layer, glyph)
File "/usr/lib/python3/dist-packages/glyphsLib/builder/glyph.py", line 131, in to_ufo_glyph
self.to_ufo_glyph_background(ufo_glyph, layer)
File "/usr/lib/python3/dist-packages/glyphsLib/builder/glyph.py", line 277, in to_ufo_glyph_background
self.to_ufo_components(new_glyph, background)
File "/usr/lib/python3/dist-packages/glyphsLib/builder/components.py", line 44, in to_ufo_components
to_ufo_components_background_decompose(self, ufo_glyph, layer)
File "/usr/lib/python3/dist-packages/glyphsLib/builder/components.py", line 112, in to_ufo_components_background_decompose
component.draw(rpen)
File "/usr/lib/python3/dist-packages/glyphsLib/classes.py", line 2267, in draw
pen.addComponent(self.name, self.transform)
File "/usr/lib/python3/dist-packages/fontTools/pens/basePen.py", line 176, in addComponent
glyph = self.glyphSet[glyphName]
KeyError: ''
```
Samuel
Contributor guide
Research direction
Reproduce the failure with glyphs2ufo on OpenDyslexic Italic.glyphs, then trace the background-component path through glyphsLib/builder/components.py and glyphsLib/classes.py. Confirm the conversion no longer raises KeyError: '' and verify the command completes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100