X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=char-db-dump.el;h=2f717afb063544cc7e0ad989b524fe997e9200fc;hb=44ab9cc3e48bee15631fea0f741ba89e626a5e4c;hp=8b99e76f516a1cec60422a78745140a74b1bb944;hpb=e2d1493e23d077e483e1556427ef7d0800878c5b;p=chise%2Ftomoyo-tools.git diff --git a/char-db-dump.el b/char-db-dump.el index 8b99e76..2f717af 100644 --- a/char-db-dump.el +++ b/char-db-dump.el @@ -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 -;; Keywords: Ideographs, Character Database, UTF-2000, UCS, Unicode +;; Keywords: Ideographs, Character Database, CHISE, UCS, Unicode ;; This file is a part of tomoyo-tools. @@ -108,6 +108,7 @@ (#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") @@ -133,15 +134,89 @@ (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-files (directory) +(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.