-
Notifications
You must be signed in to change notification settings - Fork 3
/
jquery.arabisk.js
82 lines (76 loc) · 3.02 KB
/
jquery.arabisk.js
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
(function($) {
$.fn.arabisk = function() {
function transcribe () {
var content = this.value;
content = content.replace(/’/g, "\'");
content = content.replace(/[aâàā]/g, "ا");
content = content.replace(/اا/g, "آ");
content = content.replace(/b/g, "ب");
content = content.replace(/ب'/g, "پ");
content = content.replace(/p/g, "پ");
content = content.replace(/t/g, "ت");
content = content.replace(/ت'/g, "ث");
content = content.replace(/ṯ/g, "ث");
content = content.replace(/[jǧ]/g, "ج");
content = content.replace(/ج'/g, "چ");
content = content.replace(/c/g, "چ");
content = content.replace(/[HḥḤ]/g, "ح");
content = content.replace(/ح'/g, "خ");
content = content.replace(/[xẖK]/g, "خ");
content = content.replace(/d/g, "د");
content = content.replace(/د'/g, "ذ");
content = content.replace(/ḏ/g, "ذ");
content = content.replace(/r/g, "ر");
content = content.replace(/ر'/g, "ز");
content = content.replace(/z/g, "ز");
content = content.replace(/s/g, "س");
content = content.replace(/س'/g, "ش");
content = content.replace(/š/g, "ش");
content = content.replace(/[Sṣ]/g, "ص");
content = content.replace(/ص'/g, "ض");
content = content.replace(/[Dḍ]/g, "ض");
content = content.replace(/[Tṭ]/g, "ط");
content = content.replace(/ط'/g, "ظ");
content = content.replace(/[Zẓ]/g, "ظ");
content = content.replace(/[gʿ]/g, "ع");
content = content.replace(/ع'/g, "غ");
content = content.replace(/ġ/g, "غ");
content = content.replace(/f/g, "ف");
content = content.replace(/ف'/g, "ڤ");
content = content.replace(/v/g, "ڢ");
content = content.replace(/q/g, "ق");
content = content.replace(/ق'/g, "ڨ");
content = content.replace(/k/g, "ك");
content = content.replace(/ك'/g, "ڭ");
content = content.replace(/l/g, "ل");
content = content.replace(/m/g, "م");
content = content.replace(/n/g, "ن");
content = content.replace(/h/g, "ه");
content = content.replace(/ه'/g, "ة");
content = content.replace(/[wouôûōū]/g, "و");
content = content.replace(/[yieîī]/g, "ي");
content = content.replace(/[YIE]/g, "ى");
content = content.replace(/-/g, "ء");
content = content.replace(/ʾ/g, "ء");
content = content.replace(/وءء/g, "ؤ");
content = content.replace(/يءء/g, "ئ");
content = content.replace(/اءء/g, "إ");
content = content.replace(/I/g, "إ");
content = content.replace(/A/g, "إ");
content = content.replace(/ءا/g, "أ");
content = content.replace(/_/g, "ـ");
content = content.replace(/\?/g, "؟");
content = content.replace(/\;/g, "؛");
content = content.replace(/\,/g, "،");
this.value = content;
this.focus();
}
// to enable action chaining
return this.each(function() {
// align text right to left
this.dir = "rtl";
// attach the keyup event to the element
$(this).on("keyup", transcribe);
});
}
}(jQuery));