[1.47.14]

Language changes:
an, en, es, fa, gu, it, pt, ta, te.

Voice files: added attribute 'dictdialect', eg:
dictdialect en-us
uses the US English voice to speak words or rules which are marked with _^_EN


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@366 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2013-11-29 22:16:55 +00:00
parent eaba1458d3
commit e8b87dbf8c
45 changed files with 8281 additions and 1678 deletions
+22 -9
View File
@@ -526,7 +526,7 @@ unsigned short ipa1[96] = {
};
#define N_PHON_OUT 500 // realloc increment
static char *phon_out_buf = NULL;
static char *phon_out_buf = NULL; // passes the result of GetTranslatedPhonemeString()
static int phon_out_size = 0;
@@ -663,6 +663,16 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
use_ipa = phoneme_mode & 0x10;
use_tie = phoneme_mode & 0x0f;
if(phon_out_buf == NULL)
{
phon_out_size = N_PHON_OUT;
if((phon_out_buf = (char *)realloc(phon_out_buf, phon_out_size)) == NULL)
{
phon_out_size = 0;
return("");
}
}
if(use_tie >= 3)
{
// separate individual phonemes with underscores
@@ -670,6 +680,7 @@ const char *GetTranslatedPhonemeString(int phoneme_mode)
use_tie = 0;
}
for(ix=1; ix<(n_phoneme_list-2); ix++)
{
buf = phon_buf;
@@ -2911,9 +2922,10 @@ int TransposeAlphabet(Translator *tr, char *text)
int acc;
int pairs_start;
const short *pairs_list;
char buf[N_WORD_BYTES];
int bufix;
char buf[N_WORD_BYTES+1];
p2 = buf;
offset = tr->transpose_min - 1;
min = tr->transpose_min;
max = tr->transpose_max;
@@ -2921,6 +2933,7 @@ int TransposeAlphabet(Translator *tr, char *text)
pairs_start = max - min + 2;
bufix = 0;
do {
p += utf8_in(&c,p);
if(c != 0)
@@ -2929,30 +2942,30 @@ int TransposeAlphabet(Translator *tr, char *text)
{
if(map == NULL)
{
*p2++ = c - offset;
buf[bufix++] = c - offset;
}
else
{
// get the code from the transpose map
if(map[c - min] > 0)
{
*p2++ = map[c - min];
buf[bufix++] = map[c - min];
}
else
{
p2 += utf8_out(c,p2);
all_alpha=0;
break;
}
}
}
else
{
p2 += utf8_out(c,p2);
all_alpha=0;
break;
}
}
} while (c != 0);
*p2 = 0;
} while ((c != 0) && (bufix < N_WORD_BYTES));
buf[bufix] = 0;
if(all_alpha)
{