Я хотел бы использовать, например. «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 здесь?
Попробуйте этот файл конфигурации:
<?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>
Попробуйте этот файл конфигурации:
<?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>