Документация Fontconfig довольно непрозрачна. Я хочу, чтобы приложения, ищущие семейство 'Helvetica', вместо этого получили 'семейство' Станд. LT Helvetica и дисплей тот шрифт, браузеры в частности. Последний XML-файл, который я записал в ~/.fontconfig/fonts.conf, был
<fontconfig>
<match target="pattern">
<test name="family" target="default" compare="eq">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>Helvetica LT Std</string>
</edit>
</match>
</fontconfig>
Что я делаю неправильно и каков был бы корректный способ выразить эту замену?
Это работает для меня, чтобы заменить Arial на Ubuntu
<!--?xml version="1.0"?>-->
<!--DOCTYPE fontconfig SYSTEM "fonts.dtd">-->
<!-- ~/.fonts.conf for per-user font configuration -->
<fontconfig>
<match>
<test name="family"><string>Arial</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>Ubuntu</string>
<string>Arial</string>
</edit>
</match>
</fontconfig>
Я нашел fc-match очень полезным.
Кроме того, я нахожусь на Precise, поэтому я использую ~ / .fonts.conf. В Quntal я понимаю, что вы должны использовать ~ / .config / fontconfig / fonts.conf
Это та же самая замена, которую я использую! Это моя конфигурация, но она работает только тогда, когда указанный шрифт недоступен. Если указанный шрифт был доступен через fontconfig с именем Helvetica , псевдоним не будет применяться. Однако это работало корректно на всех моих установках Ubuntu, поэтому я рекомендую его перед использованием тега match .
<fontconfig>
<!-- Excerpt -->
<alias>
<family>Helvetica</family>
<accept>
<family>Helvetica LT Std</family>
</accept>
</alias>
<!-- Excerpt -->
</fontconfig>