LHSName "iast"
RHSName "Unicode"
LHSDescription "IAST input method for Unicode Devanagari"
Contact "daniel@danielstender.com"
Copyright "LaTeX Project Public License"

Define a  	U+0061
Define A	U+0101 ; ā
Define i	U+0069
Define I	U+012B ; ī
Define u	U+0075
Define U	U+016B ; ū
Define R	U+1E5B ; ṛ
Define RR	U+1E5D ; ṝ
Define L	U+1E37 ; ḷ
Define e	U+0065
Define o	U+006F
Define k	U+006B
Define h	U+0068
Define g	U+0067
Define G	U+1E45 ; ṅ
Define c	U+0063
Define j	U+006A
Define J	U+00F1 ; ñ
Define T	U+1E6D ; ṭ
Define D	U+1E0D ; ḍ
Define N	U+1E47 ; ṇ
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 z	U+015B ; ś
Define S	U+1E63 ; ṣ
Define s	U+0073

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 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 ca      	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 za      	U+0936
Define Sa      	U+0937
Define sa      	U+0938
Define ha      	U+0939
Define virama  	U+094D
Define zwnj	U+200C

pass(Unicode)
a > asvara
A > Asvara
i > isvara
I > Isvara
u > usvara
U > Usvara
R > rvoc
RR > Rvoc
L > lvoc
e > esvara
a i > aisvara
o > osvara
a u > ausvara
k > ka
k h > kha
g > ga
g h > gha
G > Ga
c > ca
c h > cha
j > ja
j h > jha
J > Ja
T > Ta
T h > Tha
D > Da
D h > Dha
N > Na
t > ta
t h > tha
d > da
d h > dha
n > na
p > pa
p h > pha
b > ba
b h > bha
m > ma
y > ya
r > ra
l > la
v > va
z > za
S > Sa
s > sa
h > ha
U+1E25 > U+0903	; ḥ
U+1E43 > U+0902	; ṃ
U+0027 > U+093D	; avagraha
U+00B0 > U+0970	; abbrev
U+0030	> U+0966 ; digit 0
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
U+007C > U+0964 ; danda	
U+007C U+007C > U+0965 ; double danda
U+002B > zwnj ; ligature breaker

pass(Unicode)
UniClass [vyanjana] = (ka .. ha)
UniClass [svara] = (Asvara .. ausvara)
UniClass [matra] = (Amatra .. aumatra)
[vyanjana] [svara] > [vyanjana] [matra]
[vyanjana] zwnj > [vyanjana] virama zwnj

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
[vyanjana] / _ # > [vyanjana] virama / _ #

pass(Unicode)
Uniclass [vyanjana] = (ka .. ha)
[vyanjana] asvara > [vyanjana]

