X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ids-find.el;h=c58d022c27019021ee9152107be5b8c12a616f1a;hb=f3dd51c1c7c41ca096dc2e05193e7c5d8d110b83;hp=c7276b7f305d08f6f3a730e8bc4782987183d084;hpb=995c6fd0c5cf24288d66ba94b763fab620eb9ad3;p=chise%2Fids.git diff --git a/ids-find.el b/ids-find.el index c7276b7..c58d022 100644 --- a/ids-find.el +++ b/ids-find.el @@ -1194,7 +1194,50 @@ COMPONENT can be a character or char-spec." (list ?⿱ new-str-c (nth 3 enc-str)) 419)) )) - ))) + ) + ((eq (car enc-str) ?⿰) + (cond + ((equal (nth 1 enc-str)(nth 2 enc-str)) + (unless conversion-only + (setq f-res (ids-find-chars-including-ids enc-str))) + (setq new-str (list ?⿲ + (nth 1 enc-str) + (nth 2 structure) + (nth 2 enc-str))) + (setq new-str-c + (list (cons 'ideographic-structure new-str))) + (if conversion-only + new-str + (setq a-res (ids-find-chars-including-ids new-str)) + (list enc + f-res + new-str-c + a-res + new-str + 421)) + ) + (t + (unless conversion-only + (setq f-res (ids-find-chars-including-ids enc-str))) + (setq new-str (list ?⿰ + (nth 2 structure) + (nth 2 enc-str))) + (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) + 422)) + )) + )) + ) ) ((eq (car structure) ?⿶) (setq enc (nth 1 structure))