Variable font weights rendering is not good

I have 2 masters, Extralight and Black. The interpolation is good, both weights work well but the weights between them is not. It happens in Adobe, FontGoggles and Glyphs

Here is lam_alef-ar as an example, there are other letters also have the same problem

Extralight

Black

Instances


How to solve it?

That is called a “kink”. have a look at the “Avoid Kink” in this tutorial: Multiple Masters, part 2: keeping your outlines compatible | Glyphs

I found that deleting extreme point make it better, is it good to do it? here is an example
With extreme points:

This kink happen:

Without Extremes:

We can see that it is much better without extremes, but is it good to draw a curve like this without it? It is too hard to apply the solutions that are mentioned in the tutorial; because the path is changing when the letter becomes black, see the blow arrows:

when you need to interpolate and the extremes are not in all masters, omitting them in the others might be the only option. You might need to check the outline rendering in small sizes and the hinting (those extremes are mostly there for the hinting).

1 Like

Extremes generally matter where the auto hinting engine would want to mark as a stem (i.e. important stroke of the letter), and at the bounds of letter (i.e. topmost, bottommost, leftmost, rightmost). But honestly, it’s only a good habit but not a hard rule; you are free to ignore it whenever extremes feel unnecessary.

Fewer nodes are better. Avoid short segments, even if it means deleting an extreme. If you are interpolating, try to make it so that node triplets do not change their angle or proportions during interpolation.

Avoid kinks, there are plug-ins for that (Show Kinks) and scripts (Kink Finder, Dekink) that will help you.

Also, look for “Show Handle Relations” in the Plugin Manager. The purpose is to help you avoid kinks in interpolations.

1 Like

Or just use SuperTool (freely available in the plugin manager) that includes that and many other things (SpeedPunk, harmonisation, Tunni lines…).

Thanks for all replies!