(U-0002A3AB): Use U+9761 instead of JU+9761.
[chise/ids.git] / ids-find.el
index fa6ee5e..9684d89 100644 (file)
@@ -772,6 +772,9 @@ COMPONENT can be a character or char-spec."
        ret dest sub)
     (while rest
       (setq cell (pop rest))
+      (if (and (consp cell)
+              (setq ret (find-char cell)))
+         (setq cell ret))
       (cond
        ((and (consp cell)
             (cond ((setq ret (assq 'ideographic-structure cell))
@@ -1571,9 +1574,29 @@ COMPONENT can be a character or char-spec."
                    new-str-c
                    a-res
                    (list ?⿲ (nth 1 enc2-str) new-str-c (nth 2 enc2-str))
-                   630))
-           )
-         )))
+                   630)))
+         )
+        ((eq (car enc-str) ?⿵)
+         (unless conversion-only
+           (setq f-res (ids-find-chars-including-ids enc-str)))
+         (setq new-str (list ?⿱
+                             (nth 2 enc-str)
+                             (nth 2 structure)))
+         (setq new-str-c
+               (if (setq ret (ideographic-structure-find-chars new-str))
+                   (car ret)
+                 (list (cons 'ideographic-structure new-str))))
+         (if conversion-only
+             (list ?⿵ (nth 1 enc-str) new-str-c)
+           (setq a-res (ids-find-chars-including-ids new-str))
+           (list enc
+                 f-res
+                 new-str-c
+                 a-res
+                 (list ?⿵ (nth 1 enc-str) new-str-c)
+                 640))
+         )
+        ))
       )
      ((eq (car structure) ?⿷)
       (setq enc (nth 1 structure))
@@ -1710,7 +1733,9 @@ COMPONENT can be a character or char-spec."
                     (memq (encode-char (nth 2 enc-str) '=>ucs@component)
                           '(#x2123C #x58EC))
                     (eq (encode-char (nth 2 enc-str) '=>ucs@iwds-1)
-                        #x7389)))
+                        #x7389)
+                    (eq (encode-char (nth 2 enc-str) '=>big5-cdp)
+                        #x8D71)))
            (unless conversion-only
              (setq f-res (ids-find-chars-including-ids enc-str)))
            (setq new-str (list ?⿰