Is it possible to do axis mapping for a single glyph (or group of glyphs)?
Here’s the use case:
Let’s say I have a variable font with a weight axis.
I draw the thin (100) and black (900) masters in such a way that I’m happy that I don’t need a regular (400) master for most of the glyphs in the font. I will need to add a few brace layers to fix crossbars etc.
If the interpolation between the light and black masters is linear, the regular lowercase s is a little bit too light. But further along the weight axis, at location:425, there a lowercase s which I would like to use for the regular at location:400.
Is there a clever way of doing this? Ideally I’d like to just deal with the thin and black masters, and input the axis mapping information, so that if the thin or black masters are edited, the regular is also updated without any manual input.
I’m afraid that currently isn’t possible, but it’s a feature I would really like (it has been requested before on occasion). Currently, you’ll need to create the intermediate layer yourself, re-interpolate it at a given location and then set it to the desired location.
I don’t that axis mapping per glyph is possible (by avar is similar).
So it has to be done by intermediate layers. In a lot cases it needs manual adjustments anyway.
So for your use case a script could help.
I was just hoping that it was possible this without needing to reinterpolate if the outlines of the masters are amended later on. That would be extra clever
A checkbox “reinterpolate automatically” for layers, with an option to specify the axes values if different from the real ones? I thought about this many times because some layers are just “ghost layers” needed to fill out the designspace rectangles (and this topic is another scenario).
The option to specify the axis location could even be as simple as using = or : as a delimiter in the value field – e.g., {400=425} or {400:425} would mean ‘use this intermediate layer at axis value 400, but take the shape of the layer from the interpolated shape at axis value 425’.
Extra-extra clever would be to automagically reinterpolate if the value contains the delimiter (and perhaps even lock the layer contents for editing?), since any such brace layer should by definition always be based on interpolation and never edited manually.
Actually, maybe a more flexible approach would be something like variable components, interpolatable with paths. That way you can add one onto a layer of the glyph itself (excluding it from interpolation) and it works as an auto-interpolated layer/component. Add it into another glyph and it works like RMX Scaler, except always synced like a component.