From 741f495134ac477631126358f204034507f1d5f3 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Sun, 29 Jan 2012 13:17:33 +0800 Subject: fixes post process in full pinyin parser --- src/storage/pinyin_parser2.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/storage/pinyin_parser2.cpp b/src/storage/pinyin_parser2.cpp index 0437440..ab8330c 100644 --- a/src/storage/pinyin_parser2.cpp +++ b/src/storage/pinyin_parser2.cpp @@ -464,22 +464,20 @@ bool FullPinyinParser2::post_process(pinyin_option_t options, guint16 next_tone = CHEWING_ZERO_TONE; for (i = 0; i < num_keys - 1; ++i) { - cur_key = &g_array_index(keys, ChewingKey, i); - next_key = &g_array_index(keys, ChewingKey, i + 1); + cur_rest = &g_array_index(key_rests, ChewingKeyRest, i); + next_rest = &g_array_index(key_rests, ChewingKeyRest, i + 1); /* some "'" here */ - if (0 == cur_key->get_table_index()) - continue; - if (0 == next_key->get_table_index()) + if (cur_rest->m_raw_end != next_rest->m_raw_begin) continue; + cur_key = &g_array_index(keys, ChewingKey, i); + next_key = &g_array_index(keys, ChewingKey, i + 1); + /* some tone here */ if (CHEWING_ZERO_TONE != cur_key->m_tone) continue; - cur_rest = &g_array_index(key_rests, ChewingKeyRest, i); - next_rest = &g_array_index(key_rests, ChewingKeyRest, i + 1); - if (options & USE_TONE) { next_tone = next_key->m_tone; next_key->m_tone = CHEWING_ZERO_TONE; -- cgit