proposal about character inheritance and some features
守岡知彦 / MORIOKA Tomohiko
tomo @ m17n.org
2004年 1月 23日 (金) 01:53:31 JST
このところひどい肩こりで、溜った仕事がはかどらず、泣きたい気分の守岡で
す。
そういう訳で、毎度おなじみ現実逃避なんですが、今回は懸案のひとつの文字
定義の継承をやってみようということで、以下の提案をします。
(1) ->unified
派生する文字を表す文字素性として ->unified を新設する。値の型は
char-ref の list とする。
文字 P に対し、文字素性 ->unified の値として (C_0 C_1 ... C_i ... C_n)
を設定した時、C_i が未定義文字に対する char-spec であれば、C_i の定義
に従った文字が定義され、C_i の位置に置き換えられる。また、C_i ないしは
それに対応する文字は P から派生する文字と見倣され、(P) を値とする文字
素性 <-unified が設定される。
(2) <-unified
派生元の文字を表す文字素性として <-unified を新設する。値の型は
char-ref の list とする。
<-unified を持つ文字 C がある文字素性 f(但し、f は CCS 素性でないこと
とする)を持たない時、<-unified の値で指定される派生元の文字が f を持っ
ていれば、その値を C の値と見倣すこととする。また、この性質は再帰的に
成立することとする。
<-unified を持つ文字は define-char 形式での独立したエントリーを設けな
いこととし、親文字における ->unified の要素として表現することとする。
(3) ->inherited, <-inherited
->unified, <-unified と同じセマンティクスとする。
但し、<-inherited を持つ文字に対して define-char 形式での独立したエン
トリーを設けることとする。
(4) =CCS 素性
CCS 素性 =FOO を設定した時、必ず =>FOO も設定することにする。
但し、define-char 形式では、=FOO が存在する時の =>FOO は省略する。
(5) 親文字から子文字の文字素性の参照
文字 C に ->unified もしくは ->inherited が存在する時、C に存在しない
素性がこれらの値で指定される文字に存在する時、最初に見つかったものを親
の素性値とする。
また、全数探索する API を追加することとする。
また、子文字がおかれた domain を表す文字素性 domains を新設する。この
型は symbol の list とし、各要素は domain を表す。
この時、文字 C に対し、文字素性 FOO @ BAR の値を求めることは、domains の
要素として BAR を持つ子文字の素性 BAR の値を求めることとして処理される。
但し、この時、C は文字素性 FOO @ BAR を持たないこととする。
(6) =ucs の扱い
UCS で統合されているにもかかわらず、文字定義を分離しているものに対し、
現在、Unicode の例示字形にもっとも近い文字定義に対し =ucs を与え、それ
以外に =>ucs を与えているが、今後はこれらの文字定義を ->unified 要素と
して持つ文字に対し =ucs を設定することとし、従来、=ucs を設定していた
ものには =ucs @ unicode (BMP) もしくは =ucs @ iso (Ext-B) を設定することに
する。
同様に、他の要素に関しても ->unified や ->inherited を用いることで、
適切に包含関係を表現することとし、これにより、さまざまな抽象度の文字を
表現・操作しやすくする。
これらの提案を実施した場合、以前より派生文字の定義が簡潔かつ楽に行える
ようになります。また、文字の抽象度の制御もやりやすくなると考えられます。
なおかつ、文字素性の参照をする限りでは、継承関係は隠蔽され、従来と同様
なフラットな文字オブジェクトの世界に見え、文字素性の集合演算も可能とな
ります。
また、継承に関係ないですが、
(7) 文字間の関係を表す文字素性の命名規則
->FOO, <-FOO は文字間の関係に関する文字素性を表すものとし、FOO は原則
として、英語の形容詞を用いることにする。
値が char-ref (char-spec, character) の list だとしても、それが文字間
の関係を表すものでなければ、->, <- からはじまる名前を付けないこととす
る。
(8) 文字から ID への写像を表す文字素性について
意味的に ID への写像になっていれば、値の型が整数でなくても、=>FOO から
はじまる名前を用いることにする。
も提案します。これらにより
->decomposition は =>decomposition
->ancient-ideograph は ->ancient
<-ancient-ideograph は <-ancient
<-original-ideograph は <-original
<-simplified-ideograph は <-simplified (実施済(^_^;;;)
->vulgar-ideograph は ->vulgar
<-vulgar-ideograph は <-vulgar
<-wrong-ideograph は <-wrong
->same-ideograph は ->same
->ideographic-variants は ->
への改名を提案します。
また、->ucs-unified から ->unified @ ucs への改名も提案します。
また、->FOO, <-FOO の要素に対応する文字が存在する時、文字データベース
中では char-spec を文字に正規化して格納するようにすることも提案します。
以上、ご意見お待ちしております。
--
││ ─ │ ─ / ─ ┼─ ┬ ─ ─┼ ┬┴─
┯━…‥・きっと 真実は呆れてる・‥…━━┯━━━┯━
┼|〓━ 守岡 知彦 (MORIOKA Tomohiko) <tomo @ m17n.org> ─ ─┬
┻┻━┻━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
More information about the CHISE-ja
mailing list