X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Futf-2000%2Fideograph-util.el;h=70f41714285558c1d155592b934864f9ef8ee114;hb=b165c4eb2ef179d98ef747659018f25352d38e1e;hp=8c59833f03d81def7fbebfaaef347cf615ae53c3;hpb=a7101749196aa721b543fbf4544baeda56e51fc9;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/utf-2000/ideograph-util.el b/lisp/utf-2000/ideograph-util.el index 8c59833..70f4171 100644 --- a/lisp/utf-2000/ideograph-util.el +++ b/lisp/utf-2000/ideograph-util.el @@ -1,7 +1,7 @@ ;;; ideograph-util.el --- Ideographic Character Database utility ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, -;; 2009, 2010, 2012 MORIOKA Tomohiko. +;; 2009, 2010, 2012, 2014, 2015 MORIOKA Tomohiko. ;; Author: MORIOKA Tomohiko ;; Keywords: CHISE, Chaon model, ISO/IEC 10646, Unicode, UCS-4, MULE. @@ -270,6 +270,12 @@ testers (cdr testers) defaulters (cdr defaulters)))))) +(defun char-daikanwa-radical (char &optional radical ignore-sisters) + (or (and (encode-char char '=daikanwa@rev2 'defined-only) + (or (get-char-attribute char 'ideographic-radical@daikanwa) + (get-char-attribute char 'ideographic-radical))) + (char-ideographic-radical char radical ignore-sisters))) + (defun char-daikanwa-strokes (char &optional radical) (unless radical (setq radical ideographic-radical)) @@ -287,7 +293,7 @@ (setq radical ideographic-radical)) (if (or (null radical) (eq (or (get-char-attribute char 'ideographic-radical) - (char-ideographic-radical char radical t)) + (char-daikanwa-radical char radical t)) radical)) (let ((ret (or (encode-char char '=daikanwa@rev2 'defined-only) ;; (encode-char char '=daikanwa 'defined-only) @@ -315,8 +321,11 @@ (setq depth 0)) (catch 'tag (let ((rest - (append (get-char-attribute char '->subsumptive) - (get-char-attribute char '->denotational))) + (append + (get-char-attribute char '->subsumptive) + (get-char-attribute char '->denotational) + (get-char-attribute char '->denotational@component) + )) (i 0) sc lnum) (setq checked (cons char checked)) @@ -339,8 +348,11 @@ (setq checked (cons sc checked) rest (cdr rest))) (setq rest - (append (get-char-attribute char '<-subsumptive) - (get-char-attribute char '<-denotational))) + (append + (get-char-attribute char '<-subsumptive) + (get-char-attribute char '<-denotational) + (get-char-attribute char '<-denotational@component) + )) (while rest (setq sc (car rest)) (when (setq ret (char-daikanwa sc radical checked depth))