2009年10月2日金曜日

SJISは負の遺産

先進的なシステムもいつかは枯れる。諸行無常。
Shift JISは2バイト漢字コードの先駆として歴史的に重要な発明だった。しかし、いまやUnicodeの時代になると日本だけのガラパゴス仕様となってしまった。
実際、OSSの国際化対応を見ると、日本語対応が遅れている状況が見受けられる。中国語や韓国語の方が先に対応しているくらいだ。これは、これらの言語がUnicode内の対応で済むのに対して、日本語はUnicodeとSJISをまたいで変換する必要があるためだと思う。
日本でSJISを使用しなければならない大きな理由は、すっかり普及してしまったWindowsにある。日本語Windowsだけが他のOSと異なり、また他国のWindowsとも異なり、SJISを堅持している。もちろん現実的には、ビジネスとしては正しい判断だ。もし、急にSJISをなくしてUnicodeだけにしてしまったら、ビジネス現場は読めないファイルだらけになってしまう。
しかし、このようなことを続けていたら、日本のソフトはますます孤立してしまう。OSSの急速な発展からも取り残されてしまう。今や徐々に取り残されつつあると言ってもよい。これは危機感を持つべき状況だ。
それでは、どうすればよいかというと、WindowsのファイルシステムにSJISファイル名とUnicodeファイル名の2通りでアクセスする方法を提供することだと思う。このような二重のファイル名はVFATでも使われた。8+3文字の別名を用意する方法と似ている。現在、ファイルは長い名前でも8+3名でもアクセスできる。
日本だけの問題でNTFS全体を変更するのは困難だろう。よって、NTFSにアドオンのような機能を用意し、日本語固有の問題はそのアドオンで解決すればよい。これは日本語問題だけでなくその他の問題解決にも利用できる一般的な方法だ。検討の余地はあるだろう。

0 件のコメント: