Sync up with egg-980712.
[elisp/egg.git] / its / zenkaku.el
1 ;;; its/zenkau.el --- Zenkaku ASCII Input in Egg Input Method Architecture
2
3 ;; Copyright (C) 1997, 1998 Mule Project,
4 ;; Powered by Electrotechnical Laboratory, JAPAN.
5 ;; Project Leader: Satoru Tomura <tomura@etl.go.jp>
6
7 ;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>
8
9 ;; This file will be part of GNU Emacs (in future).
10
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)
14 ;; any later version.
15
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.
20
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.
25
26 ;;; Commentary:
27 ;;
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.
30 ;;
31
32 ;;; Code:
33
34 (eval-when-compile
35   (require 'its))
36
37 (define-its-state-machine its-zenkaku-up-map
38   "zenkaku-upcase" "\e$B#A\e(B" Japanese
39   "Map for zenkaku-upcase input."
40
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))))
69
70 (define-its-state-machine its-zenkaku-down-map
71   "zenkaku-downcase" "\e$B#a\e(B" Japanese
72   "Map for zenkaku-downcase input."
73
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))))
102
103 (provide 'its/zenkaku)