スケーラブルフォントのビットマップを無視するようにfontconfigを構成します


12

Microsoft C-Fontsをインストールしましたが、すばらしいです。ただし、Calibriは、表示される多くのサイズのビットマップフォントとして表示されます。Calibri(およびCambriaなど)が埋め込みビットマップからレンダリングされるのを禁止するようにfontconfigに指示するにはどうすればよいですか?70-no-bitmaps.conf私の/etc/fonts/conf.d/ディレクトリにはすでにあります。

問題のフォントは、PowerPoint Viewerから抽出できます。


これらのフォントは自由に配布できないのですか?(だから私はそれらをテストすることはできません。)しかし、彼らはビットマップを使用し、アンチエイリアスを無効にするだけではありませんか?
JanC

@JanCフォントは実際に事前レンダリングされたビットマップを使用します。
ポールフィッシャー

回答:


19

/etc/fonts/conf.d/70-no-bitmaps.confビットマップフォントのみを拒否し、埋め込みビットマップを無効にしません。同じconfファイルに埋め込まれたビットマップを無効にする設定をしていない理由はわかりません。とにかく、以下にあなたの~/.config/fontconfig/conf.d/20-no-embedded.conf(または、Ubuntuの古いバージョンの場合は~/.fonts.conf.d/20-no-embedded.conf)を入れてください:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

これにより、すべてのフォントの埋め込みビットマップが無効になります。選択したフォントに対してのみ無効にする場合は、<test>要素を追加します。

<test name="family" compare="contains">
  <string>Calibri</string>
  <string>Cambria</string>
</test>

前に<edit ...


これを/etc/fonts/conf.dに配置するか、/ etc / fonts / conf.availに配置し、他のすべての構成ファイルと同様にconf.dにシンボリックリンクする必要がありますか?これは、ubuntuディストリビューションによって提供される設定ファイル用に予約されていますか?それは重要ですか?
knb

1
デフォルトでは@knbはubuntu / debianの設定であり、fontconfigは~/.fonts.conf.d/同様に何でもロードします。したがって、システム構成をいじるのを避けるためにそこに置くことをお勧めします。すべてのユーザーが利用できるようにしたい場合を除き、それをに入れるか、必要なときに使用するためにそれを/etc/fonts/conf.d入れてavailシンボリックリンクconf.dできます(オンにしたいときにシンボリックリンクを削除できます、またはその逆)
syockit

3
fontconfigの現在のバージョンでは、ファイル名の~/.fonts.conf.d/20-no-embedded.conf前に数字が付いていない場合、ファイル名はロードされません。たとえばFC_DEBUG=1024 gedit、実行して、構成に効果がないように見える場合は、構成が読み込まれているかどうかを確認します。
パスカル

FC_DEBUGの@pascal +1。いいえ、10.04 LTSでは名前の前の番号は不要で、名前を付けるだけで.fonts.config十分です。参照するfontconfigのバージョンは何ですか?
LAFKによると、モニカの復職は

1

この例では、「<test>」スタンザで「<string>」属性を2回指定しています。これにより、Ubuntu 13.10および14.04で警告が発生します。警告を除去するには、ファイル内のスタンザは次のようになります。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <test name="family" compare="contains">
       <string>Calibri</string>
    </test>
    <test name="family" compare="contains">
       <string>Cambria</string>
    </test>
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.