• 締切済み

Windows Vista標準フォント メイリオについて

メイリオはJISX0213の文字集合に対応だそうですが、マイクロソフトはこれを表す文字符号化方式として、UTF-8を使うつもりなんでしょうか?それともシフトJISの改良版を提供するつもりなんでしょうか? この辺の事情についてお詳しい方、いらっしゃいませんでしょうか?

みんなの回答

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

詳しくない者です。 すでにWindows 2000やWindows XPの段階で「Unicodeなら表現できるがシフトJISでは表現できない文字」をサポートしており、Windows Vistaでさらに文字が増えるのですから、シフトJISの発展形の目はありません。 しかし、気になって調べてみたのですが、Windows Vistaのネイティブな文字の内部表現がUTF-8なのかUTF-16なのか、はたまたUTF-32なのかは調べが付きませんでした。 これまでのWindows NT系OS(Windows 2000/XPを含む)では一貫してUTF-16でした。UTF-8では処理速度の面で不利なことから、内部表現にUTF-8が使われることはないでしょう。これまでのWin32 Unicodeアプリケーションとの開発時互換性や実行時パフォーマンスを優先するなら相互変換が不要なUTF-16ですが、今後を考えるならばUTF-32のほうが将来性がありそうな気もします。 でも日本と比べて欧米は消費メモリ抑制の圧力が強いので、やっぱりUTF-16に留まるのかなぁ・・・と、予想するには今ひとつ決めてに欠けるのでした。 なお、ファイル等の外部的な表現形式であれば、現在はUTF-8とUTF-16が混在している状況(古くから使われてきたUTF-16が案外と根強い)ですが、これはUTF-8に収束でしょう。開発ツールもXMLも、みなUTF-8にまとまりつつありますから。 またシフトJISの扱いは現在と同様に、その都度内部的にUnicode(UTF-16かUTF-32かはともかく)に変換、シフトJISに存在しない文字からシフトJISへの変換時の扱いはアプリケーション依存(システム任せであれば「?」等への置換)ということになるのでしょうね。

hissakun
質問者

お礼

Windowsの内部コードについて、質問した僕が回答するのも妙かもしれませんが、お答えします。 WidnowsVistaの内部コードはまず間違いなく、UTF-16LE(サロゲートペアなし)でしょう。UTF-32はUCS-4の文字符号をそのまま利用するエンコーディングです。全ての文字に4バイト使うんです。UCS-4の文字領域が埋まるのは何年先になるかわからないので、UTF-32は多分よほどのことが起きない限り、流行ることはないと思います。

関連するQ&A