arabic.yml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. # Arabic S2R using the 3rd-party ArabicTransliterator library:
  2. # https://github.com/MTG/ArabicTransliterator
  3. ---
  4. general:
  5. name: Arabic
  6. description: Arabic R2S using a conversion table and S2R using a 3rd party library.
  7. case_sensitive: false
  8. parents:
  9. - _ignore_base
  10. roman_to_script:
  11. map:
  12. # Original table by David Bucknum
  13. # Last updated 25 January 2019
  14. # Modified by WK with testing by Arabic Cat Staff LOC-CAIRO
  15. # Additional info from R. Vassie, [n.d.] "Marrying the Arabic and Latin Scripts Conceptually"
  16. # Punctuation marks:
  17. "*": "\u066D"
  18. ",": "\u060C"
  19. ";": "\u061B"
  20. "?": "\u061F"
  21. # Exceptions for specific words
  22. # Allah
  23. "Alla\u0304h": "\u0627\u0644\u0644\u0647"
  24. # Qur'an
  25. "Qur\u02BCa\u0304n": "\u0642\u0631\u0622\u0646"
  26. # lillah
  27. "lilla\u0304h": "\u0644\u0644\u0647"
  28. # billah
  29. "billa\u0304h": "\u0628\u0644\u0644\u0647"
  30. # Rahman
  31. "Rah\u0323ma\u0304n": "\u0631\u062D\u0645\u0646"
  32. # Ruwat
  33. "Ruwa\u0304t": "\u0631\u0648\u0627\u0629"
  34. "ruwa\u0304t": "\u0631\u0648\u0627\u0629"
  35. # Hadha
  36. "Ha\u0304dha\u0304": "\u0647\u0630\u0627"
  37. "ha\u0304dha\u0304": "\u0647\u0630\u0627"
  38. # Hadhihi
  39. "Ha\u0304dhi\u0304hi": "\u0647\u0630\u0647"
  40. "ha\u0304dhi\u0304hi": "\u0647\u0630\u0647"
  41. # dhalika
  42. "dha\u0304lika": "\u0630\u0644\u0643"
  43. # Ibn when it appears in the middle of a name sequence
  44. "ibn": "\u0628\u0646"
  45. # H[dot below]aya[macron]t
  46. "h\u0323aya\u0304t": "\u062D\u064A\u0627\u0629"
  47. "H\u0323aya\u0304t": "\u062D\u064A\u0627\u0629"
  48. # "sh[dot below] as in "Ishaq"
  49. "%sh\u0323%": "\u0633\u062D"
  50. # "s[prime]h" combos
  51. "%s\u02B9h%": "\u0633\u0647"
  52. # "th[dot below]"
  53. "%th\u0323%": "\u062A\u062D"
  54. # dh[dot under]
  55. "%dh\u0323%": "\u062F\u062D"
  56. # La-hu
  57. "la-hu": "\u0644\u0647"
  58. # Mi'ah
  59. "Mi\u02BEah": "\u0645\u0627\u0626\u0629"
  60. "Mi\u02BCah": "\u0645\u0627\u0626\u0629"
  61. "mi\u02BEah": "\u0645\u0627\u0626\u0629"
  62. "mi\u02BCah": "\u0645\u0627\u0626\u0629"
  63. # Mi'at
  64. "Mi\u02BEat": "\u0645\u0627\u0626\u0629"
  65. "Mi\u02BCat": "\u0645\u0627\u0626\u0629"
  66. "mi\u02BEat": "\u0645\u0627\u0626\u0629"
  67. "mi\u02BCat": "\u0645\u0627\u0626\u0629"
  68. # Numbers (I have set these to Hindi numbers. Note that Persian and Urdu will technically use \u06F0-06F9. This needs further discussion with PSD as RLIN21 used Hindi numbers, Connexion and Voyager does not.)
  69. # Edition statements with Latin number
  70. "al-T\u0323ab\u02BBah 1": "\u0627\u0644\u0637\u0628\u0639\u0629 1"
  71. "al-T\u0323ab\u02BBah 2": "\u0627\u0644\u0637\u0628\u0639\u0629 2"
  72. "al-T\u0323ab\u02BBah 3": "\u0627\u0644\u0637\u0628\u0639\u0629 3"
  73. "al-T\u0323ab\u02BBah 4": "\u0627\u0644\u0637\u0628\u0639\u0629 4"
  74. "al-T\u0323ab\u02BBah 5": "\u0627\u0644\u0637\u0628\u0639\u0629 5"
  75. "al-T\u0323ab\u02BBah 6": "\u0627\u0644\u0637\u0628\u0639\u0629 6"
  76. "al-T\u0323ab\u02BBah 7": "\u0627\u0644\u0637\u0628\u0639\u0629 7"
  77. "al-T\u0323ab\u02BBah 8": "\u0627\u0644\u0637\u0628\u0639\u0629 8"
  78. "al-T\u0323ab\u02BBah 9": "\u0627\u0644\u0637\u0628\u0639\u0629 9"
  79. # Use Basic Arabic-Indic \u0660-0669
  80. "0": "\u0660"
  81. "1": "\u0661"
  82. "2": "\u0662"
  83. "3": "\u0663"
  84. "4": "\u0664"
  85. "5": "\u0665"
  86. "6": "\u0666"
  87. "7": "\u0667"
  88. "8": "\u0668"
  89. "9": "\u0669"
  90. # Hyphenated prefixes:
  91. "wa-": "\u0648"
  92. "bi-": "\u0628"
  93. "al-": "\u0627\u0644"
  94. "lil-": "\u0644\u0644"
  95. "li-": "\u0644"
  96. "la\u0304-": "\u0644"
  97. "fi\u0304-": "\u0641\u064A"
  98. "ka-": "\u0643"
  99. # Vowels and vowel/consonant combinations
  100. "%ah": "\u0629"
  101. "%at": "\u0629"
  102. #tanwin
  103. "%an": "\u0627"
  104. # ayn-alif combo
  105. "%\u02BBa\u0304\u02BE": "\u0639\u0627\u0621"
  106. "%\u02BBa\u0304\u02BC": "\u0639\u0627\u0621"
  107. "\u02BBA\u0304": "\u0639\u0627"
  108. "\u02BBa\u0304": "\u0639\u0627"
  109. "\u02BBI\u0304": "\u0639\u064A"
  110. "\u02BBi\u0304": "\u0639\u064A"
  111. "\u02BBU\u0304": "\u0639\u0648"
  112. "\u02BBu\u0304": "\u0639\u0648"
  113. "\u02BBU": "\u0639"
  114. "\u02BBu": "\u0639"
  115. "\u02BBA%": "\u0639"
  116. #"\u02BBa%": "\u0639"
  117. # alif and hamzas for all occasions
  118. # truncation necessary? It seems to work fine with.
  119. "%i\u0304\u02BEah": "\u064A\u0626\u0629"
  120. "%i\u0304\u02BCah": "\u064A\u0626\u0629"
  121. "%i\u0304\u02BEat": "\u064A\u0626\u0629"
  122. "%i\u0304\u02BCat": "\u064A\u0626\u0629"
  123. "%i\u02BEa\u0304": "\u0626\u0627"
  124. "%i\u02BCa\u0304": "\u0626\u0627"
  125. "%i\u02BE": "\u0626"
  126. "%i\u02BC": "\u0626"
  127. "a\u0304\u02BEa\u0304": "\u0627\u0621\u0627"
  128. "a\u0304\u02BCa\u0304": "\u0627\u0621\u0627"
  129. "a\u02BE": "\u0623"
  130. "a\u02BC": "\u0623"
  131. "\u02BEi": "\u0626"
  132. "\u02BCi": "\u0626"
  133. "\u02BEa\u0304": "\u0622"
  134. "\u02BCa\u0304": "\u0622"
  135. "\u02BEa": "\u0623"
  136. "\u02BCa": "\u0623"
  137. "y\u02BCah": "\u064A\u0626\u0629"
  138. "y\u02BEah": "\u064A\u0626\u0629"
  139. "y\u02BCat": "\u064A\u0626\u0629"
  140. "y\u02BEat": "\u064A\u0626\u0629"
  141. # A
  142. "a\u0304\u02BCi\u0304": "\u0627\u0626\u064A"
  143. "a\u0304\u02BEi\u0304": "\u0627\u0626\u064A"
  144. "a\u0304\u02BCi": "\u0627\u0626"
  145. "a\u0304\u02BEi": "\u0627\u0626"
  146. "a\u0304\u02BC": "\u0627\u0621"
  147. "a\u0304\u02BE": "\u0627\u0621"
  148. "A\u0304%": "\u0622"
  149. "a\u0304%": "\u0622"
  150. "A\u0304": "\u0627"
  151. "a\u0304": "\u0627"
  152. # These next two lines were intended to convert to alif-ayn when it is at the beginning of a word, definite or indefinine (i.e. al-a[ayn]ma[macron]l or [space]a[ayn]ma[macron]l"
  153. "A\u02BB%": "\u0623\u0639"
  154. "a\u02BB%": "\u0623\u0639"
  155. "a\u02BB": "\u0639"
  156. "A\u0301": "\u0649"
  157. "a\u0301": "\u0649"
  158. "ayy": "\u064A"
  159. "A%": "\u0623"
  160. "a%": "\u0627"
  161. "A": "\u0623"
  162. "a": ""
  163. # I - Capital I at beginning of word is usually alif hamzah-below.
  164. "%i\u0304": "\u064A"
  165. "i\u0304y": "\u064A"
  166. "iy": "\u064A"
  167. "I\u0304%": "\u0625\u064A"
  168. "i\u0304": "\u064A"
  169. "\u02BBI%": "\u0639"
  170. # "i\u02BB": "\u0625\u0639"
  171. "I\u02BE": "\u0627\u0626"
  172. "I\u02BC": "\u0627\u0626"
  173. "i\u02BE": "\u0626"
  174. "i\u02BC": "\u0627\u0626"
  175. "I%": "\u0625"
  176. "i%": "\u0625"
  177. "I": "\u0625"
  178. "i": ""
  179. # U
  180. "u\u0304\u02BE": "\u0624"
  181. "u\u0304\u02BC": "\u0624"
  182. "U\u0304w%": "\u0623\u0648"
  183. "u\u0304w%": "\u0623\u0648"
  184. "U\u0304%": "\u0623\u0648"
  185. "u\u0304%": "\u0623\u0648"
  186. "u\u0304w": "\u0648"
  187. "u\u0304": "\u0648"
  188. "u\u02BE": "\u0624"
  189. "u\u02BC": "\u0624"
  190. "U%": "\u0623"
  191. "u%": "\u0623"
  192. "U": "\u0623"
  193. "u": ""
  194. # Consonants, with tashdid added
  195. "B": "\u0628"
  196. "bb": "\u0628"
  197. "b": "\u0628"
  198. "Th": "\u062B"
  199. "thth": "\u062B"
  200. "th": "\u062B"
  201. "T\u0323": "\u0637"
  202. "t\u0323t\u0323": "\u0637"
  203. "t\u0323": "\u0637"
  204. "T": "\u062A"
  205. "tt": "\u062A"
  206. "t": "\u062A"
  207. "J": "\u062C"
  208. "jj": "\u062C"
  209. "j": "\u062C"
  210. "H\u0323": "\u062D"
  211. "h\u0323h\u0323": "\u062D"
  212. "h\u0323": "\u062D"
  213. "H": "\u0647"
  214. "hh": "\u0647"
  215. "h": "\u0647"
  216. "Kh": "\u062E"
  217. "khkh": "\u062E"
  218. "kh": "\u062E"
  219. "K": "\u0643"
  220. "kk": "\u0643"
  221. "k": "\u0643"
  222. "Dh": "\u0630"
  223. "dhdh": "\u0630"
  224. "dh": "\u0630"
  225. "D\u0323": "\u0636"
  226. "d\u0323d\u0323": "\u0636"
  227. "d\u0323": "\u0636"
  228. "D": "\u062F"
  229. "dd": "\u062F"
  230. "d": "\u062F"
  231. "R": "\u0631"
  232. "rr": "\u0631"
  233. "r": "\u0631"
  234. "Z\u0323": "\u0638"
  235. "z\u0323z\u0323": "\u0638"
  236. "z\u0323": "\u0638"
  237. "Z": "\u0632"
  238. "zz": "\u0632"
  239. "z": "\u0632"
  240. "Sh": "\u0634"
  241. "shsh": "\u0634"
  242. "sh": "\u0634"
  243. "S\u0323": "\u0635"
  244. "s\u0323s\u0323": "\u0635"
  245. "s\u0323": "\u0635"
  246. "S": "\u0633"
  247. "ss": "\u0633"
  248. "s": "\u0633"
  249. "Gh": "\u063A"
  250. "ghgh": "\u063A"
  251. "gh": "\u063A"
  252. "F": "\u0641"
  253. "ff": "\u0641"
  254. "f": "\u0641"
  255. "Q": "\u0642"
  256. "qq": "\u0642"
  257. "q": "\u0642"
  258. "L": "\u0644"
  259. "ll": "\u0644"
  260. "l": "\u0644"
  261. "M": "\u0645"
  262. "mm": "\u0645"
  263. "m": "\u0645"
  264. "N": "\u0646"
  265. "nn": "\u0646"
  266. "n": "\u0646"
  267. "W": "\u0648"
  268. "ww": "\u0648"
  269. "w": "\u0648"
  270. "Y": "\u064A"
  271. "yy": "\u064A"
  272. "y": "\u064A"
  273. # non-Arabic consonants:
  274. "P": "\u067E"
  275. "p": "\u067E"
  276. "Ch": "\u0686"
  277. "ch": "\u0686"
  278. "V": "\u06A4"
  279. "v": "\u06A4"
  280. "G": "\u06AF"
  281. "g": "\u06AF"
  282. # Diacritic characters:
  283. # ain (\u0639) - not transliterated alone:
  284. "\u02BB": "\u0639"
  285. # hamza - not romanized
  286. # "\u0621"
  287. # hamza (alone in final position)
  288. "%\u02BE": "\u0621"
  289. "%\u02BC": "\u0621"
  290. # Do not know what, if anything, is needed here:
  291. # tatweel:
  292. # "\u0640"
  293. # fathatan:
  294. # "\u064B"
  295. # dammatan:
  296. # "\u064C"
  297. # kasratan:
  298. # "\u064D"
  299. # fatha:
  300. # "\u064E"
  301. # damma:
  302. # "\u064F"
  303. # kasra:
  304. # "\u0650"
  305. # shadda:
  306. # "\u0651"
  307. # sukun:
  308. # "\u0652"
  309. # superscript alef:
  310. # "\u0670"
  311. # alef wasla
  312. # "\u0671"
  313. script_to_roman:
  314. hooks:
  315. post_config:
  316. -
  317. - arabic.arabic_romanizer.s2r_post_config