(if (looking-at
"[ \t]*U[+-]\\([0-9A-F][0-9A-F][0-9A-F][0-9A-F]+\\)")
(string-to-int (match-string 1) 16)))
+ (if (and ucs-ccs ucs (not ucs-code))
+ (setq ucs-code ucs
+ ucs nil))
(when (setq chr (decode-char ccs code))
(unless (eq (encode-char chr ccs 'defined-only)
code)
(char-feature chr '=>ucs)))
ucs)))
(if (or ucs-code (null ucs-ccs))
- (put-char-attribute chr '=>ucs ucs)
+ (unless (eq (char-feature chr '=>ucs) ucs)
+ (put-char-attribute chr '=>ucs ucs))
(unless (eq (encode-char chr ucs-ccs 'defined-only)
ucs)
(put-char-attribute chr ucs-ccs ucs)))))
(mapcar (lambda (c)
(aref c 0))
(split-string tchars " ")))
- (unless (equal (char-feature char '<-simplified@JP/Jouyou)
- tchars)
+ (unless (or (equal (char-feature char '<-simplified@JP/Jouyou)
+ tchars)
+ (and (equal (char-feature char '<-simplified)
+ tchars)
+ (memq 'JP/Jouyou
+ (char-feature char '<-simplified*sources))))
(put-char-attribute char
'<-simplified@JP/Jouyou
tchars)))