2009年11月7日土曜日

Macのフォントは何故美しいのか

2011/03/14改訂
 巷ではよくMacのフォントは美しい、という話を聞く。確かにMacで表示されるフォントは美しい。Vista以降日本語フォントとしてメイリオフォントが導入されたWindowsと比較して視認性こそ劣るものの、"見やすさ"はMacの方が上であると筆者は感じる(もちろん感じ方は人それぞれなので一概にどうとは言えないが)。
 では、何故Macのフォントは美しいのだろうか?よく、ヒラギノフォントとOsakaフォントをWindowsに導入することでWindowsでもMacの様に美しいフォントを導入しよう、という記事を見かけるが、あれはあまり正確ではない。Macはフォントそのものの美しさよりもフォントのレンダリングエンジンが優れているのだ。
 GDI++というレンダリングエンジンがある。これはWindowsのフォントレンダリングエンジンであるを置き換えるもので、プログラムと置き換えるフォントを指定してやることでフォントを美しくレンダリングしてくれる。GDI++は内部的には大きめのフォントを縮小して表示しているのだが、これが非常にMacのフォントと似ているのだ。Macのフォントレンダリングエンジンも同様の技術でフォントを描画していると思われる。ただしGDI++はソフトによっては非常に動作が重たくなるし、場合によっては動かないこともある。さらにはクリアタイプのかかり方が変になることがある。もともとOSに標準で組み込まれていないものを無理やり組み込んでいるので、当然といえば当然なのだが。しかし、GDI++でレンダリングすると、MSゴシック系のフォントが実は意外と綺麗であることがわかる。これもMacのフォントの美しさがフォントそのものの美しさだけではないことの証明だ。
 Microsoftはフォントのレンダリングエンジンについて根本的に見直す必要がある。メイリオのような小さいサイズにも専用にヒンティングが用意されたクリアタイプフォントはそのデータに従ってレンダリングすればよい。Windows 7以降でDirectX上に実装されたDirectWriteと呼ばれるテキストレンダリング用APIを用いれば、縦方向にもClearTypeにおいてアンチエイリアス処理が適用されるので、尚綺麗に描画されるだろう。しかし未だにMSゴシックなどのビットマップフォントを採用しているサイトは多いし、なによりMSゴシックでないとAAはきちんと表示できない。このためにも、ClearTypeとビットマップフォントとで異なるレンダリング方式を用いて、ビットマップフォントをより綺麗に描画する手法をMicrosoftは実装するべきだ。

2011/03/14追記
 ビットマップフォントを直接描画することで、コントラストがはっきりし、視認性にすぐれた表示をすることができるが、ディスプレイの進化によってDPIが上がり、高詳細化した現在ではわざわざビットマップフォントをそのまま描画するメリットは薄い。故にLinuxの多くのディストリビューションやUNIX系OSであるMac OSXは同様の機構を持ったフォントレンダラーを備える。

0 件のコメント: