Point vs Pixel

OSX、Adobeは72ppi、Windows、ブラウザは96ppi。困った。

(補)書いた後で読み返してみましたが、我ながらたいへんわかりづらい内容ですね。
一言でいえば、
「MS Pゴシックアンチエイリアスなしのユーザーを対象にデザインするのはしんどいな〜」
という事です。

////////////////////////////

気付いてしまったのでエントリー。

OSXは、画面解像度が72ppi(※1)であることを前提に設計されています(※2)。
 →したがってpixel=pointとなります(※3)。10ptの文字は、10pxの文字として表示されます。

Adobeのソフトウェアもそうです(※4)。画面解像度が72ppiであることを前提に設計されています。

Windowsは、画面解像度が96ppiであることを前提に設計されています(※5)。
 →OSXやAdobeのソフトに比べ「モニタのキメが細かいことを前提にしている」ともいえます。
  10ptの文字は、110*96/72=10*4/3≒10*1.333… 約13.3pixelを使って表示されます。

現在のほぼすべてのWebブラウザは(※6)、画面解像度が96ppiであることを前提にhtmlを解釈します。
 →「10px」、とピクセルで指定されたら10px相当の文字サイズで描画しますが、「10pt」とポイントで指定されたら96/72*10=13.333pxのサイズの文字を描画します。

ここまでよろしいでしょうか。
上記の前提から、

Adobeのソフトウェア、PhotoshopやFireworksなどのグラフィックソフトでは、ptによるhtmlの文字組みのデザインシミュレーションはできません。かなりアバウトな近似値となります。

「いいじゃん、べつにできなくたって。pxの絶対指定(※7)で組めば、そのシミュレーションはできるんでしょ」
いやいや、整数値のpxで絶対指定する限り、ブラウザの文字サイズは、整数値のptとむりやり解釈され(小数点以下は四捨五入)、意図しないサイズでの指定となってしまいます(※8)。それを実装後に微調整するのは馬鹿らしいと思いませんか。

「もう全部相対指定でいいじゃん。具体的な文字サイズはユーザーが最終決定すればいいじゃん」
いやいや、MS Pゴシックなど、ビットマップを持ったフォントは文字サイズによってキャラクター(文字形状やウェイト感)がかなりバラつくので、コントロールしておきたいのです。

結論。
96ppiはうざいですね。WindowsXP日本語版を対象にするのはほんとにうざい。まあ、諸悪の根源はMS Pゴシックなんですが……。
アンチエイリアス文字表示万歳。ヒラギノ万歳、メイリオ(一応)万歳です。

※1 たいていは、「dpi(dots per inch)」と書かれることが多いようですが、やはりここはppi(pixels per inch)でしょう。
※2 Appleの液晶モニタの解像度が72ppiだ、ということではありません。いまどきそんな粗い液晶モニタはありません。
※3 USの単位では、1pt=72分の1インチとなります。何進法だよ。あ、12進法の6倍か。
※4 Macintosh版もWindows版もどちらも同じです(検証終わってません)。
※5 Vistaであれば、[個人設定]→[DPI スケール コントロール パネル]を使ってDPIスケールを変更できます。ただし、大きく(粗く)することができるだけで、デフォルトの96ppiが最小値のようです。72ppiとかにはできません。
※6 昔のブラウザは、想定する画面解像度を変更できたような気がします。Macintosh版のIEなどがそうだったように記憶しています。
※7 絶対値指定の文字サイズのユーザー側の制御、ブラウザの機能が充実してきたので「文字大きくしたい人」問題はさほど重要でなくなった気はします。
※8 検証画面です。(実質的に)px指定は結局pt換算値を四捨五入して表示されていることがわかります。

上記は未検証な部分も多く、関連する疑問はほかにもありますが、今日はここまで。

コメントを残す

メールアドレスが公開されることはありません。