forked from GitHub/gf-rgl
(Ara) diacritics
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
concrete LexiconAra of Lexicon = CatAra ** open
|
||||
ParadigmsAra,
|
||||
ResAra,
|
||||
MorphoAra, --shouldn't open it here, only needed reg &sndf
|
||||
Prelude in {
|
||||
|
||||
flags
|
||||
@@ -19,8 +18,8 @@ flags
|
||||
ask_V2Q = dirV2 (regV "يَسءَل") ;
|
||||
-- ask_V2Q = dirV2 (v1 "سءل" a a) ;
|
||||
baby_N = brkN "طفل" "فِعل" "أَفعَال" Masc Hum;
|
||||
-- bad_A = sndA "سوء" "فَيِّع" ;
|
||||
bad_A = degrA "سَيِّئ" "سَيِّئَة" "سَيِّئِين" ;
|
||||
-- bad_A = sndA "سوء" "فَيِّع" ;
|
||||
bad_A = degrA "سَيِّئ" "سَيِّئَة" "سَيِّئِين" ;
|
||||
bank_N = brkN "بنك" "فَعل" "فُعُول" Masc NoHum ;
|
||||
beautiful_A = sndA "جمل" "فَعِيل" ;
|
||||
become_VA = mkVA (v4 "صبح") ;
|
||||
@@ -42,11 +41,11 @@ flags
|
||||
-- break_V2 = dirV2 (v1 "كسر" a u) ;
|
||||
broad_A = sndA "وسع" "فاعِل" ;
|
||||
brother_N2 = mkN2 (brkN "ءخو" "فَع" "فِعلة" Masc Hum) ; --FIXME dual
|
||||
brown_A = sndA "بني" "فُعِّل";
|
||||
brown_A = sndA "بني" "فُعِّل";
|
||||
butter_N = sdfN "سبد" "فُعلة" Fem NoHum ;
|
||||
buy_V2 = dirV2 (v8 "شري") ;
|
||||
camera_N = sdfN "كمر" "فاعِيلا" Fem NoHum ; -- |Alö taSwIr
|
||||
cap_N = sdfN "قبع" "فُعَّلة" Fem NoHum ; --qalnUsö
|
||||
cap_N = sdfN "قبع" "فُعَّلة" Fem NoHum ; --qalnUsö
|
||||
car_N = sdfN "سير" "فَعّالة" Fem NoHum ;
|
||||
carpet_N = sdfN "سجد" "فَعّالة" Fem NoHum ;
|
||||
cat_N = brkN "هرّ" "فِعّ" "فِعَلَة" Fem NoHum ;
|
||||
@@ -93,13 +92,13 @@ flags
|
||||
girl_N = brkN "بنت" "فِعل" "فَعَال" Fem Hum ;
|
||||
glove_N = sdfN "قفز" "فُعّال" Masc NoHum ;
|
||||
gold_N = sdfN "ذهب" "فَعَل" Masc NoHum ;
|
||||
good_A = sndA "جود" "فَيِّع" ; -- Hasan, HisAn
|
||||
good_A = sndA "جود" "فَيِّع" ; -- Hasan, HisAn
|
||||
go_V = regV "يَذهَب" ;
|
||||
-- go_V = v1 "ذهب" a a ;
|
||||
green_A = clrA "خضر" ;
|
||||
harbour_N = brkN "رفء" "مَفعَل" "مَفاعِل" Masc NoHum ; --mInA', marsaY
|
||||
hate_V2 = dirV2 (regV "كَرِه") ;
|
||||
hat_N = sdfN "قبع" "فُعَّلة" Fem NoHum ;
|
||||
hat_N = sdfN "قبع" "فُعَّلة" Fem NoHum ;
|
||||
-- have_V2 = dirV2 (v1 "ملك" a i) ;
|
||||
hear_V2 = dirV2 (regV "سَمِع") ;
|
||||
-- hear_V2 = dirV2 (v1 "سمع" i a) ;
|
||||
@@ -130,14 +129,14 @@ flags
|
||||
love_N = brkN "حبّ" "فُعّ" "فُعّ" Masc NoHum ; -- no plur
|
||||
love_V2 = dirV2 (v1 "حبّ" a i) ;
|
||||
man_N = brkN "رجل" "فَعُل" "فِعَال" Masc Hum ;
|
||||
married_A2 = mkA2 (sndA "زوج" "مُتَفَعِّل") "مِن" ;
|
||||
married_A2 = mkA2 (sndA "زوج" "مُتَفَعِّل") "مِن" ;
|
||||
meat_N = brkN "لحم" "فَعلة" "فُعُول" Masc NoHum ;
|
||||
milk_N = brkN "حلب" "فَعِيل" "فَعِيل" Masc NoHum ; --no plur
|
||||
moon_N = brkN "قمر" "فَعَل" "أَفعَال" Masc NoHum ;
|
||||
mother_N2 = mkN2 (sdfN "ءم" "فُعَّ" Fem Hum) ;
|
||||
mother_N2 = mkN2 (sdfN "ءم" "فُعَّ" Fem Hum) ;
|
||||
mountain_N = brkN "جبل" "فَعَل" "فِعَال" Masc NoHum ;
|
||||
music_N = mkN (reg "مُوسِيقَى" "مُوسِيقَى") Fem NoHum ; --no plur
|
||||
narrow_A = sndA "ضيق" "فَعِّل" ;
|
||||
narrow_A = sndA "ضيق" "فَعِّل" ;
|
||||
new_A = mkA "جدد" "فَعِيل" "فُعُل" ;
|
||||
newspaper_N = brkN "صحف" "فَعِيلة" "فُعُل" Fem NoHum ;
|
||||
oil_N = brkN "زيت" "فَعل" "فُعُول" Masc NoHum ;
|
||||
@@ -155,7 +154,7 @@ flags
|
||||
play_V2 = dirV2 (regV "لَعِب") ;
|
||||
-- play_V2 = dirV2 (v1 "لعب" i a) ;
|
||||
policeman_N = sdmN "شرط" "فِعلِي" Masc Hum ;
|
||||
priest_N = brkN "قسّ" "فِعِّيل" "أَفِعّة" Masc Hum ;
|
||||
priest_N = brkN "قسّ" "فِعِّيل" "أَفِعّة" Masc Hum ;
|
||||
probable_AS = mkAS (sndA "مكن" "مُفعِل") ;
|
||||
queen_N = sdfN "ملك" "فَعِلة" Fem Hum ;
|
||||
radio_N = mkN (sndf "راديُو") Masc NoHum ;
|
||||
@@ -169,7 +168,7 @@ flags
|
||||
river_N = brkN "نهر" "فَعل" "أَفعَال" Masc NoHum ;
|
||||
rock_N = brkN "صخر" "فَعلة" "فُعُول" Fem NoHum ;
|
||||
roof_N = brkN "سطح" "فَعل" "أَفعُل" Masc NoHum ;
|
||||
rubber_N = brkN "مطط" "فَعَّال" "فَعَّال" Masc NoHum ; -- no hum
|
||||
rubber_N = brkN "مطط" "فَعَّال" "فَعَّال" Masc NoHum ; -- no hum
|
||||
run_V = regV "يَركُض" ;
|
||||
-- run_V = v1 "ركض" a u ;
|
||||
say_VS = mkVS (v1 "قول" a u) ; --check
|
||||
@@ -187,11 +186,11 @@ flags
|
||||
shoe_N = brkN "حذو" "فِعَاء" "أَفعِية" Masc NoHum ;
|
||||
shop_N = brkN "تجر" "مَفعَل" "مَفاعِل" Masc NoHum ;
|
||||
short_A = sndA "قصر" "فَعِيل" ;
|
||||
silver_N = brkN "فضض" "فِعَّة" "فِعَل" Fem NoHum ;
|
||||
silver_N = brkN "فضض" "فِعَّة" "فِعَل" Fem NoHum ;
|
||||
sister_N = brkN "ءخو" "فُعت" "فَعَوَات" Fem Hum ; --FIXME
|
||||
sleep_V = v1 "نوم" i a ; --check
|
||||
small_A = sndA "صغر" "فَعِيل" ;
|
||||
snake_N = sdfN "حيّ" "فَعَّة" Fem NoHum ;
|
||||
snake_N = sdfN "حيّ" "فَعَّة" Fem NoHum ;
|
||||
sock_N = brkN "جرب" "فَوعَل" "فَواعِل" Masc NoHum ;
|
||||
speak_V2 = dirV2 (v5 "كلم") ;
|
||||
star_N = brkN "نجم" "فَعل" "فُعُول" Masc NoHum ; --najmö
|
||||
@@ -205,7 +204,7 @@ flags
|
||||
switch8on_V2 = dirV2 (v4 "شعل") ;
|
||||
table_N = sdfN "طول" "فاعِلة" Fem NoHum ;
|
||||
talk_V3 = mkV3 (v5 "حدث") "لِ" "عَن" ;
|
||||
teacher_N = sdmN "علم" "مُفَعِّل" Masc Hum ; --mucal~imö
|
||||
teacher_N = sdmN "علم" "مُفَعِّل" Masc Hum ; --mucal~imö
|
||||
teach_V2 = dirV2 (v2 "علم") ;
|
||||
television_N = mkN (sndf "تِلِفِزيُون") Masc NoHum ;
|
||||
thick_A = sndA "سمك" "فَعِيل" ;
|
||||
@@ -261,7 +260,7 @@ flags
|
||||
heavy_A = sndA "ثقل" "فَعِيل" ;
|
||||
near_A = sndA "قرب" "فَعِيل" ;
|
||||
rotten_A = sndA "فسد" "فاعِل" ;
|
||||
round_A = sndA "دور" "مُفَعَّل" ;
|
||||
round_A = sndA "دور" "مُفَعَّل" ;
|
||||
sharp_A = sndA "حدّ" "فاعّ" ;
|
||||
smooth_A = sndA "نعم" "فاعِل" ;
|
||||
straight_A = sndA "قوم" "مُستَفِيع" ;
|
||||
@@ -277,7 +276,7 @@ flags
|
||||
bone_N = brkN "عظم" "فَعلة" "فِعَال" Fem NoHum;
|
||||
breast_N = brkN "صدر" "فَعل" "فُعُول" Masc NoHum;
|
||||
cloud_N = brkN "غيم" "فَعلة" "فُعُول" Fem NoHum;
|
||||
day_N = brkN "يوم" "فَعل" "أَفَّاع" Masc NoHum;
|
||||
day_N = brkN "يوم" "فَعل" "أَفَّاع" Masc NoHum;
|
||||
dust_N = brkN "غبر" "فُعَال" "أَفعِلة" Masc NoHum;
|
||||
ear_N = brkN "ءذن" "فُعل" "أَفعَال" Fem NoHum;
|
||||
earth_N = brkN "ترب" "فُعلة" "فُعَل" Fem NoHum;
|
||||
|
||||
@@ -12,7 +12,8 @@ flags coding=utf8 ;
|
||||
-- Shadda: https://www.unicode.org/L2/L2017/17253-arabic-ordering.pdf
|
||||
fixShd : Str -> Str -> Str = \word,suffix ->
|
||||
case <word,suffix> of {
|
||||
<x + "ّ", v@#vow + y> => x + v + "ّ" + y ;
|
||||
-- <x + "ّ", v@#vow + y> => x + v + "ّ" + y ;
|
||||
<x + v@#vow, "ّ" + y> => x + "ّ" + v + y ;
|
||||
_ => word + suffix
|
||||
} ;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ flags coding=utf8 ;
|
||||
eiftacal = { h = "إِ"; m1 = "ْتَ" ; m2 = "َ" ; t = "" } ;
|
||||
eufcil = { h = "أُ"; m1 = "ْ" ; m2 = "ِ" ; t = "" } ;
|
||||
euftucil = { h = "أُ"; m1 = "ْتُ" ; m2 = "ِ" ; t = "" } ;
|
||||
euttucil = euftucil ** { h = "اُتُّ" ; m1 = "ِ" } ; ---- IL assimilated VIII
|
||||
euttucil = euftucil ** { h = "اُتُّ" ; m1 = "ِ" } ; ---- IL assimilated VIII
|
||||
afcul = { h = "َ" ; m1 = "ْ" ; m2 = "ُ" ; t = "" } ;
|
||||
faccalo = { h = "" ; m1 = "َ" ; m2 = "َّ" ; t = "ْ" } ;
|
||||
facal = { h = "" ; m1 = "َ" ; m2 = "َ" ; t = "" } ;
|
||||
@@ -78,8 +78,8 @@ flags coding=utf8 ;
|
||||
ficlp = { h = "" ; m1 = "ِ" ; m2 = "ْ" ; t = "َة" } ;
|
||||
ftacal = { h = "" ; m1 = "ْتَ" ; m2 = "َ" ; t = "" } ;
|
||||
ftacil = { h = "" ; m1 = "ْتَ" ; m2 = "ِ" ; t = "" } ;
|
||||
ttacal = ftacal ** { m1 = "" ; h = "تَّ" } ; ---- IL assimilated VIII
|
||||
ttacil = ftacil ** { m1 = "" ; h = "تَّ" } ; ---- IL assimilated VIII
|
||||
ttacal = ftacal ** { m1 = "" ; h = "تَّ" } ; ---- IL assimilated VIII
|
||||
ttacil = ftacil ** { m1 = "" ; h = "تَّ" } ; ---- IL assimilated VIII
|
||||
fuccAl = { h = "" ; m1 = "ُ" ; m2 = "َّا" ; t = "" } ;
|
||||
fuccil = { h = "" ; m1 = "ُ" ; m2 = "ِّ" ; t = "" } ;
|
||||
fuccilo = { h = "" ; m1 = "ُ" ; m2 = "ِّ" ; t = "ْ" } ;
|
||||
|
||||
@@ -904,8 +904,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
||||
case st of {
|
||||
Def =>
|
||||
case stem of {
|
||||
s@#sun + v@#vow + x => al + s + v + "ّ" + x ; -- vowel before shadda
|
||||
s@#sun + x => al + s + "ّ" + x;
|
||||
s@#sun + x => fixShd (al + s) ("ّ" + x) ;
|
||||
x => al + x } ;
|
||||
_ => stem
|
||||
};
|
||||
|
||||
@@ -99,12 +99,12 @@ concrete StructuralAra of Structural = CatAra **
|
||||
which_IQuant = {
|
||||
s = \\s,c => case <c,s> of {
|
||||
<Bare,_> => "أيّ" ;
|
||||
<Nom,Indef> => "أيٌّ" ;
|
||||
<Nom,_> => "أيُّ" ;
|
||||
<Nom,Indef> => "أيٌّ" ;
|
||||
<Nom,_> => "أيُّ" ;
|
||||
<Acc,Indef> => "أيّاً" ;
|
||||
<Acc,_> => "أيَّ" ;
|
||||
<Gen,Indef> => "أيٍّ" ;
|
||||
<Gen,_> => "أيِّ"
|
||||
<Acc,_> => "أيَّ" ;
|
||||
<Gen,Indef> => "أيٍّ" ;
|
||||
<Gen,_> => "أيِّ"
|
||||
}
|
||||
} ;
|
||||
whoSg_IP = mkIP "مَنْ" Sg ;
|
||||
|
||||
Reference in New Issue
Block a user