LinuxForum.Fans
Тема

Шрифты, разобраться раз и на всегда

Автор: riso 103 сообщений 33710 просмотров
#216632

У меня тут вопрос образовался. Можно ли патчить freetype к примеру, этим патчем? И на сколько патчи с других систем совместимы ? Ось gentoo. Как я понимаю, можно и ничего страшного не произойдет, главное что бы версии совпадали.

#216688
riso написал:
Можно ли патчить freetype к примеру, этим патчем?

почему-же нельзя? патчите. Дифф (это то, чем патчат) - просто разница между файлами. Оно скажет, если что-то не так. В подавляющем случае всё прекрасно патчится, а потом собирается и устанавливается в систему (вот здесь уже по разному). Проблемы возникают только если в вашем дистре накладываются какие-то свои, оригинальные патчи, они могут и не наложится (утилита patch может не найти то место, которое надо исправить).

#217306

в freetype есть флаги bindist и autohint. Нужно ли их включать?

#217325
vux написал:
в freetype есть флаги bindist и autohint.

Флаг — auto-hinter — так правильнее.
IMHO, ни тот, ни другой включать не нужно.

#217761

riso, попробуйте переустановить пакеты fontconfig freetype cairo libXft из оверлея lcd-filtering, результат думаю Вас порадует. Вот инструкции по установке и настройке.

#219060
SidER написал:
riso, попробуйте переустановить пакеты fontconfig freetype cairo libXft из оверлея lcd-filtering, результат думаю Вас порадует. Вот инструкции по установке и настройке.

Я сделал по вашему совету. Шрифты выглядят неплохо. Но у меня пропал terminus. fontconfig его видет и там он активирован. Но система его какбы не замечает.
Шрифт собран с флагом X. И раньше - до этого рецепта все было нормально.
И еще вопрос. Во всех руководствах по настройке шрифтов используеться также и файл ~/.fonts.conf. А здесь он даже не упомянаеться. Я спрашиваю потому что после ранних эксперементов у меня остался этот файл в хоме. И когда я его убрал стало вроде еще лучше

#219073

Читал инструкцию, делайте как там написано, должно получиться

#219084
vux написал:

Я сделал по вашему совету. Шрифты выглядят неплохо. Но у меня пропал terminus. fontconfig его видет и там он активирован. Но система его какбы не замечает.
Шрифт собран с флагом X. И раньше - до этого рецепта все было нормально.

С terminus у меня та жа самая картина. Пока для себя нашел единственное решение: это скачиваешь отсюда файлы с расширением ttf и закидываешь в папку ~/.fonts. В терминале: fc-cache -vf.


И еще вопрос. Во всех руководствах по настройке шрифтов используеться также и файл ~/.fonts.conf. А здесь он даже не упомянаеться. Я спрашиваю потому что после ранних эксперементов у меня остался этот файл в хоме. И когда я его убрал стало вроде еще лучше

~/.fonts.conf это альтернатива файлам /etc/fonts/conf.d/, но изначально у ~/.fonts.conf приоритет выше. Соответственно настраивая по средствам eselect fontconfig Вы создаете линк конфигов из /etc/fonts/conf.avai/ в /etc/fonts/conf.d/ и я так понимаю поэтому не нужен ~/.fonts.conf.

#219101

Странно, у меня не было проблем с terminus, а xfontsel видит его ? может в xorg.conf путь вписать явно.

#219104

Пробую найти с помощью команды equery files media-fonts/terminus-font файл с расширением ttf, но безрезультатно. Или я что-то не правильно делаю? :o
Вывод:

Показать
* Searching for terminus-font in media-fonts ...
* Contents of media-fonts/terminus-font-4.36:
/usr
/usr/share
/usr/share/consolefonts
/usr/share/consolefonts/README.terminus
/usr/share/consolefonts/ter-112n.psf.gz
/usr/share/consolefonts/ter-114b.psf.gz
/usr/share/consolefonts/ter-114n.psf.gz
/usr/share/consolefonts/ter-114v.psf.gz
/usr/share/consolefonts/ter-116b.psf.gz
/usr/share/consolefonts/ter-116n.psf.gz
/usr/share/consolefonts/ter-116v.psf.gz
/usr/share/consolefonts/ter-118b.psf.gz
/usr/share/consolefonts/ter-118n.psf.gz
/usr/share/consolefonts/ter-120b.psf.gz
/usr/share/consolefonts/ter-120n.psf.gz
/usr/share/consolefonts/ter-122b.psf.gz
/usr/share/consolefonts/ter-122n.psf.gz
/usr/share/consolefonts/ter-124b.psf.gz
/usr/share/consolefonts/ter-124n.psf.gz
/usr/share/consolefonts/ter-128b.psf.gz
/usr/share/consolefonts/ter-128n.psf.gz
/usr/share/consolefonts/ter-132b.psf.gz
/usr/share/consolefonts/ter-132n.psf.gz
/usr/share/consolefonts/ter-212n.psf.gz
/usr/share/consolefonts/ter-214b.psf.gz
/usr/share/consolefonts/ter-214n.psf.gz
/usr/share/consolefonts/ter-214v.psf.gz
/usr/share/consolefonts/ter-216b.psf.gz
/usr/share/consolefonts/ter-216n.psf.gz
/usr/share/consolefonts/ter-216v.psf.gz
/usr/share/consolefonts/ter-218b.psf.gz
/usr/share/consolefonts/ter-218n.psf.gz
/usr/share/consolefonts/ter-220b.psf.gz
/usr/share/consolefonts/ter-220n.psf.gz
/usr/share/consolefonts/ter-222b.psf.gz
/usr/share/consolefonts/ter-222n.psf.gz
/usr/share/consolefonts/ter-224b.psf.gz
/usr/share/consolefonts/ter-224n.psf.gz
/usr/share/consolefonts/ter-228b.psf.gz
/usr/share/consolefonts/ter-228n.psf.gz
/usr/share/consolefonts/ter-232b.psf.gz
/usr/share/consolefonts/ter-232n.psf.gz
/usr/share/consolefonts/ter-712n.psf.gz
/usr/share/consolefonts/ter-714b.psf.gz
/usr/share/consolefonts/ter-714n.psf.gz
/usr/share/consolefonts/ter-714v.psf.gz
/usr/share/consolefonts/ter-716b.psf.gz
/usr/share/consolefonts/ter-716n.psf.gz
/usr/share/consolefonts/ter-716v.psf.gz
/usr/share/consolefonts/ter-718b.psf.gz
/usr/share/consolefonts/ter-718n.psf.gz
/usr/share/consolefonts/ter-720b.psf.gz
/usr/share/consolefonts/ter-720n.psf.gz
/usr/share/consolefonts/ter-722b.psf.gz
/usr/share/consolefonts/ter-722n.psf.gz
/usr/share/consolefonts/ter-724b.psf.gz
/usr/share/consolefonts/ter-724n.psf.gz
/usr/share/consolefonts/ter-728b.psf.gz
/usr/share/consolefonts/ter-728n.psf.gz
/usr/share/consolefonts/ter-732b.psf.gz
/usr/share/consolefonts/ter-732n.psf.gz
/usr/share/consolefonts/ter-912n.psf.gz
/usr/share/consolefonts/ter-914b.psf.gz
/usr/share/consolefonts/ter-914n.psf.gz
/usr/share/consolefonts/ter-914v.psf.gz
/usr/share/consolefonts/ter-916b.psf.gz
/usr/share/consolefonts/ter-916n.psf.gz
/usr/share/consolefonts/ter-916v.psf.gz
/usr/share/consolefonts/ter-918b.psf.gz
/usr/share/consolefonts/ter-918n.psf.gz
/usr/share/consolefonts/ter-920b.psf.gz
/usr/share/consolefonts/ter-920n.psf.gz
/usr/share/consolefonts/ter-922b.psf.gz
/usr/share/consolefonts/ter-922n.psf.gz
/usr/share/consolefonts/ter-924b.psf.gz
/usr/share/consolefonts/ter-924n.psf.gz
/usr/share/consolefonts/ter-928b.psf.gz
/usr/share/consolefonts/ter-928n.psf.gz
/usr/share/consolefonts/ter-932b.psf.gz
/usr/share/consolefonts/ter-932n.psf.gz
/usr/share/consolefonts/ter-c12n.psf.gz
/usr/share/consolefonts/ter-c14b.psf.gz
/usr/share/consolefonts/ter-c14n.psf.gz
/usr/share/consolefonts/ter-c14v.psf.gz
/usr/share/consolefonts/ter-c16b.psf.gz
/usr/share/consolefonts/ter-c16n.psf.gz
/usr/share/consolefonts/ter-c16v.psf.gz
/usr/share/consolefonts/ter-c18b.psf.gz
/usr/share/consolefonts/ter-c18n.psf.gz
/usr/share/consolefonts/ter-c20b.psf.gz
/usr/share/consolefonts/ter-c20n.psf.gz
/usr/share/consolefonts/ter-c22b.psf.gz
/usr/share/consolefonts/ter-c22n.psf.gz
/usr/share/consolefonts/ter-c24b.psf.gz
/usr/share/consolefonts/ter-c24n.psf.gz
/usr/share/consolefonts/ter-c28b.psf.gz
/usr/share/consolefonts/ter-c28n.psf.gz
/usr/share/consolefonts/ter-c32b.psf.gz
/usr/share/consolefonts/ter-c32n.psf.gz
/usr/share/consolefonts/ter-d12n.psf.gz
/usr/share/consolefonts/ter-d14b.psf.gz
/usr/share/consolefonts/ter-d14n.psf.gz
/usr/share/consolefonts/ter-d14v.psf.gz
/usr/share/consolefonts/ter-d16b.psf.gz
/usr/share/consolefonts/ter-d16n.psf.gz
/usr/share/consolefonts/ter-d16v.psf.gz
/usr/share/consolefonts/ter-d18b.psf.gz
/usr/share/consolefonts/ter-d18n.psf.gz
/usr/share/consolefonts/ter-d20b.psf.gz
/usr/share/consolefonts/ter-d20n.psf.gz
/usr/share/consolefonts/ter-d22b.psf.gz
/usr/share/consolefonts/ter-d22n.psf.gz
/usr/share/consolefonts/ter-d24b.psf.gz
/usr/share/consolefonts/ter-d24n.psf.gz
/usr/share/consolefonts/ter-d28b.psf.gz
/usr/share/consolefonts/ter-d28n.psf.gz
/usr/share/consolefonts/ter-d32b.psf.gz
/usr/share/consolefonts/ter-d32n.psf.gz
/usr/share/consolefonts/ter-g12n.psf.gz
/usr/share/consolefonts/ter-g14b.psf.gz
/usr/share/consolefonts/ter-g14n.psf.gz
/usr/share/consolefonts/ter-g14v.psf.gz
/usr/share/consolefonts/ter-g16b.psf.gz
/usr/share/consolefonts/ter-g16n.psf.gz
/usr/share/consolefonts/ter-g16v.psf.gz
/usr/share/consolefonts/ter-g18b.psf.gz
/usr/share/consolefonts/ter-g18n.psf.gz
/usr/share/consolefonts/ter-g20b.psf.gz
/usr/share/consolefonts/ter-g20n.psf.gz
/usr/share/consolefonts/ter-g22b.psf.gz
/usr/share/consolefonts/ter-g22n.psf.gz
/usr/share/consolefonts/ter-g24b.psf.gz
/usr/share/consolefonts/ter-g24n.psf.gz
/usr/share/consolefonts/ter-g28b.psf.gz
/usr/share/consolefonts/ter-g28n.psf.gz
/usr/share/consolefonts/ter-g32b.psf.gz
/usr/share/consolefonts/ter-g32n.psf.gz
/usr/share/consolefonts/ter-i12n.psf.gz
/usr/share/consolefonts/ter-i14b.psf.gz
/usr/share/consolefonts/ter-i14n.psf.gz
/usr/share/consolefonts/ter-i14v.psf.gz
/usr/share/consolefonts/ter-i16b.psf.gz
/usr/share/consolefonts/ter-i16n.psf.gz
/usr/share/consolefonts/ter-i16v.psf.gz
/usr/share/consolefonts/ter-i18b.psf.gz
/usr/share/consolefonts/ter-i18n.psf.gz
/usr/share/consolefonts/ter-i20b.psf.gz
/usr/share/consolefonts/ter-i20n.psf.gz
/usr/share/consolefonts/ter-i22b.psf.gz
/usr/share/consolefonts/ter-i22n.psf.gz
/usr/share/consolefonts/ter-i24b.psf.gz
/usr/share/consolefonts/ter-i24n.psf.gz
/usr/share/consolefonts/ter-i28b.psf.gz
/usr/share/consolefonts/ter-i28n.psf.gz
/usr/share/consolefonts/ter-i32b.psf.gz
/usr/share/consolefonts/ter-i32n.psf.gz
/usr/share/consolefonts/ter-k12n.psf.gz
/usr/share/consolefonts/ter-k14b.psf.gz
/usr/share/consolefonts/ter-k14n.psf.gz
/usr/share/consolefonts/ter-k14v.psf.gz
/usr/share/consolefonts/ter-k16b.psf.gz
/usr/share/consolefonts/ter-k16n.psf.gz
/usr/share/consolefonts/ter-k16v.psf.gz
/usr/share/consolefonts/ter-k18b.psf.gz
/usr/share/consolefonts/ter-k18n.psf.gz
/usr/share/consolefonts/ter-k20b.psf.gz
/usr/share/consolefonts/ter-k20n.psf.gz
/usr/share/consolefonts/ter-k22b.psf.gz
/usr/share/consolefonts/ter-k22n.psf.gz
/usr/share/consolefonts/ter-k24b.psf.gz
/usr/share/consolefonts/ter-k24n.psf.gz
/usr/share/consolefonts/ter-k28b.psf.gz
/usr/share/consolefonts/ter-k28n.psf.gz
/usr/share/consolefonts/ter-k32b.psf.gz
/usr/share/consolefonts/ter-k32n.psf.gz
/usr/share/consolefonts/ter-m12n.psf.gz
/usr/share/consolefonts/ter-m14b.psf.gz
/usr/share/consolefonts/ter-m14n.psf.gz
/usr/share/consolefonts/ter-m14v.psf.gz
/usr/share/consolefonts/ter-m16b.psf.gz
/usr/share/consolefonts/ter-m16n.psf.gz
/usr/share/consolefonts/ter-m16v.psf.gz
/usr/share/consolefonts/ter-m18b.psf.gz
/usr/share/consolefonts/ter-m18n.psf.gz
/usr/share/consolefonts/ter-m20b.psf.gz
/usr/share/consolefonts/ter-m20n.psf.gz
/usr/share/consolefonts/ter-m22b.psf.gz
/usr/share/consolefonts/ter-m22n.psf.gz
/usr/share/consolefonts/ter-m24b.psf.gz
/usr/share/consolefonts/ter-m24n.psf.gz
/usr/share/consolefonts/ter-m28b.psf.gz
/usr/share/consolefonts/ter-m28n.psf.gz
/usr/share/consolefonts/ter-m32b.psf.gz
/usr/share/consolefonts/ter-m32n.psf.gz
/usr/share/consolefonts/ter-p12n.psf.gz
/usr/share/consolefonts/ter-p14b.psf.gz
/usr/share/consolefonts/ter-p14n.psf.gz
/usr/share/consolefonts/ter-p14v.psf.gz
/usr/share/consolefonts/ter-p16b.psf.gz
/usr/share/consolefonts/ter-p16n.psf.gz
/usr/share/consolefonts/ter-p16v.psf.gz
/usr/share/consolefonts/ter-p18b.psf.gz
/usr/share/consolefonts/ter-p18n.psf.gz
/usr/share/consolefonts/ter-p20b.psf.gz
/usr/share/consolefonts/ter-p20n.psf.gz
/usr/share/consolefonts/ter-p22b.psf.gz
/usr/share/consolefonts/ter-p22n.psf.gz
/usr/share/consolefonts/ter-p24b.psf.gz
/usr/share/consolefonts/ter-p24n.psf.gz
/usr/share/consolefonts/ter-p28b.psf.gz
/usr/share/consolefonts/ter-p28n.psf.gz
/usr/share/consolefonts/ter-p32b.psf.gz
/usr/share/consolefonts/ter-p32n.psf.gz
/usr/share/consolefonts/ter-u12n.psf.gz
/usr/share/consolefonts/ter-u14b.psf.gz
/usr/share/consolefonts/ter-u14n.psf.gz
/usr/share/consolefonts/ter-u14v.psf.gz
/usr/share/consolefonts/ter-u16b.psf.gz
/usr/share/consolefonts/ter-u16n.psf.gz
/usr/share/consolefonts/ter-u16v.psf.gz
/usr/share/consolefonts/ter-u18b.psf.gz
/usr/share/consolefonts/ter-u18n.psf.gz
/usr/share/consolefonts/ter-u20b.psf.gz
/usr/share/consolefonts/ter-u20n.psf.gz
/usr/share/consolefonts/ter-u22b.psf.gz
/usr/share/consolefonts/ter-u22n.psf.gz
/usr/share/consolefonts/ter-u24b.psf.gz
/usr/share/consolefonts/ter-u24n.psf.gz
/usr/share/consolefonts/ter-u28b.psf.gz
/usr/share/consolefonts/ter-u28n.psf.gz
/usr/share/consolefonts/ter-u32b.psf.gz
/usr/share/consolefonts/ter-u32n.psf.gz
/usr/share/consolefonts/ter-v12n.psf.gz
/usr/share/consolefonts/ter-v14b.psf.gz
/usr/share/consolefonts/ter-v14n.psf.gz
/usr/share/consolefonts/ter-v14v.psf.gz
/usr/share/consolefonts/ter-v16b.psf.gz
/usr/share/consolefonts/ter-v16n.psf.gz
/usr/share/consolefonts/ter-v16v.psf.gz
/usr/share/consolefonts/ter-v18b.psf.gz
/usr/share/consolefonts/ter-v18n.psf.gz
/usr/share/consolefonts/ter-v20b.psf.gz
/usr/share/consolefonts/ter-v20n.psf.gz
/usr/share/consolefonts/ter-v22b.psf.gz
/usr/share/consolefonts/ter-v22n.psf.gz
/usr/share/consolefonts/ter-v24b.psf.gz
/usr/share/consolefonts/ter-v24n.psf.gz
/usr/share/consolefonts/ter-v28b.psf.gz
/usr/share/consolefonts/ter-v28n.psf.gz
/usr/share/consolefonts/ter-v32b.psf.gz
/usr/share/consolefonts/ter-v32n.psf.gz
/usr/share/consoletrans
/usr/share/consoletrans/8859-16.acm.gz
/usr/share/consoletrans/8859-16_to_uni.trans
/usr/share/consoletrans/cp1250.acm.gz
/usr/share/consoletrans/cp1251.acm.gz
/usr/share/consoletrans/cp1252.acm.gz
/usr/share/consoletrans/cp1252_to_uni.trans
/usr/share/consoletrans/cp1253.acm.gz
/usr/share/consoletrans/cp1253_to_uni.trans
/usr/share/consoletrans/cp1254.acm.gz
/usr/share/consoletrans/cp1254_to_uni.trans
/usr/share/consoletrans/cp1257.acm.gz
/usr/share/consoletrans/cp1257_to_uni.trans
/usr/share/consoletrans/cp437.acm.gz
/usr/share/consoletrans/koi8-r.acm.gz
/usr/share/consoletrans/koi8-u.acm.gz
/usr/share/consoletrans/mik.acm.gz
/usr/share/consoletrans/mik_to_uni.trans
/usr/share/consoletrans/pt154.acm.gz
/usr/share/consoletrans/pt154_to_uni.trans
/usr/share/consoletrans/pt254.acm.gz
/usr/share/consoletrans/pt254_to_uni.trans
/usr/share/doc
/usr/share/doc/terminus-font-4.36
/usr/share/doc/terminus-font-4.36/AUTHORS.bz2
/usr/share/doc/terminus-font-4.36/CHANGES.bz2
/usr/share/doc/terminus-font-4.36/NEWS.bz2
/usr/share/doc/terminus-font-4.36/README-BG.bz2
/usr/share/doc/terminus-font-4.36/README.bz2
/usr/share/fonts
/usr/share/fonts/terminus
/usr/share/fonts/terminus/encodings.dir
/usr/share/fonts/terminus/fonts.dir
/usr/share/fonts/terminus/fonts.scale
/usr/share/fonts/terminus/ter-112b.pcf.gz
/usr/share/fonts/terminus/ter-112n.pcf.gz
/usr/share/fonts/terminus/ter-114b.pcf.gz
/usr/share/fonts/terminus/ter-114n.pcf.gz
/usr/share/fonts/terminus/ter-116b.pcf.gz
/usr/share/fonts/terminus/ter-116n.pcf.gz
/usr/share/fonts/terminus/ter-118b.pcf.gz
/usr/share/fonts/terminus/ter-118n.pcf.gz
/usr/share/fonts/terminus/ter-120b.pcf.gz
/usr/share/fonts/terminus/ter-120n.pcf.gz
/usr/share/fonts/terminus/ter-122b.pcf.gz
/usr/share/fonts/terminus/ter-122n.pcf.gz
/usr/share/fonts/terminus/ter-124b.pcf.gz
/usr/share/fonts/terminus/ter-124n.pcf.gz
/usr/share/fonts/terminus/ter-128b.pcf.gz
/usr/share/fonts/terminus/ter-128n.pcf.gz
/usr/share/fonts/terminus/ter-132b.pcf.gz
/usr/share/fonts/terminus/ter-132n.pcf.gz
/usr/share/fonts/terminus/ter-212b.pcf.gz
/usr/share/fonts/terminus/ter-212n.pcf.gz
/usr/share/fonts/terminus/ter-214b.pcf.gz
/usr/share/fonts/terminus/ter-214n.pcf.gz
/usr/share/fonts/terminus/ter-216b.pcf.gz
/usr/share/fonts/terminus/ter-216n.pcf.gz
/usr/share/fonts/terminus/ter-218b.pcf.gz
/usr/share/fonts/terminus/ter-218n.pcf.gz
/usr/share/fonts/terminus/ter-220b.pcf.gz
/usr/share/fonts/terminus/ter-220n.pcf.gz
/usr/share/fonts/terminus/ter-222b.pcf.gz
/usr/share/fonts/terminus/ter-222n.pcf.gz
/usr/share/fonts/terminus/ter-224b.pcf.gz
/usr/share/fonts/terminus/ter-224n.pcf.gz
/usr/share/fonts/terminus/ter-228b.pcf.gz
/usr/share/fonts/terminus/ter-228n.pcf.gz
/usr/share/fonts/terminus/ter-232b.pcf.gz
/usr/share/fonts/terminus/ter-232n.pcf.gz
/usr/share/fonts/terminus/ter-512b.pcf.gz
/usr/share/fonts/terminus/ter-512n.pcf.gz
/usr/share/fonts/terminus/ter-514b.pcf.gz
/usr/share/fonts/terminus/ter-514n.pcf.gz
/usr/share/fonts/terminus/ter-516b.pcf.gz
/usr/share/fonts/terminus/ter-516n.pcf.gz
/usr/share/fonts/terminus/ter-518b.pcf.gz
/usr/share/fonts/terminus/ter-518n.pcf.gz
/usr/share/fonts/terminus/ter-520b.pcf.gz
/usr/share/fonts/terminus/ter-520n.pcf.gz
/usr/share/fonts/terminus/ter-522b.pcf.gz
/usr/share/fonts/terminus/ter-522n.pcf.gz
/usr/share/fonts/terminus/ter-524b.pcf.gz
/usr/share/fonts/terminus/ter-524n.pcf.gz
/usr/share/fonts/terminus/ter-528b.pcf.gz
/usr/share/fonts/terminus/ter-528n.pcf.gz
/usr/share/fonts/terminus/ter-532b.pcf.gz
/usr/share/fonts/terminus/ter-532n.pcf.gz
/usr/share/fonts/terminus/ter-712b.pcf.gz
/usr/share/fonts/terminus/ter-712n.pcf.gz
/usr/share/fonts/terminus/ter-714b.pcf.gz
/usr/share/fonts/terminus/ter-714n.pcf.gz
/usr/share/fonts/terminus/ter-716b.pcf.gz
/usr/share/fonts/terminus/ter-716n.pcf.gz
/usr/share/fonts/terminus/ter-718b.pcf.gz
/usr/share/fonts/terminus/ter-718n.pcf.gz
/usr/share/fonts/terminus/ter-720b.pcf.gz
/usr/share/fonts/terminus/ter-720n.pcf.gz
/usr/share/fonts/terminus/ter-722b.pcf.gz
/usr/share/fonts/terminus/ter-722n.pcf.gz
/usr/share/fonts/terminus/ter-724b.pcf.gz
/usr/share/fonts/terminus/ter-724n.pcf.gz
/usr/share/fonts/terminus/ter-728b.pcf.gz
/usr/share/fonts/terminus/ter-728n.pcf.gz
/usr/share/fonts/terminus/ter-732b.pcf.gz
/usr/share/fonts/terminus/ter-732n.pcf.gz
/usr/share/fonts/terminus/ter-912b.pcf.gz
/usr/share/fonts/terminus/ter-912n.pcf.gz
/usr/share/fonts/terminus/ter-914b.pcf.gz
/usr/share/fonts/terminus/ter-914n.pcf.gz
/usr/share/fonts/terminus/ter-916b.pcf.gz
/usr/share/fonts/terminus/ter-916n.pcf.gz
/usr/share/fonts/terminus/ter-918b.pcf.gz
/usr/share/fonts/terminus/ter-918n.pcf.gz
/usr/share/fonts/terminus/ter-920b.pcf.gz
/usr/share/fonts/terminus/ter-920n.pcf.gz
/usr/share/fonts/terminus/ter-922b.pcf.gz
/usr/share/fonts/terminus/ter-922n.pcf.gz
/usr/share/fonts/terminus/ter-924b.pcf.gz
/usr/share/fonts/terminus/ter-924n.pcf.gz
/usr/share/fonts/terminus/ter-928b.pcf.gz
/usr/share/fonts/terminus/ter-928n.pcf.gz
/usr/share/fonts/terminus/ter-932b.pcf.gz
/usr/share/fonts/terminus/ter-932n.pcf.gz
/usr/share/fonts/terminus/ter-c12b.pcf.gz
/usr/share/fonts/terminus/ter-c12n.pcf.gz
/usr/share/fonts/terminus/ter-c14b.pcf.gz
/usr/share/fonts/terminus/ter-c14n.pcf.gz
/usr/share/fonts/terminus/ter-c16b.pcf.gz
/usr/share/fonts/terminus/ter-c16n.pcf.gz
/usr/share/fonts/terminus/ter-c18b.pcf.gz
/usr/share/fonts/terminus/ter-c18n.pcf.gz
/usr/share/fonts/terminus/ter-c20b.pcf.gz
/usr/share/fonts/terminus/ter-c20n.pcf.gz
/usr/share/fonts/terminus/ter-c22b.pcf.gz
/usr/share/fonts/terminus/ter-c22n.pcf.gz
/usr/share/fonts/terminus/ter-c24b.pcf.gz
/usr/share/fonts/terminus/ter-c24n.pcf.gz
/usr/share/fonts/terminus/ter-c28b.pcf.gz
/usr/share/fonts/terminus/ter-c28n.pcf.gz
/usr/share/fonts/terminus/ter-c32b.pcf.gz
/usr/share/fonts/terminus/ter-c32n.pcf.gz
/usr/share/fonts/terminus/ter-d12b.pcf.gz
/usr/share/fonts/terminus/ter-d12n.pcf.gz
/usr/share/fonts/terminus/ter-d14b.pcf.gz
/usr/share/fonts/terminus/ter-d14n.pcf.gz
/usr/share/fonts/terminus/ter-d16b.pcf.gz
/usr/share/fonts/terminus/ter-d16n.pcf.gz
/usr/share/fonts/terminus/ter-d18b.pcf.gz
/usr/share/fonts/terminus/ter-d18n.pcf.gz
/usr/share/fonts/terminus/ter-d20b.pcf.gz
/usr/share/fonts/terminus/ter-d20n.pcf.gz
/usr/share/fonts/terminus/ter-d22b.pcf.gz
/usr/share/fonts/terminus/ter-d22n.pcf.gz
/usr/share/fonts/terminus/ter-d24b.pcf.gz
/usr/share/fonts/terminus/ter-d24n.pcf.gz
/usr/share/fonts/terminus/ter-d28b.pcf.gz
/usr/share/fonts/terminus/ter-d28n.pcf.gz
/usr/share/fonts/terminus/ter-d32b.pcf.gz
/usr/share/fonts/terminus/ter-d32n.pcf.gz
/usr/share/fonts/terminus/ter-f12b.pcf.gz
/usr/share/fonts/terminus/ter-f12n.pcf.gz
/usr/share/fonts/terminus/ter-f14b.pcf.gz
/usr/share/fonts/terminus/ter-f14n.pcf.gz
/usr/share/fonts/terminus/ter-f16b.pcf.gz
/usr/share/fonts/terminus/ter-f16n.pcf.gz
/usr/share/fonts/terminus/ter-f18b.pcf.gz
/usr/share/fonts/terminus/ter-f18n.pcf.gz
/usr/share/fonts/terminus/ter-f20b.pcf.gz
/usr/share/fonts/terminus/ter-f20n.pcf.gz
/usr/share/fonts/terminus/ter-f22b.pcf.gz
/usr/share/fonts/terminus/ter-f22n.pcf.gz
/usr/share/fonts/terminus/ter-f24b.pcf.gz
/usr/share/fonts/terminus/ter-f24n.pcf.gz
/usr/share/fonts/terminus/ter-f28b.pcf.gz
/usr/share/fonts/terminus/ter-f28n.pcf.gz
/usr/share/fonts/terminus/ter-f32b.pcf.gz
/usr/share/fonts/terminus/ter-f32n.pcf.gz
/usr/share/fonts/terminus/ter-g12b.pcf.gz
/usr/share/fonts/terminus/ter-g12n.pcf.gz
/usr/share/fonts/terminus/ter-g14b.pcf.gz
/usr/share/fonts/terminus/ter-g14n.pcf.gz
/usr/share/fonts/terminus/ter-g16b.pcf.gz
/usr/share/fonts/terminus/ter-g16n.pcf.gz
/usr/share/fonts/terminus/ter-g18b.pcf.gz
/usr/share/fonts/terminus/ter-g18n.pcf.gz
/usr/share/fonts/terminus/ter-g20b.pcf.gz
/usr/share/fonts/terminus/ter-g20n.pcf.gz
/usr/share/fonts/terminus/ter-g22b.pcf.gz
/usr/share/fonts/terminus/ter-g22n.pcf.gz
/usr/share/fonts/terminus/ter-g24b.pcf.gz
/usr/share/fonts/terminus/ter-g24n.pcf.gz
/usr/share/fonts/terminus/ter-g28b.pcf.gz
/usr/share/fonts/terminus/ter-g28n.pcf.gz
/usr/share/fonts/terminus/ter-g32b.pcf.gz
/usr/share/fonts/terminus/ter-g32n.pcf.gz
/usr/share/fonts/terminus/ter-k12b.pcf.gz
/usr/share/fonts/terminus/ter-k12n.pcf.gz
/usr/share/fonts/terminus/ter-k14b.pcf.gz
/usr/share/fonts/terminus/ter-k14n.pcf.gz
/usr/share/fonts/terminus/ter-k16b.pcf.gz
/usr/share/fonts/terminus/ter-k16n.pcf.gz
/usr/share/fonts/terminus/ter-k18b.pcf.gz
/usr/share/fonts/terminus/ter-k18n.pcf.gz
/usr/share/fonts/terminus/ter-k20b.pcf.gz
/usr/share/fonts/terminus/ter-k20n.pcf.gz
/usr/share/fonts/terminus/ter-k22b.pcf.gz
/usr/share/fonts/terminus/ter-k22n.pcf.gz
/usr/share/fonts/terminus/ter-k24b.pcf.gz
/usr/share/fonts/terminus/ter-k24n.pcf.gz
/usr/share/fonts/terminus/ter-k28b.pcf.gz
/usr/share/fonts/terminus/ter-k28n.pcf.gz
/usr/share/fonts/terminus/ter-k32b.pcf.gz
/usr/share/fonts/terminus/ter-k32n.pcf.gz
/usr/share/fonts/terminus/ter-p12b.pcf.gz
/usr/share/fonts/terminus/ter-p12n.pcf.gz
/usr/share/fonts/terminus/ter-p14b.pcf.gz
/usr/share/fonts/terminus/ter-p14n.pcf.gz
/usr/share/fonts/terminus/ter-p16b.pcf.gz
/usr/share/fonts/terminus/ter-p16n.pcf.gz
/usr/share/fonts/terminus/ter-p18b.pcf.gz
/usr/share/fonts/terminus/ter-p18n.pcf.gz
/usr/share/fonts/terminus/ter-p20b.pcf.gz
/usr/share/fonts/terminus/ter-p20n.pcf.gz
/usr/share/fonts/terminus/ter-p22b.pcf.gz
/usr/share/fonts/terminus/ter-p22n.pcf.gz
/usr/share/fonts/terminus/ter-p24b.pcf.gz
/usr/share/fonts/terminus/ter-p24n.pcf.gz
/usr/share/fonts/terminus/ter-p28b.pcf.gz
/usr/share/fonts/terminus/ter-p28n.pcf.gz
/usr/share/fonts/terminus/ter-p32b.pcf.gz
/usr/share/fonts/terminus/ter-p32n.pcf.gz
/usr/share/fonts/terminus/ter-u12b.pcf.gz
/usr/share/fonts/terminus/ter-u12n.pcf.gz
/usr/share/fonts/terminus/ter-u14b.pcf.gz
/usr/share/fonts/terminus/ter-u14n.pcf.gz
/usr/share/fonts/terminus/ter-u16b.pcf.gz
/usr/share/fonts/terminus/ter-u16n.pcf.gz
/usr/share/fonts/terminus/ter-u18b.pcf.gz
/usr/share/fonts/terminus/ter-u18n.pcf.gz
/usr/share/fonts/terminus/ter-u20b.pcf.gz
/usr/share/fonts/terminus/ter-u20n.pcf.gz
/usr/share/fonts/terminus/ter-u22b.pcf.gz
/usr/share/fonts/terminus/ter-u22n.pcf.gz
/usr/share/fonts/terminus/ter-u24b.pcf.gz
/usr/share/fonts/terminus/ter-u24n.pcf.gz
/usr/share/fonts/terminus/ter-u28b.pcf.gz
/usr/share/fonts/terminus/ter-u28n.pcf.gz
/usr/share/fonts/terminus/ter-u32b.pcf.gz
/usr/share/fonts/terminus/ter-u32n.pcf.gz
/usr/share/fonts/terminus/ter-x12b.pcf.gz
/usr/share/fonts/terminus/ter-x12n.pcf.gz
/usr/share/fonts/terminus/ter-x14b.pcf.gz
/usr/share/fonts/terminus/ter-x14n.pcf.gz
/usr/share/fonts/terminus/ter-x16b.pcf.gz
/usr/share/fonts/terminus/ter-x16n.pcf.gz
/usr/share/fonts/terminus/ter-x18b.pcf.gz
/usr/share/fonts/terminus/ter-x18n.pcf.gz
/usr/share/fonts/terminus/ter-x20b.pcf.gz
/usr/share/fonts/terminus/ter-x20n.pcf.gz
/usr/share/fonts/terminus/ter-x22b.pcf.gz
/usr/share/fonts/terminus/ter-x22n.pcf.gz
/usr/share/fonts/terminus/ter-x24b.pcf.gz
/usr/share/fonts/terminus/ter-x24n.pcf.gz
/usr/share/fonts/terminus/ter-x28b.pcf.gz
/usr/share/fonts/terminus/ter-x28n.pcf.gz
/usr/share/fonts/terminus/ter-x32b.pcf.gz
/usr/share/fonts/terminus/ter-x32n.pcf.gz
#219124

а их и не будет. terminus не использует true type.

#219127
riso написал:
а их и не будет. terminus не использует true type.

Т.е. все что лежит в /usr/share/fonts и является шрифтами для Х.

#219129

да. У вас terminus находиться в директории /usr/share/fonts/terminus, должно работать. xfontsel видит его ?

#219133

Все, разобрался. Решение:
[console]
....
[32] 70-no-bitmaps.conf
[33] 70-yes-bitmaps.conf *
....[/console]Ну и после этого fc-cache -fv.

#219154

Спасибо все работает.
Еще вопрос. Поскольку вопрос касаеться шрифта задам его здесь.
Сейчас qtconfig-а нету. Как нстроить шрифт в qt-программах. кеды не использую

#219157

vux, поставить qtconfig

#219166
metra написал:
vux, поставить qtconfig

...я бы сказал иначе wink

text
gentoo-laptop ~lupo # equery b `which qtconfig`
 * Searching for /usr/bin/qtconfig ... 
x11-libs/qt-qt3support-4.7.4 (/usr/bin/qtconfig)
#219336

Не знаю или глаз замылен или я предалбываюсь или это так криво собираеться хром под генту. Это по рецепту с lcd-filtering




#219412

Есть не плохая граф утилита lxappearance, в портах находится в lxde-base/ но нормально работает и без lxde, позволяет выбрать тему gtk, тему иконок, выбрать шрифт темы, выставить сглаживание шрифта, все изменения прописываются в файл .gtkrc-2.0
зы: в chromium шрифты отображения страницы настраиваются в самом chromium.

#250611
Lupo Alberto написал:
Я делал так:
Создать файл /etc/portage/bashrc
Показать
text
# /etc/portage/bashrc
# echo 'PATCH_OVERLAY=/etc/portage/autopatch' >> /etc/make.conf
# mkdir -p /etc/portage/autopatch

autopatch() { local diff level p patches patched

[[ ! -d "$PATCH_OVERLAY" ]] && return 0

patches=$(ls -1 ${PATCH_OVERLAY}/${CATEGORY}/${PN}/*.{patch,diff} 2>/dev/null) [[ $patches == "" ]] && return 0

if ! cd ${S}; then echo ">>> FAILED TO cd $S" return 1 fi

for p in ${patches}; do p=$(basename $p) diff=${PATCH_OVERLAY}/${CATEGORY}/${PN}/${p} if [[ -e $diff ]] && [ ! -e ${S}/.${p} ]; then patched=0 for level in 0 1 2 3 4; do if [[ $patched == 0 ]]; then patch -g0 --dry -p${level} >/dev/null < $diff if [ $? = 0 ]; then echo -e ' \e[0;36m*\e[0m '"auto patching (-p${level}) ${p}" patch -g0 -p${level} < $diff > /dev/null && patched=1 touch ${S}/.${p} fi fi done [[ $patched != 1 ]] && echo "!!! FAILED auto patching $p" && return 1 else [[ ! -e $diff ]] && echo "!!! $diff does not exist, unable to auto patch" fi done cd $OLDPWD }

if [[ $EBUILD_PHASE == prepare ]]; then PATH=$PATH:/usr/sbin:/usr/bin:/bin:/sbin autopatch || exit fi

Создать каталог /etc/portage/autopatch/x11-libs/cairo, в который поместить патч:

Показать
text

diff -rupN cairo-9999.new/src/cairo-ft-font.c cairo-9999/src/cairo-ft-font.c
--- cairo-9999.new/src/cairo-ft-font.c    2010-08-06 21:51:21.603000022 +0300
+++ cairo-9999/src/cairo-ft-font.c    2010-08-06 21:52:00.926000031 +0300
@@ -57,6 +57,8 @@
 #include FT_SYNTHESIS_H
 #endif
 
+#define FIR_FILTER 1
+
 #if HAVE_FT_LIBRARY_SETLCDFILTER
 #include FT_LCD_FILTER_H
 #endif
@@ -607,6 +609,8 @@ _cairo_ft_unscaled_font_destroy (void *a
     _cairo_ft_unscaled_font_fini (unscaled);
 }
 
+static const int   fir_filter[5] = { 0x1C, 0x38, 0x55, 0x38, 0x1C };
+
 static cairo_bool_t
 _has_unlocked_face (const void *entry)
 {
@@ -1114,6 +1118,7 @@ _get_bitmap_surface (FT_Bitmap             *bi
     unsigned char *data;
     int format = CAIRO_FORMAT_A8;
     cairo_image_surface_t *image;
+    cairo_bool_t subpixel = FALSE;
 
     width = bitmap->width;
     height = bitmap->rows;
@@ -1183,7 +1188,220 @@ _get_bitmap_surface (FT_Bitmap             *bi
         }
 
     format = CAIRO_FORMAT_A8;
-    } else {
+    } else
+#ifdef FIR_FILTER
+    {
+        unsigned char*  line;
+        unsigned char*  bufBitmap;
+        int            pitch;
+        unsigned char   *data_rgba;
+        unsigned int    width_rgba, stride_rgba;
+        int            vmul = 1;
+        int            hmul = 1;
+
+        switch (font_options->subpixel_order) {
+        case CAIRO_SUBPIXEL_ORDER_DEFAULT:
+        case CAIRO_SUBPIXEL_ORDER_RGB:
+        case CAIRO_SUBPIXEL_ORDER_BGR:
+        default:
+        width /= 3;
+        hmul = 3;
+        break;
+        case CAIRO_SUBPIXEL_ORDER_VRGB:
+        case CAIRO_SUBPIXEL_ORDER_VBGR:
+        vmul = 3;
+        height /= 3;
+        break;
+        }
+        /*
+         * Filter the glyph to soften the color fringes
+         */
+        width_rgba = width;
+        stride = bitmap->pitch;
+        stride_rgba = (width_rgba * 4 + 3) & ~3;
+        data_rgba = calloc (1, stride_rgba * height);
+
+        /* perform in-place FIR filtering in either the horizontal or
+         * vertical direction. We're going to modify the RGB graymap,
+         * but that's ok, because we either own it, or its part of
+         * the FreeType glyph slot, which will not be used anymore.
+         */
+        pitch  = bitmap->pitch;
+        line   = (unsigned char*)bitmap->buffer;
+        if ( pitch < 0 )
+        line -= pitch*(height-1);
+
+        bufBitmap = line;
+
+        switch (font_options->subpixel_order) {
+        case CAIRO_SUBPIXEL_ORDER_DEFAULT:
+        case CAIRO_SUBPIXEL_ORDER_RGB:
+        case CAIRO_SUBPIXEL_ORDER_BGR:
+        {
+        int  h;
+
+        for ( h = height; h > 0; h--, line += pitch ) {
+            int             pix[6] = { 0, 0, 0, 0, 0, 0 };
+            unsigned char*  p      = line;
+            unsigned char*  limit  = line + width*3;
+            int             nn, val, val2;
+
+            val = p[0];
+            for (nn = 0; nn < 3; nn++)
+            pix[2 + nn] += val * fir_filter[nn];
+
+            val = p[1];
+            for (nn = 0; nn < 4; nn++)
+            pix[1 + nn] += val * fir_filter[nn];
+
+            p += 2;
+
+            for ( ; p  < limit; p++ ) {
+            val = p[0];
+            for (nn = 0; nn < 5; nn++)
+                pix[nn] += val * fir_filter[nn];
+
+            val2  = pix[0] / 256;
+            val2 |= -(val2 >> 8);
+            p[-2]  = (unsigned char)val2;
+
+            for (nn = 0; nn < 5; nn++)
+                pix[nn] = pix[nn + 1];
+            }
+            for (nn = 0; nn < 2; nn++ ) {
+            val2  = pix[nn] / 256;
+            val2 |= -(val2 >> 8);
+            p[nn - 2] = (unsigned char)val2;
+            }
+        }
+        }
+        break;
+        case CAIRO_SUBPIXEL_ORDER_VRGB:
+        case CAIRO_SUBPIXEL_ORDER_VBGR:
+        {
+        int  w;
+
+        for (w = 0; w < width; w++ ) {
+            int  pix[6] = { 0, 0, 0, 0, 0, 0 };
+            unsigned char*  p     = bufBitmap + w;
+            unsigned char*  limit = bufBitmap + w + height*3*pitch;
+            int             nn, val, val2;
+
+            val = p[0];
+            for (nn = 0; nn < 3; nn++)
+            pix[2 + nn] += val*fir_filter[nn];
+
+            val = p[pitch];
+            for (nn = 0; nn < 4; nn++ )
+            pix[1 + nn] += val * fir_filter[nn];
+
+            p += 2*pitch;
+            for ( ; p < limit; p += pitch ) {
+            val = p[0];
+            for (nn = 0; nn < 5; nn++ )
+                pix[nn] += val * fir_filter[nn];
+
+            val2  = pix[0] / 256;
+            val2 |= -(val2 >> 8);
+            p[-2 * pitch] = (unsigned char)val2;
+
+            for (nn = 0; nn < 5; nn++)
+                pix[nn] = pix[nn+1];
+            }
+
+            for (nn = 0; nn < 2; nn++) {
+            val2  = pix[nn] / 256;
+            val2 |= -(val2 >> 8);
+            p[(nn - 2) * pitch] = (unsigned char)val2;
+            }
+        }
+        }
+        break;
+        default:  /* shouldn't happen */
+        break;
+        }
+
+        /* now copy the resulting graymap into an ARGB32 image */
+        {
+        unsigned char*  in_line  = bufBitmap;
+        unsigned char*  out_line = data_rgba;
+        int             h        = height;
+
+        switch (font_options->subpixel_order) {
+        case CAIRO_SUBPIXEL_ORDER_DEFAULT:
+        case CAIRO_SUBPIXEL_ORDER_RGB:
+            for ( ; h > 0; h--, in_line += pitch, out_line += stride_rgba) {
+            unsigned char*  in  = in_line;
+            int*            out = (int*)out_line;
+            int             w;
+
+            for (w = width; w > 0; w--, in += 3, out += 1) {
+                int  r = in[0];
+                int  g = in[1];
+                int  b = in[2];
+
+                out[0] = (g << 24) | (r << 16) | (g << 8) | b;
+            }
+            }
+            break;
+        case CAIRO_SUBPIXEL_ORDER_BGR:
+            for ( ; h > 0; h--, in_line += pitch, out_line += stride_rgba) {
+            unsigned char*  in  = in_line;
+            int*            out = (int*)out_line;
+            int             w;
+
+            for (w = width; w > 0; w--, in += 3, out += 1) {
+                int  r = in[2];
+                int  g = in[1];
+                int  b = in[0];
+
+                out[0] = (g << 24) | (r << 16) | (g << 8) | b;
+            }
+            }
+            break;
+        case CAIRO_SUBPIXEL_ORDER_VRGB:
+            for ( ; h > 0; h--, in_line += pitch*3, out_line += stride_rgba) {
+            unsigned char*  in  = in_line;
+            int*            out = (int*)out_line;
+            int             w;
+
+            for (w = width; w > 0; w--, in += 1, out += 1) {
+                int  r = in[0];
+                int  g = in[pitch];
+                int  b = in[pitch*2];
+
+                out[0] = (g << 24) | (r << 16) | (g << 8) | b;
+            }
+            }
+            break;
+        case CAIRO_SUBPIXEL_ORDER_VBGR:
+            for ( ; h > 0; h--, in_line += pitch*3, out_line += stride_rgba) {
+            unsigned char*  in  = in_line;
+            int*            out = (int*)out_line;
+            int             w;
+
+            for (w = width; w > 0; w--, in += 1, out += 1) {
+                int  r = in[2*pitch];
+                int  g = in[pitch];
+                int  b = in[0];
+
+                out[0] = (g << 24) | (r << 16) | (g << 8) | b;
+            }
+            }
+            break;
+        }
+        }
+
+        if (own_buffer)
+        free (bitmap->buffer);
+        data = data_rgba;
+        stride = stride_rgba;
+        format = CAIRO_FORMAT_ARGB32;
+        subpixel = TRUE;
+        break;
+    }
+#else /* !FIR_FILTER */
+    {
         /* if we get there, the  data from the source bitmap
          * really comes from _fill_xrender_bitmap, and is
          * made of 32-bit ARGB or ABGR values */
@@ -1194,6 +1412,7 @@ _get_bitmap_surface (FT_Bitmap             *bi
         stride = bitmap->pitch;
         format = CAIRO_FORMAT_ARGB32;
     }
+#endif /* !FIR_FILTER */
     break;
     case FT_PIXEL_MODE_GRAY2:
     case FT_PIXEL_MODE_GRAY4:
@@ -1244,59 +1463,16 @@ _render_glyph_outline (FT_Face          
                cairo_font_options_t     *font_options,
                cairo_image_surface_t    **surface)
 {
-    int rgba = FC_RGBA_UNKNOWN;
-    int lcd_filter = FT_LCD_FILTER_LEGACY;
-    FT_GlyphSlot glyphslot = face->glyph;
+   FT_GlyphSlot glyphslot = face->glyph;
     FT_Outline *outline = &glyphslot->outline;
     FT_Bitmap bitmap;
     FT_BBox cbox;
-    unsigned int width, height;
+    FT_Matrix matrix;
+    int hmul = 1;
+    int vmul = 1;
+    unsigned int width, height, stride;
+    cairo_bool_t subpixel = FALSE;
     cairo_status_t status;
-    FT_Error fterror;
-    FT_Library library = glyphslot->library;
-    FT_Render_Mode render_mode = FT_RENDER_MODE_NORMAL;
-
-    switch (font_options->antialias) {
-    case CAIRO_ANTIALIAS_NONE:
-    render_mode = FT_RENDER_MODE_MONO;
-    break;
-
-    case CAIRO_ANTIALIAS_SUBPIXEL:
-    switch (font_options->subpixel_order) {
-        case CAIRO_SUBPIXEL_ORDER_DEFAULT:
-        case CAIRO_SUBPIXEL_ORDER_RGB:
-        case CAIRO_SUBPIXEL_ORDER_BGR:
-        render_mode = FT_RENDER_MODE_LCD;
-        break;
-
-        case CAIRO_SUBPIXEL_ORDER_VRGB:
-        case CAIRO_SUBPIXEL_ORDER_VBGR:
-        render_mode = FT_RENDER_MODE_LCD_V;
-        break;
-    }
-
-    switch (font_options->lcd_filter) {
-    case CAIRO_LCD_FILTER_NONE:
-        lcd_filter = FT_LCD_FILTER_NONE;
-        break;
-    case CAIRO_LCD_FILTER_DEFAULT:
-    case CAIRO_LCD_FILTER_INTRA_PIXEL:
-        lcd_filter = FT_LCD_FILTER_LEGACY;
-        break;
-    case CAIRO_LCD_FILTER_FIR3:
-        lcd_filter = FT_LCD_FILTER_LIGHT;
-        break;
-    case CAIRO_LCD_FILTER_FIR5:
-        lcd_filter = FT_LCD_FILTER_DEFAULT;
-        break;
-    }
-
-    break;
-
-    case CAIRO_ANTIALIAS_DEFAULT:
-    case CAIRO_ANTIALIAS_GRAY:
-    render_mode = FT_RENDER_MODE_NORMAL;
-    }
 
     FT_Outline_Get_CBox (outline, &cbox);
 
@@ -1307,21 +1483,20 @@ _render_glyph_outline (FT_Face          
 
     width = (unsigned int) ((cbox.xMax - cbox.xMin) >> 6);
     height = (unsigned int) ((cbox.yMax - cbox.yMin) >> 6);
+    stride = (width * hmul + 3) & ~3;
 
     if (width * height == 0) {
     cairo_format_t format;
     /* Looks like fb handles zero-sized images just fine */
-    switch (render_mode) {
-    case FT_RENDER_MODE_MONO:
+    switch (font_options->antialias) {
+    case CAIRO_ANTIALIAS_NONE:
         format = CAIRO_FORMAT_A1;
         break;
-    case FT_RENDER_MODE_LCD:
-    case FT_RENDER_MODE_LCD_V:
+    case CAIRO_ANTIALIAS_SUBPIXEL:
         format= CAIRO_FORMAT_ARGB32;
         break;
-    case FT_RENDER_MODE_LIGHT:
-    case FT_RENDER_MODE_NORMAL:
-    case FT_RENDER_MODE_MAX:
+    case CAIRO_ANTIALIAS_DEFAULT:
+    case CAIRO_ANTIALIAS_GRAY:
     default:
         format = CAIRO_FORMAT_A8;
         break;
@@ -1331,75 +1506,86 @@ _render_glyph_outline (FT_Face          
         cairo_image_surface_create_for_data (NULL, format, 0, 0, 0);
     if ((*surface)->base.status)
         return (*surface)->base.status;
-    } else {
+    } else  {
 
-    int bitmap_size;
+    matrix.xx = matrix.yy = 0x10000L;
+    matrix.xy = matrix.yx = 0;
 
-    switch (render_mode) {
-    case FT_RENDER_MODE_LCD:
-        if (font_options->subpixel_order == CAIRO_SUBPIXEL_ORDER_BGR) {
-        rgba = FC_RGBA_BGR;
-        } else {
-        rgba = FC_RGBA_RGB;
-        }
-    case FT_RENDER_MODE_LCD_V:
-        if (font_options->subpixel_order == CAIRO_SUBPIXEL_ORDER_VBGR) {
-        rgba = FC_RGBA_VBGR;
-        } else {
-        rgba = FC_RGBA_VRGB;
-        }
-        break;
-    case FT_RENDER_MODE_MONO:
-    case FT_RENDER_MODE_LIGHT:
-    case FT_RENDER_MODE_NORMAL:
-    case FT_RENDER_MODE_MAX:
-    default:
+    switch (font_options->antialias) {
+    case CAIRO_ANTIALIAS_NONE:
+        bitmap.pixel_mode = FT_PIXEL_MODE_MONO;
+        bitmap.num_grays  = 1;
+        stride = ((width + 31) & -32) >> 3;
+        break;
+    case CAIRO_ANTIALIAS_DEFAULT:
+    case CAIRO_ANTIALIAS_GRAY:
+        bitmap.pixel_mode = FT_PIXEL_MODE_GRAY;
+        bitmap.num_grays  = 256;
+        stride = (width + 3) & -4;
         break;
-        }
-
-#if HAVE_FT_LIBRARY_SETLCDFILTER
-    FT_Library_SetLcdFilter (library, lcd_filter);
+    case CAIRO_ANTIALIAS_SUBPIXEL:
+        switch (font_options->subpixel_order) {
+        case CAIRO_SUBPIXEL_ORDER_RGB:
+        case CAIRO_SUBPIXEL_ORDER_BGR:
+        case CAIRO_SUBPIXEL_ORDER_DEFAULT:
+        default:
+        matrix.xx *= 3;
+        hmul = 3;
+        subpixel = TRUE;
+#ifdef FIR_FILTER
+        cbox.xMin -= 64;
+        cbox.xMax += 64;
+        width    += 2;
 #endif
-
-    fterror = FT_Render_Glyph (face->glyph, render_mode);
-
-#if HAVE_FT_LIBRARY_SETLCDFILTER
-    FT_Library_SetLcdFilter (library, FT_LCD_FILTER_NONE);
+        break;
+        case CAIRO_SUBPIXEL_ORDER_VRGB:
+        case CAIRO_SUBPIXEL_ORDER_VBGR:
+        matrix.yy *= 3;
+        vmul = 3;
+        subpixel = TRUE;
+#ifdef FIR_FILTER
+        cbox.yMin -= 64;
+        cbox.yMax += 64;
+        height    += 2;
 #endif
+        break;
+        }
+        FT_Outline_Transform (outline, &matrix);
 
-    if (fterror != 0)
-        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+        bitmap.pixel_mode = FT_PIXEL_MODE_GRAY;
+        bitmap.num_grays  = 256;
+        stride = (width * hmul + 3) & -4;
+    }
 
-    bitmap_size = _compute_xrender_bitmap_size (&bitmap,
-                            face->glyph,
-                            render_mode);
-    if (bitmap_size < 0)
+    bitmap.pitch = stride;
+    bitmap.width = width * hmul;
+    bitmap.rows = height * vmul;
+    bitmap.buffer = calloc (stride, bitmap.rows);
+    if (bitmap.buffer == NULL)
         return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
-    bitmap.buffer = calloc (1, bitmap_size);
-    if (bitmap.buffer == NULL)
-        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+    FT_Outline_Translate (outline, -cbox.xMin*hmul, -cbox.yMin*vmul);
 
-    _fill_xrender_bitmap (&bitmap, face->glyph, render_mode,
-                  (rgba == FC_RGBA_BGR || rgba == FC_RGBA_VBGR));
+    if (FT_Outline_Get_Bitmap (glyphslot->library, outline, &bitmap) != 0) {
+        free (bitmap.buffer);
+        return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+    }
 
-    /* Note:
-     * _get_bitmap_surface will free bitmap.buffer if there is an error
-     */
     status = _get_bitmap_surface (&bitmap, TRUE, font_options, surface);
-    if (unlikely (status))
+    if (status)
         return status;
-
-    /* Note: the font's coordinate system is upside down from ours, so the
-     * Y coordinate of the control box needs to be negated.  Moreover, device
-     * offsets are position of glyph origin relative to top left while xMin
-     * and yMax are offsets of top left relative to origin.  Another negation.
-     */
-    cairo_surface_set_device_offset (&(*surface)->base,
-                     (double)-glyphslot->bitmap_left,
-                     (double)+glyphslot->bitmap_top);
     }
 
+    /*
+     * Note: the font's coordinate system is upside down from ours, so the
+     * Y coordinate of the control box needs to be negated.  Moreover, device
+     * offsets are position of glyph origin relative to top left while xMin
+     * and yMax are offsets of top left relative to origin.  Another negation.
+     */
+    cairo_surface_set_device_offset (&(*surface)->base,
+                     floor (-(double) cbox.xMin / 64.0),
+                     floor (+(double) cbox.yMax / 64.0));
+
     return CAIRO_STATUS_SUCCESS;
 }

Добавить в /etc/make.conf строку

text
PATCH_OVERLAY=/etc/portage/autopatch

Пересобрать x11-libs/cairo, убедившись, в наложении патча:
[console]gentoo-laptop cairo # emerge cairo
Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-libs/cairo-1.10.2-r1
* cairo-1.10.2.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
* Package: x11-libs/cairo-1.10.2-r1
* Repository: gentoo
* Maintainer: cardoe@gentoo.org spatz@gentoo.org,x11@gentoo.org
* USE: X elibc_glibc glib kernel_linux opengl qt4 svg userland_GNU x86 xcb
* FEATURES: preserve-libs sandbox
>>> Unpacking source...
>>> Unpacking cairo-1.10.2.tar.gz to /home/users/tmp/portage/x11-libs/cairo-1.10.2-r1/work
>>> Source unpacked in /home/users/tmp/portage/x11-libs/cairo-1.10.2-r1/work
* auto patching (-p1) cairo-9999-cleartype.patch
>>> Preparing source in /home/users/tmp/portage/x11-libs/cairo-1.10.2-r1/work/cairo-1.10.2 ...
[/console]

Это я так понял каталог /etc/portage/autopatch/x11-libs/cairo, а сам файл в нем как называется? И его содержимое какое, а то paste.pocoo.org более работать не будет. И как сменить в wgetpaste сервис по умолчанию.

Войдите или зарегистрируйтесь, чтобы ответить.