Don't set `==ucs@JP/hanazono' to nil if `==ucs@JP/hanazono' same a
authorMORIOKA Tomohiko <tomo.git@chise.org>
Tue, 20 Sep 2022 12:01:48 +0000 (21:01 +0900)
committerMORIOKA Tomohiko <tomo.git@chise.org>
Wed, 21 Sep 2022 00:17:54 +0000 (09:17 +0900)
value >= #x20000.

lisp/utf-2000/maps-conf.el

index 8ca50c0..661824e 100644 (file)
    '==hanyo-denshi/jd)
   )
 
-(let (j-chr)
+(let (j-chr ucs-jv)
   (map-char-attribute
    (lambda (c v)
      (if (and (setq j-chr (decode-char '=ucs@JP v))
    '=ucs@unicode)
   (map-char-attribute
    (lambda (c v)
-     (if (and (setq j-chr (decode-char '==ucs@JP v))
-             (not (eq j-chr c))
-             (not (or (eq (encode-char c '==ucs@jis)
-                          (encode-char c '==ucs@JP/hanazono))
-                      (eq (encode-char c '==ucs@unicode)
-                          (encode-char c '==ucs@JP/hanazono))
-                      (eq (encode-char c '==ucs@cns)
-                          (encode-char c '==ucs@JP/hanazono))
-                      )))
-        (put-char-attribute c '==ucs@JP/hanazono nil))
+     (or (and (setq ucs-jv (encode-char c '==ucs@JP/hanazono))
+             (>= ucs-jv #x20000))
+        (if (and (setq j-chr (decode-char '==ucs@JP v))
+                 (not (eq j-chr c))
+                 (not (or (eq ucs-jv (encode-char c '==ucs@jis))
+                          (eq ucs-jv (encode-char c '==ucs@unicode))
+                          (eq ucs-jv (encode-char c '==ucs@cns))
+                          )))
+            (put-char-attribute c '==ucs@JP/hanazono nil)))
      nil)
    '==ucs@unicode)
   )