Bengali Script

Bengali writes both Bengali and Assamese, and Microsoft's own OpenType documentation states its family tie plainly: the script is "closely related to the Devanagari script." It inherits Devanagari's reph, its pre-base vowel reordering, and its habit of ligating consonant clusters into fused conjuncts, but it kept a leaner vowel inventory than some of this series' other scripts, and it built its own vocabulary for consonant clusters: named subjoined forms called ra-phala and ya-phala, plus a single dedicated letter, khanda ta, for a consonant that needs no vowel and no virama at all. This article covers its letters, that inheritance, and what a font needs to render it correctly.

Fast facts

Bengali, in one screen

An abugida closely related to Devanagari, sharing its reph and pre-base reordering while naming its own subjoined consonant forms.

ISO 15924
Beng, Unicode block U+0980 to U+09FF
Languages
Primary script for Bengali; also used for Assamese, with a couple of letters swapped between them
Direction
Left to right, sharing Devanagari's reph and pre-base vowel reordering, without a continuous headline
Signature complexity
Named subjoined forms, ra-phala and ya-phala, plus khanda ta, a dedicated letter for a vowelless final consonant
1.Consonants and vowels

Bengali's letter count sits close to Devanagari's, trimmed in one place and extended in another. It has twelve independent vowels rather than the fourteen this series found in Telugu, Kannada, and Malayalam, because Bengali, like Devanagari, keeps a single e and a single o instead of splitting each into short and long forms. Its consonant set numbers thirty-two, plus three further letters built with a nukta, a dot placed below a base glyph, for sounds that entered Bengali through Persian and Arabic contact: ড় (ṛa), ঢ় (ṛha), and য় (ẏa).

Independent vowels (12)
a
ā
i
ī
u
ū
e
ai
o
au
Consonants (32)
ka
kha
ga
gha
ṅa
ca
cha
ja
jha
ña
ṭa
ṭha
ḍa
ḍha
ṇa
ta
tha
da
dha
na
pa
pha
ba
bha
ma
ya
ra
la
śa
ṣa
sa
ha
Nukta consonants (3)
ড়ṛa
ঢ়ṛha
য়ẏa
Dependent vowel signs (11) + virama
◌াā
◌িi
◌ীī
◌ুu
◌ূū
◌ৃ
◌ৄr̥̄
◌েe
◌ৈai
◌োo
◌ৌau
◌্virama
Other marks
◌ঁcandrabindu
◌ংanusvara
◌ঃvisarga
◌়nukta
Khanda ta and Assamese letters (3)
khanda ta
Assamese ra
Assamese va
Not shown
Bengali's own digits (০–৯); the rare long vocalic RR and LL letters and their dependent vowel signs, used only in Sanskrit-derived text; a set of historical currency marks including an obsolete rupee sign; and a handful of additional signs, an Anji mark, an abbreviation sign, and a sandhi mark, reserved for specialized or historical use. None of these are part of everyday running text.
2.What makes Bengali distinctive: named phala forms and one single-letter escape hatch

Microsoft's own OpenType documentation states the relationship without qualification: "The Bengali script, closely related to the Devanagari script, is used to write Bengali, Assamese and Manipuri." The shaping mechanics carry over directly. Bengali uses reph for an initial, non-base "Ra," reorders its e vowel sign to a pre-base position, and ligates consonant clusters into fused conjuncts, the same three behaviors this series already tracked through Devanagari and, on the western side of the family, Gujarati. Where Bengali quietly diverges is its vowel count: twelve independent vowels, the same lean set Devanagari uses, rather than the fourteen-vowel Dravidian pattern this series found in Telugu, Kannada, and Malayalam.

What sets Bengali apart is the vocabulary it uses for its own consonant clusters. Rather than treat every subjoined consonant as an anonymous "conjunct," Bengali typographic tradition names specific, fixed shapes: ra-phala, a below-base "Ra" hanging off the preceding consonant, and ya-phala, a post-base "Ya" that attaches to the right. Both appear constantly in ordinary text, common enough that a font's design has to get their exact shape right, not just approximate it. Bengali also adds a device no sibling script in this series has built quite this way: khanda ta, a single dedicated letter for a word-final "ta" that carries no vowel and needs no virama to show it. It is a much narrower cousin of Malayalam's nine chillu letters, dedicated codepoints for a bare consonant, but Bengali built only one, for the one consonant common enough to need it.

3.Visual anatomy: close to Devanagari, without the joined headline

Set the same word in Devanagari and a single horizontal stroke would run across the top, linking every letter into one continuous line. Bengali letters keep a flat top edge of their own, a visible trace of the same design logic, but the stroke stops at each letter instead of joining the next one.

Bengali zones, illustrated with the word Bangla The word Bangla in Bengali script, with guide lines marking letter tops, the baseline, and the below-base zone, showing that each letter's top stroke stops on its own instead of joining a continuous headline. Visual anatomy Each letter's top stroke stands alone Letter tops (no headline) Baseline Below-base zone বাংলা

বাংলা, the word "Bangla," shows the pattern plainly: , , , , and the final each carry their own short top stroke, but nothing draws a line across the whole word the way Devanagari's shirorekha would. Zoom in on a longer word and the same thing holds: every letter sits independently on the baseline, related in style to its neighbors but not physically joined to them.

4.How a syllable is built

Bengali's dependent vowel signs attach in three different positions relative to their consonant, and one of them splits into two visible pieces that wrap the consonant from both sides, the same two-part construction this series first described for Devanagari.

কা
Post-base vowel sign
+ vowel sign AA → কা
কে
Pre-base vowel sign
+ vowel sign E, reordered left
কো
Split, two-part vowel sign
e-part before, aa-part after

কা is the simple case: the vowel sign attaches after its consonant, in logical reading order. কে reorders to the left, the same pre-base pattern Devanagari and Gujarati use for their own e-class vowel signs. কো is the more distinctive case: the o vowel sign is really two combining marks, one that reorders before the consonant and one that stays after it, and a font has to draw and position both halves so they read as a single, unified sign rather than two disconnected marks.

5.Ra-phala, ya-phala, and khanda ta

These three mechanisms are where Bengali's own typographic identity shows up most clearly: two named subjoined forms that recur throughout ordinary text, and one dedicated letter that sidesteps the virama entirely for a single, common consonant.

প্রেম
Ra-phala
love · + below-base
বিদ্যা
Ya-phala
education · + post-base
হঠাৎ
Khanda ta
suddenly · a distinct letter, no virama needed

প্রেম ("love") shows ra-phala doing its ordinary work: "Ra" preceded by a consonant that doesn't ligate with it drops to a below-base hook rather than staying full-height in reading order. বিদ্যা ("education") shows the ya-phala counterpart, "Ya" attaching as a post-base form after its consonant. হঠাৎ ("suddenly") ends in khanda ta, a single atomic glyph, not a visible plus virama, standing in for a bare final consonant the way ordinary Bengali spelling expects.

6.The shaping model for Bengali

Bengali runs on the same Indic shaping engine as Devanagari and Gujarati, with two features doing extra work: below-base substitution for ra-phala, and post-base substitution for ya-phala, both named explicitly in Microsoft's own feature documentation for this script.

FeatureTagWhat it builds here
Localized formsloclSwaps in Bengali-specific glyph shapes where they differ from the script default.
Nukta formsnuktSubstitutes the three nukta-marked consonants, ড়, ঢ়, য়.
Akhand ligaturesakhnRequired ligatures, like ক্ষ, formed before any reordering happens.
RephrphfSubstitutes the above-base form of an initial, non-base "Ra."
Half formshalfBuilds the reduced pre-base form of a consonant that ligates into the next.
Below-base formsblwfSubstitutes ra-phala, the below-base "Ra" form.
Post-base formspstfSubstitutes ya-phala, the post-base "Ya" form.
Vattu variantsvatuLigates a full or half consonant with a below-base ra-phala into one fused glyph.
Conjunct formscjctForms remaining ligatures where the first consonant has no dedicated half form.

A font that already handles Devanagari's reph and conjunct ligation is partway to a working Bengali implementation. What's specific to Bengali is drawing ra-phala and ya-phala as their own named shapes rather than treating them as generic stacked forms, and giving khanda ta its own glyph entirely separate from a visible ত + ্ sequence.

7.Rendering pitfalls
SymptomLikely causeFix
Ra-phala or ya-phala render as a generic stacked blob instead of the traditional hook shapeFont lacks dedicated blwf / pstf glyphs for these formsDraw ra-phala and ya-phala as their own named shapes, matching Bengali typographic convention
Khanda ta shows as with a visible virama instead of a single letterFont is missing or mismapping the glyph for U+09CEDraw khanda ta as its own atomic glyph, distinct from plus virama
Text written for Assamese shows tofu or falls back to the Bengali-only lettersFont doesn't cover and (U+09F0, U+09F1)Include both Assamese-specific letters even when the primary target is Bengali
Reph and a pre-base e vowel sign collide in the same syllableNo coordinated anchoring between the two above-base elementsTest words that carry both together, not each mechanism in isolation
The split o or au vowel sign renders as two disconnected marks instead of one wraparound signThe two components aren't positioned or anchored as a matched pairTest কো and কৌ explicitly, not just single-piece vowel signs
Practical rule
Test with real words, not isolated letters. প্রেম, বিদ্যা, and হঠাৎ each exercise a different mechanism, ra-phala, ya-phala, and khanda ta, and a font can pass a single-letter check while still failing all three.
8.Design and production checklist
  1. 1Draw all 32 consonants, the 3 nukta consonants, and 12 independent vowels at consistent weight.
  2. 2Draw dedicated ra-phala and ya-phala glyphs matching traditional shapes, not generic fallback stacks.
  3. 3Draw khanda ta as its own atomic glyph, fully separate from a visible ত + virama sequence.
  4. 4Include the Assamese-specific ৰ and ৱ, even if the primary target is Bengali-only text.
  5. 5Implement reph, pre-base e-matra reordering, and the split o/au vowel signs, and test them together.
  6. 6Test across shaping engines and at multiple sizes and weights before calling the script done.
9.Test strings

Copy these into a test document. Each targets a different part of the shaping pipeline covered above.

বাংলাThe script's own name, no joined headline (Bangla)
কর্মReph, an initial non-base "Ra" (work, deed)
কোSplit, two-part o vowel sign
প্রেমRa-phala, below-base "Ra" (love)
বিদ্যাYa-phala, post-base "Ya" (education)
হঠাৎKhanda ta, no virama needed (suddenly)