X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=dump-tables.el;h=0d4f798fa8b1f09d68d7b33bc8ae4393ea85c4b9;hb=HEAD;hp=1134b543b2be034bbeca676992e288e71e9a33e4;hpb=e41d0b0c106e197ce2ead2ac7903b0dc3228ab5a;p=chise%2Ftomoyo-tools.git diff --git a/dump-tables.el b/dump-tables.el index 1134b54..0d4f798 100644 --- a/dump-tables.el +++ b/dump-tables.el @@ -1,6 +1,6 @@ ;;; dump-tables.el --- Dump utility of mapping tables -;; Copyright (C) 2002,2003 MORIOKA Tomohiko +;; Copyright (C) 2002,2003,2004,2005 MORIOKA Tomohiko ;; Author: MORIOKA Tomohiko ;; Keywords: Ideographs, Character Database, CHISE, UCS, Unicode @@ -41,9 +41,9 @@ (while (< cell 127) (when (and (setq chr (make-char ccs row cell)) (setq ucs (or (encode-char chr 'ucs 'defined-only) - (get-char-attribute chr '=>ucs)))) + (char-feature chr '=>ucs)))) (setq ucs-l (or (encode-char chr ucs-ccs 'defined-only) - (get-char-attribute chr ucs-ccs-map))) + (char-feature chr ucs-ccs-map))) (insert (format ccs-format row cell)) (if (and ucs-l (/= ucs-l ucs)) (insert (format ucs-ccs-format ucs-l)) @@ -111,6 +111,27 @@ 'japanese-jisx0213-2 "JX2-" 'jis "JU+")) ;;;###autoload +(defun dump-ks-x1001-to-ucs-table (filename) + (interactive "Fdump K0-to-UCS : ") + (dump-94x94-ccs-to-ucs-table + filename "K0-to-UCS.txt" + '=ks-x1001 "K0-" 'ks "KU+")) + +;;;###autoload +(defun dump-cns-11643-1-to-ucs-table (filename) + (interactive "Fdump C1-to-UCS : ") + (dump-94x94-ccs-to-ucs-table + filename "C1-to-UCS.txt" + 'chinese-cns11643-1 "C1-" 'cns "CU+")) + +;;;###autoload +(defun dump-cns-11643-2-to-ucs-table (filename) + (interactive "Fdump C2-to-UCS : ") + (dump-94x94-ccs-to-ucs-table + filename "C2-to-UCS.txt" + 'chinese-cns11643-2 "C2-" 'cns "CU+")) + +;;;###autoload (defun dump-cns-11643-3-to-ucs-table (filename) (interactive "Fdump C3-to-UCS : ") (dump-94x94-ccs-to-ucs-table @@ -195,6 +216,71 @@ (setq i (1+ i)))) (write-region (point-min)(point-max) filename))) +;;;###autoload +(defun dump-jis2ucsdkw (filename) + (interactive "Fdump jis2ucsdkw : ") + (if (file-directory-p filename) + (setq filename (expand-file-name "jis2ucsdkw.txt" filename))) + (with-temp-buffer + (let ((row 33) + cell chr ucs-j md) + (while (< row 127) + (setq cell 33) + (while (< cell 127) + (when (and (setq chr (make-char 'japanese-jisx0213-1 row cell)) + (setq ucs-j + (or (encode-char chr '=ucs@jis-2000 'defined-only) + (get-char-attribute chr '=>ucs@jis-2000) + (get-char-attribute chr '=>ucs@jis) + (get-char-attribute chr '=>ucs))) + (or (and (<= #x3400 ucs-j) (<= ucs-j #x9FA5)) + (and (<= #xF900 ucs-j) (<= ucs-j #xFA6F)) + (<= #x20000 ucs-j))) + (insert (format "J1-%02d%02d" (- row 32)(- cell 32))) + (if ucs-j + (insert (format " U+%05X" ucs-j)) + (insert " ")) + (setq md (char-daikanwa chr)) + (cond ((integerp md) + (insert (format " D%05d.0\n" md))) + ((eq (car md) 'ho) + (insert (format " DHo%03d\n" (nth 1 md)))) + (md + (insert (format " D%05d.%d\n" (car md)(nth 1 md)))) + (t + (insert "\n"))) + ) + (setq cell (1+ cell))) + (setq row (1+ row))) + (setq row 33) + (while (< row 127) + (setq cell 33) + (while (< cell 127) + (when (and (setq chr (make-char 'japanese-jisx0213-2 row cell)) + (setq ucs-j + (or (encode-char chr '=ucs@jis-2000 'defined-only) + (get-char-attribute chr '=>ucs@jis-2000) + (get-char-attribute chr '=>ucs@jis) + (get-char-attribute chr '=>ucs)))) + (insert (format "J2-%02d%02d" (- row 32)(- cell 32))) + (if ucs-j + (insert (format " U+%05X" ucs-j)) + (insert " ")) + (setq md (char-daikanwa chr)) + (cond ((integerp md) + (insert (format " D%05d.0\n" md))) + ((eq (car md) 'ho) + (insert (format " DHo%03d\n" (nth 1 md)))) + (md + (insert (format " D%05d.%d\n" (car md)(nth 1 md)))) + (t + (insert "\n"))) + ) + (setq cell (1+ cell))) + (setq row (1+ row))) + ) + (write-region (point-min)(point-max) filename))) + ;;; @ End. ;;;