Virtual Master in variable font

I’m trying to implement a Virtual Master in a design. The virtual master axis is ascender height. I have six existing masters for width and weight, three for each axis.

I have set it up as follows. The axis has been added:

Then the Virtual Masters have been created:

And finally the layers have been created:
Screenshot 2023-07-28 at 11.13.47

However, I can’t get it working. In Virtual Font Preview the ascender height slider i greyed out, and I can’t export the variable font because the l (the only glyphs I have done as far) is not compatible (is is though).

The example in the handbook is adding one new axis to a one axis font, so my setup is my extrapolation of this example. What did I get wrong?

You usually only need once virtual master. It just used to make sure all axis ranges are defined. So make “Virtual Master” that has the same values as the origin, except for the “Ascender Height” axis.

Also tried that by turning off the VMs that exist as normal masters.

Still gives me:

And I have checked that the ‘l’ glyph is compatible. It is. But all the composites where it is used as a component are reported on export as ‘not compatible’. I checked those glyphs and they are fine. Do I have to repeat the same intermediate layers in each of the composites?

What is the “Ascender Height” in the default master?

As I said, you only need one “Virtual Master”: Weight=100, Width=50, Ascender Height=113.

Not sure about the compatibility. I need to the file to see what’s going on?

I just set the normal height to 100. How can I only need one virtual master? I have six normal masters, and each of them have this higher ascender. How can I change the ascender height for all six using just one virtual master?

Anyhoot, I’ve sent you the file, please have a look.

Thanks for the file. As usual, I need to fix a few minor things.

As I said, the virtual masters are only there to define the axis range to 100–113. You only need to tell that once.

And you should only need to have once brace layer in the default master (at {500, 50, 113}). Because the upwards shift is the same for all masters, one set of deltas is enough. Only if you have Italic masters, you need some more.

Got a question if something is possible with virtual masters. I’ll try asking with an example:

Say the default master (set as the Variable Font Origin) is designed to have the ascenders slightly extend beyond the cap height (Ascender Height = 50). A virtual master can be added to further extend the ascenders even more but is is possible to also retract them?

Ascender Height = 0 (Ascenders retract to cap height)
Ascender Height = 50 (Ascenders extend beyond cap height — Default master)
Ascender Height = 100 (Ascenders extended even further)

Is it possible to add two virtual masters in opposite directions of the Variable Font Origin?

Then you need two virtual masters, one with Ascender Height = 0 and one with 100.

1 Like

Ahh I see. Ok that makes sense. Thank you!