googlefonts / googlefonts/glyphsLib

glyph = self.glyphSet[glyphName] KeyError: ''

Open
#636 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.