Poppler 0.16. Опять настраивать шрифты

В мире Linux периодически случается так, что обновление одного пакета затрагивает множество других. А еще хуже бывает тогда, когда один из этих пакетов был установлен с внесением каких либо правок, либо вообще в обход пакетного менеджера. Как Вы уже догадались именно такая ситуация случилась у меня при обновлении poppler.

Обновление poppler требовало обновления cairo (у меня стояла патченная 1.8.10) до версии 1.10.2-r1. Кстати Вы можете почитать статью по процессу доведения шрифтов до вменяемого состояния и установки патченных пакетов. Так как я не силен в написании ебилдов для Gentoo тогда были установлены патченные freetype, fontconfig и cairo через

make, make install

Не захотев опять пересобирать и патчить вручную я просто надеялся обмануть portage путем изменения в

/etc/portage/package.provided

предоставленной версии cairo с 1.8.10 на 1.10.2-r1. Обмануть не получилось, ибо перестал собираться epdfview ссылаясь на то, что не может найти poppler-glib.so.5. Пересборка poppler ничего не дала и решено было все же обновить cairo. После сборки cairo и последующей пересборки poppler — epdfview нормально собрался и отлично работал.

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

Чтобы снова сделать Ш не Г я нашел патч cleartype для новой версии cairo. Пользователям Gentoo нужно будет поправить ебилд (или положить его в собственный локальный оверлей), подложить патч в соответствующую директорию и пересобрать cairo. Теперь обо всем этом подробнее

Сначала открываем ебилд:

sudo nano -w /usr/portage/x11-libs/cairo/cairo-1.10.2-r1.ebuild

И найдя строки

src_prepare() {
        epatch

Добавляем еще одну

epatch "${FILESDIR}"/cairo-cleartype-1.10.patch

Сохраняем изменения, закрываем и копируем в директорию

/usr/portage/x11-libs/cairo/files

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

sudo ebuild /usr/portage/x11-libs/cairo/cairo-1.10.2-r1.ebuild manifest

Теперь пересобираем пакет cairo и получаем шрифты еще лучше чем были до этого.

Приложение Размер
cairo-cleartype-1.10.patch 13.56 кб
Оцените статью