Variable corner components interpolation skipping instances / interpolation doesn't work as intended

Hello! Apologies if this is a basic question, I searched extensively but couldn’t find any relevant answer.

Basically I am working on a very experimental “pixel” typeface, where I use corner components to variably mimic the appearance of the four elements. I have no interpolation problem, with a bit of elbow grease and tricks it exports fine. However, I want to achieve a very specific thing: I want the interpolation to “cycle” between the elements, then go back to square. So for example, it would go from basic square pixel typeface aspect, to “water”, back to square, to “fire”, so on so forth. Sort of like this - this is a preview of my instances:

I have tried many things, including duplicating the square pixel master and inserting it in between the elements masters. Again, it exports perfectly. But whenever I test it in the Gauntlet, or elsewhere, it’s as if the interpolation skips the square instances in between, and interpolates straight to the next element instance. But I really do want to go back to the square aspect before it interpolates to the next element, otherwise the effect is completely lost and it just looks odd, and it’s not my intention. If this is not clear, I am more than happy to provide videos of the issue. How would you approach this please? Is this even possible?

I actually have a video trying to explain this but I fear I am not expressing myself well enough:

Thank you so much :slight_smile:

When duplicating the base master, did you also assign each duplicate an intermediate axis location between the other “element” masters?

Can you maybe show some screenshots of how you set up your masters in Glyphs?

This is where the previously suggested assigning one master to multiple locations would be helpful

Absolutely! Here it is:

Each master is named from 1 to 9.

What do your masters look like? There would need to be a Pixel master (“1” master) between each of the other masters.

For example:

  • “Pixel” master at “Element” axis value 1
  • “Water” master at “Element” axis value 2
  • “Pixel” master at “Element” axis value 3
  • “Fire” master at “Element” axis value 4
  • “Pixel” master at “Element” axis value 5

Having multiple “Pixel” instances is not needed.

Thank you! I am not quite sure I understand. Is this correct?

Or do you mean - instead of having an “elemental” axis, I need one axis PER element?

1 Like

One “Elemental” axis is correct. There appears one “Pixel” master to be missing between the last two masters, otherwise this looks good.

Thank you! This is actually intended for now, as I wanted to test out if changing the last master changed anything, or if adding / removing pixel changed anything, but to no avail :frowning: Moving the order of the masters does changes the interpolation, but it still does not include the square instances.

What are the axis values of the masters? Can you post a screenshot of a few of the masters in the Font InfoMasters tab?

My bad!! Just realised my earlier screenshot was from instances and not masters. I actually use the variable instance, I had decomposed it to try to understand. My masters are set in the same way as my instances were as I said above: from 1 to 9.

And with numbering these masters 1–9, you still get a variable font where, if you go to axis location 3, for example, you get an interpolation between 2 and 4, not the square pixel master which you set to location 3?

Would you mind sending a test file? You can also message it privately here, if you wish (en français, si tu préfères).

Yes, that’s exactly that! That’s the problem pinpointed. Perhaps it is because I used corner components? But I did try something a bit more complicated after trying to decompose the corner components: I opened each otf and remade a variable file from each export. Same issue unfortunately. I don’t mind at all, I’ll DM you right away, merci beaucoup :slight_smile:

Unclear where this issue stems from. The masters are set up correctly. Furthermore, at no point on the variable axis does the font appear as drawn in the file, except at the variable font origin, as well as the last master.

Decomposing all the corners might be somewhat of a workaround, but Glyphs crashes if I select all corners and click Decompose Corner. It works for up to around 20 or so, but not more.

Thank you so much for taking the time to check it, appreciate that a lot! I just want to point out that I do have tested decomposing corner comps, and it still does not work. It exports well, it does something, for sure, the interpolation changes, but not the desired effect. The square instances are still “skipped”.

I think this is a great project. But it is not going to work with a multiple master arrangement of element sources, i.e. corners. It’s made for variable fonts assuming you place the “pixel” source in the middle, and have axes for each element. I think this has been suggested above. This would allow each element to be reached at the end of each axis and return to the pixel source in the middle.
If you do not want fire and water, e.g. to blend when both axes are used, you need other sources you can easily reuse for the existing sources to limit the axes interaction(s).

Hope that helps.

Okay, thank you so much. I get it. Kind of a bummer that it’s not possible to have everything on one axis, but I mean, the solution of an axis per element totally works for me as well. I wanted them to cycle to know if it was even possible technically and I’m sad that it’s not haha! But that’s a perfectly fine solution that I hadn’t thought of so thank you. And I like that I get to CHOOSE if I want to mix elements, not it being done against my will.

Still curious to know why the instances are skipped in between the elements. This method has worked for me in another font iirc

Also I forgot to point out: I have tried setting the variable master origin at the second pixel instance in my example above, and had some mild success: it cycled correctly for the first element, went back to square (the origin master), but then it skipped again the next pixel instances.

Oops sorry I forgot to ask: if it’s the corner component that’s the issue, why is it still not working when I decompose it?

It should be possible to have them all on one axis. With multiple axis, you could get some probably very strange combination of the different effects.

What version of Glyphs do you have?

Thank you for replying Georg! I have the 3.2 3211 version, and I think I turned on the latest version check.

Try updating again.