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

// InterIndic_Tamil

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

// InterIndic-Tamil
//":: NFD (NFC) ;"
// \ue001>; // UNMAPPED InterIndic-Tamil: SIGN CANDRABINDU
"\ue002>\u0b82;" // SIGN ANUSVARA
"\ue003>\u0b83;" // SIGN VISARGA
"\ue005>\u0b85;" // LETTER A
"\ue006>\u0b86;" // LETTER AA
"\ue007>\u0b87;" // LETTER I
"\ue008>\u0b88;" // LETTER II
"\ue009>\u0b89;" // LETTER U
"\ue00a>\u0b8a;" // LETTER UU
"\ue00b>\u0bb0\u0bbf;" // REMAP (indicExceptions.txt): \u0b8b>\u0bb0\u0bbf = LETTER VOCALIC R>LETTER RA.VOWEL SIGN I
"\ue00c>\u0b87;" // REMAP (indicExceptions.txt): \u0b8c>\u0b87 = LETTER VOCALIC L>LETTER I
"\ue00f>\u0b8f;" // LETTER EE
"\ue010>\u0b90;" // LETTER AI
"\ue013>\u0b93;" // LETTER OO
"\ue014>\u0b94;" // LETTER AU
"\ue015>\u0b95;" // LETTER KA
"\ue016>\u0b95;" // REMAP (indicExceptions.txt): \u0b96>\u0b95 = LETTER KHA>LETTER KA
"\ue017>\u0b95;" // REMAP (indicExceptions.txt): \u0b97>\u0b95 = LETTER GA>LETTER KA
"\ue018>\u0b95;" // REMAP (indicExceptions.txt): \u0b98>\u0b95 = LETTER GHA>LETTER KA
"\ue019>\u0b99;" // LETTER NGA
"\ue01a>\u0b9a;" // LETTER CA
"\ue01b>\u0b9a;" // REMAP (indicExceptions.txt): \u0b9b>\u0b9a = LETTER CHA>LETTER CA
"\ue01c>\u0b9c;" // LETTER JA
"\ue01d>\u0b9a;" // REMAP (indicExceptions.txt): \u0b9d>\u0b9a = LETTER JHA>LETTER CA
"\ue01e>\u0b9e;" // LETTER NYA
"\ue01f>\u0b9f;" // LETTER TTA
"\ue020>\u0b9f;" // REMAP (indicExceptions.txt): \u0ba0>\u0b9f = LETTER TTHA>LETTER TTA
"\ue021>\u0b9f;" // REMAP (indicExceptions.txt): \u0ba1>\u0b9f = LETTER DDA>LETTER TTA
"\ue022>\u0b9f;" // REMAP (indicExceptions.txt): \u0ba2>\u0b9f = LETTER DDHA>LETTER TTA
"\ue023>\u0ba3;" // LETTER NNA
"\ue024>\u0ba4;" // LETTER TA
"\ue025>\u0ba4;" // REMAP (indicExceptions.txt): \u0ba5>\u0ba4 = LETTER THA>LETTER TA
"\ue026>\u0ba4;" // REMAP (indicExceptions.txt): \u0ba6>\u0ba4 = LETTER DA>LETTER TA
"\ue027>\u0ba4;" // REMAP (indicExceptions.txt): \u0ba7>\u0ba4 = LETTER DHA>LETTER TA
"\ue028>\u0ba8;" // LETTER NA
"\ue029>\u0ba9;" // LETTER NNNA
"\ue02a>\u0baa;" // LETTER PA
"\ue02b>\u0baa;" // REMAP (indicExceptions.txt): \u0bab>\u0baa = LETTER PHA>LETTER PA
"\ue02c>\u0baa;" // REMAP (indicExceptions.txt): \u0bac>\u0baa = LETTER BA>LETTER PA
"\ue02d>\u0baa;" // REMAP (indicExceptions.txt): \u0bad>\u0baa = LETTER BHA>LETTER PA
"\ue02e>\u0bae;" // LETTER MA
"\ue02f>\u0baf;" // LETTER YA
"\ue030>\u0bb0;" // LETTER RA
"\ue032>\u0bb2;" // LETTER LA
"\ue033>\u0bb3;" // LETTER LLA
"\ue034>\u0bb4;" // LETTER LLLA
"\ue035>\u0bb5;" // LETTER VA
"\ue036>\u0bb7;" // REMAP (indicExceptions.txt): \u0bb6>\u0bb7 = LETTER SHA>LETTER SSA
"\ue037>\u0bb7;" // LETTER SSA
"\ue038>\u0bb8;" // LETTER SA
"\ue039>\u0bb9;" // LETTER HA
// \ue03c>; // UNMAPPED InterIndic-Tamil: SIGN NUKTA
// \ue03d>; // UNMAPPED InterIndic-Tamil: SIGN AVAGRAHA
"\ue03e>\u0bbe;" // VOWEL SIGN AA
"\ue03f>\u0bbf;" // VOWEL SIGN I
"\ue040>\u0bc0;" // VOWEL SIGN II
"\ue041>\u0bc1;" // VOWEL SIGN U
"\ue042>\u0bc2;" // VOWEL SIGN UU
"\ue043>\u0bcd\u0bb0\u0bbf;" // REMAP (indicExceptions.txt): \u0bc3>\u0bcd\u0bb0\u0bbf = VOWEL SIGN VOCALIC R>SIGN VIRAMA.LETTER RA.VOWEL SIGN I
"\ue044>\u0bcd\u0bb0\u0bbf;" // REMAP (indicExceptions.txt): \u0bc4>\u0bcd\u0bb0\u0bbf = VOWEL SIGN VOCALIC RR>SIGN VIRAMA.LETTER RA.VOWEL SIGN I
"\ue045>\u0bbe;" // REMAP (indicExceptions.txt): \u0bc5>\u0bbe = VOWEL SIGN CANDRA E>VOWEL SIGN AA
"\ue047>\u0bc7;" // VOWEL SIGN EE
"\ue048>\u0bc8;" // VOWEL SIGN AI
"\ue049>\u0bbe;" // REMAP (indicExceptions.txt): \u0bc9>\u0bbe = VOWEL SIGN CANDRA O>VOWEL SIGN AA
"\ue04b>\u0bcb;" // VOWEL SIGN OO
"\ue04c>\u0bcc;" // VOWEL SIGN AU
"\ue04d>\u0bcd;" // SIGN VIRAMA
"\ue050>\u0b93\u0bae\u0bcd;" // REMAP (indicExceptions.txt): \u0bd0>\u0b93\u0bae\u0bcd = OM>LETTER OO.LETTER MA.SIGN VIRAMA
// \ue055>; // UNMAPPED InterIndic-Tamil: LENGTH MARK
"\ue056>\u0bc8;" // REMAP (indicExceptions.txt): \u0bd6>\u0bc8 = AI LENGTH MARK>VOWEL SIGN AI
"\ue057>\u0bd7;" // AU LENGTH MARK
"\ue059>\u0b95;" // REMAP (indicExceptions.txt): \u0bd9>\u0b95 = LETTER KHHA>LETTER KA
"\ue05a>\u0b95;" // REMAP (indicExceptions.txt): \u0bda>\u0b95 = LETTER GHHA>LETTER KA
"\ue05b>\u0b9c;" // REMAP (indicExceptions.txt): \u0bdb>\u0b9c = LETTER ZA>LETTER JA
"\ue05d>\u0b9f;" // REMAP (indicExceptions.txt): \u0bdd>\u0b9f = LETTER RHA>LETTER TTA
"\ue05e>\u0baa;" // REMAP (indicExceptions.txt): \u0bde>\u0baa = LETTER FA>LETTER PA
"\ue05f>\u0baf;" // REMAP (indicExceptions.txt): \u0bdf>\u0baf = LETTER YYA>LETTER YA
"\ue060>\u0bb0\u0bbf;" // REMAP (indicExceptions.txt): \u0be0>\u0bb0\u0bbf = LETTER VOCALIC RR>LETTER RA.VOWEL SIGN I
"\ue061>\u0b88;" // REMAP (indicExceptions.txt): \u0be1>\u0b88 = LETTER VOCALIC LL>LETTER II
// \ue062>; // UNMAPPED InterIndic-Tamil: VOWEL SIGN VOCALIC L
// \ue063>; // UNMAPPED InterIndic-Tamil: VOWEL SIGN VOCALIC LL
// \ue066>; // UNMAPPED InterIndic-Tamil: DIGIT ZERO
"\ue067>\u0be7;" // DIGIT ONE
"\ue068>\u0be8;" // DIGIT TWO
"\ue069>\u0be9;" // DIGIT THREE
"\ue06a>\u0bea;" // DIGIT FOUR
"\ue06b>\u0beb;" // DIGIT FIVE
"\ue06c>\u0bec;" // DIGIT SIX
"\ue06d>\u0bed;" // DIGIT SEVEN
"\ue06e>\u0bee;" // DIGIT EIGHT
"\ue06f>\u0bef;" // DIGIT NINE
// \ue080>; // UNMAPPED InterIndic-Tamil: ISSHAR
"\ue00e>\u0b8e;" // LETTER E
"\ue012>\u0b92;" // LETTER O
"\ue031>\u0bb1;" // LETTER RRA
"\ue046>\u0bc6;" // VOWEL SIGN E
"\ue04a>\u0bca;" // VOWEL SIGN O
//    ":: NFC (NFD) ;"
// eof
  }
}
