;;; its/zenkau.el --- Zenkaku ASCII Input in Egg Input Method Architecture ;; Copyright (C) 1997, 1998 Mule Project, ;; Powered by Electrotechnical Laboratory, JAPAN. ;; Project Leader: Satoru Tomura ;; Author: KATAYAMA Yoshio ;; This file will be part of GNU Emacs (in future). ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; ;; Symbol input is desined by jiro@math.keio.ac.jp (TANAKA Jiro) ;; This file is based on the rules of its/hira.el in Mule-2.3 distribution. ;; ;;; Code: (eval-when-compile (require 'its)) (define-its-state-machine its-zenkaku-up-map "zenkaku-upcase" "A" Japanese "Map for zenkaku-upcase input." (dolist (ascii '(("0" . "0") ("1" . "1") ("2" . "2") ("3" . "3") ("4" . "4") ("5" . "5") ("6" . "6") ("7" . "7") ("8" . "8") ("9" . "9") (" " . " ") ("!" . "!") ("@" . "@") ("#" . "#") ("$" . "$") ("%" . "%") ("^" . "^") ("&" . "&") ("*" . "*") ("(" . "(") (")" . ")") ("-" . "−") ("=" . "=") ("`" . "`") ("\\" . "\") ("|" . "|") ("_" . "_") ("+" . "+") ("~" . "〜") ("[" . "[") ("]" . "]") ("{" . "{") ("}" . "}") (":" . ":") (";" . ";") ("\"" . "”") ("'" . "´") ("<" . "<") (">" . ">") ("?" . "?") ("/" . "/") ("," . ",") ("." . ".") ("a" . "A") ("b" . "B") ("c" . "C") ("d" . "D") ("e" . "E") ("f" . "F") ("g" . "G") ("h" . "H") ("i" . "I") ("j" . "J") ("k" . "K") ("l" . "L") ("m" . "M") ("n" . "N") ("o" . "O") ("p" . "P") ("q" . "Q") ("r" . "R") ("s" . "S") ("t" . "T") ("u" . "U") ("v" . "V") ("w" . "W") ("x" . "X") ("y" . "Y") ("z" . "Z") ("A" . "A") ("B" . "B") ("C" . "C") ("D" . "D") ("E" . "E") ("F" . "F") ("G" . "G") ("H" . "H") ("I" . "I") ("J" . "J") ("K" . "K") ("L" . "L") ("M" . "M") ("N" . "N") ("O" . "O") ("P" . "P") ("Q" . "Q") ("R" . "R") ("S" . "S") ("T" . "T") ("U" . "U") ("V" . "V") ("W" . "W") ("X" . "X") ("Y" . "Y") ("Z" . "Z"))) (let ((in (car ascii)) (out (cdr ascii))) (its-defrule in out)))) (define-its-state-machine its-zenkaku-down-map "zenkaku-downcase" "a" Japanese "Map for zenkaku-downcase input." (dolist (ascii '(("0" . "0") ("1" . "1") ("2" . "2") ("3" . "3") ("4" . "4") ("5" . "5") ("6" . "6") ("7" . "7") ("8" . "8") ("9" . "9") (" " . " ") ("!" . "!") ("@" . "@") ("#" . "#") ("$" . "$") ("%" . "%") ("^" . "^") ("&" . "&") ("*" . "*") ("(" . "(") (")" . ")") ("-" . "−") ("=" . "=") ("`" . "`") ("\\" . "\") ("|" . "|") ("_" . "_") ("+" . "+") ("~" . "〜") ("[" . "[") ("]" . "]") ("{" . "{") ("}" . "}") (":" . ":") (";" . ";") ("\"" . "”") ("'" . "´") ("<" . "<") (">" . ">") ("?" . "?") ("/" . "/") ("," . ",") ("." . ".") ("a" . "a") ("b" . "b") ("c" . "c") ("d" . "d") ("e" . "e") ("f" . "f") ("g" . "g") ("h" . "h") ("i" . "i") ("j" . "j") ("k" . "k") ("l" . "l") ("m" . "m") ("n" . "n") ("o" . "o") ("p" . "p") ("q" . "q") ("r" . "r") ("s" . "s") ("t" . "t") ("u" . "u") ("v" . "v") ("w" . "w") ("x" . "x") ("y" . "y") ("z" . "z") ("A" . "A") ("B" . "B") ("C" . "C") ("D" . "D") ("E" . "E") ("F" . "F") ("G" . "G") ("H" . "H") ("I" . "I") ("J" . "J") ("K" . "K") ("L" . "L") ("M" . "M") ("N" . "N") ("O" . "O") ("P" . "P") ("Q" . "Q") ("R" . "R") ("S" . "S") ("T" . "T") ("U" . "U") ("V" . "V") ("W" . "W") ("X" . "X") ("Y" . "Y") ("Z" . "Z"))) (let ((in (car ascii)) (out (cdr ascii))) (its-defrule in out)))) (provide 'its/zenkaku)