常用漢字表 (Re: 漢字の部品)
守岡知彦 / MORIOKA Tomohiko
tomo @ kanji.zinbun.kyoto-u.ac.jp
2003年 11月 6日 (木) 00:37:11 JST
>>>>> In [utf-2000 : No.00406]
>>>>> "守岡" = tomo @ m17n.org (守岡知彦 / MORIOKA Tomohiko) wrote:
江渡さん> > # 余談ですが Chise って、教育漢字とか常用漢字とかみたいな
江渡さん> > # データも持ってたりするのでしょうか?
守岡> 常用漢字のデータは XEmacs CHISE の source tree の
守岡> etc/char-data/jp-jouyou.txt にあります。まだ今の所入ってるだけで、
守岡> 利用する code が入ってないのですが。
守岡> ちなみに、この jp-jouyou.txt を開いた状態で
守岡> (with-current-buffer "jp-jouyou.txt"
守岡> (goto-char (point-min))
守岡> (let (chr target ret)
守岡> (while (re-search-forward "^[^\t]+\t\\(.\\)" nil t)
守岡> (setq chr (aref (match-string 1) 0)
守岡> target (buffer-substring (match-end 0) (point-at-eol)))
守岡> (setq ret (get-char-attribute chr 'script))
守岡> (add-to-list 'ret 'Ideograph)
守岡> (add-to-list 'ret 'JP-Jouyou)
守岡> (put-char-attribute chr 'script ret)
守岡> (if (and (> (length target) 0)
守岡> (eq (aref target 0) ?\t)
守岡> (setq target (split-string
守岡> (substring target 1) " ")))
守岡> (put-char-attribute chr '<-simplified @ jp-jouyou
守岡> (mapcar (lambda (cell)
守岡> (aref cell 0))
守岡> target)))
守岡> )))
守岡> を評価すれば、常用漢字の文字の script 素性(シンボルのリスト)に
守岡> JP-Jouyou とIdeograph という要素が追加されるとともに、
守岡> <-simplified @ jp-jouyou 素性(文字参照(文字)のリスト)に常用漢
守岡> 字表に書かれた対応する『康煕体』の文字のリストが入ります。
守岡> この後、
守岡> (save-char-attribute-table 'script)
守岡> (save-char-attribute-table '<-simplified @ jp-jouyou)
守岡> を評価すれば、Ruby/CHISE や Perl/CHISE などからもこれらのデータ
守岡> が利用できるようになると思います。
また、さっき commit した tomoyo-tools の命令
ideo-translate-region-into-traditional を使えば、指定した領域の常用漢
字を『康煕体』に変換できます。「弁」のように複数候補がありうる場合は
menu で選択になりますが、いまいち UI のできは良くないので、どんどん
改良してみてください。(ぱぱっと書いた code なので)
ちなみに、tomoyo-tools は anonymous CVS で取り出せます。
** cvs login (first time only)
% cvs -d :pserver:anonymous @ cvs.m17n.org:/cvs/chise login
CVS password: [CR] # NULL string
** checkout
% cvs -d :pserver:anonymous @ cvs.m17n.org:/cvs/chise co tomoyo-tools
** install
% make install
なお、installer を動かすのに、APEL が必要です。また、install 前に予め
site-packages/ の場所を作っておくことをお勧めします(もし、なかった場
合)。
--
守岡 知彦 (MORIOKA Tomohiko) <tomo @ kanji.zinbun.kyoto-u.ac.jp>
More information about the CHISE-ja
mailing list