Module: ZhongwenTools::Romanization

Extended by:
Romanization
Included in:
Romanization
Defined in:
lib/zhongwen_tools/romanization.rb,
lib/zhongwen_tools/romanization/detect.rb,
lib/zhongwen_tools/romanization/string.rb,
lib/zhongwen_tools/romanization/pyn_to_py.rb,
lib/zhongwen_tools/romanization/conversion_table.rb

Constant Summary collapse

PY_REGEX =

Deprecated: a Regex for accurate pinyin. Use ZhongwenTools::Regex.py instead

ZhongwenTools::Regex.py
PINYIN_REGEX =

Deprecate: a Regex for accurate pinyin with numbers. use ZhongwenTools::Regex.pyn instead.

ZhongwenTools::Regex.pyn
PYN_PY =
{
  "A1" => "Ā",
  "A2" => "Á",
  "A3" => "Ǎ",
  "A4" => "À",
  "A5" => "A",
  "Ai1" => "Āi",
  "Ai2" => "Ái",
  "Ai3" => "Ǎi",
  "Ai4" => "Ài",
  "Ai5" => "Ai",
  "Ao1" => "Ā",
  "Ao2" => "Áo",
  "Ao3" => "Ǎo",
  "Ao4" => "Ào",
  "Ao5" => "Ao",
  "a1" => "ā",
  "a2" => "á",
  "a3" => "ǎ",
  "a4" => "à",
  "a5" => "a",
  "e1" => "ē",
  "e2" => "é",
  "e3" => "ě",
  "e4" => "è",
  "e5" => "e",
  "i1" => "ī",
  "i2" => "í",
  "i3" => "ǐ",
  "i4" => "ì",
  "i5" => "i",
  "O1" => "Ō",
  "O2" => "Ó",
  "O3" => "Ǒ",
  "O4" => "Ò",
  "O5" => "O",
  "o1" => "ō",
  "o2" => "ó",
  "o3" => "ǒ",
  "o4" => "ò",
  "o5" => "o",
  "u1" => "ū",
  "u2" => "ú",
  "u3" => "ǔ",
  "u4" => "ù",
  "u5" => "u",
  "ai1" => "āi",
  "ai2" => "ái",
  "ai3" => "ǎi",
  "ai4" => "ài",
  "ai5" => "ai",
  "ao1" => "āo",
  "ao2" => "áo",
  "ao3" => "ǎo",
  "ao4" => "ào",
  "ao5" => "ao",
  "E1" => "Ē",
  "E2" => "É",
  "E3" => "Ě",
  "E4" => "È",
  "E5" => "E",
  "Ei1" => "Ēi",
  "Ei2" => "Éi",
  "Ei3" => "Ěi",
  "Ei4" => "Èi",
  "Ei5" => "Ei",
  "ei1" => "ēi",
  "ei2" => "éi",
  "ei3" => "ěi",
  "ei4" => "èi",
  "ei5" => "ei",
  "ia1" => "iā",
  "ia2" => "iá",
  "ia3" => "iǎ",
  "ia4" => "ià",
  "ia5" => "ia",
  "iao1" => "iāo",
  "iao2" => "iáo",
  "iao3" => "iǎo",
  "iao4" => "iào",
  "iao5" => "iao",
  "ie1" => "iē",
  "ie2" => "ié",
  "ie3" => "iě",
  "ie4" => "iè",
  "ie5" => "ie",
  "io1" => "iō",
  "io2" => "ió",
  "io3" => "iǒ",
  "io4" => "iò",
  "io5" => "io",
  "iu1" => "iū",
  "iu2" => "iú",
  "iu3" => "iǔ",
  "iu4" => "iù",
  "iu5" => "iu",
  "Ou1" => "Ōu",
  "Ou2" => "Óu",
  "Ou3" => "Ǒu",
  "Ou4" => "Òu",
  "Ou5" => "Ou",
  "ou1" => "ōu",
  "ou2" => "óu",
  "ou3" => "ǒu",
  "ou4" => "òu",
  "ou5" => "ou",
  "ua1" => "uā",
  "ua2" => "uá",
  "ua3" => "uǎ",
  "ua4" => "uà",
  "ua5" => "ua",
  "uai1" => "uāi",
  "uai2" => "uái",
  "uai3" => "uǎi",
  "uai4" => "uài",
  "uai5" => "uai",
  "ue1" => "uē",
  "ue2" => "ué",
  "ue3" => "uě",
  "ue4" => "uè",
  "ue5" => "ue",
  "ui1" => "uī",
  "ui2" => "uí",
  "ui3" => "uǐ",
  "ui4" => "uì",
  "ui5" => "ui",
  "uo1" => "uō",
  "uo2" => "uó",
  "uo3" => "uǒ",
  "uo4" => "uò",
  "uo5" => "uo",
  "v1" => "ǖ",
  "v2" => "ǘ",
  "v3" => "ǚ",
  "v4" => "ǜ",
  "v5" => "ü",
  "ve1" => "üē",
  "ve2" => "üé",
  "ve3" => "üě",
  "ve4" => "üè",
  "ve5" => "üe",
  'm1' => 'm̄',#using combining diacritical marks
  'm2' => "ḿ",
  'm3' => 'm̌',#using combining diacritical marks
  'm4' => "m̀",#using combining diacritical marks
  'm5' => 'm',
  'n1' => 'ēn',
  'n2' => "én",
  'n3' => "ěn",
  'n4' => "èn",
  'n5' => 'en',
  'ng1' => 'ēng',
  'ng2' => "éng",
  'ng3' => "ěng",
  'ng4' => "èng",
  'ng5' => 'eng',
  'r5' => 'r'
}
ROMANIZATIONS_TABLE =

TODO: remove excess values, i.e. keys whose value == :pyn

[{:zyfh =>  " ㄚ", :wg =>  "a", :mps2 =>  "a", :yale =>  "a", :typy =>  "a", :pyn =>  "a"},
{ :zyfh =>  "ㄞ", :wg =>  "ai", :mps2 =>  "ai", :yale =>  "ai", :typy =>  "ai", :pyn =>  "ai"},
{ :zyfh =>  "ㄢ", :wg =>  "an", :mps2 =>  "an", :yale =>  "an", :typy =>  "an", :pyn =>  "an"},
{ :zyfh =>  "ㄤ", :wg =>  "ang", :mps2 =>  "ang", :yale =>  "ang", :typy =>  "ang", :pyn =>  "ang"},
{ :zyfh =>  "ㄠ", :wg =>  "ao", :mps2 =>  "au", :yale =>  "au", :typy =>  "ao", :pyn =>  "ao"},
{ :zyfh =>  "ㄅㄚ", :wg =>  "pa", :mps2 =>  "ba", :yale =>  "ba", :typy =>  "ba", :pyn =>  "ba"},
{ :zyfh =>  "ㄅㄞ", :wg =>  "pai", :mps2 =>  "bai", :yale =>  "bai", :typy =>  "bai", :pyn =>  "bai"},
{ :zyfh =>  "ㄅㄢ", :wg =>  "pan", :mps2 =>  "ban", :yale =>  "ban", :typy =>  "ban", :pyn =>  "ban"},
{ :zyfh =>  "ㄅㄤ", :wg =>  "pang", :mps2 =>  "bang", :yale =>  "bang", :typy =>  "bang", :pyn =>  "bang"},
{ :zyfh =>  "ㄅㄠ", :wg =>  "pao", :mps2 =>  "bau", :yale =>  "bau", :typy =>  "bao", :pyn =>  "bao"},
{ :zyfh =>  "ㄅㄟ", :wg =>  "pei", :mps2 =>  "bei", :yale =>  "bei", :typy =>  "bei", :pyn =>  "bei"},
{ :zyfh =>  "ㄅㄣ", :wg =>  "pen", :mps2 =>  "ben", :yale =>  "ben", :typy =>  "ben", :pyn =>  "ben"},
{ :zyfh =>  "ㄅㄥ", :wg =>  "peng", :mps2 =>  "beng", :yale =>  "beng", :typy =>  "beng", :pyn =>  "beng"},
{ :zyfh =>  "ㄅㄧ", :wg =>  "pi", :mps2 =>  "bi", :yale =>  "bi", :typy =>  "bi", :pyn =>  "bi"},
{ :zyfh =>  "ㄅㄧㄢ", :wg =>  "pien", :mps2 =>  "bian", :yale =>  "byan", :typy =>  "bian", :pyn =>  "bian"},
{ :zyfh =>  "ㄅㄧㄠ", :wg =>  "piao", :mps2 =>  "biau", :yale =>  "byau", :typy =>  "biao", :pyn =>  "biao"},
{ :zyfh =>  "ㄅㄧㄝ", :wg =>  "pieh", :mps2 =>  "bie", :yale =>  "bye", :typy =>  "bie", :pyn =>  "bie"},
{ :zyfh =>  "ㄅㄧㄣ", :wg =>  "pin", :mps2 =>  "bin", :yale =>  "bin", :typy =>  "bin", :pyn =>  "bin"},
{ :zyfh =>  "ㄅㄧㄥ", :wg =>  "ping", :mps2 =>  "bing", :yale =>  "bing", :typy =>  "bing", :pyn =>  "bing"},
{ :zyfh =>  "ㄅㄛ", :wg =>  "po", :mps2 =>  "bo", :yale =>  "bwo", :typy =>  "bo", :pyn =>  "bo"},
{ :zyfh =>  "ㄅㄨ", :wg =>  "pu", :mps2 =>  "bu", :yale =>  "bu", :typy =>  "bu", :pyn =>  "bu"},
{ :zyfh =>  "ㄘㄚ", :wg =>  "ts`a", :mps2 =>  "tsa", :yale =>  "tsa", :typy =>  "ca", :pyn =>  "ca"},
{ :zyfh =>  "ㄘㄞ", :wg =>  "ts`ai", :mps2 =>  "tsai", :yale =>  "tsai", :typy =>  "cai", :pyn =>  "cai"},
{ :zyfh =>  "ㄘㄢ", :wg =>  "ts`an", :mps2 =>  "tsan", :yale =>  "tsan", :typy =>  "can", :pyn =>  "can"},
{ :zyfh =>  "ㄘㄤ", :wg =>  "ts`ang", :mps2 =>  "tsang", :yale =>  "tsang", :typy =>  "cang", :pyn =>  "cang"},
{ :zyfh =>  "ㄘㄠ", :wg =>  "ts`ao", :mps2 =>  "tsau", :yale =>  "tsau", :typy =>  "cao", :pyn =>  "cao"},
{ :zyfh =>  "ㄘㄜ", :wg =>  "ts`e", :mps2 =>  "tse", :yale =>  "tse", :typy =>  "ce", :pyn =>  "ce"},
{ :zyfh =>  "ㄘㄣ", :wg =>  "ts`en", :mps2 =>  "tsen", :yale =>  "tsen", :typy =>  "cen", :pyn =>  "cen"},
{ :zyfh =>  "ㄘㄥ", :wg =>  "ts`eng", :mps2 =>  "tseng", :yale =>  "tseng", :typy =>  "ceng", :pyn =>  "ceng"},
{ :zyfh =>  "ㄔㄚ", :wg =>  "ch`a", :mps2 =>  "cha", :yale =>  "cha", :typy =>  "cha", :pyn =>  "cha"},
{ :zyfh =>  "ㄔㄞ", :wg =>  "ch`ai", :mps2 =>  "chai", :yale =>  "chai", :typy =>  "chai", :pyn =>  "chai"},
{ :zyfh =>  "ㄔㄢ", :wg =>  "ch`an", :mps2 =>  "chan", :yale =>  "chan", :typy =>  "chan", :pyn =>  "chan"},
{ :zyfh =>  "ㄔㄤ", :wg =>  "ch`ang", :mps2 =>  "chang", :yale =>  "chang", :typy =>  "chang", :pyn =>  "chang"},
{ :zyfh =>  "ㄔㄠ", :wg =>  "ch`ao", :mps2 =>  "chau", :yale =>  "chau", :typy =>  "chao", :pyn =>  "chao"},
{ :zyfh =>  "ㄔㄜ", :wg =>  "ch`e", :mps2 =>  "che", :yale =>  "che", :typy =>  "che", :pyn =>  "che"},
{ :zyfh =>  "ㄔㄣ", :wg =>  "ch`en", :mps2 =>  "chen", :yale =>  "chen", :typy =>  "chen", :pyn =>  "chen"},
{ :zyfh =>  "ㄔㄥ", :wg =>  "ch`eng", :mps2 =>  "cheng", :yale =>  "cheng", :typy =>  "cheng", :pyn =>  "cheng"},
{ :zyfh =>  "ㄔ", :wg =>  "ch`ih", :mps2 =>  "chr", :yale =>  "chr", :typy =>  "chih", :pyn =>  "chi"},
{ :zyfh =>  "ㄔㄨㄥ", :wg =>  "ch`ung", :mps2 =>  "chung", :yale =>  "chung", :typy =>  "chong", :pyn =>  "chong"},
{ :zyfh =>  "ㄔㄡ", :wg =>  "ch`ou", :mps2 =>  "chou", :yale =>  "chou", :typy =>  "chou", :pyn =>  "chou"},
{ :zyfh =>  "ㄔㄨ", :wg =>  "ch`u", :mps2 =>  "chu", :yale =>  "chu", :typy =>  "chu", :pyn =>  "chu"},
{ :zyfh =>  "ㄔㄨㄚ", :wg =>  "ch`ua", :mps2 =>  "chua", :yale =>  "chwa", :typy =>  "chua", :pyn =>  "chua"},
{ :zyfh =>  "ㄔㄨㄞ", :wg =>  "ch`uai", :mps2 =>  "chuai", :yale =>  "chwai", :typy =>  "chuai", :pyn =>  "chuai"},
{ :zyfh =>  "ㄔㄨㄢ", :wg =>  "ch`uan", :mps2 =>  "chuan", :yale =>  "chwan", :typy =>  "chuan", :pyn =>  "chuan"},
{ :zyfh =>  "ㄔㄨㄤ", :wg =>  "ch`uang", :mps2 =>  "chuang", :yale =>  "chwang", :typy =>  "chuang", :pyn =>  "chuang"},
{ :zyfh =>  "ㄔㄨㄟ", :wg =>  "ch`ui", :mps2 =>  "chuei", :yale =>  "chwei", :typy =>  "chuei", :pyn =>  "chui"},
{ :zyfh =>  "ㄔㄨㄣ", :wg =>  "ch`un", :mps2 =>  "chuen", :yale =>  "chwen", :typy =>  "chun", :pyn =>  "chun"},
{ :zyfh =>  "ㄔㄨㄛ", :wg =>  "ch`o", :mps2 =>  "chuo", :yale =>  "chwo", :typy =>  "chuo", :pyn =>  "chuo"},
{ :zyfh =>  "ㄘ", :wg =>  "tz`u", :mps2 =>  "tsz", :yale =>  "tsz", :typy =>  "cih", :pyn =>  "ci"},
{ :zyfh =>  "ㄘㄨㄥ", :wg =>  "ts`ung", :mps2 =>  "tsung", :yale =>  "tsung", :typy =>  "cong", :pyn =>  "cong"},
{ :zyfh =>  "ㄘㄡ", :wg =>  "ts`ou", :mps2 =>  "tsou", :yale =>  "tsou", :typy =>  "cou", :pyn =>  "cou"},
{ :zyfh =>  "ㄘㄨ", :wg =>  "ts`u", :mps2 =>  "tsu", :yale =>  "tsu", :typy =>  "cu", :pyn =>  "cu"},
{ :zyfh =>  "ㄘㄨㄢ", :wg =>  "ts`uan", :mps2 =>  "tsuan", :yale =>  "tswan", :typy =>  "cuan", :pyn =>  "cuan"},
{ :zyfh =>  "ㄘㄨㄟ", :wg =>  "ts`ui", :mps2 =>  "tsuei", :yale =>  "tswei", :typy =>  "cuei", :pyn =>  "cui"},
{ :zyfh =>  "ㄘㄨㄣ", :wg =>  "ts`un", :mps2 =>  "tsuen", :yale =>  "tswen", :typy =>  "cun", :pyn =>  "cun"},
{ :zyfh =>  "ㄘㄨㄛ", :wg =>  "ts`o", :mps2 =>  "tsuo", :yale =>  "tswo", :typy =>  "cuo", :pyn =>  "cuo"},
{ :zyfh =>  "ㄉㄚ", :wg =>  "ta", :mps2 =>  "da", :yale =>  "da", :typy =>  "da", :pyn =>  "da"},
{ :zyfh =>  "ㄉㄞ", :wg =>  "tai", :mps2 =>  "dai", :yale =>  "dai", :typy =>  "dai", :pyn =>  "dai"},
{ :zyfh =>  "ㄉㄢ", :wg =>  "tan", :mps2 =>  "dan", :yale =>  "dan", :typy =>  "dan", :pyn =>  "dan"},
{ :zyfh =>  "ㄉㄤ", :wg =>  "tang", :mps2 =>  "dang", :yale =>  "dang", :typy =>  "dang", :pyn =>  "dang"},
{ :zyfh =>  "ㄉㄠ", :wg =>  "tao", :mps2 =>  "dau", :yale =>  "dau", :typy =>  "dao", :pyn =>  "dao"},
{ :zyfh =>  "ㄉㄜ", :wg =>  "te", :mps2 =>  "de", :yale =>  "de", :typy =>  "de", :pyn =>  "de"},
{ :zyfh =>  "ㄉㄟ", :wg =>  "tei", :mps2 =>  "dei", :yale =>  "dei", :typy =>  "dei", :pyn =>  "dei"},
{ :zyfh =>  "ㄉㄣ", :wg =>  "ten", :mps2 =>  "den", :yale =>  "den", :typy =>  "den", :pyn =>  "den"},
{ :zyfh =>  "ㄉㄥ", :wg =>  "teng", :mps2 =>  "deng", :yale =>  "deng", :typy =>  "deng", :pyn =>  "deng"},
{ :zyfh =>  "ㄉㄧ", :wg =>  "ti", :mps2 =>  "di", :yale =>  "di", :typy =>  "di", :pyn =>  "di"},
{ :zyfh =>  "ㄉㄧㄢ", :wg =>  "tien", :mps2 =>  "dian", :yale =>  "dyan", :typy =>  "dian", :pyn =>  "dian"},
{ :zyfh =>  "ㄉㄧㄤ", :wg =>  "tiang", :mps2 =>  "diang", :yale =>  "dyang", :typy =>  "diang", :pyn =>  "diang"},
{ :zyfh =>  "ㄉㄧㄠ", :wg =>  "tiao", :mps2 =>  "diau", :yale =>  "dyau", :typy =>  "diao", :pyn =>  "diao"},
{ :zyfh =>  "ㄉㄧㄝ", :wg =>  "tieh", :mps2 =>  "die", :yale =>  "dye", :typy =>  "die", :pyn =>  "die"},
{ :zyfh =>  "ㄉㄧㄥ", :wg =>  "ting", :mps2 =>  "ding", :yale =>  "ding", :typy =>  "ding", :pyn =>  "ding"},
{ :zyfh =>  "ㄉㄧㄡ", :wg =>  "tiu", :mps2 =>  "diou", :yale =>  "dyou", :typy =>  "diou", :pyn =>  "diu"},
{ :zyfh =>  "ㄉㄨㄥ", :wg =>  "tung", :mps2 =>  "dung", :yale =>  "dung", :typy =>  "dong", :pyn =>  "dong"},
{ :zyfh =>  "ㄉㄡ", :wg =>  "tou", :mps2 =>  "dou", :yale =>  "dou", :typy =>  "dou", :pyn =>  "dou"},
{ :zyfh =>  "ㄉㄨ", :wg =>  "tu", :mps2 =>  "du", :yale =>  "du", :typy =>  "du", :pyn =>  "du"},
{ :zyfh =>  "ㄉㄨㄢ", :wg =>  "tuan", :mps2 =>  "duan", :yale =>  "dwan", :typy =>  "duan", :pyn =>  "duan"},
{ :zyfh =>  "ㄉㄨㄟ", :wg =>  "tui", :mps2 =>  "duei", :yale =>  "dwei", :typy =>  "duei", :pyn =>  "dui"},
{ :zyfh =>  "ㄉㄨㄣ", :wg =>  "tun", :mps2 =>  "duen", :yale =>  "dwen", :typy =>  "dun", :pyn =>  "dun"},
{ :zyfh =>  "ㄉㄨㄛ", :wg =>  "to", :mps2 =>  "duo", :yale =>  "dwo", :typy =>  "duo", :pyn =>  "duo"},
{ :zyfh =>  "ㄜ", :wg =>  "e", :mps2 =>  "e", :yale =>  "e", :typy =>  "e", :pyn =>  "e"},
{ :zyfh =>  "ㄟ", :wg =>  "ei", :mps2 =>  "ei", :yale =>  "ei", :typy =>  "ei", :pyn =>  "ei"},
{ :zyfh =>  "ㄣ", :wg =>  "en", :mps2 =>  "en", :yale =>  "en", :typy =>  "en", :pyn =>  "en"},
{ :zyfh =>  "ㄦ", :wg =>  "erh", :mps2 =>  "er", :yale =>  "er", :typy =>  "er", :pyn =>  "er"},
{ :zyfh =>  "ㄈㄚ", :wg =>  "fa", :mps2 =>  "fa", :yale =>  "fa", :typy =>  "fa", :pyn =>  "fa"},
{ :zyfh =>  "ㄈㄢ", :wg =>  "fan", :mps2 =>  "fan", :yale =>  "fan", :typy =>  "fan", :pyn =>  "fan"},
{ :zyfh =>  "ㄈㄤ", :wg =>  "fang", :mps2 =>  "fang", :yale =>  "fang", :typy =>  "fang", :pyn =>  "fang"},
{ :zyfh =>  "ㄈㄟ", :wg =>  "fei", :mps2 =>  "fei", :yale =>  "fei", :typy =>  "fei", :pyn =>  "fei"},
{ :zyfh =>  "ㄈㄣ", :wg =>  "fen", :mps2 =>  "fen", :yale =>  "fen", :typy =>  "fen", :pyn =>  "fen"},
{ :zyfh =>  "ㄈㄥ", :wg =>  "feng", :mps2 =>  "feng", :yale =>  "feng", :typy =>  "fong", :pyn =>  "feng"},
{ :zyfh =>  "ㄈㄛ", :wg =>  "fo", :mps2 =>  "fo", :yale =>  "fwo", :typy =>  "fo", :pyn =>  "fo"},
{ :zyfh =>  "ㄈㄡ", :wg =>  "fou", :mps2 =>  "fou", :yale =>  "fou", :typy =>  "fou", :pyn =>  "fou"},
{ :zyfh =>  "ㄈㄨ", :wg =>  "fu", :mps2 =>  "fu", :yale =>  "fu", :typy =>  "fu", :pyn =>  "fu"},
{ :zyfh =>  "ㄍㄚ", :wg =>  "ka", :mps2 =>  "ga", :yale =>  "ga", :typy =>  "ga", :pyn =>  "ga"},
{ :zyfh =>  "ㄍㄞ", :wg =>  "kai", :mps2 =>  "gai", :yale =>  "gai", :typy =>  "gai", :pyn =>  "gai"},
{ :zyfh =>  "ㄍㄢ", :wg =>  "kan", :mps2 =>  "gan", :yale =>  "gan", :typy =>  "gan", :pyn =>  "gan"},
{ :zyfh =>  "ㄍㄤ", :wg =>  "kang", :mps2 =>  "gang", :yale =>  "gang", :typy =>  "gang", :pyn =>  "gang"},
{ :zyfh =>  "ㄍㄠ", :wg =>  "kao", :mps2 =>  "gau", :yale =>  "gau", :typy =>  "gao", :pyn =>  "gao"},
{ :zyfh =>  "ㄍㄜ", :wg =>  "ko", :mps2 =>  "ge", :yale =>  "ge", :typy =>  "ge", :pyn =>  "ge"},
{ :zyfh =>  "ㄍㄟ", :wg =>  "kei", :mps2 =>  "gei", :yale =>  "gei", :typy =>  "gei", :pyn =>  "gei"},
{ :zyfh =>  "ㄍㄣ", :wg =>  "ken", :mps2 =>  "gen", :yale =>  "gen", :typy =>  "gen", :pyn =>  "gen"},
{ :zyfh =>  "ㄍㄥ", :wg =>  "keng", :mps2 =>  "geng", :yale =>  "geng", :typy =>  "geng", :pyn =>  "geng"},
{ :zyfh =>  "ㄍㄨㄥ", :wg =>  "kung", :mps2 =>  "gung", :yale =>  "gung", :typy =>  "gong", :pyn =>  "gong"},
{ :zyfh =>  "ㄍㄡ", :wg =>  "kou", :mps2 =>  "gou", :yale =>  "gou", :typy =>  "gou", :pyn =>  "gou"},
{ :zyfh =>  "ㄍㄨ", :wg =>  "ku", :mps2 =>  "gu", :yale =>  "gu", :typy =>  "gu", :pyn =>  "gu"},
{ :zyfh =>  "ㄍㄨㄚ", :wg =>  "kua", :mps2 =>  "gua", :yale =>  "gwa", :typy =>  "gua", :pyn =>  "gua"},
{ :zyfh =>  "ㄍㄨㄞ", :wg =>  "kuai", :mps2 =>  "guai", :yale =>  "gwai", :typy =>  "guai", :pyn =>  "guai"},
{ :zyfh =>  "ㄍㄨㄢ", :wg =>  "kuan", :mps2 =>  "guan", :yale =>  "gwan", :typy =>  "guan", :pyn =>  "guan"},
{ :zyfh =>  "ㄍㄨㄤ", :wg =>  "kuang", :mps2 =>  "guang", :yale =>  "gwang", :typy =>  "guang", :pyn =>  "guang"},
{ :zyfh =>  "ㄍㄨㄟ", :wg =>  "kuei", :mps2 =>  "guei", :yale =>  "gwei", :typy =>  "guei", :pyn =>  "gui"},
{ :zyfh =>  "ㄍㄨㄣ", :wg =>  "kun", :mps2 =>  "guen", :yale =>  "gwun", :typy =>  "gun", :pyn =>  "gun"},
{ :zyfh =>  "ㄍㄨㄛ", :wg =>  "kuo", :mps2 =>  "guo", :yale =>  "gwo", :typy =>  "guo", :pyn =>  "guo"},
{ :zyfh =>  "ㄏㄚ", :wg =>  "ha", :mps2 =>  "ha", :yale =>  "ha", :typy =>  "ha", :pyn =>  "ha"},
{ :zyfh =>  "ㄏㄞ", :wg =>  "hai", :mps2 =>  "hai", :yale =>  "hai", :typy =>  "hai", :pyn =>  "hai"},
{ :zyfh =>  "ㄏㄢ", :wg =>  "han", :mps2 =>  "han", :yale =>  "han", :typy =>  "han", :pyn =>  "han"},
{ :zyfh =>  "ㄏㄤ", :wg =>  "hang", :mps2 =>  "hang", :yale =>  "hang", :typy =>  "hang", :pyn =>  "hang"},
{ :zyfh =>  "ㄏㄠ", :wg =>  "hao", :mps2 =>  "hau", :yale =>  "hau", :typy =>  "hao", :pyn =>  "hao"},
{ :zyfh =>  "ㄏㄜ", :wg =>  "ho", :mps2 =>  "he", :yale =>  "he", :typy =>  "he", :pyn =>  "he"},
{ :zyfh =>  "ㄏㄟ", :wg =>  "hei", :mps2 =>  "hei", :yale =>  "hei", :typy =>  "hei", :pyn =>  "hei"},
{ :zyfh =>  "ㄏㄣ", :wg =>  "hen", :mps2 =>  "hen", :yale =>  "hen", :typy =>  "hen", :pyn =>  "hen"},
{ :zyfh =>  "ㄏㄥ", :wg =>  "heng", :mps2 =>  "heng", :yale =>  "heng", :typy =>  "heng", :pyn =>  "heng"},
{ :zyfh =>  "ㄏㄨㄥ", :wg =>  "hung", :mps2 =>  "hung", :yale =>  "hung", :typy =>  "hong", :pyn =>  "hong"},
{ :zyfh =>  "ㄏㄡ", :wg =>  "hou", :mps2 =>  "hou", :yale =>  "hou", :typy =>  "hou", :pyn =>  "hou"},
{ :zyfh =>  "ㄏㄨ", :wg =>  "hu", :mps2 =>  "hu", :yale =>  "hu", :typy =>  "hu", :pyn =>  "hu"},
{ :zyfh =>  "ㄏㄨㄚ", :wg =>  "hua", :mps2 =>  "hua", :yale =>  "hwa", :typy =>  "hua", :pyn =>  "hua"},
{ :zyfh =>  "ㄏㄨㄞ", :wg =>  "huai", :mps2 =>  "huai", :yale =>  "hwai", :typy =>  "huai", :pyn =>  "huai"},
{ :zyfh =>  "ㄏㄨㄢ", :wg =>  "huan", :mps2 =>  "huan", :yale =>  "hwan", :typy =>  "huan", :pyn =>  "huan"},
{ :zyfh =>  "ㄏㄨㄤ", :wg =>  "huang", :mps2 =>  "huang", :yale =>  "hwang", :typy =>  "huang", :pyn =>  "huang"},
{ :zyfh =>  "ㄏㄨㄟ", :wg =>  "hui", :mps2 =>  "huei", :yale =>  "hwei", :typy =>  "huei", :pyn =>  "hui"},
{ :zyfh =>  "ㄏㄨㄣ", :wg =>  "hun", :mps2 =>  "huen", :yale =>  "hwen", :typy =>  "hun", :pyn =>  "hun"},
{ :zyfh =>  "ㄏㄨㄛ", :wg =>  "huo", :mps2 =>  "huo", :yale =>  "hwo", :typy =>  "huo", :pyn =>  "huo"},
{ :zyfh =>  "ㄐㄧ", :wg =>  "chi", :mps2 =>  "ji", :yale =>  "ji", :typy =>  "ji", :pyn =>  "ji"},
{ :zyfh =>  "ㄐㄧㄚ", :wg =>  "chia", :mps2 =>  "jia", :yale =>  "jya", :typy =>  "jia", :pyn =>  "jia"},
{ :zyfh =>  "ㄐㄧㄢ", :wg =>  "chien", :mps2 =>  "jian", :yale =>  "jyan", :typy =>  "jian", :pyn =>  "jian"},
{ :zyfh =>  "ㄐㄧㄤ", :wg =>  "chiang", :mps2 =>  "jiang", :yale =>  "jyang", :typy =>  "jiang", :pyn =>  "jiang"},
{ :zyfh =>  "ㄐㄧㄠ", :wg =>  "chiao", :mps2 =>  "jiau", :yale =>  "jyau", :typy =>  "jiao", :pyn =>  "jiao"},
{ :zyfh =>  "ㄐㄧㄝ", :wg =>  "chieh", :mps2 =>  "jie", :yale =>  "jye", :typy =>  "jie", :pyn =>  "jie"},
{ :zyfh =>  "ㄐㄧㄣ", :wg =>  "chin", :mps2 =>  "jin", :yale =>  "jin", :typy =>  "jin", :pyn =>  "jin"},
{ :zyfh =>  "ㄐㄧㄥ", :wg =>  "ching", :mps2 =>  "jing", :yale =>  "jing", :typy =>  "jing", :pyn =>  "jing"},
{ :zyfh =>  "ㄐㄩㄥ", :wg =>  "chiung", :mps2 =>  "jiung", :yale =>  "jyung", :typy =>  "jyong", :pyn =>  "jiong"},
{ :zyfh =>  "ㄐㄧㄡ", :wg =>  "chiu", :mps2 =>  "jiou", :yale =>  "jyou", :typy =>  "jiou", :pyn =>  "jiu"},
{ :zyfh =>  "ㄐㄩ", :wg =>  "chü", :mps2 =>  "jiu", :yale =>  "jyu", :typy =>  "jyu", :pyn =>  "ju"},
{ :zyfh =>  "ㄐㄩㄢ", :wg =>  "chüan", :mps2 =>  "jiuan", :yale =>  "jywan", :typy =>  "jyuan", :pyn =>  "juan"},
{ :zyfh =>  "ㄐㄩㄝ", :wg =>  "chüeh", :mps2 =>  "jiue", :yale =>  "jywe", :typy =>  "jyue", :pyn =>  "jue"},
{ :zyfh =>  "ㄐㄩㄣ", :wg =>  "chün", :mps2 =>  "jiun", :yale =>  "jyun", :typy =>  "jyun", :pyn =>  "jun"},
{ :zyfh =>  "ㄎㄚ", :wg =>  "k`a", :mps2 =>  "ka", :yale =>  "ka", :typy =>  "ka", :pyn =>  "ka"},
{ :zyfh =>  "ㄎㄞ", :wg =>  "k`ai", :mps2 =>  "kai", :yale =>  "kai", :typy =>  "kai", :pyn =>  "kai"},
{ :zyfh =>  "ㄎㄢ", :wg =>  "k`an", :mps2 =>  "kan", :yale =>  "kan", :typy =>  "kan", :pyn =>  "kan"},
{ :zyfh =>  "ㄎㄤ", :wg =>  "k`ang", :mps2 =>  "kang", :yale =>  "kang", :typy =>  "kang", :pyn =>  "kang"},
{ :zyfh =>  "ㄎㄠ", :wg =>  "k`ao", :mps2 =>  "kau", :yale =>  "kau", :typy =>  "kao", :pyn =>  "kao"},
{ :zyfh =>  "ㄎㄜ", :wg =>  "k`o", :mps2 =>  "ke", :yale =>  "ke", :typy =>  "ke", :pyn =>  "ke"},
{ :zyfh =>  "ㄎㄣ", :wg =>  "k`en", :mps2 =>  "ken", :yale =>  "ken", :typy =>  "ken", :pyn =>  "ken"},
{ :zyfh =>  "ㄎㄥ", :wg =>  "k`eng", :mps2 =>  "keng", :yale =>  "keng", :typy =>  "keng", :pyn =>  "keng"},
{ :zyfh =>  "ㄎㄨㄥ", :wg =>  "k`ung", :mps2 =>  "kung", :yale =>  "kung", :typy =>  "kong", :pyn =>  "kong"},
{ :zyfh =>  "ㄎㄡ", :wg =>  "k`ou", :mps2 =>  "kou", :yale =>  "kou", :typy =>  "kou", :pyn =>  "kou"},
{ :zyfh =>  "ㄎㄨ", :wg =>  "k`u", :mps2 =>  "ku", :yale =>  "ku", :typy =>  "ku", :pyn =>  "ku"},
{ :zyfh =>  "ㄎㄨㄚ", :wg =>  "k`ua", :mps2 =>  "kua", :yale =>  "kwa", :typy =>  "kua", :pyn =>  "kua"},
{ :zyfh =>  "ㄎㄨㄞ", :wg =>  "k`uai", :mps2 =>  "kuai", :yale =>  "kwai", :typy =>  "kuai", :pyn =>  "kuai"},
{ :zyfh =>  "ㄎㄨㄢ", :wg =>  "k`uan", :mps2 =>  "kuan", :yale =>  "kwan", :typy =>  "kuan", :pyn =>  "kuan"},
{ :zyfh =>  "ㄎㄨㄤ", :wg =>  "k`uang", :mps2 =>  "kuang", :yale =>  "kwang", :typy =>  "kuang", :pyn =>  "kuang"},
{ :zyfh =>  "ㄎㄨㄟ", :wg =>  "k`uei", :mps2 =>  "kuei", :yale =>  "kwei", :typy =>  "kuei", :pyn =>  "kui"},
{ :zyfh =>  "ㄎㄨㄣ", :wg =>  "k`un", :mps2 =>  "kuen", :yale =>  "kwen", :typy =>  "kun", :pyn =>  "kun"},
{ :zyfh =>  "ㄎㄨㄛ", :wg =>  "k`uo", :mps2 =>  "kuo", :yale =>  "kwo", :typy =>  "kuo", :pyn =>  "kuo"},
{ :zyfh =>  "ㄌㄚ", :wg =>  "la", :mps2 =>  "la", :yale =>  "la", :typy =>  "la", :pyn =>  "la"},
{ :zyfh =>  "ㄌㄞ", :wg =>  "lai", :mps2 =>  "lai", :yale =>  "lai", :typy =>  "lai", :pyn =>  "lai"},
{ :zyfh =>  "ㄌㄢ", :wg =>  "lan", :mps2 =>  "lan", :yale =>  "lan", :typy =>  "lan", :pyn =>  "lan"},
{ :zyfh =>  "ㄌㄤ", :wg =>  "lang", :mps2 =>  "lang", :yale =>  "lang", :typy =>  "lang", :pyn =>  "lang"},
{ :zyfh =>  "ㄌㄠ", :wg =>  "lao", :mps2 =>  "lau", :yale =>  "lau", :typy =>  "lao", :pyn =>  "lao"},
{ :zyfh =>  "ㄌㄜ", :wg =>  "le", :mps2 =>  "le", :yale =>  "le", :typy =>  "le", :pyn =>  "le"},
{ :zyfh =>  "ㄌㄟ", :wg =>  "lei", :mps2 =>  "lei", :yale =>  "lei", :typy =>  "lei", :pyn =>  "lei"},
{ :zyfh =>  "ㄌㄥ", :wg =>  "leng", :mps2 =>  "leng", :yale =>  "leng", :typy =>  "leng", :pyn =>  "leng"},
{ :zyfh =>  "ㄌㄧ", :wg =>  "li", :mps2 =>  "li", :yale =>  "li", :typy =>  "li", :pyn =>  "li"},
{ :zyfh =>  "ㄌㄧㄚ", :wg =>  "lia", :mps2 =>  "lia", :yale =>  "lya", :typy =>  "lia", :pyn =>  "lia"},
{ :zyfh =>  "ㄌㄧㄢ", :wg =>  "lien", :mps2 =>  "lian", :yale =>  "lyan", :typy =>  "lian", :pyn =>  "lian"},
{ :zyfh =>  "ㄌㄧㄤ", :wg =>  "liang", :mps2 =>  "liang", :yale =>  "lyang", :typy =>  "liang", :pyn =>  "liang"},
{ :zyfh =>  "ㄌㄧㄠ", :wg =>  "liao", :mps2 =>  "liau", :yale =>  "lyau", :typy =>  "liao", :pyn =>  "liao"},
{ :zyfh =>  "ㄌㄧㄝ", :wg =>  "lieh", :mps2 =>  "lie", :yale =>  "lye", :typy =>  "lie", :pyn =>  "lie"},
{ :zyfh =>  "ㄌㄧㄣ", :wg =>  "lin", :mps2 =>  "lin", :yale =>  "lin", :typy =>  "lin", :pyn =>  "lin"},
{ :zyfh =>  "ㄌㄧㄥ", :wg =>  "ling", :mps2 =>  "ling", :yale =>  "ling", :typy =>  "ling", :pyn =>  "ling"},
{ :zyfh =>  "ㄌㄧㄡ", :wg =>  "liu", :mps2 =>  "liou", :yale =>  "lyou", :typy =>  "liou", :pyn =>  "liu"},
{ :zyfh =>  "ㄌㄛ", :wg =>  "lo", :mps2 =>  "lo", :yale =>  "lo", :typy =>  "lo", :pyn =>  "lo"},
{ :zyfh =>  "ㄌㄨㄥ", :wg =>  "lung", :mps2 =>  "lung", :yale =>  "lung", :typy =>  "long", :pyn =>  "long"},
{ :zyfh =>  "ㄌㄡ", :wg =>  "lou", :mps2 =>  "lou", :yale =>  "lou", :typy =>  "lou", :pyn =>  "lou"},
{ :zyfh =>  "ㄌㄨ", :wg =>  "lu", :mps2 =>  "lu", :yale =>  "lu", :typy =>  "lu", :pyn =>  "lu"},
{ :zyfh =>  "ㄌㄨㄢ", :wg =>  "luan", :mps2 =>  "luan", :yale =>  "lwan", :typy =>  "luan", :pyn =>  "luan"},
{ :zyfh =>  "ㄌㄨㄣ", :wg =>  "lun", :mps2 =>  "luen", :yale =>  "lwun", :typy =>  "lun", :pyn =>  "lun"},
{ :zyfh =>  "ㄌㄨㄛ", :wg =>  "lo", :mps2 =>  "luo", :yale =>  "lwo", :typy =>  "luo", :pyn =>  "luo"},
{ :zyfh =>  "ㄌㄩ", :wg =>  "lü", :mps2 =>  "liu", :yale =>  "lyu", :typy =>  "lyu", :pyn =>  "lü"},
{ :zyfh =>  "ㄌㄩㄝ", :wg =>  "lüeh", :mps2 =>  "liue", :yale =>  "lywe", :typy =>  "lyue", :pyn =>  "lüe"},
{ :zyfh =>  "ㄌㄩㄣ", :wg =>  "lün", :mps2 =>  "liun", :yale =>  "lyun", :typy =>  "lyun", :pyn =>  "lün"},
{ :zyfh =>  "ㄌㄩ", :wg =>  "lü", :mps2 =>  "liu", :yale =>  "lyu", :typy =>  "lyu", :pyn =>  "lv"},
{ :zyfh =>  "ㄌㄩㄝ", :wg =>  "lüeh", :mps2 =>  "liue", :yale =>  "lywe", :typy =>  "lyue", :pyn =>  "lve"},
{ :zyfh =>  "ㄌㄩㄣ", :wg =>  "lün", :mps2 =>  "liun", :yale =>  "lyun", :typy =>  "lyun", :pyn =>  "lvn"},
{ :zyfh =>  "ㄇㄚ", :wg =>  "ma", :mps2 =>  "ma", :yale =>  "ma", :typy =>  "ma", :pyn =>  "ma"},
{ :zyfh =>  "ㄇㄞ", :wg =>  "mai", :mps2 =>  "mai", :yale =>  "mai", :typy =>  "mai", :pyn =>  "mai"},
{ :zyfh =>  "ㄇㄢ", :wg =>  "man", :mps2 =>  "man", :yale =>  "man", :typy =>  "man", :pyn =>  "man"},
{ :zyfh =>  "ㄇㄤ", :wg =>  "mang", :mps2 =>  "mang", :yale =>  "mang", :typy =>  "mang", :pyn =>  "mang"},
{ :zyfh =>  "ㄇㄠ", :wg =>  "mao", :mps2 =>  "mau", :yale =>  "mau", :typy =>  "mao", :pyn =>  "mao"},
{ :zyfh =>  "ㄇㄜ", :wg =>  "me", :mps2 =>  "me", :yale =>  "me", :typy =>  "me", :pyn =>  "me"},
{ :zyfh =>  "ㄇㄟ", :wg =>  "mei", :mps2 =>  "mei", :yale =>  "mei", :typy =>  "mei", :pyn =>  "mei"},
{ :zyfh =>  "ㄇㄣ", :wg =>  "men", :mps2 =>  "men", :yale =>  "men", :typy =>  "men", :pyn =>  "men"},
{ :zyfh =>  "ㄇㄥ", :wg =>  "meng", :mps2 =>  "meng", :yale =>  "meng", :typy =>  "meng", :pyn =>  "meng"},
{ :zyfh =>  "ㄇㄧ", :wg =>  "mi", :mps2 =>  "mi", :yale =>  "mi", :typy =>  "mi", :pyn =>  "mi"},
{ :zyfh =>  "ㄇㄧㄢ", :wg =>  "mien", :mps2 =>  "mian", :yale =>  "myan", :typy =>  "mian", :pyn =>  "mian"},
{ :zyfh =>  "ㄇㄧㄠ", :wg =>  "miao", :mps2 =>  "miau", :yale =>  "myau", :typy =>  "miao", :pyn =>  "miao"},
{ :zyfh =>  "ㄇㄧㄝ", :wg =>  "mieh", :mps2 =>  "mie", :yale =>  "mye", :typy =>  "mie", :pyn =>  "mie"},
{ :zyfh =>  "ㄇㄧㄣ", :wg =>  "min", :mps2 =>  "min", :yale =>  "min", :typy =>  "min", :pyn =>  "min"},
{ :zyfh =>  "ㄇㄧㄥ", :wg =>  "ming", :mps2 =>  "ming", :yale =>  "ming", :typy =>  "ming", :pyn =>  "ming"},
{ :zyfh =>  "ㄇㄧㄡ", :wg =>  "miu", :mps2 =>  "miou", :yale =>  "myou", :typy =>  "miou", :pyn =>  "miu"},
{ :zyfh =>  "ㄇㄛ", :wg =>  "mo", :mps2 =>  "mo", :yale =>  "mwo", :typy =>  "mo", :pyn =>  "mo"},
{ :zyfh =>  "ㄇㄡ", :wg =>  "mou", :mps2 =>  "mou", :yale =>  "mou", :typy =>  "mou", :pyn =>  "mou"},
{ :zyfh =>  "ㄇㄨ", :wg =>  "mu", :mps2 =>  "mu", :yale =>  "mu", :typy =>  "mu", :pyn =>  "mu"},
{ :zyfh =>  "ㄋㄚ", :wg =>  "na", :mps2 =>  "na", :yale =>  "na", :typy =>  "na", :pyn =>  "na"},
{ :zyfh =>  "ㄋㄞ", :wg =>  "nai", :mps2 =>  "nai", :yale =>  "nai", :typy =>  "nai", :pyn =>  "nai"},
{ :zyfh =>  "ㄋㄢ", :wg =>  "nan", :mps2 =>  "nan", :yale =>  "nan", :typy =>  "nan", :pyn =>  "nan"},
{ :zyfh =>  "ㄋㄤ", :wg =>  "nang", :mps2 =>  "nang", :yale =>  "nang", :typy =>  "nang", :pyn =>  "nang"},
{ :zyfh =>  "ㄋㄠ", :wg =>  "nao", :mps2 =>  "nau", :yale =>  "nau", :typy =>  "nao", :pyn =>  "nao"},
{ :zyfh =>  "ㄋㄜ", :wg =>  "ne", :mps2 =>  "ne", :yale =>  "ne", :typy =>  "ne", :pyn =>  "ne"},
{ :zyfh =>  "ㄋㄟ", :wg =>  "nei", :mps2 =>  "nei", :yale =>  "nei", :typy =>  "nei", :pyn =>  "nei"},
{ :zyfh =>  "ㄋㄣ", :wg =>  "nen", :mps2 =>  "nen", :yale =>  "nen", :typy =>  "nen", :pyn =>  "nen"},
{ :zyfh =>  "ㄋㄥ", :wg =>  "neng", :mps2 =>  "neng", :yale =>  "neng", :typy =>  "neng", :pyn =>  "neng"},
{ :zyfh =>  "ㄋㄧ", :wg =>  "ni", :mps2 =>  "ni", :yale =>  "ni", :typy =>  "ni", :pyn =>  "ni"},
{ :zyfh =>  "ㄋㄧㄚ", :wg =>  "nia", :mps2 =>  "nia", :yale =>  "nya", :typy =>  "nia", :pyn =>  "nia"},
{ :zyfh =>  "ㄋㄧㄢ", :wg =>  "nien", :mps2 =>  "nian", :yale =>  "nyan", :typy =>  "nian", :pyn =>  "nian"},
{ :zyfh =>  "ㄋㄧㄤ", :wg =>  "niang", :mps2 =>  "niang", :yale =>  "nyang", :typy =>  "niang", :pyn =>  "niang"},
{ :zyfh =>  "ㄋㄧㄠ", :wg =>  "niao", :mps2 =>  "niau", :yale =>  "nyau", :typy =>  "niao", :pyn =>  "niao"},
{ :zyfh =>  "ㄋㄧㄝ", :wg =>  "nieh", :mps2 =>  "nie", :yale =>  "nye", :typy =>  "nie", :pyn =>  "nie"},
{ :zyfh =>  "ㄋㄧㄣ", :wg =>  "nin", :mps2 =>  "nin", :yale =>  "nin", :typy =>  "nin", :pyn =>  "nin"},
{ :zyfh =>  "ㄋㄧㄥ", :wg =>  "ning", :mps2 =>  "ning", :yale =>  "ning", :typy =>  "ning", :pyn =>  "ning"},
{ :zyfh =>  "ㄋㄧㄡ", :wg =>  "niu", :mps2 =>  "niou", :yale =>  "nyou", :typy =>  "niou", :pyn =>  "niu"},
{ :zyfh =>  "ㄋㄨㄥ", :wg =>  "nung", :mps2 =>  "nung", :yale =>  "nung", :typy =>  "nong", :pyn =>  "nong"},
{ :zyfh =>  "ㄋㄡ", :wg =>  "nou", :mps2 =>  "nou", :yale =>  "nou", :typy =>  "nou", :pyn =>  "nou"},
{ :zyfh =>  "ㄋㄨ", :wg =>  "nu", :mps2 =>  "nu", :yale =>  "nu", :typy =>  "nu", :pyn =>  "nu"},
{ :zyfh =>  "ㄋㄨㄢ", :wg =>  "nuan", :mps2 =>  "nuan", :yale =>  "nwan", :typy =>  "nuan", :pyn =>  "nuan"},
{ :zyfh =>  "ㄋㄨㄣ", :wg =>  "nun", :mps2 =>  "nuen", :yale =>  "nwen", :typy =>  "nun", :pyn =>  "nun"},
{ :zyfh =>  "ㄋㄨㄛ", :wg =>  "no", :mps2 =>  "nuo", :yale =>  "nwo", :typy =>  "nuo", :pyn =>  "nuo"},
{ :zyfh =>  "ㄋㄩ", :wg =>  "nü", :mps2 =>  "niu", :yale =>  "nyu", :typy =>  "nyu", :pyn =>  "nv"},
{ :zyfh =>  "ㄋㄩ", :wg =>  "nü", :mps2 =>  "niu", :yale =>  "nyu", :typy =>  "nyu", :pyn =>  "nü"},
{ :zyfh =>  "ㄋㄩㄝ", :wg =>  "nüeh", :mps2 =>  "niue", :yale =>  "nywe", :typy =>  "nyue", :pyn =>  "nüe"},
{ :zyfh =>  "ㄋㄩㄝ", :wg =>  "nüeh", :mps2 =>  "niue", :yale =>  "nywe", :typy =>  "nyue", :pyn =>  "nve"},
{ :zyfh =>  "ㄡ", :wg =>  "ou", :mps2 =>  "ou", :yale =>  "ou", :typy =>  "ou", :pyn =>  "ou"},
{ :zyfh =>  "ㄆㄚ", :wg =>  "p`a", :mps2 =>  "pa", :yale =>  "pa", :typy =>  "pa", :pyn =>  "pa"},
{ :zyfh =>  "ㄆㄞ", :wg =>  "p`ai", :mps2 =>  "pai", :yale =>  "pai", :typy =>  "pai", :pyn =>  "pai"},
{ :zyfh =>  "ㄆㄢ", :wg =>  "p`an", :mps2 =>  "pan", :yale =>  "pan", :typy =>  "pan", :pyn =>  "pan"},
{ :zyfh =>  "ㄆㄤ", :wg =>  "p`ang", :mps2 =>  "pang", :yale =>  "pang", :typy =>  "pang", :pyn =>  "pang"},
{ :zyfh =>  "ㄆㄠ", :wg =>  "p`ao", :mps2 =>  "pau", :yale =>  "pau", :typy =>  "pao", :pyn =>  "pao"},
{ :zyfh =>  "ㄆㄟ", :wg =>  "p`ei", :mps2 =>  "pei", :yale =>  "pei", :typy =>  "pei", :pyn =>  "pei"},
{ :zyfh =>  "ㄆㄣ", :wg =>  "p`en", :mps2 =>  "pen", :yale =>  "pen", :typy =>  "pen", :pyn =>  "pen"},
{ :zyfh =>  "ㄆㄥ", :wg =>  "p`eng", :mps2 =>  "peng", :yale =>  "peng", :typy =>  "peng", :pyn =>  "peng"},
{ :zyfh =>  "ㄆㄧ", :wg =>  "p`i", :mps2 =>  "pi", :yale =>  "pi", :typy =>  "pi", :pyn =>  "pi"},
{ :zyfh =>  "ㄆㄧㄢ", :wg =>  "p`ien", :mps2 =>  "pian", :yale =>  "pyan", :typy =>  "pian", :pyn =>  "pian"},
{ :zyfh =>  "ㄆㄧㄠ", :wg =>  "p`iao", :mps2 =>  "piau", :yale =>  "pyau", :typy =>  "piao", :pyn =>  "piao"},
{ :zyfh =>  "ㄆㄧㄝ", :wg =>  "p`ieh", :mps2 =>  "pie", :yale =>  "pye", :typy =>  "pie", :pyn =>  "pie"},
{ :zyfh =>  "ㄆㄧㄣ", :wg =>  "p`in", :mps2 =>  "pin", :yale =>  "pin", :typy =>  "pin", :pyn =>  "pin"},
{ :zyfh =>  "ㄆㄧㄥ", :wg =>  "p`ing", :mps2 =>  "ping", :yale =>  "ping", :typy =>  "ping", :pyn =>  "ping"},
{ :zyfh =>  "ㄆㄛ", :wg =>  "p`o", :mps2 =>  "po", :yale =>  "pwo", :typy =>  "po", :pyn =>  "po"},
{ :zyfh =>  "ㄆㄡ", :wg =>  "p`ou", :mps2 =>  "pou", :yale =>  "pou", :typy =>  "pou", :pyn =>  "pou"},
{ :zyfh =>  "ㄆㄨ", :wg =>  "p`u", :mps2 =>  "pu", :yale =>  "pu", :typy =>  "pu", :pyn =>  "pu"},
{ :zyfh =>  "ㄑㄧ", :wg =>  "ch`i", :mps2 =>  "chi", :yale =>  "chi", :typy =>  "ci", :pyn =>  "qi"},
{ :zyfh =>  "ㄑㄧㄚ", :wg =>  "ch`ia", :mps2 =>  "chia", :yale =>  "chya", :typy =>  "cia", :pyn =>  "qia"},
{ :zyfh =>  "ㄑㄧㄢ", :wg =>  "ch`ien", :mps2 =>  "chian", :yale =>  "chyan", :typy =>  "cian", :pyn =>  "qian"},
{ :zyfh =>  "ㄑㄧㄤ", :wg =>  "ch`iang", :mps2 =>  "chiang", :yale =>  "chyang", :typy =>  "ciang", :pyn =>  "qiang"},
{ :zyfh =>  "ㄑㄧㄠ", :wg =>  "ch`iao", :mps2 =>  "chiau", :yale =>  "chyau", :typy =>  "ciao", :pyn =>  "qiao"},
{ :zyfh =>  "ㄑㄧㄝ", :wg =>  "ch`ieh", :mps2 =>  "chie", :yale =>  "chye", :typy =>  "cie", :pyn =>  "qie"},
{ :zyfh =>  "ㄑㄧㄣ", :wg =>  "ch`in", :mps2 =>  "chin", :yale =>  "chin", :typy =>  "cin", :pyn =>  "qin"},
{ :zyfh =>  "ㄑㄧㄥ", :wg =>  "ch`ing", :mps2 =>  "ching", :yale =>  "ching", :typy =>  "cing", :pyn =>  "qing"},
{ :zyfh =>  "ㄑㄩㄥ", :wg =>  "ch`iung", :mps2 =>  "chiung", :yale =>  "chyung", :typy =>  "cyong", :pyn =>  "qiong"},
{ :zyfh =>  "ㄑㄧㄡ", :wg =>  "ch`iu", :mps2 =>  "chiou", :yale =>  "chyou", :typy =>  "ciou", :pyn =>  "qiu"},
{ :zyfh =>  "ㄑㄩ", :wg =>  "ch`ü", :mps2 =>  "chiu", :yale =>  "chyu", :typy =>  "cyu", :pyn =>  "qu"},
{ :zyfh =>  "ㄑㄩㄢ", :wg =>  "ch`üan", :mps2 =>  "chiuan", :yale =>  "chywan", :typy =>  "cyuan", :pyn =>  "quan"},
{ :zyfh =>  "ㄑㄩㄝ", :wg =>  "ch`üeh", :mps2 =>  "chiue", :yale =>  "chywe", :typy =>  "cyue", :pyn =>  "que"},
{ :zyfh =>  "ㄑㄩㄣ", :wg =>  "ch`ün", :mps2 =>  "chiun", :yale =>  "chyun", :typy =>  "cyun", :pyn =>  "qun"},
{ :zyfh =>  "ㄖㄢ", :wg =>  "jan", :mps2 =>  "ran", :yale =>  "ran", :typy =>  "ran", :pyn =>  "ran"},
{ :zyfh =>  "ㄖㄤ", :wg =>  "jang", :mps2 =>  "rang", :yale =>  "rang", :typy =>  "rang", :pyn =>  "rang"},
{ :zyfh =>  "ㄖㄠ", :wg =>  "jao", :mps2 =>  "rau", :yale =>  "rau", :typy =>  "rao", :pyn =>  "rao"},
{ :zyfh =>  "ㄖㄜ", :wg =>  "je", :mps2 =>  "re", :yale =>  "re", :typy =>  "re", :pyn =>  "re"},
{ :zyfh =>  "ㄖㄣ", :wg =>  "jen", :mps2 =>  "ren", :yale =>  "ren", :typy =>  "ren", :pyn =>  "ren"},
{ :zyfh =>  "ㄖㄥ", :wg =>  "jeng", :mps2 =>  "reng", :yale =>  "reng", :typy =>  "reng", :pyn =>  "reng"},
{ :zyfh =>  "ㄖ", :wg =>  "jih", :mps2 =>  "r", :yale =>  "r", :typy =>  "rih", :pyn =>  "ri"},
{ :zyfh =>  "ㄖㄨㄥ", :wg =>  "jung", :mps2 =>  "rung", :yale =>  "rung", :typy =>  "rong", :pyn =>  "rong"},
{ :zyfh =>  "ㄖㄡ", :wg =>  "jou", :mps2 =>  "rou", :yale =>  "rou", :typy =>  "rou", :pyn =>  "rou"},
{ :zyfh =>  "ㄖㄨ", :wg =>  "ju", :mps2 =>  "ru", :yale =>  "ru", :typy =>  "ru", :pyn =>  "ru"},
{ :zyfh =>  "ㄖㄨㄢ", :wg =>  "juan", :mps2 =>  "ruan", :yale =>  "rwan", :typy =>  "ruan", :pyn =>  "ruan"},
{ :zyfh =>  "ㄖㄨㄟ", :wg =>  "jui", :mps2 =>  "ruei", :yale =>  "rwei", :typy =>  "ruei", :pyn =>  "rui"},
{ :zyfh =>  "ㄖㄨㄣ", :wg =>  "jun", :mps2 =>  "ruen", :yale =>  "rwun", :typy =>  "run", :pyn =>  "run"},
{ :zyfh =>  "ㄖㄨㄛ", :wg =>  "jo", :mps2 =>  "ruo", :yale =>  "rwo", :typy =>  "ruo", :pyn =>  "ruo"},
{ :zyfh =>  "ㄙㄚ", :wg =>  "sa", :mps2 =>  "sa", :yale =>  "sa", :typy =>  "sa", :pyn =>  "sa"},
{ :zyfh =>  "ㄙㄞ", :wg =>  "sai", :mps2 =>  "sai", :yale =>  "sai", :typy =>  "sai", :pyn =>  "sai"},
{ :zyfh =>  "ㄙㄢ", :wg =>  "san", :mps2 =>  "san", :yale =>  "san", :typy =>  "san", :pyn =>  "san"},
{ :zyfh =>  "ㄙㄤ", :wg =>  "sang", :mps2 =>  "sang", :yale =>  "sang", :typy =>  "sang", :pyn =>  "sang"},
{ :zyfh =>  "ㄙㄠ", :wg =>  "sao", :mps2 =>  "sau", :yale =>  "sau", :typy =>  "sao", :pyn =>  "sao"},
{ :zyfh =>  "ㄙㄜ", :wg =>  "se", :mps2 =>  "se", :yale =>  "se", :typy =>  "se", :pyn =>  "se"},
{ :zyfh =>  "ㄙㄟ", :wg =>  "sei", :mps2 =>  "sei", :yale =>  "sei", :typy =>  "sei", :pyn =>  "sei"},
{ :zyfh =>  "ㄙㄣ", :wg =>  "sen", :mps2 =>  "sen", :yale =>  "sen", :typy =>  "sen", :pyn =>  "sen"},
{ :zyfh =>  "ㄙㄥ", :wg =>  "seng", :mps2 =>  "seng", :yale =>  "seng", :typy =>  "seng", :pyn =>  "seng"},
{ :zyfh =>  "ㄕㄚ", :wg =>  "sha", :mps2 =>  "sha", :yale =>  "sha", :typy =>  "sha", :pyn =>  "sha"},
{ :zyfh =>  "ㄕㄞ", :wg =>  "shai", :mps2 =>  "shai", :yale =>  "shai", :typy =>  "shai", :pyn =>  "shai"},
{ :zyfh =>  "ㄕㄢ", :wg =>  "shan", :mps2 =>  "shan", :yale =>  "shan", :typy =>  "shan", :pyn =>  "shan"},
{ :zyfh =>  "ㄕㄤ", :wg =>  "shang", :mps2 =>  "shang", :yale =>  "shang", :typy =>  "shang", :pyn =>  "shang"},
{ :zyfh =>  "ㄕㄠ", :wg =>  "shao", :mps2 =>  "shau", :yale =>  "shau", :typy =>  "shao", :pyn =>  "shao"},
{ :zyfh =>  "ㄕㄜ", :wg =>  "she", :mps2 =>  "she", :yale =>  "she", :typy =>  "she", :pyn =>  "she"},
{ :zyfh =>  "ㄕㄟ", :wg =>  "shei", :mps2 =>  "shei", :yale =>  "shei", :typy =>  "shei", :pyn =>  "shei"},
{ :zyfh =>  "ㄕㄣ", :wg =>  "shen", :mps2 =>  "shen", :yale =>  "shen", :typy =>  "shen", :pyn =>  "shen"},
{ :zyfh =>  "ㄕㄥ", :wg =>  "sheng", :mps2 =>  "sheng", :yale =>  "sheng", :typy =>  "sheng", :pyn =>  "sheng"},
{ :zyfh =>  "ㄕ", :wg =>  "shih", :mps2 =>  "shr", :yale =>  "shr", :typy =>  "shih", :pyn =>  "shi"},
{ :zyfh =>  "ㄕㄨㄥ", :wg =>  "shung", :mps2 =>  "shung", :yale =>  "shung", :typy =>  "shong", :pyn =>  "shong"},
{ :zyfh =>  "ㄕㄡ", :wg =>  "shou", :mps2 =>  "shou", :yale =>  "shou", :typy =>  "shou", :pyn =>  "shou"},
{ :zyfh =>  "ㄕㄨ", :wg =>  "shu", :mps2 =>  "shu", :yale =>  "shu", :typy =>  "shu", :pyn =>  "shu"},
{ :zyfh =>  "ㄕㄨㄚ", :wg =>  "shua", :mps2 =>  "shua", :yale =>  "shwa", :typy =>  "shua", :pyn =>  "shua"},
{ :zyfh =>  "ㄕㄨㄞ", :wg =>  "shuai", :mps2 =>  "shuai", :yale =>  "shwai", :typy =>  "shuai", :pyn =>  "shuai"},
{ :zyfh =>  "ㄕㄨㄢ", :wg =>  "shuan", :mps2 =>  "shuan", :yale =>  "shwan", :typy =>  "shuan", :pyn =>  "shuan"},
{ :zyfh =>  "ㄕㄨㄤ", :wg =>  "shuang", :mps2 =>  "shuang", :yale =>  "shwang", :typy =>  "shuang", :pyn =>  "shuang"},
{ :zyfh =>  "ㄕㄨㄟ", :wg =>  "shui", :mps2 =>  "shuei", :yale =>  "shwei", :typy =>  "shuei", :pyn =>  "shui"},
{ :zyfh =>  "ㄕㄨㄣ", :wg =>  "shun", :mps2 =>  "shuen", :yale =>  "shwun", :typy =>  "shun", :pyn =>  "shun"},
{ :zyfh =>  "ㄕㄨㄛ", :wg =>  "shuo", :mps2 =>  "shuo", :yale =>  "shwo", :typy =>  "shuo", :pyn =>  "shuo"},
{ :zyfh =>  "ㄙ", :wg =>  "ssu", :mps2 =>  "sz", :yale =>  "sz", :typy =>  "sih", :pyn =>  "si"},
{ :zyfh =>  "ㄙㄨㄥ", :wg =>  "sung", :mps2 =>  "sung", :yale =>  "sung", :typy =>  "song", :pyn =>  "song"},
{ :zyfh =>  "ㄙㄡ", :wg =>  "sou", :mps2 =>  "sou", :yale =>  "sou", :typy =>  "sou", :pyn =>  "sou"},
{ :zyfh =>  "ㄙㄨ", :wg =>  "su", :mps2 =>  "su", :yale =>  "su", :typy =>  "su", :pyn =>  "su"},
{ :zyfh =>  "ㄙㄨㄢ", :wg =>  "suan", :mps2 =>  "suan", :yale =>  "swan", :typy =>  "suan", :pyn =>  "suan"},
{ :zyfh =>  "ㄙㄨㄟ", :wg =>  "sui", :mps2 =>  "suei", :yale =>  "swei", :typy =>  "suei", :pyn =>  "sui"},
{ :zyfh =>  "ㄙㄨㄣ", :wg =>  "sun", :mps2 =>  "suen", :yale =>  "swen", :typy =>  "sun", :pyn =>  "sun"},
{ :zyfh =>  "ㄙㄨㄛ", :wg =>  "so", :mps2 =>  "suo", :yale =>  "swo", :typy =>  "suo", :pyn =>  "suo"},
{ :zyfh =>  "ㄊㄚ", :wg =>  "t`a", :mps2 =>  "ta", :yale =>  "ta", :typy =>  "ta", :pyn =>  "ta"},
{ :zyfh =>  "ㄊㄞ", :wg =>  "t`ai", :mps2 =>  "tai", :yale =>  "tai", :typy =>  "tai", :pyn =>  "tai"},
{ :zyfh =>  "ㄊㄢ", :wg =>  "t`an", :mps2 =>  "tan", :yale =>  "tan", :typy =>  "tan", :pyn =>  "tan"},
{ :zyfh =>  "ㄊㄤ", :wg =>  "t`ang", :mps2 =>  "tang", :yale =>  "tang", :typy =>  "tang", :pyn =>  "tang"},
{ :zyfh =>  "ㄊㄠ", :wg =>  "t`ao", :mps2 =>  "tau", :yale =>  "tau", :typy =>  "tao", :pyn =>  "tao"},
{ :zyfh =>  "ㄊㄜ", :wg =>  "t`e", :mps2 =>  "te", :yale =>  "te", :typy =>  "te", :pyn =>  "te"},
{ :zyfh =>  "ㄊㄥ", :wg =>  "t`eng", :mps2 =>  "teng", :yale =>  "teng", :typy =>  "teng", :pyn =>  "teng"},
{ :zyfh =>  "ㄊㄧ", :wg =>  "t`i", :mps2 =>  "ti", :yale =>  "ti", :typy =>  "ti", :pyn =>  "ti"},
{ :zyfh =>  "ㄊㄧㄢ", :wg =>  "t`ien", :mps2 =>  "tian", :yale =>  "tyan", :typy =>  "tian", :pyn =>  "tian"},
{ :zyfh =>  "ㄊㄧㄠ", :wg =>  "t`iao", :mps2 =>  "tiau", :yale =>  "tyau", :typy =>  "tiao", :pyn =>  "tiao"},
{ :zyfh =>  "ㄊㄧㄝ", :wg =>  "t`ieh", :mps2 =>  "tie", :yale =>  "tye", :typy =>  "tie", :pyn =>  "tie"},
{ :zyfh =>  "ㄊㄧㄥ", :wg =>  "t`ing", :mps2 =>  "ting", :yale =>  "ting", :typy =>  "ting", :pyn =>  "ting"},
{ :zyfh =>  "ㄊㄨㄥ", :wg =>  "t`ung", :mps2 =>  "tung", :yale =>  "tung", :typy =>  "tong", :pyn =>  "tong"},
{ :zyfh =>  "ㄊㄡ", :wg =>  "t`ou", :mps2 =>  "tou", :yale =>  "tou", :typy =>  "tou", :pyn =>  "tou"},
{ :zyfh =>  "ㄊㄨ", :wg =>  "t`u", :mps2 =>  "tu", :yale =>  "tu", :typy =>  "tu", :pyn =>  "tu"},
{ :zyfh =>  "ㄊㄨㄢ", :wg =>  "t`uan", :mps2 =>  "tuan", :yale =>  "twan", :typy =>  "tuan", :pyn =>  "tuan"},
{ :zyfh =>  "ㄊㄨㄟ", :wg =>  "t`ui", :mps2 =>  "tuei", :yale =>  "twei", :typy =>  "tuei", :pyn =>  "tui"},
{ :zyfh =>  "ㄊㄨㄣ", :wg =>  "t`un", :mps2 =>  "tuen", :yale =>  "twen", :typy =>  "tun", :pyn =>  "tun"},
{ :zyfh =>  "ㄊㄨㄛ", :wg =>  "t`o", :mps2 =>  "tuo", :yale =>  "two", :typy =>  "tuo", :pyn =>  "tuo"},
{ :zyfh =>  "ㄨㄚ", :wg =>  "wa", :mps2 =>  "wa", :yale =>  "wa", :typy =>  "wa", :pyn =>  "wa"},
{ :zyfh =>  "ㄨㄞ", :wg =>  "wai", :mps2 =>  "wai", :yale =>  "wai", :typy =>  "wai", :pyn =>  "wai"},
{ :zyfh =>  "ㄨㄢ", :wg =>  "wan", :mps2 =>  "wan", :yale =>  "wan", :typy =>  "wan", :pyn =>  "wan"},
{ :zyfh =>  "ㄨㄤ", :wg =>  "wang", :mps2 =>  "wang", :yale =>  "wang", :typy =>  "wang", :pyn =>  "wang"},
{ :zyfh =>  "ㄨㄟ", :wg =>  "wei", :mps2 =>  "wei", :yale =>  "wei", :typy =>  "wei", :pyn =>  "wei"},
{ :zyfh =>  "ㄨㄣ", :wg =>  "wen", :mps2 =>  "wen", :yale =>  "wen", :typy =>  "wun", :pyn =>  "wen"},
{ :zyfh =>  "ㄨㄥ", :wg =>  "weng", :mps2 =>  "weng", :yale =>  "weng", :typy =>  "wong", :pyn =>  "weng"},
{ :zyfh =>  "ㄨㄛ", :wg =>  "wo", :mps2 =>  "wo", :yale =>  "wo", :typy =>  "wo", :pyn =>  "wo"},
{ :zyfh =>  "ㄨ", :wg =>  "wu", :mps2 =>  "wu", :yale =>  "wu", :typy =>  "wu", :pyn =>  "wu"},
{ :zyfh =>  "ㄒㄧ", :wg =>  "hsi", :mps2 =>  "shi", :yale =>  "syi", :typy =>  "si", :pyn =>  "xi"},
{ :zyfh =>  "ㄒㄧㄚ", :wg =>  "hsia", :mps2 =>  "shia", :yale =>  "sya", :typy =>  "sia", :pyn =>  "xia"},
{ :zyfh =>  "ㄒㄧㄢ", :wg =>  "hsien", :mps2 =>  "shian", :yale =>  "syan", :typy =>  "sian", :pyn =>  "xian"},
{ :zyfh =>  "ㄒㄧㄤ", :wg =>  "hsiang", :mps2 =>  "shiang", :yale =>  "syang", :typy =>  "siang", :pyn =>  "xiang"},
{ :zyfh =>  "ㄒㄧㄠ", :wg =>  "hsiao", :mps2 =>  "shiau", :yale =>  "syau", :typy =>  "siao", :pyn =>  "xiao"},
{ :zyfh =>  "ㄒㄧㄝ", :wg =>  "hsieh", :mps2 =>  "shie", :yale =>  "sye", :typy =>  "sie", :pyn =>  "xie"},
{ :zyfh =>  "ㄒㄧㄣ", :wg =>  "hsin", :mps2 =>  "shin", :yale =>  "syin", :typy =>  "sin", :pyn =>  "xin"},
{ :zyfh =>  "ㄒㄧㄥ", :wg =>  "hsing", :mps2 =>  "shing", :yale =>  "sying", :typy =>  "sing", :pyn =>  "xing"},
{ :zyfh =>  "ㄒㄩㄥ", :wg =>  "hsiung", :mps2 =>  "shiung", :yale =>  "syung", :typy =>  "syong", :pyn =>  "xiong"},
{ :zyfh =>  "ㄒㄧㄡ", :wg =>  "hsiu", :mps2 =>  "shiou", :yale =>  "syou", :typy =>  "siou", :pyn =>  "xiu"},
{ :zyfh =>  "ㄒㄩ", :wg =>  "hsü", :mps2 =>  "shiu", :yale =>  "syu", :typy =>  "syu", :pyn =>  "xu"},
{ :zyfh =>  "ㄒㄩㄢ", :wg =>  "hsüan", :mps2 =>  "shiuan", :yale =>  "sywan", :typy =>  "syuan", :pyn =>  "xuan"},
{ :zyfh =>  "ㄒㄩㄝ", :wg =>  "hsüeh", :mps2 =>  "shiue", :yale =>  "sywe", :typy =>  "syue", :pyn =>  "xue"},
{ :zyfh =>  "ㄒㄩㄣ", :wg =>  "hsün", :mps2 =>  "shiun", :yale =>  "syun", :typy =>  "syun", :pyn =>  "xun"},
{ :zyfh =>  "ㄧㄚ", :wg =>  "ya", :mps2 =>  "ya", :yale =>  "ya", :typy =>  "ya", :pyn =>  "ya"},
{ :zyfh =>  "ㄧㄢ", :wg =>  "yan", :mps2 =>  "yan", :yale =>  "yan", :typy =>  "yan", :pyn =>  "yan"},
{ :zyfh =>  "ㄧㄤ", :wg =>  "yang", :mps2 =>  "yang", :yale =>  "yang", :typy =>  "yang", :pyn =>  "yang"},
{ :zyfh =>  "ㄧㄠ", :wg =>  "yao", :mps2 =>  "yau", :yale =>  "yau", :typy =>  "yao", :pyn =>  "yao"},
{ :zyfh =>  "ㄧㄝ", :wg =>  "yeh", :mps2 =>  "ye", :yale =>  "ye", :typy =>  "ye", :pyn =>  "ye"},
{ :zyfh =>  "ㄧ", :wg =>  "i", :mps2 =>  "yi", :yale =>  "yi", :typy =>  "yi", :pyn =>  "yi"},
{ :zyfh =>  "ㄧㄣ", :wg =>  "yin", :mps2 =>  "yin", :yale =>  "yin", :typy =>  "yin", :pyn =>  "yin"},
{ :zyfh =>  "ㄧㄥ", :wg =>  "ying", :mps2 =>  "ying", :yale =>  "ying", :typy =>  "ying", :pyn =>  "ying"},
{ :zyfh =>  "ㄩㄥ", :wg =>  "yung", :mps2 =>  "yung", :yale =>  "yung", :typy =>  "yong", :pyn =>  "yong"},
{ :zyfh =>  "ㄧㄡ", :wg =>  "yu", :mps2 =>  "you", :yale =>  "you", :typy =>  "you", :pyn =>  "you"},
{ :zyfh =>  "ㄩ", :wg =>  "yü", :mps2 =>  "yu", :yale =>  "yu", :typy =>  "yu", :pyn =>  "yu"},
{ :zyfh =>  "ㄩㄢ", :wg =>  "yüan", :mps2 =>  "yuan", :yale =>  "ywan", :typy =>  "yuan", :pyn =>  "yuan"},
{ :zyfh =>  "ㄩㄝ", :wg =>  "yüeh", :mps2 =>  "yue", :yale =>  "ywe", :typy =>  "yue", :pyn =>  "yue"},
{ :zyfh =>  "ㄩㄣ", :wg =>  "yün", :mps2 =>  "yun", :yale =>  "yun", :typy =>  "yun", :pyn =>  "yun"},
{ :zyfh =>  "ㄗㄚ", :wg =>  "tsa", :mps2 =>  "tza", :yale =>  "dza", :typy =>  "za", :pyn =>  "za"},
{ :zyfh =>  "ㄗㄞ", :wg =>  "tsai", :mps2 =>  "tzai", :yale =>  "dzai", :typy =>  "zai", :pyn =>  "zai"},
{ :zyfh =>  "ㄗㄢ", :wg =>  "tsan", :mps2 =>  "tzan", :yale =>  "dzan", :typy =>  "zan", :pyn =>  "zan"},
{ :zyfh =>  "ㄗㄤ", :wg =>  "tsang", :mps2 =>  "tzang", :yale =>  "dzang", :typy =>  "zang", :pyn =>  "zang"},
{ :zyfh =>  "ㄗㄠ", :wg =>  "tsao", :mps2 =>  "tzau", :yale =>  "dzau", :typy =>  "zao", :pyn =>  "zao"},
{ :zyfh =>  "ㄗㄜ", :wg =>  "tse", :mps2 =>  "tze", :yale =>  "dze", :typy =>  "ze", :pyn =>  "ze"},
{ :zyfh =>  "ㄗㄟ", :wg =>  "tsei", :mps2 =>  "tzei", :yale =>  "dzei", :typy =>  "zei", :pyn =>  "zei"},
{ :zyfh =>  "ㄗㄣ", :wg =>  "tsen", :mps2 =>  "tzen", :yale =>  "dzen", :typy =>  "zen", :pyn =>  "zen"},
{ :zyfh =>  "ㄗㄥ", :wg =>  "tseng", :mps2 =>  "tzeng", :yale =>  "dzeng", :typy =>  "zeng", :pyn =>  "zeng"},
{ :zyfh =>  "ㄓㄚ", :wg =>  "cha", :mps2 =>  "ja", :yale =>  "ja", :typy =>  "jha", :pyn =>  "zha"},
{ :zyfh =>  "ㄓㄞ", :wg =>  "chai", :mps2 =>  "jai", :yale =>  "jai", :typy =>  "jhai", :pyn =>  "zhai"},
{ :zyfh =>  "ㄓㄢ", :wg =>  "chan", :mps2 =>  "jan", :yale =>  "jan", :typy =>  "jhan", :pyn =>  "zhan"},
{ :zyfh =>  "ㄓㄤ", :wg =>  "chang", :mps2 =>  "jang", :yale =>  "jang", :typy =>  "jhang", :pyn =>  "zhang"},
{ :zyfh =>  "ㄓㄠ", :wg =>  "chao", :mps2 =>  "jau", :yale =>  "jau", :typy =>  "jhao", :pyn =>  "zhao"},
{ :zyfh =>  "ㄓㄜ", :wg =>  "che", :mps2 =>  "je", :yale =>  "je", :typy =>  "jhe", :pyn =>  "zhe"},
{ :zyfh =>  "ㄓㄟ", :wg =>  "chei", :mps2 =>  "jei", :yale =>  "jei", :typy =>  "jhei", :pyn =>  "zhei"},
{ :zyfh =>  "ㄓㄣ", :wg =>  "chen", :mps2 =>  "jen", :yale =>  "jen", :typy =>  "jhen", :pyn =>  "zhen"},
{ :zyfh =>  "ㄓㄥ", :wg =>  "cheng", :mps2 =>  "jeng", :yale =>  "jeng", :typy =>  "jheng", :pyn =>  "zheng"},
{ :zyfh =>  "ㄓ", :wg =>  "chih", :mps2 =>  "jr", :yale =>  "jr", :typy =>  "jhih", :pyn =>  "zhi"},
{ :zyfh =>  "ㄓㄨㄥ", :wg =>  "chung", :mps2 =>  "jung", :yale =>  "jung", :typy =>  "jhong", :pyn =>  "zhong"},
{ :zyfh =>  "ㄓㄡ", :wg =>  "chou", :mps2 =>  "jou", :yale =>  "jou", :typy =>  "jhou", :pyn =>  "zhou"},
{ :zyfh =>  "ㄓㄨ", :wg =>  "chu", :mps2 =>  "ju", :yale =>  "ju", :typy =>  "jhu", :pyn =>  "zhu"},
{ :zyfh =>  "ㄓㄨㄚ", :wg =>  "chua", :mps2 =>  "jua", :yale =>  "jwa", :typy =>  "jhua", :pyn =>  "zhua"},
{ :zyfh =>  "ㄓㄨㄞ", :wg =>  "chuai", :mps2 =>  "juai", :yale =>  "jwai", :typy =>  "jhuai", :pyn =>  "zhuai"},
{ :zyfh =>  "ㄓㄨㄢ", :wg =>  "chuan", :mps2 =>  "juan", :yale =>  "jwan", :typy =>  "jhuan", :pyn =>  "zhuan"},
{ :zyfh =>  "ㄓㄨㄤ", :wg =>  "chuang", :mps2 =>  "juang", :yale =>  "jwang", :typy =>  "jhuang", :pyn =>  "zhuang"},
{ :zyfh =>  "ㄓㄨㄟ", :wg =>  "chui", :mps2 =>  "juei", :yale =>  "jwei", :typy =>  "jhuei", :pyn =>  "zhui"},
{ :zyfh =>  "ㄓㄨㄣ", :wg =>  "chun", :mps2 =>  "juen", :yale =>  "jwen", :typy =>  "jhun", :pyn =>  "zhun"},
{ :zyfh =>  "ㄓㄨㄛ", :wg =>  "cho", :mps2 =>  "juo", :yale =>  "jwo", :typy =>  "jhuo", :pyn =>  "zhuo"},
{ :zyfh =>  "ㄗ", :wg =>  "tzu", :mps2 =>  "tz", :yale =>  "dz", :typy =>  "zih", :pyn =>  "zi"},
{ :zyfh =>  "ㄗㄨㄥ", :wg =>  "tsung", :mps2 =>  "tzung", :yale =>  "dzung", :typy =>  "zong", :pyn =>  "zong"},
{ :zyfh =>  "ㄗㄡ", :wg =>  "tsou", :mps2 =>  "tzou", :yale =>  "dzou", :typy =>  "zou", :pyn =>  "zou"},
{ :zyfh =>  "ㄗㄨ", :wg =>  "tsu", :mps2 =>  "tzu", :yale =>  "dzu", :typy =>  "zu", :pyn =>  "zu"},
{ :zyfh =>  "ㄗㄨㄢ", :wg =>  "tsuan", :mps2 =>  "tzuan", :yale =>  "dzwan", :typy =>  "zuan", :pyn =>  "zuan"},
{ :zyfh =>  "ㄗㄨㄟ", :wg =>  "tsui", :mps2 =>  "tzuei", :yale =>  "dzwei", :typy =>  "zuei", :pyn =>  "zui"},
{ :zyfh =>  "ㄗㄨㄣ", :wg =>  "tsun", :mps2 =>  "tzuen", :yale =>  "dzwen", :typy =>  "zun", :pyn =>  "zun"},
{ :zyfh =>  "ㄗㄨㄛ", :wg =>  "tso", :mps2 =>  "tzuo", :yale =>  "dzwo", :typy =>  "zuo", :pyn =>  "zuo"},
{ :zyfh =>  "ㄦ", :wg =>  'rh', :mps2 =>  "r", :yale =>  "r", :typy =>  "r", :pyn =>  "r"}
]

Instance Method Summary collapse

Instance Method Details

#bpmf?(str = nil) ⇒ Boolean Also known as: zyfh?

Public: Checks if a String is Zhuyin Fuhao (a.k.a. bopomofo).

http://en.wikipedia.org/wiki/Bopomofo
http://pinyin.info/romanization/bopomofo/index.html

str - a String. Optional if the object calling the method is a String.

Examples

bpmf?('ㄊㄥ')
# => true

Returns a boolean.

Returns:

  • (Boolean)


53
54
55
56
57
58
# File 'lib/zhongwen_tools/romanization/detect.rb', line 53

def bpmf?(str = nil)
  str ||= self

  bopomofo = str.gsub(/[1-5\s]/,'').gsub(Regex.punc,'')
  bopomofo.scan(Regex.bopomofo).join == bopomofo
end

#py?(str = nil) ⇒ Boolean

Public: checks if a string is pinyin.

http://en.wikipedia.org/wiki/Pinyin

Examples

py?('nǐ hǎo')
# => true

Returns Boolean.

Returns:

  • (Boolean)


21
22
23
24
25
26
# File 'lib/zhongwen_tools/romanization/detect.rb', line 21

def py?(str = nil)
  str ||= self

  # NOTE: py regex does not include capitals with tones.
  String.downcase(str).gsub(Regex.punc,'').gsub(Regex.py, '').gsub(/[\s\-]/,'').strip == ''
end

#pyn?(str = nil) ⇒ Boolean

Public: checks if a string is pinyin.

Examples

pyn?('pin1-yin1')
# => true

Returns Boolean.

Returns:

  • (Boolean)


35
36
37
38
39
# File 'lib/zhongwen_tools/romanization/detect.rb', line 35

def pyn?(str = nil)
  str ||= self

  str.gsub(Regex.punc,'').gsub(Regex.pyn, '').gsub(/[\s\-]/,'').strip == ''
end

#romanization?(str = nil) ⇒ Boolean

Public: Checks the srings romanizaiton. It always assumes the first correct result is the correct result.

This can sometimes provide sub-optimal results
e.g.
  'chuei niou'.romanization? #=> :pyn
  'chuei niou'.pyn? == true # this is correct because ['chu', 'ei', 'ni', 'ou'] are all valid pinyin
                            # but the best fit for 'chuei niou' should be :typy.
But this is not considered a major issue because most of the time pyn / py will be used. It could be
extended to try and figure out the best option, maybe by comparing the syllable length of each
valid romanization.

str - a String. Optional if the object calling the method is a String.

Examples

'hao3'.romanization? #=> :pyn

Returns a Symbol for the romanization type.

Returns:

  • (Boolean)


103
104
105
106
107
108
109
# File 'lib/zhongwen_tools/romanization/detect.rb', line 103

def romanization?(str = nil)
  str ||= self

  [:pyn, :py, :zyfh, :wg, :typy, :yale, :msp2].find do |type|
    self.send("#{type}?", str)
  end
end

#split_pyn(str = nil) ⇒ Object

Public: splits pinyin number strings.

str - a String to be split

Examples

split_pyn('zhong1guo2')
# => ['zhong1', 'guo2']

Returns an Array of Strings.



16
17
18
19
20
21
# File 'lib/zhongwen_tools/romanization/string.rb', line 16

def split_pyn(str = nil)
  str ||= self
  puts "WARNING: string is not valid pinyin-num format. #{str}" unless str.pyn?

  str.scan(/(#{ZhongwenTools::Regex.pyn})/).map{ |arr| arr[0].strip.gsub('-','') }.flatten
end