Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Colored artifacts in font antialiasing
rrendec last edited by
I'm using Qt 5.7.1 on linux (Fedora 25) with MATE Desktop Environment. I'm experiencing a strange font rendering issue: I can see some colored artifacts around antialiased font letters. It looks as if fonts were rendered without type hinting and the specific blending around the letter edges were colored. The behavior is inconsistent with Qt 4 and GTK.
I'm using qt5ct and the GTK style (provided by the qt5-qtstyleplugins package) - not sure if this makes any difference.
I have a custom per-user fontconfig configuration that looks like this:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit name="antialias" mode="assign"> <bool>true</bool> </edit> <edit name="hinting" mode="assign"> <bool>true</bool> </edit> <edit name="hintstyle" mode="assign"> <const>hintfull</const> </edit> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> <edit name="autohint" mode="assign"> <bool>false</bool> </edit> <edit name="lcdfilter" mode="assign"> <const>lcdnone</const> </edit> </match> </fontconfig>
Xft settings (as returned by "xrdb -q") are the following:
Xft.antialias: 1 Xft.dpi: 96.1025390625 Xft.hinting: 1 Xft.hintstyle: hintfull Xft.lcdfilter: none Xft.rgba: none
What I expect instead is full type hinting, which means that "straight line" characters (such as "L" or "E") should have no pixel blending around them (they should be drawn the same as their non-antialiased version). Also, where antialiasing must occur (i.e. curved lines), I expect the antialiasing to be grayscale.
Any suggestion what settings may affect this behavior and what I could try in order to get the behavior that I want? Thank you!