I’m designing a typeface with a variable stencil (axes). I’d like to control this with a single additional character as a mask (or component?) and manage it through masters or instances, avoiding manual edits in each glyph.
I am afraid this will involve more manual work than just adding a mask to all glyphs. The issue is that masks are not part of the OpenType font format. Thus, when you export a font, masks are baked into the outline, rendering it incompatible for interpolation in some cases, especially for the use case you propose.
Instead, you would need to create the effect manually, finding ways to retain interpolation compatibility by, for example, overlapping nodes and other such tricks. You can also switch between incompatible outlines, if the design requires this. See the Switching shapes | Glyphs tutorial for details.
Just out of curiosity, in your workflow, do you usually create the non-stencil version first and then add the stencil? Or what would be a good approach?
I am not aware of a variable stencil font that does what you are proposing. I am sure that with enough clever glyph switching and other tricks it would be possible. But that would be a lot of work.
With non-variable, there is a lot more freedom in this regard and masks work well there.
The gaps there are placed strategically such that they work well with OpenType interpolation. Not to diminish their work, but the way the gaps are used in that font makes it a lot easier than what you have proposed in your mockup.
In short: The angles of the in stroke and out stroke don’t change (much) for each node. That works well with the interpolation that OpenType offers.
We also made a stencil font with variable gaps and weight axis, TheStencil. We didn’t use any particular smart stuff, just a large number of intermediate layers. Though the design is based on TheSans, everything was drawn from scratch incorporating the gaps.
Thanks for the references @alx@jkutilek ! As @FlorianPircher mentioned, my intention was to have both the non-stencil and stencil (variable) versions within the same typeface. I’m achieving this by switching shapes.
Here’s an example to illustrate what I mean (don’t focus too much on the drawing or the stencil thickness) – it’s just to show the concept: