Я пытаюсь использовать ~ / .fonts.conf, чтобы заменить Helvetica на Droid Sans, вот содержимое файла:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test qual="any" name="family"><string>Helvetica</string></test>
<edit name="family" mode="assign"><string>Droid Sans</string></edit>
</match>
</fontconfig>
но, несмотря ни на что, ничего не происходит. Я попытался запустить fc-cache, я зарегистрировался /etc/fonts/conf.d
и обнаружил, 50-user.conf
что, кажется, явно вызывает определенные пользователем конфигурации.
Чего мне не хватает?
Благодарность
РЕДАКТИРОВАТЬ: после расследования я обнаружил, что другие правила в /etc/fonts/conf.d
конфигурации пользователя перезаписывают, поэтому ссылки user.conf
на 00-user.conf
помогли. Тем не менее, это лишь частичный успех, поскольку я могу указать, какие шрифты следует заменить, но заменитель, который я выбрал, игнорируется: другими словами, я могу сделать Helvetica
недействительным, и система возвращается к следующему шрифту (т. Е. В браузере принимает следующий шрифт, указанный в таблице стилей, если его нет, отображается стандартный sans-serif).
источник
Ответы:
Я думаю, что атрибут привязки отсутствовал в вашей конфигурации. (см. также fonts-conf ). В зависимости от вашей другой конфигурации, привязка «тот же» или «сильный» может, вероятно, работать, в то время как «слабый» может не дать вам то, что вы хотите.
источник
binding
атрибута имело значение. Я использую fontconfig-2.8.0.Я думаю, что механизм псевдонима будет работать для этого:
источник
<accept>
имеет приоритет, если шрифт не установлен,<prefer>
имеет приоритет независимо от того, установлен ли шрифт..conf
файл, содержащий это правило, не читается первым.binding="strong"
используется вместе с<alias>
элементом!Действительно ли "fc-list" показывает "Helvetica"? Что говорит fc-match? На моей коробке (F-12) я получаю:
Может быть, вы должны добавить псевдоним шрифта к вашей замене.
источник
Я столкнулся с подобной проблемой, когда пытался использовать псевдоним Helvetica как семью без засечек. Для тех, кто сталкивается с той же проблемой, посмотрите конфигурацию системы, в
/etc/fonts/conf.d/
которой будут содержаться ссылки на файлы из/etc/fonts/conf.avail
. Мне пришлось удалить много этих псевдонимов, чтобы получить детерминированное поведение.источник