Pull to refresh

Шрифты в 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
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.