Space Bar plugin not displaying information

I’ve been trying to use the Space Bar plugin by Yanone on recent Glyphs 3 versions and although I get no errors and the plugin is installed correctly and “technically” working, I literally only see the Interpolation Space section and nothing else. Things like Width and Sidebearings simply do not display for me at all.

I’ve tried installing both from the Plugin Manager as well as getting the plugin from the Glyphs3 branch in the repo, it’s all the same. I suspect there might have been a change in the Glyphs API which prevents the plugin from displaying all the information in the edit view?

I do get a bunch of tracebacks which imply I might be right about why it’s not working:

Traceback (most recent call last):
  File "__init__.py", line 1185, in foreground
    instanceMasters = [x[0] for x in GSInstance_SortedInterpolationValues(font.instances[0])]
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "__init__.py", line 186, in GSInstance_SortedInterpolationValues
    instanceMastersKeys = list(self.instanceInterpolations.keys())
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'keys'

Traceback (most recent call last):
  File "__init__.py", line 1185, in foreground
    instanceMasters = [x[0] for x in GSInstance_SortedInterpolationValues(font.instances[0])]
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "__init__.py", line 186, in GSInstance_SortedInterpolationValues
    instanceMastersKeys = list(self.instanceInterpolations.keys())
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'keys'

Traceback (most recent call last):
  File "__init__.py", line 1287, in foreground
    layer = instance.interpolatedFontProxy.glyphs[leftGlyph.name].layers[instance.interpolatedFontProxy.fontMasterID()]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'layers'

Traceback (most recent call last):
  File "__init__.py", line 1400, in foreground
    layer = instance.interpolatedFontProxy.glyphs[rightGlyph.name].layers[instance.interpolatedFontProxy.fontMasterID()]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'layers'

Traceback (most recent call last):
  File "__init__.py", line 1287, in foreground
    layer = instance.interpolatedFontProxy.glyphs[leftGlyph.name].layers[instance.interpolatedFontProxy.fontMasterID()]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'layers'

Traceback (most recent call last):
  File "__init__.py", line 1400, in foreground
    layer = instance.interpolatedFontProxy.glyphs[rightGlyph.name].layers[instance.interpolatedFontProxy.fontMasterID()]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'layers'

Traceback (most recent call last):
  File "__init__.py", line 1287, in foreground
    layer = instance.interpolatedFontProxy.glyphs[leftGlyph.name].layers[instance.interpolatedFontProxy.fontMasterID()]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'layers'

Traceback (most recent call last):
  File "__init__.py", line 1400, in foreground
    layer = instance.interpolatedFontProxy.glyphs[rightGlyph.name].layers[instance.interpolatedFontProxy.fontMasterID()]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'layers'

Thought I might mention it here in case I am the only one who has issues.

Do you have a Variable Font Setting in Font Info > Exports?

This is a problem with Variable Export settings. I had a look and I hope I fixed it.

1 Like

Thanks Georg! That did the trick for me, I appreciate the fix.