[1.45.21]

-x command-line option. Fixed possible buffer overflow when writing phoneme output.

Slavic languages, changed behaviour of [v] during voiced/unvoiced propagation.

When looking for a word boundary when breaking long clauses, allow for greater word size (Southern Indian languages have big words 3-byte UTF-8 character codes).

$combine.  Don't combine with the nerxt word if it is translated using a different language.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@262 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2011-04-27 08:48:58 +00:00
parent 191ec1d37e
commit 2c8d45613b
11 changed files with 101 additions and 49 deletions
+2 -1
View File
@@ -2691,10 +2691,11 @@ if(option_ssml) parag=1;
}
*charix_top = ix;
if(((ix > (n_buf-20)) && !IsAlpha(c1) && !iswdigit(c1)) || (ix >= (n_buf-2)))
if(((ix > (n_buf-75)) && !IsAlpha(c1) && !iswdigit(c1)) || (ix >= (n_buf-4)))
{
// clause too long, getting near end of buffer, so break here
// try to break at a word boundary (unless we actually reach the end of buffer).
// (n_buf-4) is to allow for 3 bytes of multibyte character plus terminator.
buf[ix] = ' ';
buf[ix+1] = 0;
UngetC(c2);