| if (p->synthflags & SFLAG_SYLLABLE) { | if (p->synthflags & SFLAG_SYLLABLE) { | ||||
| tone_ph = p->tone_ph; | tone_ph = p->tone_ph; | ||||
| tph = phoneme_tab[tone_ph]; | tph = phoneme_tab[tone_ph]; | ||||
| // Hakka | |||||
| if (tr->translator_name == L3('h','a','k')){ | |||||
| if (prev_tph->mnemonic == 0x31){ // [previous one is 1st tone] | |||||
| // [this one is 1st, 4th, or 6th tone] | |||||
| if (tph->mnemonic == 0x31 || tph->mnemonic == 0x34 || | |||||
| tph->mnemonic == 0x36){ | |||||
| prev_p->tone_ph = PhonemeCode('2'); | |||||
| } | |||||
| } | |||||
| } | |||||
| // Mandarin | // Mandarin | ||||
| if (tr->translator_name == L('z', 'h')) { | if (tr->translator_name == L('z', 'h')) { | ||||
| if (tone_ph == 0) { | if (tone_ph == 0) { |