Fonts in GTK 4 apps look different, more blurry

Problem

In Fedora 36, many applications have upgraded from GTK 3 (a graphical toolkit) to GTK 4. Font rendering in GTK 4 is different from GTK 3, and is expected to be a bit blurrier. While this is an intentional design choice, the current implementation has bugs that make things more blurry than necessary. Some of these bugs have recently been identified and fixes will be made in Fedora 36 as they become available.

Cause

In detail, font rendering in GTK 4 uses subpixel positioning to improve linearity of text layout and shape fidelity, which is incompatible with hinting. Subpixel positioning is not to be confused with subpixel antialiasing (rgba antialiasing), both of which are sometimes referred to using the ambiguous term “subpixel rendering.” GTK 3 supported subpixel antialiasing, but not by default. GTK 4 does not support subpixel antialiasing.

Related Issues

Bugzilla report: 2012474 – GTK 4 fonts are blurry

GNOME report: Blurry text everywhere in GTK4 (#3787) · Issues · GNOME / gtk · GitLab

Workarounds

If you want, you may configure GTK 4 apps to render text more similarly to GTK 3 by creating a ~/.config/gtk-4.0/settings.ini file which contains the following:

[Settings]
gtk-hint-font-metrics=1

An example of a GTK4 app is the new “Text Editor” (gnome-text-editor package). You can use it for comparing the different font rendering styles.

4 Likes