文字の重複

コードページ932で定義されている文字を調べていたら,13区,89〜92区,115〜119区に定義されている文字の中にかぶっているものを見つけました.歴史的な事情というやつがあるのだろうなとは思いましたが,それ以上のことはわかりません.下のページを見て疑問が氷解しました(特に上のページ).
文字コードの部屋 -- 機種依存文字の歴史
外字フォントセット 用語の説明*1


1)IBM: 「IBM拡張文字」を追加した.
2)NEC: 「NEC特殊文字」と「NEC選定IBM拡張文字」を追加した.「NEC選定IBM拡張文字」は先の「IBM拡張文字」の中から自分たちに無いものをひろって定義した.
3)Microsoft: 「NEC特殊文字」「NEC選定IBM拡張文字」「IBM拡張文字」重複も含めて全てとりこんだ.


当時の事情はよく知りませんが,互換性のために文字の重なりを解消せずに表をそのままの形で取り込んだのでしょう.コンピュータの歴史はいろんなものを建て増ししていって煩雑になっていく度合いが他の分野よりもずっと強いように感じますが*2,それがよくあらわれているなと思います.

なお,下のページからたどれる外字フォントセット FAQのページにもなかなかお目にかかることはないであろう外字の話があって面白い.自分でそういった文字を扱うプログラムは書きたくないなあなんて,なよっちいことを考えはしますけれどね.


修正:20041019
注釈の位置が間違っていた.

*1:「NEC特殊文字シフトJIS 0x873F〜0x879F 83文字)」と書いてありますが,「NEC特殊文字」は13区に定義されていますから,0x8740〜0x879E(0x877Fは除く)が正しい.

*2:おもしろいときもありますが,たいがい泣きが入ります.MacOSAPIなんて…….