(補)書いた後で読み返してみましたが、我ながらたいへんわかりづらい内容ですね。一言でいえば、
「MS Pゴシックアンチエイリアスなしのユーザーを対象にデザインするのはしんどいな〜」
という事です。
気付いてしまったのでエントリー。
OSXは、画面解像度が72ppi*1
であることを前提に設計されています*2
。
→したがってpixel=pointとなります*3
。10ptの文字は、10pxの文字として表示されます。
Adobeのソフトウェアもそうです*4 。画面解像度が72ppiであることを前提に設計されています。
Windowsは、画面解像度が96ppiであることを前提に設計されています*5
。
→OSXやAdobeのソフトに比べ「モニタのキメが細かいことを前提にしている」ともいえます。
10ptの文字は、11096/72=104/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:絶対値指定の文字サイズのユーザー側の制御、ブラウザの機能が充実してきたので「文字大きくしたい人」問題はさほど重要でなくなった気はします。