summaryrefslogtreecommitdiff
blob: af5b4fc6f33aceade0a3dee4e433537fb5790379 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
( function ( $ ) {
	'use strict';

	var paTransliteration = {
		id: 'pa-transliteration',
		name: 'Punjabi Transliteration',
		description: 'Punjabi transliteration',
		date: '2012-10-16',
		URL: 'http://github.com/wikimedia/jquery.ime',
		author: 'Amir E. Aharoni, inputs from Saurabh Choudhary and Surinder Wadhawan',
		license: 'GPLv3',
		version: '1.0',
		contextLength: 2,
		maxKeyLength: 4,
		/* Semi-automatically created from the Hindi transliteration mapping using
		 * the following Perl substitution:
		 * s{(?<deva_letter>[ऀ-ॿ])}{chr(ord($+{deva_letter}) + 0x100)}xmsge;
		 */
		patterns: [
			['ਕ੍h', 'c', 'ਚ੍'],
			['\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1'],

			// ਕ-ਹ is the main range of Indic letters.
			// ੜ is an additional unique Gurmukhi letter.
			['([ਕ-ਹੜ]਼?)੍a', '$1'], // Short [a] after a consonant with virama removes the virama
			['([ਕ-ਹੜ]਼?)੍A', '$1ਾ'], // Long [a] after a consonant with virama removes the virama and adds long [a]
			['([ਕ-ਹੜ]਼?)a', '$1ਾ'], // 'aa' gives long [a] - short [a] after a consonant without virama adds long [a]
			['([ਕ-ਹੜ]਼?)੍i', '$1ਿ'],
			['([ਕ-ਹੜ]਼?)(ਿi|੍I|ੇe)', '$1ੀ'], // 'ii', 'I' and 'ee' give long [i].
			['([ਕ-ਹੜ]਼?)੍u', '$1ੁ'],
			['([ਕ-ਹੜ]਼?)(ੁu|੍U|ੋo)', '$1ੂ'], // 'uu', 'U' and 'oo' give long [u].
			['([ਕ-ਹੜ]਼?)੍e', '$1ੇ'],
			['([ਕ-ਹੜ]਼?)(i|੍E)', '$1ੈ'], // 'i' after a consonant without virama or 'E' after a consonant with Virama gives "ai"
			['([ਕ-ਹੜ]਼?)੍[oO]', '$1ੋ'],
			['([ਕ-ਹੜ]਼?)u', '$1ੌ'], // 'u' after a consonant without virama gives "au"
			['([ਕ-ਹੜ])੍\\`', '$1਼੍'], // '`' (backtick) after a consonant with virama adds a nukta before the virama

			['ਅa', 'ਆ'], // aa
			['(ਓo|ਉu)', 'ਊ'], //oo, uu
			['ਅi', 'ਐ'], // ai
			['ਅ\\^', 'ੲ'], // a^ (iri - base for vowels)
			['ਉ\\^', 'ੳ'], // u^ (ura - base for vowels)
			['(ਏe|ਇi)', 'ਈ'], // ee, ii
			['ਅu', 'ਔ'], // au
			['ਂ[Mm^]', 'ਁ'], // bindi + 'm', 'M', or '^' -> Adak bindi
			['ਣ੍N', 'ੰ'], // Tippi - nasalization

			['ਕ੍h', 'ਖ੍'], // kh
			['ਗ੍h', 'ਘ੍'], // gh
			['ਨ੍g', 'ਙ੍'], // ng
			['ਚ੍h', 'ਛ੍'], // ch
			['ਜ੍h', 'ਝ੍'], // jh
			['ਨ੍j', 'ਞ੍'], // nj
			['ਟ੍h', 'ਠ੍'], // Th
			['ਡ੍h', 'ਢ੍'], // Dh
			['ਤ੍h', 'ਥ੍'], // th
			['ਦ੍h', 'ਧ੍'], // dh
			['ਪ੍h', 'ਫ੍'], // ph
			['ਬ੍h', 'ਭ੍'], // bh

			['ਸ੍h', 'ਸ਼੍'], // sh
			['ਕ਼੍h', 'ਖ਼੍'], // k + nukta + h

			['a', 'ਅ'],
			['b', 'ਬ੍'],
			['c', 'ਚ੍'],
			['d', 'ਦ੍'],
			['e', 'ਏ'],
			['f', 'ਫ੍'],
			['F', 'ਫ਼੍'], // With nukta
			['g', 'ਗ੍'],
			['h', 'ਹ੍'],
			['i', 'ਇ'],
			['j', 'ਜ੍'],
			['k', 'ਕ੍'],
			['l', 'ਲ੍'],
			['m', 'ਮ੍'],
			['n', 'ਨ੍'],
			['o', 'ਓ'],
			['p', 'ਪ੍'],
			['q', 'ੑ'], // Udaat
			['r', 'ਰ੍'],
			['s', 'ਸ੍'],
			['t', 'ਤ੍'],
			['u', 'ਉ'],
			['(v|w)', 'ਵ੍'],
			['y', 'ਯ੍'],
			['z', 'ੱ'], // Addak - gemination
			['A', 'ਆ'],
			['D', 'ਡ੍'],
			['H', 'ਃ'], // Visarga
			['I', 'ਈ'],
			['M', 'ਂ'], // Bindi
			['N', 'ਣ੍'],
			['R', 'ੜ੍'], // Rra
			['S', 'ਸ਼੍'],
			['T', 'ਟ੍'],
			['U', 'ਊ'],
			['X', 'ੴ'], // Ek onkar
			['Y', 'ੵ'], // Yakash
			['0', '੦'],
			['1', '੧'],
			['2', '੨'],
			['3', '੩'],
			['4', '੪'],
			['5', '੫'],
			['6', '੬'],
			['7', '੭'],
			['8', '੮'],
			['9', '੯'],
			['~', '੍'], // Virama
			['\\`', '਼'], // Nukta

			['।\\.', '॥'], // Double danda, must be before single danda
			['\\.', '।']] // Danda
	};

	$.ime.register( paTransliteration );
}( jQuery ) );