Variable Font axis range not working

I have a font with an axis for Gap and I’ve implemented this using brace layers for the letters that are affected. The current default is 75 and the brace layer has a value of 35.

If I export the font as a variable font, it only shows the value fixed at 75 and the value can’t be edited to 35. All my Instances are set to 75, but adding an instance with 35 doesn’t stop this happening, the axis only shows 75. This happens using Variable Font Test HTML, Show Variable Font Preview X and testing in Illustrator/Photoshop. I can manually enter 35 as a value in Show Variable Font Preview X and the axis works, but it doesn’t appear as a slider.

Any ideas? Thanks.

How many axes do you have in total?

The setup is probably too complicated for the current implementation.

I have 3 axis: Weight, Width and Gap (custom). Gap is set up using brace layers. It works fine when set up with Masters, but using brace layers it only shows the maximum value. It works fine when Gap is set up using Masters instead of brace layers.

I found this. Could it be the same issue or related to it?

I tried switching the 35 and 75 versions in the brace layers, but it doesn’t solve the problem.

How did you set up the ‘virtual masters’

  1. Select Master in the Layers palette.
  2. Click the Copy button.
  3. Rename it from the date to contain Axis data (eg. {600, 65, 35} Weight, Width, Gap)

Only the affected glyphs have these brace layers. There are 4 Masters: Cond Light, Bold Light, Expanded Light, Expanded Bold.


I didn’t mean the brace layers. I meant the setup of the Virtual Master custom parameter.

Thanks, I’d missed this step. I have now set up a single VM Custom Parameter using the minimum values for all axis (200, 65, 35). The non-virtual Masters are set to Gap = 75.

All sliders and interpolation works well in Glyphs and Show Variable Font Preview X, but if I use Variable Font Test HTML or Axis-Praxis, the Gap parameter interacts with the Width parameter, resulting in the gap closing. So at minimum Width, a value of Gap 35 results in a 35 unit gap, but if I change the Width to its maximum, a value of 40 results in the gap closing entirely to 0 units.

You might need more bracket layers.