1 ;;; its/jeonkak.el --- Jeonkak 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.
38 (define-its-state-machine its-jeonkak-up-map
39 "jeonkak-upcase" "
\e$(C#A
\e(B" Korean
40 "Map for jeonkak-upcase input."
42 (dolist (ascii '(("1" . "
\e$(C#1
\e(B") ("2" . "
\e$(C#2
\e(B") ("3" . "
\e$(C#3
\e(B") ("4" . "
\e$(C#4
\e(B")
43 ("5" . "
\e$(C#5
\e(B") ("6" . "
\e$(C#6
\e(B") ("7" . "
\e$(C#7
\e(B") ("8" . "
\e$(C#8
\e(B")
44 ("9" . "
\e$(C#9
\e(B") ("0" . "
\e$(C#0
\e(B")
45 (" " . "
\e$(C!!
\e(B") ("!" . "
\e$(C#!
\e(B") ("@" . "
\e$(C#@
\e(B") ("#" . "
\e$(C##
\e(B")
46 ("$" . "
\e$(C#$
\e(B") ("%" . "
\e$(C#%
\e(B") ("^" . "
\e$(C#^
\e(B") ("&" . "
\e$(C#&
\e(B")
47 ("*" . "
\e$(C#*
\e(B") ("(" . "
\e$(C#(
\e(B") (")" . "
\e$(C#)
\e(B")
48 ("-" . "
\e$(C#-
\e(B") ("=" . "
\e$(C#=
\e(B") ("`" . "
\e$(C#`
\e(B") ("\\" . "
\e$(C#\
\e(B")
49 ("|" . "
\e$(C#|
\e(B") ("_" . "
\e$(C#_
\e(B") ("+" . "
\e$(C#+
\e(B") ("~" . "
\e$(C#~
\e(B")
50 ("[" . "
\e$(C!8
\e(B") ("]" . "
\e$(C!9
\e(B") ("{" . "
\e$(C#{
\e(B") ("}" . "
\e$(C#}
\e(B")
51 (":" . "
\e$(C#:
\e(B") (";" . "
\e$(C#;
\e(B") ("\"" . "
\e$(C#"
\e(B") ("'" . "
\e$(C#'
\e(B")
52 ("<" . "
\e$(C#<
\e(B") (">" . "
\e$(C#>
\e(B") ("?" . "
\e$(C#?
\e(B") ("/" . "
\e$(C#/
\e(B")
53 ("," . "
\e$(C#,
\e(B") ("." . "
\e$(C#.
\e(B")
54 ("a" . "
\e$(C#A
\e(B") ("b" . "
\e$(C#B
\e(B") ("c" . "
\e$(C#C
\e(B") ("d" . "
\e$(C#D
\e(B")
55 ("e" . "
\e$(C#E
\e(B") ("f" . "
\e$(C#F
\e(B") ("g" . "
\e$(C#G
\e(B") ("h" . "
\e$(C#H
\e(B")
56 ("i" . "
\e$(C#I
\e(B") ("j" . "
\e$(C#J
\e(B") ("k" . "
\e$(C#K
\e(B") ("l" . "
\e$(C#L
\e(B")
57 ("m" . "
\e$(C#M
\e(B") ("n" . "
\e$(C#N
\e(B") ("o" . "
\e$(C#O
\e(B") ("p" . "
\e$(C#P
\e(B")
58 ("q" . "
\e$(C#Q
\e(B") ("r" . "
\e$(C#R
\e(B") ("s" . "
\e$(C#S
\e(B") ("t" . "
\e$(C#T
\e(B")
59 ("u" . "
\e$(C#U
\e(B") ("v" . "
\e$(C#V
\e(B") ("w" . "
\e$(C#W
\e(B") ("x" . "
\e$(C#X
\e(B")
60 ("y" . "
\e$(C#Y
\e(B") ("z" . "
\e$(C#Z
\e(B")
61 ("A" . "
\e$(C#A
\e(B") ("B" . "
\e$(C#B
\e(B") ("C" . "
\e$(C#C
\e(B") ("D" . "
\e$(C#D
\e(B")
62 ("E" . "
\e$(C#E
\e(B") ("F" . "
\e$(C#F
\e(B") ("G" . "
\e$(C#G
\e(B") ("H" . "
\e$(C#H
\e(B")
63 ("I" . "
\e$(C#I
\e(B") ("J" . "
\e$(C#J
\e(B") ("K" . "
\e$(C#K
\e(B") ("L" . "
\e$(C#L
\e(B")
64 ("M" . "
\e$(C#M
\e(B") ("N" . "
\e$(C#N
\e(B") ("O" . "
\e$(C#O
\e(B") ("P" . "
\e$(C#P
\e(B")
65 ("Q" . "
\e$(C#Q
\e(B") ("R" . "
\e$(C#R
\e(B") ("S" . "
\e$(C#S
\e(B") ("T" . "
\e$(C#T
\e(B")
66 ("U" . "
\e$(C#U
\e(B") ("V" . "
\e$(C#V
\e(B") ("W" . "
\e$(C#W
\e(B") ("X" . "
\e$(C#X
\e(B")
67 ("Y" . "
\e$(C#Y
\e(B") ("Z" . "
\e$(C#Z
\e(B")))
68 (let ((in (car ascii)) (out (cdr ascii)))
69 (its-defrule in out))))
71 (define-its-state-machine-append its-jeonkak-up-map)
73 (define-its-state-machine its-jeonkak-down-map
74 "jeonkak-downcase" "
\e$(C#a
\e(B" Korean
75 "Map for jeonkak-downcase input."
77 (dolist (ascii '(("1" . "
\e$(C#1
\e(B") ("2" . "
\e$(C#2
\e(B") ("3" . "
\e$(C#3
\e(B") ("4" . "
\e$(C#4
\e(B")
78 ("5" . "
\e$(C#5
\e(B") ("6" . "
\e$(C#6
\e(B") ("7" . "
\e$(C#7
\e(B") ("8" . "
\e$(C#8
\e(B")
79 ("9" . "
\e$(C#9
\e(B") ("0" . "
\e$(C#0
\e(B")
80 (" " . "
\e$(C!!
\e(B") ("!" . "
\e$(C#!
\e(B") ("@" . "
\e$(C#@
\e(B") ("#" . "
\e$(C##
\e(B")
81 ("$" . "
\e$(C#$
\e(B") ("%" . "
\e$(C#%
\e(B") ("^" . "
\e$(C#^
\e(B") ("&" . "
\e$(C#&
\e(B")
82 ("*" . "
\e$(C#*
\e(B") ("(" . "
\e$(C#(
\e(B") (")" . "
\e$(C#)
\e(B")
83 ("-" . "
\e$(C#-
\e(B") ("=" . "
\e$(C#=
\e(B") ("`" . "
\e$(C#`
\e(B") ("\\" . "
\e$(C#\
\e(B")
84 ("|" . "
\e$(C#|
\e(B") ("_" . "
\e$(C#_
\e(B") ("+" . "
\e$(C#+
\e(B") ("~" . "
\e$(C#~
\e(B")
85 ("[" . "
\e$(C!8
\e(B") ("]" . "
\e$(C!9
\e(B") ("{" . "
\e$(C#{
\e(B") ("}" . "
\e$(C#}
\e(B")
86 (":" . "
\e$(C#:
\e(B") (";" . "
\e$(C#;
\e(B") ("\"" . "
\e$(C#"
\e(B") ("'" . "
\e$(C#'
\e(B")
87 ("<" . "
\e$(C#<
\e(B") (">" . "
\e$(C#>
\e(B") ("?" . "
\e$(C#?
\e(B") ("/" . "
\e$(C#/
\e(B")
88 ("," . "
\e$(C#,
\e(B") ("." . "
\e$(C#.
\e(B")
89 ("a" . "
\e$(C#a
\e(B") ("b" . "
\e$(C#b
\e(B") ("c" . "
\e$(C#c
\e(B") ("d" . "
\e$(C#d
\e(B")
90 ("e" . "
\e$(C#e
\e(B") ("f" . "
\e$(C#f
\e(B") ("g" . "
\e$(C#g
\e(B") ("h" . "
\e$(C#h
\e(B")
91 ("i" . "
\e$(C#i
\e(B") ("j" . "
\e$(C#j
\e(B") ("k" . "
\e$(C#k
\e(B") ("l" . "
\e$(C#l
\e(B")
92 ("m" . "
\e$(C#m
\e(B") ("n" . "
\e$(C#n
\e(B") ("o" . "
\e$(C#o
\e(B") ("p" . "
\e$(C#p
\e(B")
93 ("q" . "
\e$(C#q
\e(B") ("r" . "
\e$(C#r
\e(B") ("s" . "
\e$(C#s
\e(B") ("t" . "
\e$(C#t
\e(B")
94 ("u" . "
\e$(C#u
\e(B") ("v" . "
\e$(C#v
\e(B") ("w" . "
\e$(C#w
\e(B") ("x" . "
\e$(C#x
\e(B")
95 ("y" . "
\e$(C#y
\e(B") ("z" . "
\e$(C#z
\e(B")
96 ("A" . "
\e$(C#A
\e(B") ("B" . "
\e$(C#B
\e(B") ("C" . "
\e$(C#C
\e(B") ("D" . "
\e$(C#D
\e(B")
97 ("E" . "
\e$(C#E
\e(B") ("F" . "
\e$(C#F
\e(B") ("G" . "
\e$(C#G
\e(B") ("H" . "
\e$(C#H
\e(B")
98 ("I" . "
\e$(C#I
\e(B") ("J" . "
\e$(C#J
\e(B") ("K" . "
\e$(C#K
\e(B") ("L" . "
\e$(C#L
\e(B")
99 ("M" . "
\e$(C#M
\e(B") ("N" . "
\e$(C#N
\e(B") ("O" . "
\e$(C#O
\e(B") ("P" . "
\e$(C#P
\e(B")
100 ("Q" . "
\e$(C#Q
\e(B") ("R" . "
\e$(C#R
\e(B") ("S" . "
\e$(C#S
\e(B") ("T" . "
\e$(C#T
\e(B")
101 ("U" . "
\e$(C#U
\e(B") ("V" . "
\e$(C#V
\e(B") ("W" . "
\e$(C#W
\e(B") ("X" . "
\e$(C#X
\e(B")
102 ("Y" . "
\e$(C#Y
\e(B") ("Z" . "
\e$(C#Z
\e(B")))
103 (let ((in (car ascii)) (out (cdr ascii)))
104 (its-defrule in out))))
106 (define-its-state-machine-append its-jeonkak-down-map)
108 (provide 'its/jeonkak)