From: tomo Date: Tue, 9 Nov 2004 18:21:44 +0000 (+0000) Subject: (insert-char-data-with-variant): Don't insert characters which have X-Git-Tag: r21-4-15-u2km-0_21-32-a~2^2~56 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=d41ffd38ddb48a87caa01eb66236fdf77b675b40;p=chise%2Fxemacs-chise.git (insert-char-data-with-variant): Don't insert characters which have `<-subsumptive' feature. --- diff --git a/lisp/utf-2000/char-db-util.el b/lisp/utf-2000/char-db-util.el index 73a4f5a..0fca883 100644 --- a/lisp/utf-2000/char-db-util.el +++ b/lisp/utf-2000/char-db-util.el @@ -1110,7 +1110,7 @@ (let ((ucs (get-char-attribute char '->ucs))) (if ucs (delete char (char-variants (int-char ucs))))))) - variant vs) + variant vs ret) (setq variants (sort variants #'<)) (while variants (setq variant (car variants)) @@ -1120,8 +1120,15 @@ (or (null excluded-script) (null (setq vs (get-char-attribute variant 'script))) (not (memq excluded-script vs)))) - (or (and no-ucs-unified (get-char-attribute variant '=ucs)) - (insert-char-data variant printable))) + (unless (and no-ucs-unified (get-char-attribute variant '=ucs)) + (insert-char-data variant printable) + (if (setq ret (char-variants variant)) + (while ret + (or (memq (car ret) variants) + (get-char-attribute (car ret) '<-subsumptive) + (setq variants (append variants (list (car ret))))) + (setq ret (cdr ret)))) + )) (setq variants (cdr variants)) )))