﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Telugu.txt
# Generated from CLDR: Thu Jul 20 16:27:16 PDT 2006
#
\uE001>ఁ; # SIGN CANDRABINDU
\uE002>ం; # SIGN ANUSVARA
\uE003>ః; # SIGN VISARGA
\uE004>అ; # FALLBACK TO LETTER A
\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
\uE00D>ఎ; # FALLBACK MAPPING
\uE00E>ఎ; # LETTER E
\uE00F>ఏ; # LETTER EE
\uE010>ఐ; # LETTER AI
\uE011>ఒ; # FALBACK MAPPING
\uE012>ఒ; # LETTER O
\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): \u0C29>న = LETTER NNNA>LETTER NA
\uE02A>ప; # LETTER PA
\uE02B>ఫ; # LETTER PHA
\uE02C>బ; # LETTER BA
\uE02D>భ; # LETTER BHA
\uE02E>మ; # LETTER MA
\uE02F>య; # LETTER YA
\uE030\uE03C>ఱ;
\uE030>ర; # LETTER RA
\uE031>ఱ; # LETTER RRA
\uE032>ల; # LETTER LA
\uE033>ళ; # LETTER LLA
\uE034>ళ; # REMAP (indicExceptions.txt): \u0C34>ళ = LETTER LLLA>LETTER LLA
\uE035>వ; # LETTER VA
\uE036>శ; # LETTER SHA
\uE037>ష; # LETTER SSA
\uE038>స; # LETTER SA
\uE039>హ; # 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>ు; # VOWEL SIGN U
\uE042>ూ; # VOWEL SIGN UU
\uE043>ృ; # VOWEL SIGN VOCALIC R
\uE044>ౄ; # 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>ఓం; # REMAP (indicExceptions.txt): \u0C50>ఓం = 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>క; # REMAP
\uE059>ఖ; # REMAP (indicExceptions.txt): \u0C59>ఖ = LETTER KHHA>LETTER KHA
\uE05A>గ; # REMAP (indicExceptions.txt): \u0C5A>గ = LETTER GHHA>LETTER GA
\uE05B>జ; # REMAP (indicExceptions.txt): \u0C5B>జ = LETTER ZA>LETTER JA
\uE05C>ఢ; # REMAP
\uE05D>ఢ; # REMAP (indicExceptions.txt): \u0C5D>ఢ = LETTER RHA>LETTER DDHA
\uE05E>ఫ; # REMAP (indicExceptions.txt): \u0C5E>ఫ = LETTER FA>LETTER PHA
\uE05F>య; # REMAP (indicExceptions.txt): \u0C5F>య = LETTER YYA>LETTER YA
\uE060>ౠ; # LETTER VOCALIC RR
\uE061>ౡ; # 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>౦; # 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
\uE070>;       # ABBREVIATION SIGN
\uE071>ర; # LETTER RA WITH MIDDLE DIAGONAL
\uE072>ర; # 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>వ; # FALLBACK FOR ORIYA LETTER WA
\uE082>;       # Devanagari Glottal Stop
\uE083>త\u0C4D;  # Bengali Khanda-ta
0 > ౦;    # FALLBACK FOR TAMIL
1 > ౧;
