From 61838b818ea404c29129a7ded45e228a516fa9d9 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 7 Feb 2019 19:34:21 +0100 Subject: [PATCH] (Pes) Fix orthography and add a vowel diacritic in mkEzafa and mkEnclic --- src/persian/MorphoPes.gf | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/persian/MorphoPes.gf b/src/persian/MorphoPes.gf index 9b5e2a97f..9c4037eef 100644 --- a/src/persian/MorphoPes.gf +++ b/src/persian/MorphoPes.gf @@ -55,23 +55,24 @@ oper oper mkEzafa : Str -> Str ; - mkEzafa str = case str of { - st + "اه" => str ; - st + "وه" => str ; + mkEzafa str = let kasre = "ِ" in + case str of { + st + "اه" => str + kasre ; + st + "وه" => str + kasre ; st + "ه" => st + "ۀ" ; -- str ++ "ی" ; - st + "او" => str ; - st + "وو" => str ; + st + "او" => str + kasre ; + st + "وو" => str + kasre ; st + "و" => str + "ی" ; st + "ا" => str + "ی" ; - _ => str - }; + _ => str + kasre + }; + mkEnclic : Str -> Str ; mkEnclic str = case str of { - st + "ا" => str ++ "یی" ; - st + "و" => str ++ "یی" ; - st + "ی" => str ++ "یی" ; -- TODO - st + "ه" => str ++ "یی" ; - _ => str + "ی" + st + ("ا"|"و") => zwnj str "یی" ; -- ی after a long vowel to help pronunciation + st + "اه" => str + "ی" ; -- here ه is a consonant, so single ی + st + ("ی"|"ه") => zwnj str "ای" ; -- after ی or ه as a vowel, add an alif to help pronunciation + _ => str + "ی" -- any other case: just a single ی } ; Noun = {s : Ezafa => Number => Str ; animacy : Animacy ; definitness : Bool } ;