﻿ // -*- Coding: utf-8; -*-
//--------------------------------------------------------------------
// Copyright (c) 1999-2002, International Business Machines
// Corporation and others.  All Rights Reserved.
//--------------------------------------------------------------------
// THIS IS A MACHINE-GENERATED FILE
// Tool: dumpicurules.bat
// Source: ../../../impl/data/Transliterator_InterIndic_Bengali.txt
// Date: Sat Jul 27 10:31:07 2002
//--------------------------------------------------------------------

// InterIndic_Bengali

t_InterIndic_Beng {
  Rule {
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//--------------------------------------------------------------------

// InterIndic-Bengali
//:: NFD (NFC) ;
"\uE001>\u0981;"          // SIGN CANDRABINDU
"\uE002>\u0982;"          // SIGN ANUSVARA
"\uE003>\u0983;"          // SIGN VISARGA
"\uE005>\u0985;"          // LETTER A
"\uE006>\u0986;"          // LETTER AA
"\uE007>\u0987;"          // LETTER I
"\uE008>\u0988;"          // LETTER II
"\uE009>\u0989;"          // LETTER U
"\uE00A>\u098A;"          // LETTER UU
"\uE00B>\u098B;"          // LETTER VOCALIC R
"\uE00C>\u098C;"          // LETTER VOCALIC L
"\uE00D>\u098F;"          // FALLBACK
"\uE00E>\u098F;"          // FALLBACK
"\uE00F>\u098F;"          // LETTER E
"\uE010>\u0990;"          // LETTER AI
"\uE011>\u0993;"          // FALLBACK
"\uE012>\u0993;"          // FALLBACK
"\uE013>\u0993;"          // LETTER O
"\uE014>\u0994;"          // LETTER AU
"\uE015>\u0995;"          // LETTER KA
"\uE016>\u0996;"          // LETTER KHA
"\uE017>\u0997;"          // LETTER GA
"\uE018>\u0998;"          // LETTER GHA
"\uE019>\u0999;"          // LETTER NGA
"\uE01A>\u099A;"          // LETTER CA
"\uE01B>\u099B;"          // LETTER CHA
"\uE01C>\u099C;"          // LETTER JA
"\uE01D>\u099D;"          // LETTER JHA
"\uE01E>\u099E;"          // LETTER NYA
"\uE01F>\u099F;"          // LETTER TTA
"\uE020>\u09A0;"          // LETTER TTHA
"\uE021>\u09A1;"          // LETTER DDA
"\uE022>\u09A2;"          // LETTER DDHA
"\uE023>\u09A3;"          // LETTER NNA
"\uE024>\u09A4;"          // LETTER TA
"\uE025>\u09A5;"          // LETTER THA
"\uE026>\u09A6;"          // LETTER DA
"\uE027>\u09A7;"          // LETTER DHA
"\uE028>\u09A8;"          // LETTER NA
"\uE029>\u09A8\u09BC;"    // REMAP (indicExceptions.txt): \u09a9>\u09a8 = LETTER NNNA>LETTER NA
"\uE02A>\u09AA;"          // LETTER PA
"\uE02B>\u09AB;"          // LETTER PHA
"\uE02C>\u09AC;"          // LETTER BA
"\uE02D>\u09AD;"          // LETTER BHA
"\uE02E>\u09AE;"          // LETTER MA
"\uE02F>\u09AF;"          // LETTER YA
"\uE030>\u09B0;"          // LETTER RA
"\uE031>\u09B0\u09BC;"    // FALLBACK to RA
"\uE032>\u09B2;"          // LETTER LA
"\uE033>\u09B2;"          // REMAP (indicExceptions.txt): \u09b3>\u09b2 = LETTER LLA>LETTER LA
"\uE034>\u09B2;"          // REMAP (indicExceptions.txt): \u09b4>\u09b2 = LETTER LLLA>LETTER LA
"\uE035>\u09AC;"          // REMAP (indicExceptions.txt): \u09b5>\u09ac = LETTER VA>LETTER BA
"\uE036>\u09B6;"          // LETTER SHA
"\uE037>\u09B7;"          // LETTER SSA
"\uE038>\u09B8;"          // LETTER SA
"\uE039>\u09B9;"          // LETTER HA
"\uE03C>\u09BC;"          // SIGN NUKTA
"\uE03D>;"                // FALLBACK BLOW AWAY AVAGRAHA
"\uE03E>\u09BE;"          // VOWEL SIGN AA
"\uE03F>\u09BF;"          // VOWEL SIGN I
"\uE040>\u09C0;"          // VOWEL SIGN II
"\uE041>\u09C1;"          // VOWEL SIGN U
"\uE042>\u09C2;"          // VOWEL SIGN UU
"\uE043>\u09C3;"          // VOWEL SIGN VOCALIC R
"\uE044>\u09C4;"          // VOWEL SIGN VOCALIC RR
"\uE045>\u09C7;"          // REMAP (indicExceptions.txt): \u09c5>\u09c7 = VOWEL SIGN CANDRA E>VOWEL SIGN E
"\uE046>\u09C7;"          // FALLBACK
"\uE047>\u09C7;"          // VOWEL SIGN E
"\uE048>\u09C8;"          // VOWEL SIGN AI
"\uE049>\u09C7\u09BE;"    // REMAP (indicExceptions.txt): \u09c9>\u09cb = VOWEL SIGN CANDRA O>VOWEL SIGN O
"\uE04A>\u09C7\u09BE;"    // FALLBACK
"\uE04B>\u09C7\u09BE;"    // VOWEL SIGN O
"\uE04C>\u09C7\u09D7;"    // VOWEL SIGN AU
"\uE04D>\u09CD;"          // SIGN VIRAMA
"\uE050>\u0993\u0982;"    //  InterIndic-Bengali: OM
"\ue051>;"
"\ue052>;"
"\ue053>;"
"\ue054>;"
"\uE055>;"               // UNMAPPED InterIndic-Bengali: LENGTH MARK
"\uE056>\u09C8;"          // REMAP (indicExceptions.txt): \u09d6>\u09c8 = AI LENGTH MARK>VOWEL SIGN AI
"\uE057>\u09D7;"          // AU LENGTH MARK
"\uE058>\u0995\u09BC;"    // FALLBACK
"\uE059>\u0996\u09BC;"    // REMAP (indicExceptions.txt): \u09d9>\u0996 = LETTER KHHA>LETTER KHA
"\uE05A>\u0997\u09BC;"    // REMAP (indicExceptions.txt): \u09da>\u0997 = LETTER GHHA>LETTER GA
"\uE05B>\u099C\u09BC;"    // REMAP (indicExceptions.txt): \u09db>\u099c = LETTER ZA>LETTER JA
"\uE05C>\u09A1\u09BC;"    // FALLBACK
"\uE05D>\u09A2\u09BC;"    // LETTER RHA
"\uE05E>\u09AB\u09BC;"    // REMAP (indicExceptions.txt): \u09de>\u09ab = LETTER FA>LETTER PHA
"\uE05F>\u09AF\u09BC;"    // LETTER YYA
"\uE060>\u09E0;"          // LETTER VOCALIC RR
"\uE061>\u09E1;"          // LETTER VOCALIC LL
"\uE062>\u09E2;"          // VOWEL SIGN VOCALIC L
"\uE063>\u09E3;"          // VOWEL SIGN VOCALIC LL
"\uE064>\u0964;"          // DANDA
"\uE065>\u0965;"          // DOUBLE DANDA
"\uE066>\u09E6;"          // DIGIT ZERO
"\uE067>\u09E7;"          // DIGIT ONE
"\uE068>\u09E8;"          // DIGIT TWO
"\uE069>\u09E9;"          // DIGIT THREE
"\uE06A>\u09EA;"          // DIGIT FOUR
"\uE06B>\u09EB;"          // DIGIT FIVE
"\uE06C>\u09EC;"          // DIGIT SIX
"\uE06D>\u09ED;"          // DIGIT SEVEN
"\uE06E>\u09EE;"          // DIGIT EIGHT
"\uE06F>\u09EF;"          // DIGIT NINE
"\uE070>\u09F0;"          //  UNMAPPED Bengali-InterIndic: LETTER RA WITH MIDDLE DIAGONAL
"\uE071>;"
"0 > \u09E6;"       // FALLBACK FOR TAMIL
"1 > \u09E7;"
"\ue072>;"
"\ue073>;"
"\ue074>;"

"\ue075>\u09F5;"
"\ue076>\u09F6;"
"\ue077>\u09F7;"
"\ue078>\u09F8;"
"\ue079>\u09F9;"
"\ue07A>\u09FA;"		// ISSHAR

//    :: NFC (NFD) ;
// eof
  }
}
