Wyłączanie wygładzania dla określonej czcionki w pliku fonts.conf użytkownika

9

Cel, powód:

Próbuję wyłączyć wygładzanie za ~/.config/fontconfig/fonts.confpomocą określonej czcionki, ale jak dotąd bez powodzenia. Jeśli moje rozumowanie jest prawidłowe, przyczyną jest to, że konfiguracja ogólnosystemowa ma pierwszeństwo przed moją własną konfiguracją.

Pytanie:

Jak wyłączyć wygładzanie dla określonej czcionki użytkownika fonts.confi mieć pierwszeństwo przed konfiguracją całego systemu?

Uwaga boczna: Wolę to robić bez dotykania konfiguracji systemu i wolę nie robić tego na poziomie aplikacji.

Detale:

System to Ubuntu Raring Ringtail 13.04. To jest moje ~/.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>

Odpowiednie pliki /etc/fonts/conf.dto

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

o następującej treści:

   /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>
   ...

I to właśnie zwraca fc-match:

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

Pamiętaj, że antyialia są FcTrue!

Olaf Rogalsky
źródło

Odpowiedzi:

0

[Wiem, że to pytanie ma 5 lat, ale wciąż pojawia się w wyszukiwarkach.]

Właśnie utworzyłem .fonts.confplik w katalogu głównym. Od razu zadziałało w Ubuntu 18.04 LTS.

(Odpowiednio zamień nazwy czcionek!)

<!-- 
~/.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>

Umieściłem go w Gist, plus trochę dodatkowej dokumentacji na wszelki wypadek: https://gist.github.com/gonzalocesar/7ef41572a2627b65da976001a29ba7ee

gce
źródło