[1.45.37]

Keep the original voice variant across SSML xml:lang changes.

Use the original language sub-type (eg. en-sc) when SSML xml:lang changes to a compatible language.

SSML <emphasis>, increase volume for "strong" and "x-strong".

Fix bug where </emphasis> was ignored at end of clause.

Fix: $dot attribute was ignored for multi-word entries in *_list files.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@269 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2011-08-09 17:49:17 +00:00
parent 05962fccac
commit b9611e1fb6
51 changed files with 2165 additions and 969 deletions
+14 -3
View File
@@ -617,8 +617,8 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out)
*/
int ix;
int len;
int max_len;
unsigned int len;
unsigned int max_len;
int phon_out_ix=0;
int stress;
unsigned int c;
@@ -2928,7 +2928,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
const char *word_end;
const char *word1;
int wflags = 0;
int wflags2;
// int wflags2;
char word_buf[N_WORD_BYTES+1];
if(wtab != NULL)
@@ -3497,6 +3497,17 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy)
if(end_type & SUFX_E)
{
if(tr->translator_name == L('n','l'))
{
if(((word_end[0] & 0x80) == 0) && ((word_end[-1] & 0x80) == 0) && IsVowel(tr, word_end[-1]) && IsLetter(tr, word_end[0], LETTERGP_C) && !IsVowel(tr, word_end[-2]))
{
//double the vowel before the (ascii) final consonant
word_end[1] = word_end[0];
word_end[0] = word_end[-1];
word_end[2] = ' ';
}
}
else
if(tr->translator_name == L('e','n'))
{
// add 'e' to end of stem