この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2009年3月)

2009年3月13日

Firefox3ではAcid2にパスしない?
初回投稿日時: 2009年03月13日02時11分53秒
最終更新日時: 2009年03月13日02時29分00秒
カテゴリ: Firefox Mozilla Core
SNS: (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以降はフォントの可読性を高めるために一部のフォントに対して特殊な補正をかけるためにデフォルト設定でそのフォントのリストを持っていて、それがあまりにも有名なフォントであるのが原因です。フォントの情報が変なことが分かっていてもそれに従うべきか、ユーザ体験を重視すべきか、この選択の正解としてユーザの方は後者を選択すると信じています。

関連するかもしれないエントリ

関連するかもしれないエントリを発見できませんでしたが、無いとは限りません。