Fontconfig/ru

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

Общие сведения
использует XML-файлы в директории, чтобы генерировать свою внутреннюю конфигурацию. По умолчанию она парсит (пользователю не следует самостоятельно вносить изменения в этот файл!), который хранит некоторые разумные значения, а также зачастую содержит код для парсинга файлов из. Кроме этого, существует директория, в которой находятся всевозможные конфигурационные файлы, каждый из которых покрывает тот или иной аспект. Можно создавать символьные ссылки на необходимые файлы в. Порядок выполнения зависит от имён файлов; именно поэтому каждое имя начинается с двузначного числа, первая цифра которого (разряд десятков) указывает, на что влияет файл (иначе говоря, класс конфигурационного файла).

Специфика Gentoo
Gentoo предоставляет модуль eselect, который в точности осуществляет описанное общим способом — управляет символьными ссылками в , добавляя или удаляя их из директории. По понятным причинам изменения конфигурации на уровне системы требуют соответствующих прав доступа.

Следующие подсекции поясняют работу с модулем eselect.

Список доступных файлов
Команда отображает доступные файлы  и помечает активные звёздочкой.

Активация файлов
Файлы могут быть активированы по имени или по номеру в скобках. Следующие две команды выполняют одно и то же действие:

Деактивация файлов
Файлы могут быть деактивированы аналогичным образом:

Пользовательская конфигурация для всей системы
Чтобы создать пользовательский файл, влияющий на всю систему, активируйте и создайте  (это XML-файл).

Конфигурация для каждого пользователя отдельно
Чтобы создать файлы для каждого пользователя, активируйте  (может быть активирован по умолчанию) и сделайте так, чтобы пользователи использовали  (который имеет тот же формат XML, что и ).

Проверка конфигурации
Проверьте замену шрифта по умолчанию, например, для Arial:

Сглаживание, хинтинг и субпиксельное отображение
Тонкости отображения также могут быть настроены. В следующих секциях показана настройка сглаживания, хинтинга и субпиксельного отображения.

Forcing hinting
The default behavior regarding hinting is rather undocumented, but it can be made deterministically sub-optimal by making a system wide default.


 * 1) First enable
 * 2) Edit the  file to include full hinting by default

This snippet enables full hinting:

Using sub-pixel rendering
It's important to determine the sub-pixel layout of the LCD matrix. It's usually RGB but the only way to be sure is to either consult display specification or use this sub-pixel layout test to determine it.

Once determined, enable the appropriate file.

It's strongly advised that, if available, is used with sub-pixel rendering. It comes in different varieties but the default should be appropriate for all common fonts.

Regarding autohinter
Autohinter attempts to do automatic hinting disregarding any existing hinting information. Until recently it was the default because TrueType2 was covered by patents but now that they have expired there's very little reason to use it. From technical point of view it does better than broken or no hinting information but it will be strongly sub-optimal for fonts with good hinting information. Generally system fonts are of the second kind so autohinter should not be used.

Infinality
Infinality is a (somewhat controversial) set of patches for FreeType and accompanying files. The goal of Infinality is to provide higher quality font rendering including emulation of other OS font rendering styles.

Enabling Infinality
Enable the 'infinality' USE flag by editing either manually or by using euse tool.

Next, rebuild the affected programs.

Unless messages shown after rebuild tell otherwise, enable.

Configuring Infinality
Infinality can be configured in various ways including custom configurations, but easiest is to use pre-made profiles shipped in that along with eselect modules should have been installed as dependencies of the   USE flag.

Quick and reasonable config
It's also recommended to disable all settings except for  as they interfere with the rendering of infinality styles:

Certain settings do not interfere with how the fonts are rendered, but rather determine the default fonts for font-types (such as Monospace, sans-serif, etc.). Such settings (for example the configurations) can be left enabled.

Explanation
Infinality provides FreeType environment variables that can be used to configure features introduced with its patches as well as files to be used with these changes. file sets are administrated on Gentoo via while the FreeType behaviour is set using.

These eselect modules function as usual:


 * Listing available file sets.


 * Listing available FreeType variable sets.


 * Both sets should match of course except when there are multiple matches possible such as shown below.

Picking fonts
Choosing the right font can be trickier than deciding on the right hinting type. For one reason or another fonts will not be perfect but it's certainly doable to make that same fonts look better than, say, Windows 7 default font configuration.

Ссылки

 * In-depth articles from Arch Linux wiki on:
 * Font configuration
 * Infinality
 * Official documentation for users
 * Wikipedia article on font hinting