Firefox3ではAcid2にパスしない?
初回投稿日時: 2009年03月13日02時11分53秒
最終更新日時: 2009年03月13日02時29分00秒
カテゴリ: Firefox Mozilla Core
SNS:
Tweet (list)
知人から指摘されたのですが、Windows版のFirefox3日本語版を利用するとそのままではAcid2テストにパスしません。"Hello World!"の位置が1px、Y方向にずれるという問題があります。
ですがこれは意図した動作です。日本語のデフォルトフォントのMS PGothicは特定のフォントサイズ時に下線のオフセットに適切ではない値を返してくるのでGeckoはそれを信頼していません。この場合、下線を文字とは重ならないように1px下に余分にスペースを確保しておき、そこに下線を描画するため、フォントの高さを1px高く処理するからです。
Acid2テストにどうしてもパスしたければAcid2のテストとそのリファレンスを表示している状態でCharacter EncodingをWesternに設定しなおすか、デフォルトの言語を日本語以外に設定するか、デフォルトのsans-serifのフォントをWindowsに標準で添付されているフォント以外にするか、使い勝手を犠牲にしてfont.blacklist.underline_offset
からsans-serifに指定してるフォントを削除してください。そうすればテストにパスできます。
つまり、Firefox3以降はフォントの可読性を高めるために一部のフォントに対して特殊な補正をかけるためにデフォルト設定でそのフォントのリストを持っていて、それがあまりにも有名なフォントであるのが原因です。フォントの情報が変なことが分かっていてもそれに従うべきか、ユーザ体験を重視すべきか、この選択の正解としてユーザの方は後者を選択すると信じています。