BUG: Glyphs that had one intermediate layer now have two (with the same interpolation value)

After upgrading to [3081], I find that most (but not quite all) glyphs that have intermediate layers now have two active intermediate layers with the same interpolation value. The paths in the two layers are not identical; presumably some older layer was promoted to intermediate layer. Often (but not always), one of the intermediate layers appears last in the master’s layer list.

I hope this can be fixed without manually going through all glyphs to figure out which intermediate layer is the good one.

Screenshot 2021-05-06 at 17.48.36

Here’s the affected source file for Ysabeau:
— EDIT: Since the problem is older than [3081], it’s better to use the master source file than the copy I made for this purpose. —

New and affected file:

Old and unaffected file:

I tried opening the previously saved file with G2 and also found the spurious intermediate layers. The problem might have appeared longer ago than the upgrade to [3081].

(Then again, I have the strange impression that I had already upgraded to 3081 and was asked again this afternoon…?)

Apparently my Git commit from March 25 is still unaffected. The one from April 2 is affected. Maybe a Glyphs bug around that time introduced the problem?

I’ve edited the links above in the thread to show the March 25 version and the current version.

Hmmm… the occurrence of these superfluous layers is not nearly as ubiquitous as I thought, but mainly concentrated on lowercase letters. I’m starting to think they weren’t automatically generated, but perhaps represent backup copies of intermediate layers that I made, where the demotion from intermediate layer to regular layer didn’t work correctly for some reason. (Maybe it worked back then, but the newer versions of Glyphs reinterpreted them as active intermediate layers?)

I suspect this wouldn’t happen anymore with the newer versions of Glyphs that supposedly handles such things better.

Aha! Interesting.

I demoted the second active {48} layer in the /a/ glyph from intermediate layer to regular layer and added an «old?» tag to remind myself that this is not the version I’m planning to keep.

Screenshot 2021-05-07 at 15.33.52

I saved, quit, and reloaded, and lo! the layer has been promoted to active intermediate layer again:

Screenshot 2021-05-07 at 15.34.14

It looks like Glyphs is overzealous in interpreting layers starting with {…} as intermediate layers. I suppose I could circumvent that by renaming them «fortyeight» instead of «{48}» (as I did in earlier versions of Glyphs), but that’s a pretty annoying workflow. I certainly didn’t expect that behavior, given that intermediate layers are no longer just a matter of naming a layer but of selecting that function from the menu. (Or does simply naming a layer {…} still work as it did before?)

BTW: It’s a bit unfortunate that intermediate layers do not remember their creation date like regular layers do. It would be useful if making a copy of an intermediate layer (1) renamed it such that it is no longer recognized as an active intermediate layer, and (2) added the creation timestamp to the name.

In G2 to G3 conversion, the names need to be interpreted. In which file format are you storing the font? See Font Info > Other.

1 Like

It doesn’t happen by just opening and saving the file. So I suspect that some operation along the way was causing this.

@mekkablue’s intuition was correct: It doesn’t happen anymore after I convert the file to version 3 format. Thanks!

Does it happen still if you just open the old file and save it (as a Glyphs2 file)?