Introduction to Indic Scripts

India's constitution recognizes 22 scheduled languages, and most of them 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 explains 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 + dependent vowels + marks; conjuncts vary by script.
Direction
Mostly left-to-right; Urdu uses right-to-left Arabic shaping.
Common complexity
Mark placement + reordering + conjunct formation + 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 = layers, not a single glyph 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.
1Why 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.

What typography affects Three outcomes of good typography: readability, trust, and access, each with a short explanation. Why it matters Typography affects… 1 visibility Readability Clear forms, consistent spacing, correct mark placement 2 verified Trust Professional identity, consistency, visual polish 3 public Access Works everywhere and supports languages properly
Indic vs Latin: what changes for type design Two-column comparison between Latin and Indic script font-design workflows, with a design takeaway. Practical comparison What changes for type design For general readers and font designers alike. abc Latin — typical workflow Mostly linear letter sequence Kerning and spacing are central Diacritics are common; stacking is simple Layout engine places glyphs mostly in order Common issues Kerning gaps, diacritic collision, hinting language Indic — typical workflow Syllable clusters built from multiple parts Marks attach in top/bottom/left/right zones Shaper may reorder and substitute forms Clusters form conjuncts, half-forms, ligatures Common issues Weak anchors, missing clusters, engine differences lightbulb Design takeaway In Indic fonts, correctness is revealed by clusters, not isolated letters — plan anchors, shaping, and testing from day one.
2The family story (without heavy linguistics)

Most scripts used in India descend from Brahmi, a script 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.

That shared layout is not an accident. The Unicode 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. Once you know the pattern in one script's block, you can find your way around the others.

There are important 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, not a Brahmi descendant. Meitei Mayek, used for Meitei in Manipur, is a genuine edge case: scholars are split on whether it derives from Brahmic sources or developed on its own, though structurally 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.

3The big idea: syllable-centric writing ("abugida")

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, and other vowels are marked with 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.

Stored order versus visual order A diagram showing that the shaping engine reorders a consonant, vowel sign, and mark for display. Reordering Stored order vs. visual order Logical (typed / stored) sequence Consonant + Vowel sign + Mark swap_horiz Shaped (rendered) result Vowel sign + Consonant + Mark
4What makes Indic typography different from Latin
Shaping & 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/below the base even when encoded after it.
Marks & anchors
Mark positioning is a core quality marker: stable anchors, collision avoidance, and consistent zones.
Rendering engines
Your font is interpreted by shaping engines — HarfBuzz, DirectWrite, CoreText — and they don't always agree. Cross-engine testing matters.
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.
Mark zones and anchors around a base glyph A base glyph box with top, bottom, left, and right mark zones and their anchor points labeled. Mark positioning Zones and anchors around a base glyph BASE Top zone Bottom zone Left zone Right zone top anchor bottom anchor left anchor right anchor
5A map of scripts used in India (series menu)

This series starts with the nine scripts that share the ISCII-derived Unicode layout described above (Devanagari, Bengali, Gujarati, Gurmukhi, Odia, Tamil, Telugu, Kannada, Malayalam), then covers scripts outside that family — Meitei Mayek in Manipur, Ol Chiki for Santali — and finally optional historic scripts.

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

Conjunct tradition, phala forms, strong matra interactions.

Emphasis: subjoined forms, tippi/bindi, spacing rhythm.
Read the article →

Bengali Beng

Core

Distinct forms, complex conjunct tradition, strong matra interactions.

Emphasis: ra/ya-phala patterns, conjunct strategy, mark collisions.
Coming soon

Tamil Taml

Core

Fewer conjuncts; strong identity; optional Grantha extensions.

Emphasis: clarity, spacing, Grantha coverage, precise marks.
Coming soon

Telugu / Kannada / Malayalam Telu · Knda · Mlym

South

Rounded systems with complex combining behavior and collisions to manage.

Emphasis: bowls, anchors, text-size robustness.
Coming soon
Series note
We'll also cover Gujarati (Gujr) and Odia (Orya) to complete the nine ISCII-layout scripts, then Meitei Mayek (Mtei) and Ol Chiki (Olck), plus optional historic and legacy scripts for scholarly and display use.
6The designer's lens

Three ideas get conflated constantly, and keeping them separate will save you 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 single Devanagari character like (U+0915) might be drawn as a base glyph, a half-form glyph, or several conjunct-ligature glyphs, chosen entirely by context — the character doesn't change, but the glyph does. Orthography then narrows the field further: not every theoretically possible consonant cluster is one a native reader will ever type. Cluster-level quality, not per-letter coverage, is what a shaping engine actually exposes.

Most Indic fonts rely on these essentials: ccmp (composition), locl (language forms), mark + mkmk (mark attachment). Script-specific features come next — and each script article will name them explicitly.
"Has glyphs" versus "works in text" A before/after comparison: characters present but marks misattached and floating, versus corrected with anchors and shaping so marks stay stable. The real quality bar "Has glyphs" vs. "works in text" cancel Has glyphs Marks collide or float misplaced check_circle Works in text Anchors + shaping applied stable
7Common cross-script pitfalls
Weak anchors
Marks drift, collide, or stack unpredictably across sizes and weights.
Missing "hard" clusters
Some syllables look fine, but real text breaks on common conjunct/mark combinations.
Over-tight spacing
Cluster collisions increase; word shapes get muddy at text sizes.
Not testing widely
A font that works in one app can fail in another due to 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.
8How to use this series
  1. 1Read this article once for the shared concepts: syllables, marks, reordering, shaping engines.
  2. 2Pick your target script article (Devanagari, Gurmukhi, and more as they're published) — each follows the same structure.
  3. 3Use the Designer Starter Kit below to plan coverage, then use each article's test string pack to validate.
  4. 4Iterate: expand test strings → fix clusters → retest across apps and platforms → repeat.
If you're new: start with Devanagari
It teaches the core shaping concepts clearly (headline, conjunct strategy, dense marks) and builds instincts that transfer to many other scripts.
9Designer Starter Kit & test pack

The script-specific articles include a tailored test pack. This universal version covers the coverage plan, the must-have OpenType features, and what to test before calling a script "done."

Minimum coverage plan

  • Core consonants and independent vowels
  • Dependent vowels (matras) and common marks
  • Virama/halant (where used)
  • Script numerals (and any common punctuation)
  • Language-specific forms (via locl)

Must-have OpenType features

  • ccmp — composition / pre-processing
  • locl — language-specific forms
  • mark — mark attachment
  • mkmk — mark-to-mark attachment
  • Script-specific shaping features as needed (covered in each script article)

Cluster patterns to include

  • Simple CV syllables (base + one vowel sign)
  • Base + top mark, base + bottom mark
  • Two marks stacking (mark + mark)
  • Virama/halant behavior (where relevant)
  • Common conjunct patterns (2-consonant and 3-consonant)
  • Numerals and punctuation mixed into text

Where to test

  • Web (Chromium / Firefox / Safari)
  • Office apps (Windows/macOS)
  • Adobe apps (InDesign/Illustrator) if relevant to your audience
  • Mobile (Android/iOS) for UI fonts
  • At multiple sizes and weights (text + headline)
Sample "generic" strings Replace with script-specific syllables in each article.
CV • C+V(top) • C+V(bottom) • C+mark • C+mark+mark • CCV • CCCV • numerals • punctuation
Explore it yourself
Nimatype's own Unicode search and block browser let you look up any of the code points mentioned in this series directly — useful while you're building a coverage plan or double-checking a test string.
Quality checklist (universal)
No collisions in common clusters · predictable anchors · stable reordering · consistent spacing · tested across shapers.
10What's next

Continue with the script articles below. Each follows the same structure — Fast Facts, shaping model, glyph production, and a script-specific test string pack — so once you've read one, you'll know your way around the rest.