Use `<-bopomofo' instead of `->ideograph'.
[chise/xemacs-chise.git-] / lisp / utf-2000 / char-db-util.el
index 563d6a4..c88ddcc 100644 (file)
    ((symbolp kb)
     nil)))
 
-(defun char-db-insert-char-ref (char &optional readable column)
+(defun char-db-insert-char-spec (char &optional readable column)
   (unless column
     (setq column (current-column)))
-  (let (char-ref ret al cal key)
+  (let (char-spec ret al cal key)
     (cond ((characterp char)
           (cond ((setq ret (get-char-attribute char 'ucs))
-                 (setq char-ref (list (cons 'ucs ret)))
+                 (setq char-spec (list (cons 'ucs ret)))
                  (if (setq ret (get-char-attribute char 'name))
-                     (setq char-ref (cons (cons 'name ret) char-ref)))
+                     (setq char-spec (cons (cons 'name ret) char-spec)))
                  )
                 ((setq ret (split-char char))
-                 (setq char-ref (list ret))
+                 (setq char-spec (list ret))
                  (dolist (ccs (delq (car ret) (charset-list)))
                    (if (and (>= (charset-iso-final-char ccs) ?0)
                             (setq ret (get-char-attribute char ccs)))
-                       (setq char-ref (cons (cons ccs ret) char-ref))))
+                       (setq char-spec (cons (cons ccs ret) char-spec))))
                  (if (setq ret (get-char-attribute char 'name))
-                     (setq char-ref (cons (cons 'name ret) char-ref)))
+                     (setq char-spec (cons (cons 'name ret) char-spec)))
                  )))
          ((consp char)
-          (setq char-ref char)
+          (setq char-spec char)
           (setq char nil)))
     (if (or char
            (setq char (condition-case nil
-                          (define-char char-ref)
+                          (define-char char-spec)
                         (error nil))))
        (progn
          (setq al nil
                cal nil)
-         (while char-ref
-           (setq key (car (car char-ref)))
+         (while char-spec
+           (setq key (car (car char-spec)))
            (if (find-charset key)
                (setq cal (cons key cal))
              (setq al (cons key al)))
-           (setq char-ref (cdr char-ref)))
+           (setq char-spec (cdr char-spec)))
          (insert-char-attributes char
                                  readable
                                  (or al 'none) cal))
-      (insert (prin1-to-string char-ref)))))
+      (insert (prin1-to-string char-spec)))))
 
 (defun char-db-insert-alist (alist &optional readable column)
   (unless column
       (setq alist (cdr alist))))
   (insert ")"))
 
-(defun char-db-insert-char-map (plist &optional readable column)
+(defun char-db-insert-char-reference (plist &optional readable column)
   (unless column
     (setq column (current-column)))
   (let ((line-breaking
       (setq value (pop plist))
       (cond ((eq name :char)
             (insert ":char\t")
-            (char-db-insert-char-ref value readable)
+            (char-db-insert-char-spec value readable)
              (insert line-breaking))
             (t
             (insert (format "%s\t%S%s"
 (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))))
                              ->fullwidth <-fullwidth
                              ->vulgar-ideograph <-vulgar-ideograph
                              ->ancient-ideograph <-ancient-ideograph
+                             ->original-ideograph <-original-ideograph
                              ->simplified-ideograph <-simplified-ideograph
                              ->same-ideograph
-                             ->bopomofo))
+                             ->ideographic-variants
+                             ->synonyms
+                             ->radical <-radical
+                             ->bopomofo <-bopomofo
+                             ->ideographic <-ideographic))
                 (insert (format "(%-18s%s " name line-breaking))
                 (setq lbs (concat "\n" (make-string (current-column) ?\ ))
                       separator nil)
                   (cond ((characterp cell)
                          (if separator
                              (insert lbs))
-                         (char-db-insert-char-ref cell readable)
+                         (char-db-insert-char-spec cell readable)
                          (setq separator lbs))
                         ((consp cell)
                          (if separator
                              (insert lbs))
                          (if (consp (car cell))
-                             (char-db-insert-char-ref cell readable)
-                           (char-db-insert-char-map cell readable))
+                             (char-db-insert-char-spec cell readable)
+                           (char-db-insert-char-reference cell readable))
                          (setq separator lbs))
                         (t
                          (if separator
                        (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)