zhongwen_tools 0.2.1 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -4
- data/lib/zhongwen_tools/romanization.rb +172 -0
- data/lib/zhongwen_tools/romanization/conversion_table.rb +423 -0
- data/lib/zhongwen_tools/romanization/detect.rb +50 -0
- data/lib/zhongwen_tools/romanization/pyn_to_py.rb +165 -0
- data/lib/zhongwen_tools/version.rb +1 -1
- data/test/test_helper.rb +4 -0
- data/test/test_romanization.rb +75 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29e64d2dfff1e46c5a818f7dc9acc2919f74c256
|
4
|
+
data.tar.gz: fefa4e4202e1c3ba71f4b5d071230d880cf2df19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3b906b9372877ba3220d29a510ad2066e351e311567017a81e200fb1a3542ff81eea1e15d932df86db5c13c00b99a8c3727fa44313c8d504f2b9420f9d95866
|
7
|
+
data.tar.gz: 3e2f5d3307e29a5abbae461ca4ec9dba550b4a35dca357b01729dee0b6dfc40bc99fbaf676bfb926f3373b123de99b5498926801f85c148d6e014d3d83a05041
|
data/README.md
CHANGED
@@ -36,8 +36,7 @@ ZhongwenTools includes the following modules:
|
|
36
36
|
1. ZhongwenTools::String => some useful string functions and functions for identifying Chinese scripts and romanizations.
|
37
37
|
2. ZhongwenTools::Numbers => functions for identifying and converting numbers.
|
38
38
|
3. ZhongwenTools::Integer => some useful integer functions for Chinese:
|
39
|
-
|
40
|
-
4. [TODO] ZhongwenTools::Romanization => functions for converting between Chinese romanization systems
|
39
|
+
4. ZhongwenTools::Romanization => functions for converting between Chinese romanization systems
|
41
40
|
5. [TODO] ZhongwenTools::Conversion => functions for converting between Chinese scripts.
|
42
41
|
6. [TODO] ZhongwenTools::ToneSandhi => functions for identifying and dealing with tone sandhi. (Wiki URL)
|
43
42
|
7. [TODO] ZhongwenTools::Segmentation => functions for segmenting Chinese. Can provide different methods for converting
|
@@ -90,8 +89,8 @@ Monkey-patch your integers for Chinese.
|
|
90
89
|
|
91
90
|
|
92
91
|
### Romanization
|
93
|
-
ZhongwenTools::
|
94
|
-
scripts.
|
92
|
+
ZhongwenTools::Romanization has tools for converting between Chinese language romanization systems and
|
93
|
+
scripts. It **does not convert Chinese characters to pinyin** (see ZhongwenTools::Conversion).
|
95
94
|
|
96
95
|
class String
|
97
96
|
include ZhongwenTools::Romanization
|
@@ -120,6 +119,8 @@ scripts.
|
|
120
119
|
str.tone_sandhi? #=> checks if the word has tone sandhi
|
121
120
|
#=> true
|
122
121
|
str.romanization?
|
122
|
+
str.pyn? #=> true
|
123
|
+
|
123
124
|
|
124
125
|
### Conversion
|
125
126
|
Functions for converting between scripts (e.g. traditional Chinese to
|
@@ -0,0 +1,172 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
require './lib/zhongwen_tools/romanization/conversion_table'
|
3
|
+
require './lib/zhongwen_tools/romanization/detect'
|
4
|
+
require './lib/zhongwen_tools/romanization/pyn_to_py'
|
5
|
+
|
6
|
+
module ZhongwenTools
|
7
|
+
module Romanization
|
8
|
+
def to_pinyin(*args)
|
9
|
+
str, from = _romanization_options(args)
|
10
|
+
|
11
|
+
_convert_romanization str, :py, from
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_bopomofo *args
|
15
|
+
str, from = _romanization_options(args)
|
16
|
+
|
17
|
+
_convert_romanization str, :zyfh, from
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_yale(*args)
|
21
|
+
str, from = _romanization_options(args)
|
22
|
+
_convert_romanization str, :yale, from
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_wade_giles(*args)
|
26
|
+
str, from = _romanization_options(args)
|
27
|
+
_convert_romanization str, :wg, from
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_typy(*args)
|
31
|
+
str, from = _romanization_options(args)
|
32
|
+
_convert_romanization str, :typy, from
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def _romanization_options(args)
|
38
|
+
if self.class.to_s != 'String'
|
39
|
+
str = args[0]
|
40
|
+
from = (args[1] || :pyn).to_sym
|
41
|
+
else
|
42
|
+
str = self
|
43
|
+
from = (args[0] || :pyn).to_sym
|
44
|
+
end
|
45
|
+
|
46
|
+
[str, from]
|
47
|
+
end
|
48
|
+
|
49
|
+
# Private: Replaces numbered pinyin with actual pinyin. Pinyin separated with hyphens are combined as one word.
|
50
|
+
#
|
51
|
+
# str - A String to replace with actual pinyin
|
52
|
+
#
|
53
|
+
# Examples
|
54
|
+
# _to_pinyin 'Ni3 hao3 ma5?'
|
55
|
+
# # => "Nǐ hǎo ma?"
|
56
|
+
# # => 'Zhong1-guo2-ren2'
|
57
|
+
#
|
58
|
+
#
|
59
|
+
# Returns a string with actual pinyin
|
60
|
+
# TODO: fix regex: false match for V
|
61
|
+
# TODO: fix regex false match for "zhongguo person"
|
62
|
+
# #this regex is a quick and dirty check, but it's not accurate.
|
63
|
+
# an accurate regex would restrict access to completely accurate
|
64
|
+
# pinyin, e.g. sounds that mandarin actually can contain.
|
65
|
+
# #this regex extracts the pinyin components, but doesn't make
|
66
|
+
# judgement on the pinyins accuracy.
|
67
|
+
def _to_pinyin str
|
68
|
+
regex = /(([BPMFDTNLGKHZCSRJQXWYbpmfdtnlgkhzcsrjqxwy]?[h]?)(A[io]?|a[io]?|i[aeu]?o?|Ei?|ei?|Ou?|ou?|u[aoe]?i?|ve?)?(n?g?)(r?)([1-5])(\-+)?)/
|
69
|
+
|
70
|
+
# doing the substitution in a block is ~8x faster than using scan and each.
|
71
|
+
# Explanation: if it's pinyin without vowels, e.g. m, ng, then convert, otherwise, check if it needs an apostrophe (http://www.pinyin.info/romanization/hanyu/apostrophes.html). If it does, add it and then convert. Otherwise, just convert. Oh, and if double hyphens are used, replace them with one hyphen. And finally, correct those apostrophes at the very end.
|
72
|
+
str.gsub(regex) do
|
73
|
+
($3.nil? ? "#{PYN_PY[$1]}" : ($2 == '' && ['a','e','o'].include?($3[0,1]))? "'#{PYN_PY["#{$3}#{$6}"]}#{$4}#{$5}" : "#{$2}#{PYN_PY["#{$3}#{$6}"]}#{$4}#{$5}") + (($7.to_s.length > 1) ? '-' : '')
|
74
|
+
end.gsub("-'","-").sub(/^'/,'')
|
75
|
+
end
|
76
|
+
|
77
|
+
#http://en.wikipedia.org/wiki/Pinyin
|
78
|
+
#http://talkbank.org/pinyin/Trad_chart_IPA.php
|
79
|
+
#for ipa
|
80
|
+
def _to_romanization str, to, from
|
81
|
+
convert_to = _set_type to
|
82
|
+
convert_from = _set_type from
|
83
|
+
tokens = str.split(' ').uniq
|
84
|
+
replacements = tokens.collect do |t|
|
85
|
+
# non_romanization = t.match(/[1-5](.*)/)[-1]
|
86
|
+
search = t.gsub(/[1-5].*/,'')
|
87
|
+
begin
|
88
|
+
if from.nil? || convert_from.nil?
|
89
|
+
replace = ROMANANIZATIONS_TABLE.find{|x| x.values.include? t.downcase.gsub(/[1-5].*/,'')}[convert_to.to_sym]
|
90
|
+
else
|
91
|
+
replace = ROMANANIZATIONS_TABLE.find{|x| x[convert_from.to_sym] == t.downcase.gsub(/[1-5].*/,'')}[convert_to.to_sym]
|
92
|
+
end
|
93
|
+
rescue => e#rescue when the converter meets something it doesn't recognize
|
94
|
+
replace = search
|
95
|
+
end
|
96
|
+
str = str.gsub(search, replace)
|
97
|
+
end
|
98
|
+
str
|
99
|
+
end
|
100
|
+
def _convert_romanization str, to, from
|
101
|
+
return str if to == from
|
102
|
+
|
103
|
+
if to == :py
|
104
|
+
if from == :pyn
|
105
|
+
_to_pinyin str
|
106
|
+
else
|
107
|
+
raise NotImplementedError, 'method not implemented'
|
108
|
+
#convert to pyn first.
|
109
|
+
end
|
110
|
+
elsif to == :zyfh
|
111
|
+
if from == :py
|
112
|
+
#need to convert pinyin to pyn
|
113
|
+
raise NotImplementedError, 'method not implemented'
|
114
|
+
end
|
115
|
+
_to_romanization str, to, from
|
116
|
+
else
|
117
|
+
if from == :pyn
|
118
|
+
_to_romanization str, to, from
|
119
|
+
else
|
120
|
+
raise NotImplementedError, 'method not implemented'
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
|
126
|
+
def _set_type(type)
|
127
|
+
type = type.to_s.downcase.to_sym
|
128
|
+
case type
|
129
|
+
when :zhuyinfuhao
|
130
|
+
:zyfh
|
131
|
+
when :bopomofo
|
132
|
+
:zyfh
|
133
|
+
when :bpmf
|
134
|
+
type = :zyfh
|
135
|
+
when :zhyfh
|
136
|
+
type = :zyfh
|
137
|
+
when :zyfh
|
138
|
+
:zyfh
|
139
|
+
when 'wade-giles'.to_sym
|
140
|
+
type = :wg
|
141
|
+
when :yale
|
142
|
+
:yale
|
143
|
+
when :tongyong
|
144
|
+
type = :typy
|
145
|
+
when :wg
|
146
|
+
type = :wg
|
147
|
+
when :typy
|
148
|
+
:typy
|
149
|
+
when :ty
|
150
|
+
type = :typy
|
151
|
+
when :pyn
|
152
|
+
:py
|
153
|
+
when :pinyin
|
154
|
+
type = :py
|
155
|
+
when :py
|
156
|
+
type = :py
|
157
|
+
when :msp2
|
158
|
+
:msp2
|
159
|
+
else
|
160
|
+
nil
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
alias_method :to_py, :to_pinyin
|
165
|
+
alias_method :to_zhyfh, :to_bopomofo
|
166
|
+
alias_method :to_zhuyin, :to_bopomofo
|
167
|
+
alias_method :to_zhuyin_fuhao, :to_bopomofo
|
168
|
+
alias_method :to_bpmf, :to_bopomofo
|
169
|
+
alias_method :to_wg, :to_wade_giles
|
170
|
+
alias_method :to_tongyong, :to_typy
|
171
|
+
end
|
172
|
+
end
|
@@ -0,0 +1,423 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
module ZhongwenTools
|
3
|
+
module Romanization
|
4
|
+
|
5
|
+
ROMANANIZATIONS_TABLE = [{:zyfh => " ㄚ", :wg => "a", :mps2 => "a", :yale => "a", :typy => "a", :py => "a"},
|
6
|
+
{ :zyfh => "ㄞ", :wg => "ai", :mps2 => "ai", :yale => "ai", :typy => "ai", :py => "ai"},
|
7
|
+
{ :zyfh => "ㄢ", :wg => "an", :mps2 => "an", :yale => "an", :typy => "an", :py => "an"},
|
8
|
+
{ :zyfh => "ㄤ", :wg => "ang", :mps2 => "ang", :yale => "ang", :typy => "ang", :py => "ang"},
|
9
|
+
{ :zyfh => "ㄠ", :wg => "ao", :mps2 => "au", :yale => "au", :typy => "ao", :py => "ao"},
|
10
|
+
{ :zyfh => "ㄅㄚ", :wg => "pa", :mps2 => "ba", :yale => "ba", :typy => "ba", :py => "ba"},
|
11
|
+
{ :zyfh => "ㄅㄞ", :wg => "pai", :mps2 => "bai", :yale => "bai", :typy => "bai", :py => "bai"},
|
12
|
+
{ :zyfh => "ㄅㄢ", :wg => "pan", :mps2 => "ban", :yale => "ban", :typy => "ban", :py => "ban"},
|
13
|
+
{ :zyfh => "ㄅㄤ", :wg => "pang", :mps2 => "bang", :yale => "bang", :typy => "bang", :py => "bang"},
|
14
|
+
{ :zyfh => "ㄅㄠ", :wg => "pao", :mps2 => "bau", :yale => "bau", :typy => "bao", :py => "bao"},
|
15
|
+
{ :zyfh => "ㄅㄟ", :wg => "pei", :mps2 => "bei", :yale => "bei", :typy => "bei", :py => "bei"},
|
16
|
+
{ :zyfh => "ㄅㄣ", :wg => "pen", :mps2 => "ben", :yale => "ben", :typy => "ben", :py => "ben"},
|
17
|
+
{ :zyfh => "ㄅㄥ", :wg => "peng", :mps2 => "beng", :yale => "beng", :typy => "beng", :py => "beng"},
|
18
|
+
{ :zyfh => "ㄅㄧ", :wg => "pi", :mps2 => "bi", :yale => "bi", :typy => "bi", :py => "bi"},
|
19
|
+
{ :zyfh => "ㄅㄧㄢ", :wg => "pien", :mps2 => "bian", :yale => "byan", :typy => "bian", :py => "bian"},
|
20
|
+
{ :zyfh => "ㄅㄧㄠ", :wg => "piao", :mps2 => "biau", :yale => "byau", :typy => "biao", :py => "biao"},
|
21
|
+
{ :zyfh => "ㄅㄧㄝ", :wg => "pieh", :mps2 => "bie", :yale => "bye", :typy => "bie", :py => "bie"},
|
22
|
+
{ :zyfh => "ㄅㄧㄣ", :wg => "pin", :mps2 => "bin", :yale => "bin", :typy => "bin", :py => "bin"},
|
23
|
+
{ :zyfh => "ㄅㄧㄥ", :wg => "ping", :mps2 => "bing", :yale => "bing", :typy => "bing", :py => "bing"},
|
24
|
+
{ :zyfh => "ㄅㄛ", :wg => "po", :mps2 => "bo", :yale => "bwo", :typy => "bo", :py => "bo"},
|
25
|
+
{ :zyfh => "ㄅㄨ", :wg => "pu", :mps2 => "bu", :yale => "bu", :typy => "bu", :py => "bu"},
|
26
|
+
{ :zyfh => "ㄘㄚ", :wg => "ts`a", :mps2 => "tsa", :yale => "tsa", :typy => "ca", :py => "ca"},
|
27
|
+
{ :zyfh => "ㄘㄞ", :wg => "ts`ai", :mps2 => "tsai", :yale => "tsai", :typy => "cai", :py => "cai"},
|
28
|
+
{ :zyfh => "ㄘㄢ", :wg => "ts`an", :mps2 => "tsan", :yale => "tsan", :typy => "can", :py => "can"},
|
29
|
+
{ :zyfh => "ㄘㄤ", :wg => "ts`ang", :mps2 => "tsang", :yale => "tsang", :typy => "cang", :py => "cang"},
|
30
|
+
{ :zyfh => "ㄘㄠ", :wg => "ts`ao", :mps2 => "tsau", :yale => "tsau", :typy => "cao", :py => "cao"},
|
31
|
+
{ :zyfh => "ㄘㄜ", :wg => "ts`e", :mps2 => "tse", :yale => "tse", :typy => "ce", :py => "ce"},
|
32
|
+
{ :zyfh => "ㄘㄣ", :wg => "ts`en", :mps2 => "tsen", :yale => "tsen", :typy => "cen", :py => "cen"},
|
33
|
+
{ :zyfh => "ㄘㄥ", :wg => "ts`eng", :mps2 => "tseng", :yale => "tseng", :typy => "ceng", :py => "ceng"},
|
34
|
+
{ :zyfh => "ㄔㄚ", :wg => "ch`a", :mps2 => "cha", :yale => "cha", :typy => "cha", :py => "cha"},
|
35
|
+
{ :zyfh => "ㄔㄞ", :wg => "ch`ai", :mps2 => "chai", :yale => "chai", :typy => "chai", :py => "chai"},
|
36
|
+
{ :zyfh => "ㄔㄢ", :wg => "ch`an", :mps2 => "chan", :yale => "chan", :typy => "chan", :py => "chan"},
|
37
|
+
{ :zyfh => "ㄔㄤ", :wg => "ch`ang", :mps2 => "chang", :yale => "chang", :typy => "chang", :py => "chang"},
|
38
|
+
{ :zyfh => "ㄔㄠ", :wg => "ch`ao", :mps2 => "chau", :yale => "chau", :typy => "chao", :py => "chao"},
|
39
|
+
{ :zyfh => "ㄔㄜ", :wg => "ch`e", :mps2 => "che", :yale => "che", :typy => "che", :py => "che"},
|
40
|
+
{ :zyfh => "ㄔㄣ", :wg => "ch`en", :mps2 => "chen", :yale => "chen", :typy => "chen", :py => "chen"},
|
41
|
+
{ :zyfh => "ㄔㄥ", :wg => "ch`eng", :mps2 => "cheng", :yale => "cheng", :typy => "cheng", :py => "cheng"},
|
42
|
+
{ :zyfh => "ㄔ", :wg => "ch`ih", :mps2 => "chr", :yale => "chr", :typy => "chih", :py => "chi"},
|
43
|
+
{ :zyfh => "ㄔㄨㄥ", :wg => "ch`ung", :mps2 => "chung", :yale => "chung", :typy => "chong", :py => "chong"},
|
44
|
+
{ :zyfh => "ㄔㄡ", :wg => "ch`ou", :mps2 => "chou", :yale => "chou", :typy => "chou", :py => "chou"},
|
45
|
+
{ :zyfh => "ㄔㄨ", :wg => "ch`u", :mps2 => "chu", :yale => "chu", :typy => "chu", :py => "chu"},
|
46
|
+
{ :zyfh => "ㄔㄨㄚ", :wg => "ch`ua", :mps2 => "chua", :yale => "chwa", :typy => "chua", :py => "chua"},
|
47
|
+
{ :zyfh => "ㄔㄨㄞ", :wg => "ch`uai", :mps2 => "chuai", :yale => "chwai", :typy => "chuai", :py => "chuai"},
|
48
|
+
{ :zyfh => "ㄔㄨㄢ", :wg => "ch`uan", :mps2 => "chuan", :yale => "chwan", :typy => "chuan", :py => "chuan"},
|
49
|
+
{ :zyfh => "ㄔㄨㄤ", :wg => "ch`uang", :mps2 => "chuang", :yale => "chwang", :typy => "chuang", :py => "chuang"},
|
50
|
+
{ :zyfh => "ㄔㄨㄟ", :wg => "ch`ui", :mps2 => "chuei", :yale => "chwei", :typy => "chuei", :py => "chui"},
|
51
|
+
{ :zyfh => "ㄔㄨㄣ", :wg => "ch`un", :mps2 => "chuen", :yale => "chwen", :typy => "chun", :py => "chun"},
|
52
|
+
{ :zyfh => "ㄔㄨㄛ", :wg => "ch`o", :mps2 => "chuo", :yale => "chwo", :typy => "chuo", :py => "chuo"},
|
53
|
+
{ :zyfh => "ㄘ", :wg => "tz`u", :mps2 => "tsz", :yale => "tsz", :typy => "cih", :py => "ci"},
|
54
|
+
{ :zyfh => "ㄘㄨㄥ", :wg => "ts`ung", :mps2 => "tsung", :yale => "tsung", :typy => "cong", :py => "cong"},
|
55
|
+
{ :zyfh => "ㄘㄡ", :wg => "ts`ou", :mps2 => "tsou", :yale => "tsou", :typy => "cou", :py => "cou"},
|
56
|
+
{ :zyfh => "ㄘㄨ", :wg => "ts`u", :mps2 => "tsu", :yale => "tsu", :typy => "cu", :py => "cu"},
|
57
|
+
{ :zyfh => "ㄘㄨㄢ", :wg => "ts`uan", :mps2 => "tsuan", :yale => "tswan", :typy => "cuan", :py => "cuan"},
|
58
|
+
{ :zyfh => "ㄘㄨㄟ", :wg => "ts`ui", :mps2 => "tsuei", :yale => "tswei", :typy => "cuei", :py => "cui"},
|
59
|
+
{ :zyfh => "ㄘㄨㄣ", :wg => "ts`un", :mps2 => "tsuen", :yale => "tswen", :typy => "cun", :py => "cun"},
|
60
|
+
{ :zyfh => "ㄘㄨㄛ", :wg => "ts`o", :mps2 => "tsuo", :yale => "tswo", :typy => "cuo", :py => "cuo"},
|
61
|
+
{ :zyfh => "ㄉㄚ", :wg => "ta", :mps2 => "da", :yale => "da", :typy => "da", :py => "da"},
|
62
|
+
{ :zyfh => "ㄉㄞ", :wg => "tai", :mps2 => "dai", :yale => "dai", :typy => "dai", :py => "dai"},
|
63
|
+
{ :zyfh => "ㄉㄢ", :wg => "tan", :mps2 => "dan", :yale => "dan", :typy => "dan", :py => "dan"},
|
64
|
+
{ :zyfh => "ㄉㄤ", :wg => "tang", :mps2 => "dang", :yale => "dang", :typy => "dang", :py => "dang"},
|
65
|
+
{ :zyfh => "ㄉㄠ", :wg => "tao", :mps2 => "dau", :yale => "dau", :typy => "dao", :py => "dao"},
|
66
|
+
{ :zyfh => "ㄉㄜ", :wg => "te", :mps2 => "de", :yale => "de", :typy => "de", :py => "de"},
|
67
|
+
{ :zyfh => "ㄉㄟ", :wg => "tei", :mps2 => "dei", :yale => "dei", :typy => "dei", :py => "dei"},
|
68
|
+
{ :zyfh => "ㄉㄣ", :wg => "ten", :mps2 => "den", :yale => "den", :typy => "den", :py => "den"},
|
69
|
+
{ :zyfh => "ㄉㄥ", :wg => "teng", :mps2 => "deng", :yale => "deng", :typy => "deng", :py => "deng"},
|
70
|
+
{ :zyfh => "ㄉㄧ", :wg => "ti", :mps2 => "di", :yale => "di", :typy => "di", :py => "di"},
|
71
|
+
{ :zyfh => "ㄉㄧㄢ", :wg => "tien", :mps2 => "dian", :yale => "dyan", :typy => "dian", :py => "dian"},
|
72
|
+
{ :zyfh => "ㄉㄧㄤ", :wg => "tiang", :mps2 => "diang", :yale => "dyang", :typy => "diang", :py => "diang"},
|
73
|
+
{ :zyfh => "ㄉㄧㄠ", :wg => "tiao", :mps2 => "diau", :yale => "dyau", :typy => "diao", :py => "diao"},
|
74
|
+
{ :zyfh => "ㄉㄧㄝ", :wg => "tieh", :mps2 => "die", :yale => "dye", :typy => "die", :py => "die"},
|
75
|
+
{ :zyfh => "ㄉㄧㄥ", :wg => "ting", :mps2 => "ding", :yale => "ding", :typy => "ding", :py => "ding"},
|
76
|
+
{ :zyfh => "ㄉㄧㄡ", :wg => "tiu", :mps2 => "diou", :yale => "dyou", :typy => "diou", :py => "diu"},
|
77
|
+
{ :zyfh => "ㄉㄨㄥ", :wg => "tung", :mps2 => "dung", :yale => "dung", :typy => "dong", :py => "dong"},
|
78
|
+
{ :zyfh => "ㄉㄡ", :wg => "tou", :mps2 => "dou", :yale => "dou", :typy => "dou", :py => "dou"},
|
79
|
+
{ :zyfh => "ㄉㄨ", :wg => "tu", :mps2 => "du", :yale => "du", :typy => "du", :py => "du"},
|
80
|
+
{ :zyfh => "ㄉㄨㄢ", :wg => "tuan", :mps2 => "duan", :yale => "dwan", :typy => "duan", :py => "duan"},
|
81
|
+
{ :zyfh => "ㄉㄨㄟ", :wg => "tui", :mps2 => "duei", :yale => "dwei", :typy => "duei", :py => "dui"},
|
82
|
+
{ :zyfh => "ㄉㄨㄣ", :wg => "tun", :mps2 => "duen", :yale => "dwen", :typy => "dun", :py => "dun"},
|
83
|
+
{ :zyfh => "ㄉㄨㄛ", :wg => "to", :mps2 => "duo", :yale => "dwo", :typy => "duo", :py => "duo"},
|
84
|
+
{ :zyfh => "ㄜ", :wg => "e", :mps2 => "e", :yale => "e", :typy => "e", :py => "e"},
|
85
|
+
{ :zyfh => "ㄟ", :wg => "ei", :mps2 => "ei", :yale => "ei", :typy => "ei", :py => "ei"},
|
86
|
+
{ :zyfh => "ㄣ", :wg => "en", :mps2 => "en", :yale => "en", :typy => "en", :py => "en"},
|
87
|
+
{ :zyfh => "ㄦ", :wg => "erh", :mps2 => "er", :yale => "er", :typy => "er", :py => "er"},
|
88
|
+
{ :zyfh => "ㄈㄚ", :wg => "fa", :mps2 => "fa", :yale => "fa", :typy => "fa", :py => "fa"},
|
89
|
+
{ :zyfh => "ㄈㄢ", :wg => "fan", :mps2 => "fan", :yale => "fan", :typy => "fan", :py => "fan"},
|
90
|
+
{ :zyfh => "ㄈㄤ", :wg => "fang", :mps2 => "fang", :yale => "fang", :typy => "fang", :py => "fang"},
|
91
|
+
{ :zyfh => "ㄈㄟ", :wg => "fei", :mps2 => "fei", :yale => "fei", :typy => "fei", :py => "fei"},
|
92
|
+
{ :zyfh => "ㄈㄣ", :wg => "fen", :mps2 => "fen", :yale => "fen", :typy => "fen", :py => "fen"},
|
93
|
+
{ :zyfh => "ㄈㄥ", :wg => "feng", :mps2 => "feng", :yale => "feng", :typy => "fong", :py => "feng"},
|
94
|
+
{ :zyfh => "ㄈㄛ", :wg => "fo", :mps2 => "fo", :yale => "fwo", :typy => "fo", :py => "fo"},
|
95
|
+
{ :zyfh => "ㄈㄡ", :wg => "fou", :mps2 => "fou", :yale => "fou", :typy => "fou", :py => "fou"},
|
96
|
+
{ :zyfh => "ㄈㄨ", :wg => "fu", :mps2 => "fu", :yale => "fu", :typy => "fu", :py => "fu"},
|
97
|
+
{ :zyfh => "ㄍㄚ", :wg => "ka", :mps2 => "ga", :yale => "ga", :typy => "ga", :py => "ga"},
|
98
|
+
{ :zyfh => "ㄍㄞ", :wg => "kai", :mps2 => "gai", :yale => "gai", :typy => "gai", :py => "gai"},
|
99
|
+
{ :zyfh => "ㄍㄢ", :wg => "kan", :mps2 => "gan", :yale => "gan", :typy => "gan", :py => "gan"},
|
100
|
+
{ :zyfh => "ㄍㄤ", :wg => "kang", :mps2 => "gang", :yale => "gang", :typy => "gang", :py => "gang"},
|
101
|
+
{ :zyfh => "ㄍㄠ", :wg => "kao", :mps2 => "gau", :yale => "gau", :typy => "gao", :py => "gao"},
|
102
|
+
{ :zyfh => "ㄍㄜ", :wg => "ko", :mps2 => "ge", :yale => "ge", :typy => "ge", :py => "ge"},
|
103
|
+
{ :zyfh => "ㄍㄟ", :wg => "kei", :mps2 => "gei", :yale => "gei", :typy => "gei", :py => "gei"},
|
104
|
+
{ :zyfh => "ㄍㄣ", :wg => "ken", :mps2 => "gen", :yale => "gen", :typy => "gen", :py => "gen"},
|
105
|
+
{ :zyfh => "ㄍㄥ", :wg => "keng", :mps2 => "geng", :yale => "geng", :typy => "geng", :py => "geng"},
|
106
|
+
{ :zyfh => "ㄍㄨㄥ", :wg => "kung", :mps2 => "gung", :yale => "gung", :typy => "gong", :py => "gong"},
|
107
|
+
{ :zyfh => "ㄍㄡ", :wg => "kou", :mps2 => "gou", :yale => "gou", :typy => "gou", :py => "gou"},
|
108
|
+
{ :zyfh => "ㄍㄨ", :wg => "ku", :mps2 => "gu", :yale => "gu", :typy => "gu", :py => "gu"},
|
109
|
+
{ :zyfh => "ㄍㄨㄚ", :wg => "kua", :mps2 => "gua", :yale => "gwa", :typy => "gua", :py => "gua"},
|
110
|
+
{ :zyfh => "ㄍㄨㄞ", :wg => "kuai", :mps2 => "guai", :yale => "gwai", :typy => "guai", :py => "guai"},
|
111
|
+
{ :zyfh => "ㄍㄨㄢ", :wg => "kuan", :mps2 => "guan", :yale => "gwan", :typy => "guan", :py => "guan"},
|
112
|
+
{ :zyfh => "ㄍㄨㄤ", :wg => "kuang", :mps2 => "guang", :yale => "gwang", :typy => "guang", :py => "guang"},
|
113
|
+
{ :zyfh => "ㄍㄨㄟ", :wg => "kuei", :mps2 => "guei", :yale => "gwei", :typy => "guei", :py => "gui"},
|
114
|
+
{ :zyfh => "ㄍㄨㄣ", :wg => "kun", :mps2 => "guen", :yale => "gwun", :typy => "gun", :py => "gun"},
|
115
|
+
{ :zyfh => "ㄍㄨㄛ", :wg => "kuo", :mps2 => "guo", :yale => "gwo", :typy => "guo", :py => "guo"},
|
116
|
+
{ :zyfh => "ㄏㄚ", :wg => "ha", :mps2 => "ha", :yale => "ha", :typy => "ha", :py => "ha"},
|
117
|
+
{ :zyfh => "ㄏㄞ", :wg => "hai", :mps2 => "hai", :yale => "hai", :typy => "hai", :py => "hai"},
|
118
|
+
{ :zyfh => "ㄏㄢ", :wg => "han", :mps2 => "han", :yale => "han", :typy => "han", :py => "han"},
|
119
|
+
{ :zyfh => "ㄏㄤ", :wg => "hang", :mps2 => "hang", :yale => "hang", :typy => "hang", :py => "hang"},
|
120
|
+
{ :zyfh => "ㄏㄠ", :wg => "hao", :mps2 => "hau", :yale => "hau", :typy => "hao", :py => "hao"},
|
121
|
+
{ :zyfh => "ㄏㄜ", :wg => "ho", :mps2 => "he", :yale => "he", :typy => "he", :py => "he"},
|
122
|
+
{ :zyfh => "ㄏㄟ", :wg => "hei", :mps2 => "hei", :yale => "hei", :typy => "hei", :py => "hei"},
|
123
|
+
{ :zyfh => "ㄏㄣ", :wg => "hen", :mps2 => "hen", :yale => "hen", :typy => "hen", :py => "hen"},
|
124
|
+
{ :zyfh => "ㄏㄥ", :wg => "heng", :mps2 => "heng", :yale => "heng", :typy => "heng", :py => "heng"},
|
125
|
+
{ :zyfh => "ㄏㄨㄥ", :wg => "hung", :mps2 => "hung", :yale => "hung", :typy => "hong", :py => "hong"},
|
126
|
+
{ :zyfh => "ㄏㄡ", :wg => "hou", :mps2 => "hou", :yale => "hou", :typy => "hou", :py => "hou"},
|
127
|
+
{ :zyfh => "ㄏㄨ", :wg => "hu", :mps2 => "hu", :yale => "hu", :typy => "hu", :py => "hu"},
|
128
|
+
{ :zyfh => "ㄏㄨㄚ", :wg => "hua", :mps2 => "hua", :yale => "hwa", :typy => "hua", :py => "hua"},
|
129
|
+
{ :zyfh => "ㄏㄨㄞ", :wg => "huai", :mps2 => "huai", :yale => "hwai", :typy => "huai", :py => "huai"},
|
130
|
+
{ :zyfh => "ㄏㄨㄢ", :wg => "huan", :mps2 => "huan", :yale => "hwan", :typy => "huan", :py => "huan"},
|
131
|
+
{ :zyfh => "ㄏㄨㄤ", :wg => "huang", :mps2 => "huang", :yale => "hwang", :typy => "huang", :py => "huang"},
|
132
|
+
{ :zyfh => "ㄏㄨㄟ", :wg => "hui", :mps2 => "huei", :yale => "hwei", :typy => "huei", :py => "hui"},
|
133
|
+
{ :zyfh => "ㄏㄨㄣ", :wg => "hun", :mps2 => "huen", :yale => "hwen", :typy => "hun", :py => "hun"},
|
134
|
+
{ :zyfh => "ㄏㄨㄛ", :wg => "huo", :mps2 => "huo", :yale => "hwo", :typy => "huo", :py => "huo"},
|
135
|
+
{ :zyfh => "ㄐㄧ", :wg => "chi", :mps2 => "ji", :yale => "ji", :typy => "ji", :py => "ji"},
|
136
|
+
{ :zyfh => "ㄐㄧㄚ", :wg => "chia", :mps2 => "jia", :yale => "jya", :typy => "jia", :py => "jia"},
|
137
|
+
{ :zyfh => "ㄐㄧㄢ", :wg => "chien", :mps2 => "jian", :yale => "jyan", :typy => "jian", :py => "jian"},
|
138
|
+
{ :zyfh => "ㄐㄧㄤ", :wg => "chiang", :mps2 => "jiang", :yale => "jyang", :typy => "jiang", :py => "jiang"},
|
139
|
+
{ :zyfh => "ㄐㄧㄠ", :wg => "chiao", :mps2 => "jiau", :yale => "jyau", :typy => "jiao", :py => "jiao"},
|
140
|
+
{ :zyfh => "ㄐㄧㄝ", :wg => "chieh", :mps2 => "jie", :yale => "jye", :typy => "jie", :py => "jie"},
|
141
|
+
{ :zyfh => "ㄐㄧㄣ", :wg => "chin", :mps2 => "jin", :yale => "jin", :typy => "jin", :py => "jin"},
|
142
|
+
{ :zyfh => "ㄐㄧㄥ", :wg => "ching", :mps2 => "jing", :yale => "jing", :typy => "jing", :py => "jing"},
|
143
|
+
{ :zyfh => "ㄐㄩㄥ", :wg => "chiung", :mps2 => "jiung", :yale => "jyung", :typy => "jyong", :py => "jiong"},
|
144
|
+
{ :zyfh => "ㄐㄧㄡ", :wg => "chiu", :mps2 => "jiou", :yale => "jyou", :typy => "jiou", :py => "jiu"},
|
145
|
+
{ :zyfh => "ㄐㄩ", :wg => "chü", :mps2 => "jiu", :yale => "jyu", :typy => "jyu", :py => "ju"},
|
146
|
+
{ :zyfh => "ㄐㄩㄢ", :wg => "chüan", :mps2 => "jiuan", :yale => "jywan", :typy => "jyuan", :py => "juan"},
|
147
|
+
{ :zyfh => "ㄐㄩㄝ", :wg => "chüeh", :mps2 => "jiue", :yale => "jywe", :typy => "jyue", :py => "jue"},
|
148
|
+
{ :zyfh => "ㄐㄩㄣ", :wg => "chün", :mps2 => "jiun", :yale => "jyun", :typy => "jyun", :py => "jun"},
|
149
|
+
{ :zyfh => "ㄎㄚ", :wg => "k`a", :mps2 => "ka", :yale => "ka", :typy => "ka", :py => "ka"},
|
150
|
+
{ :zyfh => "ㄎㄞ", :wg => "k`ai", :mps2 => "kai", :yale => "kai", :typy => "kai", :py => "kai"},
|
151
|
+
{ :zyfh => "ㄎㄢ", :wg => "k`an", :mps2 => "kan", :yale => "kan", :typy => "kan", :py => "kan"},
|
152
|
+
{ :zyfh => "ㄎㄤ", :wg => "k`ang", :mps2 => "kang", :yale => "kang", :typy => "kang", :py => "kang"},
|
153
|
+
{ :zyfh => "ㄎㄠ", :wg => "k`ao", :mps2 => "kau", :yale => "kau", :typy => "kao", :py => "kao"},
|
154
|
+
{ :zyfh => "ㄎㄜ", :wg => "k`o", :mps2 => "ke", :yale => "ke", :typy => "ke", :py => "ke"},
|
155
|
+
{ :zyfh => "ㄎㄣ", :wg => "k`en", :mps2 => "ken", :yale => "ken", :typy => "ken", :py => "ken"},
|
156
|
+
{ :zyfh => "ㄎㄥ", :wg => "k`eng", :mps2 => "keng", :yale => "keng", :typy => "keng", :py => "keng"},
|
157
|
+
{ :zyfh => "ㄎㄨㄥ", :wg => "k`ung", :mps2 => "kung", :yale => "kung", :typy => "kong", :py => "kong"},
|
158
|
+
{ :zyfh => "ㄎㄡ", :wg => "k`ou", :mps2 => "kou", :yale => "kou", :typy => "kou", :py => "kou"},
|
159
|
+
{ :zyfh => "ㄎㄨ", :wg => "k`u", :mps2 => "ku", :yale => "ku", :typy => "ku", :py => "ku"},
|
160
|
+
{ :zyfh => "ㄎㄨㄚ", :wg => "k`ua", :mps2 => "kua", :yale => "kwa", :typy => "kua", :py => "kua"},
|
161
|
+
{ :zyfh => "ㄎㄨㄞ", :wg => "k`uai", :mps2 => "kuai", :yale => "kwai", :typy => "kuai", :py => "kuai"},
|
162
|
+
{ :zyfh => "ㄎㄨㄢ", :wg => "k`uan", :mps2 => "kuan", :yale => "kwan", :typy => "kuan", :py => "kuan"},
|
163
|
+
{ :zyfh => "ㄎㄨㄤ", :wg => "k`uang", :mps2 => "kuang", :yale => "kwang", :typy => "kuang", :py => "kuang"},
|
164
|
+
{ :zyfh => "ㄎㄨㄟ", :wg => "k`uei", :mps2 => "kuei", :yale => "kwei", :typy => "kuei", :py => "kui"},
|
165
|
+
{ :zyfh => "ㄎㄨㄣ", :wg => "k`un", :mps2 => "kuen", :yale => "kwen", :typy => "kun", :py => "kun"},
|
166
|
+
{ :zyfh => "ㄎㄨㄛ", :wg => "k`uo", :mps2 => "kuo", :yale => "kwo", :typy => "kuo", :py => "kuo"},
|
167
|
+
{ :zyfh => "ㄌㄚ", :wg => "la", :mps2 => "la", :yale => "la", :typy => "la", :py => "la"},
|
168
|
+
{ :zyfh => "ㄌㄞ", :wg => "lai", :mps2 => "lai", :yale => "lai", :typy => "lai", :py => "lai"},
|
169
|
+
{ :zyfh => "ㄌㄢ", :wg => "lan", :mps2 => "lan", :yale => "lan", :typy => "lan", :py => "lan"},
|
170
|
+
{ :zyfh => "ㄌㄤ", :wg => "lang", :mps2 => "lang", :yale => "lang", :typy => "lang", :py => "lang"},
|
171
|
+
{ :zyfh => "ㄌㄠ", :wg => "lao", :mps2 => "lau", :yale => "lau", :typy => "lao", :py => "lao"},
|
172
|
+
{ :zyfh => "ㄌㄜ", :wg => "le", :mps2 => "le", :yale => "le", :typy => "le", :py => "le"},
|
173
|
+
{ :zyfh => "ㄌㄟ", :wg => "lei", :mps2 => "lei", :yale => "lei", :typy => "lei", :py => "lei"},
|
174
|
+
{ :zyfh => "ㄌㄥ", :wg => "leng", :mps2 => "leng", :yale => "leng", :typy => "leng", :py => "leng"},
|
175
|
+
{ :zyfh => "ㄌㄧ", :wg => "li", :mps2 => "li", :yale => "li", :typy => "li", :py => "li"},
|
176
|
+
{ :zyfh => "ㄌㄧㄚ", :wg => "lia", :mps2 => "lia", :yale => "lya", :typy => "lia", :py => "lia"},
|
177
|
+
{ :zyfh => "ㄌㄧㄢ", :wg => "lien", :mps2 => "lian", :yale => "lyan", :typy => "lian", :py => "lian"},
|
178
|
+
{ :zyfh => "ㄌㄧㄤ", :wg => "liang", :mps2 => "liang", :yale => "lyang", :typy => "liang", :py => "liang"},
|
179
|
+
{ :zyfh => "ㄌㄧㄠ", :wg => "liao", :mps2 => "liau", :yale => "lyau", :typy => "liao", :py => "liao"},
|
180
|
+
{ :zyfh => "ㄌㄧㄝ", :wg => "lieh", :mps2 => "lie", :yale => "lye", :typy => "lie", :py => "lie"},
|
181
|
+
{ :zyfh => "ㄌㄧㄣ", :wg => "lin", :mps2 => "lin", :yale => "lin", :typy => "lin", :py => "lin"},
|
182
|
+
{ :zyfh => "ㄌㄧㄥ", :wg => "ling", :mps2 => "ling", :yale => "ling", :typy => "ling", :py => "ling"},
|
183
|
+
{ :zyfh => "ㄌㄧㄡ", :wg => "liu", :mps2 => "liou", :yale => "lyou", :typy => "liou", :py => "liu"},
|
184
|
+
{ :zyfh => "ㄌㄛ", :wg => "lo", :mps2 => "lo", :yale => "lo", :typy => "lo", :py => "lo"},
|
185
|
+
{ :zyfh => "ㄌㄨㄥ", :wg => "lung", :mps2 => "lung", :yale => "lung", :typy => "long", :py => "long"},
|
186
|
+
{ :zyfh => "ㄌㄡ", :wg => "lou", :mps2 => "lou", :yale => "lou", :typy => "lou", :py => "lou"},
|
187
|
+
{ :zyfh => "ㄌㄨ", :wg => "lu", :mps2 => "lu", :yale => "lu", :typy => "lu", :py => "lu"},
|
188
|
+
{ :zyfh => "ㄌㄨㄢ", :wg => "luan", :mps2 => "luan", :yale => "lwan", :typy => "luan", :py => "luan"},
|
189
|
+
{ :zyfh => "ㄌㄨㄣ", :wg => "lun", :mps2 => "luen", :yale => "lwun", :typy => "lun", :py => "lun"},
|
190
|
+
{ :zyfh => "ㄌㄨㄛ", :wg => "lo", :mps2 => "luo", :yale => "lwo", :typy => "luo", :py => "luo"},
|
191
|
+
{ :zyfh => "ㄌㄩ", :wg => "lü", :mps2 => "liu", :yale => "lyu", :typy => "lyu", :py => "lü"},
|
192
|
+
{ :zyfh => "ㄌㄩㄝ", :wg => "lüeh", :mps2 => "liue", :yale => "lywe", :typy => "lyue", :py => "lüe"},
|
193
|
+
{ :zyfh => "ㄌㄩㄣ", :wg => "lün", :mps2 => "liun", :yale => "lyun", :typy => "lyun", :py => "lün"},
|
194
|
+
{ :zyfh => "ㄌㄩ", :wg => "lü", :mps2 => "liu", :yale => "lyu", :typy => "lyu", :py => "lv"},
|
195
|
+
{ :zyfh => "ㄌㄩㄝ", :wg => "lüeh", :mps2 => "liue", :yale => "lywe", :typy => "lyue", :py => "lve"},
|
196
|
+
{ :zyfh => "ㄌㄩㄣ", :wg => "lün", :mps2 => "liun", :yale => "lyun", :typy => "lyun", :py => "lvn"},
|
197
|
+
{ :zyfh => "ㄇㄚ", :wg => "ma", :mps2 => "ma", :yale => "ma", :typy => "ma", :py => "ma"},
|
198
|
+
{ :zyfh => "ㄇㄞ", :wg => "mai", :mps2 => "mai", :yale => "mai", :typy => "mai", :py => "mai"},
|
199
|
+
{ :zyfh => "ㄇㄢ", :wg => "man", :mps2 => "man", :yale => "man", :typy => "man", :py => "man"},
|
200
|
+
{ :zyfh => "ㄇㄤ", :wg => "mang", :mps2 => "mang", :yale => "mang", :typy => "mang", :py => "mang"},
|
201
|
+
{ :zyfh => "ㄇㄠ", :wg => "mao", :mps2 => "mau", :yale => "mau", :typy => "mao", :py => "mao"},
|
202
|
+
{ :zyfh => "ㄇㄜ", :wg => "me", :mps2 => "me", :yale => "me", :typy => "me", :py => "me"},
|
203
|
+
{ :zyfh => "ㄇㄟ", :wg => "mei", :mps2 => "mei", :yale => "mei", :typy => "mei", :py => "mei"},
|
204
|
+
{ :zyfh => "ㄇㄣ", :wg => "men", :mps2 => "men", :yale => "men", :typy => "men", :py => "men"},
|
205
|
+
{ :zyfh => "ㄇㄥ", :wg => "meng", :mps2 => "meng", :yale => "meng", :typy => "meng", :py => "meng"},
|
206
|
+
{ :zyfh => "ㄇㄧ", :wg => "mi", :mps2 => "mi", :yale => "mi", :typy => "mi", :py => "mi"},
|
207
|
+
{ :zyfh => "ㄇㄧㄢ", :wg => "mien", :mps2 => "mian", :yale => "myan", :typy => "mian", :py => "mian"},
|
208
|
+
{ :zyfh => "ㄇㄧㄠ", :wg => "miao", :mps2 => "miau", :yale => "myau", :typy => "miao", :py => "miao"},
|
209
|
+
{ :zyfh => "ㄇㄧㄝ", :wg => "mieh", :mps2 => "mie", :yale => "mye", :typy => "mie", :py => "mie"},
|
210
|
+
{ :zyfh => "ㄇㄧㄣ", :wg => "min", :mps2 => "min", :yale => "min", :typy => "min", :py => "min"},
|
211
|
+
{ :zyfh => "ㄇㄧㄥ", :wg => "ming", :mps2 => "ming", :yale => "ming", :typy => "ming", :py => "ming"},
|
212
|
+
{ :zyfh => "ㄇㄧㄡ", :wg => "miu", :mps2 => "miou", :yale => "myou", :typy => "miou", :py => "miu"},
|
213
|
+
{ :zyfh => "ㄇㄛ", :wg => "mo", :mps2 => "mo", :yale => "mwo", :typy => "mo", :py => "mo"},
|
214
|
+
{ :zyfh => "ㄇㄡ", :wg => "mou", :mps2 => "mou", :yale => "mou", :typy => "mou", :py => "mou"},
|
215
|
+
{ :zyfh => "ㄇㄨ", :wg => "mu", :mps2 => "mu", :yale => "mu", :typy => "mu", :py => "mu"},
|
216
|
+
{ :zyfh => "ㄋㄚ", :wg => "na", :mps2 => "na", :yale => "na", :typy => "na", :py => "na"},
|
217
|
+
{ :zyfh => "ㄋㄞ", :wg => "nai", :mps2 => "nai", :yale => "nai", :typy => "nai", :py => "nai"},
|
218
|
+
{ :zyfh => "ㄋㄢ", :wg => "nan", :mps2 => "nan", :yale => "nan", :typy => "nan", :py => "nan"},
|
219
|
+
{ :zyfh => "ㄋㄤ", :wg => "nang", :mps2 => "nang", :yale => "nang", :typy => "nang", :py => "nang"},
|
220
|
+
{ :zyfh => "ㄋㄠ", :wg => "nao", :mps2 => "nau", :yale => "nau", :typy => "nao", :py => "nao"},
|
221
|
+
{ :zyfh => "ㄋㄜ", :wg => "ne", :mps2 => "ne", :yale => "ne", :typy => "ne", :py => "ne"},
|
222
|
+
{ :zyfh => "ㄋㄟ", :wg => "nei", :mps2 => "nei", :yale => "nei", :typy => "nei", :py => "nei"},
|
223
|
+
{ :zyfh => "ㄋㄣ", :wg => "nen", :mps2 => "nen", :yale => "nen", :typy => "nen", :py => "nen"},
|
224
|
+
{ :zyfh => "ㄋㄥ", :wg => "neng", :mps2 => "neng", :yale => "neng", :typy => "neng", :py => "neng"},
|
225
|
+
{ :zyfh => "ㄋㄧ", :wg => "ni", :mps2 => "ni", :yale => "ni", :typy => "ni", :py => "ni"},
|
226
|
+
{ :zyfh => "ㄋㄧㄚ", :wg => "nia", :mps2 => "nia", :yale => "nya", :typy => "nia", :py => "nia"},
|
227
|
+
{ :zyfh => "ㄋㄧㄢ", :wg => "nien", :mps2 => "nian", :yale => "nyan", :typy => "nian", :py => "nian"},
|
228
|
+
{ :zyfh => "ㄋㄧㄤ", :wg => "niang", :mps2 => "niang", :yale => "nyang", :typy => "niang", :py => "niang"},
|
229
|
+
{ :zyfh => "ㄋㄧㄠ", :wg => "niao", :mps2 => "niau", :yale => "nyau", :typy => "niao", :py => "niao"},
|
230
|
+
{ :zyfh => "ㄋㄧㄝ", :wg => "nieh", :mps2 => "nie", :yale => "nye", :typy => "nie", :py => "nie"},
|
231
|
+
{ :zyfh => "ㄋㄧㄣ", :wg => "nin", :mps2 => "nin", :yale => "nin", :typy => "nin", :py => "nin"},
|
232
|
+
{ :zyfh => "ㄋㄧㄥ", :wg => "ning", :mps2 => "ning", :yale => "ning", :typy => "ning", :py => "ning"},
|
233
|
+
{ :zyfh => "ㄋㄧㄡ", :wg => "niu", :mps2 => "niou", :yale => "nyou", :typy => "niou", :py => "niu"},
|
234
|
+
{ :zyfh => "ㄋㄨㄥ", :wg => "nung", :mps2 => "nung", :yale => "nung", :typy => "nong", :py => "nong"},
|
235
|
+
{ :zyfh => "ㄋㄡ", :wg => "nou", :mps2 => "nou", :yale => "nou", :typy => "nou", :py => "nou"},
|
236
|
+
{ :zyfh => "ㄋㄨ", :wg => "nu", :mps2 => "nu", :yale => "nu", :typy => "nu", :py => "nu"},
|
237
|
+
{ :zyfh => "ㄋㄨㄢ", :wg => "nuan", :mps2 => "nuan", :yale => "nwan", :typy => "nuan", :py => "nuan"},
|
238
|
+
{ :zyfh => "ㄋㄨㄣ", :wg => "nun", :mps2 => "nuen", :yale => "nwen", :typy => "nun", :py => "nun"},
|
239
|
+
{ :zyfh => "ㄋㄨㄛ", :wg => "no", :mps2 => "nuo", :yale => "nwo", :typy => "nuo", :py => "nuo"},
|
240
|
+
{ :zyfh => "ㄋㄩ", :wg => "nü", :mps2 => "niu", :yale => "nyu", :typy => "nyu", :py => "nv"},
|
241
|
+
{ :zyfh => "ㄋㄩ", :wg => "nü", :mps2 => "niu", :yale => "nyu", :typy => "nyu", :py => "nü"},
|
242
|
+
{ :zyfh => "ㄋㄩㄝ", :wg => "nüeh", :mps2 => "niue", :yale => "nywe", :typy => "nyue", :py => "nüe"},
|
243
|
+
{ :zyfh => "ㄋㄩㄝ", :wg => "nüeh", :mps2 => "niue", :yale => "nywe", :typy => "nyue", :py => "nve"},
|
244
|
+
{ :zyfh => "ㄡ", :wg => "ou", :mps2 => "ou", :yale => "ou", :typy => "ou", :py => "ou"},
|
245
|
+
{ :zyfh => "ㄆㄚ", :wg => "p`a", :mps2 => "pa", :yale => "pa", :typy => "pa", :py => "pa"},
|
246
|
+
{ :zyfh => "ㄆㄞ", :wg => "p`ai", :mps2 => "pai", :yale => "pai", :typy => "pai", :py => "pai"},
|
247
|
+
{ :zyfh => "ㄆㄢ", :wg => "p`an", :mps2 => "pan", :yale => "pan", :typy => "pan", :py => "pan"},
|
248
|
+
{ :zyfh => "ㄆㄤ", :wg => "p`ang", :mps2 => "pang", :yale => "pang", :typy => "pang", :py => "pang"},
|
249
|
+
{ :zyfh => "ㄆㄠ", :wg => "p`ao", :mps2 => "pau", :yale => "pau", :typy => "pao", :py => "pao"},
|
250
|
+
{ :zyfh => "ㄆㄟ", :wg => "p`ei", :mps2 => "pei", :yale => "pei", :typy => "pei", :py => "pei"},
|
251
|
+
{ :zyfh => "ㄆㄣ", :wg => "p`en", :mps2 => "pen", :yale => "pen", :typy => "pen", :py => "pen"},
|
252
|
+
{ :zyfh => "ㄆㄥ", :wg => "p`eng", :mps2 => "peng", :yale => "peng", :typy => "peng", :py => "peng"},
|
253
|
+
{ :zyfh => "ㄆㄧ", :wg => "p`i", :mps2 => "pi", :yale => "pi", :typy => "pi", :py => "pi"},
|
254
|
+
{ :zyfh => "ㄆㄧㄢ", :wg => "p`ien", :mps2 => "pian", :yale => "pyan", :typy => "pian", :py => "pian"},
|
255
|
+
{ :zyfh => "ㄆㄧㄠ", :wg => "p`iao", :mps2 => "piau", :yale => "pyau", :typy => "piao", :py => "piao"},
|
256
|
+
{ :zyfh => "ㄆㄧㄝ", :wg => "p`ieh", :mps2 => "pie", :yale => "pye", :typy => "pie", :py => "pie"},
|
257
|
+
{ :zyfh => "ㄆㄧㄣ", :wg => "p`in", :mps2 => "pin", :yale => "pin", :typy => "pin", :py => "pin"},
|
258
|
+
{ :zyfh => "ㄆㄧㄥ", :wg => "p`ing", :mps2 => "ping", :yale => "ping", :typy => "ping", :py => "ping"},
|
259
|
+
{ :zyfh => "ㄆㄛ", :wg => "p`o", :mps2 => "po", :yale => "pwo", :typy => "po", :py => "po"},
|
260
|
+
{ :zyfh => "ㄆㄡ", :wg => "p`ou", :mps2 => "pou", :yale => "pou", :typy => "pou", :py => "pou"},
|
261
|
+
{ :zyfh => "ㄆㄨ", :wg => "p`u", :mps2 => "pu", :yale => "pu", :typy => "pu", :py => "pu"},
|
262
|
+
{ :zyfh => "ㄑㄧ", :wg => "ch`i", :mps2 => "chi", :yale => "chi", :typy => "ci", :py => "qi"},
|
263
|
+
{ :zyfh => "ㄑㄧㄚ", :wg => "ch`ia", :mps2 => "chia", :yale => "chya", :typy => "cia", :py => "qia"},
|
264
|
+
{ :zyfh => "ㄑㄧㄢ", :wg => "ch`ien", :mps2 => "chian", :yale => "chyan", :typy => "cian", :py => "qian"},
|
265
|
+
{ :zyfh => "ㄑㄧㄤ", :wg => "ch`iang", :mps2 => "chiang", :yale => "chyang", :typy => "ciang", :py => "qiang"},
|
266
|
+
{ :zyfh => "ㄑㄧㄠ", :wg => "ch`iao", :mps2 => "chiau", :yale => "chyau", :typy => "ciao", :py => "qiao"},
|
267
|
+
{ :zyfh => "ㄑㄧㄝ", :wg => "ch`ieh", :mps2 => "chie", :yale => "chye", :typy => "cie", :py => "qie"},
|
268
|
+
{ :zyfh => "ㄑㄧㄣ", :wg => "ch`in", :mps2 => "chin", :yale => "chin", :typy => "cin", :py => "qin"},
|
269
|
+
{ :zyfh => "ㄑㄧㄥ", :wg => "ch`ing", :mps2 => "ching", :yale => "ching", :typy => "cing", :py => "qing"},
|
270
|
+
{ :zyfh => "ㄑㄩㄥ", :wg => "ch`iung", :mps2 => "chiung", :yale => "chyung", :typy => "cyong", :py => "qiong"},
|
271
|
+
{ :zyfh => "ㄑㄧㄡ", :wg => "ch`iu", :mps2 => "chiou", :yale => "chyou", :typy => "ciou", :py => "qiu"},
|
272
|
+
{ :zyfh => "ㄑㄩ", :wg => "ch`ü", :mps2 => "chiu", :yale => "chyu", :typy => "cyu", :py => "qu"},
|
273
|
+
{ :zyfh => "ㄑㄩㄢ", :wg => "ch`üan", :mps2 => "chiuan", :yale => "chywan", :typy => "cyuan", :py => "quan"},
|
274
|
+
{ :zyfh => "ㄑㄩㄝ", :wg => "ch`üeh", :mps2 => "chiue", :yale => "chywe", :typy => "cyue", :py => "que"},
|
275
|
+
{ :zyfh => "ㄑㄩㄣ", :wg => "ch`ün", :mps2 => "chiun", :yale => "chyun", :typy => "cyun", :py => "qun"},
|
276
|
+
{ :zyfh => "ㄖㄢ", :wg => "jan", :mps2 => "ran", :yale => "ran", :typy => "ran", :py => "ran"},
|
277
|
+
{ :zyfh => "ㄖㄤ", :wg => "jang", :mps2 => "rang", :yale => "rang", :typy => "rang", :py => "rang"},
|
278
|
+
{ :zyfh => "ㄖㄠ", :wg => "jao", :mps2 => "rau", :yale => "rau", :typy => "rao", :py => "rao"},
|
279
|
+
{ :zyfh => "ㄖㄜ", :wg => "je", :mps2 => "re", :yale => "re", :typy => "re", :py => "re"},
|
280
|
+
{ :zyfh => "ㄖㄣ", :wg => "jen", :mps2 => "ren", :yale => "ren", :typy => "ren", :py => "ren"},
|
281
|
+
{ :zyfh => "ㄖㄥ", :wg => "jeng", :mps2 => "reng", :yale => "reng", :typy => "reng", :py => "reng"},
|
282
|
+
{ :zyfh => "ㄖ", :wg => "jih", :mps2 => "r", :yale => "r", :typy => "rih", :py => "ri"},
|
283
|
+
{ :zyfh => "ㄖㄨㄥ", :wg => "jung", :mps2 => "rung", :yale => "rung", :typy => "rong", :py => "rong"},
|
284
|
+
{ :zyfh => "ㄖㄡ", :wg => "jou", :mps2 => "rou", :yale => "rou", :typy => "rou", :py => "rou"},
|
285
|
+
{ :zyfh => "ㄖㄨ", :wg => "ju", :mps2 => "ru", :yale => "ru", :typy => "ru", :py => "ru"},
|
286
|
+
{ :zyfh => "ㄖㄨㄢ", :wg => "juan", :mps2 => "ruan", :yale => "rwan", :typy => "ruan", :py => "ruan"},
|
287
|
+
{ :zyfh => "ㄖㄨㄟ", :wg => "jui", :mps2 => "ruei", :yale => "rwei", :typy => "ruei", :py => "rui"},
|
288
|
+
{ :zyfh => "ㄖㄨㄣ", :wg => "jun", :mps2 => "ruen", :yale => "rwun", :typy => "run", :py => "run"},
|
289
|
+
{ :zyfh => "ㄖㄨㄛ", :wg => "jo", :mps2 => "ruo", :yale => "rwo", :typy => "ruo", :py => "ruo"},
|
290
|
+
{ :zyfh => "ㄙㄚ", :wg => "sa", :mps2 => "sa", :yale => "sa", :typy => "sa", :py => "sa"},
|
291
|
+
{ :zyfh => "ㄙㄞ", :wg => "sai", :mps2 => "sai", :yale => "sai", :typy => "sai", :py => "sai"},
|
292
|
+
{ :zyfh => "ㄙㄢ", :wg => "san", :mps2 => "san", :yale => "san", :typy => "san", :py => "san"},
|
293
|
+
{ :zyfh => "ㄙㄤ", :wg => "sang", :mps2 => "sang", :yale => "sang", :typy => "sang", :py => "sang"},
|
294
|
+
{ :zyfh => "ㄙㄠ", :wg => "sao", :mps2 => "sau", :yale => "sau", :typy => "sao", :py => "sao"},
|
295
|
+
{ :zyfh => "ㄙㄜ", :wg => "se", :mps2 => "se", :yale => "se", :typy => "se", :py => "se"},
|
296
|
+
{ :zyfh => "ㄙㄟ", :wg => "sei", :mps2 => "sei", :yale => "sei", :typy => "sei", :py => "sei"},
|
297
|
+
{ :zyfh => "ㄙㄣ", :wg => "sen", :mps2 => "sen", :yale => "sen", :typy => "sen", :py => "sen"},
|
298
|
+
{ :zyfh => "ㄙㄥ", :wg => "seng", :mps2 => "seng", :yale => "seng", :typy => "seng", :py => "seng"},
|
299
|
+
{ :zyfh => "ㄕㄚ", :wg => "sha", :mps2 => "sha", :yale => "sha", :typy => "sha", :py => "sha"},
|
300
|
+
{ :zyfh => "ㄕㄞ", :wg => "shai", :mps2 => "shai", :yale => "shai", :typy => "shai", :py => "shai"},
|
301
|
+
{ :zyfh => "ㄕㄢ", :wg => "shan", :mps2 => "shan", :yale => "shan", :typy => "shan", :py => "shan"},
|
302
|
+
{ :zyfh => "ㄕㄤ", :wg => "shang", :mps2 => "shang", :yale => "shang", :typy => "shang", :py => "shang"},
|
303
|
+
{ :zyfh => "ㄕㄠ", :wg => "shao", :mps2 => "shau", :yale => "shau", :typy => "shao", :py => "shao"},
|
304
|
+
{ :zyfh => "ㄕㄜ", :wg => "she", :mps2 => "she", :yale => "she", :typy => "she", :py => "she"},
|
305
|
+
{ :zyfh => "ㄕㄟ", :wg => "shei", :mps2 => "shei", :yale => "shei", :typy => "shei", :py => "shei"},
|
306
|
+
{ :zyfh => "ㄕㄣ", :wg => "shen", :mps2 => "shen", :yale => "shen", :typy => "shen", :py => "shen"},
|
307
|
+
{ :zyfh => "ㄕㄥ", :wg => "sheng", :mps2 => "sheng", :yale => "sheng", :typy => "sheng", :py => "sheng"},
|
308
|
+
{ :zyfh => "ㄕ", :wg => "shih", :mps2 => "shr", :yale => "shr", :typy => "shih", :py => "shi"},
|
309
|
+
{ :zyfh => "ㄕㄨㄥ", :wg => "shung", :mps2 => "shung", :yale => "shung", :typy => "shong", :py => "shong"},
|
310
|
+
{ :zyfh => "ㄕㄡ", :wg => "shou", :mps2 => "shou", :yale => "shou", :typy => "shou", :py => "shou"},
|
311
|
+
{ :zyfh => "ㄕㄨ", :wg => "shu", :mps2 => "shu", :yale => "shu", :typy => "shu", :py => "shu"},
|
312
|
+
{ :zyfh => "ㄕㄨㄚ", :wg => "shua", :mps2 => "shua", :yale => "shwa", :typy => "shua", :py => "shua"},
|
313
|
+
{ :zyfh => "ㄕㄨㄞ", :wg => "shuai", :mps2 => "shuai", :yale => "shwai", :typy => "shuai", :py => "shuai"},
|
314
|
+
{ :zyfh => "ㄕㄨㄢ", :wg => "shuan", :mps2 => "shuan", :yale => "shwan", :typy => "shuan", :py => "shuan"},
|
315
|
+
{ :zyfh => "ㄕㄨㄤ", :wg => "shuang", :mps2 => "shuang", :yale => "shwang", :typy => "shuang", :py => "shuang"},
|
316
|
+
{ :zyfh => "ㄕㄨㄟ", :wg => "shui", :mps2 => "shuei", :yale => "shwei", :typy => "shuei", :py => "shui"},
|
317
|
+
{ :zyfh => "ㄕㄨㄣ", :wg => "shun", :mps2 => "shuen", :yale => "shwun", :typy => "shun", :py => "shun"},
|
318
|
+
{ :zyfh => "ㄕㄨㄛ", :wg => "shuo", :mps2 => "shuo", :yale => "shwo", :typy => "shuo", :py => "shuo"},
|
319
|
+
{ :zyfh => "ㄙ", :wg => "ssu", :mps2 => "sz", :yale => "sz", :typy => "sih", :py => "si"},
|
320
|
+
{ :zyfh => "ㄙㄨㄥ", :wg => "sung", :mps2 => "sung", :yale => "sung", :typy => "song", :py => "song"},
|
321
|
+
{ :zyfh => "ㄙㄡ", :wg => "sou", :mps2 => "sou", :yale => "sou", :typy => "sou", :py => "sou"},
|
322
|
+
{ :zyfh => "ㄙㄨ", :wg => "su", :mps2 => "su", :yale => "su", :typy => "su", :py => "su"},
|
323
|
+
{ :zyfh => "ㄙㄨㄢ", :wg => "suan", :mps2 => "suan", :yale => "swan", :typy => "suan", :py => "suan"},
|
324
|
+
{ :zyfh => "ㄙㄨㄟ", :wg => "sui", :mps2 => "suei", :yale => "swei", :typy => "suei", :py => "sui"},
|
325
|
+
{ :zyfh => "ㄙㄨㄣ", :wg => "sun", :mps2 => "suen", :yale => "swen", :typy => "sun", :py => "sun"},
|
326
|
+
{ :zyfh => "ㄙㄨㄛ", :wg => "so", :mps2 => "suo", :yale => "swo", :typy => "suo", :py => "suo"},
|
327
|
+
{ :zyfh => "ㄊㄚ", :wg => "t`a", :mps2 => "ta", :yale => "ta", :typy => "ta", :py => "ta"},
|
328
|
+
{ :zyfh => "ㄊㄞ", :wg => "t`ai", :mps2 => "tai", :yale => "tai", :typy => "tai", :py => "tai"},
|
329
|
+
{ :zyfh => "ㄊㄢ", :wg => "t`an", :mps2 => "tan", :yale => "tan", :typy => "tan", :py => "tan"},
|
330
|
+
{ :zyfh => "ㄊㄤ", :wg => "t`ang", :mps2 => "tang", :yale => "tang", :typy => "tang", :py => "tang"},
|
331
|
+
{ :zyfh => "ㄊㄠ", :wg => "t`ao", :mps2 => "tau", :yale => "tau", :typy => "tao", :py => "tao"},
|
332
|
+
{ :zyfh => "ㄊㄜ", :wg => "t`e", :mps2 => "te", :yale => "te", :typy => "te", :py => "te"},
|
333
|
+
{ :zyfh => "ㄊㄥ", :wg => "t`eng", :mps2 => "teng", :yale => "teng", :typy => "teng", :py => "teng"},
|
334
|
+
{ :zyfh => "ㄊㄧ", :wg => "t`i", :mps2 => "ti", :yale => "ti", :typy => "ti", :py => "ti"},
|
335
|
+
{ :zyfh => "ㄊㄧㄢ", :wg => "t`ien", :mps2 => "tian", :yale => "tyan", :typy => "tian", :py => "tian"},
|
336
|
+
{ :zyfh => "ㄊㄧㄠ", :wg => "t`iao", :mps2 => "tiau", :yale => "tyau", :typy => "tiao", :py => "tiao"},
|
337
|
+
{ :zyfh => "ㄊㄧㄝ", :wg => "t`ieh", :mps2 => "tie", :yale => "tye", :typy => "tie", :py => "tie"},
|
338
|
+
{ :zyfh => "ㄊㄧㄥ", :wg => "t`ing", :mps2 => "ting", :yale => "ting", :typy => "ting", :py => "ting"},
|
339
|
+
{ :zyfh => "ㄊㄨㄥ", :wg => "t`ung", :mps2 => "tung", :yale => "tung", :typy => "tong", :py => "tong"},
|
340
|
+
{ :zyfh => "ㄊㄡ", :wg => "t`ou", :mps2 => "tou", :yale => "tou", :typy => "tou", :py => "tou"},
|
341
|
+
{ :zyfh => "ㄊㄨ", :wg => "t`u", :mps2 => "tu", :yale => "tu", :typy => "tu", :py => "tu"},
|
342
|
+
{ :zyfh => "ㄊㄨㄢ", :wg => "t`uan", :mps2 => "tuan", :yale => "twan", :typy => "tuan", :py => "tuan"},
|
343
|
+
{ :zyfh => "ㄊㄨㄟ", :wg => "t`ui", :mps2 => "tuei", :yale => "twei", :typy => "tuei", :py => "tui"},
|
344
|
+
{ :zyfh => "ㄊㄨㄣ", :wg => "t`un", :mps2 => "tuen", :yale => "twen", :typy => "tun", :py => "tun"},
|
345
|
+
{ :zyfh => "ㄊㄨㄛ", :wg => "t`o", :mps2 => "tuo", :yale => "two", :typy => "tuo", :py => "tuo"},
|
346
|
+
{ :zyfh => "ㄨㄚ", :wg => "wa", :mps2 => "wa", :yale => "wa", :typy => "wa", :py => "wa"},
|
347
|
+
{ :zyfh => "ㄨㄞ", :wg => "wai", :mps2 => "wai", :yale => "wai", :typy => "wai", :py => "wai"},
|
348
|
+
{ :zyfh => "ㄨㄢ", :wg => "wan", :mps2 => "wan", :yale => "wan", :typy => "wan", :py => "wan"},
|
349
|
+
{ :zyfh => "ㄨㄤ", :wg => "wang", :mps2 => "wang", :yale => "wang", :typy => "wang", :py => "wang"},
|
350
|
+
{ :zyfh => "ㄨㄟ", :wg => "wei", :mps2 => "wei", :yale => "wei", :typy => "wei", :py => "wei"},
|
351
|
+
{ :zyfh => "ㄨㄣ", :wg => "wen", :mps2 => "wen", :yale => "wen", :typy => "wun", :py => "wen"},
|
352
|
+
{ :zyfh => "ㄨㄥ", :wg => "weng", :mps2 => "weng", :yale => "weng", :typy => "wong", :py => "weng"},
|
353
|
+
{ :zyfh => "ㄨㄛ", :wg => "wo", :mps2 => "wo", :yale => "wo", :typy => "wo", :py => "wo"},
|
354
|
+
{ :zyfh => "ㄨ", :wg => "wu", :mps2 => "wu", :yale => "wu", :typy => "wu", :py => "wu"},
|
355
|
+
{ :zyfh => "ㄒㄧ", :wg => "hsi", :mps2 => "shi", :yale => "syi", :typy => "si", :py => "xi"},
|
356
|
+
{ :zyfh => "ㄒㄧㄚ", :wg => "hsia", :mps2 => "shia", :yale => "sya", :typy => "sia", :py => "xia"},
|
357
|
+
{ :zyfh => "ㄒㄧㄢ", :wg => "hsien", :mps2 => "shian", :yale => "syan", :typy => "sian", :py => "xian"},
|
358
|
+
{ :zyfh => "ㄒㄧㄤ", :wg => "hsiang", :mps2 => "shiang", :yale => "syang", :typy => "siang", :py => "xiang"},
|
359
|
+
{ :zyfh => "ㄒㄧㄠ", :wg => "hsiao", :mps2 => "shiau", :yale => "syau", :typy => "siao", :py => "xiao"},
|
360
|
+
{ :zyfh => "ㄒㄧㄝ", :wg => "hsieh", :mps2 => "shie", :yale => "sye", :typy => "sie", :py => "xie"},
|
361
|
+
{ :zyfh => "ㄒㄧㄣ", :wg => "hsin", :mps2 => "shin", :yale => "syin", :typy => "sin", :py => "xin"},
|
362
|
+
{ :zyfh => "ㄒㄧㄥ", :wg => "hsing", :mps2 => "shing", :yale => "sying", :typy => "sing", :py => "xing"},
|
363
|
+
{ :zyfh => "ㄒㄩㄥ", :wg => "hsiung", :mps2 => "shiung", :yale => "syung", :typy => "syong", :py => "xiong"},
|
364
|
+
{ :zyfh => "ㄒㄧㄡ", :wg => "hsiu", :mps2 => "shiou", :yale => "syou", :typy => "siou", :py => "xiu"},
|
365
|
+
{ :zyfh => "ㄒㄩ", :wg => "hsü", :mps2 => "shiu", :yale => "syu", :typy => "syu", :py => "xu"},
|
366
|
+
{ :zyfh => "ㄒㄩㄢ", :wg => "hsüan", :mps2 => "shiuan", :yale => "sywan", :typy => "syuan", :py => "xuan"},
|
367
|
+
{ :zyfh => "ㄒㄩㄝ", :wg => "hsüeh", :mps2 => "shiue", :yale => "sywe", :typy => "syue", :py => "xue"},
|
368
|
+
{ :zyfh => "ㄒㄩㄣ", :wg => "hsün", :mps2 => "shiun", :yale => "syun", :typy => "syun", :py => "xun"},
|
369
|
+
{ :zyfh => "ㄧㄚ", :wg => "ya", :mps2 => "ya", :yale => "ya", :typy => "ya", :py => "ya"},
|
370
|
+
{ :zyfh => "ㄧㄢ", :wg => "yan", :mps2 => "yan", :yale => "yan", :typy => "yan", :py => "yan"},
|
371
|
+
{ :zyfh => "ㄧㄤ", :wg => "yang", :mps2 => "yang", :yale => "yang", :typy => "yang", :py => "yang"},
|
372
|
+
{ :zyfh => "ㄧㄠ", :wg => "yao", :mps2 => "yau", :yale => "yau", :typy => "yao", :py => "yao"},
|
373
|
+
{ :zyfh => "ㄧㄝ", :wg => "yeh", :mps2 => "ye", :yale => "ye", :typy => "ye", :py => "ye"},
|
374
|
+
{ :zyfh => "ㄧ", :wg => "i", :mps2 => "yi", :yale => "yi", :typy => "yi", :py => "yi"},
|
375
|
+
{ :zyfh => "ㄧㄣ", :wg => "yin", :mps2 => "yin", :yale => "yin", :typy => "yin", :py => "yin"},
|
376
|
+
{ :zyfh => "ㄧㄥ", :wg => "ying", :mps2 => "ying", :yale => "ying", :typy => "ying", :py => "ying"},
|
377
|
+
{ :zyfh => "ㄩㄥ", :wg => "yung", :mps2 => "yung", :yale => "yung", :typy => "yong", :py => "yong"},
|
378
|
+
{ :zyfh => "ㄧㄡ", :wg => "yu", :mps2 => "you", :yale => "you", :typy => "you", :py => "you"},
|
379
|
+
{ :zyfh => "ㄩ", :wg => "yü", :mps2 => "yu", :yale => "yu", :typy => "yu", :py => "yu"},
|
380
|
+
{ :zyfh => "ㄩㄢ", :wg => "yüan", :mps2 => "yuan", :yale => "ywan", :typy => "yuan", :py => "yuan"},
|
381
|
+
{ :zyfh => "ㄩㄝ", :wg => "yüeh", :mps2 => "yue", :yale => "ywe", :typy => "yue", :py => "yue"},
|
382
|
+
{ :zyfh => "ㄩㄣ", :wg => "yün", :mps2 => "yun", :yale => "yun", :typy => "yun", :py => "yun"},
|
383
|
+
{ :zyfh => "ㄗㄚ", :wg => "tsa", :mps2 => "tza", :yale => "dza", :typy => "za", :py => "za"},
|
384
|
+
{ :zyfh => "ㄗㄞ", :wg => "tsai", :mps2 => "tzai", :yale => "dzai", :typy => "zai", :py => "zai"},
|
385
|
+
{ :zyfh => "ㄗㄢ", :wg => "tsan", :mps2 => "tzan", :yale => "dzan", :typy => "zan", :py => "zan"},
|
386
|
+
{ :zyfh => "ㄗㄤ", :wg => "tsang", :mps2 => "tzang", :yale => "dzang", :typy => "zang", :py => "zang"},
|
387
|
+
{ :zyfh => "ㄗㄠ", :wg => "tsao", :mps2 => "tzau", :yale => "dzau", :typy => "zao", :py => "zao"},
|
388
|
+
{ :zyfh => "ㄗㄜ", :wg => "tse", :mps2 => "tze", :yale => "dze", :typy => "ze", :py => "ze"},
|
389
|
+
{ :zyfh => "ㄗㄟ", :wg => "tsei", :mps2 => "tzei", :yale => "dzei", :typy => "zei", :py => "zei"},
|
390
|
+
{ :zyfh => "ㄗㄣ", :wg => "tsen", :mps2 => "tzen", :yale => "dzen", :typy => "zen", :py => "zen"},
|
391
|
+
{ :zyfh => "ㄗㄥ", :wg => "tseng", :mps2 => "tzeng", :yale => "dzeng", :typy => "zeng", :py => "zeng"},
|
392
|
+
{ :zyfh => "ㄓㄚ", :wg => "cha", :mps2 => "ja", :yale => "ja", :typy => "jha", :py => "zha"},
|
393
|
+
{ :zyfh => "ㄓㄞ", :wg => "chai", :mps2 => "jai", :yale => "jai", :typy => "jhai", :py => "zhai"},
|
394
|
+
{ :zyfh => "ㄓㄢ", :wg => "chan", :mps2 => "jan", :yale => "jan", :typy => "jhan", :py => "zhan"},
|
395
|
+
{ :zyfh => "ㄓㄤ", :wg => "chang", :mps2 => "jang", :yale => "jang", :typy => "jhang", :py => "zhang"},
|
396
|
+
{ :zyfh => "ㄓㄠ", :wg => "chao", :mps2 => "jau", :yale => "jau", :typy => "jhao", :py => "zhao"},
|
397
|
+
{ :zyfh => "ㄓㄜ", :wg => "che", :mps2 => "je", :yale => "je", :typy => "jhe", :py => "zhe"},
|
398
|
+
{ :zyfh => "ㄓㄟ", :wg => "chei", :mps2 => "jei", :yale => "jei", :typy => "jhei", :py => "zhei"},
|
399
|
+
{ :zyfh => "ㄓㄣ", :wg => "chen", :mps2 => "jen", :yale => "jen", :typy => "jhen", :py => "zhen"},
|
400
|
+
{ :zyfh => "ㄓㄥ", :wg => "cheng", :mps2 => "jeng", :yale => "jeng", :typy => "jheng", :py => "zheng"},
|
401
|
+
{ :zyfh => "ㄓ", :wg => "chih", :mps2 => "jr", :yale => "jr", :typy => "jhih", :py => "zhi"},
|
402
|
+
{ :zyfh => "ㄓㄨㄥ", :wg => "chung", :mps2 => "jung", :yale => "jung", :typy => "jhong", :py => "zhong"},
|
403
|
+
{ :zyfh => "ㄓㄡ", :wg => "chou", :mps2 => "jou", :yale => "jou", :typy => "jhou", :py => "zhou"},
|
404
|
+
{ :zyfh => "ㄓㄨ", :wg => "chu", :mps2 => "ju", :yale => "ju", :typy => "jhu", :py => "zhu"},
|
405
|
+
{ :zyfh => "ㄓㄨㄚ", :wg => "chua", :mps2 => "jua", :yale => "jwa", :typy => "jhua", :py => "zhua"},
|
406
|
+
{ :zyfh => "ㄓㄨㄞ", :wg => "chuai", :mps2 => "juai", :yale => "jwai", :typy => "jhuai", :py => "zhuai"},
|
407
|
+
{ :zyfh => "ㄓㄨㄢ", :wg => "chuan", :mps2 => "juan", :yale => "jwan", :typy => "jhuan", :py => "zhuan"},
|
408
|
+
{ :zyfh => "ㄓㄨㄤ", :wg => "chuang", :mps2 => "juang", :yale => "jwang", :typy => "jhuang", :py => "zhuang"},
|
409
|
+
{ :zyfh => "ㄓㄨㄟ", :wg => "chui", :mps2 => "juei", :yale => "jwei", :typy => "jhuei", :py => "zhui"},
|
410
|
+
{ :zyfh => "ㄓㄨㄣ", :wg => "chun", :mps2 => "juen", :yale => "jwen", :typy => "jhun", :py => "zhun"},
|
411
|
+
{ :zyfh => "ㄓㄨㄛ", :wg => "cho", :mps2 => "juo", :yale => "jwo", :typy => "jhuo", :py => "zhuo"},
|
412
|
+
{ :zyfh => "ㄗ", :wg => "tzu", :mps2 => "tz", :yale => "dz", :typy => "zih", :py => "zi"},
|
413
|
+
{ :zyfh => "ㄗㄨㄥ", :wg => "tsung", :mps2 => "tzung", :yale => "dzung", :typy => "zong", :py => "zong"},
|
414
|
+
{ :zyfh => "ㄗㄡ", :wg => "tsou", :mps2 => "tzou", :yale => "dzou", :typy => "zou", :py => "zou"},
|
415
|
+
{ :zyfh => "ㄗㄨ", :wg => "tsu", :mps2 => "tzu", :yale => "dzu", :typy => "zu", :py => "zu"},
|
416
|
+
{ :zyfh => "ㄗㄨㄢ", :wg => "tsuan", :mps2 => "tzuan", :yale => "dzwan", :typy => "zuan", :py => "zuan"},
|
417
|
+
{ :zyfh => "ㄗㄨㄟ", :wg => "tsui", :mps2 => "tzuei", :yale => "dzwei", :typy => "zuei", :py => "zui"},
|
418
|
+
{ :zyfh => "ㄗㄨㄣ", :wg => "tsun", :mps2 => "tzuen", :yale => "dzwen", :typy => "zun", :py => "zun"},
|
419
|
+
{ :zyfh => "ㄗㄨㄛ", :wg => "tso", :mps2 => "tzuo", :yale => "dzwo", :typy => "zuo", :py => "zuo"},
|
420
|
+
{ :zyfh => "ㄦ", :wg => 'rh', :mps2 => "r", :yale => "r", :typy => "r", :py => "r"}
|
421
|
+
]
|
422
|
+
end
|
423
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module ZhongwenTools
|
2
|
+
module Romanization
|
3
|
+
|
4
|
+
pyn_regexes = {
|
5
|
+
:bpm_regex => /(miu|[pm]ou|[bpm](o|e(i|ng?)?|a(ng?|i|o)?|i(e|ng?|a[no])?|u))/,
|
6
|
+
:f_regex => /(f(ou?|[ae](ng?|i)?|u))/,
|
7
|
+
:dt_regex => /(d(e(i|ng?)|i(a[on]?|u))|[dt](a(i|ng?|o)?|e(i|ng)?|i(a[on]?|e|ng|u)?|o(ng?|u)|u(o|i|an?|n)?))/,
|
8
|
+
:nl_regex => /(neng?|[ln](a(i|ng?|o)?|e(i|ng)?|i(ang|a[on]?|e|ng?|u)?|o(ng?|u)|u(o|i|an?|n)?|ve?))/,
|
9
|
+
:gkh_regex => /([ghk](a(i|ng?|o)?|e(i|ng?)?|o(u|ng)|u(a(i|ng?)?|i|n|o)?))/,
|
10
|
+
:zczhch_regex => /(z[h]?ei|[cz]hua(i|ng?)?|[cz][h]?(a(i|ng?|o)?|en?g?|o(u|ng)?|u(a?n|o|i)?))/,
|
11
|
+
:ssh_regex => /(song|shua(i|ng?)?|shei|s[h]?(a(i|ng?|o)?|en?g?|ou|u(a?n|o|i)?))/,
|
12
|
+
:r_regex => /(r([ae]ng?|i|e|ao|ou|ong|u[oin]|ua?n?))/,
|
13
|
+
:jqx_regex => /([jqx](i(a(o|ng?)?|[eu]|ong|ng?)?|u(e|a?n)?))/,
|
14
|
+
:aw_regex => /(wu|w?(a(i|o|ng?)?|ou?|e(i|ng?)?))/,
|
15
|
+
:y_regex => /y(a(o|ng?)?|e|in?g?|o(u|ng)?|u(e|a?n)?)/
|
16
|
+
}
|
17
|
+
|
18
|
+
PINYIN_REGEX = /(#{pyn_regexes.values.join('|')})([1-5])?([\s\-]+)?/
|
19
|
+
#bpm_regex}|#{f_regex}|#{dt_regex}|#{nl_regex}|#{gkh_regex}|#{zczhch_regex}|#{ssh_regex}|#{r_regex}|#{jqx_regex}|#{aw_regex}|#{y_regex})([1-5])?([\s\-]+)?/
|
20
|
+
|
21
|
+
# Public: checks if a string is pinyin.
|
22
|
+
#
|
23
|
+
# Examples
|
24
|
+
# pyn?('pin1-yin1')
|
25
|
+
# # => true
|
26
|
+
#
|
27
|
+
# Returns Boolean.
|
28
|
+
def pyn?(str = nil)
|
29
|
+
str ||= self
|
30
|
+
|
31
|
+
str.gsub(PINYIN_REGEX,'') == ''
|
32
|
+
end
|
33
|
+
|
34
|
+
# Public: checks if a string is wade-giles.
|
35
|
+
#
|
36
|
+
# Examples
|
37
|
+
# wg?('pin1-yin1')
|
38
|
+
# # => false
|
39
|
+
# There are some situations where wg == pyn, but there's no way to differentiate the two.
|
40
|
+
def wg?(str = nil)
|
41
|
+
#it shouldn't be pyn, but it should be able to conver to pyn
|
42
|
+
str ||= self
|
43
|
+
#easy ones.. is it py? pyn? zyfh? gyrm?
|
44
|
+
#harder ones: is it typy, msp2, yale, wg
|
45
|
+
wg = str._convert_romanization(str, :wg, :pyn)
|
46
|
+
|
47
|
+
wg != pyn && wg.gsub(/[1-5]/,'')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,165 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
#This table works for pyn -> pinyin conversion, but it introduces
|
3
|
+
#mistakes when converting pinyin to pyn. In practice, pinyin can't be
|
4
|
+
#converted to pyn properly unless it's properly formatted.
|
5
|
+
module ZhongwenTools
|
6
|
+
module Romanization
|
7
|
+
PYN_PY = {
|
8
|
+
"A1" => "Ā",
|
9
|
+
"A2" => "Á",
|
10
|
+
"A3" => "Ǎ",
|
11
|
+
"A4" => "À",
|
12
|
+
"A5" => "A",
|
13
|
+
"Ai1" => "Āi",
|
14
|
+
"Ai2" => "Ái",
|
15
|
+
"Ai3" => "Ǎi",
|
16
|
+
"Ai4" => "Ài",
|
17
|
+
"Ai5" => "Ai",
|
18
|
+
"Ao1" => "Ā",
|
19
|
+
"Ao2" => "Áo",
|
20
|
+
"Ao3" => "Ǎo",
|
21
|
+
"Ao4" => "Ào",
|
22
|
+
"Ao5" => "Ao",
|
23
|
+
"a1" => "ā",
|
24
|
+
"a2" => "á",
|
25
|
+
"a3" => "ǎ",
|
26
|
+
"a4" => "à",
|
27
|
+
"a5" => "a",
|
28
|
+
"e1" => "ē",
|
29
|
+
"e2" => "é",
|
30
|
+
"e3" => "ě",
|
31
|
+
"e4" => "è",
|
32
|
+
"e5" => "e",
|
33
|
+
"i1" => "ī",
|
34
|
+
"i2" => "í",
|
35
|
+
"i3" => "ǐ",
|
36
|
+
"i4" => "ì",
|
37
|
+
"i5" => "i",
|
38
|
+
"O1" => "Ō",
|
39
|
+
"O2" => "Ó",
|
40
|
+
"O3" => "Ǒ",
|
41
|
+
"O4" => "Ò",
|
42
|
+
"O5" => "O",
|
43
|
+
"o1" => "ō",
|
44
|
+
"o2" => "ó",
|
45
|
+
"o3" => "ǒ",
|
46
|
+
"o4" => "ò",
|
47
|
+
"o5" => "o",
|
48
|
+
"u1" => "ū",
|
49
|
+
"u2" => "ú",
|
50
|
+
"u3" => "ǔ",
|
51
|
+
"u4" => "ù",
|
52
|
+
"u5" => "u",
|
53
|
+
"ai1" => "āi",
|
54
|
+
"ai2" => "ái",
|
55
|
+
"ai3" => "ǎi",
|
56
|
+
"ai4" => "ài",
|
57
|
+
"ai5" => "ai",
|
58
|
+
"ao1" => "āo",
|
59
|
+
"ao2" => "áo",
|
60
|
+
"ao3" => "ǎo",
|
61
|
+
"ao4" => "ào",
|
62
|
+
"ao5" => "ao",
|
63
|
+
"E1" => "Ē",
|
64
|
+
"E2" => "É",
|
65
|
+
"E3" => "Ě",
|
66
|
+
"E4" => "È",
|
67
|
+
"E5" => "E",
|
68
|
+
"Ei1" => "Ēi",
|
69
|
+
"Ei2" => "Éi",
|
70
|
+
"Ei3" => "Ěi",
|
71
|
+
"Ei4" => "Èi",
|
72
|
+
"Ei5" => "Ei",
|
73
|
+
"ei1" => "ēi",
|
74
|
+
"ei2" => "éi",
|
75
|
+
"ei3" => "ěi",
|
76
|
+
"ei4" => "èi",
|
77
|
+
"ei5" => "ei",
|
78
|
+
"ia1" => "iā",
|
79
|
+
"ia2" => "iá",
|
80
|
+
"ia3" => "iǎ",
|
81
|
+
"ia4" => "ià",
|
82
|
+
"ia5" => "ia",
|
83
|
+
"iao1" => "iāo",
|
84
|
+
"iao2" => "iáo",
|
85
|
+
"iao3" => "iǎo",
|
86
|
+
"iao4" => "iào",
|
87
|
+
"iao5" => "iao",
|
88
|
+
"ie1" => "iē",
|
89
|
+
"ie2" => "ié",
|
90
|
+
"ie3" => "iě",
|
91
|
+
"ie4" => "iè",
|
92
|
+
"ie5" => "ie",
|
93
|
+
"io1" => "iō",
|
94
|
+
"io2" => "ió",
|
95
|
+
"io3" => "iǒ",
|
96
|
+
"io4" => "iò",
|
97
|
+
"io5" => "io",
|
98
|
+
"iu1" => "iū",
|
99
|
+
"iu2" => "iú",
|
100
|
+
"iu3" => "iǔ",
|
101
|
+
"iu4" => "iù",
|
102
|
+
"iu5" => "iu",
|
103
|
+
"Ou1" => "Ōu",
|
104
|
+
"Ou2" => "Óu",
|
105
|
+
"Ou3" => "Ǒu",
|
106
|
+
"Ou4" => "Òu",
|
107
|
+
"Ou5" => "Ou",
|
108
|
+
"ou1" => "ōu",
|
109
|
+
"ou2" => "óu",
|
110
|
+
"ou3" => "ǒu",
|
111
|
+
"ou4" => "òu",
|
112
|
+
"ou5" => "ou",
|
113
|
+
"ua1" => "uā",
|
114
|
+
"ua2" => "uá",
|
115
|
+
"ua3" => "uǎ",
|
116
|
+
"ua4" => "uà",
|
117
|
+
"ua5" => "ua",
|
118
|
+
"uai1" => "uāi",
|
119
|
+
"uai2" => "uái",
|
120
|
+
"uai3" => "uǎi",
|
121
|
+
"uai4" => "uài",
|
122
|
+
"uai5" => "uai",
|
123
|
+
"ue1" => "uē",
|
124
|
+
"ue2" => "ué",
|
125
|
+
"ue3" => "uě",
|
126
|
+
"ue4" => "uè",
|
127
|
+
"ue5" => "ue",
|
128
|
+
"ui1" => "uī",
|
129
|
+
"ui2" => "uí",
|
130
|
+
"ui3" => "uǐ",
|
131
|
+
"ui4" => "uì",
|
132
|
+
"ui5" => "ui",
|
133
|
+
"uo1" => "uō",
|
134
|
+
"uo2" => "uó",
|
135
|
+
"uo3" => "uǒ",
|
136
|
+
"uo4" => "uò",
|
137
|
+
"uo5" => "uo",
|
138
|
+
"v1" => "ǖ",
|
139
|
+
"v2" => "ǘ",
|
140
|
+
"v3" => "ǚ",
|
141
|
+
"v4" => "ǜ",
|
142
|
+
"v5" => "ü",
|
143
|
+
"ve1" => "üē",
|
144
|
+
"ve2" => "üé",
|
145
|
+
"ve3" => "üě",
|
146
|
+
"ve4" => "üè",
|
147
|
+
"ve5" => "üe",
|
148
|
+
'm1' => 'm̄',#using combining diacritical marks
|
149
|
+
'm2' => "ḿ",
|
150
|
+
'm3' => 'm̌',#using combining diacritical marks
|
151
|
+
'm4' => "m̀",
|
152
|
+
'm5' => 'm',
|
153
|
+
'n1' => 'ēn',
|
154
|
+
'n2' => "én",
|
155
|
+
'n3' => "ěn",
|
156
|
+
'n4' => "èn",
|
157
|
+
'n5' => 'en',
|
158
|
+
'ng1' => 'ēng',
|
159
|
+
'ng2' => "éng",
|
160
|
+
'ng3' => "ěng",
|
161
|
+
'ng4' => "èng",
|
162
|
+
'ng5' => 'eng'
|
163
|
+
}
|
164
|
+
end
|
165
|
+
end
|
data/test/test_helper.rb
CHANGED
data/test/test_romanization.rb
CHANGED
@@ -0,0 +1,75 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
$:.unshift File.join(File.dirname(__FILE__),'..','lib')
|
3
|
+
require './test/test_helper'
|
4
|
+
require 'zhongwen_tools/string'
|
5
|
+
require 'zhongwen_tools/romanization'
|
6
|
+
|
7
|
+
class String
|
8
|
+
include ZhongwenTools::Romanization
|
9
|
+
end
|
10
|
+
|
11
|
+
class TestRomanization < Test::Unit::TestCase
|
12
|
+
|
13
|
+
def test_pinyin
|
14
|
+
assert_equal 'Zhōng wén','Zhong1 wen2'.to_pinyin
|
15
|
+
assert_equal 'Zhōngwén', 'Zhong1-wen2'.to_pinyin
|
16
|
+
#binding.pry
|
17
|
+
assert_equal "Tiān'ānmén",'Tian1an1men2'.to_pinyin
|
18
|
+
|
19
|
+
#skip
|
20
|
+
#mzd = "Mao Tse-tung"
|
21
|
+
#assert_equal "Mao Zedong", mzd.to_pinyin(:wg)
|
22
|
+
end
|
23
|
+
|
24
|
+
#def test_pyn
|
25
|
+
#skip
|
26
|
+
#assert_equal 'ni3 hao3', @py.to_pyn
|
27
|
+
#end
|
28
|
+
|
29
|
+
def test_zhuyin_fuhao
|
30
|
+
assert_equal 'ㄋㄧ3 ㄏㄠ3', @str.to_bpmf
|
31
|
+
assert_equal 'ㄋㄧ3 ㄏㄠ3', @str.to_bopomofo
|
32
|
+
assert_equal 'ㄋㄧ3 ㄏㄠ3', @str.to_zhuyin
|
33
|
+
assert_equal 'ㄇㄠ2 ㄗㄜ2 ㄉㄨㄥ1', @mzd.to_zhuyin_fuhao
|
34
|
+
#skip
|
35
|
+
#assert_equal 'ㄇㄠ2 ㄗㄜ2ㄉㄨㄥ1', @mzd2.to_zhuyin_fuhao
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_wade_giles
|
39
|
+
assert_equal 'kuo1', 'guo1'.to_wg
|
40
|
+
assert_equal 'chung1 kuo2', 'zhong1 guo2'.to_wg
|
41
|
+
#assert_equal 'Mao2 Tse2 tung1', @mzd.to_wg
|
42
|
+
#assert_equal 'Mao2 Tse2 tung1', @mzd.to_wade_giles
|
43
|
+
end
|
44
|
+
|
45
|
+
#def test_mspy2
|
46
|
+
#skip
|
47
|
+
#assert_equal '', @str.to_mspy2
|
48
|
+
#end
|
49
|
+
|
50
|
+
#def test_typy
|
51
|
+
#skip
|
52
|
+
#assert_equal '', @str.to_typy
|
53
|
+
#assert_equal '', @str.to_tongyong
|
54
|
+
#end
|
55
|
+
|
56
|
+
def test_yale
|
57
|
+
assert_equal 'ni3 hau3', @str.to_yale
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_romanization?
|
61
|
+
skip
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_detect
|
65
|
+
assert @str.pyn?
|
66
|
+
refute @py.pyn?
|
67
|
+
end
|
68
|
+
|
69
|
+
def setup
|
70
|
+
@str = 'ni3 hao3'
|
71
|
+
@mzd = 'Mao2 Ze2 dong1'
|
72
|
+
@mzd2 = 'Mao2 Ze2-dong1'
|
73
|
+
@py = 'nǐ hǎo'
|
74
|
+
end
|
75
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zhongwen_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Daniels
|
@@ -82,6 +82,10 @@ files:
|
|
82
82
|
- lib/zhongwen_tools.rb
|
83
83
|
- lib/zhongwen_tools/integer.rb
|
84
84
|
- lib/zhongwen_tools/numbers.rb
|
85
|
+
- lib/zhongwen_tools/romanization.rb
|
86
|
+
- lib/zhongwen_tools/romanization/conversion_table.rb
|
87
|
+
- lib/zhongwen_tools/romanization/detect.rb
|
88
|
+
- lib/zhongwen_tools/romanization/pyn_to_py.rb
|
85
89
|
- lib/zhongwen_tools/string.rb
|
86
90
|
- lib/zhongwen_tools/string/fullwidth.rb
|
87
91
|
- lib/zhongwen_tools/string/ruby18.rb
|