Browse Source

translate: fix uppercase word split during alphabet change

master
Yury Popov 2 years ago
parent
commit
9f2ada4574
No account linked to committer's email address
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      src/libespeak-ng/translate.c

+ 2
- 2
src/libespeak-ng/translate.c View File

@@ -1265,7 +1265,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change)
} else {
if (iswlower(prev_in)) {
// lower case followed by upper case, possibly CamelCase
if (UpperCaseInWord(tr, &sbuf[ix], c) == 0) { // start a new word
if ((prev_out != ' ') && UpperCaseInWord(tr, &sbuf[ix], c) == 0) { // start a new word
c = ' ';
space_inserted = true;
prev_in_save = c;
@@ -1276,7 +1276,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change)

if ((tr->translator_name == L('n', 'l')) && (letter_count == 2) && (c == 'j') && (prev_in == 'I')) {
// Dutch words may capitalise initial IJ, don't split
} else if (IsAlpha(next2_in)) {
} else if ((prev_out != ' ') && IsAlpha(next2_in)) {
// changing from upper to lower case, start new word at the last uppercase, if 3 or more letters
c = ' ';
space_inserted = true;

Loading…
Cancel
Save