update.
[chise/tomoyo-tools.git] / char-db-dump.el
index b13b32a..d7bdd5f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; char-db-dump.el --- Dump utility of char-spec files
 
-;; Copyright (C) 2002,2003,2004 MORIOKA Tomohiko
+;; Copyright (C) 2002,2003,2004,2005 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
 ;; Keywords: Ideographs, Character Database, CHISE, UCS, Unicode
 
 
 ;;;###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)
+    (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))
+         (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-ruimoku6 (directory)
   (interactive "DDump ruimoku6 : ")
-  (let ((coding-system-for-write 'utf-8-mcs)
+  (let ((coding-system-for-write char-db-file-coding-system)
        (code #xE000)
        chr)
     (with-temp-buffer
-      (insert ";; -*- coding: utf-8-mcs -*-\n")
+      (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))
       (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-ruimoku6 directory))
+  (char-db-dump-oracle-bones directory)
+  (char-db-dump-ruimoku6 directory)
+  (char-db-dump-additional-precomposed directory))
 
 
 ;;; @ End.