Question about how interpolation is calculated

In this design space the black words are masters and the red word Bold is an instance. When Glyphs interpolates Bold will it use Condensed Bold and Wide Bold as sources? Or will Glyphs use Condensed Bold, Regular, and Wide Bold?

1 Like

Does Bold share the same position on the weight axis as the two bold masters? If so I would guess that Regular wouldn’t be involved.

Yes, same position on weight.

Static font interpolation? I have been wanting to write a little Report script that outputs the percentage of masters involved. And you can influence it by disabling masters on an instance basis (with the custom parameter).

This script will give you the percentage for each instance:

for instance in Font.instances:
	interpolations = instance.instanceInterpolations
	for masterId in interpolations.allKeys():
		master = Font.masters[masterId]
		print("  ",, interpolations[masterId])

The (hopefully soon) to come update of Variable Font Preview shows this in real time :nerd_face:


That’s very nice Mark!
I see that you can visualize the influence of each master.
But in case you want to change it, how would you do that?

To influence the influence of each master can be done by moving the instance. You can overwrite that with a script.

But what exactly are you trying to do?

1 Like


We are working on a 12 masters file, and were trying to reduce them like we show below:

Our goal was to make only one Regular weight that would have influence over the gray masters. We couldn’t get it to work and we don’t know if that is possible.
Maybe changing the axes order?

1 Like

To calculate the deltas for such a setup is tricky and currently not supported.

Is the middle master supposed to influence the grey masters on the sidelines or not? If not, i.e., if the grey masters are interpolated exclusively on the sidelines, then they could be inserted and updated with a simple scripting solution.

It is theoretically possible to set up the variable font in a way that it works with those five masters as is. But that is tricky, as mentioned before, to get it right for all possible setups.

Thanks! Yes, we experienced how tricky it is, and finally added brace layers for every case. But just wanted to know if there is some workaround.
We also tried what you see in the third column. No success though :expressionless:

@mekkablue Yes, the middle master supposed to have influence over the grey masters as well. Is it possible to solve the 3rd setup (red text)?

Already done exactly (?) that:

1 Like

Can you try to have the intermediated masters on the left and right and skip the middle (basically only have the two gray masters). You loos a bit control in the middle but with the condensed and Extended “Regular” masters, you might be fine.

OMG I missed that one, and ironically, an hour before you wrote that answer, I put my script online :laughing:: mekkablue > Interpolations > Report Instance Interpolations. Oh well.

That is called multiple discovery :slight_smile:

Hi! Can I ask how those master influences are actually calculated? I thought it was a relative distance to each master, but apparently I’m getting somewhat different values. I’m trying to do the opposite, get axis values given the influences

Any hint please? :slight_smile: