Firefox 4のNightlyに素晴らしい機能が入った。
about:configでgfx.font_rendering.harfbuzz.level=1に設定すると、こんなことが可能になる。
<!DOCTYPE html>
<html lang="ja">
<style>
@font-face {
font-family: BodyText;
src: local("Meiryo");
}
@font-face {
font-family: ArialUni;
src: local("Arial Unicode MS");
}
body { font-family: BodyText; }
.hwid { -moz-font-feature-settings: "hwid=1"; }
.jp90 { -moz-font-feature-settings: "jp90=1"; }
:lang(ja) { -moz-font-language-override: 'JAN'; }
:lang(zh-CN) { -moz-font-language-override: 'ZHS'; }
</style>
<p class="hwid">半角ひらがなが使えるよ</p>
<p>葛飾区</p>
<p class="jp90">葛城市</p>
<p lang="ja" style="font-family: ArialUni;">骨</p>
<p lang="zh-CN" style="font-family: ArialUni;">骨</p>
</html>
これはCSS Fonts Module Level 3の先行実装(-mozが付いてるのはまだドラフトだから)。
http://dev.w3.org/csswg/css3-fonts/
>>26 ASCII互換でしょう。
EUC-JP: ASCII環境では読めない。2バイト文字はASCII文字と区別しやすい
Shift-JIS: ASCII環境では読めない。2バイト文字はASCII文字と区別不能
どっちも読めないことに変わりはない。読めない状態でどっちがマシかを語られても困る。