[1.43.02 release]

Language improvements include Danish rules.

Fixed phoneme [n^] for Klatt synthesizer, was producing noise burst.

espeakedit: Display error details after Compile Dictionary.
espeakedit: Fix: After speaking a word which changes language, Compile
    Dictionary may compile the wrong dictionary.

Don't consider multiple spaces as thousands separator (eg. 2  000 )

Lang=Hungarian, don't allow dot as thousands separator.
Lang-Hungarian, Fix suffixes -a, -e, -az, -ez, -azt, -ezt after numbers.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@239 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-03-09 00:31:31 +00:00
parent 7aab0f05c0
commit aaa5d61737
38 changed files with 4281 additions and 1291 deletions
+22
View File
@@ -1361,6 +1361,18 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
int word_flags;
int word_copy_len;
char word_copy[N_WORD_BYTES+1];
char old_dictionary_name[40];
if((f_logespeak != NULL) && (logging_type & 8))
{
fprintf(f_logespeak,"WORD: flg=%.5x len=%d '",wtab->flags,wtab->length);
for(ix=0; ix<40; ix++)
{
if(word[ix]==0) break;
fputc(word[ix], f_logespeak);
}
fprintf(f_logespeak,"'\n");
}
len = wtab->length;
if(len > 31) len = 31;
@@ -1550,6 +1562,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
if(new_language[0]==0)
new_language = "en";
strcpy(old_dictionary_name, dictionary_name);
switch_phonemes = SetTranslator2(new_language);
if(switch_phonemes >= 0)
@@ -1784,6 +1797,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
if(switch_phonemes >= 0)
{
// this word uses a different phoneme table, now switch back
strcpy(dictionary_name, old_dictionary_name);
SelectPhonemeTable(voice->phoneme_tab_ix);
SetPlist2(&ph_list2[n_ph_list2],phonSWITCH);
ph_list2[n_ph_list2++].tone_ph = voice->phoneme_tab_ix; // original phoneme table number
@@ -2076,6 +2090,14 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
charix[ix] = 0;
terminator = ReadClause(tr, f_text, source, charix, &charix_top, N_TR_SOURCE, &tone2);
if((f_logespeak != NULL) && (logging_type & 4))
{
fprintf(f_logespeak,"CLAUSE %x:\n",terminator);
for(p=source; *p != 0; p++)
fputc(*p, f_logespeak);
fprintf(f_logespeak,"ENDCLAUSE\n");
}
charix[charix_top+1] = 0;
charix[charix_top+2] = 0x7fff;
charix[charix_top+3] = 0;