Chrome 59/60+ font rendering in Linux
Chrome 59 on Linux renders fonts differently than the rest of the system. This happens when you use subpixel hinting on your system. Chrome 59+ seems to ignore your settings. It can be fixed by tweaking the FreeType configuration. FreeType is a font rendering system used by most Linux distributions.
The issue can be fixed by setting an environment variable before launching Chrome:
export FREETYPE_PROPERTIES="truetype:interpreter-version=35" google-chrome
I'm using an Application Launcher in MATE desktop to start Chrome. To automatically set the environment variable, I created a wrapper script
chrome-wrapper.sh in my home directory and edited the launcher settings to invoke the wrapper script instead of
google-chrome directly. The full contents of the script:
#!/usr/bin/env bash export FREETYPE_PROPERTIES="truetype:interpreter-version=35" /opt/google/chrome/google-chrome &
With medium or full hinting this brings back skinny font rendering in the browser. Without the fix, the text looks similar to text on Windows 10.
It seems like the font rendering has been broken in versions 69/70 too. The fix seems to be similar (and same works for Chromium, see comments).
The same workaround is necessary in some Electron (based on Chromium) apps, for example, in the Visual Studio Code text editor.