FreeType2 - в новой версии 2.6.4 изменён метод хинтинга по-умолчанию.

Вышла новая версия библиотеки FreeType2, с новым методом хинтинга шрифтов, который и включён теперь по-умолчанию.
Новость можно прочесть на Опеннете и ЛОРе, оригинал по-английски на сайте FreeType2.

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

Чтобы сделать это, достаточно объявить фигурирующую в патче переменную окружения FT2_SUBPIXEL_HINTING, как и сообщает новый пакет при установке:
Subpixel hinting mode can be chosen by setting the right value in your environment, for example /etc/environment or ~/.pam_environment .
Available settings:
FT2_SUBPIXEL_HINTING=0 # Classic mode
FT2_SUBPIXEL_HINTING=1 # Infinality mode
FT2_SUBPIXEL_HINTING=2 # Default mode
Другими словами, значение 0 (ноль) возвращает обычный хинтинг, который и был у вас ранее, цифра 1 включает режим Infinality, который уже был, но не был включён по-умолчанию, и цифра 2 включает нынешний новый режим хинтинга, который и так по-умолчанию.

Разумеется, использовать для этого указанные выше файлы *environment не обязательно, достаточно объявить переменную окружения любым способом, который обеспечит её наследование графическими программами. К примеру, если вы запускаете "иксы" через startx или xinit, её достаточно внести в ~/.profile , либо в ~/.xinitrc
Natrio
значение 0 (ноль) возвращает обычный хинтинг, который и был у вас ранее
Что то у меня не возвращает. Все равно радуга и размазня при Classic mode. Откатил пока на freetype2-2.6.3-1
Слева 2.6.4-2 справа 2.6.3-1
Если не возвращает, значит неправильно сделано.
Переменные окружения наследуются процессами-потомками от родительских процессов. Соответственно, если в консоли написать
FT2_SUBPIXEL_HINTING=0 firefox
или
export FT2_SUBPIXEL_HINTING=0
firefox
то мозилла запустится со стандартным хинтингом.

Чтобы то же самое применялось при старте системы, нужно прописать в /etc/environment
FT2_SUBPIXEL_HINTING=0
и перезагрузить.

Чтобы то же самое применялось при логине в консоли, с запуском иксов из шелла, нужно прописать в ~/.profile
export FT2_SUBPIXEL_HINTING=0
Natrio
Если не возвращает, значит неправильно сделано.
cat  ~/.profile
export NO_AT_BRIDGE=1PATH="/bin:/usr/games:$PATH"
PATH="/bin:/usr/games:$PATH"
export QT_QPA_PLATFORMTHEME="qt5ct"
export GTK_MODULES=winmenu
export FT2_SUBPIXEL_HINTING=0

Перезагружался и пробовал разные значения
такое впечатление что хинтинга нет вообще
Слева 2.6.4-2 справа 2.6.3-1
А если просто запустить из консоли, как я показал?
P.S.
Как это выглядит, я в курсе :)
Natrio
А если просто запустить из консоли, как я показал
О а так работает. Почему то не хочет применяться из ~/.profile , хотя экспорт GTK_MODULES QT_QPA_PLATFORMTHEME от туда работают.
Прописал в ~/.bash_profile так работает.
Спасибо.
vs220
Почему то не хочет применяться из ~/.profile
Значит, у вас .profile не запускается при логине, и если порыться в скриптах, можно найти, почему так :)
vs220
О а так работает. Почему то не хочет применяться из ~/.profile , хотя экспорт GTK_MODULES QT_QPA_PLATFORMTHEME от туда работают.
Прописал в ~/.bash_profile так работает.
Спасибо.
В .xprofile надо было писануть...
svicer
В .xprofile надо было писануть...
Да, только этот файл автоматически выполняется из всяческих *DM, а при запуске через xinit или startx он сам не "подхватится", если его прямо туда не вписать. В таким случае проще вписать export непосредственно в .xinitrc
С версией 2.7 прикрутили такое:

/etc/profile.d/freetype2.sh

С таким содержимым:

# Subpixel hinting mode can be chosen by setting the right TrueType interpreter
# version. The available settings are:
#
#     truetype:interpreter-version=35  # Classic mode (default in 2.6)
#     truetype:interpreter-version=38  # Infinality mode
#     truetype:interpreter-version=40  # Minimal mode (default in 2.7)
#
# There are more properties that can be set, separated by whitespace. Please
# refer to the FreeType documentation for details.

# Uncomment and configure below
#export FREETYPE_PROPERTIES="truetype:interpreter-version=40"

Теперь, как я понимаю, нужно раскомментировать строку последнюю и задать там желаемый параметр?

Вроде в PKGBUILD так же добавили
backup=('etc/profile.d/freetype2.sh')
что наверное не даст затираться собственному конфигу при обновлении пакета? Верно?
 
Зарегистрироваться или войдите чтобы оставить сообщение.