(defvar its-erpin-tw-close-braket "\e$(G!W\e(B" "*]") ; "\e$(G!c\e(B"
(eval-when-compile
- (defsubst its-defoutput* (input display)
- (its-set-output (its-goto-state input nil t) display))
-
(defun its-define-erpin-qingsheng (shengmu yunmu &optional y)
(let ((input (concat (car shengmu) yunmu))
- (output (concat (cdr shengmu) (if y y yunmu) "\e(0@\e(B"))
- state)
- (setq state (its-goto-state input nil t))
- (its-set-output state output)
- (its-make-next-state state -1 input output)
- (its-make-next-state state ? (concat input " ") output)
- (its-make-next-state state ?0 (concat input "0") output)
- (its-define-otherwise state (its-make-otherwise output
- its-otherwise-back-one))
- state))
+ (output (concat (cdr shengmu) (if y y yunmu) "\e(0@\e(B")))
+ (prog1
+ (its-defrule input output)
+ (its-defrule (concat input " ") output)
+ (its-defrule (concat input "0") output))))
(defmacro its-do-erpin-table (list)
`(progn
(while ss
(setq sa (caar ss) sd (cdar ss)
state (its-define-erpin-qingsheng (car ss) y y5))
- (its-make-next-state state ?1 (concat sa y 1) (concat sd y1 "\e(0@\e(B"))
- (its-make-next-state state ?2 (concat sa y 2) (concat sd y2 "\e(0@\e(B"))
- (its-make-next-state state ?3 (concat sa y 3) (concat sd y3 "\e(0@\e(B"))
- (its-make-next-state state ?4 (concat sa y 4) (concat sd y4 "\e(0@\e(B"))
+ (its-make-next-state state ?1 (concat sd y1 "\e(0@\e(B"))
+ (its-make-next-state state ?2 (concat sd y2 "\e(0@\e(B"))
+ (its-make-next-state state ?3 (concat sd y3 "\e(0@\e(B"))
+ (its-make-next-state state ?4 (concat sd y4 "\e(0@\e(B"))
(setq ss (cdr ss)))))
(defmacro its-define-erpin-table ()
(un '("z" "\e(01\e(Bn" "\e(02\e(Bn" "\e(03\e(Bn" "\e(04\e(Bn" "un" ))
(uo '("o" "u\e(0-\e(B" "u\e(0.\e(B" "u\e(0/\e(B" "u\e(00\e(B" "uo" )))
- (dolist (SHENG (list B C D F G H J K L M N P Q R S T W X Y Z I U V))
- (its-defrule (car SHENG) (cdr SHENG)))
-
(its-do-erpin-table
(((O B C D F G H K L M N P S T W Y Z I U V) . a)
((O B C D G H K L M N P S T W Z I U V) . ai)
((J Q X) . (cons "t" (cdr ing )))
((J Q X) . (cons "q" (cdr iu )))))
+ (dolist (SHENG (list B C D F G H J K L M N P Q R S T W X Y Z I U V))
+ (its-defoutput (car SHENG) (cdr SHENG)))
+
(its-define-erpin-qingsheng H "m")
(its-define-erpin-qingsheng H "n" "ng")
(its-define-erpin-qingsheng O "m")
(its-defrule "on4" "\e(0?@\e(B"))))
(define-its-state-machine its-erpin-cn-map
- "erpin-cn" "\e$A6~\e(BG" 'Chinese-GB
+ "erpin-cn" "\e$A6~\e(BG" Chinese-GB
"Map for Erpin input. (Chinese-GB)"
(defconst its-quanjiao-escape "Z")
(its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
(its-define-erpin-table)
- (its-defoutput* "b " "\e$A2;\e(B")
- (its-defoutput* "c " "\e$A2E\e(B")
- (its-defoutput* "ch " "\e$A3v\e(B")
- (its-defoutput* "d " "\e$A5D\e(B")
- (its-defoutput* "f " "\e$A74\e(B")
- (its-defoutput* "g " "\e$A8v\e(B")
- (its-defoutput* "h " "\e$A:M\e(B")
- (its-defoutput* "i " "\e$AR;\e(B")
- (its-defoutput* "j " "\e$A>M\e(B")
- (its-defoutput* "k " "\e$A?I\e(B")
- (its-defoutput* "l " "\e$AAK\e(B")
- (its-defoutput* "m " "\e$AC?\e(B")
- (its-defoutput* "n " "\e$ADj\e(B")
- (its-defoutput* "p " "\e$AEz\e(B")
- (its-defoutput* "q " "\e$AH%\e(B")
- (its-defoutput* "r " "\e$AHU\e(B")
- (its-defoutput* "s " "\e$AJG\e(B")
- (its-defoutput* "u " "\e$AIO\e(B")
- (its-defoutput* "t " "\e$AK{\e(B")
- (its-defoutput* "w " "\e$ANR\e(B")
- (its-defoutput* "x " "\e$AOr\e(B")
- (its-defoutput* "y " "\e$ASV\e(B")
- (its-defoutput* "z " "\e$ATZ\e(B")
- (its-defoutput* "v " "\e$AWE\e(B")
+ (its-defrule "b " "\e$A2;\e(B")
+ (its-defrule "c " "\e$A2E\e(B")
+ (its-defrule "ch " "\e$A3v\e(B")
+ (its-defrule "d " "\e$A5D\e(B")
+ (its-defrule "f " "\e$A74\e(B")
+ (its-defrule "g " "\e$A8v\e(B")
+ (its-defrule "h " "\e$A:M\e(B")
+ (its-defrule "i " "\e$AR;\e(B")
+ (its-defrule "j " "\e$A>M\e(B")
+ (its-defrule "k " "\e$A?I\e(B")
+ (its-defrule "l " "\e$AAK\e(B")
+ (its-defrule "m " "\e$AC?\e(B")
+ (its-defrule "n " "\e$ADj\e(B")
+ (its-defrule "p " "\e$AEz\e(B")
+ (its-defrule "q " "\e$AH%\e(B")
+ (its-defrule "r " "\e$AHU\e(B")
+ (its-defrule "s " "\e$AJG\e(B")
+ (its-defrule "u " "\e$AIO\e(B")
+ (its-defrule "t " "\e$AK{\e(B")
+ (its-defrule "w " "\e$ANR\e(B")
+ (its-defrule "x " "\e$AOr\e(B")
+ (its-defrule "y " "\e$ASV\e(B")
+ (its-defrule "z " "\e$ATZ\e(B")
+ (its-defrule "v " "\e$AWE\e(B")
(dolist (ascii '(("0" . "\e$A#0\e(B") ("1" . "\e$A#1\e(B") ("2" . "\e$A#2\e(B") ("3" . "\e$A#3\e(B")
("4" . "\e$A#4\e(B") ("5" . "\e$A#5\e(B") ("6" . "\e$A#6\e(B") ("7" . "\e$A#7\e(B")
(its-defrule "!" "\e$A#!\e(B"))
(define-its-state-machine its-erpin-tw-map
- "erpin-tw" "\e$(GD(\e(BC" 'Chinese-CNS
+ "erpin-tw" "\e$(GD(\e(BC" Chinese-CNS
"Map for Erpin input."
(defconst its-quanjiao-escape "Z")
(its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
(its-define-erpin-table)
- (its-defoutput* "b " "\e$(GDb\e(B")
- (its-defoutput* "c " "\e$(GD_\e(B")
- (its-defoutput* "ch " "\e$(GEx\e(B")
- (its-defoutput* "d " "\e$(GN{\e(B")
- (its-defoutput* "f " "\e$(GE0\e(B")
- (its-defoutput* "g " "\e$(GT6\e(B")
- (its-defoutput* "h " "\e$(GLO\e(B")
- (its-defoutput* "i " "\e$(GD!\e(B")
- (its-defoutput* "j " "\e$(G^s\e(B")
- (its-defoutput* "k " "\e$(GF+\e(B")
- (its-defoutput* "l " "\e$(GD'\e(B")
- (its-defoutput* "m " "\e$(GJd\e(B")
- (its-defoutput* "n " "\e$(GH!\e(B")
- (its-defoutput* "p " "\e$(GJG\e(B")
- (its-defoutput* "q " "\e$(GF*\e(B")
- (its-defoutput* "r " "\e$(GEJ\e(B")
- (its-defoutput* "s " "\e$(GQR\e(B")
- (its-defoutput* "u " "\e$(GD8\e(B")
- (its-defoutput* "t " "\e$(GEl\e(B")
- (its-defoutput* "w " "\e$(GJ<\e(B")
- (its-defoutput* "x " "\e$(GGW\e(B")
- (its-defoutput* "y " "\e$(GD4\e(B")
- (its-defoutput* "z " "\e$(GGc\e(B")
- (its-defoutput* "v " "\e$(Gaa\e(B")
+ (its-defrule "b " "\e$(GDb\e(B")
+ (its-defrule "c " "\e$(GD_\e(B")
+ (its-defrule "ch " "\e$(GEx\e(B")
+ (its-defrule "d " "\e$(GN{\e(B")
+ (its-defrule "f " "\e$(GE0\e(B")
+ (its-defrule "g " "\e$(GT6\e(B")
+ (its-defrule "h " "\e$(GLO\e(B")
+ (its-defrule "i " "\e$(GD!\e(B")
+ (its-defrule "j " "\e$(G^s\e(B")
+ (its-defrule "k " "\e$(GF+\e(B")
+ (its-defrule "l " "\e$(GD'\e(B")
+ (its-defrule "m " "\e$(GJd\e(B")
+ (its-defrule "n " "\e$(GH!\e(B")
+ (its-defrule "p " "\e$(GJG\e(B")
+ (its-defrule "q " "\e$(GF*\e(B")
+ (its-defrule "r " "\e$(GEJ\e(B")
+ (its-defrule "s " "\e$(GQR\e(B")
+ (its-defrule "u " "\e$(GD8\e(B")
+ (its-defrule "t " "\e$(GEl\e(B")
+ (its-defrule "w " "\e$(GJ<\e(B")
+ (its-defrule "x " "\e$(GGW\e(B")
+ (its-defrule "y " "\e$(GD4\e(B")
+ (its-defrule "z " "\e$(GGc\e(B")
+ (its-defrule "v " "\e$(Gaa\e(B")
(dolist (ascii '(("0" . "\e$(G$!\e(B") ("1" . "\e$(G$"\e(B") ("2" . "\e$(G$#\e(B") ("3" . "\e$(G$$\e(B")
("4" . "\e$(G$%\e(B") ("5" . "\e$(G$&\e(B") ("6" . "\e$(G$'\e(B") ("7" . "\e$(G$(\e(B")
(its-defrule "=" "\e$A#=\e(B") (its-defrule "`" "\e$A#`\e(B")
(its-defrule "\\" "\e$A#\\e(B") (its-defrule "|" "\e$A#|\e(B")
(its-defrule "_" "\e$A#_\e(B") (its-defrule "+" "\e$A#+\e(B")
- (its-defrule "{" "\e$(G!B\e(B") (its-defrule "}" "\e$(G!C\e(B")
+ (its-defrule "{" "\e$A#{\e(B") (its-defrule "}" "\e$A#}\e(B")
(its-defrule "\"" "\e$A#"\e(B") (its-defrule "'" "\e$A#'\e(B")
(its-defrule "<" "\e$A#<\e(B") (its-defrule ">" "\e$A#>\e(B"))
(progn
(its-defrule "=" "\e$(G"8\e(B") (its-defrule "`" "\e$(G!j\e(B")
(its-defrule "\\" "\e$(G"b\e(B") (its-defrule "|" "\e$(G"^\e(B")
(its-defrule "_" "\e$(G"%\e(B") (its-defrule "+" "\e$(G"0\e(B")
- (its-defrule "{" "\e$A#{\e(B") (its-defrule "}" "\e$(G!a\e(B")
+ (its-defrule "{" "\e$(G!B\e(B") (its-defrule "}" "\e$(G!C\e(B")
(its-defrule "\"" "\e$(G!i\e(B") (its-defrule "'" "\e$(G!k\e(B")
(its-defrule "<" "\e$(G"6\e(B") (its-defrule ">" "\e$(G"7\e(B"))
(progn