#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others.  All Rights Reserved.
#--------------------------------------------------------------------
# Date: Tue Jan 23 12:42:00 2001
#--------------------------------------------------------------------

# InterIndic-Kannada

\uE001>ಂ; # REMAP (indicExceptions.txt): ಁ>ಂ = SIGN CANDRABINDU>SIGN ANUSVARA
\uE002>ಂ; # SIGN ANUSVARA
\uE003>ಃ; # SIGN VISARGA
\uE005>ಅ; # LETTER A
\uE006>ಆ; # LETTER AA
\uE007>ಇ; # LETTER I
\uE008>ಈ; # LETTER II
\uE009>ಉ; # LETTER U
\uE00A>ಊ; # LETTER UU
\uE00B>ಋ; # LETTER VOCALIC R
\uE00C>ಌ; # LETTER VOCALIC L
\uE00F>ಏ; # LETTER EE
\uE010>ಐ; # LETTER AI
\uE013>ಓ; # LETTER OO
\uE014>ಔ; # LETTER AU
\uE015>ಕ; # LETTER KA
\uE016>ಖ; # LETTER KHA
\uE017>ಗ; # LETTER GA
\uE018>ಘ; # LETTER GHA
\uE019>ಙ; # LETTER NGA
\uE01A>ಚ; # LETTER CA
\uE01B>ಛ; # LETTER CHA
\uE01C>ಜ; # LETTER JA
\uE01D>ಝ; # LETTER JHA
\uE01E>ಞ; # LETTER NYA
\uE01F>ಟ; # LETTER TTA
\uE020>ಠ; # LETTER TTHA
\uE021>ಡ; # LETTER DDA
\uE022>ಢ; # LETTER DDHA
\uE023>ಣ; # LETTER NNA
\uE024>ತ; # LETTER TA
\uE025>ಥ; # LETTER THA
\uE026>ದ; # LETTER DA
\uE027>ಧ; # LETTER DHA
\uE028>ನ; # LETTER NA
\uE029>ನ; # REMAP (indicExceptions.txt): ಩>ನ = LETTER NNNA>LETTER NA
\uE02A>ಪ; # LETTER PA
\uE02B>ಫ; # LETTER PHA
\uE02C>ಬ; # LETTER BA
\uE02D>ಭ; # LETTER BHA
\uE02E>ಮ; # LETTER MA
\uE02F>ಯ; # LETTER YA
\uE030>ರ; # LETTER RA
\uE032>ಲ; # LETTER LA
\uE033>ಳ; # LETTER LLA
\uE034>ಳ; # REMAP (indicExceptions.txt): ಴>ಳ = LETTER LLLA>LETTER LLA
\uE035>ವ; # LETTER VA
\uE036>ಶ; # LETTER SHA
\uE037>ಷ; # LETTER SSA
\uE038>ಸ; # LETTER SA
\uE039>ಹ; # LETTER HA
# \uE03C>; // UNMAPPED InterIndic-Kannada: SIGN NUKTA
# \uE03D>; // UNMAPPED InterIndic-Kannada: SIGN AVAGRAHA
\uE03E>ಾ; # VOWEL SIGN AA
\uE03F>ಿ; # VOWEL SIGN I
\uE040>ೀ; # VOWEL SIGN II
\uE041>ು; # VOWEL SIGN U
\uE042>ೂ; # VOWEL SIGN UU
\uE043>ೃ; # VOWEL SIGN VOCALIC R
\uE044>ೄ; # VOWEL SIGN VOCALIC RR
\uE045>ೆ; # REMAP (indicExceptions.txt): ೅>ೆ = VOWEL SIGN CANDRA E>VOWEL SIGN E
\uE047>ೇ; # VOWEL SIGN EE
\uE048>ೈ; # VOWEL SIGN AI
\uE049>ೊ; # REMAP (indicExceptions.txt): ೉>ೊ = VOWEL SIGN CANDRA O>VOWEL SIGN O
\uE04B>ೋ; # VOWEL SIGN OO
\uE04C>ೌ; # VOWEL SIGN AU
\uE04D>್; # SIGN VIRAMA
\uE050>ಓಂ; # REMAP (indicExceptions.txt): ೐>ಓಂ = OM>LETTER OO.SIGN ANUSVARA
\uE055>ೕ; # LENGTH MARK
\uE056>ೖ; # AI LENGTH MARK
\uE057>ೌ; # REMAP (indicExceptions.txt): ೗>ೌ = AU LENGTH MARK>VOWEL SIGN AU
\uE059>ಖ; # REMAP (indicExceptions.txt): ೙>ಖ = LETTER KHHA>LETTER KHA
\uE05A>ಗ; # REMAP (indicExceptions.txt): ೚>ಗ = LETTER GHHA>LETTER GA
\uE05B>ಜ; # REMAP (indicExceptions.txt): ೛>ಜ = LETTER ZA>LETTER JA
\uE05D>ಢ; # REMAP (indicExceptions.txt): ೝ>ಢ = LETTER RHA>LETTER DDHA
\uE05E>ೞ; # LETTER FA
\uE05F>ಯ; # REMAP (indicExceptions.txt): ೟>ಯ = LETTER YYA>LETTER YA
\uE060>ೠ; # LETTER VOCALIC RR
\uE061>ೡ; # LETTER VOCALIC LL
\uE062>ಿ; # REMAP (indicExceptions.txt): ೢ>ಿ = VOWEL SIGN VOCALIC L>VOWEL SIGN I
\uE063>ೀ; # REMAP (indicExceptions.txt): ೣ>ೀ = VOWEL SIGN VOCALIC LL>VOWEL SIGN II
\uE066>೦; # DIGIT ZERO
\uE067>೧; # DIGIT ONE
\uE068>೨; # DIGIT TWO
\uE069>೩; # DIGIT THREE
\uE06A>೪; # DIGIT FOUR
\uE06B>೫; # DIGIT FIVE
\uE06C>೬; # DIGIT SIX
\uE06D>೭; # DIGIT SEVEN
\uE06E>೮; # DIGIT EIGHT
\uE06F>೯; # DIGIT NINE
# \uE080>; // UNMAPPED InterIndic-Kannada: ISSHAR
\uE081>ಎ; # LETTER E
\uE082>ಒ; # LETTER O
\uE083>ಱ; # LETTER RRA
\uE084>ೆ; # VOWEL SIGN E
\uE085>ೊ; # VOWEL SIGN O

# eof
