Автор Гілка: Про Xft  й fontconfig, або не люблю anti-aliasing  (Прочитано 3742 раз)

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Це призначено для тих хто не надто любить пом'ягшення шрифтів (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 ви знайдете додаткові шрифти.
Нічого воєнного... :)
« Змінено: 2005-04-01 09:30:53 від tech »

Відсутній Yaroslav Fedevych

  • Літератор
  • ******
  • дописів: 1069
  • Карма: +0/-0
  • Людина — ніщо, справа — все
Re: Про Xft  й fontconfig, або не люблю anti-
« Відповідей #1 : 2005-03-21 19:41:11 »
А просто fc-cache можна зробити й не треба перезапускати X-и...

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Про Xft  й fontconfig, або не люблю anti-
« Відповідей #2 : 2005-04-05 12:52:48 »
Я нарешті собі прикрутив шрифти (ліньки було розбиратися самому, куди треба лізти). Дякую за інфу. :-)
[Fedora Linux]

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Re: Про Xft  й fontconfig, або не люблю anti-
« Відповідей #3 : 2005-04-05 15:32:02 »
You are very welcome.
Непоганий набір шрифтів в pcf форматі:
http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/00index.en.html
Можливо варто залишити посилання на сайті для новоприбулих.

Відсутній sashko

  • Новачок
  • *
  • дописів: 11
  • Карма: +0/-0
  • забіг на хвилину