; TECkit mapping for ITRANS input scheme for writing Unicode Devanagari (0900-097F)
; by Abhinandan S.P. <abhinandan.sp@iiitb.net> and Shrisha Rao <shrao@acm.org>,
; based on harvardkyoto.map written by Daniel Stender.
;
; Updated 2014-09-01

LHSName "itrans-dvn"
RHSName "Unicode"
LHSDescription "ITRANS input method for Unicode Devanagari"
Version "1.00"

Define dot U+002E

Define a U+0061
Define A U+0041
Define i U+0069
Define I U+0049
Define u U+0075
Define U U+0055
Define R U+0052
Define L U+004C

Define e U+0065
Define o U+006F

Define k U+006B
Define h U+0068
Define g U+0067
Define G U+0047

Define c U+0063
Define C U+0043  
Define j U+006A
Define J U+004A

Define T U+0054
Define D U+0044
Define N U+004E

Define t U+0074
Define d U+0064
Define n U+006E

Define p U+0070
Define b U+0062
Define m U+006D

Define y U+0079
Define r U+0072
Define l U+006C
Define v U+0076
Define w U+0077

Define z U+007A
Define S U+0053
Define s U+0073
Define Y U+0059
Define O U+004F

Define anudatta U+002D	; -
Define svarita U+0021	; !
Define tlde    U+007E
Define cret    U+005E   
Define M U+004D

Define q U+0071
Define f U+0066
Define x U+0078


Define anunasika U+0901
Define anusvara	U+0902
Define visarga	U+0903

Define asvara	U+0905
Define Asvara	U+0906
Define isvara	U+0907
Define Isvara	U+0908
Define usvara	U+0909
Define Usvara	U+090A
Define rvoc	U+090B
Define Rvoc	U+0960
Define lvoc	U+090C
Define Lvoc     U+0961
Define esvara	U+090F
Define aisvara	U+0910
Define osvara	U+0913
Define ausvara	U+0914

Define Amatra	U+093E
Define imatra	U+093F
Define Imatra	U+0940
Define umatra	U+0941
Define Umatra	U+0942
Define rmatra	U+0943
Define Rmatra	U+0944
Define lmatra	U+0962
Define ematra	U+0947
Define aimatra	U+0948
Define omatra	U+094B
Define aumatra	U+094C

Define ka	U+0915
Define kha	U+0916
Define ga	U+0917
Define gha	U+0918
Define Ga	U+0919
Define cha	U+091A
Define Cha	U+091B
Define ja	U+091C
Define jha	U+091D
Define Ja	U+091E
Define Ta	U+091F
Define Tha	U+0920
Define Da	U+0921
Define Dha	U+0922
Define Na	U+0923
Define ta	U+0924
Define tha	U+0925
Define da	U+0926
Define dha	U+0927
Define na	U+0928
Define pa	U+092A
Define pha	U+092B
Define ba	U+092C
Define bha	U+092D
Define ma	U+092E
Define ya	U+092F
Define ra	U+0930
Define la	U+0932
Define va	U+0935
Define wa       U+0935
Define sha	U+0936
Define Sha	U+0937
Define sa	U+0938
Define ha	U+0939

Define hka	U+0958
Define hkha	U+0959
Define hga	U+095A
Define hja	U+095B
Define hDa      U+095C
Define hda      U+095D
Define hna      U+0929
Define hpha	U+095E
Define hya      U+095F
Define hra      U+0931
Define hla      U+0934

Define rla	U+0933
Define vstroke	U+0951
Define hstroke  U+0952

Define danda	U+0964
Define ddanda	U+0965
Define virama	U+094D
Define avagraha	U+093D

Define om	U+0950


pass(Unicode)

a > asvara
a a > Asvara
A > Asvara
i > isvara
i i > Isvara
I > Isvara
u > usvara
u u > Usvara
U > Usvara
R R i > rvoc
R cret i > rvoc
R R I > Rvoc
R cret I > Rvoc
L L i > lvoc
L cret i > lvoc
L L I > Lvoc
L cret I > Lvoc

e > esvara
a i > aisvara
o > osvara
a u > ausvara

k > ka
k h > kha
k dot h > ka virama
k h dot h > kha virama
g > ga
g dot h > ga virama
g h > gha
g h dot h > gha virama
tlde N > Ga
N cret > Ga
G G > Ga
tlde N dot h > Ga virama
N cret dot h > Ga virama
c h > cha
c h h > Cha
c h dot h > cha virama
C h > Cha
C h dot h > Cha virama
c h h dot h > Cha virama
j > ja 
j dot h > ja virama
j h > jha
j h dot h > jha virama
tlde n > Ja
tlde n dot h > Ja virama
J N > Ja
T > Ta
T dot h > Ta virama
T h > Tha
T h dot h > Tha virama
D > Da
D dot h > Da virama
D h > Dha
D h dot h > Dha virama
N > Na
N dot h > Na virama
t > ta
t dot h > ta virama
t h > tha
t h dot h > tha virama
d > da
d dot h > da virama
d h > dha
d h dot h > dha virama
n > na
n dot h > na virama
p > pa
p dot h > pa virama
p h > pha
p h dot h > pha virama
b > ba
b dot h > ba virama
b h > bha
b h dot h > bha virama
m > ma
m dot h > ma virama
y > ya
y dot h > ya virama
r > ra
r dot h > ra virama
l > la
l dot h > la virama
v > va
v dot h > va virama
w > wa
w dot h > wa virama
s h > sha
s h dot h > sha virama
s h h > Sha
s h h dot h > Sha virama
S h > Sha
S h dot h > Sha virama
s > sa
s dot h > sa virama
h > ha
h dot h > ha virama
x > ka virama Sha
x dot h > ka virama Sha virama
k S h > ka virama Sha
k S h dot h > ka virama Sha virama
G Y > ja virama Ja
A U M > om


q > hka
x > hkha
dot g > hga
dot z > hja
f > hpha

svarita > vstroke
anudatta > hstroke

L > rla
dot m > anunasika

U+004D > anusvara
dot n > anusvara
U+0048 > visarga
dot a > avagraha
U+002C > virama

U+007C > danda
U+007C U+007C > ddanda

O M > om

U+0030	> U+0966	; Numerals
U+0031	> U+0967
U+0032	> U+0968
U+0033	> U+0969
U+0034	> U+096A
U+0035	> U+096B
U+0036	> U+096C
U+0037	> U+096D
U+0038	> U+096E
U+0039	> U+096F



pass(Unicode)

UniClass [vyanjana] = (ka .. ha rla hka .. hpha)
UniClass [svara] = (Asvara isvara Isvara usvara Usvara rvoc Rvoc lvoc esvara aisvara osvara ausvara)
UniClass [matra] = (Amatra imatra Imatra umatra Umatra rmatra Rmatra lmatra ematra aimatra omatra aumatra)
[vyanjana] [svara] > [vyanjana] [matra]

pass(Unicode)

UniClass [vyanjana] = (ka .. ha)
[vyanjana]=v1 [vyanjana]=v2 > @v1 virama @v2

pass(Unicode)

UniClass [vyanjana] = (ka .. ha)
[vyanjana]=v1 [vyanjana]=v2 > @v1 virama @v2

pass(Unicode)

Uniclass [vyanjana] = (ka .. ha rla hka .. hpha)
[vyanjana] asvara > [vyanjana]
