|
|
@@ -29,44 +29,6 @@ typedef struct { |
|
|
|
#define HTML_NOSPACE 16 // don't insert a space for this element, so it doesn't break a word |
|
|
|
#define SSML_CLOSE 0x20 // for a closing tag, OR this with the tag type |
|
|
|
|
|
|
|
static MNEM_TAB ssmltags[] = { |
|
|
|
{ "speak", SSML_SPEAK }, |
|
|
|
{ "voice", SSML_VOICE }, |
|
|
|
{ "prosody", SSML_PROSODY }, |
|
|
|
{ "say-as", SSML_SAYAS }, |
|
|
|
{ "mark", SSML_MARK }, |
|
|
|
{ "s", SSML_SENTENCE }, |
|
|
|
{ "p", SSML_PARAGRAPH }, |
|
|
|
{ "phoneme", SSML_PHONEME }, |
|
|
|
{ "sub", SSML_SUB }, |
|
|
|
{ "tts:style", SSML_STYLE }, |
|
|
|
{ "audio", SSML_AUDIO }, |
|
|
|
{ "emphasis", SSML_EMPHASIS }, |
|
|
|
{ "break", SSML_BREAK }, |
|
|
|
{ "metadata", SSML_IGNORE_TEXT }, |
|
|
|
|
|
|
|
{ "br", HTML_BREAK }, |
|
|
|
{ "li", HTML_BREAK }, |
|
|
|
{ "dd", HTML_BREAK }, |
|
|
|
{ "img", HTML_BREAK }, |
|
|
|
{ "td", HTML_BREAK }, |
|
|
|
{ "h1", SSML_PARAGRAPH }, |
|
|
|
{ "h2", SSML_PARAGRAPH }, |
|
|
|
{ "h3", SSML_PARAGRAPH }, |
|
|
|
{ "h4", SSML_PARAGRAPH }, |
|
|
|
{ "hr", SSML_PARAGRAPH }, |
|
|
|
{ "script", SSML_IGNORE_TEXT }, |
|
|
|
{ "style", SSML_IGNORE_TEXT }, |
|
|
|
{ "font", HTML_NOSPACE }, |
|
|
|
{ "b", HTML_NOSPACE }, |
|
|
|
{ "i", HTML_NOSPACE }, |
|
|
|
{ "strong", HTML_NOSPACE }, |
|
|
|
{ "em", HTML_NOSPACE }, |
|
|
|
{ "code", HTML_NOSPACE }, |
|
|
|
|
|
|
|
{ NULL, 0 } |
|
|
|
}; |
|
|
|
|
|
|
|
int LoadSoundFile2(const char *fname); |
|
|
|
int AddNameData(const char *name, int wide); |
|
|
|
int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outbuf, bool self_closing, const char *xmlbase, bool *audio_text, char *current_voice_id, espeak_VOICE *base_voice, char *base_voice_variant_name, bool *ignore_text, bool *clear_skipping_text, int *sayas_mode, int *sayas_start, SSML_STACK *ssml_stack, int *n_ssml_stack, int *n_param_stack, int *speech_parameters); |