Introduction to Devanagari Script

By Nimatype Think Tank
Indic scripts are syllable-centric A simple diagram showing a base consonant combining with vowel signs to form syllables, plus a mark layer. One syllable = layers Base + vowel sign + marks (and sometimes conjuncts) Base Consonant letter Vowel sign Matra / dependent vowel Marks Anusvara, virama, etc. Designers: you’re not drawing “letters” only — you’re building a system of combining parts.

Figure D1 — Devanagari Fast Facts (card)

Devanagari Fast Facts A compact card summarizing Devanagari script type, direction, headline, complexity, languages, and Unicode blocks. Devanagari — Fast Facts A quick reference before you dive into shaping and design. Script type Abugida (syllable-centric) Direction Left-to-right Headline (shirorekha) Yes — often continuous Complexity High — conjuncts + reordering + stacking Primary languages Hindi · Marathi · Nepali · Sanskrit Unicode blocks U+0900–097F · U+A8E0–A8FF U+1CD0–1CFF

Figure D2 — Shirorekha + Writing Zones (visual anatomy)

Devanagari zones using one stress cluster Designer-focused diagram showing zones, headline reference, and a stress cluster (left matra + top mark + below matra) plus a conjunct example, with hotspots and callouts. Devanagari zones — stress cluster view One cluster can expose most bugs: left-matra + top mark + below mark (plus a conjunct check). Top marks Headline Core letters Below headline reference किंतु secondary conjunct check: क्तु top mark clearance e.g., anusvara (ं) must avoid headline. left matra “ि” below matra “ु” Anchor inset (concept) If this fails, hotspots collide. base top bottom mark _mark mkmk Example 1 Left matra reorders कि Stored after the consonant, rendered to the left. Example 2 Top mark stacking कं Anusvara must clear the headline and other marks. Example 3 Below matra collisions कु Below matras collide with below-base forms in clusters. Try this: paste “किंतु क्तु” into every test app. If zones/anchors are wrong, you’ll see collisions immediately. Devanagari visual anatomy: shirorekha and zones Diagram showing headline and mark zones with a sample word strip, with safe padding to avoid clipping. Devanagari zones: headline + marks Design goal: keep these zones clear across clusters and sizes. Above headline Top marks / accents (often stack here) Headline band (Shirorekha) Top bar connects letters in many styles Base letters Consonants live here. Vowel signs attach around this zone. Below base Below-base forms and marks (watch collisions) संस्कृतम् · हिन्दी

Figure D3 — Cluster + Reph/Rakar (the “Ra rules”)

Devanagari clusters: Reph and Rakar Two examples showing RA at the start (reph) and RA at the end (rakar). The “Ra rules” that make or break a Devanagari font Test these early: Reph (RA at start) and Rakar (RA at end). A) RA at start → Reph behavior Stored sequence र् + क Shaped result र्क Reph often sits above the base cluster (engine + design dependent). B) RA at end → Rakar behavior Stored sequence क् + र Shaped result क्र Rakar is a trailing RA-form attached to the cluster. Designer tip: validate RA cases in HarfBuzz + Windows Word + Safari. If this breaks, the font will feel wrong immediately.

Figure D4 — Conjunct Strategy: Component-based vs Ligature-heavy

Conjunct strategy choices Comparison of component-based shaping vs ligature-heavy conjunct coverage. Conjunct coverage strategy Hybrid is common: components for breadth + curated ligatures for beauty. Component-based shaping Half-forms + positioning क् + त → क्त Scales to many clusters Consistent rhythm Fewer bespoke ligatures Watch out: Needs strong anchors + careful spacing for worst-case clusters. Ligature-heavy coverage Draw many conjunct ligatures क्ष · त्र · ज्ञ Can look beautiful Strong editorial identity Great for display / headlines Watch out: Time cost + coverage gaps. Engines differ if overused.

Figure D5 — OpenType shaping ladder (what runs and why)

Devanagari shaping ladder Normalized ladder diagram of OpenType shaping features and positioning features, with safe padding and no overlap. Shaping ladder (practical) Correctness first (clusters + reordering), then positioning (anchors). ccmp Compose / normalize sequences locl Language-specific forms nukt Nukta handling for loan letters rphf Reph formation (RA at start) half Half-forms for consonant clusters blwf Below-base forms / positioning pstf Post-base forms (incl. rakar) Positioning After shaping, anchors matter. mark (base→mark) mkmk (mark→mark) Make these stable before stylistic features. Then consider: calt ss01 for style (not correctness). Practical rule: if mark/mkmk aren’t stable across clusters, don’t ship… …and don’t add stylistic alternates yet (calt/ss01) until anchors behave.

Figure D6 — QA checklist + Test Pack frame (ready to paste strings)

Devanagari QA checklist and test pack frame Checklist and a framed area for test strings, with safe padding and wrapped lines. QA snapshot: what to test (and where to paste strings) Use this as the “first 10 minutes” checklist during development. Minimum checks Reph works (RA at start) Rakar works (RA at end) Half-forms in common clusters Top marks don’t collide with headline Mark stacking (mkmk) holds up Left matras align in clusters Nukta letters render correctly Works in HarfBuzz + Word + Safari Tip: test at UI sizes (12–16px) and text sizes (18–24px). If it fails here, don’t add stylistic alternates yet. Paste your Test String Pack here Use this area in layouts/specimens/QA pages. क कि की कु कू के कै को कौ क्ष त्र ज्ञ · क्त क्त्र स्त्री क्र ग्र प्र त्र र्क र्ग र्त भारत हिन्दी भाषा महाराष्ट्र मराठी भाषा नमः शिवाय · धर्मः ०१२३४५६७८९ । ॥ Tip: keep “hard clusters” at the top while iterating.