libchise で素性を追加するには (Re: chise-core Version 0.22)

守岡知彦 / MORIOKA Tomohiko tomo @ m17n.org
2005年 6月 9日 (木) 01:29:45 JST


Code-fest 以降バテ mode の守岡です。反応悪くてすみません。

>>>>> In [chise-ja : No.00414] 
>>>>>	Koichi KAMICHI <kamichi @ fonts.jp> wrote:

> > あと、現在、KAGEのparts.txtの独自部品をCHISE側に寄せる作業をしてい
> > ます。本当は、CHISE DBのマスターをWWWサービスとして書き換え可能に
> > して、そこにKAGE部品を属性として書き込めるといいのですが。それは将
> > 来に行うとして、とりあえず手元のCHISE DBにKAGE部品を書き込みたいと
> > 思いますが、これはCHISE-coreでできますか?

関数 chise_char_set_feature_value を使えば可能です。

;; 現在、XEmacs CHISE の CHISE DB 操作は全て libchise を通して行ってい
;; ます。そういう訳で、XEmacs CHISE でできてることは(簡単か面倒かは無
;; 視すれば)libchise レベルで可能です。ちなみに、libchise 関連の code
;; は src/chartab.c の HAVE_LIBCHISE が有効な部分に存在します。

> > もし書き込んだ場合、守岡さんのマスターDBに反映させるのは、どういう
> > 手順になるでしょうか?

「守岡さんのマスター DB」というのが XEmacs CHISE 附属の文字データベー
スのことであれば、define-char 形式で書き出すという方法が考えられます。
また、追加するのが単一の文字素性であるなら、なんらかの方法で文字を指定
して、その文字に対応する素性値との対照表にする (eg. ids/IDS-*.txt) と
いう方法も考えられます。

> こちらは解決していません。昔、BDB内部でのMCSの番号は不定と聞いたので、
> 結局のところ、kage-partsという素性を作ったとして、これをtxtに吐き出
> してcvs commitするのが正解でしょうか?

これは後者の方法ということですが、system-char-id の値が不定であるがゆ
えに、「これをtxtに吐き出す」のに工夫が要ったりします。

define-char 形式以外の方法で文字を指定するのに簡単な方法は、CCS と
code-point の pair で指定するか実体参照形式を用いるか(これも、本質的
には前者と同じ)といったところでしょうか。

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





More information about the CHISE-ja mailing list