today::エンジニアに憧れる非エンジニア

今のところは、エンジニアとは言えないところの職種です。しかしエンジニア的なものの考え方に興味津津。

MSフォントの駆逐を考えた理由

Qiitaにて、FirefoxにおけるWebページの表示から、MS Pゴシックとかを駆逐する。その方法というエントリーを書きました。MSフォントの何が煩いのでしょうか。

ビットマップフォントが内蔵されていること

いろいろと煩い要因はあるのですが、最も顕著なのは、17ポイント未満のフォントサイズで表示した場合に、アウトラインフォントではなく内蔵ビットマップフォントで表示されてしまうことです。

画面解像度が全体として低く、かつWindowsにおけるアウトラインフォントのレンダリング品質がMacに比べて著しく劣っていた時代であれば、内臓ビットマップフォントの存在にも意味があったのでしょう。しかしながら、今は状況が大きく変わったのです。

何が変わったのか

MSフォントが登場した当時に対して、現在大きく変わっているのは、特に以下の2点であろうと感じています。画面の高解像度化が進んだことと、Windowsにおけるアウトラインフォントのレンダリング処理が大きく改善されたことです。

画面の高解像度化

MSフォントが登場した時点では、VGA(640×480ピクセル)くらいの解像度の画面も一般的でした。一方現在では、フルHD(1920×1080ピクセル)が主流です。ピクセル数が7倍弱に増えています。

画面が高解像度化すると何が起こるのでしょうか。ビットマップフォントの大きさが小さくなりすぎてつらくなるのです。

ビットマップフォントの大きさの単位はピクセルです。画面の解像度が高くなると、1ピクセルの実面積は少なくなっていきます。スマートフォンくらいの大きさの画面だと、フルHDくらいの解像度であっても、12ピクセル四方の画像の中身を認識するのはきつくなります。まして4K解像度で12ピクセル四方となれば、ノートパソコンくらいの大きさの画面でも、中身を認識するのはきついのではないでしょうか。

Windowsにおけるアウトラインフォントのレンダリング品質の改善

ClearTypeの登場以降、Windowsにおいてもアウトラインフォントのレンダリング品質は著しく改善されており、内蔵ビットマップフォントの存在はむしろデメリットが目立つようになりました。具体的には、以下のようなデメリットです。

  • ビットマップフォントにはアンチエイリアシングが作用せず、輪郭のギザギザが目立つ
  • 同じ表示領域内にアウトラインフォントとビットマップフォントが混在することにより、見た目に強い違和感を覚える
  • MS Pゴシックなどのフォントは、後発のフォントに比べ、そもそもフォントとしての出来がよくない
    • 文字の太さに統一感がない
    • 文字ごとの印象に一貫性がない

関連リンク