k-takahashi's blog

個人雑記用

ユニコード戦記 〜文字コードとは何か?

ユニコード戦記 ─文字符号の国際標準化バトル

ユニコード戦記 ─文字符号の国際標準化バトル

文字符号、とくにユニコードがどのようにしてつくられてきたのかを、当事者自身が、当時の資料や議事録などをもとに振り返りながら、世界的なバトルの様子に焦点をあてて時間軸に沿って書きつづった読み物。世界の文字符号であるユニコードと日本やアジアの文字符号との整合性をとっていく過程などを赤裸々に告白。日本人にとって苦手な英語を著者はどうやって習得していったか、その過程を詳しく述べることによって、英語を学ぼうとしている人たちに方向性を示唆。国際標準化バトルの世界で本当に必要なこととは何かを教えてくれる一冊。
(内容紹介、より)

という内容の本であって、実際、英語だの標準化バトルだのの話も具体的に語られている。


ただ、対象が言語に深く依存するものであるため、必然的に「言葉とは何か」「言葉を扱うとはどういうことか」という話もしばしば顔を出す。日本では最初のユニコードの時の「似た漢字は、何語だろうと無視して全部同じコードにしてしまえ」という乱暴な議論が顰蹙をかったが、規格を決める側と言語を使う側の意識のズレはその後も何度も問題になっている。(さすがに、最近はあれほど酷い議論はないようだが)
特に途上国の場合、そもそも専門家も少なければ、金もないという苦労があり、本書にもそういう場面が何度も出てくる。(ミャンマー、クメール、など) 


以下、私も消化したとは言いがたいのだが、自分の参照用にメモ。文字コードに関わる様々な問題を整理するために使えそうな考えなので。

・符号化文字集合が対象とするのは、世界の言語を書き表した(表記形)である。
・符号化文字集合は、表記形の表現・伝送・交換・処理・蓄積・入力・表示などの≪操作≫に用いる。
という二点に集約できる。前者「≪表記形≫を対象とする」ということは、ソシュールの流れを汲む現在の言語学が通常対象とする音声言語は対象とせず、あくまでも文字として書き表された形のみを対象とするということである。ときに、ぼく自身も含めて不用意に「ある言語を符号化する」という言い方をするが、厳密には「ある言語の表記に用いる文字群を符号化する」というべきなのだ。しかし、問題はこの前者にあるのではなく、後者、「さまざまな≪操作≫に用いる」という部部になる。(p.196)

議論を、≪表現≫(representation)と≪表示≫(presentation)に絞る。≪表現≫とは、何らかの言語に対応する表示形(〘文字〙)を、何らかの記号の列(《文字》)に置き換えることと考えて、差し支えないだろう。じつは、この規格本文だけからは正確なところは分からない。しかし、ある表記形の≪表現≫には、複数のレベルと複数の方法があり得ると言うことは忘れないようにしたい。また、≪表示≫とは、≪表現≫された何らかの記号の列を、何らかの言語の表記形に置き換えることと考えることができる。(p.197)

操作としての≪表示≫は、〘文字〙として立ち現れる。そして、≪文字≫は、何らかの記号として≪表現≫される。そして、規格のどこにも、〘文字〙とはなにかについての記述がない。佐藤さんの教えにあるように、規格に≪文字≫の定義が書き込まれたとたんに、規格の構成要素から〘文字〙の概念が消滅してしまったのだ。ISO/IEC10646という規格は、言語の視覚表現、すなわち≪表示≫のために用いる〘文字〙を対象としながら、≪文字≫概念をビット列に厳密に対応するものとして定義することによって、規格と〘文字〙との対応関係を放擲するところからスタートしたものだった。
その結果として、符号化文字集合の符号化作業の中で、この〘文字〙と≪文字≫の隙間を糊塗することが最も困難で時間のかかる作業になってしまった。この隙間は原理的に埋めることが不可能なたぐいのものである。〘文字〙の実利用者の実態や考えを十分に斟酌しながら、結果として隙間が最小になるような≪文字≫の集合、すなわち≪文字≫群を策定していく以外に手段がない。(pp.198-199)

なお、上記で〘文字〙は自然言語一般の言葉、≪文字≫はUCS上の定義でありビット列である。