[1.47.11a]

Fix: Flush stderr() after espeak_CompileDictionary().
Fix: parallel formant parameters for Klatt synthesizer.
Changes for Malayalam numbers.
Language changes: en-us,  nl, pt, sl, ta, ur.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@359 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2013-05-18 11:25:44 +00:00
parent bfca3abac2
commit 9d17fb5482
27 changed files with 630 additions and 314 deletions
+8 -2
View File
@@ -237,6 +237,7 @@ static const char transpose_map_latin[] = {
tr->charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8
dictionary_name[0] = 0;
tr->dictionary_name[0] = 0;
tr->dict_condition=0;
tr->dict_min_size = 0;
tr->data_dictrules = NULL; // language_1 translation rules file
@@ -471,12 +472,13 @@ Translator *SelectTranslator(const char *name)
static const short stress_lengths_ta2[8] = {230, 230, 240, 240, 0, 0, 260, 260};
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
tr = NewTranslator();
strcpy(tr->dictionary_name, name);
// convert name string into a word of up to 4 characters, for the switch()
while(*name != 0)
name2 = (name2 << 8) + *name++;
tr = NewTranslator();
switch(name2)
{
case L('a','f'):
@@ -898,6 +900,8 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230};
static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260};
strcpy(tr->dictionary_name, "hbs");
if(name2 == L('s','r'))
SetupTranslator(tr,stress_lengths_sr,stress_amps_hr);
else
@@ -1395,6 +1399,7 @@ SetLengthMods(tr,3); // all equal
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN;
tr->langopts.numbers2 = 0x100; // plural forms of millions etc
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator
tr->langopts.replace_chars = replace_cyrillic_latin;
break;
case L('s','q'): // Albanian
@@ -1477,6 +1482,7 @@ SetLengthMods(tr,3); // all equal
{
tr->letter_bits_offset = OFFSET_MALAYALAM;
tr->langopts.numbers = NUM_OMIT_1_THOUSAND;
tr->langopts.numbers2 = NUM2_OMIT_1_HUNDRED_ONLY;
}
else
if(name2 == L('k','n'))