Support capitalized words in text-based replacements. This is important in languages like German that differentiate pronunciation on case. Even English does this (e.g. Polish/polish).

This commit is contained in:
Reece H. Dunn
2017-05-19 07:13:22 +01:00
parent 28088e488b
commit ee07eaa733
+9
View File
@@ -1135,6 +1135,15 @@ int TranslateWord(Translator *tr, char *word_start, WORD_TAB *wtab, char *word_o
int flags = TranslateWord3(tr, word_start, wtab, word_out);
if (flags & FLAG_TEXTMODE && word_out) {
while (*word_out && available > 1) {
int c;
utf8_in(&c, word_out);
if (iswupper(c)) {
wtab->flags |= FLAG_FIRST_UPPER;
utf8_out(tolower(c), word_out);
} else {
wtab->flags &= ~FLAG_FIRST_UPPER;
}
TranslateWord3(tr, word_out, wtab, NULL);
int n;