arabic.yml 8.9 KB

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