IE9(IEシリーズ?) で font-family を serif にしておくと、表示されるフォントが難儀なことになってしまうようです。
具体的には以下のような指定がされているとき。
font-family:serif;
例えば以下のような文字列を表示する場合に。
区点コード(16区)漢字
亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟
IE9では以下のように見えます。
セリフ(明朝体系)で表示させています。しかし、一部の字はサンセリフ(ゴシック体系)になっているし、ちゃんとセリフになっているものもよく見ると字形がおかしい(「漢」とか)
理由を調べたところ、概ね以下のような流れでした。
- serif で指定する。
- MSP明朝ではなく、なぜか Batang(韓国語フォント) が割当たる。
- Batang には「ー」(長音)とか「区」「亜」のグリフがない。
- グリフがないものは、ブラウザデフォルトのフォント(既定ではMS Pゴシック)が割りあたる。
- 表示が腐ったことに。
twitter のサイトのフォント表示がおかしいものもこれと同じ理由ですね。
ということで、セリフ系の文字が使いたい場合は、IE系ブラウザー対策として、font-family を指定するとき、筆頭に「'MS PMincho'」を入れておく必要がある、ということのようです。
font-family:'MS PMincho',serif;
というか、セリフ系のデフォルトを IE がちゃんと持っていさえすればこんなことには…(汗