〜/ .fonts.confによるフォント置換


18

〜/ .fonts.confを使用してHelveticaをDroid Sansに置き換えようとしています。ファイルの内容は次のとおりです。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

しかし、何があっても何も起こらないようです。私はfc-cacheを実行しようとしましたが、チェックインしましたが/etc/fonts/conf.d50-user.confユーザー固有の設定を明示的に呼び出すようです。

私は何が欠けていますか?

ありがとう

編集:調査の後/etc/fonts/conf.d、ユーザー設定を上書きする他のルールが見つかりましたので、リンクuser.conf00-user.conf役立ちました。それでも私は、置換すべきフォントを指定することができるので、それは、単に部分的な成功だが、私の選択の代替は無視されます。つまり、私が作ることができHelvetica、それは、無効とシステムは、ブラウザで次のフォント(すなわちにフォールバックスタイルシートで指定された次のフォントを使用し、存在しない場合は標準のサンセリフを表示します)。


似たようなことを達成しようとしていたので、ここに来ました。うまくいけば、誰かが...答えを持っている
ルートヴィヒWeinzierl

まだ答えを探しています。
カピエテリエル

回答:


16

構成にバインディング属性がありませんでした。(fonts-confも参照してください)。他の構成によっては、「同じ」または「強い」のバインディングがおそらく機能するかもしれませんが、「弱い」はあなたが望むものを与えないかもしれません。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="same"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

1
私のために働いた。binding属性を追加すると違いが生じたようです。fontconfig-2.8.0を使用しています。
MaoPU

これは私のために働いた
-miloshadzic

3

私はエイリアスメカニズムがこれに対して機能すると思います:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>Helvetica</family>
    <prefer>Droid Sans</prefer>
  </alias>
</fontconfig>

1
<alias>は、インストールされていないフォントを置き換えるためだけではありませんか?
MaoPU

@MaoPU:同じことを考えましたが、ドキュメントを読んだ後、その動作が設定されていると信じるようになりました。 <accept>フォントがインストールされていない<prefer>場合に優先され、フォントがインストールされているかどうかに関係なく優先されます。
JMベッカー

/ \いいえ、.confこのルールを含むファイルが最初に読み取られない限り、実際にはそうではありません。
Marc.2377

うーん-それはそれは、言わない場合は、作業をbinding="strong"一緒に使用されている<alias>要素!
Marc.2377

0

「fc-list」は実際には「Helvetica」と表示されますか?fc-matchは何と言っていますか?私の箱(F-12)には次のものがあります:

 >fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

たぶん、代替フォントもエイリアスフォントに追加する必要があります。


0

Helveticaをsans-serifファミリーとエイリアスしようとすると、同様の問題が発生しました。同じ問題が発生した場合は、システム構成を参照してください。システム構成に/etc/fonts/conf.d/は、からのファイルへのリンクが含まれます/etc/fonts/conf.avail。確定的な動作を得るには、これらのエイリアスの多くを削除する必要がありました。

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