This will make it easier to set a default voice other than
English. This is important for cases when a language will fall back to
the default voice.
Some references to L('e', 'n') still need to be changed.
master
| @@ -378,8 +378,8 @@ const char *EncodePhonemes(const char *p, char *outptr, int *bad_phoneme) | |||
| } | |||
| *outptr = 0; | |||
| if (c == 0) { | |||
| if (strcmp(p_lang, "en") == 0) { | |||
| *p_lang = 0; // don't need "en", it's assumed by default | |||
| if (strcmp(p_lang, ESPEAKNG_DEFAULT_VOICE) == 0) { | |||
| *p_lang = 0; // don't need ESPEAKNG_DEFAULT_VOICE, it's assumed by default | |||
| return p; | |||
| } | |||
| } else | |||
| @@ -500,7 +500,7 @@ void LookupLetter(Translator *tr, unsigned int letter, int next_byte, char *ph_b | |||
| if (tr->translator_name == L('e', 'n')) | |||
| return; // we are already using English | |||
| SetTranslator2("en"); | |||
| SetTranslator2(ESPEAKNG_DEFAULT_VOICE); | |||
| if (Lookup(translator2, &single_letter[2], ph_buf3) != 0) { | |||
| // yes, switch to English and re-translate the word | |||
| sprintf(ph_buf1, "%c", phonSWITCH); | |||
| @@ -719,7 +719,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control, ALP | |||
| // don't say "superscript" during normal text reading | |||
| Lookup(tr, modifier, capital); | |||
| if (capital[0] == 0) { | |||
| capital[2] = SetTranslator2("en"); // overwrites previous contents of translator2 | |||
| capital[2] = SetTranslator2(ESPEAKNG_DEFAULT_VOICE); // overwrites previous contents of translator2 | |||
| Lookup(translator2, modifier, &capital[3]); | |||
| if (capital[3] != 0) { | |||
| capital[0] = phonPAUSE; | |||
| @@ -763,7 +763,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control, ALP | |||
| ph_buf2[0] = 0; | |||
| if (Lookup(translator, alphabet->name, ph_alphabet) == 0) { // the original language for the current voice | |||
| // Can't find the local name for this alphabet, use the English name | |||
| ph_alphabet[2] = SetTranslator2("en"); // overwrites previous contents of translator2 | |||
| ph_alphabet[2] = SetTranslator2(ESPEAKNG_DEFAULT_VOICE); // overwrites previous contents of translator2 | |||
| Lookup(translator2, alphabet->name, ph_buf2); | |||
| } else if (translator != tr) { | |||
| phontab_1 = tr->phoneme_tab_ix; | |||
| @@ -253,7 +253,7 @@ static const char *LookupCharName(Translator *tr, int c, int only) | |||
| if ((only == 0) && ((phonemes[0] == 0) || (phonemes[0] == phonSWITCH)) && (tr->translator_name != L('e', 'n'))) { | |||
| // not found, try English | |||
| SetTranslator2("en"); | |||
| SetTranslator2(ESPEAKNG_DEFAULT_VOICE); | |||
| string = &single_letter[1]; | |||
| single_letter[1] = '_'; | |||
| if (LookupDictList(translator2, &string, phonemes, flags, 0, NULL) == 0) { | |||
| @@ -261,7 +261,7 @@ static const char *LookupCharName(Translator *tr, int c, int only) | |||
| LookupDictList(translator2, &string, phonemes, flags, 0, NULL); | |||
| } | |||
| if (phonemes[0]) | |||
| lang_name = "en"; | |||
| lang_name = ESPEAKNG_DEFAULT_VOICE; | |||
| else | |||
| SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | |||
| } | |||
| @@ -270,7 +270,7 @@ static const char *LookupCharName(Translator *tr, int c, int only) | |||
| if (lang_name) { | |||
| SetWordStress(translator2, phonemes, flags, -1, 0); | |||
| DecodePhonemes(phonemes, phonemes2); | |||
| sprintf(buf, "[\002_^_%s %s _^_%s]]", "en", phonemes2, WordToString2(tr->translator_name)); | |||
| sprintf(buf, "[\002_^_%s %s _^_%s]]", ESPEAKNG_DEFAULT_VOICE, phonemes2, WordToString2(tr->translator_name)); | |||
| SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | |||
| } else { | |||
| SetWordStress(tr, phonemes, flags, -1, 0); | |||
| @@ -442,7 +442,7 @@ static espeak_ng_STATUS Synthesize(unsigned int unique_identifier, const void *t | |||
| espeak_ng_STATUS status; | |||
| if (translator == NULL) { | |||
| status = espeak_ng_SetVoiceByName("en"); | |||
| status = espeak_ng_SetVoiceByName(ESPEAKNG_DEFAULT_VOICE); | |||
| if (status != ENS_OK) | |||
| return status; | |||
| } | |||
| @@ -712,7 +712,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
| if (unpron_phonemes[0] == phonSWITCH) { | |||
| // change to another language in order to translate this word | |||
| strcpy(word_phonemes, unpron_phonemes); | |||
| if (strcmp(&unpron_phonemes[1], "en") == 0) | |||
| if (strcmp(&unpron_phonemes[1], ESPEAKNG_DEFAULT_VOICE) == 0) | |||
| return FLAG_SPELLWORD; // _^_en must have been set in TranslateLetter(), not *_rules which uses only _^_ | |||
| return 0; | |||
| } | |||
| @@ -1423,7 +1423,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
| new_language = (char *)(&p[1]); | |||
| if (new_language[0] == 0) | |||
| new_language = "en"; | |||
| new_language = ESPEAKNG_DEFAULT_VOICE; | |||
| switch_phonemes = SetTranslator2(new_language); | |||
| @@ -578,7 +578,7 @@ voice_t *LoadVoice(const char *vname, int control) | |||
| f_voice = fopen(buf, "r"); | |||
| if (!(control & 8)/*compiling phonemes*/) | |||
| language_type = "en"; // default | |||
| language_type = ESPEAKNG_DEFAULT_VOICE; // default | |||
| else | |||
| language_type = ""; | |||