diff options
author | Peng Wu <alexepico@gmail.com> | 2017-12-28 10:58:56 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2017-12-28 10:58:56 +0800 |
commit | 1f2bafab941a38307b78fb2236e7aee74b8f0f89 (patch) | |
tree | c93ddd1d70f0473cd8a42f022a5b4e1dab7a8161 /scripts2 | |
parent | c0f1489a9dc0fba1cb69082b196696c812340613 (diff) | |
download | libpinyin-1f2bafab941a38307b78fb2236e7aee74b8f0f89.tar.gz libpinyin-1f2bafab941a38307b78fb2236e7aee74b8f0f89.tar.xz libpinyin-1f2bafab941a38307b78fb2236e7aee74b8f0f89.zip |
update scripts2 for valid zhuyin table
Diffstat (limited to 'scripts2')
-rw-r--r-- | scripts2/generateheader.py | 3 | ||||
-rw-r--r-- | scripts2/templates/zhuyin_table.h.in | 9 | ||||
-rw-r--r-- | scripts2/zhuyin.py | 3 |
3 files changed, 14 insertions, 1 deletions
diff --git a/scripts2/generateheader.py b/scripts2/generateheader.py index f91b843..59e7633 100644 --- a/scripts2/generateheader.py +++ b/scripts2/generateheader.py @@ -27,6 +27,7 @@ from fullpinyintable import gen_content_table, gen_pinyin_index, gen_luoma_pinyi from specialtable import gen_divided_table, gen_resplit_table from doublepinyintable import gen_shengmu_table, gen_yunmu_table, gen_fallback_table2, gen_fallback_table3 from bopomofotable import gen_chewing_symbols, gen_chewing_initials, gen_chewing_middles, gen_chewing_finals, gen_chewing_tones +from zhuyin import gen_zhuyin_table header = '''/* This file is generated by python scripts. Don't edit this file directly. @@ -66,6 +67,8 @@ def get_table_content(tablename): return gen_resplit_table() if tablename == 'TABLE_INDEX': return gen_table_index_for_chewing_key() + if tablename == 'VALID_ZHUYIN_TABLE': + return gen_zhuyin_table() #double pinyin table (scheme, part) = tablename.split('_', 1) diff --git a/scripts2/templates/zhuyin_table.h.in b/scripts2/templates/zhuyin_table.h.in index 9760d4f..f9fc9fa 100644 --- a/scripts2/templates/zhuyin_table.h.in +++ b/scripts2/templates/zhuyin_table.h.in @@ -107,7 +107,14 @@ const zhuyin_tone_item_t chewing_dachen_cp26_tones[] = { @DACHEN-CP26_TONES@ }; -static const char * chewing_tone_table[CHEWING_NUMBER_OF_TONES] = { +const bool valid_zhuyin_table[CHEWING_NUMBER_OF_INITIALS * + CHEWING_NUMBER_OF_MIDDLES * + CHEWING_NUMBER_OF_FINALS * + CHEWING_NUMBER_OF_TONES] = { +@VALID_ZHUYIN_TABLE@ +}; + +const char * chewing_tone_table[CHEWING_NUMBER_OF_TONES] = { "", " ", "ˊ", diff --git a/scripts2/zhuyin.py b/scripts2/zhuyin.py index 5ab76c4..fa5dbd9 100644 --- a/scripts2/zhuyin.py +++ b/scripts2/zhuyin.py @@ -65,6 +65,7 @@ def compute_zero_tone(): final_maps = middle_maps[middle] for final in final_maps.keys(): tone_maps = final_maps[final] + # assume all valid zero tones have sub tones if len(tone_maps) > 0: tone_maps["CHEWING_ZERO_TONE"] = True @@ -95,6 +96,8 @@ def is_valid_zhuyin(key): if tone not in maps: return False + return True + # generate valid_zhuyin_table def gen_zhuyin_table(): |