#--------------------------------------------------------------------
# Copyright (c) 1999-2004, International Business Machines
# Corporation and others. All Rights Reserved.
#--------------------------------------------------------------------

# Kannada-InterIndic
\u0CC6\u0CD5>\uE047;        # VOWEL SIGN EE
\u0CC6\u0CCD\u0CD6>\uE048\ue04d;        # VOWEL SIGN AI
\u0CC6\u0CD6>\uE048;        # VOWEL SIGN AI
\u0CC6\u0CC2\u0CD5>\uE04B;  # VOWEL SIGN OO
\u0CC6\u0CC2>\uE04A;        # VOWEL SIGN O
\u0CBF\u0CD5>\uE040;        # VOWEL SIGN II

\u0C82>\uE002;              # SIGN ANUSVARA
\u0C83>\uE003;              # SIGN VISARGA
\u0C85>\uE005;              # LETTER A
\u0C86>\uE006;              # LETTER AA
\u0C87>\uE007;              # LETTER I
\u0C88>\uE008;              # LETTER II
\u0C89>\uE009;              # LETTER U
\u0C8A>\uE00A;              # LETTER UU
\u0C8B>\uE00B;              # LETTER VOCALIC R
\u0C8C>\uE00C;              # LETTER VOCALIC L
\u0C8E>\uE00E;              # LETTER E
\u0C8F>\uE00F;              # LETTER EE
\u0C90>\uE010;              # LETTER AI
\u0C92>\uE012;              # LETTER O
\u0C93>\uE013;              # LETTER OO
\u0C94>\uE014;              # LETTER AU
\u0C95>\uE015;              # LETTER KA
\u0C96>\uE016;              # LETTER KHA
\u0C97>\uE017;              # LETTER GA
\u0C98>\uE018;              # LETTER GHA
\u0C99>\uE019;              # LETTER NGA
\u0C9A>\uE01A;              # LETTER CA
\u0C9B>\uE01B;              # LETTER CHA
\u0C9C>\uE01C;              # LETTER JA
\u0C9D>\uE01D;              # LETTER JHA
\u0C9E>\uE01E;              # LETTER NYA
\u0C9F>\uE01F;              # LETTER TTA
\u0CA0>\uE020;              # LETTER TTHA
\u0CA1>\uE021;              # LETTER DDA
\u0CA2>\uE022;              # LETTER DDHA
\u0CA3>\uE023;              # LETTER NNA
\u0CA4>\uE024;              # LETTER TA
\u0CA5>\uE025;              # LETTER THA
\u0CA6>\uE026;              # LETTER DA
\u0CA7>\uE027;              # LETTER DHA
\u0CA8>\uE028;              # LETTER NA
\u0CAA>\uE02A;              # LETTER PA
\u0CAB>\uE02B;              # LETTER PHA
\u0CAC>\uE02C;              # LETTER BA
\u0CAD>\uE02D;              # LETTER BHA
\u0CAE>\uE02E;              # LETTER MA
\u0CAF>\uE02F;              # LETTER YA
\u0CB0>\uE030;              # LETTER RA
\u0CB1>\uE031;              # LETTER RRA
\u0CB2>\uE032;              # LETTER LA
\u0CB3>\uE033;              # LETTER LLA
\u0CB5>\uE035;              # LETTER VA
\u0CB6>\uE036;              # LETTER SHA
\u0CB7>\uE037;              # LETTER SSA
\u0CB8>\uE038;              # LETTER SA
\u0CB9>\uE039;              # LETTER HA
\u0CBC>\uE03C;				# SIGN NUKTA
\u0CBD>\uE03D;              # AVAGRAHA
\u0CBE>\uE03E;              # VOWEL SIGN AA
\u0CBF>\uE03F;              # VOWEL SIGN I
\u0CC1>\uE041;              # VOWEL SIGN U
\u0CC2>\uE042;              # VOWEL SIGN UU
\u0CC3>\uE043;              # VOWEL SIGN VOCALIC R
\u0CC4>\uE044;              # VOWEL SIGN VOCALIC RR
\u0CC6>\uE046;              # VOWEL SIGN E
\u0CCC>\uE04C;              # VOWEL SIGN AU
\u0CCD>\uE04D;              # SIGN VIRAMA
\u0CD5>\uE055;              # LENGTH MARK
\u0CD6>\uE056;              # AI LENGTH MARK
\u0CDE>\uE034;              # LETTER LLLA  
\u0CE0>\uE060;              # LETTER VOCALIC RR
\u0CE1>\uE061;              # LETTER VOCALIC LL
\u0CE6>\uE066;              # DIGIT ZERO
\u0CE7>\uE067;              # DIGIT ONE
\u0CE8>\uE068;              # DIGIT TWO
\u0CE9>\uE069;              # DIGIT THREE
\u0CEA>\uE06A;              # DIGIT FOUR
\u0CEB>\uE06B;              # DIGIT FIVE
\u0CEC>\uE06C;              # DIGIT SIX
\u0CED>\uE06D;              # DIGIT SEVEN
\u0CEE>\uE06E;              # DIGIT EIGHT
\u0CEF>\uE06F;              # DIGIT NINE

# eof
