Merge pull request #1320

This commit is contained in:
Valdis Vitolins
2022-09-12 22:33:42 +03:00
2 changed files with 7 additions and 3 deletions
+6 -2
View File
@@ -919,8 +919,9 @@ static int GetVowelStress(Translator *tr, unsigned char *phonemes, signed char *
} else if (phcode == phonSYLLABIC) {
// previous consonant phoneme is syllablic
vowel_stress[count] = (char)stress;
if ((stress == 0) && (control & 1))
vowel_stress[count++] = STRESS_IS_UNSTRESSED; // syllabic consonant, usually unstressed
if ((stress < 0) && (control & 1))
vowel_stress[count] = STRESS_IS_UNSTRESSED; // syllabic consonant, usually unstressed
count++;
}
*ph_out++ = phcode;
@@ -1465,6 +1466,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
}
p = phonetic;
/* Note: v progression has to strictly follow the vowel_stress production in GetVowelStress */
while (((phcode = *p++) != 0) && (output < max_output)) {
if ((ph = phoneme_tab[phcode]) == NULL)
continue;
@@ -1474,6 +1476,8 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
else if (((ph->type == phVOWEL) && !(ph->phflags & phNONSYLLABIC)) || (*p == phonSYLLABIC)) {
// a vowel, or a consonant followed by a syllabic consonant marker
assert(v <= vowel_count);
v_stress = vowel_stress[v];
tr->prev_last_stress = v_stress;