5 (defvar its-erpin-cn-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet")
6 (defvar its-erpin-cn-open-braket "
\e$A!8
\e(B" "*[") ; "
\e$A#[
\e(B"
7 (defvar its-erpin-cn-close-braket "
\e$A!9
\e(B" "*]") ; "
\e$A#]
\e(B"
9 (defvar its-erpin-tw-enable-quanjioao-alphabet t "*Enable Quanjiao alphabet")
10 (defvar its-erpin-tw-open-braket "
\e$(G!V
\e(B" "*[") ; "
\e$(G!b
\e(B "
11 (defvar its-erpin-tw-close-braket "
\e$(G!W
\e(B" "*]") ; "
\e$(G!c
\e(B"
14 (defsubst its-defoutput* (input display)
15 (its-set-output (its-goto-state input nil t) display))
17 (defun its-define-erpin-qingsheng (shengmu yunmu &optional y)
18 (let ((input (concat (car shengmu) yunmu))
19 (output (concat (cdr shengmu) (if y y yunmu) "
\e(0@
\e(B"))
21 (setq state (its-goto-state input nil t))
22 (its-set-output state output)
23 (its-make-next-state state -1 input output)
24 (its-make-next-state state ? (concat input " ") output)
25 (its-make-next-state state ?0 (concat input "0") output)
26 (its-define-otherwise state (its-make-otherwise output
27 its-otherwise-back-one))
30 (defmacro its-do-erpin-table (list)
32 ,@(mapcar (lambda (syl)
33 `(its-define-erpin ,(car syl) ,(cdr syl)))
36 (defmacro its-define-erpin (shengmu yunmu)
37 `(let ((y1 (nth 1 ,yunmu)) (y2 (nth 2 ,yunmu)) (y3 (nth 3 ,yunmu))
38 (y4 (nth 4 ,yunmu)) (y5 (nth 5 ,yunmu)) (y (car ,yunmu))
39 (ss (list ,@shengmu)) sa sd state)
41 (setq sa (caar ss) sd (cdar ss)
42 state (its-define-erpin-qingsheng (car ss) y y5))
43 (its-make-next-state state ?1 (concat sa y 1) (concat sd y1 "
\e(0@
\e(B"))
44 (its-make-next-state state ?2 (concat sa y 2) (concat sd y2 "
\e(0@
\e(B"))
45 (its-make-next-state state ?3 (concat sa y 3) (concat sd y3 "
\e(0@
\e(B"))
46 (its-make-next-state state ?4 (concat sa y 4) (concat sd y4 "
\e(0@
\e(B"))
49 (defmacro its-define-erpin-table ()
50 '(let ((O '("o" . "")) (B '("b" . "B")) (C '("c" . "C")) (D '("d" . "D"))
51 (F '("f" . "F")) (G '("g" . "G")) (H '("h" . "H")) (J '("j" . "J"))
52 (K '("k" . "K")) (L '("l" . "L")) (M '("m" . "M")) (N '("n" . "N"))
53 (P '("p" . "P")) (Q '("q" . "Q")) (R '("r" . "R")) (S '("s" . "S"))
54 (T '("t" . "T")) (W '("w" . "W")) (X '("x" . "X")) (Y '("y" . "Y"))
56 (I '("i" . "Ch")) (U '("u" . "Sh")) (V '("v" . "Zh"))
58 (a '("a" "
\e(0!
\e(B" "
\e(0"
\e(B" "
\e(0#
\e(B" "
\e(0$
\e(B" "a" ))
59 (ai '("s" "
\e(0!
\e(Bi" "
\e(0"
\e(Bi" "
\e(0#
\e(Bi" "
\e(0$
\e(Bi" "ai" ))
60 (an '("f" "
\e(0!
\e(Bn" "
\e(0"
\e(Bn" "
\e(0#
\e(Bn" "
\e(0$
\e(Bn" "an" ))
61 (ang '("g" "
\e(0!
\e(Bng" "
\e(0"
\e(Bng" "
\e(0#
\e(Bng" "
\e(0$
\e(Bng" "ang" ))
62 (ao '("d" "
\e(0!
\e(Bo" "
\e(0"
\e(Bo" "
\e(0#
\e(Bo" "
\e(0$
\e(Bo" "ao" ))
63 (e '("e" "
\e(0%
\e(B" "
\e(0&
\e(B" "
\e(0'
\e(B" "
\e(0(
\e(B" "e" ))
64 (ei '("w" "
\e(0%
\e(Bi" "
\e(0&
\e(Bi" "
\e(0'
\e(Bi" "
\e(0(
\e(Bi" "ei" ))
65 (en '("r" "
\e(0%
\e(Bn" "
\e(0&
\e(Bn" "
\e(0'
\e(Bn" "
\e(0(
\e(Bn" "en" ))
66 (eng '("t" "
\e(0%
\e(Bng" "
\e(0&
\e(Bng" "
\e(0'
\e(Bng" "
\e(0(
\e(Bng" "eng" ))
67 (er '("y" "
\e(0%
\e(Br" "
\e(0&
\e(Br" "
\e(0'
\e(Br" "
\e(0(
\e(Br" "er" ))
68 (i '("i" "
\e(0)
\e(B" "
\e(0*
\e(B" "
\e(0+
\e(B" "
\e(0,
\e(B" "i" ))
69 (ia '("p" "i
\e(0!
\e(B" "i
\e(0"
\e(B" "i
\e(0#
\e(B" "i
\e(0$
\e(B" "ia" ))
70 (ian '("h" "i
\e(0!
\e(Bn" "i
\e(0"
\e(Bn" "i
\e(0#
\e(Bn" "i
\e(0$
\e(Bn" "ian" ))
71 (iang '("j" "i
\e(0!
\e(Bng" "i
\e(0"
\e(Bng" "i
\e(0#
\e(Bng" "i
\e(0$
\e(Bng" "iang"))
72 (iao '("k" "i
\e(0!
\e(Bo" "i
\e(0"
\e(Bo" "i
\e(0#
\e(Bo" "i
\e(0$
\e(Bo" "iao" ))
73 (ie '("l" "i
\e(0%
\e(B" "i
\e(0&
\e(B" "i
\e(0'
\e(B" "i
\e(0(
\e(B" "ie" ))
74 (in '("m" "
\e(0)
\e(Bn" "
\e(0*
\e(Bn" "
\e(0+
\e(Bn" "
\e(0,
\e(Bn" "in" ))
75 (ing '("n" "
\e(0)
\e(Bng" "
\e(0*
\e(Bng" "
\e(0+
\e(Bng" "
\e(0,
\e(Bng" "ing" ))
76 (iong '("b" "i
\e(0-
\e(Bng" "i
\e(0.
\e(Bng" "i
\e(0/
\e(Bng" "i
\e(00
\e(Bng" "iong"))
77 (iu '("y" "i
\e(01
\e(B" "i
\e(02
\e(B" "i
\e(03
\e(B" "i
\e(04
\e(B" "iu" ))
78 (o '("o" "
\e(0-
\e(B" "
\e(0.
\e(B" "
\e(0/
\e(B" "
\e(00
\e(B" "o" ))
79 (ong '("b" "
\e(0-
\e(Bng" "
\e(0.
\e(Bng" "
\e(0/
\e(Bng" "
\e(00
\e(Bng" "ong" ))
80 (ou '("q" "
\e(0-
\e(Bu" "
\e(0.
\e(Bu" "
\e(0/
\e(Bu" "
\e(00
\e(Bu" "ou" ))
81 (u '("u" "
\e(01
\e(B" "
\e(02
\e(B" "
\e(03
\e(B" "
\e(04
\e(B" "u" ))
82 (v '("v" "
\e(05
\e(B" "
\e(06
\e(B" "
\e(07
\e(B" "
\e(08
\e(B" "
\e(09
\e(B" ))
83 (ua '("p" "u
\e(0!
\e(B" "u
\e(0"
\e(B" "u
\e(0#
\e(B" "u
\e(0$
\e(B" "ua" ))
84 (uai '("k" "u
\e(0!
\e(Bi" "u
\e(0"
\e(Bi" "u
\e(0#
\e(Bi" "u
\e(0$
\e(Bi" "uai" ))
85 (uan '("x" "u
\e(0!
\e(Bn" "u
\e(0"
\e(Bn" "u
\e(0#
\e(Bn" "u
\e(0$
\e(Bn" "uan" ))
86 (uang '("j" "u
\e(0!
\e(Bng" "u
\e(0"
\e(Bng" "u
\e(0#
\e(Bng" "u
\e(0$
\e(Bng" "uang"))
87 (ue '("c" "u
\e(0%
\e(B" "u
\e(0&
\e(B" "u
\e(0'
\e(B" "u
\e(0(
\e(B" "ue" ))
88 (ve '("c" "
\e(09%
\e(B" "
\e(09&
\e(B" "
\e(09'
\e(B" "
\e(09(
\e(B" "
\e(09
\e(Be" ))
89 (ui '("c" "u
\e(0)
\e(B" "u
\e(0*
\e(B" "u
\e(0+
\e(B" "u
\e(0,
\e(B" "ui" ))
90 (un '("z" "
\e(01
\e(Bn" "
\e(02
\e(Bn" "
\e(03
\e(Bn" "
\e(04
\e(Bn" "un" ))
91 (uo '("o" "u
\e(0-
\e(B" "u
\e(0.
\e(B" "u
\e(0/
\e(B" "u
\e(00
\e(B" "uo" )))
93 (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))
94 (its-defrule (car SHENG) (cdr SHENG)))
97 (((O B C D F G H K L M N P S T W Y Z I U V) . a)
98 ((O B C D G H K L M N P S T W Z I U V) . ai)
99 ((O B C D F G H K L M N P R S T W Y Z I U V) . an)
100 ((O B C D F G H K L M N P R S T W Y Z I U V) . ang)
101 ((O B C D G H K L M N P R S T Y Z I U V) . ao)
102 ((O C D G H K L M N R S T Y Z I U V) . e)
103 ((O B C D F G H K L M N P T W Z U V) . ei)
104 ((O B C D F G H K M N P R S W Z I U V) . en)
105 ((O B C D F G H K L M N P R S T W Z I U V) . eng)
107 (( B C D J L M N P Q R S T X Y Z I U V) . i)
109 (( B D J L M N P Q T X ) . ian)
110 (( J L N Q X ) . iang)
111 (( B D J L M N P Q T X ) . iao)
112 (( B D J L M N P Q T X ) . ie)
113 (( B J L M N P Q X Y ) . in)
114 (( B D J L M N P Q T X Y ) . ing)
116 (( D J L M N Q X ) . iu)
117 ((O B F M P W Y ) . o)
118 (( C D G H K L N R S T Y Z I V) . ong)
119 ((O C D F G H K L M N P R S T Y Z I U V) . ou)
120 (( B C D F G H J K L M N P Q R S T W X Y Z I U V) . u)
122 (( G H K R I U V) . ua)
123 (( G H K I U V) . uai)
124 (( C D G H J K L N Q R S T X Y Z I U V) . uan)
125 (( G H K I U V) . uang)
128 (( C D G H K R S T Z I U V) . ui)
129 (( C D G H J K L Q R S T X Y Z I U V) . un)
130 (( C D G H K L N R S T Z I U V) . uo)
132 (('("" . "")) . (cons "er" (cdr er)))
134 ((J Q X) . (cons "a" (cdr ia )))
135 ((J Q X) . (cons "s" (cdr ia )))
136 ((J Q X) . (cons "f" (cdr ian )))
137 ((J Q X) . (cons "g" (cdr iang)))
138 ((J Q X) . (cons "d" (cdr iao )))
139 ((J Q X) . (cons "e" (cdr ie )))
140 ((J Q X) . (cons "w" (cdr ie )))
141 ((J Q X) . (cons "r" (cdr in )))
142 ((J Q X) . (cons "t" (cdr ing )))
143 ((J Q X) . (cons "q" (cdr iu )))))
145 (its-define-erpin-qingsheng H "m")
146 (its-define-erpin-qingsheng H "n" "ng")
147 (its-define-erpin-qingsheng O "m")
148 (its-define-erpin-qingsheng O "n")
150 (its-defrule "on5" "ng
\e(0@
\e(B")
151 (its-defrule "on2" "
\e(0=@
\e(B")
152 (its-defrule "on3" "
\e(0>@
\e(B")
153 (its-defrule "on4" "
\e(0?@
\e(B"))))
155 (define-its-state-machine its-erpin-cn-map
156 "erpin-cn" "
\e$A6~
\e(BG" "Chinese-GB"
157 "Map for Erpin input. (Chinese-GB)"
159 (defconst its-quanjiao-escape "Z")
160 (defconst its-banjiao-escape "X")
162 (its-defrule-select-mode-temporally "B" downcase)
163 (its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
165 (its-define-erpin-table)
166 (its-defoutput* "b " "
\e$A2;
\e(B")
167 (its-defoutput* "c " "
\e$A2E
\e(B")
168 (its-defoutput* "ch " "
\e$A3v
\e(B")
169 (its-defoutput* "d " "
\e$A5D
\e(B")
170 (its-defoutput* "f " "
\e$A74
\e(B")
171 (its-defoutput* "g " "
\e$A8v
\e(B")
172 (its-defoutput* "h " "
\e$A:M
\e(B")
173 (its-defoutput* "i " "
\e$AR;
\e(B")
174 (its-defoutput* "j " "
\e$A>M
\e(B")
175 (its-defoutput* "k " "
\e$A?I
\e(B")
176 (its-defoutput* "l " "
\e$AAK
\e(B")
177 (its-defoutput* "m " "
\e$AC?
\e(B")
178 (its-defoutput* "n " "
\e$ADj
\e(B")
179 (its-defoutput* "p " "
\e$AEz
\e(B")
180 (its-defoutput* "q " "
\e$AH%
\e(B")
181 (its-defoutput* "r " "
\e$AHU
\e(B")
182 (its-defoutput* "s " "
\e$AJG
\e(B")
183 (its-defoutput* "u " "
\e$AIO
\e(B")
184 (its-defoutput* "t " "
\e$AK{
\e(B")
185 (its-defoutput* "w " "
\e$ANR
\e(B")
186 (its-defoutput* "x " "
\e$AOr
\e(B")
187 (its-defoutput* "y " "
\e$ASV
\e(B")
188 (its-defoutput* "z " "
\e$ATZ
\e(B")
189 (its-defoutput* "v " "
\e$AWE
\e(B")
191 (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")
192 ("4" . "
\e$A#4
\e(B") ("5" . "
\e$A#5
\e(B") ("6" . "
\e$A#6
\e(B") ("7" . "
\e$A#7
\e(B")
193 ("8" . "
\e$A#8
\e(B") ("9" . "
\e$A#9
\e(B")
194 (" " . "
\e$A!!
\e(B") ("!" . "
\e$A#!
\e(B") ("@" . "
\e$A#@
\e(B") ("#" . "
\e$A##
\e(B")
195 ("$" . "
\e$A!g
\e(B") ("%" . "
\e$A#%
\e(B") ("^" . "
\e$A#^
\e(B") ("&" . "
\e$A#&
\e(B")
196 ("*" . "
\e$A#*
\e(B") ("(" . "
\e$A#(
\e(B") (")" . "
\e$A#)
\e(B")
197 ("-" . "
\e$A#-
\e(B") ("=" . "
\e$A#=
\e(B") ("`" . "
\e$A#`
\e(B") ("\\" . "
\e$A#\
\e(B")
198 ("|" . "
\e$A#|
\e(B") ("_" . "
\e$A#_
\e(B") ("+" . "
\e$A#+
\e(B") ("~" . "
\e$A!+
\e(B")
199 ("[" . "
\e$A#[
\e(B") ("]" . "
\e$A#]
\e(B") ("{" . "
\e$A#{
\e(B") ("}" . "
\e$A#}
\e(B")
200 (":" . "
\e$A#:
\e(B") (";" . "
\e$A#;
\e(B") ("\"" . "
\e$A#"
\e(B") ("'" . "
\e$A#'
\e(B")
201 ("<" . "
\e$A#<
\e(B") (">" . "
\e$A#>
\e(B") ("?" . "
\e$A#?
\e(B") ("/" . "
\e$A#/
\e(B")
202 ("," . "
\e$A#,
\e(B") ("." . "
\e$A#.
\e(B")
203 ("a" . "
\e$A#a
\e(B") ("b" . "
\e$A#b
\e(B") ("c" . "
\e$A#c
\e(B") ("d" . "
\e$A#d
\e(B")
204 ("e" . "
\e$A#e
\e(B") ("f" . "
\e$A#f
\e(B") ("g" . "
\e$A#g
\e(B") ("h" . "
\e$A#h
\e(B")
205 ("i" . "
\e$A#i
\e(B") ("j" . "
\e$A#j
\e(B") ("k" . "
\e$A#k
\e(B") ("l" . "
\e$A#l
\e(B")
206 ("m" . "
\e$A#m
\e(B") ("n" . "
\e$A#n
\e(B") ("o" . "
\e$A#o
\e(B") ("p" . "
\e$A#p
\e(B")
207 ("q" . "
\e$A#q
\e(B") ("r" . "
\e$A#r
\e(B") ("s" . "
\e$A#s
\e(B") ("t" . "
\e$A#t
\e(B")
208 ("u" . "
\e$A#u
\e(B") ("v" . "
\e$A#v
\e(B") ("w" . "
\e$A#w
\e(B") ("x" . "
\e$A#x
\e(B")
209 ("y" . "
\e$A#y
\e(B") ("z" . "
\e$A#z
\e(B")
210 ("A" . "
\e$A#A
\e(B") ("B" . "
\e$A#B
\e(B") ("C" . "
\e$A#C
\e(B") ("D" . "
\e$A#D
\e(B")
211 ("E" . "
\e$A#E
\e(B") ("F" . "
\e$A#F
\e(B") ("G" . "
\e$A#G
\e(B") ("H" . "
\e$A#H
\e(B")
212 ("I" . "
\e$A#I
\e(B") ("J" . "
\e$A#J
\e(B") ("K" . "
\e$A#K
\e(B") ("L" . "
\e$A#L
\e(B")
213 ("M" . "
\e$A#M
\e(B") ("N" . "
\e$A#N
\e(B") ("O" . "
\e$A#O
\e(B") ("P" . "
\e$A#P
\e(B")
214 ("Q" . "
\e$A#Q
\e(B") ("R" . "
\e$A#R
\e(B") ("S" . "
\e$A#S
\e(B") ("T" . "
\e$A#T
\e(B")
215 ("U" . "
\e$A#U
\e(B") ("V" . "
\e$A#V
\e(B") ("W" . "
\e$A#W
\e(B") ("X" . "
\e$A#X
\e(B")
216 ("Y" . "
\e$A#Y
\e(B") ("Z" . "
\e$A#Z
\e(B")))
217 (let ((in (car ascii)) (out (cdr ascii)))
218 (its-defrule (concat its-banjiao-escape in) in)
219 (its-defrule (concat its-quanjiao-escape in) out)))
221 (its-defrule "," "
\e$A#,
\e(B")
222 (its-defrule "." "
\e$A!#
\e(B")
223 (its-defrule "/" "
\e$A!"
\e(B")
224 (its-defrule ":" "
\e$A#:
\e(B")
225 (its-defrule ";" "
\e$A#;
\e(B")
226 (its-defrule "?" "
\e$A#?
\e(B")
227 (its-defrule "!" "
\e$A#!
\e(B"))
229 (define-its-state-machine its-erpin-tw-map
230 "erpin-tw" "
\e$(GD(
\e(BC" "Chinese-CNS"
231 "Map for Erpin input."
233 (defconst its-quanjiao-escape "Z")
234 (defconst its-banjiao-escape "X")
236 (its-defrule-select-mode-temporally "B" downcase)
237 (its-defrule-select-mode-temporally "Q" quanjiao-downcase-cn)
239 (its-define-erpin-table)
240 (its-defoutput* "b " "
\e$(GDb
\e(B")
241 (its-defoutput* "c " "
\e$(GD_
\e(B")
242 (its-defoutput* "ch " "
\e$(GEx
\e(B")
243 (its-defoutput* "d " "
\e$(GN{
\e(B")
244 (its-defoutput* "f " "
\e$(GE0
\e(B")
245 (its-defoutput* "g " "
\e$(GT6
\e(B")
246 (its-defoutput* "h " "
\e$(GLO
\e(B")
247 (its-defoutput* "i " "
\e$(GD!
\e(B")
248 (its-defoutput* "j " "
\e$(G^s
\e(B")
249 (its-defoutput* "k " "
\e$(GF+
\e(B")
250 (its-defoutput* "l " "
\e$(GD'
\e(B")
251 (its-defoutput* "m " "
\e$(GJd
\e(B")
252 (its-defoutput* "n " "
\e$(GH!
\e(B")
253 (its-defoutput* "p " "
\e$(GJG
\e(B")
254 (its-defoutput* "q " "
\e$(GF*
\e(B")
255 (its-defoutput* "r " "
\e$(GEJ
\e(B")
256 (its-defoutput* "s " "
\e$(GQR
\e(B")
257 (its-defoutput* "u " "
\e$(GD8
\e(B")
258 (its-defoutput* "t " "
\e$(GEl
\e(B")
259 (its-defoutput* "w " "
\e$(GJ<
\e(B")
260 (its-defoutput* "x " "
\e$(GGW
\e(B")
261 (its-defoutput* "y " "
\e$(GD4
\e(B")
262 (its-defoutput* "z " "
\e$(GGc
\e(B")
263 (its-defoutput* "v " "
\e$(Gaa
\e(B")
265 (dolist (ascii '(("0" . "
\e$(G$!
\e(B") ("1" . "
\e$(G$"
\e(B") ("2" . "
\e$(G$#
\e(B") ("3" . "
\e$(G$$
\e(B")
266 ("4" . "
\e$(G$%
\e(B") ("5" . "
\e$(G$&
\e(B") ("6" . "
\e$(G$'
\e(B") ("7" . "
\e$(G$(
\e(B")
267 ("8" . "
\e$(G$)
\e(B") ("9" . "
\e$(G$*
\e(B")
268 (" " . "
\e$(G!!
\e(B") ("!" . "
\e$(G!*
\e(B") ("@" . "
\e$(G"i
\e(B") ("#" . "
\e$(G!l
\e(B")
269 ("$" . "
\e$(G"c
\e(B") ("%" . "
\e$(G"h
\e(B") ("^" . "
\e$(G!T
\e(B") ("&" . "
\e$(G!m
\e(B")
270 ("*" . "
\e$(G!n
\e(B") ("(" . "
\e$(G!>
\e(B") (")" . "
\e$(G!?
\e(B")
271 ("-" . "
\e$(G"1
\e(B") ("=" . "
\e$(G"8
\e(B") ("`" . "
\e$(G!j
\e(B") ("\\" . "
\e$(G"b
\e(B")
272 ("|" . "
\e$(G"^
\e(B") ("_" . "
\e$(G"%
\e(B") ("+" . "
\e$(G"0
\e(B") ("~" . "
\e$(G"D
\e(B")
273 ("[" . "
\e$(G!b
\e(B") ("]" . "
\e$(G!c
\e(B") ("{" . "
\e$A#{
\e(B") ("}" . "
\e$(G!a
\e(B")
274 (":" . "
\e$(G!(
\e(B") (";" . "
\e$(G!'
\e(B") ("\"" . "
\e$(G!i
\e(B") ("'" . "
\e$(G!k
\e(B")
275 ("<" . "
\e$(G"6
\e(B") (">" . "
\e$(G"7
\e(B") ("?" . "
\e$(G!)
\e(B") ("/" . "
\e$(G"a
\e(B")
276 ("," . "
\e$(G!"
\e(B") ("." . "
\e$(G!%
\e(B")
277 ("a" . "
\e$(G$[
\e(B") ("b" . "
\e$(G$\
\e(B") ("c" . "
\e$(G$]
\e(B") ("d" . "
\e$(G$^
\e(B")
278 ("e" . "
\e$(G$_
\e(B") ("f" . "
\e$(G$`
\e(B") ("g" . "
\e$(G$a
\e(B") ("h" . "
\e$(G$b
\e(B")
279 ("i" . "
\e$(G$c
\e(B") ("j" . "
\e$(G$d
\e(B") ("k" . "
\e$(G$e
\e(B") ("l" . "
\e$(G$f
\e(B")
280 ("m" . "
\e$(G$g
\e(B") ("n" . "
\e$(G$h
\e(B") ("o" . "
\e$(G$i
\e(B") ("p" . "
\e$(G$j
\e(B")
281 ("q" . "
\e$(G$k
\e(B") ("r" . "
\e$(G$l
\e(B") ("s" . "
\e$(G$m
\e(B") ("t" . "
\e$(G$n
\e(B")
282 ("u" . "
\e$(G$o
\e(B") ("v" . "
\e$(G$p
\e(B") ("w" . "
\e$(G$q
\e(B") ("x" . "
\e$(G$r
\e(B")
283 ("y" . "
\e$(G$s
\e(B") ("z" . "
\e$(G$t
\e(B")
284 ("A" . "
\e$(G$A
\e(B") ("B" . "
\e$(G$B
\e(B") ("C" . "
\e$(G$C
\e(B") ("D" . "
\e$(G$D
\e(B")
285 ("E" . "
\e$(G$E
\e(B") ("F" . "
\e$(G$F
\e(B") ("G" . "
\e$(G$G
\e(B") ("H" . "
\e$(G$H
\e(B")
286 ("I" . "
\e$(G$I
\e(B") ("J" . "
\e$(G$J
\e(B") ("K" . "
\e$(G$K
\e(B") ("L" . "
\e$(G$L
\e(B")
287 ("M" . "
\e$(G$M
\e(B") ("N" . "
\e$(G$N
\e(B") ("O" . "
\e$(G$O
\e(B") ("P" . "
\e$(G$P
\e(B")
288 ("Q" . "
\e$(G$Q
\e(B") ("R" . "
\e$(G$R
\e(B") ("S" . "
\e$(G$S
\e(B") ("T" . "
\e$(G$T
\e(B")
289 ("U" . "
\e$(G$U
\e(B") ("V" . "
\e$(G$V
\e(B") ("W" . "
\e$(G$W
\e(B") ("X" . "
\e$(G$X
\e(B")
290 ("Y" . "
\e$(G$Y
\e(B") ("Z" . "
\e$(G$Z
\e(B")))
291 (let ((in (car ascii)) (out (cdr ascii)))
292 (its-defrule (concat its-banjiao-escape in) in)
293 (its-defrule (concat its-quanjiao-escape in) out)))
295 (its-defrule "," "
\e$(G!"
\e(B")
296 (its-defrule "." "
\e$(G!$
\e(B")
297 (its-defrule "/" "
\e$(G!#
\e(B")
298 (its-defrule ":" "
\e$(G!(
\e(B")
299 (its-defrule ";" "
\e$(G!'
\e(B")
300 (its-defrule "?" "
\e$(G!)
\e(B")
301 (its-defrule "!" "
\e$(G!*
\e(B"))
303 (define-its-state-machine-append its-erpin-cn-map
304 (its-defrule "[" its-erpin-cn-open-braket)
305 (its-defrule "]" its-erpin-cn-close-braket)
307 (if its-erpin-cn-enable-quanjioao-alphabet
309 (its-defrule "1" "
\e$A#1
\e(B") (its-defrule "2" "
\e$A#2
\e(B")
310 (its-defrule "3" "
\e$A#3
\e(B") (its-defrule "4" "
\e$A#4
\e(B")
311 (its-defrule "5" "
\e$A#5
\e(B") (its-defrule "6" "
\e$A#6
\e(B")
312 (its-defrule "7" "
\e$A#7
\e(B") (its-defrule "8" "
\e$A#8
\e(B")
313 (its-defrule "9" "
\e$A#9
\e(B") (its-defrule "0" "
\e$A#0
\e(B")
314 (its-defrule "@" "
\e$A#@
\e(B")
315 (its-defrule "#" "
\e$A##
\e(B") (its-defrule "$" "
\e$A!g
\e(B")
316 (its-defrule "%" "
\e$A#%
\e(B") (its-defrule "^" "
\e$A#^
\e(B")
317 (its-defrule "&" "
\e$A#&
\e(B") (its-defrule "*" "
\e$A#*
\e(B")
318 (its-defrule "(" "
\e$A#(
\e(B") (its-defrule ")" "
\e$A#)
\e(B")
319 (its-defrule "-" "
\e$A#-
\e(B") (its-defrule "~" "
\e$A!+
\e(B")
320 (its-defrule "=" "
\e$A#=
\e(B") (its-defrule "`" "
\e$A#`
\e(B")
321 (its-defrule "\\" "
\e$A#\
\e(B") (its-defrule "|" "
\e$A#|
\e(B")
322 (its-defrule "_" "
\e$A#_
\e(B") (its-defrule "+" "
\e$A#+
\e(B")
323 (its-defrule "{" "
\e$A#{
\e(B") (its-defrule "}" "
\e$A#}
\e(B")
324 (its-defrule "\"" "
\e$A#"
\e(B") (its-defrule "'" "
\e$A#'
\e(B")
325 (its-defrule "<" "
\e$A#<
\e(B") (its-defrule ">" "
\e$A#>
\e(B"))
327 (its-defrule "1" "1") (its-defrule "2" "2")
328 (its-defrule "3" "3") (its-defrule "4" "4")
329 (its-defrule "5" "5") (its-defrule "6" "6")
330 (its-defrule "7" "7") (its-defrule "8" "8")
331 (its-defrule "9" "9") (its-defrule "0" "0")
332 (its-defrule "@" "@")
333 (its-defrule "#" "#") (its-defrule "$" "$")
334 (its-defrule "%" "%") (its-defrule "^" "^")
335 (its-defrule "&" "&") (its-defrule "*" "*")
336 (its-defrule "(" "(") (its-defrule ")" ")")
337 (its-defrule "-" "-") (its-defrule "~" "~")
338 (its-defrule "=" "=") (its-defrule "`" "`")
339 (its-defrule "\\" "\\") (its-defrule "|" "|")
340 (its-defrule "_" "_") (its-defrule "+" "+")
341 (its-defrule "{" "{") (its-defrule "}" "}")
342 (its-defrule "\"" "\"") (its-defrule "'" "'")
343 (its-defrule "<" "<") (its-defrule ">" ">"))))
345 (define-its-state-machine-append its-erpin-tw-map
346 (its-defrule "[" its-erpin-tw-open-braket)
347 (its-defrule "]" its-erpin-tw-close-braket)
349 (if its-erpin-tw-enable-quanjioao-alphabet
351 (its-defrule "1" "
\e$(G$"
\e(B") (its-defrule "2" "
\e$(G$#
\e(B")
352 (its-defrule "3" "
\e$(G$$
\e(B") (its-defrule "4" "
\e$(G$%
\e(B")
353 (its-defrule "5" "
\e$(G$&
\e(B") (its-defrule "6" "
\e$(G$'
\e(B")
354 (its-defrule "7" "
\e$(G$(
\e(B") (its-defrule "8" "
\e$(G$)
\e(B")
355 (its-defrule "9" "
\e$(G$*
\e(B") (its-defrule "0" "
\e$(G$!
\e(B")
356 (its-defrule "@" "
\e$(G"i
\e(B")
357 (its-defrule "#" "
\e$(G!l
\e(B") (its-defrule "$" "
\e$(G"c
\e(B")
358 (its-defrule "%" "
\e$(G"h
\e(B") (its-defrule "^" "
\e$(G!T
\e(B")
359 (its-defrule "&" "
\e$(G!m
\e(B") (its-defrule "*" "
\e$(G!n
\e(B")
360 (its-defrule "(" "
\e$(G!>
\e(B") (its-defrule ")" "
\e$(G!?
\e(B")
361 (its-defrule "-" "
\e$(G"1
\e(B") (its-defrule "~" "
\e$(G"D
\e(B")
362 (its-defrule "=" "
\e$(G"8
\e(B") (its-defrule "`" "
\e$(G!j
\e(B")
363 (its-defrule "\\" "
\e$(G"b
\e(B") (its-defrule "|" "
\e$(G"^
\e(B")
364 (its-defrule "_" "
\e$(G"%
\e(B") (its-defrule "+" "
\e$(G"0
\e(B")
365 (its-defrule "{" "
\e$A#{
\e(B") (its-defrule "}" "
\e$(G!a
\e(B")
366 (its-defrule "\"" "
\e$(G!i
\e(B") (its-defrule "'" "
\e$(G!k
\e(B")
367 (its-defrule "<" "
\e$(G"6
\e(B") (its-defrule ">" "
\e$(G"7
\e(B"))
369 (its-defrule "1" "1") (its-defrule "2" "2")
370 (its-defrule "3" "3") (its-defrule "4" "4")
371 (its-defrule "5" "5") (its-defrule "6" "6")
372 (its-defrule "7" "7") (its-defrule "8" "8")
373 (its-defrule "9" "9") (its-defrule "0" "0")
374 (its-defrule "@" "@")
375 (its-defrule "#" "#") (its-defrule "$" "$")
376 (its-defrule "%" "%") (its-defrule "^" "^")
377 (its-defrule "&" "&") (its-defrule "*" "*")
378 (its-defrule "(" "(") (its-defrule ")" ")")
379 (its-defrule "-" "-") (its-defrule "~" "~")
380 (its-defrule "=" "=") (its-defrule "`" "`")
381 (its-defrule "\\" "\\") (its-defrule "|" "|")
382 (its-defrule "_" "_") (its-defrule "+" "+")
383 (its-defrule "{" "{") (its-defrule "}" "}")
384 (its-defrule "\"" "\"") (its-defrule "'" "'")
385 (its-defrule "<" "<") (its-defrule ">" ">"))))