Как присвоить жирному начертанию одного семейства шрифтов псевдоним жирного начертания другого семейства шрифтов?

Как присвоить жирному начертанию одного семейства шрифтов псевдоним жирного начертания другого семейства шрифтов?

У меня есть один шрифт — 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 на любую нужную вам библиотеку.

Вам придется перестроить кэш шрифтов, но этот вариант работает.

Связанный контент