From 7dfc18b954da70f977c8b272503dd34df042419b Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Thu, 21 Feb 2013 11:10:46 +0800 Subject: add shengmu and yunmu to content_table --- scripts/genpinyintable.py | 15 ++++++++++++++- src/storage/pinyin_parser2.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/genpinyintable.py b/scripts/genpinyintable.py index 6eda276..cc60034 100644 --- a/scripts/genpinyintable.py +++ b/scripts/genpinyintable.py @@ -58,11 +58,24 @@ def sort_all(): pinyin_index = sorted(pinyin_index, key=sortfunc) bopomofo_index = sorted(bopomofo_index, key=sortfunc) +def get_sheng_yun(pinyin): + if pinyin == None: + return None, None + if pinyin == "": + return "", "" + if pinyin == "ng": + return "", "ng" + for i in range(2, 0, -1): + s = pinyin[:i] + if s in shengmu_list: + return s, pinyin[i:] + return "", pinyin def gen_content_table(): entries = [] for ((correct, bopomofo, chewing)) in content_table: - entry = '{{"{0}", "{1}", {2}}}'.format(correct, bopomofo, chewing) + (shengmu, yunmu) = get_sheng_yun(correct) + entry = '{{"{0}", "{1}", "{2}", "{3}", {4}}}'.format(correct, shengmu, yunmu, bopomofo, chewing) entries.append(entry) return ',\n'.join(entries) diff --git a/src/storage/pinyin_parser2.h b/src/storage/pinyin_parser2.h index 644dd07..e40b30c 100644 --- a/src/storage/pinyin_parser2.h +++ b/src/storage/pinyin_parser2.h @@ -31,6 +31,8 @@ namespace pinyin{ typedef struct { const char * m_pinyin_str; + const char * m_shengmu_str; + const char * m_yunmu_str; const char * m_chewing_str; ChewingKey m_chewing_key; } content_table_item_t; -- cgit