Files
espeak-ng/dictsource/ar_rules
T

408 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// * Arabic Language ar ar_rules
// * This file writen by Taha Zerrouki 2012
// ***************************************************************************
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
// * the Free Software Foundation; either version 3 of the License, or *
// * (at your option) any later version. *
// * *
// * This program is distributed in the hope that it will be useful, *
// * but WITHOUT ANY WARRANTY; without even the implied warranty of *
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
// * GNU General Public License for more details. *
// * *
// * You should have received a copy of the GNU General Public License *
// * along with this program; if not, see: *
// * <http://www.gnu.org/licenses/>. *
// ***************************************************************************/
//
// This file is UTF-8 encoded
// all words must be LOWER CASE (although the initial letter will be automatically
// converted if it's a 7bit ascii character)
// Text to phoneme rules for Arabic
//
// replace Arabic eastern character numbers with Arabic western character numbers
.replace
٠ 0
۰ 0
۱ 1
١ 1
٢ 2
۲ 2
٣ 3
۳ 3
٤ 4
۴ 4
٥ 5
۵ 5
٦ 6
۶ 6
٧ 7
۷ 7
٨ 8
۸ 8
٩ 9
۹ 9
، ,
؛ ;
// Reorder diacritics in "canonical order"
َّ َّ // Fatha Shadda > Shadda Fatha
ِّ ِّ // Kasra Shadda > Shadda Kasra
ّْ ّْ // Sukun Shadda > Shadda Sukun
// Named letter groups:
// list of short vowels
// A: َ ُ ِ
// list of consonants
// C: ب پ ت ة ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ئ ؤ ء أ آ إ ه
// Consonant/vowel letters
// B: ا و ي
// "Thick" letters
// F: ص ض ط ظ ق
// Shadda
// G: ّ
// Hamza
// H: ء
// Sukun
// Y: ْ
// all vowels/diphthongs in vocalized text
// (fatha, damma, kasra, fatha+alef, fatha+alef_maksura, damma+waw, kasra+yeh, yeh+fatha, waw+fatha, superscript alef)
.L01 َ ُ ِ َا َى ُو ِي يَ وَ ٰ
// Long vowels and diphthongs in vocalized text
// (fatha+alef, fatha+alef_maksura, damma+waw, kasra+yeh, yeh+fatha, waw+fatha, superscript alef)
.L03 َا َى ُو ِي يَ وَ ٰ
// Implicit long vowels in UNvocalized text (alef, alef maksura, waw, yeh)
.L04 ا ى و ي
// all Arabic characters without short vowels and A
.L05 ض ص ث ق ف غ ع ه خ ح ج ش س ي ب ل ت ن م ك ظ ط ز ر ذ د ئ و ة ي ؤ إ أ ء پ گ
// group of digits
.L06 0 1 2 3 4 5 6 7 8 9
// all Arabic characters
.L09 ض ص ث ق ف غ ع ه خ ح ج ً ٌ ٍ ، ؛ ش س ي ب ل ا ت ن م ك َ ُ ِ ّ آ ـ « » ظ ط ز ر ذ د ئ و ة ي ژ ؤ إ أ ء ؟ پ گ
// Arabic Sun characters
.L10 ض ص ث ش س ل ت ن ظ ط ز ر ذ د
// Arabic Moon characters
.L11 ق ف غ ع ه خ ح ج ي ب م ك و إ أ ء
// Arabic diacritics
.L20 ۡ ـ ً ٌ ٍ َ ُ ِ ّ ْ
.group آ
آ ?a:
.group ا
C) ا a: // if a consonant is before it, make the fatha long
C) ا (C a:
ا (َ ?
ا (ُ ?
ا (ِ ?
اء ? // Carried Hamza
_) ا a // make the previous fatha long
_) ال (L10P2 ?a //الشمس
_) ال (L11P2 ?al //القمر
_) ال (تP2 ?at
_) ال (ثP2 ?aT
_) ال (دP2 ?ad
_) ال (ذP2 ?aD
_) ال (رP2 ?ar
_) ال (زP2 ?az
_) ال (سP2 ?as
_) ال (شّP2 ?a
_) ال (شP2 ?aS
_) ال (صP2 ?as[
_) ال (ضP2 ?adH
_) ال (ظP2 ?aZ
_) ال (لP2 ?al
_) ال (نP2 ?an
_ب) ا (ل i
.group أ
أ ? // Carried Hamza
.group إ
إ ? // Carried Hamza
.group ب
ب b
ب (_ b
بّ b:
بْ b
_) بال (L10P3 bi //بالشمس
_) بال (L11P3 bil //بالقمر
_) بال (تP3 bit
_) بال (ثP3 biT
_) بال (دP3 bid
_) بال (ذP3 biD
_) بال (رP3 bir
_) بال (زP3 biz
_) بال (سP3 bis
_) بال (شP3 biS
_) بال (صP3 bis[
_) بال (ضP3 bidH
_) بال (طP3 bit[
_) بال (ظP3 biZ
_) بال (لP3 bil
_) بال (نP3 bin
.group پ
پ p
.group ت
ت t
ت (_ t
تّ t:
_) ت (َP1 t
.group ث
ث T
.group ج
ج dZ
جّ dZ:
.group ح
ح H
.group خ
خ X
.group د
د d
دّ d:
.group ذ
ذ D
.group ر
ر r
.group ز
ز z
.group س
س s
سّ s:
.group ش
ش S
شّ S:
.group ص
ص s[
صّ s[:
.group ض
ض dH
.group ط
ط t[
.group ظ
ظ Z
.group ع
ع A
.group غ
غ gH
.group ف
ف f
ف (_ f
فْ f
_) فال (L10P3 fa //فالشمس
_) فَال (L10P4 fa
_) فَالْ (L10P4 fa
_) فال (L11P3 fal //فالقمر
_) فَال (L11P4 fa
_) فَالْ (L11P4 fal
_) فال (تP3 fat
_) فال (ثP3 faT
_) فال (دP3 fad
_) فال (ذP3 faD
_) فال (رP3 far
_) فال (زP3 faz
_) فال (سP3 fas
_) فال (شP3 faS
_) فال (صP3 fas[
_) فال (ضP3 fadH
_) فال (طP3 fat[
_) فال (ظP3 faZ
_) فال (لP3 fal
_) فال (نP3 fan
.group ق
ق q
.group ك
ك k
ك (_ k
كّ k:
كْ k
ك (_S1 ka // الضمير المتصل
_) كال (L10P3 ka //كالشمس
_) كَال (L10P4 ka
_) كَالْ (L10P4 ka
_) كال (L11P3 kal //كالقمر
_) كَالْ (L11P4 kal
_) كال (تP3 kat
_) كال (ثP3 kaT
_) كال (دP3 kad
_) كال (ذP3 kaD
_) كال (رP3 kar
_) كال (زP3 kaz
_) كال (سP3 kas
_) كال (شP3 kaS
_) كال (صP3 kas[
_) كال (ضP3 kadH
_) كال (طP3 kat[
_) كال (ظP3 kaZ
_) كال (لP3 kal
_) كال (نP3 kan
كما (_S3 kuma: //الضمير المتصل
كن (_S2 kun:a //الضمير المتصل
.group گ
گ g
.group ل
ل l
_ا) ل (L10 ' // Sun letters
_بِا) ل (L10 ' // Sun letters
_فَا) ل (L10 ' // Sun letters
_كَا) ل (L10 ' // Sun letters
لّ l:
_لِ) ل (L10 ' // Sun letters
_وَا) ل (L10 ' // Sun letters
.group م
م m
.group ن
ن n
ن (ب m
نْ (ب m
.group ه
ه h
هْ h
ه (_S1 h // الضمير المتصل
ها (_S2 ha: //الضمير المتصل
هم (_S2 hum //الضمير المتصل
هما (_S3 huma: //الضمير المتصل
هن (_S2 hun:a //الضمير المتصل
.group و
و w
C) و u: //واو بعد صامت دون تشكيل
ا) و w //واو بعد الألف
و (L01 w //واو بعدها حرف علة
وْ w
ْ) و w // واو بعد سكون
َ) و w //واو بعد فتحة
_) و w //واو في أول الكلمة
وا (_S2 u
وا (_S2 u: // فعل مع ضمائر الجمع المذكرة درسوا
وء ? // Carried Hamza
_) وال (L10P3 wa //والشمس
_) وَال (L10P4 wa
_) وَالْ (L10P4 wa
_) وال (L11P3 wal //والقمر
_) وَال (L11P4 wal
_) وَالْ (L11P4 wal
_) وال (تP3 wat
_) وال (ثP3 waT
_) وال (دP3 wad
_) وال (ذP3 waD
_) وال (رP3 war
_) وال (زP3 waz
_) وال (سP3 was
_) وال (شP3 waS
_) وال (صP3 was[
_) وال (ضP3 wadH
_) وال (طP3 wat[
_) وال (ظP3 waZ
_) وال (لP3 wal
_) وال (نP3 wan
ون (_S2 u:na //جمع مذكر سالم فلاحون
.group ي
C) ي i: // ياء بعد صامت دون تشكيل
ا) ي j // ياء بعد ألف
يِ ji:
يء ? // Carried Hamza
يء (_ // Carried Hamza at the end of word
ْ) ي j //ياء بعد سكون
َ) ي j // ياء بعد فتحة
_) ي j // ياء في أول الكلمة
ي (L01 j //يا بعدها حروف علة
ي (_S1 i
يات (_S3 ij:a:t //يّة النسبة في جمع المؤنث جزائريات
ية (_S2 ij:ah //يّة النسبة
ين (_S2 i:na //جمع مذكر سالم منصوب أو مجرور
يون (_S3 ij:u:n //kجمع مذكر سالم منسوب جزائريون
يين (_S3 ij:i:n //kجمع مذكر سالم منسوب جزائريين
.group ى //ألف مقصورة
ى a
C) ى (_ a:
.group ء
ء ?
ء (ً ?an
.group ئ
ئ ? // Carried Hamza
.group ؤ
ؤ ? // Carried Hamza
.group ة
ة t
ةْ t
ةً tan
// Other diacritics
.group
َ %a // fatha
C) ٓ ? // madda after consonant
ِ i // kasra
ٍ (_S1 in // kasratan at the end of word
ٌ (_S1 un // dammatan at the end of word
ُ u // damma
ٰ a: // superscript alef
َا a: // fatha+alef
ًا (_S2 an // fathatan+alef at the end of word
َو au // fatha+waw
ِو iw // kasra+waw
ُو u: // damma+waw
َى a: // fatha+alef maksura
َي ai // fatha+yeh
ِي i: // kasra+yeh
ُي ui // damma+yeh
ّ : // shadda
// Following are default rules for other diacritics and they are just silence.
// Diacritics should be consumed together with leading letters in rules above.
ٱ // alef wasla
ٌ // dammatan
ً // fathatan
ٍ // kasratan
ـ // tatweel
ۡ // small high dotless head of khan
ْ // sukun
// non-ascii characters with specified pronunciations
// List the accented characters in en_list with the $accent attribute