How to handle more than 2 Axes for variable fonts

Hello there, I’m trying to design a variable font. I actually finished the design of a variable font with Glyphs before, but there was only one variable (weight).

For this font I would like to have 5 variables:

  1. width of a and c (which I guess is Optical Size)
  2. width of b (which I’m calling Weight)
  3. position of c along the Y axis (which I’m calling Height)
  4. radius of d (which I’m gonna call Big radius)
  5. radius of e (which I’m gonna call Small radius)

So far I managed to get a variable font with Weight and Height by creating four masters:
A. Regular -high
B. Regular -low
C. Bold -high
D. Bold -low

A---------------B
| |
| |
C---------------D

So: A-B and C-D interpolate Height, while A-C and B-D interpolate Weight. I know how to add new Axes in order to have more variables, but I don’t know how many (and which ones) master I have to design. For example, my next step would be to make Glyphs interpolate the Optical Size. Do I have to add a value (for example: 1) for Optical Size in the masters that I already have and then create the following masters (in bold)?
A. Regular -high
A.1 Regular -high --with 10 as optical size
B. Regular -low
B.1 Regular -low --with 10 as optical size
C. Bold -high
C.1 Bold -high --with 10 as optical size
D. Bold -low
D.1 Bold -low --with 10 as optical size

Here’s the Glyphs file. (3.0 KB)

I saw and read this post, but actually that didn’t help me.
Hope I explained clearly what my problem is.

Actually I understand by myself how to do that. I did as described in the previous post.

Do you need any more help on this?
You may get away with fewer masters btw.

Having fewer masters could be interesting! How can I achieve that?

A
|
|
|
|
X---------B

A, B and X are masters. X is considered the origin, and A and B are compatible masters. In the final .ttf, only the outlines of X are stored, the rest is stored in form of delta vectors that are applied to the X outlines, so that they’ll look like A or B respectively.

In a GUI, they may be visible to the user as two sliders. Of course you can add both deltas on top of each other (= push both sliders to their max). In many type designs, this will not work properly, and you would have to add an extra master in the top right corner fo some corrective deltas.

But in very geometric designs (like yours), it might actually work.

3 Likes

Great, thank you so much for the explanation! I will try that (: