日本語を扱う文字コード

WindowsVistaに採用されることが判明して賛否両論、話題が一時沸騰した新JISについて発案者の方が直々に説明している。
2004 JIS をめぐる混乱
今まで略字で表示されてきたものを正字に直すといたものが基本的な変更点であり、同時に議論の対象となっている。

発案者の主張としては、

文字コードは、「文字としての同一性」にこだわるべきなのだ。一方、微妙な字画の差は、「フォントの違いに委ねる」というふうにするべきだ。

既存の文字コードで「文字としての同一性」が保てるのなら素晴らしいと思うが、日本の漢字には異体字があるためそれは現実的ではない。異体字を全て「フォントの違いに委ねる」というのは少々乱暴ではないかと思う。

そこで考えたのだが、既存の文字コード上で日本語を表現しようとするから問題があるのであって文字コードから変更してしまうのはどうだろう。まず文字コードを2byte(16bit)で表現するのではなく3byte(24bit)の「文字としての同一性」を示す部分と1byte(8bit)のどの異体字であるかを示すコードの組からなる文字コード体系を考えてはどうだろう。合計4byte(32bit)なのは処理が楽そうだから。どの異体字をあらわすかを示す部分は無視すれば既存の文字コード上へのマッピングもできるし、逆は完全に行える。3byteもあればほぼ全ての漢字が網羅できる。異体字も多くて65種らしいので1byteは多すぎるくらいだ。

こうした仕組みの文字コードを使えば、検索性・文字の同一性・表示の同一性を保てると思うのだがどうだろう。問題は時代に逆行して日本専用のコード体系になってしまうということか。さすがにUNICODETRONコードのように一つの体系で全世界の文字を表現することは出来ない。異体字の問題は日本固有の問題だと思われるので異体字の取り扱いに最適化すると必然そうなってしまう。