diff --git a/src/zulu/ResZul.gf b/src/zulu/ResZul.gf index 3114117b..e41ecb98 100755 --- a/src/zulu/ResZul.gf +++ b/src/zulu/ResZul.gf @@ -890,13 +890,18 @@ resource ResZul = open Prelude,Predef,ParamX in { => "ku"+root ; => "ko"+root ; => case root of { - ("m"|"n")+_ => "e"+root ; + "m"+_ => "e"+root ; _ => "em"+root } ; => "emi"+root ; - => "e"+root ; -- ili long form (not used?) + => case root of { + "i"+_ => "e" + (last root) ; + #vowel+_ => "el" + root ; + _ => "e"+root -- ili long form (not used?) + } ; => case root of { - "i"+_ => "eme"+root ; + "i"+_ => "eme"+ (last root) ; + #vowel+_ => "em"+root ; _ => "ema"+root } ; -- ame for roots starting with i => case root of { @@ -910,11 +915,13 @@ resource ResZul = open Prelude,Predef,ParamX in { => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?) => case root of { - (#vowel+_ | "w"+_) => "ol"+root ; + #vowel+_ => "olw" + root ; + "w"+_ => "ol"+root ; _ => "o"+root } ; => case root of { - (#vowel+_ | "w"+_) => "ezil" + root ; + #vowel+_ => "ezilw" + root ; + "w"+_ => "ezil" + root ; _ => "ezi"+(prefix_nasal root) } ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) @@ -984,18 +991,19 @@ resource ResZul = open Prelude,Predef,ParamX in { => "u"+root ; => "o"+root ; => case root of { - ("m"|"n")+_+#vowel+#cons+_+#vowel+_ => "u"+root ; + "m"+_+#vowel+#cons+_+#vowel+_ => "u"+root ; _+(#cons|"y")+#vowel+#cons+_+#vowel+_ => "um"+root ; "o"+_ => "um"+root ; _ => "umu"+root } ; -- umu for single syllables, um for the rest => "imi"+root ; => case root of { + "i"+_ => root ; #vowel+_ => "il"+root ; _ => "i"+root -- ili long form (not used?) } ; => case root of { - "i"+_ => "ame"+root ; + "i"+_ => "ame"+(drop 1 root) ; #vowel+_ => "am"+root ; _ => "ama"+root } ; -- ame for roots starting with i @@ -1010,11 +1018,13 @@ resource ResZul = open Prelude,Predef,ParamX in { => "i" + prefix_nasal root ; => "izi" + prefix_nasal root ; => case root of { - (#vowel+_ | "w"+_) => "ul"+root ; + #vowel+_ => "ulw"+root ; + "w"+_ => "ul"+root ; _ => "u"+root } ; => case root of { - (#vowel+_ | "w"+_) => "izil"+root ; + #vowel+_ => "izilw"+root ; + "w"+_ => "izil"+root ; _ => "izi" + prefix_nasal root } ; => "i" + prefix_nasal root ; @@ -1046,16 +1056,17 @@ resource ResZul = open Prelude,Predef,ParamX in { => "ku"+root ; => "ko"+root ; => case root of { - ("m"|"n")+_ => "e"+(addLocSuffix root) ; + "m"+_ => "e"+(addLocSuffix root) ; _ => "em"+(addLocSuffix root) } ; => "emi"+(addLocSuffix root) ; => case root of { + "i"+_ => "e"+(addLocSuffix (drop 1 root)) ; #vowel+_ => "el"+(addLocSuffix root) ; _ => "e"+(addLocSuffix root) -- ili long form (not used?) } ; => case root of { - "i"+_ => "eme"+(addLocSuffix root) ; + "i"+_ => "eme"+(addLocSuffix (drop 1 root)) ; #vowel+_ => "em"+(addLocSuffix root) ; _ => "ema"+(addLocSuffix root) } ; -- ame for roots starting with i @@ -1070,11 +1081,13 @@ resource ResZul = open Prelude,Predef,ParamX in { => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?) => case root of { - (#vowel+_ | "w"+_) => "ol"+(addLocSuffix root) ; + #vowel+_ => "olw"+(addLocSuffix root) ; + "w"+_ => "ol"+(addLocSuffix root) ; _ => "o"+(addLocSuffix root) } ; => case root of { - (#vowel+_ | "w"+_) => "ezil"+(addLocSuffix root) ; + #vowel+_ => "ezilw"+(addLocSuffix root) ; + "w"+_ => "ezil"+(addLocSuffix root) ; _ => "ezi"+(addLocSuffix (prefix_nasal root)) -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh } ; => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) diff --git a/src/zulu/lexica/MultiLexZul.gf b/src/zulu/lexica/MultiLexZul.gf index 553f7944..04aa7ecd 100644 --- a/src/zulu/lexica/MultiLexZul.gf +++ b/src/zulu/lexica/MultiLexZul.gf @@ -192,7 +192,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in { electricity_N = mkN "gesi" C1a_2a ; employee_N = mkN "sebenzi" C7_8 ; employer_N = mkN "qashi" C1_2 ; - eye_N = mkN "hlo" C5_6 ; + eye_N = mkN "ihlo" C5_6 ; face_N = mkN "so" C14 ; family_N = mkN "ndeni" C3_4 ; farmer_N = mkN "limi" C1_2 ;