namespace pinyin{
-const chewing_scheme_item_t chewing_standard[] = {
-@STANDARD@
+const chewing_symbol_item_t chewing_standard_symbols[] = {
+@STANDARD_SYMBOLS@
};
-const chewing_scheme_item_t chewing_ginyieh[] = {
-@GINYIEH@
+const chewing_tone_item_t chewing_standard_tones[] = {
+@STANDARD_TONES@
};
-const chewing_scheme_item_t chewing_eten[] = {
-@ETEN@
+
+const chewing_symbol_item_t chewing_ginyieh_symbols[] = {
+@GINYIEH_SYMBOLS@
+};
+
+const chewing_tone_item_t chewing_ginyieh_tones[] = {
+@GINYIEH_TONES@
+};
+
+const chewing_symbol_item_t chewing_eten_symbols[] = {
+@ETEN_SYMBOLS@
+};
+
+const chewing_tone_item_t chewing_eten_tones[] = {
+@ETEN_TONES@
+};
+
+const chewing_symbol_item_t chewing_ibm_symbols[] = {
+@IBM_SYMBOLS@
};
-const chewing_scheme_item_t chewing_ibm[] = {
-@IBM@
+const chewing_tone_item_t chewing_ibm_tones[] = {
+@IBM_TONES@
};
};
'ˊ', 'ˇ', 'ˋ', '˙',
]
+#陰平聲不標號
+num_tones = -4
+
bopomofo_keyboards = {
#標準注音鍵盤
'STANDARD':
return "'{0}'".format(ch)
-def gen_chewing_keyboard(scheme):
+#generate shengmu and yunmu here
+def gen_chewing_symbols(scheme):
keyboard = bopomofo_keyboards[scheme]
+ keyboard = keyboard[: num_tones]
items = []
for (i, key) in enumerate(keyboard):
items.append((key, bopomofo[i]))
return ",\n".join(entries)
+#generate tones here
+def gen_chewing_tones(scheme):
+ keyboard = bopomofo_keyboards[scheme]
+ keyboard = keyboard[num_tones:]
+ items = []
+ for (i, key) in enumerate(keyboard, start=2):
+ items.append((key, i));
+ items = sorted(items, key=itemgetter(0))
+ entries = []
+ for (key, tone) in items:
+ key = escape_char(key);
+ entry = "{{{0: <5}, {1}}}".format(key, tone)
+ entries.append(entry)
+ return ",\n".join(entries)
+
+
def get_table_content(tablename):
- return gen_chewing_keyboard(tablename)
+ (scheme, part) = tablename.split('_', 1)
+ if part == "SYMBOLS":
+ return gen_chewing_symbols(scheme);
+ if part == "TONES":
+ return gen_chewing_tones(scheme);
def expand_file(filename):