2006-06-27 Firefox for Mac OS Xはハートマークをヒラギノで表示できない Firefox for Mac OS X(1.5.4.0で確認)では、記号の一部(たとえばハートマーク)が化けて表示される。 もちろん機種依存文字だからというような単純な話ではなくて、UTF-8のページでも化けるし、数値文字参照でも化ける。 Firefoxで化ける文字はIEでも同じような化け方をする。が、Safariでは化けない。 画像は化ける記号の一部。上のウインドウがソース。 Firefoxのウインドウでテキスト(化けている)を全選択してコピーし、エディタにペーストしたものが下のウインドウ。ハートマークなどがすべて復活する。つまり、Firefoxは符号と表示が一致していないような振舞いを見せる。 この化け方は、「90pvフォントで作成したドキュメントを83pvフォントで表示した場合」と同じである。そこで、Firfoxの表示フォントをヒラギノ(83pv)からOsaka(90pv)に変えてみると、ハートマークなどは化けずに表示される。 どうもFirefoxは文字を表示する際、「一度MacJapanese(90pv)に変換した上でShift-JIS用のAPIを使って描画する」みたいな特殊なことをやっているらしい。 Mac OSにUnicode描画APIが整備されておらず、Mac OSの標準フォントが90pvだった時代の(Netscapeの)独自実装の亡霊なんだろうけれど。