ユーザーの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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.