+ (when (or (not soft)
+ (null
+ (get-char-attribute char 'ideographic-structure)))
+ (put-char-attribute char
+ 'ideographic-structure
+ (cdr (car structure))))
+ (when (and u-char
+ (not (eq char u-char))
+ (or (not soft)
+ (null
+ (get-char-attribute
+ u-char 'ideographic-structure))))
+ (put-char-attribute
+ u-char 'ideographic-structure
+ (ideographic-structure-convert-to-domain
+ (cdr (car structure)) 'unicode)))
+ )