(defun char-ideographic-radical (char &optional radical)
(let (ret)
(or (catch 'tag
- (dolist (domain '(ucs daikanwa cns))
+ (dolist (domain char-db-feature-domains)
(if (and (setq ret (get-char-attribute
char
(intern
(defun char-ideographic-strokes (char &optional radical)
(let (ret)
(or (catch 'tag
- (dolist (domain '(ucs daikanwa cns))
- (if (and (setq ret (get-char-attribute
+ (dolist (domain char-db-feature-domains)
+ (if (and (setq ret (or (get-char-attribute
+ char
+ (intern
+ (format "%s@%s"
+ 'ideographic-radical domain)))
+ (get-char-attribute
+ char 'ideographic-radical)))
+ (or (eq ret radical)
+ (null radical))
+ (setq ret (get-char-attribute
char
(intern
(format "%s@%s"
- 'ideographic-radical domain))))
- (or (eq ret radical)
- (null radical)))
- (throw 'tag
- (get-char-attribute
- char
- (intern
- (format "%s@%s"
- 'ideographic-strokes domain)))))))
+ 'ideographic-strokes domain)))))
+ (throw 'tag ret))))
(catch 'tag
(dolist (cell (get-char-attribute char 'ideographic-))
(if (and (setq ret (plist-get cell :radical))
(defun update-ideograph-radical-table ()
(interactive)
(let (ret radical script)
- (dolist (domain '(ucs daikanwa cns))
+ (dolist (domain char-db-feature-domains)
(map-char-attribute
(lambda (char radical)
(when (and radical