diff options
author | Peng Wu <alexepico@gmail.com> | 2014-12-18 11:19:40 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2014-12-18 11:19:40 +0800 |
commit | 99266561a5c5ec8e43944e807ef795c72fa46170 (patch) | |
tree | 3e913f1cc87b014f559dcb34dbf903115f955089 /src | |
parent | 5cfda4c383a3b02cbbfca39ee5058abee7de3dee (diff) | |
download | libpinyin-99266561a5c5ec8e43944e807ef795c72fa46170.tar.gz libpinyin-99266561a5c5ec8e43944e807ef795c72fa46170.tar.xz libpinyin-99266561a5c5ec8e43944e807ef795c72fa46170.zip |
write pinyin_get_context and pinyin_get_pinyin_is_incomplete method
Diffstat (limited to 'src')
-rw-r--r-- | src/libpinyin.ver | 2 | ||||
-rw-r--r-- | src/pinyin.cpp | 12 | ||||
-rw-r--r-- | src/pinyin.h | 21 |
3 files changed, 35 insertions, 0 deletions
diff --git a/src/libpinyin.ver b/src/libpinyin.ver index 843b88e..64879d7 100644 --- a/src/libpinyin.ver +++ b/src/libpinyin.ver @@ -14,6 +14,7 @@ LIBPINYIN { pinyin_set_options; pinyin_alloc_instance; pinyin_free_instance; + pinyin_get_context; pinyin_guess_sentence; pinyin_guess_sentence_with_prefix; pinyin_guess_predicted_candidates; @@ -38,6 +39,7 @@ LIBPINYIN { pinyin_get_chewing_string; pinyin_get_pinyin_string; pinyin_get_pinyin_strings; + pinyin_get_pinyin_is_incomplete; pinyin_token_get_phrase; pinyin_token_get_n_pronunciation; pinyin_token_get_nth_pronunciation; diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 526e6fc..10ce149 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -779,6 +779,9 @@ void pinyin_free_instance(pinyin_instance_t * instance){ delete instance; } +pinyin_context_t * pinyin_get_context (pinyin_instance_t * instance){ + return instance->m_context; +} static bool pinyin_update_constraints(pinyin_instance_t * instance){ pinyin_context_t * & context = instance->m_context; @@ -2036,6 +2039,15 @@ bool pinyin_get_pinyin_strings(pinyin_instance_t * instance, return true; } +bool pinyin_get_pinyin_is_incomplete(pinyin_instance_t * instance, + ChewingKey * key) { + if (CHEWING_ZERO_MIDDLE == key->m_middle && + CHEWING_ZERO_FINAL == key->m_final) + return true; + + return false; +} + bool pinyin_token_get_phrase(pinyin_instance_t * instance, phrase_token_t token, guint * len, diff --git a/src/pinyin.h b/src/pinyin.h index 17a2743..a421841 100644 --- a/src/pinyin.h +++ b/src/pinyin.h @@ -210,6 +210,15 @@ pinyin_instance_t * pinyin_alloc_instance(pinyin_context_t * context); */ void pinyin_free_instance(pinyin_instance_t * instance); +/** + * pinyin_get_context: + * @instance: the pinyin instance. + * @returns: the pinyin context. + * + * Get the pinyin context from the pinyin instance. + * + */ +pinyin_context_t * pinyin_get_context (pinyin_instance_t * instance); /** * pinyin_guess_sentence: @@ -512,6 +521,18 @@ bool pinyin_get_pinyin_strings(pinyin_instance_t * instance, gchar ** yunmu); /** + * pinyin_get_pinyin_is_incomplete: + * @instance: the pinyin instance. + * @key: the pinyin key. + * @returns: whether the pinyin key is incomplete pinyin. + * + * Check whether the pinyin key is incomplete pinyin. + * + */ +bool pinyin_get_pinyin_is_incomplete(pinyin_instance_t * instance, + ChewingKey * key); + +/** * pinyin_token_get_phrase: * @instance: the pinyin instance. * @token: the phrase token. |