Как я устанавливаю шрифт, используемый Fontconfig для имен обобщенного семейства шрифтов?

Я хотел бы использовать, например, "Roboto" для шрифта, используемого каждый раз, когда приложение указывает sans-serif. Мое понимание - то, что это решено Fontconfig с помощью правил в /etc/fonts и может быть установлен на пользовательской основе с ~/.config/fontconfig/conf.d/NN-customisations.conf (где NN [00-99]).

У меня есть следующее в ~/.config/fontconfig/conf.d/00-aliases.conf

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <alias>
    <family>sans-serif</family>
    <prefer><family>Roboto</family></prefer>
  </alias>
  <alias>
    <family>sans</family>
    <prefer><family>Roboto</family></prefer>
    </alias>
</fontconfig>

Однако fc-match все еще шоу DejaVuSans.ttf будучи используемым (даже после перезагрузки):

~ ☼ fc-match -s "sans-serif"
DejaVuSans.ttf: "DejaVu Sans" "Book"
emojione-android.ttf: "Emoji One" "Regular"
DejaVuSans-Bold.ttf: "DejaVu Sans" "Bold"
DejaVuSans-Oblique.ttf: "DejaVu Sans" "Oblique"
DejaVuSans-BoldOblique.ttf: "DejaVu Sans" "Bold Oblique"
Roboto-Regular.ttf: "Roboto" "Regular"
Verdana.ttf: "Verdana" "Regular"
Arial.ttf: "Arial" "Regular"
n019003l.pfb: "Nimbus Sans L" "Regular"
Loma.ttf: "Loma" "Regular"
...(many more)...

Roboto снижается в 6-м месте!

Как я говорю Fontconfig использовать Roboto здесь?

1
задан 18 May 2017 в 03:26

1 ответ

Попробуйте этот файл конфигурации:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Roboto</string>
        </edit>
    </match> 
</fontconfig>
3
ответ дан 7 December 2019 в 12:33

Другие вопросы по тегам:

Похожие вопросы: