漢字の部品

守岡知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2003年 11月 6日 (木) 02:30:35 JST


>>>>> In [utf-2000 : No.00404] 
>>>>>	"江渡さん" = Kouichirou Eto <2003 @ eto.com> wrote:

江渡さん> > というわけで、常用漢字もしくは JIS 第 1 水準の範囲の文字で、
江渡さん> > これ以上分解できない文字の一覧をいただけないでしょうか。
江渡さん> > Ruby/CHISE 的に言うと、
江渡さん> >   Character#decompose.length == 1

江渡さん> #!/usr/bin/env ruby
江渡さん> $LOAD_PATH << '../src'
江渡さん> require 'chise'
江渡さん> require 'chise/kanjilist'
江渡さん> include CHISE

江渡さん> def atom_list(list)
江渡さん>   list.map_character {|char|
江渡さん>     char.decompose.char_length == 1 ? char.decompose : ""
江渡さん>   }
江渡さん> end

江渡さん> puts atom_list(KanjiList::JOYO_KANJI_LIST)
江渡さん> puts atom_list(KanjiList::JISX0208_KANJI_LIST)

ちなみに Emacs Lisp で書くと

(map-char-attribute
 (lambda (c v)
   (when (and (memq 'JP-Jouyou v)
	      (null
	       (or (get-char-attribute c 'ideographic-structure)
		   (get-char-attribute (decode-char 'ucs (char-ucs c))
				       'ideographic-structure))))
     (insert (format "%c" c)))
   nil)
 'script)

という感じでしょうか(IDS-JIS-X0208-1990.txt のデータが揃ってない部分
UCS 版で補っているので不格好ですが)

-- 
守岡 知彦 (MORIOKA Tomohiko) <tomo @ kanji.zinbun.kyoto-u.ac.jp>




More information about the CHISE-ja mailing list