Отключение сглаживания для определенного шрифта с помощью пользовательского fonts.conf

9

Цель:

Я пытаюсь отключить сглаживание через ~/.config/fontconfig/fonts.confдля определенного шрифта, но пока безуспешно. Если мое понимание верно, то причина в том, что общесистемная конфигурация имеет приоритет над моей собственной конфигурацией.

Вопрос:

Как отключить сглаживание для определенного шрифта у пользователя fonts.confи иметь приоритет над общесистемной конфигурацией?

Дополнительное замечание: я предпочитаю делать это, не касаясь конфигурации системы, и я предпочитаю не делать это на уровне приложений.

Подробности:

Система Ubuntu Raring Ringtail 13.04. Это мое ~/.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>

Соответствующие файлы в /etc/fonts/conf.dэто

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

со следующим содержанием:

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

И вот что возвращает fc-match:

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

Обратите внимание, что антиалиас - это FcTrue!

Олаф Рогальский
источник

Ответы:

0

[Я знаю, что этому вопросу 5 лет, но он все еще появляется в поисковых системах.]

Я только что сделал .fonts.confфайл в домашнем каталоге. Это сработало сразу в Ubuntu 18.04 LTS.

(Замените названия шрифтов соответственно!)

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

Я положил его в Gist, а также на всякий случай дополнительную документацию: https://gist.github.com/gonzalocesar/7ef41572a2627b65da976001a29ba7ee

GCE
источник