summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2014-12-18 11:19:40 +0800
committerPeng Wu <alexepico@gmail.com>2014-12-18 11:19:40 +0800
commit99266561a5c5ec8e43944e807ef795c72fa46170 (patch)
tree3e913f1cc87b014f559dcb34dbf903115f955089
parent5cfda4c383a3b02cbbfca39ee5058abee7de3dee (diff)
downloadlibpinyin-99266561a5c5ec8e43944e807ef795c72fa46170.tar.gz
libpinyin-99266561a5c5ec8e43944e807ef795c72fa46170.tar.xz
libpinyin-99266561a5c5ec8e43944e807ef795c72fa46170.zip
write pinyin_get_context and pinyin_get_pinyin_is_incomplete method
-rw-r--r--src/libpinyin.ver2
-rw-r--r--src/pinyin.cpp12
-rw-r--r--src/pinyin.h21
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.