Substituição de fontes com ~ / .fonts.conf

18

Estou tentando usar o ~ / .fonts.conf para substituir o Helvetica pelo Droid Sans, aqui está o conteúdo do arquivo:

<?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>

mas não importa o que, nada parece acontecer. Tentei executar o fc-cache, verifiquei em /etc/fonts/conf.d e achei 50-user.conf , que parece chamar explicitamente configurações específicas do usuário.

O que estou perdendo?

Obrigado

EDIT: após investigação, descobri que outras regras em /etc/fonts/conf.d sobrescrevem a configuração do usuário, portanto, a vinculação de user.conf a 00-user.conf ajudou. Ainda assim, é apenas um sucesso parcial, já que posso especificar quais fontes devem ser substituídas, mas o substituto de minha escolha é ignorado: em outras palavras, posso fazer Helvetica invalid e o sistema retorna à próxima fonte (ou seja, no navegador, ele leva a próxima fonte especificada na folha de estilo, se nenhum estiver presente, ele exibe padrão sem serifa).

    
por Matteo Riva 06.03.2010 / 13:56

4 respostas

14

Acho que o atributo de ligação estava faltando na sua configuração. (veja também fonts-conf ). Dependendo da sua outra configuração, uma ligação de "mesmo" ou "strong" provavelmente funcionará, enquanto "fraca" pode não dar o que você deseja.

<?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" binding="same"><string>Droid Sans</string></edit>
  </match>
</fontconfig>
    
por 03.09.2010 / 08:58
4

Acho que o mecanismo de alias funcionaria para isso:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>Helvetica</family>
    <prefer>Droid Sans</prefer>
  </alias>
</fontconfig>
    
por 11.09.2010 / 07:10
0

A "fc-list" realmente mostra "Helvetica"? O que o fc-match diz? Na minha caixa (F-12) eu fico:

 >fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

Talvez você tenha que adicionar a fonte com alias à sua substituição também.

    
por 16.07.2010 / 11:51
0

Eu tive um problema parecido ao tentar aliasizar a Helvetica como uma família sem serifa. Para qualquer pessoa com o mesmo problema, consulte a configuração do sistema em /etc/fonts/conf.d/ , que conterá links para arquivos de /etc/fonts/conf.avail . Eu tive que remover muitos desses apelidos para obter um comportamento determinista.

    
por 03.08.2017 / 21:03