#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others.  All Rights Reserved.
#--------------------------------------------------------------------
# THIS IS A MACHINE-GENERATED FILE
# Tool: dumpICUrules.bat
# Source: \u005cicu4j\u005csrc\u005ccom\u005cibm\u005ctext\u005cresources/Transliterator_InterIndic_Devanagari.utf8.txt
# Date: Thu Mar  1 20:03:55 2001
#--------------------------------------------------------------------
# InterIndic_Devanagari
#--------------------------------------------------------------------
# Copyright (c) 1999-2001, International Business Machines
# Corporation and others.  All Rights Reserved.
#--------------------------------------------------------------------
# Date: Tue Jan 23 12:41:59 2001
#--------------------------------------------------------------------
# InterIndic-Devanagari
#:: NFD (NFC) ; 
#Rules for Decomposed characters
 \ue028\ue03c > \u0929;  #\ue029
 \ue030\ue03c > \u0931;  #\ue031
 \ue033\ue03c > \u0934;  #\ue034
 \ue015\ue03c > \u0958;  #\ue058 LETTER QA   (For Urdu)
 \ue016\ue03c > \u0959;  #\ue059 LETTER KHHA (For Urdu)
 \ue017\ue03c > \u095a;  #\ue05a LETTER GHHA (For Urdu)
 \ue01c\ue03c > \u095b;  #\ue05b LETTER ZA   (For Urdu)
 \ue021\ue03c > \u095c;  #\ue05c LETTER DDDHA (pronounced RRA)
 \ue022\ue03c > \u095d;  #\ue05d LETTER RHA   (pronounced RRHA)
 \ue02b\ue03c > \u095e;  #\ue05e LETTER FA
 \ue02f\ue03c > \u095f;  #\ue05f LETTER YYA
 \ue001 >  \u0901;  # SIGN CANDRABINDU
 \ue002 >  \u0902;  # SIGN ANUSVARA
 \ue003 >  \u0903;  # SIGN VISARGA
 \ue005 >  \u0905;  # LETTER A
 \ue006 >  \u0906;  # LETTER AA
 \ue007 >  \u0907;  # LETTER I
 \ue008 >  \u0908;  # LETTER II
 \ue009 >  \u0909;  # LETTER U
 \ue00a >  \u090a;  # LETTER UU
 \ue00b >  \u090b;  # LETTER VOCALIC R
 \ue00c >  \u090c;  # LETTER VOCALIC L
 \ue00d >  \u090d;  # LETTER CANDRA E (For representing English sounds)
#\ue00e >  \u090e; # UNMAPPED LETTER SHORT E(For Southern Scripts)
 \ue00e >  \u090f;
 \ue00f >  \u090f;  # LETTER E
 \ue010 >  \u0910;  # LETTER AI
 \ue011 >  \u0911;  # LETTER CANDRA O (For representing English sounds)
#\ue012 >  \u0912; # UNMAPPED LETTER SHORT O (For Southern Scripts)
 \ue012 >  \u0913; 
 \ue013 >  \u0913;  # LETTER O
 \ue014 >  \u0914;  # LETTER AU
 \ue015 >  \u0915;  # LETTER KA
 \ue016 >  \u0916;  # LETTER KHA
 \ue017 >  \u0917;  # LETTER GA
 \ue018 >  \u0918;  # LETTER GHA
 \ue019 >  \u0919;  # LETTER NGA
 \ue01a >  \u091a;  # LETTER CA
 \ue01b >  \u091b;  # LETTER CHA
 \ue01c >  \u091c;  # LETTER JA
 \ue01d >  \u091d;  # LETTER JHA
 \ue01e >  \u091e;  # LETTER NYA
 \ue01f >  \u091f;  # LETTER TTA
 \ue020 >  \u0920;  # LETTER TTHA
 \ue021 >  \u0921;  # LETTER DDA
 \ue022 >  \u0922;  # LETTER DDHA
 \ue023 >  \u0923;  # LETTER NNA
 \ue024 >  \u0924;  # LETTER TA
 \ue025 >  \u0925;  # LETTER THA
 \ue026 >  \u0926;  # LETTER DA
 \ue027 >  \u0927;  # LETTER DHA
 \ue028 >  \u0928;  # LETTER NA
 \ue029 >  \u0929;  # LETTER NNNA
 \ue02a >  \u092a;  # LETTER PA
 \ue02b >  \u092b;  # LETTER PHA
 \ue02c >  \u092c;  # LETTER BA
 \ue02d >  \u092d;  # LETTER BHA
 \ue02e >  \u092e;  # LETTER MA
 \ue02f >  \u092f;  # LETTER YA
 \ue030 >  \u0930;  # LETTER RA
 #\ue031 >  \u0931;  # LETTER RRA (Eyelash RA for Southern scripts)
 \ue031 >  \u0930;  
 \ue032 >  \u0932;  # LETTER LA
 \ue033 >  \u0933;  # LETTER LLA
 #\ue034 >  \u0934;  # LETTER LLLA (LLLA for Southern scripts)
 \ue034 >  \u0933;  
 \ue035 >  \u0935;  # LETTER VA
 \ue036 >  \u0936;  # LETTER SHA
 \ue037 >  \u0937;  # LETTER SSA
 \ue038 >  \u0938;  # LETTER SA
 \ue039 >  \u0939;  # LETTER HA
 \ue03c >  \u093c;  # SIGN NUKTA
 \ue03d >  \u093d;  # SIGN AVAGRAHA
 \ue03e >  \u093e;  # VOWEL SIGN AA
 \ue03f >  \u093f;  # VOWEL SIGN I
 \ue040 >  \u0940;  # 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; # UNMAPPED VOWEL SIGN SHORT E
 \ue046 >  \u0947; 
 \ue047 >  \u0947;  # VOWEL SIGN E
 \ue048 >  \u0948;  # VOWEL SIGN AI
 \ue049 >  \u0949;  # VOWEL SIGN CANDRA O
#\ue04a >  \u094a; # UNMAPPED VOWEL SIGN SHORT O
 \ue04a >  \u094b; 
 \ue04b >  \u094b;  # VOWEL SIGN O
 \ue04c >  \u094c;  # VOWEL SIGN AU
 \ue04d >  \u094d;  # SIGN VIRAMA
 \ue050 >  \u0950;  # OM
#         \u0951  # UNMAPPED STRESS SIGN UDATTA
#         \u0952  # UNMAPPED STRESS SIGN ANUDATTA
#         \u0953  # UNMAPPED GRAVE ACCENT
#         \u0954  # UNMAPPED ACUTE ACCENT
 \ue058 >  \u0958;  # LETTER QA   (For Urdu)
 \ue059 >  \u0959;  # LETTER KHHA (For Urdu)
 \ue05a >  \u095a;  # LETTER GHHA (For Urdu)
 \ue05b >  \u095b;  # LETTER ZA   (For Urdu)
 \ue05c >  \u095c;  # LETTER DDDHA (pronounced RRA)
 \ue05d >  \u095d;  # LETTER RHA   (pronounced RRHA)
 \ue05e >  \u095e;  # LETTER FA
 \ue05f >  \u095f;  # LETTER YYA
 \ue060 >  \u0960;  # LETTER VOCALIC RR
 \ue061 >  \u0961;  # LETTER VOCALIC LL
 \ue062 >  \u0962;  # VOWEL SIGN VOCALIC L
 \ue063 >  \u0963;  # VOWEL SIGN VOCALIC LL
# >  ;     \u0964  # UNMAPPED Devanagari-InterIndic: DANDA
# >  ;     \u0965  # UNMAPPED Devanagari-InterIndic: DOUBLE DANDA
 \ue066 >  \u0966;  # DIGIT ZERO
 \ue067 >  \u0967;  # DIGIT ONE
 \ue068 >  \u0968;  # DIGIT TWO
 \ue069 >  \u0969;  # DIGIT THREE
 \ue06a >  \u096a;  # DIGIT FOUR
 \ue06b >  \u096b;  # DIGIT FIVE
 \ue06c >  \u096c;  # DIGIT SIX
 \ue06d >  \u096d;  # DIGIT SEVEN
 \ue06e >  \u096e;  # DIGIT EIGHT
 \ue06f >  \u096f;  # DIGIT NINE
#         \u0970  # UNMAPPED Devanagari-InterIndic: ABBREVIATION SIGN
#    :: NFC;
# eof
