summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/storage/phonetic_key_matrix.cpp3
-rw-r--r--src/storage/pinyin_parser2.cpp6
2 files changed, 9 insertions, 0 deletions
diff --git a/src/storage/phonetic_key_matrix.cpp b/src/storage/phonetic_key_matrix.cpp
index 360a00a..72b3f81 100644
--- a/src/storage/phonetic_key_matrix.cpp
+++ b/src/storage/phonetic_key_matrix.cpp
@@ -75,6 +75,9 @@ bool fill_phonetic_key_matrix_from_chewing_keys(PhoneticKeyMatrix * matrix,
bool fuzzy_syllable_step(pinyin_option_t options,
PhoneticKeyMatrix * matrix) {
+ if (!(options & PINYIN_AMB_ALL))
+ return false;
+
size_t length = matrix->size();
GArray * keys = g_array_new(TRUE, TRUE, sizeof(ChewingKey));
diff --git a/src/storage/pinyin_parser2.cpp b/src/storage/pinyin_parser2.cpp
index e9b7051..b96f6d8 100644
--- a/src/storage/pinyin_parser2.cpp
+++ b/src/storage/pinyin_parser2.cpp
@@ -886,6 +886,9 @@ int PinyinDirectParser2::parse(pinyin_option_t options,
/* need to use the pinyin_parser_table header. */
bool resplit_step(pinyin_option_t options,
PhoneticKeyMatrix * matrix) {
+ if (!(options & USE_RESPLIT_TABLE))
+ return false;
+
size_t length = matrix->size();
GArray * keys = g_array_new(TRUE, TRUE, sizeof(ChewingKey));
@@ -965,6 +968,9 @@ bool resplit_step(pinyin_option_t options,
/* need to use the pinyin_parser_table header. */
bool inner_split_step(pinyin_option_t options,
PhoneticKeyMatrix * matrix) {
+ if (!(options & USE_DIVIDED_TABLE))
+ return false;
+
size_t length = matrix->size();
GArray * keys = g_array_new(TRUE, TRUE, sizeof(ChewingKey));