This commit was manufactured by cvs2svn to create tag 'egg-980304'. egg-980304
authortomo <tomo>
Sun, 30 Aug 1998 09:51:50 +0000 (09:51 +0000)
committertomo <tomo>
Sun, 30 Aug 1998 09:51:50 +0000 (09:51 +0000)
13 files changed:
egg-edep.el [deleted file]
egg/canna.el [deleted file]
egg/cannarpc.el [deleted file]
euc-china.el [deleted file]
euc-cn.el [deleted file]
its/ascii.el [deleted file]
its/erpin.el [deleted file]
its/hankata.el [deleted file]
its/jeonkak.el [deleted file]
its/kata.el [deleted file]
its/quanjiao.el [deleted file]
its/zenkaku.el [deleted file]
its/zhuyin.el [deleted file]

diff --git a/egg-edep.el b/egg-edep.el
deleted file mode 100644 (file)
index 2d1e3d9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;; This file serves Emacs version dependent definitions
-
-(if (and (fboundp 'set-buffer-multibyte)
-        (subrp (symbol-function 'set-buffer-multibyte)))
-    ;; Emacs 20.3
-    (progn
-      (defun egg-char-bytes (x) 1)
-      (defun egg-charset-bytes (x) 1)
-      (defun egg-char-bytes-at (str pos) 1)
-      (defun egg-chars-in-period (str pos len) len)
-      (defalias 'egg-string-to-vector 'identity)
-      (defalias 'egg-string-to-char-at 'aref)
-      )
-  ;; Emacs 20.2
-  (defun set-buffer-multibyte (flag)
-    (setq enable-multibyte-characters flag))
-  (defalias 'string-as-unibyte 'identity)
-  (defalias 'string-as-multibyte 'identity)
-  (defalias 'coding-system-put 'put)
-
-  (defalias 'egg-char-bytes 'char-bytes)
-  (defalias 'egg-charset-bytes 'charset-bytes)
-  (defun egg-char-bytes-at (str pos)
-    (char-bytes (egg-string-to-char-at str pos)))
-  (defun egg-chars-in-period (str pos len)
-    (chars-in-string (substring str pos (+ pos len))))
-  (defalias 'egg-string-to-vector 'string-to-vector)
-  (defun egg-string-to-char-at (str pos)
-    (let ((c (aref str pos)))
-      (if (or (< c ?\200)
-             (>= c ?\240)
-             (>= (1+ pos) (length str))
-             (< (aref str (1+ pos)) ?\240))
-         c
-       (string-match "[\240-\377]+" str (1+ pos))
-       (string-to-char (substring str pos (match-end 0))))))
-  )
-
-;; Elisp bug fix
-
-(defun egg-next-single-property-change (pos prop &optional object limit)
-  (min limit (next-single-property-change pos prop object (1+ limit))))
-
-(provide 'egg-edep)
diff --git a/egg/canna.el b/egg/canna.el
deleted file mode 100644 (file)
index c401aa2..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-;;; egg/canna.el --- Canna Support (high level interface) in
-;;;                  Egg Input Method Architecture
-
-;; Copyright (C) 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: NIIBE Yutaka <gniibe@mri.co.jp>
-;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
-
-;; This file is part of EGG.
-
-;; EGG is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; EGG is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'egg-edep)
-
-(defconst canna-support-languages '(Japanese))
-
-(eval-when-compile
-  (defmacro CANNA-const (c)
-    (cond ((eq c 'FileNotExist) xxxxxxxxxxxxxx)
-         )))
-
-(defconst canna-conversion-backend
-  [ canna-init
-
-    canna-start-conversion
-      canna-get-bunsetsu-converted
-      canna-get-bunsetsu-source
-      canna-list-candidates
-          canna-get-number-of-candidates
-          canna-get-current-candidate-number
-          canna-get-all-candidates
-          canna-decide-candidate
-      canna-change-bunsetsu-length
-    canna-end-conversion
-    nil
-
-    canna-fini
- ])
-
-(defconst canna-server-port 5680 "Port number of Canna server")
-(defvar canna-hostname "localhost"
-  "Hostname of Canna server")
-
-(defun canna-open (hostname)
-  "Establish the connection to CANNA server.  Return environment object."
-  (let* ((buf (generate-new-buffer " *CANNA*"))
-        (proc (open-network-stream "CANNA" buf hostname canna-server-port))
-        result)
-    (process-kill-without-query proc)
-    (set-process-coding-system proc 'no-conversion 'no-conversion)
-    (set-marker-insertion-type (process-mark proc) t)
-    (save-excursion
-      (set-buffer buf)
-      (erase-buffer)
-      (buffer-disable-undo)
-      (set-buffer-multibyte nil))
-    (setq result (cannarpc-open proc (user-login-name)))
-    (if (< result 0)
-       (let ((msg (cannarpc-get-error-message (- result))))
-         (delete-process proc)
-         (kill-buffer buf)
-         (error "Can't open CANNA session (%s): %s" hostname msg)))
-    (vector proc result)))
-
-;; XXX: Should support multiple outstanding context
-;; <env> ::= [ <proc> <context> ]
-(defvar canna-environment nil
-  "Environment for CANNA kana-kanji conversion")
-
-(defsubst cannaenv-get-proc (env)
-  (aref env 0))
-(defsubst cannaenv-get-context (env)
-  (aref env 1))
-
-;; <bunsetsu> ::=
-;;  [ <env> <converted> <bunsetsu-pos>
-;;    <source> <zenkouho-pos> <zenkouho> ]
-(defsubst canna-make-bunsetsu (env converted bunsetsu-pos)
-  (vector env converted bunsetsu-pos nil nil nil))
-
-(defsubst cannabunsetsu-get-env (b)
-  (aref b 0))
-(defsubst cannabunsetsu-get-converted (b)
-  (aref b 1))
-(defsubst cannabunsetsu-get-bunsetsu-pos (b)
-  (aref b 2))
-(defsubst cannabunsetsu-get-source (b)
-  (aref b 3))
-(defsubst cannabunsetsu-set-source (b s)
-  (aset b 3 s))
-(defsubst cannabunsetsu-get-zenkouho-pos (b)
-  (aref b 4))
-(defsubst cannabunsetsu-set-zenkouho-pos (b p)
-  (aset b 4 p))
-(defsubst cannabunsetsu-get-zenkouho (b)
-  (aref b 5))
-(defsubst cannabunsetsu-set-zenkouho (b z)
-  (aset b 5 z))
-
-(defun canna-get-bunsetsu-source (b)
-  (let ((s (cannabunsetsu-get-source b)))
-    (or s
-       (let* ((env (cannabunsetsu-get-env b))
-              (bp (cannabunsetsu-get-bunsetsu-pos b))
-              (s (cannarpc-get-bunsetsu-source env bp)))
-         (cannabunsetsu-set-source b s)))))
-
-(defun canna-get-bunsetsu-converted (b)
-  (cannabunsetsu-get-converted b))
-
-(defconst canna-dictionary-specification
-  '("iroha"
-    "fuzokugo"
-    "hojomwd"
-    "hojoswd"
-    "bushu"
-    ("user")
-    )
-  "Dictionary specification of CANNA.")
-
-(defun canna-filename (p)
-  ""
-  (cond ((consp p) (concat (car p) "/" (user-login-name)))
-       (t p)))
-
-(defun canna-get-environment ()
-  "Return the backend of CANNA environment."
-  (if canna-environment
-      canna-environment
-    (let* ((env (canna-open canna-hostname))
-          (l canna-dictionary-specification)
-          dict-list)
-      (while l
-       (let ((dic (car l))
-             result)
-         (setq result
-               (canna-open-dictionary env (canna-filename dic)))
-         (if (= result 255)
-             (error "Damedamedame")            ; XXX
-           (setq l (cdr l)))))
-      (setq canna-environment env))))
-
-(defun canna-open-dictionary (env name)
-  (let ((trying t)
-       ret)
-    (while trying
-      (setq ret (cannarpc-open-dictionary env name 0)) ; XXX MODE=0
-      (if (= ret 0)
-         (setq trying nil)
-       (message "\e$B<-=q%U%!%$%k\e(B(%s)\e$B$,$"$j$^$;$s\e(B" name)
-       (setq ret (- ret))              ; Get error code.
-       (if (and (y-or-n-p
-                 (format "\e$B<-=q%U%!%$%k\e(B(%s)\e$B$,$"$j$^$;$s!#:n$j$^$9$+\e(B? "
-                         name))
-                (= (cannarpc-make-dictionary env name) 0))
-           (message "\e$B<-=q%U%!%$%k\e(B(%s)\e$B$r:n$j$^$7$?\e(B" name)
-         (error "Fatal"))))
-    ret))
-
-(defun canna-init ()
-  )
-
-(defun canna-start-conversion (yomi lang)
-  "Convert YOMI string to kanji, and enter conversion mode.
-Return the list of bunsetsu."
-  (let ((env (canna-get-environment)))
-    (cannarpc-begin-conversion env yomi)))
-
-(defun canna-end-conversion (bunsetsu-list abort)
-  (let* ((env (cannabunsetsu-get-env (car bunsetsu-list)))
-        (l bunsetsu-list)
-        (len (length bunsetsu-list))
-        (zenkouho-pos-vector (make-vector (* 2 len) 0))
-        (i 0)
-        (mode 1) ;XXX MODE=1 attru?
-        bunsetsu zenkouho-pos)
-    (if abort
-       (setq mode 0))
-    (while l
-      (setq bunsetsu (car l))
-      (setq l (cdr l))
-      (setq zenkouho-pos (cannabunsetsu-get-zenkouho-pos bunsetsu))
-      (if (null zenkouho-pos)
-         () ; XXX: NIL--> 0 atteru???
-       (aset zenkouho-pos-vector i 0)  ; XXX Don't support >=256
-       (aset zenkouho-pos-vector (1+ i) zenkouho-pos))
-      (setq i (+ i 2)))
-    (cannarpc-end-conversion env len zenkouho-pos-vector 0)))
-
-(defun canna-list-candidates (bunsetsu prev-bunsetsu)
-  (let* ((env (cannabunsetsu-get-env bunsetsu))
-        (bunsetsu-pos (cannabunsetsu-get-bunsetsu-pos bunsetsu))
-        (z (cannarpc-get-bunsetsu-candidates env bunsetsu-pos)))
-    (cannabunsetsu-set-zenkouho bunsetsu z)
-    (cannabunsetsu-set-zenkouho-pos bunsetsu 0)
-    0))
-
-(defun canna-get-number-of-candidates (bunsetsu)
-  (let ((l (cannabunsetsu-get-zenkouho bunsetsu)))
-    (if l
-       (length l)
-      nil)))
-
-(defun canna-decide-candidate (bunsetsu candidate-pos)
-  (let* ((candidate-list (cannabunsetsu-get-zenkouho bunsetsu))
-        (candidate (nth candidate-pos candidate-list)))
-    (cannabunsetsu-set-zenkouho candidate candidate-list)
-    (cannabunsetsu-set-zenkouho-pos candidate candidate-pos)
-    candidate))
-
-(defun canna-get-current-candidate-number (bunsetsu)
-  (cannabunsetsu-get-zenkouho-pos bunsetsu))
-
-(defun canna-get-all-candidates (bunsetsu)
-  (let* ((l (cannabunsetsu-get-zenkouho bunsetsu))
-        (result (cons nil nil))
-        (r result))
-    (catch 'break
-      (while t
-       (let ((candidate (car l)))
-         (setcar r (cannabunsetsu-get-converted candidate))
-         (if (null (setq l (cdr l)))
-             (throw 'break nil)
-           (setq r (setcdr r (cons nil nil)))))))
-    result))
-
-;;;;;;;;;;;;;;;;;;;;;;; MADAMADA zenzendame, just copy from SJ3
-(defun canna-change-bunsetsu-length (b0 b1 b2 len)
-  (let ((yomi (concat
-              (cannabunsetsu-get-source b1)
-              (if b2 (cannabunsetsu-get-source b2))))
-       (env (cannabunsetsu-get-env b1))
-       yomi1 yomi2
-       bunsetsu1 bunsetsu2)
-    (setq yomi1 (substring yomi 0 len)
-         yomi2 (substring yomi len))
-    (setq bunsetsu1
-         (cannarpc-tanbunsetsu-conversion env yomi1))
-    ;; Only set once (memory original length of the bunsetsu).
-    (cannabunsetsu-set-kugiri-changed bunsetsu1
-                                   (or (cannabunsetsu-get-kugiri-changed b1)
-                                       (length (cannabunsetsu-get-source b1))))
-    (if (< 0 (length yomi2))
-       (setq bunsetsu2 (cannarpc-tanbunsetsu-conversion env yomi2))
-      (setq bunsetsu2 nil))
-    (if bunsetsu2
-       (list bunsetsu1 bunsetsu2)
-      (list bunsetsu1))))
-
-;;;;;;;;;;;;;; MADAMADA
-(defun canna-fini (lang)
-)
-
-;;; setup
-
-(require 'egg)
-(load "egg/cannarpc")
-
-;;;###autoload
-(defun egg-activate-canna (&rest arg)
-  "Activate CANNA backend of Tamagotchy."
-  (egg-set-support-languages canna-support-languages)
-  (egg-set-conversion-backend canna-conversion-backend 
-                             canna-support-languages
-                             nil)
-  (apply 'egg-mode arg))
-
-;;; egg/canna.el ends here.
diff --git a/egg/cannarpc.el b/egg/cannarpc.el
deleted file mode 100644 (file)
index fadaf05..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-;;; egg/cannarpc.el --- Canna Support (low level interface) in
-;;;                     Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: NIIBE Yutaka <gniibe@mri.co.jp>
-;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
-
-;; This file is part of EGG.
-
-;; EGG is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; EGG is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;;; Code:
-
-(eval-when-compile
-  (require 'egg-com)
-;;  (load-library "egg/canna")
-  (defmacro canna-const (c)
-    (cond ((eq c 'Initialize)            1)
-         ((eq c 'Finalize)              2)
-         ((eq c 'CreateContext)         3)
-         ((eq c 'CloseContext)          5)
-         ((eq c 'GetDictionaryList)     6)
-         ((eq c 'GetDirectoryList)      7)
-         ((eq c 'MountDictionary)       8)
-         ((eq c 'UnmountDictionary)       9)
-         ((eq c 'BeginConvert)         15)
-         ((eq c 'EndConvert)           16)
-         ((eq c 'GetCandidacyList)     17)
-         ((eq c 'GetYomi)              18)
-         ((eq c 'ResizePause)          26)
-
-         ((eq c 'CreateDictionary)      3)
-         (t (error "No such constant")))))
-
-(defun cannarpc-get-error-message (errno)
-  (or (aref cannarpc-error-message errno) (format "#%d" errno)))
-
-(defmacro cannarpc-call-with-environment (e vlist send-expr &rest receive-exprs)
-  (let ((v (append
-           `((proc (cannaenv-get-proc ,e))
-             (context (cannaenv-get-context ,e)))
-           vlist)))
-    (list
-     'let v
-     (append
-       `(save-excursion
-          (set-buffer (process-buffer proc))
-          (erase-buffer)
-          ,send-expr
-          (process-send-region proc (point-min) (point-max))
-          (goto-char (prog1 (point) (accept-process-output proc))))
-       receive-exprs))))
-\f
-(defconst canna-version-fmt "2.0:%s")
-
-(defun cannarpc-open (proc username)
-  "Open the session.  Return 0 on success, error code on failure."
-  (let ((verusr (format canna-version-fmt username)))
-    (comm-call-with-proc proc (result)
-      (comm-format (u u v) (canna-const Initialize) (length verusr) verusr)
-      (comm-unpack (u) result)
-      result)))
-
-(defun cannarpc-close (proc)
-  (comm-call-with-proc proc (dummy result)
-    (comm-format (b b w) (canna-const Finalize) 0 0)
-    (comm-unpack (b b w b) dummy dummy dummy result)
-    result))
-
-(defun cannarpc-create-context (proc)
-  (comm-call-with-proc proc (dummy result)
-    (comm-format (b b w) (canna-const CreateContext) 0 0)
-    (comm-unpack (b b w w) dummy dummy dummy result)
-    result))
-
-(defun cannarpc-close-context (proc context)
-  (comm-call-with-proc proc (dummy result)
-    (comm-format (b b w w) (canna-const CloseContext) 0 2 context)
-    (comm-unpack (b b w b) dummy dummy dummy result)
-    result))
-
-;; XXX: Not implemented fully
-(defun cannarpc-get-dictionary-list (env)
-  (cannarpc-call-with-environment env (dymmy result)
-    (comm-format (b b w w w) (canna-const GetDictionaryList) 0 4
-                context 1024)
-    (comm-unpack (u w) dummy result)
-    ;; follow list of dictionaries
-    result))
-
-;; XXX: Not implemented fully
-(defun cannarpc-get-directory-list (env)
-  (cannarpc-call-with-environment env (dymmy result)
-    (comm-format (b b w w w) (canna-const GetDirectoryList) 0 4
-                context 1024)
-    (comm-unpack (u w) dummy result)
-    ;; follow list of directories
-    result))
-
-(defun cannarpc-open-dictionary (env dict-file-name mode)
-  (cannarpc-call-with-environment env (dymmy result)
-    (comm-format (b b w u w s) (canna-const MountDictionary) 0
-                (+ (length dict-file-name) 7)
-                mode context dict-file-name)
-    (comm-unpack (u b) dummy result)
-    result))
-
-(defun cannarpc-close-dictionary (env dict-file-name mode)
-  (cannarpc-call-with-environment env (dymmy result)
-    (comm-format (b b w u w s) (canna-const UnmountDictionary) 0
-                (+ (length dict-file-name) 6)
-                mode context dict-file-name)
-    (comm-unpack (u b) dummy result)
-    result))
-
-(defun cannarpc-begin-conversion (env yomi)
-  "Begin conversion."
-  (let ((yomi-ext (encode-coding-string yomi 'euc-japan))
-       (i 0)
-       converted bunsetsu-list bl)
-    (cannarpc-call-with-environment env (dummy result)
-      (comm-format (b b w u w S) (canna-const BeginConvert) 0
-                  (+ (length yomi-ext) 8) 0 context yomi)
-      (comm-unpack (u w) dummy result)
-      (if (= result 65535)
-         -1                            ; failure
-       (while (< i result)
-         (comm-unpack (S) converted)
-         (let ((bl1 (cons (canna-make-bunsetsu env converted i)
-                          nil)))
-           (if bl
-               (setq bl (setcdr bl bl1))
-             (setq bunsetsu-list (setq bl bl1))))
-         (setq i (1+ i)))
-       bunsetsu-list))))
-
-(defun cannarpc-end-conversion (env len zenkouho-pos-vector mode)
-  "End conversion."
-  (cannarpc-call-with-environment env (dummy result)
-    (comm-format (b b w w w u v) (canna-const EndConvert) 0
-                (+ (* len 2) 8) context len mode zenkouho-pos-vector)
-    (comm-unpack (u b) dummy result)
-    (if (= result 255)
-       -1                              ; failure
-      result)))
-
-(defun cannarpc-make-dictionary (env dict-name)
-  (cannarpc-call-with-environment env (dummy result)
-    (comm-format (b b w u w s) (canna-const CreateDictionary) 1
-                (+ (length dict-name) 7) 0 context dict-name)
-    (comm-unpack (u b) dummy result)
-    result))
-
-(defun cannarpc-get-bunsetsu-source (env bunsetsu-pos)
-  (cannarpc-call-with-environment env (dummy result)
-    (comm-format (b b w w w w) (canna-const GetYomi) 0 6 context
-                bunsetsu-pos 1024)
-    (comm-unpack (u w) dummy result)
-    (if (= result 65535)
-       -1
-      (comm-unpack (S) result)
-      result)))
-
-(defun cannarpc-get-bunsetsu-candidates (env bunsetsu-pos)
-  (let ((i 0)
-       converted bunsetsu-list bl)
-    (cannarpc-call-with-environment env (dummy result)
-      (comm-format (b b w w w w) (canna-const GetCandidacyList) 0 6 context
-                  bunsetsu-pos 1024)
-      (comm-unpack (u w) dymmy result)
-      (if (= result 65535)
-         -1                            ; failure
-       (while (< i result)
-         (comm-unpack (S) converted)
-         (let ((bl1 (cons (canna-make-bunsetsu env converted bunsetsu-pos)
-                          nil)))
-           (if bl
-               (setq bl (setcdr bl bl1))
-             (setq bunsetsu-list (setq bl bl1))))
-         (setq i (1+ i)))
-       bunsetsu-list))))
-
-;;; egg/cannarpc.el ends here.
diff --git a/euc-china.el b/euc-china.el
deleted file mode 100644 (file)
index ebcfb00..0000000
+++ /dev/null
@@ -1,484 +0,0 @@
-;;; euc-china.el --- Fixed EUC-CN/TW handling routines.
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-;; Maintainer: KATAYAMA Yoshio <kate@pfu.co.jp>
-;; Keywords: mule, multilingual, input method, chinese
-
-;; This file will be part of GNU Emacs (in future).
-
-;; EGG is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; EGG is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-
-;;; Code:
-
-(defvar egg-zhuyin nil)
-
-(defconst yincode-pinyin-shengmu
-  '((""  . 0)  ("B" . 1)  ("C"  . 2)  ("Ch" . 3)  ("D" . 4)
-    ("F" . 5)  ("G" . 6)  ("H"  . 7)  ("J"  . 8)  ("K" . 9)
-    ("L" . 10) ("M" . 11) ("N"  . 12) ("P"  . 13) ("Q" . 14)
-    ("R" . 15) ("S" . 16) ("Sh" . 17) ("T"  . 18) ("W" . 19)
-    ("X" . 20) ("Y" . 21) ("Z"  . 22) ("Zh" . 23)))
-
-(defconst yincode-pinyin-yunmu
-  '(("\e(0@\e(B"      0 0) ("\e(0@\e(B"      0 1) ("\e(0@\e(B"      0 3) ("\e(0@\e(B"      0 5) ("\e(0@\e(B"      0 7)
-    ("a\e(0@\e(B"     1 0) ("\e(0!@\e(B"     1 1) ("\e(0"@\e(B"     1 3) ("\e(0#@\e(B"     1 5) ("\e(0$@\e(B"     1 7)
-    ("ai\e(0@\e(B"    2 0) ("\e(0!\e(Bi\e(0@\e(B"    2 1) ("\e(0"\e(Bi\e(0@\e(B"    2 3) ("\e(0#\e(Bi\e(0@\e(B"    2 5) ("\e(0$\e(Bi\e(0@\e(B"    2 7)
-    ("an\e(0@\e(B"    3 0) ("\e(0!\e(Bn\e(0@\e(B"    3 1) ("\e(0"\e(Bn\e(0@\e(B"    3 3) ("\e(0#\e(Bn\e(0@\e(B"    3 5) ("\e(0$\e(Bn\e(0@\e(B"    3 7)
-    ("ang\e(0@\e(B"   4 0) ("\e(0!\e(Bng\e(0@\e(B"   4 1) ("\e(0"\e(Bng\e(0@\e(B"   4 3) ("\e(0#\e(Bng\e(0@\e(B"   4 5) ("\e(0$\e(Bng\e(0@\e(B"   4 7)
-    ("ao\e(0@\e(B"    5 0) ("\e(0!\e(Bo\e(0@\e(B"    5 1) ("\e(0"\e(Bo\e(0@\e(B"    5 3) ("\e(0#\e(Bo\e(0@\e(B"    5 5) ("\e(0$\e(Bo\e(0@\e(B"    5 7)
-    ("e\e(0@\e(B"     6 0) ("\e(0%@\e(B"     6 1) ("\e(0&@\e(B"     6 3) ("\e(0'@\e(B"     6 5) ("\e(0(@\e(B"     6 7)
-    ("ei\e(0@\e(B"    7 0) ("\e(0%\e(Bi\e(0@\e(B"    7 1) ("\e(0&\e(Bi\e(0@\e(B"    7 3) ("\e(0'\e(Bi\e(0@\e(B"    7 5) ("\e(0(\e(Bi\e(0@\e(B"    7 7)
-    ("en\e(0@\e(B"    8 0) ("\e(0%\e(Bn\e(0@\e(B"    8 1) ("\e(0&\e(Bn\e(0@\e(B"    8 3) ("\e(0'\e(Bn\e(0@\e(B"    8 5) ("\e(0(\e(Bn\e(0@\e(B"    8 7)
-    ("eng\e(0@\e(B"   9 0) ("\e(0%\e(Bng\e(0@\e(B"   9 1) ("\e(0&\e(Bng\e(0@\e(B"   9 3) ("\e(0'\e(Bng\e(0@\e(B"   9 5) ("\e(0(\e(Bng\e(0@\e(B"   9 7)
-    ("er\e(0@\e(B"   10 0) ("\e(0%\e(Br\e(0@\e(B"   10 1) ("\e(0&\e(Br\e(0@\e(B"   10 3) ("\e(0'\e(Br\e(0@\e(B"   10 5) ("\e(0(\e(Br\e(0@\e(B"   10 7)
-    ("i\e(0@\e(B"    11 0) ("\e(0)@\e(B"    11 1) ("\e(0*@\e(B"    11 3) ("\e(0+@\e(B"    11 5) ("\e(0,@\e(B"    11 7)
-    ("ia\e(0@\e(B"   12 0) ("i\e(0!@\e(B"   12 1) ("i\e(0"@\e(B"   12 3) ("i\e(0#@\e(B"   12 5) ("i\e(0$@\e(B"   12 7)
-    ("ian\e(0@\e(B"  13 0) ("i\e(0!\e(Bn\e(0@\e(B"  13 1) ("i\e(0"\e(Bn\e(0@\e(B"  13 3) ("i\e(0#\e(Bn\e(0@\e(B"  13 5) ("i\e(0$\e(Bn\e(0@\e(B"  13 7)
-    ("iang\e(0@\e(B" 14 0) ("i\e(0!\e(Bng\e(0@\e(B" 14 1) ("i\e(0"\e(Bng\e(0@\e(B" 14 3) ("i\e(0#\e(Bng\e(0@\e(B" 14 5) ("i\e(0$\e(Bng\e(0@\e(B" 14 7)
-    ("iao\e(0@\e(B"  15 0) ("i\e(0!\e(Bo\e(0@\e(B"  15 1) ("i\e(0"\e(Bo\e(0@\e(B"  15 3) ("i\e(0#\e(Bo\e(0@\e(B"  15 5) ("i\e(0$\e(Bo\e(0@\e(B"  15 7)
-    ("ie\e(0@\e(B"   16 0) ("i\e(0%@\e(B"   16 1) ("i\e(0&@\e(B"   16 3) ("i\e(0'@\e(B"   16 5) ("i\e(0(@\e(B"   16 7)
-    ("in\e(0@\e(B"   17 0) ("\e(0)\e(Bn\e(0@\e(B"   17 1) ("\e(0*\e(Bn\e(0@\e(B"   17 3) ("\e(0+\e(Bn\e(0@\e(B"   17 5) ("\e(0,\e(Bn\e(0@\e(B"   17 7)
-    ("ing\e(0@\e(B"  18 0) ("\e(0)\e(Bng\e(0@\e(B"  18 1) ("\e(0*\e(Bng\e(0@\e(B"  18 3) ("\e(0+\e(Bng\e(0@\e(B"  18 5) ("\e(0,\e(Bng\e(0@\e(B"  18 7)
-    ("iong\e(0@\e(B" 19 0) ("i\e(0-\e(Bng\e(0@\e(B" 19 1) ("i\e(0.\e(Bng\e(0@\e(B" 19 3) ("i\e(0/\e(Bng\e(0@\e(B" 19 5) ("i\e(00\e(Bng\e(0@\e(B" 19 7)
-    ("iu\e(0@\e(B"   20 0) ("i\e(01@\e(B"   20 1) ("i\e(02@\e(B"   20 3) ("i\e(03@\e(B"   20 5) ("i\e(04@\e(B"   20 7)
-    ("m\e(0@\e(B"    21 0) ("m\e(0@\e(B"    21 1) ("m\e(0@\e(B"    21 3) ("m\e(0@\e(B"    21 5) ("m\e(0@\e(B"    21 7)
-    ("n\e(0@\e(B"    22 0) ("n\e(0@\e(B"    22 1) ("\e(0=@\e(B"    22 3) ("\e(0>@\e(B"    22 5) ("\e(0?@\e(B"    22 7)
-    ("ng\e(0@\e(B"   23 0) ("ng\e(0@\e(B"   23 1) ("ng\e(0@\e(B"   23 3) ("ng\e(0@\e(B"   23 5) ("ng\e(0@\e(B"   23 7)
-    ("o\e(0@\e(B"    24 0) ("\e(0-@\e(B"    24 1) ("\e(0.@\e(B"    24 3) ("\e(0/@\e(B"    24 5) ("\e(00@\e(B"    24 7)
-    ("ong\e(0@\e(B"  25 0) ("\e(0-\e(Bng\e(0@\e(B"  25 1) ("\e(0.\e(Bng\e(0@\e(B"  25 3) ("\e(0/\e(Bng\e(0@\e(B"  25 5) ("\e(00\e(Bng\e(0@\e(B"  25 7)
-    ("ou\e(0@\e(B"   26 0) ("\e(0-\e(Bu\e(0@\e(B"   26 1) ("\e(0.\e(Bu\e(0@\e(B"   26 3) ("\e(0/\e(Bu\e(0@\e(B"   26 5) ("\e(00\e(Bu\e(0@\e(B"   26 7)
-    ("u\e(0@\e(B"    27 0) ("\e(01@\e(B"    27 1) ("\e(02@\e(B"    27 3) ("\e(03@\e(B"    27 5) ("\e(04@\e(B"    27 7)
-    ("ua\e(0@\e(B"   28 0) ("u\e(0!@\e(B"   28 1) ("u\e(0"@\e(B"   28 3) ("u\e(0#@\e(B"   28 5) ("u\e(0$@\e(B"   28 7)
-    ("uai\e(0@\e(B"  29 0) ("u\e(0!\e(Bi\e(0@\e(B"  29 1) ("u\e(0"\e(Bi\e(0@\e(B"  29 3) ("u\e(0#\e(Bi\e(0@\e(B"  29 5) ("u\e(0$\e(Bi\e(0@\e(B"  29 7)
-    ("uan\e(0@\e(B"  30 0) ("u\e(0!\e(Bn\e(0@\e(B"  30 1) ("u\e(0"\e(Bn\e(0@\e(B"  30 3) ("u\e(0#\e(Bn\e(0@\e(B"  30 5) ("u\e(0$\e(Bn\e(0@\e(B"  30 7)
-    ("uang\e(0@\e(B" 31 0) ("u\e(0!\e(Bng\e(0@\e(B" 31 1) ("u\e(0"\e(Bng\e(0@\e(B" 31 3) ("u\e(0#\e(Bng\e(0@\e(B" 31 5) ("u\e(0$\e(Bng\e(0@\e(B" 31 7)
-    ("ue\e(0@\e(B"   32 0) ("u\e(0%@\e(B"   32 1) ("u\e(0&@\e(B"   32 3) ("u\e(0'@\e(B"   32 5) ("u\e(0(@\e(B"   32 7)
-    ("ui\e(0@\e(B"   33 0) ("u\e(0)@\e(B"   33 1) ("u\e(0*@\e(B"   33 3) ("u\e(0+@\e(B"   33 5) ("u\e(0,@\e(B"   33 7)
-    ("un\e(0@\e(B"   34 0) ("\e(01\e(Bn\e(0@\e(B"   34 1) ("\e(02\e(Bn\e(0@\e(B"   34 3) ("\e(03\e(Bn\e(0@\e(B"   34 5) ("\e(04\e(Bn\e(0@\e(B"   34 7)
-    ("uo\e(0@\e(B"   35 0) ("u\e(0-@\e(B"   35 1) ("u\e(0.@\e(B"   35 3) ("u\e(0/@\e(B"   35 5) ("u\e(00@\e(B"   35 7)
-    ("\e(09@\e(B"    36 0) ("\e(05@\e(B"    36 1) ("\e(06@\e(B"    36 3) ("\e(07@\e(B"    36 5) ("\e(08@\e(B"    36 7)
-    ("\e(09\e(Be\e(0@\e(B"   37 0) ("\e(09%@\e(B"   37 1) ("\e(09&@\e(B"   37 3) ("\e(09'@\e(B"   37 5) ("\e(09(@\e(B"   37 7)
-    ("0\e(0@\e(B"    38 0) ("1\e(0@\e(B"    38 1) ("2\e(0@\e(B"    38 3) ("3\e(0@\e(B"    38 5) ("4\e(0@\e(B"    38 7)))
-
-(defconst yincode-pinyin-table
-  [
-   0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
-   0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1
-   0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1
-   0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1
-   0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
-   0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1
-   0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   ])
-
-(defconst yincode-zhuyin-shengmu
-  '((""  .  0) ("\e(0E\e(B" .  1) ("\e(0X\e(B" .  2) ("\e(0T\e(B" .  3) ("\e(0I\e(B" .  4)
-    ("\e(0H\e(B" .  5) ("\e(0M\e(B" .  6) ("\e(0O\e(B" .  7) ("\e(0P\e(B" .  8) ("\e(0N\e(B" .  9)
-    ("\e(0L\e(B" . 10) ("\e(0G\e(B" . 11) ("\e(0K\e(B" . 12) ("\e(0F\e(B" . 13) ("\e(0Q\e(B" . 14)
-    ("\e(0V\e(B" . 15) ("\e(0Y\e(B" . 16) ("\e(0U\e(B" . 17) ("\e(0J\e(B" . 18) ("\e(0h\e(B" . 19)
-    ("\e(0R\e(B" . 20) ("\e(0g\e(B" . 21) ("\e(0W\e(B" . 22) ("\e(0S\e(B" . 23)))
-
-(defconst yincode-zhuyin-yunmu
-  '(("\e(0@\e(B"    0 0) ("\e(0A\e(B"    0 1) ("\e(0B\e(B"    0 3) ("\e(0C\e(B"    0 5) ("\e(0D\e(B"    0 7) ; i
-    ("\e(0Z@\e(B"   1 0) ("\e(0ZA\e(B"   1 1) ("\e(0ZB\e(B"   1 3) ("\e(0ZC\e(B"   1 5) ("\e(0ZD\e(B"   1 7) ; a
-    ("\e(0^@\e(B"   2 0) ("\e(0^A\e(B"   2 1) ("\e(0^B\e(B"   2 3) ("\e(0^C\e(B"   2 5) ("\e(0^D\e(B"   2 7) ; ai
-    ("\e(0b@\e(B"   3 0) ("\e(0bA\e(B"   3 1) ("\e(0bB\e(B"   3 3) ("\e(0bC\e(B"   3 5) ("\e(0bD\e(B"   3 7) ; an
-    ("\e(0d@\e(B"   4 0) ("\e(0dA\e(B"   4 1) ("\e(0dB\e(B"   4 3) ("\e(0dC\e(B"   4 5) ("\e(0dD\e(B"   4 7) ; ang
-    ("\e(0`@\e(B"   5 0) ("\e(0`A\e(B"   5 1) ("\e(0`B\e(B"   5 3) ("\e(0`C\e(B"   5 5) ("\e(0`D\e(B"   5 7) ; ao
-    ("\e(0\@\e(B"   6 0) ("\e(0\A\e(B"   6 1) ("\e(0\B\e(B"   6 3) ("\e(0\C\e(B"   6 5) ("\e(0\D\e(B"   6 7) ; e
-    ("\e(0_@\e(B"   7 0) ("\e(0_A\e(B"   7 1) ("\e(0_B\e(B"   7 3) ("\e(0_C\e(B"   7 5) ("\e(0_D\e(B"   7 7) ; ei
-    ("\e(0c@\e(B"   8 0) ("\e(0cA\e(B"   8 1) ("\e(0cB\e(B"   8 3) ("\e(0cC\e(B"   8 5) ("\e(0cD\e(B"   8 7) ; en
-    ("\e(0e@\e(B"   9 0) ("\e(0eA\e(B"   9 1) ("\e(0eB\e(B"   9 3) ("\e(0eC\e(B"   9 5) ("\e(0eD\e(B"   9 7) ; eng
-    ("\e(0f@\e(B"  10 0) ("\e(0fA\e(B"  10 1) ("\e(0fB\e(B"  10 3) ("\e(0fC\e(B"  10 5) ("\e(0fD\e(B"  10 7) ; er
-    ("\e(0g@\e(B"  11 0) ("\e(0gA\e(B"  11 1) ("\e(0gB\e(B"  11 3) ("\e(0gC\e(B"  11 5) ("\e(0gD\e(B"  11 7) ; i
-    ("\e(0gZ@\e(B" 12 0) ("\e(0gZA\e(B" 12 1) ("\e(0gZB\e(B" 12 3) ("\e(0gZC\e(B" 12 5) ("\e(0gZD\e(B" 12 7) ; ia
-    ("\e(0gb@\e(B" 13 0) ("\e(0gbA\e(B" 13 1) ("\e(0gbB\e(B" 13 3) ("\e(0gbC\e(B" 13 5) ("\e(0gbD\e(B" 13 7) ; ian
-    ("\e(0gd@\e(B" 14 0) ("\e(0gdA\e(B" 14 1) ("\e(0gdB\e(B" 14 3) ("\e(0gdC\e(B" 14 5) ("\e(0gdD\e(B" 14 7) ; iang
-    ("\e(0g`@\e(B" 15 0) ("\e(0g`A\e(B" 15 1) ("\e(0g`B\e(B" 15 3) ("\e(0g`C\e(B" 15 5) ("\e(0g`D\e(B" 15 7) ; iao
-    ("\e(0g]@\e(B" 16 0) ("\e(0g]A\e(B" 16 1) ("\e(0g]B\e(B" 16 3) ("\e(0g]C\e(B" 16 5) ("\e(0g]D\e(B" 16 7) ; ie
-    ("\e(0gc@\e(B" 17 0) ("\e(0gcA\e(B" 17 1) ("\e(0gcB\e(B" 17 3) ("\e(0gcC\e(B" 17 5) ("\e(0gcD\e(B" 17 7) ; in
-    ("\e(0ge@\e(B" 18 0) ("\e(0geA\e(B" 18 1) ("\e(0geB\e(B" 18 3) ("\e(0geC\e(B" 18 5) ("\e(0geD\e(B" 18 7) ; ing
-    ("\e(0ie@\e(B" 19 0) ("\e(0ieA\e(B" 19 1) ("\e(0ieB\e(B" 19 3) ("\e(0ieC\e(B" 19 5) ("\e(0ieD\e(B" 19 7) ; iong
-    ("\e(0ga@\e(B" 20 0) ("\e(0gaA\e(B" 20 1) ("\e(0gaB\e(B" 20 3) ("\e(0gaC\e(B" 20 5) ("\e(0gaD\e(B" 20 7) ; iu
-    ("\e(0G@\e(B"  21 0) ("\e(0GA\e(B"  21 1) ("\e(0GB\e(B"  21 3) ("\e(0GC\e(B"  21 5) ("\e(0GD\e(B"  21 7) ; m
-    ("\e(0K@\e(B"  22 0) ("\e(0KA\e(B"  22 1) ("\e(0KB\e(B"  22 3) ("\e(0KC\e(B"  22 5) ("\e(0KD\e(B"  22 7) ; n
-    ("@\e(0@\e(B"  23 0) ("@\e(0A\e(B"  23 1) ("@\e(0B\e(B"  23 3) ("@\e(0C\e(B"  23 5) ("@\e(0D\e(B"  23 7) ; ng
-    ("\e(0[@\e(B"  24 0) ("\e(0[A\e(B"  24 1) ("\e(0[B\e(B"  24 3) ("\e(0[C\e(B"  24 5) ("\e(0[D\e(B"  24 7) ; o
-    ("\e(0he@\e(B" 25 0) ("\e(0heA\e(B" 25 1) ("\e(0heB\e(B" 25 3) ("\e(0heC\e(B" 25 5) ("\e(0heD\e(B" 25 7) ; ong
-    ("\e(0a@\e(B"  26 0) ("\e(0aA\e(B"  26 1) ("\e(0aB\e(B"  26 3) ("\e(0aC\e(B"  26 5) ("\e(0aD\e(B"  26 7) ; ou
-    ("\e(0h@\e(B"  27 0) ("\e(0hA\e(B"  27 1) ("\e(0hB\e(B"  27 3) ("\e(0hC\e(B"  27 5) ("\e(0hD\e(B"  27 7) ; u
-    ("\e(0hZ@\e(B" 28 0) ("\e(0hZA\e(B" 28 1) ("\e(0hZB\e(B" 28 3) ("\e(0hZC\e(B" 28 5) ("\e(0hZD\e(B" 28 7) ; ua
-    ("\e(0h^@\e(B" 29 0) ("\e(0h^A\e(B" 29 1) ("\e(0h^B\e(B" 29 3) ("\e(0h^C\e(B" 29 5) ("\e(0h^D\e(B" 29 7) ; uai
-    ("\e(0hb@\e(B" 30 0) ("\e(0hbA\e(B" 30 1) ("\e(0hbB\e(B" 30 3) ("\e(0hbC\e(B" 30 5) ("\e(0hbD\e(B" 30 7) ; uan
-    ("\e(0hd@\e(B" 31 0) ("\e(0hdA\e(B" 31 1) ("\e(0hdB\e(B" 31 3) ("\e(0hdC\e(B" 31 5) ("\e(0hdD\e(B" 31 7) ; uang
-    ("\e(0i]@\e(B" 37 0) ("\e(0i]A\e(B" 37 1) ("\e(0i]B\e(B" 37 3) ("\e(0i]C\e(B" 37 5) ("\e(0i]D\e(B" 37 7) ; ue
-    ("\e(0h_@\e(B" 33 0) ("\e(0h_A\e(B" 33 1) ("\e(0h_B\e(B" 33 3) ("\e(0h_C\e(B" 33 5) ("\e(0h_D\e(B" 33 7) ; ui
-    ("\e(0hc@\e(B" 34 0) ("\e(0hcA\e(B" 34 1) ("\e(0hcB\e(B" 34 3) ("\e(0hcC\e(B" 34 5) ("\e(0hcD\e(B" 34 7) ; un
-    ("\e(0h[@\e(B" 35 0) ("\e(0h[A\e(B" 35 1) ("\e(0h[B\e(B" 35 3) ("\e(0h[C\e(B" 35 5) ("\e(0h[D\e(B" 35 7) ; uo
-    ("\e(0i@\e(B"  36 0) ("\e(0iA\e(B"  36 1) ("\e(0iB\e(B"  36 3) ("\e(0iC\e(B"  36 5) ("\e(0iD\e(B"  36 7) ; \e(09\e(B
-    ("\e(0i]@\e(B" 37 0) ("\e(0i]A\e(B" 37 1) ("\e(0i]B\e(B" 37 3) ("\e(0i]C\e(B" 37 5) ("\e(0i]D\e(B" 37 7) ; \e(09\e(Be
-    ("0\e(0@\e(B"  38 0) ("1\e(0A\e(B"  38 1) ("2\e(0B\e(B"  38 3) ("3\e(0C\e(B"  38 5) ("4\e(0D\e(B"  38 7) ; undefined
-    ("\e(0ib@\e(B" 39 0) ("\e(0ibA\e(B" 39 1) ("\e(0ibB\e(B" 39 3) ("\e(0ibC\e(B" 39 5) ("\e(0ibD\e(B" 39 7) ; \e(09\e(Ban
-    ("\e(0ic@\e(B" 40 0) ("\e(0icA\e(B" 40 1) ("\e(0icB\e(B" 40 3) ("\e(0icC\e(B" 40 5) ("\e(0icD\e(B" 40 7) ; \e(09\e(Bn
-    ))
-
-(defconst yincode-zhuyin-table
-  [
-   ;; empty ShengMu
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x9586 ?\x0000 ?\x9592 ?\x9599
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x959b ?\x95a0 ?\x0000 ?\x959e
-   ?\x95a2
-   ;; ShengMu B
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu C
-   ?\x828b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0280 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Ch
-   ?\x838b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0380 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu D
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu F
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu G
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu H
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu J
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x08a4 ?\x0000 ?\x0000
-   ?\x08a7 ?\x0000 ?\x08a5 ?\x0000 ?\x08a8 ?\x0000 ?\x889b ?\x88a0 ?\x8000 ?\x889e
-   ?\x88a2
-   ;; ShengMu K
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu L
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu M
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu N
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu P
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000 
-   ;; ShengMu Q
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0ea4 ?\x0000 ?\x0000
-   ?\x0ea7 ?\x0000 ?\x0ea5 ?\x0000 ?\x0ea8 ?\x0000 ?\x8e9b ?\x8ea0 ?\x8000 ?\x8e9e
-   ?\x8ea2
-   ;; ShengMu R
-   ?\x8f8b ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0f80 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu S
-   ?\x908b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1080 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Sh
-   ?\x918b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1180 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu T
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu W
-   ?\x939b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x0000 ?\x1380 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu X
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x14a4 ?\x0000 ?\x0000
-   ?\x14a7 ?\x0000 ?\x14a5 ?\x0000 ?\x14a8 ?\x0000 ?\x949b ?\x94a0 ?\x8000 ?\x949e
-   ?\x94a2
-   ;; ShengMu Y 
-   ?\x958b ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0090 ?\x0000 ?\x9591 ?\x9592
-   ?\x0000 ?\x1580 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x1588 ?\x1589 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0093 ?\x8000 ?\x00a4 ?\x0000 ?\x0000
-   ?\x00a7 ?\x0000 ?\x00a5 ?\x0000 ?\x00a8 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Z
-   ?\x968b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1680 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Zh 
-   ?\x978b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1780 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ])
-
-(defun egg-chinese-syllable (str &optional start)
-  (if start
-      (setq str (substring str start)))
-  (or (car (egg-pinyin-syllable str))
-      (car (egg-zhuyin-syllable str))))
-
-(defsubst egg-make-fixed-euc-china-code (s y)
-  (concat (list
-          (+ (* 2 (nth 1 y)) (logand (nth 2 y) 1) 32)
-          (+ (* 4 (if (= s 0) 20 s)) (lsh (nth 2 y) -1) 156))))
-
-(defun egg-pinyin-syllable (str)
-  (let (s y end)
-    (if (string-match "^[A-Za-z\e(0!\e(B-\e(0?\e(B]+\e(0@\e(B" str)
-       (progn
-         (setq end (match-end 0))
-         (cond
-          ((setq s (cdr (assoc (substring str 0 2) yincode-pinyin-shengmu)))
-           (setq y (substring str 2 end)))
-          ((setq s (cdr (assoc (substring str 0 1) yincode-pinyin-shengmu)))
-           (setq y (substring str 1 end)))
-          (t
-           (setq s 0 y (substring str 0 end))))
-         (if (and (setq y (assoc y yincode-pinyin-yunmu))
-                  (= (aref yincode-pinyin-table (+ (* 39 s) (nth 1 y))) 1))
-             (cons end (egg-make-fixed-euc-china-code s y)))))))
-
-(defun egg-zhuyin-syllable (str)
-  (let (end s y c z (zhuyin-len (charset-bytes 'chinese-sisheng)))
-    (if (string-match "^[\e(0E\e(B-\e(0i\e(B@0-4]+[\e(0@ABCD\e(B]" str)
-       (progn
-         (setq end (match-end 0)
-               c (substring str 0 zhuyin-len)
-               s (cdr (assoc c yincode-zhuyin-shengmu))
-               y (assoc (substring str zhuyin-len end) yincode-zhuyin-yunmu))
-         (if (null (and s y))
-             (setq s 0
-                   y (assoc (substring str 0 end) yincode-zhuyin-yunmu)))
-         (if (and y
-                  (setq z (aref yincode-zhuyin-table (+ (* 41 s) (nth 1 y))))
-                  (/= (logand z ?\x8000) 0))
-             (if (/= (logand z ?\x80) 0)
-                 (cons end (egg-make-fixed-euc-china-code
-                            (logand (lsh z -8) ?\x7f)
-                            (list nil (logand z ?\x7f) (nth 2 y))))
-               (cons end (egg-make-fixed-euc-china-code s y))))))))
-
-(defun encode-fixed-euc-china-region (beg end type)
-  "Encode the text in the region to EUC-CN/TW."
-  (let (s syl c cset (maxlen (max (length "Zhu\e(0!\e(Bng\e(0@\e(B") (length "\e(0ShdA\e(B"))))
-    (save-excursion
-      (save-restriction
-       (narrow-to-region beg end)
-       (goto-char (point-min))
-       (while (< (point) (point-max))
-         (setq s (buffer-substring (point) 
-                                   (min (+ (point) maxlen) (point-max))))
-         (cond
-          ((setq syl (egg-pinyin-syllable s))
-           (delete-region (point) (+ (point) (car syl)))
-           (insert (cdr syl)))
-          ((setq syl (egg-zhuyin-syllable s))
-           (delete-region (point) (+ (point) (car syl)))
-           (insert (cdr syl)))
-          (t
-           (setq c (split-char (following-char))
-                 cset (car c))
-           (cond
-            ((or (and (eq cset 'chinese-gb2312) (eq type 'cn))
-                 (and (eq cset 'chinese-cns11643-1) (eq type 'tw)))
-             (delete-char 1)
-             (insert (+ (nth 1 c) 128) (+ (nth 2 c) 128)))
-            ((and (eq cset 'chinese-cns11643-2) (eq type 'tw))
-             (delete-char 1)
-             (insert (+ (nth 1 c) 128) (nth 2 c)))
-            ((eq cset 'chinese-sisheng)
-             (delete-char 1)
-             (insert 0 (+ (nth 1 c) 128)))
-            (t
-             (delete-region (point) (1+ (point)))
-             (insert 0 (nth 1 c)))))))
-       (- (point-max) (point-min))))))
-
-(defun pre-write-encode-fixed-euc-china (from to type)
-  (let ((buf (current-buffer))
-       (work (get-buffer-create " *pre-write-encoding-work*")))
-    (set-buffer work)
-    (erase-buffer)
-    (if (stringp from)
-       (insert from)
-      (insert-buffer-substring buf from to))
-    (encode-fixed-euc-china-region 1 (point-max) type)
-    nil))
-
-(defun pre-write-encode-euc-cn (from to)
-  (pre-write-encode-fixed-euc-china from to 'cn))
-
-(defun pre-write-encode-euc-tw (from to)
-  (pre-write-encode-fixed-euc-china from to 'tw))
-
-(defun decode-fixed-euc-china-region (beg end type)
-  "Decode EUC-CN/TW encoded text in the region.
-Return the length of resulting text."
-  (interactive "r")
-  (prog1
-      (let (c0 c1 s y ss)
-       (save-restriction
-         (narrow-to-region beg end)
-         (goto-char (point-min))
-         (while (< (point) (point-max))
-           (setq c1 (buffer-substring (point) (+ (point) 2))
-                 c0 (aref c1 0)
-                 c1 (aref c1 1))
-           (delete-region (point) (+ (point) 2))
-           (cond
-            ((eq c0 0)
-             (if (> c1 ?\xa0)
-                 (insert leading-code-private-11
-                         (charset-id 'chinese-sisheng)
-                         c1)
-               (insert c1)))
-            ((>= c0 ?\x80)
-             (cond
-              ((eq type 'cn)
-               (insert (charset-id 'chinese-gb2312) c0 (logior c1 ?\x80)))
-              ((>= c0 ?\x80)
-               (insert (charset-id 'chinese-cns11643-1) c0 c1))
-              (t
-               (insert (charset-id 'chinese-cns11643-2) c0 (+ c1 ?\x80)))))
-            (t
-             (setq c1 (logand c1 ?\x7f))
-             (setq s (- (lsh c1 -2) 7)  ;;(+ (lsh (- c1 32) -2) 1)
-                   y (- (lsh c0 -1) 16) ;;(lsh (- c0 32) -1)
-                   ss (+ (logand c0 1) (logand c1 3)))
-             (if egg-zhuyin
-                  (progn
-                   (setq c0 (aref yincode-zhuyin-table (+ (* 41 s) y)))
-                    (if (eq (logand c0 ?\x8080) ?\x80)
-                        (setq s (lsh c0 -8)
-                              y (logand c0 ?\x7f)))
-                    (if (and (eq s 20)
-                             (eq (aref yincode-pinyin-table (+ (* 39 s) y)) 0))
-                        (setq s 0))
-                    (insert (car (nth s yincode-zhuyin-shengmu))
-                            (car (nth (+ (* 5 y) ss) yincode-zhuyin-yunmu))))
-                (if (and (eq s 20)
-                         (eq (aref yincode-pinyin-table (+ (* 39 s) y)) 0))
-                    (setq s 0))
-               (insert (car (nth s yincode-pinyin-shengmu))
-                       (car (nth (+ (* 5 y) ss) yincode-pinyin-yunmu)))))))
-         (- (point-max) (point-min))))
-    (if (looking-at "\0\0") (forward-char 2))))
-
-(defun post-read-decode-fixed-euc-china (len type)
-  (let ((pos (point))
-       (buffer-modified-p (buffer-modified-p)))
-    (prog1
-       (decode-fixed-euc-china-region pos (+ pos len) type)
-      (set-buffer-modified-p buffer-modified-p))))
-
-(defun post-read-decode-euc-cn (len)
-  (post-read-decode-fixed-euc-china len 'cn))
-
-(defun post-read-decode-euc-tw (len)
-  (post-read-decode-fixed-euc-china len 'tw))
-
-(make-coding-system 'fixed-euc-cn 5 ?W "Coding System for fixed EUC Chinese-gb2312")
-(put 'fixed-euc-cn 'pre-write-conversion 'pre-write-encode-euc-cn)
-(put 'fixed-euc-cn 'post-read-conversion 'post-read-decode-euc-cn)
-
-(make-coding-system 'fixed-euc-tw 5 ?W "Coding System for fixed EUC Chinese-cns11643")
-(put 'fixed-euc-tw 'pre-write-conversion 'pre-write-encode-euc-tw)
-(put 'fixed-euc-tw 'post-read-conversion 'post-read-decode-euc-tw)
-
-;;; euc-china.el ends here.
diff --git a/euc-cn.el b/euc-cn.el
deleted file mode 100644 (file)
index e001daa..0000000
--- a/euc-cn.el
+++ /dev/null
@@ -1,449 +0,0 @@
-;;; euc-cn.el --- Fixed EUC-CN handling routines.
-
-;; Copyright (C) 1997 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-;; Maintainer: KATAYAMA Yoshio <kate@pfu.co.jp>
-;; Keywords: mule, multilingual, input method, chinese
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-
-;;; Code:
-
-(defvar cwnn-zhuyin nil)
-
-(defconst chinese-sisheng-leading-chars
-  (concat (char-to-string (aref (charset-info 'chinese-sisheng) 6))
-         (char-to-string (aref (charset-info 'chinese-sisheng) 7))))
-(defconst yincoding-pinyin-shengmu
-  '((""  . 0)  ("B" . 1)  ("C"  . 2)  ("Ch" . 3)  ("D" . 4)
-    ("F" . 5)  ("G" . 6)  ("H"  . 7)  ("J"  . 8)  ("K" . 9)
-    ("L" . 10) ("M" . 11) ("N"  . 12) ("P"  . 13) ("Q" . 14)
-    ("R" . 15) ("S" . 16) ("Sh" . 17) ("T"  . 18) ("W" . 19)
-    ("X" . 20) ("Y" . 21) ("Z"  . 22) ("Zh" . 23)))
-
-(defconst yincoding-pinyin-yunmu
-  '(("\e(0@\e(B"      0) ("\e(0@\e(B"      0 0) ("\e(0@\e(B"      0 1) ("\e(0@\e(B"      0 2) ("\e(0@\e(B"      0 3)
-    ("a\e(0@\e(B"     1) ("\e(0!@\e(B"     1 0) ("\e(0"@\e(B"     1 1) ("\e(0#@\e(B"     1 2) ("\e(0$@\e(B"     1 3)
-    ("ai\e(0@\e(B"    2) ("\e(0!\e(Bi\e(0@\e(B"    2 0) ("\e(0"\e(Bi\e(0@\e(B"    2 1) ("\e(0#\e(Bi\e(0@\e(B"    2 2) ("\e(0$\e(Bi\e(0@\e(B"    2 3)
-    ("an\e(0@\e(B"    3) ("\e(0!\e(Bn\e(0@\e(B"    3 0) ("\e(0"\e(Bn\e(0@\e(B"    3 1) ("\e(0#\e(Bn\e(0@\e(B"    3 2) ("\e(0$\e(Bn\e(0@\e(B"    3 3)
-    ("ang\e(0@\e(B"   4) ("\e(0!\e(Bng\e(0@\e(B"   4 0) ("\e(0"\e(Bng\e(0@\e(B"   4 1) ("\e(0#\e(Bng\e(0@\e(B"   4 2) ("\e(0$\e(Bng\e(0@\e(B"   4 3)
-    ("ao\e(0@\e(B"    5) ("\e(0!\e(Bo\e(0@\e(B"    5 0) ("\e(0"\e(Bo\e(0@\e(B"    5 1) ("\e(0#\e(Bo\e(0@\e(B"    5 2) ("\e(0$\e(Bo\e(0@\e(B"    5 3)
-    ("e\e(0@\e(B"     6) ("\e(0%@\e(B"     6 0) ("\e(0&@\e(B"     6 1) ("\e(0'@\e(B"     6 2) ("\e(0(@\e(B"     6 3)
-    ("ei\e(0@\e(B"    7) ("\e(0%\e(Bi\e(0@\e(B"    7 0) ("\e(0&\e(Bi\e(0@\e(B"    7 1) ("\e(0'\e(Bi\e(0@\e(B"    7 2) ("\e(0(\e(Bi\e(0@\e(B"    7 3)
-    ("en\e(0@\e(B"    8) ("\e(0%\e(Bn\e(0@\e(B"    8 0) ("\e(0&\e(Bn\e(0@\e(B"    8 1) ("\e(0'\e(Bn\e(0@\e(B"    8 2) ("\e(0(\e(Bn\e(0@\e(B"    8 3)
-    ("eng\e(0@\e(B"   9) ("\e(0%\e(Bng\e(0@\e(B"   9 0) ("\e(0&\e(Bng\e(0@\e(B"   9 1) ("\e(0'\e(Bng\e(0@\e(B"   9 2) ("\e(0(\e(Bng\e(0@\e(B"   9 3)
-    ("er\e(0@\e(B"   10) ("\e(0%\e(Br\e(0@\e(B"   10 0) ("\e(0&\e(Br\e(0@\e(B"   10 1) ("\e(0'\e(Br\e(0@\e(B"   10 2) ("\e(0(\e(Br\e(0@\e(B"   10 3)
-    ("i\e(0@\e(B"    11) ("\e(0)@\e(B"    11 0) ("\e(0*@\e(B"    11 1) ("\e(0+@\e(B"    11 2) ("\e(0,@\e(B"    11 3)
-    ("ia\e(0@\e(B"   12) ("i\e(0!@\e(B"   12 0) ("i\e(0"@\e(B"   12 1) ("i\e(0#@\e(B"   12 2) ("i\e(0$@\e(B"   12 3)
-    ("ian\e(0@\e(B"  13) ("i\e(0!\e(Bn\e(0@\e(B"  13 0) ("i\e(0"\e(Bn\e(0@\e(B"  13 1) ("i\e(0#\e(Bn\e(0@\e(B"  13 2) ("i\e(0$\e(Bn\e(0@\e(B"  13 3)
-    ("iang\e(0@\e(B" 14) ("i\e(0!\e(Bng\e(0@\e(B" 14 0) ("i\e(0"\e(Bng\e(0@\e(B" 14 1) ("i\e(0#\e(Bng\e(0@\e(B" 14 2) ("i\e(0$\e(Bng\e(0@\e(B" 14 3)
-    ("iao\e(0@\e(B"  15) ("i\e(0!\e(Bo\e(0@\e(B"  15 0) ("i\e(0"\e(Bo\e(0@\e(B"  15 1) ("i\e(0#\e(Bo\e(0@\e(B"  15 2) ("i\e(0$\e(Bo\e(0@\e(B"  15 3)
-    ("ie\e(0@\e(B"   16) ("i\e(0%@\e(B"   16 0) ("i\e(0&@\e(B"   16 1) ("i\e(0'@\e(B"   16 2) ("i\e(0(@\e(B"   16 3)
-    ("in\e(0@\e(B"   17) ("\e(0)\e(Bn\e(0@\e(B"   17 0) ("\e(0*\e(Bn\e(0@\e(B"   17 1) ("\e(0+\e(Bn\e(0@\e(B"   17 2) ("\e(0,\e(Bn\e(0@\e(B"   17 3)
-    ("ing\e(0@\e(B"  18) ("\e(0)\e(Bng\e(0@\e(B"  18 0) ("\e(0*\e(Bng\e(0@\e(B"  18 1) ("\e(0+\e(Bng\e(0@\e(B"  18 2) ("\e(0,\e(Bng\e(0@\e(B"  18 3)
-    ("iong\e(0@\e(B" 19) ("i\e(0-\e(Bng\e(0@\e(B" 19 0) ("i\e(0.\e(Bng\e(0@\e(B" 19 1) ("i\e(0/\e(Bng\e(0@\e(B" 19 2) ("i\e(00\e(Bng\e(0@\e(B" 19 3)
-    ("iu\e(0@\e(B"   20) ("i\e(01@\e(B"   20 0) ("i\e(02@\e(B"   20 1) ("i\e(03@\e(B"   20 2) ("i\e(04@\e(B"   20 3)
-    ("m\e(0@\e(B"    21) ("m\e(0@\e(B"    21 0) ("m\e(0@\e(B"    21 1) ("m\e(0@\e(B"    21 2) ("m\e(0@\e(B"    21 3)
-    ("n\e(0@\e(B"    22) ("n\e(0@\e(B"    22 0) ("\e(0=@\e(B"    22 1) ("\e(0>@\e(B"    22 2) ("\e(0?@\e(B"    22 3)
-    ("ng\e(0@\e(B"   23) ("ng\e(0@\e(B"   23 0) ("ng\e(0@\e(B"   23 1) ("ng\e(0@\e(B"   23 2) ("ng\e(0@\e(B"   23 3)
-    ("o\e(0@\e(B"    24) ("\e(0-@\e(B"    24 0) ("\e(0.@\e(B"    24 1) ("\e(0/@\e(B"    24 2) ("\e(00@\e(B"    24 3)
-    ("ong\e(0@\e(B"  25) ("\e(0-\e(Bng\e(0@\e(B"  25 0) ("\e(0.\e(Bng\e(0@\e(B"  25 1) ("\e(0/\e(Bng\e(0@\e(B"  25 2) ("\e(00\e(Bng\e(0@\e(B"  25 3)
-    ("ou\e(0@\e(B"   26) ("\e(0-\e(Bu\e(0@\e(B"   26 0) ("\e(0.\e(Bu\e(0@\e(B"   26 1) ("\e(0/\e(Bu\e(0@\e(B"   26 2) ("\e(00\e(Bu\e(0@\e(B"   26 3)
-    ("u\e(0@\e(B"    27) ("\e(01@\e(B"    27 0) ("\e(02@\e(B"    27 1) ("\e(03@\e(B"    27 2) ("\e(04@\e(B"    27 3)
-    ("ua\e(0@\e(B"   28) ("u\e(0!@\e(B"   28 0) ("u\e(0"@\e(B"   28 1) ("u\e(0#@\e(B"   28 2) ("u\e(0$@\e(B"   28 3)
-    ("uai\e(0@\e(B"  29) ("u\e(0!\e(Bi\e(0@\e(B"  29 0) ("u\e(0"\e(Bi\e(0@\e(B"  29 1) ("u\e(0#\e(Bi\e(0@\e(B"  29 2) ("u\e(0$\e(Bi\e(0@\e(B"  29 3)
-    ("uan\e(0@\e(B"  30) ("u\e(0!\e(Bn\e(0@\e(B"  30 0) ("u\e(0"\e(Bn\e(0@\e(B"  30 1) ("u\e(0#\e(Bn\e(0@\e(B"  30 2) ("u\e(0$\e(Bn\e(0@\e(B"  30 3)
-    ("uang\e(0@\e(B" 31) ("u\e(0!\e(Bng\e(0@\e(B" 31 0) ("u\e(0"\e(Bng\e(0@\e(B" 31 1) ("u\e(0#\e(Bng\e(0@\e(B" 31 2) ("u\e(0$\e(Bng\e(0@\e(B" 31 3)
-    ("ue\e(0@\e(B"   32) ("u\e(0%@\e(B"   32 0) ("u\e(0&@\e(B"   32 1) ("u\e(0'@\e(B"   32 2) ("u\e(0(@\e(B"   32 3)
-    ("ui\e(0@\e(B"   33) ("u\e(0)@\e(B"   33 0) ("u\e(0*@\e(B"   33 1) ("u\e(0+@\e(B"   33 2) ("u\e(0,@\e(B"   33 3)
-    ("un\e(0@\e(B"   34) ("\e(01\e(Bn\e(0@\e(B"   34 0) ("\e(02\e(Bn\e(0@\e(B"   34 1) ("\e(03\e(Bn\e(0@\e(B"   34 2) ("\e(04\e(Bn\e(0@\e(B"   34 3)
-    ("uo\e(0@\e(B"   35) ("u\e(0-@\e(B"   35 0) ("u\e(0.@\e(B"   35 1) ("u\e(0/@\e(B"   35 2) ("u\e(00@\e(B"   35 3)
-    ("\e(09@\e(B"    36) ("\e(05@\e(B"    36 0) ("\e(06@\e(B"    36 1) ("\e(07@\e(B"    36 2) ("\e(08@\e(B"    36 3)
-    ("\e(09\e(Be\e(0@\e(B"   37) ("\e(09%@\e(B"   37 0) ("\e(09&@\e(B"   37 1) ("\e(09'@\e(B"   37 2) ("\e(09(@\e(B"   37 3)
-    ("0\e(0@\e(B"    38) ("1\e(0@\e(B"    38 0) ("2\e(0@\e(B"    38 1) ("3\e(0@\e(B"    38 2) ("4\e(0@\e(B"    38 3)))
-
-(defconst yincoding-pinyin-table
-  [
-   0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
-   0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1
-   0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1
-   0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1
-   0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
-   0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1
-   0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1
-   0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 1
-   ])
-
-(defconst yincoding-zhuyin-length (charset-bytes 'chinese-sisheng))
-
-(defconst yincoding-zhuyin-shengmu
-  '((""  .  0) ("\e(0E\e(B" .  1) ("\e(0X\e(B" .  2) ("\e(0T\e(B" .  3) ("\e(0I\e(B" .  4)
-    ("\e(0H\e(B" .  5) ("\e(0M\e(B" .  6) ("\e(0O\e(B" .  7) ("\e(0P\e(B" .  8) ("\e(0N\e(B" .  9)
-    ("\e(0L\e(B" . 10) ("\e(0G\e(B" . 11) ("\e(0K\e(B" . 12) ("\e(0F\e(B" . 13) ("\e(0Q\e(B" . 14)
-    ("\e(0V\e(B" . 15) ("\e(0Y\e(B" . 16) ("\e(0U\e(B" . 17) ("\e(0J\e(B" . 18) ("\e(0h\e(B" . 19)
-    ("\e(0R\e(B" . 20) ("\e(0g\e(B" . 21) ("\e(0W\e(B" . 22) ("\e(0S\e(B" . 23)))
-
-(defconst yincoding-zhuyin-yunmu
-  '(("\e(0@\e(B"    0) ("\e(0A\e(B"    0 0) ("\e(0B\e(B"    0 1) ("\e(0C\e(B"    0 2) ("\e(0D\e(B"    0 3) ; i
-    ("\e(0Z@\e(B"   1) ("\e(0ZA\e(B"   1 0) ("\e(0ZB\e(B"   1 1) ("\e(0ZC\e(B"   1 2) ("\e(0ZD\e(B"   1 3) ; a
-    ("\e(0^@\e(B"   2) ("\e(0^A\e(B"   2 0) ("\e(0^B\e(B"   2 1) ("\e(0^C\e(B"   2 2) ("\e(0^D\e(B"   2 3) ; ai
-    ("\e(0b@\e(B"   3) ("\e(0bA\e(B"   3 0) ("\e(0bB\e(B"   3 1) ("\e(0bC\e(B"   3 2) ("\e(0bD\e(B"   3 3) ; an
-    ("\e(0d@\e(B"   4) ("\e(0dA\e(B"   4 0) ("\e(0dB\e(B"   4 1) ("\e(0dC\e(B"   4 2) ("\e(0dD\e(B"   4 3) ; ang
-    ("\e(0`@\e(B"   5) ("\e(0`A\e(B"   5 0) ("\e(0`B\e(B"   5 1) ("\e(0`C\e(B"   5 2) ("\e(0`D\e(B"   5 3) ; ao
-    ("\e(0\@\e(B"   6) ("\e(0\A\e(B"   6 0) ("\e(0\B\e(B"   6 1) ("\e(0\C\e(B"   6 2) ("\e(0\D\e(B"   6 3) ; e
-    ("\e(0_@\e(B"   7) ("\e(0_A\e(B"   7 0) ("\e(0_B\e(B"   7 1) ("\e(0_C\e(B"   7 2) ("\e(0_D\e(B"   7 3) ; ei
-    ("\e(0c@\e(B"   8) ("\e(0cA\e(B"   8 0) ("\e(0cB\e(B"   8 1) ("\e(0cC\e(B"   8 2) ("\e(0cD\e(B"   8 3) ; en
-    ("\e(0e@\e(B"   9) ("\e(0eA\e(B"   9 0) ("\e(0eB\e(B"   9 1) ("\e(0eC\e(B"   9 2) ("\e(0eD\e(B"   9 3) ; eng
-    ("\e(0f@\e(B"  10) ("\e(0fA\e(B"  10 0) ("\e(0fB\e(B"  10 1) ("\e(0fC\e(B"  10 2) ("\e(0fD\e(B"  10 3) ; er
-    ("\e(0g@\e(B"  11) ("\e(0gA\e(B"  11 0) ("\e(0gB\e(B"  11 1) ("\e(0gC\e(B"  11 2) ("\e(0gD\e(B"  11 3) ; i
-    ("\e(0gZ@\e(B" 12) ("\e(0gZA\e(B" 12 0) ("\e(0gZB\e(B" 12 1) ("\e(0gZC\e(B" 12 2) ("\e(0gZD\e(B" 12 3) ; ia
-    ("\e(0gb@\e(B" 13) ("\e(0gbA\e(B" 13 0) ("\e(0gbB\e(B" 13 1) ("\e(0gbC\e(B" 13 2) ("\e(0gbD\e(B" 13 3) ; ian
-    ("\e(0gd@\e(B" 14) ("\e(0gdA\e(B" 14 0) ("\e(0gdB\e(B" 14 1) ("\e(0gdC\e(B" 14 2) ("\e(0gdD\e(B" 14 3) ; iang
-    ("\e(0g`@\e(B" 15) ("\e(0g`A\e(B" 15 0) ("\e(0g`B\e(B" 15 1) ("\e(0g`C\e(B" 15 2) ("\e(0g`D\e(B" 15 3) ; iao
-    ("\e(0g]@\e(B" 16) ("\e(0g]A\e(B" 16 0) ("\e(0g]B\e(B" 16 1) ("\e(0g]C\e(B" 16 2) ("\e(0g]D\e(B" 16 3) ; ie
-    ("\e(0gc@\e(B" 17) ("\e(0gcA\e(B" 17 0) ("\e(0gcB\e(B" 17 1) ("\e(0gcC\e(B" 17 2) ("\e(0gcD\e(B" 17 3) ; in
-    ("\e(0ge@\e(B" 18) ("\e(0geA\e(B" 18 0) ("\e(0geB\e(B" 18 1) ("\e(0geC\e(B" 18 2) ("\e(0geD\e(B" 18 3) ; ing
-    ("\e(0ie@\e(B" 19) ("\e(0ieA\e(B" 19 0) ("\e(0ieB\e(B" 19 1) ("\e(0ieC\e(B" 19 2) ("\e(0ieD\e(B" 19 3) ; iong
-    ("\e(0ga@\e(B" 20) ("\e(0gaA\e(B" 20 0) ("\e(0gaB\e(B" 20 1) ("\e(0gaC\e(B" 20 2) ("\e(0gaD\e(B" 20 3) ; iu
-    ("\e(0G@\e(B"  21) ("\e(0GA\e(B"  21 0) ("\e(0GB\e(B"  21 1) ("\e(0GC\e(B"  21 2) ("\e(0GD\e(B"  21 3) ; m
-    ("\e(0K@\e(B"  22) ("\e(0KA\e(B"  22 0) ("\e(0KB\e(B"  22 1) ("\e(0KC\e(B"  22 2) ("\e(0KD\e(B"  22 3) ; n
-    ("@\e(0@\e(B"  23) ("@\e(0A\e(B"  23 0) ("@\e(0B\e(B"  23 1) ("@\e(0C\e(B"  23 2) ("@\e(0D\e(B"  23 3) ; ng
-    ("\e(0[@\e(B"  24) ("\e(0[A\e(B"  24 0) ("\e(0[B\e(B"  24 1) ("\e(0[C\e(B"  24 2) ("\e(0[D\e(B"  24 3) ; o
-    ("\e(0he@\e(B" 25) ("\e(0heA\e(B" 25 0) ("\e(0heB\e(B" 25 1) ("\e(0heC\e(B" 25 2) ("\e(0heD\e(B" 25 3) ; ong
-    ("\e(0a@\e(B"  26) ("\e(0aA\e(B"  26 0) ("\e(0aB\e(B"  26 1) ("\e(0aC\e(B"  26 2) ("\e(0aD\e(B"  26 3) ; ou
-    ("\e(0h@\e(B"  27) ("\e(0hA\e(B"  27 0) ("\e(0hB\e(B"  27 1) ("\e(0hC\e(B"  27 2) ("\e(0hD\e(B"  27 3) ; u
-    ("\e(0hZ@\e(B" 28) ("\e(0hZA\e(B" 28 0) ("\e(0hZB\e(B" 28 1) ("\e(0hZC\e(B" 28 2) ("\e(0hZD\e(B" 28 3) ; ua
-    ("\e(0h^@\e(B" 29) ("\e(0h^A\e(B" 29 0) ("\e(0h^B\e(B" 29 1) ("\e(0h^C\e(B" 29 2) ("\e(0h^D\e(B" 29 3) ; uai
-    ("\e(0hb@\e(B" 30) ("\e(0hbA\e(B" 30 0) ("\e(0hbB\e(B" 30 1) ("\e(0hbC\e(B" 30 2) ("\e(0hbD\e(B" 30 3) ; uan
-    ("\e(0hd@\e(B" 31) ("\e(0hdA\e(B" 31 0) ("\e(0hdB\e(B" 31 1) ("\e(0hdC\e(B" 31 2) ("\e(0hdD\e(B" 31 3) ; uang
-    ("\e(0i]@\e(B" 37) ("\e(0i]A\e(B" 37 0) ("\e(0i]B\e(B" 37 1) ("\e(0i]C\e(B" 37 2) ("\e(0i]D\e(B" 37 3) ; ue
-    ("\e(0h_@\e(B" 33) ("\e(0h_A\e(B" 33 0) ("\e(0h_B\e(B" 33 1) ("\e(0h_C\e(B" 33 2) ("\e(0h_D\e(B" 33 3) ; ui
-    ("\e(0hc@\e(B" 34) ("\e(0hcA\e(B" 34 0) ("\e(0hcB\e(B" 34 1) ("\e(0hcC\e(B" 34 2) ("\e(0hcD\e(B" 34 3) ; un
-    ("\e(0h[@\e(B" 35) ("\e(0h[A\e(B" 35 0) ("\e(0h[B\e(B" 35 1) ("\e(0h[C\e(B" 35 2) ("\e(0h[D\e(B" 35 3) ; uo
-    ("\e(0i@\e(B"  36) ("\e(0iA\e(B"  36 0) ("\e(0iB\e(B"  36 1) ("\e(0iC\e(B"  36 2) ("\e(0iD\e(B"  36 3) ; \e(09\e(B
-    ("\e(0i]@\e(B" 37) ("\e(0i]A\e(B" 37 0) ("\e(0i]B\e(B" 37 1) ("\e(0i]C\e(B" 37 2) ("\e(0i]D\e(B" 37 3) ; \e(09\e(Be
-    ("0\e(0@\e(B"  38) ("1\e(0A\e(B"  38 0) ("2\e(0B\e(B"  38 1) ("3\e(0C\e(B"  38 2) ("4\e(0D\e(B"  38 3) ; undefined YunMu
-    ("\e(0ib@\e(B" 39) ("\e(0ibA\e(B" 39 0) ("\e(0ibB\e(B" 39 1) ("\e(0ibC\e(B" 39 2) ("\e(0ibD\e(B" 39 3) ; \e(09\e(Ban
-    ("\e(0ic@\e(B" 40) ("\e(0icA\e(B" 40 0) ("\e(0icB\e(B" 40 1) ("\e(0icC\e(B" 40 2) ("\e(0icD\e(B" 40 3) ; \e(09\e(Bn
-    ))
-
-(defconst yincoding-zhuyin-table
-  [
-   ;; empty ShengMu
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x9586 ?\x0000 ?\x9592 ?\x9599
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x959b ?\x95a0 ?\x0000 ?\x959e
-   ?\x95a2
-   ;; ShengMu B
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu C
-   ?\x828b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0280 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Ch
-   ?\x838b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0380 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu D
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu F
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu G
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu H
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu J
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x08a4 ?\x0000 ?\x0000
-   ?\x08a7 ?\x0000 ?\x08a5 ?\x0000 ?\x08a8 ?\x0000 ?\x889b ?\x88a0 ?\x8000 ?\x889e
-   ?\x88a2
-   ;; ShengMu K
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu L
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu M
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu N
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu P
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000 
-   ;; ShengMu Q
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0ea4 ?\x0000 ?\x0000
-   ?\x0ea7 ?\x0000 ?\x0ea5 ?\x0000 ?\x0ea8 ?\x0000 ?\x8e9b ?\x8ea0 ?\x8000 ?\x8e9e
-   ?\x8ea2
-   ;; ShengMu R
-   ?\x8f8b ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0f80 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu S
-   ?\x908b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1080 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Sh
-   ?\x918b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1180 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu T
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x8000
-   ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu W
-   ?\x939b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000 ?\x0000 ?\x1380 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu X
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x14a4 ?\x0000 ?\x0000
-   ?\x14a7 ?\x0000 ?\x14a5 ?\x0000 ?\x14a8 ?\x0000 ?\x949b ?\x94a0 ?\x8000 ?\x949e
-   ?\x94a2
-   ;; ShengMu Y 
-   ?\x958b ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0090 ?\x0000 ?\x9591 ?\x9592
-   ?\x0000 ?\x1580 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x1588 ?\x1589 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0093 ?\x8000 ?\x00a4 ?\x0000 ?\x0000
-   ?\x00a7 ?\x0000 ?\x00a5 ?\x0000 ?\x00a8 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Z
-   ?\x968b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1680 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000
-   ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ;; ShengMu Zh 
-   ?\x978b ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x0000 ?\x1780 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000
-   ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x8000 ?\x8000
-   ?\x8000 ?\x8000 ?\x0000 ?\x8000 ?\x8000 ?\x8000 ?\x0000 ?\x0000 ?\x8000 ?\x0000
-   ?\x0000
-   ])
-
-(defun encode-euc-cwnn-region (beg end)
-  "Encode the text in the current region to EUC-cWnn.
-Return the length of resulting text."
-  (interactive "r")
-  (let (sylend s y z (enable-multibyte-characters t))
-    (save-excursion
-      (save-restriction
-       (narrow-to-region beg end)
-       (goto-char (point-min))
-       (while (< (point) (point-max))
-         (cond
-          ((looking-at "[A-Za-z\e(0!\e(B-\e(0?\e(B]+\e(0@\e(B")
-           ;; PinYin
-           (setq sylend (match-end 0))
-           (if (and (looking-at "[B-Z]h?")
-                    (setq s (assoc (buffer-substring (match-beginning 0) (match-end 0))
-                                   yincoding-pinyin-shengmu)))
-               (setq s (cdr s) y (buffer-substring (match-end 0) sylend))
-             (setq s 0 y (buffer-substring (point) sylend)))
-           (if (and (setq y (assoc y yincoding-pinyin-yunmu))
-                    (= (aref yincoding-pinyin-table (+ (* 39 s) (nth 1 y))) 1))
-               (progn
-                 (delete-region (point) sylend)
-                 (insert (char-to-string (+ (* 2 (nth 1 y)) 32 (if (nth 2 y) 1 0)))
-                         (char-to-string (+ (* 4 (if (= s 0) 20 s)) 156 (if (nth 2 y) (nth 2 y) 0)))))
-             (encode-euc-cwnn-1-char)))
-          ((looking-at "[\e(0E\e(B-\e(0i\e(B@0-4]+[\e(0@ABCD\e(B]")
-           ;; ZhuYin
-            (setq sylend (match-end 0))
-            (if (setq y (assoc (buffer-substring (point) sylend) yincoding-zhuyin-yunmu))
-                (setq s 0)
-              (if (setq s (assoc (char-to-string (following-char)) yincoding-zhuyin-shengmu))
-                  (setq s (cdr s) y (buffer-substring (+ (point) yincoding-zhuyin-length) sylend))
-                (setq s 0 y (buffer-substring (point) sylend)))
-              (setq y (assoc y yincoding-zhuyin-yunmu)))
-           (if (and y
-                    (/= (logand (setq z (aref yincoding-zhuyin-table (+ (* 41 s) (nth 1 y)))) ?\x8000) 0))
-               (progn
-                 (delete-region (point) sylend)
-                 (if (/= (logand z ?\x80) 0)
-                     (setq s (logand (lsh z -8) 127) y (list nil (logand z 127) (nth 2 y))))
-                 (insert (+ (* 2 (nth 1 y)) 32 (if (nth 2 y) 1 0))
-                         (+ (* 4 (if (= s 0) 20 s)) 156 (if (nth 2 y) (nth 2 y) 0))))
-             (encode-euc-cwnn-1-char)))
-          (t (encode-euc-cwnn-1-char))))
-       (- (point-max) (point-min))))))
-
-(defun encode-euc-cwnn-1-char ()
-  (let ((enable-multibyte-characters nil))
-    (cond
-     ((eq (following-char) (charset-id 'chinese-gb2312))
-      (delete-char 1)
-      (forward-char 2))
-     ((looking-at chinese-sisheng-leading-chars)
-      (delete-region (match-beginning 0) (match-end 0))
-      (insert 0)
-      (forward-char))
-     (t
-      (insert 0)
-      (forward-char)))))
-
-(defun pre-write-encode-euc-cwnn (from to)
-  (let ((buf (current-buffer))
-       (work (get-buffer-create " *pre-write-encoding-work*")))
-    (set-buffer work)
-    (erase-buffer)
-    (if (stringp from)
-       (insert from)
-      (insert-buffer-substring buf from to))
-    (encode-euc-cwnn-region 1 (point-max))
-    nil))
-
-(defun decode-euc-cwnn-region (beg end)
-  "Decode EUC-cWnn encoded text in the current region.
-Return the length of resulting text."
-  (interactive "r")
-  (prog1
-      (let (c cc s y ss (enable-multibyte-characters nil))
-       (save-restriction
-         (narrow-to-region beg end)
-         (goto-char (point-min))
-         (while (< (point) (point-max))
-           (setq c (following-char))
-           (cond
-            ((eq c 0)
-             (delete-char 1)
-             (if (>= (following-char) 128)
-                 (insert chinese-sisheng-leading-chars))
-             (forward-char))
-            ((>= c 128)
-             (insert (charset-id 'chinese-gb2312))
-             (forward-char 2)
-             (if (< (setq c (preceding-char)) 128)
-                 (progn
-                   (delete-char -1)
-                   (insert (+ c 128))
-                   (forward-char))))
-            (t
-             (delete-char 1)
-             (setq cc (logand (following-char) 127))
-             (delete-char 1)
-             (setq s (+ (lsh (- cc 32) -2) 1)
-                   y (lsh (- c 32) -1)
-                   ss (+ (logand c 1) (logand cc 3)))
-             (if cwnn-zhuyin
-                  (progn
-                   (setq c (aref yincoding-zhuyin-table (+ (* 41 s) y)))
-                    (if (eq (logand c ?\x8080) ?\x80)
-                        (setq s (lsh c -8)
-                              y (logand c 127)))
-                    (if (and (eq s 20)
-                             (eq (aref yincoding-pinyin-table (+ (* 39 s) y)) 0))
-                        (setq s 0))
-                    (insert (car (nth s yincoding-zhuyin-shengmu))
-                            (car (nth (+ (* 5 y) ss) yincoding-zhuyin-yunmu))))
-                (if (and (eq s 20)
-                         (eq (aref yincoding-pinyin-table (+ (* 39 s) y)) 0))
-                    (setq s 0))
-               (insert (car (nth s yincoding-pinyin-shengmu))
-                       (car (nth (+ (* 5 y) ss) yincoding-pinyin-yunmu)))))))
-         (- (point-max) (point-min))))
-    (if (looking-at "\0\0") (forward-char 2))))
-
-(defun post-read-decode-euc-cwnn (len)
-  (let ((pos (point))
-       (buffer-modified-p (buffer-modified-p)))
-    (prog1
-       (decode-euc-cwnn-region pos (+ pos len))
-      (set-buffer-modified-p buffer-modified-p))))
-
-(make-coding-system 'fixed-euc-cn 5 ?W "Coding System for fixed EUC Japanese")
-(put 'fixed-euc-cn 'post-read-conversion 'post-read-decode-euc-cwnn)
-(put 'fixed-euc-cn 'pre-write-conversion 'pre-write-encode-euc-cwnn)
-
-;;; euc-cn.el ends here.
diff --git a/its/ascii.el b/its/ascii.el
deleted file mode 100644 (file)
index 272a340..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-;;; its/ascii.el --- ASCII Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-;;
-;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
-;; This file is based on the rules of its/hira.el in Mule-2.3 distribution.
-;;
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its))
-
-(define-its-state-machine its-up-map
-  "upcase" "aA" nil nil
-  "Map for upcase input."
-
-  (let ((i ? ))
-    (while (<= i ?~)
-      (its-defrule (char-to-string i) (upcase (char-to-string i)))
-      (setq i (1+ i)))))
-
-(define-its-state-machine its-down-map
-  "downcase" "aa" nil nil
-  "Map for downcase input."
-
-  (let ((i ? ))
-    (while (<= i ?~)
-      (its-defrule (char-to-string i) (char-to-string i))
-      (setq i (1+ i)))))
-
-(provide 'its/ascii)
diff --git a/its/erpin.el b/its/erpin.el
deleted file mode 100644 (file)
index db0665b..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-(eval-when-compile
-  (require 'its)
-  (require 'cl))
-
-(defvar its-erpin-cn-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet")
-(defvar its-erpin-cn-open-braket  "\e$A!8\e(B" "*[") ; "\e$A#[\e(B"
-(defvar its-erpin-cn-close-braket "\e$A!9\e(B" "*]") ; "\e$A#]\e(B"
-
-(defvar its-erpin-tw-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet")
-(defvar its-erpin-tw-open-braket  "\e$(G!V\e(B" "*[") ; "\e$(G!b\e(B "
-(defvar its-erpin-tw-close-braket "\e$(G!W\e(B" "*]") ; "\e$(G!c\e(B"
-
-(eval-when-compile
-  (defsubst its-defoutput* (input display)
-    (its-set-output (its-goto-state input nil t) display))
-
-  (defun its-define-erpin-qingsheng (shengmu yunmu &optional y)
-    (let ((input (concat (car shengmu) yunmu))
-         (output (concat (cdr shengmu) (if y y yunmu) "\e(0@\e(B"))
-         state)
-      (setq state (its-goto-state input nil t))
-      (its-set-output state output)
-      (its-make-next-state state -1 input              output)
-      (its-make-next-state state ?  (concat input " ") output)
-      (its-make-next-state state ?0 (concat input "0") output)
-      (its-define-otherwise state (its-make-otherwise output
-                                                     its-otherwise-back-one))
-      state))
-
-  (defmacro its-do-erpin-table (list)
-    `(progn
-       ,@(mapcar (lambda (syl)
-                  `(its-define-erpin ,(car syl) ,(cdr syl)))
-                list)))
-
-  (defmacro its-define-erpin (shengmu yunmu)
-    `(let ((y1 (nth 1 ,yunmu)) (y2 (nth 2 ,yunmu)) (y3 (nth 3 ,yunmu))
-          (y4 (nth 4 ,yunmu)) (y5 (nth 5 ,yunmu)) (y (car ,yunmu))
-          (ss (list ,@shengmu)) sa sd state)
-       (while ss
-        (setq sa (caar ss) sd (cdar ss) 
-              state (its-define-erpin-qingsheng (car ss) y y5))
-        (its-make-next-state state ?1 (concat sa y 1) (concat sd y1 "\e(0@\e(B"))
-        (its-make-next-state state ?2 (concat sa y 2) (concat sd y2 "\e(0@\e(B"))
-        (its-make-next-state state ?3 (concat sa y 3) (concat sd y3 "\e(0@\e(B"))
-        (its-make-next-state state ?4 (concat sa y 4) (concat sd y4 "\e(0@\e(B"))
-        (setq ss (cdr ss)))))
-
-  (defmacro its-define-erpin-table ()
-    '(let ((O '("o" . ""))  (B '("b" . "B")) (C '("c" . "C")) (D '("d" . "D"))
-          (F '("f" . "F")) (G '("g" . "G")) (H '("h" . "H")) (J '("j" . "J"))
-          (K '("k" . "K")) (L '("l" . "L")) (M '("m" . "M")) (N '("n" . "N"))
-          (P '("p" . "P")) (Q '("q" . "Q")) (R '("r" . "R")) (S '("s" . "S"))
-          (T '("t" . "T")) (W '("w" . "W")) (X '("x" . "X")) (Y '("y" . "Y"))
-          (Z '("z" . "Z"))
-          (I '("i" . "Ch")) (U '("u" . "Sh")) (V '("v" . "Zh"))
-
-          (a    '("a"  "\e(0!\e(B"    "\e(0"\e(B"    "\e(0#\e(B"    "\e(0$\e(B"    "a"   ))
-          (ai   '("s"  "\e(0!\e(Bi"   "\e(0"\e(Bi"   "\e(0#\e(Bi"   "\e(0$\e(Bi"   "ai"  ))
-          (an   '("f"  "\e(0!\e(Bn"   "\e(0"\e(Bn"   "\e(0#\e(Bn"   "\e(0$\e(Bn"   "an"  ))
-          (ang  '("g"  "\e(0!\e(Bng"  "\e(0"\e(Bng"  "\e(0#\e(Bng"  "\e(0$\e(Bng"  "ang" ))
-          (ao   '("d"  "\e(0!\e(Bo"   "\e(0"\e(Bo"   "\e(0#\e(Bo"   "\e(0$\e(Bo"   "ao"  ))
-          (e    '("e"  "\e(0%\e(B"    "\e(0&\e(B"    "\e(0'\e(B"    "\e(0(\e(B"    "e"   ))
-          (ei   '("w"  "\e(0%\e(Bi"   "\e(0&\e(Bi"   "\e(0'\e(Bi"   "\e(0(\e(Bi"   "ei"  ))
-          (en   '("r"  "\e(0%\e(Bn"   "\e(0&\e(Bn"   "\e(0'\e(Bn"   "\e(0(\e(Bn"   "en"  ))
-          (eng  '("t"  "\e(0%\e(Bng"  "\e(0&\e(Bng"  "\e(0'\e(Bng"  "\e(0(\e(Bng"  "eng" ))
-          (er   '("y"  "\e(0%\e(Br"   "\e(0&\e(Br"   "\e(0'\e(Br"   "\e(0(\e(Br"   "er"  ))
-          (i    '("i"  "\e(0)\e(B"    "\e(0*\e(B"    "\e(0+\e(B"    "\e(0,\e(B"    "i"   ))
-          (ia   '("p"  "i\e(0!\e(B"   "i\e(0"\e(B"   "i\e(0#\e(B"   "i\e(0$\e(B"   "ia"  ))
-          (ian  '("h"  "i\e(0!\e(Bn"  "i\e(0"\e(Bn"  "i\e(0#\e(Bn"  "i\e(0$\e(Bn"  "ian" ))
-          (iang '("j"  "i\e(0!\e(Bng" "i\e(0"\e(Bng" "i\e(0#\e(Bng" "i\e(0$\e(Bng" "iang"))
-          (iao  '("k"  "i\e(0!\e(Bo"  "i\e(0"\e(Bo"  "i\e(0#\e(Bo"  "i\e(0$\e(Bo"  "iao" ))
-          (ie   '("l"  "i\e(0%\e(B"   "i\e(0&\e(B"   "i\e(0'\e(B"   "i\e(0(\e(B"   "ie"  ))
-          (in   '("m"  "\e(0)\e(Bn"   "\e(0*\e(Bn"   "\e(0+\e(Bn"   "\e(0,\e(Bn"   "in"  ))
-          (ing  '("n"  "\e(0)\e(Bng"  "\e(0*\e(Bng"  "\e(0+\e(Bng"  "\e(0,\e(Bng"  "ing" ))
-          (iong '("b"  "i\e(0-\e(Bng" "i\e(0.\e(Bng" "i\e(0/\e(Bng" "i\e(00\e(Bng" "iong"))
-          (iu   '("y"  "i\e(01\e(B"   "i\e(02\e(B"   "i\e(03\e(B"   "i\e(04\e(B"   "iu"  ))
-          (o    '("o"  "\e(0-\e(B"    "\e(0.\e(B"    "\e(0/\e(B"    "\e(00\e(B"    "o"   ))
-          (ong  '("b"  "\e(0-\e(Bng"  "\e(0.\e(Bng"  "\e(0/\e(Bng"  "\e(00\e(Bng"  "ong" ))
-          (ou   '("q"  "\e(0-\e(Bu"   "\e(0.\e(Bu"   "\e(0/\e(Bu"   "\e(00\e(Bu"   "ou"  ))
-          (u    '("u"  "\e(01\e(B"    "\e(02\e(B"    "\e(03\e(B"    "\e(04\e(B"    "u"   ))
-          (v    '("v"  "\e(05\e(B"    "\e(06\e(B"    "\e(07\e(B"    "\e(08\e(B"    "\e(09\e(B"   ))
-          (ua   '("p"  "u\e(0!\e(B"   "u\e(0"\e(B"   "u\e(0#\e(B"   "u\e(0$\e(B"   "ua"  ))
-          (uai  '("k"  "u\e(0!\e(Bi"  "u\e(0"\e(Bi"  "u\e(0#\e(Bi"  "u\e(0$\e(Bi"  "uai" ))
-          (uan  '("x"  "u\e(0!\e(Bn"  "u\e(0"\e(Bn"  "u\e(0#\e(Bn"  "u\e(0$\e(Bn"  "uan" ))
-          (uang '("j"  "u\e(0!\e(Bng" "u\e(0"\e(Bng" "u\e(0#\e(Bng" "u\e(0$\e(Bng" "uang"))
-          (ue   '("c"  "u\e(0%\e(B"   "u\e(0&\e(B"   "u\e(0'\e(B"   "u\e(0(\e(B"   "ue"  ))
-          (ve   '("c"  "\e(09%\e(B"   "\e(09&\e(B"   "\e(09'\e(B"   "\e(09(\e(B"   "\e(09\e(Be"  ))
-          (ui   '("c"  "u\e(0)\e(B"   "u\e(0*\e(B"   "u\e(0+\e(B"   "u\e(0,\e(B"   "ui"  ))
-          (un   '("z"  "\e(01\e(Bn"   "\e(02\e(Bn"   "\e(03\e(Bn"   "\e(04\e(Bn"   "un"  ))
-          (uo   '("o"  "u\e(0-\e(B"   "u\e(0.\e(B"   "u\e(0/\e(B"   "u\e(00\e(B"   "uo"  )))
-
-       (dolist (SHENG (list B C D F G H J K L M N P Q R S T W X Y Z I U V))
-        (its-defrule (car SHENG) (cdr SHENG)))
-
-       (its-do-erpin-table
-       (((O B C D F G H   K L M N P     S T W   Y Z I U V) . a)
-        ((O B C D   G H   K L M N P     S T W     Z I U V) . ai)
-        ((O B C D F G H   K L M N P   R S T W   Y Z I U V) . an)
-        ((O B C D F G H   K L M N P   R S T W   Y Z I U V) . ang)
-        ((O B C D   G H   K L M N P   R S T     Y Z I U V) . ao)
-        ((O   C D   G H   K L M N     R S T     Y Z I U V) . e)
-        ((O B C D F G H   K L M N P       T W     Z   U V) . ei)
-        ((O B C D F G H   K   M N P   R S   W     Z I U V) . en)
-        ((O B C D F G H   K L M N P   R S T W     Z I U V) . eng)
-        ((O                                              ) . er)
-        ((  B C D       J   L M N P Q R S T   X Y Z I U V) . i)
-        ((      D       J   L       Q         X          ) . ia)
-        ((  B   D       J   L M N P Q     T   X          ) . ian)
-        ((              J   L   N   Q         X          ) . iang)
-        ((  B   D       J   L M N P Q     T   X          ) . iao)
-        ((  B   D       J   L M N P Q     T   X          ) . ie)
-        ((  B           J   L M N P Q         X Y        ) . in)
-        ((  B   D       J   L M N P Q     T   X Y        ) . ing)
-        ((              J           Q         X          ) . iong)
-        ((      D       J   L M N   Q         X          ) . iu)
-        ((O B     F           M   P         W   Y        ) . o)
-        ((    C D   G H   K L   N     R S T     Y Z I   V) . ong)
-        ((O   C D F G H   K L M N P   R S T     Y Z I U V) . ou)
-        ((  B C D F G H J K L M N P Q R S T W X Y Z I U V) . u)
-        ((                  L   N                        ) . v)
-        ((          G H   K           R             I U V) . ua)
-        ((          G H   K                         I U V) . uai)
-        ((    C D   G H J K L   N   Q R S T   X Y Z I U V) . uan)
-        ((          G H   K                         I U V) . uang)
-        ((              J           Q         X Y        ) . ue)
-        ((                  L   N                        ) . ve)
-        ((    C D   G H   K           R S T       Z I U V) . ui)
-        ((    C D   G H J K L       Q R S T   X Y Z I U V) . un)
-        ((    C D   G H   K L   N     R S T       Z I U V) . uo)
-
-        (('("" . "")) . (cons "er" (cdr er)))
-
-        ((J Q X) . (cons "a" (cdr ia  )))
-        ((J Q X) . (cons "s" (cdr ia  )))
-        ((J Q X) . (cons "f" (cdr ian )))
-        ((J Q X) . (cons "g" (cdr iang)))
-        ((J Q X) . (cons "d" (cdr iao )))
-        ((J Q X) . (cons "e" (cdr ie  )))
-        ((J Q X) . (cons "w" (cdr ie  )))
-        ((J Q X) . (cons "r" (cdr in  )))
-        ((J Q X) . (cons "t" (cdr ing )))
-        ((J Q X) . (cons "q" (cdr iu  )))))
-
-       (its-define-erpin-qingsheng     H        "m")
-       (its-define-erpin-qingsheng     H        "n"    "ng")
-       (its-define-erpin-qingsheng     O        "m")
-       (its-define-erpin-qingsheng     O        "n")
-
-       (its-defrule    "on5"   "ng\e(0@\e(B")
-       (its-defrule    "on2"   "\e(0=@\e(B")
-       (its-defrule    "on3"   "\e(0>@\e(B")
-       (its-defrule    "on4"   "\e(0?@\e(B"))))
-
-(define-its-state-machine its-erpin-cn-map
-  "erpin-cn" "\e$A6~\e(BG" "Chinese-GB"
-  "Map for Erpin input. (Chinese-GB)"
-
-  (defconst its-quanjiao-escape "Z")
-  (defconst its-banjiao-escape  "X")
-
-  (its-defrule-select-mode-temporally "B" downcase)
-  (its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
-
-  (its-define-erpin-table)
-  (its-defoutput*      "b "    "\e$A2;\e(B")
-  (its-defoutput*      "c "    "\e$A2E\e(B")
-  (its-defoutput*      "ch "   "\e$A3v\e(B")
-  (its-defoutput*      "d "    "\e$A5D\e(B")
-  (its-defoutput*      "f "    "\e$A74\e(B")
-  (its-defoutput*      "g "    "\e$A8v\e(B")
-  (its-defoutput*      "h "    "\e$A:M\e(B")
-  (its-defoutput*      "i "    "\e$AR;\e(B")
-  (its-defoutput*      "j "    "\e$A>M\e(B")
-  (its-defoutput*      "k "    "\e$A?I\e(B")
-  (its-defoutput*      "l "    "\e$AAK\e(B")
-  (its-defoutput*      "m "    "\e$AC?\e(B")
-  (its-defoutput*      "n "    "\e$ADj\e(B")
-  (its-defoutput*      "p "    "\e$AEz\e(B")
-  (its-defoutput*      "q "    "\e$AH%\e(B")
-  (its-defoutput*      "r "    "\e$AHU\e(B")
-  (its-defoutput*      "s "    "\e$AJG\e(B")
-  (its-defoutput*      "u "    "\e$AIO\e(B")
-  (its-defoutput*      "t "    "\e$AK{\e(B")
-  (its-defoutput*      "w "    "\e$ANR\e(B")
-  (its-defoutput*      "x "    "\e$AOr\e(B")
-  (its-defoutput*      "y "    "\e$ASV\e(B")
-  (its-defoutput*      "z "    "\e$ATZ\e(B")
-  (its-defoutput*      "v "    "\e$AWE\e(B")
-
-  (dolist (ascii '(("0" . "\e$A#0\e(B")  ("1" . "\e$A#1\e(B")  ("2" . "\e$A#2\e(B")  ("3" . "\e$A#3\e(B")
-                  ("4" . "\e$A#4\e(B")  ("5" . "\e$A#5\e(B")  ("6" . "\e$A#6\e(B")  ("7" . "\e$A#7\e(B")
-                  ("8" . "\e$A#8\e(B")  ("9" . "\e$A#9\e(B") 
-                  (" " . "\e$A!!\e(B")  ("!" . "\e$A#!\e(B")  ("@" . "\e$A#@\e(B")  ("#" . "\e$A##\e(B")
-                  ("$" . "\e$A!g\e(B")  ("%" . "\e$A#%\e(B")  ("^" . "\e$A#^\e(B")  ("&" . "\e$A#&\e(B")
-                  ("*" . "\e$A#*\e(B")  ("(" . "\e$A#(\e(B")  (")" . "\e$A#)\e(B")
-                  ("-" . "\e$A#-\e(B")  ("=" . "\e$A#=\e(B")  ("`" . "\e$A#`\e(B")  ("\\" . "\e$A#\\e(B")
-                  ("|" . "\e$A#|\e(B")  ("_" . "\e$A#_\e(B")  ("+" . "\e$A#+\e(B")  ("~" . "\e$A!+\e(B")
-                  ("[" . "\e$A#[\e(B")  ("]" . "\e$A#]\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$A#}\e(B")
-                  (":" . "\e$A#:\e(B")  (";" . "\e$A#;\e(B")  ("\"" . "\e$A#"\e(B") ("'" . "\e$A#'\e(B")
-                  ("<" . "\e$A#<\e(B")  (">" . "\e$A#>\e(B")  ("?" . "\e$A#?\e(B")  ("/" . "\e$A#/\e(B")
-                  ("," . "\e$A#,\e(B")  ("." . "\e$A#.\e(B")
-                  ("a" . "\e$A#a\e(B")  ("b" . "\e$A#b\e(B")  ("c" . "\e$A#c\e(B")  ("d" . "\e$A#d\e(B")
-                  ("e" . "\e$A#e\e(B")  ("f" . "\e$A#f\e(B")  ("g" . "\e$A#g\e(B")  ("h" . "\e$A#h\e(B")
-                  ("i" . "\e$A#i\e(B")  ("j" . "\e$A#j\e(B")  ("k" . "\e$A#k\e(B")  ("l" . "\e$A#l\e(B")
-                  ("m" . "\e$A#m\e(B")  ("n" . "\e$A#n\e(B")  ("o" . "\e$A#o\e(B")  ("p" . "\e$A#p\e(B")
-                  ("q" . "\e$A#q\e(B")  ("r" . "\e$A#r\e(B")  ("s" . "\e$A#s\e(B")  ("t" . "\e$A#t\e(B")
-                  ("u" . "\e$A#u\e(B")  ("v" . "\e$A#v\e(B")  ("w" . "\e$A#w\e(B")  ("x" . "\e$A#x\e(B")
-                  ("y" . "\e$A#y\e(B")  ("z" . "\e$A#z\e(B")
-                  ("A" . "\e$A#A\e(B")  ("B" . "\e$A#B\e(B")  ("C" . "\e$A#C\e(B")  ("D" . "\e$A#D\e(B")
-                  ("E" . "\e$A#E\e(B")  ("F" . "\e$A#F\e(B")  ("G" . "\e$A#G\e(B")  ("H" . "\e$A#H\e(B")
-                  ("I" . "\e$A#I\e(B")  ("J" . "\e$A#J\e(B")  ("K" . "\e$A#K\e(B")  ("L" . "\e$A#L\e(B")
-                  ("M" . "\e$A#M\e(B")  ("N" . "\e$A#N\e(B")  ("O" . "\e$A#O\e(B")  ("P" . "\e$A#P\e(B")
-                  ("Q" . "\e$A#Q\e(B")  ("R" . "\e$A#R\e(B")  ("S" . "\e$A#S\e(B")  ("T" . "\e$A#T\e(B")
-                  ("U" . "\e$A#U\e(B")  ("V" . "\e$A#V\e(B")  ("W" . "\e$A#W\e(B")  ("X" . "\e$A#X\e(B")
-                  ("Y" . "\e$A#Y\e(B")  ("Z" . "\e$A#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule (concat its-banjiao-escape in) in)
-      (its-defrule (concat its-quanjiao-escape in) out)))
-
-  (its-defrule ","     "\e$A#,\e(B")
-  (its-defrule "."     "\e$A!#\e(B")
-  (its-defrule "/"     "\e$A!"\e(B")
-  (its-defrule ":"     "\e$A#:\e(B")
-  (its-defrule ";"     "\e$A#;\e(B")
-  (its-defrule "?"     "\e$A#?\e(B")
-  (its-defrule "!"     "\e$A#!\e(B"))
-
-(define-its-state-machine its-erpin-tw-map
-  "erpin-tw" "\e$(GD(\e(BC" "Chinese-CNS"
-  "Map for Erpin input."
-
-  (defconst its-quanjiao-escape "Z")
-  (defconst its-banjiao-escape  "X")
-
-  (its-defrule-select-mode-temporally "B" downcase)
-  (its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
-
-  (its-define-erpin-table)
-  (its-defoutput*      "b "    "\e$(GDb\e(B")
-  (its-defoutput*      "c "    "\e$(GD_\e(B")
-  (its-defoutput*      "ch "   "\e$(GEx\e(B")
-  (its-defoutput*      "d "    "\e$(GN{\e(B")
-  (its-defoutput*      "f "    "\e$(GE0\e(B")
-  (its-defoutput*      "g "    "\e$(GT6\e(B")
-  (its-defoutput*      "h "    "\e$(GLO\e(B")
-  (its-defoutput*      "i "    "\e$(GD!\e(B")
-  (its-defoutput*      "j "    "\e$(G^s\e(B")
-  (its-defoutput*      "k "    "\e$(GF+\e(B")
-  (its-defoutput*      "l "    "\e$(GD'\e(B")
-  (its-defoutput*      "m "    "\e$(GJd\e(B")
-  (its-defoutput*      "n "    "\e$(GH!\e(B")
-  (its-defoutput*      "p "    "\e$(GJG\e(B")
-  (its-defoutput*      "q "    "\e$(GF*\e(B")
-  (its-defoutput*      "r "    "\e$(GEJ\e(B")
-  (its-defoutput*      "s "    "\e$(GQR\e(B")
-  (its-defoutput*      "u "    "\e$(GD8\e(B")
-  (its-defoutput*      "t "    "\e$(GEl\e(B")
-  (its-defoutput*      "w "    "\e$(GJ<\e(B")
-  (its-defoutput*      "x "    "\e$(GGW\e(B")
-  (its-defoutput*      "y "    "\e$(GD4\e(B")
-  (its-defoutput*      "z "    "\e$(GGc\e(B")
-  (its-defoutput*      "v "    "\e$(Gaa\e(B")
-
-  (dolist (ascii '(("0" . "\e$(G$!\e(B")  ("1" . "\e$(G$"\e(B")  ("2" . "\e$(G$#\e(B")  ("3" . "\e$(G$$\e(B")
-                  ("4" . "\e$(G$%\e(B")  ("5" . "\e$(G$&\e(B")  ("6" . "\e$(G$'\e(B")  ("7" . "\e$(G$(\e(B")
-                  ("8" . "\e$(G$)\e(B")  ("9" . "\e$(G$*\e(B") 
-                  (" " . "\e$(G!!\e(B")  ("!" . "\e$(G!*\e(B")  ("@" . "\e$(G"i\e(B")  ("#" . "\e$(G!l\e(B")
-                  ("$" . "\e$(G"c\e(B")  ("%" . "\e$(G"h\e(B")  ("^" . "\e$(G!T\e(B")  ("&" . "\e$(G!m\e(B")
-                  ("*" . "\e$(G!n\e(B")  ("(" . "\e$(G!>\e(B")  (")" . "\e$(G!?\e(B")
-                  ("-" . "\e$(G"1\e(B")  ("=" . "\e$(G"8\e(B")  ("`" . "\e$(G!j\e(B")  ("\\" . "\e$(G"b\e(B")
-                  ("|" . "\e$(G"^\e(B")  ("_" . "\e$(G"%\e(B")  ("+" . "\e$(G"0\e(B")  ("~" . "\e$(G"D\e(B")
-                  ("[" . "\e$(G!b\e(B")  ("]" . "\e$(G!c\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$(G!a\e(B")
-                  (":" . "\e$(G!(\e(B")  (";" . "\e$(G!'\e(B")  ("\"" . "\e$(G!i\e(B") ("'" . "\e$(G!k\e(B")
-                  ("<" . "\e$(G"6\e(B")  (">" . "\e$(G"7\e(B")  ("?" . "\e$(G!)\e(B")  ("/" . "\e$(G"a\e(B")
-                  ("," . "\e$(G!"\e(B")  ("." . "\e$(G!%\e(B")
-                  ("a" . "\e$(G$[\e(B")  ("b" . "\e$(G$\\e(B")  ("c" . "\e$(G$]\e(B")  ("d" . "\e$(G$^\e(B")
-                  ("e" . "\e$(G$_\e(B")  ("f" . "\e$(G$`\e(B")  ("g" . "\e$(G$a\e(B")  ("h" . "\e$(G$b\e(B")
-                  ("i" . "\e$(G$c\e(B")  ("j" . "\e$(G$d\e(B")  ("k" . "\e$(G$e\e(B")  ("l" . "\e$(G$f\e(B")
-                  ("m" . "\e$(G$g\e(B")  ("n" . "\e$(G$h\e(B")  ("o" . "\e$(G$i\e(B")  ("p" . "\e$(G$j\e(B")
-                  ("q" . "\e$(G$k\e(B")  ("r" . "\e$(G$l\e(B")  ("s" . "\e$(G$m\e(B")  ("t" . "\e$(G$n\e(B")
-                  ("u" . "\e$(G$o\e(B")  ("v" . "\e$(G$p\e(B")  ("w" . "\e$(G$q\e(B")  ("x" . "\e$(G$r\e(B")
-                  ("y" . "\e$(G$s\e(B")  ("z" . "\e$(G$t\e(B")
-                  ("A" . "\e$(G$A\e(B")  ("B" . "\e$(G$B\e(B")  ("C" . "\e$(G$C\e(B")  ("D" . "\e$(G$D\e(B")
-                  ("E" . "\e$(G$E\e(B")  ("F" . "\e$(G$F\e(B")  ("G" . "\e$(G$G\e(B")  ("H" . "\e$(G$H\e(B")
-                  ("I" . "\e$(G$I\e(B")  ("J" . "\e$(G$J\e(B")  ("K" . "\e$(G$K\e(B")  ("L" . "\e$(G$L\e(B")
-                  ("M" . "\e$(G$M\e(B")  ("N" . "\e$(G$N\e(B")  ("O" . "\e$(G$O\e(B")  ("P" . "\e$(G$P\e(B")
-                  ("Q" . "\e$(G$Q\e(B")  ("R" . "\e$(G$R\e(B")  ("S" . "\e$(G$S\e(B")  ("T" . "\e$(G$T\e(B")
-                  ("U" . "\e$(G$U\e(B")  ("V" . "\e$(G$V\e(B")  ("W" . "\e$(G$W\e(B")  ("X" . "\e$(G$X\e(B")
-                  ("Y" . "\e$(G$Y\e(B")  ("Z" . "\e$(G$Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule (concat its-banjiao-escape in) in)
-      (its-defrule (concat its-quanjiao-escape in) out)))
-
-  (its-defrule ","     "\e$(G!"\e(B")
-  (its-defrule "."     "\e$(G!$\e(B")
-  (its-defrule "/"     "\e$(G!#\e(B")
-  (its-defrule ":"     "\e$(G!(\e(B")
-  (its-defrule ";"     "\e$(G!'\e(B")
-  (its-defrule "?"     "\e$(G!)\e(B")
-  (its-defrule "!"     "\e$(G!*\e(B"))
-
-(define-its-state-machine-append its-erpin-cn-map
-  (its-defrule "[" its-erpin-cn-open-braket)
-  (its-defrule "]" its-erpin-cn-close-braket)
-
-  (if its-erpin-cn-enable-quanjioao-alphabet
-      (progn
-       (its-defrule "1"  "\e$A#1\e(B")  (its-defrule "2"  "\e$A#2\e(B")
-       (its-defrule "3"  "\e$A#3\e(B")  (its-defrule "4"  "\e$A#4\e(B")
-       (its-defrule "5"  "\e$A#5\e(B")  (its-defrule "6"  "\e$A#6\e(B")
-       (its-defrule "7"  "\e$A#7\e(B")  (its-defrule "8"  "\e$A#8\e(B")
-       (its-defrule "9"  "\e$A#9\e(B")  (its-defrule "0"  "\e$A#0\e(B")
-       (its-defrule "@"  "\e$A#@\e(B")
-       (its-defrule "#"  "\e$A##\e(B")  (its-defrule "$"  "\e$A!g\e(B")
-       (its-defrule "%"  "\e$A#%\e(B")  (its-defrule "^"  "\e$A#^\e(B")
-       (its-defrule "&"  "\e$A#&\e(B")  (its-defrule "*"  "\e$A#*\e(B")
-       (its-defrule "("  "\e$A#(\e(B")  (its-defrule ")"  "\e$A#)\e(B")
-       (its-defrule "-"  "\e$A#-\e(B")  (its-defrule "~"  "\e$A!+\e(B")
-       (its-defrule "="  "\e$A#=\e(B")  (its-defrule "`"  "\e$A#`\e(B")
-       (its-defrule "\\" "\e$A#\\e(B")  (its-defrule "|"  "\e$A#|\e(B")
-       (its-defrule "_"  "\e$A#_\e(B")  (its-defrule "+"  "\e$A#+\e(B")
-       (its-defrule "{"  "\e$A#{\e(B")  (its-defrule "}"  "\e$A#}\e(B")
-       (its-defrule "\"" "\e$A#"\e(B")  (its-defrule "'"  "\e$A#'\e(B")
-       (its-defrule "<"  "\e$A#<\e(B")  (its-defrule ">"  "\e$A#>\e(B"))
-    (progn
-      (its-defrule "1"  "1")  (its-defrule "2"  "2")
-      (its-defrule "3"  "3")  (its-defrule "4"  "4")
-      (its-defrule "5"  "5")  (its-defrule "6"  "6")
-      (its-defrule "7"  "7")  (its-defrule "8"  "8")
-      (its-defrule "9"  "9")  (its-defrule "0"  "0")
-      (its-defrule "@"  "@")
-      (its-defrule "#"  "#")  (its-defrule "$"  "$")
-      (its-defrule "%"  "%")  (its-defrule "^"  "^")
-      (its-defrule "&"  "&")  (its-defrule "*"  "*")
-      (its-defrule "("  "(")  (its-defrule ")"  ")")
-      (its-defrule "-"  "-")  (its-defrule "~"  "~")
-      (its-defrule "="  "=")  (its-defrule "`"  "`")
-      (its-defrule "\\" "\\") (its-defrule "|"  "|")
-      (its-defrule "_"  "_")  (its-defrule "+"  "+")
-      (its-defrule "{"  "{")  (its-defrule "}"  "}")
-      (its-defrule "\"" "\"") (its-defrule "'"  "'")
-      (its-defrule "<"  "<")  (its-defrule ">"  ">"))))
-
-(define-its-state-machine-append its-erpin-tw-map
-  (its-defrule "[" its-erpin-tw-open-braket)
-  (its-defrule "]" its-erpin-tw-close-braket)
-
-  (if its-erpin-tw-enable-quanjioao-alphabet
-      (progn
-       (its-defrule "1"  "\e$(G$"\e(B")  (its-defrule "2"  "\e$(G$#\e(B")
-       (its-defrule "3"  "\e$(G$$\e(B")  (its-defrule "4"  "\e$(G$%\e(B")
-       (its-defrule "5"  "\e$(G$&\e(B")  (its-defrule "6"  "\e$(G$'\e(B")
-       (its-defrule "7"  "\e$(G$(\e(B")  (its-defrule "8"  "\e$(G$)\e(B")
-       (its-defrule "9"  "\e$(G$*\e(B")  (its-defrule "0"  "\e$(G$!\e(B")
-       (its-defrule "@"  "\e$(G"i\e(B")
-       (its-defrule "#"  "\e$(G!l\e(B")  (its-defrule "$"  "\e$(G"c\e(B")
-       (its-defrule "%"  "\e$(G"h\e(B")  (its-defrule "^"  "\e$(G!T\e(B")
-       (its-defrule "&"  "\e$(G!m\e(B")  (its-defrule "*"  "\e$(G!n\e(B")
-       (its-defrule "("  "\e$(G!>\e(B")  (its-defrule ")"  "\e$(G!?\e(B")
-       (its-defrule "-"  "\e$(G"1\e(B")  (its-defrule "~"  "\e$(G"D\e(B")
-       (its-defrule "="  "\e$(G"8\e(B")  (its-defrule "`"  "\e$(G!j\e(B")
-       (its-defrule "\\" "\e$(G"b\e(B")  (its-defrule "|"  "\e$(G"^\e(B")
-       (its-defrule "_"  "\e$(G"%\e(B")  (its-defrule "+"  "\e$(G"0\e(B")
-       (its-defrule "{"  "\e$A#{\e(B")  (its-defrule "}"  "\e$(G!a\e(B")
-       (its-defrule "\"" "\e$(G!i\e(B")  (its-defrule "'"  "\e$(G!k\e(B")
-       (its-defrule "<"  "\e$(G"6\e(B")  (its-defrule ">"  "\e$(G"7\e(B"))
-    (progn
-      (its-defrule "1"  "1")  (its-defrule "2"  "2")
-      (its-defrule "3"  "3")  (its-defrule "4"  "4")
-      (its-defrule "5"  "5")  (its-defrule "6"  "6")
-      (its-defrule "7"  "7")  (its-defrule "8"  "8")
-      (its-defrule "9"  "9")  (its-defrule "0"  "0")
-      (its-defrule "@"  "@")
-      (its-defrule "#"  "#")  (its-defrule "$"  "$")
-      (its-defrule "%"  "%")  (its-defrule "^"  "^")
-      (its-defrule "&"  "&")  (its-defrule "*"  "*")
-      (its-defrule "("  "(")  (its-defrule ")"  ")")
-      (its-defrule "-"  "-")  (its-defrule "~"  "~")
-      (its-defrule "="  "=")  (its-defrule "`"  "`")
-      (its-defrule "\\" "\\") (its-defrule "|"  "|")
-      (its-defrule "_"  "_")  (its-defrule "+"  "+")
-      (its-defrule "{"  "{")  (its-defrule "}"  "}")
-      (its-defrule "\"" "\"") (its-defrule "'"  "'")
-      (its-defrule "<"  "<")  (its-defrule ">"  ">"))))
-
-(provide 'its/erpin)
diff --git a/its/hankata.el b/its/hankata.el
deleted file mode 100644 (file)
index fc51124..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-;;; its/hankata.el --- Hnakaku Katakana Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: Satoru Tomura <tomura@etl.go.jp>
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-;;
-;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
-;; This file is based on the rules of its/kata.el in Mule-2.3 distribution.
-;;
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its)
-  (require 'cl))
-
-(defvar its-kata-enable-double-n nil "*Enable \"nn\" input for \"\e$B%s\e(B\" ")
-(defvar its-kata-enable-zenkaku-alphabet t "*Enable Zenkaku alphabet")
-(defvar its-kata-period "\e(I!\e(B" "*\e$B%T%j%*%I\e(B")  ; ". " "\e$B!%\e(B"
-(defvar its-kata-comma  "\e(I$\e(B" "*\e$B%3%s%^\e(B")    ; ", " "\e$B!$\e(B"
-(defvar its-kata-open-bracket  "\e(I"\e(B" "*[")  ; "\e$B!N\e(B"
-(defvar its-kata-close-bracket  "\e(I#\e(B" "*]") ; "\e$B!O\e(B"
-(defvar its-kata-horizontal  "\e(I0\e(B" "*-")    ; "\e$B!]\e(B"
-
-(define-its-state-machine its-han-kata-map
-  "roma-han-kata" "\e(I11\e(B" "Japanese" nil
-  "Map for Romaji-Hankaku-Katakana translation. (Japanese)"
-
-  (defconst its-hankaku-escape "~")  ;; Escape character to Hankaku inputs
-
-  (its-defrule-select-mode-temporally "q" downcase)
-
-;;; k      k
-;;; kk     \e$B%C\e(Bk
-;;; kka    \e$B%C%+\e(B
-;;;
-;;; kkk    \e$B%C\e(Bk DING!
-
-  (its-defrule "tch"  "\e(I/\e(B" -2)
-
-;;; \e$B!V%s!W$NF~NO\e(B
-
-  (dolist (q1 '("b" "m" "p"))
-    (its-defrule (concat "m" q1) "\e(I]\e(B" -1))
-
-  (its-defrule "N" "\e(I]\e(B")
-
-  (let ((state (its-goto-state "n" nil t)))
-    (its-make-next-state state -1 "n" "\e(I]\e(B")
-    (its-make-next-state state ?' "n" "\e(I]\e(B")
-    (its-defrule-otherwise state "\e(I]\e(B"))
-
-  (let ((small '"x" ))
-    (its-defrule (concat small "a") "\e(I'\e(B")
-    (its-defrule (concat small "i") "\e(I(\e(B")
-    (its-defrule (concat small "u") "\e(I)\e(B")
-    (its-defrule (concat small "e") "\e(I*\e(B")
-    (its-defrule (concat small "o") "\e(I+\e(B")
-    (its-defrule (concat small "ya") "\e(I,\e(B")
-    (its-defrule (concat small "yu") "\e(I-\e(B")
-    (its-defrule (concat small "yo") "\e(I.\e(B")
-    (its-defrule (concat small "tu") "\e(I/\e(B")
-    (its-defrule (concat small "tsu") "\e(I/\e(B")
-    (its-defrule (concat small "wa") "\e(I\\e(B")
-    )
-
-  (its-defrule   "a"    "\e(I1\e(B")
-  (its-defrule   "i"    "\e(I2\e(B")
-  (its-defrule   "u"    "\e(I3\e(B")
-  (its-defrule   "e"    "\e(I4\e(B")
-  (its-defrule   "o"    "\e(I5\e(B")
-
-  (dolist (k '(("ka"  "\e(I6\e(B") ("ki"  "\e(I7\e(B") ("ku"  "\e(I8\e(B") ("ke"  "\e(I9\e(B") ("ko"  "\e(I:\e(B")
-              ("kya" "\e(I7,\e(B") ("kyu"  "\e(I7-\e(B") ("kye"  "\e(I7*\e(B") ("kyo"  "\e(I7.\e(B")))
-    (its-defrule (car k) (cadr k))
-    (its-defrule (concat "k" (car k)) (concat "\e(I/\e(B" (cadr k))))
-  (its-defoutput "kk" "\e(I/\e(Bk")
-  (its-defoutput "kky" "\e(I/\e(Bky")
-
-  (dolist (s '(("sa"  "\e(I;\e(B") ("si"  "\e(I<\e(B") ("su"  "\e(I=\e(B") ("se"  "\e(I>\e(B") ("so"  "\e(I?\e(B")
-              ("sya"  "\e(I<,\e(B") ("syu"  "\e(I<-\e(B") ("sye"  "\e(I<*\e(B") ("syo"  "\e(I<.\e(B")
-              ("sha"  "\e(I<,\e(B") ("shi"  "\e(I<\e(B") ("shu"  "\e(I<-\e(B") ("she"  "\e(I<*\e(B")
-              ("sho"  "\e(I<.\e(B")))
-    (its-defrule (car s) (cadr s))
-    (its-defrule (concat "s" (car s)) (concat "\e(I/\e(B" (cadr s))))
-  (its-defoutput "ss" "\e(I/\e(Bs")
-  (its-defoutput "ssy" "\e(I/\e(Bsy")
-  (its-defoutput "ssh" "\e(I/\e(Bsh")
-
-  (dolist (T '(("ta"  "\e(I@\e(B") ("ti"  "\e(IA\e(B") ("tu"  "\e(IB\e(B") ("te"  "\e(IC\e(B") ("to"  "\e(ID\e(B")
-              ("tya"  "\e(IA,\e(B") ("tyi"  "\e(IC(\e(B") ("tyu"  "\e(IA-\e(B") ("tye"  "\e(IA*\e(B")
-              ("tyo"  "\e(IA.\e(B") ("tsu"  "\e(IB\e(B")))
-    (its-defrule (car T) (cadr T))
-    (its-defrule (concat "t" (car T)) (concat "\e(I/\e(B" (cadr T))))
-  (its-defoutput "tt" "\e(I/\e(Bt")
-  (its-defoutput "tty" "\e(I/\e(Bty")
-  (its-defoutput "tts" "\e(I/\e(Bts")
-
-  (dolist (c '(("cha"  "\e(IA,\e(B") ("chi"  "\e(IA\e(B") ("chu"  "\e(IA-\e(B")
-              ("che"  "\e(IA*\e(B") ("cho"  "\e(IA.\e(B")))
-    (its-defrule (car c) (cadr c))
-    (its-defrule (concat "c" (car c)) (concat "\e(I/\e(B" (cadr c))))
-  (its-defoutput "cc" "\e(I/\e(Bc")
-  (its-defoutput "cch" "\e(I/\e(Bch")
-
-  (dolist (h '(("ha"  "\e(IJ\e(B") ("hi"  "\e(IK\e(B") ("hu"  "\e(IL\e(B") ("he"  "\e(IM\e(B") ("ho"  "\e(IN\e(B")
-              ("hya"  "\e(IK,\e(B") ("hyu"  "\e(IK-\e(B") ("hye"  "\e(IK*\e(B") ("hyo"  "\e(IK.\e(B")))
-    (its-defrule (car h) (cadr h))
-    (its-defrule (concat "h" (car h)) (concat "\e(I/\e(B" (cadr h))))
-  (its-defoutput "hh" "\e(I/\e(Bh")
-  (its-defoutput "hhy" "\e(I/\e(Bhy")
-
-  (dolist (f '(("fa"  "\e(IL'\e(B") ("fi"  "\e(IL(\e(B") ("fu"  "\e(IL\e(B") ("fe"  "\e(IL*\e(B")
-              ("fo"  "\e(IL+\e(B")))
-    (its-defrule (car f) (cadr f))
-    (its-defrule (concat "f" (car f)) (concat "\e(I/\e(B" (cadr f))))
-  (its-defoutput "ff" "\e(I/\e(Bf")
-
-  (dolist (r '(("ra"  "\e(IW\e(B") ("ri"  "\e(IX\e(B") ("ru"  "\e(IY\e(B") ("re"  "\e(IZ\e(B") ("ro"  "\e(I[\e(B")
-              ("rya"  "\e(IX,\e(B") ("ryu"  "\e(IX-\e(B") ("rye"  "\e(IX*\e(B") ("ryo"  "\e(IX.\e(B")))
-    (its-defrule (car r) (cadr r))
-    (its-defrule (concat "r" (car r)) (concat "\e(I/\e(B" (cadr r))))
-  (its-defoutput "rr" "\e(I/\e(Br")
-  (its-defoutput "rry" "\e(I/\e(Bry")
-
-  (dolist (l '(("la"  "\e(IW\e(B") ("li"  "\e(IX\e(B") ("lu"  "\e(IY\e(B") ("le"  "\e(IZ\e(B") ("lo"  "\e(I[\e(B")
-              ("lya"  "\e(IX,\e(B") ("lyu"  "\e(IX-\e(B") ("lye"  "\e(IX*\e(B") ("lyo"  "\e(IX.\e(B")))
-    (its-defrule (car l) (cadr l))
-    (its-defrule (concat "l" (car l)) (concat "\e(I/\e(B" (cadr l))))
-  (its-defoutput "ll" "\e(I/\e(Bl")
-  (its-defoutput "lly" "\e(I/\e(Bly")
-
-  (dolist (g '(("ga"  "\e(I6^\e(B") ("gi"  "\e(I7^\e(B") ("gu"  "\e(I8^\e(B") ("ge"  "\e(I9^\e(B") ("go"  "\e(I:^\e(B")
-              ("gya"  "\e(I7^,\e(B") ("gyu"  "\e(I7^-\e(B") ("gye"  "\e(I7^*\e(B") ("gyo"  "\e(I7^.\e(B")))
-    (its-defrule (car g) (cadr g))
-    (its-defrule (concat "g" (car g)) (concat "\e(I/\e(B" (cadr g))))
-  (its-defoutput "gg" "\e(I/\e(Bg")
-  (its-defoutput "ggy" "\e(I/\e(Bgy")
-
-  (dolist (z '(("za"  "\e(I;^\e(B") ("zi"  "\e(I<^\e(B") ("zu"  "\e(I=^\e(B") ("ze"  "\e(I>^\e(B") ("zo"  "\e(I?^\e(B")
-              ("zya"  "\e(I<^,\e(B") ("zyu"  "\e(I<^-\e(B") ("zye"  "\e(I<^*\e(B") ("zyo"  "\e(I<^.\e(B")))
-    (its-defrule (car z) (cadr z))
-    (its-defrule (concat "z" (car z)) (concat "\e(I/\e(B" (cadr z))))
-  (its-defoutput "zz" "\e(I/\e(Bz")
-  (its-defoutput "zzy" "\e(I/\e(Bzy")
-
-  (dolist (j '(("ja"  "\e(I<^,\e(B") ("ji"  "\e(I<^\e(B") ("ju"  "\e(I<^-\e(B") ("je"  "\e(I<^*\e(B")
-              ("jo"  "\e(I<^.\e(B") ("jya"  "\e(I<^,\e(B") ("jyu"  "\e(I<^-\e(B") ("jye"  "\e(I<^*\e(B")
-              ("jyo"  "\e(I<^.\e(B")))
-    (its-defrule (car j) (cadr j))
-    (its-defrule (concat "j" (car j)) (concat "\e(I/\e(B" (cadr j))))
-  (its-defoutput "jj" "\e(I/\e(Bj")
-  (its-defoutput "jjy" "\e(I/\e(Bjy")
-
-  (dolist (d '(("da"  "\e(I@^\e(B") ("di"  "\e(IA^\e(B") ("du"  "\e(IB^\e(B") ("de"  "\e(IC^\e(B") ("do"  "\e(ID^\e(B")
-              ("dya"  "\e(IA^,\e(B") ("dyi"  "\e(IC^(\e(B") ("dyu"  "\e(IA^-\e(B") ("dye"  "\e(IA^*\e(B")
-              ("dyo"  "\e(IA^.\e(B")))
-    (its-defrule (car d) (cadr d))
-    (its-defrule (concat "d" (car d)) (concat "\e(I/\e(B" (cadr d))))
-  (its-defoutput "dd" "\e(I/\e(Bd")
-  (its-defoutput "ddy" "\e(I/\e(Bdy")
-
-  (dolist (b '(("ba"  "\e(IJ^\e(B") ("bi"  "\e(IK^\e(B") ("bu"  "\e(IL^\e(B") ("be"  "\e(IM^\e(B") ("bo"  "\e(IN^\e(B")
-              ("bya"  "\e(IK^,\e(B") ("byu"  "\e(IK^-\e(B") ("bye"  "\e(IK^*\e(B") ("byo"  "\e(IK^.\e(B")))
-    (its-defrule (car b) (cadr b))
-    (its-defrule (concat "b" (car b)) (concat "\e(I/\e(B" (cadr b))))
-  (its-defoutput "bb" "\e(I/\e(Bb")
-  (its-defoutput "bby" "\e(I/\e(Bby")
-
-  (dolist (p '(("pa"  "\e(IJ_\e(B") ("pi"  "\e(IK_\e(B") ("pu"  "\e(IL_\e(B") ("pe"  "\e(IM_\e(B") ("po"   "\e(IN_\e(B")
-              ("pya"  "\e(IK_,\e(B") ("pyu"  "\e(IK_-\e(B") ("pye"  "\e(IK_*\e(B") ("pyo"  "\e(IK_.\e(B")))
-    (its-defrule (car p) (cadr p))
-    (its-defrule (concat "p" (car p)) (concat "\e(I/\e(B" (cadr p))))
-  (its-defoutput "pp" "\e(I/\e(Bp")
-  (its-defoutput "ppy" "\e(I/\e(Bpy")
-
-  (dolist (v '(("va" "\e(I3^'\e(B") ("vi" "\e(I3^(\e(B") ("vu" "\e(I3^\e(B") ("ve" "\e(I3^*\e(B")
-              ("vo" "\e(I3^+\e(B")))
-    (its-defrule (car v) (cadr v))
-    (its-defrule (concat "v" (car v)) (concat "\e(I/\e(B" (cadr v))))
-  (its-defoutput "vv" "\e(I/\e(Bv")
-
-  (its-defrule   "ma"   "\e(IO\e(B")
-  (its-defrule   "mi"   "\e(IP\e(B")
-  (its-defrule   "mu"   "\e(IQ\e(B")
-  (its-defrule   "me"   "\e(IR\e(B")
-  (its-defrule   "mo"   "\e(IS\e(B")
-  (its-defrule   "mya"  "\e(IP,\e(B")
-  (its-defrule   "myu"  "\e(IP-\e(B")
-  (its-defrule   "mye"  "\e(IP*\e(B")
-  (its-defrule   "myo"  "\e(IP.\e(B")
-  (its-defrule   "ya"   "\e(IT\e(B")
-  (its-defrule   "yi"   "\e(I2\e(B")
-  (its-defrule   "yu"   "\e(IU\e(B")
-  (its-defrule   "yo"   "\e(IV\e(B")
-  (its-defrule   "ye"   "\e(I2*\e(B")
-  (its-defrule   "wa"   "\e(I\\e(B")
-  (its-defrule   "wi"   "\e(I(\e(B")
-  (its-defrule   "wu"   "\e(I3\e(B")
-  (its-defrule   "we"   "\e(I*\e(B")
-  (its-defrule   "wo"   "\e(I&\e(B")
-
-  (its-defrule   "kwa"  "\e(I8\\e(B")
-  (its-defrule   "kwi"  "\e(I8(\e(B")
-  (its-defrule   "kwu"  "\e(I8\e(B")
-  (its-defrule   "kwe"  "\e(I8*\e(B")
-  (its-defrule   "kwo"  "\e(I8+\e(B")
-  (its-defrule   "gwa"  "\e(I8^\\e(B")
-  (its-defrule   "gwi"  "\e(I8^(\e(B")
-  (its-defrule   "gwu"  "\e(I8^\e(B")
-  (its-defrule   "gwe"  "\e(I8^*\e(B")
-  (its-defrule   "gwo"  "\e(I8^+\e(B")
-  (its-defrule   "tsa"  "\e(IB'\e(B")
-  (its-defrule   "tsi"  "\e(IB(\e(B")
-  (its-defrule   "tse"  "\e(IB*\e(B")
-  (its-defrule   "tso"  "\e(IB+\e(B")
-
-  (its-defrule   "na"   "\e(IE\e(B")
-  (its-defrule   "ni"   "\e(IF\e(B")
-  (its-defrule   "nu"   "\e(IG\e(B")
-  (its-defrule   "ne"   "\e(IH\e(B")
-  (its-defrule   "no"   "\e(II\e(B")
-  (its-defrule   "nya"  "\e(IF,\e(B")
-  (its-defrule   "nyu"  "\e(IF-\e(B")
-  (its-defrule   "nye"  "\e(IF*\e(B")
-  (its-defrule   "nyo"  "\e(IF.\e(B")
-
-  (its-defrule   "xti"  "\e(IC(\e(B")
-  (its-defrule   "xdi"  "\e(IC^(\e(B")
-  (its-defrule   "xdu"  "\e(ID^)\e(B")
-  (its-defrule   "xde"  "\e(IC^*\e(B")
-  (its-defrule   "xdo"  "\e(ID^+\e(B")
-  (its-defrule   "xwi"  "\e(I3(\e(B")
-  (its-defrule   "xwe"  "\e(I3*\e(B")
-  (its-defrule   "xwo"  "\e(I3+\e(B")
-
-;;;
-;;; Symbol inputs
-;;;
-
-  (dolist (digit '( "1"  "2"  "3"  "4" "5"  "6"  "7"  "8"  "9"  "0" ))
-    (its-defrule (concat its-hankaku-escape digit)  digit))
-
-  (dolist (symbol '( " "  "!"  "@"  "#"  "$"  "%"  "^"  "&"  "*"  "("  ")"
-                    "-"  "="  "`"  "\\" "|"  "_"  "+"  "~" "["  "]"  "{"  "}"
-                    ":"  ";"  "\"" "'"  "<"  ">"  "?"  "/"  ","  "." ))
-    (its-defrule (concat its-hankaku-escape symbol) symbol))
-
-  (dolist (downcase '("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n"
-                     "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
-    (its-defrule (concat its-hankaku-escape downcase) downcase))
-
-  (dolist (upcase    '("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N"
-                      "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"))
-    (its-defrule (concat its-hankaku-escape upcase) upcase)))
-
-(define-its-state-machine-append its-han-kata-map
-  (if its-kata-enable-double-n
-      (its-defrule "nn" "\e(I]\e(B")
-    (its-defrule "nn" "\e(I]\e(B" -1))
-
-  (its-defrule "-" its-kata-horizontal)
-  (its-defrule "[" its-kata-open-bracket)
-  (its-defrule "]" its-kata-close-bracket)
-  (its-defrule "." its-kata-period)
-  (its-defrule "," its-kata-comma)
-  )
-
-(provide 'its/hankata)
-;;; its/kata.el ends here.
diff --git a/its/jeonkak.el b/its/jeonkak.el
deleted file mode 100644 (file)
index 2baedfe..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-;;; its/jeonkak.el --- Jeonkak ASCII Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-;;
-;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
-;; This file is based on the rules of its/hira.el in Mule-2.3 distribution.
-;;
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its))
-
-(define-its-state-machine its-jeonkak-up-map
-  "jeonkak-upcase" "\e$(C#A\e(B" "Korean" nil
-  "Map for jeonkak-upcase input."
-
-  (dolist (ascii '(("1" . "\e$(C#1\e(B")  ("2" . "\e$(C#2\e(B")  ("3" . "\e$(C#3\e(B")  ("4" . "\e$(C#4\e(B")
-                  ("5" . "\e$(C#5\e(B")  ("6" . "\e$(C#6\e(B")  ("7" . "\e$(C#7\e(B")  ("8" . "\e$(C#8\e(B")
-                  ("9" . "\e$(C#9\e(B")  ("0" . "\e$(C#0\e(B")
-                  (" " . "\e$(C!!\e(B")  ("!" . "\e$(C#!\e(B")  ("@" . "\e$(C#@\e(B")  ("#" . "\e$(C##\e(B")
-                  ("$" . "\e$(C#$\e(B")  ("%" . "\e$(C#%\e(B")  ("^" . "\e$(C#^\e(B")  ("&" . "\e$(C#&\e(B")
-                  ("*" . "\e$(C#*\e(B")  ("(" . "\e$(C#(\e(B")  (")" . "\e$(C#)\e(B")
-                  ("-" . "\e$(C#-\e(B")  ("=" . "\e$(C#=\e(B")  ("`" . "\e$(C#`\e(B")  ("\\" . "\e$(C#\\e(B")
-                  ("|" . "\e$(C#|\e(B")  ("_" . "\e$(C#_\e(B")  ("+" . "\e$(C#+\e(B")  ("~" . "\e$(C#~\e(B")
-                  ("[" . "\e$(C!8\e(B")  ("]" . "\e$(C!9\e(B")  ("{" . "\e$(C#{\e(B")  ("}" . "\e$(C#}\e(B")
-                  (":" . "\e$(C#:\e(B")  (";" . "\e$(C#;\e(B")  ("\"" . "\e$(C#"\e(B") ("'" . "\e$(C#'\e(B")
-                  ("<" . "\e$(C#<\e(B")  (">" . "\e$(C#>\e(B")  ("?" . "\e$(C#?\e(B")  ("/" . "\e$(C#/\e(B")
-                  ("," . "\e$(C#,\e(B")  ("." . "\e$(C#.\e(B")
-                  ("a" . "\e$(C#A\e(B")  ("b" . "\e$(C#B\e(B")  ("c" . "\e$(C#C\e(B")  ("d" . "\e$(C#D\e(B")
-                  ("e" . "\e$(C#E\e(B")  ("f" . "\e$(C#F\e(B")  ("g" . "\e$(C#G\e(B")  ("h" . "\e$(C#H\e(B")
-                  ("i" . "\e$(C#I\e(B")  ("j" . "\e$(C#J\e(B")  ("k" . "\e$(C#K\e(B")  ("l" . "\e$(C#L\e(B")
-                  ("m" . "\e$(C#M\e(B")  ("n" . "\e$(C#N\e(B")  ("o" . "\e$(C#O\e(B")  ("p" . "\e$(C#P\e(B")
-                  ("q" . "\e$(C#Q\e(B")  ("r" . "\e$(C#R\e(B")  ("s" . "\e$(C#S\e(B")  ("t" . "\e$(C#T\e(B")
-                  ("u" . "\e$(C#U\e(B")  ("v" . "\e$(C#V\e(B")  ("w" . "\e$(C#W\e(B")  ("x" . "\e$(C#X\e(B")
-                  ("y" . "\e$(C#Y\e(B")  ("z" . "\e$(C#Z\e(B")
-                  ("A" . "\e$(C#A\e(B")  ("B" . "\e$(C#B\e(B")  ("C" . "\e$(C#C\e(B")  ("D" . "\e$(C#D\e(B")
-                  ("E" . "\e$(C#E\e(B")  ("F" . "\e$(C#F\e(B")  ("G" . "\e$(C#G\e(B")  ("H" . "\e$(C#H\e(B")
-                  ("I" . "\e$(C#I\e(B")  ("J" . "\e$(C#J\e(B")  ("K" . "\e$(C#K\e(B")  ("L" . "\e$(C#L\e(B")
-                  ("M" . "\e$(C#M\e(B")  ("N" . "\e$(C#N\e(B")  ("O" . "\e$(C#O\e(B")  ("P" . "\e$(C#P\e(B")
-                  ("Q" . "\e$(C#Q\e(B")  ("R" . "\e$(C#R\e(B")  ("S" . "\e$(C#S\e(B")  ("T" . "\e$(C#T\e(B")
-                  ("U" . "\e$(C#U\e(B")  ("V" . "\e$(C#V\e(B")  ("W" . "\e$(C#W\e(B")  ("X" . "\e$(C#X\e(B")
-                  ("Y" . "\e$(C#Y\e(B")  ("Z" . "\e$(C#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(define-its-state-machine its-jeonkak-down-map
-  "jeonkak-downcase" "\e$(C#a\e(B" "Korean" nil
-  "Map for jeonkak-downcase input."
-
-  (dolist (ascii '(("1" . "\e$(C#1\e(B")  ("2" . "\e$(C#2\e(B")  ("3" . "\e$(C#3\e(B")  ("4" . "\e$(C#4\e(B")
-                  ("5" . "\e$(C#5\e(B")  ("6" . "\e$(C#6\e(B")  ("7" . "\e$(C#7\e(B")  ("8" . "\e$(C#8\e(B")
-                  ("9" . "\e$(C#9\e(B")  ("0" . "\e$(C#0\e(B")
-                  (" " . "\e$(C!!\e(B")  ("!" . "\e$(C#!\e(B")  ("@" . "\e$(C#@\e(B")  ("#" . "\e$(C##\e(B")
-                  ("$" . "\e$(C#$\e(B")  ("%" . "\e$(C#%\e(B")  ("^" . "\e$(C#^\e(B")  ("&" . "\e$(C#&\e(B")
-                  ("*" . "\e$(C#*\e(B")  ("(" . "\e$(C#(\e(B")  (")" . "\e$(C#)\e(B")
-                  ("-" . "\e$(C#-\e(B")  ("=" . "\e$(C#=\e(B")  ("`" . "\e$(C#`\e(B")  ("\\" . "\e$(C#\\e(B")
-                  ("|" . "\e$(C#|\e(B")  ("_" . "\e$(C#_\e(B")  ("+" . "\e$(C#+\e(B")  ("~" . "\e$(C#~\e(B")
-                  ("[" . "\e$(C!8\e(B")  ("]" . "\e$(C!9\e(B")  ("{" . "\e$(C#{\e(B")  ("}" . "\e$(C#}\e(B")
-                  (":" . "\e$(C#:\e(B")  (";" . "\e$(C#;\e(B")  ("\"" . "\e$(C#"\e(B") ("'" . "\e$(C#'\e(B")
-                  ("<" . "\e$(C#<\e(B")  (">" . "\e$(C#>\e(B")  ("?" . "\e$(C#?\e(B")  ("/" . "\e$(C#/\e(B")
-                  ("," . "\e$(C#,\e(B")  ("." . "\e$(C#.\e(B")
-                  ("a" . "\e$(C#a\e(B")  ("b" . "\e$(C#b\e(B")  ("c" . "\e$(C#c\e(B")  ("d" . "\e$(C#d\e(B")
-                  ("e" . "\e$(C#e\e(B")  ("f" . "\e$(C#f\e(B")  ("g" . "\e$(C#g\e(B")  ("h" . "\e$(C#h\e(B")
-                  ("i" . "\e$(C#i\e(B")  ("j" . "\e$(C#j\e(B")  ("k" . "\e$(C#k\e(B")  ("l" . "\e$(C#l\e(B")
-                  ("m" . "\e$(C#m\e(B")  ("n" . "\e$(C#n\e(B")  ("o" . "\e$(C#o\e(B")  ("p" . "\e$(C#p\e(B")
-                  ("q" . "\e$(C#q\e(B")  ("r" . "\e$(C#r\e(B")  ("s" . "\e$(C#s\e(B")  ("t" . "\e$(C#t\e(B")
-                  ("u" . "\e$(C#u\e(B")  ("v" . "\e$(C#v\e(B")  ("w" . "\e$(C#w\e(B")  ("x" . "\e$(C#x\e(B")
-                  ("y" . "\e$(C#y\e(B")  ("z" . "\e$(C#z\e(B")
-                  ("A" . "\e$(C#A\e(B")  ("B" . "\e$(C#B\e(B")  ("C" . "\e$(C#C\e(B")  ("D" . "\e$(C#D\e(B")
-                  ("E" . "\e$(C#E\e(B")  ("F" . "\e$(C#F\e(B")  ("G" . "\e$(C#G\e(B")  ("H" . "\e$(C#H\e(B")
-                  ("I" . "\e$(C#I\e(B")  ("J" . "\e$(C#J\e(B")  ("K" . "\e$(C#K\e(B")  ("L" . "\e$(C#L\e(B")
-                  ("M" . "\e$(C#M\e(B")  ("N" . "\e$(C#N\e(B")  ("O" . "\e$(C#O\e(B")  ("P" . "\e$(C#P\e(B")
-                  ("Q" . "\e$(C#Q\e(B")  ("R" . "\e$(C#R\e(B")  ("S" . "\e$(C#S\e(B")  ("T" . "\e$(C#T\e(B")
-                  ("U" . "\e$(C#U\e(B")  ("V" . "\e$(C#V\e(B")  ("W" . "\e$(C#W\e(B")  ("X" . "\e$(C#X\e(B")
-                  ("Y" . "\e$(C#Y\e(B")  ("Z" . "\e$(C#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(provide 'its/jeonkak)
diff --git a/its/kata.el b/its/kata.el
deleted file mode 100644 (file)
index b138b66..0000000
+++ /dev/null
@@ -1,489 +0,0 @@
-;;; its/kata.el --- Katakana Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: Satoru Tomura <tomura@etl.go.jp>
-;;         jiro@math.keio.ac.jp (TANAKA Jiro)
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-;;
-;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
-;; This file is based on the rules of its/kata.el in Mule-2.3 distribution.
-;;
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its)
-  (require 'cl))
-
-(defvar its-kata-enable-double-n nil "*Enable \"nn\" input for \"\e$B%s\e(B\" ")
-(defvar its-kata-enable-zenkaku-alphabet t "*Enable Zenkaku alphabet")
-(defvar its-kata-period "\e$B!#\e(B" "*\e$B%T%j%*%I\e(B")  ; ". " "\e$B!%\e(B"
-(defvar its-kata-comma  "\e$B!"\e(B" "*\e$B%3%s%^\e(B")    ; ", " "\e$B!$\e(B"
-(defvar its-kata-open-bracket  "\e$B!V\e(B" "*[")  ; "\e$B!N\e(B"
-(defvar its-kata-close-bracket  "\e$B!W\e(B" "*]") ; "\e$B!O\e(B"
-(defvar its-kata-horizontal  "\e$B!<\e(B" "*-")    ; "\e$B!]\e(B"
-
-(define-its-state-machine its-kata-map
-  "roma-kata" "\e$B%"\e(B" "Japanese" nil
-  "Map for Romaji-Katakana translation. (Japanese)"
-
-  (defconst its-zenkaku-escape "Z")  ;; Escape character to Zenkaku inputs
-  (defconst its-hankaku-escape "~")  ;; Escape character to Hankaku inputs
-
-  (its-defrule-select-mode-temporally "q" downcase)
-  (its-defrule-select-mode-temporally "Q" zenkaku-downcase)
-
-;;; k      k
-;;; kk     \e$B%C\e(Bk
-;;; kka    \e$B%C%+\e(B
-;;;
-;;; kkk    \e$B%C\e(Bk DING!
-
-  (its-defrule "tch"  "\e$B%C\e(B" -2)
-
-;;; \e$B!V%s!W$NF~NO\e(B
-
-  (dolist (q1 '("b" "m" "p"))
-    (its-defrule (concat "m" q1) "\e$B%s\e(B" -1))
-
-  (its-defrule "N" "\e$B%s\e(B")
-
-  (let ((state (its-goto-state "n" nil t)))
-    (its-make-next-state state -1 "n" "\e$B%s\e(B")
-    (its-make-next-state state ?' "n" "\e$B%s\e(B")
-    (its-defrule-otherwise state "\e$B%s\e(B"))
-
-  (let ((small '"x" ))
-    (its-defrule (concat small "a") "\e$B%!\e(B")
-    (its-defrule (concat small "i") "\e$B%#\e(B")
-    (its-defrule (concat small "u") "\e$B%%\e(B")
-    (its-defrule (concat small "e") "\e$B%'\e(B")
-    (its-defrule (concat small "o") "\e$B%)\e(B")
-    (its-defrule (concat small "ya") "\e$B%c\e(B")
-    (its-defrule (concat small "yu") "\e$B%e\e(B")
-    (its-defrule (concat small "yo") "\e$B%g\e(B")
-    (its-defrule (concat small "tu") "\e$B%C\e(B")
-    (its-defrule (concat small "tsu") "\e$B%C\e(B")
-    (its-defrule (concat small "wa") "\e$B%n\e(B")
-    )
-
-  (its-defrule   "a"    "\e$B%"\e(B")
-  (its-defrule   "i"    "\e$B%$\e(B")
-  (its-defrule   "u"    "\e$B%&\e(B")
-  (its-defrule   "e"    "\e$B%(\e(B")
-  (its-defrule   "o"    "\e$B%*\e(B")
-
-  (dolist (k '(("ka"  "\e$B%+\e(B") ("ki"  "\e$B%-\e(B") ("ku"  "\e$B%/\e(B") ("ke"  "\e$B%1\e(B") ("ko"  "\e$B%3\e(B")
-              ("kya" "\e$B%-%c\e(B") ("kyu"  "\e$B%-%e\e(B") ("kye"  "\e$B%-%'\e(B") ("kyo"  "\e$B%-%g\e(B")))
-    (its-defrule (car k) (cadr k))
-    (its-defrule (concat "k" (car k)) (concat "\e$B%C\e(B" (cadr k))))
-  (its-defoutput "kk" "\e$B%C\e(Bk")
-  (its-defoutput "kky" "\e$B%C\e(Bky")
-
-  (dolist (s '(("sa"  "\e$B%5\e(B") ("si"  "\e$B%7\e(B") ("su"  "\e$B%9\e(B") ("se"  "\e$B%;\e(B") ("so"  "\e$B%=\e(B")
-              ("sya"  "\e$B%7%c\e(B") ("syu"  "\e$B%7%e\e(B") ("sye"  "\e$B%7%'\e(B") ("syo"  "\e$B%7%g\e(B")
-              ("sha"  "\e$B%7%c\e(B") ("shi"  "\e$B%7\e(B") ("shu"  "\e$B%7%e\e(B") ("she"  "\e$B%7%'\e(B")
-              ("sho"  "\e$B%7%g\e(B")))
-    (its-defrule (car s) (cadr s))
-    (its-defrule (concat "s" (car s)) (concat "\e$B%C\e(B" (cadr s))))
-  (its-defoutput "ss" "\e$B%C\e(Bs")
-  (its-defoutput "ssy" "\e$B%C\e(Bsy")
-  (its-defoutput "ssh" "\e$B%C\e(Bsh")
-
-  (dolist (T '(("ta"  "\e$B%?\e(B") ("ti"  "\e$B%A\e(B") ("tu"  "\e$B%D\e(B") ("te"  "\e$B%F\e(B") ("to"  "\e$B%H\e(B")
-              ("tya"  "\e$B%A%c\e(B") ("tyi"  "\e$B%F%#\e(B") ("tyu"  "\e$B%A%e\e(B") ("tye"  "\e$B%A%'\e(B")
-              ("tyo"  "\e$B%A%g\e(B") ("tsu"  "\e$B%D\e(B")))
-    (its-defrule (car T) (cadr T))
-    (its-defrule (concat "t" (car T)) (concat "\e$B%C\e(B" (cadr T))))
-  (its-defoutput "tt" "\e$B%C\e(Bt")
-  (its-defoutput "tty" "\e$B%C\e(Bty")
-  (its-defoutput "tts" "\e$B%C\e(Bts")
-
-  (dolist (c '(("cha"  "\e$B%A%c\e(B") ("chi"  "\e$B%A\e(B") ("chu"  "\e$B%A%e\e(B")
-              ("che"  "\e$B%A%'\e(B") ("cho"  "\e$B%A%g\e(B")))
-    (its-defrule (car c) (cadr c))
-    (its-defrule (concat "c" (car c)) (concat "\e$B%C\e(B" (cadr c))))
-  (its-defoutput "cc" "\e$B%C\e(Bc")
-  (its-defoutput "cch" "\e$B%C\e(Bch")
-
-  (dolist (h '(("ha"  "\e$B%O\e(B") ("hi"  "\e$B%R\e(B") ("hu"  "\e$B%U\e(B") ("he"  "\e$B%X\e(B") ("ho"  "\e$B%[\e(B")
-              ("hya"  "\e$B%R%c\e(B") ("hyu"  "\e$B%R%e\e(B") ("hye"  "\e$B%R%'\e(B") ("hyo"  "\e$B%R%g\e(B")))
-    (its-defrule (car h) (cadr h))
-    (its-defrule (concat "h" (car h)) (concat "\e$B%C\e(B" (cadr h))))
-  (its-defoutput "hh" "\e$B%C\e(Bh")
-  (its-defoutput "hhy" "\e$B%C\e(Bhy")
-
-  (dolist (f '(("fa"  "\e$B%U%!\e(B") ("fi"  "\e$B%U%#\e(B") ("fu"  "\e$B%U\e(B") ("fe"  "\e$B%U%'\e(B")
-              ("fo"  "\e$B%U%)\e(B")))
-    (its-defrule (car f) (cadr f))
-    (its-defrule (concat "f" (car f)) (concat "\e$B%C\e(B" (cadr f))))
-  (its-defoutput "ff" "\e$B%C\e(Bf")
-
-  (dolist (r '(("ra"  "\e$B%i\e(B") ("ri"  "\e$B%j\e(B") ("ru"  "\e$B%k\e(B") ("re"  "\e$B%l\e(B") ("ro"  "\e$B%m\e(B")
-              ("rya"  "\e$B%j%c\e(B") ("ryu"  "\e$B%j%e\e(B") ("rye"  "\e$B%j%'\e(B") ("ryo"  "\e$B%j%g\e(B")))
-    (its-defrule (car r) (cadr r))
-    (its-defrule (concat "r" (car r)) (concat "\e$B%C\e(B" (cadr r))))
-  (its-defoutput "rr" "\e$B%C\e(Br")
-  (its-defoutput "rry" "\e$B%C\e(Bry")
-
-  (dolist (l '(("la"  "\e$B%i\e(B") ("li"  "\e$B%j\e(B") ("lu"  "\e$B%k\e(B") ("le"  "\e$B%l\e(B") ("lo"  "\e$B%m\e(B")
-              ("lya"  "\e$B%j%c\e(B") ("lyu"  "\e$B%j%e\e(B") ("lye"  "\e$B%j%'\e(B") ("lyo"  "\e$B%j%g\e(B")))
-    (its-defrule (car l) (cadr l))
-    (its-defrule (concat "l" (car l)) (concat "\e$B%C\e(B" (cadr l))))
-  (its-defoutput "ll" "\e$B%C\e(Bl")
-  (its-defoutput "lly" "\e$B%C\e(Bly")
-
-  (dolist (g '(("ga"  "\e$B%,\e(B") ("gi"  "\e$B%.\e(B") ("gu"  "\e$B%0\e(B") ("ge"  "\e$B%2\e(B") ("go"  "\e$B%4\e(B")
-              ("gya"  "\e$B%.%c\e(B") ("gyu"  "\e$B%.%e\e(B") ("gye"  "\e$B%.%'\e(B") ("gyo"  "\e$B%.%g\e(B")))
-    (its-defrule (car g) (cadr g))
-    (its-defrule (concat "g" (car g)) (concat "\e$B%C\e(B" (cadr g))))
-  (its-defoutput "gg" "\e$B%C\e(Bg")
-  (its-defoutput "ggy" "\e$B%C\e(Bgy")
-
-  (dolist (z '(("za"  "\e$B%6\e(B") ("zi"  "\e$B%8\e(B") ("zu"  "\e$B%:\e(B") ("ze"  "\e$B%<\e(B") ("zo"  "\e$B%>\e(B")
-              ("zya"  "\e$B%8%c\e(B") ("zyu"  "\e$B%8%e\e(B") ("zye"  "\e$B%8%'\e(B") ("zyo"  "\e$B%8%g\e(B")))
-    (its-defrule (car z) (cadr z))
-    (its-defrule (concat "z" (car z)) (concat "\e$B%C\e(B" (cadr z))))
-  (its-defoutput "zz" "\e$B%C\e(Bz")
-  (its-defoutput "zzy" "\e$B%C\e(Bzy")
-
-  (dolist (j '(("ja"  "\e$B%8%c\e(B") ("ji"  "\e$B%8\e(B") ("ju"  "\e$B%8%e\e(B") ("je"  "\e$B%8%'\e(B")
-              ("jo"  "\e$B%8%g\e(B") ("jya"  "\e$B%8%c\e(B") ("jyu"  "\e$B%8%e\e(B") ("jye"  "\e$B%8%'\e(B")
-              ("jyo"  "\e$B%8%g\e(B")))
-    (its-defrule (car j) (cadr j))
-    (its-defrule (concat "j" (car j)) (concat "\e$B%C\e(B" (cadr j))))
-  (its-defoutput "jj" "\e$B%C\e(Bj")
-  (its-defoutput "jjy" "\e$B%C\e(Bjy")
-
-  (dolist (d '(("da"  "\e$B%@\e(B") ("di"  "\e$B%B\e(B") ("du"  "\e$B%E\e(B") ("de"  "\e$B%G\e(B") ("do"  "\e$B%I\e(B")
-              ("dya"  "\e$B%B%c\e(B") ("dyi"  "\e$B%G%#\e(B") ("dyu"  "\e$B%B%e\e(B") ("dye"  "\e$B%B%'\e(B")
-              ("dyo"  "\e$B%B%g\e(B")))
-    (its-defrule (car d) (cadr d))
-    (its-defrule (concat "d" (car d)) (concat "\e$B%C\e(B" (cadr d))))
-  (its-defoutput "dd" "\e$B%C\e(Bd")
-  (its-defoutput "ddy" "\e$B%C\e(Bdy")
-
-  (dolist (b '(("ba"  "\e$B%P\e(B") ("bi"  "\e$B%S\e(B") ("bu"  "\e$B%V\e(B") ("be"  "\e$B%Y\e(B") ("bo"  "\e$B%\\e(B")
-              ("bya"  "\e$B%S%c\e(B") ("byu"  "\e$B%S%e\e(B") ("bye"  "\e$B%S%'\e(B") ("byo"  "\e$B%S%g\e(B")))
-    (its-defrule (car b) (cadr b))
-    (its-defrule (concat "b" (car b)) (concat "\e$B%C\e(B" (cadr b))))
-  (its-defoutput "bb" "\e$B%C\e(Bb")
-  (its-defoutput "bby" "\e$B%C\e(Bby")
-
-  (dolist (p '(("pa"  "\e$B%Q\e(B") ("pi"  "\e$B%T\e(B") ("pu"  "\e$B%W\e(B") ("pe"  "\e$B%Z\e(B") ("po"   "\e$B%]\e(B")
-              ("pya"  "\e$B%T%c\e(B") ("pyu"  "\e$B%T%e\e(B") ("pye"  "\e$B%T%'\e(B") ("pyo"  "\e$B%T%g\e(B")))
-    (its-defrule (car p) (cadr p))
-    (its-defrule (concat "p" (car p)) (concat "\e$B%C\e(B" (cadr p))))
-  (its-defoutput "pp" "\e$B%C\e(Bp")
-  (its-defoutput "ppy" "\e$B%C\e(Bpy")
-
-  (dolist (v '(("va" "\e$B%t%!\e(B") ("vi" "\e$B%t%#\e(B") ("vu" "\e$B%t\e(B") ("ve" "\e$B%t%'\e(B")
-              ("vo" "\e$B%t%)\e(B")))
-    (its-defrule (car v) (cadr v))
-    (its-defrule (concat "v" (car v)) (concat "\e$B%C\e(B" (cadr v))))
-  (its-defoutput "vv" "\e$B%C\e(Bv")
-
-  (its-defrule   "ma"   "\e$B%^\e(B")
-  (its-defrule   "mi"   "\e$B%_\e(B")
-  (its-defrule   "mu"   "\e$B%`\e(B")
-  (its-defrule   "me"   "\e$B%a\e(B")
-  (its-defrule   "mo"   "\e$B%b\e(B")
-  (its-defrule   "mya"  "\e$B%_%c\e(B")
-  (its-defrule   "myu"  "\e$B%_%e\e(B")
-  (its-defrule   "mye"  "\e$B%_%'\e(B")
-  (its-defrule   "myo"  "\e$B%_%g\e(B")
-  (its-defrule   "ya"   "\e$B%d\e(B")
-  (its-defrule   "yi"   "\e$B%$\e(B")
-  (its-defrule   "yu"   "\e$B%f\e(B")
-  (its-defrule   "yo"   "\e$B%h\e(B")
-  (its-defrule   "ye"   "\e$B%$%'\e(B")
-  (its-defrule   "wa"   "\e$B%o\e(B")
-  (its-defrule   "wi"   "\e$B%p\e(B")
-  (its-defrule   "wu"   "\e$B%&\e(B")
-  (its-defrule   "we"   "\e$B%q\e(B")
-  (its-defrule   "wo"   "\e$B%r\e(B")
-
-  (its-defrule   "kwa"  "\e$B%/%n\e(B")
-  (its-defrule   "kwi"  "\e$B%/%#\e(B")
-  (its-defrule   "kwu"  "\e$B%/\e(B")
-  (its-defrule   "kwe"  "\e$B%/%'\e(B")
-  (its-defrule   "kwo"  "\e$B%/%)\e(B")
-  (its-defrule   "gwa"  "\e$B%0%n\e(B")
-  (its-defrule   "gwi"  "\e$B%0%#\e(B")
-  (its-defrule   "gwu"  "\e$B%0\e(B")
-  (its-defrule   "gwe"  "\e$B%0%'\e(B")
-  (its-defrule   "gwo"  "\e$B%0%)\e(B")
-  (its-defrule   "tsa"  "\e$B%D%!\e(B")
-  (its-defrule   "tsi"  "\e$B%D%#\e(B")
-  (its-defrule   "tse"  "\e$B%D%'\e(B")
-  (its-defrule   "tso"  "\e$B%D%)\e(B")
-
-  (its-defrule   "na"   "\e$B%J\e(B")
-  (its-defrule   "ni"   "\e$B%K\e(B")
-  (its-defrule   "nu"   "\e$B%L\e(B")
-  (its-defrule   "ne"   "\e$B%M\e(B")
-  (its-defrule   "no"   "\e$B%N\e(B")
-  (its-defrule   "nya"  "\e$B%K%c\e(B")
-  (its-defrule   "nyu"  "\e$B%K%e\e(B")
-  (its-defrule   "nye"  "\e$B%K%'\e(B")
-  (its-defrule   "nyo"  "\e$B%K%g\e(B")
-
-  (its-defrule   "xka"  "\e$B%u\e(B")
-  (its-defrule   "xke"  "\e$B%v\e(B")
-  (its-defrule   "xti"  "\e$B%F%#\e(B")
-  (its-defrule   "xdi"  "\e$B%G%#\e(B")
-  (its-defrule   "xdu"  "\e$B%I%%\e(B")
-  (its-defrule   "xde"  "\e$B%G%'\e(B")
-  (its-defrule   "xdo"  "\e$B%I%)\e(B")
-  (its-defrule   "xwi"  "\e$B%&%#\e(B")
-  (its-defrule   "xwe"  "\e$B%&%'\e(B")
-  (its-defrule   "xwo"  "\e$B%&%)\e(B")
-
-;;;
-;;; Zenkaku inputs
-;;;
-
-  (its-defrule (concat its-zenkaku-escape "0") "\e$B#0\e(B")
-  (its-defrule (concat its-zenkaku-escape "1") "\e$B#1\e(B")
-  (its-defrule (concat its-zenkaku-escape "2") "\e$B#2\e(B")
-  (its-defrule (concat its-zenkaku-escape "3") "\e$B#3\e(B")
-  (its-defrule (concat its-zenkaku-escape "4") "\e$B#4\e(B")
-  (its-defrule (concat its-zenkaku-escape "5") "\e$B#5\e(B")
-  (its-defrule (concat its-zenkaku-escape "6") "\e$B#6\e(B")
-  (its-defrule (concat its-zenkaku-escape "7") "\e$B#7\e(B")
-  (its-defrule (concat its-zenkaku-escape "8") "\e$B#8\e(B")
-  (its-defrule (concat its-zenkaku-escape "9") "\e$B#9\e(B")
-
-  (its-defrule (concat its-zenkaku-escape "A") "\e$B#A\e(B")
-  (its-defrule (concat its-zenkaku-escape "B") "\e$B#B\e(B")
-  (its-defrule (concat its-zenkaku-escape "C") "\e$B#C\e(B")
-  (its-defrule (concat its-zenkaku-escape "D") "\e$B#D\e(B")
-  (its-defrule (concat its-zenkaku-escape "E") "\e$B#E\e(B")
-  (its-defrule (concat its-zenkaku-escape "F") "\e$B#F\e(B")
-  (its-defrule (concat its-zenkaku-escape "G") "\e$B#G\e(B")
-  (its-defrule (concat its-zenkaku-escape "H") "\e$B#H\e(B")
-  (its-defrule (concat its-zenkaku-escape "I") "\e$B#I\e(B")
-  (its-defrule (concat its-zenkaku-escape "J") "\e$B#J\e(B")
-  (its-defrule (concat its-zenkaku-escape "K") "\e$B#K\e(B")
-  (its-defrule (concat its-zenkaku-escape "L") "\e$B#L\e(B")
-  (its-defrule (concat its-zenkaku-escape "M") "\e$B#M\e(B")
-  (its-defrule (concat its-zenkaku-escape "N") "\e$B#N\e(B")
-  (its-defrule (concat its-zenkaku-escape "O") "\e$B#O\e(B")
-  (its-defrule (concat its-zenkaku-escape "P") "\e$B#P\e(B")
-  (its-defrule (concat its-zenkaku-escape "Q") "\e$B#Q\e(B")
-  (its-defrule (concat its-zenkaku-escape "R") "\e$B#R\e(B")
-  (its-defrule (concat its-zenkaku-escape "S") "\e$B#S\e(B")
-  (its-defrule (concat its-zenkaku-escape "T") "\e$B#T\e(B")
-  (its-defrule (concat its-zenkaku-escape "U") "\e$B#U\e(B")
-  (its-defrule (concat its-zenkaku-escape "V") "\e$B#V\e(B")
-  (its-defrule (concat its-zenkaku-escape "W") "\e$B#W\e(B")
-  (its-defrule (concat its-zenkaku-escape "X") "\e$B#X\e(B")
-  (its-defrule (concat its-zenkaku-escape "Y") "\e$B#Y\e(B")
-  (its-defrule (concat its-zenkaku-escape "Z") "\e$B#Z\e(B")
-
-  (its-defrule (concat its-zenkaku-escape "a") "\e$B#a\e(B")
-  (its-defrule (concat its-zenkaku-escape "b") "\e$B#b\e(B")
-  (its-defrule (concat its-zenkaku-escape "c") "\e$B#c\e(B")
-  (its-defrule (concat its-zenkaku-escape "d") "\e$B#d\e(B")
-  (its-defrule (concat its-zenkaku-escape "e") "\e$B#e\e(B")
-  (its-defrule (concat its-zenkaku-escape "f") "\e$B#f\e(B")
-  (its-defrule (concat its-zenkaku-escape "g") "\e$B#g\e(B")
-  (its-defrule (concat its-zenkaku-escape "h") "\e$B#h\e(B")
-  (its-defrule (concat its-zenkaku-escape "i") "\e$B#i\e(B")
-  (its-defrule (concat its-zenkaku-escape "j") "\e$B#j\e(B")
-  (its-defrule (concat its-zenkaku-escape "k") "\e$B#k\e(B")
-  (its-defrule (concat its-zenkaku-escape "l") "\e$B#l\e(B")
-  (its-defrule (concat its-zenkaku-escape "m") "\e$B#m\e(B")
-  (its-defrule (concat its-zenkaku-escape "n") "\e$B#n\e(B")
-  (its-defrule (concat its-zenkaku-escape "o") "\e$B#o\e(B")
-  (its-defrule (concat its-zenkaku-escape "p") "\e$B#p\e(B")
-  (its-defrule (concat its-zenkaku-escape "q") "\e$B#q\e(B")
-  (its-defrule (concat its-zenkaku-escape "r") "\e$B#r\e(B")
-  (its-defrule (concat its-zenkaku-escape "s") "\e$B#s\e(B")
-  (its-defrule (concat its-zenkaku-escape "t") "\e$B#t\e(B")
-  (its-defrule (concat its-zenkaku-escape "u") "\e$B#u\e(B")
-  (its-defrule (concat its-zenkaku-escape "v") "\e$B#v\e(B")
-  (its-defrule (concat its-zenkaku-escape "w") "\e$B#w\e(B")
-  (its-defrule (concat its-zenkaku-escape "x") "\e$B#x\e(B")
-  (its-defrule (concat its-zenkaku-escape "y") "\e$B#y\e(B")
-  (its-defrule (concat its-zenkaku-escape "z") "\e$B#z\e(B")
-
-  (its-defrule (concat its-zenkaku-escape " ")  "\e$B!!\e(B")
-  (its-defrule (concat its-zenkaku-escape "!")  "\e$B!*\e(B")
-  (its-defrule (concat its-zenkaku-escape "@")  "\e$B!w\e(B")
-  (its-defrule (concat its-zenkaku-escape "#")  "\e$B!t\e(B")
-  (its-defrule (concat its-zenkaku-escape "$")  "\e$B!p\e(B")
-  (its-defrule (concat its-zenkaku-escape "%")  "\e$B!s\e(B")
-  (its-defrule (concat its-zenkaku-escape "^")  "\e$B!0\e(B")
-  (its-defrule (concat its-zenkaku-escape "&")  "\e$B!u\e(B")
-  (its-defrule (concat its-zenkaku-escape "*")  "\e$B!v\e(B")
-  (its-defrule (concat its-zenkaku-escape "(")  "\e$B!J\e(B")
-  (its-defrule (concat its-zenkaku-escape ")")  "\e$B!K\e(B")
-  (its-defrule (concat its-zenkaku-escape "-")  "\e$B!]\e(B")
-  (its-defrule (concat its-zenkaku-escape "=")  "\e$B!a\e(B")
-  (its-defrule (concat its-zenkaku-escape "`")  "\e$B!.\e(B")
-  (its-defrule (concat its-zenkaku-escape "\\") "\e$B!o\e(B")
-  (its-defrule (concat its-zenkaku-escape "|")  "\e$B!C\e(B")
-  (its-defrule (concat its-zenkaku-escape "_")  "\e$B!2\e(B")
-  (its-defrule (concat its-zenkaku-escape "+")  "\e$B!\\e(B")
-  (its-defrule (concat its-zenkaku-escape "~")  "\e$B!1\e(B")
-  (its-defrule (concat its-zenkaku-escape "[")  "\e$B!N\e(B")
-  (its-defrule (concat its-zenkaku-escape "]")  "\e$B!O\e(B")
-  (its-defrule (concat its-zenkaku-escape "{")  "\e$B!P\e(B")
-  (its-defrule (concat its-zenkaku-escape "}")  "\e$B!Q\e(B")
-  (its-defrule (concat its-zenkaku-escape ":")  "\e$B!'\e(B")
-  (its-defrule (concat its-zenkaku-escape ";")  "\e$B!(\e(B")
-  (its-defrule (concat its-zenkaku-escape "\"") "\e$B!I\e(B")
-  (its-defrule (concat its-zenkaku-escape "'")  "\e$B!G\e(B")
-  (its-defrule (concat its-zenkaku-escape "<")  "\e$B!c\e(B")
-  (its-defrule (concat its-zenkaku-escape ">")  "\e$B!d\e(B")
-  (its-defrule (concat its-zenkaku-escape "?")  "\e$B!)\e(B")
-  (its-defrule (concat its-zenkaku-escape "/")  "\e$B!?\e(B")
-  (its-defrule (concat its-zenkaku-escape ",")  "\e$B!$\e(B")
-  (its-defrule (concat its-zenkaku-escape ".")  "\e$B!%\e(B")
-
-;;;
-;;; Hankaku inputs
-;;;
-
-  (dolist (digit '( "1"  "2"  "3"  "4" "5"  "6"  "7"  "8"  "9"  "0" ))
-    (its-defrule (concat its-hankaku-escape digit)  digit))
-
-  (dolist (symbol '( " "  "!"  "@"  "#"  "$"  "%"  "^"  "&"  "*"  "("  ")"
-                    "-"  "="  "`"  "\\" "|"  "_"  "+"  "~" "["  "]"  "{"  "}"
-                    ":"  ";"  "\"" "'"  "<"  ">"  "?"  "/"  ","  "." ))
-    (its-defrule (concat its-hankaku-escape symbol) symbol))
-
-  (dolist (downcase '("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n"
-                     "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
-    (its-defrule (concat its-hankaku-escape downcase) downcase))
-
-  (dolist (upcase    '("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N"
-                      "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"))
-    (its-defrule (concat its-hankaku-escape upcase) upcase))
-
-;; SYMBOL Input
-  (its-defrule   "z1"   "\e$B!{\e(B")    (its-defrule   "z!"   "\e$B!|\e(B")
-  (its-defrule   "z2"   "\e$B"&\e(B")    (its-defrule   "z@"   "\e$B"'\e(B")
-  (its-defrule   "z3"   "\e$B"$\e(B")    (its-defrule   "z#"   "\e$B"%\e(B")
-  (its-defrule   "z4"   "\e$B""\e(B")    (its-defrule   "z$"   "\e$B"#\e(B")
-  (its-defrule   "z5"   "\e$B!~\e(B")    (its-defrule   "z%"   "\e$B"!\e(B")
-  (its-defrule   "z6"   "\e$B!y\e(B")    (its-defrule   "z^"   "\e$B!z\e(B")
-  (its-defrule   "z7"   "\e$B!}\e(B")    (its-defrule   "z&"   "\e$B!r\e(B")
-  (its-defrule   "z8"   "\e$B!q\e(B")    (its-defrule   "z*"   "\e$B!_\e(B")
-  (its-defrule   "z9"   "\e$B!i\e(B")    (its-defrule   "z("   "\e$B!Z\e(B")
-  (its-defrule   "z0"   "\e$B!j\e(B")    (its-defrule   "z)"   "\e$B![\e(B")
-  (its-defrule   "z-"   "\e$B!A\e(B")    (its-defrule   "z_"   "\e$B!h\e(B")
-  (its-defrule   "z="   "\e$B!b\e(B")    (its-defrule   "z+"   "\e$B!^\e(B")
-  (its-defrule   "z\\"  "\e$B!@\e(B")    (its-defrule   "z|"   "\e$B!B\e(B")
-  (its-defrule   "z`"   "\e$B!-\e(B")    (its-defrule   "z~"   "\e$B!/\e(B")
-
-  (its-defrule   "zq"   "\e$B!T\e(B")    (its-defrule   "zQ"   "\e$B!R\e(B")
-  (its-defrule   "zw"   "\e$B!U\e(B")    (its-defrule   "zW"   "\e$B!S\e(B")
-                                       ; e
-  (its-defrule   "zr"   "\e$B!9\e(B")    (its-defrule   "zR"   "\e$B!8\e(B")
-  (its-defrule   "zt"   "\e$B!:\e(B")    (its-defrule   "zT"   "\e$B!x\e(B")
-                                       ; y u i o
-  (its-defrule   "zp"   "\e$B")\e(B")    (its-defrule   "zP"   "\e$B",\e(B")
-  (its-defrule   "z["   "\e$B!X\e(B")    (its-defrule   "z{"   "\e$B!L\e(B")
-  (its-defrule   "z]"   "\e$B!Y\e(B")    (its-defrule   "z}"   "\e$B!M\e(B")
-
-                                       ; a
-  (its-defrule   "zs"   "\e$B!3\e(B")    (its-defrule   "zS"   "\e$B!4\e(B")
-  (its-defrule   "zd"   "\e$B!5\e(B")    (its-defrule   "zD"   "\e$B!6\e(B")
-  (its-defrule   "zf"   "\e$B!7\e(B")    (its-defrule   "zF"   "\e$B"*\e(B")
-  (its-defrule   "zg"   "\e$B!>\e(B")    (its-defrule   "zG"   "\e$B!=\e(B")
-  (its-defrule   "zh"   "\e$B"+\e(B")
-  (its-defrule   "zj"   "\e$B"-\e(B")
-  (its-defrule   "zk"   "\e$B",\e(B")
-  (its-defrule   "zl"   "\e$B"*\e(B")
-  (its-defrule   "z;"   "\e$B!+\e(B")    (its-defrule   "z:"   "\e$B!,\e(B")
-  (its-defrule   "z\'"  "\e$B!F\e(B")    (its-defrule   "z\""  "\e$B!H\e(B")
-
-                                       ; z
-  (its-defrule   "zx"   ":-")  (its-defrule   "zX"   ":-)")
-  (its-defrule   "zc"   "\e$B!;\e(B")    (its-defrule   "zC"   "\e$B!n\e(B")
-  (its-defrule   "zv"   "\e$B"(\e(B")    (its-defrule   "zV"   "\e$B!`\e(B")
-  (its-defrule   "zb"   "\e$B!k\e(B")    (its-defrule   "zB"   "\e$B"+\e(B")
-  (its-defrule   "zn"   "\e$B!l\e(B")    (its-defrule   "zN"   "\e$B"-\e(B")
-  (its-defrule   "zm"   "\e$B!m\e(B")    (its-defrule   "zM"   "\e$B".\e(B")
-  (its-defrule   "z,"   "\e$B!E\e(B")    (its-defrule   "z<"   "\e$B!e\e(B")
-  (its-defrule   "z."   "\e$B!D\e(B")    (its-defrule   "z>"   "\e$B!f\e(B")
-  (its-defrule   "z/"   "\e$B!&\e(B")    (its-defrule   "z?"   "\e$B!g\e(B")
-  )
-
-(define-its-state-machine-append its-kata-map
-  (if its-kata-enable-double-n
-      (its-defrule "nn" "\e$B%s\e(B")
-    (its-defrule "nn" "\e$B%s\e(B" -1))
-
-  (its-defrule "-" its-kata-horizontal)
-  (its-defrule "[" its-kata-open-bracket)
-  (its-defrule "]" its-kata-close-bracket)
-  (its-defrule "." its-kata-period)
-  (its-defrule "," its-kata-comma)
-
-  (if its-kata-enable-zenkaku-alphabet
-      (progn
-       (its-defrule   "1"   "\e$B#1\e(B")  (its-defrule   "2"   "\e$B#2\e(B")
-       (its-defrule   "3"   "\e$B#3\e(B")  (its-defrule   "4"   "\e$B#4\e(B")
-       (its-defrule   "5"   "\e$B#5\e(B")  (its-defrule   "6"   "\e$B#6\e(B")
-       (its-defrule   "7"   "\e$B#7\e(B")  (its-defrule   "8"   "\e$B#8\e(B")
-       (its-defrule   "9"   "\e$B#9\e(B")  (its-defrule   "0"   "\e$B#0\e(B")
-       (its-defrule   "!"   "\e$B!*\e(B")  (its-defrule   "@"   "\e$B!w\e(B")
-       (its-defrule   "#"   "\e$B!t\e(B")  (its-defrule   "$"   "\e$B!p\e(B")
-       (its-defrule   "%"   "\e$B!s\e(B")  (its-defrule   "^"   "\e$B!0\e(B")
-       (its-defrule   "&"   "\e$B!u\e(B")  (its-defrule   "*"   "\e$B!v\e(B")
-       (its-defrule   "("   "\e$B!J\e(B")  (its-defrule   ")"   "\e$B!K\e(B")
-       (its-defrule   "="   "\e$B!a\e(B")  (its-defrule   "`"   "\e$B!.\e(B")
-       (its-defrule   "\\"  "\e$B!o\e(B")  (its-defrule   "|"   "\e$B!C\e(B")
-       (its-defrule   "_"   "\e$B!2\e(B")  (its-defrule   "+"   "\e$B!\\e(B")
-       (its-defrule   "{"   "\e$B!P\e(B")  (its-defrule   "}"   "\e$B!Q\e(B")
-       (its-defrule   ":"   "\e$B!'\e(B")  (its-defrule   ";"   "\e$B!(\e(B")
-       (its-defrule   "\""  "\e$B!I\e(B")  (its-defrule   "'"   "\e$B!G\e(B")
-       (its-defrule   "<"   "\e$B!c\e(B")  (its-defrule   ">"   "\e$B!d\e(B")
-       (its-defrule   "?"   "\e$B!)\e(B")  (its-defrule   "/"   "\e$B!?\e(B"))
-    (progn
-      (its-defrule   "1"   "1")  (its-defrule   "2"   "2")
-      (its-defrule   "3"   "3")  (its-defrule   "4"   "4")
-      (its-defrule   "5"   "5")  (its-defrule   "6"   "6")
-      (its-defrule   "7"   "7")  (its-defrule   "8"   "8")
-      (its-defrule   "9"   "9")  (its-defrule   "0"   "0")
-      (its-defrule   "!"   "!")  (its-defrule   "@"   "@")
-      (its-defrule   "#"   "#")  (its-defrule   "$"   "$")
-      (its-defrule   "%"   "%")  (its-defrule   "^"   "^")
-      (its-defrule   "&"   "&")  (its-defrule   "*"   "*")
-      (its-defrule   "("   "(")  (its-defrule   ")"   ")")
-      (its-defrule   "="   "=")  (its-defrule   "`"   "`")
-      (its-defrule   "\\"  "\\") (its-defrule   "|"   "|")
-      (its-defrule   "_"   "_")  (its-defrule   "+"   "+")
-      (its-defrule   "{"   "{")  (its-defrule   "}"   "}")
-      (its-defrule   ":"   ":")  (its-defrule   ";"   ";")
-      (its-defrule   "\""  "\"") (its-defrule   "'"   "'")
-      (its-defrule   "<"   "<")  (its-defrule   ">"   ">")
-      (its-defrule   "?"   "?")  (its-defrule   "/"   "/")))
-  )
-
-(provide 'its/kata)
-;;; its/kata.el ends here.
diff --git a/its/quanjiao.el b/its/quanjiao.el
deleted file mode 100644 (file)
index d33205d..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-;;; its/quanjiao.el --- Quanjiao ASCII Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-;;
-;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
-;; This file is based on the rules of its/hira.el in Mule-2.3 distribution.
-;;
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its))
-
-(define-its-state-machine its-quanjiao-up-cn-map
-  "quanjiao-upcase-cn" "\e$A#A\e(B" "Chinese-GB" nil
-  "Map for quanjiao-upcase input. (Chinese-GB)"
-
-  (dolist (ascii '(("0" . "\e$A#0\e(B")  ("1" . "\e$A#1\e(B")  ("2" . "\e$A#2\e(B")  ("3" . "\e$A#3\e(B")
-                  ("4" . "\e$A#4\e(B")  ("5" . "\e$A#5\e(B")  ("6" . "\e$A#6\e(B")  ("7" . "\e$A#7\e(B")
-                  ("8" . "\e$A#8\e(B")  ("9" . "\e$A#9\e(B") 
-                  (" " . "\e$A!!\e(B")  ("!" . "\e$A#!\e(B")  ("@" . "\e$A#@\e(B")  ("#" . "\e$A##\e(B")
-                  ("$" . "\e$A!g\e(B")  ("%" . "\e$A#%\e(B")  ("^" . "\e$A#^\e(B")  ("&" . "\e$A#&\e(B")
-                  ("*" . "\e$A#*\e(B")  ("(" . "\e$A#(\e(B")  (")" . "\e$A#)\e(B")
-                  ("-" . "\e$A#-\e(B")  ("=" . "\e$A#=\e(B")  ("`" . "\e$A#`\e(B")  ("\\" . "\e$A#\\e(B")
-                  ("|" . "\e$A#|\e(B")  ("_" . "\e$A#_\e(B")  ("+" . "\e$A#+\e(B")  ("~" . "\e$A!+\e(B")
-                  ("[" . "\e$A#[\e(B")  ("]" . "\e$A#]\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$A#}\e(B")
-                  (":" . "\e$A#:\e(B")  (";" . "\e$A#;\e(B")  ("\"" . "\e$A#"\e(B") ("'" . "\e$A#'\e(B")
-                  ("<" . "\e$A#<\e(B")  (">" . "\e$A#>\e(B")  ("?" . "\e$A#?\e(B")  ("/" . "\e$A#/\e(B")
-                  ("," . "\e$A#,\e(B")  ("." . "\e$A#.\e(B")
-                  ("a" . "\e$A#A\e(B")  ("b" . "\e$A#B\e(B")  ("c" . "\e$A#C\e(B")  ("d" . "\e$A#D\e(B")
-                  ("e" . "\e$A#E\e(B")  ("f" . "\e$A#F\e(B")  ("g" . "\e$A#G\e(B")  ("h" . "\e$A#H\e(B")
-                  ("i" . "\e$A#I\e(B")  ("j" . "\e$A#J\e(B")  ("k" . "\e$A#K\e(B")  ("l" . "\e$A#L\e(B")
-                  ("m" . "\e$A#M\e(B")  ("n" . "\e$A#N\e(B")  ("o" . "\e$A#O\e(B")  ("p" . "\e$A#P\e(B")
-                  ("q" . "\e$A#Q\e(B")  ("r" . "\e$A#R\e(B")  ("s" . "\e$A#S\e(B")  ("t" . "\e$A#T\e(B")
-                  ("u" . "\e$A#U\e(B")  ("v" . "\e$A#V\e(B")  ("w" . "\e$A#W\e(B")  ("x" . "\e$A#X\e(B")
-                  ("y" . "\e$A#Y\e(B")  ("z" . "\e$A#Z\e(B")
-                  ("A" . "\e$A#A\e(B")  ("B" . "\e$A#B\e(B")  ("C" . "\e$A#C\e(B")  ("D" . "\e$A#D\e(B")
-                  ("E" . "\e$A#E\e(B")  ("F" . "\e$A#F\e(B")  ("G" . "\e$A#G\e(B")  ("H" . "\e$A#H\e(B")
-                  ("I" . "\e$A#I\e(B")  ("J" . "\e$A#J\e(B")  ("K" . "\e$A#K\e(B")  ("L" . "\e$A#L\e(B")
-                  ("M" . "\e$A#M\e(B")  ("N" . "\e$A#N\e(B")  ("O" . "\e$A#O\e(B")  ("P" . "\e$A#P\e(B")
-                  ("Q" . "\e$A#Q\e(B")  ("R" . "\e$A#R\e(B")  ("S" . "\e$A#S\e(B")  ("T" . "\e$A#T\e(B")
-                  ("U" . "\e$A#U\e(B")  ("V" . "\e$A#V\e(B")  ("W" . "\e$A#W\e(B")  ("X" . "\e$A#X\e(B")
-                  ("Y" . "\e$A#Y\e(B")  ("Z" . "\e$A#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(define-its-state-machine its-quanjiao-down-cn-map
-  "quanjiao-downcase-cn" "\e$A#a\e(B" "Chinese-GB" nil
-  "Map for quanjiao-downcase input. (Chinese-GB)"
-
-  (dolist (ascii '(("0" . "\e$A#0\e(B")  ("1" . "\e$A#1\e(B")  ("2" . "\e$A#2\e(B")  ("3" . "\e$A#3\e(B")
-                  ("4" . "\e$A#4\e(B")  ("5" . "\e$A#5\e(B")  ("6" . "\e$A#6\e(B")  ("7" . "\e$A#7\e(B")
-                  ("8" . "\e$A#8\e(B")  ("9" . "\e$A#9\e(B") 
-                  (" " . "\e$A!!\e(B")  ("!" . "\e$A#!\e(B")  ("@" . "\e$A#@\e(B")  ("#" . "\e$A##\e(B")
-                  ("$" . "\e$A!g\e(B")  ("%" . "\e$A#%\e(B")  ("^" . "\e$A#^\e(B")  ("&" . "\e$A#&\e(B")
-                  ("*" . "\e$A#*\e(B")  ("(" . "\e$A#(\e(B")  (")" . "\e$A#)\e(B")
-                  ("-" . "\e$A#-\e(B")  ("=" . "\e$A#=\e(B")  ("`" . "\e$A#`\e(B")  ("\\" . "\e$A#\\e(B")
-                  ("|" . "\e$A#|\e(B")  ("_" . "\e$A#_\e(B")  ("+" . "\e$A#+\e(B")  ("~" . "\e$A!+\e(B")
-                  ("[" . "\e$A#[\e(B")  ("]" . "\e$A#]\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$A#}\e(B")
-                  (":" . "\e$A#:\e(B")  (";" . "\e$A#;\e(B")  ("\"" . "\e$A#"\e(B") ("'" . "\e$A#'\e(B")
-                  ("<" . "\e$A#<\e(B")  (">" . "\e$A#>\e(B")  ("?" . "\e$A#?\e(B")  ("/" . "\e$A#/\e(B")
-                  ("," . "\e$A#,\e(B")  ("." . "\e$A#.\e(B")
-                  ("a" . "\e$A#a\e(B")  ("b" . "\e$A#b\e(B")  ("c" . "\e$A#c\e(B")  ("d" . "\e$A#d\e(B")
-                  ("e" . "\e$A#e\e(B")  ("f" . "\e$A#f\e(B")  ("g" . "\e$A#g\e(B")  ("h" . "\e$A#h\e(B")
-                  ("i" . "\e$A#i\e(B")  ("j" . "\e$A#j\e(B")  ("k" . "\e$A#k\e(B")  ("l" . "\e$A#l\e(B")
-                  ("m" . "\e$A#m\e(B")  ("n" . "\e$A#n\e(B")  ("o" . "\e$A#o\e(B")  ("p" . "\e$A#p\e(B")
-                  ("q" . "\e$A#q\e(B")  ("r" . "\e$A#r\e(B")  ("s" . "\e$A#s\e(B")  ("t" . "\e$A#t\e(B")
-                  ("u" . "\e$A#u\e(B")  ("v" . "\e$A#v\e(B")  ("w" . "\e$A#w\e(B")  ("x" . "\e$A#x\e(B")
-                  ("y" . "\e$A#y\e(B")  ("z" . "\e$A#z\e(B")
-                  ("A" . "\e$A#A\e(B")  ("B" . "\e$A#B\e(B")  ("C" . "\e$A#C\e(B")  ("D" . "\e$A#D\e(B")
-                  ("E" . "\e$A#E\e(B")  ("F" . "\e$A#F\e(B")  ("G" . "\e$A#G\e(B")  ("H" . "\e$A#H\e(B")
-                  ("I" . "\e$A#I\e(B")  ("J" . "\e$A#J\e(B")  ("K" . "\e$A#K\e(B")  ("L" . "\e$A#L\e(B")
-                  ("M" . "\e$A#M\e(B")  ("N" . "\e$A#N\e(B")  ("O" . "\e$A#O\e(B")  ("P" . "\e$A#P\e(B")
-                  ("Q" . "\e$A#Q\e(B")  ("R" . "\e$A#R\e(B")  ("S" . "\e$A#S\e(B")  ("T" . "\e$A#T\e(B")
-                  ("U" . "\e$A#U\e(B")  ("V" . "\e$A#V\e(B")  ("W" . "\e$A#W\e(B")  ("X" . "\e$A#X\e(B")
-                  ("Y" . "\e$A#Y\e(B")  ("Z" . "\e$A#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(define-its-state-machine its-quanjiao-up-tw-map
-  "quanjiao-upcase-tw" "\e$(G$A\e(B" "Chinese-CNS" nil
-  "Map for quanjiao-upcase input. (Chinese-CNS)"
-
-  (dolist (ascii '(("0" . "\e$(G$!\e(B")  ("1" . "\e$(G$"\e(B")  ("2" . "\e$(G$#\e(B")  ("3" . "\e$(G$$\e(B")
-                  ("4" . "\e$(G$%\e(B")  ("5" . "\e$(G$&\e(B")  ("6" . "\e$(G$'\e(B")  ("7" . "\e$(G$(\e(B")
-                  ("8" . "\e$(G$)\e(B")  ("9" . "\e$(G$*\e(B") 
-                  (" " . "\e$(G!!\e(B")  ("!" . "\e$(G!*\e(B")  ("@" . "\e$(G"i\e(B")  ("#" . "\e$(G!l\e(B")
-                  ("$" . "\e$(G"c\e(B")  ("%" . "\e$(G"h\e(B")  ("^" . "\e$(G!T\e(B")  ("&" . "\e$(G!m\e(B")
-                  ("*" . "\e$(G!n\e(B")  ("(" . "\e$(G!>\e(B")  (")" . "\e$(G!?\e(B")
-                  ("-" . "\e$(G"1\e(B")  ("=" . "\e$(G"8\e(B")  ("`" . "\e$(G!j\e(B")  ("\\" . "\e$(G"b\e(B")
-                  ("|" . "\e$(G"^\e(B")  ("_" . "\e$(G"%\e(B")  ("+" . "\e$(G"0\e(B")  ("~" . "\e$(G"D\e(B")
-                  ("[" . "\e$(G!b\e(B")  ("]" . "\e$(G!c\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$(G!a\e(B")
-                  (":" . "\e$(G!(\e(B")  (";" . "\e$(G!'\e(B")  ("\"" . "\e$(G!i\e(B") ("'" . "\e$(G!k\e(B")
-                  ("<" . "\e$(G"6\e(B")  (">" . "\e$(G"7\e(B")  ("?" . "\e$(G!)\e(B")  ("/" . "\e$(G"a\e(B")
-                  ("," . "\e$(G!"\e(B")  ("." . "\e$(G!%\e(B")
-                  ("a" . "\e$(G$A\e(B")  ("b" . "\e$(G$B\e(B")  ("c" . "\e$(G$C\e(B")  ("d" . "\e$(G$D\e(B")
-                  ("e" . "\e$(G$E\e(B")  ("f" . "\e$(G$F\e(B")  ("g" . "\e$(G$G\e(B")  ("h" . "\e$(G$H\e(B")
-                  ("i" . "\e$(G$I\e(B")  ("j" . "\e$(G$J\e(B")  ("k" . "\e$(G$K\e(B")  ("l" . "\e$(G$L\e(B")
-                  ("m" . "\e$(G$M\e(B")  ("n" . "\e$(G$N\e(B")  ("o" . "\e$(G$O\e(B")  ("p" . "\e$(G$P\e(B")
-                  ("q" . "\e$(G$Q\e(B")  ("r" . "\e$(G$R\e(B")  ("s" . "\e$(G$S\e(B")  ("t" . "\e$(G$T\e(B")
-                  ("u" . "\e$(G$U\e(B")  ("v" . "\e$(G$V\e(B")  ("w" . "\e$(G$W\e(B")  ("x" . "\e$(G$X\e(B")
-                  ("y" . "\e$(G$Y\e(B")  ("z" . "\e$(G$Z\e(B")
-                  ("A" . "\e$(G$A\e(B")  ("B" . "\e$(G$B\e(B")  ("C" . "\e$(G$C\e(B")  ("D" . "\e$(G$D\e(B")
-                  ("E" . "\e$(G$E\e(B")  ("F" . "\e$(G$F\e(B")  ("G" . "\e$(G$G\e(B")  ("H" . "\e$(G$H\e(B")
-                  ("I" . "\e$(G$I\e(B")  ("J" . "\e$(G$J\e(B")  ("K" . "\e$(G$K\e(B")  ("L" . "\e$(G$L\e(B")
-                  ("M" . "\e$(G$M\e(B")  ("N" . "\e$(G$N\e(B")  ("O" . "\e$(G$O\e(B")  ("P" . "\e$(G$P\e(B")
-                  ("Q" . "\e$(G$Q\e(B")  ("R" . "\e$(G$R\e(B")  ("S" . "\e$(G$S\e(B")  ("T" . "\e$(G$T\e(B")
-                  ("U" . "\e$(G$U\e(B")  ("V" . "\e$(G$V\e(B")  ("W" . "\e$(G$W\e(B")  ("X" . "\e$(G$X\e(B")
-                  ("Y" . "\e$(G$Y\e(B")  ("Z" . "\e$(G$Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(define-its-state-machine its-quanjiao-down-tw-map
-  "quanjiao-downcase-tw" "\e$(G$[\e(B" "Chinese-CNS" nil
-  "Map for quanjiao-downcase input. (Chinese-CNS)"
-
-  (dolist (ascii '(("0" . "\e$(G$!\e(B")  ("1" . "\e$(G$"\e(B")  ("2" . "\e$(G$#\e(B")  ("3" . "\e$(G$$\e(B")
-                  ("4" . "\e$(G$%\e(B")  ("5" . "\e$(G$&\e(B")  ("6" . "\e$(G$'\e(B")  ("7" . "\e$(G$(\e(B")
-                  ("8" . "\e$(G$)\e(B")  ("9" . "\e$(G$*\e(B") 
-                  (" " . "\e$(G!!\e(B")  ("!" . "\e$(G!*\e(B")  ("@" . "\e$(G"i\e(B")  ("#" . "\e$(G!l\e(B")
-                  ("$" . "\e$(G"c\e(B")  ("%" . "\e$(G"h\e(B")  ("^" . "\e$(G!T\e(B")  ("&" . "\e$(G!m\e(B")
-                  ("*" . "\e$(G!n\e(B")  ("(" . "\e$(G!>\e(B")  (")" . "\e$(G!?\e(B")
-                  ("-" . "\e$(G"1\e(B")  ("=" . "\e$(G"8\e(B")  ("`" . "\e$(G!j\e(B")  ("\\" . "\e$(G"b\e(B")
-                  ("|" . "\e$(G"^\e(B")  ("_" . "\e$(G"%\e(B")  ("+" . "\e$(G"0\e(B")  ("~" . "\e$(G"D\e(B")
-                  ("[" . "\e$(G!b\e(B")  ("]" . "\e$(G!c\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$(G!a\e(B")
-                  (":" . "\e$(G!(\e(B")  (";" . "\e$(G!'\e(B")  ("\"" . "\e$(G!i\e(B") ("'" . "\e$(G!k\e(B")
-                  ("<" . "\e$(G"6\e(B")  (">" . "\e$(G"7\e(B")  ("?" . "\e$(G!)\e(B")  ("/" . "\e$(G"a\e(B")
-                  ("," . "\e$(G!"\e(B")  ("." . "\e$(G!%\e(B")
-                  ("a" . "\e$(G$[\e(B")  ("b" . "\e$(G$\\e(B")  ("c" . "\e$(G$]\e(B")  ("d" . "\e$(G$^\e(B")
-                  ("e" . "\e$(G$_\e(B")  ("f" . "\e$(G$`\e(B")  ("g" . "\e$(G$a\e(B")  ("h" . "\e$(G$b\e(B")
-                  ("i" . "\e$(G$c\e(B")  ("j" . "\e$(G$d\e(B")  ("k" . "\e$(G$e\e(B")  ("l" . "\e$(G$f\e(B")
-                  ("m" . "\e$(G$g\e(B")  ("n" . "\e$(G$h\e(B")  ("o" . "\e$(G$i\e(B")  ("p" . "\e$(G$j\e(B")
-                  ("q" . "\e$(G$k\e(B")  ("r" . "\e$(G$l\e(B")  ("s" . "\e$(G$m\e(B")  ("t" . "\e$(G$n\e(B")
-                  ("u" . "\e$(G$o\e(B")  ("v" . "\e$(G$p\e(B")  ("w" . "\e$(G$q\e(B")  ("x" . "\e$(G$r\e(B")
-                  ("y" . "\e$(G$s\e(B")  ("z" . "\e$(G$t\e(B")
-                  ("A" . "\e$(G$A\e(B")  ("B" . "\e$(G$B\e(B")  ("C" . "\e$(G$C\e(B")  ("D" . "\e$(G$D\e(B")
-                  ("E" . "\e$(G$E\e(B")  ("F" . "\e$(G$F\e(B")  ("G" . "\e$(G$G\e(B")  ("H" . "\e$(G$H\e(B")
-                  ("I" . "\e$(G$I\e(B")  ("J" . "\e$(G$J\e(B")  ("K" . "\e$(G$K\e(B")  ("L" . "\e$(G$L\e(B")
-                  ("M" . "\e$(G$M\e(B")  ("N" . "\e$(G$N\e(B")  ("O" . "\e$(G$O\e(B")  ("P" . "\e$(G$P\e(B")
-                  ("Q" . "\e$(G$Q\e(B")  ("R" . "\e$(G$R\e(B")  ("S" . "\e$(G$S\e(B")  ("T" . "\e$(G$T\e(B")
-                  ("U" . "\e$(G$U\e(B")  ("V" . "\e$(G$V\e(B")  ("W" . "\e$(G$W\e(B")  ("X" . "\e$(G$X\e(B")
-                  ("Y" . "\e$(G$Y\e(B")  ("Z" . "\e$(G$Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(provide 'its/quanjiao)
diff --git a/its/zenkaku.el b/its/zenkaku.el
deleted file mode 100644 (file)
index d56c1bb..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-;;; its/zenkau.el --- Zenkaku ASCII Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-;;
-;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
-;; This file is based on the rules of its/hira.el in Mule-2.3 distribution.
-;;
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its))
-
-(define-its-state-machine its-zenkaku-up-map
-  "zenkaku-upcase" "\e$B#A\e(B" "Japanese" nil
-  "Map for zenkaku-upcase input."
-
-  (dolist (ascii '(("0" . "\e$B#0\e(B")  ("1" . "\e$B#1\e(B")  ("2" . "\e$B#2\e(B")  ("3" . "\e$B#3\e(B")
-                  ("4" . "\e$B#4\e(B")  ("5" . "\e$B#5\e(B")  ("6" . "\e$B#6\e(B")  ("7" . "\e$B#7\e(B")
-                  ("8" . "\e$B#8\e(B")  ("9" . "\e$B#9\e(B") 
-                  (" " . "\e$B!!\e(B")  ("!" . "\e$B!*\e(B")  ("@" . "\e$B!w\e(B")  ("#" . "\e$B!t\e(B")
-                  ("$" . "\e$B!p\e(B")  ("%" . "\e$B!s\e(B")  ("^" . "\e$B!0\e(B")  ("&" . "\e$B!u\e(B")
-                  ("*" . "\e$B!v\e(B")  ("(" . "\e$B!J\e(B")  (")" . "\e$B!K\e(B")
-                  ("-" . "\e$B!]\e(B")  ("=" . "\e$B!a\e(B")  ("`" . "\e$B!.\e(B")  ("\\" . "\e$B!@\e(B")
-                  ("|" . "\e$B!C\e(B")  ("_" . "\e$B!2\e(B")  ("+" . "\e$B!\\e(B")  ("~" . "\e$B!A\e(B")
-                  ("[" . "\e$B!N\e(B")  ("]" . "\e$B!O\e(B")  ("{" . "\e$B!P\e(B")  ("}" . "\e$B!Q\e(B")
-                  (":" . "\e$B!'\e(B")  (";" . "\e$B!(\e(B")  ("\"" . "\e$B!I\e(B") ("'" . "\e$B!-\e(B")
-                  ("<" . "\e$B!c\e(B")  (">" . "\e$B!d\e(B")  ("?" . "\e$B!)\e(B")  ("/" . "\e$B!?\e(B")
-                  ("," . "\e$B!$\e(B")  ("." . "\e$B!%\e(B")
-                  ("a" . "\e$B#A\e(B")  ("b" . "\e$B#B\e(B")  ("c" . "\e$B#C\e(B")  ("d" . "\e$B#D\e(B")
-                  ("e" . "\e$B#E\e(B")  ("f" . "\e$B#F\e(B")  ("g" . "\e$B#G\e(B")  ("h" . "\e$B#H\e(B")
-                  ("i" . "\e$B#I\e(B")  ("j" . "\e$B#J\e(B")  ("k" . "\e$B#K\e(B")  ("l" . "\e$B#L\e(B")
-                  ("m" . "\e$B#M\e(B")  ("n" . "\e$B#N\e(B")  ("o" . "\e$B#O\e(B")  ("p" . "\e$B#P\e(B")
-                  ("q" . "\e$B#Q\e(B")  ("r" . "\e$B#R\e(B")  ("s" . "\e$B#S\e(B")  ("t" . "\e$B#T\e(B")
-                  ("u" . "\e$B#U\e(B")  ("v" . "\e$B#V\e(B")  ("w" . "\e$B#W\e(B")  ("x" . "\e$B#X\e(B")
-                  ("y" . "\e$B#Y\e(B")  ("z" . "\e$B#Z\e(B")
-                  ("A" . "\e$B#A\e(B")  ("B" . "\e$B#B\e(B")  ("C" . "\e$B#C\e(B")  ("D" . "\e$B#D\e(B")
-                  ("E" . "\e$B#E\e(B")  ("F" . "\e$B#F\e(B")  ("G" . "\e$B#G\e(B")  ("H" . "\e$B#H\e(B")
-                  ("I" . "\e$B#I\e(B")  ("J" . "\e$B#J\e(B")  ("K" . "\e$B#K\e(B")  ("L" . "\e$B#L\e(B")
-                  ("M" . "\e$B#M\e(B")  ("N" . "\e$B#N\e(B")  ("O" . "\e$B#O\e(B")  ("P" . "\e$B#P\e(B")
-                  ("Q" . "\e$B#Q\e(B")  ("R" . "\e$B#R\e(B")  ("S" . "\e$B#S\e(B")  ("T" . "\e$B#T\e(B")
-                  ("U" . "\e$B#U\e(B")  ("V" . "\e$B#V\e(B")  ("W" . "\e$B#W\e(B")  ("X" . "\e$B#X\e(B")
-                  ("Y" . "\e$B#Y\e(B")  ("Z" . "\e$B#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(define-its-state-machine its-zenkaku-down-map
-  "zenkaku-downcase" "\e$B#a\e(B" "Japanese" nil
-  "Map for zenkaku-downcase input."
-
-  (dolist (ascii '(("0" . "\e$B#0\e(B")  ("1" . "\e$B#1\e(B")  ("2" . "\e$B#2\e(B")  ("3" . "\e$B#3\e(B")
-                  ("4" . "\e$B#4\e(B")  ("5" . "\e$B#5\e(B")  ("6" . "\e$B#6\e(B")  ("7" . "\e$B#7\e(B")
-                  ("8" . "\e$B#8\e(B")  ("9" . "\e$B#9\e(B") 
-                  (" " . "\e$B!!\e(B")  ("!" . "\e$B!*\e(B")  ("@" . "\e$B!w\e(B")  ("#" . "\e$B!t\e(B")
-                  ("$" . "\e$B!p\e(B")  ("%" . "\e$B!s\e(B")  ("^" . "\e$B!0\e(B")  ("&" . "\e$B!u\e(B")
-                  ("*" . "\e$B!v\e(B")  ("(" . "\e$B!J\e(B")  (")" . "\e$B!K\e(B")
-                  ("-" . "\e$B!]\e(B")  ("=" . "\e$B!a\e(B")  ("`" . "\e$B!.\e(B")  ("\\" . "\e$B!@\e(B")
-                  ("|" . "\e$B!C\e(B")  ("_" . "\e$B!2\e(B")  ("+" . "\e$B!\\e(B")  ("~" . "\e$B!A\e(B")
-                  ("[" . "\e$B!N\e(B")  ("]" . "\e$B!O\e(B")  ("{" . "\e$B!P\e(B")  ("}" . "\e$B!Q\e(B")
-                  (":" . "\e$B!'\e(B")  (";" . "\e$B!(\e(B")  ("\"" . "\e$B!I\e(B") ("'" . "\e$B!-\e(B")
-                  ("<" . "\e$B!c\e(B")  (">" . "\e$B!d\e(B")  ("?" . "\e$B!)\e(B")  ("/" . "\e$B!?\e(B")
-                  ("," . "\e$B!$\e(B")  ("." . "\e$B!%\e(B")
-                  ("a" . "\e$B#a\e(B")  ("b" . "\e$B#b\e(B")  ("c" . "\e$B#c\e(B")  ("d" . "\e$B#d\e(B")
-                  ("e" . "\e$B#e\e(B")  ("f" . "\e$B#f\e(B")  ("g" . "\e$B#g\e(B")  ("h" . "\e$B#h\e(B")
-                  ("i" . "\e$B#i\e(B")  ("j" . "\e$B#j\e(B")  ("k" . "\e$B#k\e(B")  ("l" . "\e$B#l\e(B")
-                  ("m" . "\e$B#m\e(B")  ("n" . "\e$B#n\e(B")  ("o" . "\e$B#o\e(B")  ("p" . "\e$B#p\e(B")
-                  ("q" . "\e$B#q\e(B")  ("r" . "\e$B#r\e(B")  ("s" . "\e$B#s\e(B")  ("t" . "\e$B#t\e(B")
-                  ("u" . "\e$B#u\e(B")  ("v" . "\e$B#v\e(B")  ("w" . "\e$B#w\e(B")  ("x" . "\e$B#x\e(B")
-                  ("y" . "\e$B#y\e(B")  ("z" . "\e$B#z\e(B")
-                  ("A" . "\e$B#A\e(B")  ("B" . "\e$B#B\e(B")  ("C" . "\e$B#C\e(B")  ("D" . "\e$B#D\e(B")
-                  ("E" . "\e$B#E\e(B")  ("F" . "\e$B#F\e(B")  ("G" . "\e$B#G\e(B")  ("H" . "\e$B#H\e(B")
-                  ("I" . "\e$B#I\e(B")  ("J" . "\e$B#J\e(B")  ("K" . "\e$B#K\e(B")  ("L" . "\e$B#L\e(B")
-                  ("M" . "\e$B#M\e(B")  ("N" . "\e$B#N\e(B")  ("O" . "\e$B#O\e(B")  ("P" . "\e$B#P\e(B")
-                  ("Q" . "\e$B#Q\e(B")  ("R" . "\e$B#R\e(B")  ("S" . "\e$B#S\e(B")  ("T" . "\e$B#T\e(B")
-                  ("U" . "\e$B#U\e(B")  ("V" . "\e$B#V\e(B")  ("W" . "\e$B#W\e(B")  ("X" . "\e$B#X\e(B")
-                  ("Y" . "\e$B#Y\e(B")  ("Z" . "\e$B#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule in out))))
-
-(provide 'its/zenkaku)
diff --git a/its/zhuyin.el b/its/zhuyin.el
deleted file mode 100644 (file)
index 442834b..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-;;; its/zhuyin.el --- Zhuyin Input in Egg Input Method Architecture
-
-;; Copyright (C) 1997, 1998 Mule Project,
-;; Powered by Electrotechnical Laboratory, JAPAN.
-;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
-
-;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
-
-;; This file will be part of GNU Emacs (in future).
-
-;; GNU Emacs is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-
-;;; Code:
-
-(eval-when-compile
-  (require 'its)
-  (require 'cl))
-
-(defvar its-zhuyin-cn-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet")
-(defvar its-zhuyin-cn-open-braket  "\e$A!8\e(B" "*[") ; "\e$A#[\e(B"
-(defvar its-zhuyin-cn-close-braket "\e$A!9\e(B" "*]") ; "\e$A#]\e(B"
-
-(defvar its-zhuyin-tw-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet")
-(defvar its-zhuyin-tw-open-braket  "\e$(G!V\e(B" "*[") ; "\e$(G!b\e(B "
-(defvar its-zhuyin-tw-close-braket "\e$(G!W\e(B" "*]") ; "\e$(G!c\e(B"
-
-(eval-when-compile
-  (defmacro its-do-zhuyin-table (list)
-    `(progn
-       ,@(mapcar (lambda (syl) `(its-define-zhuyin ,@syl))
-                list)))
-
-  (defmacro its-define-zhuyin (shengmu yunmu1 &optional yunmu2 qing-only)
-    `(let ((s (list ,@shengmu))
-          (yi (concat (car ,yunmu1) (car ,yunmu2)))
-          (yo (concat (nth 1 ,yunmu1) (nth 1 ,yunmu2)))
-          (tone (if ,qing-only "\e(0A\e(B" "\e(0@\e(B"))
-          in out out1 state)
-       (while s
-        (setq in (concat (car (car s)) yi)
-              out (concat (nth 1 (car s)) yo)
-              out1 (concat out tone)
-              state (its-goto-state in nil t))
-        (if (and ,qing-only (its-get-kst/t state))
-            (its-set-output state out)
-          (its-set-output state out1))
-        (its-make-next-state state -1 in out1)
-        (its-make-next-state state ?  (concat in " ") out1)
-        (its-define-otherwise state (its-make-otherwise
-                                     out1
-                                     its-otherwise-back-one))
-        ,(if qing-only
-             nil
-           '(progn
-              (its-make-next-state state ?1 (concat in 1) (concat out "\e(0A\e(B"))
-              (its-make-next-state state ?2 (concat in 2) (concat out "\e(0B\e(B"))
-              (its-make-next-state state ?3 (concat in 3) (concat out "\e(0C\e(B"))
-              (its-make-next-state state ?4 (concat in 4) (concat out "\e(0D\e(B"))))
-        (setq s (cdr s)))))
-
-  (defmacro its-define-zhuyin-table ()
-    '(let ((-  '(""  ""))
-          (B  '("b" "\e(0E\e(B")) (P  '("p" "\e(0F\e(B")) (M  '("m" "\e(0G\e(B")) (F '("f" "\e(0H\e(B"))
-          (D  '("d" "\e(0I\e(B")) (T  '("t" "\e(0J\e(B")) (N  '("n" "\e(0K\e(B")) (L '("l" "\e(0L\e(B"))
-          (G  '("v" "\e(0M\e(B")) (K  '("k" "\e(0N\e(B")) (H  '("h" "\e(0O\e(B"))
-          (J  '("g" "\e(0P\e(B")) (Q  '("7" "\e(0Q\e(B")) (X  '("c" "\e(0R\e(B"))
-          (ZH '("," "\e(0S\e(B")) (CH '("." "\e(0T\e(B")) (SH '("/" "\e(0U\e(B")) (R '("j"  "\e(0V\e(B"))
-          (Z  '(";" "\e(0W\e(B")) (C  '(":" "\e(0X\e(B")) (S  '("s" "\e(0Y\e(B"))
-
-          (A   '("a" "\e(0Z\e(B")) (O   '("o" "\e(0[\e(B")) (e   '("r" "\e(0\\e(B")) (E   '("w" "\e(0]\e(B"))
-          (AI  '("i" "\e(0^\e(B")) (EI  '("q" "\e(0_\e(B")) (AO  '("z" "\e(0`\e(B")) 
-          (AN  '("8" "\e(0b\e(B")) (EN  '("9" "\e(0c\e(B")) (ANG '("0" "\e(0d\e(B")) (ENG '("-" "\e(0e\e(B"))
-          (ER  '("^" "\e(0f\e(B")) (OU  '("y" "\e(0a\e(B"))
-          (I   '("e" "\e(0g\e(B")) (U   '("x" "\e(0h\e(B")) (V   '("u" "\e(0i\e(B")))
-
-       (mapcar (lambda (s) (its-defrule (car s) (nth 1 s)))
-              (list B P M F D T N L G K H J Q X))
-
-       (its-do-zhuyin-table
-       (((- B P M F D T N L G K H       ZH CH SH   Z C S ) A)
-        ((- B P M F       L                              ) O)
-        ((-     M   D T N L G K H       ZH CH SH R Z C S ) e)
-        ((- B P M   D T N L G K H       ZH CH SH   Z C S ) AI)
-        ((- B P M F D T N L G K H       ZH    SH   Z C   ) EI)
-        ((- B P M   D T N L G K H       ZH CH SH R Z C S ) AO)
-        ((- B P M F D T N L G K H       ZH CH SH R Z C S ) AN)
-        ((- B P M F D   N   G K H       ZH CH SH R Z C S ) EN)
-        ((- B P M F D T N L G K H       ZH CH SH R Z C S ) ANG)
-        ((- B P M F D T N L G K H       ZH CH SH R Z C S ) ENG)
-        ((-                                              ) ER)
-        ((-   P M F D T N L G K H       ZH CH SH R Z C S ) OU)
-        ((                              ZH CH SH R Z C S ) -)
-        ((- B P M   D T N L       J Q X                  ) I)
-        ((-         D     L       J Q X                  ) I A)
-        ((-                                              ) I O)
-        ((- B P M   D T N L       J Q X                  ) I E)
-        ((- B P M   D T N L       J Q X                  ) I AO)
-        ((-     M   D   N L       J Q X                  ) I OU)
-        ((- B P M   D T N L       J Q X                  ) I AN)
-        ((- B P M       N L       J Q X                  ) I EN)
-        ((-             N L       J Q X                  ) I ANG)
-        ((- B P M   D T N L       J Q X                  ) I ENG)
-        ((- B P M F D T N L G K H       ZH CH SH R Z C S ) U)
-        ((-                 G K H       ZH CH SH R       ) U A)
-        ((-         D T N L G K H       ZH CH SH R Z C S ) U O)
-        ((-                 G K H       ZH CH SH         ) U AI)
-        ((-         D T     G K H       ZH CH SH R Z C S ) U EI)
-        ((-         D T N L G K H       ZH CH SH R Z C S ) U AN)
-        ((-         D T   L G K H       ZH CH SH R Z C S ) U EN)
-        ((-                 G K H       ZH CH SH         ) U ANG)
-        ((-         D T N L G K H       ZH CH    R Z C S ) U ENG)
-        ((-             N L       J Q X                  ) V)
-        ((-             N L       J Q X                  ) V E)
-        ((-                       J Q X                  ) V AN)
-        ((-                       J Q X                  ) V EN)
-        ((-                       J Q X                  ) V ENG)
-
-        ((- H) M nil t)
-        ((- H) '("@" "@") nil t)
-        ((-  ) N nil t)))
-
-       (its-defrule (concat (car N) 2) (concat (nth 1 N) "\e(0B\e(B"))
-       (its-defrule (concat (car N) 3) (concat (nth 1 N) "\e(0C\e(B"))
-       (its-defrule (concat (car N) 4) (concat (nth 1 N) "\e(0D\e(B")))))
-
-(define-its-state-machine its-zhuyin-cn-map
-  "zhuyin-cn" "\e$AW"\e(BG" "Chinese-GB"
-  "Map for Zhuyin input. (Chinese-GB)"
-
-  (defconst its-quanjiao-escape "Z")
-  (defconst its-banjiao-escape  "X")
-
-  (its-defrule-select-mode-temporally "B" downcase)
-  (its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
-
-  (its-define-zhuyin-table)
-  (dolist (ascii '(("0" . "\e$A#0\e(B")  ("1" . "\e$A#1\e(B")  ("2" . "\e$A#2\e(B")  ("3" . "\e$A#3\e(B")
-                  ("4" . "\e$A#4\e(B")  ("5" . "\e$A#5\e(B")  ("6" . "\e$A#6\e(B")  ("7" . "\e$A#7\e(B")
-                  ("8" . "\e$A#8\e(B")  ("9" . "\e$A#9\e(B") 
-                  (" " . "\e$A!!\e(B")  ("!" . "\e$A#!\e(B")  ("@" . "\e$A#@\e(B")  ("#" . "\e$A##\e(B")
-                  ("$" . "\e$A!g\e(B")  ("%" . "\e$A#%\e(B")  ("^" . "\e$A#^\e(B")  ("&" . "\e$A#&\e(B")
-                  ("*" . "\e$A#*\e(B")  ("(" . "\e$A#(\e(B")  (")" . "\e$A#)\e(B")
-                  ("-" . "\e$A#-\e(B")  ("=" . "\e$A#=\e(B")  ("`" . "\e$A#`\e(B")  ("\\" . "\e$A#\\e(B")
-                  ("|" . "\e$A#|\e(B")  ("_" . "\e$A#_\e(B")  ("+" . "\e$A#+\e(B")  ("~" . "\e$A!+\e(B")
-                  ("[" . "\e$A#[\e(B")  ("]" . "\e$A#]\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$A#}\e(B")
-                  (":" . "\e$A#:\e(B")  (";" . "\e$A#;\e(B")  ("\"" . "\e$A#"\e(B") ("'" . "\e$A#'\e(B")
-                  ("<" . "\e$A#<\e(B")  (">" . "\e$A#>\e(B")  ("?" . "\e$A#?\e(B")  ("/" . "\e$A#/\e(B")
-                  ("," . "\e$A#,\e(B")  ("." . "\e$A#.\e(B")
-                  ("a" . "\e$A#a\e(B")  ("b" . "\e$A#b\e(B")  ("c" . "\e$A#c\e(B")  ("d" . "\e$A#d\e(B")
-                  ("e" . "\e$A#e\e(B")  ("f" . "\e$A#f\e(B")  ("g" . "\e$A#g\e(B")  ("h" . "\e$A#h\e(B")
-                  ("i" . "\e$A#i\e(B")  ("j" . "\e$A#j\e(B")  ("k" . "\e$A#k\e(B")  ("l" . "\e$A#l\e(B")
-                  ("m" . "\e$A#m\e(B")  ("n" . "\e$A#n\e(B")  ("o" . "\e$A#o\e(B")  ("p" . "\e$A#p\e(B")
-                  ("q" . "\e$A#q\e(B")  ("r" . "\e$A#r\e(B")  ("s" . "\e$A#s\e(B")  ("t" . "\e$A#t\e(B")
-                  ("u" . "\e$A#u\e(B")  ("v" . "\e$A#v\e(B")  ("w" . "\e$A#w\e(B")  ("x" . "\e$A#x\e(B")
-                  ("y" . "\e$A#y\e(B")  ("z" . "\e$A#z\e(B")
-                  ("A" . "\e$A#A\e(B")  ("B" . "\e$A#B\e(B")  ("C" . "\e$A#C\e(B")  ("D" . "\e$A#D\e(B")
-                  ("E" . "\e$A#E\e(B")  ("F" . "\e$A#F\e(B")  ("G" . "\e$A#G\e(B")  ("H" . "\e$A#H\e(B")
-                  ("I" . "\e$A#I\e(B")  ("J" . "\e$A#J\e(B")  ("K" . "\e$A#K\e(B")  ("L" . "\e$A#L\e(B")
-                  ("M" . "\e$A#M\e(B")  ("N" . "\e$A#N\e(B")  ("O" . "\e$A#O\e(B")  ("P" . "\e$A#P\e(B")
-                  ("Q" . "\e$A#Q\e(B")  ("R" . "\e$A#R\e(B")  ("S" . "\e$A#S\e(B")  ("T" . "\e$A#T\e(B")
-                  ("U" . "\e$A#U\e(B")  ("V" . "\e$A#V\e(B")  ("W" . "\e$A#W\e(B")  ("X" . "\e$A#X\e(B")
-                  ("Y" . "\e$A#Y\e(B")  ("Z" . "\e$A#Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule (concat its-banjiao-escape in) in)
-      (its-defrule (concat its-quanjiao-escape in) out)))
-
-    (its-defrule "<" "\e$A#,\e(B")
-    (its-defrule ">" "\e$A!#\e(B")
-    (its-defrule "?" "\e$A!"\e(B"))
-
-(define-its-state-machine its-zhuyin-tw-map
-  "zhuyin-tw" "\e$(GNC\e(BC" "Chinese-CNS"
-  "Map for Zhuyin input."
-
-  (defconst its-quanjiao-escape "Z")
-  (defconst its-banjiao-escape  "X")
-
-  (its-defrule-select-mode-temporally "B" downcase)
-  (its-defrule-select-mode-temporally "Q" quanjiao-downcase-tw)
-
-  (its-define-zhuyin-table)
-  (dolist (ascii '(("0" . "\e$(G$!\e(B")  ("1" . "\e$(G$"\e(B")  ("2" . "\e$(G$#\e(B")  ("3" . "\e$(G$$\e(B")
-                  ("4" . "\e$(G$%\e(B")  ("5" . "\e$(G$&\e(B")  ("6" . "\e$(G$'\e(B")  ("7" . "\e$(G$(\e(B")
-                  ("8" . "\e$(G$)\e(B")  ("9" . "\e$(G$*\e(B") 
-                  (" " . "\e$(G!!\e(B")  ("!" . "\e$(G!*\e(B")  ("@" . "\e$(G"i\e(B")  ("#" . "\e$(G!l\e(B")
-                  ("$" . "\e$(G"c\e(B")  ("%" . "\e$(G"h\e(B")  ("^" . "\e$(G!T\e(B")  ("&" . "\e$(G!m\e(B")
-                  ("*" . "\e$(G!n\e(B")  ("(" . "\e$(G!>\e(B")  (")" . "\e$(G!?\e(B")
-                  ("-" . "\e$(G"1\e(B")  ("=" . "\e$(G"8\e(B")  ("`" . "\e$(G!j\e(B")  ("\\" . "\e$(G"b\e(B")
-                  ("|" . "\e$(G"^\e(B")  ("_" . "\e$(G"%\e(B")  ("+" . "\e$(G"0\e(B")  ("~" . "\e$(G"D\e(B")
-                  ("[" . "\e$(G!b\e(B")  ("]" . "\e$(G!c\e(B")  ("{" . "\e$A#{\e(B")  ("}" . "\e$(G!a\e(B")
-                  (":" . "\e$(G!(\e(B")  (";" . "\e$(G!'\e(B")  ("\"" . "\e$(G!i\e(B") ("'" . "\e$(G!k\e(B")
-                  ("<" . "\e$(G"6\e(B")  (">" . "\e$(G"7\e(B")  ("?" . "\e$(G!)\e(B")  ("/" . "\e$(G"a\e(B")
-                  ("," . "\e$(G!"\e(B")  ("." . "\e$(G!%\e(B")
-                  ("a" . "\e$(G$[\e(B")  ("b" . "\e$(G$\\e(B")  ("c" . "\e$(G$]\e(B")  ("d" . "\e$(G$^\e(B")
-                  ("e" . "\e$(G$_\e(B")  ("f" . "\e$(G$`\e(B")  ("g" . "\e$(G$a\e(B")  ("h" . "\e$(G$b\e(B")
-                  ("i" . "\e$(G$c\e(B")  ("j" . "\e$(G$d\e(B")  ("k" . "\e$(G$e\e(B")  ("l" . "\e$(G$f\e(B")
-                  ("m" . "\e$(G$g\e(B")  ("n" . "\e$(G$h\e(B")  ("o" . "\e$(G$i\e(B")  ("p" . "\e$(G$j\e(B")
-                  ("q" . "\e$(G$k\e(B")  ("r" . "\e$(G$l\e(B")  ("s" . "\e$(G$m\e(B")  ("t" . "\e$(G$n\e(B")
-                  ("u" . "\e$(G$o\e(B")  ("v" . "\e$(G$p\e(B")  ("w" . "\e$(G$q\e(B")  ("x" . "\e$(G$r\e(B")
-                  ("y" . "\e$(G$s\e(B")  ("z" . "\e$(G$t\e(B")
-                  ("A" . "\e$(G$A\e(B")  ("B" . "\e$(G$B\e(B")  ("C" . "\e$(G$C\e(B")  ("D" . "\e$(G$D\e(B")
-                  ("E" . "\e$(G$E\e(B")  ("F" . "\e$(G$F\e(B")  ("G" . "\e$(G$G\e(B")  ("H" . "\e$(G$H\e(B")
-                  ("I" . "\e$(G$I\e(B")  ("J" . "\e$(G$J\e(B")  ("K" . "\e$(G$K\e(B")  ("L" . "\e$(G$L\e(B")
-                  ("M" . "\e$(G$M\e(B")  ("N" . "\e$(G$N\e(B")  ("O" . "\e$(G$O\e(B")  ("P" . "\e$(G$P\e(B")
-                  ("Q" . "\e$(G$Q\e(B")  ("R" . "\e$(G$R\e(B")  ("S" . "\e$(G$S\e(B")  ("T" . "\e$(G$T\e(B")
-                  ("U" . "\e$(G$U\e(B")  ("V" . "\e$(G$V\e(B")  ("W" . "\e$(G$W\e(B")  ("X" . "\e$(G$X\e(B")
-                  ("Y" . "\e$(G$Y\e(B")  ("Z" . "\e$(G$Z\e(B")))
-    (let ((in (car ascii)) (out (cdr ascii)))
-      (its-defrule (concat its-banjiao-escape in) in)
-      (its-defrule (concat its-quanjiao-escape in) out)))
-
-    (its-defrule "<" "\e$(G!"\e(B")
-    (its-defrule ">" "\e$(G!$\e(B")
-    (its-defrule "?" "\e$(G!#\e(B"))
-
-(define-its-state-machine-append its-zhuyin-cn-map
-  (its-defrule "[" its-zhuyin-cn-open-braket nil t)
-  (its-defrule "]" its-zhuyin-cn-close-braket nil t)
-
-(if its-zhuyin-cn-enable-quanjioao-alphabet
-      (progn
-       (its-defrule "#"  "\e$A##\e(B")  (its-defrule "$"  "\e$A!g\e(B")
-       (its-defrule "%"  "\e$A#%\e(B")
-       (its-defrule "&"  "\e$A#&\e(B")  (its-defrule "*"  "\e$A#*\e(B")
-       (its-defrule "("  "\e$A#(\e(B")  (its-defrule ")"  "\e$A#)\e(B")
-       (its-defrule "~"  "\e$A!+\e(B")
-       (its-defrule "="  "\e$A#=\e(B")  (its-defrule "`"  "\e$A#`\e(B")
-       (its-defrule "\\" "\e$A#\\e(B")  (its-defrule "|"  "\e$A#|\e(B")
-       (its-defrule "_"  "\e$A#_\e(B")  (its-defrule "+"  "\e$A#+\e(B")
-       (its-defrule "{"  "\e$A#{\e(B")  (its-defrule "}"  "\e$A#}\e(B")
-       (its-defrule "\"" "\e$A#"\e(B")  (its-defrule "'"  "\e$A#'\e(B"))
-    (progn
-      (its-defrule "#"  "#")  (its-defrule "$"  "$")
-      (its-defrule "%"  "%")
-      (its-defrule "&"  "&")  (its-defrule "*"  "*")
-      (its-defrule "("  "(")  (its-defrule ")"  ")")
-      (its-defrule "~"  "~")
-      (its-defrule "="  "=")  (its-defrule "`"  "`")
-      (its-defrule "\\" "\\") (its-defrule "|"  "|")
-      (its-defrule "_"  "_")  (its-defrule "+"  "+")
-      (its-defrule "{"  "{")  (its-defrule "}"  "}")
-      (its-defrule "\"" "\"") (its-defrule "'"  "'"))))
-
-(define-its-state-machine-append its-zhuyin-tw-map
-  (its-defrule "[" its-zhuyin-tw-open-braket nil t)
-  (its-defrule "]" its-zhuyin-tw-close-braket nil t)
-
-  (if its-zhuyin-tw-enable-quanjioao-alphabet
-      (progn
-       (its-defrule "#"  "\e$(G!l\e(B")  (its-defrule "$"  "\e$(G"c\e(B")
-       (its-defrule "%"  "\e$(G"h\e(B")
-       (its-defrule "&"  "\e$(G!m\e(B")  (its-defrule "*"  "\e$(G!n\e(B")
-       (its-defrule "("  "\e$(G!>\e(B")  (its-defrule ")"  "\e$(G!?\e(B")
-       (its-defrule "~"  "\e$(G"D\e(B")
-       (its-defrule "="  "\e$(G"8\e(B")  (its-defrule "`"  "\e$(G!j\e(B")
-       (its-defrule "\\" "\e$(G"b\e(B")  (its-defrule "|"  "\e$(G"^\e(B")
-       (its-defrule "_"  "\e$(G"%\e(B")  (its-defrule "+"  "\e$(G"0\e(B")
-       (its-defrule "{"  "\e$A#{\e(B")  (its-defrule "}"  "\e$(G!a\e(B")
-       (its-defrule "\"" "\e$(G!i\e(B")  (its-defrule "'"  "\e$(G!k\e(B"))
-    (progn
-      (its-defrule "#"  "#")  (its-defrule "$"  "$")
-      (its-defrule "%"  "%")
-      (its-defrule "&"  "&")  (its-defrule "*"  "*")
-      (its-defrule "("  "(")  (its-defrule ")"  ")")
-      (its-defrule "~"  "~")
-      (its-defrule "="  "=")  (its-defrule "`"  "`")
-      (its-defrule "\\" "\\") (its-defrule "|"  "|")
-      (its-defrule "_"  "_")  (its-defrule "+"  "+")
-      (its-defrule "{"  "{")  (its-defrule "}"  "}")
-      (its-defrule "\"" "\"") (its-defrule "'"  "'"))))
-
-(provide 'its/zhuyin)