Updated 14 December, 2024
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, 14-Dec-2024, https://r12a.github.io/scripts/beng/bn
ধারা ১ সমস্ত মানুষ স্বাধীনভাবে সমান মর্যাদা এবং অধিকার নিয়ে জন্মগ্রহণ করে। তাঁদের বিবেক এবং বুদ্ধি আছে; সুতরাং সকলেরই একে অপরের প্রতি ভ্রাতৃত্বসুলভ মনোভাব নিয়ে আচরণ করা উচিত।
ধারা ২ এ ঘোষণায় উল্লেখিত স্বাধীনতা এবং অধিকারসমূহে গোত্র, ধর্ম, বর্ণ, শিক্ষা, ভাষা, রাজনৈতিক বা অন্যবিধ মতামত, জাতীয় বা সামাজিক উত্পত্তি, জন্ম, সম্পত্তি বা অন্য কোন মর্যাদা নির্বিশেষে প্রত্যেকেরই সমান অধিকার থাকবে। কোন দেশ বা ভূখণ্ডের রাজনৈতিক, সীমানাগত বা আন্তর্জাতিক মর্যাদার ভিত্তিতে তার কোন অধিবাসীর প্রতি কোনরূপ বৈষম্য করা হবেনা; সে দেশ বা ভূখণ্ড স্বাধীনই হোক, হোক অছিভূক্ত, অস্বায়ত্বশাসিত কিংবা সার্বভৌমত্বের অন্য কোন সীমাবদ্ধতায় বিরাজমান।
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.
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. 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. 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.
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.
❯ basicV
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.
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.
Vowels may be nasalised, using the candrabindu diacritic.
Bengali has native digit shapes.
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 ɔ.
pf, pʰ and f are alternative pronunciations for the same phoneme, depending on where the speaker is from, and all are written using 09AB
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]
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: করতাল
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 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: | ||
---|---|---|
Diphthongs: | ||
Vocalics: |
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
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.
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.
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).
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 otherV 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.)
09CB was originally pronounced ʊ, and that pronunciation sometimes persists alongside the o that came from Sanskrit, eg. নোংরা
ক্য 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.
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 vowelswa,#Vowels, 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.
বাকি
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:
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.
হাঁপান
হ্যাঁ
কেউ keu̯ U+0995 BENGALI KA + U+09C7 VOWEL SIGN E + U+0989 VOWEL LETTER U
Composite 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. কেউ
Bengali represents syllable-initial vowels using a set of independent vowel letters, eg. ওস্তাদ উট ঔষুধ
Standalone æ appears mostly in loan words. It involves the use of 09AF. See otherV 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 ি
standalone ই
dependent ী
standalone ঈ
dependent ৃ vocalic, contains i.
independent ঋ vocalic, contains i.
dependent ু
standalone উ
dependent ূ
standalone ঊ
dependent ো with vowel harmony before one of u or u.
standalone ঊ with vowel harmony before one of u or u.
standalone উ
dependent ে
standalone এ
dependent ি with vowel harmony before one of ɔ o e a.
standalone ই with vowel harmony before one of ɔ o e a.
dependent ্য with the inherent vowel before i.
special য় as part of a diphthong, esp after ɔ a o.
inherent vowel eg. ওজন.
standalone ও
dependent ো
dependent অ with vowel harmony before one of i u.
dependent ু with vowel harmony before one of ɔ o e a.
dependent উ with vowel harmony before one of ɔ o e a.
special্যা
standalone এ
inherent vowel eg. করবী.
standalone অ
dependent ো with vowel harmony before one of ɔ o e a.
standalone ও with vowel harmony before one of ɔ o e a.
dependent া after 099C 09CD 099E.
standalone এ with vowel harmony before one of ɔ o e a.
dependent ্যা
special ্য with the inherent vowel and not followed by i.
dependent ে with vowel harmony before one of ɔ o e a.
special এ্যা
special অ্যা in loan words.
dependent া
standalone আ
dependent িই
dependent িউ
dependent ুই
dependent েই
dependent েউ
dependent ৈ
standalone ঐ
dependent —ই
standalone ওই
dependent ৌ
standalone ঔ
dependent —ও
dependent —য়
dependent —ও
dependent াই
dependent াউ
dependent ায়
dependent াও
nasalisation ঁ
Only one vocalic is in common use for modern Bangla. It is used in standalone and vowel sign forms, eg. ঋতু বৃহৎ
Three more vocalics, 098C, 09E0 and 09E1, and their dependent forms, are historic and only used to write Sanskrit in Bengali.
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.
Stops | |
---|---|
Aspirated | |
Affricates | |
Fricatives | |
Nasals | |
Other | |
Finals |
For more details see consonant_mappings.
Whereas the table just above takes you from sounds to letters, the following simply lists the basic consonant letters (however, since the orthography is highly phonetic there is little difference in ordering).
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.
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.
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
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 09A4 09CD 200D.
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 করছ
See a table of 2-consonant clusters.
The table allows you to test results for various fonts.
To produce a conjunct, 09CD is added between the consonants in the cluster. There are exceptions, but this type of virama is usually not displayed, eg. the sequence 0995 09CD 09B7 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 09B0 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 09AF, ্য, 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 ল্ল, 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.
Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc. Light coloured characters occur infrequently.
consonant প
consonant ফ
consonant ব
consonant ভ
consonant হ্ব
consonant ত
final consonant ৎ Coda.
conjunct ত্ব
conjunct ত্ম
conjunct ত্ম্য
conjunct থ্ব
conjunct ত্র
consonant থ
consonant চ
consonant ছ
consonant চ্ছ্ব
consonant দ
consonant ধ
conjunct দ্ব
conjunct দ্ব্য
conjunct দ্ম
conjunct ধ্ব
consonant জ
consonant/consonant lengthener য when word-initial.
consonant ঝ
consonant ট
consonant ঠ
consonant ড
consonant ঢ
consonant ক
consonant খ
conjunct ক্ষ when initial.
conjunct ক্ষ when non-initial.
conjunct ক্ষ্ম when non-initial.
conjunct ক্ষ্য when non-initial.
consonant ক্ষ্ন
consonant গ
conjunct জ্ঞ when word-initial.
consonant জ্ঞ when between vowels.
consonant ঘ
consonant ফ
consonant ভ sometimes.
consonant স in Bangladesh, or in English words that use the sound s.
consonant শ in Bangladesh, or in English words that use the sound s.
conjunct শ্র
conjunct স্ত
conjunct স্ত্য
conjunct স্ত্র
conjunct স্থ
conjunct স্ন
conjunct স্মৃ
consonant জ especially in Bangladesh, and with words of Perso-Arabic origin.
consonant শ
consonant ষ
consonant স
conjunct শ্ব
conjunct শ্ম
conjunct ষ্ম
conjunct স্ম
consonant হ
final consonant/consonant lengthener ঃ Coda.
consonant ম
conjunct ম্ব
conjunct হ্ম
conjunct ম্ব
conjunct হ্ম
consonant ন
consonant ণ
consonant ঞ very rare outside of conjuncts.
conjunct হ্ন
conjunct হ্ণ
conjunct হ্ন
conjunct হ্ণ
consonant ঙ
final consonant ং Coda.
consonant+nukta ওয় (light, like French 'oui') between o...a, eg. দাওয়াত.
consonant র
vocalic vowel sign ৃ
independent vocalic ঋ
consonant+nukta ড়
consonant+nukta ঢ়
consonant ল
conjunct ল্ম
consonant+nukta য় between i...e, a...u, or e...e.
conjunct হ্য
conjunct জ্জ্ব
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.
Precomposed | Decomposed |
---|---|
09CB | 09C7 09BE |
09CC | 09C7 09D7 |
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 |
---|---|
0986 | 0985 09BE |
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.
Precomposed | Decomposed (recommended) |
---|---|
09DC | 09A1 09BC |
09DD | 09A2 09BC |
09DF | 09AF 09BC |
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 |
---|---|
09B0 | 09AC 09BC |
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.
09F3 is the Bengali rupee sign.
There are also a number of currency symbols, used in older texts, including 09F2 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 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.
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.
See a matrix of consonants followed by vowel signs for Bengali. A few clusters that are often ligated are pre-highlighted.
Words are separated by spaces.
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 09CD, 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 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 09CD, 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. 200C 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.
Bangla uses a mixture of ASCII and Bengali punctuation.
phrase |
002C 003B 003A |
---|---|
sentence |
002E 0964 003F 0021 |
The danda, 0964, is used for sentence final punctuation.
Observation: I haven't seen much evidence for the use of the double danda, 0965.
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 | 0028 |
0029 |
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 | 201C |
201D |
nested | 2018 |
2019 |
Italicisation, bolding, and underlining are not traditionally features of Bengali text.
The bisɔrgô 0983 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 02BC.u,460
Observation: Wikipedia seems to use a normal apostrophe.
The Unicode Bengali block also has the punctuation 09FD. It is possible that 2026 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.
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, 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
Examples:
Generally, Bangla lists use a full stop plus a space as a suffix.
Examples: