Updated 10 November, 2023
This page brings together basic information about the Bengali script and its use for the Bangla language. It aims to provide a brief, descriptive summary of the modern, printed orthography and typographic features, and to advise how to write Bengali using Unicode.
Richard Ishida, Bangla (Bengali) Orthography Notes, 10-Nov-2023, https://r12a.github.io/scripts/beng/bn
ধারা ১ সমস্ত মানুষ স্বাধীনভাবে সমান মর্যাদা এবং অধিকার নিয়ে জন্মগ্রহণ করে। তাঁদের বিবেক এবং বুদ্ধি আছে; সুতরাং সকলেরই একে অপরের প্রতি ভ্রাতৃত্বসুলভ মনোভাব নিয়ে আচরণ করা উচিত।
ধারা ২ এ ঘোষণায় উল্লেখিত স্বাধীনতা এবং অধিকারসমূহে গোত্র, ধর্ম, বর্ণ, শিক্ষা, ভাষা, রাজনৈতিক বা অন্যবিধ মতামত, জাতীয় বা সামাজিক উত্পত্তি, জন্ম, সম্পত্তি বা অন্য কোন মর্যাদা নির্বিশেষে প্রত্যেকেরই সমান অধিকার থাকবে। কোন দেশ বা ভূখণ্ডের রাজনৈতিক, সীমানাগত বা আন্তর্জাতিক মর্যাদার ভিত্তিতে তার কোন অধিবাসীর প্রতি কোনরূপ বৈষম্য করা হবেনা; সে দেশ বা ভূখণ্ড স্বাধীনই হোক, হোক অছিভূক্ত, অস্বায়ত্বশাসিত কিংবা সার্বভৌমত্বের অন্য কোন সীমাবদ্ধতায় বিরাজমান।
The Bengali or Bangla script is used by over 180 million people in Bangladesh and India to write the Bengali language, and a number of other Indian languages including Sylheti, Meithei, Bishnupriya Manipuri, and, with one or two modifications, Assamese. It has historically been used to write Sanskrit within Bengal. It ranks 5th in the world for writing system usage.
বাংলা বর্ণমালা bɑŋ̽lɑ br͓n̈mɑlɑ (bangla bôrnômala) Bengali/Bangla alphabet বাংলা লিপি bɑŋ̽lɑ lipi (bangla lipi) Bangla script
The script is descended from Brahmi, but there is some dispute about its derivation, since it shares shapes with both Dravidian and Aryan scripts.
Sources: Scriptsource, Wikipedia
The Bengali script is an abugida. Consonants carry an inherent vowel which can be modified by appending vowel signs to the consonant. See the table to the right for a brief overview of features for Bangla.
The orthographic letters of the Bengali script are derived from Sanskrit, and in some cases don't quite fit the needs of modern Bangla (eg. lack of simple vowels for the sounds ɛ and æ, letters for only 2 of many diphthongs, long and short letters where pronunciation no longer distinguishes those sounds, etc.)
Bengali runs left to right in horizontal lines.
Words are separated by spaces.
The 33 consonant letters used for Bangla are supplemented by repertoire extensions for 3 more sounds by applying the nukta diacritic to characters ❯ consonants
Consonant clusters at any location are normally indicated using a virama (hasant) between consonants. This results in a large number of conjunct forms expressed using stacked consonants, conjoined consonants, and ligated glyphs. Conjuncts often have different pronunciations than might be expected from the letters involved, and in particular gemination is very common. Occasionally, a visible virama is used. However, clusters are often not marked at all. ❯ clusters
As part of a cluster, RA has special forms, for both cluster-initial and post-base positions.
Word-final consonant sounds may be represented by a special letter, ৎ, or by 2 dedicated combining marks (anusvara & visarga), but are generally ordinary consonants that are not marked by a virama. ❯ finals
The Bangla orthography is an abugida with 2 inherent vowels. Other post-consonant vowels are written using 9 combining marks (vowel signs) and a specialised use of the y consonant letter. ❯ vowels
Vowel harmony plays a significant role in the pronunciation of vowel-related code points. ❯ vowelharmonydesc
There are 3 pre-base and 2 circumgraph vowel signs. In principle, there are no multipart vowels, however in decomposed text the 2 circumgraphs split into 2 parts each. ❯ circumgraphs
Standalone vowels are written using 10 independent vowel letters, one for each vowel sound, including the inherent vowel and 2 diphthongs. The final sound of numerous diphthongs is also represented using independent vowels. ❯ standalone
Vowels may be nasalised, using the candrabindu diacritic. ❯ nasalisation
Bengali has native digit shapes. ❯ numbers
Click on the sound groups to see where else in the document each of the sounds are referred to.
Phones in a lighter colour are non-native or allophones. Source Wikipedia.
There are a large number of diphthongs in Bangla, and the chart below shows an incomplete set.wp
The pronunciation of a vowel can be affected by the vowel in the following syllable. Radice provides the following table, though this is a simplification and there are many exceptions.
|Followed by i or u||Followed by ɔ, o, e or a|
|o → u||o → ɔ|
|ɔ → o||u → o|
|e → i||e → æ|
|æ → e||i → e|
For example, the verb শোনা ʃonɑ to hear with an i ending becomes ʃuni, দেখা dækʰa to see becomes dekʰi, etc. This sometimes accounts for the pronunciation of the inherent vowel, eg. অতিথি otitʰi guest and অনুবাদ onubad translation start with o rather than ɔ.
|stops||p b||t d||ʈ ɖ||k ɡ|
|aspirated||pʰ pf bʰ||tʰ dʰ||ʈʰ ɖʰ||kʰ ɡʰ|
|fricatives||f||s z||ʃ||ɦ h|
pf, pʰ and f are alternative pronunciations for the same phoneme, depending on where the speaker is from, and all are written using ফ [U+09AB BENGALI LETTER PHA],
True retroflex (murdhonno) consonants are not found in Bengali. They are apical postalveolar in Western Dialects. In other dialects, they are fronted to apical alveolar.wp
r occurs word-initially, whereas ɾ occurs medially and finally. Both sounds are written using 09B0.wp
s and ʃ are often merged. z is found mainly in foreign words.wp
In the Bangla spoken in Dhaka, ɾ and ɽ are often indistinct phonemically,wp eg. the following two words can be homophonous: করা কড়া
j and w are pronunciations of 09AF 09BC when it appears between certain vowels.
The effective unit of the Bengali writing systems is the orthographic syllable.
An orthographic syllable can be defined in one of the code point sequences described below. Lowercase letters represent combining characters. Some vowel signs may be displayed at the start of the sequence, although the code points representing them always appear after the base consonant
[C[n]h] [C[n]h] C[n] [h | v (n)] [f]
The core of a consonant-based syllable is a base consonant character, which may or may not additionally represent an inherent vowel if it stands alone.
There is no inherent vowel if it is followed by a vowel sign, eg. কী kī কি ki কো ko or hasant, eg. ক্ k͓ At the end of a word, there may or may not be an inherent vowel, even if there is no hasant.
Any base consonant may be a combination of consonant code point plus nukta.
The base consonant can be preceded by up to two consonant+hasant pairs (where the consonant may also be a combination of consonant+nukta), but only if those consonants form conjuncts (ie. the hasant is invisible), eg. ক্ক k͓k ম্প m͓p ক্ষ k͓ʃ̇ ন্ত্র n͓t͓r If the preceding consonants carry visible hasant symbols, those are treated as separate orthographic syllables.
Likewise, the variable use of the hasant in Bengali means that a phonetic cluster of consonants can constitute a larger series of orthographic syllables. For example, this word for cymbal has two phonetic syllables, but 3 orthographic since the rt combination is not combined: করতাল
A vowel sign may optionally be followed by a nasalisation diacritic.
Unless the base consonant is followed by a hasant, the syllable may be terminated by a final consonant repesented by khanda ta, anusvara, or visarga.
Conjunct positions. Native Bengali words do not allow initial consonant clusters, and word-final clusters are rare. However, words borrowed from Sanskrit, English, etc. have introduced many such features.
Many Bengali speakers, however, retain the native phonology, even when using Sanskrit or English borrowings, such as গেরাম gerɑm (CV.CVC) for গ্রাম g͓rɑm village (CCVC), or ইস্কুল ịʃ͓̈kul (VC.CVC) forস্কুল ʃ͓̈kul school.wp,#Consonant_clusters
Most word-final clusters were introduced from English, eg. লিফ্ট lipʰ͓ʈ lift, elevator or ব্যাংক b͓ʲɑŋ̽k bank. In some dialects, a final nasal+stop is written as a cluster, whereas in standard Bengali it would use nasalisation, eg. চান্দ cɑn͓d vs. চাঁদ cɑm̽d moon.wp,#Consonant_clusters
For more information, see Wikipediawp,#Consonant_clusters.
Vowel-based syllables begin with a standalone vowel, which is represented by a single independent vowel or vocalic.
An independent vowel may be followed by an anusvara, visarga or candrabindu (nasalisation), eg. উঃ, আঁ ụh̽, ɑm̽
The table below doesn't capture sound changes produced by vowel harmony.
For additional details see vowel_mappings.
ক kɔ ~ ko U+0995 BENGALI LETTER KA
The inherent vowel is typically transcribed as a, and pronounced as ɔ or o. (And sometimes halfway between these two, when influenced by surrounding sounds.) Bengalis are not always aware of these sound differences – thinking of this as one sound. So kɔ or ko are written by simply using the consonant letter.
There is also a vowel sign pronounced o. This can lead to inconsistent spellings, eg. bhalo, good, well, can be spelled either ভালো or ভাল. Verb forms tend to be particularly inconsistent, sometimes basing the rationale on what looks good in a particular context.
The rules for determining the sound of the inherent vowel are not simple. Partly it is a question of vowel harmony. The following two tendencies can help:
In words with inherent vowels in two consecutive syllables, the sound will usually be ɔ..o, not o..ɔ, eg. গরম However, exceptions occur for prefixes, such as prɔ-, ɔ-, and sɔ-.r,8
When pronounced at the end of a word after a conjunct consonant, the inherent vowel is always o,r,8 eg. যুদ্ধ
The pronunciation tends to be o when followed by a one of i, j, u, w either immediately or in the next syllable, but ɔ otherwise.d,400
কী ki U+0995 BENGALI LETTER KA + U+09C0 BENGALI VOWEL SIGN II
Bangla uses the following dedicated combining marks for vowels.
Bengali has lost the distinction between short and long vowels in pronunciation, but retains the difference in spelling.
The variation in pronunciation for the vowel signs can often be explained by vowel harmony.
ো [U+09CB BENGALI VOWEL SIGN O] was originally pronounced ʊ, and that pronunciation sometimes persists alongside the o that came from Sanskrit, eg. নোংরা
Seven vowel signs are spacing combining characters, meaning that they consume horizontal space when added to a base consonant.
All vowel signs are typed and stored after the base consonant, whether or not they precede it when displayed. The glyph rendering system takes care of the positioning at display time.
An orthography that uses vowel signs is different from one that uses simple diacritics or letters for vowels, in that the vowel signs are generally rendered relative to an orthographic syllable, rather than just applied to the letter of the immediately preceding consonant (see prebase for an example).
ক্য kæ U+0995 BENGALI KA + U+09CD SIGN VIRAMA + U+09AF LETTER YA
When it occurs as the last member of a consonant cluster 09AF has a special shape seen in orange in fig_yophala, and is called ʤɔ-pfɔlɑ (য-ফলা). One of its functions is to create the sound æ.
There are exceptions to the previous rule, when the a-kar produces its normal value, eg. ব্যাখ্যা
The sound æ can also be produced when there is no vowel sign, eg. ব্যথা bætʰɑ pain
According to Radice, vowel harmony may phonetically produce e when the following syllable is i.
Unusually for Indian scripts, y̌ɔ-phɔla can also be used after independent vowels to create the standalone sound æ. The sequences 0985 09CD 09AF 09BE and 098F 09CD 09AF 09BE are used mostly in transliterations of borrowed words, eg. অ্যাটর্নি এ্যাডভোকেট
See also compositeV, which explains how independent vowels are used for the off-glide of diphthongs.
কেউ keu̯ U+0995 BENGALI KA + U+09C7 VOWEL SIGN E + U+0989 VOWEL LETTER U
Multipart vowels in Bengali may occur when 09CB and 09CC are decomposed, however this is not common. See encoding for more details.
Although 2 of the vowel signs (and independent vowels) represent diphthongs (oi̯ and ou̯) with a single code point, most of the many diphthongs are represented by a sequence of vowels,wa,#Vowels eg. কেউ
Diphthongs typically represent the off-glide using one of the following:
The following are examples of diphthongs. Hyphens indicate a consonant with inherent vowel. The detailed character notes contain examples of Bangla words containing the diphthongs shown.
Bengali represents syllable-initial vowels using a set of independent vowel letters, eg. ওস্তাদ উট ঔষুধ
Standalone æ appears mostly in loan words. It involves the use of য [U+09AF BENGALI LETTER YA]. See otherV for more details.
09BD is a Sanskrit-derived symbol that is used in modern Bengali to lengthen vowel soundsws, eg. কিঽঽঽ? kiiii Whaaatt? শুনঽঽঽ ʃunooo Listennn
0981 nasalises the vowel in a syllable, eg. হ্যাঁ হাঁপান Nasalised vowels include ĩ ũ ẽ õ ɛ̃ ɔ̃ ã.
The candrabindu should be placed over the top of an independent vowel, but over the base consonant when a vowel sign is attached – not over the vowel sign. In the code point sequence, however, this should occur after any combining vowel sign associated with the same syllable. Note how the base consonant is identified correctly in the second word of fig_candrabindu, even though the candrabindu is 4 code points away. Some fonts do not position the candrabindu correctly.
কে ke U+0995 BENGALI KA + U+09C7 VOWEL SIGN E
Three vowel signs appear to the left of the base consonant letter or cluster.
These combining marks are always stored after the base consonant, ie. the codepoints follow the order in which the items are pronounced. The rendering process places the glyph before the base consonant without changing the code points. Click on the following word to see the sequence of characters in storage.
The vowel sign is actually placed before the start of an orthographic syllable. In fig_prebase the sequence of glyphs for the orthographic syllable is rendered VCC, whereas the pronunciation is CCV. In conjuncts with 3 consonants, it will still be rendered before all the consonants.
However, if the cluster doesn't form a conjunct, or is split by a visible virama, the cluster becomes two orthographic syllables and the pre-base vowel sign appears after the last consonant with the virama. The sequence of displayed glyphs is now CVC. If the conjunct contains 3 consonants, the displayed order will be CCVC.
কো ko U+0995 BENGALI KA + U+09CB VOWEL SIGN O
Two vowels are represented by circumgraphs, producing glyphs on opposite sides of the consonant onset.
Like pre-base glyphs, these are combining marks that are always stored after the base consonant. The rendering process places the glyphs around the base consonant, as needed. Click on the following word to see the sequence of characters in storage.
Again, like pre-base vowel signs, in Bangla the circumgraph surrounds the whole consonant cluster that is rendered as a conjunct.
These circumgraph vowel signs are normally a single code point, but in decomposed text the base consonant can be followed by two code points , eg. compare the following equivalent ways of writing ko:
Bengali is not a tonal language.
This section maps Bengali vowel sounds to common graphemes in the Bengali orthography, grouped by whether they are vowel signs ( vs ), or standalone ( s ). Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.
Hyphens indicate a consonant with inherent vowel.
09C3 as part of the vocalic ri
098B as part of the vocalic ri
09CB with vowel harmony before one of i u.
0993 with vowel harmony before one of i u.
09C7 with vowel harmony before one of i u.
09BF with vowel harmony before one of ɔ o e a.
09CD 09AF with the inherent vowel before i.
098F with vowel harmony before one of i u.
0987with vowel harmony before one of ɔ o e a.
09AF 09BC as part of a diphthong, esp after ɔ a o
09C1 with vowel harmony before one of ɔ o e a.
0985 with vowel harmony before one of i u.
0989, with vowel harmony before one of ɔ o e a.
09CD 09AF 09BE
09CB with vowel harmony before one of ɔ o e a.
0993 with vowel harmony before one of ɔ o e a
09BE after 099C 09CD 099E
09CD 09AF 09BE sometimes
09CD 09AF with the inherent vowel and not followed by i
09C7, with vowel harmony before one of ɔ o e a
098F with vowel harmony before one of ɔ o e a
-ও [U+0993 BENGALI LETTER O]
09BE 09AF 09BC
Only one vocalic is in common use for modern Bangla. It is used in standalone and vowel sign forms, eg. ঋতু বৃহৎ
A number of letters have allophones which are not shown here. See the following sections for details. Normal letters are used as final consonants, but we list here some additional, dedicated finals.
For more details see consonant_mappings.
0995 09CD 09B7 is called khiyɔ and is often treated as a letter of the alphabet in that some dictionaries give it it's own section, eg. ক্ষুদ্র
09BC is used to create 3 additional letters, eg. the dot changes ড ɖ to ড় ɽ. Here is a list of graphemes that combine nukta with an existing consonant.
To reveal detailed notes about usage see the list of precomposed characters a little lower.
09AF 09BC represents j, w or e̯, depending on what vowels occur alongside it. See the character notes for details.
The nukta should always be typed and stored immediately after the consonant it modifies, and before any combining vowels or diacritics.
The Unicode Standard recommends that content authors use decomposed sequences for these letters. However, the Unicode block also contains the precomposed code points shown below.
Decomposed sequences are not recomposed by Unicode Normalisation Form C (NFC).
Two more letters in the Unicode Bengali block are specifically for Assamese.
Bengali uses 09CD (called হসন্ত hʃ̈n͓t hasant hɔsonto in Bengali) to indicate that the inherent vowel is not pronounced after a consonant, eg. the following explicitly represents just the sound k.ক্ k͓
The hasant is rarely seen. It is not used at the end of a word even though the inherent vowel is pronounced at the end of some words and not others, eg. গরম gɔrôm, hot vs. গড়ান gɔɽɑnô, to roll. There is no real way to tell when the inherent vowel is pronounced and when not in this position, except that it is usually pronounced following a word-final consonant cluster.
Within a word also, some clusters don't use the hasant in Bengali, and the reader simply has to know that the inherent vowel is not pronounced, eg. করতাল
This is particularly common at morpheme boundaries, for example in verb forms.
Consonant clusters that are represented by conjunct forms use the hasant between consonants to invoke the shape changes. If the font has the glyphs needed to produce the conjunct the hasant is hidden (see clusters).
Refs: Radice 3, 7-8, 21, 148; Daniels 400
Clusters of consonant letters at the beginning of an orthographic syllable occur in Bengali, and they are handled as described in the section clusters.
Special behaviours include handling of the following types of cluster at the beginning of an orthographic syllable: RA, MA, and y̌ɔ-phɔla (see special_forms).
One letter and 2 diacritics represent syllable-final consonant sounds.
In a sequence of characters, these should all occur after any combining vowel sign associated with the same syllable. None carry vowel signs.
09CE, pronounced t̪, is a variant form of 09A4 that was added to Unicode 4.1 as a separate character. This shape occurs in words where the consonant is not followed by an inherent or other vowel sound. It either comes at the end of words, or before a consonant that doesn't naturally combine with tɔ, eg. হঠাৎ উৎসব
This character replaces and obsoletes an earlier approach that required the use of the sequence ত্ [U+09A4 BENGALI LETTER TA + U+09CD BENGALI SIGN VIRAMA + U+200D ZERO WIDTH JOINER].
Many words, however, use 09A4 in the same situations, and it's not possible to guess which will be used for a given word, eg. হঠাত্
0982 is a final nasal ŋ, eg. বাংলা
Sometimes spelling is inconsistent, especially when this or 0999 are used in a conjunct, eg. compare these pairs: সাঙঘাতিক সাংঘাতিক রঙ রং
However, in certain words the spelling is fixed. One such word is বাংলা But, since this cannot support vowel signs, the word for Bengali nation (rather than language) has to be spelled with 0999, ie. বাঙালী bɑŋɑlī bɑŋgɑlī
See also the candrabindu diacritic, which nasalises a vowel.
When used to represent a word-final consonant, 0983 produces vigorous final aspiration ɦ, eg. বাঃ
It doesn't appear in many common words.
One of the other uses of the visarga is to lengthen a following consonant, in which case there is no aspiration, eg. নিঃশব্দ
Consonant clusters are written using:
See also clength.
Unlike languages written in the Devanagari script, consonant clusters are often not represented as conjuncts in Bengali. It is necessary to just know that the vowel should not be pronounced, eg. রিকশা
Morphological boundaries, such as grammatical suffixes and endings are typically written without conjuncts, eg. the present tense form of khan plus negative suffix which is na is written খাননা
The stem kôr from kôra plus present continuous ending chô is written করছ
To produce a conjunct, ্ [U+09CD BENGALI SIGN VIRAMA] is added between the consonants in the cluster. There are exceptions, but this type of virama is usually not displayed, eg. the sequence ক + ্ + ষ [U+0995 BENGALI LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA] produces ক্ষ k͓ʃ̇
The font usually determines how a cluster is rendered, although it is possible to influence this (see formatting).
Different fonts may combine the same letters in different ways. The following figures shows characters that are combined in different ways by different fonts.
Quite often, clustered consonants are pronounced differently than you would expect. In particular, conjuncts ending with 09AC or 09AE tend to not pronounce the latter, but double the length of the consonant before it (see clength).
Nasals in conjuncts tend to conform to phonological patterns. Velar consonants (k, kh, g, etc) combine with ঙ ŋɔ, palatal consonants (c, ch, ..) combine with ঞ ñɔ, retroflex ণ ɳɔ, dental ন nɔ, and labial ম mɔ.
The sections below show examples of the various types of conjunct forms. The lists are not exhaustive. The shapes shown are by default those contained in the Noto Sans Bengali webfont. Other fonts may combine components in different ways. Click on the characters if you want to see the components.
Conjunct shapes are most commonly formed by arranging the components vertically, reducing and combining the shapes of the individual components as needed.
The conjuncts in fig_conjunct_vertical used in words: আস্থা ঝিল্লি
Examples of components arranged vertically.
Many conjuncts are formed by combining components horizontally.
The conjuncts in fig_conjoined used in words: ক্যম্পাস উচ্চারণ
Other examples of components arranged side-by-side, frequently with simplification of the initial consonant.
A small set of conjuncts combine the consonants into a ligated shape, where individual components can't always be easily discerned.
The conjuncts in fig_conjunct_ligated used in words: খ্রিষ্টান ক্ষণ
Examples of conjuncts arranged in a way that involves ligation, significantly altering one or more of the components.
Cluster-initial RA 09B0 at the start of a cluster is normally displayed as a mark above the following consonant(s). Unlike Devanagari, it is typically displayed above consonant glyph, rather than above the vowel sign of the orthographic syllable.
Like other consonant clusters, the sound may also be written without a conjunct at all.
In some cases, it may be preferred to render a RA + YA cluster using the y̌ɔ-phɔla form for the latter. In this case the RA retains its full shape. Add a ZWJ character before the hasant, in order to apply the special shaping rules.
In some cases, a full-sized RA should be followed by the y̌ɔ-phɔla form for YA. To apply these special shaping rules, add 200D character before the hasant (see fig_ra_zwj_ya).
Cluster-final RA A trailing র [U+09B0 BENGALI LETTER RA] is displayed as a wavy line below the other consonants, eg. gr in গ্রাম
Examples of clusters with a trailing r.
Cluster-final MA A cluster-final 09AE is also displayed in a characteristic way. The initial consonant is reduced, and the m is rendered as a long vertical line to the right with an appendage to the left at the bottom, producing a kind of diagonal grouping, eg. উন্মত্ত
Examples of cluster-final MA.
y̌ɔ-phɔla Bengali also has a particular way of representing a cluster-final j semi-vowel. This is typically represented using the full form of the preceding consonant followed by a special form of য [U+09AF BENGALI LETTER YA], ্য, known as y̌ɔ-phɔla, eg. হ্যাঁ
The effect of yo-phola at the end of a conjunct is generally (a) to double the length of the preceding consonant, and (b) to change the value of the following vowel if it is inherent or a. For more details, see the character notes.
When the virama is used it may be because the font doesn't have a particular conjunct ligature, but it may also be visible in places where the phonology is unusual, eg. ফ্ল্যাট লান্চ although these may also be spelled with conjuncts, eg. ফ্ল্যাট
It is also quite common to see it used to distinguish words such as the following, which are etymologically related, but phonetically distinct:উদ্যাপন ụd͓ýɑpnউদ্যান ụd͓ýɑn
If a visible virama is wanted but not what the font does by default, it is possible to force it by inserting a ZWNJ character after the virama (see formatting).
200C (ZWNJ) can be used to force the production of a visible virama, rather than a half-form (see visiblevirama). It can also be used to prevent the formation of vowel ligatures (see vowelligatures).
200D (ZWJ) is used to produce special joining forms for RA + YA (see special_forms).
There are a number of ways of producing a lengthened consonant sound in Bangla.
A straightforward approach is to duplicate the consonant sound in conjunct form. For example, a long l can be written ল্ল [U+09B2 BENGALI LETTER LA + U+09CD SIGN VIRAMA + U+09B2 LETTER LA], eg. ঝিল্লি
Another common way of doubling the length of a consonant is to use a conjunct ending with 09AC or 09AE, eg. ভস্ম বিশ্ব
The y̌ɔ-phɔla (09CD 09AF) can also lengthen the consonant it follows, eg. জন্য
0983 can also lengthen the following consonant, with no aspiration, eg. নিঃশব্দ
This section maps Bengali consonant sounds to common graphemes in the Bengali orthography, grouped according to whether they are regular ( r ), conjuncts ( c ), or final ( f ). Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.
09AC (when not in a conjunct)
09CE in syllable-final positions
09A5 09CD 09AC
09A7 09CD 09AC
0995 09CD 09B7 when initial
0995 09CD 09B7 when non-initial
099C 09CD 099E when word-initial
099C 09CD 099E when between vowels
09AF when word-initial
09B6 09CD 09AC
09B6 09CD 09AE
09B7 09CD 09AE
09B8 09CD 09AE
09AE 09CD 09AC
09B9 09CD 09AE
09B9 09CD 09AE
099E, very rare outside conjuncts.
09B9 09CD 09A8
09B9 09CD 09A3
09B9 09CD 09A3
09B9 09CD 09A8
0993 09AF 09BC, (light, like French 'oui') between o...a.
09C3 as part of the vocalic ri.
098B as part of the standalone vocalic ri.
09B2 09CD 09AE
09AF 09BC, between i...e, a...u, or e...e.
Besides the vowels and consonants described above, the Unicode Bengali block contains the following letters. They don't appear to be commonly used in Bangla.
This section looks at alternative strategies for typing and storing vowel signs and independent vowels used by Bangla, taking into consideration the effects of normalising the text using Unicode Normalisation Form D (NFD), and Normalisation Form C (NFC).
The 2 circumgraphs can be written as a single character, or as two characters (in decomposed text).
The single code point per vowel sign is the form preferred by the Unicode Standard and the form in common use for Bengali. The parts are separated, however, in Unicode Normalisation Form D (NFD), and recomposed in Unicode Normalisation Form C (NFC), so both approaches are canonically equivalent.
Whichever approach is used, the vowel signs must be typed and stored after the consonant characters they surround. In the case of decomposed vowel signs, the order is also important and must be as shown above.
The single code point on the left should be used, and not the sequence on the right, because they are not made the same by normalisation, and they are not semantically equivalent. Using the right-hand sequence will cause searches and machine understanding of the data to fail.
|Use||Do not use|
|আ [U+0986 BENGALI LETTER AA]||অ + া [U+0985 BENGALI LETTER A + U+09BE BENGALI VOWEL SIGN AA]|
The way the Unicode Standard recommends to type and store graphemes with nuktas is slightly inconsistent for Bengali. Here we look at alternative strategies for all uses of the nukta in the Bengali block (usage recommendations for Bangla are given in the section extendedC), and consider the effects of normalising the text using Unicode Normalisation Form D (NFD), and Normalisation Form C (NFC).
For the following alternatives the decomposed form is recommended by the Unicode Standard. NFC does not recombine the parts into precomposed characters. Instead, both NFC and NFD normalisation produces decomposed forms.
|ড় [U+09DC BENGALI LETTER RRA]||ড় [U+09A1 BENGALI LETTER DDA + U+09BC BENGALI SIGN NUKTA]|
|ঢ় [U+09DD BENGALI LETTER RHA]||ঢ় [U+09A2 BENGALI LETTER DDHA + U+09BC BENGALI SIGN NUKTA]|
|য় [U+09DF BENGALI LETTER YYA]||য় [U+09AF BENGALI LETTER YA + U+09BC BENGALI SIGN NUKTA]|
In the next case, the Unicode Standard recommends using the precomposed form. Neither form is converted into the other by normalisation, so they are not equivalent. It is therefore best to use the precomposed form only, so that text matches other text as expected.
|Use||Do not use|
|র [U+09B0 BENGALI LETTER RA]||ব় [U+09AC BENGALI LETTER BA + U+09BC BENGALI SIGN NUKTA]|
In practise, it's hard to envisage content authors being aware of, let alone respecting, rules about whether they should use precomposed or decomposed forms. Keyboards or other input mechanisms, or perhaps sometimes applications that automatically normalise can perhaps guide users to the recommended practise, but it's likely that Bengali text will always contain a mixture of forms for these graphemes, and matching algorithms will need to be prepared to equate them all.
Nuktas must immediately follow the base consonant they modify.
When 2 vowel signs are used for a circumgraph, the encoded order of the combining marks should match the displayed order, left to right.
Bengali has a set of native digits, which are used regularly in text. They are decimal-based.
See also the section Counters below.
৳ [U+09F3 BENGALI RUPEE SIGN] is the Bengali rupee sign.
There are also a number of currency symbols, used in older texts, including ৲ [U+09F2 BENGALI RUPEE MARK] and the following currency denominator signs.
These were used in an additive/subtractive system for specifying the number of ānā in the Bengali notation for currency used up to 1957, eg. ৷৷৶৹ 11 ānā (11 ana); ৸৶৹ 15 ānā (15 ana). There are 16 ana in one rupee, and the system works in multiples of 4. For a detailed explanation of usage, see [Pandey].
Text is normally written horizontally, left to right.
bidi_class properties for characters by the modern Bangla orthography.
This section brings together information about the following topics: writing styles; cursive text; context-based shaping; context-based positioning; baselines, line height, etc.; font styles; case & other character transforms.
You can experiment with examples using the Bengali character app.
Bengali text is not cursive (ie. joined up like Arabic), however there is a significant amount of interaction between glyphs, and some joining, around consonant clusters.
The orthography has no case distinction, and no special transforms are needed to convert between characters.
Sometimes vowel signs (particularly U) form ligatures with a preceding base consonant. fig_lig shows ligated (top) and non-ligated (bottom) forms for several combinations. In certain contexts it may be less appropriate to ligate (eg. newspapers and modern typefaces). Both forms are equivalent in every way but visually.
The default behaviour of a given font can be modified using the zero-width non-joiner character before the vowel to produce the simple form. See fig_ligated_simplified.
This section is still undergoing research and development.
Grapheme clusters alone are not sufficient to represent typographic units in Bengali in all circumstances. Conjuncts are common and must not be split apart by edit operations that visually change the text (such as letter-spacing, first-letter highlighting, and in-word line breaking). For those operations one needs to segment the text using orthographic syllables, which string grapheme clusters together with a virama.
The Bengali virama (hasant) is ্ [U+09CD BENGALI SIGN VIRAMA],
which has an Indic Syllabic Category of
Base ZW(N)J? Combining_mark* ZW(N)J?
Combining marks may include zero or more of the following types of character.
In some cases, a ZWJ is inserted between RA + hasant followed by YA in order to specify special shaping rules (see special_forms).
A base consonant may be followed by ZWNJ before vowel sign code points where the author wants to prevent ligation of the following vowel sign (see vowelligatures). A ZWNJ may also be used after a virama to prevent conjunct formation and force the virama to be rendered visibly to the reader (see visiblevirama).
The following examples show a variety of grapheme clusters:
Click on the text version of these words to see more detail about the composition.
Note how grapheme clusters segment the parts of a conjunct after the virama. This is not always desirable (see orthographicS just below).
(Consonant Nukta? Virama)* Grapheme_cluster
Bengali commonly stacks or conjoins glyphs, to form conjuncts (see clusters). The conjuncts represent consonant clusters or gemination.
Grapheme clusters terminate after a sequence of marks that includes a hasant, but editorial operations that change the visual appearance of the text, such as letter-spacing, first-letter highlighting, line-breaking, and justification, should never split conjunct forms apart. For this reason, an alternative way of segmenting graphemes is needed. This may not apply, however, for some other operations such as cursor movement or backwards delete.
Where conjuncts appear, a typographic unit contains multiple grapheme clusters. The non-final grapheme clusters all end with ্ [U+09CD BENGALI SIGN VIRAMA], and the final grapheme cluster begins with a consonant.
The following are examples. Some examples were shown in the previous section: here the conjunct is treated as a single typographic unit.
Click on the text version of these words to see more detail about the composition.
Note that consonant clusters aren't always rendered as conjuncts, and in those cases the individual letters remain as separate graphemes. For example, consonants without an inherent vowel may be written using a consonant letter on its own at the end of a word or in other locations (see novowel).
Click on the text version of these words to see more detail about the composition.
On the occasions when a virama needs to be visible even though it is followed by another base, an invisible character must be added to prevent it joining with the following base. U+200C ZERO WIDTH NON-JOINER can achieve that.
Behaviour is font-dependent. If a font doesn't have a conjunct form for a particular combination of characters it will make the virama visible.
What's important to note here is that it is normally possible to break a line after the grapheme cluster containing the virama when the virama is visible. This is currently difficult to manage because the decision as to whether the text is segmented into 2 graphemes or one depends only on the capabilities of the font used (ie. the rendered result); the code point sequence is identical for both cases, and gives no clues to which approach to segmentation is applicable.
Visible viramas can also affect vowel sign positioning. For the purposes of illustration, see fig_prebase_position, where the placement of the pre-base vowel varies. In the conjunct form on the left, the vowel sign is rendered to the left of the whole conjunct. If the sequence is not rendered as a conjunct, as in the second example, the pre-base glyph precedes the TA, not the SA.
Test in your browser. The words test units that equate to grapheme clusters only, and others that include conjuncts. First, the text is displayed in a contenteditable paragraph, then in a textarea. Results are reported for Gecko (Firefox), Blink (Chrome), and WebKit (Safari) on a Mac.
ইংরেজ ক্যম্পাস ফ্ল্যাট কুর্তা
Cursor movement. Move the cursor through the text.
Gecko steps through the text using grapheme clusters with one exception. It takes 2 or more steps (depending on the number of GCs) to get through the conjuncts, one grapheme cluster at a time. In some cases, especially with RA, the cursor may look as if it is in the wrong position. The exception is the sequences with yo-phala (eg. ল্যা), which are skipped over as if they were a single grapheme cluster. Blink and WebKit step through all words using the orthographic syllables as described here (ie. they step over a stack and all associated combining characters in one jump), except that WebKit doesn't include the ZWNJ in the grapheme cluster it ends, requiring an extra jump to get past it (although the cursor doesn't move).
Selection. Place the cursor next to a character and hold down shift while pressing an arrow key.
The behaviour is the same as for cursor movement.
Deletion. Forward deletion works in the same way as cursor movement. The backspace key deletes code point by code point, for all browsers.
Line-break. See this test. The CSS sets the value of the
line-break property to
anywhere. Change the size of the box to slowly move the line break point.
Gecko sets break opportunities in the same places as cursor stops. WebKit and Blink both wrap on orthographic syllable boundaries.
Words are separated by spaces.
Bangla uses a mixture of ASCII and Bengali punctuation.
The danda, । [U+0964 DEVANAGARI DANDA], is used for sentence final punctuation.
Observation: I haven't seen much evidence for the use of the double danda, ॥ [U+0965 DEVANAGARI DOUBLE DANDA].
Western punctuation, such as commas, semicolons, colons, quotation marks and hyphens are also used quite commonly.
Bengali commonly uses ASCII parentheses to insert parenthetical information into text.
Bengali texts typically use quotation marks. Of course, due to keyboard design, quotations may also be surrounded by ASCII double and single quote marks.
Italicisation, bolding, and underlining are not traditionally features of Bengali text.
The bisɔrgô ঃ [U+0983 BENGALI SIGN VISARGA] is sometimes used to mark initial abbreviations.
A sign called urdha-comma can be used to indicate truncation of words, eg. কʼরেʼপরে The Unicode Standard recommends use of ʼ [U+02BC MODIFIER LETTER APOSTROPHE].u,460
Observation: Wikipedia seems to use a normal apostrophe.
The Unicode Bengali block also has the punctuation 09FD. It is possible that … [U+2026 HORIZONTAL ELLIPSIS] is used.
Observation: Information is needed about how it is used. It doesn't appear to be in common use.
09FA is used alongside the names of deceased persons.
Bengali is preferably wrapped at word boundaries.
Bengali text can be hyphenated during line wrap, though it is not very common (unlike several south Indian scripts). This is partly because Bengali contains mostly short words.st
Hyphenation adds a hyphen at the end of the line when a word is broken.
As in almost all writing systems, certain punctuation characters should not appear at the end or the start of a line. The Unicode line-break properties help applications decide whether a character should appear at the start or end of a line.
Show line-breaking properties for characters in the modern Bangla orthography.
The following list gives examples of typical behaviours for some of the characters used in modern Bangla. Context may affect the behaviour of some of these and other characters.
Click/tap on the Bangla characters to show what they are.
Line breaking should not move a danda or double danda to the beginning of a new line even if they are preceded by a space character.
Bangla uses the so-called 'alphabetic' baseline, which is the same as for Latin and many other scripts.
It also has a 'hanging baseline', which may be used for text alignment in things such as initial letter highlighting. The hanging baseline is based on the top bar that joins the letters.
Bangla requires slightly more vertical space than Latin text. To give an approximate idea, fig_baselines compares Latin and Bangla glyphs from Noto fonts. The basic height of Bangla letters is typically slightly higher than the Latin x-height, including conjunct stacks, however certain letters and combining marks extend beyond the Latin ascenders, creating a need for larger line spacing.
fig_baselines_other shows similar comparisons for the Bangla MN and Vrinda fonts.
You can experiment with counter styles using the Counter styles converter. Patterns for using these styles in CSS can be found in Ready-made Counter Styles, and we use the names of those patterns here to refer to the various styles.
The modern Bangla orthography uses ASCII digit numbering, but also has a native numeric style.
The bengali numeric style is decimal-based and uses these digits.rmcs
Generally, Bangla lists use a full stop plus a space as a suffix.
This section is for any features that are specific to Bengali and that relate to the following topics: general page layout & progression; grids & tables; notes, footnotes, etc; forms & user interaction; page numbering, running headers, etc.