diff options
author | Peng Wu <alexepico@gmail.com> | 2011-11-22 15:46:35 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2011-11-22 15:46:35 +0800 |
commit | f736c00e0d4b6640ab56abb84af123ceb20df647 (patch) | |
tree | 970c5d9b6ae00ce529d2a7dd31249fc41cd5529b /src/storage | |
parent | d9d3c2c7292d209829823fb9ed1ac977ed6aeb07 (diff) | |
download | libpinyin-f736c00e0d4b6640ab56abb84af123ceb20df647.tar.gz libpinyin-f736c00e0d4b6640ab56abb84af123ceb20df647.tar.xz libpinyin-f736c00e0d4b6640ab56abb84af123ceb20df647.zip |
add set scheme for double pinyin parser2
Diffstat (limited to 'src/storage')
-rw-r--r-- | src/storage/pinyin_parser2.cpp | 34 | ||||
-rw-r--r-- | src/storage/pinyin_parser2.h | 4 |
2 files changed, 36 insertions, 2 deletions
diff --git a/src/storage/pinyin_parser2.cpp b/src/storage/pinyin_parser2.cpp index 5524e69..1c30c14 100644 --- a/src/storage/pinyin_parser2.cpp +++ b/src/storage/pinyin_parser2.cpp @@ -416,3 +416,37 @@ int DoublePinyinParser2::parse (guint32 options, ChewingKeyVector & keys, const char *str, int len) const{ assert(FALSE); } + +bool DoublePinyinParser2::set_scheme(DoublePinyinScheme scheme) { + + switch (scheme) { + case DOUBLE_PINYIN_ZRM: + m_shengmu_table = double_pinyin_zrm_sheng; + m_yunmu_table = double_pinyin_zrm_yun; + return true; + case DOUBLE_PINYIN_MS: + m_shengmu_table = double_pinyin_mspy_sheng; + m_yunmu_table = double_pinyin_mspy_yun; + return true; + case DOUBLE_PINYIN_ZIGUANG: + m_shengmu_table = double_pinyin_zgpy_sheng; + m_yunmu_table = double_pinyin_zgpy_yun; + return true; + case DOUBLE_PINYIN_ABC: + m_shengmu_table = double_pinyin_abc_sheng; + m_yunmu_table = double_pinyin_abc_yun; + return true; + case DOUBLE_PINYIN_PYJJ: + m_shengmu_table = double_pinyin_pyjj_sheng; + m_yunmu_table = double_pinyin_pyjj_yun; + return true; + case DOUBLE_PINYIN_XHE: + m_shengmu_table = double_pinyin_xhe_sheng; + m_yunmu_table = double_pinyin_xhe_yun; + return true; + case DOUBLE_PINYIN_CUSTOMIZED: + assert(FALSE); + }; + + return false; /* no such scheme. */ +} diff --git a/src/storage/pinyin_parser2.h b/src/storage/pinyin_parser2.h index 4d71538..ad16113 100644 --- a/src/storage/pinyin_parser2.h +++ b/src/storage/pinyin_parser2.h @@ -153,8 +153,8 @@ class DoublePinyinParser2 : public PinyinParser2 { /* Note: two internal pointers to double pinyin scheme table. */ protected: - double_pinyin_scheme_shengmu_item_t * m_shengmu_table; - double_pinyin_scheme_yunmu_item_t * m_yunmu_table; + const double_pinyin_scheme_shengmu_item_t * m_shengmu_table; + const double_pinyin_scheme_yunmu_item_t * m_yunmu_table; public: DoublePinyinParser2() { |