Windows-31JとShift_JIS-2004

| コメント(2) | トラックバック(0)

驚いたことに、Twitterで、JIS X 0213を無視してWindowsの機種依存文字(いわゆるCP932, Windows-31J)を擁護する意見の持ち主に出会いました。

こういうのは、悪意があるとかではなく、単純に情報が足りていないのだと思います。JIS X 0208やJIS X 0213についてよく知れば、こうした意見は無くなっていくことでしょう。

JIS X 0208が使われていくと、この規格では現代日本の文字を符号化するのにかなり足りないということが認識されました。それを改善する規格として1990年にJIS X 0212が制定されました。しかしこの文字コードは、Shift_JISで符号化できず、また文字選定上の問題もあってか、広く普及はしませんでした。その反省を踏まえ、最初からShift_JIS方式での符号化を考慮に入れたJIS X0213が、JIS X0208の上位互換として作られました。これが2000年のことです。

広く使われているShift_JISが、JIS X 0213で定義される符号化方式のShift_JIS-2004にアップグレードすれば、日本のコンピュータの文字環境はぐっと向上します。「トカラ列島」や「楊潔チ」は漢字で「吐噶喇列島」「楊潔篪」と書けるようになります。また、日本にとって重要な問題として、日本の少数民族の言語であるアイヌ語が、この文字コードによって符号化できるようになるのです。アイヌ語のサポートが日本の文字コードにとって必須であることは以前論じました

JIS X 0213によって符号化可能になる文字がどれだけ私たちの身近に使われているかは、折に触れてこのブログに記しているので、ここでは繰り返しません。JIS X 0213のタグを付けている記事をご覧いただければ良いと思います。テレビの字幕や新聞社のニュースサイトに、たくさん第3・第4水準があることが分かるはずです。

JIS X 0213の文字は、いつでもどこでも使えるようになっているのが望ましいといえます。いつでもどこでも、というのは、Unicode系の符号化方式でも、JIS系の符号化方式でも、という意味です。Unicodeを使う場合には、JIS X 0213の11,233文字がきちんと処理できることが保証されている、SJIS系が必要ならShift_JIS-2004を、EUCではEUC-JIS-2004を使う、ということです。

「これからはUnicodeなんじゃないの」という人もいることでしょう。Unicodeの方が便利な場面では勿論Unicodeを使えば良いのです。しかし、JIS系の符号化方式が必要な場面もあるでしょう。そういうときには、JIS X 0208でなくJIS X 0213の符号化方式を使えば、現代日本で使われている文字をより良くカバーできるということなのです。もし今日からUnicode以外いらないというのならJIS X 0213も不要でしょうが、EUCやSJISといったJIS系の符号化方式も使うなら、その際の「JIS」とはJIS X 0213であるべきです。

2000年にJIS X 0213ができた時点で、Windows-31Jは存在意義を失いました。それから10年経って、もういいかげん、Windows-31Jにさよならを言うべき時になってきたように思います。

試みに、Windows-31JとShift_JIS-2004の比較表を作ってみましょう。ぱっと思い付くくらいでもこのようになります。

Windows-31JShift_JIS-2004
Latin-1相当ラテン文字×
Latin-2相当ラテン文字×
アイヌ語×
鼻濁音×
発音記号×
83JIS略字の元の漢字×
人名許容・康煕別掲×
表外漢字UCS互換×
歯科用記号×

2000年からJIS X 0213を使っている私からすれば、なんで今ごろこんなことを、というのが偽らざる感想ではあるのですが...。

(補足1) ちなみにMac OS Xは既にShift_JIS-2004を実装しています。

(補足2) JIS X 0212について、90JIS改正にかかわった方のブログに、「結局X0208の改正として6000文字を越えるあらたな文字の追加することはベンダーの強い反対によって実現せず、X0212という別規格として極めて使いにくい形で制定された。そしてベンダーは補助漢字について使いにくくすることによってなかったことにするのである」とあります。これが確かかどうか私は証拠を持ちませんが、JIS X 0213のときにもベンダが反対したことと合わせて考えると趣深いといえます。

トラックバック(0)

トラックバックURL: http://yanok.net/yanok/mt-tb.cgi/129

コメント(2)

確かに現時点で Windows-31J の存在価値はないと思います。また、Unicode では JIS X 0213 の代替にならない(包摂基準が体系的でない上に地域の事情も考慮されていないので、互換文字や異体字シーケンスを使用せざるを得ないが安定性に難がある)のも事実だと思います。

しかしながら、Shift_JIS-2004 は未だに IANA に登録されていない(サボタージュ?)ため、XML や電子メールでは正式に利用できません。Shift_JIS の代わりに Windows-31J を使うのは論外ですが、かと言って Shift_JIS-2004 を利用する訳にもいかないのが現状だと思うのです。結局、UTF-8 をなんとか工夫して使うしかないのではないでしょうか。

徳丸さん、コメントありがとうございます。
私の意見は徳丸さんとほぼ同じです。このブログでもUTF-8を使っていますしね。
今後、UTF-8の使用が増えていくとは思います。しかしSJIS系を使う必要がある場面では、その場合の「SJIS」とは、Shift_JISでなく、ましてやWindows-31Jでもなく、Shift_JIS-2004である方がいいんじゃないですか、というのが私の意見なのです。

コメントする

最近のブログ記事

朝鮮半島の訃報の第3水準漢字
朝鮮戦争で韓国軍として活躍した白善燁氏が…
テレワークの環境改善〜CO2濃度をチェックする
テレワークの問題点 新型コロナウイルスの…
エンジニアHubにて「文字コード再入門─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう!」公開
「エンジニアHub」にて記事を執筆しまし…
National Geographic Your Shot で Daily Dozen に選ばれた話
ブログをさぼっている間に時間がずいぶん経…
情報処理学会から山下記念研究賞を頂いた話
ブログをさぼっている間に時間がずいぶん経…

広告