From e7c8841f9e1efca199d75bd8205416ccc6af9b31 Mon Sep 17 00:00:00 2001 From: Anh Hoang Nguyen Date: Fri, 15 Mar 2019 17:07:10 +0700 Subject: [PATCH] vi: modify length of phoneme i relatively to final consonants --- dictsource/vi_rules | 1 + phsource/ph_vietnam | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/dictsource/vi_rules b/dictsource/vi_rules index 7e2ba50a..0f6079e4 100644 --- a/dictsource/vi_rules +++ b/dictsource/vi_rules @@ -1003,6 +1003,7 @@ ỵ ỵ u u u (A w A) u w + gi) u u ui uI uì uI2 uí uI3 diff --git a/phsource/ph_vietnam b/phsource/ph_vietnam index 9a0b1f78..ffbfd262 100644 --- a/phsource/ph_vietnam +++ b/phsource/ph_vietnam @@ -111,15 +111,29 @@ phoneme i IF prevPhW(w) THEN VowelStart(w/wi) ENDIF - IF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN + IF nextPhW(p) THEN + length 131 + ELIF nextPhW(t) THEN + length 113 + ELIF nextPhW(c) OR nextPhW(n^) THEN + length 72 + ELIF nextPhW(m) THEN + length 120 + ELIF nextPhW(n) THEN + length 128 + ELIF nextPhW(N) THEN + length 97 + ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN length 240 + ELIF thisPh(isFirstVowel) AND thisPh(isFinalVowel) AND thisPh(isWordStart) THEN + length 240 + ELSE + length 180 ENDIF IF nextPh(n^) OR nextPh(c) THEN - length 100 FMT(vnasal/ii_n) ELSE - length 180 -FMT(vowel/i_4) + FMT(vowel/i_4) ENDIF endphoneme