У меня есть один шрифт — PragmataPro. Жирная версия этого шрифта принадлежит другому семейству — Essential PragmataPro. Я хотел бы, чтобы приложения использовали Essential PragmataProСмелыйкогда он пытается использовать PragmataProСмелый.
Кроме того, жирный вес PragmataPro не существует, и обычный вес Essential PragmataPro не существует. Первое замечание является источником моей проблемы.
Вот что я попробовал:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family"><string>PragmataPro</string></test>
<test name="weight" compare="more_eq"><const>bold</const></test>
<edit name="family" mode="assign"><string>Essential PragmataPro</string></edit>
<edit name="embolden" mode="assign"><bool>false</bool></edit>
</match>
</fontconfig>
Все, что он делает, — это выделяет DejaVu Sans
жирным шрифтом.
Какие-либо предложения?
решение1
Добавлениепривязка="сильный"в первую строку редактирования, например:
<edit name="family" mode="assign" binding="strong"><string>Essential PragmataPro</string></edit>
должно сработать. Также кажется, что ваша вторая строка редактирования:
<edit name="embolden" mode="assign"><bool>false</bool></edit>
не нужен.
решение2
Переместите текущую библиотеку полужирного шрифта в другой каталог. Виртуальная ссылка (ln -s) прежнее имя вашей библиотеки полужирного шрифта DejaVu Sans на любую нужную вам библиотеку.
Вам придется перестроить кэш шрифтов, но этот вариант работает.