X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Futf-2000%2Fchar-db-util.el;h=def4915b36aea41527af0cdd945b2e4ad0ea5ca4;hb=a0532ab033c0895e03ca85d032bebea29a7d32f3;hp=78bc6547565e77a654ec7e065a3dd95a4c3724cd;hpb=026445a5fcb93ce75d78c2d7af98f14ae3359842;p=chise%2Fxemacs-chise.git diff --git a/lisp/utf-2000/char-db-util.el b/lisp/utf-2000/char-db-util.el index 78bc654..def4915 100644 --- a/lisp/utf-2000/char-db-util.el +++ b/lisp/utf-2000/char-db-util.el @@ -122,7 +122,11 @@ (let (char-spec ret al cal key) (cond ((characterp char) (cond ((setq ret (get-char-attribute char 'ucs)) - (setq char-spec (list (cons 'ucs ret))) + (unless (and (<= #xE000 ret)(<= ret #xF8FF)) + (setq char-spec (list (cons 'ucs ret)))) + (if (setq ret (get-char-attribute char 'chinese-big5-cdp)) + (setq char-spec (cons (cons 'chinese-big5-cdp ret) + char-spec))) (if (setq ret (get-char-attribute char 'name)) (setq char-spec (cons (cons 'name ret) char-spec))) ) @@ -140,7 +144,7 @@ (setq char nil))) (if (or char (setq char (condition-case nil - (define-char char-spec) + (find-char char-spec) (error nil)))) (progn (setq al nil @@ -171,7 +175,7 @@ (cond ((eq name 'char) (insert "(char . ") (if (setq ret (condition-case nil - (define-char value) + (find-char value) (error nil))) (progn (setq al nil @@ -196,7 +200,7 @@ (if (and (consp cell) (consp (car cell)) (setq ret (condition-case nil - (define-char cell) + (find-char cell) (error nil))) ) (progn @@ -241,6 +245,8 @@ (setq value (pop plist)) (cond ((eq name :char) (insert ":char\t") + (if (numberp value) + (setq value (decode-char 'ucs value))) (char-db-insert-char-spec value readable) (insert line-breaking)) (t @@ -253,21 +259,24 @@ (defun char-db-decode-isolated-char (ccs code-point) (let (ret) (setq ret - (if (and (memq ccs '(ideograph-gt-pj-1 - ideograph-gt-pj-2 - ideograph-gt-pj-3 - ideograph-gt-pj-4 - ideograph-gt-pj-5 - ideograph-gt-pj-6 - ideograph-gt-pj-7 - ideograph-gt-pj-8 - ideograph-gt-pj-9 - ideograph-gt-pj-10 - ideograph-gt-pj-11)) - (setq ret (decode-char ccs code-point)) - (setq ret (get-char-attribute ret 'ideograph-gt))) - (decode-builtin-char 'ideograph-gt ret) - (decode-builtin-char ccs code-point))) + (cond ((eq ccs 'arabic-iso8859-6) + (decode-char ccs code-point)) + ((and (memq ccs '(ideograph-gt-pj-1 + ideograph-gt-pj-2 + ideograph-gt-pj-3 + ideograph-gt-pj-4 + ideograph-gt-pj-5 + ideograph-gt-pj-6 + ideograph-gt-pj-7 + ideograph-gt-pj-8 + ideograph-gt-pj-9 + ideograph-gt-pj-10 + ideograph-gt-pj-11)) + (setq ret (decode-char ccs code-point)) + (setq ret (get-char-attribute ret 'ideograph-gt))) + (decode-builtin-char 'ideograph-gt ret)) + (t + (decode-builtin-char ccs code-point)))) (cond ((and (<= 0 (char-int ret)) (<= (char-int ret) #x1F)) (decode-char 'ucs (+ #x2400 (char-int ret)))) @@ -303,7 +312,7 @@ (when (and (memq 'name attributes) (setq value (get-char-attribute char 'name))) (insert (format - (if (> (length value) 47) + (if (> (+ (current-column) (length value)) 48) "(name . %S)%s" "(name . %S)%s") value line-breaking)) @@ -581,9 +590,16 @@ ->fullwidth <-fullwidth ->vulgar-ideograph <-vulgar-ideograph ->ancient-ideograph <-ancient-ideograph + ->original-ideograph <-original-ideograph ->simplified-ideograph <-simplified-ideograph + ->wrong-ideograph <-wrong-ideograph ->same-ideograph - ->bopomofo)) + ->ideographic-variants + ->synonyms + ->radical <-radical + ->bopomofo <-bopomofo + ->ideographic <-ideographic + ideographic-structure)) (insert (format "(%-18s%s " name line-breaking)) (setq lbs (concat "\n" (make-string (current-column) ?\ )) separator nil) @@ -661,7 +677,7 @@ (if (and (consp cell) (consp (car cell)) (setq ret (condition-case nil - (define-char cell) + (find-char cell) (error nil)))) (progn (setq rest cell @@ -790,6 +806,7 @@ (if ucs (delete char (char-variants (int-char ucs))))))) variant vs) + (setq variants (sort variants #'<)) (while variants (setq variant (car variants)) (if (and (or (null script)