diff options
author | Peng Wu <alexepico@gmail.com> | 2012-01-29 13:17:33 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-01-29 13:18:09 +0800 |
commit | 741f495134ac477631126358f204034507f1d5f3 (patch) | |
tree | 234fca7ac24718ad22b5702db5cad52015a9b80d | |
parent | 06668708392d044b0656b5f8e7569c71c169fb16 (diff) | |
download | libpinyin-741f495134ac477631126358f204034507f1d5f3.tar.gz libpinyin-741f495134ac477631126358f204034507f1d5f3.tar.xz libpinyin-741f495134ac477631126358f204034507f1d5f3.zip |
fixes post process in full pinyin parser
-rw-r--r-- | src/storage/pinyin_parser2.cpp | 14 |
1 files 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; |