Fontconfigはlcdfilter設定を無視します。

Fontconfigはlcdfilter設定を無視します。

LCDフィルタ設定を使いたいです。https://wiki.archlinux.org/index.php/font_configuration#LCD_filter。ファイルが既に存在します。

$ cat /etc/fonts/conf.d/11-lcdfilter-default.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <description>Use lcddefault as default for LCD filter</description>
<!--  Use lcddefault as default for LCD filter -->
  <match target="pattern">
    <!--
      This configuration is available on the major desktop environments.
      We shouldn't overwrite it with "assign" unconditionally.
      Most clients may picks up the first value only. so using "append"
      may simply works to avoid it.
    -->
    <edit mode="append" name="lcdfilter">
      <const>lcddefault</const>
    </edit>
  </match>
</fontconfig>

しかし、これらの設定は無視されるようです。

$ grep lcd /etc/fonts/fonts.conf | wc
      0       0       0
$ fc-match --verbose | rg lcd
       lcdfilter: 0(i)(w)

これが実行後の様子ですfc-cache -f

変更をインポートするために使用されるコマンドは何ですか/etc/fonts/conf.d?時間がかかりすぎてシステムを再起動したくありません(問題を解決するにはこれを何度も実行する必要があります)。

答え1

私はこの問題をより広く解決する方法を見つけることができませんでしたが、他の設定ファイルが私のシステム全体の設定ファイルを上書きしていることがわかりました。

$ grep cache /etc/fonts/fonts.conf
<!-- Font cache directory list -->
    <cachedir>/var/cache/fontconfig</cachedir>
    <cachedir prefix="xdg">fontconfig</cachedir>
    <cachedir>~/.fontconfig</cachedir>

私はそうしませんでしたが、~/.fontconfig知っているとそれをそれ~/.config/fontconfig/fonts.conf自体lcdfilterに設定しましたnone。このファイルを削除しました(他の重要な設定はありません。そうしないと、ブロックを編集/削除しますlcdfilter)。アプリを閉じて再度開くと、フォントが期待どおりにレンダリングされます。fc-cache -rまた、正しい結果を示しています。

関連情報