GTK fonts after recent update

I am using Tumbleweed with a KDE desktop. Most of my applications are KDE therefore, but I do use some GTK applications - in particular, Eclipse. A couple of months ago, a “zypper dup” changed something that means some of the font rendering in GTK is slight off - though it only affects certain characters. I was hoping that this was a small glitch and a subsequent update would fix it, but it is still wrong.

The easiest way to see it is to run gnome-help and type something into the search bar. As you see, most characters are fine, but a sequence of ones looks ugly after the first character. There are a few other cases. Perhaps something about kerning rather than the font itself?

Is anyone else seeing this? Is there anything I can try tweaking to change it?

Screenshot_20221219_104535

I should probably mention that I have two machines, with the same setup, and they both started to show the symptoms at the same time. So it isn’t something I accidentally did on one of them. The font itself is just “sans-serif 10pt” (which I think ends up being Arial?). I set the fonts via the KDE settings, of course. My GTK theme is “Simple”, though it is the same with others, like Breeze.

Here’s a screen shot from Eclipse. You notice that the "a"s after a “V” get changed, but not elsewhere, which made me wonder whether it was kerning.

Screenshot_20221219_115126

My other settings, with anti-aliasing etc are here. I’ve tried changing various settings here, but nothing fixes it:

Screenshot_20221219_115946

As you didn’t specify what you changed you may have tried this already…

Instead of the generic “Sans Serif” set a specific font, for example “Noto Sans”

I’ve also seen some reports that adding:

<fontconfig>

  <match target="font">
      <edit name="lcdfilter" mode="assign">
        <const>lcddefault</const>
      </edit>
  </match>

</fontconfig>

to “/etc/fonts/local.conf” improves GTK font rendering, also possibly worth trying.

Thanks for those suggestions.

I did try changing the font. Some are better than others, but most of them seem to suffer from the same issue (and the ones that don’t are ugly!). Helvetica, Tahoma, Verdana have the same problem, for example. Arial Unicode MS is quite good (but doesn’t look as nice). So yes, these may ease the symptoms but the underlying problem remains and I was hoping to fix that.

The fontconfig change made no difference that I could see. I tried /etc/fonts/local.conf and ~/.config/fontconfig.

If I put fonts within the anti-alias range, then things are (obviously) very different and “improved” a bit, but I prefer to have sharper fonts for small sizes and anti-aliasing for larger ones.

Changing the subpixel rendering or hinting doesn’t fix the problem, though makes a very small difference.

It definitely seems related to kerning, so the character following a V or W is often affected, and it seems to affect vowels (!?) except for “i”. So Va, Ve, Wo, Vu. And the digit “1” but not other digits. Perhaps the kerning process is separate from the font, and so many fonts are affected?

I’ve also tried setting FREETYPE_PROPERTIES=truetype:interpreter-version=nn for various nn versions, but that doesn’t seem to change anything.

The ultimate solution to ugly fonts is to use more pixels to draw them. That translates to using a larger nominal pixel size. when that has the effect of making fonts too big, more screen resolution is required at the same physical size. More pixels has a cubic effect, meaning it doesn’t require much more in nominal size to have a big effect.

Sometimes in order to make all screen objects bigger, people use a lower screen resolution than the optimal one a screen supports. This has the opposite effect, making fonts spindly or otherwise ugly. IOW, if your screen supports 1920x1080 but you are using 1366x768, a switch to using 1920x1080 and an increase nominal font sizes in settings is required.

I keep screen DPI set to 120 on a 24" 1920x1200 screen. The combination of 24" and 1920x1200 calculates to a DPI of 94. The application of a logical DPI of 120 results in fonts big enough to see that are never ugly. A 12pt font @120 DPI uses ~200px per glyph, compared to ~128 used @96 DPI, >56% more at the same physical size. The screen can’t actually produce that much resolution, but the effect of trying by the X server, with or without subpixel, hinting or anti-aliasing, works like magic.

Thanks for the suggestion. I hadn’t tried playing with the screen resolution, but I see your point and it’s worth a try.

The annoying thing is that everything was working perfectly until something changed. It is still working perfectly in KDE applications, and even most of the time for GTK apps. I just don’t know what changed.

No one else is seeing this? (Set “Sans Serif 10” as the General font, without anti-aliasing, and type “111Value” into the search box of gnome-help). If so, that’s interesting, though as I mentioned, both of my installations “broke” at the same time after a zypper dup a couple of months back.

If you have a clearer idea of the actual date or snapshot that caused the issue then you could look through the relevant “Changes*.txt” file at: http://download.opensuse.org/tumbleweed/iso/ to perhaps gain a clue as to what package update may have caused the issue.

Hmmm… Misbehaving quote tags that I don’t seem to be able to correct… :frowning:

OK, thanks again for the help with this.

The Kate editor a KDE tool though? For whatever reason, I know that KDE apps don’t show the symptoms. I also think that Mozilla apps do something special for their own font handling and so perhaps are immune?

I don’t have Gnome installed either, but it looks like everyone gets “gnome-help”, unless that was included when I installed Cheese, which is the only Gnome app that I have. You might be able to run /usr/bin/gnome-help from a command line (it’s not added to the KDE menus).

Indeed, I was simply illustrating that on my own system using “Sans Serif 10” without anti-aliasing the text looks, IMHO, pretty bad with KDE applications also; although that is a subjective factor I suppose.

I don’t offhand know what actual font “Sans Serif 10” maps to, and it may not(?) necessarily be the same on your system as mine; I’ve removed a lot of, which for me, are redundant fonts.

No, “gnome-help” installed here, possibly because I always use “–no-recommends” during install/updates etc.

Maybe this will be picked up a gnome user who can make the font rendering comparison for you…

1 Like