Web
UTF-8とshift-jis IEにおける英字表示
自分の場合、新規の制作にとりかかるとき、
なんのしがらみもないときは無意識に文字コードはshift-jisにしていて、
これまではUTF-8との違いとかそんなに意識してなかった。。
でも最近はブログやRSSの普及で、そっちと連携をとるために、
UTF-8にすることも増えてきたわけで。
そんな感じでUTF-8が結構台頭してきてる感があるんですが、
優れている点は多言語の混在OKってことで、
例えば日本語+韓国語(ハングル文字)のような混在ページもありになるわけで。
かしこいです、UTF-8。
しかしながら、やっかいなのがいつもの如くInternet Explorer。。
IEのUTF-8の解釈はちょっと行き過ぎ。
1バイト文字(半角)と2バイト文字(全角)で「英文」と「和文」と認識。
そして、IEの表示は
●shift-jisの場合はオプションで指定したフォントで表示
(デフォルトでは固定ピッチがMS ゴシックでプロポーショナルがMS P ゴシック)
●UTF-8の場合はデフォルトでプロポーショナルがTimes New Roman
(しかもこの設定はレジストリでされているらしい)
なので英文として解釈される半角英数字はフォントを指定しない場合、
Times New Romanで表示される。
でもそんなのはフォントを指定してしまえばいいんじゃないの?
と、思うんですが、ここがIEのおバカなとこ。
フォント指定しても何故か無視される場合があるらしい。。
そう、今回はこの罠にかかってしまいました。。
常に半角英数字はTimes New Roman。
色々調べはしたもののこれといった解決策ナシ。
どれも確実ではない、というものばかり。
普段はIEを使わないので気付いてなかったんですが、
IEでUTF-8のサイト(主にMovableTypeなどを使ったものが多い)を見ると、
確かに半角英数がTimes New Romanになっているのが多い。
しかもこのブログもUTF-8なんですが、
あえてGeorgiaとTimes New Romanを指定していたので気付かなかった。。
なんなんだIEよ。
もうちょっとなんとかならんのかね。
追記(2007.12.15)
このブログではプロポーショナルフォントの指定で普通に表示されました。
記事「Sphere V3D / Flashで3D」のAsctionScriptのソース内参照。
ますます謎です。
« Tomorrow Never Knows | TOP | 生物と無生物のあいだ »
Trackbacks
URL:
http://iffalse.com/cgi/mt/mt-tb.cgi/66




