﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2006, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Devanagari.txt
# Generated from CLDR 
#
\uE028\uE03C > ऩ;  #\uE029
\uE030\uE03C > ऱ;  #\uE031
\uE033\uE03C > ऴ;  #\uE034
\uE015\uE03C > क़;  #\uE058 LETTER QA   (For Urdu)
\uE016\uE03C > ख़;  #\uE059 LETTER KHHA (For Urdu)
\uE017\uE03C > ग़;  #\uE05A LETTER GHHA (For Urdu)
\uE01C\uE03C > ज़;  #\uE05B LETTER ZA   (For Urdu)
\uE021\uE03C > ड़;  #\uE05C LETTER DDDHA (pronounced RRA)
\uE022\uE03C > ढ़;  #\uE05D LETTER RHA   (pronounced RRHA)
\uE02B\uE03C > फ़;  #\uE05E LETTER FA
\uE02F\uE03C > य़;  #\uE05F LETTER YYA
\uE012\uE057>औ;   # FALLBACK FOR TAMIL AU
0 > ०;       # FALLBACK FOR TAMIL
1 > १;
\uE055>; # FALLBACK BLOW AWAY KANNADA AND TELUGU LENGTH MARK
\uE056>; # FALLBACK BLOW AWAY KANNADA AND TELUGU AI LENGTH MARK
\uE057>; # FALLBACK BLOW AWAY TAMIL AU LENGTH MARK
\uE001 >  \u0901;  # SIGN CANDRABINDU
\uE002 >  \u0902;  # SIGN ANUSVARA
\uE003 >  ः;  # SIGN VISARGA
\uE004 >  ऄ;  # SIGN SHORT 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 >  ऍ;  # LETTER CANDRA E (For representing English sounds)
\uE00E >  ऎ;  # LETTER SHORT E(For Southern Scripts)
\uE00F >  ए;  # LETTER E
\uE010 >  ऐ;  # LETTER AI
\uE011 >  ऑ;  # LETTER CANDRA O (For representing English sounds)
\uE012 >  ऒ;  # LETTER SHORT O (For Southern Scripts)
\uE013 >  ओ;  # LETTER O
\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 >  ऩ;  # LETTER NNNA
\uE02A >  प;  # LETTER PA
\uE02B >  फ;  # LETTER PHA
\uE02C >  ब;  # LETTER BA
\uE02D >  भ;  # LETTER BHA
\uE02E >  म;  # LETTER MA
\uE02F >  य;  # LETTER YA
\uE030 >  र;  # LETTER RA
\uE031 >  ऱ;  # LETTER RRA (Eyelash RA for Southern scripts)
\uE032 >  ल;  # LETTER LA
\uE033 >  ळ;  # LETTER LLA
\uE034 >  ऴ;  # LETTER LLLA (LLLA for Southern scripts)
\uE035 >  व;  # LETTER VA
\uE036 >  श;  # LETTER SHA
\uE037 >  ष;  # LETTER SSA
\uE038 >  स;  # LETTER SA
\uE039 >  ह;  # LETTER HA
\uE03C >  \u093C;  # SIGN NUKTA
\uE03D >  ऽ;  # SIGN AVAGRAHA
\uE03E >  ा;  # VOWEL SIGN AA
\uE03F >  ि;  # VOWEL SIGN I
\uE040 >  ी;  # VOWEL SIGN II
\uE041 >  \u0941;  # VOWEL SIGN U
\uE042 >  \u0942;  # VOWEL SIGN UU
\uE043 >  \u0943;  # VOWEL SIGN VOCALIC R
\uE044 >  \u0944;  # VOWEL SIGN VOCALIC RR
\uE045 >  \u0945;  # VOWEL SIGN CANDRA E
\uE046 >  \u0946;  # VOWEL SIGN SHORT E
\uE047 >  \u0947;  # VOWEL SIGN E
\uE048 >  \u0948;  # VOWEL SIGN AI
\uE049 >  ॉ;  # VOWEL SIGN CANDRA O
\uE04A >  ॊ;  # VOWEL SIGN SHORT O
\uE04B >  ो;  # VOWEL SIGN O
\uE04C >  ौ;  # VOWEL SIGN AU
\uE04D >  \u094D;  # SIGN VIRAMA
\uE050 >  ॐ;  # OM
\uE051 >  \u0951;  # STRESS SIGN UDATTA
\uE052 >  \u0952;  # STRESS SIGN ANUDATTA
\uE053 >  \u0953;  # GRAVE ACCENT
\uE054 >  \u0954;  # ACUTE ACCENT
\uE058 >  क़;  # LETTER QA   (For Urdu)
\uE059 >  ख़;  # LETTER KHHA (For Urdu)
\uE05A >  ग़;  # LETTER GHHA (For Urdu)
\uE05B >  ज़;  # LETTER ZA   (For Urdu)
\uE05C >  ड़;  # LETTER DDDHA (pronounced RRA)
\uE05D >  ढ़;  # LETTER RHA   (pronounced RRHA)
\uE05E >  फ़;  # LETTER FA
\uE05F >  य़;  # LETTER YYA
\uE060 >  ॠ;  # LETTER VOCALIC RR
\uE061 >  ॡ;  # LETTER VOCALIC LL
\uE062 >  \u0962;  # VOWEL SIGN VOCALIC L
\uE063 >  \u0963;  # VOWEL SIGN VOCALIC LL
\uE064 >  ।;  # DANDA
\uE065 >  ॥;  # 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>र\u0942;           # 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 Sign
\uE083>त\u094D;  # Bengali Khanda-ta
