Sync up with r21-4-21-chise-0_24-5.
[chise/xemacs-chise.git] / lisp / utf-2000 / char-db-util.el
index 9a7e22b..b50c2ff 100644 (file)
     )
    ((find-charset ka)
     (if (find-charset kb)
-       (if (<= (charset-id ka) 1)
-           (if (<= (charset-id kb) 1)
+       (if (or (<= (charset-id ka) 1)
+               (and (charset-final ka)
+                    (>= (charset-final ka) ?@)))
+           (if (or (<= (charset-id kb) 1)
+                   (and (charset-final kb)
+                        (>= (charset-final kb) ?@)))
                (cond
                 ((= (charset-dimension ka)
                     (charset-dimension kb))
-                 (> (charset-id ka)(charset-id kb)))
+                 (if (and (<= (charset-id ka) 1)
+                          (<= (charset-id kb) 1))
+                     (> (charset-id ka)(charset-id kb))
+                   (if (and (charset-final ka)
+                            (charset-final kb))
+                       (cond
+                        ((= (charset-final ka)(charset-final kb))
+                         (if (<= (charset-id ka) 1)
+                             (if (<= (charset-id kb) 1)
+                                 (> (charset-id ka)(charset-id kb))
+                               t)
+                           (if (<= (charset-id kb) 1)
+                               nil
+                             (< (charset-id ka)(charset-id kb))))
+                         )
+                        ((< (charset-final ka)(charset-final kb))
+                         ))
+                     (if (<= (charset-id ka) 1)
+                         (if (<= (charset-id kb) 1)
+                             (> (charset-id ka)(charset-id kb))
+                           t)
+                       (if (<= (charset-id kb) 1)
+                           nil
+                         (cond ((and (charset-final ka)
+                                     (>= (charset-final ka) ?@))
+                                t)
+                               ((and (charset-final kb)
+                                     (>= (charset-final kb) ?@))
+                                nil)
+                               (t
+                                (< (charset-id ka)(charset-id kb))
+                                ))))))
+                 )
                 (t
                  (> (charset-dimension ka)
                     (charset-dimension kb))
                  ))
              t)
-         (if (<= (charset-id kb) 1)
+         (if (or (<= (charset-id kb) 1)
+                 (and (charset-final kb)
+                      (>= (charset-final kb) ?@)))
              nil
-           (cond
-            ((and (charset-final ka)
-                  (>= (charset-final ka) ?@))
-             (if (and (charset-final kb)
-                      (>= (charset-final kb) ?@))
-                 (< (charset-final ka)(charset-final kb))
-               t))
-            ((and (charset-final kb)
-                  (>= (charset-final kb) ?@))
-             nil)
-            (t
-             (< (charset-id ka)(charset-id kb))))))
+           (< (charset-id ka)(charset-id kb))))
       nil))
    ((find-charset kb)
     t)