Use accesskey "n" to jump to the internal navigation links at any point. Right now you can
Updated 1 April, 2025 • recent changes scripts/beng/bn • leave a comment
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, Bengali (Bangla) Orthography Notes, 01-Apr-2025, https://r12a.github.io/scripts/beng/bn
Click to toggle Table of Contents.
Phonological transcriptions should be treated as a guide, only. They are taken from the sources consulted, and may be narrow or broad, phonemic or phonetic, depending on what is available. They mostly represent pronunciation of words in isolation. For more detailed information about allophones, alternations, sandhi, dialectal differences, and so on, follow the links to cited references.
This is an interactive document. Click/tap on the following to reveal detailed information and examples for each character: (a) coloured characters in examples and lists; (b) link text on character names. If your browser supports it, your cursor will change to look like as you hover over these items.
Languages using the Bengali script • Bangla picker • Terms list • Character notes • Bengali links • Other orthography notes
ধারা ১ সমস্ত মানুষ স্বাধীনভাবে সমান মর্যাদা এবং অধিকার নিয়ে জন্মগ্রহণ করে। তাঁদের বিবেক এবং বুদ্ধি আছে; সুতরাং সকলেরই একে অপরের প্রতি ভ্রাতৃত্বসুলভ মনোভাব নিয়ে আচরণ করা উচিত।
ধারা ২ এ ঘোষণায় উল্লেখিত স্বাধীনতা এবং অধিকারসমূহে গোত্র, ধর্ম, বর্ণ, শিক্ষা, ভাষা, রাজনৈতিক বা অন্যবিধ মতামত, জাতীয় বা সামাজিক উত্পত্তি, জন্ম, সম্পত্তি বা অন্য কোন মর্যাদা নির্বিশেষে প্রত্যেকেরই সমান অধিকার থাকবে। কোন দেশ বা ভূখণ্ডের রাজনৈতিক, সীমানাগত বা আন্তর্জাতিক মর্যাদার ভিত্তিতে তার কোন অধিবাসীর প্রতি কোনরূপ বৈষম্য করা হবেনা; সে দেশ বা ভূখণ্ড স্বাধীনই হোক, হোক অছিভূক্ত, অস্বায়ত্বশাসিত কিংবা সার্বভৌমত্বের অন্য কোন সীমাবদ্ধতায় বিরাজমান।
Source: Unicode UDHR, articles 1 & 2
Origins of the Bengali script, 11thC – today.
Phoenician
└ Aramaic
└ Brahmi
└ Gupta
└ Siddham
└ Gaudi
└ Bengali
+ Oriya
+ Tirhuta
+ Nagari
+ Nepalese
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.
More information: Scriptsource, Wikipedia
Script code | beng |
---|---|
Language code | bn |
Script type | abugida |
Origin | sasia |
Native speakers | 260,000,000 |
Total characters | 84 |
Letters | 49 |
Combining marks | 15 |
Symbols | 2 |
Punctuation | 6 |
Numbers | 10 |
Other | 2 |
Possible other | 7 |
Unicode blocks | 1 |
Character counts above are for this orthography but exclude ASCII. | |
Text direction | ltr |
Post-consonant vowels | 2 inherent vowels marks pre-base marks circumgraphs |
Standalone vowels | letters |
Case distinction | no |
Cursive script | no |
Combining marks | >1 per base |
Clusters marked | yes |
Dedicated medials | marks letters |
Dedicated finals | marks letters |
Consonant Clusters | ligated glyphs stacks conjoined glyphs killer type: v |
Other ligatures | yes |
Word separator | space |
Wraps at | word |
Hyphenation | (yes) - |
G Clusters OK? | no |
Justification | spaces |
Baseline | hang |
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. There are no case distinctions.
The 33 consonant letters used for Bangla are supplemented by repertoire extensions for 3 more sounds by applying the nukta diacritic to characters.
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. Bengali stacked conjuncts are usually the same height as ordinary letters. 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.
Syllable-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.
The Bangla orthography is an abugida with 2 inherent vowels, pronounced ɔ and o. Other post-consonant vowels are written using 9 combining marks (vowel signs) and a specialised use of the y consonant letter.
Vowel harmony plays a significant role in the pronunciation of vowel-related code points.
Vowels may be nasalised, using ঁU+0981 SIGN CANDRABINDU.
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.
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.
Bengali has native digits.
The index points to locations where a character is mentioned in this page, and indicates whether it is used by the Bengali orthography described here.
Click on the image to the left to view all the 'main' and 'infrequent' characters in the index in various groupings or open related apps.
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.12
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 ɔ.
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 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.12
r occurs word-initially, whereas ɾ occurs medially and finally. Both sounds are written using রU+09B0 LETTER RA.12
s and ʃ are often merged. z is found mainly in foreign words.12
In the Bangla spoken in Dhaka, ɾ and ɽ are often indistinct phonemically,12 eg. the following two words can be homophonous: করা kɔɾa/kɔɹa/kɔɽa to do কড়া kɔɽa/kɔɾa strict
j and w are pronunciations of য়U+09AF LETTER YA + U+09BC SIGN NUKTA 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]
C
Cn
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: করতাল kɔrtɑl cymbal
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.
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.12
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.12
For more information, see Wikipedia12.
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 Bangla orthography is an abugida with 2 inherent vowels, pronounced ɔ and o. Other post-consonant vowels are written using 9 combining marks (vowel signs) and a specialised use of the y consonant letter.
Vowel harmony plays a significant role in the pronunciation of vowel-related code points.
Vowels may be nasalised, using ঁU+0981 SIGN CANDRABINDU.
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.
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.
The following table summarises the main vowel to character assigments.
The table shows dependent vowels on the left, and standalone vowels on the right. It doesn't capture sound changes produced by vowel harmony.
Plain: | 4 iিii09BF iীīī09C0 uুuu09C1 uূūū09C2 |
4 iইIị0987 iঈĪị̄0988 uউUụ0989 uঊŪụ̄098A |
---|---|---|
both eেee09C7 oোoo09CB |
both eএEẹ098F oওOọ0993 |
|
ɔোoo09CB |
ɔঅAɔ̣0985 |
|
4 æ্যা ͓ʥɑ09CD 09AF 09BE æ্য ͓ʥ09CD 09AF æাāɑ09BE aাāɑ09BE |
aআĀɑ̣0986 |
|
Diphthongs: |
6 oi̯ৈaioʲ09C8 ou̯ৌauoʷ09CC -i̯-ই 0987 -u̯-উ 0989 e̯-য় 09AF 09BC o̯-ও 0993 | both oi̯ঐAIọʲ0990 ou̯ঔAUọʷ0994 |
Vocalics: | riৃR̥r̥09C3 |
riঋR̥r̥̣098B |
For additional details see Vowel sounds to characters.
ক 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 ভালো bʱɑlo good or ভাল bʱɑlo good. 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. গরম ɡɔɾom/ɡɔɽom warm, hot However, exceptions occur for prefixes, such as prɔ-, ɔ-, and sɔ-.58
When pronounced at the end of a word after a conjunct consonant, the inherent vowel is always o,58 eg. যুদ্ধ d͡ʒuddʰo war
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.2400
Bengali uses ্U+09CD SIGN VIRAMA (called হসন্ত hʃ̈n͓t hasant hɔsonto in Bengali) to indicate that the inherent vowel is not pronounced after a consonant, eg. ক্U+0995 LETTER KA + U+09CD SIGN VIRAMA explicitly represents just the sound 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. করতাল kɔrtɑl cymbal
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 Consonant clusters).
Refs: Radice 3, 7-8, 21, 148; Daniels 400
কী ki U+0995 BENGALI LETTER KA + U+09C0 BENGALI VOWEL SIGN II
Post-consonant vowels are written using combining marks (vowel signs) and a specialised use of the consonant letter যU+09AF LETTER YA. Vowel harmony plays a significant role in the pronunciation of vowel-related code points.
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.
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. Conjuncts are treated as indivisible units when it comes to rendering vowel signs, meaning that pre-base vowel signs and left-side glyphs of circumgraphs are rendered before the conjunct as a whole (see Pre-base vowel signs).
The following panel shows the primary vowels for Bengali, and how they are written. Most sounds are written using a single, dedicated code point, but one is represented by a sequence that includes a character usually used as a consonant (see Jô-phôla for more details).
Bengali has lost the distinction between short and long vowels in pronunciation, but retains the difference in spelling.
Other sounds are associated with some of the above graphemes. The variation in pronunciation for the vowel signs can often be explained by vowel harmony.
Click on the characters in the panel for more details.
োU+09CB VOWEL SIGN O was originally pronounced ʊ, and that pronunciation sometimes persists alongside the o that came from Sanskrit, eg. নোংরা nʊŋra foul
Vowel signs (particularly U) may form ligatures with a preceding base consonant. The use of ligatures may vary with the type of content (see Vowel ligatures).
ক্য kæ U+0995 BENGALI KA + U+09CD SIGN VIRAMA + U+09AF LETTER YA
When it occurs as the last member of a consonant cluster যU+09AF LETTER YA has the special shape ্য and is called ʤɔ-pfɔlɑ (য-ফলা). One of its functions is to create the sound æ.
হ্যাঁ hæ̃ː yes
There are exceptions to the previous rule, when the a-kar produces its normal value, eg. ব্যাখ্যা bækkʰa explanation
সন্ধ্যা ʃonddʰa evening
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, jô-phôla can also be used after independent vowels to create the standalone sound æ. The sequences অ্যাU+0985 LETTER A + U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA and এ্যাU+098F LETTER E + U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA are used mostly in transliterations of borrowed words, eg. অ্যাটর্নি ɔæʈorni attorney এ্যাডভোকেট eæɖbʰokeʈ advocate
See also Composite vowels, which explains how independent vowels are used for the off-glide of diphthongs.
Like several other brahmi-derived scripts, the following 2 diphthongs are written using a single character each.
However, most of the many additional diphthongs are represented by a sequence of vowels13, where the off-glide is typically represented using one of the following independent vowels:
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.
কে 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.
বাকি baki left over
The vowel sign is actually placed before the start of a conjunct. In Figure 2 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.
ব্যক্তি bækt̪i person
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 that has a virama. The sequence of displayed glyphs is now CVC. If the conjunct contains 3 consonants, the displayed order will be CCVC.
বালতি ˈbal.t̪iˑ bucket
প্লিজ pliz please
কো 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.
নৌকো nou̯ko boat
Again, like pre-base vowel signs, in Bangla the circumgraph surrounds the whole consonant cluster that is rendered as a conjunct.
অক্টোবর ɔk.ʈo.bɔɾ October
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:
কো U+0995 LETTER KA + U+09CB VOWEL SIGN O
কো U+0995 LETTER KA + U+09C7 VOWEL SIGN E + U+09BE VOWEL SIGN AA
ঽU+09BD SIGN AVAGRAHA is a Sanskrit-derived symbol that is used in modern Bengali to lengthen vowel sounds14, eg. কিঽঽঽ? kiiii Whaaatt? শুনঽঽঽ ʃunooo Listennn
ঁU+0981 SIGN CANDRABINDU nasalises the vowel in a syllable, eg. হ্যাঁ hæ̃ː yes হাঁপান hɑ̃pɑn to pant 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 Figure 6, even though the candrabindu is 4 code points away. Some fonts do not position the candrabindu correctly.
হাঁপান hɑ̃pɑn to pant
হ্যাঁ hæ̃ː yes
কেউ keu̯ U+0995 BENGALI KA + U+09C7 VOWEL SIGN E + U+0989 VOWEL LETTER U
Composite vowels in Bengali may occur when োU+09CB VOWEL SIGN O and ৌU+09CC VOWEL SIGN AU are decomposed, however this is not common. See Encoding choices 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,13 eg. কেউ keu̯ somebody
Bengali represents syllable-initial vowels using a set of independent vowel letters, eg. ওস্তাদ ost̪ad̪ teacher উট uʈ camel ঔষুধ ou̯ʃudʰ medecine
Standalone æ appears mostly in loan words. It involves the use of যU+09AF LETTER YA. See Jô-phôla for more details.
This section maps Bengali vowel sounds to common graphemes in the Bengali orthography.
Dependent vowels appear in the left column, standalone in the right. Hyphens indicate a consonant with inherent vowel.
Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc. Light coloured characters occur infrequently.
dependent িU+09BF VOWEL SIGN I
standalone ইU+0987 LETTER I
dependent ীU+09C0 VOWEL SIGN II
standalone ঈU+0988 LETTER II
dependent ৃU+09C3 VOWEL SIGN VOCALIC R vocalic, contains i.
independent ঋU+098B LETTER VOCALIC R vocalic, contains i.
dependent ুU+09C1 VOWEL SIGN U
standalone উU+0989 LETTER U
dependent ূU+09C2 VOWEL SIGN UU
standalone ঊU+098A LETTER UU
dependent োU+09CB VOWEL SIGN O with vowel harmony before one of u or u.
standalone ঊU+098A LETTER UU with vowel harmony before one of u or u.
standalone উU+0989 LETTER U
dependent েU+09C7 VOWEL SIGN E
standalone এU+098F LETTER E
dependent িU+09BF VOWEL SIGN I with vowel harmony before one of ɔ o e a.
standalone ইU+0987 LETTER I with vowel harmony before one of ɔ o e a.
dependent ্যU+09CD SIGN VIRAMA + U+09AF LETTER YA with the inherent vowel before i.
special য়U+09AF LETTER YA + U+09BC SIGN NUKTA as part of a diphthong, esp after ɔ a o.
inherent vowel eg. ওজন od͡ʒon weight.
standalone ওU+0993 LETTER O
dependent োU+09CB VOWEL SIGN O
dependent অU+0985 LETTER A with vowel harmony before one of i u.
dependent ুU+09C1 VOWEL SIGN U with vowel harmony before one of ɔ o e a.
dependent উU+0989 LETTER U with vowel harmony before one of ɔ o e a.
special্যাU+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA
standalone এU+098F LETTER E
inherent vowel eg. করবী kɔɾɔbi oleander.
standalone অU+0985 LETTER A
dependent োU+09CB VOWEL SIGN O with vowel harmony before one of ɔ o e a.
standalone ওU+0993 LETTER O with vowel harmony before one of ɔ o e a.
dependent াU+09BE VOWEL SIGN AA after জ্ঞU+099C LETTER JA + U+09CD SIGN VIRAMA + U+099E LETTER NYA.
standalone এU+098F LETTER E with vowel harmony before one of ɔ o e a.
dependent ্যাU+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA
special ্যU+09CD SIGN VIRAMA + U+09AF LETTER YA with the inherent vowel and not followed by i.
dependent েU+09C7 VOWEL SIGN E with vowel harmony before one of ɔ o e a.
special এ্যাU+098F LETTER E + U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA
special অ্যাU+0985 LETTER A + U+09CD SIGN VIRAMA + U+09AF LETTER YA + U+09BE VOWEL SIGN AA in loan words.
dependent াU+09BE VOWEL SIGN AA
standalone আU+0986 LETTER AA
dependent িইU+09BF VOWEL SIGN I + U+0987 LETTER I
dependent িউU+09BF VOWEL SIGN I + U+0989 LETTER U
dependent ুইU+09C1 VOWEL SIGN U + U+0987 LETTER I
dependent েইU+09C7 VOWEL SIGN E + U+0987 LETTER I
dependent েউU+09C7 VOWEL SIGN E + U+0989 LETTER U
dependent ৈU+09C8 VOWEL SIGN AI
standalone ঐU+0990 LETTER AI
dependent —ইU+0987 LETTER I
standalone ওইU+0993 LETTER O + U+0987 LETTER I
dependent ৌU+09CC VOWEL SIGN AU
standalone ঔU+0994 LETTER AU
dependent —ওU+0993 LETTER O
dependent —য়U+09AF LETTER YA + U+09BC SIGN NUKTA
dependent —ওU+0993 LETTER O
dependent াইU+09BE VOWEL SIGN AA + U+0987 LETTER I
dependent াউU+09BE VOWEL SIGN AA + U+0989 LETTER U
dependent াওU+09BE VOWEL SIGN AA + U+0993 LETTER O
nasalisation ঁU+0981 SIGN CANDRABINDU
Only one vocalic is in common use for modern Bangla. It is used in standalone and vowel sign forms, eg. ঋতু ɾit̪u season বৃহৎ brihɔt huge
Three more vocalics, ঌU+098C LETTER VOCALIC L, ৠU+09E0 LETTER VOCALIC RR and ৡU+09E1 LETTER VOCALIC LL, and their dependent forms, are historic and only used to write Sanskrit in Bengali.8
The 33 consonant letters used for Bangla are supplemented by repertoire extensions for 3 more sounds by applying the nukta diacritic to characters.
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. Bengali stacked conjuncts are usually the same height as ordinary letters. 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.
Syllable-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.
The following table summarises the main consonant to character assigments.
The left column is lowercase, and the right uppercase.
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.
Onsets | 8 pপpp09AA bবbb09AC tভBHbʰ09AD dদdd09A6 ʈটṭʈ099F ɖডḍɖ09A1 kকkk0995 ɡগgg0997 |
---|---|
9 pʰফPHpʰ09AB bʰতtt09A4 tʰথTHtʰ09A5 dʰধDHdʰ09A7 ʈʰঠṬHʈʰ09A0 ɖʰঢḌHɖʰ09A2 kʰখKHkʰ0996 kʰক্ষ k͓ʃ̇0995 09CD 09B7 ɡʰঘGHgʰ0998 |
|
5 t͡ʃচcc099A t͡ʃʰছCHcʰ099B d͡ʒজjʤ099C d͡ʒযyʥ09AF d͡ʒʰঝJHʤʰ099D |
|
4 ʃশśʃ09B6 ʃষṣʃ̇09B7 ʃসsʃ̈09B8 hহhh09B9 |
|
5 mমmm09AE nনnn09A8 nণṇn̈09A3 nঞññ099E ŋঙṅŋ0999 |
|
5 rর rr09B0 ɽড় ɽɖˑ09A1 09BC ɽʱঢ়rareɽɖʰˑ09A2 09BC lল ll09B2 jয় ẏʲˑ09AF 09BC |
|
Finals |
3 -tৎṯt̽09CE -ɦঃḥh̽0983 -ŋংṁŋ̽0982 |
For more details see Consonant sounds to characters.
Basic consonant sounds in Bengali are written using the following letters. Click on each letter for more details and for example usage.
Conjuncts ending with বU+09AC LETTER BA or মU+09AE LETTER MA tend to not pronounce the latter, but double the length of the consonant before it (see Consonant length).
ক্ষU+0995 LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA is called khiyɔ, pronounced kʰ or kːʰ, and is often treated as a letter of the alphabet in that some dictionaries give it it's own section, eg. ক্ষুদ্র kʰudro small
়U+09BC SIGN NUKTA 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.
য়U+09AF LETTER YA + U+09BC SIGN NUKTA 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.
Clusters of consonant letters at the beginning of an orthographic syllable occur in Bengali, and they are handled as described in the section Consonant clusters.
Special behaviours include handling of the following types of cluster at the beginning of an orthographic syllable: RA, MA, and jô-phôla.
A trailing রU+09B0 LETTER RA in a conjunct is displayed as a wavy line below the other consonant(s), eg. gr in
গ্রাম ɡram village
Examples of clusters with a trailing r. The Latin text is a transliteration.
In rare cases, the RA at the start of a cluster is a syllable onset followed by ্য jô-phôla, rather than the typical situation where a cluster-initial RA is a syllable coda and is written as a repha mark.
When the RA is an onset, a full-sized RA should be followed by the jô-phôla form for YA. To create this shape, add U+200D ZERO WIDTH JOINER character before the hasant (see Figure 7).
The following is an example of a term with RA as a coda, followed by a YA onset. I was unable to find an example of RA followed by jô-phôla.
সূর্য ʃurd͡ʒo sun
Syllable codas are commonly written using ordinary letters, but there are also a few dedicated symbols in Bengali.
At the end of a word, a coda doesn't usually have a visible virama attached, but in a few cases it does.
গপ ɡɔp gossip
আল্লাহ্ alːa Allah
A coda followed by a consonant onset will often, but not always, form a conjunct (see No special rendering). Compare:
অঞ্চল ɔnt͡ʃɔl region
ইনকিলাব in.ki.lab revolution
Some special rendering rules apply for a syllable ending in r when it is part of a consonant cluster. See RA coda followed by a consonant.
One letter and 2 diacritics represent syllable-final consonant sounds only.
In a sequence of characters, these should all occur after any combining vowel sign associated with the same syllable. None carry vowel signs.
রU+09B0 LETTER RA at the start of a cluster is normally displayed as a mark above the following consonant(s). Unlike Devanagari, it is typically displayed above the consonant glyph, rather than above the vowel sign of the orthographic syllable.
গর্ত gɔrtô hole
শার্ট ʃaɹt shirt
Like other consonant clusters, the sound may also be written without a conjunct at all.
কারসাজি kɑrʃɑd͡ʒi trickery
See also RA+jô-phôla.
ৎU+09CE LETTER KHANDA TA, pronounced t̪, is a variant form of তU+09A4 LETTER TA 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 TA, eg.
হঠাৎ hɔʈʰɑt suddenly
উৎসব utʃɔb festival
Khanda ta is not used before the following characters:8
Many words, however, use তU+09A4 LETTER TA in the same situations, and it's not possible to guess which will be used for a given word, eg.
হঠাত্ ɦɔʈʰat̪ suddenly
This character replaces and obsoletes an earlier approach that required the use of the sequence ত্U+09A4 LETTER TA + U+09CD SIGN VIRAMA + U+200D ZERO WIDTH JOINER.
ংU+0982 SIGN ANUSVARA is a final nasal ŋ, eg. বাংলা ˈbaŋla Bengali, Bangla (language)
Sometimes spelling is inconsistent, especially when this or ঙU+0999 LETTER NGA are used in a conjunct, eg. compare these pairs: সাঙঘাতিক ʃɑŋɡʰɑtik terrible সাংঘাতিক ʃɑŋɡʰɑtik terrible রঙ rɔŋ colour রং rɔŋ colour
However, in certain words the spelling is fixed. One such word is বাংলা ˈbaŋla Bengali, Bangla (language) But, since this cannot support vowel signs, the word for Bengali nation (rather than language) has to be spelled with ঙU+0999 LETTER NGA, ie. বাঙালী bɑŋɑlī bɑŋgɑlī
See also the candrabindu diacritic, which nasalises a vowel.
When used to represent a word-final consonant, ঃU+0983 SIGN VISARGA produces vigorous final aspiration ɦ, eg. বাঃ baʱ wow, bravo/left
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. নিঃশব্দ niʃʃɔbdo silence
Consonant clusters are written using:
See also Consonant length.
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. রিকশা rik.ʃɑ rickshaw
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 খাননা kʰɑnnɑ not eat
The stem kôr from kôra plus present continuous ending chô is written করছ korcʰo doing
To produce a conjunct, ্U+09CD 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 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 characters). Different fonts may combine the same letters in different ways. The following figure 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 বU+09AC LETTER BA or মU+09AE LETTER MA tend to not pronounce the latter, but double the length of the consonant before it (see Consonant length).
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ɔ.
See a table of 2-consonant clusters.
The table allows you to test results for various fonts.
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. These stacks don't extend below the lower baseline, as they do in conjuncts for many other scripts.
The conjuncts in Figure 9 used in words: আস্থা ɑʃtʰɑ trust ঝিল্লি d͡ʒʰilli grasshopper
Examples of components arranged vertically.
Many conjuncts are formed by combining components horizontally. Usually the initial consonant glyph is reduced.
The conjuncts in Figure 10 used in words: ক্যম্পাস kyæmpas campus উচ্চারণ ut͡ʃt͡ʃɑrɔn pronunciation
Some people argue that at least some of these conjoined, half-forms (reminiscent of Devanagari) don't belong in the Bengali script, but that instead a visible virama should be shown.§ In this case, the examples above would look like this:
ক্যম্পাস kyæmpas campus
উচ্চারণ ut͡ʃt͡ʃɑrɔn pronunciation
Other examples of components arranged side-by-side, frequently with simplification of the initial consonant. The Latin characters are transliterations.
A small set of conjuncts combine the consonants into a ligated shape, where individual components can't always be easily discerned.
The conjuncts in Figure 11 used in words: খ্রিষ্টান kʰriʂʈan christian ক্ষণ kʃon moment
Examples of conjuncts arranged in a way that involves ligation, significantly altering one or more of the components.
Bengali has a particular way of representing a cluster-final যU+09AF LETTER YA, known as jô-phôla (pronounced ʤɔ-pfɔlɑ). This is typically represented with the shape ◌্যU+09CD SIGN VIRAMA + U+09AF LETTER YA, using the full form of the preceding consonant followed by a special form of YA, eg.
হ্যাঁ hæ̃ː yes
Jô-phôla at the end of a conjunct usually has two possible effects:
A cluster-final মU+09AE LETTER MA 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. উন্মত্ত unmɔtto insane
Used this way, this letter is typically silent but produces a lengthening of the previous consonant sound (see Consonant length).
Examples of cluster-final MA.
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. ফ্ল্যাট pʰlæʈ flat লান্চ lɑnt͡ʃ lunch although these may also be spelled with conjuncts, eg. ফ্ল্যাট pʰlæʈ flat
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 characters).
U+200C ZERO WIDTH NON-JOINER (ZWNJ) can be used to force the production of a visible virama, rather than a half-form (see Visible virama). It can also be used to prevent the formation of vowel ligatures (see Vowel ligatures).
U+200D ZERO WIDTH JOINER (ZWJ) is used to produce special joining forms for RA (see RA coda followed by a consonant) and YA (see Jô-phôla).
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 LETTER LA + U+09CD SIGN VIRAMA + U+09B2 LETTER LA, eg. ঝিল্লি d͡ʒʰilli grasshopper
Another common way of doubling the length of a consonant is to use a conjunct ending with বU+09AC LETTER BA or মU+09AE LETTER MA, eg. ভস্ম bʰɔ̃ʃʃo ashes বিশ্ব biʃʃo universe
The jô-phôla (্যU+09CD SIGN VIRAMA + U+09AF LETTER YA) can also lengthen the consonant it follows, eg. জন্য d͡ʒɔnno for
ঃU+0983 SIGN VISARGA can also lengthen the following consonant, with no aspiration, eg. নিঃশব্দ niʃʃɔbdo silence
This section maps Bengali consonant sounds to common graphemes in the Bengali orthography.
Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc. Light coloured characters occur infrequently.
consonant পU+09AA LETTER PA
consonant ফU+09AB LETTER PHA
consonant বU+09AC LETTER BA
consonant ভU+09AD LETTER BHA
consonant হ্বU+09B9 LETTER HA + U+09CD SIGN VIRAMA + U+09AC LETTER BA
consonant তU+09A4 LETTER TA
final consonant ৎU+09CE LETTER KHANDA TA Coda.
consonant থU+09A5 LETTER THA
consonant চU+099A LETTER CA
consonant ছU+099B LETTER CHA
consonant দU+09A6 LETTER DA
consonant ধU+09A7 LETTER DHA
consonant জU+099C LETTER JA
consonant/consonant lengthener যU+09AF LETTER YA when word-initial.
consonant ঝU+099D LETTER JHA
consonant টU+099F LETTER TTA
consonant ঠU+09A0 LETTER TTHA
consonant ডU+09A1 LETTER DDA
consonant ঢU+09A2 LETTER DDHA
consonant কU+0995 LETTER KA
consonant খU+0996 LETTER KHA
conjunct ক্ষU+0995 LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA when initial.
conjunct ক্ষU+0995 LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA when non-initial.
conjunct ক্ষ্মU+0995 LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA + U+09CD SIGN VIRAMA + U+09AE LETTER MA when non-initial.
conjunct ক্ষ্যU+0995 LETTER KA + U+09CD SIGN VIRAMA + U+09B7 LETTER SSA + U+09CD SIGN VIRAMA + U+09AF LETTER YA when non-initial.
consonant গU+0997 LETTER GA
conjunct জ্ঞU+099C LETTER JA + U+09CD SIGN VIRAMA + U+099E LETTER NYA when word-initial.
consonant জ্ঞU+099C LETTER JA + U+09CD SIGN VIRAMA + U+099E LETTER NYA when between vowels.
consonant ঘU+0998 LETTER GHA
consonant ফU+09AB LETTER PHA
consonant ভU+09AD LETTER BHA sometimes.
consonant সU+09B8 LETTER SA in Bangladesh, or in English words that use the sound s.
consonant শU+09B6 LETTER SHA in Bangladesh, or in English words that use the sound s.
consonant জU+099C LETTER JA especially in Bangladesh, and with words of Perso-Arabic origin.
consonant হU+09B9 LETTER HA
final consonant/consonant lengthener ঃU+0983 SIGN VISARGA Coda.
consonant মU+09AE LETTER MA
consonant নU+09A8 LETTER NA
consonant ণU+09A3 LETTER NNA
consonant ঞU+099E LETTER NYA very rare outside of conjuncts.
consonant ঙU+0999 LETTER NGA
final consonant ংU+0982 SIGN ANUSVARA Coda.
consonant+nukta ওয়U+0993 LETTER O + U+09AF LETTER YA + U+09BC SIGN NUKTA (light, like French 'oui') between o...a, eg. দাওয়াত d̪awat̪ invitation.
consonant রU+09B0 LETTER RA
vocalic vowel sign ৃU+09C3 VOWEL SIGN VOCALIC R
independent vocalic ঋU+098B LETTER VOCALIC R
consonant+nukta ড়U+09A1 LETTER DDA + U+09BC SIGN NUKTA
consonant+nukta ঢ়U+09A2 LETTER DDHA + U+09BC SIGN NUKTA
consonant লU+09B2 LETTER LA
consonant+nukta য়U+09AF LETTER YA + U+09BC SIGN NUKTA 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 offers advice about characters or character sequences to avoid, and what to use instead. It takes into account the relevance of Unicode Normalisation Form D (NFD) and Unicode Normalisation Form C (NFC)..
Although usage is recommended here, content authors may well be unaware of such recommendations. Therefore, applications should look out for the non-recommended approach and treat it the same as the recommended approach wherever possible.
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 in common use for Bengali. The parts are separated 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.
Precomposed | Decomposed |
---|---|
োU+09CB VOWEL SIGN O | োU+09C7 VOWEL SIGN E + U+09BE VOWEL SIGN AA |
ৌU+09CC VOWEL SIGN AU | ৌU+09C7 VOWEL SIGN E + U+09D7 AU LENGTH MARK |
ৗU+09D7 AU LENGTH MARK is only used in this combination and never used on its own.8
The following atomic characters look as if they could be composed of parts, but in fact there is no equivalence during normalisation, and so the atomic characters only should be used.
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.
This information draws on the DoNotEmit tables.
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 Repertoire extension), 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 produce decomposed forms.
Decomposed (recommended) | Precomposed |
---|---|
ড়U+09A1 LETTER DDA + U+09BC SIGN NUKTA | ড়U+09DC LETTER RRA |
ঢ়U+09A2 LETTER DDHA + U+09BC SIGN NUKTA | ঢ়U+09DD LETTER RHA |
য়U+09AF LETTER YA + U+09BC SIGN NUKTA | য়U+09DF LETTER YYA |
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 LETTER RA | ব়U+09AC LETTER BA + U+09BC 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.
This section describes typographic features related to digits, dates, currencies, etc.
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 RUPEE SIGN is the Bengali rupee sign.
There are also a number of currency symbols, used in older texts, including ৲U+09F2 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.
Show default bidi_class
properties for characters by the modern Bangla orthography.
This section describes typographic features related to font/writing styles, cursive text, context-based shaping, context-based positioning, letterform slopes, weights & italics, and case & other character transforms.
This section brings together information about the following topics: font/writing styles; cursive text; context-based shaping; context-based positioning; letterform slopes, weights, & italics; case & other character transforms.
You can experiment with examples using the Bengali character app.
How are fonts grouped into recognisable writing styles? How is each writing style used?
The Noto Sans Bengali font eliminates 'knots' from the letter shapes. Some people feel that this is incorrect for a Bengali font.§ The knots are small round elements attached to the strokes for a letter.
System/Noto fonts that have knots include Tiro Bangla, Noto Serif Bengali, Bangla MN, Bangla Sangam MN, Shonar Bangla, and Vrinda. Those without knots include Noto Sans Bengali, Baloo Da 2, and Kohinoor Bangla.
Are special glyph forms needed, depending on the context in which a character is used? Do glyphs interact in some circumstances? Are there requirements to position diacritics or other items specially, depending on context? Does the script have multiple diacritics competing for the same location relative to the base?
Bengali fonts need to adapt glyphs based on their context.
Principal areas where context-sensitive shaping is required include conjunct formation (see Consonant clusters) and vowel ligation (see Vowel ligatures).
Positioning of glyphs is also sometimes context-sensitive, particularly where multiple diacritics are applied to a single base. Pre-base vowel signs and circumgraphs require glyphs to be positioned relative to the base consonant(s) to which they are applied.
The rest of this section provides examples of context-sensitive shaping and positioning.
Vowel signs (particularly U) may form ligatures with a preceding base consonant. Figure 13 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.8
See a matrix of consonants followed by vowel signs for Bengali.
The table below indicates which sound combinations are rendered by default as ligatures by which fonts. The results cover Noto fonts, and system fonts for macOS (Sequoia) and Windows 11. The shapes resemble those just above. The link takes you to another page which shows all combinations and highlights the shapes indicated here.
Font | gu | gū | shu | hu | hū | hri | ntu | ru | rū | link |
---|---|---|---|---|---|---|---|---|---|---|
Noto Serif Bengali | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | ||
Noto Sans Bengali | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | ||
Bangla MN | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | |
Bangla Sangam MN | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | |
Tiro Bangla | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | ||
Baloo Da 2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | ||
Kohinoor Bangla | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | ||
November Bangla Traditional | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | link | ||
Shonar Bangla | ✓ | ✓ | ✓ | ✓ | ✓ | ✓* | ✓* | link | ||
Vrinda | ✓ | ✓ | ✓ | ✓ | ✓ | ✓* | ✓* | link |
* The Windows fonts (Shonar Bangla, Vrinda) create non-ligated forms for Assamese RA by default. All the other fonts create ligated forms, like Bengali RA.
Observation: The shapes in the Bangla MN and Bangla Sangam MN fonts for hū are identical to those used in other fonts for hri. Is this a mistake in the font?
The default behaviour of a given font can be modified using U+200C ZERO WIDTH NON-JOINER or
U+200D ZERO WIDTH JOINER before the vowel to produce the simple form.8 In principle, if a font produces a ligature by default, and if it has the necessary logic, the ZWNJ should produce the non-ligated form, and vice versa for the ZWJ. In practice, the behaviour varies.
In general use, these joiner characters are rarely needed. A choice of default ligated or non-ligated forms can be made by choosing an appropriate font.
The next table shows the effect of adding ZWJ and ZWNJ between the consonant and vowel for the combinations gu, shu, hu, hri, Bengali ru, rū, and Assamese ru, rū. Without a joiner these fonts all render the sequence as ligated, except for Shonar Bangla and Vrinda, where the Assamese ru, rū is non-ligated. Blink and Gecko browsers appear to render these combinations differently in a textarea element compared to regular HTML, so results are shown for both. Results also indicate the browser engine: B for Blink (Chrome, Edge, ...), G for Gecko (Firefox, ...), and W for Webkit (Safari, ...). indicates Ligated,
means Non-Ligated.
indicates that the sequence breaks, with a dotted circle between consonant and vowel.
Font | ZWJ | ZWNJ | ||
---|---|---|---|---|
HTML | Textarea | HTML | Textarea | |
Noto Serif Bengali | B:![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B:![]() G: ![]() W: ![]() |
Noto Sans Bengali | B:![]() G: ![]() W: ![]() |
B:![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B:![]() G: ![]() W: ![]() |
Bangla MN | B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
Bangla Sangam MN | B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
Tiro Bangla | B: ![]() G: ![]() W: ?** |
B: ![]() G: ![]() W: ?** |
B: ![]() G: ![]() W: ?** |
B:![]() G: ![]() W:?** |
Baloo Da 2 | B: ![]() G: ![]() W:?** |
B: ![]() G: ![]() W:?** |
B: ![]() G: ![]() W:?** |
B:![]() G: ![]() W:?** |
Kohinoor Bangla | B:![]() G: ![]() W: ![]() |
B:![]() G: ![]() W: ![]() |
B: ![]() G: ![]() W: ![]() |
B:![]() G: ![]() W: ![]() |
November Bangla Traditional | B: ![]() G: ![]() W: ?** |
B: ![]() G: ![]() W: ?** |
B: ![]() G: ![]() W: ?** |
B:![]() G: ![]() W: ?** |
Shonar Bangla | B:![]() G: ![]() |
B:![]() G: ![]() |
B: ![]() G: ![]() |
B:![]() G: ![]() |
Vrinda | B:![]() G: ![]() |
B:![]() G: ![]() |
B: ![]() G: ![]() |
B:![]() G: ![]() |
Nirmala UI | B: ![]() G: ![]() |
B: ![]() G: ![]() |
B: ![]() G: ![]() |
B:![]() G: ![]() |
?** indicates fonts that are not rendered on Safari.
as_ru/rū indicates Assamese RA.
Are words separated by spaces, or other characters? Are there special requirements when double-clicking on the text? Are words hyphenated?
Words are separated by spaces.
Changes introduced in Unicode 15.1 mean that grapheme clusters alone are now sufficient to represent typographic units in Bengali. 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 SIGN VIRAMA, which has an Indic Syllabic Category of Virama
.
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 RA coda followed by a consonant).
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 Vowel ligatures). 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 Visible virama).
The following examples show a variety of grapheme clusters:
Click on the text version of these words to see more detail about the composition.
![]() | বালতি ˈbal.t̪iˑ bucket |
![]() | ইংরেজ iŋred͡ʒ English |
![]() | দুঃখও duk.kʰoo̯ sadness |
(Consonant Nukta? Virama)+ Simple_grapheme_cluster
Bengali commonly stacks or conjoins glyphs, to form conjuncts (see Consonant clusters). The conjuncts represent consonant clusters or gemination.
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, the extended grapheme cluster rules were modified in Unicode 15.1 to cover a number of named scripts, including Bengali. Since Bengali's ্U+09CD SIGN VIRAMA has an Indic_Conjunct_Break
property value of Linker
the hasant effectively extends the grapheme cluster that began the conjunct to include the grapheme cluster that follows it.
The following are examples.
Click on the text version of these words to see more detail about the composition.
![]() | ঝিল্লি d͡ʒʰilli grasshopper |
![]() | ক্যম্পাস kyæmpas campus |
![]() | ক্ষণ kʃon moment |
![]() | কুর্তা kurtɑ Indian shirt |
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 Inherent vowel suppression).
Click on the text version of these words to see more detail about the composition.
![]() | রিকশা rik.ʃɑ rickshaw |
![]() | খাননা kʰɑnnɑ not eat |
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.
![]() | ফ্ল্যাট pʰlæʈ flat |
![]() | লান্চ lɑnt͡ʃ lunch |
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 Figure 14, 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. (The underlying sequence of characters is the same in both cases.)
The grapheme cluster rules introduced in Unicode 15.1 mean that a sequence with a visible virama is not segmented after the virama. This is not ideal, but given the difficulty in distinguishing between situations where the virama is shown and those where it is not, where a choice has to be made it is probably better that the rules keep sequences together when the virama is invisible.
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, Blink, and WebKit browsers step through the text using grapheme clusters, including the new rules around conjuncts (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.
The behaviour is the same as for cursor movement.
This section describes typographic features related to word boundaries, phrase & section boundaries, bracketed text, quotations & citations, emphasis, abbreviation, ellipsis & repetition, inline notes & annotations, other punctuation, and other inline text decoration.
What characters are used to indicate the boundaries of phrases, sentences, and sections?
Bangla uses a mixture of ASCII and Bengali punctuation.
phrase | |
---|---|
sentence |
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.
start | end | |
---|---|---|
standard |
What characters are used to indicate quotations? Do quotations within quotations use different characters? What characters are used to indicate dialogue? Are the same mechanisms used to cite words, or for scare quotes, etc? What about citing book or article names?
Bengali texts typically use quotation marks. Of course, due to keyboard design, quotations may also be surrounded by ASCII double and single quote marks.
start | end | |
---|---|---|
initial | ”U+201D RIGHT DOUBLE QUOTATION MARK | |
nested | ’U+2019 RIGHT SINGLE QUOTATION MARK |
How are emphasis and highlighting achieved? If lines are drawn alongside, over or through the text, do they need to be a special distance from the text itself? Is it important to skip characters when underlining, etc? How do things change for vertically set text?
Italicisation, bolding, and underlining are not traditionally features of Bengali text.
What characters are used to indicate abbreviation, ellipsis & repetition?
The bisɔrgô ঃU+0983 SIGN VISARGA is sometimes used to mark initial abbreviations.
A sign called urdha-comma can be used to indicate truncation of words, eg. কʼরে kôʼre afterʼপরে ʼpôre above The Unicode Standard recommends use of ʼU+02BC MODIFIER LETTER APOSTROPHE.9460
Observation: Wikipedia seems to use a normal apostrophe.
The Unicode Bengali block also has the punctuation ৽U+09FD ABBREVIATION SIGN. 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.
Any other form of highlighting or marking of text, such as underlining, numeric overbars, etc. What characters or methods (eg. text decoration) are used to convey information about a range of text? If lines are drawn alongside, over or through the text, do they need to be a special distance from the text itself? Is it important to skip characters when underlining, etc? How do things change for vertically set text?
৺U+09FA ISSHAR is used alongside the names of deceased persons.
This section describes typographic features related to line breaking & hyphenation, text alignment & justification, text spacing, baselines, line height, counters, lists, and styling initials.
Are there special rules about the way text wraps when it hits the end of a line? Does line-breaking wrap whole 'words' at a time, or characters, or something else (such as syllables in Tibetan and Javanese)? What characters should not appear at the end or start of a line, and what should be done to prevent that? Is hyphenation used, or something else? What rules are used? What difficulties exist?
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.7
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.
Does the script have special requirements for baseline alignment between mixed scripts and in general? Is line height special for this script? Are there other aspects that affect line spacing, or positioning of items vertically within a line?
tbd
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, Figure 15 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.
Figure 16 shows similar comparisons for the Bangla MN and Vrinda fonts.
Are there list or other counter styles in use? If so, what is the format used? Do counters need to be upright in vertical text? Are there other aspects related to counters and lists that need to be addressed?
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.6
Examples:
Generally, Bangla lists use a full stop plus a space as a suffix.
Examples:
This section describes typographic features related to general page layout & progression; grids & tables, notes, footnotes, etc, forms & user interaction, and page numbering, running headers, etc.
1Tanmoy Bhattacharya, Private correspondence, July 2004✓
2Peter T. Daniels and William Bright, The World's Writing Systems, Oxford University Press, ISBN 0-19-507993-0
3Richard Ishida, Ready-made Counter Styles✓
4Anshuman Pandey, Proposal to Encode the Ganda Currency Mark for Bengali in ISO/IEC 10646✓
5William Radice, Teach Yourself Bengali, Hodder & Stoughton, ISBN 0-340-86029-4
6Richard Ishida, Ready-made Counter Styles✓
7Santhosh Thottingal, Personal correspondence
8Unicode Consortium, The Unicode Standard, Version 16.0, Chapter 12.2: South and Central Asia-I, Official Scripts of South Asia, Bengali (Bangla)
9Unicode Consortium, The Unicode Standard, Version 13.0, Chapter 12.5: South and Central Asia-I, Bengali (Bangla), 473-479, ISBN 978-1-936213-16-0.
10Unicode Consortium, Unicode Line Breaking Algorithm (UAX#14)✓
11Wikipedia, Bengali language
12Wikipedia, Bengali phonology
13Wikipedia, Bengali alphabet
14Wikipedia, Bengali–Assamese script