Desabilitando o anti-aliasing para uma fonte específica com o fonts.conf do usuário

9

Objetivo:

Estou tentando desativar o anti-aliasing via ~/.config/fontconfig/fonts.confpara uma fonte específica, mas até agora sem sucesso. Se meu entendimento estiver correto, a causa é que a configuração geral do sistema tem precedência sobre minha própria configuração.

Questão:

Como desativar o anti-aliasing de uma fonte específica com o usuário fonts.confe ter precedência sobre a configuração geral do sistema?

Observação: prefiro fazê-lo sem tocar na configuração do sistema e prefiro não fazê-lo no nível do aplicativo.

Detalhes:

O sistema é o Ubuntu Raring Ringtail 13.04. Este é o meu ~/.config/fontconfig/fonts.conf:

<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test name="family">
      <string>DejaVu Sans Mono</string>
    </test>
    <edit name="antialias" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

Os arquivos relevantes /etc/fonts/conf.dsão

  • 10-antialias.conf
  • 50-user.conf

com o seguinte conteúdo:

   /etc/fonts/conf.d>cat 10-antialias.conf 50-user.conf
   ...
   <match target="font">
     <edit name="antialias" mode="assign"><bool>true</bool></edit>
   </match>
   ...
   <include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
   ...

E é isso que o fc-match retorna:

~>fc-match -v 'DejaVu Sans Mono' family antialias
Pattern has 2 elts (size 16)
        family: "DejaVu Sans Mono"(s)
        antialias: FcTrue(w)

Por favor note que antialias é FcTrue!

Olaf Rogalsky
fonte

Respostas:

0

[Eu sei que essa pergunta tem 5 anos, mas ainda aparece nos mecanismos de pesquisa.]

Acabei de criar um .fonts.confarquivo no diretório inicial. Funcionou imediatamente no Ubuntu 18.04 LTS.

(Substitua os nomes das fontes de acordo!)

<!-- 
~/.fonts.conf

Remember to run "fc-cache" after you modify this file.
-->

<fontconfig> 

  <match target="font">
    <test name="family" qual="any">
      <string>Ubuntu Mono</string>
      <string>Free Pixel</string>
    </test>
    <edit name="antialias" mode="assign">
      <bool>false</bool>
    </edit>
  </match>

</fontconfig>

Coloquei-o em um Gist, além de alguma documentação adicional para o caso: https://gist.github.com/gonzalocesar/7ef41572a2627b65da976001a29ba7ee

gce
fonte