diff options
author | Peng Huang <shawn.p.huang@gmail.com> | 2010-06-13 15:38:36 +0800 |
---|---|---|
committer | Peng Huang <shawn.p.huang@gmail.com> | 2010-06-13 15:38:36 +0800 |
commit | 970b3c307810159b53310ecc741f7683d8f6ec0e (patch) | |
tree | 1cbef6f39d75689fe80cd78f4230462a562e4ce9 /scripts | |
parent | b8e83906f859da4e1d31fa7502a94afcfe07504f (diff) | |
download | ibus-libpinyin-970b3c307810159b53310ecc741f7683d8f6ec0e.tar.gz ibus-libpinyin-970b3c307810159b53310ecc741f7683d8f6ec0e.tar.xz ibus-libpinyin-970b3c307810159b53310ecc741f7683d8f6ec0e.zip |
Add XiaoHe double pinyin schema
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/double.py | 6 | ||||
-rw-r--r-- | scripts/pydict.py | 110 |
2 files changed, 78 insertions, 38 deletions
diff --git a/scripts/double.py b/scripts/double.py index 1ee8359..7f74348 100644 --- a/scripts/double.py +++ b/scripts/double.py @@ -1,6 +1,6 @@ import pydict -for name, (sheng, yun) in pydict.SHUANGPIN_SCHEMAS.items(): +for name, (sheng, yun) in pydict.SHUANGPIN_SCHEMAS: print "static const gint double_pinyin_%s_sheng[] = {" % name.lower() for c in "abcdefghijklmnopqrstuvwxyz;": s = sheng.get(c, "VOID") @@ -8,6 +8,8 @@ for name, (sheng, yun) in pydict.SHUANGPIN_SCHEMAS.items(): s = "ZERO" else: s = s.upper() + if s == "VOID" and c in ("a", "e", "o"): + s = "AEO" print " PINYIN_ID_%s // %s" % ((s + ",").ljust(5), c.upper()) print "};" @@ -33,6 +35,6 @@ static const struct { const gint (&sheng)[27]; const gint (&yun)[27][2]; } double_pinyin_map [] = {''' -for name, (sheng, yun) in pydict.SHUANGPIN_SCHEMAS.items(): +for name, (sheng, yun) in pydict.SHUANGPIN_SCHEMAS: print " { double_pinyin_%s_sheng, double_pinyin_%s_yun}," % (name.lower(), name.lower()) print "};" diff --git a/scripts/pydict.py b/scripts/pydict.py index 029d421..0bf56e9 100644 --- a/scripts/pydict.py +++ b/scripts/pydict.py @@ -285,6 +285,43 @@ ABC_SHUANGPIN_YUNMU_DICT = { "z" : ("iao",), } +ZGPY_SHUANGPIN_SHENGMU_DICT = { + "a" : "ch", "b" : "b", "c" : "c", "d" : "d", "f" : "f", "g" : "g", + "h" : "h", "i" : "sh","j" : "j", "k" : "k", "l" : "l", + "m" : "m", "n" : "n", "o" : "'", "p" : "p", "q" : "q", + "r" : "r", "s" : "s", "t" : "t", "u" : "zh", + "w" : "w", "x" : "x", "y" : "y", "z" : "z" +} + +ZGPY_SHUANGPIN_YUNMU_DICT = { + "a" : ("a", ), + "b" : ("iao", ), + "d" : ("ie", ), + "e" : ("e", ), + "f" : ("ian", ), + "g" : ("iang", "uang"), + "h" : ("ong", "iong"), + "i" : ("i", ), + "j" : ("er", "iu"), + "k" : ("ei", ), + "l" : ("uan", ), + "m" : ("un", ), + "n" : ("ue", "ui"), + "o" : ("uo", "o"), + "p" : ("ai", ), + "q" : ("ao", ), + "r" : ("an", ), + "s" : ("ang", ), + "t" : ("eng", "ng"), + "u" : ("u", ), + "v" : ("v", ), + "w" : ("en", ), + "x" : ("ia", "ua"), + "y" : ("in", "uai"), + "z" : ("ou" ,), + ";" : ("ing", ) +} + PYJJ_SHUANGPIN_SHENGMU_DICT = { "a" : "'", "b" : "b", "c" : "c", "d" : "d", "f" : "f", "g" : "g", "h" : "h", "i" : "sh","j" : "j", "k" : "k", "l" : "l", @@ -322,48 +359,49 @@ PYJJ_SHUANGPIN_YUNMU_DICT = { "z" : ("un",), } -ZGPY_SHUANGPIN_SHENGMU_DICT = { - "a": "ch", "b" : "b", "c" : "c", "d" : "d", "f" : "f", "g" : "g", - "h" : "h", "i" : "sh","j" : "j", "k" : "k", "l" : "l", +XHE_SHUANGPIN_SHENGMU_DICT = { + "b" : "b", "c" : "c", "d" : "d", "f" : "f", "g" : "g", + "h" : "h", "i" : "ch", "j" : "j", "k" : "k", "l" : "l", "m" : "m", "n" : "n", "o" : "'", "p" : "p", "q" : "q", - "r" : "r", "s" : "s", "t" : "t", "u" : "zh", + "r" : "r", "s" : "s", "t" : "t", "u" : "sh", "v" : "zh", "w" : "w", "x" : "x", "y" : "y", "z" : "z" } -ZGPY_SHUANGPIN_YUNMU_DICT = { - "a" : ("a", ), - "b" : ("iao", ), - "d" : ("ie", ), - "e" : ("e", ), - "f" : ("ian", ), - "g" : ("iang", "uang"), - "h" : ("ong", "iong"), - "i" : ("i", ), - "j" : ("er", "iu"), - "k" : ("ei", ), - "l" : ("uan", ), - "m" : ("un", ), - "n" : ("ue", "ui"), +XHE_SHUANGPIN_YUNMU_DICT = { + "a" : ("a",), + "b" : ("in",), + "c" : ("ao",), + "d" : ("ai",), + "e" : ("e",), + "f" : ("en",), + "g" : ("eng", "ng"), + "h" : ("ang",), + "i" : ("i",), + "j" : ("an",), + "k" : ("uai", "ing"), + "l" : ("iang", "uang"), + "m" : ("ian",), + "n" : ("iao",), "o" : ("uo", "o"), - "p" : ("ai", ), - "q" : ("ao", ), - "r" : ("an", ), - "s" : ("ang", ), - "t" : ("eng", "ng"), - "u" : ("u", ), - "v" : ("v", ), - "w" : ("en", ), + "p" : ("ie",), + "q" : ("iu",), + "r" : ("uan",), + "s" : ("ong", "iong"), + "t" : ("ue",), + "u" : ("u",), + "v" : ("v", "ui"), + "w" : ("ei",), "x" : ("ia", "ua"), - "y" : ("in", "uai"), - "z" : ("ou" ,), - ";" : ("ing", ) + "y" : ("un",), + "z" : ("ou",), } -SHUANGPIN_SCHEMAS = { - N_("MSPY") : (MSPY_SHUANGPIN_SHENGMU_DICT, MSPY_SHUANGPIN_YUNMU_DICT), - N_("ZRM") : (ZRM_SHUANGPIN_SHENGMU_DICT, ZRM_SHUANGPIN_YUNMU_DICT), - N_("ABC") : (ABC_SHUANGPIN_SHENGMU_DICT, ABC_SHUANGPIN_YUNMU_DICT), - N_("ZGPY") : (ZGPY_SHUANGPIN_SHENGMU_DICT, ZGPY_SHUANGPIN_YUNMU_DICT), - N_("PYJJ") : (PYJJ_SHUANGPIN_SHENGMU_DICT, PYJJ_SHUANGPIN_YUNMU_DICT) -} +SHUANGPIN_SCHEMAS = [ + (N_("MSPY"), (MSPY_SHUANGPIN_SHENGMU_DICT, MSPY_SHUANGPIN_YUNMU_DICT)), + (N_("ZRM"), (ZRM_SHUANGPIN_SHENGMU_DICT, ZRM_SHUANGPIN_YUNMU_DICT)), + (N_("ABC"), (ABC_SHUANGPIN_SHENGMU_DICT, ABC_SHUANGPIN_YUNMU_DICT)), + (N_("ZGPY"), (ZGPY_SHUANGPIN_SHENGMU_DICT, ZGPY_SHUANGPIN_YUNMU_DICT)), + (N_("PYJJ"), (PYJJ_SHUANGPIN_SHENGMU_DICT, PYJJ_SHUANGPIN_YUNMU_DICT)), + (N_("XHE"), (XHE_SHUANGPIN_SHENGMU_DICT, XHE_SHUANGPIN_YUNMU_DICT)), +] |