summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-08-23 11:14:00 +0800
committerPeng Wu <alexepico@gmail.com>2013-08-23 11:40:42 +0800
commitbc7968f4f436dcdaa30acde305054f4ece6194c5 (patch)
treeefd58eb7e904598df23f5bcdce26233dd87c8aba /scripts
parentabc7f5eaec6c83bc40d30bccc0bf3c0440921c4f (diff)
downloadlibzhuyin-bc7968f4f436dcdaa30acde305054f4ece6194c5.tar.gz
libzhuyin-bc7968f4f436dcdaa30acde305054f4ece6194c5.tar.xz
libzhuyin-bc7968f4f436dcdaa30acde305054f4ece6194c5.zip
update genbopomofoheader.py
Diffstat (limited to 'scripts')
-rw-r--r--scripts/bopomofokeyboard.py5
-rw-r--r--scripts/genbopomofoheader.py31
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 ###