水たまりは希望を写している

Windows のフォントレンダリングが汚いというデマを流すのはやめろ

3 行で

  • HiDPI に対応していないアプリは今すぐ投げ捨てろ
  • もはや Microsoft は 100% スケーリングを考えていない
  • 文字が小さくて読めないならデカくしろ

HiDPI に対応していないアプリは今すぐ投げ捨てろ

1 日どのくらい HiDPI に対応していないウィンドウを見ているのだろうか?

僕は 1 日 1 回 HiDPI でないウィンドウを見る。ATOK のアップデートのダイアログだ。見るといっても、ちょっと内容を確認してアップデートをするか無視するかのボタンを押すだけだ。アップデート画面だけの話で、ATOK 自体は HiDPI に対応している。

多分だけど、僕らが使っているアプリケーションの 9 割くらいは、既に HiDPI に対応している、と思う。基本ぼやけた文字のウィンドウを見る機会はほぼないといってもいいだろう。ブラウザはもちろん、Office も対応済みだし、Adobe や Visual Studio などの制作・開発環境もかなり前に対応している。

手薄なのが個人が開発したアプリケーションで、長らく更新されていない場合は対応していないこともあり得る。今の WPF や WinForms は簡単に Pre-Monitor V2 に対応できるので、継続的にアップデートを提供しているアプリはすでに対応しているだろう。

ともあれ、Windows 最強の互換性のおかげで古いアプリが (文字がぼやけるものの) 使えるのだから、そこは我慢しなくてはならないだろう。ぼやっとした文字を見たくないのなら、HiDPI 対応のアプリを使えば済む話だ。

もはや Microsoft は 100% スケーリングを考えていない

Windows 7 のシステムフォントのメイリオは、100 % スケーリングのディスプレイに最適なフォントだった。当時のディスプレイは大きくても 1920 x 1080 だったし、ノートパソコンなら 1366 x 768 が当たり前だった。100 % スケーリングで使われる前提のフォントだったメイリオは、当時の Windows 環境には最適だった。

けど、今は違う。Windows 10 がリリースされた後に出た Surface Pro 4 は 2736 x 1824 (12.3 インチ、267 ppi) の液晶を搭載しているし、途中で初期搭載 OS が変わった Surface 3 も 1920 x 1080 のディスプレイ (10.8 インチ、204 ppi) を搭載している。これは目との距離が必然的に近くなるから高解像度なのではない。初代 Surface Book では完全なノート型にもかかわらず 3000 x 2000 のディスプレイ (13.5 インチ、267 ppi) を搭載している。これらの端末のスケーリングは無論 100 % より大きい値になる。

4K 解像度なノートパソコンや Surface シリーズを使っていたらわかる話だが、細めの游ゴシックをシステムフォントにしたおかげで、高繊細でクッキリとした表示になる。僕は 15 インチで 4K なゲーミングノートパソコンを使っていたことがあるのでよく分かる。使っていて読めない字は出てこないし、MacBook Air とかよりも綺麗だ (画素密度も高いし)。今の時代に合ったディスプレイ環境をお持ちの方は、今の Windows 10 のシステムフォントでなにも不満を持たないはずだ。

しかしどうだろう、富士通や東芝は 2021 年になってもなお、1366 x 768 なディスプレイのノートパソコンを販売している。中価格帯といえる 10 万前後のモデルで、だ。あと 1 万円出せば 2560 x 1600 な MacBook Air が買えるのに……。高解像度なディスプレイを積みやすくなった今日でも、10 年前メジャーだったディスプレイ解像度を国産メーカーは使い続ける。

その辺アメリカや中国の PC メーカーはよく分かっていて、スタンダードなモデルであればカタログで 1366 x 768 なんて数字を見ることはないし、なんならカスタマイズ項目として 4K ディスプレイが搭載できたりする。ハイエンドモデルになれば 4K ディスプレイが標準搭載なんてのもザラにある。

アルファベットより、漢字・かな・ハングル (つまり CJK) の方が圧倒的に字形が複雑で、適切に表現するために必要なピクセル数も違うことはなんとなくわかるだろう。なのだから、国産メーカーはほかのどの国よりも高解像度ディスプレイ搭載に力を入れなきゃいけないはずなんだけどね。

つまるところ、一部のメーカーは当たり前のように高解像度ディスプレイを採用しているのに、他が足かせになって全然普及しない。Microsoft は解像度の向こう側 (?) を見ているっていうのに……。

PC ゲームが好きで高リフレッシュレートなディスプレイしか使えない、とかではない限り、さっさと高解像度なディスプレイを買え。お前がディスプレイを買えばすべて解決する。

文字が小さくて読めないならデカくしろ

デカくしろ。以上だ。


低画素密度には限界がある

もし、本当に Windows のフォントレンダリングが汚いのなら、ネイティブ解像度でのフォントレンダリング結果に問題があるということだから、NVIDIA の DSR で疑似的に解像度を上げればフォントレンダリングは改善するはずだ。しかし、疑似的に解像度を上げたところでほぼ意味をなさない (NVIDIA の GPU があるならやってみよう)。つまり、Windows のフォントレンダリングが汚いのではなくて、低画素密度による表現能力が低いだけなのだ。やっぱり、デスクトップ PC でも 200 ppi くらいは欲しい。

実際、4K の 24 インチが一番理想的な気がする (184 ppi)。

macOS との比較

一時期 Apple M1 な MacBook Air を持ってた (今でも使えるが) ので、そのとき撮影したスクリーンショットを使って比較してみよう。

1920 x 1080 のディスプレイに表示させて、スクリーンショットを撮影。Photoshop でニアレストネイバー法で 400 % に拡大。上が Windows で下が macOS。1920 x 1080 のカンバスに等倍で貼り付けている。

(これはあくまでも同時に見ることができるように編集したものなので、正確に比較する場合は、自前で両方の環境を準備して確かめるしかない。)

個人的には、Windows も macOS も大して変わらない視認性だと思う。そもそもの話、漢字を表示するには画素密度が足りてなさ過ぎる

ともあれ、CJK はつらい