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.
More information:
Update 2018-11-04
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).
Update 2019-01-16
The same workaround is necessary in some Electron (based on Chromium) apps, for example, in the Visual Studio Code text editor.