X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Futf-2000%2Fchar-db-util.el;h=82ea6533a5dbf9c54afd1503aecaa45b54044a13;hb=87fd0820140086837f95cb416a7747b04020e8f5;hp=66d3995c005a14f3f29aca74337c79124f4e49c5;hpb=089ed852ec10c0af28dc1ec4e5da8a7a30cc140a;p=chise%2Fxemacs-chise.git- diff --git a/lisp/utf-2000/char-db-util.el b/lisp/utf-2000/char-db-util.el index 66d3995..82ea653 100644 --- a/lisp/utf-2000/char-db-util.el +++ b/lisp/utf-2000/char-db-util.el @@ -1,6 +1,6 @@ ;;; char-db-util.el --- Character Database utility -;; Copyright (C) 1998,1999,2000,2001,2002,2003,2004 MORIOKA Tomohiko. +;; Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005 MORIOKA Tomohiko. ;; Author: MORIOKA Tomohiko ;; Keywords: CHISE, Character Database, ISO/IEC 10646, Unicode, UCS-4, MULE. @@ -75,7 +75,7 @@ '(ucs daikanwa cns gt jis jis/alt jis/a jis/b jis-x0212 jis-x0213 cdp shinjigen misc unknown)) -(defvar char-db-ignored-attributes nil) +(defvar char-db-ignored-attributes '(ideographic-products)) (defun char-attribute-name< (ka kb) (cond @@ -1109,14 +1109,14 @@ no-ucs-unified script excluded-script) (insert-char-data char printable) - (let ((variants (or (char-variants char) - (let ((ucs (get-char-attribute char '->ucs))) - (if ucs - (delete char (char-variants (int-char ucs))))))) + (let ((variants (char-variants char)) + rest variant vs ret) (setq variants (sort variants #'<)) - (while variants - (setq variant (car variants)) + (setq rest variants) + (setq variants (cons char variants)) + (while rest + (setq variant (car rest)) (unless (get-char-attribute variant '<-subsumptive) (if (and (or (null script) (null (setq vs (get-char-attribute variant 'script))) @@ -1130,9 +1130,9 @@ (while ret (or (memq (car ret) variants) ;; (get-char-attribute (car ret) '<-subsumptive) - (setq variants (append variants (list (car ret))))) + (setq rest (nconc rest (list (car ret))))) (setq ret (cdr ret))))))) - (setq variants (cdr variants))))) + (setq rest (cdr rest))))) (defun insert-char-range-data (min max &optional script excluded-script) (let ((code min)