MS ゴシック等の Windows フォントの扱い

Linux 環境でもずっと MS ゴシック等の Windows フォント(ていうかリコーフォント)を愛用しているのだけど、FC2 のデフォルトの環境では以下のような問題が。

  • bold (太字)や italic (斜体)の書体が出ない(GTK2/Xft2, GTK1/X)
  • 半角文字が全角の幅で表示されてしまう(GTK1/X)
  • Xft 版の Mozilla/Firefox で下線の位置が少し上過ぎ(文字に重なってしまう)

全部はまだ解決できてない。

GTK2/Xft 環境で bold, italic が出るようにする

X/Xft/fontconfig 関係のパッケージにパッチを当ててビルドする必要あり(バイナリもどこかにあるかもしれないけど)。パッチ入りの SRPM は以下から入手(要 Bittorrent)。

X のビルドはかなり時間がかかります(Athlon XP 1800+ で40分くらい)。できた rpm は上書きインストール。念のため msgothic.ttc などは一度削除して入れ直す。

とりあえずこれで GTK2/Xft2 なアプリ(GNOME の標準アプリとか Xft ビルド版の Mozilla とか)で bold が表示されるようになったけど、フォントメニューには bold, italc が出てこない。なんか設定が必要と思われるけど後回し。

表示品質は小さな文字では良好だが、大きなサイズの bold は結構崩れる(anti alias 非使用時)。こんな感じ。

MS Gothic 32pt の bold 表示

大きい文字を無理に太らせてるせい? 愚直に二重打ちしたほうが綺麗なような(遅くなるけど)。

fonts.dir, fonts.scale の書き換え

上のパッチを当てても GTK1/X なアプリの問題は解消されない。bold は xfs-tt (X-TT 拡張版の xfs)を使えば解決すると思われるが上のパッチと混用できるかよくわからないので保留。

半角文字が全角の幅で表示されてしまうのは /etc/init.d/xfs が自動的に作った fonts.dir, fonts.scale が、プロポーショナルフォントにも固定幅指定(c)をしているため。これを p に書き換えると MS PGothic, MS PMincho, MS UI Gothic は正常に表示されるようになった(MS Gothic, MS Mincho は未確認)。

ただし、/etc/init.d/xfs はファイル更新日付を見て fonts.dir などを作り直してしまうので、ファイル作成日時を、 *.ttf < fonts.scale < fonts.dir になるように touch で調整する(作業の最後に touch fonts.dir する)。これをやらないとリブートすると上の変更がご破算に。