Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

Windows版FirefoxでのIPA 明朝の表示をもう少しましにする

やや旧聞になるが、MicrosoftはWindowsのフォントレンダラを「改善の必要なし」と考えている?という記事を見た。

内容についてはがっかりしたが、その中にWindowsのフォントレンダラはDirectWriteを含めヒンティングをできるだけ正確に解釈しようとするという書き込みがあった。
以前、Windows版Firefoxの文字の見栄えをましにするという記事を書いてFirefoxでDirectWriteの縦方向のサブピクセルレンダリングを有効にし、特に見苦しいMeiryo UIとDirectWriteと相性が悪いMS明朝を一掃する方法を書いたが、それでもまだIPA明朝の描画はもう一歩といった感があった。
そこで、IPA明朝のヒンティングを無効にしたらもう少しましになるんじゃね?ということで、IPA明朝のヒンティングを無効にしてみた。

まず、ttfmodを使い、TrueType版のIPA 明朝とIPA P明朝のヒンティングを無効にした。
この時点でDirectWriteの縦方向のサブピクセルレンダリングを有効にしたFirefoxIPA P明朝がよりスムーズに表示されることを確認した。
Firefoxはこれでよいとして、ほかのDirectWriteの縦方向のサブピクセルレンダリングを有効にしていないアプリケーションでヒンティングのないIPA P明朝を表示するとどうにもいま一つだったので、ヒンティングのないIPA P明朝のフォント名を変えて他のプログラムと同居させることにした。

フォント名の変更はDD開発ROOM: TTFフォント名の変更に書いてある方法に従って、メイリオ・メイリオ改・meiryoKe・ttfname3から入手したttfname3を使ってフォント名をIPA 明朝→IPA 明朝NH、IPA P明朝→IPA P明朝NHとした。

後は、Firefoxの設定を変えてIPA 明朝NH、IPA P明朝NHを使うようにして完了。

結果はこれ。
ヒンティング無効化前

ヒンティング無効化後

好みはあると思うが、ヒンティング無効化後のほうがより自然になっているといえる。

ここでは、Webの文章読みに使うFirefoxを題材に上げたが、DirectWriteの縦方向のサブピクセルレンダリングを有効にできるアプリケーションなら同様の結果になると思う。秀丸エディタとか。

(2015/4/12追記)
逆に、通常のClearTypeレンダリングしかできないアプリケーションではアンチエイリアス処理自体が行われず、悲惨なことになるので実用するにはフォント名を変えてヒンティング有のフォントと無しのフォントを共存させることが必要になるだろう。Chromeとか。