[libpinyin] fixes full pinyin parser
Peng Wu
pwu at fedoraproject.org
Sun Jan 29 05:22:11 UTC 2012
commit 8db947f122a602515e7c4ea9f0d5a878299ed4dd
Author: Peng Wu <alexepico at gmail.com>
Date: Sun Jan 29 13:22:00 2012 +0800
fixes full pinyin parser
libpinyin-0.5.x-head.patch | 50 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 2 deletions(-)
---
diff --git a/libpinyin-0.5.x-head.patch b/libpinyin-0.5.x-head.patch
index d3fa975..963ad1e 100644
--- a/libpinyin-0.5.x-head.patch
+++ b/libpinyin-0.5.x-head.patch
@@ -1,7 +1,7 @@
From b54a7e1600ba00d9886a0d17b0f923e40cf9672c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sun, 29 Jan 2012 10:26:17 +0800
-Subject: [PATCH 1/2] fixes pinyin parsers
+Subject: [PATCH 1/3] fixes pinyin parsers
---
src/storage/pinyin_parser2.cpp | 4 +++-
@@ -43,7 +43,7 @@ index deef306..4ab36aa 100644
From 06668708392d044b0656b5f8e7569c71c169fb16 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sun, 29 Jan 2012 11:06:48 +0800
-Subject: [PATCH 2/2] fixes parse one key
+Subject: [PATCH 2/3] fixes parse one key
---
src/storage/pinyin_parser2.cpp | 6 ++++++
@@ -76,3 +76,49 @@ index 4ab36aa..0437440 100644
--
1.7.7.5
+
+From 741f495134ac477631126358f204034507f1d5f3 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Sun, 29 Jan 2012 13:17:33 +0800
+Subject: [PATCH 3/3] fixes post process in full pinyin parser
+
+---
+ 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;
+--
+1.7.7.5
+
More information about the scm-commits
mailing list