Shift of Components in interpolated styles and variable font

An alignment shift of 1 pixel or more is happening between components that are aligned vertically. The #exit and #entry anchors are correctly placed on the edge of the stems, but in the interpolated styles and the variable font width axes, there is an error shift of 1 pixel or more that accrues.
Is there a way to solve this problem without the need for decomposing the components and merging the glyph into one outline? Or this is a bug in Glyphs? I am testing on the latest cutting edge version and the error is still happening.

That happens because of rounding errors. Just let it shift…

There is no solution to this bug?
It is true that it only shows in very big type size and it might not be noticed in normal points sizes, but it is still annoying especially in thin weight if the stem weight is around 10units and there is a shift in 1 or 2 units. It looks like a bug. In heavier weights, it might not as problematic.

That can’t be solved. You always need a small overlap to avoid gaps.

I can have a look at your file,

Thank you Georg for the advice.
I will send you the Glyphs file by email.

Hi Georg,

Having the same problem of the shift error between the components.
Any way around it now? Or I have to decompose these glyphs?

There are two things that get interpolated: (a) the point positions in each component, and (b) the position of each component. Both of them get rounded to the grid, so rounding errors will have to be expected.

Consider a smart component instead, perhaps?

Some ideas:

  • Build the pieces that they they connect in places that are not visible. e.g. build a lam that doesn’t need the connector.
  • if the vertical stroke and the connector have the same coordinate, they will be rounded the same. So you might need to move either outline a bit. As long as you use anchors to connect everything, position of the outline should otherwise not matter.

Thank you both, Rainer and Georg, for the tips!

Yes, I am using anchors and the components are automatically aligned.

I will rebuild the components in a different way or try the smart component option.