Infinality (Русский)
Ссылки по теме
Набор патчей Infinality стремится значительно улучшить отрисовку шрифтов freetype2, и добавляет несколько новых возможностей.
Особенности
Все настройки Infinality задаются во время выполнения с помощью переменных сред в /etc/X11/xinit/xinitrc.d/xft-settings.sh
, и включают следующее:
- Emboldening Enhancement: Отключение Y Emboldening, производит гораздо приятный результат на шрифты без утолщённых версий. Работает на родном TT Hinter и autohinter.
- Auto-Autohint: Автоматически ставит autohint на шрифты, которые не содержат никаких инструкций TT.
- Autohint Enhancement: Makes autohint snap horizontal stems to pixels. Gives a result that appears like a well-hinted truetype font, but is 100% patent-free (as far as I know).
- Customized FIR Filter: Выберите свои собственные значения фильтра во время выполнения. Работает на родном TT Hinter и autohinter.
- Stem Alignment: Выравнивает растровые глифы оптимизированных границ пикселей. Работает на родном TT Hinter и autohinter.
- Pseudo Gamma Correction: Глифы светлее и темнее, при заданном значении ниже данного размера. Работает на родном TT Hinter и autohinter.
- Embolden Thin Fonts: Делает тонкие или лёгкие шрифты более заметными. Работает на autohinter.
- Force Slight Hinting: Принудительно использовать slight hinting, даже когда программы запрашивают full hinting. Если вы используете local.conf, который я предоставляю (включенный в пакет fedora infinality-settings), то вы заметите улучшения отображения шрифтов.
- ChromeOS Style Sharpening: Использует патч ChromeOS , чтобы сделать резче вид шрифтов. В настоящее время включено в набор патчей infinality.
Для подробностей смотрите README.
Ряд предустановок включено, и может быть использовано, путем установки переменной USE_STYLE в /etc/X11/xinit/xinitrc.d/xft-settings.sh
.
Установка
Infinality-bundle
Infinality-bundle представляет собой набор программного обеспечения, направленного на улучшение визуализации текста в Arch Linux.
В настоящее время, в комплект входят:
- freetype2-infinality-ultimate - freetype2 собранный с Infinality и дополнительными патчами.
- fontconfig-infinality-ultimate - fontconfig оптимизированный для использования freetype2-infinality-ultimate, включая отдельные предустановки для свободных шрифтов (по умолчанию), шрифтов MS и коллекции пользовательских шрифтов.
- cairo-infinality-ultimate - cairo собранный с дополнительными и Ubuntu-патчами.
Все библиотеки собраны в чистом окружении среды Chroot, и доступны для обеих архитектур i686 и x86_64, включена поддержка multilib.
Для удобства пользователей доступен дополнительный репозиторий infinality-bundle-fonts предлагающий широкий выбор всех необходимых шрифтов, для создания и воспроизведения гипертекстовых документов. Все шрифты были отобраны и проверены вручную, чтобы гарантировать высокое качество их рендеринга, а также совместимость с проприетарными эквивалентами используемыми в сети и офисных приложениях. Все шрифты находятся в свободном доступе и распространяются по лицензиям GPL, OFL, Apache или подобными, не ограничивающими их использование.
Дополнительные действия после установки не требуется, однако Вы легко сможете настроить сборку под ваши нужды, если потребуется.
Установка
Установка состоит из добавления выбранных репозиториев в pacman.conf
и установки пакетов из соответствующих групп или мета-пакетов. Не забудьте перезапустить сервер X после установки, чтобы увидеть изменения.
- infinality-bundle содержит базовые пакеты собранные в группе infinality-bundle.
- infinality-bundle-multilib репозиторий содержит дополнительные мультибиблиотечные библиотеки для архитектуры x86_64 собранные в группе infinality-bundle-multilib.
- infinality-bundle-fonts репозиторий содержит полную коллекцию бесплатных шрифтов в метапакетах ibfonts-meta-base, ibfonts-meta-extended и ibfonts-meta-extended-lt.
Рекомендуемые шрифты с ограниченными лицензиями
Ниже приведен список шрифтов, которые распространяются по несвободным лицензиям и не могут быть включены в состав infinality-bundle-fonts как бинарные пакеты. Однако, вы можете установить их и использовать соблюдая некоторые условия, часть из них (исходные пакеты) можно найти в репозитории AUR. Пожалуйста ознакомьтесь с лицензионным соглашением, прежде чем использовать шрифты!
- ttf-brillAUR
- otf-nerisAUR
- ttf-allerAUR
- ttf-envy-code-rAUR
Использование
Пользователи популярных окружений рабочего стола (GNOME, KDE, Xfce4, Cinnamon, LXDE) должны настроить параметры шрифта через их панели управления DE. В принципе, настройки должны дублировать те, что в файле настроек freetype2 (/etc/X11/xinit/xinitrc.d/xft-settings.sh
):
Xft.antialias: 1 Xft.autohint: 0 Xft.dpi: 96 Xft.hinting: 1 Xft.hintstyle: hintfull Xft.lcdfilter: lcddefault Xft.rgba: rgb
Если панель управления вашего DE не позволяет установить любой из выше указанных пунктов, отрегулируйте только те, которые доступны. Помимо этих значений, можно настроить все переменные INFINALITY_FT
. Пример:
# Делает шрифты темнее и толще при отрицательном значении. При положительном осветляет. export INFINALITY_FT_BRIGHTNESS="-10" # Не слишком острый, не слишком гладкий export INFINALITY_FT_FILTER_PARAMS="16 20 28 20 16"
- Можно пропустить установку infinality-bundle-fonts если вы хотите использовать пропиетарную коллекцию шрифтов Microsoft. Если это так, то вы должны активировать предустановки Fontconfig MS для обеспечения правильного выбора набора шрифтов. Сделайте это:
# fc-presets set
1) combi 2) free 3) ms 4) reset 5) quit Enter your choice...
и выберите 3
.
Для большей информации, запустите fc-presets help
.
- Если вы предпочитаете использовать пользовательский набор шрифтов, есть предустановки
combi
которые позволяют регулировать соответствующие параметры fontconfig. При активации предустановкиcombi
, содержание файла настроек (/etc/fonts/conf.avail.infinality/combi
) может быть свободно изменено. Когда вы закончите, не забудьте создать резервную копию каталога 'combi'.
Больше шрифтов
Если вы хотите установить еще больше шрифтов, есть дополнительная коллекция infinality-bundle-fonts-extra. Выполните
$ pacman -Ss infinality-bundle-fonts-extra
чтобы получить список доступных пакетов.
Замены шрифта
Если Вы хотите перезаписать набор замены стандартных шрифтов в /etc/fonts/conf.d/37-repl-global-preset.conf
или добавить новые, используйте /etc/fonts/conf.d/35-repl-custom.conf
. Вам понадобится продублировать шаблон (16 строк кода) для каждого семейства шрифтов, которые хотите заменить и подставить соответсвующие названия.
Подписи пакетов
Бывает пользователи сталкиваются с тем, что подпись не соответствует репозиторию. Частое обновление списка пакетов (pacman -Syy
), решит проблему. Если не получается, удалите файлы infinality-bundle files из /var/lib/pacman/sync
и снова обновите список пакетов.
Обновление
fontconfig-infinality-ultimate часто обновляется, обычно каждые 3-4 недели, после ряда сообщений об незначительных ошибках, которые были исправлены. Каждое исправление появляется сразу в репозитории GitHub, и пользователи выбравшие fontconfig-infinality-ultimate-gitAUR[ссылка недействительна: сохранено в aur-mirror] из AUR получат их раньше, т.е. когда пересоберут пакет.
Апстрим infinality
freetype2-infinalityAUR Может быть установлен из AUR. Если вы пользователь multilib, также установите lib32-freetype2-infinalityAUR[ссылка недействительна: сохранено в aur-mirror] из AUR. AUR также содержит последний снимок разработки патча Infinality с freetype2 : freetype2-infinality-gitAUR[ссылка недействительна: сохранено в aur-mirror] и lib32-freetype2-infinality-gitAUR[ссылка недействительна: сохранено в aur-mirror].
Рекомендуется также установить fontconfig-infinalityAUR для включения выбора готовых стилей замещения шрифта и настройки сглаживания, кроме настроек рендеринга самого движка. После этого, вы можете выбрать стиль шрифта (win7, winxp, osx, linux, ...) с помощью:
# fc-presets set
Соответствующие шрифты должны быть установлены.
Для большей информации, смотрите пост на форуме: http://www.infinality.net/forum/viewtopic.php?f=2&t=77#p794
Решение проблем
Смотрите также Font configuration#Troubleshooting.
Spotify проблемы шрифта
Если у вас проблемы рендеринга шрифтов с Spotify [1], попробуйте следующие настройки шрифта:
USE_STYLE="2" export INFINALITY_FT_FRINGE_FILTER_STRENGTH="50" export INFINALITY_FT_USE_VARIOUS_TWEAKS="true" export INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH="20" export INFINALITY_FT_GAMMA_CORRECTION="30 80" export INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="25" export INFINALITY_FT_STEM_FITTING_STRENGTH="25"
Google Chrome проблемы
Чтобы исправить проблемы с отображением в браузере Google Chrome описанные в этом сообщении, отредактируйте файл /etc/fonts/fonts.conf
убрав знаки комментирования (удалите "!--" и "--"):
<!--match target="pattern"> <edit name="dpi" mode="assign"> <double>72</double> </edit> </match-->
Emacs
Emacs users have reported issues with Noto Sans as the default sans-serif font. This will affect any font face that specifies "Sans Serif" as the font family including the variable-pitch face that is used in Emacs Info mode.
Noto Sans is a collection of many individual language specific font files. Emacs does not find the correct version when it tries to render the font and displays glyphs instead.
To get around the issue you need to either specify a different default Sans Serif font for all applications or modify the font family for any faces that specify "Sans Serif" within Emacs.
To change the default font for all applications place the following:
<alias> <family>sans-serif</family> <prefer> <family>Liberation Sans</family> </prefer> </alias>
in either /etc/fonts/conf.avail.infinality/35-repl-custom.conf
for global effect or $XDG_CONFIG_HOME/fontconfig/fonts.conf
or $XDG_CONFIG_HOME/fontconfig/conf.d/60-latin.conf
for a single user. For `combi` users, 60-latin-combi.conf
should be modified accordingly.
The default font can be any but Noto Sans.
To change the font in Emacs only:
If you prefer Noto Sans for other applications and just want to fix Emacs specifically then you can specify a new Font Family for the variable pitch face. This could be done via customize (M-x customize-face RET variable-pitch RET) or by placing the following code in $HOME/.emacs
or $HOME/emacs.d/init.el
.
(custom-set-faces '(variable-pitch ((t (:family "Liberation Sans")))))
Note that there may be other faces either in default Emacs or specified by themes that also use the default Sans Serif font and would have to be modified in the same way. Changing the system wide default to something like Liberation Sans is therefore a more universal fix.
GIMP
Пользователи GIMP сообщили о проблемах с субпиксельным рендерингом текста в изображениях (смотрите для примера эту тему). Лучший путь решения, - отключить субпиксельный рендеринг полностью в GIMP. Добавьте файл /etc/gimp/2.0/fonts.conf
(или ~/.gimp-2.8/fonts.conf
для одного пользователя) со следующим содержанием:
/etc/gimp/2.0/fonts.conf
<fontconfig> <match target="font"> <edit name="rgba" mode="assign"> <const>none</const> </edit> </match> </fontconfig>
Неправильно отображаются специальные языковые символы / глифы
Неправильно отображаются специальные языковые символы при использовании стандартного шрифта.
Это обычно происходит с веб-сайтами (особенно блогами), использующими шаблоны CSS, которые используют веб-шрифты с отсутствием поддержки для расширенных латинских символов. Хотя это не является следствием использования этой сборки и должно исправляться администратором сайта. Эту проблему можно обойти созданием правила замены шрифтов в fontconfig'е. Если хотите использовать эту возможность, сперва активируйте замены 36-repl-missing-glyphs.conf
:
$ cd /etc/fonts/conf.d $ ln -s ../conf.avail.infinality/36-repl-missing-glyphs.conf .
после чего отредактируйте файл согласно приведенному примеру.
Перезапись стандартных правил замен и добавление своих возможно с 35-repl-custom.conf
. Этот файл используется по умолчанию, так что все что потребуется это его редактирование.
Браузеры Firefox/Chrome рендерят моноширный шрифт как пропорциональный
Вы можете проверить, какие шрифты использует браузер, выполнив fc-match
. Если для "monospace"
вы получаете пропорциональный шрифт Arial
# fc-match "monospace" monospace: arial.ttf: "Arial" "Normal"
вам нужно запустить
# fc-presets set
Общие проблемы со шрифтами
Если Вы натолкнетесь на проблемы со шрифтами (например, какие-то глифы не отображаются в документах PDF, хотя семейство шрифтов было корректно установлено), начните поиск неисправностей выполнив команду:
# fc-cache -fr
Это полностью очистит кэш шрифтов и создаст его заново.
Смотрите также
- Файл infinality-settings.sh с примерами и описанием (Англ.)
- Домашняя страница (Англ.)
- Форум (Англ.)
- Короткая статья о infinality (содержит скриншоты, Англ.)
- Infinality bundle и шрифты - домашняя страничка сборки.
- fontconfig-ultimate - git-репозиторий, содержащий патчи, настройки и сборочные сценарии для всей коллекции infinality-bundle+fonts в отдельных бранчах.
- infinality-bundle: good looking fonts made (even) easier - infinality-bundle support thread in the Arch Linux Forums
- infinality-bundle-fonts: a free multilingual font collection for Arch - infinality-bundle-fonts support thread in the Arch Linux Forums