私はArch Linux、Deepin Desktopを使用しています。使っています能登セリフ私の標準フォントですが、アラビア語の文字は好きではありません。だから私の目標は、アラビア語の文字にのみ使用される別のフォントを使用することです。
私が試したことは次のとおりです。/etc/fonts/conf.d/
次の内容で新しい設定ファイルを作成しました。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Naskh Arabic</string>
</edit>
</match>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Naskh Arabic</string>
</edit>
</match>
</fontconfig>
私は次に逃げたfc-cache -r
。しかし、これはうまくいきません。同じフォントがまだ使用され、実行中は以前と同じようにfc-match
返されます。NotoSerif-Regular.ttf: "Noto Serif" "Regular"
答え1
多くのNotoフォントは、アラビア語のスクリプトをサポートするとシステムに報告し、部分的にサポートしています。これらのフォントの1つはウルドゥー語何らかの理由でアラビア語のテキストをサポートする他のフォントよりも優先順位の高いフォントです。
あなたはできます好む次のように、特定のフォントは他のフォントよりも優先されます。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Naskh Arabic</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Naskh Arabic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono</family>
<family>Noto Naskh Arabic</family>
</prefer>
</alias>
</fontconfig>
フォントの位置が高いほど人気が高くなります。この場合は、Noto Naskh Arabic
他のアラビア語のフォントを好みます。
もちろん、必要な言語やフォントでこれを行うことができます。
何らかの理由でのユーザープロファイルのみが機能します~/.config/fontconfig/fonts.conf
。環境変数は$XDG_CONFIG_HOME
ホームディレクトリ.config
内のディレクトリに設定する必要があるため$HOME/.config
。
その後、構成を再作成して適用する必要がありますfc-cache
。新しく実行されたアプリケーションにのみ新しい設定が表示されます。変更を完全に適用するには、X サーバーまたはデスクトップを再起動します。
編集する:ロケールを一致させると、一部のサイトはアラビア語のUTF-8文字を表示するときにロケールを使用するar
ため、すべてのサイトで機能するわけではありません。en
で始まる設定ファイルを読み、読み込むと、/etc/fonts/conf.d
これが正解であることがわかります。README
[30-40]
ウェブサイトにSerifフォントが必要だとしましょう。 Fontconfigは最初にリストを繰り返し、Noto Serif
アラビア語の文字を見つけたら、リストの2番目のフォントを使用します。Noto Naskh Arabic
そして、そのフォントがアラビア語のスクリプトをサポートしていることがわかったら、そのフォントを使用します。