summaryrefslogtreecommitdiffstats
path: root/src/pinyin.h
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-04-16 11:04:00 +0800
committerPeng Wu <alexepico@gmail.com>2012-04-16 11:04:00 +0800
commit556a8bb43e42e25df8f8f0bcedfcb1d0a4704d49 (patch)
treedbe7409fa38072a75e04c53716d3e82dc9569abd /src/pinyin.h
parentd02d2e469585da83b1b3e1ec3a4a38083c5b8c30 (diff)
downloadlibpinyin-556a8bb43e42e25df8f8f0bcedfcb1d0a4704d49.tar.gz
libpinyin-556a8bb43e42e25df8f8f0bcedfcb1d0a4704d49.tar.xz
libpinyin-556a8bb43e42e25df8f8f0bcedfcb1d0a4704d49.zip
begin to write initial fuzzy pinyin support
Diffstat (limited to 'src/pinyin.h')
-rw-r--r--src/pinyin.h24
1 files changed, 24 insertions, 0 deletions
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.