Це призначено для тих хто не надто любить пом'ягшення шрифтів (anti-aliasing, smoothing).
Я недавно встановив останню версію Slackware, 10.1. Що мене вразило, так це мала кількість шрифтів для WindowMaker (який я звичайно використовую) також те що всі шрифти пом'ягшені (читайте розмазані). WindowMaker дозволяє відключити пом'ягшення шрифтів, але відсутність растрових (bitmap) шрифтів (які найкраще відображаються без пом'ягшення) мене здивувала. Мій улюблений шрифт Adobe Helvetica не був перечислeний в панелі конфігурації WindowMaker. Трохи порившись в системі і знайшовши fonts.conf, потім в G4L (google for linux) цю статтю:
http://www.linux-mag.com/archive/2004-02/guru_01.html , зміст якої я тут коротко передам.
Справа в тому що останні дистрибутиви приходять із новим механізмом відтворення шрифтів, Xft другого покоління, який поступово заміняє X core fonts і Xft 1.1. До цього нового механізму додана fontconfig бібліотека для автоматичного знаходження шрифтів в системі.
Щоб перевірити яка саме Xft бібліотека у вас використовується, зробіть
locate libXft.so. Якщо знайдено щось на кшталт /usr/X11R6/lib/libXft.so.2, то у вас саме друга версія. Так само можна використати
ldd програму для того щоб взнати до яких бібліотек прив'язані певні програми:
ldd /usr/X11R6/bin/xterm
ldd /usr/X11R6/bin/xterm | egrep "Xft|fontconfig"
В останніх дистрибутивах це звичайно
libXft.so.2 => /usr/X11R6/lib/libXft.so.2
libfontconfig.so.1 => /usr/X11R6/lib/libfontconfig.so.1.0.4
До цього слід додати що Xft 2 і fontconfig використовують /etc/fonts/fonts.conf файл конфігурації на відміну до старого /etc/X11/XftConfig.
Передивившись fonts.conf, я виявив що не всі директорії із шрифтами перечислені, так /usr/X11R6/lib/X11/fonts/75dpi і cyrillic там були відсутні. Стаття вказана вище а також man font-conf (або man font.conf на деяких системах), рекомендують створення /etc/fonts/local.conf або $HOME/.fonts.conf файлу до якого можна додавати свої власні вказівки fontconfig. Отже,
su
touch /etc/fonts/local.conf
vim /etc/fonts/local.conf
Де я вніс:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- Коментарій: /etc/fonts/local.conf пересилює fonts.conf -->
<fontconfig>
<!--
Директорії де шукати шрифти, якщо внести /usr/X11R6/lib/X11/fonts, всі
директорії всередині будуть використовуватись автоматично.
-->
<dir>/usr/X11R6/lib/X11/fonts/75dpi</dir>
<dir>/usr/X11R6/lib/X11/fonts/cylillic</dir>
<dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
<!--
Виключаємо пом'ягшення.
-->
<match target="font">
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
<!--
В випадку із LCD моніторами, можна спробувати наступне.
-->
<match target="font">
<edit name="rgba" mode="assign">
<const>rgb</const></edit>
</match>
</fontconfig>
Зберігаємо це.
Зайве, напевне казати що всі директорії ізшрифтами повинні також бути перечисленими у /etc/X11/xorg.conf. Також, якщо ви встановлюєте нові шрифти, зкажімо artwiz http://artwizaleczapka.sourceforge.net/), вам варто додати директорію де ви розпакували шрифти (у мене /usr/X11R6/lib/X11/fonts/artwiz) до xorg.conf, також додати <dir>/usr/X11R6/lib/X11/fonts/artwiz</dir> до local.conf.
Зробіть рестарт X серверу (ctrl+alt+backspace). Наступний раз ви стратуєте X, у вас в домашньому каталозі згенерується новий .fonts.cache-1. Заглянувши в панель керування Gnome/KDE/WindowMaker ви знайдете додаткові шрифти.
Нічого воєнного...