Updated 20 December, 2022
This page brings together basic information about the Gurmukhi script and its use for the Punjabi language. It aims to provide a brief, descriptive summary of the modern, printed orthography and typographic features, and to advise how to write Punjabi using Unicode.
ਆਰਟੀਕਲ: 1 ਸਾਰਾ ਮਨੁੱਖੀ ਪਰਿਵਾਰ ਆਪਣੀ ਮਹਿਮਾ, ਸ਼ਾਨ ਅਤੇ ਹੱਕਾਂ ਦੇ ਪੱਖੋਂ ਜਨਮ ਤੋਂ ਹੀ ਆਜ਼ਾਦ ਹੈ ਅਤੇ ਸੁਤੇ ਸਿੱਧ ਸਾਰੇ ਲੋਕ ਬਰਾਬਰ ਹਨ । ਉਨ੍ਹਾਂ ਸਭਨਾ ਨੂੰ ਤਰਕ ਅਤੇ ਜ਼ਮੀਰ ਦੀ ਸੌਗਾਤ ਮਿਲੀ ਹੋਈ ਹੈ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਭਰਾਤਰੀਭਾਵ ਦੀ ਭਾਵਨਾ ਰਖਦਿਆਂ ਆਪਸ ਵਿਚ ਵਿਚਰਣਾ ਚਾਹੀਦਾ ਹੈ ।
ਆਰਟੀਕਲ: 2 ਹਰੇਕ ਵਿਅਕਤੀ ਨੂੰ ਭਾਵੇਂ ਉਸ ਦੀ ਕੋਈ ਨਸਲ, ਰੰਗ, ਲਿੰਗ, ਭਾਸ਼ਾ, ਧਰਮ, ਰਾਜਨੀਤਕ ਵਿਚਾਰਧਾਰਾ ਜਾਂ ਕੋਈ ਹੋਰ ਵਿਚਾਰਧਾਰਾ ਹੋਏ, ਭਾਵੇਂ ਉਸ ਦੀ ਕੋਈ ਵੀ ਜਾਇਦਾਦ ਹੋਵੇ ਅਤੇ ਭਾਵੇਂ ਉਸ ਦਾ ਕਿਤੇ ਵੀ ਜਨਮ ਹੋਇਆ ਹੋਵੇ ਤੇ ਉਸਦਾ ਕੋਈ ਵੀ ਰੁਤਬਾ ਹੋਵੇ, ਉਹ ਐਲਾਨਨਾਮੇ ਵਿਚ ਮਿਲੇ ਅਧਿਕਾਰਾਂ ਤੇ ਆਜ਼ਾਦੀਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਹੱਕ ਰਖਦਾ ਹੈ । ਇਸ ਤੋਂ ਵੀ ਅੱਗੇ ਇਸ ਗੱਲ ਦਾ ਕੋਈ ਭੇਦ ਭਾਵ ਨਹੀਂ ਰਖਿਆ ਜਾਏਗਾ ਕਿ ਉਹ ਵਿਅਕਤੀ ਕਿਹੜੇ ਮੁਲਕ ਦਾ ਹੈ ਅਤੇ ਉਸ ਮੁਲਕ ਦਾ ਅੰਤਰਰਾਸ਼ਟਰੀ ਰੁਤਬਾ ਕਿਹੋ ਜਿਹਾ ਹੈ । ਇਸ ਗੱਲ ਦਾ ਵੀ ਖਿਆਲ ਨਹੀਂ ਰਖਿਆ ਜਾਏਗਾ ਕਿ ਉਹ ਵਿਅਕਤੀ ਕਿਸੇ ਆਜ਼ਾਦ ਮੁਲਕ ਦਾ ਹੈ, ਜਾਂ ਉਹ ਮੁਲਕ ਕਿਸੇ ਟਰੱਸਟ ਅਧੀਨ ਹੈ ਜਾਂ ਉਸ ਦਾ ਆਪਣਾ ਸਵੈਸ਼ਾਸਨ ਨਹੀਂ ਅਤੇ ਜਾਂ ਉਹ ਕਿਸੇ ਅਜਿਹੇ ਇਲਾਕੇ ਵਿਚ ਰਹਿੰਦਾ ਹੈ ਜਿਸ ਦੀ ਪ੍ਰਭੂਸੱਤਾ ਸੀਮਤ ਹੈ ।
The Gurmukhi script is used primarily by followers of the Sikh religion in India, where it is the official script of the Punjabi language. The original Sikh scriptures and most of the historic Sikh literature have also been written in the Gurmukhi script.
Muslim speakers of Punjabi in Pakistan use a Persian version of the Arabic script (called shahmukhi).
ਗੁਰਮੁਖੀ ɡʊɾmʊkʰi Gurmukhi
The current form of Gurmukhi was developed in the 16th century by Guru Angad, successor to the founder of the Sikh religion, Guru Nanak. It's roots lie in the historical Brahmi script.
Sources: Scriptsource and Wikipedia.
The Gurmukhi script is an abugida, ie. consonants carry an inherent vowel sound that is overridden using vowel signs. See the table to the right for a brief overview of features for the modern Panjabi orthography.
Gurmukhi text runs left to right in horizontal lines.
Words are separated by spaces.
Gujarati uses 32 consonant letters. The repertoire can be extended by applying the nukta diacritic to 5 characters, to represent foreign sounds, particularly for Urdu or Persian. ❯ consonants
A final h can be indicated using the visarga, but otherwise final consonants are written using ordinary characters. ❯ finals
Although consonant clusters are frequent, there are very few conjuncts, mostly just r and h, which are subjoined. This leads to difficulties for automatic transcription. ❯ clusters
Consonant gemination is indicated, unusually for an Indian script, by a special diacritic that appears before the letter being lengthened.
The Punjabi orthography has an inherent vowel, and represents other vowels using 9 vowel signs, including 1 pre-base vowel and no circumgraphs. All vowel signs are combining marks, and are stored after the base character. The inherent vowel is usually not pronounced at the end of a word. ❯ vowels
There are 10 independent vowels, one for each vowel sound, including the inherent vowel, and these are used to write all standalone vowel sounds. There are no unique shapes for independent vowels. Instead vowel signs are added to one of three consonants that are used only as vowel carriers, however Unicode provides separate code points for all the combinations and deprecates the use of 2 of the carriers. ❯ standalone
There are two diacritics for nasalisation, tippi and bindi, each used in different phonetic contexts.
Punjabi is a tonal language. Tones are normally indicated by the use of certain consonants, rather than diacritics.
Gurmukhi has its own set of native digits, however modern text tends to use European digits. ❯ numbers
Punctuation is mostly western.
As an abugida, the basic unit of text is the orthographic syllable. Consonant clusters occur at the beginning of orthographic syllables, however they are generally not marked specially.
Gurmukhi uses spaces to separate text into words.
Punjabi is unusual among major Indian scripts in that it is a tonal language with three tones: high rising falling (transcribed as á), low rising (transcribed as à), and level (not transcribed). The tones cover one or two syllables.d However, there appears to be a lack of clarity about the fine detail of how the tonal system works.b
These are sounds of the Punjabi language.
Click on the sounds to reveal locations in this document where they are mentioned.
Phones in a lighter colour are non-native or allophones. Source Wikipedia.
The Punjabi orthography has an inherent vowel, and represents other vowels using 9 vowel signs, including 1 pre-base vowel and no circumgraphs. All vowel signs are combining marks, and are stored after the base character. The inherent vowel is usually not pronounced at the end of a word.
There are 10 independent vowels, one for each vowel sound, including the inherent vowel, and these are used to write all standalone vowel sounds. There are no unique shapes for independent vowels. Instead vowel signs are added to one of three consonants that are used only as vowel carriers, however Unicode provides separate code points for all the combinations and deprecates the use of 2 of the carriers.
There are two diacritics for nasalisation, tippi and bindi, each used in different phonetic contexts.
Punjabi is a tonal language. Tones are normally indicated by the use of certain consonants, rather than diacritics.
ə following a consonant is not written, but is seen as an inherent part of the consonant letter, so kə is written by simply using the consonant letter. The sound is transcribed as a.
ਕ kə [U+0A15 GURMUKHI LETTER KA]
Non-inherent vowel sounds that follow a consonant are represented using vowel signs, eg.
ਕੀ ki [U+0A15 GURMUKHI LETTER KA + U+0A40 GURMUKHI VOWEL SIGN II]
Gujarati vowel signs are all combining characters. A single Unicode character is used per base consonant, and there are no circumgraphs. All vowel signs are typed and stored after the base consonant, whether or not they precede it when displayed, and the rendering process puts them in the correct place for display.
Three of the vowel signs are spacing marks, meaning that they consume horizontal space when added to a base consonant.
Punjabi uses the following dedicated combining marks for vowels.
Vowels i and u may be pronounced differently in certain contexts. With a high tone they represent é and ó,d eg. ਕਿਹੜਾ ਕੁਹੜਾ
Combined with a preceding ah they produce ǽ and ɔ́, respectively,d eg. ਕਹਿਣਾ ਵਹੁਟੀ
One vowel sign appears to the left of the base consonant letter or cluster, eg. ਕਿ
This is a combining mark that is always stored after the base consonant. The font places the glyph before the base consonant.
The following list shows where vowel signs are positioned around a base consonant to produce vowels, and how many instances of that pattern there are.
At maximum, vowel components can occur concurrently on 1 side of the base.
Unlike most other indic scripts, there is generally no indication when a consonant is not pronounced with a following vowel. (For the few occasions where this is made clear see the section consonantClusters.) Generally speaking, the reader simply has to know whether an inherent vowel is pronounced or not, eg. ਉਤਸੁਕ
The inherent vowel is generally not pronounced at the end of a word (see the previous example).
Gurmukhi uses ੍ [U+0A4D GURMUKHI SIGN VIRAMA] (called halant in Punjabi) to kill the inherent vowel after a consonant. It is rarely seen. As just mentioned, no virama is used at the end of a word, nor in many other situations. It is also usually hidden when the consonant is part of a consonant cluster.
The virama is visible, however, if the consonant isn't followed by a consonant, eg. the following explicitly represents just the sound k. ਕ੍ k͓
The virama may also be used occasionally to suppress the vowel in Sanskritised text, or in dictionaries for extra phonetic information.
Gurmukhi represents standalone vowels using a set of independent vowel letters. The set includes a character to represent the inherent vowel sound.
ਅ [U+0A05 GURMUKHI LETTER A] is actually classified as a null consonant with an inherent vowel.
In fact, all independent vowels in Gurmukhi are graphically a combination of one of the following three vowel carriers and a vowel sign.
However while it's also possible to type them in this way, the Unicode Standard actually recommends that the precomposed characters be used instead. The precomposed letters don't decompose in Normalization Form D.
The use of the following characters is therefore deprecated by the Unicode Standard.
Two separate diacritics are used to indicate nasalisation.
ੰ [U+0A70 GURMUKHI TIPPI] is used with vowels a, i, u, and with final ū, eg. ਮੂੰਡਾ
ਂ [U+0A02 GURMUKHI SIGN BINDI] is used for all other vowels, eg. ਸ਼ਾਂਤ
These diacritics can also signal gemination of a following m or n.
Note that if a tippi is used in a location where bindi is more appropriate, some fonts may silently convert the shape to a dot.
Gujarati uses 32 consonant letters. The repertoire can be extended by applying the nukta diacritic to 5 characters, to represent foreign sounds, particularly for Urdu or Persian.
A final h can be indicated using the visarga, but otherwise final consonants are written using ordinary characters.
Although consonant clusters are frequent, there are very few conjuncts, mostly just r and h, which are subjoined. This leads to difficulties for automatic transcription.
Consonant gemination is indicated, unusually for an Indian script, by a special diacritic that appears before the letter being lengthened.
Gurmukhi has a set of consonants that mostly map onto the traditional Brahmi phonetic matrix, though not all are used for articulatory distinctions.
ਅ [U+0A05 GURMUKHI LETTER A] is also classified as a null consonant and is described in independentvowels.
਼ [U+0A3C GURMUKHI SIGN NUKTA] is used to represent foreign sounds, particularly for Urdu or Persian, eg. in ਜ਼ਖ਼ਮੀ zˑxˑmī injured the dot changes ਜ ʤ to ਜ਼ z and ਖ kʰ to ਖ਼ x
The following graphemes combine nukta with an existing consonant.
The nukta should always be typed and stored immediately after the consonant it modifies, and before any combining vowels or diacritics.
These graphemes are decomposed by Unicode Normalization Form C (NFC), however there are also a set of precomposed code points in the Unicode Gurmukhi block.
The Unicode Standard recommends not to use the precomposed code points for Gurmukhi, but instead to use the base + nukta sequences. See also nukta_encoding for more information.
Gurmukhi doesn't normally use tone diacritics. Instead, certain character combinations serve to indicate high and low tones. The level tone is not marked.
Five of the consonants – those nominally representing voiced, aspirated sounds in the Brahmi model – indicate changes in tone. The articulatory pronunciation is unaspirated and, when syllable-initial, unvoiced.
The letters above indicate a low tone when at the beginning of a word or syllable, eg. ਘੋੜਾ or medially between a short and long vowel, eg. ਪਘਾਰਨਾ They indicate a high tone when elsewhere,o eg. ਕੁਝ
In addition, the consonant ਹ [U+0A39 GURMUKHI LETTER HA] is only pronounced h when it occurs word initially, eg. ਹਰੀ In other locations it is unpronounced and indicates that the preceding vowel has a high tone, eg. ਮੀਹ ਚੜ੍ਹ When used after a consonant, it appears subjoined below that consonant.d
When the letter ha follows a short i or u, it changes the vowel's phonetic value from [ɪ] and [ʊ] to [é] and [ó], respectively, and indicates a high tone.
According to Omniglot, the following conjuncts indicate a level tone when at the beginning of a word or syllable, and a low rising tone when elsewhere.o
The diacritic ੑ [U+0A51 GURMUKHI SIGN UDAAT] can also be used in older texts to indicate a high tone.
(The sound h after a vowel can be produced using ਃ [U+0A03 GURMUKHI SIGN VISARGA], but it is only rarely used.)
Syllable-final consonant sounds are generally represented by ordinary consonant characters (or perhaps a conjunct with h for tonal indications). However, a final h can sometimes be represented by the visarga (ਃ [U+0A03 GURMUKHI SIGN VISARGA]).
Consonant clusters are written in one of the following ways:
See also gemination.
Clusters of consonants without intervening vowel sounds are generally not marked in Gurmukhi. It is necessary to just know that the vowel should not be pronounced, eg. ਉਤਸੁਕ
See a table of 2-consonant clusters.
The table allows you to test results for various fonts.
The way to indicate conjunct clusters is to add ੍ [U+0A4D GURMUKHI SIGN VIRAMA] before the subjoined character, eg. ਪ੍ਰ is produced by the sequence ਪ + ੍ + ਰ [U+0A2A GURMUKHI LETTER PA + U+0A4D GURMUKHI SIGN VIRAMA + U+0A30 GURMUKHI LETTER RA].
The virama may also be used occasionally to suppress the vowel in Sanskritised text, or in dictionaries for extra phonetic information.ws
There are just a few exceptions where the cluster is marked by a subjoined version of the second consonant.
The character h in non-initial position is used to indicate tones (see consonant_tones). When the h follows a consonant, it is subjoined to it, eg. ਚੜ੍ਹ
Syllable-initial clusters also occur with r and v, and are also indicated using subjoined forms, eg. ਪ੍ਰਬੰਧ ਸ੍ਵਰਗ Subjoined v is much less common in modern text.
Occasionally, a cluster ending with y is rendered using ੵ [U+0A75 GURMUKHI SIGN YAKASH], though this appears to be quite rare, eg. ਕਲੵਚਰੈ kly̆ʧrɛ
Doubling or reinforcement of a consonant sound is indicated, unusually for an indic script, using a diacritic, ੱ [U+0A71 GURMUKHI ADDAK]. It is typed before the consonant (In this way it resembles the small tsu in Japanese), and is placed to the left of the consonant it affects (not over it), eg. ਪੱਕੀ
The diacritic may appear over the right side of the preceding consonant, but if that consonant has a vowel sign or extension above the horizontal topline, it may be displayed on a short extension of the joining line.
Geminated mm and nn may be written using a nasalisation diacritic associated with the preceding vowel,d eg. ਲੰਮੀ
This section looks at alternative strategies for typing and storing the nukta and considers the effects of normalising the text using Unicode Normalisation Form D (NFD), and Normalisation Form C (NFC).
The decomposed form is recommended by the Unicode Standard. NFC does not recombine the parts into precomposed characters. Instead, normalisation produces decomposed forms for both NFC and NFD. So both alternatives are canonically equivalent, but decomposed is recommended.
Precomposed | Decomposed (recommended) |
---|---|
ਫ਼ [U+0A5E GURMUKHI LETTER FA] | ਫ + ਼ [U+0A2B GURMUKHI LETTER PHA + U+0A3C GURMUKHI SIGN NUKTA] |
ਜ਼ [U+0A5B GURMUKHI LETTER ZA] | ਜ + ਼ [U+0A1C GURMUKHI LETTER JA + U+0A3C GURMUKHI SIGN NUKTA] |
ਸ਼ [U+0A36 GURMUKHI LETTER SHA] | ਸ + ਼ [U+0A38 GURMUKHI LETTER SA + U+0A3C GURMUKHI SIGN NUKTA] |
ਖ਼ [U+0A59 GURMUKHI LETTER KHHA] | ਖ + ਼ [U+0A16 GURMUKHI LETTER KHA + U+0A3C GURMUKHI SIGN NUKTA] |
ਗ਼ [U+0A5A GURMUKHI LETTER GHHA] | ਗ + ਼ [U+0A17 GURMUKHI LETTER GA + U+0A3C GURMUKHI SIGN NUKTA] |
ਲ਼ [U+0A33 GURMUKHI LETTER LLA] | ਲ + ਼ [U+0A32 GURMUKHI LETTER LA + U+0A3C GURMUKHI SIGN NUKTA] |
Gurmukhi uses a couple of religious symbols.
ੴ [U+0A74 GURMUKHI EK ONKAR] can have various different forms. Unicode classes it as a letter. The shape in the Unicode charts is highly stylised.
The other religious symbol, ☬ [U+262C ADI SHAKTI], is encoded in Unicode's Miscellaneous Symbols block.
Gurmukhi has its own set of decimal digits, however modern text tends to use European digits.ws
Gurmukhi script runs left to right in horizontal lines.
Show default bidi_class
properties for characters in the Punjabi orthography described here.
This section brings together information about the following topics: writing styles; cursive text; context-based shaping; context-based positioning; baselines, line height, etc.; font styles; case & other character transforms.
You can experiment with examples using the Gurmukhi character app.
Gurmukhi text is not cursive (ie. joined up like Arabic).
The orthography has no case distinction, and no special transforms are needed to convert between characters.
tbd
tbd
Words are separated by spaces.
Gurmukhi generally uses western punctuation.
phrase | , [U+002C COMMA] ; [U+003B SEMICOLON] : [U+003A COLON] |
---|---|
sentence | . [U+002E FULL STOP] । [U+0964 DEVANAGARI DANDA] (infrequently) |
। [U+0964 DEVANAGARI DANDA] is only used occasionally.
Punjabi commonly uses ASCII parentheses to insert parenthetical information into text.
start | end | |
---|---|---|
standard |
Punjabi texts typically use quotation marks. Of course, due to keyboard design, quotations may also be surrounded by ASCII double and single quote marks.
start | end | |
---|---|---|
initial | ” [U+201D RIGHT DOUBLE QUOTATION MARK] | |
nested | ’ [U+2019 RIGHT SINGLE QUOTATION MARK] |
Single quotation marks are used for quotations within quotations.
tbd
ਃ [U+0A03 GURMUKHI SIGN VISARGA] is used very occasionally in Gurmukhi. In some cases it acts like a Sanskrit visarga, producing a voiceless h sound, but in others it represents an abbreviation, in the same way the period is used in English.ws
tbd
CLDR also lists the following non-ASCII characters.
tbd
By default, Gurmukhi breaks lines at inter-word spaces.
Show (default) line-breaking properties for characters in the modern Punjabi orthography.
tbd
tbd
This section looks at ways in which spacing is applied between characters over and above that which is introduced during justification.
tbd
Gurmukhi uses the so-called 'alphabetic' baseline, which is the same as for Latin and many other scripts.
You can experiment with counter styles using the Counter styles converter. Patterns for using these styles in CSS can be found in Ready-made Counter Styles, and we use the names of those patterns here to refer to the various styles.
The modern Punjabi orthography uses a native numeric style.
The gurmukhi numeric style is decimal-based and uses these digits.rmcs
Examples:
Punjabi commonly uses a full stop + space as a suffix.
Examples:
tbd
This section is for any features that are specific to Gurmukhi and that relate to the following topics: general page layout & progression; grids & tables; notes, footnotes, etc; forms & user interaction; page numbering, running headers, etc.