Ubuntu 10.04でRyuminに使うフォントをTakaoEX明朝に変更する

 Ubuntu 10.04 (Lucid Lynx) が4月末にリリースされたので、手持ちのPCをアップグレードした。PDFを見るときには標準の文書ビューワであるevinceを使っているのだが、この10.04からは、Ryuminが指定されている場合、明朝体のフォントを使うようになったみたいだ。
 リュウミンはそもそも明朝体のフォントなので、作成者の意図に近づいたということで喜ばしいことなのだが、どうもこの表示があまり読みやすくない。特に、開き括弧が入ると左右の文字との感覚がおかしくなってしまう。
 PDFへのフォントの埋め込みなど、いろいろと試行錯誤してみたのだが、最終的には、evinceがRyuminに使うフォントをTakao P明朝からTakaoEX明朝に変えるとなんか素敵な表示になる、という事がわかった。Takao P明朝での表示とTakaoEx明朝での表示の差を右に示す。2行目のyと開き括弧のスペースが妙に狭い事、下から3行目の「何がしか」のあたりの字間開けが上だとなんかうまくいってない事がわかる。



 evinceは使用するフォントの決定にfontconfigを使うので、fontconfigの設定を書き換えてやれば良い。最初は ~/.fonts.conf を書き換えてみたがうまく行かなかったので、最終的には /etc/fonts/conf.d/69-language-selector-ja-jp.conf を直接書き換える、という暴挙に出た。~/.fonts.conf でなんとかできる方法をご存知の方は、ぜひ教えてください。このファイルの60行めぐらいからRyuminに何を使うかという設定がされているので、フォントを指定する部分で

        <edit name="family" mode="prepend" binding="same">
            <string>TakaoEx明朝</string>
            ...

 と書き換えた。うまく書き換えられたかは、fc-matchで確認できる。

$ fc-match "Ryumin-Light-Identity-H"
TakaoExMincho.ttf: "TakaoEx明朝" "Regular"

 と返ってくればOK。evinceを再起動すると、使うフォントがTakaoEX明朝に変わる。
 以下、こういう状態になる理由を推測する。PDFでは作成者の意図したレイアウトを守るために1文字1文字にページのどこら辺に指定しろ、という指定をできるっぽい。あと、PDFにはフォントをファイルに埋め込む機能もあって、それが使われていると完全に作者の意図通りに表示されるのだが、ファイルサイズが膨らんでしまうので、ネットで配布されているものにはフォントが埋め込まれていないものの方が多い。フォントが埋め込まれておらず、かつPDFで指定されたフォントが手元になかった場合、PDFビューワは適当に代替フォントを探して表示する。しかし、PDFでは1文字1文字に対して座標を指定しているので、レイアウトを組んだときに使ったフォントと代替フォントでサイズや座標が合致していないと悲しい事になる。私が見るPDFは論文ばっかなので、表示フォントとしてはリュウミンが指定されていることが多いんだけど、このリュウミンとのずれがTakaoEX明朝の方が少ない、ということだろう。