diff options
author | Peng Wu <alexepico@gmail.com> | 2011-10-07 12:53:14 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2011-12-22 12:23:13 +0800 |
commit | e5870dfe0dc3a85182b8f92322ac25127de10af5 (patch) | |
tree | f41a9fea3df835c843d6318da3f4549f3f4104d0 /src/PYLibPinyin.cc | |
parent | fd1f18c48e6fbec50e8c908552c446c60363a94b (diff) | |
download | ibus-libpinyin-e5870dfe0dc3a85182b8f92322ac25127de10af5.tar.gz ibus-libpinyin-e5870dfe0dc3a85182b8f92322ac25127de10af5.tar.xz ibus-libpinyin-e5870dfe0dc3a85182b8f92322ac25127de10af5.zip |
write libpinyin backend
Diffstat (limited to 'src/PYLibPinyin.cc')
-rw-r--r-- | src/PYLibPinyin.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/PYLibPinyin.cc b/src/PYLibPinyin.cc index a7097fe..d76e612 100644 --- a/src/PYLibPinyin.cc +++ b/src/PYLibPinyin.cc @@ -48,6 +48,7 @@ LibPinyinBackEnd::allocPinyinInstance () { if (NULL == m_pinyin_context) { m_pinyin_context = pinyin_init ("/usr/share/libpinyin/data", NULL); + setPinyinOptions (&PinyinConfig::instance ()); } return pinyin_alloc_instance (m_pinyin_context); } @@ -63,6 +64,7 @@ LibPinyinBackEnd::allocChewingInstance () { if (NULL == m_chewing_context) { m_chewing_context = pinyin_init ("/usr/share/libpinyin/data", NULL); + setChewingOptions (&BopomofoConfig::instance ()); } return pinyin_alloc_instance (m_chewing_context); } @@ -117,6 +119,8 @@ static const struct { gboolean LibPinyinBackEnd::setFuzzyOptions (Config *config, pinyin_context_t *context) { + g_assert (context); + guint option = config->option (); PinyinCustomSettings custom; @@ -151,6 +155,9 @@ static const struct{ gboolean LibPinyinBackEnd::setPinyinOptions (Config *config) { + if (NULL == m_pinyin_context) + return FALSE; + const gint map = config->doublePinyinSchema (); for (guint i = 0; i < G_N_ELEMENTS (shuang_pin_options); i++) { if (map == shuang_pin_options[i].double_pinyin_keyboard) { @@ -179,6 +186,9 @@ static const struct { gboolean LibPinyinBackEnd::setChewingOptions (Config *config) { + if (NULL == m_chewing_context) + return FALSE; + const gint map = config->bopomofoKeyboardMapping (); for (guint i = 0; i < G_N_ELEMENTS (chewing_options); i++) { if (map == chewing_options[i].bopomofo_keyboard) { |