#--------------------------------------------------------------------
# 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_Devanagari_InterIndic.txt,v $
# $Date: 2002/09/19 18:11:23 $
# $Revision: 1.10 $
#--------------------------------------------------------------------

# Devanagari-InterIndic
# :: NFD;
#Rules for Decomposed characters


 \u0901>\uE001;  # SIGN CANDRABINDU
 \u0902>\uE002;  # SIGN ANUSVARA
 \u0903>\uE003;  # SIGN VISARGA
 \u0905>\uE005;  # LETTER A
 \u0906>\uE006;  # LETTER AA
 \u0907>\uE007;  # LETTER I
 \u0908>\uE008;  # LETTER II
 \u0909>\uE009;  # LETTER U
 \u090A>\uE00A;  # LETTER UU
 \u090B>\uE00B;  # LETTER VOCALIC R
 \u090C>\uE00C;  # LETTER VOCALIC L
 \u090D>\uE00D;  # LETTER CANDRA E (For representing English sounds)
 \u090E>\uE00E; # UNMAPPED LETTER SHORT E(For Southern Scripts)
 \u090F>\uE00F;  # LETTER E
 \u0910>\uE010;  # LETTER AI
 \u0911>\uE011;  # LETTER CANDRA O (For representing English sounds)
 \u0912>\uE012; # UNMAPPED LETTER SHORT O (For Southern Scripts)
 \u0913>\uE013;  # LETTER O
 \u0914>\uE014;  # LETTER AU
 \u0915>\uE015;  # LETTER KA
 \u0916>\uE016;  # LETTER KHA
 \u0917>\uE017;  # LETTER GA
 \u0918>\uE018;  # LETTER GHA
 \u0919>\uE019;  # LETTER NGA
 \u091A>\uE01A;  # LETTER CA
 \u091B>\uE01B;  # LETTER CHA
 \u091C>\uE01C;  # LETTER JA
 \u091D>\uE01D;  # LETTER JHA
 \u091E>\uE01E;  # LETTER NYA
 \u091F>\uE01F;  # LETTER TTA
 \u0920>\uE020;  # LETTER TTHA
 \u0921>\uE021;  # LETTER DDA
 \u0922>\uE022;  # LETTER DDHA
 \u0923>\uE023;  # LETTER NNA
 \u0924>\uE024;  # LETTER TA
 \u0925>\uE025;  # LETTER THA
 \u0926>\uE026;  # LETTER DA
 \u0927>\uE027;  # LETTER DHA
 \u0928>\uE028;  # LETTER NA
 \u0929>\uE029;  
 \u092A>\uE02A;  # LETTER PA
 \u092B>\uE02B;  # LETTER PHA
 \u092C>\uE02C;  # LETTER BA
 \u092D>\uE02D;  # LETTER BHA
 \u092E>\uE02E;  # LETTER MA
 \u092F>\uE02F;  # LETTER YA
 \u0930>\uE030;  # LETTER RA
 \u0931>\uE031;
 \u0932>\uE032;  # LETTER LA
 \u0933>\uE033;  # LETTER LLA
 \u0934>\uE034;

 \u0935>\uE035;  # LETTER VA
 \u0936>\uE036;  # LETTER SHA
 \u0937>\uE037;  # LETTER SSA
 \u0938>\uE038;  # LETTER SA
 \u0939>\uE039;  # LETTER HA
 \u093C>\uE03C;  # SIGN NUKTA
 \u093D>\uE03D;  # SIGN AVAGRAHA
 \u093E>\uE03E;  # VOWEL SIGN AA
 \u093F>\uE03F;  # VOWEL SIGN I
 \u0940>\uE040;  # VOWEL SIGN II
 \u0941>\uE041;  # VOWEL SIGN U
 \u0942>\uE042;  # VOWEL SIGN UU
 \u0943>\uE043;  # VOWEL SIGN VOCALIC R
 \u0944>\uE044;  # VOWEL SIGN VOCALIC RR
 \u0945>\uE045;  # VOWEL SIGN CANDRA E
 \u0946>\uE046; # UNMAPPED VOWEL SIGN SHORT E
 \u0947>\uE047;  # VOWEL SIGN E
 \u0948>\uE048;  # VOWEL SIGN AI
 \u0949>\uE049;  # VOWEL SIGN CANDRA O
 \u094A>\uE04A; # UNMAPPED VOWEL SIGN SHORT O
 \u094B>\uE04B;  # VOWEL SIGN O
 \u094C>\uE04C;  # VOWEL SIGN AU
 \u094D>\uE04D;  # SIGN VIRAMA
 \u0950>\uE050;  # OM
 \u0951>\uE051;       # UNMAPPED STRESS SIGN UDATTA
 \u0952>\uE052;       # UNMAPPED STRESS SIGN ANUDATTA
 \u0953>\uE053;       # UNMAPPED GRAVE ACCENT
 \u0954>\uE054;       # UNMAPPED ACUTE ACCENT
 \u0958>\uE058;
 \u0959>\uE059;
 \u095A>\uE05a;
 \u095B>\uE05b;
 \u095C>\uE05c;
 \u095D>\uE05d;
 \u095E>\uE05e;
 \u095F>\uE05f;
 \u0960>\uE060;  # LETTER VOCALIC RR
 \u0961>\uE061;  # LETTER VOCALIC LL
 \u0962>\uE062;  # VOWEL SIGN VOCALIC L
 \u0963>\uE063;  # VOWEL SIGN VOCALIC LL
 \u0964>\ue064;  # DANDA
 \u0965>\ue065;  # DOUBLE DANDA
 \u0966>\uE066;  # DIGIT ZERO
 \u0967>\uE067;  # DIGIT ONE
 \u0968>\uE068;  # DIGIT TWO
 \u0969>\uE069;  # DIGIT THREE
 \u096A>\uE06A;  # DIGIT FOUR
 \u096B>\uE06B;  # DIGIT FIVE
 \u096C>\uE06C;  # DIGIT SIX
 \u096D>\uE06D;  # DIGIT SEVEN
 \u096E>\uE06E;  # DIGIT EIGHT
 \u096F>\uE06F;  # DIGIT NINE
 \u0970>\uE070;  # Devanagari-InterIndic: ABBREVIATION SIGN
#    :: NFC (NFD) ;
