ディレクトリ内のすべてのフォントを拒否する(fontconfigを使用するフォントを除く)

ディレクトリ内のすべてのフォントを拒否する(fontconfigを使用するフォントを除く)

Fontconfigを使用する少数の言語を除いて、他のほとんどの言語ではNotoフォントを無効にしたいと思います。すべて無効にするにはrejectfont、要素を使用します。globその後、要素を使用しますがアクティブにするacceptfontことはできません。

同様の問題を持つFontconfigメーリングリストにメッセージがありましたが、返信を受け取りませんでした。https://lists.freedesktop.org/archives/fontconfig/2008-January/002826.html

私の設定ファイルの内容はここにあります

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <selectfont>
    <rejectfont>
      <glob>/usr/share/fonts/truetype/noto/NotoSans*.ttf</glob>
      <glob>/usr/share/fonts/opentype/noto/NotoSans*.ttc</glob>
      <glob>/usr/share/fonts/opentype/noto/NotoSerif*.ttc</glob>
      <glob>/usr/share/fonts/truetype/noto/NotoSerif*.ttf</glob>
    </rejectfont>
  </selectfont>
  <selectfont>
    <acceptfont>
        <patelt name="family">
            <string>Noto Sans</string>
        </patelt>
    </acceptfont>
  </selectfont>
</fontconfig>

フォントマネージャが使用する各系列に対して拒否フォントルールを作成する以外に、このような簡単な方法はありますか?

フォントの削除を提案しないでください。

ベストアンサー1

~/.config/fontconfig/fonts.confすべてのNoto言語固有のフォントをブラックリストに追加する次のXMLをファイルに追加します。

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<selectfont>
    <rejectfont>
        <glob>/usr/share/fonts/truetype/noto/NotoKufi*</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoNaskh*</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoNastaliq*</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSans*</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSerif*</glob>
    </rejectfont>
    <acceptfont>
        <glob>/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSans-Bold.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSans-BoldItalic.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSans-Italic.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSerif-Regular.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSerif-Bold.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSerif-BoldItalic.ttf</glob>
        <glob>/usr/share/fonts/truetype/noto/NotoSerif-Italic.ttf</glob>
        <glob>/usr/share/fonts/noto/NotoSans-*</glob>
        <glob>/usr/share/fonts/noto/NotoSerif-*</glob>
    </acceptfont>
</selectfont>

そしてフォントキャッシュを再構築しますfc-cache -f -v

その後、WriterにリストされているNotoフォントの数は数百から17に減ります。

おすすめ記事