included commits to RCS files with non-trunk default branches.
-1998-04-02 NIIBE Yutaka <gniibe@akebono>
-
- * egg.el (set-buffer-multibyte): Function for Emacs 20.2.
-
- * egg/wnn.el (wnn-open): Call set-buffer-multibyte.
- * egg/sj3.el (sj3-open): Ditto.
- * egg/canna.el (canna-open): Ditto.
-
-1998-04-02 KATAYAMA Yoshio <kate@pfu.co.jp>
-
- Implement face.
- * egg.el (egg-mark-list, egg-suppress-marking): New Variables.
- (egg-set-face, egg-mark-modification, egg-redraw-face): New
- Functions.
- * its.el (its-buffer-ins/del-SYL): Call egg-set-face.
- (its-setup-yanked-portion): Likewise.
- * egg-cnv.el (egg-insert-bunsetsu): Call egg-set-face.
-
- * egg.el (egg-mode): set default backend.
- * egg-mlh.el (mlh-space-bar-backward-henkan): activate input
- method.
-
-1998-04-02 NIIBE Yutaka <gniibe@mri.co.jp>
-
- * egg-cnv.el (egg-decide-bunsetsu): Undo changes of 03-16.
- (egg-abort-conversion): Call egg-end-conversion.
- (egg-decide-before-point): Call egg-end-conversion widh ABORT=NIL.
-
1998-03-16 NIIBE Yutaka <gniibe@mri.co.jp>
CANNA Support.
* Makefile (SRCS): Added.
* egg-cnv.el (egg-end-conversion): Add argument ABORT.
+ (egg-decide-bunsetsu): Undo the change of 03-04.
+ (egg-exit-conversion, egg-abort-conversion): Call egg-end-conversion
+ last.
* egg/wnn.el (wnn-end-conversion): Follow the change of
EGG-END-CONVERSION.
(egg-conversion-map, \C-c): New keybind.
(egg-get-previous-bunsetsu): Bug fix.
(egg-decide-before-point): New implementation.
- (egg-exit-conversion): Use gg-decide-before-point.
+ (egg-exit-conversion): Use egg-decide-before-point.
(egg-abort-conversion): New command.
1998-02-20 NIIBE Yutaka <gniibe@akebono>
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
;; Keywords: mule, multilingual, input method
-;; This file is part of EGG.
+;; 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
'egg-bunsetsu-last last
'local-map egg-conversion-map))
(if egg-conversion-face
- (egg-set-face p p1 (egg-get-conversion-face)))))
+ (put-text-property p p1 'face (egg-get-conversion-face)))))
(defun egg-insert-bunsetsu-list (bunsetsu-info-list &optional last)
(let ((l bunsetsu-info-list)
(interactive "p")
(egg-reconvert-bunsetsu-internal n 'egg-start-conversion))
+;; XXX: not working. Should change protocol to backend?
(defun egg-decide-before-point ()
(interactive)
(let ((inhibit-read-only t)
bl (setcdr bl (list (egg-get-bunsetsu-info (point)))))
(if (get-text-property (point) 'egg-bunsetsu-last)
(progn
- (egg-end-conversion (cdr bunsetsu-list) nil)
+ (egg-end-conversion (cdr bunsetsu-list))
(setq bunsetsu-list (setq bl (list nil)))))
(setq p (point))
(forward-char)
(set-text-properties p (point) nil)))
(if (cdr bunsetsu-list)
- (egg-end-conversion (cdr bunsetsu-list) nil))
+ (egg-end-conversion (cdr bunsetsu-list)))
(if (get-text-property (point) 'egg-end)
(progn
;; delete close marker
(delete-region (point) (+ (point) (length egg-conversion-close)))
(its-restart source t))))
+(defun egg-decide-bunsetsu (&optional end-marker)
+ (let ((in-loop t)
+ p bunsetsu-info-list bl)
+ (setq p (point))
+ (while in-loop
+ (let ((bl1 (cons (egg-get-bunsetsu-info p) nil)))
+ (if bl
+ (setq bl (setcdr bl bl1))
+ (setq bunsetsu-info-list (setq bl bl1))))
+ (forward-char)
+ (remove-text-properties p (point) '(face nil
+ intangible nil
+ local-map nil
+ read-only nil
+ egg-bunsetsu-last nil))
+ (setq p (point))
+ (if (or (and end-marker (= p end-marker))
+ (get-text-property p 'egg-end))
+ (setq in-loop nil)
+ (setq p (1- p))
+ (delete-region p (1+ p)))) ; Delete bunsetsu separator
+ bunsetsu-info-list))
+
(defun egg-exit-conversion ()
(interactive)
- (goto-char (next-single-property-change (point) 'egg-end))
- (egg-decide-before-point))
+ (let ((inhibit-read-only t)
+ start bunsetsu-list)
+ (if (get-text-property (1- (point)) 'egg-start)
+ (setq start (1- (point)))
+ (setq start (1- (previous-single-property-change (point) 'egg-start))))
+ (goto-char start)
+ ;; Delete open marker
+ (delete-region start (+ start (length egg-conversion-open)))
+ (setq bunsetsu-list (egg-decide-bunsetsu))
+ ;; Delete close marker
+ (delete-region (point) (+ (point) (length egg-conversion-close)))
+ (egg-end-conversion bunsetsu-list nil)
+ (egg-do-auto-fill)
+ (run-hooks 'input-method-after-insert-chunk-hook)))
(defun egg-abort-conversion ()
(interactive)
;; KATAYAMA Yoshio <kate@pfu.co.jp> ; Korean, Chinese support.
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
-;; This file is part of EGG.
+;; 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
'progn
result)))
\f
-(if (not (fboundp 'string-as-multibyte))
- (defsubst string-as-multibyte (str)
- str))
-
;; Do not move the point, leave it where it was.
(defun comm-accept-process-output (proc)
(let ((p (point)))
(let ((start (point)))
(while (not (search-forward "\0\0" nil t))
(comm-accept-process-output proc))
- (set s (string-as-multibyte
- (buffer-substring start
- (+ start
- (decode-coding-region start (- (point) 2)
- egg-fixed-euc)))))))
+ (set s (buffer-substring start
+ (+ start
+ (decode-coding-region start (- (point) 2)
+ egg-fixed-euc))))))
;;; XXX should support other conversion (euc-kr, cns)
(defsubst comm-unpack-mb-string (proc s)
(let ((start (point)))
(while (not (search-forward "\0" nil t))
(comm-accept-process-output proc))
- (set s (string-as-multibyte
- (buffer-substring start
- (+ start
- (decode-coding-region start (- (point) 1)
- egg-mb-euc)))))))
+ (set s (buffer-substring start
+ (+ start
+ (decode-coding-region start (- (point) 1)
+ egg-mb-euc))))))
(defsubst comm-unpack-u8-string (proc s)
(let ((start (point)))
+++ /dev/null
-;; 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)
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
;; Keywords: mule, multilingual, input method
-;; This file is part of EGG.
+;; 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
;;; Code:
-(defvar mlh-default-backend "wnn")
-
(defun mlh-space-bar-backward-henkan ()
"If the character preceding point is / (slash),
Do `mlh-backward-henkan'. Then, invoke appropriate conversion, if needed.
(let ((henkan-begin nil)
(inhibit-henkan t)
(its-disable-special-action t))
- (if (null (assoc "Japanese" egg-conversion-backend-alist))
- (progn
- (setq egg-mode-preference nil)
- (activate-input-method (concat "japanese-egg-" mlh-default-backend)))
- ;; force to Japanese
- (its-select-hiragana))
+ (its-select-hiragana) ;; force to Japanese
(mlh-backward-henkan)
(if henkan-begin
(if (or inhibit-henkan (= henkan-begin (point)))
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
;; Keywords: mule, multilingual, input method
-;; This file is part of EGG.
+;; 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
(force-mode-line-update))
;; Turn on
(if (null (string= (car arg) egg-last-method-name))
- (let ((backend egg-conversion-backend))
+ (progn
(funcall (nth 1 arg))
- (egg-set-conversion-backend backend (list its-current-language) t)
+ (egg-set-conversion-backend nil (list its-current-language) t)
(setq egg-default-language its-current-language)))
(setq egg-last-method-name (car arg))
(use-local-map (if egg-mode-preference
(interactive)
(its-start last-command-char))
\f
-(defvar egg-mark-list nil)
-(defvar egg-suppress-marking nil)
-
-(defun egg-set-face (beg eng face)
- (add-text-properties beg eng
- (list 'face face
- 'egg-face face
- 'modification-hooks '(egg-mark-modification))))
-
-(defun egg-mark-modification (beg end)
- (if (and (null egg-suppress-marking)
- (or (get-text-property beg 'egg-face)
- (setq beg (next-single-property-change beg 'egg-face)))
- (or (get-text-property (1- end) 'egg-face)
- (setq end (previous-single-property-change end 'egg-face)))
- (< beg end))
- (let ((list egg-mark-list)
- (found 0)
- pair mb me b e)
- (add-hook 'post-command-hook 'egg-redraw-face t)
- (setq list egg-mark-list)
- (while (and list (< found 2))
- (setq pair (car list)
- list (cdr list)
- mb (car pair)
- me (cdr pair)
- b (marker-position mb)
- e (marker-position me))
- (cond
- ;; no overwrapping -- SKIP
- ((or (null (eq (marker-buffer mb) (current-buffer)))
- (or (> beg e) (< end b))))
- ;; completely included
- ((and (>= beg b) (<= end e))
- (setq found 3))
- ;; partially overwrapping
- (t
- (set-marker mb nil)
- (set-marker me nil)
- (setq egg-mark-list (delete pair egg-mark-list)
- beg (min beg b)
- end (max end e)
- found (1+ found)))))
- (if (< found 3)
- (progn
- (setq b (make-marker)
- e (make-marker)
- egg-mark-list (cons (cons b e) egg-mark-list))
- (set-marker b beg)
- (set-marker e end))))))
-
-(defun egg-redraw-face ()
- (let ((inhibit-read-only t)
- (egg-suppress-marking t)
- (list egg-mark-list)
- mb me b e p)
- (setq egg-mark-list nil)
- (remove-hook 'post-command-hook 'egg-redraw-face)
- (save-excursion
- (while list
- (setq mb (car (car list))
- me (cdr (car list))
- list (cdr list))
- (when (marker-buffer mb)
- (set-buffer (marker-buffer mb))
- (let ((before-change-functions nil) (after-change-functions nil))
- (save-restriction
- (widen)
- (setq b (max mb (point-min))
- e (min me (point-max)))
- (set-marker mb nil)
- (set-marker me nil)
- (while (< b e)
- (if (null (get-text-property b 'egg-face))
- (setq b (next-single-property-change b 'egg-face nil e)))
- (setq p (next-single-property-change b 'egg-face nil e))
- (put-text-property b p 'face (get-text-property b 'egg-face))
- (setq b p)))))))))
-\f
(defun egg-hinshi-select ()
(menudiag-select ; Should generate at initialization time
'(menu "\e$BIJ;lL>\e(B:"
(defgroup egg nil
"Tamagotchy --- EGG Versio 4.0")
+;;(load-library "its/hira")
+;;(setq-default its-current-map its-hira-map)
+
+;;(load-library "egg/wnn")
+;;(load-library "egg/wnnrpc")
+;;(setq egg-conversion-backend wnn-conversion-backend)
+
+;;(load-library "egg/sj3rpc")
+;;(load-library "egg/sj3")
+;;(setq egg-conversion-backend sj3-conversion-backend)
+
(defvar egg-support-languages nil)
(defun egg-set-support-languages (langs)
(defun egg-kill-emacs-function ()
(egg-finalize-backend))
-(if (not (fboundp 'set-buffer-multibyte))
-(defun set-buffer-multibyte (flag)
- (setq enable-multibyte-characters flag)))
-
(provide 'egg)
;;; egg.el ends here
(set-buffer buf)
(erase-buffer)
(buffer-disable-undo)
- (set-buffer-multibyte nil))
+ (setq enable-multibyte-characters nil))
;; Initialize dictionaries
(setq sj3-sys-dict-list nil)
(setq sj3-user-dict-list nil)
(setq ret (sj3rpc-open-stdy proc name))
(if (= ret 0)
(setq trying nil)
- (message "\e$B3X=,%U%!%$%k\e(B(%s)\e$B$,$"$j$^$;$s\e(B" name)
+ (message "\92\81³Ø\92\81½¬\92\81¥Õ\92\81¥¡\92\81¥¤\92\81¥ë(%s)\92\81¤¬\92\81¤¢\92\81¤ê\92\81¤Þ\92\81¤»\92\81¤ó" name)
(if (/= ret (SJ3-const FileNotExist))
(error "Fatal1") ; XXX
(if (and (y-or-n-p
- (format "\e$B3X=,%U%!%$%k\e(B(%s)\e$B$,$"$j$^$;$s!#:n$j$^$9$+\e(B? "
+ (format "\92\81³Ø\92\81½¬\92\81¥Õ\92\81¥¡\92\81¥¤\92\81¥ë(%s)\92\81¤¬\92\81¤¢\92\81¤ê\92\81¤Þ\92\81¤»\92\81¤ó\92\81¡£\92\81ºî\92\81¤ê\92\81¤Þ\92\81¤¹\92\81¤«? "
name))
(sj3rpc-make-directory proc
(file-name-directory name))
;; ignore error
(= (sj3rpc-make-stdy proc name) 0))
- (message "\e$B3X=,%U%!%$%k\e(B(%s)\e$B$r:n$j$^$7$?\e(B" name)
+ (message "\92\81³Ø\92\81½¬\92\81¥Õ\92\81¥¡\92\81¥¤\92\81¥ë(%s)\92\81¤ò\92\81ºî\92\81¤ê\92\81¤Þ\92\81¤·\92\81¤¿" name)
(error "Fatal2"))))))) ; XXX
(defun sj3-open-dictionary (proc name passwd)
(setq ret (sj3rpc-open-dictionary proc name passwd))
(if (>= ret 0)
(setq trying nil)
- (message "\e$B<-=q%U%!%$%k\e(B(%s)\e$B$,$"$j$^$;$s\e(B" name)
+ (message "\92\81¼Â\92\81½ñ\92\81¥Õ\92\81¥¡\92\81¥¤\92\81¥ë(%s)\92\81¤¬\92\81¤¢\92\81¤ê\92\81¤Þ\92\81¤»\92\81¤ó" name)
(setq ret (- ret)) ; Get error code.
(if (/= ret (SJ3-const FileNotExist))
(error "Fatal3 %d" ret) ; XXX
(if (and (y-or-n-p
- (format "\e$B<-=q%U%!%$%k\e(B(%s)\e$B$,$"$j$^$;$s!#:n$j$^$9$+\e(B? "
+ (format "\92\81¼Â\92\81½ñ\92\81¥Õ\92\81¥¡\92\81¥¤\92\81¥ë(%s)\92\81¤¬\92\81¤¢\92\81¤ê\92\81¤Þ\92\81¤»\92\81¤ó\92\81¡£\92\81ºî\92\81¤ê\92\81¤Þ\92\81¤¹\92\81¤«? "
name))
(= (sj3rpc-make-dictionary proc name) 0))
- (message "\e$B<-=q%U%!%$%k\e(B(%s)\e$B$r:n$j$^$7$?\e(B" name)
+ (message "\92\81¼Â\92\81½ñ\92\81¥Õ\92\81¥¡\92\81¥¤\92\81¥ë(%s)\92\81¤ò\92\81ºî\92\81¤ê\92\81¤Þ\92\81¤·\92\81¤¿" name)
(error "Fatal4"))))) ; XXX
ret))
;;
;; Maintainer: NIIBE Yutaka <gniibe@mri.co.jp>
-;; This file is part of EGG.
+;; This file will be part of EGG (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
(set-buffer buf)
(erase-buffer)
(buffer-disable-undo)
- (setq egg-fixed-euc (wnn-server-coding-system server-info))
- (set-buffer-multibyte nil))
+ (setq enable-multibyte-characters nil
+ egg-fixed-euc (wnn-server-coding-system server-info)))
(cond
((null hostname-list)
(setq hostname-list '("localhost")))
+++ /dev/null
-;;; 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.
+++ /dev/null
-;;; 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.
'read-only t
'intangible 'its-part-1))
(if its-fence-face
- (egg-set-face p (point) (its-get-fence-face)))
+ (put-text-property p (point) 'face (its-get-fence-face)))
(its-set-cursor-status cursor))))
(defun its-buffer-delete-SYL (syl)
(put-text-property p (point) 'its-syl (cons syl syl))
(if its-fence-face
(let ((its-current-language (get-text-property p 'egg-lang)))
- (egg-set-face p (point) (its-get-fence-face)))))
+ (put-text-property p (point) 'face (its-get-fence-face)))))
(if yank-before
(add-text-properties start end '(read-only t intangible its-part-1))
(add-text-properties start end '(read-only t intangible its-part-2))
'its-select-hiragana)
(register-input-method
+ "japanese-egg-canna" "Japanese" 'egg-activate-canna
+ "" "Romaji -> Hiragana -> Kanji&Kana"
+ 'its-select-hiragana)
+
+(register-input-method
"chinese-gb-egg-wnn-py" "Chinese-GB" 'egg-activate-wnn
"" "Pinyin -> Simplified Hanzi"
'its-select-pinyin-cn)