| return acc; | return acc; | ||||
| } | } | ||||
| unsigned int StringToWord(const char *string) | |||||
| { | |||||
| // Pack 4 characters into a word | |||||
| int ix; | |||||
| unsigned char c; | |||||
| unsigned int word; | |||||
| if (string == NULL) | |||||
| return 0; | |||||
| word = 0; | |||||
| for (ix = 0; ix < 4; ix++) { | |||||
| if (string[ix] == 0) break; | |||||
| c = string[ix]; | |||||
| word |= (c << (ix*8)); | |||||
| } | |||||
| return word; | |||||
| } | |||||
| int towlower2(unsigned int c, Translator *translator) | int towlower2(unsigned int c, Translator *translator) | ||||
| { | { | ||||
| // check for non-standard upper to lower case conversions | // check for non-standard upper to lower case conversions |
| int isspace2(unsigned int c); | int isspace2(unsigned int c); | ||||
| int is_str_totally_null(const char* str, int size); // Tests if all bytes of str up to size are null | int is_str_totally_null(const char* str, int size); // Tests if all bytes of str up to size are null | ||||
| int Read4Bytes(FILE *f); | int Read4Bytes(FILE *f); | ||||
| unsigned int StringToWord(const char *string); | |||||
| int towlower2(unsigned int c, Translator *translator); // Supports Turkish I | int towlower2(unsigned int c, Translator *translator); // Supports Turkish I | ||||
| ESPEAK_NG_API int utf8_in(int *c, const char *buf); | ESPEAK_NG_API int utf8_in(int *c, const char *buf); |
| #include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
| #include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
| #include "common.h" // for GetFileLength, strncpy0, ... | |||||
| #include "common.h" // for GetFileLength, strncpy0, ...c | |||||
| #include "error.h" // for create_file_error_context | #include "error.h" // for create_file_error_context | ||||
| #include "mnemonics.h" // for LookupMnemName, MNEM_TAB | #include "mnemonics.h" // for LookupMnemName, MNEM_TAB | ||||
| #include "phoneme.h" // for PHONEME_TAB, PHONEME_TAB_LIST | #include "phoneme.h" // for PHONEME_TAB, PHONEME_TAB_LIST | ||||
| error("%s.", message); | error("%s.", message); | ||||
| } | } | ||||
| static unsigned int StringToWord(const char *string) | |||||
| { | |||||
| // Pack 4 characters into a word | |||||
| int ix; | |||||
| unsigned char c; | |||||
| unsigned int word; | |||||
| if (string == NULL) | |||||
| return 0; | |||||
| word = 0; | |||||
| for (ix = 0; ix < 4; ix++) { | |||||
| if (string[ix] == 0) break; | |||||
| c = string[ix]; | |||||
| word |= (c << (ix*8)); | |||||
| } | |||||
| return word; | |||||
| } | |||||
| static const MNEM_TAB reserved_phonemes[] = { | static const MNEM_TAB reserved_phonemes[] = { | ||||
| { "_\001", phonCONTROL }, // NOT USED | { "_\001", phonCONTROL }, // NOT USED | ||||
| { "%", phonSTRESS_U }, | { "%", phonSTRESS_U }, |
| #include "mbrola.h" | #include "mbrola.h" | ||||
| #include "error.h" // for create_file_error_context | #include "error.h" // for create_file_error_context | ||||
| #include "common.h" // for StringToWord | |||||
| #include "mbrola.h" // for MBROLA_TAB | #include "mbrola.h" // for MBROLA_TAB | ||||
| #include "phoneme.h" // for N_PHONEME_TAB | #include "phoneme.h" // for N_PHONEME_TAB | ||||
| #include "speech.h" // for path_home | #include "speech.h" // for path_home | ||||
| return current == filename ? current : current + 1; | return current == filename ? current : current + 1; | ||||
| } | } | ||||
| static unsigned int StringToWord(const char *string) | |||||
| { | |||||
| // Pack 4 characters into a word | |||||
| int ix; | |||||
| unsigned char c; | |||||
| unsigned int word; | |||||
| if (string == NULL) | |||||
| return 0; | |||||
| word = 0; | |||||
| for (ix = 0; ix < 4; ix++) { | |||||
| if (string[ix] == 0) break; | |||||
| c = string[ix]; | |||||
| word |= (c << (ix*8)); | |||||
| } | |||||
| return word; | |||||
| } | |||||
| #pragma GCC visibility push(default) | #pragma GCC visibility push(default) | ||||
| espeak_ng_STATUS espeak_ng_CompileMbrolaVoice(const char *filepath, FILE *log, espeak_ng_ERROR_CONTEXT *context) | espeak_ng_STATUS espeak_ng_CompileMbrolaVoice(const char *filepath, FILE *log, espeak_ng_ERROR_CONTEXT *context) | ||||
| { | { |