|
|
@@ -513,7 +513,7 @@ static int CheckDottedAbbrev(char *word1) |
|
|
|
if (word[nbytes+1] == '.') { |
|
|
|
if (word[nbytes+2] == ' ') |
|
|
|
ok = 1; |
|
|
|
else if (word[nbytes+2] == '\'') { |
|
|
|
else if (word[nbytes+2] == '\'' && word[nbytes+3] == 's') { |
|
|
|
nbytes += 2; // delete the final dot (eg. u.s.a.'s) |
|
|
|
ok = 2; |
|
|
|
} |
|
|
@@ -2408,7 +2408,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) |
|
|
|
c = ' '; // remove the dot if it's followed by a space or hyphen, so that it's not pronounced |
|
|
|
} |
|
|
|
} else if (c == '\'') { |
|
|
|
if (((prev_in == '.') || iswalnum(prev_in)) && IsAlpha(next_in)) { |
|
|
|
if (((prev_in == '.' && next_in == 's') || iswalnum(prev_in)) && IsAlpha(next_in)) { |
|
|
|
// between two letters, or in an abbreviation (eg. u.s.a.'s). Consider the apostrophe as part of the word |
|
|
|
single_quoted = false; |
|
|
|
} else if ((tr->langopts.param[LOPT_APOSTROPHE] & 1) && IsAlpha(next_in)) |