#--------------------------------------------------------------------
# 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_Telugu_InterIndic.txt,v $
# $Date: 2002/08/14 00:40:58 $
# $Revision: 1.7 $
#--------------------------------------------------------------------

# Telugu-InterIndic
#:: NFD (NFC) ;
\u0c46\u0c4d\u0c56>\ue048\ue04d;
\u0C46\u0C56>\uE048;# VOWEL SIGN AI
\u0C01>\uE001;      # SIGN CANDRABINDU
\u0C02>\uE002;      # SIGN ANUSVARA
\u0C03>\uE003;      # SIGN VISARGA
\u0C05>\uE005;      # LETTER A
\u0C06>\uE006;      # LETTER AA
\u0C07>\uE007;      # LETTER I
\u0C08>\uE008;      # LETTER II
\u0C09>\uE009;      # LETTER U
\u0C0A>\uE00A;      # LETTER UU
\u0C0B>\uE00B;      # LETTER VOCALIC R
\u0C0C>\uE00C;      # LETTER VOCALIC L
\u0C0E>\uE00E;      # LETTER E
\u0C0F>\uE00F;      # LETTER EE
\u0C10>\uE010;      # LETTER AI
\u0C12>\uE012;      # LETTER O
\u0C13>\uE013;      # LETTER OO
\u0C14>\uE014;      # LETTER AU
\u0C15>\uE015;      # LETTER KA
\u0C16>\uE016;      # LETTER KHA
\u0C17>\uE017;      # LETTER GA
\u0C18>\uE018;      # LETTER GHA
\u0C19>\uE019;      # LETTER NGA
\u0C1A>\uE01A;      # LETTER CA
\u0C1B>\uE01B;      # LETTER CHA
\u0C1C>\uE01C;      # LETTER JA
\u0C1D>\uE01D;      # LETTER JHA
\u0C1E>\uE01E;      # LETTER NYA
\u0C1F>\uE01F;      # LETTER TTA
\u0C20>\uE020;      # LETTER TTHA
\u0C21>\uE021;      # LETTER DDA
\u0C22>\uE022;      # LETTER DDHA
\u0C23>\uE023;      # LETTER NNA
\u0C24>\uE024;      # LETTER TA
\u0C25>\uE025;      # LETTER THA
\u0C26>\uE026;      # LETTER DA
\u0C27>\uE027;      # LETTER DHA
\u0C28>\uE028;      # LETTER NA
\u0C2A>\uE02A;      # LETTER PA
\u0C2B>\uE02B;      # LETTER PHA
\u0C2C>\uE02C;      # LETTER BA
\u0C2D>\uE02D;      # LETTER BHA
\u0C2E>\uE02E;      # LETTER MA
\u0C2F>\uE02F;      # LETTER YA
\u0C30>\uE030;      # LETTER RA
\u0C31>\uE031;      # LETTER RRA
\u0C32>\uE032;      # LETTER LA
\u0C33>\uE033;      # LETTER LLA
\u0C35>\uE035;      # LETTER VA
\u0C36>\uE036;      # LETTER SHA
\u0C37>\uE037;      # LETTER SSA
\u0C38>\uE038;      # LETTER SA
\u0C39>\uE039;      # LETTER HA
\u0C3E>\uE03E;      # VOWEL SIGN AA
\u0C3F>\uE03F;      # VOWEL SIGN I
\u0C40>\uE040;      # VOWEL SIGN II
\u0C41>\uE041;      # VOWEL SIGN U
\u0C42>\uE042;      # VOWEL SIGN UU
\u0C43>\uE043;      # VOWEL SIGN VOCALIC R
\u0C44>\uE044;      # VOWEL SIGN VOCALIC RR
\u0C46>\uE046;      # VOWEL SIGN E
\u0C47>\uE047;      # VOWEL SIGN EE
\u0C4A>\uE04A;      # VOWEL SIGN O
\u0C4B>\uE04B;      # VOWEL SIGN OO
\u0C4C>\uE04C;      # VOWEL SIGN AU
\u0C4D>\uE04D;      # SIGN VIRAMA
\u0C55>\uE055;      # LENGTH MARK
\u0C56>\uE056;      # AI LENGTH MARK
\u0C60>\uE060;      # LETTER VOCALIC RR
\u0C61>\uE061;      # LETTER VOCALIC LL
\u0C66>\uE066;      # DIGIT ZERO
\u0C67>\uE067;      # DIGIT ONE
\u0C68>\uE068;      # DIGIT TWO
\u0C69>\uE069;      # DIGIT THREE
\u0C6A>\uE06A;      # DIGIT FOUR
\u0C6B>\uE06B;      # DIGIT FIVE
\u0C6C>\uE06C;      # DIGIT SIX
\u0C6D>\uE06D;      # DIGIT SEVEN
\u0C6E>\uE06E;      # DIGIT EIGHT
\u0C6F>\uE06F;      # DIGIT NINE
#    :: NFC (NFD) ;
# eof
