diff -urN emacs-19.34.orig/lisp/canna.el emacs-19.34/lisp/canna.el --- emacs-19.34.orig/lisp/canna.el Mon May 10 09:29:55 1999 +++ emacs-19.34/lisp/canna.el Mon May 10 09:32:21 1999 @@ -156,6 +156,7 @@ (defvar canna:*fence-mode* nil) ;(make-variable-buffer-local 'canna:*fence-mode*) ;(setq-default canna:*fence-mode* nil) +(defvar canna:*select-mode* nil) ;;; ;;; global variables @@ -167,11 +168,9 @@ (defvar canna:*spos-undo-text* (make-marker)) (defvar canna:*epos-undo-text* (make-marker)) (defvar canna:*undo-text-yomi* nil) -(defvar canna:*local-map-backup* nil) (defvar canna:*last-kouho* 0) (defvar canna:*initialized* nil) (defvar canna:*previous-window* nil) -(defvar canna:*minibuffer-local-map-backup* nil) (defvar canna:*cursor-was-in-minibuffer* nil) (defvar canna:*menu-buffer* " *menu*") (defvar canna:*saved-minibuffer*) @@ -234,6 +233,11 @@ (define-key canna-mode-map [kanji] [? ]) (define-key canna-mode-map [?\C- ] [?\C-@]) +(or (assq 'canna:*fence-mode* minor-mode-map-alist) + (setq minor-mode-map-alist + (cons (cons 'canna:*fence-mode* canna-mode-map) + minor-mode-map-alist))) + ;; $B%_%K%P%C%U%!$K2?$+$rI=<($7$F$$$k;~$N%m!<%+%k%^%C%W(B (defvar canna-minibuffer-mode-map (make-sparse-keymap)) @@ -257,6 +261,11 @@ (define-key canna-minibuffer-mode-map [kanji] [? ]) (define-key canna-minibuffer-mode-map [?\C- ] [?\C-@]) +(or (assq 'canna:*select-mode* minor-mode-map-alist) + (setq minor-mode-map-alist + (cons (cons 'canna:*select-mode* canna-minibuffer-mode-map) + minor-mode-map-alist))) + ;;; ;;; $B%0%m!<%P%k4X?t$N=q$-BX$((B ;;; @@ -515,7 +524,7 @@ (select-window (minibuffer-window)) (set-window-buffer (minibuffer-window) (get-buffer-create canna:*menu-buffer*)) - (use-local-map canna-minibuffer-mode-map) )) + (setq canna:*select-mode* t))) ) (defun canna:minibuffer-input (str len revpos revlen nfixed) @@ -543,15 +552,12 @@ (setq canna:*saved-redirection* (frame-focus (selected-frame))) (redirect-frame-focus (selected-frame) (window-frame (minibuffer-window))) - - ;; $B%_%K%P%C%U%!$N%-!<%^%C%W$rJ]B8$7$F$*$/!#(B - (setq canna:*minibuffer-local-map-backup* (current-local-map)) )) (select-window (minibuffer-window)) (set-window-buffer (minibuffer-window) (get-buffer-create canna:*menu-buffer*)) - (use-local-map canna-minibuffer-mode-map) + (setq canna:*select-mode* t) ; (canna:yomi-attr-off (point-min) (point-max) ) ; (canna:henkan-attr-off (point-min) (point-max) ) @@ -578,7 +584,7 @@ (if (or (zerop len) canna-empty-info) (progn (setq canna:*cursor-was-in-minibuffer* nil) - (use-local-map canna:*minibuffer-local-map-backup*) + (setq canna:*select-mode* nil) ;; $B%_%K%P%C%U%!%&%#%s%I%&$N%P%C%U%!$r85$KLa$9!#(B (set-window-buffer (minibuffer-window) canna:*saved-minibuffer*) @@ -602,7 +608,7 @@ "Use input character as a key of complex translation input such as\n\ kana-to-kanji translation, even if you are in the minibuffer." (interactive "p") - (use-local-map canna:*minibuffer-local-map-backup*) + (setq canna:*select-mode* nil) (set-window-buffer (minibuffer-window) canna:*saved-minibuffer*) (select-window canna:*previous-window*) (canna:functional-insert-command2 last-command-char arg) ) @@ -731,11 +737,9 @@ canna:*saved-mode-string* new-mode))) 0))) - (setq canna:*local-map-backup* (current-local-map)) (setq canna:*fence-mode* t) (if (boundp 'disable-undo) - (setq disable-undo canna:*fence-mode*)) - (use-local-map canna-mode-map) ) + (setq disable-undo canna:*fence-mode*))) (defun canna:enter-canna-mode-and-functional-insert () (canna:enter-canna-mode) @@ -744,7 +748,6 @@ (defun canna:quit-canna-mode () (cond (canna:*fence-mode* - (use-local-map canna:*local-map-backup*) (setq canna:*fence-mode* nil) (if canna:*exit-japanese-mode* (progn diff -urN emacs-19.34.orig/lisp/egg.el emacs-19.34/lisp/egg.el --- emacs-19.34.orig/lisp/egg.el Mon May 10 09:29:56 1999 +++ emacs-19.34/lisp/egg.el Mon May 10 09:32:26 1999 @@ -1119,7 +1119,7 @@ (defun roma-kana-region (start end ) (interactive "r") - (its:translate-region start end nil (its:get-mode-map "roma-kana"))) + (its:translate-region start end nil (its:get-romakana-mode-map))) (defun roma-kana-paragraph () "roma-kana paragraph at or after point." @@ -2313,6 +2313,10 @@ ;; (its:get-mode-map "zenkaku-upcase")) ) +(defun its:set-standard-mode () + (setq its:*standard-modes* + (mapcar (lambda (elem) (cdr elem)) its:*mode-alist*))) + (defun its:find (map list) (let ((n 0)) (while (and list (not (eq map (car list)))) @@ -2336,12 +2340,13 @@ its:*standard-modes*)) (egg:mode-line-display))) -(defun its:select-hiragana () (interactive) (its:select-mode "roma-kana")) -(defun its:select-katakana () (interactive) (its:select-mode "roma-kata")) -(defun its:select-downcase () (interactive) (its:select-mode "downcase")) -(defun its:select-upcase () (interactive) (its:select-mode "upcase")) -(defun its:select-zenkaku-downcase () (interactive) (its:select-mode "zenkaku-downcase")) -(defun its:select-zenkaku-upcase () (interactive) (its:select-mode "zenkaku-upcase")) +;; moved to each ITS package files +;; (defun its:select-hiragana () (interactive) (its:select-mode "roma-kana")) +;; (defun its:select-katakana () (interactive) (its:select-mode "roma-kata")) +;; (defun its:select-downcase () (interactive) (its:select-mode "downcase")) +;; (defun its:select-upcase () (interactive) (its:select-mode "upcase")) +;; (defun its:select-zenkaku-downcase () (interactive) (its:select-mode "zenkaku-downcase")) +;; (defun its:select-zenkaku-upcase () (interactive) (its:select-mode "zenkaku-upcase")) (defun its:select-mode-temporally (name) (interactive (list (completing-read "ITS mode: " its:*mode-alist*))) @@ -2402,12 +2407,13 @@ (define-key mule-keymap "m" 'its:select-mode-from-menu) (define-key mule-keymap ">" 'its:next-mode) (define-key mule-keymap "<" 'its:previous-mode) -(define-key mule-keymap "h" 'its:select-hiragana) -(define-key mule-keymap "k" 'its:select-katakana) -(define-key mule-keymap "q" 'its:select-downcase) -(define-key mule-keymap "Q" 'its:select-upcase) -(define-key mule-keymap "z" 'its:select-zenkaku-downcase) -(define-key mule-keymap "Z" 'its:select-zenkaku-upcase) +;; moved to each ITS package file +;; (define-key mule-keymap "h" 'its:select-hiragana) +;; (define-key mule-keymap "k" 'its:select-katakana) +;; (define-key mule-keymap "q" 'its:select-downcase) +;; (define-key mule-keymap "Q" 'its:select-upcase) +;; (define-key mule-keymap "z" 'its:select-zenkaku-downcase) +;; (define-key mule-keymap "Z" 'its:select-zenkaku-upcase) ;;; ;;; auto fill controll @@ -2471,9 +2477,6 @@ (make-variable-buffer-local 'egg:*region-end*) (set-default 'egg:*region-start* nil) (set-default 'egg:*region-end* nil) -(defvar egg:*global-map-backup* nil) -(defvar egg:*local-map-backup* nil) - ;;; ;;; (defvar disable-undo nil "*Compatibility for Nemacs") @@ -2603,11 +2606,6 @@ (and (boundp 'disable-undo) (setq disable-undo t)) (setq egg:*in-fence-mode* t) (egg:mode-line-display) - ;;;(setq egg:*global-map-backup* (current-global-map)) - (setq egg:*local-map-backup* (current-local-map)) - ;;;(use-global-map fence-mode-map) - ;;;(use-local-map nil) - (use-local-map fence-mode-map) (egg:check-fence-in-cont) ; for Wnn6 (insert egg:*fence-open*) (or (markerp egg:*region-start*) (setq egg:*region-start* (make-marker))) @@ -2722,8 +2720,6 @@ correspoding to character position.") (defun egg:quit-egg-mode () - ;;;(use-global-map egg:*global-map-backup*) - (use-local-map egg:*local-map-backup*) (setq egg:*in-fence-mode* nil) (egg:mode-line-display) (if overwrite-mode @@ -2784,12 +2780,13 @@ (define-key fence-mode-map "\ek" 'fence-katakana) (define-key fence-mode-map "\e<" 'fence-hankaku) (define-key fence-mode-map "\e>" 'fence-zenkaku) -(define-key fence-mode-map "\e\C-h" 'its:select-hiragana) -(define-key fence-mode-map "\e\C-k" 'its:select-katakana) -(define-key fence-mode-map "\eq" 'its:select-downcase) -(define-key fence-mode-map "\eQ" 'its:select-upcase) -(define-key fence-mode-map "\ez" 'its:select-zenkaku-downcase) -(define-key fence-mode-map "\eZ" 'its:select-zenkaku-upcase) +;; moved to each ITS package file +;; (define-key fence-mode-map "\e\C-h" 'its:select-hiragana) +;; (define-key fence-mode-map "\e\C-k" 'its:select-katakana) +;; (define-key fence-mode-map "\eq" 'its:select-downcase) +;; (define-key fence-mode-map "\eQ" 'its:select-upcase) +;; (define-key fence-mode-map "\ez" 'its:select-zenkaku-downcase) +;; (define-key fence-mode-map "\eZ" 'its:select-zenkaku-upcase) (define-key fence-mode-map " " 'henkan-fence-region-or-single-space) (define-key fence-mode-map "\C-@" 'henkan-fence-region) (define-key fence-mode-map [?\C-\ ] 'henkan-fence-region) @@ -2819,6 +2816,12 @@ (define-key fence-mode-map [kp-right] 'fence-forward-char) (define-key fence-mode-map [kp-left] 'fence-backward-char) +(fset 'fence-mode-map fence-mode-map) + +(or (assq 'egg:*in-fence-mode* minor-mode-map-alist) + (setq minor-mode-map-alist + (cons (cons 'egg:*in-fence-mode* 'fence-mode-map) + minor-mode-map-alist))) ;;;---------------------------------------------------------------------- ;;; @@ -2839,9 +2842,8 @@ (let ((minibuff (window-buffer (minibuffer-window)))) (set-buffer minibuff) (setq egg:*input-mode* t - egg:*mode-on* t - its:*current-map* (its:get-mode-map "roma-kana")) - (mode-line-egg-mode-update (its:get-mode-indicator its:*current-map*)))) + egg:*mode-on* t) + (its:select-hiragana))) (read-from-minibuffer prompt initial-input egg:*minibuffer-local-hiragana-map*)) @@ -2850,9 +2852,8 @@ (let ((minibuff (window-buffer (minibuffer-window)))) (set-buffer minibuff) (setq egg:*input-mode* t - egg:*mode-on* t - its:*current-map* (its:get-mode-map "roma-kana")) - (mode-line-egg-mode-update (its:get-mode-indicator "roma-kana")))) + egg:*mode-on* t) + (its:select-hiragana))) (read-from-minibuffer prompt initial-input)) (defconst isearch:read-kanji-string 'read-kanji-string) diff -urN emacs-19.34.orig/lisp/its/Chinese.el emacs-19.34/lisp/its/Chinese.el --- emacs-19.34.orig/lisp/its/Chinese.el Thu Jan 1 09:00:00 1970 +++ emacs-19.34/lisp/its/Chinese.el Fri Aug 9 23:32:13 1996 @@ -0,0 +1,30 @@ +;; This file is part of Egg on Nemacs (Chinese Environment) + +;; Egg is distributed in the forms of patches to GNU +;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC +;; LICENSE which is distributed along with GNU Emacs by the +;; Free Software Foundation. + +;; 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 EMACS GENERAL PUBLIC LICENSE for +;; more details. + +;; You should have received a copy of the GNU EMACS GENERAL +;; PUBLIC LICENSE along with Nemacs; see the file COPYING. +;; If not, write to the Free Software Foundation, 675 Mass +;; Ave, Cambridge, MA 02139, USA. + +(add-wnn-server 'cserver) + +(define-key fence-mode-map "\eb" 'its:select-downcase) +(define-key fence-mode-map "\eB" 'its:select-upcase) + +(load "its/pinyin") +(load "its/erpin") +(load "its/zhuyin") +(load "its/hankaku") +(load "its/quanjiao") + +(its:set-standard-mode) diff -urN emacs-19.34.orig/lisp/its/Japanese.el emacs-19.34/lisp/its/Japanese.el --- emacs-19.34.orig/lisp/its/Japanese.el Thu Jan 1 09:00:00 1970 +++ emacs-19.34/lisp/its/Japanese.el Fri Aug 9 23:37:18 1996 @@ -0,0 +1,38 @@ +;; This file is part of Egg on Nemacs (Jpanese Environment) + +;; Egg is distributed in the forms of patches to GNU +;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC +;; LICENSE which is distributed along with GNU Emacs by the +;; Free Software Foundation. + +;; 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 EMACS GENERAL PUBLIC LICENSE for +;; more details. + +;; You should have received a copy of the GNU EMACS GENERAL +;; PUBLIC LICENSE along with Nemacs; see the file COPYING. +;; If not, write to the Free Software Foundation, 675 Mass +;; Ave, Cambridge, MA 02139, USA. + +(if (boundp 'WNN) + (progn + (add-wnn-server 'jserver) + (define-key fence-mode-map "\eh" 'fence-hiragana) + (define-key fence-mode-map "\ek" 'fence-katakana) + (define-key fence-mode-map "\e<" 'fence-hankaku) + (define-key fence-mode-map "\e>" 'fence-zenkaku))) + +(define-key fence-mode-map "\eq" 'its:select-downcase) +(define-key fence-mode-map "\eQ" 'its:select-upcase) + +;; (load "its/kanainput") +(load "its/hira") +(load "its/kata") +(load "its/hankaku") +(load "its/zenkaku") +;; to enable han-kata requires more 5000 EGG_PURESIZE +;; (load "its/han-kata") + +(its:set-standard-mode) diff -urN emacs-19.34.orig/lisp/its/Korean.el emacs-19.34/lisp/its/Korean.el --- emacs-19.34.orig/lisp/its/Korean.el Thu Jan 1 09:00:00 1970 +++ emacs-19.34/lisp/its/Korean.el Sat Jul 27 17:44:36 1996 @@ -0,0 +1,28 @@ +;; This file is part of Egg on Nemacs (Korean Environment) + +;; Egg is distributed in the forms of patches to GNU +;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC +;; LICENSE which is distributed along with GNU Emacs by the +;; Free Software Foundation. + +;; 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 EMACS GENERAL PUBLIC LICENSE for +;; more details. + +;; You should have received a copy of the GNU EMACS GENERAL +;; PUBLIC LICENSE along with Nemacs; see the file COPYING. +;; If not, write to the Free Software Foundation, 675 Mass +;; Ave, Cambridge, MA 02139, USA. + +(add-wnn-server 'kserver) + +(define-key fence-mode-map "\eb" 'its:select-downcase) +(define-key fence-mode-map "\eB" 'its:select-upcase) + +(load "its/hangul") +(load "its/hankaku") +(load "its/jeonkak") + +(its:set-standard-mode) diff -urN emacs-19.34.orig/lisp/its/erpin.el emacs-19.34/lisp/its/erpin.el --- emacs-19.34.orig/lisp/its/erpin.el Thu Jan 1 09:00:00 1970 +++ emacs-19.34/lisp/its/erpin.el Sun Jul 28 12:11:22 1996 @@ -0,0 +1,450 @@ +;; Basic PinYin Translation Table for Egg+Takana+cWnn +;; Coded by Hiroshi Kuribayashi (kuri@nff.ncl.omron.co.jp) + +(defun its:select-erpin () (interactive) (its:select-mode "erpin")) +(define-key mule-keymap "\C-e" 'its:select-erpin) +(define-key fence-mode-map "\ee" 'its:select-erpin) + +(its-define-mode "erpin" "$A6~(B" t nil nil 'cserver (lambda () (setq cwnn-zhuyin nil))) + +(its-defrule-select-mode-temporally "B" "downcase") +(its-defrule-select-mode-temporally "Q" "quanjiao-downcase") + +(dolist (A '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "s" "t" "w" "y" "z")) + (its-defrule (concat A "a") (concat (upcase A) "a(0@(B")) + (its-defrule (concat A "a1") (concat (upcase A) "(0!@(B")) + (its-defrule (concat A "a2") (concat (upcase A) "(0"@(B")) + (its-defrule (concat A "a3") (concat (upcase A) "(0#@(B")) + (its-defrule (concat A "a4") (concat (upcase A) "(0$@(B"))) +(dolist (AI '("b" "c" "d" "g" "h" "k" "l" "m" "n" "p" "s" "t" "w" "z")) + (its-defrule (concat AI "s") (concat (upcase AI) "ai(0@(B")) + (its-defrule (concat AI "s1") (concat (upcase AI) "(0!(Bi(0@(B")) + (its-defrule (concat AI "s2") (concat (upcase AI) "(0"(Bi(0@(B")) + (its-defrule (concat AI "s3") (concat (upcase AI) "(0#(Bi(0@(B")) + (its-defrule (concat AI "s4") (concat (upcase AI) "(0$(Bi(0@(B"))) +(dolist (AN '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "w" "y" "z")) ;ANG + (its-defrule (concat AN "g") (concat (upcase AN) "ang(0@(B")) + (its-defrule (concat AN "g1") (concat (upcase AN) "(0!(Bng(0@(B")) + (its-defrule (concat AN "g2") (concat (upcase AN) "(0"(Bng(0@(B")) + (its-defrule (concat AN "g3") (concat (upcase AN) "(0#(Bng(0@(B")) + (its-defrule (concat AN "g4") (concat (upcase AN) "(0$(Bng(0@(B")) + (its-defrule (concat AN "f") (concat (upcase AN) "an(0@(B")) + (its-defrule (concat AN "f1") (concat (upcase AN) "(0!(Bn(0@(B")) + (its-defrule (concat AN "f2") (concat (upcase AN) "(0"(Bn(0@(B")) + (its-defrule (concat AN "f3") (concat (upcase AN) "(0#(Bn(0@(B")) + (its-defrule (concat AN "f4") (concat (upcase AN) "(0$(Bn(0@(B"))) +(dolist (AO '("b" "c" "d" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "w" "y" "z")) + (its-defrule (concat AO "d") (concat (upcase AO) "ao(0@(B")) + (its-defrule (concat AO "d1") (concat (upcase AO) "(0!(Bo(0@(B")) + (its-defrule (concat AO "d2") (concat (upcase AO) "(0"(Bo(0@(B")) + (its-defrule (concat AO "d3") (concat (upcase AO) "(0#(Bo(0@(B")) + (its-defrule (concat AO "d4") (concat (upcase AO) "(0$(Bo(0@(B"))) +(dolist (E '("c" "d" "g" "h" "k" "l" "m" "n" "r" "s" "t" "y" "z")) + (its-defrule (concat E "e") (concat (upcase E) "e(0@(B")) + (its-defrule (concat E "e1") (concat (upcase E) "(0%@(B")) + (its-defrule (concat E "e2") (concat (upcase E) "(0&@(B")) + (its-defrule (concat E "e3") (concat (upcase E) "(0'@(B")) + (its-defrule (concat E "e4") (concat (upcase E) "(0(@(B"))) +(dolist (EI '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "t" "w" "z")) + (its-defrule (concat EI "w") (concat (upcase EI) "ei(0@(B")) + (its-defrule (concat EI "w1") (concat (upcase EI) "(0%(Bi(0@(B")) + (its-defrule (concat EI "w2") (concat (upcase EI) "(0&(Bi(0@(B")) + (its-defrule (concat EI "w3") (concat (upcase EI) "(0'(Bi(0@(B")) + (its-defrule (concat EI "w4") (concat (upcase EI) "(0((Bi(0@(B"))) +(dolist (EN '("b" "c" "f" "g" "h" "k" "m" "n" "p" "r" "s" "w" "z")) ;den + (its-defrule (concat EN "r") (concat (upcase EN) "en(0@(B")) + (its-defrule (concat EN "r1") (concat (upcase EN) "(0%(Bn(0@(B")) + (its-defrule (concat EN "r2") (concat (upcase EN) "(0&(Bn(0@(B")) + (its-defrule (concat EN "r3") (concat (upcase EN) "(0'(Bn(0@(B")) + (its-defrule (concat EN "r4") (concat (upcase EN) "(0((Bn(0@(B"))) +(dolist (ENG '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "w" "z")) + (its-defrule (concat ENG "t") (concat (upcase ENG) "eng(0@(B")) + (its-defrule (concat ENG "t1") (concat (upcase ENG) "(0%(Bng(0@(B")) + (its-defrule (concat ENG "t2") (concat (upcase ENG) "(0&(Bng(0@(B")) + (its-defrule (concat ENG "t3") (concat (upcase ENG) "(0'(Bng(0@(B")) + (its-defrule (concat ENG "t4") (concat (upcase ENG) "(0((Bng(0@(B"))) +(dolist (I '("b" "c" "d" "j" "l" "m" "n" "p" "q" "r" "s" "t" "x" "y" "z")) + (its-defrule (concat I "i") (concat (upcase I) "i(0@(B")) + (its-defrule (concat I "i1") (concat (upcase I) "(0)@(B")) + (its-defrule (concat I "i2") (concat (upcase I) "(0*@(B")) + (its-defrule (concat I "i3") (concat (upcase I) "(0+@(B")) + (its-defrule (concat I "i4") (concat (upcase I) "(0,@(B"))) +(dolist (IA '("d" "j" "l" "q" "x")) ;nia + (its-defrule (concat IA "p") (concat (upcase IA) "ia(0@(B")) + (its-defrule (concat IA "p1") (concat (upcase IA) "i(0!@(B")) + (its-defrule (concat IA "p2") (concat (upcase IA) "i(0"@(B")) + (its-defrule (concat IA "p3") (concat (upcase IA) "i(0#@(B")) + (its-defrule (concat IA "p4") (concat (upcase IA) "i(0$@(B"))) +(dolist (IAN '("b" "d" "j" "l" "m" "n" "p" "q" "t" "x")) + (its-defrule (concat IAN "h") (concat (upcase IAN) "ian(0@(B")) + (its-defrule (concat IAN "h1") (concat (upcase IAN) "i(0!(Bn(0@(B")) + (its-defrule (concat IAN "h2") (concat (upcase IAN) "i(0"(Bn(0@(B")) + (its-defrule (concat IAN "h3") (concat (upcase IAN) "i(0#(Bn(0@(B")) + (its-defrule (concat IAN "h4") (concat (upcase IAN) "i(0$(Bn(0@(B"))) +(dolist (IANG '("j" "l" "n" "q" "x")) + (its-defrule (concat IANG "j") (concat (upcase IANG) "iang(0@(B")) + (its-defrule (concat IANG "j1") (concat (upcase IANG) "i(0!(Bng(0@(B")) + (its-defrule (concat IANG "j2") (concat (upcase IANG) "i(0"(Bng(0@(B")) + (its-defrule (concat IANG "j3") (concat (upcase IANG) "i(0#(Bng(0@(B")) + (its-defrule (concat IANG "j4") (concat (upcase IANG) "i(0$(Bng(0@(B"))) +(dolist (IAO '("b" "d" "j" "l" "m" "n" "p" "q" "t" "x")) ;IE + (its-defrule (concat IAO "k") (concat (upcase IAO) "iao(0@(B")) + (its-defrule (concat IAO "k1") (concat (upcase IAO) "i(0!(Bo(0@(B")) + (its-defrule (concat IAO "k2") (concat (upcase IAO) "i(0"(Bo(0@(B")) + (its-defrule (concat IAO "k3") (concat (upcase IAO) "i(0#(Bo(0@(B")) + (its-defrule (concat IAO "k4") (concat (upcase IAO) "i(0$(Bo(0@(B")) + (its-defrule (concat IAO "l") (concat (upcase IAO) "ie(0@(B")) + (its-defrule (concat IAO "l1") (concat (upcase IAO) "i(0%@(B")) + (its-defrule (concat IAO "l2") (concat (upcase IAO) "i(0&@(B")) + (its-defrule (concat IAO "l3") (concat (upcase IAO) "i(0'@(B")) + (its-defrule (concat IAO "l4") (concat (upcase IAO) "i(0(@(B"))) +(dolist (IN '("b" "j" "l" "m" "n" "p" "q" "x" "y")) + (its-defrule (concat IN "m") (concat (upcase IN) "in(0@(B")) + (its-defrule (concat IN "m1") (concat (upcase IN) "(0)(Bn(0@(B")) + (its-defrule (concat IN "m2") (concat (upcase IN) "(0*(Bn(0@(B")) + (its-defrule (concat IN "m3") (concat (upcase IN) "(0+(Bn(0@(B")) + (its-defrule (concat IN "m4") (concat (upcase IN) "(0,(Bn(0@(B"))) +(dolist (ING '("b" "d" "j" "l" "m" "n" "p" "q" "t" "x" "y")) + (its-defrule (concat ING "n") (concat (upcase ING) "ing(0@(B")) + (its-defrule (concat ING "n1") (concat (upcase ING) "(0)(Bng(0@(B")) + (its-defrule (concat ING "n2") (concat (upcase ING) "(0*(Bng(0@(B")) + (its-defrule (concat ING "n3") (concat (upcase ING) "(0+(Bng(0@(B")) + (its-defrule (concat ING "n4") (concat (upcase ING) "(0,(Bng(0@(B"))) +(dolist (IONG '("j" "q" "x")) + (its-defrule (concat IONG "b") (concat (upcase IONG) "iong(0@(B")) + (its-defrule (concat IONG "b1") (concat (upcase IONG) "i(0-(Bng(0@(B")) + (its-defrule (concat IONG "b2") (concat (upcase IONG) "i(0.(Bng(0@(B")) + (its-defrule (concat IONG "b3") (concat (upcase IONG) "i(0/(Bng(0@(B")) + (its-defrule (concat IONG "b4") (concat (upcase IONG) "i(00(Bng(0@(B"))) +(dolist (IU '("d" "j" "l" "m" "n" "q" "x")) + (its-defrule (concat IU "y") (concat (upcase IU) "iu(0@(B")) + (its-defrule (concat IU "y1") (concat (upcase IU) "i(01@(B")) + (its-defrule (concat IU "y2") (concat (upcase IU) "i(02@(B")) + (its-defrule (concat IU "y3") (concat (upcase IU) "i(03@(B")) + (its-defrule (concat IU "y4") (concat (upcase IU) "i(04@(B"))) +(dolist (O '("b" "f" "m" "p" "w" "y")) ; "l" + (its-defrule (concat O "o") (concat (upcase O) "o(0@(B")) + (its-defrule (concat O "o1") (concat (upcase O) "(0-@(B")) + (its-defrule (concat O "o2") (concat (upcase O) "(0.@(B")) + (its-defrule (concat O "o3") (concat (upcase O) "(0/@(B")) + (its-defrule (concat O "o4") (concat (upcase O) "(00@(B"))) +(dolist (ONG '("c" "d" "g" "h" "k" "l" "n" "r" "s" "t" "y" "z")) + (its-defrule (concat ONG "b") (concat (upcase ONG) "ong(0@(B")) + (its-defrule (concat ONG "b1") (concat (upcase ONG) "(0-(Bng(0@(B")) + (its-defrule (concat ONG "b2") (concat (upcase ONG) "(0.(Bng(0@(B")) + (its-defrule (concat ONG "b3") (concat (upcase ONG) "(0/(Bng(0@(B")) + (its-defrule (concat ONG "b4") (concat (upcase ONG) "(00(Bng(0@(B"))) +(dolist (OU '("c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "y" "z")) + (its-defrule (concat OU "q") (concat (upcase OU) "ou(0@(B")) + (its-defrule (concat OU "q1") (concat (upcase OU) "(0-(Bu(0@(B")) + (its-defrule (concat OU "q2") (concat (upcase OU) "(0.(Bu(0@(B")) + (its-defrule (concat OU "q3") (concat (upcase OU) "(0/(Bu(0@(B")) + (its-defrule (concat OU "q4") (concat (upcase OU) "(00(Bu(0@(B"))) +(dolist (U '("b" "c" "d" "f" "g" "h" "j" "k" "l" "m" "n" "p" "q" "r" "s" "t" "w" "x" "y" "z")) + (its-defrule (concat U "0") (concat (upcase U) "0(0@(B")) ; ShengMu only, no YunMu. + (its-defrule (concat U "1") (concat (upcase U) "1(0@(B")) + (its-defrule (concat U "2") (concat (upcase U) "2(0@(B")) + (its-defrule (concat U "3") (concat (upcase U) "3(0@(B")) + (its-defrule (concat U "4") (concat (upcase U) "4(0@(B")) + (its-defrule (concat U "u") (concat (upcase U) "u(0@(B")) + (its-defrule (concat U "u1") (concat (upcase U) "(01@(B")) + (its-defrule (concat U "u2") (concat (upcase U) "(02@(B")) + (its-defrule (concat U "u3") (concat (upcase U) "(03@(B")) + (its-defrule (concat U "u4") (concat (upcase U) "(04@(B"))) +(dolist (V '("l" "n")) + (its-defrule (concat V "v") (concat (upcase V) "(09@(B")) + (its-defrule (concat V "v1") (concat (upcase V) "(05@(B")) + (its-defrule (concat V "v2") (concat (upcase V) "(06@(B")) + (its-defrule (concat V "v3") (concat (upcase V) "(07@(B")) + (its-defrule (concat V "v4") (concat (upcase V) "(08@(B"))) +(dolist (UA '("g" "h" "k" "r")) ;chua; + (its-defrule (concat UA "p") (concat (upcase UA) "ua(0@(B")) + (its-defrule (concat UA "p1") (concat (upcase UA) "u(0!@(B")) + (its-defrule (concat UA "p2") (concat (upcase UA) "u(0"@(B")) + (its-defrule (concat UA "p3") (concat (upcase UA) "u(0#@(B")) + (its-defrule (concat UA "p4") (concat (upcase UA) "u(0$@(B"))) +(dolist (UAI '("g" "h" "k")) + (its-defrule (concat UAI "k") (concat (upcase UAI) "uai(0@(B")) + (its-defrule (concat UAI "k1") (concat (upcase UAI) "u(0!(Bi(0@(B")) + (its-defrule (concat UAI "k2") (concat (upcase UAI) "u(0"(Bi(0@(B")) + (its-defrule (concat UAI "k3") (concat (upcase UAI) "u(0#(Bi(0@(B")) + (its-defrule (concat UAI "k4") (concat (upcase UAI) "u(0$(Bi(0@(B"))) +(dolist (UAN '("c" "d" "g" "h" "j" "k" "l" "n" "q" "r" "s" "t" "x" "y" "z")) + (its-defrule (concat UAN "x") (concat (upcase UAN) "uan(0@(B")) + (its-defrule (concat UAN "x1") (concat (upcase UAN) "u(0!(Bn(0@(B")) + (its-defrule (concat UAN "x2") (concat (upcase UAN) "u(0"(Bn(0@(B")) + (its-defrule (concat UAN "x3") (concat (upcase UAN) "u(0#(Bn(0@(B")) + (its-defrule (concat UAN "x4") (concat (upcase UAN) "u(0$(Bn(0@(B"))) +(dolist (UANG '("g" "h" "k")) + (its-defrule (concat UANG "j") (concat (upcase UANG) "uang(0@(B")) + (its-defrule (concat UANG "j1") (concat (upcase UANG) "u(0!(Bng(0@(B")) + (its-defrule (concat UANG "j2") (concat (upcase UANG) "u(0"(Bng(0@(B")) + (its-defrule (concat UANG "j3") (concat (upcase UANG) "u(0#(Bng(0@(B")) + (its-defrule (concat UANG "j4") (concat (upcase UANG) "u(0$(Bng(0@(B"))) +(dolist (UE '("j" "q" "x" "y")) + (its-defrule (concat UE "c") (concat (upcase UE) "ue(0@(B")) + (its-defrule (concat UE "c1") (concat (upcase UE) "u(0%@(B")) + (its-defrule (concat UE "c2") (concat (upcase UE) "u(0&@(B")) + (its-defrule (concat UE "c3") (concat (upcase UE) "u(0'@(B")) + (its-defrule (concat UE "c4") (concat (upcase UE) "u(0(@(B"))) +(dolist (VE '("l" "n")) + (its-defrule (concat VE "c") (concat (upcase VE) "(09(Be(0@(B")) + (its-defrule (concat VE "c1") (concat (upcase VE) "(09%@(B")) + (its-defrule (concat VE "c2") (concat (upcase VE) "(09&@(B")) + (its-defrule (concat VE "c3") (concat (upcase VE) "(09'@(B")) + (its-defrule (concat VE "c4") (concat (upcase VE) "(09(@(B"))) +(dolist (UI '("c" "d" "g" "h" "k" "r" "s" "t" "z")) + (its-defrule (concat UI "c") (concat (upcase UI) "ui(0@(B")) + (its-defrule (concat UI "c1") (concat (upcase UI) "u(0)@(B")) + (its-defrule (concat UI "c2") (concat (upcase UI) "u(0*@(B")) + (its-defrule (concat UI "c3") (concat (upcase UI) "u(0+@(B")) + (its-defrule (concat UI "c4") (concat (upcase UI) "u(0,@(B"))) +(dolist (UN '("c" "d" "g" "h" "j" "k" "l" "q" "r" "s" "t" "x" "y" "z")) + (its-defrule (concat UN "z") (concat (upcase UN) "un(0@(B")) + (its-defrule (concat UN "z1") (concat (upcase UN) "(01(Bn(0@(B")) + (its-defrule (concat UN "z2") (concat (upcase UN) "(02(Bn(0@(B")) + (its-defrule (concat UN "z3") (concat (upcase UN) "(03(Bn(0@(B")) + (its-defrule (concat UN "z4") (concat (upcase UN) "(04(Bn(0@(B"))) +(dolist (UO '("c" "d" "g" "h" "k" "l" "n" "r" "s" "t" "z")) + (its-defrule (concat UO "o") (concat (upcase UO) "uo(0@(B")) + (its-defrule (concat UO "o1") (concat (upcase UO) "u(0-@(B")) + (its-defrule (concat UO "o2") (concat (upcase UO) "u(0.@(B")) + (its-defrule (concat UO "o3") (concat (upcase UO) "u(0/@(B")) + (its-defrule (concat UO "o4") (concat (upcase UO) "u(00@(B"))) +(dolist (CSZ '(("i" . "Ch") ("u" . "Sh") ("v" . "Zh"))) +; (its-defrule (concat(car CSZ) "0") (concat (cdr CSZ) "0(0@(B")) +; (its-defrule (concat(car CSZ) "1") (concat (cdr CSZ) "1(0@(B")) +; (its-defrule (concat(car CSZ) "2") (concat (cdr CSZ) "2(0@(B")) +; (its-defrule (concat(car CSZ) "3") (concat (cdr CSZ) "3(0@(B")) +; (its-defrule (concat(car CSZ) "4") (concat (cdr CSZ) "4(0@(B")) + (its-defrule (concat(car CSZ) "a") (concat (cdr CSZ) "a(0@(B")) + (its-defrule (concat(car CSZ) "a1") (concat (cdr CSZ) "(0!@(B")) + (its-defrule (concat(car CSZ) "a2") (concat (cdr CSZ) "(0"@(B")) + (its-defrule (concat(car CSZ) "a3") (concat (cdr CSZ) "(0#@(B")) + (its-defrule (concat(car CSZ) "a4") (concat (cdr CSZ) "(0$@(B")) + (its-defrule (concat(car CSZ) "s") (concat (cdr CSZ) "ai(0@(B")) + (its-defrule (concat(car CSZ) "s1") (concat (cdr CSZ) "(0!(Bi(0@(B")) + (its-defrule (concat(car CSZ) "s2") (concat (cdr CSZ) "(0"(Bi(0@(B")) + (its-defrule (concat(car CSZ) "s3") (concat (cdr CSZ) "(0#(Bi(0@(B")) + (its-defrule (concat(car CSZ) "s4") (concat (cdr CSZ) "(0$(Bi(0@(B")) + (its-defrule (concat(car CSZ) "f") (concat (cdr CSZ) "an(0@(B")) + (its-defrule (concat(car CSZ) "f1") (concat (cdr CSZ) "(0!(Bn(0@(B")) + (its-defrule (concat(car CSZ) "f2") (concat (cdr CSZ) "(0"(Bn(0@(B")) + (its-defrule (concat(car CSZ) "f3") (concat (cdr CSZ) "(0#(Bn(0@(B")) + (its-defrule (concat(car CSZ) "f4") (concat (cdr CSZ) "(0$(Bn(0@(B")) + (its-defrule (concat(car CSZ) "g") (concat (cdr CSZ) "ang(0@(B")) + (its-defrule (concat(car CSZ) "g1") (concat (cdr CSZ) "(0!(Bng(0@(B")) + (its-defrule (concat(car CSZ) "g2") (concat (cdr CSZ) "(0"(Bng(0@(B")) + (its-defrule (concat(car CSZ) "g3") (concat (cdr CSZ) "(0#(Bng(0@(B")) + (its-defrule (concat(car CSZ) "g4") (concat (cdr CSZ) "(0$(Bng(0@(B")) + (its-defrule (concat(car CSZ) "d") (concat (cdr CSZ) "ao(0@(B")) + (its-defrule (concat(car CSZ) "d1") (concat (cdr CSZ) "(0!(Bo(0@(B")) + (its-defrule (concat(car CSZ) "d2") (concat (cdr CSZ) "(0"(Bo(0@(B")) + (its-defrule (concat(car CSZ) "d3") (concat (cdr CSZ) "(0#(Bo(0@(B")) + (its-defrule (concat(car CSZ) "d4") (concat (cdr CSZ) "(0$(Bo(0@(B")) + (its-defrule (concat(car CSZ) "e") (concat (cdr CSZ) "e(0@(B")) + (its-defrule (concat(car CSZ) "e1") (concat (cdr CSZ) "(0%@(B")) + (its-defrule (concat(car CSZ) "e2") (concat (cdr CSZ) "(0&@(B")) + (its-defrule (concat(car CSZ) "e3") (concat (cdr CSZ) "(0'@(B")) + (its-defrule (concat(car CSZ) "e4") (concat (cdr CSZ) "(0(@(B")) + (its-defrule (concat(car CSZ) "r") (concat (cdr CSZ) "en(0@(B")) + (its-defrule (concat(car CSZ) "r1") (concat (cdr CSZ) "(0%(Bn(0@(B")) + (its-defrule (concat(car CSZ) "r2") (concat (cdr CSZ) "(0&(Bn(0@(B")) + (its-defrule (concat(car CSZ) "r3") (concat (cdr CSZ) "(0'(Bn(0@(B")) + (its-defrule (concat(car CSZ) "r4") (concat (cdr CSZ) "(0((Bn(0@(B")) + (its-defrule (concat(car CSZ) "t") (concat (cdr CSZ) "eng(0@(B")) + (its-defrule (concat(car CSZ) "t1") (concat (cdr CSZ) "(0%(Bng(0@(B")) + (its-defrule (concat(car CSZ) "t2") (concat (cdr CSZ) "(0&(Bng(0@(B")) + (its-defrule (concat(car CSZ) "t3") (concat (cdr CSZ) "(0'(Bng(0@(B")) + (its-defrule (concat(car CSZ) "t4") (concat (cdr CSZ) "(0((Bng(0@(B")) + (its-defrule (concat(car CSZ) "i") (concat (cdr CSZ) "i(0@(B")) + (its-defrule (concat(car CSZ) "i1") (concat (cdr CSZ) "(0)@(B")) + (its-defrule (concat(car CSZ) "i2") (concat (cdr CSZ) "(0*@(B")) + (its-defrule (concat(car CSZ) "i3") (concat (cdr CSZ) "(0+@(B")) + (its-defrule (concat(car CSZ) "i4") (concat (cdr CSZ) "(0,@(B")) + (its-defrule (concat(car CSZ) "q") (concat (cdr CSZ) "ou(0@(B")) + (its-defrule (concat(car CSZ) "q1") (concat (cdr CSZ) "(0-(Bu(0@(B")) + (its-defrule (concat(car CSZ) "q2") (concat (cdr CSZ) "(0.(Bu(0@(B")) + (its-defrule (concat(car CSZ) "q3") (concat (cdr CSZ) "(0/(Bu(0@(B")) + (its-defrule (concat(car CSZ) "q4") (concat (cdr CSZ) "(00(Bu(0@(B")) + (its-defrule (concat(car CSZ) "u") (concat (cdr CSZ) "u(0@(B")) + (its-defrule (concat(car CSZ) "u1") (concat (cdr CSZ) "(01@(B")) + (its-defrule (concat(car CSZ) "u2") (concat (cdr CSZ) "(02@(B")) + (its-defrule (concat(car CSZ) "u3") (concat (cdr CSZ) "(03@(B")) + (its-defrule (concat(car CSZ) "u4") (concat (cdr CSZ) "(04@(B")) + (its-defrule (concat(car CSZ) "k") (concat (cdr CSZ) "uai(0@(B")) + (its-defrule (concat(car CSZ) "k1") (concat (cdr CSZ) "u(0!(Bi(0@(B")) + (its-defrule (concat(car CSZ) "k2") (concat (cdr CSZ) "u(0"(Bi(0@(B")) + (its-defrule (concat(car CSZ) "k3") (concat (cdr CSZ) "u(0#(Bi(0@(B")) + (its-defrule (concat(car CSZ) "k4") (concat (cdr CSZ) "u(0$(Bi(0@(B")) + (its-defrule (concat(car CSZ) "x") (concat (cdr CSZ) "uan(0@(B")) + (its-defrule (concat(car CSZ) "x1") (concat (cdr CSZ) "u(0!(Bn(0@(B")) + (its-defrule (concat(car CSZ) "x2") (concat (cdr CSZ) "u(0"(Bn(0@(B")) + (its-defrule (concat(car CSZ) "x3") (concat (cdr CSZ) "u(0#(Bn(0@(B")) + (its-defrule (concat(car CSZ) "x4") (concat (cdr CSZ) "u(0$(Bn(0@(B")) + (its-defrule (concat(car CSZ) "j") (concat (cdr CSZ) "uang(0@(B")) + (its-defrule (concat(car CSZ) "j1") (concat (cdr CSZ) "u(0!(Bng(0@(B")) + (its-defrule (concat(car CSZ) "j2") (concat (cdr CSZ) "u(0"(Bng(0@(B")) + (its-defrule (concat(car CSZ) "j3") (concat (cdr CSZ) "u(0#(Bng(0@(B")) + (its-defrule (concat(car CSZ) "j4") (concat (cdr CSZ) "u(0$(Bng(0@(B")) + (its-defrule (concat(car CSZ) "c") (concat (cdr CSZ) "ui(0@(B")) + (its-defrule (concat(car CSZ) "c1") (concat (cdr CSZ) "u(0)@(B")) + (its-defrule (concat(car CSZ) "c2") (concat (cdr CSZ) "u(0*@(B")) + (its-defrule (concat(car CSZ) "c3") (concat (cdr CSZ) "u(0+@(B")) + (its-defrule (concat(car CSZ) "c4") (concat (cdr CSZ) "u(0,@(B")) + (its-defrule (concat(car CSZ) "z") (concat (cdr CSZ) "un(0@(B")) + (its-defrule (concat(car CSZ) "z1") (concat (cdr CSZ) "(01(Bn(0@(B")) + (its-defrule (concat(car CSZ) "z2") (concat (cdr CSZ) "(02(Bn(0@(B")) + (its-defrule (concat(car CSZ) "z3") (concat (cdr CSZ) "(03(Bn(0@(B")) + (its-defrule (concat(car CSZ) "z4") (concat (cdr CSZ) "(04(Bn(0@(B")) + (its-defrule (concat(car CSZ) "o") (concat (cdr CSZ) "uo(0@(B")) + (its-defrule (concat(car CSZ) "o1") (concat (cdr CSZ) "u(0-@(B")) + (its-defrule (concat(car CSZ) "o2") (concat (cdr CSZ) "u(0.@(B")) + (its-defrule (concat(car CSZ) "o3") (concat (cdr CSZ) "u(0/@(B")) + (its-defrule (concat(car CSZ) "o4") (concat (cdr CSZ) "u(00@(B"))) + +(its-defrule "oa" "a(0@(B") +(its-defrule "oa1" "(0!@(B") +(its-defrule "oa2" "(0"@(B") +(its-defrule "oa3" "(0#@(B") +(its-defrule "oa4" "(0$@(B") +(its-defrule "os" "ai(0@(B") +(its-defrule "os1" "(0!(Bi(0@(B") +(its-defrule "os2" "(0"(Bi(0@(B") +(its-defrule "os3" "(0#(Bi(0@(B") +(its-defrule "os4" "(0$(Bi(0@(B") +(its-defrule "of" "an(0@(B") +(its-defrule "of1" "(0!(Bn(0@(B") +(its-defrule "of2" "(0"(Bn(0@(B") +(its-defrule "of3" "(0#(Bn(0@(B") +(its-defrule "of4" "(0$(Bn(0@(B") +(its-defrule "og" "ang(0@(B") +(its-defrule "og1" "(0!(Bng(0@(B") +(its-defrule "og2" "(0"(Bng(0@(B") +(its-defrule "og3" "(0#(Bng(0@(B") +(its-defrule "og4" "(0$(Bng(0@(B") +(its-defrule "od" "ao(0@(B") +(its-defrule "od1" "(0!(Bo(0@(B") +(its-defrule "od2" "(0"(Bo(0@(B") +(its-defrule "od3" "(0#(Bo(0@(B") +(its-defrule "od4" "(0$(Bo(0@(B") +(its-defrule "ib" "Chong(0@(B") +(its-defrule "ib1" "Ch(0-(Bng(0@(B") +(its-defrule "ib2" "Ch(0.(Bng(0@(B") +(its-defrule "ib3" "Ch(0/(Bng(0@(B") +(its-defrule "ib4" "Ch(00(Bng(0@(B") +(its-defrule "oe" "e(0@(B") +(its-defrule "oe1" "(0%@(B") +(its-defrule "oe2" "(0&@(B") +(its-defrule "oe3" "(0'@(B") +(its-defrule "oe4" "(0(@(B") +(its-defrule "ow" "ei(0@(B") +(its-defrule "ow1" "(0%(Bi(0@(B") +(its-defrule "ow2" "(0&(Bi(0@(B") +(its-defrule "ow3" "(0'(Bi(0@(B") +(its-defrule "ow4" "(0((Bi(0@(B") +(its-defrule "or" "en(0@(B") +(its-defrule "or1" "(0%(Bn(0@(B") +(its-defrule "or2" "(0&(Bn(0@(B") +(its-defrule "or3" "(0'(Bn(0@(B") +(its-defrule "or4" "(0((Bn(0@(B") +;(its-defrule "ot" "eng(0@(B") +;(its-defrule "ot1" "(0%(Bng(0@(B") +;(its-defrule "ot2" "(0&(Bng(0@(B") +;(its-defrule "ot3" "(0'(Bng(0@(B") +;(its-defrule "ot4" "(0((Bng(0@(B") +(its-defrule "oy" "er(0@(B") +(its-defrule "oy1" "(0%(Br(0@(B") +(its-defrule "oy2" "(0&(Br(0@(B") +(its-defrule "oy3" "(0'(Br(0@(B") +(its-defrule "oy4" "(0((Br(0@(B") +(its-defrule "er" "er(0@(B") +(its-defrule "er1" "(0%(Br(0@(B") +(its-defrule "er2" "(0&(Br(0@(B") +(its-defrule "er3" "(0'(Br(0@(B") +(its-defrule "er4" "(0((Br(0@(B") +(its-defrule "oo" "o(0@(B") +(its-defrule "oo1" "(0-@(B") +(its-defrule "oo2" "(0.@(B") +(its-defrule "oo3" "(0/@(B") +(its-defrule "oo4" "(00@(B") +(its-defrule "oq" "ou(0@(B") +(its-defrule "oq1" "(0-(Bu(0@(B") +(its-defrule "oq2" "(0.(Bu(0@(B") +(its-defrule "oq3" "(0/(Bu(0@(B") +(its-defrule "oq4" "(00(Bu(0@(B") +(its-defrule "uw" "Shei(0@(B") +(its-defrule "uw1" "Sh(0%(Bi(0@(B") +(its-defrule "uw2" "Sh(0&(Bi(0@(B") +(its-defrule "uw3" "Sh(0'(Bi(0@(B") +(its-defrule "uw4" "Sh(0((Bi(0@(B") +(its-defrule "up" "Shua(0@(B") +(its-defrule "up1" "Shu(0!@(B") +(its-defrule "up2" "Shu(0"@(B") +(its-defrule "up3" "Shu(0#@(B") +(its-defrule "up4" "Shu(0$@(B") +(its-defrule "vw" "Zhei(0@(B") +(its-defrule "vw1" "Zh(0%(Bi(0@(B") +(its-defrule "vw2" "Zh(0&(Bi(0@(B") +(its-defrule "vw3" "Zh(0'(Bi(0@(B") +(its-defrule "vw4" "Zh(0((Bi(0@(B") +(its-defrule "vb" "Zhong(0@(B") +(its-defrule "vb1" "Zh(0-(Bng(0@(B") +(its-defrule "vb2" "Zh(0.(Bng(0@(B") +(its-defrule "vb3" "Zh(0/(Bng(0@(B") +(its-defrule "vb4" "Zh(00(Bng(0@(B") +(its-defrule "vp" "Zhua(0@(B") +(its-defrule "vp1" "Zhu(0!@(B") +(its-defrule "vp2" "Zhu(0"@(B") +(its-defrule "vp3" "Zhu(0#@(B") +(its-defrule "vp4" "Zhu(0$@(B") + +;;;; -----------Special PinYin------------- +;(its-defrule "hm" "Hm(0@(B") +(its-defrule "hng" "Hng(0@(B") +(its-defrule "ng " "ng(0@(B") +(its-defrule "om" "m(0@(B") +(its-defrule "on" "n(0@(B") + +(its-defrule "b " "$A2;(B") +(its-defrule "c " "$A2E(B") +(its-defrule "ch " "$A3v(B") +(its-defrule "d " "$A5D(B") +(its-defrule "f " "$A74(B") +(its-defrule "g " "$A8v(B") +(its-defrule "h " "$A:M(B") +(its-defrule "i " "$AR;(B") +(its-defrule "j " "$A>M(B") +(its-defrule "k " "$A?I(B") +(its-defrule "l " "$AAK(B") +(its-defrule "m " "$AC?(B") +(its-defrule "n " "$ADj(B") +(its-defrule "p " "$AEz(B") +(its-defrule "q " "$AH%(B") +(its-defrule "r " "$AHU(B") +(its-defrule "s " "$AJG(B") +(its-defrule "sh " "$AIO(B") +(its-defrule "t " "$AK{(B") +(its-defrule "w " "$ANR(B") +(its-defrule "x " "$AOr(B") +(its-defrule "y " "$ASV(B") +(its-defrule "z " "$ATZ(B") +(its-defrule "zh " "$AWE(B") + +(its-defrule "," "$A#,(B") +(its-defrule "." "$A!#(B") +(its-defrule ":" "$A#:(B") +(its-defrule ";" "$A#;(B") +(its-defrule "/" "$A!"(B") +(its-defrule "?" "$A#?(B") +(its-defrule "!" "$A#!(B") +(its-defrule "[" "$A!0(B") +(its-defrule "]" "$A!1(B") +(its-defrule "{" "$A!.(B") +(its-defrule "}" "$A!/(B") +(its-defrule "-" "$A!*(B") +(its-defrule "(" "$A#((B") +(its-defrule ")" "$A#)(B") +(its-defrule "<" "$A!6(B") +(its-defrule ">" "$A!7(B") +(its-defrule "#" "$A!-(B") diff -urN emacs-19.34.orig/lisp/its/han-kata.el emacs-19.34/lisp/its/han-kata.el --- emacs-19.34.orig/lisp/its/han-kata.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/its/han-kata.el Mon May 10 09:31:59 1999 @@ -22,7 +22,14 @@ (require 'jisx0201) +(defun its:select-hankaku-katakana () (interactive) (its:select-mode "roma-han-kata")) +(define-key mule-keymap "x" 'its:select-hankaku-katakana) +(define-key fence-mode-map "\e\C-x" 'its:select-hankaku-katakana) + +(if (boundp 'WNN) + (its-define-mode "roma-han-kata" "(I1'(B" t nil nil 'jserver) (its-define-mode "roma-han-kata" "(I1'(B" t) +) (dolist (aa '("k" "s" "t" "h" "y" "r" "w" "g" "z" "d" "b" "p" "c" "f" "j" "v")) @@ -259,10 +266,3 @@ (its-defrule (concat zenkaku-escape ",") "$B!$(B") (its-defrule (concat zenkaku-escape ".") "$B!%(B") - -(defun its:select-hankaku-katakana () - (interactive) - (its:select-mode "roma-han-kata")) - -(define-key mule-keymap "x" 'its:select-hankaku-katakana) -(define-key fence-mode-map "\e\C-x" 'its:select-hankaku-katakana) diff -urN emacs-19.34.orig/lisp/its/hangul.el emacs-19.34/lisp/its/hangul.el --- emacs-19.34.orig/lisp/its/hangul.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/its/hangul.el Mon May 10 09:31:59 1999 @@ -23,7 +23,7 @@ ;(load "its-hanhira" t t) -(its-define-mode "hangul" "HG" t) +;(its-define-mode "hangul" "HG" t) ;(reset-its-mode "hangul") ; ;(setq its:*current-map* (its:get-mode-map "hangul")) @@ -48,6 +48,15 @@ ; (setq default-kanji-fileio-code-find-file-not-found 2) ;) +(defun its:select-hangul () (interactive) (its:select-mode "hangul")) +(define-key mule-keymap "H" 'its:select-hangul) +(define-key fence-mode-map "\eH" 'its:select-hangul) + +(its-define-mode "hangul" "$(CGQ(B" t nil nil 'kserver) + +(its-defrule-select-mode-temporally "B" "downcase") +(its-defrule-select-mode-temporally "J" "jeonkak-downcase") + (let ((its:make-terminal-state 'its:make-terminal-state-hangul)) ;(its-defrule* "J" ''(its:select-mode "hangul-kana")) @@ -102,7 +111,7 @@ (its-defrule "Q" "$(C$3(B") (its-defrule "W" "$(C$9(B") (its-defrule "T" "$(C$6(B") -(its-defrule "P" "$(C$F(B") ;93.11.19 by K.Handa +;(its-defrule "P" "$(C$F(B") ;93.11.19 by K.Handa ;(its-defrule "k" "$(C$?(B") ;(its-defrule "i" "$(C$A(B") @@ -740,10 +749,10 @@ (its-defrule "Enp" "$(C6X(B") (its-defrule "Enl" "$(C6Y(B") (its-defrule "Enls" "$(C6Z(B") -(its-defrule "Enlsf" "$(C6[(B") -(its-defrule "Enlsa" "$(C6\(B") -(its-defrule "Enlsq" "$(C6](B") -(its-defrule "Enlsd" "$(C6^(B") +(its-defrule "Enlf" "$(C6[(B") +(its-defrule "Enla" "$(C6\(B") +(its-defrule "Enlq" "$(C6](B") +(its-defrule "Enld" "$(C6^(B") (its-defrule "Em" "$(C6_(B") (its-defrule "Emr" "$(C6`(B") (its-defrule "Ems" "$(C6a(B") @@ -1646,7 +1655,7 @@ (its-defrule "dbq" "$(C@4(B") (its-defrule "dbt" "$(C@5(B") (its-defrule "dbd" "$(C@6(B") -(its-defrule "dbg" "$(C@7(B") +(its-defrule "dbc" "$(C@7(B") (its-defrule "dm" "$(C@8(B") (its-defrule "dmr" "$(C@9(B") (its-defrule "dms" "$(C@:(B") @@ -1694,15 +1703,15 @@ (its-defrule "wkT" "$(C@d(B") (its-defrule "wkd" "$(C@e(B") (its-defrule "wkw" "$(C@f(B") -(its-defrule "O" "$(C@g(B") -(its-defrule "Or" "$(C@h(B") -(its-defrule "Os" "$(C@i(B") -(its-defrule "Of" "$(C@j(B") -(its-defrule "Oa" "$(C@k(B") -(its-defrule "Oq" "$(C@l(B") -(its-defrule "Ot" "$(C@m(B") -(its-defrule "OT" "$(C@n(B") -(its-defrule "Od" "$(C@o(B") +(its-defrule "wo" "$(C@g(B") +(its-defrule "wor" "$(C@h(B") +(its-defrule "wos" "$(C@i(B") +(its-defrule "wof" "$(C@j(B") +(its-defrule "woa" "$(C@k(B") +(its-defrule "woq" "$(C@l(B") +(its-defrule "wot" "$(C@m(B") +(its-defrule "woT" "$(C@n(B") +(its-defrule "wod" "$(C@o(B") (its-defrule "wi" "$(C@p(B") (its-defrule "wir" "$(C@q(B") (its-defrule "wis" "$(C@r(B") @@ -1764,9 +1773,9 @@ (its-defrule "whls" "$(CAL(B") (its-defrule "whlf" "$(CAM(B") (its-defrule "whla" "$(CAN(B") -(its-defrule "whlaq" "$(CAO(B") -(its-defrule "whlat" "$(CAP(B") -(its-defrule "whlad" "$(CAQ(B") +(its-defrule "whlq" "$(CAO(B") +(its-defrule "whlt" "$(CAP(B") +(its-defrule "whld" "$(CAQ(B") (its-defrule "wy" "$(CAR(B") (its-defrule "wyr" "$(CAS(B") (its-defrule "wys" "$(CAT(B") @@ -2078,6 +2087,7 @@ (its-defrule "zy" "$(CDl(B") (its-defrule "zn" "$(CDm(B") (its-defrule "znr" "$(CDn(B") +(its-defrule "zns" "$(CDo(B") (its-defrule "znf" "$(CDp(B") (its-defrule "zna" "$(CDq(B") (its-defrule "znq" "$(CDr(B") @@ -2225,7 +2235,7 @@ (its-defrule "vk" "$(CFD(B") (its-defrule "vkr" "$(CFE(B") (its-defrule "vkR" "$(CFF(B") -(its-defrule "vkrs" "$(CFG(B") +(its-defrule "vks" "$(CFG(B") (its-defrule "vkf" "$(CFH(B") (its-defrule "vkfa" "$(CFI(B") (its-defrule "vka" "$(CFJ(B") @@ -2248,10 +2258,11 @@ (its-defrule "vj" "$(CF[(B") (its-defrule "vjr" "$(CF\(B") (its-defrule "vjs" "$(CF](B") +(its-defrule "vjf" "$(CF^(B") (its-defrule "vja" "$(CF_(B") (its-defrule "vjq" "$(CF`(B") (its-defrule "vjt" "$(CFa(B") -(its-defrule "vjtT" "$(CFb(B") +(its-defrule "vjT" "$(CFb(B") (its-defrule "vjd" "$(CFc(B") (its-defrule "vp" "$(CFd(B") (its-defrule "vpr" "$(CFe(B") @@ -2468,3 +2479,23 @@ (its-defrule "glq" "$(CH|(B") (its-defrule "glt" "$(CH}(B") (its-defrule "gld" "$(CH~(B")) + +;;;; ----------- Special Characters ----------- + +(its-defrule "," "$(C#,(B") +(its-defrule "." "$(C#.(B") +(its-defrule ":" "$(C#:(B") +(its-defrule ";" "$(C#;(B") +(its-defrule "/" "$(C!$(B") +(its-defrule "?" "$(C#?(B") +(its-defrule "!" "$(C#!(B") +(its-defrule "[" "$(C!0(B") +(its-defrule "]" "$(C!1(B") +(its-defrule "{" "$(C!.(B") +(its-defrule "}" "$(C!/(B") +(its-defrule "-" "$(C#-(B") +(its-defrule "(" "$(C#((B") +(its-defrule ")" "$(C#)(B") +(its-defrule "<" "$(C!6(B") +(its-defrule ">" "$(C!7(B") +(its-defrule "#" "$(C!&(B") diff -urN emacs-19.34.orig/lisp/its/hankaku.el emacs-19.34/lisp/its/hankaku.el --- emacs-19.34.orig/lisp/its/hankaku.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/its/hankaku.el Mon May 10 09:31:59 1999 @@ -43,6 +43,9 @@ ;;;; ;;;; +(defun its:select-downcase () (interactive) (its:select-mode "downcase")) +(define-key mule-keymap "q" 'its:select-downcase) + ;; 92.3.16 by K.Handa ;;(define-its-mode "downcase" " a a" t) (its-define-mode "downcase" "aa" t) @@ -67,6 +70,10 @@ (if (and (<= ?a ch) (<= ch ?z)) (+ ?A (- ch ?a)) ch)) + +(defun its:select-upcase () (interactive) (its:select-mode "upcase")) +(define-key mule-keymap "Q" 'its:select-upcase) + ;; 92.3.16 by K.Handa ;;(define-its-mode "upcase" " a A" t) diff -urN emacs-19.34.orig/lisp/its/hira.el emacs-19.34/lisp/its/hira.el --- emacs-19.34.orig/lisp/its/hira.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/its/hira.el Mon May 10 09:31:59 1999 @@ -27,7 +27,16 @@ ;; 92.7.6 modified for Mule Ver.0.9.5 by K.Handa ;; New rules added. +(defun its:get-romakana-mode-map () (its:get-mode-map "roma-kana")) + +(defun its:select-hiragana () (interactive) (its:select-mode "roma-kana")) +(define-key mule-keymap "h" 'its:select-hiragana) +(define-key fence-mode-map "\e\C-h" 'its:select-hiragana) + +(if (boundp 'WNN) + (its-define-mode "roma-kana" "$B$"(B" t nil nil 'jserver) (its-define-mode "roma-kana" "$B$"(B" t) +) (its-defrule-select-mode-temporally "q" "downcase") (its-defrule-select-mode-temporally "Q" "zenkaku-downcase") diff -urN emacs-19.34.orig/lisp/its/jeonkak.el emacs-19.34/lisp/its/jeonkak.el --- emacs-19.34.orig/lisp/its/jeonkak.el Thu Jan 1 09:00:00 1970 +++ emacs-19.34/lisp/its/jeonkak.el Sat Jul 27 16:50:37 1996 @@ -0,0 +1,88 @@ +;; Basic Roma-to-Kana Translation Table for Egg +;; Coded by Y. Katayama, PFU ltd. (kate@pfu.co.jp) + +;; This file is part of Egg on Nemacs (Japanese Environment) + +;; Egg is distributed in the forms of patches to GNU +;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC +;; LICENSE which is distributed along with GNU Emacs by the +;; Free Software Foundation. + +;; 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 EMACS GENERAL PUBLIC LICENSE for +;; more details. + +;; You should have received a copy of the GNU EMACS GENERAL +;; PUBLIC LICENSE along with Nemacs; see the file COPYING. +;; If not, write to the Free Software Foundation, 675 Mass +;; Ave, Cambridge, MA 02139, USA. + +(defun its:select-jeonkak-downcase () (interactive) (its:select-mode "jeonkak-downcase")) +(define-key mule-keymap "j" 'its:select-jeonkak-downcase) +(define-key fence-mode-map "\ej" 'its:select-jeonkak-downcase) + +(its-define-mode "jeonkak-downcase" "$(C#a(B" t nil nil 'kserver) + +(mapcar (lambda (pair) (its-defrule (car pair) (cdr pair))) + '((" " . "$(C!!(B") ("!" . "$(C#!(B") ("\"". "$(C#"(B") ("#" . "$(C##(B") ("$" . "$(C#$(B") + ("%" . "$(C#%(B") ("&" . "$(C#&(B") ("'" . "$(C#'(B") ("(" . "$(C#((B") (")" . "$(C#)(B") + ("*" . "$(C#*(B") ("+" . "$(C#+(B") ("," . "$(C#,(B") ("-" . "$(C#-(B") ("." . "$(C#.(B") + ("/" . "$(C#/(B") + ("0" . "$(C#0(B") ("1" . "$(C#1(B") ("2" . "$(C#2(B") ("3" . "$(C#3(B") ("4" . "$(C#4(B") + ("5" . "$(C#5(B") ("6" . "$(C#6(B") ("7" . "$(C#7(B") ("8" . "$(C#8(B") ("9" . "$(C#9(B") + (":" . "$(C#:(B") (";" . "$(C#;(B") ("<" . "$(C#<(B") ("=" . "$(C#=(B") (">" . "$(C#>(B") + ("?" . "$(C#?(B") + ("@" . "$(C#@(B") + ("A" . "$(C#A(B") ("B" . "$(C#B(B") ("C" . "$(C#C(B") ("D" . "$(C#D(B") ("E" . "$(C#E(B") + ("F" . "$(C#F(B") ("G" . "$(C#G(B") ("H" . "$(C#H(B") ("I" . "$(C#I(B") ("J" . "$(C#J(B") + ("K" . "$(C#K(B") ("L" . "$(C#L(B") ("M" . "$(C#M(B") ("N" . "$(C#N(B") ("O" . "$(C#O(B") + ("P" . "$(C#P(B") ("Q" . "$(C#Q(B") ("R" . "$(C#R(B") ("S" . "$(C#S(B") ("T" . "$(C#T(B") + ("U" . "$(C#U(B") ("V" . "$(C#V(B") ("W" . "$(C#W(B") ("X" . "$(C#X(B") ("Y" . "$(C#Y(B") + ("Z" . "$(C#Z(B") + ("[" . "$(C#[(B") ("\\". "$(C#\(B") ("]" . "$(C#](B") ("^" . "$(C#^(B") ("_" . "$(C#_(B") + ("`" . "$(C#`(B") + ("a" . "$(C#a(B") ("b" . "$(C#b(B") ("c" . "$(C#c(B") ("d" . "$(C#d(B") ("e" . "$(C#e(B") + ("f" . "$(C#f(B") ("g" . "$(C#g(B") ("h" . "$(C#h(B") ("i" . "$(C#i(B") ("j" . "$(C#j(B") + ("k" . "$(C#k(B") ("l" . "$(C#l(B") ("m" . "$(C#m(B") ("n" . "$(C#n(B") ("o" . "$(C#o(B") + ("p" . "$(C#p(B") ("q" . "$(C#q(B") ("r" . "$(C#r(B") ("s" . "$(C#s(B") ("t" . "$(C#t(B") + ("u" . "$(C#u(B") ("v" . "$(C#v(B") ("w" . "$(C#w(B") ("x" . "$(C#x(B") ("y" . "$(C#y(B") + ("z" . "$(C#z(B") + ("{" . "$(C#{(B") ("|" . "$(C#|(B") ("}" . "$(C#}(B") ("~" . "$(C#~(B"))) + +;;; +;;; +;;; + +(defun its:select-jeonkak-upcase () (interactive) (its:select-mode "jeonkak-upcase")) +(define-key mule-keymap "J" 'its:select-jeonkak-upcase) +(define-key fence-mode-map "\eJ" 'its:select-jeonkak-upcase) + +(its-define-mode "jeonkak-upcase" "$(C#A(B" t nil nil 'kserver) + +(mapcar (lambda (pair) (its-defrule (car pair) (cdr pair))) + '((" " . "$(C!!(B") ("!" . "$(C#!(B") ("\"". "$(C#"(B") ("#" . "$(C##(B") ("$" . "$(C#$(B") + ("%" . "$(C#%(B") ("&" . "$(C#&(B") ("'" . "$(C#'(B") ("(" . "$(C#((B") (")" . "$(C#)(B") + ("*" . "$(C#*(B") ("+" . "$(C#+(B") ("," . "$(C#,(B") ("-" . "$(C#-(B") ("." . "$(C#.(B") + ("/" . "$(C#/(B") + ("0" . "$(C#0(B") ("1" . "$(C#1(B") ("2" . "$(C#2(B") ("3" . "$(C#3(B") ("4" . "$(C#4(B") + ("5" . "$(C#5(B") ("6" . "$(C#6(B") ("7" . "$(C#7(B") ("8" . "$(C#8(B") ("9" . "$(C#9(B") + (":" . "$(C#:(B") (";" . "$(C#;(B") ("<" . "$(C#<(B") ("=" . "$(C#=(B") (">" . "$(C#>(B") + ("?" . "$(C#?(B") + ("@" . "$(C#@(B") + ("A" . "$(C#A(B") ("B" . "$(C#B(B") ("C" . "$(C#C(B") ("D" . "$(C#D(B") ("E" . "$(C#E(B") + ("F" . "$(C#F(B") ("G" . "$(C#G(B") ("H" . "$(C#H(B") ("I" . "$(C#I(B") ("J" . "$(C#J(B") + ("K" . "$(C#K(B") ("L" . "$(C#L(B") ("M" . "$(C#M(B") ("N" . "$(C#N(B") ("O" . "$(C#O(B") + ("P" . "$(C#P(B") ("Q" . "$(C#Q(B") ("R" . "$(C#R(B") ("S" . "$(C#S(B") ("T" . "$(C#T(B") + ("U" . "$(C#U(B") ("V" . "$(C#V(B") ("W" . "$(C#W(B") ("X" . "$(C#X(B") ("Y" . "$(C#Y(B") + ("Z" . "$(C#Z(B") + ("[" . "$(C#[(B") ("\\". "$(C#\(B") ("]" . "$(C#](B") ("^" . "$(C#^(B") ("_" . "$(C#_(B") + ("`" . "$(C#`(B") + ("a" . "$(C#A(B") ("b" . "$(C#B(B") ("c" . "$(C#C(B") ("d" . "$(C#D(B") ("e" . "$(C#E(B") + ("f" . "$(C#F(B") ("g" . "$(C#G(B") ("h" . "$(C#H(B") ("i" . "$(C#I(B") ("j" . "$(C#J(B") + ("k" . "$(C#K(B") ("l" . "$(C#L(B") ("m" . "$(C#M(B") ("n" . "$(C#N(B") ("o" . "$(C#O(B") + ("p" . "$(C#P(B") ("q" . "$(C#Q(B") ("r" . "$(C#R(B") ("s" . "$(C#S(B") ("t" . "$(C#T(B") + ("u" . "$(C#U(B") ("v" . "$(C#V(B") ("w" . "$(C#W(B") ("x" . "$(C#X(B") ("y" . "$(C#Y(B") + ("z" . "$(C#Z(B") + ("{" . "$(C#{(B") ("|" . "$(C#|(B") ("}" . "$(C#}(B") ("~" . "$(C#~(B"))) diff -urN emacs-19.34.orig/lisp/its/kanainput.el emacs-19.34/lisp/its/kanainput.el --- emacs-19.34.orig/lisp/its/kanainput.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/its/kanainput.el Mon May 10 09:31:59 1999 @@ -64,7 +64,15 @@ ;; $B4JC1$N$?$aI=%Y!<%9$K$7$?!#(B ;; +(defun its:select-kanainput () (interactive) (its:select-mode "kanainput")) +(define-key mule-keymap "K" 'its:select-kanainput) +(define-key fence-mode-map "\eK" 'its:select-kanainput) + +(if (boundp 'WNN) + (its-define-mode "kanainput" "$B$+(B" t nil nil 'jserver) (its-define-mode "kanainput" "$B$+(B" t) +) + (defvar k-zenkaku-escape "Q") ; $BA43QF~NO$N(B prefix (defvar k-hankaku-escape "A") ; $BH>3QF~NO$N(B prefix (defvar k-symbols-escape "S") ; $B5-9fF~NO$N(B prefix diff -urN emacs-19.34.orig/lisp/its/kata.el emacs-19.34/lisp/its/kata.el --- emacs-19.34.orig/lisp/its/kata.el Mon May 10 09:29:58 1999 +++ emacs-19.34/lisp/its/kata.el Mon May 10 09:31:59 1999 @@ -26,9 +26,16 @@ ;; 92.3.23 modified for Mule Ver.0.9.1 by K.Handa ;; defrule -> its-defrule, define-its-mode -> its-define-mode +(defun its:select-katakana () (interactive) (its:select-mode "roma-kata")) +(define-key mule-keymap "k" 'its:select-katakana) +(define-key fence-mode-map "\e\C-k" 'its:select-katakana) + +(if (boundp 'WNN) + (its-define-mode "roma-kata" "$B%"(B" t nil nil 'jserver) ;; 92.3.16 by K.Handa ;;(define-its-mode "roma-kata" " a$B%"(B" t) (its-define-mode "roma-kata" "$B%"(B" t) +) (dolist (aa '("k" "s" "t" "h" "y" "r" "w" "g" "z" "d" "b" "p" "c" "f" "j" "v")) diff -urN emacs-19.34.orig/lisp/its/pinyin.el emacs-19.34/lisp/its/pinyin.el --- emacs-19.34.orig/lisp/its/pinyin.el Mon May 10 09:29:58 1999 +++ emacs-19.34/lisp/its/pinyin.el Mon May 10 09:31:59 1999 @@ -1,134 +1,163 @@ ;; Basic PinYin Translation Table for Egg+Takana+cWnn ;; Coded by Hiroshi Kuribayashi (kuri@nff.ncl.omron.co.jp) -(its-define-mode "PinYin" "$AF4(B" t) +(defun its:select-pinyin () (interactive) (its:select-mode "pinyin")) +(define-key mule-keymap "\C-p" 'its:select-pinyin) +(define-key fence-mode-map "\ep" 'its:select-pinyin) + +(its-define-mode "pinyin" "$AF4(B" t nil nil 'cserver (lambda () (setq cwnn-zhuyin nil))) + +(its-defrule-select-mode-temporally "B" "downcase") +(its-defrule-select-mode-temporally "Q" "quanjiao-downcase") (dolist (A '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "s" "t" "w" "y" "z")) (its-defrule (concat A "a") (concat (upcase A) "a(0@(B")) + (its-defrule (concat A "a ") (concat (upcase A) "a(0@(B")) (its-defrule (concat A "a1") (concat (upcase A) "(0!@(B")) (its-defrule (concat A "a2") (concat (upcase A) "(0"@(B")) (its-defrule (concat A "a3") (concat (upcase A) "(0#@(B")) (its-defrule (concat A "a4") (concat (upcase A) "(0$@(B"))) (dolist (AI '("b" "c" "d" "g" "h" "k" "l" "m" "n" "p" "s" "t" "w" "z")) (its-defrule (concat AI "ai") (concat (upcase AI) "ai(0@(B")) + (its-defrule (concat AI "ai ") (concat (upcase AI) "ai(0@(B")) (its-defrule (concat AI "ai1") (concat (upcase AI) "(0!(Bi(0@(B")) (its-defrule (concat AI "ai2") (concat (upcase AI) "(0"(Bi(0@(B")) (its-defrule (concat AI "ai3") (concat (upcase AI) "(0#(Bi(0@(B")) (its-defrule (concat AI "ai4") (concat (upcase AI) "(0$(Bi(0@(B"))) (dolist (AN '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "w" "y" "z")) ;ANG (its-defrule (concat AN "ang") (concat (upcase AN) "ang(0@(B")) + (its-defrule (concat AN "ang ") (concat (upcase AN) "ang(0@(B")) (its-defrule (concat AN "ang1") (concat (upcase AN) "(0!(Bng(0@(B")) (its-defrule (concat AN "ang2") (concat (upcase AN) "(0"(Bng(0@(B")) (its-defrule (concat AN "ang3") (concat (upcase AN) "(0#(Bng(0@(B")) (its-defrule (concat AN "ang4") (concat (upcase AN) "(0$(Bng(0@(B")) (its-defrule (concat AN "an") (concat (upcase AN) "an(0@(B")) + (its-defrule (concat AN "an ") (concat (upcase AN) "an(0@(B")) (its-defrule (concat AN "an1") (concat (upcase AN) "(0!(Bn(0@(B")) (its-defrule (concat AN "an2") (concat (upcase AN) "(0"(Bn(0@(B")) (its-defrule (concat AN "an3") (concat (upcase AN) "(0#(Bn(0@(B")) (its-defrule (concat AN "an4") (concat (upcase AN) "(0$(Bn(0@(B"))) (dolist (AO '("b" "c" "d" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "w" "y" "z")) (its-defrule (concat AO "ao") (concat (upcase AO) "ao(0@(B")) + (its-defrule (concat AO "ao ") (concat (upcase AO) "ao(0@(B")) (its-defrule (concat AO "ao1") (concat (upcase AO) "(0!(Bo(0@(B")) (its-defrule (concat AO "ao2") (concat (upcase AO) "(0"(Bo(0@(B")) (its-defrule (concat AO "ao3") (concat (upcase AO) "(0#(Bo(0@(B")) (its-defrule (concat AO "ao4") (concat (upcase AO) "(0$(Bo(0@(B"))) (dolist (E '("c" "d" "g" "h" "k" "l" "m" "n" "r" "s" "t" "y" "z")) (its-defrule (concat E "e") (concat (upcase E) "e(0@(B")) + (its-defrule (concat E "e ") (concat (upcase E) "e(0@(B")) (its-defrule (concat E "e1") (concat (upcase E) "(0%@(B")) (its-defrule (concat E "e2") (concat (upcase E) "(0&@(B")) (its-defrule (concat E "e3") (concat (upcase E) "(0'@(B")) (its-defrule (concat E "e4") (concat (upcase E) "(0(@(B"))) (dolist (EI '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "t" "w" "z")) (its-defrule (concat EI "ei") (concat (upcase EI) "ei(0@(B")) + (its-defrule (concat EI "ei ") (concat (upcase EI) "ei(0@(B")) (its-defrule (concat EI "ei1") (concat (upcase EI) "(0%(Bi(0@(B")) (its-defrule (concat EI "ei2") (concat (upcase EI) "(0&(Bi(0@(B")) (its-defrule (concat EI "ei3") (concat (upcase EI) "(0'(Bi(0@(B")) (its-defrule (concat EI "ei4") (concat (upcase EI) "(0((Bi(0@(B"))) (dolist (EN '("b" "c" "f" "g" "h" "k" "m" "n" "p" "r" "s" "w" "z")) ;den (its-defrule (concat EN "en") (concat (upcase EN) "en(0@(B")) + (its-defrule (concat EN "en ") (concat (upcase EN) "en(0@(B")) (its-defrule (concat EN "en1") (concat (upcase EN) "(0%(Bn(0@(B")) (its-defrule (concat EN "en2") (concat (upcase EN) "(0&(Bn(0@(B")) (its-defrule (concat EN "en3") (concat (upcase EN) "(0'(Bn(0@(B")) (its-defrule (concat EN "en4") (concat (upcase EN) "(0((Bn(0@(B"))) (dolist (ENG '("b" "c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "w" "z")) (its-defrule (concat ENG "eng") (concat (upcase ENG) "eng(0@(B")) + (its-defrule (concat ENG "eng ") (concat (upcase ENG) "eng(0@(B")) (its-defrule (concat ENG "eng1") (concat (upcase ENG) "(0%(Bng(0@(B")) (its-defrule (concat ENG "eng2") (concat (upcase ENG) "(0&(Bng(0@(B")) (its-defrule (concat ENG "eng3") (concat (upcase ENG) "(0'(Bng(0@(B")) (its-defrule (concat ENG "eng4") (concat (upcase ENG) "(0((Bng(0@(B"))) (dolist (I '("b" "c" "d" "j" "l" "m" "n" "p" "q" "r" "s" "t" "x" "y" "z")) (its-defrule (concat I "i") (concat (upcase I) "i(0@(B")) + (its-defrule (concat I "i ") (concat (upcase I) "i(0@(B")) (its-defrule (concat I "i1") (concat (upcase I) "(0)@(B")) (its-defrule (concat I "i2") (concat (upcase I) "(0*@(B")) (its-defrule (concat I "i3") (concat (upcase I) "(0+@(B")) (its-defrule (concat I "i4") (concat (upcase I) "(0,@(B"))) (dolist (IA '("d" "j" "l" "q" "x")) ;nia (its-defrule (concat IA "ia") (concat (upcase IA) "ia(0@(B")) + (its-defrule (concat IA "ia ") (concat (upcase IA) "ia(0@(B")) (its-defrule (concat IA "ia1") (concat (upcase IA) "i(0!@(B")) (its-defrule (concat IA "ia2") (concat (upcase IA) "i(0"@(B")) (its-defrule (concat IA "ia3") (concat (upcase IA) "i(0#@(B")) (its-defrule (concat IA "ia4") (concat (upcase IA) "i(0$@(B"))) (dolist (IAN '("b" "d" "j" "l" "m" "n" "p" "q" "t" "x")) (its-defrule (concat IAN "ian") (concat (upcase IAN) "ian(0@(B")) + (its-defrule (concat IAN "ian ") (concat (upcase IAN) "ian(0@(B")) (its-defrule (concat IAN "ian1") (concat (upcase IAN) "i(0!(Bn(0@(B")) (its-defrule (concat IAN "ian2") (concat (upcase IAN) "i(0"(Bn(0@(B")) (its-defrule (concat IAN "ian3") (concat (upcase IAN) "i(0#(Bn(0@(B")) (its-defrule (concat IAN "ian4") (concat (upcase IAN) "i(0$(Bn(0@(B"))) (dolist (IANG '("j" "l" "n" "q" "x")) (its-defrule (concat IANG "iang") (concat (upcase IANG) "iang(0@(B")) + (its-defrule (concat IANG "iang ") (concat (upcase IANG) "iang(0@(B")) (its-defrule (concat IANG "iang1") (concat (upcase IANG) "i(0!(Bng(0@(B")) (its-defrule (concat IANG "iang2") (concat (upcase IANG) "i(0"(Bng(0@(B")) (its-defrule (concat IANG "iang3") (concat (upcase IANG) "i(0#(Bng(0@(B")) (its-defrule (concat IANG "iang4") (concat (upcase IANG) "i(0$(Bng(0@(B"))) (dolist (IAO '("b" "d" "j" "l" "m" "n" "p" "q" "t" "x")) ;IE (its-defrule (concat IAO "iao") (concat (upcase IAO) "iao(0@(B")) + (its-defrule (concat IAO "iao ") (concat (upcase IAO) "iao(0@(B")) (its-defrule (concat IAO "iao1") (concat (upcase IAO) "i(0!(Bo(0@(B")) (its-defrule (concat IAO "iao2") (concat (upcase IAO) "i(0"(Bo(0@(B")) (its-defrule (concat IAO "iao3") (concat (upcase IAO) "i(0#(Bo(0@(B")) (its-defrule (concat IAO "iao4") (concat (upcase IAO) "i(0$(Bo(0@(B")) (its-defrule (concat IAO "ie") (concat (upcase IAO) "ie(0@(B")) + (its-defrule (concat IAO "ie ") (concat (upcase IAO) "ie(0@(B")) (its-defrule (concat IAO "ie1") (concat (upcase IAO) "i(0%@(B")) (its-defrule (concat IAO "ie2") (concat (upcase IAO) "i(0&@(B")) (its-defrule (concat IAO "ie3") (concat (upcase IAO) "i(0'@(B")) (its-defrule (concat IAO "ie4") (concat (upcase IAO) "i(0(@(B"))) (dolist (IN '("b" "j" "l" "m" "n" "p" "q" "x" "y")) (its-defrule (concat IN "in") (concat (upcase IN) "in(0@(B")) + (its-defrule (concat IN "in ") (concat (upcase IN) "in(0@(B")) (its-defrule (concat IN "in1") (concat (upcase IN) "(0)(Bn(0@(B")) (its-defrule (concat IN "in2") (concat (upcase IN) "(0*(Bn(0@(B")) (its-defrule (concat IN "in3") (concat (upcase IN) "(0+(Bn(0@(B")) (its-defrule (concat IN "in4") (concat (upcase IN) "(0,(Bn(0@(B"))) (dolist (ING '("b" "d" "j" "l" "m" "n" "p" "q" "t" "x" "y")) (its-defrule (concat ING "ing") (concat (upcase ING) "ing(0@(B")) + (its-defrule (concat ING "ing ") (concat (upcase ING) "ing(0@(B")) (its-defrule (concat ING "ing1") (concat (upcase ING) "(0)(Bng(0@(B")) (its-defrule (concat ING "ing2") (concat (upcase ING) "(0*(Bng(0@(B")) (its-defrule (concat ING "ing3") (concat (upcase ING) "(0+(Bng(0@(B")) (its-defrule (concat ING "ing4") (concat (upcase ING) "(0,(Bng(0@(B"))) (dolist (IONG '("j" "q" "x")) (its-defrule (concat IONG "iong") (concat (upcase IONG) "iong(0@(B")) + (its-defrule (concat IONG "iong ") (concat (upcase IONG) "iong(0@(B")) (its-defrule (concat IONG "iong1") (concat (upcase IONG) "i(0-(Bng(0@(B")) (its-defrule (concat IONG "iong2") (concat (upcase IONG) "i(0.(Bng(0@(B")) (its-defrule (concat IONG "iong3") (concat (upcase IONG) "i(0/(Bng(0@(B")) (its-defrule (concat IONG "iong4") (concat (upcase IONG) "i(00(Bng(0@(B"))) (dolist (IU '("d" "j" "l" "m" "n" "q" "x")) (its-defrule (concat IU "iu") (concat (upcase IU) "iu(0@(B")) + (its-defrule (concat IU "iu ") (concat (upcase IU) "iu(0@(B")) (its-defrule (concat IU "iu1") (concat (upcase IU) "i(01@(B")) (its-defrule (concat IU "iu2") (concat (upcase IU) "i(02@(B")) (its-defrule (concat IU "iu3") (concat (upcase IU) "i(03@(B")) (its-defrule (concat IU "iu4") (concat (upcase IU) "i(04@(B"))) (dolist (O '("b" "f" "l" "m" "p" "w" "y")) (its-defrule (concat O "o") (concat (upcase O) "o(0@(B")) + (its-defrule (concat O "o ") (concat (upcase O) "o(0@(B")) (its-defrule (concat O "o1") (concat (upcase O) "(0-@(B")) (its-defrule (concat O "o2") (concat (upcase O) "(0.@(B")) (its-defrule (concat O "o3") (concat (upcase O) "(0/@(B")) (its-defrule (concat O "o4") (concat (upcase O) "(00@(B"))) (dolist (ONG '("c" "d" "g" "h" "k" "l" "n" "r" "s" "t" "y" "z")) (its-defrule (concat ONG "ong") (concat (upcase ONG) "ong(0@(B")) + (its-defrule (concat ONG "ong ") (concat (upcase ONG) "ong(0@(B")) (its-defrule (concat ONG "ong1") (concat (upcase ONG) "(0-(Bng(0@(B")) (its-defrule (concat ONG "ong2") (concat (upcase ONG) "(0.(Bng(0@(B")) (its-defrule (concat ONG "ong3") (concat (upcase ONG) "(0/(Bng(0@(B")) (its-defrule (concat ONG "ong4") (concat (upcase ONG) "(00(Bng(0@(B"))) (dolist (OU '("c" "d" "f" "g" "h" "k" "l" "m" "n" "p" "r" "s" "t" "y" "z")) (its-defrule (concat OU "ou") (concat (upcase OU) "ou(0@(B")) + (its-defrule (concat OU "ou ") (concat (upcase OU) "ou(0@(B")) (its-defrule (concat OU "ou1") (concat (upcase OU) "(0-(Bu(0@(B")) (its-defrule (concat OU "ou2") (concat (upcase OU) "(0.(Bu(0@(B")) (its-defrule (concat OU "ou3") (concat (upcase OU) "(0/(Bu(0@(B")) @@ -140,66 +169,77 @@ (its-defrule (concat U "3") (concat (upcase U) "3(0@(B")) (its-defrule (concat U "4") (concat (upcase U) "4(0@(B")) (its-defrule (concat U "u") (concat (upcase U) "u(0@(B")) + (its-defrule (concat U "u ") (concat (upcase U) "u(0@(B")) (its-defrule (concat U "u1") (concat (upcase U) "(01@(B")) (its-defrule (concat U "u2") (concat (upcase U) "(02@(B")) (its-defrule (concat U "u3") (concat (upcase U) "(03@(B")) (its-defrule (concat U "u4") (concat (upcase U) "(04@(B"))) (dolist (V '("l" "n")) (its-defrule (concat V "v") (concat (upcase V) "(09@(B")) + (its-defrule (concat V "v ") (concat (upcase V) "(09@(B")) (its-defrule (concat V "v1") (concat (upcase V) "(05@(B")) (its-defrule (concat V "v2") (concat (upcase V) "(06@(B")) (its-defrule (concat V "v3") (concat (upcase V) "(07@(B")) (its-defrule (concat V "v4") (concat (upcase V) "(08@(B"))) (dolist (UA '("g" "h" "k" "r")) ;chua; (its-defrule (concat UA "ua") (concat (upcase UA) "ua(0@(B")) + (its-defrule (concat UA "ua ") (concat (upcase UA) "ua(0@(B")) (its-defrule (concat UA "ua1") (concat (upcase UA) "u(0!@(B")) (its-defrule (concat UA "ua2") (concat (upcase UA) "u(0"@(B")) (its-defrule (concat UA "ua3") (concat (upcase UA) "u(0#@(B")) (its-defrule (concat UA "ua4") (concat (upcase UA) "u(0$@(B"))) (dolist (UAI '("g" "h" "k")) (its-defrule (concat UAI "uai") (concat (upcase UAI) "uai(0@(B")) + (its-defrule (concat UAI "uai ") (concat (upcase UAI) "uai(0@(B")) (its-defrule (concat UAI "uai1") (concat (upcase UAI) "u(0!(Bi(0@(B")) (its-defrule (concat UAI "uai2") (concat (upcase UAI) "u(0"(Bi(0@(B")) (its-defrule (concat UAI "uai3") (concat (upcase UAI) "u(0#(Bi(0@(B")) (its-defrule (concat UAI "uai4") (concat (upcase UAI) "u(0$(Bi(0@(B"))) (dolist (UAN '("c" "d" "g" "h" "j" "k" "l" "n" "q" "r" "s" "t" "x" "y" "z")) (its-defrule (concat UAN "uan") (concat (upcase UAN) "uan(0@(B")) + (its-defrule (concat UAN "uan ") (concat (upcase UAN) "uan(0@(B")) (its-defrule (concat UAN "uan1") (concat (upcase UAN) "u(0!(Bn(0@(B")) (its-defrule (concat UAN "uan2") (concat (upcase UAN) "u(0"(Bn(0@(B")) (its-defrule (concat UAN "uan3") (concat (upcase UAN) "u(0#(Bn(0@(B")) (its-defrule (concat UAN "uan4") (concat (upcase UAN) "u(0$(Bn(0@(B"))) (dolist (UANG '("g" "h" "k")) (its-defrule (concat UANG "uang") (concat (upcase UANG) "uang(0@(B")) + (its-defrule (concat UANG "uang ") (concat (upcase UANG) "uang(0@(B")) (its-defrule (concat UANG "uang1") (concat (upcase UANG) "u(0!(Bng(0@(B")) (its-defrule (concat UANG "uang2") (concat (upcase UANG) "u(0"(Bng(0@(B")) (its-defrule (concat UANG "uang3") (concat (upcase UANG) "u(0#(Bng(0@(B")) (its-defrule (concat UANG "uang4") (concat (upcase UANG) "u(0$(Bng(0@(B"))) (dolist (UE '("j" "q" "x" "y")) (its-defrule (concat UE "ue") (concat (upcase UE) "ue(0@(B")) + (its-defrule (concat UE "ue ") (concat (upcase UE) "ue(0@(B")) (its-defrule (concat UE "ue1") (concat (upcase UE) "u(0%@(B")) (its-defrule (concat UE "ue2") (concat (upcase UE) "u(0&@(B")) (its-defrule (concat UE "ue3") (concat (upcase UE) "u(0'@(B")) (its-defrule (concat UE "ue4") (concat (upcase UE) "u(0(@(B"))) (dolist (VE '("l" "n")) (its-defrule (concat VE "ve") (concat (upcase VE) "(09(Be(0@(B")) + (its-defrule (concat VE "ve ") (concat (upcase VE) "(09(Be(0@(B")) (its-defrule (concat VE "ve1") (concat (upcase VE) "(09%@(B")) (its-defrule (concat VE "ve2") (concat (upcase VE) "(09&@(B")) (its-defrule (concat VE "ve3") (concat (upcase VE) "(09'@(B")) (its-defrule (concat VE "ve4") (concat (upcase VE) "(09(@(B"))) (dolist (UI '("c" "d" "g" "h" "k" "r" "s" "t" "z")) (its-defrule (concat UI "ui") (concat (upcase UI) "ui(0@(B")) + (its-defrule (concat UI "ui ") (concat (upcase UI) "ui(0@(B")) (its-defrule (concat UI "ui1") (concat (upcase UI) "u(0)@(B")) (its-defrule (concat UI "ui2") (concat (upcase UI) "u(0*@(B")) (its-defrule (concat UI "ui3") (concat (upcase UI) "u(0+@(B")) (its-defrule (concat UI "ui4") (concat (upcase UI) "u(0,@(B"))) (dolist (UN '("c" "d" "g" "h" "j" "k" "l" "q" "r" "s" "t" "x" "y" "z")) (its-defrule (concat UN "un") (concat (upcase UN) "un(0@(B")) + (its-defrule (concat UN "un ") (concat (upcase UN) "un(0@(B")) (its-defrule (concat UN "un1") (concat (upcase UN) "(01(Bn(0@(B")) (its-defrule (concat UN "un2") (concat (upcase UN) "(02(Bn(0@(B")) (its-defrule (concat UN "un3") (concat (upcase UN) "(03(Bn(0@(B")) (its-defrule (concat UN "un4") (concat (upcase UN) "(04(Bn(0@(B"))) (dolist (UO '("c" "d" "g" "h" "k" "l" "n" "r" "s" "t" "z")) (its-defrule (concat UO "uo") (concat (upcase UO) "uo(0@(B")) + (its-defrule (concat UO "uo ") (concat (upcase UO) "uo(0@(B")) (its-defrule (concat UO "uo1") (concat (upcase UO) "u(0-@(B")) (its-defrule (concat UO "uo2") (concat (upcase UO) "u(0.@(B")) (its-defrule (concat UO "uo3") (concat (upcase UO) "u(0/@(B")) @@ -211,31 +251,37 @@ ; (its-defrule (concat CSZ "h3") (concat (upcase CSZ) "h3(0@(B")) ; (its-defrule (concat CSZ "h4") (concat (upcase CSZ) "h4(0@(B")) (its-defrule (concat CSZ "ha") (concat (upcase CSZ) "ha(0@(B")) + (its-defrule (concat CSZ "ha ") (concat (upcase CSZ) "ha(0@(B")) (its-defrule (concat CSZ "ha1") (concat (upcase CSZ) "h(0!@(B")) (its-defrule (concat CSZ "ha2") (concat (upcase CSZ) "h(0"@(B")) (its-defrule (concat CSZ "ha3") (concat (upcase CSZ) "h(0#@(B")) (its-defrule (concat CSZ "ha4") (concat (upcase CSZ) "h(0$@(B")) (its-defrule (concat CSZ "hai") (concat (upcase CSZ) "hai(0@(B")) + (its-defrule (concat CSZ "hai ") (concat (upcase CSZ) "hai(0@(B")) (its-defrule (concat CSZ "hai1") (concat (upcase CSZ) "h(0!(Bi(0@(B")) (its-defrule (concat CSZ "hai2") (concat (upcase CSZ) "h(0"(Bi(0@(B")) (its-defrule (concat CSZ "hai3") (concat (upcase CSZ) "h(0#(Bi(0@(B")) (its-defrule (concat CSZ "hai4") (concat (upcase CSZ) "h(0$(Bi(0@(B")) (its-defrule (concat CSZ "han") (concat (upcase CSZ) "han(0@(B")) + (its-defrule (concat CSZ "han ") (concat (upcase CSZ) "han(0@(B")) (its-defrule (concat CSZ "han1") (concat (upcase CSZ) "h(0!(Bn(0@(B")) (its-defrule (concat CSZ "han2") (concat (upcase CSZ) "h(0"(Bn(0@(B")) (its-defrule (concat CSZ "han3") (concat (upcase CSZ) "h(0#(Bn(0@(B")) (its-defrule (concat CSZ "han4") (concat (upcase CSZ) "h(0$(Bn(0@(B")) (its-defrule (concat CSZ "hang") (concat (upcase CSZ) "hang(0@(B")) + (its-defrule (concat CSZ "hang ") (concat (upcase CSZ) "hang(0@(B")) (its-defrule (concat CSZ "hang1") (concat (upcase CSZ) "h(0!(Bng(0@(B")) (its-defrule (concat CSZ "hang2") (concat (upcase CSZ) "h(0"(Bng(0@(B")) (its-defrule (concat CSZ "hang3") (concat (upcase CSZ) "h(0#(Bng(0@(B")) (its-defrule (concat CSZ "hang4") (concat (upcase CSZ) "h(0$(Bng(0@(B")) (its-defrule (concat CSZ "hao") (concat (upcase CSZ) "hao(0@(B")) + (its-defrule (concat CSZ "hao ") (concat (upcase CSZ) "hao(0@(B")) (its-defrule (concat CSZ "hao1") (concat (upcase CSZ) "h(0!(Bo(0@(B")) (its-defrule (concat CSZ "hao2") (concat (upcase CSZ) "h(0"(Bo(0@(B")) (its-defrule (concat CSZ "hao3") (concat (upcase CSZ) "h(0#(Bo(0@(B")) (its-defrule (concat CSZ "hao4") (concat (upcase CSZ) "h(0$(Bo(0@(B")) (its-defrule (concat CSZ "he") (concat (upcase CSZ) "he(0@(B")) + (its-defrule (concat CSZ "he ") (concat (upcase CSZ) "he(0@(B")) (its-defrule (concat CSZ "he1") (concat (upcase CSZ) "h(0%@(B")) (its-defrule (concat CSZ "he2") (concat (upcase CSZ) "h(0&@(B")) (its-defrule (concat CSZ "he3") (concat (upcase CSZ) "h(0'@(B")) @@ -246,149 +292,278 @@ (its-defrule (concat CSZ "hen3") (concat (upcase CSZ) "h(0'(Bn(0@(B")) (its-defrule (concat CSZ "hen4") (concat (upcase CSZ) "h(0((Bn(0@(B")) (its-defrule (concat CSZ "heng") (concat (upcase CSZ) "heng(0@(B")) + (its-defrule (concat CSZ "heng ") (concat (upcase CSZ) "heng(0@(B")) (its-defrule (concat CSZ "heng1") (concat (upcase CSZ) "h(0%(Bng(0@(B")) (its-defrule (concat CSZ "heng2") (concat (upcase CSZ) "h(0&(Bng(0@(B")) (its-defrule (concat CSZ "heng3") (concat (upcase CSZ) "h(0'(Bng(0@(B")) (its-defrule (concat CSZ "heng4") (concat (upcase CSZ) "h(0((Bng(0@(B")) (its-defrule (concat CSZ "hi") (concat (upcase CSZ) "hi(0@(B")) + (its-defrule (concat CSZ "hi ") (concat (upcase CSZ) "hi(0@(B")) (its-defrule (concat CSZ "hi1") (concat (upcase CSZ) "h(0)@(B")) (its-defrule (concat CSZ "hi2") (concat (upcase CSZ) "h(0*@(B")) (its-defrule (concat CSZ "hi3") (concat (upcase CSZ) "h(0+@(B")) (its-defrule (concat CSZ "hi4") (concat (upcase CSZ) "h(0,@(B")) (its-defrule (concat CSZ "hou") (concat (upcase CSZ) "hou(0@(B")) + (its-defrule (concat CSZ "hou ") (concat (upcase CSZ) "hou(0@(B")) (its-defrule (concat CSZ "hou1") (concat (upcase CSZ) "h(0-(Bu(0@(B")) (its-defrule (concat CSZ "hou2") (concat (upcase CSZ) "h(0.(Bu(0@(B")) (its-defrule (concat CSZ "hou3") (concat (upcase CSZ) "h(0/(Bu(0@(B")) (its-defrule (concat CSZ "hou4") (concat (upcase CSZ) "h(00(Bu(0@(B")) (its-defrule (concat CSZ "hu") (concat (upcase CSZ) "hu(0@(B")) + (its-defrule (concat CSZ "hu ") (concat (upcase CSZ) "hu(0@(B")) (its-defrule (concat CSZ "hu1") (concat (upcase CSZ) "h(01@(B")) (its-defrule (concat CSZ "hu2") (concat (upcase CSZ) "h(02@(B")) (its-defrule (concat CSZ "hu3") (concat (upcase CSZ) "h(03@(B")) (its-defrule (concat CSZ "hu4") (concat (upcase CSZ) "h(04@(B")) (its-defrule (concat CSZ "huai") (concat (upcase CSZ) "huai(0@(B")) + (its-defrule (concat CSZ "huai ") (concat (upcase CSZ) "huai(0@(B")) (its-defrule (concat CSZ "huai1") (concat (upcase CSZ) "hu(0!(Bi(0@(B")) (its-defrule (concat CSZ "huai2") (concat (upcase CSZ) "hu(0"(Bi(0@(B")) (its-defrule (concat CSZ "huai3") (concat (upcase CSZ) "hu(0#(Bi(0@(B")) (its-defrule (concat CSZ "huai4") (concat (upcase CSZ) "hu(0$(Bi(0@(B")) (its-defrule (concat CSZ "huan") (concat (upcase CSZ) "huan(0@(B")) + (its-defrule (concat CSZ "huan ") (concat (upcase CSZ) "huan(0@(B")) (its-defrule (concat CSZ "huan1") (concat (upcase CSZ) "hu(0!(Bn(0@(B")) (its-defrule (concat CSZ "huan2") (concat (upcase CSZ) "hu(0"(Bn(0@(B")) (its-defrule (concat CSZ "huan3") (concat (upcase CSZ) "hu(0#(Bn(0@(B")) (its-defrule (concat CSZ "huan4") (concat (upcase CSZ) "hu(0$(Bn(0@(B")) (its-defrule (concat CSZ "huang") (concat (upcase CSZ) "huang(0@(B")) + (its-defrule (concat CSZ "huang ") (concat (upcase CSZ) "huang(0@(B")) (its-defrule (concat CSZ "huang1") (concat (upcase CSZ) "hu(0!(Bng(0@(B")) (its-defrule (concat CSZ "huang2") (concat (upcase CSZ) "hu(0"(Bng(0@(B")) (its-defrule (concat CSZ "huang3") (concat (upcase CSZ) "hu(0#(Bng(0@(B")) (its-defrule (concat CSZ "huang4") (concat (upcase CSZ) "hu(0$(Bng(0@(B")) (its-defrule (concat CSZ "hui") (concat (upcase CSZ) "hui(0@(B")) + (its-defrule (concat CSZ "hui ") (concat (upcase CSZ) "hui(0@(B")) (its-defrule (concat CSZ "hui1") (concat (upcase CSZ) "hu(0)@(B")) (its-defrule (concat CSZ "hui2") (concat (upcase CSZ) "hu(0*@(B")) (its-defrule (concat CSZ "hui3") (concat (upcase CSZ) "hu(0+@(B")) (its-defrule (concat CSZ "hui4") (concat (upcase CSZ) "hu(0,@(B")) (its-defrule (concat CSZ "hun") (concat (upcase CSZ) "hun(0@(B")) + (its-defrule (concat CSZ "hun ") (concat (upcase CSZ) "hun(0@(B")) (its-defrule (concat CSZ "hun1") (concat (upcase CSZ) "h(01(Bn(0@(B")) (its-defrule (concat CSZ "hun2") (concat (upcase CSZ) "h(02(Bn(0@(B")) (its-defrule (concat CSZ "hun3") (concat (upcase CSZ) "h(03(Bn(0@(B")) (its-defrule (concat CSZ "hun4") (concat (upcase CSZ) "h(04(Bn(0@(B")) (its-defrule (concat CSZ "huo") (concat (upcase CSZ) "huo(0@(B")) + (its-defrule (concat CSZ "huo ") (concat (upcase CSZ) "huo(0@(B")) (its-defrule (concat CSZ "huo1") (concat (upcase CSZ) "hu(0-@(B")) (its-defrule (concat CSZ "huo2") (concat (upcase CSZ) "hu(0.@(B")) (its-defrule (concat CSZ "huo3") (concat (upcase CSZ) "hu(0/@(B")) (its-defrule (concat CSZ "huo4") (concat (upcase CSZ) "hu(00@(B"))) (its-defrule "a" "a(0@(B") +(its-defrule "a " "a(0@(B") (its-defrule "a1" "(0!@(B") (its-defrule "a2" "(0"@(B") (its-defrule "a3" "(0#@(B") (its-defrule "a4" "(0$@(B") (its-defrule "ai" "ai(0@(B") +(its-defrule "ai " "ai(0@(B") (its-defrule "ai1" "(0!(Bi(0@(B") (its-defrule "ai2" "(0"(Bi(0@(B") (its-defrule "ai3" "(0#(Bi(0@(B") (its-defrule "ai4" "(0$(Bi(0@(B") (its-defrule "an" "an(0@(B") +(its-defrule "an " "an(0@(B") (its-defrule "an1" "(0!(Bn(0@(B") (its-defrule "an2" "(0"(Bn(0@(B") (its-defrule "an3" "(0#(Bn(0@(B") (its-defrule "an4" "(0$(Bn(0@(B") (its-defrule "ang" "ang(0@(B") +(its-defrule "ang " "ang(0@(B") (its-defrule "ang1" "(0!(Bng(0@(B") (its-defrule "ang2" "(0"(Bng(0@(B") (its-defrule "ang3" "(0#(Bng(0@(B") (its-defrule "ang4" "(0$(Bng(0@(B") (its-defrule "ao" "ao(0@(B") +(its-defrule "ao " "ao(0@(B") (its-defrule "ao1" "(0!(Bo(0@(B") (its-defrule "ao2" "(0"(Bo(0@(B") (its-defrule "ao3" "(0#(Bo(0@(B") (its-defrule "ao4" "(0$(Bo(0@(B") (its-defrule "chong" "Chong(0@(B") +(its-defrule "chong " "Chong(0@(B") (its-defrule "chong1" "Ch(0-(Bng(0@(B") (its-defrule "chong2" "Ch(0.(Bng(0@(B") (its-defrule "chong3" "Ch(0/(Bng(0@(B") (its-defrule "chong4" "Ch(00(Bng(0@(B") (its-defrule "e" "e(0@(B") +(its-defrule "e " "e(0@(B") (its-defrule "e1" "(0%@(B") (its-defrule "e2" "(0&@(B") (its-defrule "e3" "(0'@(B") (its-defrule "e4" "(0(@(B") (its-defrule "ei" "ei(0@(B") +(its-defrule "ei " "ei(0@(B") (its-defrule "ei1" "(0%(Bi(0@(B") (its-defrule "ei2" "(0&(Bi(0@(B") (its-defrule "ei3" "(0'(Bi(0@(B") (its-defrule "ei4" "(0((Bi(0@(B") (its-defrule "en" "en(0@(B") +(its-defrule "en " "en(0@(B") (its-defrule "en1" "(0%(Bn(0@(B") (its-defrule "en2" "(0&(Bn(0@(B") (its-defrule "en3" "(0'(Bn(0@(B") (its-defrule "en4" "(0((Bn(0@(B") ;(its-defrule "eng" "eng(0@(B") +;(its-defrule "eng " "eng(0@(B") ;(its-defrule "eng1" "(0%(Bng(0@(B") ;(its-defrule "eng2" "(0&(Bng(0@(B") ;(its-defrule "eng3" "(0'(Bng(0@(B") ;(its-defrule "eng4" "(0((Bng(0@(B") (its-defrule "er" "er(0@(B") +(its-defrule "er " "er(0@(B") (its-defrule "er1" "(0%(Br(0@(B") (its-defrule "er2" "(0&(Br(0@(B") (its-defrule "er3" "(0'(Br(0@(B") (its-defrule "er4" "(0((Br(0@(B") (its-defrule "o" "o(0@(B") +(its-defrule "o " "o(0@(B") (its-defrule "o1" "(0-@(B") (its-defrule "o2" "(0.@(B") (its-defrule "o3" "(0/@(B") (its-defrule "o4" "(00@(B") (its-defrule "ou" "ou(0@(B") +(its-defrule "ou " "ou(0@(B") (its-defrule "ou1" "(0-(Bu(0@(B") (its-defrule "ou2" "(0.(Bu(0@(B") (its-defrule "ou3" "(0/(Bu(0@(B") (its-defrule "ou4" "(00(Bu(0@(B") (its-defrule "shei" "Shei(0@(B") +(its-defrule "shei " "Shei(0@(B") (its-defrule "shei1" "Sh(0%(Bi(0@(B") (its-defrule "shei2" "Sh(0&(Bi(0@(B") (its-defrule "shei3" "Sh(0'(Bi(0@(B") (its-defrule "shei4" "Sh(0((Bi(0@(B") (its-defrule "shua" "Shua(0@(B") +(its-defrule "shua " "Shua(0@(B") (its-defrule "shua1" "Shu(0!@(B") (its-defrule "shua2" "Shu(0"@(B") (its-defrule "shua3" "Shu(0#@(B") (its-defrule "shua4" "Shu(0$@(B") (its-defrule "zhei" "Zhei(0@(B") +(its-defrule "zhei " "Zhei(0@(B") (its-defrule "zhei1" "Zh(0%(Bi(0@(B") (its-defrule "zhei2" "Zh(0&(Bi(0@(B") (its-defrule "zhei3" "Zh(0'(Bi(0@(B") (its-defrule "zhei4" "Zh(0((Bi(0@(B") (its-defrule "zhong" "Zhong(0@(B") +(its-defrule "zhong " "Zhong(0@(B") (its-defrule "zhong1" "Zh(0-(Bng(0@(B") (its-defrule "zhong2" "Zh(0.(Bng(0@(B") (its-defrule "zhong3" "Zh(0/(Bng(0@(B") (its-defrule "zhong4" "Zh(00(Bng(0@(B") (its-defrule "zhua" "Zhua(0@(B") +(its-defrule "zhua " "Zhua(0@(B") (its-defrule "zhua1" "Zhu(0!@(B") (its-defrule "zhua2" "Zhu(0"@(B") (its-defrule "zhua3" "Zhu(0#@(B") (its-defrule "zhua4" "Zhu(0$@(B") + +;;;; ----------- 2P_RongCuo ----------- +;(dolist (JQX '("j" "q" "x")) +; (its-defrule (concat JQX "a") (concat (upcase JQX) "ia(0@(B")) +; (its-defrule (concat JQX "a ") (concat (upcase JQX) "ia(0@(B")) +; (its-defrule (concat JQX "a1") (concat (upcase JQX) "i(0!@(B")) +; (its-defrule (concat JQX "a2") (concat (upcase JQX) "i(0"@(B")) +; (its-defrule (concat JQX "a3") (concat (upcase JQX) "i(0#@(B")) +; (its-defrule (concat JQX "a4") (concat (upcase JQX) "i(0$@(B")) +; (its-defrule (concat JQX "an") (concat (upcase JQX) "ian(0@(B")) +; (its-defrule (concat JQX "an ") (concat (upcase JQX) "ian(0@(B")) +; (its-defrule (concat JQX "an1") (concat (upcase JQX) "i(0!(Bn(0@(B")) +; (its-defrule (concat JQX "an2") (concat (upcase JQX) "i(0"(Bn(0@(B")) +; (its-defrule (concat JQX "an3") (concat (upcase JQX) "i(0#(Bn(0@(B")) +; (its-defrule (concat JQX "an4") (concat (upcase JQX) "i(0$(Bn(0@(B")) +; (its-defrule (concat JQX "ang") (concat (upcase JQX) "iang(0@(B")) +; (its-defrule (concat JQX "ang ") (concat (upcase JQX) "iang(0@(B")) +; (its-defrule (concat JQX "ang1") (concat (upcase JQX) "i(0!(Bng(0@(B")) +; (its-defrule (concat JQX "ang2") (concat (upcase JQX) "i(0"(Bng(0@(B")) +; (its-defrule (concat JQX "ang3") (concat (upcase JQX) "i(0#(Bng(0@(B")) +; (its-defrule (concat JQX "ang4") (concat (upcase JQX) "i(0$(Bng(0@(B")) +; (its-defrule (concat JQX "ao") (concat (upcase JQX) "iao(0@(B")) +; (its-defrule (concat JQX "ao ") (concat (upcase JQX) "iao(0@(B")) +; (its-defrule (concat JQX "ao1") (concat (upcase JQX) "i(0!(Bo(0@(B")) +; (its-defrule (concat JQX "ao2") (concat (upcase JQX) "i(0"(Bo(0@(B")) +; (its-defrule (concat JQX "ao3") (concat (upcase JQX) "i(0#(Bo(0@(B")) +; (its-defrule (concat JQX "ao4") (concat (upcase JQX) "i(0$(Bo(0@(B")) +; (its-defrule (concat JQX "e") (concat (upcase JQX) "ie(0@(B")) +; (its-defrule (concat JQX "e ") (concat (upcase JQX) "ie(0@(B")) +; (its-defrule (concat JQX "e1") (concat (upcase JQX) "i(0%@(B")) +; (its-defrule (concat JQX "e2") (concat (upcase JQX) "i(0&@(B")) +; (its-defrule (concat JQX "e3") (concat (upcase JQX) "i(0'@(B")) +; (its-defrule (concat JQX "e4") (concat (upcase JQX) "i(0(@(B")) +; (its-defrule (concat JQX "ei") (concat (upcase JQX) "ie(0@(B")) +; (its-defrule (concat JQX "ei ") (concat (upcase JQX) "ie(0@(B")) +; (its-defrule (concat JQX "ei1") (concat (upcase JQX) "i(0%@(B")) +; (its-defrule (concat JQX "ei2") (concat (upcase JQX) "i(0&@(B")) +; (its-defrule (concat JQX "ei3") (concat (upcase JQX) "i(0'@(B")) +; (its-defrule (concat JQX "ei4") (concat (upcase JQX) "i(0(@(B")) +; (its-defrule (concat JQX "en") (concat (upcase JQX) "in(0@(B")) +; (its-defrule (concat JQX "en ") (concat (upcase JQX) "in(0@(B")) +; (its-defrule (concat JQX "en1") (concat (upcase JQX) "(0)(Bn(0@(B")) +; (its-defrule (concat JQX "en2") (concat (upcase JQX) "(0*(Bn(0@(B")) +; (its-defrule (concat JQX "en3") (concat (upcase JQX) "(0+(Bn(0@(B")) +; (its-defrule (concat JQX "en4") (concat (upcase JQX) "(0,(Bn(0@(B")) +; (its-defrule (concat JQX "eng") (concat (upcase JQX) "ing(0@(B")) +; (its-defrule (concat JQX "eng ") (concat (upcase JQX) "ing(0@(B")) +; (its-defrule (concat JQX "eng1") (concat (upcase JQX) "(0)(Bng(0@(B")) +; (its-defrule (concat JQX "eng2") (concat (upcase JQX) "(0*(Bng(0@(B")) +; (its-defrule (concat JQX "eng3") (concat (upcase JQX) "(0+(Bng(0@(B")) +; (its-defrule (concat JQX "eng4") (concat (upcase JQX) "(0,(Bng(0@(B")) +; (its-defrule (concat JQX "ou") (concat (upcase JQX) "iu(0@(B")) +; (its-defrule (concat JQX "ou ") (concat (upcase JQX) "iu(0@(B")) +; (its-defrule (concat JQX "ou1") (concat (upcase JQX) "i(01@(B")) +; (its-defrule (concat JQX "ou2") (concat (upcase JQX) "i(02@(B")) +; (its-defrule (concat JQX "ou3") (concat (upcase JQX) "i(03@(B")) +; (its-defrule (concat JQX "ou4") (concat (upcase JQX) "i(04@(B"))) + ;;;; -----------Special PinYin------------- ;(its-defrule "hm" "Hm(0@(B") (its-defrule "hng" "Hng(0@(B") (its-defrule "ng" "ng(0@(B") (its-defrule "m" "m(0@(B") (its-defrule "n" "n(0@(B") + +(its-defrule "b " "$A2;(B") +(its-defrule "c " "$A2E(B") +(its-defrule "ch " "$A3v(B") +(its-defrule "d " "$A5D(B") +(its-defrule "f " "$A74(B") +(its-defrule "g " "$A8v(B") +(its-defrule "h " "$A:M(B") +(its-defrule "i " "$AR;(B") +(its-defrule "j " "$A>M(B") +(its-defrule "k " "$A?I(B") +(its-defrule "l " "$AAK(B") +(its-defrule "m " "$AC?(B") +(its-defrule "n " "$ADj(B") +(its-defrule "p " "$AEz(B") +(its-defrule "q " "$AH%(B") +(its-defrule "r " "$AHU(B") +(its-defrule "s " "$AJG(B") +(its-defrule "sh " "$AIO(B") +(its-defrule "t " "$AK{(B") +(its-defrule "w " "$ANR(B") +(its-defrule "x " "$AOr(B") +(its-defrule "y " "$ASV(B") +(its-defrule "z " "$ATZ(B") +(its-defrule "zh " "$AWE(B") + +(its-defrule "," "$A#,(B") +(its-defrule "." "$A!#(B") +(its-defrule ":" "$A#:(B") +(its-defrule ";" "$A#;(B") +(its-defrule "/" "$A!"(B") +(its-defrule "?" "$A#?(B") +(its-defrule "!" "$A#!(B") +(its-defrule "[" "$A!0(B") +(its-defrule "]" "$A!1(B") +(its-defrule "{" "$A!.(B") +(its-defrule "}" "$A!/(B") +(its-defrule "-" "$A!*(B") +(its-defrule "(" "$A#((B") +(its-defrule ")" "$A#)(B") +(its-defrule "<" "$A!6(B") +(its-defrule ">" "$A!7(B") +(its-defrule "#" "$A!-(B") diff -urN emacs-19.34.orig/lisp/its/quanjiao.el emacs-19.34/lisp/its/quanjiao.el --- emacs-19.34.orig/lisp/its/quanjiao.el Thu Jan 1 09:00:00 1970 +++ emacs-19.34/lisp/its/quanjiao.el Sat Jul 27 16:46:55 1996 @@ -0,0 +1,88 @@ +;; Basic Roma-to-Kana Translation Table for Egg +;; Coded by S.Tomura, Electrotechnical Lab. (tomura@etl.go.jp) + +;; This file is part of Egg on Nemacs (Japanese Environment) + +;; Egg is distributed in the forms of patches to GNU +;; Emacs under the terms of the GNU EMACS GENERAL PUBLIC +;; LICENSE which is distributed along with GNU Emacs by the +;; Free Software Foundation. + +;; 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 EMACS GENERAL PUBLIC LICENSE for +;; more details. + +;; You should have received a copy of the GNU EMACS GENERAL +;; PUBLIC LICENSE along with Nemacs; see the file COPYING. +;; If not, write to the Free Software Foundation, 675 Mass +;; Ave, Cambridge, MA 02139, USA. + +(defun its:select-quanjiao-downcase () (interactive) (its:select-mode "quanjiao-downcase")) +(define-key mule-keymap "\C-d" 'its:select-quanjiao-downcase) +(define-key fence-mode-map "\eq" 'its:select-quanjiao-downcase) + +(its-define-mode "quanjiao-downcase" "$A#a(B" t nil nil 'cserver) + +(mapcar (lambda (pair) (its-defrule (car pair) (cdr pair))) + '((" " . "$A!!(B") ("!" . "$A#!(B") ("\"". "$A#"(B") ("#" . "$A##(B") ("$" . "$A#$(B") + ("%" . "$A#%(B") ("&" . "$A#&(B") ("'" . "$A#'(B") ("(" . "$A#((B") (")" . "$A#)(B") + ("*" . "$A#*(B") ("+" . "$A#+(B") ("," . "$A#,(B") ("-" . "$A#-(B") ("." . "$A#.(B") + ("/" . "$A#/(B") + ("0" . "$A#0(B") ("1" . "$A#1(B") ("2" . "$A#2(B") ("3" . "$A#3(B") ("4" . "$A#4(B") + ("5" . "$A#5(B") ("6" . "$A#6(B") ("7" . "$A#7(B") ("8" . "$A#8(B") ("9" . "$A#9(B") + (":" . "$A#:(B") (";" . "$A#;(B") ("<" . "$A#<(B") ("=" . "$A#=(B") (">" . "$A#>(B") + ("?" . "$A#?(B") + ("@" . "$A#@(B") + ("A" . "$A#A(B") ("B" . "$A#B(B") ("C" . "$A#C(B") ("D" . "$A#D(B") ("E" . "$A#E(B") + ("F" . "$A#F(B") ("G" . "$A#G(B") ("H" . "$A#H(B") ("I" . "$A#I(B") ("J" . "$A#J(B") + ("K" . "$A#K(B") ("L" . "$A#L(B") ("M" . "$A#M(B") ("N" . "$A#N(B") ("O" . "$A#O(B") + ("P" . "$A#P(B") ("Q" . "$A#Q(B") ("R" . "$A#R(B") ("S" . "$A#S(B") ("T" . "$A#T(B") + ("U" . "$A#U(B") ("V" . "$A#V(B") ("W" . "$A#W(B") ("X" . "$A#X(B") ("Y" . "$A#Y(B") + ("Z" . "$A#Z(B") + ("[" . "$A#[(B") ("\\". "$A#\(B") ("]" . "$A#](B") ("^" . "$A#^(B") ("_" . "$A#_(B") + ("`" . "$A#`(B") + ("a" . "$A#a(B") ("b" . "$A#b(B") ("c" . "$A#c(B") ("d" . "$A#d(B") ("e" . "$A#e(B") + ("f" . "$A#f(B") ("g" . "$A#g(B") ("h" . "$A#h(B") ("i" . "$A#i(B") ("j" . "$A#j(B") + ("k" . "$A#k(B") ("l" . "$A#l(B") ("m" . "$A#m(B") ("n" . "$A#n(B") ("o" . "$A#o(B") + ("p" . "$A#p(B") ("q" . "$A#q(B") ("r" . "$A#r(B") ("s" . "$A#s(B") ("t" . "$A#t(B") + ("u" . "$A#u(B") ("v" . "$A#v(B") ("w" . "$A#w(B") ("x" . "$A#x(B") ("y" . "$A#y(B") + ("z" . "$A#z(B") + ("{" . "$A#{(B") ("|" . "$A#|(B") ("}" . "$A#}(B") ("~" . "$A#~(B"))) + +;;; +;;; +;;; + +(defun its:select-quanjiao-upcase () (interactive) (its:select-mode "quanjiao-upcase")) +(define-key mule-keymap "\C-u" 'its:select-quanjiao-upcase) +(define-key fence-mode-map "\eQ" 'its:select-quanjiao-upcase) + +(its-define-mode "quanjiao-upcase" "$A#A(B" t nil nil 'cserver) + +(mapcar (lambda (pair) (its-defrule (car pair) (cdr pair))) + '((" " . "$A!!(B") ("!" . "$A#!(B") ("\"". "$A#"(B") ("#" . "$A##(B") ("$" . "$A#$(B") + ("%" . "$A#%(B") ("&" . "$A#&(B") ("'" . "$A#'(B") ("(" . "$A#((B") (")" . "$A#)(B") + ("*" . "$A#*(B") ("+" . "$A#+(B") ("," . "$A#,(B") ("-" . "$A#-(B") ("." . "$A#.(B") + ("/" . "$A#/(B") + ("0" . "$A#0(B") ("1" . "$A#1(B") ("2" . "$A#2(B") ("3" . "$A#3(B") ("4" . "$A#4(B") + ("5" . "$A#5(B") ("6" . "$A#6(B") ("7" . "$A#7(B") ("8" . "$A#8(B") ("9" . "$A#9(B") + (":" . "$A#:(B") (";" . "$A#;(B") ("<" . "$A#<(B") ("=" . "$A#=(B") (">" . "$A#>(B") + ("?" . "$A#?(B") + ("@" . "$A#@(B") + ("A" . "$A#A(B") ("B" . "$A#B(B") ("C" . "$A#C(B") ("D" . "$A#D(B") ("E" . "$A#E(B") + ("F" . "$A#F(B") ("G" . "$A#G(B") ("H" . "$A#H(B") ("I" . "$A#I(B") ("J" . "$A#J(B") + ("K" . "$A#K(B") ("L" . "$A#L(B") ("M" . "$A#M(B") ("N" . "$A#N(B") ("O" . "$A#O(B") + ("P" . "$A#P(B") ("Q" . "$A#Q(B") ("R" . "$A#R(B") ("S" . "$A#S(B") ("T" . "$A#T(B") + ("U" . "$A#U(B") ("V" . "$A#V(B") ("W" . "$A#W(B") ("X" . "$A#X(B") ("Y" . "$A#Y(B") + ("Z" . "$A#Z(B") + ("[" . "$A#[(B") ("\\". "$A#\(B") ("]" . "$A#](B") ("^" . "$A#^(B") ("_" . "$A#_(B") + ("`" . "$A#`(B") + ("a" . "$A#A(B") ("b" . "$A#B(B") ("c" . "$A#C(B") ("d" . "$A#D(B") ("e" . "$A#E(B") + ("f" . "$A#F(B") ("g" . "$A#G(B") ("h" . "$A#H(B") ("i" . "$A#I(B") ("j" . "$A#J(B") + ("k" . "$A#K(B") ("l" . "$A#L(B") ("m" . "$A#M(B") ("n" . "$A#N(B") ("o" . "$A#O(B") + ("p" . "$A#P(B") ("q" . "$A#Q(B") ("r" . "$A#R(B") ("s" . "$A#S(B") ("t" . "$A#T(B") + ("u" . "$A#U(B") ("v" . "$A#V(B") ("w" . "$A#W(B") ("x" . "$A#X(B") ("y" . "$A#Y(B") + ("z" . "$A#Z(B") + ("{" . "$A#{(B") ("|" . "$A#|(B") ("}" . "$A#}(B") ("~" . "$A#~(B"))) diff -urN emacs-19.34.orig/lisp/its/zenkaku.el emacs-19.34/lisp/its/zenkaku.el --- emacs-19.34.orig/lisp/its/zenkaku.el Mon May 10 09:29:58 1999 +++ emacs-19.34/lisp/its/zenkaku.el Mon May 10 09:31:59 1999 @@ -26,9 +26,16 @@ ;;; by A.Tanaka ;;; Mode indicator of "zenkaku-upcase" fixed. +(defun its:select-zenkaku-downcase () (interactive) (its:select-mode "zenkaku-downcase")) +(define-key mule-keymap "z" 'its:select-zenkaku-downcase) +(define-key fence-mode-map "\ez" 'its:select-zenkaku-downcase) + +(if (boundp 'WNN) + (its-define-mode "zenkaku-downcase" "$B#a(B" t nil nil 'jserver) ;; 92.3.16 by K.Handa ;;(define-its-mode "zenkaku-downcase" " a$B#a(B" t) (its-define-mode "zenkaku-downcase" "$B#a(B" t) +) (its-defrule "0" "$B#0(B") (its-defrule "1" "$B#1(B") @@ -133,7 +140,14 @@ ;;; ;;; +(defun its:select-zenkaku-upcase () (interactive) (its:select-mode "zenkaku-upcase")) +(define-key mule-keymap "Z" 'its:select-zenkaku-upcase) +(define-key fence-mode-map "\eZ" 'its:select-zenkaku-upcase) + +(if (boundp 'WNN) + (its-define-mode "zenkaku-upcase" "$B#A(B" t nil nil 'jserver) (its-define-mode "zenkaku-upcase" "$B#A(B" t) ;92.12.31 by A.Tanaka +) (its-defrule "0" "$B#0(B") (its-defrule "1" "$B#1(B") diff -urN emacs-19.34.orig/lisp/its/zhuyin.el emacs-19.34/lisp/its/zhuyin.el --- emacs-19.34.orig/lisp/its/zhuyin.el Mon May 10 09:29:58 1999 +++ emacs-19.34/lisp/its/zhuyin.el Mon May 10 09:31:59 1999 @@ -6,7 +6,14 @@ ;; (0Z(B (0Y(B (0I(B (0H(B (0P(B (0O(B (0V(B (0N(B (0L(B (0W$A#;(B (0X$A#:(B $A!1!/(B ;; (0`(B (0h(B (0R(B (0M(B (0E(B (0K(B (0G(B (0S$A#,(B (0T$A!#(B (0U$A#?(B $A!"(B -(its-define-mode "zhuyin" "$AW"(B" t) +(defun its:select-zhuyin () (interactive) (its:select-mode "zhuyin")) +(define-key mule-keymap "\C-z" 'its:select-zhuyin) +(define-key fence-mode-map "\ez" 'its:select-zhuyin) + +(its-define-mode "zhuyin" "$AW"(B" t nil nil 'cserver (lambda () (setq cwnn-zhuyin t))) + +(its-defrule-select-mode-temporally "B" "downcase") +(its-defrule-select-mode-temporally "&" "quanjiao-downcase") (let ((its:make-terminal-state 'its:make-terminal-state-hangul)) diff -urN emacs-19.34.orig/lisp/jisx0201.el emacs-19.34/lisp/jisx0201.el --- emacs-19.34.orig/lisp/jisx0201.el Mon May 10 09:29:56 1999 +++ emacs-19.34/lisp/jisx0201.el Mon May 10 09:31:59 1999 @@ -281,4 +281,7 @@ (zenkaku-katakana-region egg:*region-start* egg:*region-end*) (hiragana-region egg:*region-start* egg:*region-end*)) +(if (boundp 'WNN) + (setq fence-mode-map (get-fence-mode-map 'jserver))) + (define-key fence-mode-map "\ex" 'fence-hankaku-katakana) diff -urN emacs-19.34.orig/lisp/mule-init.el emacs-19.34/lisp/mule-init.el --- emacs-19.34.orig/lisp/mule-init.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/mule-init.el Mon May 10 09:31:59 1999 @@ -163,13 +163,8 @@ (put *hz* 'pre-write-conversion 'gb2hz-region) ;; If you prefer QUAIL to EGG, please modify below as you wish. -(if (and (boundp 'EGG) (boundp 'WNN)) - (progn - (setq wnn-server-type 'cserver) - (load "its/pinyin") - (setq its:*standard-modes* - (cons (its:get-mode-map "PinYin") its:*standard-modes*)) - )) +(if (boundp 'WNN) + (load "its/Chinese")) ;; For QUAIL ;; Please add your own quail package if any. @@ -229,7 +224,7 @@ "CCL program to convert Big5 code to internal code.") (defun set-chinese-environment () - (load "chinese") + (require 'chinese) (setq *coding-category-iso-8-2* '*euc-china*) @@ -242,8 +237,7 @@ (setq display-coding-system '*euc-china*) (setq keyboard-coding-system '*euc-china*) - (if (boundp 'EGG) - (setq-default its:*current-map* (its:get-mode-map "PinYin"))) + (if (boundp 'WNN) (set-default-wnn-environment 'cserver)) (setq-default quail-current-package (assoc "py" quail-package-alist)) ) @@ -473,20 +467,9 @@ ;; EGG specific setup (if (boundp 'EGG) (progn - (setq wnn-server-type 'jserver) - (load "its/hira") - (load "its/kata") - (load "its/hankaku") - (load "its/zenkaku") - (setq its:*standard-modes* - (append - (list (its:get-mode-map "roma-kana") - (its:get-mode-map "roma-kata") - (its:get-mode-map "downcase") - (its:get-mode-map "upcase") - (its:get-mode-map "zenkaku-downcase") - (its:get-mode-map "zenkaku-upcase")) - its:*standard-modes*)))) + (load "its/Japanese") + (if (null (boundp 'WNN)) + (setq its:*current-map* (car its:*standard-modes*))))) (defun set-japanese-environment () (setq *coding-category-iso-8-2* '*euc-japan*) @@ -503,7 +486,9 @@ (set-default-file-coding-system '*junet*) (if (boundp 'EGG) - (setq-default its:*current-map* (its:get-mode-map "roma-kana"))) + (if (boundp 'WNN) + (set-default-wnn-environment 'jserver) + (setq-default its:*current-map* (car its:*standard-modes*)))) ;; ;; Shift-JIS code is the standard coding system under Japanese @@ -525,12 +510,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; EGG specific setup -;(if (boundp 'EGG) -; (progn -; (load "its-hangul") -; (setq its:*standard-modes* -; (cons (its:get-mode-map "hangul") its:*standard-modes*)) -; (setq-default its:*current-map* (its:get-mode-map "hangul")))) +(if (boundp 'WNN) + (load "its/Korean")) (add-hook 'quail-package-alist '("hangul" "quail/hangul")) (add-hook 'quail-package-alist '("hangul3" "quail/hangul3")) @@ -545,6 +526,8 @@ *coding-category-iso-8-1*)) (set-default-file-coding-system '*iso-2022-kr*) + + (if (boundp 'WNN) (set-default-wnn-environment 'kserver)) (setq-default quail-current-package (assoc "hangul" quail-package-alist)) ) diff -urN emacs-19.34.orig/lisp/sj3-egg.el emacs-19.34/lisp/sj3-egg.el --- emacs-19.34.orig/lisp/sj3-egg.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/sj3-egg.el Mon May 10 09:32:31 1999 @@ -585,6 +585,8 @@ (defconst egg:*henkan-open* "|" "*$BJQ49$N;OE@$r<($9J8;zNs(B") (defconst egg:*henkan-close* "|" "*$BJQ49$N=*E@$r<($9J8;zNs(B") +(defvar egg:henkan-mode-in-use nil) + (defun egg:henkan-face-on () (if (overlayp egg:*henkan-overlay*) nil (setq egg:*henkan-overlay* (make-overlay 1 1 nil)) @@ -604,57 +606,54 @@ (defun henkan-region-internal (start end) "region$B$r$+$J4A;zJQ49$9$k!#(B" - (setq egg:*kanji-kanabuff* (buffer-substring start end)) - (if overwrite-mode - (setq egg:*overwrite-mode-deleted-chars* - (if egg:*henkan-fence-mode* 0 - (length egg:*kanji-kanabuff*)))) - (setq *bunsetu-number* nil) - (let ((result (KKCP:henkan-begin egg:*kanji-kanabuff*))) - (if result - (progn - (mode-line-egg-mode-update henkan-mode-indicator) - (goto-char start) - (or (markerp egg:*region-start*) - (setq egg:*region-start* (make-marker))) - (or (markerp egg:*region-end*) - (setq egg:*region-end* (set-marker-type (make-marker) t))) - (if (null (marker-position egg:*region-start*)) + (if egg:henkan-mode-in-use nil + (setq egg:henkan-mode-in-use t) + (setq egg:*kanji-kanabuff* (buffer-substring start end)) + (if overwrite-mode + (setq egg:*overwrite-mode-deleted-chars* + (if egg:*henkan-fence-mode* 0 + (length egg:*kanji-kanabuff*)))) + (setq *bunsetu-number* nil) + (let ((result (KKCP:henkan-begin egg:*kanji-kanabuff*))) + (if result + (progn + (mode-line-egg-mode-update henkan-mode-indicator) + (goto-char start) + (or (markerp egg:*region-start*) + (setq egg:*region-start* (make-marker))) + (or (markerp egg:*region-end*) + (setq egg:*region-end* (set-marker-type (make-marker) t))) + (if (null (marker-position egg:*region-start*)) + (progn + (and (boundp 'disable-undo) (setq disable-undo t)) + (goto-char start) + (delete-region start end) + (insert egg:*henkan-open*) + (set-marker egg:*region-start* (point)) + (insert egg:*henkan-close*) + (set-marker egg:*region-end* egg:*region-start*) + (egg:henkan-face-on) + (goto-char egg:*region-start*) + ) (progn - ;;;(setq egg:*global-map-backup* (current-global-map)) - (setq egg:*local-map-backup* (current-local-map)) - (and (boundp 'disable-undo) (setq disable-undo t)) - (goto-char start) - (delete-region start end) + (egg:fence-face-off) + (delete-region (- egg:*region-start* (length egg:*fence-open*)) + egg:*region-start*) + (delete-region egg:*region-end* (+ egg:*region-end* (length egg:*fence-close*))) + (goto-char egg:*region-start*) (insert egg:*henkan-open*) (set-marker egg:*region-start* (point)) - (insert egg:*henkan-close*) - (set-marker egg:*region-end* egg:*region-start*) - (egg:henkan-face-on) - (goto-char egg:*region-start*) - ) - (progn - (egg:fence-face-off) - (delete-region (- egg:*region-start* (length egg:*fence-open*)) - egg:*region-start*) - (delete-region egg:*region-end* (+ egg:*region-end* (length egg:*fence-close*))) - (goto-char egg:*region-start*) - (insert egg:*henkan-open*) - (set-marker egg:*region-start* (point)) - (goto-char egg:*region-end*) - (let ((point (point))) - (insert egg:*henkan-close*) - (set-marker egg:*region-end* point)) - (goto-char start) - (delete-region start end) - (egg:henkan-face-on)) - ) - (henkan-insert-kouho 0) - (henkan-goto-bunsetu 0) - ;;;(use-global-map henkan-mode-map) - ;;;(use-local-map nil) - (use-local-map henkan-mode-map) - ))) + (goto-char egg:*region-end*) + (let ((point (point))) + (insert egg:*henkan-close*) + (set-marker egg:*region-end* point)) + (goto-char start) + (delete-region start end) + (egg:henkan-face-on)) + ) + (henkan-insert-kouho 0) + (henkan-goto-bunsetu 0) + )))) ) (defun henkan-paragraph () @@ -733,6 +732,7 @@ (defun henkan-kakutei () (interactive) + (setq egg:henkan-mode-in-use nil) (egg:bunsetu-face-off *bunsetu-number*) (egg:henkan-face-off) (delete-region (- egg:*region-start* (length egg:*henkan-open*)) @@ -754,6 +754,7 @@ (defun henkan-kakutei-before-point () (interactive) + (setq egg:henkan-mode-in-use nil) (egg:bunsetu-face-off *bunsetu-number*) (egg:henkan-face-off) (delete-region egg:*region-start* egg:*region-end*) @@ -788,9 +789,6 @@ ;;;(set-marker egg:*region-end* (point)) (goto-char point)) (setq egg:*mode-on* t) - ;;;(use-global-map fence-mode-map) - ;;;(use-local-map nil) - (use-local-map fence-mode-map) (egg:mode-line-display)) (defun egg:set-bunsetu-face (no face switch) @@ -923,6 +921,7 @@ (defun henkan-quit () (interactive) + (setq egg:henkan-mode-in-use nil) (egg:bunsetu-face-off *bunsetu-number*) (egg:henkan-face-off) (delete-region (- egg:*region-start* (length egg:*henkan-open*)) @@ -941,9 +940,6 @@ (egg:fence-face-on) (KKCP:henkan-quit) (setq egg:*mode-on* t) - ;;;(use-global-map fence-mode-map) - ;;;(use-local-map nil) - (use-local-map fence-mode-map) (egg:mode-line-display) ) @@ -972,9 +968,11 @@ (defvar henkan-mode-map (make-keymap)) - (defvar henkan-mode-esc-map (make-keymap)) +(define-key henkan-mode-map [t] 'undefined) +(define-key henkan-mode-esc-map [t] 'undefined) + (let ((ch 0)) (while (<= ch 127) (define-key henkan-mode-map (make-string 1 ch) 'undefined) @@ -987,6 +985,7 @@ (setq ch (1+ ch)))) (define-key henkan-mode-map "\e" henkan-mode-esc-map) +(define-key henkan-mode-map [escape] henkan-mode-esc-map) (define-key henkan-mode-map "\ei" 'undefined) ;; henkan-inspect-bunsetu ;; not support for sj3 (define-key henkan-mode-map "\es" 'henkan-select-kouho) @@ -996,33 +995,38 @@ (define-key henkan-mode-map "\e>" 'henkan-saichou-bunsetu) (define-key henkan-mode-map " " 'henkan-next-kouho) (define-key henkan-mode-map "\C-@" 'henkan-next-kouho) +(define-key henkan-mode-map [?\C-\ ] 'henkan-next-kouho) (define-key henkan-mode-map "\C-a" 'henkan-first-bunsetu) (define-key henkan-mode-map "\C-b" 'henkan-backward-bunsetu) (define-key henkan-mode-map "\C-c" 'henkan-quit) -(define-key henkan-mode-map "\C-d" 'undefined) (define-key henkan-mode-map "\C-e" 'henkan-last-bunsetu) (define-key henkan-mode-map "\C-f" 'henkan-forward-bunsetu) (define-key henkan-mode-map "\C-g" 'henkan-quit) (define-key henkan-mode-map "\C-h" 'help-command) (define-key henkan-mode-map "\C-i" 'henkan-bunsetu-chijime) -(define-key henkan-mode-map "\C-j" 'undefined) (define-key henkan-mode-map "\C-k" 'henkan-kakutei-before-point) (define-key henkan-mode-map "\C-l" 'henkan-kakutei) (define-key henkan-mode-map "\C-m" 'henkan-kakutei) +(define-key henkan-mode-map [return] 'henkan-kakutei) (define-key henkan-mode-map "\C-n" 'henkan-next-kouho) (define-key henkan-mode-map "\C-o" 'henkan-bunsetu-nobasi) (define-key henkan-mode-map "\C-p" 'henkan-previous-kouho) -(define-key henkan-mode-map "\C-q" 'undefined) -(define-key henkan-mode-map "\C-r" 'undefined) -(define-key henkan-mode-map "\C-s" 'undefined) -(define-key henkan-mode-map "\C-t" 'undefined) -(define-key henkan-mode-map "\C-u" 'undefined) -(define-key henkan-mode-map "\C-v" 'undefined) -(define-key henkan-mode-map "\C-w" 'undefined) -(define-key henkan-mode-map "\C-x" 'undefined) -(define-key henkan-mode-map "\C-y" 'undefined) -(define-key henkan-mode-map "\C-z" 'undefined) (define-key henkan-mode-map "\177" 'henkan-quit) +(define-key henkan-mode-map [delete] 'henkan-quit) +(define-key henkan-mode-map [backspace] 'henkan-quit) +(define-key henkan-mode-map [right] 'henkan-forward-bunsetu) +(define-key henkan-mode-map [left] 'henkan-backward-bunsetu) +(define-key henkan-mode-map [down] 'henkan-next-kouho) +(define-key henkan-mode-map [up] 'henkan-previous-kouho) +(define-key henkan-mode-map [kp-right] 'henkan-forward-bunsetu) +(define-key henkan-mode-map [kp-left] 'henkan-backward-bunsetu) +(define-key henkan-mode-map [kp-down] 'henkan-next-kouho) +(define-key henkan-mode-map [kp-up] 'henkan-previous-kouho) + +(or (assq 'egg:henkan-mode-in-use minor-mode-map-alist) + (setq minor-mode-map-alist + (cons (cons 'egg:henkan-mode-in-use henkan-mode-map) + minor-mode-map-alist))) (defun henkan-help-command () "Display documentation fo henkan-mode." diff -urN emacs-19.34.orig/lisp/wnn-egg.el emacs-19.34/lisp/wnn-egg.el --- emacs-19.34.orig/lisp/wnn-egg.el Mon May 10 09:29:57 1999 +++ emacs-19.34/lisp/wnn-egg.el Mon May 10 09:32:26 1999 @@ -118,6 +118,78 @@ ;;; $B=>$C$F!"(Begg.el, wnn-egg.el $B$N=g$K%m!<%I$7$J$1$l$P$J$i$J$$!#(B +(defun its-define-mode (name &optional indicator reset supers internalp server hook) + "its-mode NAME $B$rDj5AA*Br$9$k!%B>$N(B its-mode $B$,A*Br$5$l$k$^$G$O(B +its-defrule $B$J$I$O(B NAME $B$KBP$7$F5,B'$rDI2C$9$k!%(BINDICATOR $B$,(B non-nil +$B$N;~$K$O(B its-mode NAME $B$rA*Br$9$k$H(B mode-line $B$KI=<($5$l$k!%(BRESET $B$,(B +non-nil $B$N;~$K$O(B its-mode $B$NDj5A$,6u$K$J$k!%(BSUPERS $B$O>e0L$N(B its-mode +$BL>$r%j%9%H$G;XDj$9$k!%(BINTERNALP $B$O(B mode name $B$rFbItL>$H$9$k!%(BSERVER $B$O(B +$BJQ49%5!<%P!<$r;XDj$9$k!%(BSUPERS $B$,;XDj$5$l$F$$$k$H(B SERVER $B$O>e0L%^%C%W(B +$B$NCM$,MQ$$$i$l$k!%(BHOOK $B$O!"$3$N%b!<%I$KF~$k;~$KH(B" + + (if (null(its:get-mode-map name)) + (progn + (setq its:*processing-map* + (make-map nil (or indicator name) nil (mapcar 'its:get-mode-map supers) + server hook)) + (its:set-mode-map name its:*processing-map* internalp) + ) + (progn (setq its:*processing-map* (its:get-mode-map name)) + (if indicator + (map-set-indicator its:*processing-map* indicator)) + (if reset + (progn + (map-set-state its:*processing-map* nil) + (map-set-alist its:*processing-map* nil) + (map-set-server its:*processing-map* nil) + (map-set-hook its:*processing-map* nil) + )) + (if supers + (progn + (map-set-supers its:*processing-map* (mapcar 'its:get-mode-map supers)))) + (if server (map-set-server its:*processing-map* server)) + (if hook (map-set-hook its:*processing-map* hook)))) + (if supers + (map-set-server its:*processing-map* + (map-server (car (map-supers its:*processing-map*))))) + nil) + +;;; +;;; map: +;;; +;;; ::= ( ( . ) ... ) +;;; ::= ( nil ) +;;; ::= ( .... ) +;;; ::= ( ) +;;; ::= | ( ) .... + +(defun make-map (&optional state action alist supers server hook) + (list state action alist supers server hook)) + +(defun map-server (map) + (nth 4 map)) + +(defun map-set-server (map server) + (setcar (nthcdr 4 map) server)) + +(defun map-hook (map) + (nth 5 map)) + +(defun map-set-hook (map hook) + (setcar (nthcdr 5 map) hook)) + +(defun its:get-mode-map-by-server1 (server alist) + (cond + ((null alist) nil) + ((eq server (map-server (cdr (car alist)))) (cdr (car alist))) + (t (its:get-mode-map-by-server1 server (cdr alist))))) + +(defun its:get-mode-map-by-server (server) + (or (its:get-mode-map-by-server1 server its:*mode-alist*) + (its:get-mode-map-by-server1 server its:*internal-mode-alist*))) + (defun its:select-mode (name) (interactive (list (completing-read "ITS mode: " its:*mode-alist*))) (if (its:get-mode-map name) @@ -131,24 +203,25 @@ (defun its:select-mode-from-menu () (interactive) (setcar (nthcdr 2 its:*select-mode-menu*) its:*mode-alist*) - (setq its:*current-map* (menu:select-from-menu its:*select-mode-menu*)) +;; its:*current-map* is destroyed if menu:select-from-menu receives keyboard-quit +;; (setq its:*current-map* (menu:select-from-menu its:*select-mode-menu*)) + (let (new-map) + (setq new-map (menu:select-from-menu its:*select-mode-menu*)) + (setq its:*current-map* new-map)) (egg:mode-line-display) (run-hooks 'its:select-mode-hook)) -(defvar its:select-mode-hook - (function - (lambda () - (cond ((eq its:*current-map* (its:get-mode-map "roma-kana")) - (setq wnn-server-type 'jserver)) - ((eq its:*current-map* (its:get-mode-map "PinYin")) - (setq wnn-server-type 'cserver) - (setq cwnn-zhuyin nil)) - ((eq its:*current-map* (its:get-mode-map "zhuyin")) - (setq wnn-server-type 'cserver) - (setq cwnn-zhuyin t)) - ((eq its:*current-map* (its:get-mode-map "hangul")) - (setq wnn-server-type 'kserver)) - )))) +(defvar its:select-mode-hook) +(add-hook 'its:select-mode-hook + (lambda () + (setq its:*current-map* its:*current-map*) + (let ((server (map-server its:*current-map*)) + (hook (map-hook its:*current-map*))) + (setq server (or server wnn-server-type) + wnn-server-type server) + (fset 'fence-mode-map + (setq fence-mode-map (get-fence-mode-map server))) + (if hook (funcall hook))))) (defun its:next-mode () (interactive) @@ -201,16 +274,104 @@ (defvar egg:*old-bunsetu-suu* nil) (defun wnn-egg:kill-emacs-function () - (let ((wnn-server-type)) - (setq wnn-server-type 'jserver) - (close-wnn) - (setq wnn-server-type 'cserver) - (close-wnn) - (setq wnn-server-type 'kserver) - (close-wnn))) + (do-wnn-servers (lambda (server) (let ((wnn-server-type server)) (close-wnn))))) (add-hook 'kill-emacs-hook 'wnn-egg:kill-emacs-function) +(defun enter-fence-mode () + (run-hooks 'its:select-mode-hook) + ;;;(buffer-flush-undo (current-buffer)) + (and (boundp 'disable-undo) (setq disable-undo t)) + (setq egg:*in-fence-mode* t) + (egg:mode-line-display) + (egg:check-fence-in-cont) ; for Wnn6 + (insert egg:*fence-open*) + (or (markerp egg:*region-start*) (setq egg:*region-start* (make-marker))) + (set-marker egg:*region-start* (point)) + (insert egg:*fence-close*) + (or (markerp egg:*region-end*) (setq egg:*region-end* (set-marker-type (make-marker) t))) + (set-marker egg:*region-end* egg:*region-start*) + (egg:fence-face-on) + (goto-char egg:*region-start*) + ) + +(make-variable-buffer-local (defvar fence-mode-map)) + +(defconst *protected-local-variables* + (append '(fence-mode-map) *protected-local-variables*)) + +(defvar wnn-servers nil) + +(defun do-wnn-servers (func &rest arg) + (mapcar (lambda (server) (apply func server arg)) wnn-servers)) + +(defun fence-mode-map-symbol (server &optional esc) + (intern (concat "fence-mode" (if esc "-esc") "-map-" (symbol-name server)))) + +(defun get-fence-mode-map (server &optional esc) + (symbol-value (fence-mode-map-symbol server esc))) + +(defun add-wnn-server (server) + (setq wnn-servers (append wnn-servers (list server))) + (setq fence-mode-map + (set (fence-mode-map-symbol server) (copy-keymap (get-fence-mode-map 'common)))) + (setq fence-mode-esc-map + (set (fence-mode-map-symbol server t) (copy-keymap (get-fence-mode-map 'common t)))) + (define-key fence-mode-map "\e" fence-mode-esc-map) + (define-key fence-mode-map [escape] fence-mode-esc-map)) + +(setq fence-mode-map (set (fence-mode-map-symbol 'common) (make-keymap))) +(setq fence-mode-esc-map (set (fence-mode-map-symbol 'common t) (make-keymap))) + +(define-key fence-mode-map [t] 'undefined) +(define-key fence-mode-esc-map [t] 'undefined) + +(let ((ch 0)) + (while (<= ch 127) + (define-key fence-mode-map (char-to-string ch) 'undefined) + (define-key fence-mode-esc-map (char-to-string ch) 'undefined) + (setq ch (1+ ch)))) + +(let ((ch 32)) + (while (< ch 127) + (define-key fence-mode-map (char-to-string ch) 'fence-self-insert-command) + (setq ch (1+ ch)))) + +;; Common key binding + +(define-key fence-mode-map " " 'henkan-fence-region-or-single-space) +(define-key fence-mode-map "\C-@" 'henkan-fence-region) +(define-key fence-mode-map [?\C-\ ] 'henkan-fence-region) +(define-key fence-mode-map "\C-a" 'fence-beginning-of-line) +(define-key fence-mode-map "\C-b" 'fence-backward-char) +(define-key fence-mode-map "\C-c" 'fence-cancel-input) +(define-key fence-mode-map "\C-d" 'fence-delete-char) +(define-key fence-mode-map "\C-e" 'fence-end-of-line) +(define-key fence-mode-map "\C-f" 'fence-forward-char) +(define-key fence-mode-map "\C-g" 'fence-cancel-input) +(define-key fence-mode-map "\C-h" 'fence-mode-help-command) +(define-key fence-mode-map "\C-k" 'fence-kill-line) +(define-key fence-mode-map "\C-l" 'fence-exit-mode) +(define-key fence-mode-map "\C-m" 'fence-exit-mode) ;;; RET +(define-key fence-mode-map [return] 'fence-exit-mode) +(define-key fence-mode-map "\C-q" 'its:select-previous-mode) +(define-key fence-mode-map "\C-t" 'fence-transpose-chars) +(define-key fence-mode-map "\C-w" 'henkan-fence-region) +(define-key fence-mode-map "\C-z" 'eval-expression) +(define-key fence-mode-map "\C-\\" 'fence-toggle-egg-mode) +(define-key fence-mode-map "\C-_" 'jis-code-input) +(define-key fence-mode-map "\177" 'fence-backward-delete-char) +(define-key fence-mode-map [delete] 'fence-backward-delete-char) +(define-key fence-mode-map [backspace] 'fence-backward-delete-char) +(define-key fence-mode-map [right] 'fence-forward-char) +(define-key fence-mode-map [left] 'fence-backward-char) + +(defun set-default-wnn-environment (server) + (setq-default wnn-server-type server + its:*current-map* (its:get-mode-map-by-server server) + fence-mode-map (get-fence-mode-map server)) + (egg:mode-line-display)) + (defun egg:error (form &rest mesg) (apply 'notify (or form "%s") mesg) (apply 'error (or form "%s") mesg)) @@ -847,8 +1008,6 @@ (set-marker-insertion-type egg:*region-end* t))) (if (null (marker-position egg:*region-start*)) (progn - ;;;(setq egg:*global-map-backup* (current-global-map)) - (setq egg:*local-map-backup* (current-local-map)) (and (boundp 'disable-undo) (setq disable-undo t)) (delete-region start end) (goto-char start) @@ -878,11 +1037,9 @@ (egg:henkan-face-on) (egg:bunsetu-face-on) (henkan-goto-bunsetu 0) - ;;;(use-global-map henkan-mode-map) - ;;;(use-local-map nil) - (use-local-map henkan-mode-map) - (run-hooks 'egg:henkan-start-hook))))) - (setq finished t)) + (run-hooks 'egg:henkan-start-hook) + (setq finished t)) + (beep))))) (or finished (setq disable-undo nil) (setq egg:henkan-mode-in-use nil))))) ) @@ -1096,10 +1253,7 @@ ;;;(set-marker egg:*region-end* (point)) (goto-char point)) (setq egg:*mode-on* t) - ;;;(use-global-map fence-mode-map) - ;;;(use-local-map nil) (setq egg:henkan-mode-in-use nil) - (use-local-map fence-mode-map) (egg:mode-line-display)) (defun sai-henkan () @@ -1111,7 +1265,6 @@ (setq egg:henkan-mode-in-use t) (mode-line-egg-mode-update (egg:msg-get 'henkan-mode-indicator)) (goto-char egg:*sai-henkan-start*) - (setq egg:*local-map-backup* (current-local-map)) (and (boundp 'disable-undo) (setq disable-undo t)) (delete-region egg:*sai-henkan-start* egg:*sai-henkan-end*) (goto-char egg:*sai-henkan-start*) @@ -1124,7 +1277,6 @@ (egg:henkan-face-on) (egg:bunsetu-face-on) (henkan-goto-bunsetu 0) - (use-local-map henkan-mode-map) (setq finished t)) (or finished (setq disable-undo nil) (setq egg:henkan-mode-in-use nil))))) ) @@ -1361,10 +1513,7 @@ (egg:fence-face-on) (wnn-server-henkan-quit) (setq egg:*mode-on* t) - ;;;(use-global-map fence-mode-map) - ;;;(use-local-map nil) (setq egg:henkan-mode-in-use nil) - (use-local-map fence-mode-map) (egg:mode-line-display) ) @@ -1487,6 +1636,12 @@ (define-key henkan-mode-map [kp-left] 'henkan-backward-bunsetu) (define-key henkan-mode-map [kp-down] 'henkan-next-kouho) (define-key henkan-mode-map [kp-up] 'henkan-previous-kouho) + +(or (assq 'egg:henkan-mode-in-use minor-mode-map-alist) + (setq minor-mode-map-alist + (cons (cons 'egg:henkan-mode-in-use henkan-mode-map) + minor-mode-map-alist))) + (defun henkan-help-command () "Display documentation for henkan-mode." diff -urN emacs-19.34.orig/src/config.in emacs-19.34/src/config.in --- emacs-19.34.orig/src/config.in Mon May 10 09:30:00 1999 +++ emacs-19.34/src/config.in Mon May 10 09:31:59 1999 @@ -370,7 +370,7 @@ #ifdef WNN # define EGG -# define WNN_PURESIZE 30000 +# define WNN_PURESIZE 34000 #else /* not WNN */ # define WNN_PURESIZE 0 #endif /* not WNN */