From 6d08165f1afea1921e617d7cf114d0bd29ff2084 Mon Sep 17 00:00:00 2001 From: tomo Date: Mon, 15 Nov 2004 22:35:17 +0000 Subject: [PATCH] (insert-char-data-with-variant): Fix problem about characters which have `<-subsumptive' feature. --- lisp/utf-2000/char-db-util.el | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/lisp/utf-2000/char-db-util.el b/lisp/utf-2000/char-db-util.el index 0fca883..19d49ad 100644 --- a/lisp/utf-2000/char-db-util.el +++ b/lisp/utf-2000/char-db-util.el @@ -1114,23 +1114,22 @@ (setq variants (sort variants #'<)) (while variants (setq variant (car variants)) - (if (and (or (null script) - (null (setq vs (get-char-attribute variant 'script))) - (memq script vs)) - (or (null excluded-script) - (null (setq vs (get-char-attribute variant 'script))) - (not (memq excluded-script vs)))) - (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)) - ))) + (unless (get-char-attribute variant '<-subsumptive) + (if (and (or (null script) + (null (setq vs (get-char-attribute variant 'script))) + (memq script vs)) + (or (null excluded-script) + (null (setq vs (get-char-attribute variant 'script))) + (not (memq excluded-script vs)))) + (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))))) (defun insert-char-range-data (min max &optional script excluded-script) (let ((code min) -- 1.7.10.4