(setq sub cell)
)))
(setq cell
- (if (setq ret (ideographic-structure-find-chars sub))
- (car ret)
- (list (cons 'ideographic-structure sub))))
+ (cond ((setq ret (ideographic-structure-find-chars sub))
+ (car ret)
+ )
+ ((setq ret (ideographic-structure-compact sub))
+ (list (cons 'ideographic-structure ret))
+ )
+ (t
+ (list (cons 'ideographic-structure sub))))
+ )
))
(setq dest (cons cell dest)))
(nreverse dest)))
(defun ideographic-structure-compare-functional-and-apparent (structure
&optional char
conversion-only)
- (let (enc enc-str enc2-str enc3-str new-str new-str-c f-res a-res ret code)
+ (let (enc enc-str enc2-str enc3-str new-str new-str-c
+ f-res a-res ret code)
(cond
((eq (car structure) ?⿸)
(setq enc (nth 1 structure))
((eq (car enc2-str) ?⿰)
(setq code 611)
)
+ ((eq (car enc2-str) ?⿲)
+ (setq code 614)
+ )
((and (eq (car enc2-str) ?⿱)
(setq enc3-str
(ideographic-character-get-structure (nth 2 enc2-str)))
(nth 1 enc3-str)
(nth 2 structure)
(nth 2 enc3-str))
+ )
+ ((eq code 614)
+ (list ?⿲
+ (nth 1 enc2-str)
+ (list (list 'ideographic-structure
+ ?⿱
+ (nth 2 enc2-str)
+ (nth 2 structure)))
+ (nth 3 enc2-str))
)))
(setq new-str-c
(if (setq ret (ideographic-structure-find-chars new-str))
(car ret)
- (list (cons 'ideographic-structure new-str))))
+ (list (cons 'ideographic-structure
+ (ideographic-structure-compact new-str)))))
(if conversion-only
- (cond ((eq code 611)
+ (cond ((or (eq code 611)
+ (eq code 614))
(list ?⿱ (nth 1 enc-str) new-str-c)
)
((eq code 613)
f-res
new-str-c
a-res
- (cond ((eq code 611)
+ (cond ((or (eq code 611)
+ (eq code 614))
(list ?⿱ (nth 1 enc-str) new-str-c)
)
((eq code 613)