summaryrefslogtreecommitdiffstats
path: root/scripts/pinyintable.py
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2011-11-02 14:49:24 +0800
committerPeng Wu <alexepico@gmail.com>2011-11-02 14:49:24 +0800
commit880b6876320b98e7d9a17aa3029c1ae35c9d0809 (patch)
tree1cddf2789a9a78c827a6cf11a350cbfd03f28867 /scripts/pinyintable.py
parent7486c26af092ed6b40c640cd1dbf99456ba51892 (diff)
downloadlibpinyin-880b6876320b98e7d9a17aa3029c1ae35c9d0809.tar.gz
libpinyin-880b6876320b98e7d9a17aa3029c1ae35c9d0809.tar.xz
libpinyin-880b6876320b98e7d9a17aa3029c1ae35c9d0809.zip
fixes gen special table
Diffstat (limited to 'scripts/pinyintable.py')
-rw-r--r--scripts/pinyintable.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/scripts/pinyintable.py b/scripts/pinyintable.py
index 3457aba..979f9b7 100644
--- a/scripts/pinyintable.py
+++ b/scripts/pinyintable.py
@@ -110,21 +110,27 @@ def gen_pinyins():
flags, get_chewing(pinyin_key)
+def get_shengmu_chewing(shengmu):
+ assert shengmu in shengmu_list, "Expected shengmu here."
+ chewing_key = 'CHEWING_{0}'.format(shengmu.upper())
+ if chewing_key in chewing.ASCII_CHEWING_INITIAL_MAP:
+ initial = chewing_key
+ else:
+ initial = 'PINYIN_{0}'.format(shengmu.upper())
+ return initial, "CHEWING_ZREO_MIDDLE", "CHEWING_ZERO_FINAL"
+
def gen_shengmu():
#generate all shengmu
for shengmu in shengmu_list:
if shengmu in pinyin_list:
continue
flags = ["IS_PINYIN", "PINYIN_INCOMPLETE"]
- chewing_key = 'CHEWING_{0}'.format(shengmu.upper())
- if chewing_key in chewing.ASCII_CHEWING_INITIAL_MAP:
- initial = chewing_key
+ chewing_key = get_shengmu_chewing(shengmu)
+ chewing_initial = chewing_key[0]
+ if chewing_initial in chewing.ASCII_CHEWING_INITIAL_MAP:
chewing_key = chewing.ASCII_CHEWING_INITIAL_MAP[chewing_key]
- else:
- chewing_key = 'PINYIN_{0}'.format(shengmu.upper())
- initial = chewing_key
- yield shengmu, shengmu, chewing_key, \
- flags, (initial, "CHEWING_ZREO_MIDDLE", "CHEWING_ZERO_FINAL")
+ yield shengmu, shengmu, chewing_initial, \
+ flags, chewing_key
def gen_corrects():