Add more romanization keys. Use "I" for toggling
authorhanda <handa>
Tue, 26 Jul 2005 04:59:29 +0000 (04:59 +0000)
committerhanda <handa>
Tue, 26 Jul 2005 04:59:29 +0000 (04:59 +0000)
isolated Jamo input mode.

ko-romaja.mim

index acf0f17..4a8b34f 100644 (file)
@@ -1,5 +1,5 @@
 ;; ko-romaja.mim -- Input method for Korean Hangul with Romaja keys.
-;; Copyright (C) 2004
+;; Copyright (C) 2004, 2005
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H15PRO112
 
@@ -47,7 +47,7 @@
       (delete @<)
       (insert S))))
 
- ;; If L is not negatice, convert Jame sequence LV to a precomposed
+ ;; If L is not negative, convert Jame sequence LV to a precomposed
  ;; character while assuming T is 0x11A7.  If L is 0 (i.e. missing),
  ;; set L to 0x110B.
  (compose-vowel
       (set T T1)))))
 
 (map
- ;; Common keys for CHOSEONG and JONGSEONG.
+ ;; Keys common to CHOSEONG and JONGSEONG.
  ;; Set L1 to CHOSEONG, T to JONGSEONG, insert a Compatibility Jamo.
  (X
   ("g"  (set L1 0x1100) (set T 0x11A8) ?ㄱ (compose))
   ("gg" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose))
-  ("G"  (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose))
-  ("n"  (set L1 0x1102) (set T 0x11AB) ?ㄲ (compose))
+  ("kk" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose))
+  ("qq" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose))
+  ("c"  (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose))
+  ("n"  (set L1 0x1102) (set T 0x11AB) ?ㄴ (compose))
   ("d"  (set L1 0x1103) (set T 0x11AE) ?ㄷ (compose))
+  ("l"  (set L1 0x1105) (set T 0x11AF) ?ㄹ (compose))
+  ("r"  (set L1 0x1105) (set T 0x11AF) ?ㄹ (compose))
   ("m"  (set L1 0x1106) (set T 0x11B7) ?ㅁ (compose))
   ("b"  (set L1 0x1107) (set T 0x11B8) ?ㅂ (compose))
+  ("v"  (set L1 0x1107) (set T 0x11B8) ?ㅂ (compose))
   ("s"  (set L1 0x1109) (set T 0x11BA) ?ㅅ (compose))
   ("ss" (set L1 0x110A) (set T 0x11BB) ?ㅆ (compose))
+  ("ng" (set L1 0x110B) (set T 0x11BC) ?ㅇ (compose))
+  ("x"  (set L1 0x110B) (set T 0x11BC) ?ㅇ (compose))
   ("j"  (set L1 0x110C) (set T 0x11BD) ?ㅈ (compose))
   ("z"  (set L1 0x110C) (set T 0x11BD) ?ㅈ (compose))
   ("ch" (set L1 0x110E) (set T 0x11BE) ?ㅊ (compose))
   ("k"  (set L1 0x110F) (set T 0x11BF) ?ㅋ (compose))
+  ("q"  (set L1 0x110F) (set T 0x11BF) ?ㅋ (compose))
   ("t"  (set L1 0x1110) (set T 0x11C0) ?ㅌ (compose))
   ("p"  (set L1 0x1111) (set T 0x11C1) ?ㅍ (compose))
+  ("f"  (set L1 0x1111) (set T 0x11C1) ?ㅍ (compose))
   ("h"  (set L1 0x1112) (set T 0x11C2) ?ㅎ (compose)))
 
- ;; Keys starting X.
- (X-head
-  ("g") ("G") ("n") ("d") ("m") ("b") ("s") ("j") ("z") ("c")
-  ("k") ("t") ("p") ("h"))
-
  ;; Keys only for CHOSEONG.
  ;; Set L to CHOSEONG, insert a Compatibility Jamo.
  (L
+  ("G"  (set L 0x1100) ?ㄱ)
+  ("Gg" (set L 0x1101) ?ㄲ)
+  ("Kk" (set L 0x1101) ?ㄲ)
+  ("Qq" (set L 0x1101) ?ㄲ)
+  ("C"  (set L 0x1101) ?ㄲ)
+  ("N"  (set L 0x1102) ?ㄴ)
+  ("D"  (set L 0x1103) ?ㄷ)
   ("dd" (set L 0x1104) ?ㄸ)
-  ("D"  (set L 0x1104) ?ㄸ)
-  ("r"  (set L 0x1105) ?ㄹ)
+  ("Dd" (set L 0x1104) ?ㄸ)
+  ("tt" (set L 0x1104) ?ㄸ)
+  ("Tt" (set L 0x1104) ?ㄸ)
+  ("L"  (set L 0x1105) ?ㄹ)
+  ("R"  (set L 0x1105) ?ㄹ)
+  ("M"  (set L 0x1106) ?ㅁ)
+  ("B"  (set L 0x1107) ?ㅂ)
+  ("V"  (set L 0x1107) ?ㅂ)
   ("bb" (set L 0x1108) ?ㅃ)
-  ("B"  (set L 0x1108) ?ㅃ)
-  ("S"  (set L 0x110A) ?ㅆ)
+  ("Bb" (set L 0x1108) ?ㅃ)
+  ("S"  (set L 0x1109) ?ㅅ)
+  ("Ss" (set L 0x110A) ?ㅆ)
+  ("Ng" (set L 0x110B) ?ㅇ)
+  ("X"  (set L 0x110B) ?ㅇ)
+  ("J"  (set L 0x110C) ?ㅈ)
+  ("Z"  (set L 0x110C) ?ㅈ)
   ("jj" (set L 0x110D) ?ㅉ)
-  ("J"  (set L 0x110D) ?ㅉ)
+  ("Jj" (set L 0x110D) ?ㅉ)
   ("zz" (set L 0x110D) ?ㅉ)
-  ("Z"  (set L 0x110D) ?ㅉ)
-  ("q"  (set L 0x110F) ?ㅋ))
+  ("Zz" (set L 0x110D) ?ㅉ)
+  ("ch" (set L 0x110E) ?ㅊ)
+  ("K"  (set L 0x110F) ?ㅋ)
+  ("Q"  (set L 0x110F) ?ㅋ)
+  ("T"  (set L 0x1110) ?ㅌ)
+  ("P"  (set L 0x1111) ?ㅍ)
+  ("F"  (set L 0x1111) ?ㅍ)
+  ("H"  (set L 0x1112) ?ㅎ))
 
  ;; Keys only for JONGSEONG.
  ;; Set T to JONGSEONG, insert a Compatibility Jamo.
   ("gs" (set T 0x11AA) ?ㄳ (compose))
   ("nj" (set T 0x11AC) ?ㄵ (compose))
   ("nh" (set T 0x11AD) ?ㄶ (compose))
-  ("l"  (set T 0x11AF) ?ㄹ (compose))
   ("lg" (set T 0x11B0) ?ㄺ (compose))
   ("lm" (set T 0x11B1) ?ㄻ (compose))
   ("lb" (set T 0x11B2) ?ㄼ (compose))
   ("lt" (set T 0x11B4) ?ㄾ (compose))
   ("lp" (set T 0x11B5) ?ㄿ (compose))
   ("lh" (set T 0x11B6) ?ㅀ (compose))
-  ("bs" (set T 0x11B9) ?ㅄ (compose))
-  ("ng" (set T 0x11BC) ?ㅇ (compose)))
+  ("bs" (set T 0x11B9) ?ㅄ (compose)))
 
  ;; Keys only for JUNGSEONG.
  ;; Set V to JUNGSEONG, insert a Compatibility Jamo.
   ("ai"  (set V 0x1162) ?ㅐ (compose-vowel))
   ("ae"  (set V 0x1162) ?ㅐ (compose-vowel))
   ("ya"  (set V 0x1163) ?ㅑ (compose-vowel))
+  ("ia"  (set V 0x1163) ?ㅑ (compose-vowel))
   ("yai" (set V 0x1164) ?ㅒ (compose-vowel))
   ("yae" (set V 0x1164) ?ㅒ (compose-vowel))
+  ("iae" (set V 0x1164) ?ㅒ (compose-vowel))
   ("eo"  (set V 0x1165) ?ㅓ (compose-vowel))
   ("e"   (set V 0x1166) ?ㅔ (compose-vowel))
   ("eoi" (set V 0x1166) ?ㅔ (compose-vowel))
   ("yeo" (set V 0x1167) ?ㅕ (compose-vowel))
+  ("ieo" (set V 0x1167) ?ㅕ (compose-vowel))
   ("ye"  (set V 0x1168) ?ㅖ (compose-vowel))
+  ("ie"  (set V 0x1168) ?ㅖ (compose-vowel))
   ("yeoi"(set V 0x1168) ?ㅖ (compose-vowel))
   ("o"   (set V 0x1169) ?ㅗ (compose-vowel))
   ("oa"  (set V 0x116A) ?ㅘ (compose-vowel))
   ("wa"  (set V 0x116A) ?ㅘ (compose-vowel))
+  ("ua"  (set V 0x116A) ?ㅘ (compose-vowel))
   ("oai" (set V 0x116B) ?ㅙ (compose-vowel))
   ("wae" (set V 0x116B) ?ㅙ (compose-vowel))
+  ("uae" (set V 0x116B) ?ㅙ (compose-vowel))
+  ("oae" (set V 0x116B) ?ㅙ (compose-vowel))
   ("oi"  (set V 0x116C) ?ㅚ (compose-vowel))
+  ("woe" (set V 0x116C) ?ㅚ (compose-vowel))
+  ("uoe" (set V 0x116C) ?ㅚ (compose-vowel))
   ("oe"  (set V 0x116C) ?ㅚ (compose-vowel))
   ("yo"  (set V 0x116D) ?ㅛ (compose-vowel))
+  ("io"  (set V 0x116D) ?ㅛ (compose-vowel))
   ("u"   (set V 0x116E) ?ㅜ (compose-vowel))
+  ("w"   (set V 0x116E) ?ㅜ (compose-vowel))
+  ("oo"  (set V 0x116E) ?ㅜ (compose-vowel))
   ("ueo" (set V 0x116F) ?ㅝ (compose-vowel))
   ("wo"  (set V 0x116F) ?ㅝ (compose-vowel))
+  ("uo"  (set V 0x116F) ?ㅝ (compose-vowel))
   ("ue"  (set V 0x1170) ?ㅞ (compose-vowel))
   ("we"  (set V 0x1170) ?ㅞ (compose-vowel))
-  ("ui"  (set V 0x1171) ?ㅟ (compose-vowel))
   ("wi"  (set V 0x1171) ?ㅟ (compose-vowel))
   ("yu"  (set V 0x1172) ?ㅠ (compose-vowel))
+  ("iu"  (set V 0x1172) ?ㅠ (compose-vowel))
   ("eu"  (set V 0x1173) ?ㅡ (compose-vowel))
   ("eui" (set V 0x1174) ?ㅢ (compose-vowel))
   ("ui"  (set V 0x1174) ?ㅢ (compose-vowel))
-  ("i"   (set V 0x1175) ?ㅣ (compose-vowel)))
+  ("i"   (set V 0x1175) ?ㅣ (compose-vowel))
+  ("y"   (set V 0x1175) ?ㅣ (compose-vowel))
+  ("ee"  (set V 0x1175) ?ㅣ (compose-vowel)))
 
  ;; Keys starting V.
  (V-head
  (backspace
   ((BackSpace) (undo)))
 
- (tilda
-  ("~"))
+ (toggle-isolated-jamo
+  ("I"))
 
  (space
+  (";")
   ((S-\ ))))
 
 (state
   (X (set L L1) (shift after-L))
   (L (shift after-L))
   (V (shift after-LV))
+  (T)
   (punctuation)
   (backspace)
-  (space)
-  (tilda (shift single)))
+  (toggle-isolated-jamo (shift isolated)))
 
  (after-L
   (V (shift after-LV))
   (V-head (delete @<) (pushback 0) (shift fix-LV-redo-L))
   (space (shift init))
   (backspace)
-  (nil    (delete @<) (pushback 0) (shift fix-LVT-redo-L)))
-
- (fix-LVT-redo-L
-  (t (set L 0))
-  (X (set L L1) (shift fix-LVT-redo-V))
-  (L (shift fix-LVT-redo-V))
-  (V (shift fix-LVT-redo-T)))
- (fix-LVT-redo-V
-  (V (shift fix-LVT-redo-T)))
- (fix-LVT-redo-T
-  (X (shift init)))
+  )
 
  (fix-LV-redo-L
   (t (set L 0))
   (X (set L L1) (shift fix-LV-redo-V))
   (L (shift fix-LV-redo-V))
-  (V (shift init)))
+  (V (set L 0x110B) (set T 0x11A7) (compose) (shift init)))
  (fix-LV-redo-V
-  (V (shift init)))
+  (V (set T 0x11A7) (compose) (shift init)))
 
- (single
+ (isolated
+  "자모"
   (t (set L -1))
-  (X (shift init))
-  (L (shift init))
-  (T (shift init))
-  (V (shift init))))
+  (X)
+  (L)
+  (T)
+  (V)
+  (toggle-isolated-jamo (shift init))))
 
 ;; Local Variables:
 ;; coding: utf-8