cjk_converter 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,170 @@
1
+ # encoding: utf-8
2
+ module CJKConverter
3
+ class Pinyin
4
+ # pyn => py hash[key]
5
+ # py => pyn (hash.find{|k,v| v == value}|| [''])[0]
6
+ def self.convert(str)
7
+ regex = /(([bpmfdtnlgkhzcsrjqxwy]?[h]?)(A[io]?|a[io]?|i[aeu]?o?|Ei?|ei?|Ou?|ou?|u[aoe]?i?|ve?)(n?g?r?)([1-5]))/
8
+
9
+ matches = str.scan(regex).uniq
10
+ matches.each do |match|
11
+ replacement = "#{match[1]}#{CJKConverter::PYN_PY[match[2] + match[4]]}#{match[3]}"
12
+ str = str.gsub(match[0], replacement)
13
+ end
14
+ str
15
+ end
16
+ # slower than Pinyin.convert
17
+ # def convert(str)
18
+ # regex = /(([bpmfdtnlgkhzcsrjqxwy]?[h]?)(A[io]?|a[io]?|i[aeu]?o?|Ei?|ei?|Ou?|ou?|u[aoe]?i?|ve?)(n?g?r?)([1-5]))/
19
+
20
+ # matches = str.scan(regex).uniq
21
+ # matches.each do |match|
22
+ # replacement = match[1] + CJKConverter=>=>PYN_PY[match[2] + match[4]] + match[3]
23
+ # str = str.gsub(match[0], replacement)
24
+ # end
25
+ # str
26
+ # end
27
+ end
28
+ PYN_PY = {
29
+ "A1" => "Ā",
30
+ "A2" => "Á",
31
+ "A3" => "Ǎ",
32
+ "A4" => "À",
33
+ "A5" => "A",
34
+ "Ai1" => "Āi",
35
+ "Ai2" => "Ái",
36
+ "Ai3" => "Ǎi",
37
+ "Ai4" => "Ài",
38
+ "Ai5" => "Ai",
39
+ "Ao1" => "Ā",
40
+ "Ao2" => "Áo",
41
+ "Ao3" => "Ǎo",
42
+ "Ao4" => "Ào",
43
+ "Ao5" => "Ao",
44
+ "a1" => "ā",
45
+ "a2" => "á",
46
+ "a3" => "ǎ",
47
+ "a4" => "à",
48
+ "a5" => "a",
49
+ "e1" => "ē",
50
+ "e2" => "é",
51
+ "e3" => "ě",
52
+ "e4" => "è",
53
+ "e5" => "e",
54
+ "i1" => "ī",
55
+ "i2" => "í",
56
+ "i3" => "ǐ",
57
+ "i4" => "ì",
58
+ "i5" => "i",
59
+ "O1" => "Ō",
60
+ "O2" => "Ó",
61
+ "O3" => "Ǒ",
62
+ "O4" => "Ò",
63
+ "O5" => "O",
64
+ "o1" => "ō",
65
+ "o2" => "ó",
66
+ "o3" => "ǒ",
67
+ "o4" => "ò",
68
+ "o5" => "o",
69
+ "u1" => "ū",
70
+ "u2" => "ú",
71
+ "u3" => "ǔ",
72
+ "u4" => "ù",
73
+ "u5" => "u",
74
+ "ai1" => "āi",
75
+ "ai2" => "ái",
76
+ "ai3" => "ǎi",
77
+ "ai4" => "ài",
78
+ "ai5" => "ai",
79
+ "ao1" => "āo",
80
+ "ao2" => "áo",
81
+ "ao3" => "ǎo",
82
+ "ao4" => "ào",
83
+ "ao5" => "ao",
84
+ "E1" => "Ē",
85
+ "E2" => "É",
86
+ "E3" => "Ě",
87
+ "E4" => "È",
88
+ "E5" => "E",
89
+ "Ei1" => "Ēi",
90
+ "Ei2" => "Éi",
91
+ "Ei3" => "Ěi",
92
+ "Ei4" => "Èi",
93
+ "Ei5" => "Ei",
94
+ "ei1" => "ēi",
95
+ "ei2" => "éi",
96
+ "ei3" => "ěi",
97
+ "ei4" => "èi",
98
+ "ei5" => "ei",
99
+ "ia1" => "iā",
100
+ "ia2" => "iá",
101
+ "ia3" => "iǎ",
102
+ "ia4" => "ià",
103
+ "ia5" => "ia",
104
+ "iao1" => "iāo",
105
+ "iao2" => "iáo",
106
+ "iao3" => "iǎo",
107
+ "iao4" => "iào",
108
+ "iao5" => "iao",
109
+ "ie1" => "iē",
110
+ "ie2" => "ié",
111
+ "ie3" => "iě",
112
+ "ie4" => "iè",
113
+ "ie5" => "ie",
114
+ "io1" => "iō",
115
+ "io2" => "ió",
116
+ "io3" => "iǒ",
117
+ "io4" => "iò",
118
+ "io5" => "io",
119
+ "iu1" => "iū",
120
+ "iu2" => "iú",
121
+ "iu3" => "iǔ",
122
+ "iu4" => "iù",
123
+ "iu5" => "iu",
124
+ "Ou1" => "Ōu",
125
+ "Ou2" => "Óu",
126
+ "Ou3" => "Ǒu",
127
+ "Ou4" => "Òu",
128
+ "Ou5" => "Ou",
129
+ "ou1" => "ōu",
130
+ "ou2" => "óu",
131
+ "ou3" => "ǒu",
132
+ "ou4" => "òu",
133
+ "ou5" => "ou",
134
+ "ua1" => "uā",
135
+ "ua2" => "uá",
136
+ "ua3" => "uǎ",
137
+ "ua4" => "uà",
138
+ "ua5" => "ua",
139
+ "uai1" => "uāi",
140
+ "uai2" => "uái",
141
+ "uai3" => "uǎi",
142
+ "uai4" => "uài",
143
+ "uai5" => "uai",
144
+ "ue1" => "uē",
145
+ "ue2" => "ué",
146
+ "ue3" => "uě",
147
+ "ue4" => "uè",
148
+ "ue5" => "ue",
149
+ "ui1" => "uī",
150
+ "ui2" => "uí",
151
+ "ui3" => "uǐ",
152
+ "ui4" => "uì",
153
+ "ui5" => "ui",
154
+ "uo1" => "uō",
155
+ "uo2" => "uó",
156
+ "uo3" => "uǒ",
157
+ "uo4" => "uò",
158
+ "uo5" => "uo",
159
+ "v1" => "ǖ",
160
+ "v2" => "ǘ",
161
+ "v3" => "ǚ",
162
+ "v4" => "ǜ",
163
+ "v5" => "ü",
164
+ "ve1" => "üē",
165
+ "ve2" => "üé",
166
+ "ve3" => "üě",
167
+ "ve4" => "üè",
168
+ "ve5" => "üe"
169
+ }
170
+ end
@@ -0,0 +1,59 @@
1
+ # encoding: utf-8
2
+
3
+ class String
4
+
5
+ def utf8_split
6
+ self.scan(/./mu)
7
+ end
8
+ def utf8_length
9
+ self.scan(/./mu).size
10
+ end
11
+ def utf8_reverse
12
+ self.scan(/./mu).reverse.join
13
+ end
14
+ def uri_encode
15
+ URI.escape(self, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
16
+ end
17
+ def to_utf8
18
+ ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
19
+ valid_string = ic.iconv(self + ' ')[0..-2]
20
+ end
21
+ # conv = Iconv.new("BIG5//TRANSLIT//IGNORE", "UTF8")
22
+ # will big5 conversions fail without the options?
23
+ def zh_to_utf8(encoding = nil, encodings = nil)
24
+ #should substitute out known bad actors like space
25
+ encodings = ['utf-8', 'GB18030', 'BIG5', 'GBK', 'GB2312'] if encodings.nil?
26
+ encodings = encoding + encodings unless encoding.nil?
27
+ raise 'Unable to Convert' if encodings.size == 0
28
+
29
+ begin
30
+ text = Iconv.conv('utf-8', encodings[0], self)
31
+ rescue
32
+ text = self.zh_to_utf8(nil, encodings[1..-1])
33
+ end
34
+ text
35
+ end
36
+
37
+ def latin?
38
+ self.utf8_length == self.bytes.count
39
+ end
40
+ def fullwidth?
41
+ !self.halfwidth?
42
+ end
43
+ def halfwidth?
44
+ self[/[0-9A-Za-z%.:#$&+-/\=;<>]/].nil?
45
+ end
46
+ def to_halfwidth(debug = false)
47
+ matches = self.scan(/([0-9A-Za-z%.:#$&+-/\=;<>])/u).uniq.flatten
48
+ puts matches.inspect if debug ===true
49
+ str = self
50
+ matches.each do |match|
51
+ replacement = CJKConverter::FW_HW[match]
52
+ puts replacement if debug ===true
53
+ puts str if debug ===true
54
+ puts match if debug ===true
55
+ str = str.gsub(match, replacement) #unless str.nil?
56
+ end
57
+ str
58
+ end
59
+ end
@@ -0,0 +1,3 @@
1
+ module CjkConverter
2
+ VERSION = "0.0.17"
3
+ end
@@ -0,0 +1,474 @@
1
+ # -*- encoding: utf-8 -*-
2
+ module CJKConverter
3
+ class ZhRomanization
4
+ def convert(str, to, from = nil)
5
+ convert_to = self.set_type to
6
+ convert_from = self.set_type from
7
+ # puts type
8
+ tokens = str.split(' ').uniq
9
+ replacements = tokens.collect do |t|
10
+ # non_romanization = t.match(/[1-5](.*)/)[-1]
11
+ search = t.gsub(/[1-5].*/,'')
12
+ begin
13
+ if convert_from.nil?
14
+ replace = CJKConverter::ZH_ROMAN.find{|x| x.values.include? t.downcase.gsub(/[1-5].*/,'')}[convert_to.to_sym]
15
+ else
16
+ replace = CJKConverter::ZH_ROMAN.find{|x| x[convert_from.to_sym] == t.downcase.gsub(/[1-5].*/,'')}[convert_to.to_sym]
17
+ end
18
+ rescue #rescue when the converter meets something it doesn't recognize
19
+ replace = search
20
+ end
21
+ str = str.gsub(search, replace)
22
+ end
23
+ str
24
+ end
25
+ def set_type(type)
26
+ case type.downcase
27
+ when 'zhuyinfuhao'
28
+ type = 'zyfh'
29
+ when 'zhyfh'
30
+ type = 'zyfh'
31
+ when 'zyfh'
32
+ 'zyfh'
33
+ when 'wade-giles'
34
+ type = 'wg'
35
+ when 'yale'
36
+ 'yale'
37
+ when 'tongyong'
38
+ type = 'typy'
39
+ when 'wg'
40
+ type = 'wg'
41
+ when 'typy'
42
+ 'typy'
43
+ when 'ty'
44
+ type = 'typy'
45
+ when 'pinyin'
46
+ type = 'py'
47
+ when 'py'
48
+ type = 'py'
49
+ when 'msp2'
50
+ 'msp2'
51
+ else
52
+ nil
53
+ end
54
+ end
55
+ end
56
+ ZH_ROMAN =[{:zyfh => " ㄚ", :wg => "a", :mps2 => "a", :yale => "a", :typy => "a", :py => "a"},
57
+ { :zyfh => "ㄞ", :wg => "ai", :mps2 => "ai", :yale => "ai", :typy => "ai", :py => "ai"},
58
+ { :zyfh => "ㄢ", :wg => "an", :mps2 => "an", :yale => "an", :typy => "an", :py => "an"},
59
+ { :zyfh => "ㄤ", :wg => "ang", :mps2 => "ang", :yale => "ang", :typy => "ang", :py => "ang"},
60
+ { :zyfh => "ㄠ", :wg => "ao", :mps2 => "au", :yale => "au", :typy => "ao", :py => "ao"},
61
+ { :zyfh => "ㄅㄚ", :wg => "pa", :mps2 => "ba", :yale => "ba", :typy => "ba", :py => "ba"},
62
+ { :zyfh => "ㄅㄞ", :wg => "pai", :mps2 => "bai", :yale => "bai", :typy => "bai", :py => "bai"},
63
+ { :zyfh => "ㄅㄢ", :wg => "pan", :mps2 => "ban", :yale => "ban", :typy => "ban", :py => "ban"},
64
+ { :zyfh => "ㄅㄤ", :wg => "pang", :mps2 => "bang", :yale => "bang", :typy => "bang", :py => "bang"},
65
+ { :zyfh => "ㄅㄠ", :wg => "pao", :mps2 => "bau", :yale => "bau", :typy => "bao", :py => "bao"},
66
+ { :zyfh => "ㄅㄟ", :wg => "pei", :mps2 => "bei", :yale => "bei", :typy => "bei", :py => "bei"},
67
+ { :zyfh => "ㄅㄣ", :wg => "pen", :mps2 => "ben", :yale => "ben", :typy => "ben", :py => "ben"},
68
+ { :zyfh => "ㄅㄥ", :wg => "peng", :mps2 => "beng", :yale => "beng", :typy => "beng", :py => "beng"},
69
+ { :zyfh => "ㄅㄧ", :wg => "pi", :mps2 => "bi", :yale => "bi", :typy => "bi", :py => "bi"},
70
+ { :zyfh => "ㄅㄧㄢ", :wg => "pien", :mps2 => "bian", :yale => "byan", :typy => "bian", :py => "bian"},
71
+ { :zyfh => "ㄅㄧㄠ", :wg => "piao", :mps2 => "biau", :yale => "byau", :typy => "biao", :py => "biao"},
72
+ { :zyfh => "ㄅㄧㄝ", :wg => "pieh", :mps2 => "bie", :yale => "bye", :typy => "bie", :py => "bie"},
73
+ { :zyfh => "ㄅㄧㄣ", :wg => "pin", :mps2 => "bin", :yale => "bin", :typy => "bin", :py => "bin"},
74
+ { :zyfh => "ㄅㄧㄥ", :wg => "ping", :mps2 => "bing", :yale => "bing", :typy => "bing", :py => "bing"},
75
+ { :zyfh => "ㄅㄛ", :wg => "po", :mps2 => "bo", :yale => "bwo", :typy => "bo", :py => "bo"},
76
+ { :zyfh => "ㄅㄨ", :wg => "pu", :mps2 => "bu", :yale => "bu", :typy => "bu", :py => "bu"},
77
+ { :zyfh => "ㄘㄚ", :wg => "ts`a", :mps2 => "tsa", :yale => "tsa", :typy => "ca", :py => "ca"},
78
+ { :zyfh => "ㄘㄞ", :wg => "ts`ai", :mps2 => "tsai", :yale => "tsai", :typy => "cai", :py => "cai"},
79
+ { :zyfh => "ㄘㄢ", :wg => "ts`an", :mps2 => "tsan", :yale => "tsan", :typy => "can", :py => "can"},
80
+ { :zyfh => "ㄘㄤ", :wg => "ts`ang", :mps2 => "tsang", :yale => "tsang", :typy => "cang", :py => "cang"},
81
+ { :zyfh => "ㄘㄠ", :wg => "ts`ao", :mps2 => "tsau", :yale => "tsau", :typy => "cao", :py => "cao"},
82
+ { :zyfh => "ㄘㄜ", :wg => "ts`e", :mps2 => "tse", :yale => "tse", :typy => "ce", :py => "ce"},
83
+ { :zyfh => "ㄘㄣ", :wg => "ts`en", :mps2 => "tsen", :yale => "tsen", :typy => "cen", :py => "cen"},
84
+ { :zyfh => "ㄘㄥ", :wg => "ts`eng", :mps2 => "tseng", :yale => "tseng", :typy => "ceng", :py => "ceng"},
85
+ { :zyfh => "ㄔㄚ", :wg => "ch`a", :mps2 => "cha", :yale => "cha", :typy => "cha", :py => "cha"},
86
+ { :zyfh => "ㄔㄞ", :wg => "ch`ai", :mps2 => "chai", :yale => "chai", :typy => "chai", :py => "chai"},
87
+ { :zyfh => "ㄔㄢ", :wg => "ch`an", :mps2 => "chan", :yale => "chan", :typy => "chan", :py => "chan"},
88
+ { :zyfh => "ㄔㄤ", :wg => "ch`ang", :mps2 => "chang", :yale => "chang", :typy => "chang", :py => "chang"},
89
+ { :zyfh => "ㄔㄠ", :wg => "ch`ao", :mps2 => "chau", :yale => "chau", :typy => "chao", :py => "chao"},
90
+ { :zyfh => "ㄔㄜ", :wg => "ch`e", :mps2 => "che", :yale => "che", :typy => "che", :py => "che"},
91
+ { :zyfh => "ㄔㄣ", :wg => "ch`en", :mps2 => "chen", :yale => "chen", :typy => "chen", :py => "chen"},
92
+ { :zyfh => "ㄔㄥ", :wg => "ch`eng", :mps2 => "cheng", :yale => "cheng", :typy => "cheng", :py => "cheng"},
93
+ { :zyfh => "ㄔ", :wg => "ch`ih", :mps2 => "chr", :yale => "chr", :typy => "chih", :py => "chi"},
94
+ { :zyfh => "ㄔㄨㄥ", :wg => "ch`ung", :mps2 => "chung", :yale => "chung", :typy => "chong", :py => "chong"},
95
+ { :zyfh => "ㄔㄡ", :wg => "ch`ou", :mps2 => "chou", :yale => "chou", :typy => "chou", :py => "chou"},
96
+ { :zyfh => "ㄔㄨ", :wg => "ch`u", :mps2 => "chu", :yale => "chu", :typy => "chu", :py => "chu"},
97
+ { :zyfh => "ㄔㄨㄚ", :wg => "ch`ua", :mps2 => "chua", :yale => "chwa", :typy => "chua", :py => "chua"},
98
+ { :zyfh => "ㄔㄨㄞ", :wg => "ch`uai", :mps2 => "chuai", :yale => "chwai", :typy => "chuai", :py => "chuai"},
99
+ { :zyfh => "ㄔㄨㄢ", :wg => "ch`uan", :mps2 => "chuan", :yale => "chwan", :typy => "chuan", :py => "chuan"},
100
+ { :zyfh => "ㄔㄨㄤ", :wg => "ch`uang", :mps2 => "chuang", :yale => "chwang", :typy => "chuang", :py => "chuang"},
101
+ { :zyfh => "ㄔㄨㄟ", :wg => "ch`ui", :mps2 => "chuei", :yale => "chwei", :typy => "chuei", :py => "chui"},
102
+ { :zyfh => "ㄔㄨㄣ", :wg => "ch`un", :mps2 => "chuen", :yale => "chwen", :typy => "chun", :py => "chun"},
103
+ { :zyfh => "ㄔㄨㄛ", :wg => "ch`o", :mps2 => "chuo", :yale => "chwo", :typy => "chuo", :py => "chuo"},
104
+ { :zyfh => "ㄘ", :wg => "tz`u", :mps2 => "tsz", :yale => "tsz", :typy => "cih", :py => "ci"},
105
+ { :zyfh => "ㄘㄨㄥ", :wg => "ts`ung", :mps2 => "tsung", :yale => "tsung", :typy => "cong", :py => "cong"},
106
+ { :zyfh => "ㄘㄡ", :wg => "ts`ou", :mps2 => "tsou", :yale => "tsou", :typy => "cou", :py => "cou"},
107
+ { :zyfh => "ㄘㄨ", :wg => "ts`u", :mps2 => "tsu", :yale => "tsu", :typy => "cu", :py => "cu"},
108
+ { :zyfh => "ㄘㄨㄢ", :wg => "ts`uan", :mps2 => "tsuan", :yale => "tswan", :typy => "cuan", :py => "cuan"},
109
+ { :zyfh => "ㄘㄨㄟ", :wg => "ts`ui", :mps2 => "tsuei", :yale => "tswei", :typy => "cuei", :py => "cui"},
110
+ { :zyfh => "ㄘㄨㄣ", :wg => "ts`un", :mps2 => "tsuen", :yale => "tswen", :typy => "cun", :py => "cun"},
111
+ { :zyfh => "ㄘㄨㄛ", :wg => "ts`o", :mps2 => "tsuo", :yale => "tswo", :typy => "cuo", :py => "cuo"},
112
+ { :zyfh => "ㄉㄚ", :wg => "ta", :mps2 => "da", :yale => "da", :typy => "da", :py => "da"},
113
+ { :zyfh => "ㄉㄞ", :wg => "tai", :mps2 => "dai", :yale => "dai", :typy => "dai", :py => "dai"},
114
+ { :zyfh => "ㄉㄢ", :wg => "tan", :mps2 => "dan", :yale => "dan", :typy => "dan", :py => "dan"},
115
+ { :zyfh => "ㄉㄤ", :wg => "tang", :mps2 => "dang", :yale => "dang", :typy => "dang", :py => "dang"},
116
+ { :zyfh => "ㄉㄠ", :wg => "tao", :mps2 => "dau", :yale => "dau", :typy => "dao", :py => "dao"},
117
+ { :zyfh => "ㄉㄜ", :wg => "te", :mps2 => "de", :yale => "de", :typy => "de", :py => "de"},
118
+ { :zyfh => "ㄉㄟ", :wg => "tei", :mps2 => "dei", :yale => "dei", :typy => "dei", :py => "dei"},
119
+ { :zyfh => "ㄉㄣ", :wg => "ten", :mps2 => "den", :yale => "den", :typy => "den", :py => "den"},
120
+ { :zyfh => "ㄉㄥ", :wg => "teng", :mps2 => "deng", :yale => "deng", :typy => "deng", :py => "deng"},
121
+ { :zyfh => "ㄉㄧ", :wg => "ti", :mps2 => "di", :yale => "di", :typy => "di", :py => "di"},
122
+ { :zyfh => "ㄉㄧㄢ", :wg => "tien", :mps2 => "dian", :yale => "dyan", :typy => "dian", :py => "dian"},
123
+ { :zyfh => "ㄉㄧㄤ", :wg => "tiang", :mps2 => "diang", :yale => "dyang", :typy => "diang", :py => "diang"},
124
+ { :zyfh => "ㄉㄧㄠ", :wg => "tiao", :mps2 => "diau", :yale => "dyau", :typy => "diao", :py => "diao"},
125
+ { :zyfh => "ㄉㄧㄝ", :wg => "tieh", :mps2 => "die", :yale => "dye", :typy => "die", :py => "die"},
126
+ { :zyfh => "ㄉㄧㄥ", :wg => "ting", :mps2 => "ding", :yale => "ding", :typy => "ding", :py => "ding"},
127
+ { :zyfh => "ㄉㄧㄡ", :wg => "tiu", :mps2 => "diou", :yale => "dyou", :typy => "diou", :py => "diu"},
128
+ { :zyfh => "ㄉㄨㄥ", :wg => "tung", :mps2 => "dung", :yale => "dung", :typy => "dong", :py => "dong"},
129
+ { :zyfh => "ㄉㄡ", :wg => "tou", :mps2 => "dou", :yale => "dou", :typy => "dou", :py => "dou"},
130
+ { :zyfh => "ㄉㄨ", :wg => "tu", :mps2 => "du", :yale => "du", :typy => "du", :py => "du"},
131
+ { :zyfh => "ㄉㄨㄢ", :wg => "tuan", :mps2 => "duan", :yale => "dwan", :typy => "duan", :py => "duan"},
132
+ { :zyfh => "ㄉㄨㄟ", :wg => "tui", :mps2 => "duei", :yale => "dwei", :typy => "duei", :py => "dui"},
133
+ { :zyfh => "ㄉㄨㄣ", :wg => "tun", :mps2 => "duen", :yale => "dwen", :typy => "dun", :py => "dun"},
134
+ { :zyfh => "ㄉㄨㄛ", :wg => "to", :mps2 => "duo", :yale => "dwo", :typy => "duo", :py => "duo"},
135
+ { :zyfh => "ㄜ", :wg => "e", :mps2 => "e", :yale => "e", :typy => "e", :py => "e"},
136
+ { :zyfh => "ㄟ", :wg => "ei", :mps2 => "ei", :yale => "ei", :typy => "ei", :py => "ei"},
137
+ { :zyfh => "ㄣ", :wg => "en", :mps2 => "en", :yale => "en", :typy => "en", :py => "en"},
138
+ { :zyfh => "ㄦ", :wg => "erh", :mps2 => "er", :yale => "er", :typy => "er", :py => "er"},
139
+ { :zyfh => "ㄈㄚ", :wg => "fa", :mps2 => "fa", :yale => "fa", :typy => "fa", :py => "fa"},
140
+ { :zyfh => "ㄈㄢ", :wg => "fan", :mps2 => "fan", :yale => "fan", :typy => "fan", :py => "fan"},
141
+ { :zyfh => "ㄈㄤ", :wg => "fang", :mps2 => "fang", :yale => "fang", :typy => "fang", :py => "fang"},
142
+ { :zyfh => "ㄈㄟ", :wg => "fei", :mps2 => "fei", :yale => "fei", :typy => "fei", :py => "fei"},
143
+ { :zyfh => "ㄈㄣ", :wg => "fen", :mps2 => "fen", :yale => "fen", :typy => "fen", :py => "fen"},
144
+ { :zyfh => "ㄈㄥ", :wg => "feng", :mps2 => "feng", :yale => "feng", :typy => "fong", :py => "feng"},
145
+ { :zyfh => "ㄈㄛ", :wg => "fo", :mps2 => "fo", :yale => "fwo", :typy => "fo", :py => "fo"},
146
+ { :zyfh => "ㄈㄡ", :wg => "fou", :mps2 => "fou", :yale => "fou", :typy => "fou", :py => "fou"},
147
+ { :zyfh => "ㄈㄨ", :wg => "fu", :mps2 => "fu", :yale => "fu", :typy => "fu", :py => "fu"},
148
+ { :zyfh => "ㄍㄚ", :wg => "ka", :mps2 => "ga", :yale => "ga", :typy => "ga", :py => "ga"},
149
+ { :zyfh => "ㄍㄞ", :wg => "kai", :mps2 => "gai", :yale => "gai", :typy => "gai", :py => "gai"},
150
+ { :zyfh => "ㄍㄢ", :wg => "kan", :mps2 => "gan", :yale => "gan", :typy => "gan", :py => "gan"},
151
+ { :zyfh => "ㄍㄤ", :wg => "kang", :mps2 => "gang", :yale => "gang", :typy => "gang", :py => "gang"},
152
+ { :zyfh => "ㄍㄠ", :wg => "kao", :mps2 => "gau", :yale => "gau", :typy => "gao", :py => "gao"},
153
+ { :zyfh => "ㄍㄜ", :wg => "ko", :mps2 => "ge", :yale => "ge", :typy => "ge", :py => "ge"},
154
+ { :zyfh => "ㄍㄟ", :wg => "kei", :mps2 => "gei", :yale => "gei", :typy => "gei", :py => "gei"},
155
+ { :zyfh => "ㄍㄣ", :wg => "ken", :mps2 => "gen", :yale => "gen", :typy => "gen", :py => "gen"},
156
+ { :zyfh => "ㄍㄥ", :wg => "keng", :mps2 => "geng", :yale => "geng", :typy => "geng", :py => "geng"},
157
+ { :zyfh => "ㄍㄨㄥ", :wg => "kung", :mps2 => "gung", :yale => "gung", :typy => "gong", :py => "gong"},
158
+ { :zyfh => "ㄍㄡ", :wg => "kou", :mps2 => "gou", :yale => "gou", :typy => "gou", :py => "gou"},
159
+ { :zyfh => "ㄍㄨ", :wg => "ku", :mps2 => "gu", :yale => "gu", :typy => "gu", :py => "gu"},
160
+ { :zyfh => "ㄍㄨㄚ", :wg => "kua", :mps2 => "gua", :yale => "gwa", :typy => "gua", :py => "gua"},
161
+ { :zyfh => "ㄍㄨㄞ", :wg => "kuai", :mps2 => "guai", :yale => "gwai", :typy => "guai", :py => "guai"},
162
+ { :zyfh => "ㄍㄨㄢ", :wg => "kuan", :mps2 => "guan", :yale => "gwan", :typy => "guan", :py => "guan"},
163
+ { :zyfh => "ㄍㄨㄤ", :wg => "kuang", :mps2 => "guang", :yale => "gwang", :typy => "guang", :py => "guang"},
164
+ { :zyfh => "ㄍㄨㄟ", :wg => "kuei", :mps2 => "guei", :yale => "gwei", :typy => "guei", :py => "gui"},
165
+ { :zyfh => "ㄍㄨㄣ", :wg => "kun", :mps2 => "guen", :yale => "gwun", :typy => "gun", :py => "gun"},
166
+ { :zyfh => "ㄍㄨㄛ", :wg => "kuo", :mps2 => "guo", :yale => "gwo", :typy => "guo", :py => "guo"},
167
+ { :zyfh => "ㄏㄚ", :wg => "ha", :mps2 => "ha", :yale => "ha", :typy => "ha", :py => "ha"},
168
+ { :zyfh => "ㄏㄞ", :wg => "hai", :mps2 => "hai", :yale => "hai", :typy => "hai", :py => "hai"},
169
+ { :zyfh => "ㄏㄢ", :wg => "han", :mps2 => "han", :yale => "han", :typy => "han", :py => "han"},
170
+ { :zyfh => "ㄏㄤ", :wg => "hang", :mps2 => "hang", :yale => "hang", :typy => "hang", :py => "hang"},
171
+ { :zyfh => "ㄏㄠ", :wg => "hao", :mps2 => "hau", :yale => "hau", :typy => "hao", :py => "hao"},
172
+ { :zyfh => "ㄏㄜ", :wg => "ho", :mps2 => "he", :yale => "he", :typy => "he", :py => "he"},
173
+ { :zyfh => "ㄏㄟ", :wg => "hei", :mps2 => "hei", :yale => "hei", :typy => "hei", :py => "hei"},
174
+ { :zyfh => "ㄏㄣ", :wg => "hen", :mps2 => "hen", :yale => "hen", :typy => "hen", :py => "hen"},
175
+ { :zyfh => "ㄏㄥ", :wg => "heng", :mps2 => "heng", :yale => "heng", :typy => "heng", :py => "heng"},
176
+ { :zyfh => "ㄏㄨㄥ", :wg => "hung", :mps2 => "hung", :yale => "hung", :typy => "hong", :py => "hong"},
177
+ { :zyfh => "ㄏㄡ", :wg => "hou", :mps2 => "hou", :yale => "hou", :typy => "hou", :py => "hou"},
178
+ { :zyfh => "ㄏㄨ", :wg => "hu", :mps2 => "hu", :yale => "hu", :typy => "hu", :py => "hu"},
179
+ { :zyfh => "ㄏㄨㄚ", :wg => "hua", :mps2 => "hua", :yale => "hwa", :typy => "hua", :py => "hua"},
180
+ { :zyfh => "ㄏㄨㄞ", :wg => "huai", :mps2 => "huai", :yale => "hwai", :typy => "huai", :py => "huai"},
181
+ { :zyfh => "ㄏㄨㄢ", :wg => "huan", :mps2 => "huan", :yale => "hwan", :typy => "huan", :py => "huan"},
182
+ { :zyfh => "ㄏㄨㄤ", :wg => "huang", :mps2 => "huang", :yale => "hwang", :typy => "huang", :py => "huang"},
183
+ { :zyfh => "ㄏㄨㄟ", :wg => "hui", :mps2 => "huei", :yale => "hwei", :typy => "huei", :py => "hui"},
184
+ { :zyfh => "ㄏㄨㄣ", :wg => "hun", :mps2 => "huen", :yale => "hwen", :typy => "hun", :py => "hun"},
185
+ { :zyfh => "ㄏㄨㄛ", :wg => "huo", :mps2 => "huo", :yale => "hwo", :typy => "huo", :py => "huo"},
186
+ { :zyfh => "ㄐㄧ", :wg => "chi", :mps2 => "ji", :yale => "ji", :typy => "ji", :py => "ji"},
187
+ { :zyfh => "ㄐㄧㄚ", :wg => "chia", :mps2 => "jia", :yale => "jya", :typy => "jia", :py => "jia"},
188
+ { :zyfh => "ㄐㄧㄢ", :wg => "chien", :mps2 => "jian", :yale => "jyan", :typy => "jian", :py => "jian"},
189
+ { :zyfh => "ㄐㄧㄤ", :wg => "chiang", :mps2 => "jiang", :yale => "jyang", :typy => "jiang", :py => "jiang"},
190
+ { :zyfh => "ㄐㄧㄠ", :wg => "chiao", :mps2 => "jiau", :yale => "jyau", :typy => "jiao", :py => "jiao"},
191
+ { :zyfh => "ㄐㄧㄝ", :wg => "chieh", :mps2 => "jie", :yale => "jye", :typy => "jie", :py => "jie"},
192
+ { :zyfh => "ㄐㄧㄣ", :wg => "chin", :mps2 => "jin", :yale => "jin", :typy => "jin", :py => "jin"},
193
+ { :zyfh => "ㄐㄧㄥ", :wg => "ching", :mps2 => "jing", :yale => "jing", :typy => "jing", :py => "jing"},
194
+ { :zyfh => "ㄐㄩㄥ", :wg => "chiung", :mps2 => "jiung", :yale => "jyung", :typy => "jyong", :py => "jiong"},
195
+ { :zyfh => "ㄐㄧㄡ", :wg => "chiu", :mps2 => "jiou", :yale => "jyou", :typy => "jiou", :py => "jiu"},
196
+ { :zyfh => "ㄐㄩ", :wg => "chü", :mps2 => "jiu", :yale => "jyu", :typy => "jyu", :py => "ju"},
197
+ { :zyfh => "ㄐㄩㄢ", :wg => "chüan", :mps2 => "jiuan", :yale => "jywan", :typy => "jyuan", :py => "juan"},
198
+ { :zyfh => "ㄐㄩㄝ", :wg => "chüeh", :mps2 => "jiue", :yale => "jywe", :typy => "jyue", :py => "jue"},
199
+ { :zyfh => "ㄐㄩㄣ", :wg => "chün", :mps2 => "jiun", :yale => "jyun", :typy => "jyun", :py => "jun"},
200
+ { :zyfh => "ㄎㄚ", :wg => "k`a", :mps2 => "ka", :yale => "ka", :typy => "ka", :py => "ka"},
201
+ { :zyfh => "ㄎㄞ", :wg => "k`ai", :mps2 => "kai", :yale => "kai", :typy => "kai", :py => "kai"},
202
+ { :zyfh => "ㄎㄢ", :wg => "k`an", :mps2 => "kan", :yale => "kan", :typy => "kan", :py => "kan"},
203
+ { :zyfh => "ㄎㄤ", :wg => "k`ang", :mps2 => "kang", :yale => "kang", :typy => "kang", :py => "kang"},
204
+ { :zyfh => "ㄎㄠ", :wg => "k`ao", :mps2 => "kau", :yale => "kau", :typy => "kao", :py => "kao"},
205
+ { :zyfh => "ㄎㄜ", :wg => "k`o", :mps2 => "ke", :yale => "ke", :typy => "ke", :py => "ke"},
206
+ { :zyfh => "ㄎㄣ", :wg => "k`en", :mps2 => "ken", :yale => "ken", :typy => "ken", :py => "ken"},
207
+ { :zyfh => "ㄎㄥ", :wg => "k`eng", :mps2 => "keng", :yale => "keng", :typy => "keng", :py => "keng"},
208
+ { :zyfh => "ㄎㄨㄥ", :wg => "k`ung", :mps2 => "kung", :yale => "kung", :typy => "kong", :py => "kong"},
209
+ { :zyfh => "ㄎㄡ", :wg => "k`ou", :mps2 => "kou", :yale => "kou", :typy => "kou", :py => "kou"},
210
+ { :zyfh => "ㄎㄨ", :wg => "k`u", :mps2 => "ku", :yale => "ku", :typy => "ku", :py => "ku"},
211
+ { :zyfh => "ㄎㄨㄚ", :wg => "k`ua", :mps2 => "kua", :yale => "kwa", :typy => "kua", :py => "kua"},
212
+ { :zyfh => "ㄎㄨㄞ", :wg => "k`uai", :mps2 => "kuai", :yale => "kwai", :typy => "kuai", :py => "kuai"},
213
+ { :zyfh => "ㄎㄨㄢ", :wg => "k`uan", :mps2 => "kuan", :yale => "kwan", :typy => "kuan", :py => "kuan"},
214
+ { :zyfh => "ㄎㄨㄤ", :wg => "k`uang", :mps2 => "kuang", :yale => "kwang", :typy => "kuang", :py => "kuang"},
215
+ { :zyfh => "ㄎㄨㄟ", :wg => "k`uei", :mps2 => "kuei", :yale => "kwei", :typy => "kuei", :py => "kui"},
216
+ { :zyfh => "ㄎㄨㄣ", :wg => "k`un", :mps2 => "kuen", :yale => "kwen", :typy => "kun", :py => "kun"},
217
+ { :zyfh => "ㄎㄨㄛ", :wg => "k`uo", :mps2 => "kuo", :yale => "kwo", :typy => "kuo", :py => "kuo"},
218
+ { :zyfh => "ㄌㄚ", :wg => "la", :mps2 => "la", :yale => "la", :typy => "la", :py => "la"},
219
+ { :zyfh => "ㄌㄞ", :wg => "lai", :mps2 => "lai", :yale => "lai", :typy => "lai", :py => "lai"},
220
+ { :zyfh => "ㄌㄢ", :wg => "lan", :mps2 => "lan", :yale => "lan", :typy => "lan", :py => "lan"},
221
+ { :zyfh => "ㄌㄤ", :wg => "lang", :mps2 => "lang", :yale => "lang", :typy => "lang", :py => "lang"},
222
+ { :zyfh => "ㄌㄠ", :wg => "lao", :mps2 => "lau", :yale => "lau", :typy => "lao", :py => "lao"},
223
+ { :zyfh => "ㄌㄜ", :wg => "le", :mps2 => "le", :yale => "le", :typy => "le", :py => "le"},
224
+ { :zyfh => "ㄌㄟ", :wg => "lei", :mps2 => "lei", :yale => "lei", :typy => "lei", :py => "lei"},
225
+ { :zyfh => "ㄌㄥ", :wg => "leng", :mps2 => "leng", :yale => "leng", :typy => "leng", :py => "leng"},
226
+ { :zyfh => "ㄌㄧ", :wg => "li", :mps2 => "li", :yale => "li", :typy => "li", :py => "li"},
227
+ { :zyfh => "ㄌㄧㄚ", :wg => "lia", :mps2 => "lia", :yale => "lya", :typy => "lia", :py => "lia"},
228
+ { :zyfh => "ㄌㄧㄢ", :wg => "lien", :mps2 => "lian", :yale => "lyan", :typy => "lian", :py => "lian"},
229
+ { :zyfh => "ㄌㄧㄤ", :wg => "liang", :mps2 => "liang", :yale => "lyang", :typy => "liang", :py => "liang"},
230
+ { :zyfh => "ㄌㄧㄠ", :wg => "liao", :mps2 => "liau", :yale => "lyau", :typy => "liao", :py => "liao"},
231
+ { :zyfh => "ㄌㄧㄝ", :wg => "lieh", :mps2 => "lie", :yale => "lye", :typy => "lie", :py => "lie"},
232
+ { :zyfh => "ㄌㄧㄣ", :wg => "lin", :mps2 => "lin", :yale => "lin", :typy => "lin", :py => "lin"},
233
+ { :zyfh => "ㄌㄧㄥ", :wg => "ling", :mps2 => "ling", :yale => "ling", :typy => "ling", :py => "ling"},
234
+ { :zyfh => "ㄌㄧㄡ", :wg => "liu", :mps2 => "liou", :yale => "lyou", :typy => "liou", :py => "liu"},
235
+ { :zyfh => "ㄌㄛ", :wg => "lo", :mps2 => "lo", :yale => "lo", :typy => "lo", :py => "lo"},
236
+ { :zyfh => "ㄌㄨㄥ", :wg => "lung", :mps2 => "lung", :yale => "lung", :typy => "long", :py => "long"},
237
+ { :zyfh => "ㄌㄡ", :wg => "lou", :mps2 => "lou", :yale => "lou", :typy => "lou", :py => "lou"},
238
+ { :zyfh => "ㄌㄨ", :wg => "lu", :mps2 => "lu", :yale => "lu", :typy => "lu", :py => "lu"},
239
+ { :zyfh => "ㄌㄨㄢ", :wg => "luan", :mps2 => "luan", :yale => "lwan", :typy => "luan", :py => "luan"},
240
+ { :zyfh => "ㄌㄨㄣ", :wg => "lun", :mps2 => "luen", :yale => "lwun", :typy => "lun", :py => "lun"},
241
+ { :zyfh => "ㄌㄨㄛ", :wg => "lo", :mps2 => "luo", :yale => "lwo", :typy => "luo", :py => "luo"},
242
+ { :zyfh => "ㄌㄩ", :wg => "lü", :mps2 => "liu", :yale => "lyu", :typy => "lyu", :py => "lü"},
243
+ { :zyfh => "ㄌㄩㄝ", :wg => "lüeh", :mps2 => "liue", :yale => "lywe", :typy => "lyue", :py => "lüe"},
244
+ { :zyfh => "ㄌㄩㄣ", :wg => "lün", :mps2 => "liun", :yale => "lyun", :typy => "lyun", :py => "lün"},
245
+ { :zyfh => "ㄌㄩ", :wg => "lü", :mps2 => "liu", :yale => "lyu", :typy => "lyu", :py => "lv"},
246
+ { :zyfh => "ㄌㄩㄝ", :wg => "lüeh", :mps2 => "liue", :yale => "lywe", :typy => "lyue", :py => "lve"},
247
+ { :zyfh => "ㄌㄩㄣ", :wg => "lün", :mps2 => "liun", :yale => "lyun", :typy => "lyun", :py => "lvn"},
248
+ { :zyfh => "ㄇㄚ", :wg => "ma", :mps2 => "ma", :yale => "ma", :typy => "ma", :py => "ma"},
249
+ { :zyfh => "ㄇㄞ", :wg => "mai", :mps2 => "mai", :yale => "mai", :typy => "mai", :py => "mai"},
250
+ { :zyfh => "ㄇㄢ", :wg => "man", :mps2 => "man", :yale => "man", :typy => "man", :py => "man"},
251
+ { :zyfh => "ㄇㄤ", :wg => "mang", :mps2 => "mang", :yale => "mang", :typy => "mang", :py => "mang"},
252
+ { :zyfh => "ㄇㄠ", :wg => "mao", :mps2 => "mau", :yale => "mau", :typy => "mao", :py => "mao"},
253
+ { :zyfh => "ㄇㄜ", :wg => "me", :mps2 => "me", :yale => "me", :typy => "me", :py => "me"},
254
+ { :zyfh => "ㄇㄟ", :wg => "mei", :mps2 => "mei", :yale => "mei", :typy => "mei", :py => "mei"},
255
+ { :zyfh => "ㄇㄣ", :wg => "men", :mps2 => "men", :yale => "men", :typy => "men", :py => "men"},
256
+ { :zyfh => "ㄇㄥ", :wg => "meng", :mps2 => "meng", :yale => "meng", :typy => "meng", :py => "meng"},
257
+ { :zyfh => "ㄇㄧ", :wg => "mi", :mps2 => "mi", :yale => "mi", :typy => "mi", :py => "mi"},
258
+ { :zyfh => "ㄇㄧㄢ", :wg => "mien", :mps2 => "mian", :yale => "myan", :typy => "mian", :py => "mian"},
259
+ { :zyfh => "ㄇㄧㄠ", :wg => "miao", :mps2 => "miau", :yale => "myau", :typy => "miao", :py => "miao"},
260
+ { :zyfh => "ㄇㄧㄝ", :wg => "mieh", :mps2 => "mie", :yale => "mye", :typy => "mie", :py => "mie"},
261
+ { :zyfh => "ㄇㄧㄣ", :wg => "min", :mps2 => "min", :yale => "min", :typy => "min", :py => "min"},
262
+ { :zyfh => "ㄇㄧㄥ", :wg => "ming", :mps2 => "ming", :yale => "ming", :typy => "ming", :py => "ming"},
263
+ { :zyfh => "ㄇㄧㄡ", :wg => "miu", :mps2 => "miou", :yale => "myou", :typy => "miou", :py => "miu"},
264
+ { :zyfh => "ㄇㄛ", :wg => "mo", :mps2 => "mo", :yale => "mwo", :typy => "mo", :py => "mo"},
265
+ { :zyfh => "ㄇㄡ", :wg => "mou", :mps2 => "mou", :yale => "mou", :typy => "mou", :py => "mou"},
266
+ { :zyfh => "ㄇㄨ", :wg => "mu", :mps2 => "mu", :yale => "mu", :typy => "mu", :py => "mu"},
267
+ { :zyfh => "ㄋㄚ", :wg => "na", :mps2 => "na", :yale => "na", :typy => "na", :py => "na"},
268
+ { :zyfh => "ㄋㄞ", :wg => "nai", :mps2 => "nai", :yale => "nai", :typy => "nai", :py => "nai"},
269
+ { :zyfh => "ㄋㄢ", :wg => "nan", :mps2 => "nan", :yale => "nan", :typy => "nan", :py => "nan"},
270
+ { :zyfh => "ㄋㄤ", :wg => "nang", :mps2 => "nang", :yale => "nang", :typy => "nang", :py => "nang"},
271
+ { :zyfh => "ㄋㄠ", :wg => "nao", :mps2 => "nau", :yale => "nau", :typy => "nao", :py => "nao"},
272
+ { :zyfh => "ㄋㄜ", :wg => "ne", :mps2 => "ne", :yale => "ne", :typy => "ne", :py => "ne"},
273
+ { :zyfh => "ㄋㄟ", :wg => "nei", :mps2 => "nei", :yale => "nei", :typy => "nei", :py => "nei"},
274
+ { :zyfh => "ㄋㄣ", :wg => "nen", :mps2 => "nen", :yale => "nen", :typy => "nen", :py => "nen"},
275
+ { :zyfh => "ㄋㄥ", :wg => "neng", :mps2 => "neng", :yale => "neng", :typy => "neng", :py => "neng"},
276
+ { :zyfh => "ㄋㄧ", :wg => "ni", :mps2 => "ni", :yale => "ni", :typy => "ni", :py => "ni"},
277
+ { :zyfh => "ㄋㄧㄚ", :wg => "nia", :mps2 => "nia", :yale => "nya", :typy => "nia", :py => "nia"},
278
+ { :zyfh => "ㄋㄧㄢ", :wg => "nien", :mps2 => "nian", :yale => "nyan", :typy => "nian", :py => "nian"},
279
+ { :zyfh => "ㄋㄧㄤ", :wg => "niang", :mps2 => "niang", :yale => "nyang", :typy => "niang", :py => "niang"},
280
+ { :zyfh => "ㄋㄧㄠ", :wg => "niao", :mps2 => "niau", :yale => "nyau", :typy => "niao", :py => "niao"},
281
+ { :zyfh => "ㄋㄧㄝ", :wg => "nieh", :mps2 => "nie", :yale => "nye", :typy => "nie", :py => "nie"},
282
+ { :zyfh => "ㄋㄧㄣ", :wg => "nin", :mps2 => "nin", :yale => "nin", :typy => "nin", :py => "nin"},
283
+ { :zyfh => "ㄋㄧㄥ", :wg => "ning", :mps2 => "ning", :yale => "ning", :typy => "ning", :py => "ning"},
284
+ { :zyfh => "ㄋㄧㄡ", :wg => "niu", :mps2 => "niou", :yale => "nyou", :typy => "niou", :py => "niu"},
285
+ { :zyfh => "ㄋㄨㄥ", :wg => "nung", :mps2 => "nung", :yale => "nung", :typy => "nong", :py => "nong"},
286
+ { :zyfh => "ㄋㄡ", :wg => "nou", :mps2 => "nou", :yale => "nou", :typy => "nou", :py => "nou"},
287
+ { :zyfh => "ㄋㄨ", :wg => "nu", :mps2 => "nu", :yale => "nu", :typy => "nu", :py => "nu"},
288
+ { :zyfh => "ㄋㄨㄢ", :wg => "nuan", :mps2 => "nuan", :yale => "nwan", :typy => "nuan", :py => "nuan"},
289
+ { :zyfh => "ㄋㄨㄣ", :wg => "nun", :mps2 => "nuen", :yale => "nwen", :typy => "nun", :py => "nun"},
290
+ { :zyfh => "ㄋㄨㄛ", :wg => "no", :mps2 => "nuo", :yale => "nwo", :typy => "nuo", :py => "nuo"},
291
+ { :zyfh => "ㄋㄩ", :wg => "nü", :mps2 => "niu", :yale => "nyu", :typy => "nyu", :py => "nv"},
292
+ { :zyfh => "ㄋㄩ", :wg => "nü", :mps2 => "niu", :yale => "nyu", :typy => "nyu", :py => "nü"},
293
+ { :zyfh => "ㄋㄩㄝ", :wg => "nüeh", :mps2 => "niue", :yale => "nywe", :typy => "nyue", :py => "nüe"},
294
+ { :zyfh => "ㄋㄩㄝ", :wg => "nüeh", :mps2 => "niue", :yale => "nywe", :typy => "nyue", :py => "nve"},
295
+ { :zyfh => "ㄡ", :wg => "ou", :mps2 => "ou", :yale => "ou", :typy => "ou", :py => "ou"},
296
+ { :zyfh => "ㄆㄚ", :wg => "p`a", :mps2 => "pa", :yale => "pa", :typy => "pa", :py => "pa"},
297
+ { :zyfh => "ㄆㄞ", :wg => "p`ai", :mps2 => "pai", :yale => "pai", :typy => "pai", :py => "pai"},
298
+ { :zyfh => "ㄆㄢ", :wg => "p`an", :mps2 => "pan", :yale => "pan", :typy => "pan", :py => "pan"},
299
+ { :zyfh => "ㄆㄤ", :wg => "p`ang", :mps2 => "pang", :yale => "pang", :typy => "pang", :py => "pang"},
300
+ { :zyfh => "ㄆㄠ", :wg => "p`ao", :mps2 => "pau", :yale => "pau", :typy => "pao", :py => "pao"},
301
+ { :zyfh => "ㄆㄟ", :wg => "p`ei", :mps2 => "pei", :yale => "pei", :typy => "pei", :py => "pei"},
302
+ { :zyfh => "ㄆㄣ", :wg => "p`en", :mps2 => "pen", :yale => "pen", :typy => "pen", :py => "pen"},
303
+ { :zyfh => "ㄆㄥ", :wg => "p`eng", :mps2 => "peng", :yale => "peng", :typy => "peng", :py => "peng"},
304
+ { :zyfh => "ㄆㄧ", :wg => "p`i", :mps2 => "pi", :yale => "pi", :typy => "pi", :py => "pi"},
305
+ { :zyfh => "ㄆㄧㄢ", :wg => "p`ien", :mps2 => "pian", :yale => "pyan", :typy => "pian", :py => "pian"},
306
+ { :zyfh => "ㄆㄧㄠ", :wg => "p`iao", :mps2 => "piau", :yale => "pyau", :typy => "piao", :py => "piao"},
307
+ { :zyfh => "ㄆㄧㄝ", :wg => "p`ieh", :mps2 => "pie", :yale => "pye", :typy => "pie", :py => "pie"},
308
+ { :zyfh => "ㄆㄧㄣ", :wg => "p`in", :mps2 => "pin", :yale => "pin", :typy => "pin", :py => "pin"},
309
+ { :zyfh => "ㄆㄧㄥ", :wg => "p`ing", :mps2 => "ping", :yale => "ping", :typy => "ping", :py => "ping"},
310
+ { :zyfh => "ㄆㄛ", :wg => "p`o", :mps2 => "po", :yale => "pwo", :typy => "po", :py => "po"},
311
+ { :zyfh => "ㄆㄡ", :wg => "p`ou", :mps2 => "pou", :yale => "pou", :typy => "pou", :py => "pou"},
312
+ { :zyfh => "ㄆㄨ", :wg => "p`u", :mps2 => "pu", :yale => "pu", :typy => "pu", :py => "pu"},
313
+ { :zyfh => "ㄑㄧ", :wg => "ch`i", :mps2 => "chi", :yale => "chi", :typy => "ci", :py => "qi"},
314
+ { :zyfh => "ㄑㄧㄚ", :wg => "ch`ia", :mps2 => "chia", :yale => "chya", :typy => "cia", :py => "qia"},
315
+ { :zyfh => "ㄑㄧㄢ", :wg => "ch`ien", :mps2 => "chian", :yale => "chyan", :typy => "cian", :py => "qian"},
316
+ { :zyfh => "ㄑㄧㄤ", :wg => "ch`iang", :mps2 => "chiang", :yale => "chyang", :typy => "ciang", :py => "qiang"},
317
+ { :zyfh => "ㄑㄧㄠ", :wg => "ch`iao", :mps2 => "chiau", :yale => "chyau", :typy => "ciao", :py => "qiao"},
318
+ { :zyfh => "ㄑㄧㄝ", :wg => "ch`ieh", :mps2 => "chie", :yale => "chye", :typy => "cie", :py => "qie"},
319
+ { :zyfh => "ㄑㄧㄣ", :wg => "ch`in", :mps2 => "chin", :yale => "chin", :typy => "cin", :py => "qin"},
320
+ { :zyfh => "ㄑㄧㄥ", :wg => "ch`ing", :mps2 => "ching", :yale => "ching", :typy => "cing", :py => "qing"},
321
+ { :zyfh => "ㄑㄩㄥ", :wg => "ch`iung", :mps2 => "chiung", :yale => "chyung", :typy => "cyong", :py => "qiong"},
322
+ { :zyfh => "ㄑㄧㄡ", :wg => "ch`iu", :mps2 => "chiou", :yale => "chyou", :typy => "ciou", :py => "qiu"},
323
+ { :zyfh => "ㄑㄩ", :wg => "ch`ü", :mps2 => "chiu", :yale => "chyu", :typy => "cyu", :py => "qu"},
324
+ { :zyfh => "ㄑㄩㄢ", :wg => "ch`üan", :mps2 => "chiuan", :yale => "chywan", :typy => "cyuan", :py => "quan"},
325
+ { :zyfh => "ㄑㄩㄝ", :wg => "ch`üeh", :mps2 => "chiue", :yale => "chywe", :typy => "cyue", :py => "que"},
326
+ { :zyfh => "ㄑㄩㄣ", :wg => "ch`ün", :mps2 => "chiun", :yale => "chyun", :typy => "cyun", :py => "qun"},
327
+ { :zyfh => "ㄖㄢ", :wg => "jan", :mps2 => "ran", :yale => "ran", :typy => "ran", :py => "ran"},
328
+ { :zyfh => "ㄖㄤ", :wg => "jang", :mps2 => "rang", :yale => "rang", :typy => "rang", :py => "rang"},
329
+ { :zyfh => "ㄖㄠ", :wg => "jao", :mps2 => "rau", :yale => "rau", :typy => "rao", :py => "rao"},
330
+ { :zyfh => "ㄖㄜ", :wg => "je", :mps2 => "re", :yale => "re", :typy => "re", :py => "re"},
331
+ { :zyfh => "ㄖㄣ", :wg => "jen", :mps2 => "ren", :yale => "ren", :typy => "ren", :py => "ren"},
332
+ { :zyfh => "ㄖㄥ", :wg => "jeng", :mps2 => "reng", :yale => "reng", :typy => "reng", :py => "reng"},
333
+ { :zyfh => "ㄖ", :wg => "jih", :mps2 => "r", :yale => "r", :typy => "rih", :py => "ri"},
334
+ { :zyfh => "ㄖㄨㄥ", :wg => "jung", :mps2 => "rung", :yale => "rung", :typy => "rong", :py => "rong"},
335
+ { :zyfh => "ㄖㄡ", :wg => "jou", :mps2 => "rou", :yale => "rou", :typy => "rou", :py => "rou"},
336
+ { :zyfh => "ㄖㄨ", :wg => "ju", :mps2 => "ru", :yale => "ru", :typy => "ru", :py => "ru"},
337
+ { :zyfh => "ㄖㄨㄢ", :wg => "juan", :mps2 => "ruan", :yale => "rwan", :typy => "ruan", :py => "ruan"},
338
+ { :zyfh => "ㄖㄨㄟ", :wg => "jui", :mps2 => "ruei", :yale => "rwei", :typy => "ruei", :py => "rui"},
339
+ { :zyfh => "ㄖㄨㄣ", :wg => "jun", :mps2 => "ruen", :yale => "rwun", :typy => "run", :py => "run"},
340
+ { :zyfh => "ㄖㄨㄛ", :wg => "jo", :mps2 => "ruo", :yale => "rwo", :typy => "ruo", :py => "ruo"},
341
+ { :zyfh => "ㄙㄚ", :wg => "sa", :mps2 => "sa", :yale => "sa", :typy => "sa", :py => "sa"},
342
+ { :zyfh => "ㄙㄞ", :wg => "sai", :mps2 => "sai", :yale => "sai", :typy => "sai", :py => "sai"},
343
+ { :zyfh => "ㄙㄢ", :wg => "san", :mps2 => "san", :yale => "san", :typy => "san", :py => "san"},
344
+ { :zyfh => "ㄙㄤ", :wg => "sang", :mps2 => "sang", :yale => "sang", :typy => "sang", :py => "sang"},
345
+ { :zyfh => "ㄙㄠ", :wg => "sao", :mps2 => "sau", :yale => "sau", :typy => "sao", :py => "sao"},
346
+ { :zyfh => "ㄙㄜ", :wg => "se", :mps2 => "se", :yale => "se", :typy => "se", :py => "se"},
347
+ { :zyfh => "ㄙㄟ", :wg => "sei", :mps2 => "sei", :yale => "sei", :typy => "sei", :py => "sei"},
348
+ { :zyfh => "ㄙㄣ", :wg => "sen", :mps2 => "sen", :yale => "sen", :typy => "sen", :py => "sen"},
349
+ { :zyfh => "ㄙㄥ", :wg => "seng", :mps2 => "seng", :yale => "seng", :typy => "seng", :py => "seng"},
350
+ { :zyfh => "ㄕㄚ", :wg => "sha", :mps2 => "sha", :yale => "sha", :typy => "sha", :py => "sha"},
351
+ { :zyfh => "ㄕㄞ", :wg => "shai", :mps2 => "shai", :yale => "shai", :typy => "shai", :py => "shai"},
352
+ { :zyfh => "ㄕㄢ", :wg => "shan", :mps2 => "shan", :yale => "shan", :typy => "shan", :py => "shan"},
353
+ { :zyfh => "ㄕㄤ", :wg => "shang", :mps2 => "shang", :yale => "shang", :typy => "shang", :py => "shang"},
354
+ { :zyfh => "ㄕㄠ", :wg => "shao", :mps2 => "shau", :yale => "shau", :typy => "shao", :py => "shao"},
355
+ { :zyfh => "ㄕㄜ", :wg => "she", :mps2 => "she", :yale => "she", :typy => "she", :py => "she"},
356
+ { :zyfh => "ㄕㄟ", :wg => "shei", :mps2 => "shei", :yale => "shei", :typy => "shei", :py => "shei"},
357
+ { :zyfh => "ㄕㄣ", :wg => "shen", :mps2 => "shen", :yale => "shen", :typy => "shen", :py => "shen"},
358
+ { :zyfh => "ㄕㄥ", :wg => "sheng", :mps2 => "sheng", :yale => "sheng", :typy => "sheng", :py => "sheng"},
359
+ { :zyfh => "ㄕ", :wg => "shih", :mps2 => "shr", :yale => "shr", :typy => "shih", :py => "shi"},
360
+ { :zyfh => "ㄕㄨㄥ", :wg => "shung", :mps2 => "shung", :yale => "shung", :typy => "shong", :py => "shong"},
361
+ { :zyfh => "ㄕㄡ", :wg => "shou", :mps2 => "shou", :yale => "shou", :typy => "shou", :py => "shou"},
362
+ { :zyfh => "ㄕㄨ", :wg => "shu", :mps2 => "shu", :yale => "shu", :typy => "shu", :py => "shu"},
363
+ { :zyfh => "ㄕㄨㄚ", :wg => "shua", :mps2 => "shua", :yale => "shwa", :typy => "shua", :py => "shua"},
364
+ { :zyfh => "ㄕㄨㄞ", :wg => "shuai", :mps2 => "shuai", :yale => "shwai", :typy => "shuai", :py => "shuai"},
365
+ { :zyfh => "ㄕㄨㄢ", :wg => "shuan", :mps2 => "shuan", :yale => "shwan", :typy => "shuan", :py => "shuan"},
366
+ { :zyfh => "ㄕㄨㄤ", :wg => "shuang", :mps2 => "shuang", :yale => "shwang", :typy => "shuang", :py => "shuang"},
367
+ { :zyfh => "ㄕㄨㄟ", :wg => "shui", :mps2 => "shuei", :yale => "shwei", :typy => "shuei", :py => "shui"},
368
+ { :zyfh => "ㄕㄨㄣ", :wg => "shun", :mps2 => "shuen", :yale => "shwun", :typy => "shun", :py => "shun"},
369
+ { :zyfh => "ㄕㄨㄛ", :wg => "shuo", :mps2 => "shuo", :yale => "shwo", :typy => "shuo", :py => "shuo"},
370
+ { :zyfh => "ㄙ", :wg => "ssu", :mps2 => "sz", :yale => "sz", :typy => "sih", :py => "si"},
371
+ { :zyfh => "ㄙㄨㄥ", :wg => "sung", :mps2 => "sung", :yale => "sung", :typy => "song", :py => "song"},
372
+ { :zyfh => "ㄙㄡ", :wg => "sou", :mps2 => "sou", :yale => "sou", :typy => "sou", :py => "sou"},
373
+ { :zyfh => "ㄙㄨ", :wg => "su", :mps2 => "su", :yale => "su", :typy => "su", :py => "su"},
374
+ { :zyfh => "ㄙㄨㄢ", :wg => "suan", :mps2 => "suan", :yale => "swan", :typy => "suan", :py => "suan"},
375
+ { :zyfh => "ㄙㄨㄟ", :wg => "sui", :mps2 => "suei", :yale => "swei", :typy => "suei", :py => "sui"},
376
+ { :zyfh => "ㄙㄨㄣ", :wg => "sun", :mps2 => "suen", :yale => "swen", :typy => "sun", :py => "sun"},
377
+ { :zyfh => "ㄙㄨㄛ", :wg => "so", :mps2 => "suo", :yale => "swo", :typy => "suo", :py => "suo"},
378
+ { :zyfh => "ㄊㄚ", :wg => "t`a", :mps2 => "ta", :yale => "ta", :typy => "ta", :py => "ta"},
379
+ { :zyfh => "ㄊㄞ", :wg => "t`ai", :mps2 => "tai", :yale => "tai", :typy => "tai", :py => "tai"},
380
+ { :zyfh => "ㄊㄢ", :wg => "t`an", :mps2 => "tan", :yale => "tan", :typy => "tan", :py => "tan"},
381
+ { :zyfh => "ㄊㄤ", :wg => "t`ang", :mps2 => "tang", :yale => "tang", :typy => "tang", :py => "tang"},
382
+ { :zyfh => "ㄊㄠ", :wg => "t`ao", :mps2 => "tau", :yale => "tau", :typy => "tao", :py => "tao"},
383
+ { :zyfh => "ㄊㄜ", :wg => "t`e", :mps2 => "te", :yale => "te", :typy => "te", :py => "te"},
384
+ { :zyfh => "ㄊㄥ", :wg => "t`eng", :mps2 => "teng", :yale => "teng", :typy => "teng", :py => "teng"},
385
+ { :zyfh => "ㄊㄧ", :wg => "t`i", :mps2 => "ti", :yale => "ti", :typy => "ti", :py => "ti"},
386
+ { :zyfh => "ㄊㄧㄢ", :wg => "t`ien", :mps2 => "tian", :yale => "tyan", :typy => "tian", :py => "tian"},
387
+ { :zyfh => "ㄊㄧㄠ", :wg => "t`iao", :mps2 => "tiau", :yale => "tyau", :typy => "tiao", :py => "tiao"},
388
+ { :zyfh => "ㄊㄧㄝ", :wg => "t`ieh", :mps2 => "tie", :yale => "tye", :typy => "tie", :py => "tie"},
389
+ { :zyfh => "ㄊㄧㄥ", :wg => "t`ing", :mps2 => "ting", :yale => "ting", :typy => "ting", :py => "ting"},
390
+ { :zyfh => "ㄊㄨㄥ", :wg => "t`ung", :mps2 => "tung", :yale => "tung", :typy => "tong", :py => "tong"},
391
+ { :zyfh => "ㄊㄡ", :wg => "t`ou", :mps2 => "tou", :yale => "tou", :typy => "tou", :py => "tou"},
392
+ { :zyfh => "ㄊㄨ", :wg => "t`u", :mps2 => "tu", :yale => "tu", :typy => "tu", :py => "tu"},
393
+ { :zyfh => "ㄊㄨㄢ", :wg => "t`uan", :mps2 => "tuan", :yale => "twan", :typy => "tuan", :py => "tuan"},
394
+ { :zyfh => "ㄊㄨㄟ", :wg => "t`ui", :mps2 => "tuei", :yale => "twei", :typy => "tuei", :py => "tui"},
395
+ { :zyfh => "ㄊㄨㄣ", :wg => "t`un", :mps2 => "tuen", :yale => "twen", :typy => "tun", :py => "tun"},
396
+ { :zyfh => "ㄊㄨㄛ", :wg => "t`o", :mps2 => "tuo", :yale => "two", :typy => "tuo", :py => "tuo"},
397
+ { :zyfh => "ㄨㄚ", :wg => "wa", :mps2 => "wa", :yale => "wa", :typy => "wa", :py => "wa"},
398
+ { :zyfh => "ㄨㄞ", :wg => "wai", :mps2 => "wai", :yale => "wai", :typy => "wai", :py => "wai"},
399
+ { :zyfh => "ㄨㄢ", :wg => "wan", :mps2 => "wan", :yale => "wan", :typy => "wan", :py => "wan"},
400
+ { :zyfh => "ㄨㄤ", :wg => "wang", :mps2 => "wang", :yale => "wang", :typy => "wang", :py => "wang"},
401
+ { :zyfh => "ㄨㄟ", :wg => "wei", :mps2 => "wei", :yale => "wei", :typy => "wei", :py => "wei"},
402
+ { :zyfh => "ㄨㄣ", :wg => "wen", :mps2 => "wen", :yale => "wen", :typy => "wun", :py => "wen"},
403
+ { :zyfh => "ㄨㄥ", :wg => "weng", :mps2 => "weng", :yale => "weng", :typy => "wong", :py => "weng"},
404
+ { :zyfh => "ㄨㄛ", :wg => "wo", :mps2 => "wo", :yale => "wo", :typy => "wo", :py => "wo"},
405
+ { :zyfh => "ㄨ", :wg => "wu", :mps2 => "wu", :yale => "wu", :typy => "wu", :py => "wu"},
406
+ { :zyfh => "ㄒㄧ", :wg => "hsi", :mps2 => "shi", :yale => "syi", :typy => "si", :py => "xi"},
407
+ { :zyfh => "ㄒㄧㄚ", :wg => "hsia", :mps2 => "shia", :yale => "sya", :typy => "sia", :py => "xia"},
408
+ { :zyfh => "ㄒㄧㄢ", :wg => "hsien", :mps2 => "shian", :yale => "syan", :typy => "sian", :py => "xian"},
409
+ { :zyfh => "ㄒㄧㄤ", :wg => "hsiang", :mps2 => "shiang", :yale => "syang", :typy => "siang", :py => "xiang"},
410
+ { :zyfh => "ㄒㄧㄠ", :wg => "hsiao", :mps2 => "shiau", :yale => "syau", :typy => "siao", :py => "xiao"},
411
+ { :zyfh => "ㄒㄧㄝ", :wg => "hsieh", :mps2 => "shie", :yale => "sye", :typy => "sie", :py => "xie"},
412
+ { :zyfh => "ㄒㄧㄣ", :wg => "hsin", :mps2 => "shin", :yale => "syin", :typy => "sin", :py => "xin"},
413
+ { :zyfh => "ㄒㄧㄥ", :wg => "hsing", :mps2 => "shing", :yale => "sying", :typy => "sing", :py => "xing"},
414
+ { :zyfh => "ㄒㄩㄥ", :wg => "hsiung", :mps2 => "shiung", :yale => "syung", :typy => "syong", :py => "xiong"},
415
+ { :zyfh => "ㄒㄧㄡ", :wg => "hsiu", :mps2 => "shiou", :yale => "syou", :typy => "siou", :py => "xiu"},
416
+ { :zyfh => "ㄒㄩ", :wg => "hsü", :mps2 => "shiu", :yale => "syu", :typy => "syu", :py => "xu"},
417
+ { :zyfh => "ㄒㄩㄢ", :wg => "hsüan", :mps2 => "shiuan", :yale => "sywan", :typy => "syuan", :py => "xuan"},
418
+ { :zyfh => "ㄒㄩㄝ", :wg => "hsüeh", :mps2 => "shiue", :yale => "sywe", :typy => "syue", :py => "xue"},
419
+ { :zyfh => "ㄒㄩㄣ", :wg => "hsün", :mps2 => "shiun", :yale => "syun", :typy => "syun", :py => "xun"},
420
+ { :zyfh => "ㄧㄚ", :wg => "ya", :mps2 => "ya", :yale => "ya", :typy => "ya", :py => "ya"},
421
+ { :zyfh => "ㄧㄢ", :wg => "yan", :mps2 => "yan", :yale => "yan", :typy => "yan", :py => "yan"},
422
+ { :zyfh => "ㄧㄤ", :wg => "yang", :mps2 => "yang", :yale => "yang", :typy => "yang", :py => "yang"},
423
+ { :zyfh => "ㄧㄠ", :wg => "yao", :mps2 => "yau", :yale => "yau", :typy => "yao", :py => "yao"},
424
+ { :zyfh => "ㄧㄝ", :wg => "yeh", :mps2 => "ye", :yale => "ye", :typy => "ye", :py => "ye"},
425
+ { :zyfh => "ㄧ", :wg => "i", :mps2 => "yi", :yale => "yi", :typy => "yi", :py => "yi"},
426
+ { :zyfh => "ㄧㄣ", :wg => "yin", :mps2 => "yin", :yale => "yin", :typy => "yin", :py => "yin"},
427
+ { :zyfh => "ㄧㄥ", :wg => "ying", :mps2 => "ying", :yale => "ying", :typy => "ying", :py => "ying"},
428
+ { :zyfh => "ㄩㄥ", :wg => "yung", :mps2 => "yung", :yale => "yung", :typy => "yong", :py => "yong"},
429
+ { :zyfh => "ㄧㄡ", :wg => "yu", :mps2 => "you", :yale => "you", :typy => "you", :py => "you"},
430
+ { :zyfh => "ㄩ", :wg => "yü", :mps2 => "yu", :yale => "yu", :typy => "yu", :py => "yu"},
431
+ { :zyfh => "ㄩㄢ", :wg => "yüan", :mps2 => "yuan", :yale => "ywan", :typy => "yuan", :py => "yuan"},
432
+ { :zyfh => "ㄩㄝ", :wg => "yüeh", :mps2 => "yue", :yale => "ywe", :typy => "yue", :py => "yue"},
433
+ { :zyfh => "ㄩㄣ", :wg => "yün", :mps2 => "yun", :yale => "yun", :typy => "yun", :py => "yun"},
434
+ { :zyfh => "ㄗㄚ", :wg => "tsa", :mps2 => "tza", :yale => "dza", :typy => "za", :py => "za"},
435
+ { :zyfh => "ㄗㄞ", :wg => "tsai", :mps2 => "tzai", :yale => "dzai", :typy => "zai", :py => "zai"},
436
+ { :zyfh => "ㄗㄢ", :wg => "tsan", :mps2 => "tzan", :yale => "dzan", :typy => "zan", :py => "zan"},
437
+ { :zyfh => "ㄗㄤ", :wg => "tsang", :mps2 => "tzang", :yale => "dzang", :typy => "zang", :py => "zang"},
438
+ { :zyfh => "ㄗㄠ", :wg => "tsao", :mps2 => "tzau", :yale => "dzau", :typy => "zao", :py => "zao"},
439
+ { :zyfh => "ㄗㄜ", :wg => "tse", :mps2 => "tze", :yale => "dze", :typy => "ze", :py => "ze"},
440
+ { :zyfh => "ㄗㄟ", :wg => "tsei", :mps2 => "tzei", :yale => "dzei", :typy => "zei", :py => "zei"},
441
+ { :zyfh => "ㄗㄣ", :wg => "tsen", :mps2 => "tzen", :yale => "dzen", :typy => "zen", :py => "zen"},
442
+ { :zyfh => "ㄗㄥ", :wg => "tseng", :mps2 => "tzeng", :yale => "dzeng", :typy => "zeng", :py => "zeng"},
443
+ { :zyfh => "ㄓㄚ", :wg => "cha", :mps2 => "ja", :yale => "ja", :typy => "jha", :py => "zha"},
444
+ { :zyfh => "ㄓㄞ", :wg => "chai", :mps2 => "jai", :yale => "jai", :typy => "jhai", :py => "zhai"},
445
+ { :zyfh => "ㄓㄢ", :wg => "chan", :mps2 => "jan", :yale => "jan", :typy => "jhan", :py => "zhan"},
446
+ { :zyfh => "ㄓㄤ", :wg => "chang", :mps2 => "jang", :yale => "jang", :typy => "jhang", :py => "zhang"},
447
+ { :zyfh => "ㄓㄠ", :wg => "chao", :mps2 => "jau", :yale => "jau", :typy => "jhao", :py => "zhao"},
448
+ { :zyfh => "ㄓㄜ", :wg => "che", :mps2 => "je", :yale => "je", :typy => "jhe", :py => "zhe"},
449
+ { :zyfh => "ㄓㄟ", :wg => "chei", :mps2 => "jei", :yale => "jei", :typy => "jhei", :py => "zhei"},
450
+ { :zyfh => "ㄓㄣ", :wg => "chen", :mps2 => "jen", :yale => "jen", :typy => "jhen", :py => "zhen"},
451
+ { :zyfh => "ㄓㄥ", :wg => "cheng", :mps2 => "jeng", :yale => "jeng", :typy => "jheng", :py => "zheng"},
452
+ { :zyfh => "ㄓ", :wg => "chih", :mps2 => "jr", :yale => "jr", :typy => "jhih", :py => "zhi"},
453
+ { :zyfh => "ㄓㄨㄥ", :wg => "chung", :mps2 => "jung", :yale => "jung", :typy => "jhong", :py => "zhong"},
454
+ { :zyfh => "ㄓㄡ", :wg => "chou", :mps2 => "jou", :yale => "jou", :typy => "jhou", :py => "zhou"},
455
+ { :zyfh => "ㄓㄨ", :wg => "chu", :mps2 => "ju", :yale => "ju", :typy => "jhu", :py => "zhu"},
456
+ { :zyfh => "ㄓㄨㄚ", :wg => "chua", :mps2 => "jua", :yale => "jwa", :typy => "jhua", :py => "zhua"},
457
+ { :zyfh => "ㄓㄨㄞ", :wg => "chuai", :mps2 => "juai", :yale => "jwai", :typy => "jhuai", :py => "zhuai"},
458
+ { :zyfh => "ㄓㄨㄢ", :wg => "chuan", :mps2 => "juan", :yale => "jwan", :typy => "jhuan", :py => "zhuan"},
459
+ { :zyfh => "ㄓㄨㄤ", :wg => "chuang", :mps2 => "juang", :yale => "jwang", :typy => "jhuang", :py => "zhuang"},
460
+ { :zyfh => "ㄓㄨㄟ", :wg => "chui", :mps2 => "juei", :yale => "jwei", :typy => "jhuei", :py => "zhui"},
461
+ { :zyfh => "ㄓㄨㄣ", :wg => "chun", :mps2 => "juen", :yale => "jwen", :typy => "jhun", :py => "zhun"},
462
+ { :zyfh => "ㄓㄨㄛ", :wg => "cho", :mps2 => "juo", :yale => "jwo", :typy => "jhuo", :py => "zhuo"},
463
+ { :zyfh => "ㄗ", :wg => "tzu", :mps2 => "tz", :yale => "dz", :typy => "zih", :py => "zi"},
464
+ { :zyfh => "ㄗㄨㄥ", :wg => "tsung", :mps2 => "tzung", :yale => "dzung", :typy => "zong", :py => "zong"},
465
+ { :zyfh => "ㄗㄡ", :wg => "tsou", :mps2 => "tzou", :yale => "dzou", :typy => "zou", :py => "zou"},
466
+ { :zyfh => "ㄗㄨ", :wg => "tsu", :mps2 => "tzu", :yale => "dzu", :typy => "zu", :py => "zu"},
467
+ { :zyfh => "ㄗㄨㄢ", :wg => "tsuan", :mps2 => "tzuan", :yale => "dzwan", :typy => "zuan", :py => "zuan"},
468
+ { :zyfh => "ㄗㄨㄟ", :wg => "tsui", :mps2 => "tzuei", :yale => "dzwei", :typy => "zuei", :py => "zui"},
469
+ { :zyfh => "ㄗㄨㄣ", :wg => "tsun", :mps2 => "tzuen", :yale => "dzwen", :typy => "zun", :py => "zun"},
470
+ { :zyfh => "ㄗㄨㄛ", :wg => "tso", :mps2 => "tzuo", :yale => "dzwo", :typy => "zuo", :py => "zuo"},
471
+ { :zyfh => "ㄦ", :wg => 'rh', :mps2 => "r", :yale => "r", :typy => "r", :py => "r"}
472
+ ]
473
+ end
474
+