|
|
|
|
|
|
|
|
return (unsigned char *)&phondata_ptr[index]; |
|
|
return (unsigned char *)&phondata_ptr[index]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static void SetUpPhonemeTable(int number, bool recursing) |
|
|
|
|
|
|
|
|
static void SetUpPhonemeTable(int number) |
|
|
{ |
|
|
{ |
|
|
int ix; |
|
|
int ix; |
|
|
int includes; |
|
|
int includes; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((includes = phoneme_tab_list[number].includes) > 0) { |
|
|
if ((includes = phoneme_tab_list[number].includes) > 0) { |
|
|
// recursively include base phoneme tables |
|
|
// recursively include base phoneme tables |
|
|
SetUpPhonemeTable(includes-1, true); |
|
|
|
|
|
|
|
|
SetUpPhonemeTable(includes - 1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// now add the phonemes from this table |
|
|
// now add the phonemes from this table |
|
|
|
|
|
|
|
|
int SelectPhonemeTable(int number) |
|
|
int SelectPhonemeTable(int number) |
|
|
{ |
|
|
{ |
|
|
n_phoneme_tab = 0; |
|
|
n_phoneme_tab = 0; |
|
|
SetUpPhonemeTable(number, false); // recursively for included phoneme tables |
|
|
|
|
|
|
|
|
SetUpPhonemeTable(number); // recursively for included phoneme tables |
|
|
n_phoneme_tab++; |
|
|
n_phoneme_tab++; |
|
|
return number; |
|
|
return number; |
|
|
} |
|
|
} |