Introduction to Indic Scripts

India's constitution recognizes 22 scheduled languages, and most are written in scripts that share a common ancestor and a common logic: a consonant carries a built-in vowel until a mark changes it. This article covers that shared logic once, so the script-specific articles that follow can get straight to what's different about each one.

Fast facts

Indic scripts, in one screen

Most scripts used in India descend from Brahmi and are syllable-centric abugidas. Their typography depends on shaping engines and precise mark positioning, not just glyph coverage.

Writing model
Syllables built from a base consonant, a dependent vowel, and marks; conjuncts vary by script.
Direction
Mostly left to right; Urdu uses right-to-left Arabic shaping.
Common complexity
Mark placement, reordering, conjunct formation, and language-specific forms.
Minimum OT toolkit
ccmp locl mark mkmk
Indic scripts are syllable-centric A diagram showing a base consonant combining with a vowel sign and a mark layer to form one syllable. How a syllable is built One syllable, three layers A base consonant, a vowel sign, and (often) a mark, combined at render time. abc Base Consonant letter Carries an inherent vowel + merge Vowel sign Matra (dependent vowel) Attaches before/above/below + grain Marks Anusvara, virama, etc. Modify sound or spelling lightbulb You're not drawing "letters" only. You're building a system of combining parts that a shaper assembles.
1.Why Indic scripts matter

Indic scripts are in daily use across education, publishing, signage, government identity documents, and software interfaces for hundreds of millions of readers. When a font handles them poorly, the failure isn't cosmetic: misplaced marks and broken conjuncts make text genuinely harder to read, and readers notice.

Readability
Clear forms, consistent spacing, and correct mark placement.
Trust
Professional identity and visual polish, the same way clean Latin type reads as credible.
Access
Text that works everywhere and supports languages properly, not as an afterthought.
2.One family, many scripts

Most scripts used in India descend from Brahmi, attested from the 3rd century BCE. Descent doesn't mean the letterforms look alike (Tamil and Devanagari share almost no visible resemblance), but it does mean they inherited a common structural logic and a common internal layout inside Unicode. The blocks for Devanagari, Bengali, Gurmukhi, Gujarati, Odia, Tamil, Telugu, Kannada, and Malayalam were built to mirror the 1988 ISCII standard: the independent vowel A, consonant KA, vowel sign AA, and so on sit at the same relative offset in every one of those blocks. Learn the pattern in one script's block and you can find your way around the rest.

There are exceptions. Urdu is written in the Perso-Arabic tradition (right to left, no inherent vowel), not Brahmic at all. Ol Chiki, designed in 1925 by Raghunath Murmu for the Santali language and used today across Jharkhand, West Bengal, and Odisha, is a deliberately independent invention. Meitei Mayek, used for Meitei in Manipur, is a genuine edge case: scholars are split on whether it derives from Brahmic sources, though it behaves as an abugida either way. This series treats each script on its own terms rather than forcing a single family tree onto all of them.

3.The core idea: syllable-centric writing

Linguist Peter T. Daniels coined the term abugida in 1990, borrowed from the first four letters of the Ethiopic Ge'ez script, for writing systems where each base character denotes a consonant plus a default (inherent) vowel, with other vowels marked by diacritics rather than full letters. Most Indic scripts fit this pattern: a consonant carries its inherent vowel until a dependent vowel sign (mātrā) attaches before, after, above, or below it, and additional marks modify the sound or spelling further.

For designers, this is the key shift from Latin. You aren't drawing isolated, self-sufficient letters. You're building a combining system that a shaping engine assembles into syllable clusters at render time, and the order you type in isn't always the order the glyphs end up in.

Stored order versus visual order, shown with a real Devanagari syllable Ka and the vowel sign I are typed in that order, but the vowel sign renders to the left of Ka, producing the syllable ki. Reordering, with a real example Stored order vs. visual order What's typed: Ka, then vowel sign I Ka · U+0915 + ि Vowel sign I · U+093F What renders कि ki The vowel sign shifts to the left of क, even though it's typed second. Marks that don't reorder, such as anusvara or nukta, simply attach in place.
4.What's structurally different from Latin
Shaping and conjuncts
Some scripts form conjuncts (cluster forms) that may involve half-forms, stacked shapes, or ligatures.
Reordering
Parts of a syllable can appear visually before, above, or below the base even when encoded after it.
Marks and anchors
A base glyph needs stable anchor points in its top, bottom, left, and right zones so marks attach without colliding.
Rendering engines
Your font is interpreted by shaping engines such as HarfBuzz, DirectWrite, and CoreText, and they don't always agree.
Design takeaway
A complete glyph set isn't enough on its own. If marks don't anchor correctly or a shaping rule is missing, readers see broken text, even when every individual letterform is well drawn.
5.Consonants and vowels, in their own scripts

Before the shaping model, it helps to simply see the letters. Below are the core consonant and vowel inventories for Devanagari and Gurmukhi, the two scripts most northern readers will recognize first, set in their native fonts rather than transliterated, since Latin approximations hide exactly the visual texture a designer needs to look at. Every script article in this series opens with the same treatment for its own script, down to Unicode's own letter counts.

Devanagari

Deva
Vowels (11)
a
ā
i
ī
u
ū
e
ai
o
au
Consonants (33)
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
va
śa
ṣa
sa
ha

Gurmukhi

Guru

Gurmukhi builds its vowels differently. Three consonant-shaped letters, ੳ (ura), ਅ (aira), and ੲ (iri), act as vowel bearers, and the ten vowel sounds below are formed by attaching a matra to one of the three. Traditional counting (the "Painti," or thirty-five) includes those three bearers among the consonants; shown separately here, they add up to the same thirty-five.

Vowels (10)
a
ā
i
ī
u
ū
e
ai
o
au
Vowel-bearing letters (3) + consonants (32)
ura
aira
iri
sa
ha
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
va
ṛa
Not shown
Modern Gurmukhi adds six nukta-marked letters (ਸ਼, ਖ਼, ਗ਼, ਜ਼, ਫ਼, ਲ਼) for sounds borrowed from Persian, Arabic, and English, bringing the full modern count to forty-one. The Gurmukhi article covers them alongside the nukta mechanism itself.
6.The shaping model in one page

Three ideas get conflated constantly, and keeping them separate saves real debugging time: Unicode (the encoded characters a string contains), glyphs (the shapes you draw in the font), and orthography (the spelling and usage conventions of a given language). One Unicode character can map to several glyphs depending on context, one glyph can serve several characters, and orthography decides which combinations actually occur in real text. A shaping engine works in four stages: it analyzes the text into syllable clusters, reorders characters where the script requires it, applies GSUB features to pick the right glyph shapes, then applies GPOS features to position glyphs and marks.

FeatureTagWhat it does
Localized formsloclSwaps in language-specific glyph shapes once the text is tagged with a language.
Reph formationrphfBuilds the above-base "reph" form of a leading Ra before a halant.
Half formshalfBuilds the pre-base "half" form a consonant takes when it doesn't carry the vowel.
Pre-base reorderingprefFlags a consonant (typically Ra) that moves before the base at render time.
Below-base formsblwfBuilds the form a consonant takes when it stacks below the base.
Post-base formspstfBuilds the form a consonant takes when it sits after the base, still attached.
Mark attachmentmarkAnchors a combining mark to its base glyph.
Mark-to-markmkmkAnchors a second mark to a mark that's already attached, for stacking diacritics.

Font developers control shaping by choosing which glyphs they assign to each feature, not by hand-placing forms. Every script article in this series names the exact subset it depends on and shows the syllable structure those features produce.

7.Common cross-script pitfalls
Weak anchors
Marks drift, collide, or stack unpredictably across sizes and weights.
Missing "hard" clusters
Common syllables look fine in isolation, but real text breaks on frequent conjunct or mark combinations.
Over-tight spacing
Cluster collisions increase and word shapes get muddy at text sizes.
Narrow testing
A font that works in one app can fail in another, since different apps use different shapers.
Practical rule
Don't trust single-word tests. Test clusters, mixed marks, and real phrases, and check them again on every platform you plan to ship on.
8.The scripts in this series

This series covers all nine scripts that share the ISCII-derived Unicode layout described above (Devanagari, Bengali, Gujarati, Gurmukhi, Odia, Tamil, Telugu, Kannada, Malayalam), and will go on to cover scripts outside that family, then optional historic scripts. Read this article once for the shared concepts, then go to whichever script article you need next: each one follows the same structure, opening with its own consonant and vowel inventory before getting into shaping and production.

Regional overview of scripts used in India Four regional groups (North, West, East, and South), each listing the scripts covered, with a note that Northeast scripts form their own track. Series map Scripts used in India, by region location_on North Devanagari Gurmukhi Urdu (RTL) location_on West Gujarati Devanagari (also) location_on East Bengali Odia location_on South Tamil Telugu Kannada Malayalam alt_route Meitei Mayek and Ol Chiki fall outside this regional grouping and get their own track in the series.

Devanagari Deva

Core

Headline, rich conjunct system, major languages and classical texts.

Emphasis: shirorekha, reph/rakar, half-forms, dense marks.
Read the article →

Gurmukhi Guru

Core

No continuous headline, addak, and a small set of subjoined (pairī) forms.

Emphasis: addak, pairī forms, tippi/bindi, baseline rhythm.
Read the article →

Tamil Taml

Core

The leanest consonant set in the series, no conjunct ligatures, and optional Grantha extensions.

Emphasis: clarity, spacing, Grantha coverage, precise marks.
Read the article →

Telugu Telu

South

Below-base "vattu" stacking up to three consonants deep, with no pre-base vowel reordering at all.

Emphasis: vattu stacking, below-base conjuncts, anchors.
Read the article →

Kannada Knda

South

The same below-base stacking mechanism as Telugu, drawn as a noticeably more compact hook.

Emphasis: compact stacking, bowls, text-size robustness.
Read the article →

Malayalam Mlym

South

Tamil-like letterforms, but a full conjunct tradition and nine dedicated chillu letters.

Emphasis: chillu letters, conjuncts, pre-base vowel reordering.
Read the article →

Gujarati Gujr

West

Nearly Devanagari's full shaping model minus the shirorekha, plus two vowels for loanword sounds.

Emphasis: reph, pre-base i-matra, candra vowels.
Read the article →

Bengali Beng

Core

Named ra-phala and ya-phala subjoined forms, plus khanda ta, a dedicated letter for a vowelless consonant.

Emphasis: ra/ya-phala patterns, khanda ta, split vowel signs.
Read the article →

Odia Orya

East

The same reph, ra-phala, and post-base Yya forms as Bengali, drawn in letterforms built almost entirely from loops.

Emphasis: rounded letterforms, ra-phala, post-base Yya.
Read the article →