История изменений
Исправление Zubok, (текущая версия) :
Глянул я твои правила и призадумался. Потому что то, что идет у тебя в строчке терминалов в виде шаблона для шрифтов — это не правило, а *запрос*, по которому fontconfig ищет наиболее подходящий вариант, а вот поле поиска определяются правилами. И по всему комплексу правил находит наиболее подходящий.
Ближайший — это рисовать Courier New, но только без AA, так как такой способ задан правилом. Если правила нет и поле antialias пустое, то можно и так и сяк рисовать, но у тебя задано. Вот как выглядит без правил (нет поля antialias):
$ fc-match --verbose ':family=Courier New' | grep -E '\<(family|antialias)\>'
family: "Courier New"(s)
И вот в этом случае работает запрос ...:antialias=true/false
. Пока я вижу как единственный вариант в случае твоих правил сделать исключение для конкретных приложений. Например, для xterm. Добавь к своим правилам то, что ниже, и просто проси Courier New без свойства antialias.
<match target="font">
<!-- Это можно добавить опционально, чтобы только для Courier New -->
<!-- <test name="family" compare="eq"> -->
<!-- <string>Courier New</string> -->
<!-- </test> -->
<test name="prgname" compare="eq">
<string>xterm</string>
</test>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
Тестируем: rxvt -fn "xft:Courier New
рисует без AA, а xterm -fa "Courier New"
рисует в AA. Вроде как и должно быть.
В теме fontconfig я могу плавать, потому что настравивал его ну так редко, что даже не помню, что я там делал. :) Надо еще подумать. Вполне может быть, что xterm и все эти терминалы просто не научены это свойство менять самостоятельно, а просто отдают все на откуп fontconfig.
Исправление Zubok, :
Глянул я твои правила и призадумался. Потому что то, что идет у тебя в строчке терминалов в виде шаблона для шрифтов — это не правило, а *запрос*, по которому fontconfig ищет наиболее подходящий вариант, а вот поле поиска определяются правилами. И по всему комплексу правил находит наиболее подходящий, ближайший — это рисовать Courier New, но только без AA, так как такой способ задан правилом. Если правила нет и поле antialias пустое, то можно и так и сяк рисовать, но у тебя задано. Вот как выглядит без правил (нет поля antialias):
$ fc-match --verbose ':family=Courier New' | grep -E '\<(family|antialias)\>'
family: "Courier New"(s)
И вот в этом случае работает запрос ...:antialias=true/false
. Пока я вижу как единственный вариант в случае твоих правил сделать исключение для конкретных приложений. Например, для xterm. Добавь к своим правилам то, что ниже, и просто проси Courier New без свойства antialias.
<match target="font">
<!-- Это можно добавить опционально, чтобы только для Courier New -->
<!-- <test name="family" compare="eq"> -->
<!-- <string>Courier New</string> -->
<!-- </test> -->
<test name="prgname" compare="eq">
<string>xterm</string>
</test>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
Тестируем: rxvt -fn "xft:Courier New
рисует без AA, а xterm -fa «Courier New» рисует в AA. Вроде как и должно быть.
В теме fontconfig я могу плавать, потому что настравивал его ну так редко, что даже не помню, что я там делал. :) Надо еще подумать.
Исходная версия Zubok, :
Глянул я твои правила и призадумался. Потому что то, что идет у тебя в строчке терминалов в виде шаблона — это не правило, а *запрос*, по которому fontconfig ищет наиболее подходящий вариант, а вот поле поиска определяются правилами. И по всему комплексу правил находит наиболее подходящий, ближайший — это рисовать Courier New, но только без AA, так как такой способ задан правилом. Если правила нет и поле antialias пустое, то можно и так и сяк рисовать, но у тебя задано. Вот как выглядит без правил (нет поля antialias):
$ fc-match --verbose ':family=Courier New' | grep -E '\<(family|antialias)\>'
family: "Courier New"(s)
И вот в этом случае работает запрос ...:antialias=true/false
. Пока я вижу как единственный вариант в случае твоих правил сделать исключение для конкретных приложений. Например, для xterm. Добавь к своим правилам то, что ниже, и просто проси Courier New без свойства antialias.
<match target="font">
<!-- Это можно добавить опционально, чтобы только для Courier New -->
<!-- <test name="family" compare="eq"> -->
<!-- <string>Courier New</string> -->
<!-- </test> -->
<test name="prgname" compare="eq">
<string>xterm</string>
</test>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
Тестируем: rxvt -fn "xft:Courier New
рисует без AA, а xterm -fa «Courier New» рисует в AA. Вроде как и должно быть.
В теме fontconfig я могу плавать, потому что настравивал его ну так редко, что даже не помню, что я там делал. :) Надо еще подумать.