Strange behaviour when saving as variable

I have created a family of five weights with two styles: Monoline and Contrast. All styles work when generated as OTFs, but don’t when generating as a variable font. The axes contain the same values for each. The Thin versions of both Monoline and Contrast contain the same values, so are really the same font, and are the only weights that are the same as the OTFs. All others grow bigger in size and are not the proportions they should be. See images:

The top image is the OTF fonts; (as they should look), the bottom one is the variable.

What is your master setup (the coordinates for each master)?

The interpolation for static instance and variable fonts can be quite different. The later needs a rectangular setup where the former can deal with different master arrangements.

There are three masters:
Thin, Weight 100 Contrast 0
Medium Monoline, Weight 500 Contrast 0
Medium Contrast, Weight 500 Contrast 100
As shown in the top image.

Make the Medium Monoline the variable font origin.

Thanks, but how do I do that? I can’t find any info.

Anyone? hello?

That works to a certain extent, but not entirely.
This is the set up in Glyphs:

When generated as a variable font the Monoline style is fine with weights going from zero to 500, but the problem is in the ‘Contrast’ style; Weight 500 and Contrast 100 is the heaviest which is OK, but the lightest Weight 100 and Contrast 100 doesn’t work.
Obviously there’s something wrong with the values, but I can’t figure out what it is.
This is what it looks like in InDesign:

Can you send me the .glyphs file?

Does duplicating the Thin master and setting up the duplicate at weight 100, contrast 100 give you the results you want? (essentially setting up the fourth corner of the square, even though the contours are the same in both wt100 masters)
(I found that’s what I had to do to get the contrast axis of my Cuttlefish design to work.)

It’s on its way. Thanks for your help Georg.

I tried that and it doesn’t work. But maybe I did something wrong, which is entirely possible.

Cuttlefish. MmmmmNice!

This is one of the places where the instance interpolation code works much better than the variable font interpolation. The former can handle triangular spaces very well, the later needs a rectangle. So the advice of @eliason is right. It is the same as discussed here: Redundant masters in a variable font

Thanks. The rectangular model works, albeit with different values to the triangular space. I can see that I need to work in the triangular space then create the variable with the rectangular when it’s finished.

I have created lots of variable fonts in Fontlab and Glyphs before, but now I seem to be stuck with a similar issue as described above.

One axis works fine, but when I add the second it does not work at all. All instances are messed up, except the Regular when I have it set as Variable Font Origin.

I need a clarification: What is the minimum masters/corners I need for a width/weight variable font?

Basically for each axis, you need a master that is only different for the value on that axis from the origin.

So if the origin is at [100/5], you need a master at 800/5 and 100/9. If you have both, then you can have another one at 800/9. You can’t have [100/5] and 800/5 and 100/9.