#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others. All Rights Reserved.
#--------------------------------------------------------------------
# $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/impl/data/Attic/Transliterator_InterIndic_Kannada.txt,v $
# $Date: 2002/09/19 18:11:23 $
# $Revision: 1.10 $
#--------------------------------------------------------------------

# InterIndic-Kannada
#:: NFD (NFC) ;
\ue032\ue03c>\u0cde; # LETTER FA
\ue001>\u0c82; # REMAP (indicExceptions.txt): \u0c81>\u0c82 = SIGN CANDRABINDU>SIGN ANUSVARA
\ue002>\u0c82; # SIGN ANUSVARA
\ue003>\u0c83; # SIGN VISARGA
\ue005>\u0c85; # LETTER A
\ue006>\u0c86; # LETTER AA
\ue007>\u0c87; # LETTER I
\ue008>\u0c88; # LETTER II
\ue009>\u0c89; # LETTER U
\ue00a>\u0c8a; # LETTER UU
\ue00b>\u0c8b; # LETTER VOCALIC R
\ue00c>\u0c8c; # LETTER VOCALIC L
\ue00d>\u0c8e; # LETTER E
\ue00e>\u0c8e; # FALLBACK
\ue00f>\u0c8f; # LETTER EE
\ue010>\u0c90; # LETTER AI
\ue011>\u0c92; # FALLBACK
\ue012>\u0c92; # LETTER O
\ue013>\u0c93; # LETTER OO
\ue014>\u0c94; # LETTER AU
\ue015>\u0c95; # LETTER KA
\ue016>\u0c96; # LETTER KHA
\ue017>\u0c97; # LETTER GA
\ue018>\u0c98; # LETTER GHA
\ue019>\u0c99; # LETTER NGA
\ue01a>\u0c9a; # LETTER CA
\ue01b>\u0c9b; # LETTER CHA
\ue01c>\u0c9c; # LETTER JA
\ue01d>\u0c9d; # LETTER JHA
\ue01e>\u0c9e; # LETTER NYA
\ue01f>\u0c9f; # LETTER TTA
\ue020>\u0ca0; # LETTER TTHA
\ue021>\u0ca1; # LETTER DDA
\ue022>\u0ca2; # LETTER DDHA
\ue023>\u0ca3; # LETTER NNA
\ue024>\u0ca4; # LETTER TA
\ue025>\u0ca5; # LETTER THA
\ue026>\u0ca6; # LETTER DA
\ue027>\u0ca7; # LETTER DHA
\ue028>\u0ca8; # LETTER NA
\ue029>\u0ca8; # REMAP (indicExceptions.txt): \u0ca9>\u0ca8 = LETTER NNNA>LETTER NA
\ue02a>\u0caa; # LETTER PA
\ue02b>\u0cab; # LETTER PHA
\ue02c>\u0cac; # LETTER BA
\ue02d>\u0cad; # LETTER BHA
\ue02e>\u0cae; # LETTER MA
\ue02f>\u0caf; # LETTER YA
\ue030\ue03c>\u0cb1;
\ue030>\u0cb0; # LETTER RA
\ue031>\u0cb1; # LETTER RRA
\ue032>\u0cb2; # LETTER LA
\ue033>\u0cb3; # LETTER LLA
\ue034>\u0cde; # REMAP (indicExceptions.txt): \u0cb4>\u0cb3 = LETTER LLLA>LETTER LLA
\ue035>\u0cb5; # LETTER VA
\ue036>\u0cb6; # LETTER SHA
\ue037>\u0cb7; # LETTER SSA
\ue038>\u0cb8; # LETTER SA
\ue039>\u0cb9; # LETTER HA

\ue03c>; # FALLBACK BLOW AWAY NUKTA
\ue03d>; # FALLBACK BLOW AWAY AVAGRAHA

\ue03e>\u0cbe; # VOWEL SIGN AA
\ue03f>\u0cbf; # VOWEL SIGN I
\ue040>\u0cc0; # VOWEL SIGN II
\ue041>\u0cc1; # VOWEL SIGN U
\ue042>\u0cc2; # VOWEL SIGN UU
\ue043>\u0cc3; # VOWEL SIGN VOCALIC R
\ue044>\u0cc4; # VOWEL SIGN VOCALIC RR
\ue045>\u0cc6; # REMAP (indicExceptions.txt): \u0cc5>\u0cc6 = VOWEL SIGN CANDRA E>VOWEL SIGN E
\ue046>\u0cc6; # VOWEL SIGN E
\ue047>\u0cc7; # VOWEL SIGN EE
\ue048>\u0cc8; # VOWEL SIGN AI
\ue049>\u0cca; # REMAP (indicExceptions.txt): \u0cc9>\u0cca = VOWEL SIGN CANDRA O>VOWEL SIGN O
\ue04a>\u0cca; # VOWEL SIGN O
\ue04b>\u0ccb; # VOWEL SIGN OO
\ue04c>\u0ccc; # VOWEL SIGN AU
\ue04d>\u0ccd; # SIGN VIRAMA
\ue050>\u0c93\u0c82; # REMAP (indicExceptions.txt): \u0cd0>\u0c93\u0c82 = OM>LETTER OO.SIGN ANUSVARA
\ue051>;
\ue052>;
\ue053>;
\ue054>;
\ue055>\u0cd5; # LENGTH MARK
\ue056>\u0cd6; # AI LENGTH MARK
\ue057>\u0ccc; # REMAP (indicExceptions.txt): \u0cd7>\u0ccc = AU LENGTH MARK>VOWEL SIGN AU
\ue058>\u0c95; # FALLBACK
\ue059>\u0c96; # REMAP (indicExceptions.txt): \u0cd9>\u0c96 = LETTER KHHA>LETTER KHA
\ue05a>\u0c97; # REMAP (indicExceptions.txt): \u0cda>\u0c97 = LETTER GHHA>LETTER GA
\ue05b>\u0c9c; # REMAP (indicExceptions.txt): \u0cdb>\u0c9c = LETTER ZA>LETTER JA
\ue05c>\u0ca2; # FALLBACK
\ue05d>\u0ca2; # REMAP (indicExceptions.txt): \u0cdd>\u0ca2 = LETTER RHA>LETTER DDHA
\ue05e>\u0cde; # LETTER FA
\ue05f>\u0caf; # REMAP (indicExceptions.txt): \u0cdf>\u0caf = LETTER YYA>LETTER YA
\ue060>\u0ce0; # LETTER VOCALIC RR
\ue061>\u0ce1; # LETTER VOCALIC LL
\ue062>\u0cbf; # REMAP (indicExceptions.txt): \u0ce2>\u0cbf = VOWEL SIGN VOCALIC L>VOWEL SIGN I
\ue063>\u0cc0; # REMAP (indicExceptions.txt): \u0ce3>\u0cc0 = VOWEL SIGN VOCALIC LL>VOWEL SIGN II
\ue064>'.'   ; # FALLBACK FOR DANDA
\ue065>'.'   ; # FALLBACK FOR DOUBLE DANDA      
\ue066>\u0ce6; # DIGIT ZERO
\ue067>\u0ce7; # DIGIT ONE
\ue068>\u0ce8; # DIGIT TWO
\ue069>\u0ce9; # DIGIT THREE
\ue06a>\u0cea; # DIGIT FOUR
\ue06b>\u0ceb; # DIGIT FIVE
\ue06c>\u0cec; # DIGIT SIX
\ue06d>\u0ced; # DIGIT SEVEN
\ue06e>\u0cee; # DIGIT EIGHT
\ue06f>\u0cef; # DIGIT NINE
\ue070>;       # ABBREVIATION SIGN
\ue071>\u0cb0; # LETTER RA WITH MIDDLE DIAGONAL
\ue072>\u0cb0; # LETTER RA WITH LOWER DIAGONAL
\ue073>;       # RUPEE MARK
\ue074>;       # RUPEE SIGN
\ue075>;       # CURRENCY NUMERATOR ONE
\ue076>;       # CURRENCY NUMERATOR TWO
\ue077>;       # CURRENCY NUMERATOR THREE
\ue078>;       # CURRENCY NUMERATOR FOUR
\ue079>;       # CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
\ue07A>;       # CURRENCY DENOMINATOR SIXTEEN
\ue07B>;       # ISSHAR
\uE07C>;       # TIPPI
\uE07D>;       # ADDAK
\uE07E>;       # IRI
\uE07F>;       # URA
\uE080>;       # EK ONKAR

0 > \u0ce6;       # FALLBACK FOR TAMIL
1 > \u0ce7;

#    :: NFC (NFD) ;
# eof
