interscript 0.1.1 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/bin/interscript +38 -17
  4. data/bin/setup +8 -0
  5. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  6. data/lib/g2pwrapper.py +34 -0
  7. data/lib/interscript-opal.rb +2 -0
  8. data/lib/interscript.rb +138 -20
  9. data/lib/interscript/command.rb +28 -0
  10. data/lib/interscript/fs.rb +71 -0
  11. data/lib/interscript/mapping.rb +142 -0
  12. data/lib/interscript/opal.rb +27 -0
  13. data/lib/interscript/opal/maps.js.erb +10 -0
  14. data/lib/interscript/opal_map_translate.rb +12 -0
  15. data/lib/interscript/version.rb +1 -1
  16. data/lib/model-7 +0 -0
  17. data/lib/tha-pt-b-7 +0 -0
  18. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
  19. data/maps/alalc-amh-Ethi-Latn-1997.yaml +509 -0
  20. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  21. data/maps/alalc-ara-Arab-Latn-1997.yaml +1283 -0
  22. data/maps/alalc-asm-Deva-Latn-1997.yaml +159 -0
  23. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +141 -0
  24. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +125 -0
  25. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  26. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
  27. data/maps/alalc-ell-Grek-Latn-1997.yaml +624 -0
  28. data/maps/alalc-ell-Grek-Latn-2010.yaml +627 -0
  29. data/maps/alalc-hin-Deva-Latn-2020.yaml +159 -0
  30. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  31. data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
  32. data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
  33. data/maps/alalc-mar-Deva-Latn-1997.yaml +170 -0
  34. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  35. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  36. data/maps/alalc-pan-Deva-Latn-1997.yaml +237 -0
  37. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +221 -0
  38. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  39. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
  40. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  41. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
  42. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  43. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  44. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +174 -0
  45. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +169 -0
  46. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  47. data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
  48. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  49. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  50. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  51. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +528 -0
  52. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +592 -0
  53. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +108 -0
  54. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  55. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +184 -0
  56. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +285 -0
  57. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
  58. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +38 -0
  59. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +701 -0
  60. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +19 -0
  61. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  62. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
  63. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  64. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  65. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  66. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  67. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
  68. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  69. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +200 -0
  70. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +92 -0
  71. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +314 -0
  72. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
  73. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +162 -0
  74. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
  75. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  76. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  77. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  78. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  79. data/maps/bis-gjr-Gujr-Latn-13194-1991.yaml +166 -0
  80. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  81. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  82. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  83. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  84. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  85. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  86. data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
  87. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  88. data/maps/dos-nep-Deva-Latn-1997.yaml +33 -0
  89. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  90. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  91. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  92. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  93. data/maps/ggg-kat-Geor-Latn-2002.yaml +88 -0
  94. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  95. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  96. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +186 -0
  97. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  98. data/maps/icao-bel-Cyrl-Latn-9303.yaml +136 -0
  99. data/maps/icao-bul-Cyrl-Latn-9303.yaml +118 -0
  100. data/maps/icao-heb-Hebr-Latn-9303.yaml +151 -0
  101. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +117 -0
  102. data/maps/icao-per-Arab-Latn-9303.yaml +103 -0
  103. data/maps/icao-rus-Cyrl-Latn-9303.yaml +117 -0
  104. data/maps/icao-srp-Cyrl-Latn-9303.yaml +117 -0
  105. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +119 -0
  106. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  107. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +609 -0
  108. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +40 -0
  109. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
  110. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +271 -0
  111. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  112. data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
  113. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  114. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  115. data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
  116. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  117. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  118. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  119. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  120. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  121. data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
  122. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  123. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  124. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  125. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  126. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  127. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  128. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  129. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  130. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  131. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  132. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  133. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  134. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  135. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  136. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  137. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  138. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  139. data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
  140. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  141. data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
  142. data/maps/sac-zho-Hans-Latn-1979.yaml +24759 -0
  143. data/maps/ses-ara-Arab-Latn-1930.yaml +279 -0
  144. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  145. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
  146. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  147. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  148. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  149. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  150. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  151. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  152. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  153. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
  154. data/maps/un-mon-Mong-Latn-2013.yaml +99 -0
  155. data/maps/un-nep-Deva-Latn-1972.yaml +163 -0
  156. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  157. data/maps/un-ukr-Cyrl-Latn-1998.yaml +30 -0
  158. data/maps/ungegn-amh-Ethi-Latn-2016.yaml +575 -0
  159. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  160. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  161. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  162. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  163. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  164. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  165. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  166. data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
  167. data/spec/interscript/mapping_spec.rb +42 -0
  168. data/spec/interscript_spec.rb +26 -0
  169. data/spec/spec_helper.rb +3 -0
  170. metadata +298 -18
@@ -0,0 +1,138 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 2011
4
+ language: amh
5
+ source_script: Ethi
6
+ destination_script: Latn
7
+ name: ALA-LC Romanization Table -- Amharic (2011)
8
+ url: https://www.loc.gov/catdir/cpso/romanization/amharic.pdf
9
+ creation_date: 2011
10
+ description: ''
11
+ notes: |
12
+ The Ethiopic script used for Amharic is also used for other languages, including Ge’ez, Argobba, Gurage, and Tigre. Ge’ez, which is chiefly a liturgical language, uses only 26 basic letter forms from this table.
13
+
14
+ tests:
15
+ - source: የዜግነት ክብር በ ኢትዮጵያችን ጸንቶ
16
+ expected: yazégenate kebere ba ʼiteyop̣eyāčene ṣaneto
17
+ - source: ታየ ሕዝባዊነት ዳር እስከዳር በርቶ
18
+ expected: tāya ḥezebāwinate dāre ʼesekadāre bareto
19
+ - source: ለሰላም ለፍትህ ለሕዝቦች ነጻነት
20
+ expected: lasalāme lafetehe laḥezeboče naṣānate
21
+ - source: በእኩልነት በፍቅር ቆመናል ባንድነት
22
+ expected: baʼekulenate bafeqere qomanāle bānedenate
23
+ - source: መሠረተ ፅኑ ሰብዕናን ያልሻርን
24
+ expected: maśarata ṡenu sabeʻenāne yālešārene
25
+ - source: ሕዝቦች ነን ለሥራ በሥራ የኖርን
26
+ expected: ḥezeboče nane laśerā baśerā yanorene
27
+ - source: ድንቅ የባህል መድረክ ያኩሪ ቅርስ ባለቤት
28
+ expected: deneqe yabāhele maderake yākuri qerese bālabéte
29
+ - source: የተፈጥሮ ጸጋ የጀግና ሕዝብ እናት
30
+ expected: yatafaṭero ṣagā yaǧagenā ḥezebe ʼenāte
31
+ - source: እንጠብቅሻለን አለብን አደራ
32
+ expected: ʼeneṭabeqešālane ʼalabene ʼadarā
33
+ - source: ኢትዮጵያችን ኑሪ እኛም ባንቺ እንኩራ
34
+ expected: ʼiteyop̣eyāčene nuri ʼeñāme bāneči ʼenekurā
35
+ - source: ቋንቋ የድምጽ፣ የምልክት ወይም የምስል ቅንብር ሆኖ
36
+ expected: qwāneqwā yademeṣe፣ yamelekete wayeme yamesele qenebere hono
37
+ - source: ለማሰብ ወይም የታሰበን ሃሳብ ለሌላ ለማስተላለፍ የሚረዳ መሳሪያ ነው
38
+ expected: lamāsabe wayeme yatāsabane hāsābe lalélā lamāsetalālafe yamiradā masāriyā nawe
39
+ - source: በአጭሩ ቋንቋ የምልክቶች ስርዓትና እኒህን ምልክቶች ለማቀናበር
40
+ expected: baʼaċeru qwāneqwā yameleketoče sereʻātenā ʼenihene meleketoče lamāqanābare
41
+ - source: የሚያስፈልጉ ህጎች ጥንቅር ነው። ቋንቋወችን ለመፈረጅ እንዲሁም
42
+ expected: yamiyāsefalegu hegoče ṭeneqere nawe። qwāneqwāwačene lamafaraǧe ʼenedihume
43
+ - source: ለምክፈል የሚያስችሉ መስፈርቶችን ለማስቀመጥ ባለው ችግር
44
+ expected: lamekefale yamiyāsečelu masefaretočene lamāseqamaṭe bālawe čegere
45
+ - source: ምክንያት በአሁኑ ሰዓት በርግጠኝነት ስንት ቋንቋ በዓለም ላይ
46
+ expected: mekeneyāte baʼahunu saʻāte baregeṭañenate senete qwāneqwā baʻālame lāye
47
+ - source: እንዳለ ማወቅ አስቸጋሪ ነው
48
+ expected: ʼenedāla māwaqe ʼasečagāri nawe
49
+ - source: አሰላ
50
+ expected: ʼasalā
51
+ - source: አሶሳ
52
+ expected: ʼasosā
53
+ - source: አንኮበር
54
+ expected: ʼanekobare
55
+ - source: አክሱም
56
+ expected: ʼakesume
57
+ - source: አዋሳ
58
+ expected: ʼawāsā
59
+ - source: አዲስ ዘመን (ከተማ)
60
+ expected: ʼadise zamane (katamā)
61
+ - source: አዲግራት
62
+ expected: ʼadigerāte
63
+ - source: አዳማ
64
+ expected: ʼadāmā
65
+ - source: ደምበጫ
66
+ expected: damebaċā
67
+ - source: ደርባ
68
+ expected: darebā
69
+ - source: ደብረ ማርቆስ
70
+ expected: dabera māreqose
71
+ - source: ደብረ ብርሃን
72
+ expected: dabera berehāne
73
+ - source: ደብረ ታቦር (ከተማ)
74
+ expected: dabera tābore (katamā)
75
+ - source: ደብረ ዘይት
76
+ expected: dabera zayete
77
+ - source: ደገሃቡር
78
+ expected: dagahābure
79
+ - source: ወልቂጤ
80
+ expected: waleqiṭé
81
+ - source: ወልወል
82
+ expected: walewale
83
+ - source: ወልደያ
84
+ expected: waledayā
85
+ - source: ናይሎ ሳህራን
86
+ expected: nāyelo sāherāne
87
+ - source: አኙዋክኛ
88
+ expected: ʼañuwākeñā
89
+ - source: ኡዱክኛ
90
+ expected: ʼudukeñā
91
+ - source: ኦፓኛ
92
+ expected: ʼopāñā
93
+ - source: ጉምዝኛ
94
+ expected: gumezeñā
95
+ - source: አፋርኛ
96
+ expected: ʼafāreñā
97
+ - source: አላባኛ
98
+ expected: ʼalābāñā
99
+ - source: አርቦርኛ
100
+ expected: ʼareboreñā
101
+ - source: ባይሶኛ
102
+ expected: bāyesoñā
103
+ - source: ቡሳኛ
104
+ expected: busāñā
105
+ - source: ራስ ዓሊ (ትልቁ) ፬
106
+ expected: rāse ʻāli (telequ) 4
107
+ - source: ራስ ዓሊጋዝ ፭
108
+ expected: rāse ʻāligāze 5
109
+ - source: ራስ ዐሥራትና ፮
110
+ expected: rāse ʻaśerātenā 6
111
+ - source: ራስ ጉግሣ ፳፮
112
+ expected: rāse gugeśā 206
113
+ - source: ራስ ይማም ፪
114
+ expected: rāse yemāme 2
115
+ - source: ራስ ማርዬ ፫
116
+ expected: rāse māreyé 3
117
+ - source: ራስ ዶሪ ፫ ወር
118
+ expected: rāse dori 3 ware
119
+ - source: ራስ ዓሊ (ትንሹ) ፳
120
+ expected: rāse ʻāli (tenešu) 20
121
+ - source: ዓፄ ቴዎድሮስ ፲፭
122
+ expected: ʻāṡé téwoderose 105
123
+ - source: ዳግማዊ ዓጼ ተክለ ጊዮርጊስ ፫
124
+ expected: dāgemāwi ʻāṣé takela giyoregise 3
125
+ - source: ዓፄ ዮሐንስ ፲፰
126
+ expected: ʻāṡé yoḥanese 108
127
+ - source: ዳግማዊ ዓጼ ምኒልክ ፳፬
128
+ expected: dāgemāwi ʻāṣé menileke 204
129
+ - source: ልጅ ኢያሱ ፫
130
+ expected: leǧe ʼiyāsu 3
131
+ - source: ንግሥት ዘውዲቱ ፲፫
132
+ expected: negeśete zaweditu 103
133
+ - source: ቀዳማዊ ኃይለ ሥላሴ
134
+ expected: qadāmāwi hāyela śelāsé
135
+
136
+
137
+ map:
138
+ inherit: alalc-amh-Ethi-Latn-1997
@@ -0,0 +1,1283 @@
1
+ ---
2
+ authority_id: alalc
3
+ id: 1997
4
+ language: ara
5
+ source_script: Arab
6
+ destination_script: Latn
7
+ name: ALA-LC Romanization Table -- Arabic (1997)
8
+ url: http://catdir.loc.gov/catdir/cpso/romanization/arabic.pdf
9
+ creation_date: 1997
10
+ description: |
11
+ ALA-LC Romanization table for Arabic
12
+
13
+ notes:
14
+ - For the use of alif to support hamzah, see rule 2. For the romanization of hamzah by the consonantal sign ’ (alif), see rule 8(a). For other orthographic uses of alif see rules 3-5.
15
+
16
+ - The Maghribī variations ڢ and ڧ are romanized f and q respectively.
17
+
18
+ - ة in a word in the construct state is romanized t. See rule 7(b).
19
+
20
+ # Arabic Letters Romanized in Different Ways Depending on Their Context
21
+ - |
22
+ Rule 1 As indicated in the table, ﻭ and ي may represent:
23
+
24
+ (a) The consonants romanized w and y, respectively.
25
+
26
+ waḍ‘ وضع
27
+ ‘iwaḍ عوض
28
+ dalw دلو
29
+ yad يد
30
+ ḥiyal حيل
31
+ ṭahy طهي
32
+
33
+ (b) The long vowels romanized ū, ī, and ā respectively.
34
+
35
+ ūlá أولى
36
+ ṣūrah صورة
37
+ dhū ذو
38
+ īmān إيمان
39
+ jīl جيل
40
+ fī في
41
+ kitāb كتاب
42
+ saḥāb سحاب
43
+ jumān جمان
44
+
45
+ See also rules 11(a) and 11(b)(1-2).
46
+
47
+ (c) The diphthongs romanized aw and ay, respectively.
48
+
49
+ awj أوج
50
+ nawm نوم
51
+ law لو
52
+ aysar أيسر
53
+ shaykh شيخ
54
+ ‘aynay عيني
55
+
56
+ - Rule 2 ا (alif), و and ى when used to support ء (hamzah) are not represented in romanization. See rule 8(a).
57
+
58
+ - Rule 3 ا (alif) when used to support waṣlah ( ٱ ) and maddah ( آ ) is not represented in romanization. See rules 9 and 10.
59
+
60
+ - |
61
+ Rule 4 ا (alif) and و when used as orthographic signs without phonetic significance are not represented in romanization.
62
+
63
+ fa‘alū فعلوا
64
+ ulā’ika أولائك
65
+ ūqīyah أوقية
66
+
67
+ See also rule 12 and examples cited in rules 23-26.
68
+
69
+
70
+ - |
71
+ Rule 5 ا (alif) is used to represent the long vowel romanized ā, as indicated in the table.
72
+
73
+ fā‘il فاعل
74
+ riḍā رضا
75
+
76
+ This alif, when medial, is sometimes omitted in Arabic; it is always indicated in romanization. See rule 19.
77
+
78
+ - |
79
+ Rule 6 Final ى appears in the following special cases:
80
+
81
+ (a) As ﻯ َ (alif maqṣūrah) used in place of َا to represent the long vowel romanized ā.
82
+
83
+ ḥattá حتَّى
84
+ maḍá مضَى
85
+ kubrá كبرَى
86
+ Yaḥyá يحيَى
87
+ musammá مسمَّى
88
+ Muṣṭafá مصطفَى
89
+
90
+ (b) As ِ ﻯّ in nouns and adjectives of the form fā‘īl which are derived from defective roots. This ending is romanized ī, not īy, without regard to the presence of ّ (shaddah). See rule 11(b)(2).
91
+
92
+ Raḍī al-Dīn رضي الدين
93
+
94
+ Compare the fa‘īl form of the same root الرضى[without shaddah] al-Raḍī.
95
+
96
+ (c) As ِ ﻯّ in the relative adjective (nisbah). The ending, like (b) above, is romanized ī, not īy.
97
+
98
+ al-Miṣrī المصرِيّ
99
+
100
+ Compare المصرِيّة al-Miṣrīyah and see rule 11(b)(1).
101
+
102
+ - |
103
+ Rule 7 ة (tā’ marbūṭah)
104
+
105
+ (a) When the noun or adjective ending in ة is indefinite, or is preceded by the definite article, ة is romanized h. The ة in such positions is often replaced by ه.
106
+
107
+ ṣalāh صلاة
108
+ al-Risālah al-bahīyah الرسالة البهية
109
+ mir’āh مرآة
110
+ Urjūzah fī al-ṭibb أرجوزة فى الطب
111
+
112
+
113
+ (b) When the word ending in ة is in the construct state [muḍāf wa-muḍāf ilayh], ة is romanized t.
114
+
115
+ Wizārat al-Tarbiyah وزارة التربية
116
+ Mir’āt al-zamān مرآة الزمان
117
+
118
+
119
+ (c) When the word ending in ة is used adverbially, ة (vocalized ةً) is romanized tan. See rule 12(b).
120
+
121
+ - |
122
+ Rule 8 ء (hamzah)
123
+
124
+ (a) In initial position, whether at the beginning of a word, following a prefixed preposition or conjunction, or following the definite article, ء is not represented in romanization. When medial or final, ء is romanized as ’ (alif).
125
+
126
+ asad أسد
127
+ uns أنس
128
+ idhā إذا
129
+ mas’alah مسألة
130
+ mu’tamar مؤتمر
131
+ dā’im دائم
132
+ mala’a ملأ
133
+ khaṭi’a خطئ
134
+
135
+ (b) ء, when replaced by the sign (waṣlah) and then known as hamzat al-waṣl, is not represented in romanization. See rule 9 below.
136
+
137
+ (waṣlah), like initial ء, is not represented in romanization. See also rule 8(b) above. When the alif which supports waṣlah belongs to the article ال, the initial vowel of the article is romanized a. See rule 17(b). In other words, beginning with hamzat al-waṣl, the initial vowel is romanized i.
138
+
139
+ Riḥlat Ibn Jubayr رحلة ٱبن جبير
140
+ al-istidrāk الإستدراك
141
+ kutub iqtanatʹhā كتب ٱقتنتها
142
+ bi-ihtimām ‘Abd al-Majīd باهتمام عبد ٱلمجيد
143
+
144
+ - |
145
+ Rule 9 (waṣlah), like initial ء, is not represented in romanization.
146
+ See also rule 8(b) above. When the alif which supports waṣlah belongs to the article ال, the initial vowel of the article is romanized a.
147
+ See rule 17(b). In other words, beginning with hamzat al-waṣl, the initial vowel is romanized i.
148
+
149
+ Riḥlat Ibn Jubayr رحلة ٱبن جبير
150
+ al-istidrāk الإستدراك
151
+ kutub iqtanatʹhā كتب ٱقتنتها
152
+ bi-ihtimām ‘Abd al-Majīd باهتمام عبد ٱلمجيد
153
+
154
+ - |
155
+ Rule 10 ˜ (maddah)
156
+
157
+ (a) Initial آ is romanized ā.
158
+
159
+ ālah آلة
160
+ Kullīyat al-Ādāb كلية الآداب
161
+
162
+ (b) Medial آ, when it represents the phonetic combination ’ā, is so romanized.
163
+
164
+ ta’ālīf تآليف
165
+ ma’āthir مآثر
166
+
167
+ (c)˜ is otherwise not represented in romanization.
168
+
169
+ khulafā’ خلفآء
170
+ - |
171
+ Rule 11 ّ (shaddah or tashdīd)
172
+
173
+ (a) Over و
174
+
175
+ (1) ُوّ, representing the combination of long vowel plus consonant, is romanized ūw.
176
+
177
+ ‘adūw عدُوّ
178
+ qūwah قُوّة
179
+
180
+ (2) َوّ, representing the combination of diphthong plus consonant, is romanized aww.
181
+
182
+ Shawwāl شَوّال
183
+ ṣawwara صَوّر
184
+ jaww جوّ
185
+
186
+
187
+ See also rule 1(c).
188
+
189
+ (b) Over ى
190
+
191
+ (1) Medial ِىّ, representing the combination of long vowel plus consonant, is romanized īy.
192
+
193
+ al-Miṣrīyah المصرِيّة
194
+
195
+ See also rule 1(b).
196
+
197
+ (2) Final ِىّ is romanized ī. See rules 6(b) and 6(c).
198
+
199
+ (3) Medial and final َىّ, representing the combination of diphthong plus consonant, is romanized ayy.
200
+
201
+ ayyām أَيّام
202
+ sayyid سَيّد
203
+ Quṣayy قصَيّ
204
+
205
+ See also rule 1(c).
206
+
207
+ (c) Over other letters, ّ is represented in romanization by doubling the letter or digraph concerned.
208
+
209
+ al-Ghazzī الغزّيّ
210
+ al-Kashshāf الكشّاف
211
+
212
+ - |
213
+ Rule 12 Tanwīn may take the written form ٌ, ً (ًا), or ٍ, romanized un, an, and in, respectively. Tanwīn is normally disregarded in romanization, however. It is indicated in the following cases:
214
+
215
+ (a) When it occurs in indefinite nouns derived from defective roots.
216
+
217
+ qāḍin قاضٍ
218
+ ma‘nan معنىً
219
+
220
+ (b) When it indicates the adverbial use of a noun or adjective.
221
+
222
+ ṭab‘an طبعًا
223
+ faj’atan فجأةً
224
+ al-Mushtarik waḍ‘an المشترك وضعاً
225
+ wa-al-muftariq ṣuq‘an والمفترق صقعاً
226
+ - |
227
+ Rule 13 Tanwīn may take the written form ٌ, ً (ًا), or ٍ, romanized un, an, and in, respectively. Tanwīn is normally disregarded in romanization, however. It is indicated in the following cases:
228
+
229
+ (a) When it occurs in indefinite nouns derived from defective roots.
230
+
231
+ qāḍin قاضٍ
232
+ ma‘nan معنىً
233
+
234
+ (b) When it indicates the adverbial use of a noun or adjective.
235
+
236
+ ṭab‘an طبعًا
237
+ faj’atan فجأةً
238
+ al-Mushtarik waḍ‘an المشترك وضعاً
239
+ wa-al-muftariq ṣuq‘an والمفترق صقعاً
240
+
241
+ # Grammatical Structure as It Affects Romanization
242
+ - |
243
+ Rule 13 Final inflections of verbs are retained in romanization, except in pause. represent
244
+
245
+ man waliya Miṣr من ولي مصر
246
+ ma‘rifat mā yajibu la-hum معرفة ما يجب لهم
247
+ ṣallá Allāh ‘alayhi wa-sallam صلى الله عليه وسلم
248
+ al-Lu’lu’ al-maknūn fī ḥukm اللؤلؤ المكنون فى حكم
249
+ al-ikhbār ‘ammā sa-yakūn الإخبار عما سيكون
250
+
251
+ - |
252
+ Rule 14 Final inflections of nouns and adjectives:
253
+
254
+ (a) Vocalic endings are not represented in romanization, except preceding pronominal suffixes, and except when the text being romanized is in verse.
255
+
256
+ uṣūluhā al-nafsīyah wa-ṭuruq أصولها النفسية وطرق تدريسها
257
+ tadrīsihā
258
+ ilá yawminā hādhā الى يومنا هذا
259
+
260
+ (b) Tanwīn is not represented in romanization, except as specified in rule 12.
261
+
262
+ (c) ة (tā’ marbūṭah) is romanized h or t as specified in rule 7.
263
+
264
+ (d) For the romanization of the relative adjective (nisbah) see rule 6(c).
265
+
266
+ - |
267
+ Rule 15 Pronouns, pronominal suffixes, and demonstratives:
268
+
269
+ (a) Vocalic endings are retained in romanization.
270
+
271
+ anā wa-anta انا وانت
272
+ hādhihi al-ḥāl هذه الحال
273
+ mu’allafātuhu wa-shurūḥuhā مؤلفاته وشروحها
274
+
275
+ (b) At the close of a phrase or sentence, the ending is romanized in its pausal form.
276
+
277
+ ḥayātuhu wa-‘aṣruh حياته وعصره
278
+ Tawfīq al-Ḥakīm, afkāruh, توفيق الحكيم، أفكاره، آثاره
279
+ āthāruh
280
+
281
+ - |
282
+ Rule 16 Prepositions and conjunctions:
283
+
284
+ (a) Final vowels of separable prepositions and conjunctions are retained in romanization.
285
+
286
+ anna أن
287
+ annahu أنه
288
+ bayna yadayhi بين يديه
289
+
290
+ Note the special cases مما mimmā, ممن mimman.
291
+
292
+ (b) Inseparable prepositions, conjunctions, and other prefixes are connected with what follows by a hyphen.
293
+
294
+ bi-hi به
295
+ wa-ma‘ahu ومعه
296
+ lā-silkī لاسلكي
297
+ - |
298
+ Rule 17 The definite article:
299
+
300
+ (a) The romanized form al is connected with the following word by a hyphen.
301
+
302
+ al-kitāb al-thānī الكتاب الثاني
303
+ al-ittiḥād الإتحاد
304
+ al-aṣl الأصل
305
+ al-āthār الآثار
306
+
307
+ (b) When ال is initial in the word, and when it follows an inseparable preposition or conjunction, it is always romanized al regardless of whether the preceding word, as romanized, ends in a vowel or a consonant.
308
+
309
+ ilá al-ān الى الآن
310
+ Abū al-Wafā’ ابو الوفاء
311
+ Maktabat al-Nahḍah al-Miṣrīyah مكتبة النهضة المصرية
312
+ bi-al-tamām wa-al-kamāl بالتمام والكمال
313
+
314
+ Note the exceptional treatment of the preposition ل followed by the article
315
+
316
+ lil-Shirbīnī للشربيني
317
+
318
+ See also rule 23.
319
+
320
+ (c) The ل of the article is always romanized l, whether it is followed by a “sun letter” or not, i.e., regardless of whether or not it is assimilated in pronunciation to the initial consonant of the word to which it is attached.
321
+
322
+ al-ḥurūf al-abjadīyah الحروف الأبجدية
323
+ Abū al-Layth al-Samarqandī ابو الليث السمرقندي
324
+
325
+ - |
326
+ Rule 18 Capitalization:
327
+
328
+ (a) Rules for the capitalization of English are followed, except that the definite article al is given in lower case in all positions.
329
+
330
+ (b) Diacritics are used with both upper and lower case letters.
331
+
332
+ al-Ījī الايجي
333
+ al-Ālūsī الآلوسي
334
+
335
+ - |
336
+ Rule 19 The macron or the acute accent, as appropriate, is used to indicate all long vowels, including those which in Arabic script are written defectively. The macron or the acute accent, as the case may be, is retained over final long vowels which are shortened in pronunciation before hamzat al-waṣl.
337
+
338
+ Ibrāhīm إبراهيم ، إبرهيم
339
+ Dā’ūd داؤود ، داؤد
340
+ Abū al-Ḥasan ابو الحسن
341
+ ru’ūs رؤوس
342
+ dhālika ذلك
343
+ ‘alá al-‘ayn على العين
344
+
345
+ - |
346
+ Rule 20 The hyphen is used:
347
+
348
+ (a) To connect the definite article al with the word to which it is attached. See rule 17(a).
349
+
350
+ (b) Between an inseparable prefix and what follows. See rules 16(b) and 17(b) above.
351
+
352
+ (c) Between bin and the following element in personal names when they are written in Arabic as a single word. See rule 25.
353
+
354
+ - |
355
+ Rule 21 The prime ( ʹ ) is used:
356
+
357
+ (a) To separate two letters representing two distinct consonantal sounds, when the combination might otherwise be read as a digraph.
358
+
359
+ Adʹham أدهم
360
+ akramatʹhā أكرمتها
361
+
362
+ (b) To mark the use of a letter in its final form when it occurs in the middle of a word.
363
+
364
+ Qal‘ahʹjī قلعه‌جى
365
+ Shaykhʹzādah شيخ زاده
366
+
367
+ - |
368
+ Rule 22 As in the case of romanization from other languages, foreign words which occur in an Arabic context and are written in Arabic letters are romanized according to the rules for romanizing Arabic.
369
+ Jārmānūs (not Germanos nor Germanus) جارمانوس
370
+ Lūrd Ghrānfīl (not Lord Granville) لورد غرانفيل
371
+ Īsāghūjī (not Isagoge) ايساغوجي
372
+
373
+ For short vowels not indicated in the Arabic, the Arabic vowel nearest to the original pronunciation is supplied.
374
+
375
+ Gharsiyā Khayin (not García Jaén) غرسيا خين
376
+
377
+ # Examples of Irregular Arabic Orthography
378
+
379
+ - |
380
+ Rule 23 Note the romanization of الله, alone and in combination.
381
+
382
+ Allāh الله
383
+ billāh
384
+ lillāh
385
+ bismillāh بسم الله
386
+ al-Mustanṣir billāh
387
+
388
+ - |
389
+ Rule 24 Note the romanization of the following personal names:
390
+
391
+ Ṭāhā طه
392
+ Yāsīn يس ، يسن
393
+ ‘Amr عمرو
394
+ Bahjat بهجت ، بهجة
395
+
396
+ - |
397
+ Rule 25 ابن and بن are both romanized ibn in all positions.
398
+
399
+ Aḥmad ibn Muḥammad ibn Abī al-Rabī‘ احمد بن محمد بن ابي الربيع
400
+ Sharḥ Ibn ‘Aqīl ‘alá Alfīyat Ibn Mālik شرح ابن عقيل على الفية ابن مالك
401
+
402
+ Exception is made in the case of modern names, typically North African, in which the element بن is pronounced bin.
403
+
404
+ Bin Khiddah بن خده
405
+ Bin-‘Abd Allāh بنعبد الله
406
+
407
+ tests:
408
+ # From Rule 1 - part a
409
+ - source: وَضعْ
410
+ expected: waḍ‘
411
+ - source: عِوَضْ
412
+ expected: ‘iwaḍ
413
+ - source: دَلو
414
+ expected: dalw
415
+ - source: يَد
416
+ expected: yad
417
+ - source: حِيَل
418
+ expected: ḥiyal
419
+ - source: طَهي
420
+ expected: ṭahy
421
+
422
+ # From Rule 1 - part b
423
+ - source: أُولَى
424
+ expected: ūlá
425
+ - source: صُورَة
426
+ expected: ṣūrah
427
+ - source: ذُو
428
+ expected: dhū
429
+ - source: إيمَان
430
+ expected: īmān
431
+ - source: جِيْل
432
+ expected: jīl
433
+ - source: فِي
434
+ expected: fī
435
+ - source: كِتَاب
436
+ expected: kitāb
437
+ - source: سَحَاب
438
+ expected: saḥāb
439
+ - source: جُمَان
440
+ expected: jumān
441
+
442
+ # From Rule 1 - part c
443
+ - source: أوج
444
+ expected: awj
445
+ - source: نَوم
446
+ expected: nawm
447
+ - source: لَو
448
+ expected: law
449
+ - source: أيسَر
450
+ expected: aysar
451
+ - source: شَيخ
452
+ expected: shaykh
453
+ - source: عَينَي
454
+ expected: ‘aynay
455
+
456
+ # From Rule 4
457
+ - source: فَعَلُوا
458
+ expected: fa‘alū
459
+ # - source: أُولَائِكَ
460
+ # expected: ulā’ika
461
+ - source: أُوقِيَّة
462
+ expected: ūqīyah
463
+
464
+ # From Rule 5
465
+ - source: فَاعِل
466
+ expected: fā‘il
467
+ - source: رِضَا
468
+ expected: riḍā
469
+
470
+ # From Rule 6 - part a
471
+ - source: حَتَّى
472
+ expected: ḥattá
473
+ - source: مَضَى
474
+ expected: maḍá
475
+ - source: كُبرَى
476
+ expected: kubrá
477
+ - source: يَحيَى
478
+ expected: yaḥyá
479
+ - source: مُسَمَّى
480
+ expected: musammá
481
+ - source: مُصطَفَى
482
+ expected: muṣṭafá
483
+
484
+ # From Rule 6 - part b
485
+ - source: رَضِي الدِين
486
+ expected: raḍī al-dīn
487
+
488
+ # From Rule 6 - part c
489
+ - source: المِصرِيّ
490
+ expected: al-miṣrī
491
+
492
+ # From Rule 7 - part a
493
+ - source: صَلَاة
494
+ expected: ṣalāh
495
+ - source: الرِسَالَة البَهِيَّة
496
+ expected: al-risālah al-bahīyah
497
+ - source: مِرآة
498
+ expected: mir’āh
499
+ # - source: أرجوزة فى الطب
500
+ # expected: Urjūzah fī al-ṭibb
501
+
502
+ # From Rule 7 - part b
503
+ - source: وِزَارَة التَربِيَة
504
+ expected: wizārat al-tarbiyah
505
+ - source: مِرآة الزَمَان
506
+ expected: mir’āt al-zamān
507
+
508
+ # From Rule 8 - part a
509
+ - source: أَسَد
510
+ expected: asad
511
+ - source: أُنس
512
+ expected: uns
513
+ - source: إذَا
514
+ expected: idhā
515
+ - source: مَسأَلَة
516
+ expected: mas’alah
517
+ - source: مُؤتَمَر
518
+ expected: mu’tamar
519
+ - source: دَائِم
520
+ expected: dā’im
521
+ - source: مَلَأ
522
+ expected: mala’a
523
+ - source: خَطِئ
524
+ expected: khaṭi’a
525
+
526
+ # From Rule 9
527
+ - source: رِحلَة إبن جُبَير
528
+ expected: riḥlat ibn jubayr
529
+ - source: الإستِدرَاك
530
+ expected: al-istidrāk
531
+ # - source: كُتُب إقتَنَتهَا
532
+ # expected: kutub iqtanatʹhā # issue
533
+ # - source: باهتمام عبد ٱلمجيد
534
+ # expected: bi-ihtimām ‘Abd al-Majīd #issue
535
+
536
+ # From Rule 10 - part a
537
+ - source: آلَة
538
+ expected: ālah
539
+ - source: كُلِّيَّة الآدَاب
540
+ expected: kullīyat al-ādāb
541
+
542
+ # From Rule 10 - part b
543
+ - source: تَآلِيف
544
+ expected: ta’ālīf
545
+ - source: مَآثِر
546
+ expected: ma’āthir
547
+
548
+ # From Rule 10 - part c
549
+ - source: خُلَفَآء
550
+ expected: khulafā’
551
+
552
+ # From Rule 11 - part a-1
553
+ - source: عَدُوّ
554
+ expected: ‘adūw
555
+ - source: قُوَّة
556
+ expected: qūwah
557
+
558
+ # From Rule 11 - part a-2
559
+ - source: شَوَّال
560
+ expected: shawwāl
561
+ - source: صَوَّرَ
562
+ expected: ṣawwara
563
+ - source: جَوّ
564
+ expected: jaww
565
+
566
+ # From Rule 11 - part b-1
567
+ - source: المِصرِيَّة
568
+ expected: al-miṣrīyah
569
+
570
+ # From Rule 11 - part b-3
571
+ - source: أَيَّام
572
+ expected: ayyām
573
+ - source: سَيِّد
574
+ expected: sayyid
575
+ - source: قُصَيّ
576
+ expected: quṣayy
577
+
578
+ # From Rule 11 - part c
579
+ - source: الغَزِّيّ
580
+ expected: al-ghazzī
581
+ - source: الكَشَّاف
582
+ expected: al-kashshāf
583
+
584
+ # From Rule 12 - part a
585
+ - source: قَاضٍ
586
+ expected: qāḍin
587
+ - source: مَعنًى
588
+ expected: ma‘nan
589
+
590
+ # From Rule 12 - part b
591
+ - source: طَبعًا
592
+ expected: ṭab‘an
593
+ - source: فَجأَةً
594
+ expected: faj’atan
595
+ - source: المُشتَرِك وَضعاً
596
+ expected: al-mushtarik waḍ‘an
597
+ # - source: وَالمُفتَرِق صُقعاً #issue
598
+ # expected: wa-al-muftariq ṣuq‘an
599
+
600
+ # Grammar
601
+ # From Rule 13
602
+ - source: مَن وَلِيَ مِصر
603
+ expected: man waliya miṣr
604
+ # - source: مَعرِفَة مَا يَجِبُ لَهُم
605
+ # expected: ma‘rifat mā yajibu la-hum
606
+ # - source: صَلَّى اللَّه عَلَيهِ وسَلَّم # issue allah starting with al
607
+ # expected: ṣallá Allāh ‘alayhi wa-sallam
608
+ - source: اللُؤلُؤ المَكنُون فِي حُكم
609
+ expected: al-lu’lu’ al-maknūn fī ḥukm
610
+ # - source: الإخبَار عَمَّا سَيَكُون #issue sa-yakūn
611
+ # expected: al-ikhbār ‘ammā sa-yakūn
612
+
613
+ # From Rule 14 - part a
614
+ # - source: أُصُولَهَا النَفسِيَّة وَطُرُق تَدرِيسِهَا # issue wa-ṭuruq
615
+ # expected: uṣūluhā al-nafsīyah wa-ṭuruq tadrīsihā
616
+ - source: إلَى يَومِنَا هَذَا
617
+ expected: ilá yawminā hādhā
618
+
619
+ # From Rule 15 - part a
620
+ # - source: انا وانت # issue waw atf
621
+ # expected: anā wa-anta
622
+ - source: هَذِهِ الحَال
623
+ expected: hādhihi al-ḥāl
624
+ # - source: مُؤَلَّفَاتُهُ وَشُرُوحُهَا
625
+ # expected: mu’allafātuhu wa-shurūḥuhā
626
+
627
+ # From Rule 15 - part b
628
+ # - source: حياته وعصره
629
+ # expected: ḥayātuhu wa-‘aṣruh
630
+ - source: تَوفِيق الحَكِيم، أَفكَارُه، آثَارُه
631
+ expected: tawfīq al-ḥakīm, afkāruh, āthāruh
632
+
633
+ # From Rule 16 - part a
634
+ - source: أَنَّ
635
+ expected: anna
636
+ - source: أَنَّهُ
637
+ expected: annahu
638
+ - source: بَينَ يَدَيهِ
639
+ expected: bayna yadayhi
640
+
641
+ # From Rule 16 - part b
642
+ # - source: به
643
+ # expected: bi-hi
644
+ # - source: ومعه
645
+ # expected: wa-ma‘ahu
646
+ # - source: لاسلكي
647
+ # expected: lā-silkī
648
+
649
+ # From Rule 17 - part a
650
+ - source: الكِتَاب الثَانِي
651
+ expected: al-kitāb al-thānī
652
+ - source: الإتِّحَاد
653
+ expected: al-ittiḥād
654
+ - source: الأَصل
655
+ expected: al-aṣl
656
+ - source: الآثَار
657
+ expected: al-āthār
658
+
659
+ # From Rule 17 - part b
660
+ - source: إلَى الآن
661
+ expected: ilá al-ān
662
+ - source: ابُو الوَفَاء
663
+ expected: abū al-wafā’
664
+ - source: مَكتَبَة النَهضَة المِصرِيَّة
665
+ expected: maktabat al-nahḍah al-miṣrīyah
666
+ # - source: بالتمام والكمال
667
+ # expected: bi-al-tamām wa-al-kamāl
668
+ # - source: للشربيني
669
+ # expected: lil-Shirbīnī
670
+
671
+ # From Rule 17 - part c
672
+ - source: الحُرُوف الأَبجَدِيَّة
673
+ expected: al-ḥurūf al-abjadīyah
674
+ - source: ابُو اللَيث السَمَرقَندِي
675
+ expected: abū al-layth al-samarqandī
676
+
677
+ # From Rule 18 - part b
678
+ - source: الإيجِي
679
+ expected: al-ījī
680
+ - source: الآلُوسِي
681
+ expected: al-ālūsī
682
+
683
+ # From Rule 19
684
+ # - source: إبراهيم ، إبرهيم
685
+ # expected: Ibrāhīm
686
+ # - source: داؤود ، داؤد
687
+ # expected: Dā’ūd
688
+ # - source: ابو الحسن
689
+ # expected: Abū al-Ḥasan
690
+ - source: رُؤُوس
691
+ expected: ru’ūs
692
+ # - source: ذَلِكَ
693
+ # expected: dhālika
694
+ - source: عَلَى العَين
695
+ expected: ‘alá al-‘ayn
696
+
697
+ # # From Rule 21 - part a
698
+ # - source: أدهم
699
+ # expected: Adʹham
700
+ # - source: أكرمتها
701
+ # expected: akramatʹhā
702
+
703
+ # # From Rule 21 - part b
704
+ # - source: قلعه‌جى
705
+ # expected: Qal‘ahʹjī
706
+ # - source: شيخ زاده
707
+ # expected: Shaykhʹzādah
708
+
709
+ # From Rule 22
710
+ - source: جَارمَانُوس
711
+ expected: jārmānūs # not Germanos nor Germanus
712
+ - source: لُورد غرَانفِيل
713
+ expected: lūrd ghrānfīl # not Lord Granville
714
+ - source: إيسَاغُوجِي
715
+ expected: īsāghūjī # not Isagoge
716
+ # - source: غرسيا خين
717
+ # expected: Gharsiyā Khayin # not García Jaén
718
+
719
+ # From Rule 23
720
+ - source: اللَّه
721
+ expected: Allāh
722
+ # - source: بسم الله
723
+ # expected: bismillāh
724
+
725
+ # # From Rule 24
726
+ # - source: طه
727
+ # expected: Ṭāhā
728
+ # - source: يس ، يسن
729
+ # expected: Yāsīn
730
+ # - source: عمرو
731
+ # expected: ‘Amr
732
+ # - source: بهجت ، بهجة
733
+ # expected: Bahjat
734
+
735
+ # # From Rule 25
736
+ # - source: احمد بن محمد بن ابي الربيع
737
+ # expected: Aḥmad ibn Muḥammad ibn Abī al-Rabī‘
738
+ # - source: شرح ابن عقيل على الفية ابن مالك
739
+ # expected: Sharḥ Ibn ‘Aqīl ‘alá Alfīyat Ibn Mālik
740
+ # - source: بن خده
741
+ # expected: Bin Khiddah
742
+ # - source: بنعبد الله
743
+ # expected: Bin-‘Abd Allāh
744
+
745
+
746
+
747
+ map:
748
+ characters:
749
+
750
+
751
+ # pointing
752
+ '\u064e' : 'a' # َ fatha
753
+ # '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
754
+ # '\u064e(?=a[h|t])' : '' # َ fatha followed by ta' marboota, handling different order of conversion
755
+ '\u0650' : 'i' # ِ kasra
756
+ '\u064f' : 'u' # ُ damma
757
+ '\u0652' : '' # ْ sokoon, see note A below
758
+
759
+
760
+ # special pointed letters
761
+ '\u0639\u064e' : '‘a' # عَ
762
+ '\u0639\u0650' : '‘i' # عِ
763
+ '\u0639\u064f' : '‘ū' # عُ
764
+ # handle MacOS regex difference
765
+ '\u0639\u064f\u0648' : '‘ū' # عُو damma followed by و
766
+
767
+ '\u0650\u064a' : 'ī' # ـِي kasra followed by ي
768
+ '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
769
+ '\u064f\u0648' : 'ū' # ـُو damma followed by و
770
+ '\u064e\u0627' : 'ā' # ـَا fatha followed by ا
771
+ '\u064e\u0649' : 'á' # ـَى fatha followed by ى which is ا not ي
772
+ '\u064e\u0648\u0652' : 'aw' # ـَوْ
773
+ '\u064e\u064a\u0652' : 'ay' # ـَيْ
774
+
775
+
776
+ # ta' marboota
777
+ '\u0629' : 't' # ة in the middle of the sentence
778
+ '\u0629$' : 'h'
779
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'h'
780
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'h'
781
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'h'
782
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'h'
783
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'h'
784
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'h'
785
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'h'
786
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'h'
787
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'h'
788
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'h'
789
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'h'
790
+ '(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'h'
791
+
792
+ # Rule 4
793
+ '\u064f\u0648\u0627' : 'ū' # وا
794
+
795
+ # Rule 8
796
+ '\u0621' : '’'
797
+ '\b\u0623' : '' # أ
798
+ '\u0623' : '’' # أ
799
+ '\u0623\b' : '’a' # أ
800
+ '\u0623\u0648' : 'aw' # أو
801
+ '\u0623\u064a' : 'ay' # أي
802
+ '\u0624': '’' # ؤ
803
+ '\u0625\u064a' : 'ī' # إِ
804
+ '\u0625' : 'i' # إِ
805
+ '\u0626' : "’" # ئ
806
+ '\u0626\b' : "’a" # ئ
807
+ '\b\u0627' : 'a' # ا
808
+ '\u0627' : '' # ا
809
+
810
+ # Rule 10
811
+
812
+ '\b\u0622' : 'ā' # آ
813
+ '(?<!\b\u0627\u0644)(?<!\b)\u0622(?![\b|\u0621])' : '’ā' # آ in middle, not final, or initial, or after ال
814
+ '\u064e\u0622' : 'ā' # ـَآ fatha followed by ا
815
+ '\u0622' : '' # آ
816
+
817
+ # Rule 11 - shadda
818
+ '\u064f\u0648\u0651' : 'ūw' # ـَوّ damma followed by و with shadda
819
+ '\u064e\u0648\u0651' : 'aww' # ـَوّ fatha followed by و with shadda
820
+ '\u064e\u064a\u0651' : 'ayy' # ـَيّ fatha followed by و with shadda
821
+ '\u0650\u064a\u0651' : 'īy' # ـِيَّ
822
+ '\u0650\u064a\u0651\b' : 'ī' # ـِيَّ
823
+
824
+ '\u0628\u0651' : 'bb' # ب
825
+ '\u062a\u0651' : 'tt' # ت
826
+ '\u062b\u0651' : 'thth' # ث
827
+ '\u062c\u0651' : 'jj' # ج
828
+ '\u062d\u0651' : 'ḥḥ' # ح
829
+ '\u062e\u0651' : 'khkh' # خ
830
+ '\u062f\u0651' : 'dd' # د
831
+ '\u0630\u0651' : 'dhdh' # ذ
832
+ '\u0631\u0651' : 'rr' # ر
833
+ '\u0632\u0651' : 'zz' # ز
834
+ '\u0633\u0651' : 'ss' # س
835
+ '\u0634\u0651' : 'shsh' # ش
836
+ '\u0635\u0651' : 'ṣṣ' # ص
837
+ '\u0636\u0651' : 'ḍḍ' # ض
838
+ '\u0637\u0651' : 'ṭṭ' # ط
839
+ '\u0638\u0651' : 'ẓẓ' # ظ
840
+ '\u063a\u0651' : 'ghgh' # غ
841
+ '\u0641\u0651' : 'ff' # ف
842
+ '\u0642\u0651' : 'qq' # ق
843
+ '\u0643\u0651' : 'kk' # ك
844
+ '\u0644\u0651' : 'll' # ل
845
+ '\u0645\u0651' : 'mm' # م
846
+ '\u0646\u0651' : 'nn' # ن
847
+ '\u0647\u0651' : 'hh' # ه
848
+ '\u0648\u0651' : 'ww' # و
849
+ '\u064a\u0651' : 'yy' # ي
850
+
851
+ # Rule 12 - tanwin
852
+
853
+ '\u064c': 'un' # ٌ
854
+ '\u064b': 'an' # ً
855
+ '\u064d': 'in' # ٍ
856
+ # tanween should be onb the letter preceeding the end in case of ا, ى
857
+ # however, it's common that people mistake that, so we're handling both orders
858
+ '\u064b\u0649': 'an' # ً
859
+ '\u064b\u0627': 'an' # ً
860
+ '\u0649\u064b': 'an' # ً
861
+ '\u0627\u064b': 'an' # ً
862
+
863
+ # Rule 13
864
+ '\u0647\u064e' : 'hā' # ه
865
+
866
+ '\u060c': ',' # ،
867
+
868
+ '\u0627\u0644\u0644\u0651\u064e\u0647': "Allāh"
869
+
870
+ '\b\u0627\u0644' : 'al-' # ال
871
+ # '\uFE8E' : '' # ﺎ
872
+
873
+ '\u0628' : 'b' # ب
874
+ '\uFE91' : 'b' # ﺑ
875
+ '\uFE92' : 'b' # ﺒ
876
+ '\uFE90' : 'b' # ﺐ
877
+
878
+ '\u062a' : 't' # ت
879
+ '\ufe97' : 't' # ﺗ
880
+ '\ufe98' : 't' # ﺘ
881
+ '\ufe96' : 't' # ﺖ
882
+
883
+ '\u062b' : 'th' # ث
884
+ '\ufe9b' : 'th' # ﺛ
885
+ '\ufe9c' : 'th' # ﺜ
886
+ '\ufe9a' : 'th' # ﺚ
887
+
888
+ '\u062c' : 'j' # ج
889
+ '\ufe9f' : 'j' # ﺟ
890
+ '\ufea0' : 'j' # ﺠ
891
+ '\ufe9e' : 'j' # ﺞ
892
+
893
+ '\u062d' : 'ḥ' # ح
894
+ '\ufea3' : 'ḥ' # ﺣ
895
+ '\ufea4' : 'ḥ' # ﺤ
896
+ '\ufea2' : 'ḥ' # ﺢ
897
+
898
+ '\u062e' : 'kh' # خ
899
+ '\ufea7' : 'kh' # ﺧ
900
+ '\ufea8' : 'kh' # ﺨ
901
+ '\ufea6' : 'kh' # ﺦ
902
+
903
+ '\u062f' : 'd' # د
904
+ '\ufeaa' : 'd' # ﺪ
905
+ # Initial
906
+ '\ufea3': 'ḥ' # ﺣ
907
+ '\ufebb': 'ṣ' # ﺻ
908
+ '\ufebf': 'ḍ' # ﺿ
909
+ '\ufec3': 'ṭ' # ﻃ
910
+ '\ufec7': 'ẓ' # ﻇ
911
+
912
+ '\u0630' : 'dh' # ذ
913
+ '\ufeac' : 'dh' # ﺬ
914
+
915
+ '\u0631' : 'r' # ر
916
+ '\ufeae' : 'r' # ﺮ
917
+
918
+ '\u0632' : 'z' # ز
919
+ '\ufeb0' : 'z' # ﺰ
920
+
921
+ '\u0633' : 's' # س
922
+ '\ufeb3' : 's' # ﺳ
923
+ '\ufeb4' : 's' # ﺴ
924
+ '\ufeb2' : 's' # ﺲ
925
+
926
+ '\u0634' : 'sh' # ش
927
+ '\ufeb7' : 'sh' # ﺷ
928
+ '\ufeb8' : 'sh' # ﺸ
929
+ '\ufeb6' : 'sh' # ﺶ
930
+
931
+ '\u0635' : 'ṣ' # ص
932
+ '\ufebb' : 'ṣ' # ﺻ
933
+ '\ufebc' : 'ṣ' # ﺼ
934
+ '\ufeba' : 'ṣ' # ﺺ
935
+
936
+ '\u0636' : 'ḍ' # ض
937
+ '\ufebf' : 'ḍ' # ﺿ
938
+ '\ufec0' : 'ḍ' # ﻀ
939
+ '\ufebe' : 'ḍ' # ﺾ
940
+
941
+ '\u0637' : 'ṭ' # ط
942
+ '\ufec3' : 'ṭ' # ﻃ
943
+ '\ufec4' : 'ṭ' # ﻄ
944
+ '\ufec2' : 'ṭ' # ﻂ
945
+
946
+ '\u0638' : 'ẓ' # ظ
947
+ '\ufec7' : 'ẓ' # ﻇ
948
+ '\ufec8' : 'ẓ' # ﻈ
949
+ '\ufec6' : 'ẓ' # ﻆ
950
+
951
+ '\u0639' : '‘' # ع
952
+ '\ufecb' : '‘' # ﻋ
953
+ '\ufecc' : '‘' # ﻌ
954
+ '\ufeca' : '‘' # ﻊ
955
+
956
+ '\u063a' : 'gh' # غ
957
+ '\ufecf' : 'gh' # ﻏ
958
+ '\ufed0' : 'gh' # ﻐ
959
+ '\ufece' : 'gh' # ﻎ
960
+
961
+ '\u0641' : 'f' # ف
962
+ '\ufed3' : 'f' # ﻓ
963
+ '\ufed4' : 'f' # ﻔ
964
+ '\ufed2' : 'f' # ﻒ
965
+
966
+ '\u0642' : 'q' # ق
967
+ '\ufed7' : 'q' # ﻗ
968
+ '\ufed8' : 'q' # ﻘ
969
+ '\ufed6' : 'q' # ﻖ
970
+
971
+ '\u0643' : 'k' # ك
972
+ '\ufedb' : 'k' # ﻛ
973
+ '\ufedc' : 'k' # ﻜ
974
+ '\ufeda' : 'k' # ﻚ
975
+
976
+ '\u0644' : 'l' # ل
977
+ '\ufedf' : 'l' # ﻟ
978
+ '\ufee0' : 'l' # ﻠ
979
+ '\ufede' : 'l' # ﻞ
980
+
981
+ '\u0645' : 'm' # م
982
+ '\ufee3' : 'm' # ﻣ
983
+ '\ufee4' : 'm' # ﻤ
984
+ '\ufee2' : 'm' # ﻢ
985
+
986
+ '\u0646' : 'n' # ن
987
+ '\ufee7' : 'n' # ﻧ
988
+ '\ufee8' : 'n' # ﻨ
989
+ '\ufee6' : 'n' # ﻦ
990
+
991
+ # See note C
992
+ '\u0647' : 'h' # ه
993
+ '\ufeeb' : 'h' # ﻫ
994
+ '\ufeec' : 'h' # ﻬ
995
+ '\ufeea' : 'h' # ﻪ
996
+
997
+ '\u0648' : 'w' # و
998
+ '\ufeee' : 'w' # ﻮ
999
+
1000
+ '\u064a' : 'y' # ي
1001
+ '\ufef3' : 'y' # ﻳ
1002
+ '\ufef4' : 'y' # ﻴ
1003
+ '\ufef1' : 'y' # ﻱ
1004
+
1005
+ # (A) Not romanized word-initially.
1006
+
1007
+ # (B) Not romanized, but see romanizations accompanying alif (ا) in the table for vowels.
1008
+
1009
+ # (C) In certain endings, an original tā’ (ت) is written ة, i.e., like hā’ (ه) with two dots, and is known as tā’ marbūṯah. It is romanized h, except in the construct form of feminine nouns, where it is romanized t, instead.
1010
+
1011
+
1012
+ # Vowels, diphthongs and diacritical marks
1013
+ # (ـ stands for any consonant)
1014
+
1015
+
1016
+ # Vowels and Diphthongs
1017
+ '\u064e': 'a'
1018
+ '\u064f': 'u'
1019
+ '\u0650': 'i'
1020
+ '\u064e\u0627': 'ā' # see Rule 5
1021
+ '\ufeef \u064e': 'á' # see Rule 6(a)
1022
+ '\ufeed \u064f': 'ū'
1023
+ '\ufeef \u0650': 'ī'
1024
+ '\ufeed\u0652 \u064e': 'aw'
1025
+ '\ufeef\u0652 \u064e': 'ay'
1026
+
1027
+ # Letters Representing Non-Arabic Consonants
1028
+ # (this list in not exhaustive)
1029
+ '\u06af': 'g' # گ
1030
+ '\u06b4': 'ñ' # ڴ
1031
+ '\u067e': 'p' # پ
1032
+ '\u0686':
1033
+ - 'ch' # چ
1034
+ - 'zh'
1035
+ '\u0698': 'zh' # ژ
1036
+ '\u06a4': 'v' # ڤ
1037
+ '\u06cb': 'v' # ۋ
1038
+ '\u06a5': 'v' # ڥ
1039
+
1040
+ # Arabic standard Unicode block
1041
+ '\u0600': '' # ؀
1042
+ '\u0601': '' # ؁
1043
+ '\u0602': '' # ؂
1044
+ '\u0603': '' # ؃
1045
+ '\u0604': '' # ؄
1046
+ '\u0605': '' # ؅
1047
+ '\u0606': '' # ؆
1048
+ '\u0607': '' # ؇
1049
+ '\u0608': '' # ؈
1050
+ '\u0609': '' # ؉
1051
+ '\u060a': '' # ؊
1052
+ '\u060b': '' # ؋
1053
+ '\u060d': '' # ؍
1054
+ '\u060e': '' # ؎
1055
+ '\u060f': '' # ؏
1056
+ '\u0610': '' # ؐ
1057
+ '\u0611': '' # ؑ
1058
+ '\u0612': '' # ؒ
1059
+ '\u0613': '' # ؓ
1060
+ '\u0614': '' # ؔ
1061
+ '\u0615': '' # ؕ
1062
+ '\u0616': '' # ؖ
1063
+ '\u0617': '' # ؗ
1064
+ '\u0618': '' # ؘ
1065
+ '\u0619': '' # ؙ
1066
+ '\u061a': '' # ؚ
1067
+ '\u061b': '' # ؛
1068
+ '\u061c': '' #
1069
+ '\u061d': '' #
1070
+ '\u061e': '' # ؞
1071
+ '\u061f': '' # ؟
1072
+ '\u0620': '' # ؠ
1073
+ '\u0628': 'b' # ب
1074
+ # '\u0629': 'h' # ة -- see Note 3
1075
+ '\u062a': 't' # ت
1076
+ '\u062b': 'th' # ث
1077
+ '\u062c': 'j' # ج
1078
+ '\u062d': 'ḥ' # ح
1079
+ '\u062e': 'kh' # خ
1080
+ '\u062f': 'd' # د
1081
+ '\u0630': 'dh' # ذ
1082
+ '\u0631': 'r' # ر
1083
+ '\u0632': 'z' # ز
1084
+ '\u0633': 's' # س
1085
+ '\u0634': 'sh' # ش
1086
+ '\u0635': 'ṣ' # ص
1087
+ '\u0636': 'ḍ' # ض
1088
+ '\u0637': 'ṭ' # ط
1089
+ '\u0638': 'ẓ' # ظ
1090
+ '\u0639': '‘' # ع
1091
+ '\u063a': 'gh' # غ
1092
+ '\u063b': '' # ػ
1093
+ '\u063c': '' # ؼ
1094
+ '\u063d': '' # ؽ
1095
+ '\u063e': '' # ؾ
1096
+ '\u063f': '' # ؿ
1097
+ '\u0640': '' # ـ
1098
+ '\u0641': 'f' # ف -- see Note 2
1099
+ '\u0642': 'q' # ق -- see Note 2
1100
+ '\u0643': 'k' # ك
1101
+ '\u0644': 'l' # ل
1102
+ '\u0645': 'm' # م
1103
+ '\u0646': 'n' # ن
1104
+ # '\u0647': 'h' # ه -- see Note 3
1105
+ '\u0648': 'w' # و
1106
+ # '\u064a': 'y' # ي
1107
+ # '\u064e': '' # َ
1108
+ # '\u064f': '' # ُ
1109
+ # '\u0650': '' # ِ
1110
+ # '\u0652': '' # ْ
1111
+ # '\u0653': '' # ٓ
1112
+ # '\u0654': '' # ٔ
1113
+ # '\u0655': '' # ٕ
1114
+ # '\u0656': '' # ٖ
1115
+ # '\u0657': '' # ٗ
1116
+ # '\u0658': '' # ٘
1117
+ # '\u0659': '' # ٙ
1118
+ # '\u065a': '' # ٚ
1119
+ # '\u065b': '' # ٛ
1120
+ # '\u065c': '' # ٜ
1121
+ # '\u065d': '' # ٝ
1122
+ # '\u065e': '' # ٞ
1123
+ # '\u065f': '' # ٟ
1124
+ # '\u0660': '' # ٠
1125
+ '\u0661': '' # ١
1126
+ '\u0662': '' # ٢
1127
+ '\u0663': '' # ٣
1128
+ '\u0664': '' # ٤
1129
+ '\u0665': '' # ٥
1130
+ '\u0666': '' # ٦
1131
+ '\u0667': '' # ٧
1132
+ '\u0668': '' # ٨
1133
+ '\u0669': '' # ٩
1134
+ '\u066a': '' # ٪
1135
+ '\u066b': '' # ٫
1136
+ '\u066c': '' # ٬
1137
+ '\u066d': '' # ٭
1138
+ '\u066e': '' # ٮ
1139
+ '\u066f': '' # ٯ
1140
+ '\u0670': '' # ٰ
1141
+ '\u0671': '' # ٱ
1142
+ '\u0672': '' # ٲ
1143
+ '\u0673': '' # ٳ
1144
+ '\u0674': '' # ٴ
1145
+ '\u0675': '' # ٵ
1146
+ '\u0676': '' # ٶ
1147
+ '\u0677': '' # ٷ
1148
+ '\u0678': '' # ٸ
1149
+ '\u0679': '' # ٹ
1150
+ '\u067a': '' # ٺ
1151
+ '\u067b': '' # ٻ
1152
+ '\u067c': '' # ټ
1153
+ '\u067d': '' # ٽ
1154
+ # '\u067e': 'p' # پ
1155
+ '\u067f': '' # ٿ
1156
+ '\u0680': '' # ڀ
1157
+ '\u0681': '' # ځ
1158
+ '\u0682': '' # ڂ
1159
+ '\u0683': '' # ڃ
1160
+ '\u0684': '' # ڄ
1161
+ '\u0685': '' # څ
1162
+ # '\u0686': 'ch' # چ
1163
+ '\u0687': '' # ڇ
1164
+ '\u0688': '' # ڈ
1165
+ '\u0689': '' # ډ
1166
+ '\u068a': '' # ڊ
1167
+ '\u068b': '' # ڋ
1168
+ '\u068c': '' # ڌ
1169
+ '\u068d': '' # ڍ
1170
+ '\u068e': '' # ڎ
1171
+ '\u068f': '' # ڏ
1172
+ '\u0690': '' # ڐ
1173
+ '\u0691': '' # ڑ
1174
+ '\u0692': '' # ڒ
1175
+ '\u0693': '' # ړ
1176
+ '\u0694': '' # ڔ
1177
+ '\u0695': '' # ڕ
1178
+ '\u0696': '' # ږ
1179
+ '\u0697': '' # ڗ
1180
+ # '\u0698': 'zh' # ژ
1181
+ '\u0699': '' # ڙ
1182
+ '\u069a': '' # ښ
1183
+ '\u069b': '' # ڛ
1184
+ '\u069c': '' # ڜ
1185
+ '\u069d': '' # ڝ
1186
+ '\u069e': '' # ڞ
1187
+ '\u069f': '' # ڟ
1188
+ '\u06a0': '' # ڠ
1189
+ '\u06a1': '' # ڡ
1190
+ '\u06a2': '' # ڢ
1191
+ '\u06a3': '' # ڣ
1192
+ # '\u06a4': 'v' # ڤ
1193
+ # '\u06a5': 'v' # ڥ
1194
+ '\u06a6': '' # ڦ
1195
+ '\u06a7': '' # ڧ
1196
+ '\u06a8': '' # ڨ
1197
+ '\u06a9': '' # ک
1198
+ '\u06aa': '' # ڪ
1199
+ '\u06ab': '' # ګ
1200
+ '\u06ac': '' # ڬ
1201
+ '\u06ad': '' # ڭ
1202
+ '\u06ae': '' # ڮ
1203
+ # '\u06af': 'g' # گ
1204
+ '\u06b0': '' # ڰ
1205
+ '\u06b1': '' # ڱ
1206
+ '\u06b2': '' # ڲ
1207
+ '\u06b3': '' # ڳ
1208
+ # '\u06b4': 'ñ' # ڴ
1209
+ '\u06b5': '' # ڵ
1210
+ '\u06b6': '' # ڶ
1211
+ '\u06b7': '' # ڷ
1212
+ '\u06b8': '' # ڸ
1213
+ '\u06b9': '' # ڹ
1214
+ '\u06ba': '' # ں
1215
+ '\u06bb': '' # ڻ
1216
+ '\u06bc': '' # ڼ
1217
+ '\u06bd': '' # ڽ
1218
+ '\u06be': '' # ھ
1219
+ '\u06bf': '' # ڿ
1220
+ '\u06c0': '' # ۀ
1221
+ '\u06c1': '' # ہ
1222
+ '\u06c2': '' # ۂ
1223
+ '\u06c3': '' # ۃ
1224
+ '\u06c4': '' # ۄ
1225
+ '\u06c5': '' # ۅ
1226
+ '\u06c6': '' # ۆ
1227
+ '\u06c7': '' # ۇ
1228
+ '\u06c8': '' # ۈ
1229
+ '\u06c9': '' # ۉ
1230
+ '\u06ca': '' # ۊ
1231
+ # '\u06cb': 'v' # ۋ
1232
+ '\u06cc': '' # ی
1233
+ '\u06cd': '' # ۍ
1234
+ '\u06ce': '' # ێ
1235
+ '\u06cf': '' # ۏ
1236
+ '\u06d0': '' # ې
1237
+ '\u06d1': '' # ۑ
1238
+ '\u06d2': '' # ے
1239
+ '\u06d3': '' # ۓ
1240
+ '\u06d4': '' # ۔
1241
+ '\u06d5': '' # ە
1242
+ '\u06d6': '' # ۖ
1243
+ '\u06d7': '' # ۗ
1244
+ '\u06d8': '' # ۘ
1245
+ '\u06d9': '' # ۙ
1246
+ '\u06da': '' # ۚ
1247
+ '\u06db': '' # ۛ
1248
+ '\u06dc': '' # ۜ
1249
+ '\u06dd': '' # ۝
1250
+ '\u06de': '' # ۞
1251
+ '\u06df': '' # ۟
1252
+ '\u06e0': '' # ۠
1253
+ '\u06e1': '' # ۡ
1254
+ '\u06e2': '' # ۢ
1255
+ '\u06e3': '' # ۣ
1256
+ '\u06e4': '' # ۤ
1257
+ '\u06e5': '' # ۥ
1258
+ '\u06e6': '' # ۦ
1259
+ '\u06e7': '' # ۧ
1260
+ '\u06e8': '' # ۨ
1261
+ '\u06e9': '' # ۩
1262
+ '\u06ea': '' # ۪
1263
+ '\u06eb': '' # ۫
1264
+ '\u06ec': '' # ۬
1265
+ '\u06ed': '' # ۭ
1266
+ '\u06ee': '' # ۮ
1267
+ '\u06ef': '' # ۯ
1268
+ '\u06f0': '' # ۰
1269
+ '\u06f1': '' # ۱
1270
+ '\u06f2': '' # ۲
1271
+ '\u06f3': '' # ۳
1272
+ '\u06f4': '' # ۴
1273
+ '\u06f5': '' # ۵
1274
+ '\u06f6': '' # ۶
1275
+ '\u06f7': '' # ۷
1276
+ '\u06f8': '' # ۸
1277
+ '\u06f9': '' # ۹
1278
+ '\u06fa': '' # ۺ
1279
+ '\u06fb': '' # ۻ
1280
+ '\u06fc': '' # ۼ
1281
+ '\u06fd': '' # ۽
1282
+ '\u06fe': '' # ۾
1283
+ '\u06ff': '' # ۿ