Как стать автором
Обновить

Шрифты в Gentoo как в Ubuntu

Недавно сбылась моя мечта сделать в Gentoo такие же красивые шрифты, как в Ubuntu. Думаю, что это небольшое руководство можно применить и к другим Linux-дистрибутивам.
Все, кто знаком с миром Linux, наверняка видели отличие шрифтов в Ubuntu от шрифтов в других дистрибутивах. Вообще, тема красивости шрифтов в Linux довольно избита. Шрифты повсюду, они и в браузере, и в консоли и потому, если они выглядят плохо, то это очень удручает и снижает моральный дух. Canonical сумела довести вид шрифтов до ума, чем можем воспользоваться и мы, «простые» пользователи других Linux-дистрибутивов. Суть заключается в том, чтобы просто передать fontconfig'у правильные опции.

Вот как выглядят шрифты в моей Ubuntu 12.04, установленной на виртуальной машине. В настройках MyUnity -> Font включен Hinting full (не забудьте щёлкнуть картинку ещё раз, чтобы увидеть её в полном размере):

Шрифты в Ubuntu 12.04

Раньше я думал, что для такой же красоты нужно установить особые патчи Ubuntu для cairo, libXft и freetype, потому что раньше так и было. Но сейчас, видимо, стандартные пакеты gentoo, и наверняка и других дистрибутивов могут позволить рисовать шрифты так же красиво, потому что у меня всё неплохо получилось и без патчей. Мои текущие версии этих пакетов: cairo-1.12.2 libXft-2.3.1 и freetype-2.4.10
Кроме того в Gentoo нужно включить флаги cleartype и truetype, которые включаются автоматом, если у вас выбран профиль desktop и ему подобные.
Отрисовка шрифтов сейчас настраивается через папку /etc/fonts/conf.d/, в которую нужно создать символические ссылки на нужные опции из /etc/fonts/conf.avail. Прежде всего можно и даже нужно отключить сглаживание в настройках вашего рабочего стола, чтобы они, возможно, не перекрывали включаемые опции в /etc/fonts/conf.d/
Для пользователей не-Gentoo, нужно просто создать символическую ссылку желаемой опции из /etc/fonts/conf.avail, например, возьмём 10-antialias.conf, которая включает сглаживание, и создать ссылку на неё (хотя можно и просто скопировать) в папку /etc/fonts/conf.d.
Если у вас нет установленного Ubuntu под рукой, то можете скачать conf.avail отсюда.
В Gentoo включение/выключение опций очень просто настраивается через eselect fontconfig enable/disable НОМЕР ОПЦИИ, который можно увидеть, набрав eselect fontconfig list, и потому нет нужды создавать символические ссылки руками, хотя это совсем не сложно.
Проблема была в том, что в Gentoo по-умолчанию даже нет тех опций, что могли бы привести к такой же картине, как в Ubuntu. Поэтому я поступил просто: взял отсутствующие файлы конфигурации, которые были включены в Ubuntu из убунтовского conf.avail и скопировал к себе, после чего выключил autohint, который только уродовал шрифты и включил antialias, hinting, lcd-filter-lcddefault, hinting-full и sub-pixel-rgb (хотя в Убунте эта опция у меня была выключена). Таким образом, вот такие опции у меня выставлены в eselect fontconfig, имеющие отношение к сглаживанию шрифтов:

  [1]   10-antialias.conf *
  [2]   10-autohint.conf
  [3]   10-hinting.conf *
  [4]   10-hinting-full.conf *
  [5]   10-hinting-medium.conf
  [6]   10-hinting-slight.conf 
  [7]   10-no-sub-pixel.conf
  [8]   10-sub-pixel-bgr.conf
  [9]   10-sub-pixel-rgb.conf *
  [10]  10-sub-pixel-vbgr.conf
  [11]  10-sub-pixel-vrgb.conf
  [12]  10-unhinted.conf
  [13]  11-lcd-filter-lcddefault.conf *
  [14]  20-fix-globaladvance.conf *

И вот, как выглядят шрифты в моём Gentoo после настройки fontconfig'а в стиле Ubuntu.
Firefox:
Firefox

Dolphin:
Dolphin

Konsole:
Konsole

Kate и Libre Writer (не забудьте щёлкнуть картинку ещё раз, чтобы увидеть её полный размер):
Kate и Libre Writer
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.