summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2010-06-13 15:38:36 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2010-06-13 15:38:36 +0800
commit970b3c307810159b53310ecc741f7683d8f6ec0e (patch)
tree1cbef6f39d75689fe80cd78f4230462a562e4ce9 /scripts
parentb8e83906f859da4e1d31fa7502a94afcfe07504f (diff)
downloadibus-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.py6
-rw-r--r--scripts/pydict.py110
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)),
+]