Component Glyphs Vertical Transformation Without Losing Automatic Alignment

Wasn’t it possible before to scale a component-only glyph, vertical translate the component, and still keep the automatic alignment?

(I realise it only works for *superior *inferior glyphs…but not *.sups glyphs?)

It should work for .subs glyphs, too. I have a look.

Doesn’t work still in .sups…

Fixed it.

Related question: Is there a logic behind which glyphs are called inferior or subscript? For some I also have to add a copy called baseglyph.subs so they are recognized by the automatic feature generator.

There are some glyphs in unicode like kinferior, linferior.. Those are ‘modifiers’. And then you could have k.subs. I tried to smooth over the difference and that lead to the original problem in this thread. I reversed that with the 1107.

Still can’t edit the y value?


I’m on 3.0.4 and I seem to have the same struggle. Trying to keep .case punctuation in sync but I can’t move the component on the Y axis if auto alignment is on. Was this resolved/answered?


+1 for knowing more about this.

On 3.0.5 vertical and horizontal translations aren’t working, from both the info panel and the transformations menu. Scale and Slant work.

Can you explain what your setup is exactly?

I have a glyph that is being used as a component in two other glyphs. In the first, it is on the baseline, and in the second, it is the same component moved higher up. I am looking for a way to use the same component and retain automatic alignment.

There are some places where that is working automatically (mostly numbers and sub/superscript), but you can’t control that. Your best option is to use metrics keys to the use glyph.

Aside from syncing metrics, there are also cases when a mark should remain attached to the base component when shifting vertically.

Is there is a reason that the translate transformation only works on components in certain glyphs while slant/scale always work?

In most cases, horizontal and vertical alignment is desired. Can you show me the setup you have?

And you can align the mark even when the base is not aligned.

The scale and slant is not touched by the alignment algorithm.

Sorry @GeorgSeifert for the delayed response. I had things temporarily working but now running into issues that lead back to components not having automatic alignment.

This is the type of setup I have.

There is an outline called E.short

E.short is used as a temporary component called E.short.bottom, however, it has to have automatic alignment DISABLED because the component needs to be vertically transformed.

E.short.bottom is then used in glyphs such as Edotbelow.

E.short is used in glyphs such as Eacute with automatic alignment ENABLED. So if the sidebearing of E.short changes then this is reflected in Eacute.

You can use metrics keys to keep the spacing in sync when automatic alignment is disabled.

While not ideal, the “*origin” anchor (set at x=0) seems like a decent way of maintaining automatic alignment enabled while still being able to manipulate a vertical shift of the component by changing the y position of the anchor (even though it feels counterintuitive, i.e. moving an anchor down, moves the component up).

Do you think there are any drawbacks to using the “*origin” anchor like this?

Using the origin anchor can work if you need need the component always in the same height.