2007年5月24日木曜日

いまさらながらOSの解像度

http://www.theninjacat.com/WEBCLASS/TOPICS/20021011.html
より

(中略)

ではここでOSの解像度の中身に戻りますと、さきほど「Macは1インチ分を72粒(dpi)、Windowsは96粒(dpi)使って表している」という取り決めのことだ、と説明しました。
じゃなんでたったこれだけのことが問題なんだ、ということですが、問題はあるんです。何を隠そう、(隠したってはじまらないけど)OSごとにその粒数が違うんですな、これが。気のきいた方ならもう察しがつくでしょうけど、1インチ分の長さが違って見えるんですよ!

具体的にいうと、Macは1インチ分を72粒(dpi)、Windowsは96粒(dpi)使って表します。WindowsはMacの約1.3倍の長さになるんです。
でも、画像に関してはピクセル=粒数で大きさを決めていますから、どっちのOSでも100粒なら100粒、大きさに変わりありません。「1インチ分」なんて気にすることはめったにないでしょ。だからまず画像に関してはよし。じゃ何に気を使う必要があるか!

文字、文字ですよ。文字って「ポイント」っていう単位使ったりするでしょ?あれが問題です。
「ポイント」という単位はもともと印刷物に使う文字の大きさの単位で、1インチの72分の1が1ポイントと決められています。そしてMacは生まれた当初からDTPを視野に入れていましたから、印刷物と単位を同じにしました。だから1インチを72粒、1粒1ポイントとなるように設計されています。でもWindowsは同じ1ポイントを表示するのに約1.3粒使うんですよ!
でもって問題なのは、htmlで設定するfont size="3"とかいう設定は、このポイントを基準としているってことです。基本的にfont size="3"が12ポイントだったかと思いますが。

だから文字の大きさを「ポイント」で設定してしまうと、Mac上で10文字横に並ぶ幅に、Windowsは7文字しか入らないで、3文字は改行されてしまう。これはテキストがいっぱいある画面をかっこよくレイアウトしたい人には大問題ですね。ちゃんとゆとりを考えておかないと、どこかの画面でとんでもない箇所で改行されてたりってことがおきる。DTP出身の人なんかだと気絶しちゃうような事件ですわね。

じゃどうしたらいいんだってことですが、オーソドックスな方法として、「スタイルシート」を使うというのが一般的です。スタイルシートでは、フォントサイズをpx(ピクセル)で設定することができます。こうすれば、基本的にはMacだろうとWindowsだろうと、12pxといえば12pxで見えるから。(「基本的には」と言ったのは、これも必ずしも完璧ではないからです。使っているフォントによっては、改行場所が違ってしまうこともなくはない。まあでも率は低いのでこの際この問題は追求しないことにしましょう。)こういう点ではスタイルシートはありがたいですね。スタイルシートが存在しなかったころは、対処方法は「画像にして貼る」だったんですよ。それもまたビックリでしょ。

0 件のコメント: