I want to point out from the very beginning – the settings I found suitable personally for me on my particular piece of hardware may not be optimal for you for a number of reasons, such as your personal perception, your screen, video card and its drivers. So I suggest to take my settings as a reference and to change them according to your demands.
The first thing you might want to do is to activate subpixel hinting in System Settings – Application Appearance – Fonts – Anti-aliasing – Configure. Most likely, the result won’t be exactly what you want (or maybe no result at all) because of lacking support of of font hinting by the system. To activate it, you need to have installed libfreetype6 (lib64freetype6 for 64-bit systems). I heard that in the most recent versions of this free library hinting is fully supported, but the general recommendation here is to take this library from the Tainted repository – this one should definitely work.
After you have it installed you can adjust hinting parameters according to your taste. As far as I know, the default setting “RGB” works best on the most screens, but you may be interested to change it and take a look what happens.
The next problem you may face is color “fringing” - colored (blue or yellow) shadows on the sides of the letters. As far as I know, they only appear on LCD (not CRT) screens that are nowadays just the regular type of screen everywhere. The recommendation here is to set a so called “LCD filter” which will kind of blur the fonts’ edges and remove the fringing. In my case the problem was solved by creating a file called 10-lcd-filter.conf:
- Code: Select all
<fontconfig>
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>
and placing it into etc/fonts/conf.d and in etc/fonts/conf.avail (maybe it is only necessary in only one of them, but since I am not sure where exactly, I put it into the both – no harm was made).
lcddefault should work fine, but in case it does not, there are more options:
lcdlight - a lighter filter for too bold or fuzzy fonts,
lcdlegacy - the old original Cairo filter,
lcdnone disables filtering entirely.
Even after all you’ve done so far the fonts still may not look perfect (or acceptable, depending on your requirements). In this case you may consider changing default fonts in applications you are using the most, such as Firefox or LO Writer, for example. As you may notice, different fonts look different under the same settings. In my case the best results were with Serif fonts, but since I do not like them too much, I tried several other fonts, so I ended up with changing the default fonts to Liberation Sans.
So now what I have on my Mageia 3 64-bit KDE system is:
1. lib64freetype6 from Tainted
2. Slight hinting enabled
3. LCD filter with lcddefault setting
4. Liberation Sans font as default
Some more possible options, such as fiddling with byte code interpreter, BCI (which did not give good results in my case however) and A LOT of explanations may be found here:
https://wiki.archlinux.org/index.php/Font_Configuration#Hinting
This theme was also discussed on this forum here:
https://forums.mageia.org/en/viewtopic.php?f=7&t=660
Hope these hints were helpful and good luck!