Skip to main content

山椒の実

ユニコード戦記 文字符号の国際標準化バトル (小林龍生)

ユニコードの標準化の前線で頑張っていた人の話。小学館の編集者からジャストシステムに移って、ユニコードコンソーシアムへ。

すごい話が多かったな。異体字セレクタのところはこの人の仕事みたいですね。今ではユニコードは絵文字も取り入れたりしてますが、そこでも異体字セレクタはかなり活躍している感じがあるよね。

こいつの副作用? だと思いますが、環境によっては濁点が2文字扱いになって、濁点のひらがなを書いてからbackspaceを押すと濁点だけ消えるという状態になったことがあります。MacとかPDFとかで顕著だった気が。これはこれで便利だったりするのかなと悩んだりもしました。慣れるべきか、慣れられるワケがないのか。あと中華フォント問題とかね。中華フォント問題はエンコードとは関係ない? 話だけど。

ユニコードの普及は人類にとってはすごく良いことだったと思うよ。これのおかげで日本人が使えるソフトウェアが増えたのは明らかだ。今の若い人にはUnicode前の石器時代の状況は信じられないだろうねえ。文字コードがとりあえず日本語の主要なものだけで3種類あって、1つはステートフルなエスケープシーケンスによる切り替え式、1つはバックスラッシュをはじめとする記号類のASCIIコードとかち合うというね。当時は私はなるべくEUC-JPを使うようにしてたけど、それだとWindowsの人が困るんだよねえ。ソースの先頭付近にコメントで「表」とか書いてたな。

この人が戦ってた頃に日本の計算機人が反発してたのは知っている。私の師匠筋の人もユニコードには悪い感情を持っていた。私は当時はUnicode前のC/C++やスクリプト言語で苦労して文字列処理していたので、日本語はEUC-JPで統合されればいいと思ってた。だけどそれだと日本人しか救われないからUnicodeになるのかなー、みたいな感じだった。JISコードのエスケープシーケンスはあまりにもクソすぎて冗談に思えたしShift-JISにも悪い面が多すぎた。TRONコードに夢を見たのはまさに一瞬だったなー。

ユニコード特にUTF-8はちゃんとした仕様でエンコード方法が標準化されたから、普通に真面目に書けば何も問題は起きないように設計されている。JISもEUC-JPもShift-JISも英語人が受け入れてくれるとはとても思えない仕様だったわけで、勝利は約束されていた。仕様も実装も、真面目に作る。これが大事だった。文字コードと文字列エンコードが分離された事実も大きい。私も含めて多くの人が両者を混同して使っていた時代があった。

まあソフトウェアの開発者である自分にとっても、今となっては技術が進んで文字列をバイナリ列として扱う機会も絶えて久しくなったから、それで済むならエスケープシーケンスすら、ありだった…のか??(それはない)