Sync up with egg-980220.
authormorioka <morioka>
Fri, 20 Feb 1998 12:12:55 +0000 (12:12 +0000)
committermorioka <morioka>
Fri, 20 Feb 1998 12:12:55 +0000 (12:12 +0000)
euc-china.el [deleted file]
euc-cn.el [deleted file]

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.