} | } | ||||
} | } | ||||
static int ReplaceKeyName(char *outbuf, int index, int *outix) | |||||
{ | |||||
// Replace some key-names by single characters, so they can be pronounced in different languages | |||||
static MNEM_TAB keynames[] = { | |||||
{ "space ", 0xe020 }, | |||||
{ "tab ", 0xe009 }, | |||||
{ "underscore ", 0xe05f }, | |||||
{ "double-quote ", '"' }, | |||||
{ NULL, 0 } | |||||
}; | |||||
int ix; | |||||
int letter; | |||||
char *p; | |||||
p = &outbuf[index]; | |||||
if ((letter = LookupMnem(keynames, p)) != 0) { | |||||
ix = utf8_out(letter, p); | |||||
*outix = index + ix; | |||||
return letter; | |||||
} | |||||
return 0; | |||||
} | |||||
static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outbuf, bool self_closing) | static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outbuf, bool self_closing) | ||||
{ | { | ||||
// xml_buf is the tag and attributes with a zero terminator in place of the original '>' | // xml_buf is the tag and attributes with a zero terminator in place of the original '>' |
return NULL; | return NULL; | ||||
} | } | ||||
int ReplaceKeyName(char *outbuf, int index, int *outix) | |||||
{ | |||||
// Replace some key-names by single characters, so they can be pronounced in different languages | |||||
static MNEM_TAB keynames[] = { | |||||
{ "space ", 0xe020 }, | |||||
{ "tab ", 0xe009 }, | |||||
{ "underscore ", 0xe05f }, | |||||
{ "double-quote ", '"' }, | |||||
{ NULL, 0 } | |||||
}; | |||||
int ix; | |||||
int letter; | |||||
char *p; | |||||
p = &outbuf[index]; | |||||
if ((letter = LookupMnem(keynames, p)) != 0) { | |||||
ix = utf8_out(letter, p); | |||||
*outix = index + ix; | |||||
return letter; | |||||
} | |||||
return 0; | |||||
} | |||||
PARAM_STACK *PushParamStack(int tag_type, int *n_param_stack, PARAM_STACK *param_stack); | PARAM_STACK *PushParamStack(int tag_type, int *n_param_stack, PARAM_STACK *param_stack); | ||||
const char *VoiceFromStack(SSML_STACK *ssml_stack, int n_ssml_stack, espeak_VOICE *base_voice, char base_voice_variant_name[40]); | const char *VoiceFromStack(SSML_STACK *ssml_stack, int n_ssml_stack, espeak_VOICE *base_voice, char base_voice_variant_name[40]); | ||||
void PopParamStack(int tag_type, char *outbuf, int *outix, int *n_param_stack, PARAM_STACK *param_stack, int *speech_parameters); | void PopParamStack(int tag_type, char *outbuf, int *outix, int *n_param_stack, PARAM_STACK *param_stack, int *speech_parameters); | ||||
int ReplaceKeyName(char *outbuf, int index, int *outix); |