From 78749f14f8fc941b3ab86436e09494804a5c7c4d Mon Sep 17 00:00:00 2001 From: Juho Hiltunen Date: Thu, 15 Feb 2018 19:36:29 +0200 Subject: [PATCH] readability fix: use boolean instead of 0 and 1 for loop control --- src/libespeak-ng/compiledata.c | 64 +++++++------- src/libespeak-ng/compiledict.c | 57 ++++++------ src/libespeak-ng/dictionary.c | 26 +++--- src/libespeak-ng/intonation.c | 42 ++++----- src/libespeak-ng/numbers.c | 50 +++++------ src/libespeak-ng/phonemelist.c | 20 ++--- src/libespeak-ng/readclause.c | 74 ++++++++-------- src/libespeak-ng/setlengths.c | 16 ++-- src/libespeak-ng/speech.c | 4 +- src/libespeak-ng/synth_mbrola.c | 20 ++--- src/libespeak-ng/synthdata.c | 8 +- src/libespeak-ng/synthesize.c | 32 +++---- src/libespeak-ng/tr_languages.c | 2 +- src/libespeak-ng/translate.c | 149 ++++++++++++++++---------------- src/libespeak-ng/translate.h | 6 +- src/libespeak-ng/voices.c | 12 +-- 16 files changed, 289 insertions(+), 293 deletions(-) diff --git a/src/libespeak-ng/compiledata.c b/src/libespeak-ng/compiledata.c index 9cd68d65..1c439923 100644 --- a/src/libespeak-ng/compiledata.c +++ b/src/libespeak-ng/compiledata.c @@ -406,7 +406,7 @@ static int error_count = 0; static int resample_count = 0; static int resample_fails = 0; static int then_count = 0; -static int after_if = 0; +static bool after_if = false; static char current_fname[80]; @@ -442,7 +442,7 @@ int if_level; typedef struct { USHORT *p_then; USHORT *p_else; - int returned; + bool returned; } IF_STACK; IF_STACK if_stack[N_IF_STACK]; @@ -1196,9 +1196,9 @@ static int LoadWavefile(FILE *f, const char *fname) int max = 0; int length; int sr1, sr2; - int failed; + bool failed; int len; - int resample_wav = 0; + bool resample_wav = false; const char *fname2; char fname_temp[100]; char msg[120]; @@ -1213,7 +1213,7 @@ static int LoadWavefile(FILE *f, const char *fname) int fd_temp; char command[sizeof(path_home)+250]; - failed = 0; + failed = false; #ifdef HAVE_MKSTEMP strcpy(fname_temp, "/tmp/espeakXXXXXX"); @@ -1233,7 +1233,7 @@ static int LoadWavefile(FILE *f, const char *fname) sprintf(command, "sox \"%s/%s.wav\" -r %d -c1 -t wav %s\n", phsrc, fname2, samplerate_native, fname_temp); if (system(command) != 0) - failed = 1; + failed = true; if (failed || (GetFileLength(fname_temp) <= 0)) { if (resample_fails < 2) @@ -1256,7 +1256,7 @@ static int LoadWavefile(FILE *f, const char *fname) if (f_report != NULL) fprintf(f_report, "resampled %s\n", fname); resample_count++; - resample_wav = 1; + resample_wav = true; fseek(f, 40, SEEK_SET); // skip past the WAV header, up to before "data length" } @@ -1328,7 +1328,7 @@ static int LoadWavefile(FILE *f, const char *fname) length++; } - if (resample_wav != 0) { + if (resample_wav == true) { fclose(f); remove(fname_temp); } @@ -1618,20 +1618,20 @@ static void CompileSound(int keyword, int isvowel) static int CompileIf(int elif) { int key; - int finish = 0; + bool finish = false; int word = 0; int word2; int data; int bitmap; int brackets; - int not_flag; + bool not_flag; USHORT *prog_last_if = NULL; then_count = 2; - after_if = 1; + after_if = true; while (!finish) { - not_flag = 0; + not_flag = false; word2 = 0; if (prog_out >= prog_out_max) { error("Phoneme program too large"); @@ -1642,7 +1642,7 @@ static int CompileIf(int elif) error("Expected a condition, not '%s'", item_string); if ((item_type == 0) && (key == k_NOT)) { - not_flag = 1; + not_flag = true; if ((key = NextItem(tCONDITION)) < 0) error("Expected a condition, not '%s'", item_string); } @@ -1704,7 +1704,7 @@ static int CompileIf(int elif) *prog_last_if |= i_OR; break; case k_THEN: - finish = 1; + finish = true; break; default: error("Expected AND, OR, THEN"); @@ -1717,7 +1717,7 @@ static int CompileIf(int elif) if_stack[if_level].p_else = NULL; } - if_stack[if_level].returned = 0; + if_stack[if_level].returned = false; if_stack[if_level].p_then = prog_out; *prog_out++ = i_JUMP_FALSE; @@ -1762,12 +1762,12 @@ static int CompileElse(void) return 0; } - if (if_stack[if_level].returned == 0) + if (if_stack[if_level].returned == false) FillThen(1); else FillThen(0); - if (if_stack[if_level].returned == 0) { + if (if_stack[if_level].returned == false) { ref = prog_out; *prog_out++ = 0; @@ -1977,8 +1977,8 @@ static int CompilePhoneme(int compile_phoneme) prog_out = prog_buf; prog_out_max = &prog_buf[MAX_PROG_BUF-1]; if_level = 0; - if_stack[0].returned = 0; - after_if = 0; + if_stack[0].returned = false; + after_if = false; phoneme_flags = 0; NextItem(tSTRING); @@ -2070,7 +2070,7 @@ static int CompilePhoneme(int compile_phoneme) if (phoneme_out->type == phVOWEL) value = (value * vowel_length_factor)/100; - if (after_if == 0) + if (after_if == false) phoneme_out->std_length = value/2; else { *prog_out++ = (i_SET_LENGTH << 8) + value/2; @@ -2208,7 +2208,7 @@ static int CompilePhoneme(int compile_phoneme) DecThenCount(); break; case kFMT: - if_stack[if_level].returned = 1; + if_stack[if_level].returned = true; DecThenCount(); if (phoneme_out->type == phVOWEL) CompileSound(keyword, 1); @@ -2216,7 +2216,7 @@ static int CompilePhoneme(int compile_phoneme) CompileSound(keyword, 0); break; case kWAV: - if_stack[if_level].returned = 1; + if_stack[if_level].returned = true; // fallthrough: case kVOWELSTART: case kVOWELENDING: @@ -2253,7 +2253,7 @@ static int CompilePhoneme(int compile_phoneme) endphoneme = 1; if (if_level > 0) error("Missing ENDIF"); - if ((prog_out > prog_buf) && (if_stack[0].returned == 0)) + if ((prog_out > prog_buf) && (if_stack[0].returned == false)) *prog_out++ = INSTN_RETURN; break; } @@ -2717,9 +2717,9 @@ espeak_ng_STATUS espeak_ng_CompileIntonation(FILE *log, espeak_ng_ERROR_CONTEXT char c; int keyword; int n_tune_names = 0; - int done_split = 0; - int done_onset = 0; - int done_last = 0; + bool done_split = false; + bool done_onset = false; + bool done_last = false; int n_preset_tunes = 0; int found = 0; int tune_number = 0; @@ -2805,7 +2805,7 @@ espeak_ng_STATUS espeak_ng_CompileIntonation(FILE *log, espeak_ng_ERROR_CONTEXT switch (keyword) { case kTUNE: - done_split = 0; + done_split = false; memcpy(&new_tune, &default_tune, sizeof(TUNE)); NextItem(tSTRING); @@ -2830,11 +2830,11 @@ espeak_ng_STATUS espeak_ng_CompileIntonation(FILE *log, espeak_ng_ERROR_CONTEXT break; case kENDTUNE: if (!found) continue; - if (done_onset == 0) { + if (done_onset == false) { new_tune.unstr_start[0] = new_tune.unstr_start[1]; new_tune.unstr_end[0] = new_tune.unstr_end[1]; } - if (done_last == 0) { + if (done_last == false) { new_tune.unstr_start[2] = new_tune.unstr_start[1]; new_tune.unstr_end[2] = new_tune.unstr_end[1]; } @@ -2848,13 +2848,13 @@ espeak_ng_STATUS espeak_ng_CompileIntonation(FILE *log, espeak_ng_ERROR_CONTEXT new_tune.onset = NextItem(tNUMBER); new_tune.unstr_start[0] = NextItem(tSIGNEDNUMBER); new_tune.unstr_end[0] = NextItem(tSIGNEDNUMBER); - done_onset = 1; + done_onset = true; break; case kTUNE_HEADLAST: new_tune.head_last = NextItem(tNUMBER); new_tune.unstr_start[2] = NextItem(tSIGNEDNUMBER); new_tune.unstr_end[2] = NextItem(tSIGNEDNUMBER); - done_last = 1; + done_last = true; break; case kTUNE_HEADENV: NextItem(tSTRING); @@ -2918,7 +2918,7 @@ espeak_ng_STATUS espeak_ng_CompileIntonation(FILE *log, espeak_ng_ERROR_CONTEXT error("Bad envelope name: '%s'", item_string); break; } - done_split = 1; + done_split = true; new_tune.split_nucleus_env = ix; new_tune.split_nucleus_max = NextItem(tNUMBER); new_tune.split_nucleus_min = NextItem(tNUMBER); diff --git a/src/libespeak-ng/compiledict.c b/src/libespeak-ng/compiledict.c index cd341834..4068265e 100644 --- a/src/libespeak-ng/compiledict.c +++ b/src/libespeak-ng/compiledict.c @@ -48,7 +48,7 @@ extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme static int linenum; static int error_count; -static int text_mode = 0; +static bool text_mode = false; static int debug_flag = 0; static int error_need_dictionary = 0; @@ -209,13 +209,13 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont char *p_end; int ix; int match_type; - int finished = 0; + bool finished = false; int value; int linenum = 0; int flags; int suffix_char; int condition_num = 0; - int at_start = 0; + bool at_start = false; const char *name; char buf[200]; char buf_pre[200]; @@ -247,10 +247,10 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont { case 0: case RULE_PHONEMES: - finished = 1; + finished = true; break; case RULE_PRE_ATSTART: - at_start = 1; + at_start = true; // fallthrough: case RULE_PRE: match_type = RULE_PRE; @@ -384,15 +384,15 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha int flag_offset; int length; int multiple_words = 0; - int multiple_numeric_hyphen = 0; + bool multiple_numeric_hyphen = false; char *multiple_string = NULL; char *multiple_string_end = NULL; int len_word; int len_phonetic; - int text_not_phonemes; // this word specifies replacement text, not phonemes + bool text_not_phonemes = false; // this word specifies replacement text, not phonemes unsigned int wc; - int all_upper_case; + bool all_upper_case; char *mnemptr; unsigned char flag_codes[100]; @@ -401,7 +401,6 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha int bad_phoneme; static char nullstring[] = { 0 }; - text_not_phonemes = 0; phonetic = word = nullstring; p = linebuf; @@ -445,11 +444,11 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha flagnum = LookupMnem(mnem_flags, mnemptr); if (flagnum > 0) { if (flagnum == 200) - text_mode = 1; + text_mode = true; else if (flagnum == 201) - text_mode = 0; + text_mode = false; else if (flagnum == BITNUM_FLAG_TEXTMODE) - text_not_phonemes = 1; + text_not_phonemes = true; else flag_codes[n_flag_codes++] = flagnum; } else { @@ -476,7 +475,7 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha case LINE_PARSER_END_OF_WORD: if ((c == '-') && multiple_words) { if (IsDigit09(word[0])) - multiple_numeric_hyphen = 1; + multiple_numeric_hyphen = true; flag_codes[n_flag_codes++] = BITNUM_FLAG_HYPHENATED; c = ' '; } @@ -536,7 +535,7 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha return 0; // blank line if (text_mode) - text_not_phonemes = 1; + text_not_phonemes = true; if (text_not_phonemes) { if (word[0] == '_') { @@ -546,7 +545,7 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha // PROBLEM vowel reductions are not applied to the translated phonemes // condition rules are not applied TranslateWord(translator, phonetic, NULL, NULL); - text_not_phonemes = 0; + text_not_phonemes = false; strncpy0(encoded_ph, word_phonemes, N_WORD_BYTES-4); if ((word_phonemes[0] == 0) && (error_need_dictionary < 3)) { @@ -582,7 +581,7 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha // convert to lower case, and note if the word is all-capitals int c2; - all_upper_case = 1; + all_upper_case = true; for (p = word;;) { // this assumes that the lower case char is the same length as the upper case char // OK, except for Turkish "I", but use towlower() rather than towlower2() @@ -592,7 +591,7 @@ static int compile_line(char *linebuf, char *dict_line, int n_dict_line, int *ha if (iswupper(c2)) utf8_out(towlower2(c2), p); else - all_upper_case = 0; + all_upper_case = false; p += ix; } if (all_upper_case) @@ -699,7 +698,7 @@ static int compile_dictlist_file(const char *path, const char *filename) char fname[sizeof(path_home)+45]; char dict_line[256]; // length is uint8_t, so an entry can't take up more than 256 bytes - text_mode = 0; + text_mode = false; // try with and without '.txt' extension sprintf(fname, "%s%s.txt", path, filename); @@ -776,8 +775,8 @@ static void copy_rule_string(char *string, int *state_out) int c2, c3; int sxflags; int value; - int literal; - int hexdigit_input = 0; + bool literal; + bool hexdigit_input = false; int state = *state_out; MNEM_TAB *mr; @@ -794,10 +793,10 @@ static void copy_rule_string(char *string, int *state_out) sxflags = 0x808000; // to ensure non-zero bytes for (p = string, ix = 0;;) { - literal = 0; + literal = false; c = *p++; if ((c == '0') && (p[0] == 'x') && (isHexDigit(p[1]) >= 0) && (isHexDigit(p[2]) >= 0)) { - hexdigit_input = 1; + hexdigit_input = true; c = p[1]; p += 2; } @@ -808,19 +807,19 @@ static void copy_rule_string(char *string, int *state_out) c = (c-'0')*64 + (p[0]-'0')*8 + (p[1]-'0'); p += 2; } - literal = 1; + literal = true; } if (hexdigit_input) { if (((c2 = isHexDigit(c)) >= 0) && ((c3 = isHexDigit(p[0])) >= 0)) { c = c2 * 16 + c3; - literal = 1; + literal = true; p++; } else - hexdigit_input = 0; + hexdigit_input = false; } if ((state == 1) || (state == 3)) { // replace special characters (note: 'E' is reserved for a replaced silent 'e') - if (literal == 0) { + if (literal == false) { static const char lettergp_letters[9] = { LETTERGP_A, LETTERGP_B, LETTERGP_C, 0, 0, LETTERGP_F, LETTERGP_G, LETTERGP_H, LETTERGP_Y }; switch (c) { @@ -1017,7 +1016,7 @@ static char *compile_rule(char *input) int len_name; int start; int state = 2; - int finish = 0; + bool finish = false; char buf[80]; char output[150]; int bad_phoneme; @@ -1032,7 +1031,7 @@ static char *compile_rule(char *input) p = buf; - for (ix = 0; finish == 0; ix++) { + for (ix = 0; finish == false; ix++) { switch (c = input[ix]) { case ')': // end of prefix section @@ -1057,7 +1056,7 @@ static char *compile_rule(char *input) case 0: // end of line *p = 0; copy_rule_string(buf, &state); - finish = 1; + finish = true; break; case '\t': // end of section section case ' ': diff --git a/src/libespeak-ng/dictionary.c b/src/libespeak-ng/dictionary.c index 62a50477..fb8273bb 100644 --- a/src/libespeak-ng/dictionary.c +++ b/src/libespeak-ng/dictionary.c @@ -437,7 +437,7 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int int c; int mnem; int len; - int first; + bool first; int ix = 0; char *p; PHONEME_DATA phdata; @@ -486,7 +486,7 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int } } - first = 1; + first = true; for (mnem = ph->mnemonic; (c = mnem & 0xff) != 0; mnem = mnem >> 8) { if ((c == '/') && (option_phoneme_variants == 0)) break; // discard phoneme variant indicator @@ -509,7 +509,7 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int ix += utf8_out(c, &phon_out[ix]); } else phon_out[ix++] = c; - first = 0; + first = false; } phon_out = &phon_out[ix]; @@ -1595,7 +1595,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ int n_bytes; int add_points; int command; - int check_atstart; + bool check_atstart; unsigned int *flags; MatchRecord match; @@ -1632,7 +1632,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ letter_w = 0; distance_right = -6; // used to reduce points for matches further away the current letter distance_left = -2; - check_atstart = 0; + check_atstart = false; match.points = 1; match.end_type = 0; @@ -1666,7 +1666,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ failed = 2; // matched OK break; case RULE_PRE_ATSTART: // pre rule with implied 'start of word' - check_atstart = 1; + check_atstart = true; unpron_ignore = 0; match_type = RULE_PRE; break; @@ -2118,7 +2118,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_ if ((failed == 2) && (unpron_ignore == 0)) { // do we also need to check for 'start of word' ? - if ((check_atstart == 0) || (pre_ptr[-1] == ' ')) { + if ((check_atstart == false) || (pre_ptr[-1] == ' ')) { if (check_atstart) match.points += 4; @@ -2457,7 +2457,7 @@ int TransposeAlphabet(Translator *tr, char *text) const char *map; char *p = text; char *p2; - int all_alpha = 1; + bool all_alpha = true; int bits; int acc; int pairs_start; @@ -2484,12 +2484,12 @@ int TransposeAlphabet(Translator *tr, char *text) if (map[c - min] > 0) buf[bufix++] = map[c - min]; else { - all_alpha = 0; + all_alpha = false; break; } } } else { - all_alpha = 0; + all_alpha = false; break; } } @@ -2782,14 +2782,14 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor if (option_phonemes & espeakPHONEMES_TRACE) { char ph_decoded[N_WORD_PHONEMES]; - int textmode; + bool textmode; DecodePhonemes(phonetic, ph_decoded); if ((dictionary_flags & FLAG_TEXTMODE) == 0) - textmode = 0; + textmode = false; else - textmode = 1; + textmode = true; if (textmode == translator->langopts.textmode) { // only show this line if the word translates to phonemes, not replacement text diff --git a/src/libespeak-ng/intonation.c b/src/libespeak-ng/intonation.c index 60d541a2..8384584a 100644 --- a/src/libespeak-ng/intonation.c +++ b/src/libespeak-ng/intonation.c @@ -429,7 +429,7 @@ static int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix, int int increment = 0; int n_steps = 0; int stage; // onset, head, last - int initial; + bool initial; int overflow_ix = 0; int pitch_range; int pitch_range_abs; @@ -437,14 +437,14 @@ static int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix, int int n_unstressed = 0; int unstressed_ix = 0; int unstressed_inc; - int used_onset = 0; + bool used_onset = false; int head_final = end_ix; int secondary = 2; pitch_range = (tune->head_end - tune->head_start) << 8; pitch_range_abs = abs(pitch_range); drops = drops_0; // this should be controled by tune->head_drops - initial = 1; + initial = true; stage = 0; if (tune->onset == 255) @@ -468,7 +468,7 @@ static int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix, int // a primary stress if ((initial) || (stress == 5)) { - initial = 0; + initial = false; overflow_ix = 0; if (tune->onset == 255) { @@ -478,7 +478,7 @@ static int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix, int // a pitch has been specified for the onset syllable, don't include it in the pitch incrementing n_steps = count_increments(syllable_tab, syl_ix+1, head_final, 4); pitch = tune->onset << 8; - used_onset = 1; + used_onset = true; } if (n_steps > tune->head_max_steps) @@ -495,7 +495,7 @@ static int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix, int } else { if (used_onset) { stage = 1; - used_onset = 0; + used_onset = false; pitch = tune->head_start << 8; n_steps++; } else if (n_steps > 0) @@ -538,14 +538,14 @@ static int SetHeadIntonation(SYLLABLE *syllable_tab, TUNE *tune, int syl_ix, int /* Calculate pitches until next RESET or tonic syllable, or end. Increment pitch if stress is >= min_stress. Used for tonic segment */ -static int calc_pitch_segment(SYLLABLE *syllable_tab, int ix, int end_ix, TONE_HEAD *th, TONE_NUCLEUS *tn, int min_stress, int continuing) +static int calc_pitch_segment(SYLLABLE *syllable_tab, int ix, int end_ix, TONE_HEAD *th, TONE_NUCLEUS *tn, int min_stress, bool continuing) { int stress; int pitch = 0; int increment = 0; int n_primary = 0; int n_steps = 0; - int initial; + bool initial; int overflow = 0; int n_overflow; int pitch_range; @@ -561,7 +561,7 @@ static int calc_pitch_segment(SYLLABLE *syllable_tab, int ix, int end_ix, TONE_H pitch_range_abs = abs(pitch_range); if (continuing) { - initial = 0; + initial = false; overflow = 0; n_overflow = 5; overflow_tab = continue_tab; @@ -569,7 +569,7 @@ static int calc_pitch_segment(SYLLABLE *syllable_tab, int ix, int end_ix, TONE_H } else { n_overflow = th->n_overflow; overflow_tab = th->overflow; - initial = 1; + initial = true; } while (ix < end_ix) { @@ -580,7 +580,7 @@ static int calc_pitch_segment(SYLLABLE *syllable_tab, int ix, int end_ix, TONE_H // a primary stress if ((initial) || (stress == 5)) { - initial = 0; + initial = false; overflow = 0; n_steps = n_primary = count_increments(syllable_tab, ix, end_ix, min_stress); @@ -729,13 +729,13 @@ static int calc_pitches(SYLLABLE *syllable_tab, int control, int start, int end, TONE_HEAD *th; TONE_NUCLEUS *tn; int drop; - int continuing = 0; + bool continuing = false; if (control == 0) return calc_pitches2(syllable_tab, start, end, tune_number); if (start > 0) - continuing = 1; + continuing = true; th = &tone_head_table[tune_number]; tn = &tone_nucleus_table[tune_number]; @@ -789,8 +789,8 @@ static void CalcPitches_Tone(Translator *tr) int final_stressed = 0; int tone_ph; - int pause; - int tone_promoted; + bool pause; + bool tone_promoted; PHONEME_TAB *tph; PHONEME_TAB *prev_tph; // forget across word boundary PHONEME_TAB *prevw_tph; // remember across word boundary @@ -825,8 +825,8 @@ static void CalcPitches_Tone(Translator *tr) p->tone_ph = PhonemeCode('7'); // change default tone (tone 1) to falling tone at end of clause } - pause = 1; - tone_promoted = 0; + pause = true; + tone_promoted = false; prev_p = p = &phoneme_list[0]; prev_tph = prevw_tph = phoneme_tab[phonPAUSE]; @@ -834,7 +834,7 @@ static void CalcPitches_Tone(Translator *tr) // perform tone sandhi for (ix = 0; ix < n_phoneme_list; ix++, p++) { if ((p->type == phPAUSE) && (p->ph->std_length > 50)) { - pause = 1; // there is a pause since the previous vowel + pause = true; // there is a pause since the previous vowel prevw_tph = phoneme_tab[phonPAUSE]; // forget previous tone } @@ -863,14 +863,14 @@ static void CalcPitches_Tone(Translator *tr) if (tone_ph == 0) { if (pause || tone_promoted) { tone_ph = PhonemeCode2('5', '5'); // no previous vowel, use tone 1 - tone_promoted = 1; + tone_promoted = true; } else tone_ph = PhonemeCode2('1', '1'); // default tone 5 p->tone_ph = tone_ph; tph = phoneme_tab[tone_ph]; } else - tone_promoted = 0; + tone_promoted = false; if (ix == final_stressed) { if ((tph->mnemonic == 0x3535 ) || (tph->mnemonic == 0x3135)) { @@ -904,7 +904,7 @@ static void CalcPitches_Tone(Translator *tr) prev_p = p; prevw_tph = prev_tph = tph; - pause = 0; + pause = false; } } diff --git a/src/libespeak-ng/numbers.c b/src/libespeak-ng/numbers.c index 35521cb6..25db8f24 100644 --- a/src/libespeak-ng/numbers.c +++ b/src/libespeak-ng/numbers.c @@ -1140,15 +1140,15 @@ static const char *M_Variant(int value) { // returns M, or perhaps MA or MB for some cases - int teens = 0; + bool teens = false; if (((value % 100) > 10) && ((value % 100) < 20)) - teens = 1; + teens = true; switch ((translator->langopts.numbers2 >> 6) & 0x7) { case 1: // lang=ru use singular for xx1 except for x11 - if ((teens == 0) && ((value % 10) == 1)) + if ((teens == false) && ((value % 10) == 1)) return "1M"; break; case 2: // lang=cs,sk @@ -1156,17 +1156,17 @@ static const char *M_Variant(int value) return "0MA"; break; case 3: // lang=pl - if ((teens == 0) && (((value % 10) >= 2) && ((value % 10) <= 4))) + if ((teens == false) && (((value % 10) >= 2) && ((value % 10) <= 4))) return "0MA"; break; case 4: // lang=lt - if ((teens == 1) || ((value % 10) == 0)) + if ((teens == true) || ((value % 10) == 0)) return "0MB"; if ((value % 10) == 1) return "0MA"; break; case 5: // lang=bs,hr,sr - if (teens == 0) { + if (teens == false) { if ((value % 10) == 1) return "1M"; if (((value % 10) >= 2) && ((value % 10) <= 4)) @@ -1510,7 +1510,7 @@ static int LookupNum2(Translator *tr, int value, int thousandplex, const int con return used_and; } -static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null, int thousandplex, int control) +static int LookupNum3(Translator *tr, int value, char *ph_out, bool suppress_null, int thousandplex, int control) { // Translate a 3 digit number // control bit 0, previous thousands @@ -1526,8 +1526,8 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null int exact; int ordinal; int tplex; - int say_zero_hundred = 0; - int say_one_hundred; + bool say_zero_hundred = false; + bool say_one_hundred; char string[12]; // for looking up entries in **_list char buf1[100]; char buf2[100]; @@ -1547,7 +1547,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null ph_thousand_and[0] = 0; if ((tr->langopts.numbers & NUM_ZERO_HUNDRED) && ((control & 1) || (hundreds >= 10))) - say_zero_hundred = 1; // lang=vi + say_zero_hundred = true; // lang=vi if ((hundreds > 0) || say_zero_hundred) { found = 0; @@ -1592,9 +1592,9 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null sprintf(ph_thousands, "%s%c%s%c", ph_digits, phonEND_WORD, ph_10T, phonEND_WORD); hundreds %= 10; - if ((hundreds == 0) && (say_zero_hundred == 0)) + if ((hundreds == 0) && (say_zero_hundred == false)) ph_100[0] = 0; - suppress_null = 1; + suppress_null = true; control |= 1; } @@ -1604,7 +1604,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null if ((tr->langopts.numbers & NUM_AND_HUNDRED) && ((control & 1) || (ph_thousands[0] != 0))) Lookup(tr, "_0and", ph_thousand_and); - suppress_null = 1; + suppress_null = true; found = 0; if ((ordinal) @@ -1641,13 +1641,13 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null if (found) ph_100[0] = 0; else { - say_one_hundred = 1; + say_one_hundred = true; if (hundreds == 1) { if ((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) != 0) - say_one_hundred = 0; + say_one_hundred = false; } - if (say_one_hundred != 0) + if (say_one_hundred == true) LookupNum2(tr, hundreds, thousandplex, 0, ph_digits); } } @@ -1672,7 +1672,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null buf2[0] = 0; - if ((tensunits != 0) || (suppress_null == 0)) { + if ((tensunits != 0) || (suppress_null == false)) { x = 0; if (thousandplex == 0) { x = 2; // allow "eins" for 1 rather than "ein" @@ -1737,7 +1737,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned int ix; int digix; unsigned char c; - int suppress_null = 0; + bool suppress_null = false; int decimal_point = 0; int thousandplex = 0; int thousands_exact = 1; @@ -1883,7 +1883,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned } if ((value == 0) && prev_thousands) - suppress_null = 1; + suppress_null = true; if (tr->translator_name == L('h', 'u')) { // variant form of numbers when followed by hyphen and a suffix starting with 'a' or 'e' (but not a, e, az, ez, azt, ezt @@ -1895,13 +1895,13 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned // this "word" ends with a decimal point Lookup(tr, "_dpt", ph_append); decimal_point = 0x100; - } else if (suppress_null == 0) { + } else if (suppress_null == false) { if (thousands_inc > 0) { if (thousandplex > 0) { - if ((suppress_null == 0) && (LookupThousands(tr, value, thousandplex, thousands_exact, ph_append))) { + if ((suppress_null == false) && (LookupThousands(tr, value, thousandplex, thousands_exact, ph_append))) { // found an exact match for N thousand value = 0; - suppress_null = 1; + suppress_null = true; } } } @@ -1987,7 +1987,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned n_digits++; } if ((decimal_count <= max_decimal_count) && IsDigit09(word[n_digits])) { - LookupNum3(tr, atoi(&word[n_digits]), buf1, 0, 0, 0); + LookupNum3(tr, atoi(&word[n_digits]), buf1, false, 0, 0); strcat(ph_out, buf1); n_digits += decimal_count; } @@ -1995,7 +1995,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned case NUM_DFRACTION_1: // italian, say "hundredths" if leading zero case NUM_DFRACTION_5: // hungarian, always say "tenths" etc. case NUM_DFRACTION_6: // kazakh, always say "tenths" etc, before the decimal fraction - LookupNum3(tr, atoi(&word[n_digits]), ph_buf, 0, 0, 0); + LookupNum3(tr, atoi(&word[n_digits]), ph_buf, false, 0, 0); if ((word[n_digits] == '0') || (decimal_mode != NUM_DFRACTION_1)) { // decimal part has leading zeros, so add a "hundredths" or "thousandths" suffix sprintf(string, "_0Z%d", decimal_count); @@ -2013,7 +2013,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned case NUM_DFRACTION_3: // Romanian decimal fractions if ((decimal_count <= 4) && (word[n_digits] != '0')) { - LookupNum3(tr, atoi(&word[n_digits]), buf1, 0, 0, 0); + LookupNum3(tr, atoi(&word[n_digits]), buf1, false, 0, 0); strcat(ph_out, buf1); n_digits += decimal_count; } diff --git a/src/libespeak-ng/phonemelist.c b/src/libespeak-ng/phonemelist.c index cae6bcbe..3d8d3e23 100644 --- a/src/libespeak-ng/phonemelist.c +++ b/src/libespeak-ng/phonemelist.c @@ -50,7 +50,7 @@ static int SubstitutePhonemes(PHONEME_LIST *plist_out) int k; int replace_flags; int n_plist_out = 0; - int word_end; + bool word_end; PHONEME_LIST2 *plist2; PHONEME_TAB *next = NULL; @@ -62,16 +62,16 @@ static int SubstitutePhonemes(PHONEME_LIST *plist_out) if (ix < (n_ph_list2 -1)) next = phoneme_tab[ph_list2[ix+1].phcode]; - word_end = 0; + word_end = false; if ((plist2+1)->sourceix || ((next != 0) && (next->type == phPAUSE))) - word_end = 1; // this phoneme is the end of a word + word_end = true; // this phoneme is the end of a word // check whether a Voice has specified that we should replace this phoneme for (k = 0; k < n_replace_phonemes; k++) { if (plist2->phcode == replace_phonemes[k].old_ph) { replace_flags = replace_phonemes[k].type; - if ((replace_flags & 1) && (word_end == 0)) + if ((replace_flags & 1) && (word_end == false)) continue; // this replacement only occurs at the end of a word if ((replace_flags & 2) && ((plist2->stresslevel & 0x7) > 3)) @@ -101,7 +101,7 @@ static int SubstitutePhonemes(PHONEME_LIST *plist_out) return n_plist_out; } -void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) +void MakePhonemeList(Translator *tr, int post_pause, bool start_sentence) { int ix = 0; int j; @@ -189,7 +189,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) // set consonant clusters to all voiced or all unvoiced // Regressive int type; - int stop_propagation = 0; + bool stop_propagation = false; voicing = 0; for (j = n_ph_list2-1; j >= 0; j--) { @@ -198,7 +198,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) continue; if (plist2[j].synthflags & SFLAG_SWITCHED_LANG) { - stop_propagation = 0; + stop_propagation = false; voicing = 0; if (regression & 0x100) voicing = 1; // word-end devoicing @@ -210,7 +210,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) if (regression & 0x2) { // [v] amd [v;] don't cause regression, or [R^] if (((ph->mnemonic & 0xff) == 'v') || ((ph->mnemonic & 0xff) == 'R')) { - stop_propagation = 1; + stop_propagation = true; if (regression & 0x10) voicing = 0; } @@ -236,7 +236,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) } if (stop_propagation) { voicing = 0; - stop_propagation = 0; + stop_propagation = false; } if (plist2[j].sourceix) { @@ -501,7 +501,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) if (start_sentence) { phlist[ix].newword = 5; // start of sentence + start of word - start_sentence = 0; + start_sentence = false; } } else phlist[ix].newword = 0; diff --git a/src/libespeak-ng/readclause.c b/src/libespeak-ng/readclause.c index c6412b02..29987ade 100644 --- a/src/libespeak-ng/readclause.c +++ b/src/libespeak-ng/readclause.c @@ -56,9 +56,9 @@ espeak_ng_TEXT_DECODER *p_decoder = NULL; static int ungot_char; static const char *ungot_word = NULL; -static int ignore_text = 0; // set during ... to ignore text which has been replaced by an alias -static int audio_text = 0; // set during -static int clear_skipping_text = 0; // next clause should clear the skipping_text flag +static bool ignore_text = false; // set during ... to ignore text which has been replaced by an alias +static bool audio_text = false; // set during +static bool clear_skipping_text = false; // next clause should clear the skipping_text flag int count_characters = 0; static int sayas_mode; static int sayas_start; @@ -1133,7 +1133,7 @@ static int ReplaceKeyName(char *outbuf, int index, int *outix) return 0; } -static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outbuf, int 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 '>' // returns a clause terminator value. @@ -1344,16 +1344,16 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outb case SSML_SUB: if ((attr1 = GetSsmlAttribute(px, "alias")) != NULL) { // use the alias rather than the text - ignore_text = 1; + ignore_text = true; *outix += attrcopy_utf8(&outbuf[*outix], attr1, n_outbuf-*outix); } break; case SSML_IGNORE_TEXT: - ignore_text = 1; + ignore_text = true; break; case SSML_SUB + SSML_CLOSE: case SSML_IGNORE_TEXT + SSML_CLOSE: - ignore_text = 0; + ignore_text = false; break; case SSML_MARK: if ((attr1 = GetSsmlAttribute(px, "name")) != NULL) { @@ -1362,7 +1362,7 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outb if (strcmp(skip_marker, buf) == 0) { // This is the marker we are waiting for before starting to speak - clear_skipping_text = 1; + clear_skipping_text = true; skip_marker[0] = 0; return CLAUSE_NONE; } @@ -1410,11 +1410,11 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outb if (self_closing) PopParamStack(tag_type, outbuf, outix); else - audio_text = 1; + audio_text = true; return CLAUSE_NONE; case SSML_AUDIO + SSML_CLOSE: PopParamStack(tag_type, outbuf, outix); - audio_text = 0; + audio_text = false; return CLAUSE_NONE; case SSML_BREAK: value = 21; @@ -1563,12 +1563,12 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ int n_xml_buf; int terminator; int found; - int any_alnum = 0; - int self_closing; + bool any_alnum = false; + bool self_closing; int punct_data = 0; - int is_end_clause; + bool is_end_clause; int announced_punctuation = 0; - int stressed_word = 0; + bool stressed_word = false; int end_clause_after_tag = 0; int end_clause_index = 0; wchar_t xml_buf[N_XML_BUF+1]; @@ -1579,8 +1579,8 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ static int ungot_string_ix = -1; if (clear_skipping_text) { - skipping_text = 0; - clear_skipping_text = 0; + skipping_text = false; + clear_skipping_text = false; } tr->phonemes_repeat_count = 0; @@ -1609,7 +1609,7 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ if ((skip_characters > 0) && (count_characters >= skip_characters)) { // reached the specified start position // don't break a word - clear_skipping_text = 1; + clear_skipping_text = true; skip_characters = 0; UngetC(c2); return CLAUSE_NONE; @@ -1701,11 +1701,11 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ xml_buf[n_xml_buf] = 0; c2 = ' '; - self_closing = 0; + self_closing = false; if (xml_buf[n_xml_buf-1] == '/') { // a self-closing tag xml_buf[n_xml_buf-1] = ' '; - self_closing = 1; + self_closing = true; } terminator = ProcessSsmlTag(xml_buf, buf, &ix, n_buf, self_closing); @@ -1792,10 +1792,10 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ } if (iswalnum(c1)) - any_alnum = 1; + any_alnum = true; else { if (stressed_word) { - stressed_word = 0; + stressed_word = false; c1 = CHAR_EMPHASIS; // indicate this word is stressed UngetC(c2); c2 = ' '; @@ -1894,7 +1894,7 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ announced_punctuation = 0; if ((phoneme_mode == 0) && (sayas_mode == 0)) { - is_end_clause = 0; + is_end_clause = false; if (end_clause_after_tag) { // Because of an xml tag, we are waiting for the @@ -1929,20 +1929,20 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ if ((punct_data = clause_type_from_codepoint(c1)) != CLAUSE_NONE) { if (punct_data & CLAUSE_PUNCTUATION_IN_WORD) { // Armenian punctuation inside a word - stressed_word = 1; + stressed_word = true; *tone_type = punct_data >> 12 & 0xf; // override the end-of-sentence type 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 ':-)' // note: (c2='?') is for when a smart-quote has been replaced by '?' - is_end_clause = 1; + is_end_clause = true; } } // don't announce punctuation for the alternative text inside inside if (c1 == 0xe000+'<') c1 = '<'; - if (option_punctuation && iswpunct(c1) && (audio_text == 0)) { + if (option_punctuation && iswpunct(c1) && (audio_text == false)) { // option is set to explicitly speak punctuation characters // if a list of allowed punctuation has been set up, check whether the character is in it if ((option_punctuation == 1) || (wcschr(option_punctlist, c1) != NULL)) { @@ -1985,7 +1985,7 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ if ((c1 == ',') && (cprev == '.') && (tr->translator_name == L('h', 'u')) && iswdigit(cprev2) && (iswdigit(c_next) || (iswlower(c_next)))) { // lang=hu, fix for ordinal numbers, eg: "december 2., szerda", ignore ',' after ordinal number c1 = CHAR_COMMA_BREAK; - is_end_clause = 0; + is_end_clause = false; } if (c1 == '.') { @@ -1993,31 +1993,31 @@ int ReadClause(Translator *tr, char *buf, short *charix, int *charix_top, int n_ (iswdigit(cprev) || (IsRomanU(cprev) && (IsRomanU(cprev2) || iswspace(cprev2))))) { // lang=hu // dot after a number indicates an ordinal number if (!iswdigit(cprev)) - is_end_clause = 0; // Roman number followed by dot + is_end_clause = false; // Roman number followed by dot else if (iswlower(c_next) || (c_next == '-')) // hyphen is needed for lang-hu (eg. 2.-kal) - is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag) + is_end_clause = false; // only if followed by lower-case, (or if there is a XML tag) } else if (c_next == '\'') - is_end_clause = 0; // eg. u.s.a.'s + is_end_clause = false; // eg. u.s.a.'s if (iswlower(c_next)) { // next word has no capital letter, this dot is probably from an abbreviation is_end_clause = 0; } - if (any_alnum == 0) { + if (any_alnum == false) { // no letters or digits yet, so probably not a sentence terminator // Here, dot is followed by space or bracket c1 = ' '; - is_end_clause = 0; + is_end_clause = false; } } else { - if (any_alnum == 0) { + if (any_alnum == false) { // no letters or digits yet, so probably not a sentence terminator - is_end_clause = 0; + is_end_clause = false; } } if (is_end_clause && (c1 == '.') && (c_next == '<') && option_ssml) { // wait until after the end of the xml tag, then look for upper-case letter - is_end_clause = 0; + is_end_clause = false; end_clause_index = ix; end_clause_after_tag = punct_data; } @@ -2116,9 +2116,9 @@ void InitText2(void) current_voice_id[0] = 0; - ignore_text = 0; - audio_text = 0; - clear_skipping_text = 0; + ignore_text = false; + audio_text = false; + clear_skipping_text = false; count_characters = -1; sayas_mode = 0; diff --git a/src/libespeak-ng/setlengths.c b/src/libespeak-ng/setlengths.c index 9ee49cac..bf879f63 100644 --- a/src/libespeak-ng/setlengths.c +++ b/src/libespeak-ng/setlengths.c @@ -451,8 +451,8 @@ void CalcLengths(Translator *tr) int stress; int type; static int more_syllables = 0; - int pre_sonorant = 0; - int pre_voiced = 0; + bool pre_sonorant = false; + bool pre_voiced = false; int last_pitch = 0; int pitch_start; int length_mod; @@ -536,7 +536,7 @@ void CalcLengths(Translator *tr) if (type == phVFRICATIVE) { if (next->type == phVOWEL) - pre_voiced = 1; + pre_voiced = true; if ((prev->type == phVOWEL) || (prev->type == phLIQUID)) p->length = (255 + prev->length)/2; } @@ -547,7 +547,7 @@ void CalcLengths(Translator *tr) if (next->type == phVOWEL || next->type == phLIQUID) { if ((next->type == phVOWEL) || !next->newword) - pre_voiced = 1; + pre_voiced = true; p->prepause = 40; @@ -587,7 +587,7 @@ void CalcLengths(Translator *tr) } if (next->type == phVOWEL) - pre_sonorant = 1; + pre_sonorant = true; else { p->pitch2 = last_pitch; @@ -614,7 +614,7 @@ void CalcLengths(Translator *tr) if (p->pitch2 < 16) p->pitch1 = 0; p->env = PITCHfall; - pre_voiced = 0; + pre_voiced = false; } break; case phVOWEL: @@ -804,8 +804,8 @@ void CalcLengths(Translator *tr) } last_pitch = p->pitch1 + ((p->pitch2-p->pitch1)*envelope_data[p->env][127])/256; - pre_sonorant = 0; - pre_voiced = 0; + pre_sonorant = false; + pre_voiced = false; break; } } diff --git a/src/libespeak-ng/speech.c b/src/libespeak-ng/speech.c index da0bd3eb..7dc58e65 100644 --- a/src/libespeak-ng/speech.c +++ b/src/libespeak-ng/speech.c @@ -521,7 +521,7 @@ espeak_ng_STATUS sync_espeak_Synth(unsigned int unique_identifier, const void *t } if (skip_characters || skip_words || skip_sentences) - skipping_text = 1; + skipping_text = true; end_character_position = end_position; @@ -550,7 +550,7 @@ espeak_ng_STATUS sync_espeak_Synth_Mark(unsigned int unique_identifier, const vo if (index_mark != NULL) { strncpy0(skip_marker, index_mark, sizeof(skip_marker)); - skipping_text = 1; + skipping_text = true; } end_character_position = end_position; diff --git a/src/libespeak-ng/synth_mbrola.c b/src/libespeak-ng/synth_mbrola.c index 4ae2e9dd..b3473f8e 100644 --- a/src/libespeak-ng/synth_mbrola.c +++ b/src/libespeak-ng/synth_mbrola.c @@ -141,7 +141,7 @@ static int GetMbrName(PHONEME_LIST *plist, PHONEME_TAB *ph, PHONEME_TAB *ph_prev MBROLA_TAB *pr; PHONEME_TAB *other_ph; - int found = 0; + bool found = false; static int mnem; // control @@ -162,9 +162,9 @@ static int GetMbrName(PHONEME_LIST *plist, PHONEME_TAB *ph, PHONEME_TAB *ph_prev while (pr->name != 0) { if (mnem == pr->name) { if (pr->next_phoneme == 0) - found = 1; + found = true; else if ((pr->next_phoneme == ':') && (plist->synthflags & SFLAG_LENGTHEN)) - found = 1; + found = true; else { if (pr->control & 2) other_ph = ph_prev; @@ -176,17 +176,17 @@ static int GetMbrName(PHONEME_LIST *plist, PHONEME_TAB *ph, PHONEME_TAB *ph_prev if ((pr->next_phoneme == other_ph->mnemonic) || ((pr->next_phoneme == 2) && (other_ph->type == phVOWEL)) || ((pr->next_phoneme == '_') && (other_ph->type == phPAUSE))) - found = 1; + found = true; } if ((pr->control & 4) && (plist->newword == 0)) // only at start of word - found = 0; + found = false; if ((pr->control & 0x40) && (plist[1].newword == 0)) // only at the end of a word - found = 0; + found = false; if ((pr->control & 0x20) && (plist->stresslevel < plist->wordstress)) - found = 0; // only in stressed syllables + found = false; // only in stressed syllables if (found) { *name2 = pr->mbr_name2; @@ -321,7 +321,7 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mb bool released; int name2; int control; - int done; + bool done; int len_percent; const char *final_pitch; char *ptr; @@ -389,7 +389,7 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mb name2 = 0; } - done = 0; + done = false; final_pitch = ""; switch (ph->type) @@ -416,7 +416,7 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mb pitch = WritePitch(p->env, p->pitch1, p->pitch2, -len_percent, 0); ptr += sprintf(ptr, "%s\t%d\t%s", WordToString(name2), len-len1, pitch); } - done = 1; + done = true; break; case phSTOP: released = false; diff --git a/src/libespeak-ng/synthdata.c b/src/libespeak-ng/synthdata.c index dc6943ca..09d1def6 100644 --- a/src/libespeak-ng/synthdata.c +++ b/src/libespeak-ng/synthdata.c @@ -505,7 +505,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, unsigned int data; int instn; int instn2; - int check_endtype = 0; + bool check_endtype = false; PHONEME_TAB *ph; PHONEME_LIST *plist_this; @@ -552,7 +552,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, case 0: // prevPh case 5: // prevPhW plist--; - check_endtype = 1; + check_endtype = true; break; case 1: // thisPh break; @@ -579,7 +579,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, if ((worddata == NULL) || (worddata->prev_vowel.ph == NULL)) return false; // no previous vowel plist = &(worddata->prev_vowel); - check_endtype = 1; + check_endtype = true; break; case 9: // next3PhW for (ix = 1; ix <= 3; ix++) { @@ -592,7 +592,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, if ((plist[0].sourceix) || (plist[-1].sourceix)) return false; plist -= 2; - check_endtype = 1; + check_endtype = true; break; } diff --git a/src/libespeak-ng/synthesize.c b/src/libespeak-ng/synthesize.c index c8812018..0ce0dfa2 100644 --- a/src/libespeak-ng/synthesize.c +++ b/src/libespeak-ng/synthesize.c @@ -675,7 +675,7 @@ static void SmoothSpect(void) int ix; int len; int pk; - int modified; + bool modified; int allowed; int diff; @@ -711,7 +711,7 @@ static void SmoothSpect(void) break; // doesn't follow on from previous frame frame = frame2 = (frame_t *)q[2]; - modified = 0; + modified = false; if (frame->frflags & FRFLAG_BREAK) break; @@ -740,16 +740,16 @@ static void SmoothSpect(void) allowed = (allowed * len)/256; if (diff > allowed) { - if (modified == 0) { + if (modified == false) { frame2 = CopyFrame(frame, 0); - modified = 1; + modified = true; } frame2->ffreq[pk] = frame1->ffreq[pk] + allowed; q[2] = (intptr_t)frame2; } else if (diff < -allowed) { - if (modified == 0) { + if (modified == false) { frame2 = CopyFrame(frame, 0); - modified = 1; + modified = true; } frame2->ffreq[pk] = frame1->ffreq[pk] - allowed; q[2] = (intptr_t)frame2; @@ -785,7 +785,7 @@ static void SmoothSpect(void) } frame = frame2 = (frame_t *)q[3]; - modified = 0; + modified = false; if (frame1->frflags & FRFLAG_BREAK) break; @@ -807,16 +807,16 @@ static void SmoothSpect(void) allowed = (allowed * len)/256; if (diff > allowed) { - if (modified == 0) { + if (modified == false) { frame2 = CopyFrame(frame, 0); - modified = 1; + modified = true; } frame2->ffreq[pk] = frame1->ffreq[pk] + allowed; q[3] = (intptr_t)frame2; } else if (diff < -allowed) { - if (modified == 0) { + if (modified == false) { frame2 = CopyFrame(frame, 0); - modified = 1; + modified = true; } frame2->ffreq[pk] = frame1->ffreq[pk] - allowed; q[3] = (intptr_t)frame2; @@ -1147,7 +1147,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) unsigned char *amp_env; PHONEME_TAB *ph; int use_ipa = 0; - int done_phoneme_marker; + bool done_phoneme_marker; int vowelstart_prev; char phoneme_name[16]; static int sourceix = 0; @@ -1222,14 +1222,14 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) if ((p->prepause > 0) && !(p->ph->phflags & phPREVOICE)) DoPause(p->prepause, 1); - done_phoneme_marker = 0; + done_phoneme_marker = false; if (option_phoneme_events && (p->ph->code != phonEND_WORD)) { if ((p->type == phVOWEL) && (prev->type == phLIQUID || prev->type == phNASAL)) { // For vowels following a liquid or nasal, do the phoneme event after the vowel-start } else { WritePhMnemonic(phoneme_name, p->ph, p, use_ipa, NULL); DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); - done_phoneme_marker = 1; + done_phoneme_marker = true; } } @@ -1490,7 +1490,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) DoSpect2(ph, 1, &fmtp, p, modulation); } - if ((option_phoneme_events) && (done_phoneme_marker == 0)) { + if ((option_phoneme_events) && (done_phoneme_marker == false)) { WritePhMnemonic(phoneme_name, p->ph, p, use_ipa, NULL); DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); } @@ -1551,7 +1551,7 @@ int SpeakNextClause(int control) } if (text_decoder_eof(p_decoder)) { - skipping_text = 0; + skipping_text = false; return 0; } diff --git a/src/libespeak-ng/tr_languages.c b/src/libespeak-ng/tr_languages.c index f6c3783a..364614e9 100644 --- a/src/libespeak-ng/tr_languages.c +++ b/src/libespeak-ng/tr_languages.c @@ -1520,7 +1520,7 @@ Translator *SelectTranslator(const char *name) tr->langopts.our_alphabet = 0x3100; tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word if (name2 == L3('z', 'h', 'y')) { - tr->langopts.textmode = 1; + tr->langopts.textmode = true; tr->langopts.listx = 1; // compile zh_listx after zh_list tr->langopts.numbers = 1; tr->langopts.numbers2 = NUM2_ZERO_TENS; diff --git a/src/libespeak-ng/translate.c b/src/libespeak-ng/translate.c index eae22595..6c796fc4 100644 --- a/src/libespeak-ng/translate.c +++ b/src/libespeak-ng/translate.c @@ -63,19 +63,19 @@ int skip_sentences; int skip_words; int skip_characters; char skip_marker[N_MARKER_LENGTH]; -int skipping_text; // waiting until word count, sentence count, or named marker is reached +bool skipping_text; // waiting until word count, sentence count, or named marker is reached int end_character_position; int count_sentences; int count_words; int clause_start_char; int clause_start_word; -int new_sentence; +bool new_sentence; static int word_emphasis = 0; // set if emphasis level 3 or 4 static int embedded_flag = 0; // there are embedded commands to be applied to the next phoneme, used in TranslateWord2() static int prev_clause_pause = 0; static int max_clause_pause = 0; -static int any_stressed_words; +static bool any_stressed_words; int pre_pause; ALPHABET *current_alphabet; @@ -445,7 +445,7 @@ static char *SpeakIndividualLetters(Translator *tr, char *word, char *phonemes, { int posn = 0; int capitals = 0; - int non_initial = 0; + bool non_initial = false; if (spell_word > 2) capitals = 2; // speak 'capital' @@ -455,7 +455,7 @@ static char *SpeakIndividualLetters(Translator *tr, char *word, char *phonemes, while ((*word != ' ') && (*word != 0)) { word += TranslateLetter(tr, word, phonemes, capitals | non_initial); posn++; - non_initial = 1; + non_initial = true; if (phonemes[0] == phonSWITCH) { // change to another language in order to translate this word strcpy(word_phonemes, phonemes); @@ -556,8 +556,8 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char int first_char; int last_char = 0; int prefix_flags = 0; - int more_suffixes; - int confirm_prefix; + bool more_suffixes; + bool confirm_prefix; int spell_word; int emphasize_allcaps = 0; int wflags; @@ -747,11 +747,10 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char // dictionary_flags may have ben set there int posn; - int non_initial; + bool non_initial = false; int length; posn = 0; - non_initial = 0; length = 999; wordx = word1; @@ -765,7 +764,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char break; if (posn > 0) - non_initial = 1; + non_initial = true; wordx += TranslateLetter(tr, wordx, unpron_phonemes, non_initial); posn++; @@ -814,7 +813,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char c_temp = wordx[-1]; found = false; - confirm_prefix = 1; + confirm_prefix = true; for (loopcount = 0; (loopcount < 50) && (end_type & SUFX_P); loopcount++) { // Found a standard prefix, remove it and retranslate // loopcount guards against an endless loop @@ -840,7 +839,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char fprintf(f_trans, " suffix [%s]\n\n", end_phonemes2); } } - confirm_prefix = 0; + confirm_prefix = false; continue; } } @@ -872,7 +871,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char } c_temp = wordx[-1]; wordx[-1] = ' '; - confirm_prefix = 1; + confirm_prefix = true; wflags |= FLAG_PREFIX_REMOVED; if (prefix_type & SUFX_B) { @@ -922,10 +921,10 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char // The word has a standard ending, re-translate without this ending end_flags = RemoveEnding(tr, wordx, end_type, word_copy); - more_suffixes = 1; + more_suffixes = true; while (more_suffixes) { - more_suffixes = 0; + more_suffixes = false; phonemes[0] = 0; if (prefix_phonemes[0] != 0) { @@ -982,7 +981,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char if ((end_type != 0) && !(end_type & SUFX_P)) { // there is another suffix end_flags = RemoveEnding(tr, wordx, end_type, NULL); - more_suffixes = 1; + more_suffixes = true; } } else { // don't remove any previous suffix @@ -1163,7 +1162,7 @@ int TranslateWord(Translator *tr, char *word_start, WORD_TAB *wtab, char *word_o char words_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes char *phonemes = words_phonemes; int available = N_WORD_PHONEMES; - int first_word = 1; + bool first_word = true; int flags = TranslateWord3(tr, word_start, wtab, word_out); if (flags & FLAG_TEXTMODE && word_out) { @@ -1190,7 +1189,7 @@ int TranslateWord(Translator *tr, char *word_start, WORD_TAB *wtab, char *word_o int n; if (first_word) { n = snprintf(phonemes, available, "%s", word_phonemes); - first_word = 0; + first_word = false; } else { n = snprintf(phonemes, available, "%c%s", phonEND_WORD, word_phonemes); } @@ -1305,7 +1304,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa int prev_vowel = -1; int pitch_raised = 0; int switch_phonemes = -1; - int first_phoneme = 1; + bool first_phoneme = true; int source_ix; int len; int ix; @@ -1412,7 +1411,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa if ((flags & FLAG_COMBINE) && !(wtab[1].flags & FLAG_PHONEMES)) { char *p2; - int ok = 1; + bool ok = true; unsigned int flags2[2]; int c_word2; char ph_buf[N_WORD_PHONEMES]; @@ -1427,27 +1426,27 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa utf8_in(&c_word2, p2+1); // first character of the next word; if (!iswalpha(c_word2)) - ok = 0; + ok = false; - if (ok != 0) { + if (ok == true) { strcpy(ph_buf, word_phonemes); flags2[0] = TranslateWord(translator, p2+1, wtab+1, NULL); if ((flags2[0] & FLAG_WAS_UNPRONOUNCABLE) || (word_phonemes[0] == phonSWITCH)) - ok = 0; + ok = false; if (sylimit & 0x100) { // only if the second word has $alt attribute if ((flags2[0] & FLAG_ALT_TRANS) == 0) - ok = 0; + ok = false; } if ((sylimit & 0x200) && ((wtab+1)->flags & FLAG_LAST_WORD)) { // not if the next word is end-of-sentence - ok = 0; + ok = false; } - if (ok == 0) + if (ok == false) strcpy(word_phonemes, ph_buf); } @@ -1651,7 +1650,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa next_stress = 1; // default is 'unstressed' if (stress >= 4) - any_stressed_words = 1; + any_stressed_words = true; if ((prev_vowel >= 0) && (n_ph_list2-1) != prev_vowel) ph_list2[n_ph_list2-1].stresslevel = stress; // set stress for previous consonant @@ -1680,7 +1679,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa ph_list2[n_ph_list2].stresslevel = stress; n_ph_list2++; - first_phoneme = 0; + first_phoneme = false; } } @@ -1782,11 +1781,11 @@ static int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in, unsigned int word; unsigned int new_c, c2, c_lower; int upper_case = 0; - static int ignore_next = 0; + static bool ignore_next = false; const unsigned int *replace_chars; if (ignore_next) { - ignore_next = 0; + ignore_next = false; return 8; } if (c == 0) return 0; @@ -1810,7 +1809,7 @@ static int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in, } if ((word >> 16) == (unsigned int)towlower2(next_in)) { new_c = replace_chars[ix+1]; - ignore_next = 1; + ignore_next = true; break; } } @@ -1948,18 +1947,18 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) int pre_pause_add = 0; int word_mark = 0; int all_upper_case = FLAG_ALL_UPPER; - int finished; - int single_quoted; - int phoneme_mode = 0; + bool finished = false; + bool single_quoted = false; + bool phoneme_mode = false; int dict_flags = 0; // returned from dictionary lookup int word_flags; // set here int next_word_flags; - int new_sentence2; + bool new_sentence2; int embedded_count = 0; int letter_count = 0; - int space_inserted = 0; - int syllable_marked = 0; - int decimal_sep_count = 0; + bool space_inserted = false; + bool syllable_marked = false; + bool decimal_sep_count = false; char *word; char *p; int j, k; @@ -1983,7 +1982,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) embedded_ix = 0; embedded_read = 0; pre_pause = 0; - any_stressed_words = 0; + any_stressed_words = false; if ((clause_start_char = count_characters) < 0) clause_start_char = 0; @@ -2021,7 +2020,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (new_sentence) terminator |= CLAUSE_TYPE_SENTENCE; // carry forward an end-of-sentence indicator max_clause_pause += clause_pause; - new_sentence2 = 0; + new_sentence2 = false; } else { max_clause_pause = clause_pause; new_sentence2 = new_sentence; @@ -2033,7 +2032,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (skip_sentences > 0) { skip_sentences--; if (skip_sentences == 0) - skipping_text = 0; + skipping_text = false; } } @@ -2053,7 +2052,6 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) tr->prev_dict_flags[1] = 0; word_count = 0; - single_quoted = 0; word_flags = 0; next_word_flags = 0; @@ -2065,7 +2063,6 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) words[0].start = ix; words[0].flags = 0; - finished = 0; for (j = 0; charix[j] <= 0; j++) ; words[0].sourceix = charix[j]; @@ -2104,7 +2101,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) next_in_nbytes = utf8_in(&next_in, &source[source_index]); if (c == 0) { - finished = 1; + finished = true; c = ' '; } @@ -2137,7 +2134,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) all_upper_case = FLAG_PHONEMES; if ((c == ']') && (next_in == ']')) { - phoneme_mode = 0; + phoneme_mode = false; source_index++; c = ' '; } @@ -2147,14 +2144,14 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (count_sayas_digits > (option_sayas2 & 0xf)) { // break after the specified number of digits c = ' '; - space_inserted = 1; + space_inserted = true; count_sayas_digits = 0; } } else { count_sayas_digits = 0; if (iswdigit(prev_out)) { c = ' '; - space_inserted = 1; + space_inserted = true; } } } else if ((option_sayas2 & 0x10) == 0) { @@ -2193,7 +2190,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) // allow a tone number as part of the word } else { c = ' '; // ensure we have an end-of-word terminator - space_inserted = 1; + space_inserted = true; } } } @@ -2201,7 +2198,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (iswdigit(prev_out)) { if (!iswdigit(c) && (c != '.') && (c != ',') && (c != ' ')) { c = ' '; // terminate digit string with a space - space_inserted = 1; + space_inserted = true; } } else { // Prev output is not digit if (prev_in == ',') { @@ -2210,14 +2207,14 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (c == ',') c = ' '; } else { - decimal_sep_count = 0; + decimal_sep_count = false; } } if (c == '[') { if ((next_in == '\002') || ((next_in == '[') && option_phoneme_input)) { // "[\002" is used internally to start phoneme mode - phoneme_mode = FLAG_PHONEMES; + phoneme_mode = true; source_index++; continue; } @@ -2231,7 +2228,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if ((prev_out != ' ') && (wcschr(tr->punct_within_word, prev_out) == 0)) { // start of word, insert space if not one there already c = ' '; - space_inserted = 1; + space_inserted = true; if (!IsBracket(prev_out)) // ?? perhaps only set FLAG_NOSPACE for . - / (hyphenated words, URLs, etc) next_word_flags |= FLAG_NOSPACE; @@ -2258,7 +2255,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) // Break into separate words if (IsAlpha(prev_out)) { c = ' '; - space_inserted = 1; + space_inserted = true; word_flags |= FLAG_HYPHEN_AFTER; next_word_flags |= FLAG_HYPHEN; } @@ -2270,10 +2267,10 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) c = towlower2(c); if ((j = tr->langopts.param[LOPT_CAPS_IN_WORD]) > 0) { - if ((j == 2) && (syllable_marked == 0)) { + if ((j == 2) && (syllable_marked == false)) { char_inserted = c; c = 0x2c8; // stress marker - syllable_marked = 1; + syllable_marked = true; } } else { if (iswlower(prev_in)) { @@ -2283,7 +2280,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) c = towlower2(c); } else { c = ' '; // lower case followed by upper case, treat as new word - space_inserted = 1; + space_inserted = true; prev_in_save = c; } } else if ((c != ' ') && iswupper(prev_in) && iswlower(next_in)) { @@ -2295,7 +2292,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) } else if (IsAlpha(next2_in)) { // changing from upper to lower case, start new word at the last uppercase, if 3 or more letters c = ' '; - space_inserted = 1; + space_inserted = true; prev_in_save = c; next_word_flags |= FLAG_NOSPACE; } @@ -2319,7 +2316,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (prev_out != ' ') { // previous 'word' not yet ended (not alpha or numeric), start new word now. c = ' '; - space_inserted = 1; + space_inserted = true; } else { // '-' between two letters is a hyphen, treat as a space word_flags |= FLAG_HYPHEN; @@ -2345,7 +2342,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (prev_out == '.') { // multiple dots, separate by spaces. Note >3 dots has been replaced by elipsis c = ' '; - space_inserted = 1; + space_inserted = true; } else if ((word_count > 0) && !(words[word_count-1].flags & FLAG_NOSPACE) && IsAlpha(prev_in)) { // dot after a word, with space following, probably an abbreviation words[word_count-1].flags |= FLAG_HAS_DOT; @@ -2356,25 +2353,25 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) } else if (c == '\'') { if (((prev_in == '.') || iswalnum(prev_in)) && IsAlpha(next_in)) { // between two letters, or in an abbreviation (eg. u.s.a.'s). Consider the apostrophe as part of the word - single_quoted = 0; + single_quoted = false; } else if ((tr->langopts.param[LOPT_APOSTROPHE] & 1) && IsAlpha(next_in)) - single_quoted = 0; // apostrophe at start of word is part of the word + single_quoted = false; // apostrophe at start of word is part of the word else if ((tr->langopts.param[LOPT_APOSTROPHE] & 2) && IsAlpha(prev_in)) - single_quoted = 0; // apostrophe at end of word is part of the word + single_quoted = false; // apostrophe at end of word is part of the word else if ((wcschr(tr->char_plus_apostrophe, prev_in) != 0) && (prev_out2 == ' ')) { // consider single character plus apostrophe as a word - single_quoted = 0; + single_quoted = false; if (next_in == ' ') source_index++; // skip following space } else { - if ((prev_out == 's') && (single_quoted == 0)) { + if ((prev_out == 's') && (single_quoted == false)) { // looks like apostrophe after an 's' c = ' '; } else { if (IsSpace(prev_out)) - single_quoted = 1; + single_quoted = true; else - single_quoted = 0; + single_quoted = false; pre_pause_add = 4; // single quote c = ' '; @@ -2385,11 +2382,11 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) else if (iswdigit(c)) { if (tr->langopts.tone_numbers && IsAlpha(prev_out) && !IsDigit(next_in)) { } else if ((prev_out != ' ') && !iswdigit(prev_out)) { - if ((prev_out != tr->langopts.decimal_sep) || ((decimal_sep_count > 0) && (tr->langopts.decimal_sep == ','))) { + if ((prev_out != tr->langopts.decimal_sep) || ((decimal_sep_count == true) && (tr->langopts.decimal_sep == ','))) { c = ' '; - space_inserted = 1; + space_inserted = true; } else - decimal_sep_count = 1; + decimal_sep_count = true; } else if ((prev_out == ' ') && IsAlpha(prev_out2) && !IsAlpha(prev_in)) { // insert extra space between a word and a number, to distinguish 'a 2' from 'a2' sbuf[ix++] = ' '; @@ -2464,13 +2461,13 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) pre_pause = 0; word_mark = 0; all_upper_case = FLAG_ALL_UPPER; - syllable_marked = 0; + syllable_marked = false; } if (space_inserted) { source_index = prev_source_index; // rewind to the previous character char_inserted = 0; - space_inserted = 0; + space_inserted = false; } } else { if ((ix < (N_TR_SOURCE - 4))) @@ -2518,7 +2515,7 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (skip_words > 0) { skip_words--; if (skip_words == 0) - skipping_text = 0; + skipping_text = false; } if (skipping_text) continue; @@ -2679,9 +2676,9 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) if (tone_out != NULL) *tone_out = tone; - new_sentence = 0; + new_sentence = false; if (terminator & CLAUSE_TYPE_SENTENCE) - new_sentence = 1; // next clause is a new sentence + new_sentence = true; // next clause is a new sentence if (voice_change != NULL) { // return new voice name if an embedded voice change command terminated the clause @@ -2701,8 +2698,8 @@ void InitText(int control) skip_marker[0] = 0; skip_words = 0; skip_characters = 0; - skipping_text = 0; - new_sentence = 1; + skipping_text = false; + new_sentence = true; prev_clause_pause = 0; diff --git a/src/libespeak-ng/translate.h b/src/libespeak-ng/translate.h index 25c4389c..2016b2d5 100644 --- a/src/libespeak-ng/translate.h +++ b/src/libespeak-ng/translate.h @@ -566,7 +566,7 @@ typedef struct { char spelling_stress; // 0=default, 1=stress first letter char tone_numbers; char ideographs; // treat as separate words - char textmode; // the meaning of FLAG_TEXTMODE is reversed (to save data when *_list file is compiled) + bool textmode; // the meaning of FLAG_TEXTMODE is reversed (to save data when *_list file is compiled) char dotless_i; // uses letter U+0131 int testing; // testing options: bit 1= specify stressed syllable in the form: "outdoor/2" int listx; // compile *_listx after *list @@ -680,7 +680,7 @@ extern int count_sentences; extern int skip_characters; extern int skip_words; extern int skip_sentences; -extern int skipping_text; +extern bool skipping_text; extern int end_character_position; extern int clause_start_char; extern int clause_start_word; @@ -758,7 +758,7 @@ int HashDictionary(const char *string); void print_dictionary_flags(unsigned int *flags, char *buf, int buf_len); char *DecodeRule(const char *group_chars, int group_length, char *rule, int control); -void MakePhonemeList(Translator *tr, int post_pause, int new_sentence); +void MakePhonemeList(Translator *tr, int post_pause, bool new_sentence); int ChangePhonemes_ru(Translator *tr, PHONEME_LIST2 *phlist, int n_ph, int index, PHONEME_TAB *ph, CHANGEPH *ch); void ApplySpecialAttribute2(Translator *tr, char *phonemes, int dict_flags); void AppendPhonemes(Translator *tr, char *string, int size, const char *ph); diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index b7bdc9e7..78cef626 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -496,8 +496,8 @@ voice_t *LoadVoice(const char *vname, int control) int value2; int langix = 0; int tone_only = control & 2; - int language_set = 0; - int phonemes_set = 0; + bool language_set = false; + bool phonemes_set = false; int stress_amps_set = 0; int stress_lengths_set = 0; int stress_add_set = 0; @@ -627,9 +627,9 @@ voice_t *LoadVoice(const char *vname, int control) } // only act on the first language line - if (language_set == 0) { + if (language_set == false) { language_type = strtok(language_name, "-"); - language_set = 1; + language_set = true; strcpy(translator_name, language_type); strcpy(new_dictionary, language_type); strcpy(phonemes_name, language_type); @@ -752,10 +752,10 @@ voice_t *LoadVoice(const char *vname, int control) fprintf(stderr, "Cannot set stressopt: language not set, or is invalid.\n"); break; case V_REPLACE: - if (phonemes_set == 0) { + if (phonemes_set == false) { // must set up a phoneme table before we can lookup phoneme mnemonics SelectPhonemeTableName(phonemes_name); - phonemes_set = 1; + phonemes_set = true; } PhonemeReplacement(p); break;