1 ;;; its/quanjiao.el --- Quanjiao ASCII Input in Egg Input Method Architecture
3 ;; Copyright (C) 1999,2000 PFU LIMITED
5 ;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
7 ;; Maintainer: TOMURA Satoru <tomura@etl.go.jp>
9 ;; Keywords: mule, multilingual, input method
11 ;; This file is part of EGG.
13 ;; EGG is free software; you can redistribute it and/or modify
14 ;; it under the terms of the GNU General Public License as published by
15 ;; the Free Software Foundation; either version 2, or (at your option)
18 ;; EGG is distributed in the hope that it will be useful,
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;; GNU General Public License for more details.
23 ;; You should have received a copy of the GNU General Public License
24 ;; along with GNU Emacs; see the file COPYING. If not, write to the
25 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
26 ;; Boston, MA 02111-1307, USA.
30 ;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
31 ;; This file is based on the rules of its/hira.el in Mule-2.3 distribution.
39 (define-its-state-machine its-quanjiao-up-cn-map
40 "quanjiao-upcase-cn" "
\e$A#A
\e(B" Chinese-GB
41 "Map for quanjiao-upcase input. (Chinese-GB)"
43 (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")
44 ("4" . "
\e$A#4
\e(B") ("5" . "
\e$A#5
\e(B") ("6" . "
\e$A#6
\e(B") ("7" . "
\e$A#7
\e(B")
45 ("8" . "
\e$A#8
\e(B") ("9" . "
\e$A#9
\e(B")
46 (" " . "
\e$A!!
\e(B") ("!" . "
\e$A#!
\e(B") ("@" . "
\e$A#@
\e(B") ("#" . "
\e$A##
\e(B")
47 ("$" . "
\e$A!g
\e(B") ("%" . "
\e$A#%
\e(B") ("^" . "
\e$A#^
\e(B") ("&" . "
\e$A#&
\e(B")
48 ("*" . "
\e$A#*
\e(B") ("(" . "
\e$A#(
\e(B") (")" . "
\e$A#)
\e(B")
49 ("-" . "
\e$A#-
\e(B") ("=" . "
\e$A#=
\e(B") ("`" . "
\e$A#`
\e(B") ("\\" . "
\e$A#\
\e(B")
50 ("|" . "
\e$A#|
\e(B") ("_" . "
\e$A#_
\e(B") ("+" . "
\e$A#+
\e(B") ("~" . "
\e$A!+
\e(B")
51 ("[" . "
\e$A#[
\e(B") ("]" . "
\e$A#]
\e(B") ("{" . "
\e$A#{
\e(B") ("}" . "
\e$A#}
\e(B")
52 (":" . "
\e$A#:
\e(B") (";" . "
\e$A#;
\e(B") ("\"" . "
\e$A#"
\e(B") ("'" . "
\e$A#'
\e(B")
53 ("<" . "
\e$A#<
\e(B") (">" . "
\e$A#>
\e(B") ("?" . "
\e$A#?
\e(B") ("/" . "
\e$A#/
\e(B")
54 ("," . "
\e$A#,
\e(B") ("." . "
\e$A#.
\e(B")
55 ("a" . "
\e$A#A
\e(B") ("b" . "
\e$A#B
\e(B") ("c" . "
\e$A#C
\e(B") ("d" . "
\e$A#D
\e(B")
56 ("e" . "
\e$A#E
\e(B") ("f" . "
\e$A#F
\e(B") ("g" . "
\e$A#G
\e(B") ("h" . "
\e$A#H
\e(B")
57 ("i" . "
\e$A#I
\e(B") ("j" . "
\e$A#J
\e(B") ("k" . "
\e$A#K
\e(B") ("l" . "
\e$A#L
\e(B")
58 ("m" . "
\e$A#M
\e(B") ("n" . "
\e$A#N
\e(B") ("o" . "
\e$A#O
\e(B") ("p" . "
\e$A#P
\e(B")
59 ("q" . "
\e$A#Q
\e(B") ("r" . "
\e$A#R
\e(B") ("s" . "
\e$A#S
\e(B") ("t" . "
\e$A#T
\e(B")
60 ("u" . "
\e$A#U
\e(B") ("v" . "
\e$A#V
\e(B") ("w" . "
\e$A#W
\e(B") ("x" . "
\e$A#X
\e(B")
61 ("y" . "
\e$A#Y
\e(B") ("z" . "
\e$A#Z
\e(B")
62 ("A" . "
\e$A#A
\e(B") ("B" . "
\e$A#B
\e(B") ("C" . "
\e$A#C
\e(B") ("D" . "
\e$A#D
\e(B")
63 ("E" . "
\e$A#E
\e(B") ("F" . "
\e$A#F
\e(B") ("G" . "
\e$A#G
\e(B") ("H" . "
\e$A#H
\e(B")
64 ("I" . "
\e$A#I
\e(B") ("J" . "
\e$A#J
\e(B") ("K" . "
\e$A#K
\e(B") ("L" . "
\e$A#L
\e(B")
65 ("M" . "
\e$A#M
\e(B") ("N" . "
\e$A#N
\e(B") ("O" . "
\e$A#O
\e(B") ("P" . "
\e$A#P
\e(B")
66 ("Q" . "
\e$A#Q
\e(B") ("R" . "
\e$A#R
\e(B") ("S" . "
\e$A#S
\e(B") ("T" . "
\e$A#T
\e(B")
67 ("U" . "
\e$A#U
\e(B") ("V" . "
\e$A#V
\e(B") ("W" . "
\e$A#W
\e(B") ("X" . "
\e$A#X
\e(B")
68 ("Y" . "
\e$A#Y
\e(B") ("Z" . "
\e$A#Z
\e(B")))
69 (let ((in (car ascii)) (out (cdr ascii)))
70 (its-defrule in out))))
72 (define-its-state-machine-append its-quanjiao-up-cn-map)
74 (define-its-state-machine its-quanjiao-down-cn-map
75 "quanjiao-downcase-cn" "
\e$A#a
\e(B" Chinese-GB
76 "Map for quanjiao-downcase input. (Chinese-GB)"
78 (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")
79 ("4" . "
\e$A#4
\e(B") ("5" . "
\e$A#5
\e(B") ("6" . "
\e$A#6
\e(B") ("7" . "
\e$A#7
\e(B")
80 ("8" . "
\e$A#8
\e(B") ("9" . "
\e$A#9
\e(B")
81 (" " . "
\e$A!!
\e(B") ("!" . "
\e$A#!
\e(B") ("@" . "
\e$A#@
\e(B") ("#" . "
\e$A##
\e(B")
82 ("$" . "
\e$A!g
\e(B") ("%" . "
\e$A#%
\e(B") ("^" . "
\e$A#^
\e(B") ("&" . "
\e$A#&
\e(B")
83 ("*" . "
\e$A#*
\e(B") ("(" . "
\e$A#(
\e(B") (")" . "
\e$A#)
\e(B")
84 ("-" . "
\e$A#-
\e(B") ("=" . "
\e$A#=
\e(B") ("`" . "
\e$A#`
\e(B") ("\\" . "
\e$A#\
\e(B")
85 ("|" . "
\e$A#|
\e(B") ("_" . "
\e$A#_
\e(B") ("+" . "
\e$A#+
\e(B") ("~" . "
\e$A!+
\e(B")
86 ("[" . "
\e$A#[
\e(B") ("]" . "
\e$A#]
\e(B") ("{" . "
\e$A#{
\e(B") ("}" . "
\e$A#}
\e(B")
87 (":" . "
\e$A#:
\e(B") (";" . "
\e$A#;
\e(B") ("\"" . "
\e$A#"
\e(B") ("'" . "
\e$A#'
\e(B")
88 ("<" . "
\e$A#<
\e(B") (">" . "
\e$A#>
\e(B") ("?" . "
\e$A#?
\e(B") ("/" . "
\e$A#/
\e(B")
89 ("," . "
\e$A#,
\e(B") ("." . "
\e$A#.
\e(B")
90 ("a" . "
\e$A#a
\e(B") ("b" . "
\e$A#b
\e(B") ("c" . "
\e$A#c
\e(B") ("d" . "
\e$A#d
\e(B")
91 ("e" . "
\e$A#e
\e(B") ("f" . "
\e$A#f
\e(B") ("g" . "
\e$A#g
\e(B") ("h" . "
\e$A#h
\e(B")
92 ("i" . "
\e$A#i
\e(B") ("j" . "
\e$A#j
\e(B") ("k" . "
\e$A#k
\e(B") ("l" . "
\e$A#l
\e(B")
93 ("m" . "
\e$A#m
\e(B") ("n" . "
\e$A#n
\e(B") ("o" . "
\e$A#o
\e(B") ("p" . "
\e$A#p
\e(B")
94 ("q" . "
\e$A#q
\e(B") ("r" . "
\e$A#r
\e(B") ("s" . "
\e$A#s
\e(B") ("t" . "
\e$A#t
\e(B")
95 ("u" . "
\e$A#u
\e(B") ("v" . "
\e$A#v
\e(B") ("w" . "
\e$A#w
\e(B") ("x" . "
\e$A#x
\e(B")
96 ("y" . "
\e$A#y
\e(B") ("z" . "
\e$A#z
\e(B")
97 ("A" . "
\e$A#A
\e(B") ("B" . "
\e$A#B
\e(B") ("C" . "
\e$A#C
\e(B") ("D" . "
\e$A#D
\e(B")
98 ("E" . "
\e$A#E
\e(B") ("F" . "
\e$A#F
\e(B") ("G" . "
\e$A#G
\e(B") ("H" . "
\e$A#H
\e(B")
99 ("I" . "
\e$A#I
\e(B") ("J" . "
\e$A#J
\e(B") ("K" . "
\e$A#K
\e(B") ("L" . "
\e$A#L
\e(B")
100 ("M" . "
\e$A#M
\e(B") ("N" . "
\e$A#N
\e(B") ("O" . "
\e$A#O
\e(B") ("P" . "
\e$A#P
\e(B")
101 ("Q" . "
\e$A#Q
\e(B") ("R" . "
\e$A#R
\e(B") ("S" . "
\e$A#S
\e(B") ("T" . "
\e$A#T
\e(B")
102 ("U" . "
\e$A#U
\e(B") ("V" . "
\e$A#V
\e(B") ("W" . "
\e$A#W
\e(B") ("X" . "
\e$A#X
\e(B")
103 ("Y" . "
\e$A#Y
\e(B") ("Z" . "
\e$A#Z
\e(B")))
104 (let ((in (car ascii)) (out (cdr ascii)))
105 (its-defrule in out))))
107 (define-its-state-machine-append its-quanjiao-down-cn-map)
109 (define-its-state-machine its-quanjiao-up-tw-map
110 "quanjiao-upcase-tw" "
\e$(G$A
\e(B" Chinese-CNS
111 "Map for quanjiao-upcase input. (Chinese-CNS)"
113 (dolist (ascii '(("0" . "
\e$(G$!
\e(B") ("1" . "
\e$(G$"
\e(B") ("2" . "
\e$(G$#
\e(B") ("3" . "
\e$(G$$
\e(B")
114 ("4" . "
\e$(G$%
\e(B") ("5" . "
\e$(G$&
\e(B") ("6" . "
\e$(G$'
\e(B") ("7" . "
\e$(G$(
\e(B")
115 ("8" . "
\e$(G$)
\e(B") ("9" . "
\e$(G$*
\e(B")
116 (" " . "
\e$(G!!
\e(B") ("!" . "
\e$(G!*
\e(B") ("@" . "
\e$(G"i
\e(B") ("#" . "
\e$(G!l
\e(B")
117 ("$" . "
\e$(G"c
\e(B") ("%" . "
\e$(G"h
\e(B") ("^" . "
\e$(G!T
\e(B") ("&" . "
\e$(G!m
\e(B")
118 ("*" . "
\e$(G!n
\e(B") ("(" . "
\e$(G!>
\e(B") (")" . "
\e$(G!?
\e(B")
119 ("-" . "
\e$(G"1
\e(B") ("=" . "
\e$(G"8
\e(B") ("`" . "
\e$(G!j
\e(B") ("\\" . "
\e$(G"b
\e(B")
120 ("|" . "
\e$(G"^
\e(B") ("_" . "
\e$(G"%
\e(B") ("+" . "
\e$(G"0
\e(B") ("~" . "
\e$(G"D
\e(B")
121 ("[" . "
\e$(G!b
\e(B") ("]" . "
\e$(G!c
\e(B") ("{" . "
\e$A#{
\e(B") ("}" . "
\e$(G!a
\e(B")
122 (":" . "
\e$(G!(
\e(B") (";" . "
\e$(G!'
\e(B") ("\"" . "
\e$(G!i
\e(B") ("'" . "
\e$(G!k
\e(B")
123 ("<" . "
\e$(G"6
\e(B") (">" . "
\e$(G"7
\e(B") ("?" . "
\e$(G!)
\e(B") ("/" . "
\e$(G"a
\e(B")
124 ("," . "
\e$(G!"
\e(B") ("." . "
\e$(G!%
\e(B")
125 ("a" . "
\e$(G$A
\e(B") ("b" . "
\e$(G$B
\e(B") ("c" . "
\e$(G$C
\e(B") ("d" . "
\e$(G$D
\e(B")
126 ("e" . "
\e$(G$E
\e(B") ("f" . "
\e$(G$F
\e(B") ("g" . "
\e$(G$G
\e(B") ("h" . "
\e$(G$H
\e(B")
127 ("i" . "
\e$(G$I
\e(B") ("j" . "
\e$(G$J
\e(B") ("k" . "
\e$(G$K
\e(B") ("l" . "
\e$(G$L
\e(B")
128 ("m" . "
\e$(G$M
\e(B") ("n" . "
\e$(G$N
\e(B") ("o" . "
\e$(G$O
\e(B") ("p" . "
\e$(G$P
\e(B")
129 ("q" . "
\e$(G$Q
\e(B") ("r" . "
\e$(G$R
\e(B") ("s" . "
\e$(G$S
\e(B") ("t" . "
\e$(G$T
\e(B")
130 ("u" . "
\e$(G$U
\e(B") ("v" . "
\e$(G$V
\e(B") ("w" . "
\e$(G$W
\e(B") ("x" . "
\e$(G$X
\e(B")
131 ("y" . "
\e$(G$Y
\e(B") ("z" . "
\e$(G$Z
\e(B")
132 ("A" . "
\e$(G$A
\e(B") ("B" . "
\e$(G$B
\e(B") ("C" . "
\e$(G$C
\e(B") ("D" . "
\e$(G$D
\e(B")
133 ("E" . "
\e$(G$E
\e(B") ("F" . "
\e$(G$F
\e(B") ("G" . "
\e$(G$G
\e(B") ("H" . "
\e$(G$H
\e(B")
134 ("I" . "
\e$(G$I
\e(B") ("J" . "
\e$(G$J
\e(B") ("K" . "
\e$(G$K
\e(B") ("L" . "
\e$(G$L
\e(B")
135 ("M" . "
\e$(G$M
\e(B") ("N" . "
\e$(G$N
\e(B") ("O" . "
\e$(G$O
\e(B") ("P" . "
\e$(G$P
\e(B")
136 ("Q" . "
\e$(G$Q
\e(B") ("R" . "
\e$(G$R
\e(B") ("S" . "
\e$(G$S
\e(B") ("T" . "
\e$(G$T
\e(B")
137 ("U" . "
\e$(G$U
\e(B") ("V" . "
\e$(G$V
\e(B") ("W" . "
\e$(G$W
\e(B") ("X" . "
\e$(G$X
\e(B")
138 ("Y" . "
\e$(G$Y
\e(B") ("Z" . "
\e$(G$Z
\e(B")))
139 (let ((in (car ascii)) (out (cdr ascii)))
140 (its-defrule in out))))
142 (define-its-state-machine-append its-quanjiao-up-tw-map)
144 (define-its-state-machine its-quanjiao-down-tw-map
145 "quanjiao-downcase-tw" "
\e$(G$[
\e(B" Chinese-CNS
146 "Map for quanjiao-downcase input. (Chinese-CNS)"
148 (dolist (ascii '(("0" . "
\e$(G$!
\e(B") ("1" . "
\e$(G$"
\e(B") ("2" . "
\e$(G$#
\e(B") ("3" . "
\e$(G$$
\e(B")
149 ("4" . "
\e$(G$%
\e(B") ("5" . "
\e$(G$&
\e(B") ("6" . "
\e$(G$'
\e(B") ("7" . "
\e$(G$(
\e(B")
150 ("8" . "
\e$(G$)
\e(B") ("9" . "
\e$(G$*
\e(B")
151 (" " . "
\e$(G!!
\e(B") ("!" . "
\e$(G!*
\e(B") ("@" . "
\e$(G"i
\e(B") ("#" . "
\e$(G!l
\e(B")
152 ("$" . "
\e$(G"c
\e(B") ("%" . "
\e$(G"h
\e(B") ("^" . "
\e$(G!T
\e(B") ("&" . "
\e$(G!m
\e(B")
153 ("*" . "
\e$(G!n
\e(B") ("(" . "
\e$(G!>
\e(B") (")" . "
\e$(G!?
\e(B")
154 ("-" . "
\e$(G"1
\e(B") ("=" . "
\e$(G"8
\e(B") ("`" . "
\e$(G!j
\e(B") ("\\" . "
\e$(G"`
\e(B")
155 ("|" . "
\e$(G"^
\e(B") ("_" . "
\e$(G"%
\e(B") ("+" . "
\e$(G"0
\e(B") ("~" . "
\e$(G"D
\e(B")
156 ("[" . "
\e$(G!b
\e(B") ("]" . "
\e$(G!c
\e(B") ("{" . "
\e$(G!B
\e(B") ("}" . "
\e$(G!C
\e(B")
157 (":" . "
\e$(G!(
\e(B") (";" . "
\e$(G!'
\e(B") ("\"" . "
\e$(G!i
\e(B") ("'" . "
\e$(G!k
\e(B")
158 ("<" . "
\e$(G"6
\e(B") (">" . "
\e$(G"7
\e(B") ("?" . "
\e$(G!)
\e(B") ("/" . "
\e$(G"_
\e(B")
159 ("," . "
\e$(G!"
\e(B") ("." . "
\e$(G!%
\e(B")
160 ("a" . "
\e$(G$[
\e(B") ("b" . "
\e$(G$\
\e(B") ("c" . "
\e$(G$]
\e(B") ("d" . "
\e$(G$^
\e(B")
161 ("e" . "
\e$(G$_
\e(B") ("f" . "
\e$(G$`
\e(B") ("g" . "
\e$(G$a
\e(B") ("h" . "
\e$(G$b
\e(B")
162 ("i" . "
\e$(G$c
\e(B") ("j" . "
\e$(G$d
\e(B") ("k" . "
\e$(G$e
\e(B") ("l" . "
\e$(G$f
\e(B")
163 ("m" . "
\e$(G$g
\e(B") ("n" . "
\e$(G$h
\e(B") ("o" . "
\e$(G$i
\e(B") ("p" . "
\e$(G$j
\e(B")
164 ("q" . "
\e$(G$k
\e(B") ("r" . "
\e$(G$l
\e(B") ("s" . "
\e$(G$m
\e(B") ("t" . "
\e$(G$n
\e(B")
165 ("u" . "
\e$(G$o
\e(B") ("v" . "
\e$(G$p
\e(B") ("w" . "
\e$(G$q
\e(B") ("x" . "
\e$(G$r
\e(B")
166 ("y" . "
\e$(G$s
\e(B") ("z" . "
\e$(G$t
\e(B")
167 ("A" . "
\e$(G$A
\e(B") ("B" . "
\e$(G$B
\e(B") ("C" . "
\e$(G$C
\e(B") ("D" . "
\e$(G$D
\e(B")
168 ("E" . "
\e$(G$E
\e(B") ("F" . "
\e$(G$F
\e(B") ("G" . "
\e$(G$G
\e(B") ("H" . "
\e$(G$H
\e(B")
169 ("I" . "
\e$(G$I
\e(B") ("J" . "
\e$(G$J
\e(B") ("K" . "
\e$(G$K
\e(B") ("L" . "
\e$(G$L
\e(B")
170 ("M" . "
\e$(G$M
\e(B") ("N" . "
\e$(G$N
\e(B") ("O" . "
\e$(G$O
\e(B") ("P" . "
\e$(G$P
\e(B")
171 ("Q" . "
\e$(G$Q
\e(B") ("R" . "
\e$(G$R
\e(B") ("S" . "
\e$(G$S
\e(B") ("T" . "
\e$(G$T
\e(B")
172 ("U" . "
\e$(G$U
\e(B") ("V" . "
\e$(G$V
\e(B") ("W" . "
\e$(G$W
\e(B") ("X" . "
\e$(G$X
\e(B")
173 ("Y" . "
\e$(G$Y
\e(B") ("Z" . "
\e$(G$Z
\e(B")))
174 (let ((in (car ascii)) (out (cdr ascii)))
175 (its-defrule in out))))
177 (define-its-state-machine-append its-quanjiao-down-tw-map)
179 (provide 'its/quanjiao)