improves pinyin parsers
authorPeng Wu <alexepico@gmail.com>
Fri, 10 Feb 2012 08:53:11 +0000 (16:53 +0800)
committerPeng Wu <alexepico@gmail.com>
Fri, 10 Feb 2012 08:53:11 +0000 (16:53 +0800)
src/storage/pinyin_parser2.cpp

index 494daad..80a525b 100644 (file)
@@ -397,6 +397,15 @@ int FullPinyinParser2::parse (pinyin_option_t options, ChewingKeyVector & keys,
                          nextstep->m_key.m_middle == CHEWING_ZERO_MIDDLE &&
                          nextstep->m_key.m_final == CHEWING_ZERO_FINAL))
                         *nextstep = value;
+
+                    /* "zheyanga$" -> "zhe'yang'a$" */
+                    if (value.m_parsed_len == len &&
+                        (nextstep->m_key.m_initial != CHEWING_ZERO_INITIAL &&
+                         nextstep->m_key.m_final == CHEWING_A) &&
+                        (value.m_key.m_initial == CHEWING_ZERO_INITIAL &&
+                         value.m_key.m_middle == CHEWING_ZERO_MIDDLE &&
+                         value.m_key.m_final == CHEWING_A))
+                        *nextstep = value;
                 }
             }
         }