-;; (defun char-representative-of-daikanwa (char &optional radical
-;; ignore-default dont-inherit)
-;; (unless radical
-;; (setq radical ideographic-radical))
-;; (if (or (encode-char char 'ideograph-daikanwa 'defined-only)
-;; (encode-char char '=daikanwa-rev2 'defined-only))
-;; char
-;; (let ((m (char-feature char '=>daikanwa))
-;; m-m m-s pat
-;; scs sc ret
-;; )
-;; (or (and (integerp m)
-;; (or (decode-char '=daikanwa-rev2 m 'defined-only)
-;; (decode-char 'ideograph-daikanwa m)))
-;; (when (or m
-;; (setq m (get-char-attribute char 'morohashi-daikanwa)))
-;; (setq m-m (car m))
-;; (setq m-s (nth 1 m))
-;; (if (= m-s 0)
-;; (or (decode-char '=daikanwa-rev2 m-m 'defined-only)
-;; (decode-char 'ideograph-daikanwa m-m))
-;; (when m
-;; (setq pat (list m-m m-s))
-;; (map-char-attribute (lambda (c v)
-;; (if (equal pat v)
-;; c))
-;; 'morohashi-daikanwa))))
-;; (unless dont-inherit
-;; ;; (map-char-family
-;; ;; (lambda (sc)
-;; ;; (let ((ret (char-representative-of-daikanwa sc nil t t)))
-;; ;; (if (and ret
-;; ;; (or (null radical)
-;; ;; (eq (char-ideographic-radical ret radical)
-;; ;; radical)))
-;; ;; ret)))
-;; ;; char)
-;; (when (setq scs (append
-;; (get-char-attribute char '->subsumptive)
-;; (get-char-attribute char '->denotational)))
-;; (while (and scs
-;; (setq sc (car scs))
-;; (not
-;; (and
-;; (setq ret
-;; (char-representative-of-daikanwa sc nil t t))
-;; (or (null radical)
-;; (eq (char-ideographic-radical ret radical)
-;; radical)
-;; (setq ret nil)))))
-;; (setq scs (cdr scs)))
-;; ret)
-;; )
-;; (unless ignore-default
-;; char)))))