update.
[chise/tomoyo-tools.git] / char-db-dump.el
index f8ca125..2f717af 100644 (file)
@@ -1,9 +1,9 @@
 ;;; char-db-dump.el --- Dump utility of char-spec files
 
-;; Copyright (C) 2002,2003 MORIOKA Tomohiko
+;; Copyright (C) 2002,2003,2004,2005,2010,2018 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
-;; Keywords: Ideographs, Character Database, UTF-2000, UCS, Unicode
+;; Keywords: Ideographs, Character Database, CHISE, UCS, Unicode
 
 ;; This file is a part of tomoyo-tools.
 
     (#x3130 #x318F "u03130-Hangul-Compatibility-Jamo.el")
     (#x3190 #x319F "u03190-Kanbun.el")
     (#x31A0 #x31BF "u031A0-Bopomofo-Extended.el")
+    (#x31C0 #x31EF "u031C0-CJK-Strokes.el")
     (#x31F0 #x31FF "u031F0-Katakana-Phonetic-Extensions.el")
     (#x3200 #x32FF "u03200-Enclosed-CJK-Letters-and-Months.el")
     (#x3300 #x33FF "u03300-CJK-Compatibility.el")
   (dolist (range char-db-ucs-range-file-list)
     (write-char-range-data-to-file
      (car range) (nth 1 range)
-     (expand-file-name (nth 2 range) "/var/tmp")
+     (expand-file-name (nth 2 range) directory)
      (nth 3 range)(nth 4 range))))
 
 
 ;;;###autoload
+(defun char-db-dump-oracle-bones (directory)
+  (interactive "DDump Oracle-Bones : ")
+  (let ((coding-system-for-write char-db-file-coding-system)
+       (code 1)
+       chr a-chr)
+    (with-temp-buffer
+      (insert (format ";; -*- coding: %s -*-\n"
+                     char-db-file-coding-system))
+      (while (<= code 8192)
+       (when (setq chr (decode-char '=zinbun-oracle code 'defined-only))
+         (setq a-chr (decode-char '=>zinbun-oracle code 'defined-only))
+         (unless (eq a-chr chr)
+           (insert-char-data a-chr))
+         (insert-char-data chr))
+       (setq code (1+ code)))
+      (write-region (point-min)(point-max)
+                   (expand-file-name "Oracle-Bones.el" directory)))))
+
+;;;###autoload
+(defun char-db-dump-shuowen (directory)
+  (interactive "DDump Shuowen : ")
+  (let ((coding-system-for-write char-db-file-coding-system)
+       (code 1)
+       chr)
+    (with-temp-buffer
+      (insert (format ";; -*- coding: %s -*-\n"
+                     char-db-file-coding-system))
+      (while (<= code 52101)
+       (when (setq chr (decode-char '=shuowen-jiguge code 'defined-only))
+         (insert-char-data-with-variant chr))
+       (setq code (1+ code)))
+      (write-region (point-min)(point-max)
+                   (expand-file-name "ShuoWen.el" directory)))))
+
+;;;###autoload
+(defun char-db-dump-ruimoku6 (directory)
+  (interactive "DDump ruimoku6 : ")
+  (let ((coding-system-for-write char-db-file-coding-system)
+       (code #xE000)
+       chr)
+    (with-temp-buffer
+      (insert (format ";; -*- coding: %s -*-\n"
+                     char-db-file-coding-system))
+      (while (<= code #xE8FF)
+       (when (setq chr (decode-char '=ruimoku-v6 code 'defined-only))
+         (insert-char-data chr))
+       (setq code (1+ code)))
+      (write-region (point-min)(point-max)
+                   (expand-file-name "ruimoku6.el" directory)))))
+
+;;;###autoload
+(defun char-db-dump-additional-precomposed (directory)
+  (interactive "DDump additional-precomposed : ")
+  (let ((coding-system-for-write char-db-file-coding-system))
+    (with-temp-buffer
+      (insert (format ";; -*- coding: %s -*-\n"
+                     char-db-file-coding-system))
+      (map-char-attribute
+       (lambda (char value)
+        (unless (char-ucs char)
+          (unless (char-ucs char)
+            (insert-char-data char)))
+        nil)
+       '=decomposition)
+      (write-region (point-min)(point-max)
+                   (expand-file-name
+                    "additional-precomposed.el" directory)))))
+
+
+;;;###autoload
 (defun char-db-dump (directory)
   (interactive "DDirectory to dump : ")
   (char-db-dump-ideographs directory)
-  (char-db-dump-non-ideographs directory))
+  (char-db-dump-non-ideographs directory)
+  (char-db-dump-oracle-bones directory)
+  (char-db-dump-shuowen directory)
+  (char-db-dump-ruimoku6 directory)
+  (char-db-dump-additional-precomposed directory))
 
 
 ;;; @ End.