﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2016, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: InterIndic_Bengali.txt
# Generated from CLDR 
#

# InterIndic-Bengali
#:: NFD (NFC) ;
\uE001→\u0981;          # SIGN CANDRABINDU
\uE002→ং;          # SIGN ANUSVARA
\uE003→ঃ;          # SIGN VISARGA
\uE004→অ;          # FALLBACK TO LETTER A
\uE005→অ;          # LETTER A
\uE006→আ;          # LETTER AA
\uE007→ই;          # LETTER I
\uE008→ঈ;          # LETTER II
\uE009→উ;          # LETTER U
\uE00A→ঊ;          # LETTER UU
\uE00B→ঋ;          # LETTER VOCALIC R
\uE00C→ঌ;          # LETTER VOCALIC L
\uE00D→এ;          # FALLBACK
\uE00E→এ;          # FALLBACK
\uE00F→এ;          # LETTER E
\uE010→ঐ;          # LETTER AI
\uE011→ও;          # FALLBACK
\uE012→ও;          # FALLBACK
\uE013→ও;          # LETTER O
\uE014→ঔ;          # LETTER AU
\uE015→ক;          # LETTER KA
\uE016→খ;          # LETTER KHA
\uE017→গ;          # LETTER GA
\uE018→ঘ;          # LETTER GHA
\uE019→ঙ;          # LETTER NGA
\uE01A→চ;          # LETTER CA
\uE01B→ছ;          # LETTER CHA
\uE01C→জ;          # LETTER JA
\uE01D→ঝ;          # LETTER JHA
\uE01E→ঞ;          # LETTER NYA
\uE01F→ট;          # LETTER TTA
\uE020→ঠ;          # LETTER TTHA
\uE021→ড;          # LETTER DDA
\uE022→ঢ;          # LETTER DDHA
\uE023→ণ;          # LETTER NNA
\uE024→ত;          # LETTER TA
\uE025→থ;          # LETTER THA
\uE026→দ;          # LETTER DA
\uE027→ধ;          # LETTER DHA
\uE028→ন;          # LETTER NA
\uE029→ন\u09BC;    # REMAP (indicExceptions.txt): \u09A9→ন = LETTER NNNA→LETTER NA
\uE02A→প;          # LETTER PA
\uE02B→ফ;          # LETTER PHA
\uE02C→ব;          # LETTER BA
\uE02D→ভ;          # LETTER BHA
\uE02E→ম;          # LETTER MA
\uE02F→য;          # LETTER YA
\uE030→র;          # LETTER RA
\uE031→র\u09BC;    # FALLBACK to RA
\uE032→ল;          # LETTER LA
\uE033→ল;          # REMAP (indicExceptions.txt): \u09B3→ল = LETTER LLA→LETTER LA
\uE034→ল;          # REMAP (indicExceptions.txt): \u09B4→ল = LETTER LLLA→LETTER LA
\uE035→ব;          # REMAP (indicExceptions.txt): \u09B5→ব = LETTER VA→LETTER BA
\uE036→শ;          # LETTER SHA
\uE037→ষ;          # LETTER SSA
\uE038→স;          # LETTER SA
\uE039→হ;          # LETTER HA
\uE03C→\u09BC;          # SIGN NUKTA
\uE03D→ঽ;          # SIGN AVAGRAHA
\uE03E→া;          # VOWEL SIGN AA
\uE03F→ি;          # VOWEL SIGN I
\uE040→ী;          # 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→ে;          # REMAP (indicExceptions.txt): \u09C5→ে = VOWEL SIGN CANDRA E→VOWEL SIGN E
\uE046→ে;          # FALLBACK
\uE047→ে;          # VOWEL SIGN E
\uE048→ৈ;          # VOWEL SIGN AI
\uE049→ো;    # REMAP (indicExceptions.txt): \u09C9→ো = VOWEL SIGN CANDRA O→VOWEL SIGN O
\uE04A→ো;    # FALLBACK
\uE04B→ো;    # VOWEL SIGN O
\uE04C→ৌ;    # VOWEL SIGN AU
\uE04D→\u09CD;          # SIGN VIRAMA
\uE050→ওং;    #  InterIndic-Bengali: OM
\uE051→;
\uE052→;
\uE053→;
\uE054→;
\uE055→;                # LENGTH MARK
\uE056→ৈ;          # REMAP (indicExceptions.txt): \u09D6→ৈ = AI LENGTH MARK→VOWEL SIGN AI
\uE057→ৗ;          # AU LENGTH MARK
\uE058→ক\u09BC;    # FALLBACK
\uE059→খ\u09BC;    # REMAP (indicExceptions.txt): \u09D9→খ = LETTER KHHA→LETTER KHA
\uE05A→গ\u09BC;    # REMAP (indicExceptions.txt): \u09DA→গ = LETTER GHHA→LETTER GA
\uE05B→জ\u09BC;    # REMAP (indicExceptions.txt): \u09DB→জ = LETTER ZA→LETTER JA
\uE05C→ড\u09BC;    # FALLBACK
\uE05D→ঢ\u09BC;    # LETTER RHA
\uE05E→ফ\u09BC;    # REMAP (indicExceptions.txt): \u09DE→ফ = LETTER FA→LETTER PHA
\uE05F→য\u09BC;    # LETTER YYA
\uE060→ৠ;          # LETTER VOCALIC RR
\uE061→ৡ;          # LETTER VOCALIC LL
\uE062→\u09E2;          # VOWEL SIGN VOCALIC L
\uE063→\u09E3;          # VOWEL SIGN VOCALIC LL
\uE064→।;          # DANDA
\uE065→॥;          # DOUBLE DANDA
\uE066→০;          # DIGIT ZERO
\uE067→১;          # DIGIT ONE
\uE068→২;          # DIGIT TWO
\uE069→৩;          # DIGIT THREE
\uE06A→৪;          # DIGIT FOUR
\uE06B→৫;          # DIGIT FIVE
\uE06C→৬;          # DIGIT SIX
\uE06D→৭;          # DIGIT SEVEN
\uE06E→৮;          # DIGIT EIGHT
\uE06F→৯;          # DIGIT NINE
\uE070→;           # ABBREVIATION SIGN
\uE071→ৰ;          # LETTER RA WITH MIDDLE DIAGONAL
\uE072→ৱ;          # LETTER RA WITH LOWER DIAGONAL
\uE073→৲;          # RUPEE MARK
\uE074→৳;          # RUPEE SIGN
\uE075→৴;          # CURRENCY NUMERATOR ONE
\uE076→৵;          # CURRENCY NUMERATOR TWO
\uE077→৶;          # CURRENCY NUMERATOR THREE
\uE078→৷;          # CURRENCY NUMERATOR FOUR
\uE079→৸;          # CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
\uE07A→৹;          # CURRENCY DENOMINATOR SIXTEEN
\uE07B→৺;          # ISSHAR
\uE07C→;                # TIPPI
\uE07D→;                # ADDAK
\uE07E→;                # IRI
\uE07F→;                # URA
\uE080→;                # EK ONKAR
\uE081→ব;    # FALLBACK FOR ORIYA LETTER WA
\uE082→;                # Devanagari Glottal Stop
\uE083→ৎ;          # Khanda-ta
0 → ০;             # FALLBACK FOR TAMIL
1 → ১;
#    :: NFC (NFD) ;
# eof

