Niech się staną ładne fonty
Czy ta niefrasobliwość wynika z tego, że niektórzy deweloperzy żyją jeszcze technologią [[CRT]] i postrzępione, rachityczne fonty nie rażą ich z taką mocą, jak użytkowników LCD, czy jest to kwestią jakiejś zachowawczej zgodności wstecznej, czy wręcz innymi standardami czytelności – domyślne pulpity Debiana, Archa, Manjaro, OpenSUSE i paru innych dystrybucji, potrafią zaskoczyć (w zależności od używanego środowiska). I to w negatywnym tego słowa znaczeniu, bo odpychający wygląd słabo wypada jako wabik pierwszego kontaktu. Oczywiście, nie u każdego będzie to regułą – z doświadczenia obserwuję, że na laptopach przeważnie uwzględniany jest charakter matrycy LCD i do renderowania fontów zaprzęgane są stosowne opcje dodatkowe. Ale na stacjonarnym komputerze musiałem wykonać parę manewrów, by fonty w Manjaro + XFCE 4.10 przestały denerwować swoim barwnym impresjonizmem.
A w większości przypadków wszystko rozbija się o to, aby zaprzęgnąć do roboty zwykły parametr LCD filter. Niektóre dystrybucje używają tej opcji domyślnie, inne trzeba ręcznie przysposobić do tego zadania. I to w przypadku tych drugich konieczna jest nasza interwencja i aby nie ograniczać się do lokalnego użytkownika, przeprowadzimy zmianę na skalę globalną. Najprościej i najszybciej (jako root) aktywujemy parametr lcdfilter:
ln -s /etc/fonts/conf.avail/11-lcdfilter-default.conf /etc/fonts/conf.d/58-lcdfilter.conf
(conf.avail może zawierać nieco inną numerację XX-lcdfilter-default.conf)
Jeżeli jednak lubimy rozwiązania dosadne i chcemy wiedzieć, co gdzie piszczy, to w tym celu edytujemy (jako root) plik 50-user.conf (lub inny wg. schematu XX-user.conf).
gksu gedit /etc/fonts/conf.d/51-user.conf
Dowiemy się z niego, że w niedalekiej przyszłości załączanie konfiguracji fontów (.fonts.conf) z katalogu domowego użytkownika zostanie porzucone (the following elements will be removed in the future), więc na dobrą sprawę możemy je sobie odpuścić już teraz. Preparujemy odpowiednio plik i otrzymuje on postać:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Load per-user customization file -->
<include ignore_missing="yes" prefix="xdg">fontconfig/conf.d</include>
<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
<!-- the following elements will be removed in the future -->
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>
Jak widać, dodaliśmy parametr lcdfilter z wartością lcddefault (inne możliwe to lcdlight i lcdlegacy). Zapisujemy i udajemy się do ustawień systemowych, bo poprzestawiać nieco wygląd fontów – standardowo dobrze powinny wyglądać już ustawienie: włączony antyaliasing, hinting lekki, wygładzanie podpikselowe RGB, DPI 96 (to wszystko można osiągnąć w XFCE 4.10 w zakładce wygląd->czcionki). I już powinno być lepiej.
Jeżeli ktoś z jakichś przyczyn nie może w samym środowisku graficznym ustawić odpowiednich opcji, poniżej mała ściąga z tego, co można wstawić do pliku .conf dla standardowych, dobrze wyglądających fontów (poza lcdfilter pozostałe parametry są czułe na zmiany w ustawieniach systemu).
<match target="font" >
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintslight</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>