Builtin Character

Last modified: Fri Dec 24 23:56:35 JST 1999

文字を特定の符号化文字集合ではなく、属性によって定義することにした時、 文字は何らかの文字以外の手段で定義されてはじめて利用可能になります。

この時、この文字の世界をどうやって bootstrap すれば良いでしょうか?

おそらく、文字の定義を記述する手段として、file に書いておくということが考えられます。多分、ASCII の plain text にしとくと扱いが楽なことが多いでしょうから、そういうので書いたとします。

さて、文字を定義するために、その file を load することにしましょう。 で、その load する環境にはまだ文字の定義がないとします。その時、その文 字を定義した plain text の file は実は ASCII 文字列なのですが、ASCII 文字の定義がないのでその file を読み込むことができないことになり、 system を boot できません。

要するに、文字を定義するには文字以外のメタ文字が必要なのです。一旦文字 を定義すればその文字を使って文字を定義することができるのですが。 メタ文字は文字でさえなければ何でも良いといえます。 例えば、歌でも踊りでも。 例えば、3時間呪文を唱えながら踊り狂うというのはいかがでしょうか? しかしながら、私は軟弱にも文字定義に plain text の file を用いたかったので、 メタ文字として符号化文字を使うことにしてしまいました。 このメタ文字としての符号化文字のことを ``builtin character'' と呼ぶことにします。

UTF-2000 の世界では、文字は属性の集合ですが、``builtin character'' は属性を持ちません。しかしながら、``builtin character'' は属性がないにも関わらず、暗黙の内に、特定の coded-charset として解釈されます。

XEmacs UTF-2000 では XEmacs の code の流用の都合や、その他の都合から、 文字 ID (UCS-4) の #x000000 〜 #x10FFFF は暗黙の内に Unicode として解釈するようになっています。また、#x00E00000 〜 #x00FFFFFF に文字鏡や ISO/IEC 2022 の図形文字として解釈する領域も設けています。

しかしながら、これらは UTF-2000 でいう所の文字ではありません。 これらの領域に文字定義がない時にそのように解釈されるというだけの話で、 文字定義を行うことによりその初期状態での暗黙の定義は変更されます。


[UTF-2000(日本語)]