//--------------------------------------------------------------------
// 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_Oriya.utf8.txt
// Date: Thu Mar  1 20:03:55 2001
//--------------------------------------------------------------------

// InterIndic_Oriya

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

// InterIndic-Oriya
//":: NFD (NFC) ;"
"\ue001>\u0b01;" // SIGN CANDRABINDU
"\ue002>\u0b02;" // SIGN ANUSVARA
"\ue003>\u0b03;" // SIGN VISARGA
"\ue005>\u0b05;" // LETTER A
"\ue006>\u0b06;" // LETTER AA
"\ue007>\u0b07;" // LETTER I
"\ue008>\u0b08;" // LETTER II
"\ue009>\u0b09;" // LETTER U
"\ue00a>\u0b0a;" // LETTER UU
"\ue00b>\u0b0b;" // LETTER VOCALIC R
"\ue00c>\u0b0c;" // LETTER VOCALIC L
// \ue00f>; // UNMAPPED InterIndic-Oriya: LETTER EE (\u0b0f = LETTER E)
"\ue010>\u0b10;" // LETTER AI
// \ue013>; // UNMAPPED InterIndic-Oriya: LETTER OO (\u0b13 = LETTER O)
"\ue014>\u0b14;" // LETTER AU
"\ue015>\u0b15;" // LETTER KA
"\ue016>\u0b16;" // LETTER KHA
"\ue017>\u0b17;" // LETTER GA
"\ue018>\u0b18;" // LETTER GHA
"\ue019>\u0b19;" // LETTER NGA
"\ue01a>\u0b1a;" // LETTER CA
"\ue01b>\u0b1b;" // LETTER CHA
"\ue01c>\u0b1c;" // LETTER JA
"\ue01d>\u0b1d;" // LETTER JHA
"\ue01e>\u0b1e;" // LETTER NYA
"\ue01f>\u0b1f;" // LETTER TTA
"\ue020>\u0b20;" // LETTER TTHA
"\ue021>\u0b21;" // LETTER DDA
"\ue022>\u0b22;" // LETTER DDHA
"\ue023>\u0b23;" // LETTER NNA
"\ue024>\u0b24;" // LETTER TA
"\ue025>\u0b25;" // LETTER THA
"\ue026>\u0b26;" // LETTER DA
"\ue027>\u0b27;" // LETTER DHA
"\ue028>\u0b28;" // LETTER NA
"\ue029>\u0b28;" // REMAP (indicExceptions.txt): \u0b29>\u0b28 = LETTER NNNA>LETTER NA
"\ue02a>\u0b2a;" // LETTER PA
"\ue02b>\u0b2b;" // LETTER PHA
"\ue02c>\u0b2c;" // LETTER BA
"\ue02d>\u0b2d;" // LETTER BHA
"\ue02e>\u0b2e;" // LETTER MA
"\ue02f>\u0b2f;" // LETTER YA
"\ue030>\u0b30;" // LETTER RA
"\ue032>\u0b32;" // LETTER LA
"\ue033>\u0b33;" // LETTER LLA
"\ue034>\u0b33;" // REMAP (indicExceptions.txt): \u0b34>\u0b33 = LETTER LLLA>LETTER LLA
"\ue035>\u0b2c;" // REMAP (indicExceptions.txt): \u0b35>\u0b2c = LETTER VA>LETTER BA
"\ue036>\u0b36;" // LETTER SHA
"\ue037>\u0b37;" // LETTER SSA
"\ue038>\u0b38;" // LETTER SA
"\ue039>\u0b39;" // LETTER HA
"\ue03c>\u0b3c;" // SIGN NUKTA
"\ue03d>\u0b3d;" // SIGN AVAGRAHA
"\ue03e>\u0b3e;" // VOWEL SIGN AA
"\ue03f>\u0b3f;" // VOWEL SIGN I
"\ue040>\u0b40;" // VOWEL SIGN II
"\ue041>\u0b41;" // VOWEL SIGN U
"\ue042>\u0b42;" // VOWEL SIGN UU
"\ue043>\u0b43;" // VOWEL SIGN VOCALIC R
"\ue044>\u0b43\u0b3c;" // REMAP (indicExceptions.txt): \u0b44>\u0b43\u0b3c = VOWEL SIGN VOCALIC RR>VOWEL SIGN VOCALIC R.SIGN NUKTA
"\ue045>\u0b47;" // REMAP (indicExceptions.txt): \u0b45>\u0b47 = VOWEL SIGN CANDRA E>VOWEL SIGN E
// \ue047>; // UNMAPPED InterIndic-Oriya: VOWEL SIGN EE (\u0b47 = VOWEL SIGN E)
"\ue048>\u0b48;" // VOWEL SIGN AI
"\ue049>\u0b4b;" // REMAP (indicExceptions.txt): \u0b49>\u0b4b = VOWEL SIGN CANDRA O>VOWEL SIGN O
// \ue04b>; // UNMAPPED InterIndic-Oriya: VOWEL SIGN OO (\u0b4b = VOWEL SIGN O)
"\ue04c>\u0b4c;" // VOWEL SIGN AU
"\ue04d>\u0b4d;" // SIGN VIRAMA
"\ue050>\u0b13\u0b01;" // REMAP (indicExceptions.txt): \u0b50>\u0b13\u0b01 = OM>LETTER O.SIGN CANDRABINDU
// \ue055>; // UNMAPPED InterIndic-Oriya: LENGTH MARK
"\ue056>\u0b56;" // AI LENGTH MARK
"\ue057>\u0b57;" // AU LENGTH MARK
"\ue059>\u0b16\u0b3c;" // REMAP (indicExceptions.txt): \u0b59>\u0b16\u0b3c = LETTER KHHA>LETTER KHA.SIGN NUKTA
"\ue05a>\u0b17\u0b3c;" // REMAP (indicExceptions.txt): \u0b5a>\u0b17\u0b3c = LETTER GHHA>LETTER GA.SIGN NUKTA
"\ue05b>\u0b1c\u0b3c;" // REMAP (indicExceptions.txt): \u0b5b>\u0b1c\u0b3c = LETTER ZA>LETTER JA.SIGN NUKTA
"\ue05d>\u0b5d;" // LETTER RHA
"\ue05e>\u0b2b\u0b3c;" // REMAP (indicExceptions.txt): \u0b5e>\u0b2b\u0b3c = LETTER FA>LETTER PHA.SIGN NUKTA
"\ue05f>\u0b5f;" // LETTER YYA
"\ue060>\u0b60;" // LETTER VOCALIC RR
"\ue061>\u0b61;" // LETTER VOCALIC LL
"\ue062>\u0b56\u0b3c;" // REMAP (indicExceptions.txt): \u0b62>\u0b56\u0b3c = VOWEL SIGN VOCALIC L>AI LENGTH MARK.SIGN NUKTA
"\ue063>\u0b57\u0b3c;" // REMAP (indicExceptions.txt): \u0b63>\u0b57\u0b3c = VOWEL SIGN VOCALIC LL>AU LENGTH MARK.SIGN NUKTA
"\ue066>\u0b66;" // DIGIT ZERO
"\ue067>\u0b67;" // DIGIT ONE
"\ue068>\u0b68;" // DIGIT TWO
"\ue069>\u0b69;" // DIGIT THREE
"\ue06a>\u0b6a;" // DIGIT FOUR
"\ue06b>\u0b6b;" // DIGIT FIVE
"\ue06c>\u0b6c;" // DIGIT SIX
"\ue06d>\u0b6d;" // DIGIT SEVEN
"\ue06e>\u0b6e;" // DIGIT EIGHT
"\ue06f>\u0b6f;" // DIGIT NINE
"\ue070>\u0b70;" // ISSHAR
"\ue00e>\u0b0f;" // LETTER E
"\ue013>\u0b13;" // LETTER O
"\ue031>\u0b5c;" // LETTER RRA
"\ue047>\u0b47;" // VOWEL SIGN E
"\ue04b>\u0b4b;" // VOWEL SIGN O
//    ":: NFC (NFD) ;"
// eof
  }
}
