Module: ZhongwenTools::Romanization

Defined in:
lib/zhongwen_tools/romanization.rb,
lib/zhongwen_tools/romanization/detect.rb,
lib/zhongwen_tools/romanization/pyn_to_py.rb,
lib/zhongwen_tools/romanization/conversion_table.rb

Constant Summary collapse

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

Instance Method Summary collapse

Instance Method Details

#pyn?(str = nil) ⇒ Boolean

Public: checks if a string is pinyin.

Examples

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

Returns Boolean.



28
29
30
31
32
# File 'lib/zhongwen_tools/romanization/detect.rb', line 28

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

  str.gsub(PINYIN_REGEX,'') == ''
end

#to_bopomofo(*args) ⇒ Object Also known as: to_zhyfh, to_zhuyin, to_zhuyin_fuhao, to_bpmf



14
15
16
17
18
# File 'lib/zhongwen_tools/romanization.rb', line 14

def to_bopomofo *args
  str, from = _romanization_options(args)

  _convert_romanization str, :zyfh, from
end

#to_pinyin(*args) ⇒ Object Also known as: to_py



8
9
10
11
12
# File 'lib/zhongwen_tools/romanization.rb', line 8

def to_pinyin(*args)
  str, from = _romanization_options(args)

  _convert_romanization str, :py, from
end

#to_typy(*args) ⇒ Object Also known as: to_tongyong



30
31
32
33
# File 'lib/zhongwen_tools/romanization.rb', line 30

def to_typy(*args)
  str, from = _romanization_options(args)
  _convert_romanization str, :typy, from
end

#to_wade_giles(*args) ⇒ Object Also known as: to_wg



25
26
27
28
# File 'lib/zhongwen_tools/romanization.rb', line 25

def to_wade_giles(*args)
  str, from = _romanization_options(args)
  _convert_romanization str, :wg, from
end

#to_yale(*args) ⇒ Object



20
21
22
23
# File 'lib/zhongwen_tools/romanization.rb', line 20

def to_yale(*args)
  str, from = _romanization_options(args)
  _convert_romanization str, :yale, from
end

#wg?(str = nil) ⇒ Boolean

Public: checks if a string is wade-giles.

Examples

wg?('pin1-yin1')
# => false

There are some situations where wg == pyn, but there’s no way to differentiate the two.



40
41
42
43
44
45
46
47
48
# File 'lib/zhongwen_tools/romanization/detect.rb', line 40

def wg?(str = nil)
  #it shouldn't be pyn, but it should be able to conver to pyn
  str ||= self
  #easy ones.. is it py? pyn? zyfh? gyrm?
  #harder ones: is it typy, msp2, yale, wg
  wg = str._convert_romanization(str, :wg, :pyn) 

  wg != pyn && wg.gsub(/[1-5]/,'')
end