Ugly fonts after recent update [solution]

If you wonder what happened to your font rendering, there is a bug in libfreetype6-2.10.1. Reverting to libfreetype6-2.9 gets rendering back.
https://bugzilla.opensuse.org/show_bug.cgi?id=1172022

Cheers

@dmko:

Noticed this issue this morning as well – fixed it by:

  1. Checking the settings in ‘/etc/sysconfig/fonts-config’ …
  2. Executing “fonts-config
    ” – user “root” … 1. For each active user on the system, including “root
    ”, execute “fc-cache -r” …

@dmko:

I thought that, rebuilding the font definitions had an effect – it didn’t.

  • I’ll update my Bug Report comment … :shame:

Confirming the problem on Gnome here and added comment to bug report.

I have no problem with it - I have been disabled font smoothing.
](https://www.youtube.com/watch?v=B203twyaMfM)

I’ve been adding comments to the Bug Report – the gist of the comments, with respect to libfreetype6 version 2.10.1-lp151.4.3.1, is as follows:

  • On my Desktop, the font smoothing was not acceptable – on my Laptop however, it was OK.

The Desktop’s hardware is as follows:


 > inxi --graphics --extra
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Oland PRO [Radeon R7 240/340] vendor: ASUSTeK driver: amdgpu 
           v: kernel bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.3 driver: amdgpu resolution: 1920x1080~60Hz 
           OpenGL: renderer: AMD Radeon HD 8500 series (OLAND DRM 3.27.0 4.12.14-lp151.28.48-default LLVM 7.0.1) 
           v: 4.5 Mesa 18.3.2 direct render: Yes 
 > 

The Laptop’s hardware is as follows:


 > inxi --graphics --extra
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Richland [Radeon HD 8650G] vendor: Lenovo driver: radeon
           v: kernel bus ID: 00:01.0
           Device-2: Advanced Micro Devices [AMD/ATI] Sun PRO [Radeon HD 8570A/8570M] driver: radeon
           v: kernel bus ID: 01:00.0
           Device-3: Realtek type: USB driver: uvcvideo bus ID: 3-4:4
           Display: x11 server: X.Org 1.20.3 driver: radeon resolution: 1366x768~60Hz
           OpenGL: renderer: AMD ARUBA (DRM 2.50.0 / 4.12.14-lp151.28.48-default LLVM 7.0.1) v: 4.3 Mesa 18.3.2
           direct render: Yes
 > 

Both systems now have the same ‘/etc/sysconfig/fonts-config’ content:


VERBOSITY="0"
FORCE_HINTSTYLE="hintmedium"
FORCE_AUTOHINT="no"
FORCE_BW="no"
FORCE_BW_MONOSPACE="no"
USE_LCDFILTER="lcdnone"
USE_RGBA="rgb"
USE_EMBEDDED_BITMAPS="yes"
EMBEDDED_BITMAPS_LANGUAGES="ja:ko:zh-CN:zh-TW:zh-HK:zh-SG"
PREFER_SANS_FAMILIES=""
PREFER_SERIF_FAMILIES=""
PREFER_MONO_FAMILIES=""
SEARCH_METRIC_COMPATIBLE="yes"
FORCE_FAMILY_PREFERENCE_LISTS="yes"
GENERATE_TTCAP_ENTRIES="yes"
GENERATE_JAVA_FONT_SETUP="yes"

On the Desktop, the Hint Style was “hintslight” and the Subpixel arrangement wasn’t set – setting the Hint Style to “hintmedium” and the Subpixel arrangement to “rgb” and then executing “fonts-config --force” and then, for each user, “fc-cache --really-force”, seems to have fixed this issue on my Desktop.

Without information what Desktop Environment you are using and exact listing of a) settings in this DE and b) actual settings applied to X server (because they may be different) your comments just add to confusion. Sorry.

Ooops! – Forgot to add the information:

  • Desktop Environment: Leap 15.1 standard KDE Plasma.
  • Default font: Bitstream Vera Sans – also for mono-spaced fonts – also in Firefox.
  • Desktop uses the “fonts-config” system settings.
  • LibreOffice uses Liberation Sans plus, purchased commercial OpenType fonts for documents …

Looking at the commercial OpenType fonts in LibreOffice at 600 % magnification, they’re sharp …
Looking at a PDF containing music set with Lilypond at 1 600 % magnification, the notes, staves and lyrics text are all sharp.

  • With libfreetype6 version 2.10.1-lp151.4.3.1 …

No visible effect from that procedure here on Gnome and Wayland session.
Maybe you are just finding a suitable combination of Font / Size / Hint Style that makes smoothing “acceptable” to your eyes on that HW. For instance Source Code Pro Regular at size 18 looks perfect here but I still see colored fringes at size 11.

Looking at that font in Firefox, taken from the Adobe Fonts on GitHub, it looks OK on this Desktop – enlarged and reduced in the Browser …
[HR][/HR]Which leads me to suspect that, the FreeType LCD rendering – Harmony – still has some quirks lurking in the implementation …

From the bug report:

Thanks to everyone commenting for your help providing detailed information about your configuration. This took me a while, but I'm glad to say that a fix is already on its way.

The fix will come in the form of a fonts-config package update. The default settings in /etc/sysconfig/fonts-config was changed in Tumbleweed long ago, but this change of default values was never translated to SLE (nor Leap), so current values in that file are not appropriate for the newer freetype2 library if someone tries to use rgb subpixel hinting (which xfce is enforcing, ignoring the fontconfig configuration).

If you want to fix it manually, you can set:

FORCE_HINTSTYLE="hintslight"
USE_LCDFILTER="lcddefault"
USE_RGBA="rgb"

in /etc/sysconfig/fonts-config and then run:

sudo fonts-config

I’ve done this, and it’s fixed the problem for me. I have to tell you that the problem beyond ugly fonts: Ksysguard would not start for me. (Folks have mentioned kmail and kontact as also being neutered by the bug.) I even think it prevented me from installing a game under Wine that I had no trouble installing before, but I haven’t checked that yet.

Somewhere in today’s patches openSUSE-2020-789, openSUSE-2020-790/1/2/3/4/5/6/7/8 there’s yet another improvement to the Font Smoothing – I’ve reduced the Hint Style to “hintslight” …