DOSEIの日記

技術メモ+日常ログ

Fedora 13 での日本環境での英数フォント事情

何が嫌って、デフォルトの VL ゴシックの英数フォントが優先されること。(文字マップを使って見てみるとわかる) アルファベットは DejaVu なのに、数字と記号は VL なのは気持ち悪い。 DejaVu 系に直接指定してもいいけど、負けた気がするので、 Sans, Serif, Monospace のジェネリックファミリ名を正常化したい。

で、これは FontConfig の設定で決まってるんだけど、どうも Ubuntu でも同じなので、大本のデフォルト設定が変なのか、どっちかがどっちかの設定を真似してるわけだ。

技術的な話をすると、 /etc/fonts/conf.d/*.conf にある設定ファイルがアルファベット順で読み込まれていく。

この中で、 51-local.conf は、 /etc/fonts/local.conf があれば読み込むため、システムワイドなカスタム設定を書くことができる。また、50-user.conf は、 ~/.fonts.conf を読み込むため、ユーザ毎の設定を書くことが出来る。

というわけで、以下の設定をどちらかに書こう。なお、設定はデフォルトでは 30 秒に一度スキャンされるらしいので、すぐ反映される。もしくは、 fc-cache を実行しよう。ソフトウェアによっては一度起動しなおす必要がある。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias binding='strong'>
    <family>monospace</family>
    <prefer><family>DejaVu Sans Mono</family></prefer>
  </alias>
  <alias binding='strong'>
    <family>sans-serif</family>
    <prefer><family>DejaVu Sans</family></prefer>
  </alias>
  <alias binding='strong'>
    <family>serif</family>
    <prefer><family>DejaVu Serif</family></prefer>
  </alias>
</fontconfig>