Eu sei que esta questão provavelmente está desatualizada, mas eu a descobri em minha própria busca por uma solução para substituir a substituição de Arial por Liberation Sans, que eu não gostei em um novo desktop Kubuntu Xenial 16.04.
Se substituir as substituições padrão do fontconfig por seu usuário for o que você deseja, talvez você esteja interessado em ler meu post no Askubuntu: link
Resumo breve
Em sistemas modernos, o fontconfig extrai a configuração do usuário de ~/.config/fontconfig/fonts.conf
ou (melhor para fins de separação) ~/.config/fontconfig/conf.d
.
No meu caso, eu queria que o Firefox processasse texto com um conjunto de fontes de família CSS para preferir o Arial usando o Noto Sans. O Fontconfig é configurado por padrão para usar o Liberation Sans como drop-in métrico para Arial ( /etc/fonts/conf.avail/30-metric-aliases.conf
), que a princípio parecia impossível de ser substituído sem alterar os principais arquivos de configuração do fontconfig.
Após uma longa busca, tentativa e erro, a solução foi simples: As sobrescritas são respeitadas quando nos diretórios de usuários mencionados e nomeadas de acordo com as expectativas do fontconfig na forma [0-9][0-9]*.conf
(veja /etc/fonts/conf.avail /50-user.conf e /etc/fonts/conf.d/README ).
Minha configuração de trabalho para substituir Arial:
~/.config/fontconfig/conf.d/00-arial-noto.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Map Arial to Noto Sans instead of Liberation Sans
(overrides /etc/fonts/conf.d/30-metric-aliases.conf) -->
<alias binding="same">
<family>Arial</family>
<accept>
<family>Noto Sans</family>
</accept>
</alias>
</fontconfig>
Verifique com fc-match Arial
no console como seu usuário, ele deve produzir "Noto Sans" (ou qualquer que seja sua nova configuração) sem esforços adicionais.
Depois de ter passado meio dia pensando em tudo isso, incluindo ler histórias altamente aventureiras sobre lutas corajosas nos domínios do fontconfig, espero que isso ajude os outros.