あるフォントコレクションの太字エイリアスを別のフォントコレクションの太字で表示するには?

あるフォントコレクションの太字エイリアスを別のフォントコレクションの太字で表示するには?

私はPragmataProというフォントを持っています。このフォントの太いバージョンは、Essential PragmataProという別のファミリーに属しています。アプリケーションでEssential PragmataProを使用したいと思います。勇敢なPragmataProを使用しようとしたとき勇敢な

さらに、PragmataProには太いフォントの太さはなく、Essential PragmataProには一般的なフォントの太さもありません。最初の文は私の問題の原因です。

私が試したことは次のとおりです。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="pattern">
        <test name="family"><string>PragmataPro</string></test>
        <test name="weight" compare="more_eq"><const>bold</const></test>
        <edit name="family" mode="assign"><string>Essential PragmataPro</string></edit>
        <edit name="embolden" mode="assign"><bool>false</bool></edit>
    </match>
</fontconfig>

それがすることはDejaVu Sans太字を適用するだけです。

どんな提案がありますか?

答え1

次へ追加バインディング="強さ"次のように最初の編集行に移動します。

<edit name="family" mode="assign" binding="strong"><string>Essential PragmataPro</string></edit>

これで問題が解決します。 2番目の編集行のようです。

<edit name="embolden" mode="assign"><bool>false</bool></edit>

不要。

答え2

現在使用されている太字フォントライブラリを別のディレクトリに移動します。 DejaVu Sans Boldフォントライブラリの古い名前を目的のライブラリに関連付ける仮想リンク(ln -s)。

フォントキャッシュを書き換える必要がありますが、これはうまくいきます。

関連情報