(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)