Trouble with Virtual Masters

I am having trouble getting a virtual master font axis to react with their sliders when testing.
The virtual axes show up when testing in axis praxis, but the variable parts are not changing.

I am following these tutorials: Creating a Variable Font and Glyphs 2.4.2 Released, but think I am missing some critical detail. I believe I am complying with the necessary [brace trick] details (Additional masters for individual glyphs: the brace trick in Glyphs 2 | Glyphs)


  1. I start a new glyphs file and delete most of the characters, leaving only a 2–4 letters to experiment with.
  2. In Font Info / Font, I setup a axes property that includes weight, width, and a custom one (using the tutorial examples, crossbar or descender). Custom tags are in CAPS.
  3. Same window (Font Info / Font) I setup a property for Virtual Axis and give the weight and/or width axes the tutorial amounts (50 or 100).
  4. Setup relevant Masters in Font Info / Masters. Give thin and condensed versions 100 value and bold and wide versions 900 value. Give the virtual master a 100 value. Auto generate alignment zones.
  5. Generate instances from masters.
  6. Copy relevant layers in panel and give {50, 0} or {100, 0} name depending on tutorial.
  7. Export variable font.
  8. Drag and drop .ttf into (I have tested in Adobe Illustrator as well, but not as frequently since it is a slower workflow.

What am I missing?
Here are the files I am playing with: AE, pdbq


  • Does anyone have a .glyphs file with working virtual masters that they can share?
  • Does the weight or width location value set in properties need to match the values attributed in masters or instances?
  • In the masters, should I be giving 0–100 scales for width and weight or more inline with historical font scale (100 = thin, 300 = light, black = 900, e.g.)?
  • In a variable font with more than one standard axes (weight, width, e.g.), does the panel name need to reference more than one axes in its name? {100, 100, 0} or is weight implied by selecting the named weight in the panel {100, 0}?
  • Is there a way to proof virtual masters (ideally with sliders) within Glyphs to ensure they are working before export?


1 Like

I am using Mac OS 10.13.5 an Glyphs 2.5.2 (1150) and I update to all cutting-edge versions.

Why weight 50? Your Masters are at weights 300 and 900, and you are not changing the weight in the Brace layers, so I suggest you use {300,0} and {900,0}.

That was it. I was calling the wrong weights for when to trigger the change.
Thanks Rainer

For the admin—if not you,
Weight = 50 is what was called out in the Virtual Master tutorial. Step 2 was confusing me:
“In the same window tab, add a parameter called Virtual Masters, and give it a value of the the Light master for the Weight axis, 50, and a minimum value for the Crossbar Height, let’s say zero:”
The 50 seemed arbitrary to me, or a percentage, since Light weights are typically 300. The image included also has the virtual master name of {50, 0}—I was trying to copy all the details.

The tutorial also showed only a single virtual master applied for the light weight in the layers panel. It would be helpful if the bold, virtual layer appeared as well in a tutorial image to show a complete working build of a character.

Why? The Bold virtual master is not necessary.

I will try and make the text a little clearer

The virtual master has to have a different setting for its axis then the real masters. So if the Thin master has 100 for weight and 100 for the second axis, the virtual master needs to be set to “100, 0” or “100, 1000”.

I think I am getting the specifics down now.

Thanks for your help Georg.

I just saw in Glyphs Version 2.6.2 (1240) that one glyph didn’t follow it’s variation settings in an exported variable font. In my particular case it is a /k, which uses the /l as a component. The /l has a Virtual Master and works fine, as all other glyphs do. Hence I suspect the VM glyph when used as a component to cause trouble.
As a workaround I decomposed the /l and all is fine. But It could still be a candidate for bugfixing, or?

Can you send me the file?

1 Like