(char-ucs-chars): New function.
authorMORIOKA Tomohiko <tomo.git@chise.org>
Sat, 18 Nov 2023 11:37:19 +0000 (20:37 +0900)
committerMORIOKA Tomohiko <tomo.git@chise.org>
Sat, 18 Nov 2023 11:37:19 +0000 (20:37 +0900)
lisp/utf-2000/chise-subr.el

index 90c6e9c..f8827c4 100644 (file)
 ;;;
 
 ;;;###autoload
+(defun char-ucs-chars (character)
+  "Return list of UCS abstract characters unified by CHARACTER."
+  (let (ret)
+    (union
+     (if (setq ret (encode-char character '=ucs 'defined-only))
+        (list character))
+     (if (or (encode-char character '=>ucs@component 'defined-only)
+            (encode-char character '=>ucs@iwds-1 'defined-only)
+            (encode-char character '=>iwds-1 'defined-only))
+        (union
+         (mapcan #'char-ucs-chars
+                 (get-char-attribute character '->subsumptive))
+         (union
+          (mapcan #'char-ucs-chars
+                  (get-char-attribute character '->denotational))
+          (mapcan #'char-ucs-chars
+                  (get-char-attribute character '->denotational@component))))))))
+
+
+;;;###autoload
 (defun map-char-family (function char &optional ignore-sisters)
   (let ((rest (list char))
        ret checked)