eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ar_rules 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. // * Arabic Language ar ar_rules
  2. // * This file writen by Taha Zerrouki 2012
  3. // ***************************************************************************
  4. // * This program is free software; you can redistribute it and/or modify *
  5. // * it under the terms of the GNU General Public License as published by *
  6. // * the Free Software Foundation; either version 3 of the License, or *
  7. // * (at your option) any later version. *
  8. // * *
  9. // * This program is distributed in the hope that it will be useful, *
  10. // * but WITHOUT ANY WARRANTY; without even the implied warranty of *
  11. // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  12. // * GNU General Public License for more details. *
  13. // * *
  14. // * You should have received a copy of the GNU General Public License *
  15. // * along with this program; if not, see: *
  16. // * <http://www.gnu.org/licenses/>. *
  17. // ***************************************************************************/
  18. //
  19. // This file is UTF-8 encoded
  20. // all words must be LOWER CASE (although the initial letter will be automatically
  21. // converted if it's a 7bit ascii character)
  22. // Text to phoneme rules for Arabic
  23. //
  24. // replace Arabic eastern character numbers with Arabic western character numbers
  25. .replace
  26. ٠ 0
  27. ۰ 0
  28. ۱ 1
  29. ١ 1
  30. ٢ 2
  31. ۲ 2
  32. ٣ 3
  33. ۳ 3
  34. ٤ 4
  35. ۴ 4
  36. ٥ 5
  37. ۵ 5
  38. ٦ 6
  39. ۶ 6
  40. ٧ 7
  41. ۷ 7
  42. ٨ 8
  43. ۸ 8
  44. ٩ 9
  45. ۹ 9
  46. ، ,
  47. ؛ ;
  48. // Reorder diacritics in "canonical order"
  49. َّ َّ // Fatha Shadda > Shadda Fatha
  50. ِّ ِّ // Kasra Shadda > Shadda Kasra
  51. ّْ ّْ // Sukun Shadda > Shadda Sukun
  52. // Named letter groups:
  53. // list of short vowels
  54. // A: َ ُ ِ
  55. // list of consonants
  56. // C: ب پ ت ة ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ئ ؤ ء أ آ إ ه
  57. // Consonant/vowel letters
  58. // B: ا و ي
  59. // "Thick" letters
  60. // F: ص ض ط ظ ق
  61. // Shadda
  62. // G: ّ
  63. // Hamza
  64. // H: ء
  65. // Sukun
  66. // Y: ْ
  67. // all vowels/diphthongs in vocalized text
  68. // (fatha, damma, kasra, fatha+alef, fatha+alef_maksura, damma+waw, kasra+yeh, yeh+fatha, waw+fatha, superscript alef)
  69. .L01 َ ُ ِ َا َى ُو ِي يَ وَ ٰ
  70. // Long vowels and diphthongs in vocalized text
  71. // (fatha+alef, fatha+alef_maksura, damma+waw, kasra+yeh, yeh+fatha, waw+fatha, superscript alef)
  72. .L03 َا َى ُو ِي يَ وَ ٰ
  73. // Implicit long vowels in UNvocalized text (alef, alef maksura, waw, yeh)
  74. .L04 ا ى و ي
  75. // all Arabic characters without short vowels and A
  76. .L05 ض ص ث ق ف غ ع ه خ ح ج ش س ي ب ل ت ن م ك ظ ط ز ر ذ د ئ و ة ي ؤ إ أ ء پ گ
  77. // group of digits
  78. .L06 0 1 2 3 4 5 6 7 8 9
  79. // all Arabic characters
  80. .L09 ض ص ث ق ف غ ع ه خ ح ج ً ٌ ٍ ، ؛ ش س ي ب ل ا ت ن م ك َ ُ ِ ّ آ ـ « » ظ ط ز ر ذ د ئ و ة ي ژ ؤ إ أ ء ؟ پ گ
  81. // Arabic Sun characters
  82. .L10 ض ص ث ش س ل ت ن ظ ط ز ر ذ د
  83. // Arabic Moon characters
  84. .L11 ق ف غ ع ه خ ح ج ي ب م ك و إ أ ء
  85. // Arabic diacritics
  86. .L20 ۡ ـ ً ٌ ٍ َ ُ ِ ّ ْ
  87. .group آ
  88. آ ?a:
  89. .group ا
  90. ا a:
  91. C) ا a: // if a consonant is before it, make the fatha long
  92. C) ا (C a:
  93. ا (َ ?
  94. ا (ُ ?
  95. ا (ِ ?
  96. _) ا a // make the previous fatha long
  97. اء ? // Carried Hamza
  98. _) ال (L10P2 ?a //الشمس
  99. _) ال (L11P2 ?al //القمر
  100. _) ال (تP2 ?at
  101. _) ال (ثP2 ?aT
  102. _) ال (دP2 ?ad
  103. _) ال (ذP2 ?aD
  104. _) ال (رP2 ?ar
  105. _) ال (زP2 ?az
  106. _) ال (سP2 ?as
  107. _) ال (شّP2 ?a
  108. _) ال (شP2 ?aS
  109. _) ال (صP2 ?as[
  110. _) ال (ضP2 ?adH
  111. _) ال (ظP2 ?aZ
  112. _) ال (لP2 ?al
  113. _) ال (نP2 ?an
  114. _ب) ا (ل i
  115. .group أ
  116. أ ? // Carried Hamza
  117. .group إ
  118. إ ? // Carried Hamza
  119. .group ب
  120. ب b
  121. ب (_ b
  122. بّ b:
  123. بّْ b:
  124. بْ b
  125. _) بال (L10P3 bi //بالشمس
  126. _) بال (L11P3 bil //بالقمر
  127. _) بال (تP3 bit
  128. _) بال (ثP3 biT
  129. _) بال (دP3 bid
  130. _) بال (ذP3 biD
  131. _) بال (رP3 bir
  132. _) بال (زP3 biz
  133. _) بال (سP3 bis
  134. _) بال (شP3 biS
  135. _) بال (صP3 bis[
  136. _) بال (ضP3 bidH
  137. _) بال (طP3 bit[
  138. _) بال (ظP3 biZ
  139. _) بال (لP3 bil
  140. _) بال (نP3 bin
  141. .group پ
  142. پ p
  143. پ (_ p
  144. پّْ p:
  145. پْ p
  146. .group ت
  147. ت t
  148. _) ت (َP1 t
  149. ت (_ t
  150. تّ t:
  151. تّْ t:
  152. تْ t
  153. .group ث
  154. ث T
  155. ث (_ T
  156. ثّ T:
  157. ثّْ T:
  158. ثْ T
  159. .group ج
  160. ج dZ
  161. ج (_ dZ
  162. جّ dZ:
  163. جّْ dZ:
  164. جْ dZ
  165. .group ح
  166. ح H
  167. ح (_ H
  168. حّ H:
  169. حّْ H:
  170. حْ H
  171. .group خ
  172. خ X
  173. خ (_ X
  174. خّ X:
  175. خّْ X:
  176. خْ X
  177. .group د
  178. د d
  179. د (_ d
  180. دّ d:
  181. دّْ d:
  182. دْ d
  183. .group ذ
  184. ذ D
  185. ذ (_ D
  186. ذّ D:
  187. ذّْ D:
  188. ذْ D
  189. .group ر
  190. ر r
  191. ر (_ r
  192. رّ r:
  193. رّْ r:
  194. رْ r
  195. .group ز
  196. ز z
  197. ز (_ z
  198. زّ z:
  199. زّْ z:
  200. زْ z
  201. .group س
  202. س s
  203. س (_ s
  204. سّ s:
  205. سّْ s:
  206. سْ s
  207. .group ش
  208. ش S
  209. ش (_ S
  210. شّ S:
  211. شّْ S:
  212. شْ S
  213. .group ص
  214. ص s[
  215. ص (_ s[
  216. صّ s[:
  217. صّْ s[:
  218. صْ s[
  219. .group ض
  220. ض dH
  221. ض (_ dH
  222. ضّ dH:
  223. ضّْ dH:
  224. ضْ dH
  225. .group ط
  226. ط t[
  227. ط (_ t[
  228. طّ t[:
  229. طّْ t[:
  230. طْ t[
  231. .group ظ
  232. ظ Z
  233. ظ (_ Z
  234. ظّ Z:
  235. ظّْ Z:
  236. ظْ Z
  237. .group ع
  238. ع A
  239. ع (_ A
  240. عّ A:
  241. عّْ A:
  242. عْ A
  243. .group غ
  244. غ gH
  245. غ (_ gH
  246. غّ gH:
  247. غّْ gH:
  248. غْ gH
  249. .group ف
  250. ف f
  251. ف (_ f
  252. فّ f:
  253. فّْ f:
  254. فْ f
  255. _) فال (L10P3 fa //فالشمس
  256. _) فَال (L10P4 fa
  257. _) فَالْ (L10P4 fa
  258. _) فال (L11P3 fal //فالقمر
  259. _) فَال (L11P4 fa
  260. _) فَالْ (L11P4 fal
  261. _) فال (تP3 fat
  262. _) فال (ثP3 faT
  263. _) فال (دP3 fad
  264. _) فال (ذP3 faD
  265. _) فال (رP3 far
  266. _) فال (زP3 faz
  267. _) فال (سP3 fas
  268. _) فال (شP3 faS
  269. _) فال (صP3 fas[
  270. _) فال (ضP3 fadH
  271. _) فال (طP3 fat[
  272. _) فال (ظP3 faZ
  273. _) فال (لP3 fal
  274. _) فال (نP3 fan
  275. .group ق
  276. ق q
  277. ق (_ q
  278. قّ q:
  279. قّْ q:
  280. قْ q
  281. .group ك
  282. ك k
  283. ك (_ k
  284. كّ k:
  285. كّْ k:
  286. كْ k
  287. ك (_S1 ka // الضمير المتصل
  288. _) كال (L10P3 ka //كالشمس
  289. _) كَال (L10P4 ka
  290. _) كَالْ (L10P4 ka
  291. _) كال (L11P3 kal //كالقمر
  292. _) كَالْ (L11P4 kal
  293. _) كال (تP3 kat
  294. _) كال (ثP3 kaT
  295. _) كال (دP3 kad
  296. _) كال (ذP3 kaD
  297. _) كال (رP3 kar
  298. _) كال (زP3 kaz
  299. _) كال (سP3 kas
  300. _) كال (شP3 kaS
  301. _) كال (صP3 kas[
  302. _) كال (ضP3 kadH
  303. _) كال (طP3 kat[
  304. _) كال (ظP3 kaZ
  305. _) كال (لP3 kal
  306. _) كال (نP3 kan
  307. كما (_S3 kuma: //الضمير المتصل
  308. كن (_S2 kun:a //الضمير المتصل
  309. .group گ
  310. گ g
  311. گ (_ g
  312. گّ g:
  313. گّْ g:
  314. گْ g
  315. .group ل
  316. ل l
  317. _ا) ل (L10 ' // Sun letters
  318. _بِا) ل (L10 ' // Sun letters
  319. _فَا) ل (L10 ' // Sun letters
  320. _كَا) ل (L10 ' // Sun letters
  321. ل (_ l
  322. لّ l:
  323. لّْ l:
  324. لْ l
  325. _لِ) ل (L10 ' // Sun letters
  326. _وَا) ل (L10 ' // Sun letters
  327. .group م
  328. م m
  329. م (_ m
  330. مّ m:
  331. مّْ m:
  332. مْ m
  333. .group ن
  334. ن n
  335. ن (_ n
  336. نّ n:
  337. نّْ n:
  338. نْ n
  339. ن (ب m
  340. نْ (ب m
  341. .group ه
  342. ه h
  343. ه (_ h
  344. هّ h:
  345. هّْ h:
  346. هْ h
  347. ه (_S1 h // الضمير المتصل
  348. ها (_S2 ha: //الضمير المتصل
  349. هم (_S2 hum //الضمير المتصل
  350. هما (_S3 huma: //الضمير المتصل
  351. هن (_S2 hun:a //الضمير المتصل
  352. .group و
  353. و w
  354. C) و u: //واو بعد صامت دون تشكيل
  355. ا) و w //واو بعد الألف
  356. و (A w //واو بعدها حرف علة
  357. و (_ w
  358. وّ w:
  359. وّْ w
  360. وْ w
  361. ْ) و w // واو بعد سكون
  362. َ) و w //واو بعد فتحة
  363. _) و w //واو في أول الكلمة
  364. وء ? // Carried Hamza
  365. وا (_S2 u
  366. وا (_S2 u: // فعل مع ضمائر الجمع المذكرة درسوا
  367. _) وال (L10P3 wa //والشمس
  368. _) وَال (L10P4 wa
  369. _) وَالْ (L10P4 wa
  370. _) وال (L11P3 wal //والقمر
  371. _) وَال (L11P4 wal
  372. _) وَالْ (L11P4 wal
  373. _) وال (تP3 wat
  374. _) وال (ثP3 waT
  375. _) وال (دP3 wad
  376. _) وال (ذP3 waD
  377. _) وال (رP3 war
  378. _) وال (زP3 waz
  379. _) وال (سP3 was
  380. _) وال (شP3 waS
  381. _) وال (صP3 was[
  382. _) وال (ضP3 wadH
  383. _) وال (طP3 wat[
  384. _) وال (ظP3 waZ
  385. _) وال (لP3 wal
  386. _) وال (نP3 wan
  387. ون (_S2 u:na //جمع مذكر سالم فلاحون
  388. .group ي
  389. ي i
  390. C) ي i: // ياء بعد صامت دون تشكيل
  391. ا) ي j // ياء بعد ألف
  392. يّ i:
  393. يْ j
  394. يِ ji:
  395. ْ) ي j //ياء بعد سكون
  396. َ) ي j // ياء بعد فتحة
  397. _) ي j // ياء في أول الكلمة
  398. ي (L01 j //يا بعدها حروف علة
  399. ي (_S1 i
  400. يء ? // Carried Hamza
  401. يات (_S3 ij:a:t //يّة النسبة في جمع المؤنث جزائريات
  402. ية (_S2 ij:ah //يّة النسبة
  403. ين (_S2 i:na //جمع مذكر سالم منصوب أو مجرور
  404. يون (_S3 ij:u:n //kجمع مذكر سالم منسوب جزائريون
  405. يين (_S3 ij:i:n //kجمع مذكر سالم منسوب جزائريين
  406. .group ى //ألف مقصورة
  407. ى a
  408. C) ى (_ a:
  409. ىّ a:
  410. ىْ a
  411. .group ء
  412. ء ?
  413. ء (ً ?an
  414. .group ئ
  415. ئ ? // Carried Hamza
  416. .group ؤ
  417. ؤ ? // Carried Hamza
  418. .group ة
  419. ة t
  420. ة (_ t
  421. ةّ t:
  422. ةْ t
  423. ةً tan
  424. // Other diacritics
  425. .group
  426. َ %a // fatha
  427. C) ٓ ? // madda after consonant
  428. ِ i // kasra
  429. ٍ (_S1 in // kasratan at the end of word
  430. ٌ (_S1 un // dammatan at the end of word
  431. ُ u // damma
  432. ٰ a: // superscript alef
  433. َا a: // fatha+alef
  434. ًا (_S2 an // fathatan+alef at the end of word
  435. َو au // fatha+waw
  436. ِو iw // kasra+waw
  437. ُو u: // damma+waw
  438. َى a: // fatha+alef maksura
  439. َي ai // fatha+yeh
  440. ِي i: // kasra+yeh
  441. ُي ui // damma+yeh
  442. ّ : // shadda
  443. // Following are default rules for other diacritics and they are just silence.
  444. // Diacritics should be consumed together with leading letters in rules above.
  445. ٱ // alef wasla
  446. ٌ // dammatan
  447. ً // fathatan
  448. ٍ // kasratan
  449. ـ // tatweel
  450. ۡ // small high dotless head of khan
  451. ْ // sukun
  452. // non-ascii characters with specified pronunciations
  453. // List the accented characters in en_list with the $accent attribute