//--------------------------------------------------------------------
// Copyright (c) 1999-2001, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------

// Devanagari_InterIndic

Devanagari_InterIndic {
  Rule {
//--------------------------------------------------------------------
// Copyright (c) 1999-2001, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// Date: Tue Jan 23 12:41:57 2001
//--------------------------------------------------------------------

// Devanagari-InterIndic
// ":: NFD;"
 //Rules for Decomposed characters
 "\u0928\u093c  > \ue029;"  //\u0929
 "\u0930\u093c  > \ue031;"  //\u0932
 "\u0933\u093c  > \ue034;"  //\u0934
 "\u0915\u093c  > \ue058;"  //\u0958 LETTER QA   (For Urdu)
 "\u0916\u093c  > \ue059;"  //\u0959 LETTER KHHA (For Urdu)
 "\u0917\u093c  > \ue05a;"  //\u095a LETTER GHHA (For Urdu)
 "\u091c\u093c  > \ue05b;"  //\u095b LETTER ZA   (For Urdu)
 "\u0921\u093c  > \ue05c;"  //\u095c LETTER DDDHA (pronounced RRA)
 "\u0922\u093c  > \ue05d;"  //\u095d LETTER RHA   (pronounced RRHA)
 "\u092b\u093c  > \ue05e;"  //\u095e LETTER FA
 "\u092f\u093c  > \ue05f;"  //\u095f LETTER YYA

 "\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;"  // LETTER NNNA
 "\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;"  // UNMAPPED LETTER RRA (Eyelash RA for Southern scripts)
 "\u0932>\ue032;"  // LETTER LA
 "\u0933>\ue033;"  // LETTER LLA
 //"\u0934>\ue034;"  // UNMAPPED LETTER LLLA (LLLA for Southern scripts)
 "\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>;" // UNMAPPED STRESS SIGN UDATTA
// "\u0952>;" // UNMAPPED STRESS SIGN ANUDATTA
// "\u0953>;" // UNMAPPED GRAVE ACCENT
// "\u0954>;" // UNMAPPED ACUTE ACCENT
 "\u0958>\ue058;"  // LETTER QA   (For Urdu)
 "\u0959>\ue059;"  // LETTER KHHA (For Urdu)
 "\u095a>\ue05a;"  // LETTER GHHA (For Urdu)
 "\u095b>\ue05b;"  // LETTER ZA   (For Urdu)
 "\u095c>\ue05c;"  // LETTER DDDHA (pronounced RRA)
 "\u095d>\ue05d;"  // LETTER RHA   (pronounced RRHA)
 "\u095e>\ue05e;"  // LETTER FA
 "\u095f>\ue05f;"  // LETTER YYA
 "\u0960>\ue060;"  // LETTER VOCALIC RR
 "\u0961>\ue061;"  // LETTER VOCALIC LL
 "\u0962>\ue062;"  // VOWEL SIGN VOCALIC L
 "\u0963>\ue063;"  // VOWEL SIGN VOCALIC LL
// "\u0964>;" // UNMAPPED Devanagari-InterIndic: DANDA
// "\u0965>;" // UNMAPPED Devanagari-InterIndic: 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>;" // UNMAPPED Devanagari-InterIndic: ABBREVIATION SIGN
//    ":: NFC (NFD) ;"
  }
}
