I have a setup where En-cy is constructed using the H component. The H is auto-aligned, and I also use a bottomright anchor in En-cy to attach and build Endescender-cy
When I adjust the left sidebearing of H, it shifts its position in En-cy due to the auto-alignment. However, the bottomright anchor does not automatically adjust its position accordingly. This misalignment results in the descender being misplaced in Endescender-cy.
Yeah, that’s true…
But I would prefer to not overcharge layers with this kind of extra anchors.
I was wondering if this could be handled by Glyphs.
If the layer bounds are shifted due to a change in LSB, could it be possible to apply this shift to the anchors as well?
This is why I really, really would love to see an enhanced anchor syntax, where multiple anchor names can be added to one anchor object: ogonek bottomright #exit, for example. Like HTML classes, simply space-separated.
I’m talking about overloading layers, which is a byproduct of my proposed solution. Multiple anchors on top of each other are quite annoying to handle.
I had forgotten about anchor.orientation, that’s interesting!
What happens if you move the leftmost point in the H? The anchor follows? There is no way to sync anchors in a composite to the changed in the base glyphs.
I find it quite annoying using many anchors, which I need to do to circumvent issues like the one Hugo mentioned. I have, for example, I with three anchors on top of each other: ogonek, bottomright and #exit.
To be honest, though, I get by, as long as accept that I have all my anchors in my base glyph (however nested my component setup might be).
Move the leftmost node without changing LSB, ensuring no coordinates of other nodes are modified. Whereas, adding +10 to LSB also adjusts the x-coordinates of all nodes and anchors.
That’s why for me, it would also make sense to the same for this kind of case (composite layer with anchors)
Not exactly overcharge, but for example, H anchors predefined in the GlyphData.xml don’t include bottomright (which is normal), whereas En-cydoes. I aim to follow GlyphsApp recipes as closely as possible when building these glyphs.
the composite glyph has not much idea about what happens in the base glyph. And even if it would know what’s going on, there are so many things that can happen in that base glyphs – understanding how the anchor should respond to it is impossible. e.g. changing the starting point will change all positions.
I think that changing the LSB manually, using a metrics key, or enabling auto-alignment don’t produce exactly the same results. Manually changing the LSB also updates the anchor positions, whereas when a layer is auto-aligned or uses a metrics key, this adjustment to the anchors doesn’t happen.
Manually setting the LSB is a totally different option than having a glyphs auto aligned. Because in the later case, the component never moves. The width is synced but other than that nothing changes. If you manually increase the LSB is nothing different than moving everything by 10 units and increasing the width (this is what happens internally).
So when you move the outlines, in the base glyph, the composite doesnt know anything about this (there is no memory of early stat or any knowledge of the content of the glyph.