太字で表示

Firefox@Ubuntu Edgy では日本語のフォントを bold 指定しても bold で表示されないのが長らく不思議だったのですが、最近 bold で表示させる方法を知りました。

参考: 俺の話を聞け!

上のリンク先をみればそれで済みますが、要点を述べると。日本語フォントには bold 体が用意されていないことが多く、その場合フォント描画側が bold 体を自動生成する必要が有り、そのためには ~/.fonts.conf に以下を書き込めば良いようです。

<match target="font">
 <test name="weight" compare="less_eq">
  <const>medium</const>
 </test>
 <test target="pattern" name="weight" compare="more">
  <const>medium</const>
 </test>
 <edit name="embolden" mode="assign">
  <bool>true</bool>
 </edit>
</match>

~/.fonts.conf は XML ファイルなので、単純に追記するだけではダメですが、タグの対応関係を見れば簡単に分かるでしょう。

結果:

0318-bold-enabled-small.png 0318-bold-disabled-small.png

ちなみに使用フォントは M+1P+IPAG circle で、これは M+IPA フォントを合成したフォント。

最新の Xft/FreeType/Fontconfig が入っている環境だと普通に bold 体が出るらしい。ちなみに Windows などはこのへんを最初からやってくれてるそうで、便利ですね!


About this entry