Problem interpolating a variable font

Hello everyone, I’m designing a variable font. I managed to create the glyph A with the following axes: width, height, optical size and alignment.
I’m using mekkablue script Variable Font Test HTML to visualize how the glyph interpolates, and I have some problem with these combination of axes:

  • weight 800, height 0, optical size 0, alignment 100
  • weight 800, height 0, optical size 100, alignment 100
  • weight 800, height 100, optical size 0, alignment 100

Here’s the file (3.8 KB)

Am I doing something wrong? I guess the alignment is causing the problem, because in all three errors there’s a 100 alignment. Although, in the file, there’s a master for each combination, and they don’t look like the output.


I think (someone please correct me if I’m wrong) it is because you don’t have any change in alignment value for the regular masters. The only time that number changes is in your bold masters. So when you’re tweaking the alignment slider set at the lightest weight, it references the positive values from your bold masters, interpolating accordingly.

I got it to work the way you want, I think, by adding 4 more masters (probably idiotic on my part) of your regular weight, but with the alignment set to 100. It seems redundant because these masters are identical to the original regular masters. There’s probably a smarter way. I feel like this is all possible with half as many masters and using components.

Updated file (4.8 KB)

1 Like

Thank you typeler. I thought about that solution too in the meantime, but there’s still one strange combination: weight 800, height 0, optical size 0, alignment 100. It should be like the image on the left, but it renders like the image on the right.

I rearranged the masters and removed several and now it works.

You have to have a “origin” master and add masters that change one aspect at a time. I chose the default to be the “Regular -low --thin”. So all but one of the other masters are low. Then you add one master that is heigh but all other properties are the same as the origin.

If the “height” is not different in the “Bold”, then you don’t need a “Bold High” because the changes will added up.

When the addition of two axes are not adding up nicely, then you can add a “Bold High” master to correct this. But only do that if really needed. And you might add that only in the glyph that really need it. So keep the main masters as low as possible and add brace layers in glyphs that really need it.


Thanks Georg! I think I understand what the problem is, but just to be sure: can you send me the file you rearranged? That would be awesome.
About the brace layers: I tried to use this trick, but the two values are weightValue, widthValue, correct? How can I use this with more than two axes?
Thank you so much for your time!

I thought I send it already, sorry.
font-no radius_FTSA_20190503 (3.8 KB)


Thank you so much! It’s perfectly clear now.

1 Like