;; zh-bopomofo.mim -- Bopomofo input method
;; Copyright (C) 2004, 2005, 2006
;;   National Institute of Advanced Industrial Science and Technology (AIST)
;;   Registration Number H15PRO112

;; This file is part of the m17n database; a sub-part of the m17n
;; library.

;; The m17n library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
;; as published by the Free Software Foundation; either version 2.1 of
;; the License, or (at your option) any later version.

;; The m17n library 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
;; Lesser General Public License for more details.

;; You should have received a copy of the GNU Lesser General Public
;; License along with the m17n library; if not, write to the Free
;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.

;;; Input method for Bopomofo.
;;; @image html bopo-kbd.png "Keyboard Layout"
;;; @image latex bopo-kbd.eps "Keyboard Layout" width=\narrowwidth

;; ㄅ  ㄉ  ˇ   ˋ  ㄓ  ˊ  ˙   ㄚ  ㄞ  ㄢ  ㄦ  =+
;;  ㄆ  ㄊ  ㄍ  ㄐ  ㄔ  ㄗ  ㄧ  ㄛ  ㄟ  ㄣ  [{  ]}
;;   ㄇ  ㄋ  ㄎ  ㄑ  ㄕ  ㄘ  ㄨ  ㄜ  ㄠ  ㄤ  '"  \|
;;    ㄈ  ㄌ  ㄏ  ㄒ  ㄖ  ㄙ  ㄩ  ㄝ  ㄡ  ㄥ

(input-method zh bopomofo)

(description
 "Bopomofo input method using this keyboard layout.
   ㄅ  ㄉ  ˇ   ˋ  ㄓ  ˊ  ˙   ㄚ  ㄞ  ㄢ  ㄦ  =+
    ㄆ  ㄊ  ㄍ  ㄐ  ㄔ  ㄗ  ㄧ  ㄛ  ㄟ  ㄣ  [{  ]}
     ㄇ  ㄋ  ㄎ  ㄑ  ㄕ  ㄘ  ㄨ  ㄜ  ㄠ  ㄤ  '\"  \\|
      ㄈ  ㄌ  ㄏ  ㄒ  ㄖ  ㄙ  ㄩ  ㄝ  ㄡ  ㄥ
")

(title "BOPO")

(map
 (map
  ("1" ?ㄅ)
  ("2" ?ㄉ)
  ("3" ?ˇ)
  ("4" ?ˋ)
  ("5" ?ㄓ)
  ("6" ?ˊ)
  ("7" ?˙)
  ("8" ?ㄚ)
  ("9" ?ㄞ)
  ("0" ?ㄢ)
  ("-" ?ㄦ)
  ("`" ?€)

  ("q" ?ㄆ)
  ("w" ?ㄊ)
  ("e" ?ㄍ)
  ("r" ?ㄐ)
  ("t" ?ㄔ)
  ("y" ?ㄗ)
  ("u" ?ㄧ)
  ("i" ?ㄛ)
  ("o" ?ㄟ)
  ("p" ?ㄣ)

  ("a" ?ㄇ)
  ("s" ?ㄋ)
  ("d" ?ㄎ)
  ("f" ?ㄑ)
  ("g" ?ㄕ)
  ("h" ?ㄘ)
  ("j" ?ㄨ)
  ("k" ?ㄜ)
  ("l" ?ㄠ)
  (";" ?ㄤ)

  ("z" ?ㄈ)
  ("x" ?ㄌ)
  ("c" ?ㄏ)
  ("v" ?ㄒ)
  ("b" ?ㄖ)
  ("n" ?ㄙ)
  ("m" ?ㄩ)
  ("," ?ㄝ)
  ("." ?ㄡ)
  ("/" ?ㄥ))

 (fullwidth
  ("1" "１")
  ("2" "２")
  ("3" "３")
  ("4" "４")
  ("5" "５")
  ("6" "６")
  ("7" "７")
  ("8" "８")
  ("9" "９")
  ("0" "０")
  ("-" "ー")
  ("=" "＝")
  ("`" "｀")

  ("!" "！")
  ("@" "＠")
  ("#" "＃")
  ("$" "＄")
  ("%" "％")
  ("^" "＾")
  ("&" "＆")
  ("*" "＊")
  ("(" "（")
  (")" "）")
  ("_" "＿")
  ("+" "＋")
  ("~" ("〜￣"))

  ("q" "ｑ")
  ("w" "ｗ")
  ("e" "ｅ")
  ("r" "ｒ")
  ("t" "ｔ")
  ("y" "ｙ")
  ("u" "ｕ")
  ("i" "ｉ")
  ("o" "ｏ")
  ("p" "ｐ")
  ("[" ("「［"))
  ("]" ("」］"))
  ("\\" ("＼￥"))

  ("Q" "Ｑ")
  ("W" "Ｗ")
  ("E" "Ｅ")
  ("R" "Ｒ")
  ("T" "Ｔ")
  ("Y" "Ｙ")
  ("U" "Ｕ")
  ("I" "Ｉ")
  ("O" "Ｏ")
  ("P" "Ｐ")
  ("{" "｛")
  ("}" "｝")
  ("|" "｜")

  ("a" "ａ")
  ("s" "ｓ")
  ("d" "ｄ")
  ("f" "ｆ")
  ("g" "ｇ")
  ("h" "ｈ")
  ("j" "ｊ")
  ("k" "ｋ")
  ("l" "ｌ")
  (":" "：")
  ("'" "’")

  ("A" "Ａ")
  ("S" "Ｓ")
  ("D" "Ｄ")
  ("F" "Ｆ")
  ("G" "Ｇ")
  ("H" "Ｈ")
  ("J" "Ｊ")
  ("K" "Ｋ")
  ("L" "Ｌ")
  (";" "；")
  ("\""  "”")

  ("z" "ｚ")
  ("x" "ｘ")
  ("c" "ｃ")
  ("v" "ｖ")
  ("b" "ｂ")
  ("n" "ｎ")
  ("m" "ｍ")
  ("," ("，、"))
  ("." ("．。"))
  ("/" "／")

  ("Z" "Ｚ")
  ("X" "Ｘ")
  ("C" "Ｃ")
  ("V" "Ｖ")
  ("B" "Ｂ")
  ("N" "Ｎ")
  ("M" "Ｍ")
  ("<" "〈＜")
  ("<<" "《")
  (">" "＞")
  (">>" "》")

  ("?" "？"))

 (to-fullwidth
  ("\\")))

(state
 (init
  (fullwidth)
  (map)
  ()


;; Local Variables:
;; coding: utf-8
;; mode: lisp
;; End:
