erikdkennedy / figtree

A friendly, simple geometric sans serif font
SIL Open Font License 1.1
537 stars 20 forks source link

Variable version renders unevenly #23

Closed tillsanders closed 1 year ago

tillsanders commented 1 year ago

I started playing with Figtree using the variable version. I quickly noticed that there are rendering issues, at least in some characters. I would see a tiny bump that would vanish when I zoomed in. It looked like a quality issue so I nearly gave up. Because the font is an excellent replacement for Avenir Next though, I decided to compare the result to the non-variable version. As you can see in the screenshot below, it renders differently.

The variable version is on the left, the normal version on the right. Notice the additional antialiasing pixels at the top? They don't exist in the non-variable version. I'm not sure if this is a problem inherent to variable fonts that I was unaware of or if something can be done about it.

erikdkennedy commented 1 year ago

This aliasing stuff is still above my paygrade, to be honest.

@emmamarichal is there someone I should tag, or some other place to open this bug that makes more sense?

tillsanders commented 1 year ago

I can only assume this might happen because the curves overlap there. But this is always tricky business and I have no experience with developing fonts, so... I just wanted to point it out.

emmamarichal commented 1 year ago

Hi! I just opened the file and I noticed this:

Capture d’écran 2023-02-21 à 09 43 50

First, there is indeed an overlapping that probably causes the rendering issue. Then, you can see that the outline isn't totally strait (the orange part, there is one unit different). This can also cause some bad rendering, because the variable font doesn't have hinting, so we should have outlines that aren't complex.

I'll fix that this week, and do a global check of outlines. Thanks for reporting this issue!

tillsanders commented 1 year ago

Very interesting! Thank you ❤️

erikdkennedy commented 1 year ago

This should be fixed with today's changes 👍