Настройка шрифтов в openSUSE: fontconfig-infinality

Сочинив заметку про умолчальные шрифты в openSUSE 12.2, я думал, что более обращаться к теме рендеринга шрифтов мне уже не придётся. Действительно, шрифты там были таковы, что, казалось бы, ничего лучше уже и желать невозможно. Ан не тут-то было: нет предела совершенству, и тема эта оказалась неисчерпаемой.

Началось всё с обсуждения шрифтов из релиза 12.2 на open-suse.ru, в ходе которого rioky дал наводку на пакет fontconfig-infinality, за что я ему искренне признателен. С помощью этого пакета можно изменять стиль сглаживания и хинтинга шрифтов как для системы в целом, так и для отдельных гарнитур, определять правила подстановки шрифтов, а также создавать собственные стили их представления. Разумеется, при условии, что в библиотеке freetype включена поддержка субпиксельного рендеринга. Но в прошлой заметке я предположил (и rioky подтвердил моё предположение), что в релизе 12.2 она имеет место быть по умолчанию, и не требует наложения каких-либо патчей.

Разумеется, прежде чем начать работу с этим пакетом, его нужно установить. Сделать это можно, подключив репозиторий M17N ( (или одно из его зеркал, например, Яндексово) для своей версии и архитектуры дистрибутива. Самый простой способ для этого — воспользоваться поиском в OBS и установкой «в один клик».

Надо сказать, что поиск в OBS даёт и ещё один вариант пакета fontconfig-infinality, находящийся в одном из «домашних» репозиториев, однако я ограничился первым, выглядящим более «канонично».

Как я уже говорил, возможности конфигурирования шрифтов с помощью fontconfig-infinality чрезвычайно широки. Однако в настоящей заметке я ограничусь рассмотрением установки общесистемного стиля их рендеринга. Этой цели служит следующая команда:

# infinality-ctl setstyle

Результатом которой будет предложение выбрать стиль:

Select a style:
1) debug       3) linux       5) osx2        7) win98
2) infinality  4) osx         6) win7        8) winxp
#?

Вывод этот можно получить, дав указанную команду и от имени пользователя. Однако для получения результата требуются права администратора, так как он связан с изменениями в каталоге /etc/fonts.

Дальнейшие действия очевидны: достаточно выбрать подходящий стиль, ввести соответствующею ему цифру, получив следующий вывод

conf.d -> styles.conf.avail/debug

перезапустить сеанс Иксов и наслаждаться. Правда, дело упирается в самую малость — выбор подходящего стиля. Для чего не худо знать их особенности.

В первом приближении их можно узнать, просмотрев следующий файл

$ less /etc/fonts/infinality/infinality.conf

В нём содержится такая информация:

Infinality - subpixel AA, minimal replacements/tweaks, sans=Arial
Windows 7 - subpixel AA, sans=Arial
Windows XP - subpixel AA, sans=Arial
Windows 98 - B/W full hinting on TT fonts, grayscale AA for others, sans=Arial
OSX - Slight hinting, subpixel AA, sans=Helvetica Neue
OSX2 - No hinting, subpixel AA, sans=Helvetica Neue
Linux - subpixel AA, sans=DejaVu Sans

Из этого описания более-менее понятны формальные различия между стилями. Однако как они выражаются визуально, можно только визуально. Для чего все их следует просмотреть в сравнении с умолчальным стилем openSUSE 12.2, каковой выглядит так:

01-default.png

С первого же взгляда становится ясным, что это и есть стиль Linux:

03-linux.png

Далее двигаемся последовательно по всем пунктам. Стиль Infinality:

02-infinality.png

Стили Mac OSX

04-osx.png

и Mac OSX2

05-osx2.png

Стили Windows 7

06-win7.png

и Windows XP

08-winxp.png

Стиль Windows 98:

07-win98.png

И, наконец, стиль Debug, хотя, как явствует из названия, для практического применения он вряд ли предназначен:

00

Разумеется, составить представление о шрифтах по скриншотам в браузере очень сложно. Визуально уловить различие можно, скорее просматривая их последовательно в каком-либо графическом вьювере, да и то, впечатление будет не полным, а возможно, и искажённым. Так что единственный путь для подбора подходящего стиля — это установить его и некоторое время позаниматься практической работой. Я это проделал, правда, пока достаточно бегло, и излагаю свои первые впечатления. Только, Ахурамазды ради, не воспримите их как советы или, паче того, рекомендации: визуальное восприятие шрифтов — дело настолько индивидуальное, что доверять в нём можно только собственным глазам.

Как я говорил в прошлой заметке, умолчальный стиль openSUSE, он же Linux, мне вполне нравился. Однако стиль Infinality неожиданно понравился мне ещё больше — своей чёткостью. Хотя раньше, во времена опытов с соответствующими патчами в Fedora, я отнёсся к нему достаточно скептически.

Благоприятное впечатление своей компактностью произвели на меня стили Windows 7 и Windows XP — более того, я не уловил между ними никаких различий. Да и стиль Windows 98, внешне на них вполне похожий, также неприязни не вызвал.

А вот оба стиля хвалёных Mac’овских шрифтов, напротив, при беглом взгляде не дал мне никаких поводов для восторга. Возможно, их применение требует привычки — но повода приобретать таковую я пока не вижу.

В итоге я пока остановился на стиле Infinality, а в качестве кандидата для дальнейшего долговременного опробования наметил стиль Windows 7 (со стиле Linux я уже знаком достаточно). И уже окончательно определившись с выбором, займусь изготовлением стиля собственного. Как — вкратце можно прочитать в fontconfig-infinality README (входит в состав пакета) или его русском переводе.


К содержанию