#--------------------------------------------------------------------
# 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_Telugu.txt,v $
# $Date: 2004/05/07 02:57:41 $
# $Revision: 1.10 $
#--------------------------------------------------------------------

# InterIndic-Telugu
#:: NFD (NFC) ;
\ue001>\u0c01; # SIGN CANDRABINDU
\ue002>\u0c02; # SIGN ANUSVARA
\ue003>\u0c03; # SIGN VISARGA
\uE004>\u0c05; # FALLBACK TO LETTER A
\ue005>\u0c05; # LETTER A
\ue006>\u0c06; # LETTER AA
\ue007>\u0c07; # LETTER I
\ue008>\u0c08; # LETTER II
\ue009>\u0c09; # LETTER U
\ue00a>\u0c0a; # LETTER UU
\ue00b>\u0c0b; # LETTER VOCALIC R
\ue00c>\u0c0c; # LETTER VOCALIC L
\ue00d>\u0c0E; # FALLBACK MAPPING
\ue00e>\u0c0E; # LETTER E
\ue00f>\u0c0f; # LETTER EE
\ue010>\u0c10; # LETTER AI
\ue011>\u0c12; # FALBACK MAPPING
\ue012>\u0c12; # LETTER O
\ue013>\u0c13; # LETTER OO
\ue014>\u0c14; # LETTER AU
\ue015>\u0c15; # LETTER KA
\ue016>\u0c16; # LETTER KHA
\ue017>\u0c17; # LETTER GA
\ue018>\u0c18; # LETTER GHA
\ue019>\u0c19; # LETTER NGA
\ue01a>\u0c1a; # LETTER CA
\ue01b>\u0c1b; # LETTER CHA
\ue01c>\u0c1c; # LETTER JA
\ue01d>\u0c1d; # LETTER JHA
\ue01e>\u0c1e; # LETTER NYA
\ue01f>\u0c1f; # LETTER TTA
\ue020>\u0c20; # LETTER TTHA
\ue021>\u0c21; # LETTER DDA
\ue022>\u0c22; # LETTER DDHA
\ue023>\u0c23; # LETTER NNA
\ue024>\u0c24; # LETTER TA
\ue025>\u0c25; # LETTER THA
\ue026>\u0c26; # LETTER DA
\ue027>\u0c27; # LETTER DHA
\ue028>\u0c28; # LETTER NA
\ue029>\u0c28; # REMAP (indicExceptions.txt): \u0c29>\u0c28 = LETTER NNNA>LETTER NA
\ue02a>\u0c2a; # LETTER PA
\ue02b>\u0c2b; # LETTER PHA
\ue02c>\u0c2c; # LETTER BA
\ue02d>\u0c2d; # LETTER BHA
\ue02e>\u0c2e; # LETTER MA
\ue02f>\u0c2f; # LETTER YA
\ue030\ue03c>\u0c31;
\ue030>\u0c30; # LETTER RA
\ue031>\u0c31; # LETTER RRA
\ue032>\u0c32; # LETTER LA
\ue033>\u0c33; # LETTER LLA
\ue034>\u0c33; # REMAP (indicExceptions.txt): \u0c34>\u0c33 = LETTER LLLA>LETTER LLA
\ue035>\u0c35; # LETTER VA
\ue036>\u0c36; # LETTER SHA
\ue037>\u0c37; # LETTER SSA
\ue038>\u0c38; # LETTER SA
\ue039>\u0c39; # LETTER HA

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

\ue03e>\u0c3e; # VOWEL SIGN AA
\ue03f>\u0c3f; # VOWEL SIGN I
\ue040>\u0c40; # VOWEL SIGN II
\ue041>\u0c41; # VOWEL SIGN U
\ue042>\u0c42; # VOWEL SIGN UU
\ue043>\u0c43; # VOWEL SIGN VOCALIC R
\ue044>\u0c44; # VOWEL SIGN VOCALIC RR
\ue045>\u0c46; # VOWEL SIGN CANDRA E>VOWEL SIGN E
\ue046>\u0c46; # VOWEL SIGN E
\ue047>\u0c47; # VOWEL SIGN EE
\ue048>\u0c48; # VOWEL SIGN AI
\ue049>\u0c4a; # REMAP (indicExceptions.txt): \u0c49>\u0c4a = VOWEL SIGN CANDRA O>VOWEL SIGN O
\ue04a>\u0c4a; # VOWEL SIGN O
\ue04b>\u0c4b; # VOWEL SIGN OO
\ue04c>\u0c4c; # VOWEL SIGN AU
\ue04d>\u0c4d; # SIGN VIRAMA
\ue050>\u0c13\u0c02; # REMAP (indicExceptions.txt): \u0c50>\u0c13\u0c02 = OM>LETTER OO.SIGN ANUSVARA
\ue051>;
\ue052>;
\ue053>;
\ue054>;
\ue055>\u0c55; # LENGTH MARK
\ue056>\u0c56; # AI LENGTH MARK
\ue057>\u0c4c; # REMAP (indicExceptions.txt): \u0c57>\u0c4c = AU LENGTH MARK>VOWEL SIGN AU
\ue058>\u0c15; # REMAP
\ue059>\u0c16; # REMAP (indicExceptions.txt): \u0c59>\u0c16 = LETTER KHHA>LETTER KHA
\ue05a>\u0c17; # REMAP (indicExceptions.txt): \u0c5a>\u0c17 = LETTER GHHA>LETTER GA
\ue05b>\u0c1c; # REMAP (indicExceptions.txt): \u0c5b>\u0c1c = LETTER ZA>LETTER JA
\ue05c>\u0c22; # REMAP
\ue05d>\u0c22; # REMAP (indicExceptions.txt): \u0c5d>\u0c22 = LETTER RHA>LETTER DDHA
\ue05e>\u0c2b; # REMAP (indicExceptions.txt): \u0c5e>\u0c2b = LETTER FA>LETTER PHA
\ue05f>\u0c2f; # REMAP (indicExceptions.txt): \u0c5f>\u0c2f = LETTER YYA>LETTER YA
\ue060>\u0c60; # LETTER VOCALIC RR
\ue061>\u0c61; # LETTER VOCALIC LL
\ue062>\u0c3f; # REMAP (indicExceptions.txt): \u0c62>\u0c3f = VOWEL SIGN VOCALIC L>VOWEL SIGN I
\ue063>\u0c40; # REMAP (indicExceptions.txt): \u0c63>\u0c40 = VOWEL SIGN VOCALIC LL>VOWEL SIGN II
\ue064>'.'   ; # FALLBACK FOR DANDA
\ue065>'.'   ; # FALLBACK FOR DOUBLE DANDA      
\ue066>\u0c66; # DIGIT ZERO
\ue067>\u0c67; # DIGIT ONE
\ue068>\u0c68; # DIGIT TWO
\ue069>\u0c69; # DIGIT THREE
\ue06a>\u0c6a; # DIGIT FOUR
\ue06b>\u0c6b; # DIGIT FIVE
\ue06c>\u0c6c; # DIGIT SIX
\ue06d>\u0c6d; # DIGIT SEVEN
\ue06e>\u0c6e; # DIGIT EIGHT
\ue06f>\u0c6f; # DIGIT NINE

\ue070>;       # ABBREVIATION SIGN
\ue071>\u0c30; # LETTER RA WITH MIDDLE DIAGONAL
\ue072>\u0c30; # 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
\uE081>\u0c35;  # FALLBACK FOR ORIYA LETTER WA 
0 > \u0c66;       # FALLBACK FOR TAMIL
1 > \u0c67;

#    :: NFC (NFD) ;
# eof
