1 ;;; its/zenkau.el --- Zenkaku ASCII Input in Egg Input Method Architecture
3 ;; Copyright (C) 1997, 1998 Mule Project,
4 ;; Powered by Electrotechnical Laboratory, JAPAN.
5 ;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
7 ;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
9 ;; This file will be part of GNU Emacs (in future).
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation; either version 2, or (at your option)
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 ;; Boston, MA 02111-1307, USA.
28 ;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro)
29 ;; This file is based on the rules of its/hira.el in Mule-2.3 distribution.
37 (define-its-state-machine its-zenkaku-up-map
38 "zenkaku-upcase" "
\e$B#A
\e(B" Japanese
39 "Map for zenkaku-upcase input."
41 (dolist (ascii '(("0" . "
\e$B#0
\e(B") ("1" . "
\e$B#1
\e(B") ("2" . "
\e$B#2
\e(B") ("3" . "
\e$B#3
\e(B")
42 ("4" . "
\e$B#4
\e(B") ("5" . "
\e$B#5
\e(B") ("6" . "
\e$B#6
\e(B") ("7" . "
\e$B#7
\e(B")
43 ("8" . "
\e$B#8
\e(B") ("9" . "
\e$B#9
\e(B")
44 (" " . "
\e$B!!
\e(B") ("!" . "
\e$B!*
\e(B") ("@" . "
\e$B!w
\e(B") ("#" . "
\e$B!t
\e(B")
45 ("$" . "
\e$B!p
\e(B") ("%" . "
\e$B!s
\e(B") ("^" . "
\e$B!0
\e(B") ("&" . "
\e$B!u
\e(B")
46 ("*" . "
\e$B!v
\e(B") ("(" . "
\e$B!J
\e(B") (")" . "
\e$B!K
\e(B")
47 ("-" . "
\e$B!]
\e(B") ("=" . "
\e$B!a
\e(B") ("`" . "
\e$B!.
\e(B") ("\\" . "
\e$B!@
\e(B")
48 ("|" . "
\e$B!C
\e(B") ("_" . "
\e$B!2
\e(B") ("+" . "
\e$B!\
\e(B") ("~" . "
\e$B!A
\e(B")
49 ("[" . "
\e$B!N
\e(B") ("]" . "
\e$B!O
\e(B") ("{" . "
\e$B!P
\e(B") ("}" . "
\e$B!Q
\e(B")
50 (":" . "
\e$B!'
\e(B") (";" . "
\e$B!(
\e(B") ("\"" . "
\e$B!I
\e(B") ("'" . "
\e$B!-
\e(B")
51 ("<" . "
\e$B!c
\e(B") (">" . "
\e$B!d
\e(B") ("?" . "
\e$B!)
\e(B") ("/" . "
\e$B!?
\e(B")
52 ("," . "
\e$B!$
\e(B") ("." . "
\e$B!%
\e(B")
53 ("a" . "
\e$B#A
\e(B") ("b" . "
\e$B#B
\e(B") ("c" . "
\e$B#C
\e(B") ("d" . "
\e$B#D
\e(B")
54 ("e" . "
\e$B#E
\e(B") ("f" . "
\e$B#F
\e(B") ("g" . "
\e$B#G
\e(B") ("h" . "
\e$B#H
\e(B")
55 ("i" . "
\e$B#I
\e(B") ("j" . "
\e$B#J
\e(B") ("k" . "
\e$B#K
\e(B") ("l" . "
\e$B#L
\e(B")
56 ("m" . "
\e$B#M
\e(B") ("n" . "
\e$B#N
\e(B") ("o" . "
\e$B#O
\e(B") ("p" . "
\e$B#P
\e(B")
57 ("q" . "
\e$B#Q
\e(B") ("r" . "
\e$B#R
\e(B") ("s" . "
\e$B#S
\e(B") ("t" . "
\e$B#T
\e(B")
58 ("u" . "
\e$B#U
\e(B") ("v" . "
\e$B#V
\e(B") ("w" . "
\e$B#W
\e(B") ("x" . "
\e$B#X
\e(B")
59 ("y" . "
\e$B#Y
\e(B") ("z" . "
\e$B#Z
\e(B")
60 ("A" . "
\e$B#A
\e(B") ("B" . "
\e$B#B
\e(B") ("C" . "
\e$B#C
\e(B") ("D" . "
\e$B#D
\e(B")
61 ("E" . "
\e$B#E
\e(B") ("F" . "
\e$B#F
\e(B") ("G" . "
\e$B#G
\e(B") ("H" . "
\e$B#H
\e(B")
62 ("I" . "
\e$B#I
\e(B") ("J" . "
\e$B#J
\e(B") ("K" . "
\e$B#K
\e(B") ("L" . "
\e$B#L
\e(B")
63 ("M" . "
\e$B#M
\e(B") ("N" . "
\e$B#N
\e(B") ("O" . "
\e$B#O
\e(B") ("P" . "
\e$B#P
\e(B")
64 ("Q" . "
\e$B#Q
\e(B") ("R" . "
\e$B#R
\e(B") ("S" . "
\e$B#S
\e(B") ("T" . "
\e$B#T
\e(B")
65 ("U" . "
\e$B#U
\e(B") ("V" . "
\e$B#V
\e(B") ("W" . "
\e$B#W
\e(B") ("X" . "
\e$B#X
\e(B")
66 ("Y" . "
\e$B#Y
\e(B") ("Z" . "
\e$B#Z
\e(B")))
67 (let ((in (car ascii)) (out (cdr ascii)))
68 (its-defrule in out))))
70 (define-its-state-machine its-zenkaku-down-map
71 "zenkaku-downcase" "
\e$B#a
\e(B" Japanese
72 "Map for zenkaku-downcase input."
74 (dolist (ascii '(("0" . "
\e$B#0
\e(B") ("1" . "
\e$B#1
\e(B") ("2" . "
\e$B#2
\e(B") ("3" . "
\e$B#3
\e(B")
75 ("4" . "
\e$B#4
\e(B") ("5" . "
\e$B#5
\e(B") ("6" . "
\e$B#6
\e(B") ("7" . "
\e$B#7
\e(B")
76 ("8" . "
\e$B#8
\e(B") ("9" . "
\e$B#9
\e(B")
77 (" " . "
\e$B!!
\e(B") ("!" . "
\e$B!*
\e(B") ("@" . "
\e$B!w
\e(B") ("#" . "
\e$B!t
\e(B")
78 ("$" . "
\e$B!p
\e(B") ("%" . "
\e$B!s
\e(B") ("^" . "
\e$B!0
\e(B") ("&" . "
\e$B!u
\e(B")
79 ("*" . "
\e$B!v
\e(B") ("(" . "
\e$B!J
\e(B") (")" . "
\e$B!K
\e(B")
80 ("-" . "
\e$B!]
\e(B") ("=" . "
\e$B!a
\e(B") ("`" . "
\e$B!.
\e(B") ("\\" . "
\e$B!@
\e(B")
81 ("|" . "
\e$B!C
\e(B") ("_" . "
\e$B!2
\e(B") ("+" . "
\e$B!\
\e(B") ("~" . "
\e$B!A
\e(B")
82 ("[" . "
\e$B!N
\e(B") ("]" . "
\e$B!O
\e(B") ("{" . "
\e$B!P
\e(B") ("}" . "
\e$B!Q
\e(B")
83 (":" . "
\e$B!'
\e(B") (";" . "
\e$B!(
\e(B") ("\"" . "
\e$B!I
\e(B") ("'" . "
\e$B!-
\e(B")
84 ("<" . "
\e$B!c
\e(B") (">" . "
\e$B!d
\e(B") ("?" . "
\e$B!)
\e(B") ("/" . "
\e$B!?
\e(B")
85 ("," . "
\e$B!$
\e(B") ("." . "
\e$B!%
\e(B")
86 ("a" . "
\e$B#a
\e(B") ("b" . "
\e$B#b
\e(B") ("c" . "
\e$B#c
\e(B") ("d" . "
\e$B#d
\e(B")
87 ("e" . "
\e$B#e
\e(B") ("f" . "
\e$B#f
\e(B") ("g" . "
\e$B#g
\e(B") ("h" . "
\e$B#h
\e(B")
88 ("i" . "
\e$B#i
\e(B") ("j" . "
\e$B#j
\e(B") ("k" . "
\e$B#k
\e(B") ("l" . "
\e$B#l
\e(B")
89 ("m" . "
\e$B#m
\e(B") ("n" . "
\e$B#n
\e(B") ("o" . "
\e$B#o
\e(B") ("p" . "
\e$B#p
\e(B")
90 ("q" . "
\e$B#q
\e(B") ("r" . "
\e$B#r
\e(B") ("s" . "
\e$B#s
\e(B") ("t" . "
\e$B#t
\e(B")
91 ("u" . "
\e$B#u
\e(B") ("v" . "
\e$B#v
\e(B") ("w" . "
\e$B#w
\e(B") ("x" . "
\e$B#x
\e(B")
92 ("y" . "
\e$B#y
\e(B") ("z" . "
\e$B#z
\e(B")
93 ("A" . "
\e$B#A
\e(B") ("B" . "
\e$B#B
\e(B") ("C" . "
\e$B#C
\e(B") ("D" . "
\e$B#D
\e(B")
94 ("E" . "
\e$B#E
\e(B") ("F" . "
\e$B#F
\e(B") ("G" . "
\e$B#G
\e(B") ("H" . "
\e$B#H
\e(B")
95 ("I" . "
\e$B#I
\e(B") ("J" . "
\e$B#J
\e(B") ("K" . "
\e$B#K
\e(B") ("L" . "
\e$B#L
\e(B")
96 ("M" . "
\e$B#M
\e(B") ("N" . "
\e$B#N
\e(B") ("O" . "
\e$B#O
\e(B") ("P" . "
\e$B#P
\e(B")
97 ("Q" . "
\e$B#Q
\e(B") ("R" . "
\e$B#R
\e(B") ("S" . "
\e$B#S
\e(B") ("T" . "
\e$B#T
\e(B")
98 ("U" . "
\e$B#U
\e(B") ("V" . "
\e$B#V
\e(B") ("W" . "
\e$B#W
\e(B") ("X" . "
\e$B#X
\e(B")
99 ("Y" . "
\e$B#Y
\e(B") ("Z" . "
\e$B#Z
\e(B")))
100 (let ((in (car ascii)) (out (cdr ascii)))
101 (its-defrule in out))))
103 (provide 'its/zenkaku)