Adjusting relative layer sidebearings with keys changes glyph sidebearings

Using the keyboard to adjust relative LSB/RSB values per layer seems to be a bit flaky – it often reverts to adjusting for the whole glyph. This seems like it must be a bug.

Steps to reproduce:

  • Open a font with multiple layers
  • Open a component glyph with automatic alignment enabled in Edit View
  • Set one of the sidebearings to a value like =+50 to add 50 units to the sidebearing inherited from the component in all layers in the glyph (you can switch layers to confirm that it’s set everywhere)
  • Set the sidebearing to ==+100 to add 100 units to the inherited value only for the current layer
  • Put the cursor back in the sidebearing field you just changed and use the / keys (with or without ) to adjust

The result: The double == changes back to a single =, and the value is updated in all layers instead of only in the current layer.

As far as I can tell/test, it seems that if you then add the extra = back in and try again, then it works as expected. It’s only the first time you do it that it fails.

Works fine for me.

It’s happened to me a number of times… but after writing here, I took more note, and it also sometimes doesn’t happen even on the first try.

I also sometimes see metrics being ‘out of sync’, showing the metric keys for adjacent glyphs. For example, if I have the OSF figures set to use the default figures as metric keys (one.sc uses one as its left and right metric keys, two.sc uses two, etc.) and I arrow through the OSF numbers in Font View, then sometimes one.sc will have an empty left metric key, two.sc will show one, three.sc will show two, etc. This usually fixes itself if I open one of the glyphs in Edit View, hit Home/End to cycle through some of the affected glyphs and then go back to Font View.

Sidebearings aren’t always updated in the info panel either (Font View and Edit View), especially if I change them through scripting. Cycling through some glyphs in Edit View usually fixes that too.

So perhaps there’s just something unusual going on on my machine…