| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 | 
// Punjabi Gurmukhi script
// This file is UTF8 encoded
// letter groups:
// A   vowel letters
// B   vowel signs and virama ्
// C   consonants
// Y   vowel letters and vowel signs
.replace
 ੦	0
 ੧	1
 ੨	2
 ੩	3
 ੪	4
 ੫	5
 ੬	6
 ੭	7
 ੮	8
 ੯	9
 ૦	0
 ૧	1
 ૨	2
 ૩	3
 ૪	4
 ૫	5
 ૬	6
 ૭	7
 ૮	8
 ૯	9
// combine dot consonants into a single character
ਸ਼	ਸ਼
ਲ਼	ਲ਼	// l.
ਖ਼	ਖ਼	// x
ਗ਼	ਗ਼	// Q
ਜ਼	ਜ਼	// z
ਫ਼	ਫ਼	// f
// combine base vowel+vowel sign into single vowel characters
ਅੈ	ਐ	// aI
ਅਾ	ਆ	// aa
ਅੌ	ਔ	// aU
ੲੀ	ਈ	// ii
ੲਿ	ਇ	// i
ੲੇ	ਏ	// e
ੳੁ	ਉ	// u
ੳੂ	ਊ	// uu
// Vowels
.group ੳ
        ੳ          u
.group ੲ
        ੲ          i
.group ਅ
        ਅ          ,V
        ਅਂ         V~
        ਅੰ         V~
.group ਆ
        ਆ          a
        ਆਂ         a~
        ਆੰ         a~
.group ਇ
        ਇ          I
        ਇਂ         I~
        ਇੰ         I~
.group ਈ
        ਈ          i
        ਈਂ         i~
        ਈੰ         i~
.group ਉ
        ਉ          U
        ਉਂ         U~
        ਉੰ         U~
.group ਊ
        ਊ          u
        ਊਂ         u~
        ਊੰ         u~
.group ਏ
        ਏ          e
        ਏਂ         e~
        ਏੰ         e~
.group ਐ
        ਐ          E
        ਐਂ         E~
        ਐੰ         E~
.group ਓ
        ਓ          o
        ਓਂ         o~
        ਓੰ         o~
.group ਔ
        ਔ          O
        ਔਂ         O~
        ਔੰ         O~
.group ૠ
        ૠ          r-
// Vowel Signs
.group ਾ
ਾ	#X2kVnn'a
C)        ਾ          a
C)        ਾਂ         a~
C)        ਾੰ         a~
.group ਿ
ਿ	#X1sIh'aRi
C)        ਿ          I
C)        ਿਂ         I~
C)        ਿੰ         I~
.group ੀ
ੀ	#X2bIh'aRi
C)        ੀ          i
C)        ੀਂ         i~
C)        ੀੰ         i~
.group ੁ
ੁ	#X1OnkaR
C)        ੁ          U
C)        ੁਂ         U~
C)        ੁੰ         U~
.group ੂ
ੂ	#X2dUl'EnkaR
C)        ੂ          u
C)        ੂਂ         u~
C)        ੂੰ         u~
.group ੇ
ੇ	#X1l'ava~
C)        ੇ          e
C)        ੇਂ         e~
C)        ੇੰ         e~
.group ੈ
ੈ	#X2d@l'ava~
C)        ੈ          E         // aI
C)        ੈਂ         E~
C)        ੈੰ         E~
.group ੋ
ੋ	#X1hoR'a
C)        ੋ          o
C)        ੋਂ         o~
C)        ੋੰ         o~
.group ੌ
ੌ	#X2kVn'ORa
C)        ੌ          O         // aU
C)        ੌਂ         O~
C)        ੌੰ         O~
// Consonants ਕે
.group ਕ
        ਕ          kV        // inherent vowel
        ਕ (B       k         // no inherent vowel if vowel or virama follows
     @) ਕ (_       k         // omit inherent vowel at end of word
     ੱ) ਕ          k:V
     ੱ) ਕ (B       k:
     ੱ) ਕ (_       k:
.group ਖ
        ਖ          k#V
        ਖ (B       k#
     @) ਖ (_       k#
     ੱ) ਖ          k#:V
     ੱ) ਖ (B       k#:
     ੱ) ਖ (_       k#:
.group ਗ
        ਗ          gV
        ਗ (B       g
     @) ਗ (_       g
     ੱ) ਗ          g:V
     ੱ) ਗ (B       g:
     ੱ) ਗ (_       g:
.group ਘ
        ਘ          g#V
        ਘ (B       g#
     @) ਘ (_       g#
     _) ਘ          k+V       // high tone
     _) ਘ (B       k+
.group ਙ
        ਙ          NV
        ਙ (B       N
     @) ਙ (_       N
     ੱ) ਙ          N:V
     ੱ) ਙ (B       N:
     ੱ) ਙ (_       N:
.group ਚ
        ਚ          cV
        ਚ (B       c
     @) ਚ (_       c
     ੱ) ਚ          c:V
     ੱ) ਚ (B       c:
     ੱ) ਚ (_       c:
.group ਛ
        ਛ          c#V
        ਛ (B       c#
     @) ਛ (_       c#
     ੱ) ਛ          c#:V
     ੱ) ਛ (B       c#:
     ੱ) ਛ (_       c#:
.group ਜ
        ਜ          JV
        ਜ (B       J
     @) ਜ (_       J
     ੱ) ਜ          J:V
     ੱ) ਜ (B       J:
     ੱ) ਜ (_       J:
.group ਝ
        ਝ          J#V
        ਝ (B       J#
     @) ਝ (_       J#
     _) ਝ          c+V
     _) ਝ (B       c+
.group ਞ
        ਞ          n^V
        ਞ (B       n^
     @) ਞ (_       n^
     ੱ) ਞ          n^:V
     ੱ) ਞ (B       n^:
     ੱ) ਞ (_       n^:
.group ਟ
        ਟ          t.V
        ਟ (B       t.
     @) ਟ (_       t.
     ੱ) ਟ          t.:V
     ੱ) ਟ (B       t.:
     ੱ) ਟ (_       t.:
.group ਠ
        ਠ          t.#V
        ਠ (B       t.#
     @) ਠ (_       t.#
     ੱ) ਠ          t.#:V
     ੱ) ਠ (B       t.#:
     ੱ) ਠ (_       t.#:
.group ਡ
        ਡ          d.V
        ਡ (B       d.
     @) ਡ (_       d.
     ੱ) ਡ          d.:V
     ੱ) ਡ (B       d.:
     ੱ) ਡ (_       d.:
.group ਢ
        ਢ          d.#V
        ਢ (B       d.#
     @) ਢ (_       d.#
     _) ਢ          t.+V
     _) ਢ (B       t.
.group ਣ
        ਣ          n.V
        ਣ (B       n.
     @) ਣ (_       n.
     ੱ) ਣ          n.:V
     ੱ) ਣ (B       n.:
     ੱ) ਣ (_       n.:
.group ਤ
        ਤ          tV
        ਤ (B       t
     @) ਤ (_       t
     ੱ) ਤ          t:V
     ੱ) ਤ (B       t:
     ੱ) ਤ (_       t:
.group ਥ
        ਥ          t#V
        ਥ (B       t#
     @) ਥ (_       t#
     ੱ) ਥ          t#:V
     ੱ) ਥ (B       t#:
     ੱ) ਥ (_       t#:
.group ਦ
        ਦ          dV
        ਦ (B       d
     @) ਦ (_       d
     ੱ) ਦ          d:V
     ੱ) ਦ (B       d:
     ੱ) ਦ (_       d:
.group ਧ
        ਧ          d#V
        ਧ (B       d#
     @) ਧ (_       d#
     _) ਧ          t+V
     _) ਧ (B       t+
.group ਨ
        ਨ          nV
        ਨ (B       n
     @) ਨ (_       n
     ੱ) ਨ          n:V
     ੱ) ਨ (B       n:
     ੱ) ਨ (_       n:
.group ਪ
        ਪ          pV
        ਪ (B       p
     @) ਪ (_       p
     ੱ) ਪ          p:V
     ੱ) ਪ (B       p:
     ੱ) ਪ (_       p:
.group ਫ
        ਫ          p#V
        ਫ (B       p#
     @) ਫ (_       p#
     ੱ) ਫ          p#:V
     ੱ) ਫ (B       p#:
     ੱ) ਫ (_       p#:
.group ਬ
        ਬ          bV
        ਬ (B       b
     @) ਬ (_       b
     ੱ) ਬ          b:V
     ੱ) ਬ (B       b:
     ੱ) ਬ (_       b:
.group ਭ
        ਭ          b#V
        ਭ (B       b#
     @) ਭ (_       b#
     _) ਭ          p+V
     _) ਭ (B       p+
.group ਮ
        ਮ          mV
        ਮ (B       m
     @) ਮ (_       m
     ੱ) ਮ          m:V
     ੱ) ਮ (B       m:
     ੱ) ਮ (_       m:
.group ਯ
        ਯ          jV
        ਯ (B       j
     @) ਯ (_       j
     ੱ) ਯ          j:V
     ੱ) ਯ (B       j:
     ੱ) ਯ (_       j:
.group ਰ
        ਰ          rV
        ਰ (B       r
     @) ਰ (_       r
     ੱ) ਰ          r:V
     ੱ) ਰ (B       r:
     ੱ) ਰ (_       r:
.group ਲ
        ਲ          lV
        ਲ (B       l
     @) ਲ (_       l
     ੱ) ਲ          l:V
     ੱ) ਲ (B       l:
     ੱ) ਲ (_       l:
.group ਲ਼
        ਲ਼          l.V
        ਲ਼ (B       l.
     @) ਲ਼ (_       l.
.group ਵ
        ਵ          vV
        ਵ (B       v
     @) ਵ (_       v
     ੱ) ਵ          v:V
     ੱ) ਵ (B       v:
     ੱ) ਵ (_       v:
.group ਸ਼
        ਸ਼          SV
        ਸ਼ (B       S
     @) ਸ਼ (_       S
     ੱ) ਸ਼          S:V
     ੱ) ਸ਼ (B       S:
     ੱ) ਸ਼ (_       S:
.group ਸ
        ਸ          sV
        ਸ (B       s
     @) ਸ (_       s
     ੱ) ਸ          s:V
     ੱ) ਸ (B       s:
     ੱ) ਸ (_       s:
.group ਹ
        ਹ          HV
        ਹ (B       H
     @) ਹ (_       H
.group ਖ਼
        ਖ਼          xV
        ਖ਼ (B       x
     @) ਖ਼ (_       x
.group ਗ਼
        ਗ਼          QV
        ਗ਼ (B       Q
     @) ਗ਼ (_       Q
.group ਜ਼
        ਜ਼          zV
        ਜ਼ (B       z
     @) ਜ਼ (_       z
.group ੜ
        ੜ          r.V
        ੜ (B       r.
     @) ੜ (_       r.
.group ਫ਼
        ਫ਼          fV
        ਫ਼ (B       f
     @) ਫ਼ (_       f
.group ੍
੍	hVlVnt
C)	੍ 
	C) ੍ (C_	=
.group ਼
        ਼                    // nukta
.group ੱ
        ੱ                    // addak
.group ਂ
        ਂ          N         // bindi
.group ੰ
        ੰ          n         // tippi
.group ਃ
        ਃ          h
.group
        $          dOlVR     // TEST
        %          pVsEnt    // TEST
.group o
        o          _^_EN
   D__) of (__D     v'Ico~
 |