Lupo Alberto с возвращением )
— Часть силы той, что без числа
Творит добро, всему желая зла. © Фауст
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Gentoo Linux → Шрифты, разобраться раз и на всегда
Lupo Alberto с возвращением )
Сделал все как советовал LupoAlberto. Но хочу понять что не так
Вот скрин моего хрома в Gentoo с шрифтом ubuntu:
А это Минт:
интересует почему расстояния между буквами такие нереальные?
Вот еще мой eselect fontconfig list
[1] 10-autohint.conf *
[2] 10-no-sub-pixel.conf
[3] 10-sub-pixel-bgr.conf
[4] 10-sub-pixel-rgb.conf *
[5] 10-sub-pixel-vbgr.conf
[6] 10-sub-pixel-vrgb.conf
[7] 10-unhinted.conf
[8] 20-fix-globaladvance.conf *
[9] 20-unhint-small-dejavu-sans-mono.conf *
[10] 20-unhint-small-dejavu-sans.conf *
[11] 20-unhint-small-dejavu-serif.conf *
[12] 20-unhint-small-vera.conf *
[13] 25-unhint-nonlatin.conf
[14] 30-metric-aliases.conf *
[15] 30-urw-aliases.conf *
[16] 40-nonlatin.conf *
[17] 45-latin.conf *
[18] 49-sansserif.conf *
[19] 50-user.conf *
[20] 51-local.conf *
[21] 57-dejavu-sans-mono.conf *
[22] 57-dejavu-sans.conf *
[23] 57-dejavu-serif.conf *
[24] 60-latin.conf *
[25] 65-fonts-persian.conf *
[26] 65-khmer.conf
[27] 65-nonlatin.conf *
[28] 69-unifont.conf *
[29] 70-no-bitmaps.conf
[30] 70-yes-bitmaps.conf
[31] 80-delicious.conf *
[32] 90-synthetic.conf *Вот скрин моего хрома с шрифтом ubuntu:
А это скрин с текущего Минта
...а где скриншот Gentoo?
извините поправил...
vux, у меня установлены и Firefox, и Chromium — при одинаковых настройках шрифтов в браузерах Firefox выглядит приятнее.
vux, у меня установлены и Firefox, и Chromium — при одинаковых настройках шрифтов в браузерах Firefox выглядит приятнее.
фоксом не пользуюсь принципиально
Обидно что в минте\бунте исподкаробки а тут так приходиться танцевать. Достаточно ли пересборки одного cairo с патчем?
И еще как вы выставили шрифт в хроме?
Выбрал в настройках шрифтов общесистемные Serif и Sans (впрочем, как и в Firefox'е).
Общесистемными у меня назначены шрифты media-fonts/ubuntu-font-family.
Общесистемными у меня назначены шрифты media-fonts/ubuntu-font-family
тупой вопрос - а как их сделать общесистемными? у меня и убунту-фемили и дежавю стоит. В eselect config видно только dejavu
Не правильно выразился, извините: я их сделал дефолтными для пользователя
include "/usr/share/themes/QtCurve/gtk-2.0/gtkrc"
include "/etc/gtk-2.0/gtkrc"
style "user-font"
{
font_name="Ubuntu"
}
widget_class "*" style "user-font"
gtk-font-name="Ubuntu 10"
gtk-theme-name="QtCurve"
gtk-icon-theme-name="oxygen"
gtk-fallback-icon-theme="oxygen"
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-menu-images=1
gtk-button-images=1
Спасибо за содействие.
Создал такой же файл ~/.gtkrc-2.0 но хром, да и другие gtk-приложения его явно не видят. Для примера(иожет я на глаз балуюсь) изменил размер в файле размер шрифта на 20 и все как было так и осталось.
Вот мои последние шоты. Шрифты вроде сглажены, но ето, как я понимаю не ubuntu-family и всеравно чтото в них не то.
У меня тут вопрос образовался. Можно ли патчить freetype к примеру, этим патчем? И на сколько патчи с других систем совместимы ? Ось gentoo. Как я понимаю, можно и ничего страшного не произойдет, главное что бы версии совпадали.
Можно ли патчить freetype к примеру, этим патчем?
почему-же нельзя? патчите. Дифф (это то, чем патчат) - просто разница между файлами. Оно скажет, если что-то не так. В подавляющем случае всё прекрасно патчится, а потом собирается и устанавливается в систему (вот здесь уже по разному). Проблемы возникают только если в вашем дистре накладываются какие-то свои, оригинальные патчи, они могут и не наложится (утилита patch может не найти то место, которое надо исправить).
в freetype есть флаги bindist и autohint. Нужно ли их включать?
в freetype есть флаги bindist и autohint.
Флаг — auto-hinter — так правильнее.
IMHO, ни тот, ни другой включать не нужно.
riso, попробуйте переустановить пакеты fontconfig freetype cairo libXft из оверлея lcd-filtering, результат думаю Вас порадует. Вот инструкции по установке и настройке.
riso, попробуйте переустановить пакеты fontconfig freetype cairo libXft из оверлея lcd-filtering, результат думаю Вас порадует. Вот инструкции по установке и настройке.
Я сделал по вашему совету. Шрифты выглядят неплохо. Но у меня пропал terminus. fontconfig его видет и там он активирован. Но система его какбы не замечает.
Шрифт собран с флагом X. И раньше - до этого рецепта все было нормально.
И еще вопрос. Во всех руководствах по настройке шрифтов используеться также и файл ~/.fonts.conf. А здесь он даже не упомянаеться. Я спрашиваю потому что после ранних эксперементов у меня остался этот файл в хоме. И когда я его убрал стало вроде еще лучше
Я сделал по вашему совету. Шрифты выглядят неплохо. Но у меня пропал 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.
Странно, у меня не было проблем с terminus, а xfontsel видит его ? может в xorg.conf путь вписать явно.
Пробую найти с помощью команды 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
а их и не будет. terminus не использует true type.
а их и не будет. terminus не использует true type.
Т.е. все что лежит в /usr/share/fonts и является шрифтами для Х.
да. У вас terminus находиться в директории /usr/share/fonts/terminus, должно работать. xfontsel видит его ?
Все, разобрался. Решение:
Спасибо все работает.
Еще вопрос. Поскольку вопрос касаеться шрифта задам его здесь.
Сейчас qtconfig-а нету. Как нстроить шрифт в qt-программах. кеды не использую
vux, поставить qtconfig
vux, поставить qtconfig
...я бы сказал иначе wink
gentoo-laptop ~lupo # equery b `which qtconfig`
* Searching for /usr/bin/qtconfig ...
x11-libs/qt-qt3support-4.7.4 (/usr/bin/qtconfig)Есть не плохая граф утилита lxappearance, в портах находится в lxde-base/ но нормально работает и без lxde, позволяет выбрать тему gtk, тему иконок, выбрать шрифт темы, выставить сглаживание шрифта, все изменения прописываются в файл .gtkrc-2.0
зы: в chromium шрифты отображения страницы настраиваются в самом chromium.
Я делал так:
Создать файл /etc/portage/bashrc+ открыть спойлер# /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, в который поместить патч:
+ открыть спойлер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 строку
PATCH_OVERLAY=/etc/portage/autopatchПересобрать x11-libs/cairo, убедившись, в наложении патча:
Консоль: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 ...
Это я так понял каталог /etc/portage/autopatch/x11-libs/cairo, а сам файл в нем как называется? И его содержимое какое, а то paste.pocoo.org более работать не будет. И как сменить в wgetpaste сервис по умолчанию.
Linux Forum → Gentoo Linux → Шрифты, разобраться раз и на всегда
Форум работает на PunBB, при поддержке Informer Technologies, Inc