mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 21:39:47 +00:00
[1.46.39]
Fixes to speaking characters from foreign alphabets. Allow $textmode and $text to translate between words in different alphabets. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@305 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+13
-6
@@ -798,14 +798,25 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_DICTRULES: // conditional dictionary rules and list entries
|
||||
case V_NUMBERS:
|
||||
// expect a list of numbers
|
||||
while(*p != 0)
|
||||
{
|
||||
while(isspace(*p)) p++;
|
||||
n = -1;
|
||||
if(((n = atoi(p)) > 0) && (n < 32))
|
||||
if((n = atoi(p)) > 0)
|
||||
{
|
||||
p++;
|
||||
conditional_rules |= (1 << n);
|
||||
if((key==V_DICTRULES) && (n < 32))
|
||||
conditional_rules |= (1 << n);
|
||||
else
|
||||
if((key==V_NUMBERS) && (n < 32))
|
||||
langopts->numbers |= (1 << n);
|
||||
else
|
||||
if((key==V_NUMBERS) && (n < 64))
|
||||
langopts->numbers |= (1 << (n-32));
|
||||
else
|
||||
fprintf(stderr,"Bad option number %d\n", n);
|
||||
}
|
||||
while(isalnum(*p)) p++;
|
||||
}
|
||||
@@ -837,10 +848,6 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
new_translator->charset_a0 = charsets[value];
|
||||
break;
|
||||
|
||||
case V_NUMBERS:
|
||||
sscanf(p,"%d %d",&langopts->numbers,&langopts->numbers2);
|
||||
break;
|
||||
|
||||
case V_OPTION:
|
||||
value2 = 0;
|
||||
if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0))
|
||||
|
||||
Reference in New Issue
Block a user