xorg - включить сглаживание только для одного шрифта (сабж)

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модератор: Модераторы разделов

Аватара пользователя
AlexNT
Сообщения: 433
ОС: FreeBSD 8.2, ArchLinux

xorg - включить сглаживание только для одного шрифта

Сообщение AlexNT »

Господа, возник вопрос, можно ли каким-либо путем принудительно включить сглаживание только для одного единственного шрифта?
Искал материал по данному вопросу, ничего не нашел, может кто знает как это сделать? И возможно ли это?
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4463
Статус: GNU generation
ОС: Debian GNU/Linux

Re: xorg - включить сглаживание только для одного шрифта

Сообщение Rootlexx »

В /etc/fonts/conf.avail/20-enable-custom-antialias.conf:

Код: Выделить всё

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="family" compare="eq">
            <string>название_шрифта</string>
        </test>
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
    </match>
</fontconfig>
— а затем:

Код: Выделить всё

cd /etc/fonts/conf.d
ln -s ../conf.avail/20-enable-custom-antialias.conf .
Спасибо сказали:
Аватара пользователя
AlexNT
Сообщения: 433
ОС: FreeBSD 8.2, ArchLinux

Re: xorg - включить сглаживание только для одного шрифта

Сообщение AlexNT »

Rootlexx писал(а):
24.07.2009 16:50
В /etc/fonts/conf.avail/20-enable-custom-antialias.conf:

Код: Выделить всё

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="family" compare="eq">
            <string>название_шрифта</string>
        </test>
        <edit name="antialias" mode="assign">
            <bool>true</bool>
        </edit>
    </match>
</fontconfig>
— а затем:

Код: Выделить всё

cd /etc/fonts/conf.d
ln -s ../conf.avail/20-enable-custom-antialias.conf .


К сожалению, почему-то этот способ как то странно работает. Сглаживание то включается, то выключается для всех шрифтов в процессе работы. :(
Но все равно спасибо, принцип я понял.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4463
Статус: GNU generation
ОС: Debian GNU/Linux

Re: xorg - включить сглаживание только для одного шрифта

Сообщение Rootlexx »

AlexNT писал(а):
24.07.2009 17:36
Сглаживание то включается, то выключается для всех шрифтов в процессе работы.

Вы название шрифта указать в нужном месте не забыли? По идее, правило должно срабатывать только для определённого семейства.
Спасибо сказали:
Аватара пользователя
AlexNT
Сообщения: 433
ОС: FreeBSD 8.2, ArchLinux

Re: xorg - включить сглаживание только для одного шрифта

Сообщение AlexNT »

Rootlexx писал(а):
24.07.2009 17:55
AlexNT писал(а):
24.07.2009 17:36
Сглаживание то включается, то выключается для всех шрифтов в процессе работы.

Вы название шрифта указать в нужном месте не забыли? По идее, правило должно срабатывать только для определённого семейства.


Не забыл. Попробовал двумя путями, как Вы написали, так и отдельно вписать в ~/.fonts.conf. Ни в первом ни во втором случае нормально не работает. При первом запуске все отлично, сглажен шрифт Arial как и указано, но потом при последующих запусках других программ, шрифты в них становятся то сглаженые то не сглаженные, причем все, не только Arial.

В случае с 20-enable-custom-antialias.conf убирал ~/.fonts.conf, на всякий пожарный случай но все равно эффект был одинаковый. Возможно что виновато kde3.
Спасибо сказали:
Аватара пользователя
AlexNT
Сообщения: 433
ОС: FreeBSD 8.2, ArchLinux

Re: xorg - включить сглаживание только для одного шрифта

Сообщение AlexNT »

Через долгое время наткнулся на свое же сообщение в поиске. :-)))
Ситуация решена таким образом, на данный момент. Если кому интересно:

содержимое fonts.conf:

Код: Выделить всё

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="family" compare="eq">
            <string>Arial</string>
        </test>
        <edit name="antialias" mode="assign">
            <bool>false</bool>
        </edit>
    </match>
    <match target ="font">
    <test name="slant" compare="more_eq">
    <int>100</int>
    </test>
    <edit name="antialias" mode="assign">
      <bool>true</bool>
    </edit>
    </match>
</fontconfig>

В данном случае шрифт Arial не сглажен, но зато сглажены все шрифты + курсивные (slant=100). Т.е. в данном случае не сглажен только Arial и Arial Bold - а курсивы Arial - сглажены. Может кому пригодится мой вариант.
Спасибо сказали: