From 51eb1dbb1a0da6edc79af7415c16945b588bea11 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 26 Feb 2019 16:59:26 +0100 Subject: [PATCH] (Pes) WIP vowels for TTS support Vowels are in Str variables, if you want vowels, only change the value of the variable in one place. Default value is empty string. --- src/persian/MorphoPes.gf | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/persian/MorphoPes.gf b/src/persian/MorphoPes.gf index dff9b2bbe..5a9d26a44 100644 --- a/src/persian/MorphoPes.gf +++ b/src/persian/MorphoPes.gf @@ -21,6 +21,11 @@ oper ZWNJ : Str = "‌" ; zwnj : Str -> Str -> Str = \s1,s2 -> s1 + ZWNJ + s2 ; + -- kasre : Str = "ِ" ; -- To enable vowels for TTS input + -- fatha : Str = "َ" ; + kasre,fatha : Str = [] ; + + ---- Nouns param Animacy = Animate | Inanimate ; @@ -55,21 +60,17 @@ oper oper -mkPossStem : Str -> Str = \str -> - - case str of { -_+ "اه" => str ; -_+ "او" => str ; -_+ "وه" => str ; -_+ ("ا"|"و") => str + "ی" ; -_+ "ه" => zwnj str "ا" ; -_ => str } ; + mkPossStem : Str -> Str = \str -> + case str of { + _ + ("اه"|"او"|"وه") + => str + fatha ; + _ + ("ا"|"و") => str + fatha + "ی" ; + _ + "ه" => zwnj str "ا" ; + _ => str + fatha } ; mkEzafe : Str -> Str = \str -> - --let kasre = "ِ" in -- TODO: Eventually use this - let kasre = "" in case str of { st + "اه" => str + kasre ; st + "وه" => str + kasre ;