Gurmukhi Script

Gurmukhi carries Punjabi in India and is the exclusive script of Sikh scripture. It shares the series introduction's syllable-centric logic with Devanagari, but its everyday complexity looks different: there's no continuous headline, and the two features that define a well-built Gurmukhi font are the addak gemination mark and a small set of subjoined (pairī) consonant forms. This article covers its letters, those two features, and what a font needs to render it correctly.

Fast facts

Gurmukhi, in one screen

An abugida descended from Brahmi via the earlier Laṇḍā scripts, standardized in the 16th century, used for Punjabi in India and for the entire text of the Guru Granth Sahib.

ISO 15924
Guru, Unicode block U+0A00 to U+0A7F
Languages
Official script of Punjabi in the Indian state of Punjab, and the script of Sikh scripture; roughly 31 million native speakers plus a large diaspora
Direction
Left to right, with no continuous headline: each letter's top stroke stays separate
Signature complexity
Addak (gemination), pairī (subjoined) forms for ਰ ਵ ਹ ਯ, and dot marks that must stay legible at small sizes
1.Consonants and vowels

Gurmukhi builds its vowels differently from Devanagari. Three consonant-shaped letters act as vowel bearers, and the ten independent vowel sounds are formed by attaching a vowel sign to one of the three. Traditional counting, the Painti ("the thirty-five"), treats those three bearers as part of the consonant count alongside two standalone letters and five varga groups of five. Shown separately here for clarity, the pieces still add up to the same thirty-five.

Vowel-bearing letters (3)
ura
aira
iri
Independent vowels (10)
a
ā
i
ī
u
ū
e
ai
o
au
Consonants (32)
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
Modern nukta letters (6)
ਸ਼sha
ਖ਼khha
ਗ਼ghha
ਜ਼za
ਫ਼fa
ਲ਼lla
Dependent vowel signs (9) + virama
◌ਾā
◌ਿi
◌ੀī
◌ੁu
◌ੂū
◌ੇe
◌ੈai
◌ੋo
◌ੌau
◌੍virama
Not shown
Bindi () and tippi (), two marks that nasalize a syllable rather than adding a vowel; the addak (), covered in section 5; and the nukta sign itself (), which combines with a base letter to produce the six letters above. Rare marks such as visarga and adak bindi appear mainly in Sanskrit-derived or historic religious text and aren't covered here.
2.What makes Gurmukhi distinctive: no continuous headline

Devanagari letters share a top stroke that fuses into one continuous shirorekha. Gurmukhi letters also carry top strokes, but they stay independent: set two consonants side by side and their tops don't join into a single bar. The result is a broken, rhythmic silhouette along the top of a word rather than one solid line.

Without a headline to anchor the eye, that job falls to the baseline instead, which raises the stakes for the zones above and below it. Everyday Punjabi text is dense with above-base marks (addak, the top vowel signs, bindi and tippi) and it also uses below-base vowel signs. A Gurmukhi typeface holds together because those marks stay legible and collision-free at text size, not because of a single wide connecting stroke the way a Devanagari design does.

3.Visual anatomy: baseline and zones

With no headline to draw, three bands do the work instead: an ascender zone above for addak, dots, and the top vowel signs, the baseline itself, and a descender zone below for the two below-base vowel signs.

Gurmukhi zones, illustrated with the word Punjabi The word Punjabi in Gurmukhi, with guide lines marking the ascender zone, the baseline, and the descender zone, measured against the rendered glyphs. Visual anatomy The baseline carries the word Ascender zone Shirorekha (headline) Baseline Descender zone ਪੰਜਾਬੀ

Notice that, unlike the Devanagari diagram in the previous article, there's no strong line running through the letter tops here: the tippi over ਪੰ and the vowel sign in ਬੀ both sit above the baseline, but nothing connects them into a bar. The baseline, drawn strong here, is doing the job the shirorekha did for Devanagari.

4.How a syllable is built

The series introduction showed a Devanagari consonant and vowel sign reordering at render time. The same reordering rule applies to Gurmukhi's pre-base vowel sign, alongside a post-base sign that doesn't move and a combined sign built from two visual pieces.

ਕਿ
Pre-base vowel
+ vowel sign I → ਕਿ
ਕਾ
Post-base vowel
+ vowel sign AA → ਕਾ
ਕੋ
Combined vowel
+ vowel sign O → ਕੋ

The sihārī (vowel sign I) in ਕਿ is typed after the consonant but drawn to its left, the same reordering the series introduction covered. The vowel sign in ਕਾ stays on the right where it's typed, no reordering involved. The vowel signs in ਕੋ and ਕੌ are each a single Unicode character, but like Devanagari's split matras they're drawn as two pieces: a small hook above the consonant and a vertical stroke to its right, coordinated as one glyph.

5.Addak and subjoined (pairī) forms

Gurmukhi's everyday complexity isn't tall conjunct stacks. It's two narrower features: a gemination mark that has to share crowded headroom with other above-base marks, and a small set of consonants that compress into reduced companion forms instead of standing at full size.

ਪੱਤਾ
Addak
leaf · addak doubles
ਸ੍ਰੀ
Pairī rakar
Sri · subjoins below
ਸ੍ਵਰ
Pairī vava
vowel · subjoins below

Addak marks that the following consonant is doubled: ਪੱਤਾ ("leaf") is pronounced with a doubled , and the mark itself sits in the ascender zone, where it has to stay visually distinct from top vowel signs and dot marks rather than merging into them. Pairī ("at the foot") forms are Gurmukhi's version of a conjunct: instead of stacking a full consonant, a small set, , , and , reduces to a below-base companion form, encoded as the base consonant plus virama plus the subjoined letter. A fourth consonant, , takes a post-base form instead, sitting after the base rather than beneath it.

A dedicated sign: Ek Onkar
(Ek Onkar, "one is the divine") opens the Guru Granth Sahib and appears throughout Sikh religious text and signage. Unicode encodes it as a single character rather than a composed sequence, so a Gurmukhi font aimed at religious or cultural use needs a dedicated glyph for it, not an assembly of other characters.
6.The shaping model for Gurmukhi

The series introduction covered the general Indic feature set. Gurmukhi is a lighter user of it than Devanagari: the OpenType spec makes half and rphf available for typographic preference, but ordinary Gurmukhi text doesn't use half-forms or reph the way Devanagari does. What it does lean on is below-base and post-base substitution, plus nukta handling for the six loanword letters.

FeatureTagWhat it builds here
Nukta formsnuktSubstitutes the precomposed forms of ਸ਼, ਖ਼, ਗ਼, ਜ਼, ਫ਼, and ਲ਼, or positions a separate nukta mark on its base.
Below-base formsblwfBuilds the subjoined (pairī) forms of , , and .
Vattu ligaturesvatuLigates a below-base pairī form directly onto the preceding consonant, where the font provides a combined shape.
Post-base formspstfBuilds the post-base pairī form of .
Localized formsloclSwaps in Punjabi-specific glyph variants where they differ from the script default.
Above-base marksabvmPositions addak, tippi, bindi, and the above-base vowel signs over the base glyph.
Below-base marksblwmPositions the below-base vowel signs and the nukta mark under the base glyph.

Applied in order, these features substitute the pairī and nukta forms the syllable needs, then position every mark relative to whatever base glyph resulted. None of it depends on the reph or half-form machinery Devanagari relies on, even though a font is technically free to declare those features too.

7.Rendering pitfalls
SymptomLikely causeFix
Addak collides with a top vowel sign or dot markMissing or weak above-base mark-to-mark anchorsBuild explicit mark-to-mark anchors for addak against every top vowel and dot combination
Sihārī appears on the wrong side or overlaps the previous letterIndic reordering isn't running, or the shaping engine isn't invoking it for this scriptConfirm the app is actually running Indic shaping for Gurmukhi, not rendering glyphs in stored order
Pairī rakar or vava lands in the wrong spotBelow-base anchor missing or mispositioned on the base glyphAudit below-base anchors across the full consonant set, not just the common bases
ਸ਼, ਖ਼, ਗ਼, ਜ਼, ਫ਼, or ਲ਼ render as a base letter plus a stray dotFont lacks the precomposed glyph or the nukt substitutionAdd explicit nukta substitutions or precomposed glyphs for all six loanword letters
Below-base vowel signs get clipped in UILine-height or container too tight for the descender zoneAllow real descender space in UI text and test on the platforms most likely to clip it
Practical rule
Test with real words, not isolated letters. ਪੱਤਾ, ਸ੍ਰੀ, and ਪੰਜਾਬੀ each exercise a different part of the pipeline, addak, a pairī form, and stacked marks, and a font can pass a single-letter check while still failing all three.
8.Design and production checklist
  1. 1Draw consistent top strokes across the consonant set, and confirm the baseline, not a connecting line, is what carries the word.
  2. 2Build the addak mark and test it against every top vowel sign and dot mark for collisions.
  3. 3Implement pairī forms for , , and , plus the post-base form for , and test each against consonants with different top-stroke shapes.
  4. 4Add precomposed glyphs or nukta substitutions for all six modern loanword letters.
  5. 5Position every vowel sign, including combined ones like ਕੋ and ਕੌ, against every consonant shape.
  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.

ਪੱਤਾAddak / gemination (leaf)
ਸ੍ਰੀPairī rakar (honorific "Sri")
ਸ੍ਵਰPairī vava (vowel)
ਸ਼ੁਕਰੀਆNukta letter + below-base vowel (thank you)
ਕੋਸ਼, ਕੌਸ਼ਲCombined vowel signs (o, au)
ਪੰਜਾਬੀTippi + post-base vowel (Punjabi)