昨日の記事に関連して、JIS X 0213の必要性を理解しない人がどうして出てくるのだろうと考えました。それでふと気付いたのは、JIS X 0208では文字が足りないということを理解していないのではないか、ということです。JIS X 0208では文字が足りないということに気付いていなければ、JIS X 0213が必要だという認識にも至らないのではないか。
JIS X 0208に文字が足りないというのは自分の中ではほとんど常識になっていたので、これは盲点でした。
以前97JISとJIS2000にかかわった人が書かれていたと思うのですが、1990年代に、JIS X 0208には文字が足りないから拡張できないかという話が出た。検討したところ、X0208に手を入れて変更するのは良くないという結論になって、別規格として上位互換のX0213を作ることになったと。つまりX0213というのは実質的にX0208の改正のようなものであるわけです。
X0208に文字が足りないというのはだいぶ前からの了解事項であって、X0213によってその問題はほぼ解消された、ということです。ここ重要なので繰り返します。
- JIS X 0208には文字が足りない。
- その問題は、JIS X 0213によってほぼ解消された。
「ほぼ」というのは、特に漢字についてはあくまでも「ほぼ」なのですが、コストとの兼ね合いでどこかで線引きしないといけないので、ある程度割切りが必要です。
実際にどんな文字が足りなくてX0213で追加されたのかは、『プログラマのための文字コード技術入門』をお読みいただければいいと思います。
ここでいう文字とは、現代日本で使われている普通の文字のことなので、従来の文字コードと分け隔てなく扱えることが重要です。だから、JIS X 0213では、SJIS、EUC、ISO-2022-JPという、従来の符号化方式によって符号化できるよう設計されました。
したがって、「X0213はUnicodeで実装します。従来の文字はWindows-31Jで扱います」というのは不適当なのです。これでは、X0213で追加された文字をいつでもどこでも扱えるようにはなりません。
なぜかというと、この方針では依然としてWindows-31Jのみを使う場面が残ってしまい、そのときはX0213で追加された文字は扱えないからです。いわば、Windows-31Jに含まれる文字が一級市民で、アイヌ語用片仮名などは二級市民扱いになってしまうということです。これでは駄目です。そしてこれは現に起こっていることです。
だいたい、「X0213はUnicodeで実装します」というのなら、Windows-31Jの文字だってUnicodeで実装すればいいということになるではないか。筋の通らない話です。
今後はUnicodeの使用が増えていくことでしょう。しかし、依然としてEUCやSJISといったJIS系の符号化方式が便利な場面も残る筈です。そのとき、EUC-JIS-2004やShift_JIS-2004を使えば現代日本の文字をきちんと扱えるというのが、JIS X 0213の利点なのです。そしてこの利点を、私を含め一部の人々は既に享受しています。
コメントする