From 556a8bb43e42e25df8f8f0bcedfcb1d0a4704d49 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Mon, 16 Apr 2012 11:04:00 +0800 Subject: begin to write initial fuzzy pinyin support --- src/pinyin.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src') diff --git a/src/pinyin.h b/src/pinyin.h index 50eaf6d..e8b751a 100644 --- a/src/pinyin.h +++ b/src/pinyin.h @@ -35,6 +35,22 @@ extern "C" { typedef struct _pinyin_context_t pinyin_context_t; typedef struct _pinyin_instance_t pinyin_instance_t; +typedef struct _lookup_candidate_t lookup_candidate_t; + +typedef GArray * CandidateVector; /* GArray of lookup_candidate_t */ + +enum lookup_candidate_type_t{ + NORMAL_CANDIDATE = 1, + DIVIDED_CANDIDATE, + RESPLIT_CANDIDATE +}; + +struct _lookup_candidate_t{ + enum lookup_candidate_type_t m_candidate_type; + phrase_token_t m_token; + ChewingKeyRest m_orig_rest; + gchar * m_new_pinyins; +}; struct _pinyin_instance_t{ pinyin_context_t * m_context; @@ -285,6 +301,10 @@ bool pinyin_get_candidates(pinyin_instance_t * instance, size_t offset, TokenVector candidates); +bool pinyin_get_candidates_v2(pinyin_instance_t * instance, + size_t offset, + CandidateVector candidates); + /** * pinyin_choose_candidate: * @instance: the pinyin instance. @@ -299,6 +319,10 @@ int pinyin_choose_candidate(pinyin_instance_t * instance, size_t offset, phrase_token_t token); +int pinyin_choose_candidate_v2(pinyin_instance_t * instance, + size_t offset, + lookup_candidate_t * candidate); + /** * pinyin_clear_constraint: * @instance: the pinyin instance. -- cgit