UTF-2000の本質とは

守岡 知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2002年 8月 30日 (金) 18:41:10 JST


>>>>> In [chise-ja : No.00018] 
>>>>>	"江渡さん" = "Kouichirou Eto" <2002 @ eto.com> wrote:

江渡さん> > 「具体的」というのがどのレベルなのかが判らないですが、多分、
江渡さん> > ビット組合せ・バイト列レベルには言及してないので、TRON み
江渡さん> > たいに独自のコードを作ろうという話ではないはずです。

江渡さん> 具体的にというのは要するに、ある適当な文字列があるとして、メ
江渡さん> モリやファイル上にビット列、バイト列としてどのような形で存在
江渡さん> しているのかということです。どうもそんな話じゃないらしいとい
江渡さん> うこともわかってきましたが…。

ただまあ、実装上の話としてはあります。現在の XEmacs UTF-2000 の場合、

文字オブジェクト: 属性毎の table(メモリー上では char-table みたいな
		   もの、disk 上では Berkeley DB 3 等)
		   (昔は本当に文字毎の連想リストだった)
文字 ID: 30 bit の整数
文字列・buffer 表現: 文字 ID を UTF-8 変換した多バイト表現

となってます。原理的には、文字列が固定長表現であっても、UTF-8 以外の多
バイト表現であっても、文字オブジェクトを現在のと違う表現にしても
UTF-2000 は構成できるはずで、XEmacs UTF-2000 の C の部分を書く人以外に
はあんまり関係ない話になってます。

;; C の部分を書く人募集中。(^_^;

江渡さん> > XEmacs UTF-2000 に関していえば、こういう分類でいえば、内部
江渡さん> > コードを問題にしています。
江渡さん> > 
江渡さん> > 一方、CHISE Project では CHISE 環境全体を対象にすることに
江渡さん> > なります。(コード列も文字オブジェクトへのポインターとして
江渡さん> > 解釈されます)

江渡さん> UTF-2000の利点を考えてみると、原理的に外字が存在しない、存在
江渡さん> する必要がないということではないかと思います。

そういう見方もできますが、むしろ、原理的に全ての文字を外字として扱って
いるともいえます。

b江渡さん> しかしそうすると、常に無限個の文字が存在するということになり、
江渡さん> ある文字が普通に存在する文字なのか、そうでないのかを判定する
江渡さん> 方法が無くなってしまいます。一般的には。

その通りです。

状況というのもそうで、そこで状況意味論では状況の型というのを考えるみた
いです。

江渡さん> そこで質問なのですが、文字とは一体何でしょうか?

これはなかなか難しい質問だと思います。相反する様々な答えがあると思いま
すが、私(とか多分 Wittern さんとか師さん)はある意味それを表現する枠
組として CHISE を開発してる側面があると思います(答えが出せなくてすみ
ません)。

あと、これは師さん宛に書いた mail の一部なんですが

「文字コード屋さん(というか Unicoder かも)は「文字」というと暗黙のう
ちに『抽象文字』を指して、視覚的表現というとすぐに『あれはグリフであっ
て文字ではない(却下!(^_^;)』という気がしてて、なんとなく文字を抽象的
なものとして使いがちなんですが、一般には確かにそうですよね。更にいえば、
「グリフ」も『字体』より更に抽象的なものから『字形』まで人や場合によっ
て揺れますね。また、概念分類としてとかとか包摂規準とかの抽象度みたいな
のと、再利用可能な表現(ex. code, font) vs. テキスト中における出現
(ex. 印字された文字とか buffer 中の文字とか(こういうのはコンテキスト
を持っている)) というのも実は違うものだと思うのですが、Unicode 本では
概念分類における抽象度が低いものとかあまり包接してないものと、テキスト
中における出現の双方を glyph としているような気がします。例を上げれば、
前者は漢字の異体字問題とかの場合ですし、後者はインド系の文字やアラビア
文字などなんですけど。」

というように、『文字』という言葉で指されそうな対象に関する概念には、多
分、文脈独立に考えた時の抽象度の高さ(包摂される範囲の大きさ)と文脈依
存性の高さの2つの軸があって、しばしばそれが整理されずに使われていると
思います。

そこで、UTF-2000 モデルでは、これらの全てを表現可能な大風呂敷を用意し
て、それぞれがどういうものか記述して、それに応じて処理しようという考え
が背景にあります。

;; そのために、『状況』の表現である infon みたいなのを使う。

この観点で考えると、明らかに今の XEmacs UTF-2000 で扱っている文字オブ
ジェクトはその一部に過ぎなくて、文脈依存性を十分に扱っていないといえま
す。そのためには多分、テキスト層のメカニズムを考える必要があって、これ
は CHISE Project の中期目標のひとつではないかと思います。


江渡さん> 外部というのをどう定義するかはいろいろありますが、とりあえず
江渡さん> 文字符号化という事象一般に関して言えば、それはまず非常に政治
江渡さん> 的なやりとりであると思います。そのような意味での外部というの
江渡さん> は常にある。

江渡さん> そこで知りたいのは、そのような政治的な意味での外部とはどのよ
江渡さん> うに関係していこうと考えているのでしょうか。最終的にはCHISE
江渡さん> projectがなんらかの規約や標準を提供しようと考えているのか、
江渡さん> それともそういったこととは関係無く、純粋に技術的な実験である
江渡さん> として続けていこうとしているのか。

CHISE Project としての方針は多分プロジェクト構成員の総意で決めるべきこ
とだと思いますが、私としては CHISE が目指すものは既存の個々の文字表現
技術に対するメタなフレームワークなので、(ライセンス的におつき合いでき
るものに対しては)みんなとおつき合いするのが良いと思ってます。

文字符号の規格化やテキスト表現の規格化に協力し関与して行くのは良いこと
だと思います。

また、CHISE 的な枠組自体の標準化・規格化ですが、最終的にはできたら良い
なあと思います。ただ、現時点で規格化できるかといわれるとなかなか難しい
所があると思います。


江渡さん> また別の話で、以前守岡さんにはお話ししたのですが、再度メーリ
江渡さん> ングリスト上で書いておきます。UTF-2000というネーミングはとて
江渡さん> も悪いと思います。いろいろ議論していてどのようなものを目指し
江渡さん> ているのかがわかってきたのですが、それは文字をコード化(数値
江渡さん> 化)するという発想から逃れた上でどのようにコンピュータで文字
江渡さん> を扱うことができるかを試みるという非常にラディカルな実験であ
江渡さん> ると思うのですが、しかしUTF-2000という名前で直感的に印象付け
江渡さん> られるのはその正反対であり、つまりコード化(数値化)を徹底して、
江渡さん> 今まで以上にあらゆる文字にコードをわりふろうとしているプロジェ
江渡さん> クトなのだと直感的に思っていました。つまり伝えるべき印象と正
江渡さん> 反対の印象を与えてしまっているのです。

江渡さん> これは直観の話なので、私だけの印象じゃないかという判断もなり
江渡さん> たちうるのですが、そもそも私の仕事は直観を形にすることなので、
江渡さん> プロの判断としてそう思いました。

これは私も同感です。もともと UTF-2000 という言葉には、非常に広い空間を
用意して必要な一部をその都度実記憶に割り当てる仮想記憶のような仕組を作
ろうという気持があったと思いますが、それは現在主張したい気持の一番では
ないと思います。

そういう訳で、新しい名前があった方が良いなあと思います。

では。

-- 
===『幾千億の分子に分かれても ========================================
     決して忘れない。    
     この宇宙が終るまで』              守岡 知彦 (MORIOKA Tomohiko)
====================== Email: <tomo @ kanji.zinbun.kyoto-u.ac.jp> ======




More information about the CHISE-ja mailing list