+;; bn-itrans.mim -- Bengali input method with ITRANS method
+;; Copyright (C) 2003, 2004, 2005, 2006
+;; National Institute of Advanced Industrial Science and Technology (AIST)
+;; Registration Number H15PRO112
+
+;; This file is part of the m17n contrib; 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., 59 Temple Place, Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+(input-method bn itrans)
+
+(description "Bengali input method by ITRANS transliteration.
+
+Itrans Bengali Keymap Layout created by Avinash Chopde in accordance with the details in the following link:
+
+http://www.aczoom.com/itrans/beng/node4.html
+
+Key Summary:
+
+The consonant alphabets are represented as half-characters by default i.e. k = ক্ . To complete the character please use 'a' representing 'অ' i.e. ka=ক. Consonant conjuncts can be created by writing the consonant characters in sequential order. To complete the conjunct either 'অ' or any other dependent vowel [অ (a), া(aa), ি(i), ী(ii), ু(u), ূ(uu), ে(e), ৈ(ai), ো (o), ৌ (au)] needs to be added at the end.
+
+E.g. ক্রিয়া = k+r+i+Y+A
+
+To write 'Khaanda-ta' (ৎ) use the key combination : t.h
+
+Detailed instructions for typing are available at the above mentioned link
+")
+
+(title "ক")
+
+(map
+ (starter
+ (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@))
+ ("0") ("1") ("2") ("3") ("4")
+ ("5") ("6") ("7") ("8") ("9")
+ ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L")
+ ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y")
+ ("a") ("b") ("c") ("d") ("e") ("f") ("g") ("h") ("i")
+ ("j") ("k") ("l") ("m") ("n") ("o") ("p") ("q") ("r")
+ ("s") ("t") ("u") ("v") ("w") ("x") ("y") ("z"))
+
+ (consonant
+ ("k" "ক্")
+ ("kh" "খ্")
+ ("g" "গ্")
+ ("gh" "ঘ্")
+ ("~N" "ঙ্")
+ ("N^" "ঙ্")
+ ("ch" "চ্")
+ ("chh" "ছ্")
+ ("Ch" "ছ্") ; not in ITRANS Bengali table
+ ("j" "জ্")
+ ("jh" "ঝ্")
+ ("~n" "ঞ্")
+ ("n^" "ঞ্")
+ ("JN" "ঞ্") ; not in ITRANS Bengali table
+ ("T" "ট্")
+ ("Th" "ঠ্")
+ ("D" "ড্")
+ ("Dh" "ঢ্")
+ ("N" "ণ্")
+ ("t" "ত্")
+ ("th" "থ্")
+ ("d" "দ্")
+ ("dh" "ধ্")
+ ("n" "ন্")
+ ("p" "প্")
+ ("ph" "ফ্")
+ ("b" "ব্")
+ ("bh" "ভ্")
+ ("m" "ম্")
+ ("J" "য্")
+ ("y" "য্")
+ ("r" "র্")
+ ("l" "ল্")
+ ("sh" "শ্")
+ ("Sh" "ষ্")
+ ("shh" "ষ্") ; not in ITRANS Bengali table
+ ("s" "স্")
+ ("h" "হ্")
+ (".D" "ড়্")
+ (".Dh" "ঢ়্")
+ ("Y" "য়্")
+ ("yh" "য়্") ; not in ITRANS Bengali table
+ ("GY" "জ্ঞ্")
+ ("dny" "জ্ঞ্") ; not in ITRANS Bengali table
+ ("x" "ক্ষ্"))
+
+ (independent
+ ("a" "অ")
+ ("aa" "আ")
+ ("A" "আ")
+ ("i" "ই")
+ ("ii" "ঈ")
+ ("I" "ঈ")
+ ("u" "উ")
+ ("uu" "ঊ")
+ ("U" "ঊ")
+ ("RRi" "ঋ")
+ ("R^i" "ঋ")
+ ("e" "এ")
+ ("ai" "ঐ")
+ ("o" "ও")
+ ("au" "ঔ")
+ (".N" "ঁ")
+ (".n" "ং")
+ ("M" "ং") ; not in ITRANS Bengali table
+ ("H" "ঃ")
+ (".h" "্")
+ ("t.h" "ৎ")
+ ("0" "০")
+ ("1" "১")
+ ("2" "২")
+ ("3" "৩")
+ ("4" "৪")
+ ("5" "৫")
+ ("6" "৬")
+ ("7" "৭")
+ ("8" "৮")
+ ("9" "৯")
+ ("]" "়") ; not in ITRANS Bengali table
+ ((S-\ ) "") ; not in ITRANS Bengali table
+ ((C-@) "")) ; not in ITRANS Bengali table
+
+ (dependent
+ ("a" (delete @-) "")
+ ("aa" (delete @-) "া")
+ ("A" (delete @-) "া")
+ ("i" (delete @-) "ি")
+ ("ii" (delete @-) "ী")
+ ("I" (delete @-) "ী")
+ ("u" (delete @-) "ু")
+ ("uu" (delete @-) "ূ")
+ ("U" (delete @-) "ূ")
+ ("RRi" (delete @-) "ৃ")
+ ("R^i" (delete @-) "ৃ")
+ ("e" (delete @-) "ে")
+ ("ai" (delete @-) "ৈ")
+ ("o" (delete @-) "ো")
+ ("au" (delete @-) "ৌ"))
+
+ (return
+ ((Return)))
+
+ (backspace
+ ((BackSpace) (undo))))
+
+(state
+ (init
+ (starter (pushback 1) (shift intermediate)))
+
+ (intermediate
+ (consonant (shift second))
+ (independent (shift init))
+ (backspace)
+ (return (shift init)))
+
+ (second
+ (consonant)
+ (dependent (shift init))
+ (backspace)
+ (return (shift init))))
+
+;; Local Variables:
+;; coding: utf-8
+;; mode: emacs-lisp
+;; End: