(ids-index-store-structure c v)
nil)
'ideographic-structure@apparent/leftmost)
+ (map-char-attribute
+ (lambda (c v)
+ (ids-index-store-structure c v)
+ nil)
+ 'ideographic-structure@apparent/rightmost)
(unless in-memory
(save-char-attribute-table 'ideographic-products)))
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))
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))
a-res
(list ?⿺ (nth 1 enc-str) new-str-c)
710))
- )))
+ )
+ ((eq (car enc-str) ?⿸)
+ (unless conversion-only
+ (setq f-res (ids-find-chars-including-ids enc-str)))
+ (cond
+ ((and (characterp (nth 2 enc-str))
+ (or (memq (char-ucs (nth 2 enc-str))
+ '(#x4EBA #x5165 #x513F #x51E0))
+ (memq (or (encode-char (nth 2 enc-str) '=>ucs@iwds-1)
+ (encode-char (nth 2 enc-str) '=>ucs@component))
+ '(#x4EBA #x513F))))
+ (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)
+ 721))
+ )
+ (t
+ (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)
+ 722))
+ ))
+ )
+ ))
)
((eq (car structure) ?⿺)
(setq enc (nth 1 structure))
(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 ?⿰