What exactly causes the alignment shift dialog to appear after updating versions?

Updating between most 323* versions has resulted in a few (<20) glyphs that needed updating. 3237 caused 600+ that needed updating. The same (unmodified) file in 3238 has 200+. Most of these are glyphs made out of only components (no paths) with automatic alignment turned on for all layers. Why would there be a shift?

4 Likes

I’ve been using Glyphs for over a decade and I’ve still never understood this.

2 Likes

Two things:

  1. If a component is set to be aligned but the calculated width or component positions diverge from the stored values.
  2. If the component alignment was not defined at all (because of the app version it was saved in) and it is unclear whether the component is supposed to align. But if it does, widths and positions will change.

I assume it is this because it is only warning me about aligned components as far as I can tell. Which makes me wonder how the calculation is made… I don’t understand how this would change version-to-version when I haven’t modified the glyphs or their side bearings in the components these compound glyphs are composed of

2 Likes

The last few cutting edge were a but rough with the component alignment. I tried to improve things, but that had some side effects that caused some changes in the anchor decomposition, that in turn changed the component alignment.

So each time, you open a file that has be saved in another version, it tries to auto align all components and compares it with the state in the file. If it is different, it gives you the chance to keep the existing positioning.

And when the file is saved, it is supposed to align all components to make sure that everything is up to date. But sometimes that is not enough and the file is saved with out of date component positions. That can trigger this dialog, too.

3 Likes

Thank you for the explanation. So if I understand correctly, there are coordinates stored in the Glyphs file that update on save. And when the file is opened in a new version, everything that is auto aligned has its coordinates recalculated and the components are realigned. What I still don’t understand is why there are changes between versions if I don’t change anything about the glyphs being used as components, I don’t change their metrics, I don’t change anchors, and I don’t change whether they are auto aligned or not. Why would the calculation be different in new versions? Shouldn’t it be the same?

Sometimes, the algorithm changes slightly, or I mess things up.

1 Like

Would it be possible to keep that dialog open, and make it more manageable step by step? Perhaps, an option to open the selected layers in a tab and then run the Ok button only for them, after which they will be removed from the list, and so on, to go through it in parts?

I get lists of 200–300 changes in some big files, so opening all them in a tab with no further guidance of what I am looking at is just hopeless :slight_smile:

3 Likes

That is an interesting idea. I like to focus on not showing the dialog to begin with. For the last few versions, you probably just like to keep the alignment and wait for me to fix this properly.