| return terminator; | return terminator; | ||||
| } | } | ||||
| if ((c1 == CTRL_EMBEDDED) || (c1 == ctrl_embedded)) { | if (c1 == CTRL_EMBEDDED) { | ||||
| // an embedded command. If it's a voice change, end the clause | // an embedded command. If it's a voice change, end the clause | ||||
| if (c2 == 'V') { | if (c2 == 'V') { | ||||
| buf[ix++] = 0; // end the clause at this point | buf[ix++] = 0; // end the clause at this point | ||||
| while (!iswspace(c1 = GetC()) && !Eof() && (ix < (n_buf-1))) | while (!iswspace(c1 = GetC()) && !Eof() && (ix < (n_buf-1))) | ||||
| continue; | continue; | ||||
| } | } | ||||
| if ((iswspace(c2) || (punct_data & CLAUSE_OPTIONAL_SPACE_AFTER) || IsBracket(c2) || (c2 == '?') || Eof() || (c2 == ctrl_embedded))) { // don't check for '-' because it prevents recognizing ':-)' | if (iswspace(c2) || (punct_data & CLAUSE_OPTIONAL_SPACE_AFTER) || IsBracket(c2) || (c2 == '?') || Eof() || c2 == CTRL_EMBEDDED) { // don't check for '-' because it prevents recognizing ':-)' | ||||
| // note: (c2='?') is for when a smart-quote has been replaced by '?' | // note: (c2='?') is for when a smart-quote has been replaced by '?' | ||||
| is_end_clause = true; | is_end_clause = true; | ||||
| } | } |
| PHONEME_LIST2 ph_list2[N_PHONEME_LIST]; // first stage of text->phonemes | PHONEME_LIST2 ph_list2[N_PHONEME_LIST]; // first stage of text->phonemes | ||||
| wchar_t option_punctlist[N_PUNCTLIST] = { 0 }; | wchar_t option_punctlist[N_PUNCTLIST] = { 0 }; | ||||
| char ctrl_embedded = '\001'; // to allow an alternative CTRL for embedded commands | |||||
| // these are overridden by defaults set in the "speak" file | // these are overridden by defaults set in the "speak" file | ||||
| int option_linelength = 0; | int option_linelength = 0; | ||||
| c = ' '; | c = ' '; | ||||
| } | } | ||||
| if ((c == CTRL_EMBEDDED) || (c == ctrl_embedded)) { | if (c == CTRL_EMBEDDED) { | ||||
| // start of embedded command in the text | // start of embedded command in the text | ||||
| int srcix = source_index-1; | int srcix = source_index-1; | ||||
| extern Translator *translator; | extern Translator *translator; | ||||
| extern Translator *translator2; | extern Translator *translator2; | ||||
| extern char dictionary_name[40]; | extern char dictionary_name[40]; | ||||
| extern char ctrl_embedded; // to allow an alternative CTRL for embedded commands | |||||
| extern espeak_ng_TEXT_DECODER *p_decoder; | extern espeak_ng_TEXT_DECODER *p_decoder; | ||||
| extern int dictionary_skipwords; | extern int dictionary_skipwords; | ||||