diff options
author | Peng Wu <alexepico@gmail.com> | 2013-08-23 11:14:00 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2013-08-23 11:40:42 +0800 |
commit | bc7968f4f436dcdaa30acde305054f4ece6194c5 (patch) | |
tree | efd58eb7e904598df23f5bcdce26233dd87c8aba /scripts | |
parent | abc7f5eaec6c83bc40d30bccc0bf3c0440921c4f (diff) | |
download | libzhuyin-bc7968f4f436dcdaa30acde305054f4ece6194c5.tar.gz libzhuyin-bc7968f4f436dcdaa30acde305054f4ece6194c5.tar.xz libzhuyin-bc7968f4f436dcdaa30acde305054f4ece6194c5.zip |
update genbopomofoheader.py
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/bopomofokeyboard.py | 5 | ||||
-rw-r--r-- | scripts/genbopomofoheader.py | 31 |
2 files changed, 22 insertions, 14 deletions
diff --git a/scripts/bopomofokeyboard.py b/scripts/bopomofokeyboard.py index 6a2d90b..751f27b 100644 --- a/scripts/bopomofokeyboard.py +++ b/scripts/bopomofokeyboard.py @@ -30,7 +30,10 @@ bopomofo_symbols = [ ] #陰平聲不標號, use space key -bopomofo_num_tones = -5 +bopomofo_initial_range = (0, 21) +bopomofo_middle_range = (21, 24) +bopomofo_final_range = (24, -5) +bopomofo_tone_range = (-5, None) bopomofo_keyboards = { #標準注音鍵盤 diff --git a/scripts/genbopomofoheader.py b/scripts/genbopomofoheader.py index 9f671da..ec9b012 100644 --- a/scripts/genbopomofoheader.py +++ b/scripts/genbopomofoheader.py @@ -23,8 +23,7 @@ from operator import itemgetter from utils import expand_file -from bopomofokeyboard import bopomofo_symbols, \ - bopomofo_num_tones, bopomofo_keyboards +from bopomofokeyboard import * def escape_char(ch): if ch == "'" or ch == "\\": @@ -32,13 +31,10 @@ def escape_char(ch): return "'{0}'".format(ch) -#generate shengmu and yunmu here -def gen_chewing_symbols(scheme): - keyboard = bopomofo_keyboards[scheme] - keyboard = keyboard[: bopomofo_num_tones] +def gen_chewing_symbols(keys, symbols): items = [] - for (i, key) in enumerate(keyboard): - items.append((key, bopomofo_symbols[i])) + for (i, key) in enumerate(keys): + items.append((key, symbols[i])) items = sorted(items, key=itemgetter(0)) entries = [] for (key, string) in items: @@ -50,12 +46,21 @@ def gen_chewing_symbols(scheme): return ",\n".join(entries) +#generate shengmu and yunmu here +def gen_chewing_shengyun(scheme): + keys = bopomofo_keyboards[scheme] + keys = keys[:-5] + symbols = bopomofo_symbols[:-5] + return gen_chewing_symbols(keys, symbols) + + #generate tones here def gen_chewing_tones(scheme): - keyboard = bopomofo_keyboards[scheme] - keyboard = keyboard[bopomofo_num_tones:] + (begin, end) = bopomofo_tone_range + keys = bopomofo_keyboards[scheme] + keys = keys[begin:end] items = [] - for (i, key) in enumerate(keyboard, start=1): + for (i, key) in enumerate(keys, start=1): items.append((key, i)); items = sorted(items, key=itemgetter(0)) entries = [] @@ -70,9 +75,9 @@ def gen_chewing_tones(scheme): def get_table_content(tablename): (scheme, part) = tablename.split('_', 1) if part == "SYMBOLS": - return gen_chewing_symbols(scheme); + return gen_chewing_shengyun(scheme) if part == "TONES": - return gen_chewing_tones(scheme); + return gen_chewing_tones(scheme) ### main function ### |