#--- forward filter, transforms ----
# currently in reverse it only goes back to Latin with numeric tones (not sure why); ok but would rather have marks.
#
:: [[:Latin:][:Mn:][1-5]]; # forward filter: only modifies Latin and tone marks/digits
#
#--- remap v (alternate for ü) to ü, one way ----
[ln] { v → ü;
#
:: Latin-NumericPinyin(NumericPinyin-Latin); # tone marks in middle ↔ digits at end to use numeric below; this leaves the pinyin in NFC
#
#--- variables ----
#
# basic pinyin and zhuyin consonant initials (not including vowel initials):
$pCons = [b p m f d t n l g k h j q x r z c s]; # and zh ch sh, covered for this by h already in the set
$zCons = [ㄅ-ㄙ];
#
# pinyin and zhuyin minus basic consonant initials that cannot take tones by themselves
# (in some cases the exclusion is only for the pinyin, not the corresponding zhuyin: zh ch sh r z c s)
$pToneOK = [[a-z] - [b p f d t l g k h j q x r z c s]]; # and minus zh ch sh, covered for this by h already in the exclusion set
$zToneOK = [[ㄅ-ㄩ] - [ㄅ ㄆ ㄈ ㄉ ㄊ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ ㄒ]];
#
# basic consonant initials that can take tones by themselves
# (in some cases this is only for the zhuyin, not the corresponding pinyin: ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ)
# $pConsToneOK = [m n];
# $zConsToneOK = [ㄇ ㄋ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ];
#
# basic numeric pinyin and zhuyin tones
$pTone = [1-5];
$zTone = [ˉˊˇˋ˙];
#
#--- clusters with initial consonant ----
#
bang }$pTone ↔ ㄅㄤ }$zTone;
bang → ㄅㄤ˙;
bang1 ← ㄅㄤ;
beng }$pTone ↔ ㄅㄥ }$zTone;
beng → ㄅㄥ˙;
beng1 ← ㄅㄥ;
biao }$pTone ↔ ㄅㄧㄠ }$zTone;
biao → ㄅㄧㄠ˙;
biao1 ← ㄅㄧㄠ;
bian }$pTone ↔ ㄅㄧㄢ }$zTone;
bian → ㄅㄧㄢ˙;
bian1 ← ㄅㄧㄢ;
bing }$pTone ↔ ㄅㄧㄥ }$zTone;
bing → ㄅㄧㄥ˙;
bing1 ← ㄅㄧㄥ;
bai }$pTone ↔ ㄅㄞ }$zTone;
bai → ㄅㄞ˙;
bai1 ← ㄅㄞ;
bei }$pTone ↔ ㄅㄟ }$zTone;
bei → ㄅㄟ˙;
bei1 ← ㄅㄟ;
bao }$pTone ↔ ㄅㄠ }$zTone;
bao → ㄅㄠ˙;
bao1 ← ㄅㄠ;
ban }$pTone ↔ ㄅㄢ }$zTone;
ban → ㄅㄢ˙;
ban1 ← ㄅㄢ;
ben }$pTone ↔ ㄅㄣ }$zTone;
ben → ㄅㄣ˙;
ben1 ← ㄅㄣ;
bie }$pTone ↔ ㄅㄧㄝ }$zTone;
bie → ㄅㄧㄝ˙;
bie1 ← ㄅㄧㄝ;
bin }$pTone ↔ ㄅㄧㄣ }$zTone;
bin → ㄅㄧㄣ˙;
bin1 ← ㄅㄧㄣ;
bun }$pTone ↔ ㄅㄨㄣ }$zTone;
bun → ㄅㄨㄣ˙;
bun1 ← ㄅㄨㄣ;
ba }$pTone ↔ ㄅㄚ }$zTone;
ba → ㄅㄚ˙;
ba1 ← ㄅㄚ;
bo }$pTone ↔ ㄅㄛ }$zTone;
bo → ㄅㄛ˙;
bo1 ← ㄅㄛ;
bi }$pTone ↔ ㄅㄧ }$zTone;
bi → ㄅㄧ˙;
bi1 ← ㄅㄧ;
bu }$pTone ↔ ㄅㄨ }$zTone;
bu → ㄅㄨ˙;
bu1 ← ㄅㄨ;
#
pang }$pTone ↔ ㄆㄤ }$zTone;
pang → ㄆㄤ˙;
pang1 ← ㄆㄤ;
peng }$pTone ↔ ㄆㄥ }$zTone;
peng → ㄆㄥ˙;
peng1 ← ㄆㄥ;
piao }$pTone ↔ ㄆㄧㄠ }$zTone;
piao → ㄆㄧㄠ˙;
piao1 ← ㄆㄧㄠ;
pian }$pTone ↔ ㄆㄧㄢ }$zTone;
pian → ㄆㄧㄢ˙;
pian1 ← ㄆㄧㄢ;
ping }$pTone ↔ ㄆㄧㄥ }$zTone;
ping → ㄆㄧㄥ˙;
ping1 ← ㄆㄧㄥ;
pai }$pTone ↔ ㄆㄞ }$zTone;
pai → ㄆㄞ˙;
pai1 ← ㄆㄞ;
pei }$pTone ↔ ㄆㄟ }$zTone;
pei → ㄆㄟ˙;
pei1 ← ㄆㄟ;
pao }$pTone ↔ ㄆㄠ }$zTone;
pao → ㄆㄠ˙;
pao1 ← ㄆㄠ;
pou }$pTone ↔ ㄆㄡ }$zTone;
pou → ㄆㄡ˙;
pou1 ← ㄆㄡ;
pan }$pTone ↔ ㄆㄢ }$zTone;
pan → ㄆㄢ˙;
pan1 ← ㄆㄢ;
pen }$pTone ↔ ㄆㄣ }$zTone;
pen → ㄆㄣ˙;
pen1 ← ㄆㄣ;
pie }$pTone ↔ ㄆㄧㄝ }$zTone;
pie → ㄆㄧㄝ˙;
pie1 ← ㄆㄧㄝ;
pin }$pTone ↔ ㄆㄧㄣ }$zTone;
pin → ㄆㄧㄣ˙;
pin1 ← ㄆㄧㄣ;
pa }$pTone ↔ ㄆㄚ }$zTone;
pa → ㄆㄚ˙;
pa1 ← ㄆㄚ;
po }$pTone ↔ ㄆㄛ }$zTone;
po → ㄆㄛ˙;
po1 ← ㄆㄛ;
pi }$pTone ↔ ㄆㄧ }$zTone;
pi → ㄆㄧ˙;
pi1 ← ㄆㄧ;
pu }$pTone ↔ ㄆㄨ }$zTone;
pu → ㄆㄨ˙;
pu1 ← ㄆㄨ;
#
mang }$pTone ↔ ㄇㄤ }$zTone;
mang → ㄇㄤ˙;
mang1 ← ㄇㄤ;
meng }$pTone ↔ ㄇㄥ }$zTone;
meng → ㄇㄥ˙;
meng1 ← ㄇㄥ;
miao }$pTone ↔ ㄇㄧㄠ }$zTone;
miao → ㄇㄧㄠ˙;
miao1 ← ㄇㄧㄠ;
mian }$pTone ↔ ㄇㄧㄢ }$zTone;
mian → ㄇㄧㄢ˙;
mian1 ← ㄇㄧㄢ;
ming }$pTone ↔ ㄇㄧㄥ }$zTone;
ming → ㄇㄧㄥ˙;
ming1 ← ㄇㄧㄥ;
mai }$pTone ↔ ㄇㄞ }$zTone;
mai → ㄇㄞ˙;
mai1 ← ㄇㄞ;
mei }$pTone ↔ ㄇㄟ }$zTone;
mei → ㄇㄟ˙;
mei1 ← ㄇㄟ;
mao }$pTone ↔ ㄇㄠ }$zTone;
mao → ㄇㄠ˙;
mao1 ← ㄇㄠ;
mou }$pTone ↔ ㄇㄡ }$zTone;
mou → ㄇㄡ˙;
mou1 ← ㄇㄡ;
man }$pTone ↔ ㄇㄢ }$zTone;
man → ㄇㄢ˙;
man1 ← ㄇㄢ;
men }$pTone ↔ ㄇㄣ }$zTone;
men → ㄇㄣ˙;
men1 ← ㄇㄣ;
mie }$pTone ↔ ㄇㄧㄝ }$zTone;
mie → ㄇㄧㄝ˙;
mie1 ← ㄇㄧㄝ;
miu }$pTone ↔ ㄇㄧㄡ }$zTone;
miu → ㄇㄧㄡ˙;
miu1 ← ㄇㄧㄡ;
min }$pTone ↔ ㄇㄧㄣ }$zTone;
min → ㄇㄧㄣ˙;
min1 ← ㄇㄧㄣ;
ma }$pTone ↔ ㄇㄚ }$zTone;
ma → ㄇㄚ˙;
ma1 ← ㄇㄚ;
mo }$pTone ↔ ㄇㄛ }$zTone;
mo → ㄇㄛ˙;
mo1 ← ㄇㄛ;
me }$pTone ↔ ㄇㄜ }$zTone;
me → ㄇㄜ˙;
me1 ← ㄇㄜ;
mi }$pTone ↔ ㄇㄧ }$zTone;
mi → ㄇㄧ˙;
mi1 ← ㄇㄧ;
mu }$pTone ↔ ㄇㄨ }$zTone;
mu → ㄇㄨ˙;
mu1 ← ㄇㄨ;
# m handled below
#
fang }$pTone ↔ ㄈㄤ }$zTone;
fang → ㄈㄤ˙;
fang1 ← ㄈㄤ;
feng }$pTone ↔ ㄈㄥ }$zTone;
feng → ㄈㄥ˙;
feng1 ← ㄈㄥ;
fiao }$pTone ↔ ㄈㄧㄠ }$zTone;
fiao → ㄈㄧㄠ˙;
fiao1 ← ㄈㄧㄠ;
fei }$pTone ↔ ㄈㄟ }$zTone;
fei → ㄈㄟ˙;
fei1 ← ㄈㄟ;
fou }$pTone ↔ ㄈㄡ }$zTone;
fou → ㄈㄡ˙;
fou1 ← ㄈㄡ;
fan }$pTone ↔ ㄈㄢ }$zTone;
fan → ㄈㄢ˙;
fan1 ← ㄈㄢ;
fen }$pTone ↔ ㄈㄣ }$zTone;
fen → ㄈㄣ˙;
fen1 ← ㄈㄣ;
fa }$pTone ↔ ㄈㄚ }$zTone;
fa → ㄈㄚ˙;
fa1 ← ㄈㄚ;
fo }$pTone ↔ ㄈㄛ }$zTone;
fo → ㄈㄛ˙;
fo1 ← ㄈㄛ;
fu }$pTone ↔ ㄈㄨ }$zTone;
fu → ㄈㄨ˙;
fu1 ← ㄈㄨ;
#
diang }$pTone ↔ ㄉㄧㄤ }$zTone; # (not in han-latin)
diang → ㄉㄧㄤ˙;
diang1 ← ㄉㄧㄤ;
dang }$pTone ↔ ㄉㄤ }$zTone;
dang → ㄉㄤ˙;
dang1 ← ㄉㄤ;
deng }$pTone ↔ ㄉㄥ }$zTone;
deng → ㄉㄥ˙;
deng1 ← ㄉㄥ;
diao }$pTone ↔ ㄉㄧㄠ }$zTone;
diao → ㄉㄧㄠ˙;
diao1 ← ㄉㄧㄠ;
dian }$pTone ↔ ㄉㄧㄢ }$zTone;
dian → ㄉㄧㄢ˙;
dian1 ← ㄉㄧㄢ;
ding }$pTone ↔ ㄉㄧㄥ }$zTone;
ding → ㄉㄧㄥ˙;
ding1 ← ㄉㄧㄥ;
duan }$pTone ↔ ㄉㄨㄢ }$zTone;
duan → ㄉㄨㄢ˙;
duan1 ← ㄉㄨㄢ;
dong }$pTone ↔ ㄉㄨㄥ }$zTone;
dong → ㄉㄨㄥ˙;
dong1 ← ㄉㄨㄥ;
dai }$pTone ↔ ㄉㄞ }$zTone;
dai → ㄉㄞ˙;
dai1 ← ㄉㄞ;
dei }$pTone ↔ ㄉㄟ }$zTone; # (not in han-latin)
dei → ㄉㄟ˙;
dei1 ← ㄉㄟ;
dao }$pTone ↔ ㄉㄠ }$zTone;
dao → ㄉㄠ˙;
dao1 ← ㄉㄠ;
dou }$pTone ↔ ㄉㄡ }$zTone;
dou → ㄉㄡ˙;
dou1 ← ㄉㄡ;
dan }$pTone ↔ ㄉㄢ }$zTone;
dan → ㄉㄢ˙;
dan1 ← ㄉㄢ;
den }$pTone ↔ ㄉㄣ }$zTone;
den → ㄉㄣ˙;
den1 ← ㄉㄣ;
dia }$pTone ↔ ㄉㄧㄚ }$zTone;
dia → ㄉㄧㄚ˙;
dia1 ← ㄉㄧㄚ;
die }$pTone ↔ ㄉㄧㄝ }$zTone;
die → ㄉㄧㄝ˙;
die1 ← ㄉㄧㄝ;
diu }$pTone ↔ ㄉㄧㄡ }$zTone;
diu → ㄉㄧㄡ˙;
diu1 ← ㄉㄧㄡ;
din }$pTone ↔ ㄉㄧㄣ }$zTone;
din → ㄉㄧㄣ˙;
din1 ← ㄉㄧㄣ;
duo }$pTone ↔ ㄉㄨㄛ }$zTone;
duo → ㄉㄨㄛ˙;
duo1 ← ㄉㄨㄛ;
dui }$pTone ↔ ㄉㄨㄟ }$zTone;
dui → ㄉㄨㄟ˙;
dui1 ← ㄉㄨㄟ;
dun }$pTone ↔ ㄉㄨㄣ }$zTone;
dun → ㄉㄨㄣ˙;
dun1 ← ㄉㄨㄣ;
da }$pTone ↔ ㄉㄚ }$zTone;
da → ㄉㄚ˙;
da1 ← ㄉㄚ;
de }$pTone ↔ ㄉㄜ }$zTone;
de → ㄉㄜ˙;
de1 ← ㄉㄜ;
di }$pTone ↔ ㄉㄧ }$zTone;
di → ㄉㄧ˙;
di1 ← ㄉㄧ;
du }$pTone ↔ ㄉㄨ }$zTone;
du → ㄉㄨ˙;
du1 ← ㄉㄨ;
#
tang }$pTone ↔ ㄊㄤ }$zTone;
tang → ㄊㄤ˙;
tang1 ← ㄊㄤ;
teng }$pTone ↔ ㄊㄥ }$zTone;
teng → ㄊㄥ˙;
teng1 ← ㄊㄥ;
tiao }$pTone ↔ ㄊㄧㄠ }$zTone;
tiao → ㄊㄧㄠ˙;
tiao1 ← ㄊㄧㄠ;
tian }$pTone ↔ ㄊㄧㄢ }$zTone;
tian → ㄊㄧㄢ˙;
tian1 ← ㄊㄧㄢ;
ting }$pTone ↔ ㄊㄧㄥ }$zTone;
ting → ㄊㄧㄥ˙;
ting1 ← ㄊㄧㄥ;
tuan }$pTone ↔ ㄊㄨㄢ }$zTone;
tuan → ㄊㄨㄢ˙;
tuan1 ← ㄊㄨㄢ;
tong }$pTone ↔ ㄊㄨㄥ }$zTone;
tong → ㄊㄨㄥ˙;
tong1 ← ㄊㄨㄥ;
tai }$pTone ↔ ㄊㄞ }$zTone;
tai → ㄊㄞ˙;
tai1 ← ㄊㄞ;
tao }$pTone ↔ ㄊㄠ }$zTone;
tao → ㄊㄠ˙;
tao1 ← ㄊㄠ;
tou }$pTone ↔ ㄊㄡ }$zTone;
tou → ㄊㄡ˙;
tou1 ← ㄊㄡ;
tan }$pTone ↔ ㄊㄢ }$zTone;
tan → ㄊㄢ˙;
tan1 ← ㄊㄢ;
tie }$pTone ↔ ㄊㄧㄝ }$zTone;
tie → ㄊㄧㄝ˙;
tie1 ← ㄊㄧㄝ;
tuo }$pTone ↔ ㄊㄨㄛ }$zTone;
tuo → ㄊㄨㄛ˙;
tuo1 ← ㄊㄨㄛ;
tui }$pTone ↔ ㄊㄨㄟ }$zTone;
tui → ㄊㄨㄟ˙;
tui1 ← ㄊㄨㄟ;
tun }$pTone ↔ ㄊㄨㄣ }$zTone;
tun → ㄊㄨㄣ˙;
tun1 ← ㄊㄨㄣ;
ta }$pTone ↔ ㄊㄚ }$zTone;
ta → ㄊㄚ˙;
ta1 ← ㄊㄚ;
te }$pTone ↔ ㄊㄜ }$zTone;
te → ㄊㄜ˙;
te1 ← ㄊㄜ;
ti }$pTone ↔ ㄊㄧ }$zTone;
ti → ㄊㄧ˙;
ti1 ← ㄊㄧ;
tu }$pTone ↔ ㄊㄨ }$zTone;
tu → ㄊㄨ˙;
tu1 ← ㄊㄨ;
#
niang }$pTone ↔ ㄋㄧㄤ }$zTone;
niang → ㄋㄧㄤ˙;
niang1 ← ㄋㄧㄤ;
nang }$pTone ↔ ㄋㄤ }$zTone;
nang → ㄋㄤ˙;
nang1 ← ㄋㄤ;
neng }$pTone ↔ ㄋㄥ }$zTone;
neng → ㄋㄥ˙;
neng1 ← ㄋㄥ;
niao }$pTone ↔ ㄋㄧㄠ }$zTone;
niao → ㄋㄧㄠ˙;
niao1 ← ㄋㄧㄠ;
nian }$pTone ↔ ㄋㄧㄢ }$zTone;
nian → ㄋㄧㄢ˙;
nian1 ← ㄋㄧㄢ;
ning }$pTone ↔ ㄋㄧㄥ }$zTone;
ning → ㄋㄧㄥ˙;
ning1 ← ㄋㄧㄥ;
nuan }$pTone ↔ ㄋㄨㄢ }$zTone;
nuan → ㄋㄨㄢ˙;
nuan1 ← ㄋㄨㄢ;
nong }$pTone ↔ ㄋㄨㄥ }$zTone;
nong → ㄋㄨㄥ˙;
nong1 ← ㄋㄨㄥ;
nai }$pTone ↔ ㄋㄞ }$zTone;
nai → ㄋㄞ˙;
nai1 ← ㄋㄞ;
nei }$pTone ↔ ㄋㄟ }$zTone;
nei → ㄋㄟ˙;
nei1 ← ㄋㄟ;
nao }$pTone ↔ ㄋㄠ }$zTone;
nao → ㄋㄠ˙;
nao1 ← ㄋㄠ;
nou }$pTone ↔ ㄋㄡ }$zTone;
nou → ㄋㄡ˙;
nou1 ← ㄋㄡ;
nan }$pTone ↔ ㄋㄢ }$zTone;
nan → ㄋㄢ˙;
nan1 ← ㄋㄢ;
nen }$pTone ↔ ㄋㄣ }$zTone;
nen → ㄋㄣ˙;
nen1 ← ㄋㄣ;
nia }$pTone ↔ ㄋㄧㄚ }$zTone; # (not in han-latin)
nia → ㄋㄧㄚ˙;
nia1 ← ㄋㄧㄚ;
nie }$pTone ↔ ㄋㄧㄝ }$zTone;
nie → ㄋㄧㄝ˙;
nie1 ← ㄋㄧㄝ;
niu }$pTone ↔ ㄋㄧㄡ }$zTone;
niu → ㄋㄧㄡ˙;
niu1 ← ㄋㄧㄡ;
nin }$pTone ↔ ㄋㄧㄣ }$zTone;
nin → ㄋㄧㄣ˙;
nin1 ← ㄋㄧㄣ;
nuo }$pTone ↔ ㄋㄨㄛ }$zTone;
nuo → ㄋㄨㄛ˙;
nuo1 ← ㄋㄨㄛ;
nun }$pTone ↔ ㄋㄨㄣ }$zTone;
nun → ㄋㄨㄣ˙;
nun1 ← ㄋㄨㄣ;
nüe }$pTone ↔ ㄋㄩㄝ }$zTone;
nüe → ㄋㄩㄝ˙;
nüe1 ← ㄋㄩㄝ;
nue }$pTone → ㄋㄩㄝ; # (not in han-latin) one-way, handle wrong u
nue → ㄋㄩㄝ˙;
na }$pTone ↔ ㄋㄚ }$zTone;
na → ㄋㄚ˙;
na1 ← ㄋㄚ;
ne }$pTone ↔ ㄋㄜ }$zTone;
ne → ㄋㄜ˙;
ne1 ← ㄋㄜ;
ni }$pTone ↔ ㄋㄧ }$zTone;
ni → ㄋㄧ˙;
ni1 ← ㄋㄧ;
nu }$pTone ↔ ㄋㄨ }$zTone;
nu → ㄋㄨ˙;
nu1 ← ㄋㄨ;
nü }$pTone ↔ ㄋㄩ }$zTone;
nü → ㄋㄩ˙;
nü1 ← ㄋㄩ;
# n handled below
#
liang }$pTone ↔ ㄌㄧㄤ }$zTone;
liang → ㄌㄧㄤ˙;
liang1 ← ㄌㄧㄤ;
lang }$pTone ↔ ㄌㄤ }$zTone;
lang → ㄌㄤ˙;
lang1 ← ㄌㄤ;
leng }$pTone ↔ ㄌㄥ }$zTone;
leng → ㄌㄥ˙;
leng1 ← ㄌㄥ;
liao }$pTone ↔ ㄌㄧㄠ }$zTone;
liao → ㄌㄧㄠ˙;
liao1 ← ㄌㄧㄠ;
lian }$pTone ↔ ㄌㄧㄢ }$zTone;
lian → ㄌㄧㄢ˙;
lian1 ← ㄌㄧㄢ;
ling }$pTone ↔ ㄌㄧㄥ }$zTone;
ling → ㄌㄧㄥ˙;
ling1 ← ㄌㄧㄥ;
luan }$pTone ↔ ㄌㄨㄢ }$zTone;
luan → ㄌㄨㄢ˙;
luan1 ← ㄌㄨㄢ;
long }$pTone ↔ ㄌㄨㄥ }$zTone;
long → ㄌㄨㄥ˙;
long1 ← ㄌㄨㄥ;
lüan }$pTone ↔ ㄌㄩㄢ }$zTone; # (not in han-latin)
lüan → ㄌㄩㄢ˙;
lüan1 ← ㄌㄩㄢ;
lai }$pTone ↔ ㄌㄞ }$zTone;
lai → ㄌㄞ˙;
lai1 ← ㄌㄞ;
lei }$pTone ↔ ㄌㄟ }$zTone;
lei → ㄌㄟ˙;
lei1 ← ㄌㄟ;
lao }$pTone ↔ ㄌㄠ }$zTone;
lao → ㄌㄠ˙;
lao1 ← ㄌㄠ;
lou }$pTone ↔ ㄌㄡ }$zTone;
lou → ㄌㄡ˙;
lou1 ← ㄌㄡ;
lan }$pTone ↔ ㄌㄢ }$zTone;
lan → ㄌㄢ˙;
lan1 ← ㄌㄢ;
lia }$pTone ↔ ㄌㄧㄚ }$zTone;
lia → ㄌㄧㄚ˙;
lia1 ← ㄌㄧㄚ;
lie }$pTone ↔ ㄌㄧㄝ }$zTone;
lie → ㄌㄧㄝ˙;
lie1 ← ㄌㄧㄝ;
liu }$pTone ↔ ㄌㄧㄡ }$zTone;
liu → ㄌㄧㄡ˙;
liu1 ← ㄌㄧㄡ;
lin }$pTone ↔ ㄌㄧㄣ }$zTone;
lin → ㄌㄧㄣ˙;
lin1 ← ㄌㄧㄣ;
luo }$pTone ↔ ㄌㄨㄛ }$zTone;
luo → ㄌㄨㄛ˙;
luo1 ← ㄌㄨㄛ;
lun }$pTone ↔ ㄌㄨㄣ }$zTone;
lun → ㄌㄨㄣ˙;
lun1 ← ㄌㄨㄣ;
lüe }$pTone ↔ ㄌㄩㄝ }$zTone;
lüe → ㄌㄩㄝ˙;
lüe1 ← ㄌㄩㄝ;
lue }$pTone → ㄌㄩㄝ; # (not in han-latin) one-way, handle wrong u
lue → ㄌㄩㄝ˙;
la }$pTone ↔ ㄌㄚ }$zTone;
la → ㄌㄚ˙;
la1 ← ㄌㄚ;
lo }$pTone ↔ ㄌㄛ }$zTone;
lo → ㄌㄛ˙;
lo1 ← ㄌㄛ;
le }$pTone ↔ ㄌㄜ }$zTone;
le → ㄌㄜ˙;
le1 ← ㄌㄜ;
li }$pTone ↔ ㄌㄧ }$zTone;
li → ㄌㄧ˙;
li1 ← ㄌㄧ;
lu }$pTone ↔ ㄌㄨ }$zTone;
lu → ㄌㄨ˙;
lu1 ← ㄌㄨ;
lü }$pTone ↔ ㄌㄩ }$zTone;
lü → ㄌㄩ˙;
lü1 ← ㄌㄩ;
#
guang }$pTone ↔ ㄍㄨㄤ }$zTone;
guang → ㄍㄨㄤ˙;
guang1 ← ㄍㄨㄤ;
gang }$pTone ↔ ㄍㄤ }$zTone;
gang → ㄍㄤ˙;
gang1 ← ㄍㄤ;
geng }$pTone ↔ ㄍㄥ }$zTone;
geng → ㄍㄥ˙;
geng1 ← ㄍㄥ;
guai }$pTone ↔ ㄍㄨㄞ }$zTone;
guai → ㄍㄨㄞ˙;
guai1 ← ㄍㄨㄞ;
guan }$pTone ↔ ㄍㄨㄢ }$zTone;
guan → ㄍㄨㄢ˙;
guan1 ← ㄍㄨㄢ;
gong }$pTone ↔ ㄍㄨㄥ }$zTone;
gong → ㄍㄨㄥ˙;
gong1 ← ㄍㄨㄥ;
gai }$pTone ↔ ㄍㄞ }$zTone;
gai → ㄍㄞ˙;
gai1 ← ㄍㄞ;
gei }$pTone ↔ ㄍㄟ }$zTone;
gei → ㄍㄟ˙;
gei1 ← ㄍㄟ;
gao }$pTone ↔ ㄍㄠ }$zTone;
gao → ㄍㄠ˙;
gao1 ← ㄍㄠ;
gou }$pTone ↔ ㄍㄡ }$zTone;
gou → ㄍㄡ˙;
gou1 ← ㄍㄡ;
gan }$pTone ↔ ㄍㄢ }$zTone;
gan → ㄍㄢ˙;
gan1 ← ㄍㄢ;
gen }$pTone ↔ ㄍㄣ }$zTone;
gen → ㄍㄣ˙;
gen1 ← ㄍㄣ;
gua }$pTone ↔ ㄍㄨㄚ }$zTone;
gua → ㄍㄨㄚ˙;
gua1 ← ㄍㄨㄚ;
guo }$pTone ↔ ㄍㄨㄛ }$zTone;
guo → ㄍㄨㄛ˙;
guo1 ← ㄍㄨㄛ;
gui }$pTone ↔ ㄍㄨㄟ }$zTone;
gui → ㄍㄨㄟ˙;
gui1 ← ㄍㄨㄟ;
gun }$pTone ↔ ㄍㄨㄣ }$zTone;
gun → ㄍㄨㄣ˙;
gun1 ← ㄍㄨㄣ;
ga }$pTone ↔ ㄍㄚ }$zTone;
ga → ㄍㄚ˙;
ga1 ← ㄍㄚ;
ge }$pTone ↔ ㄍㄜ }$zTone;
ge → ㄍㄜ˙;
ge1 ← ㄍㄜ;
gi }$pTone ↔ ㄍㄧ }$zTone;
gi → ㄍㄧ˙;
gi1 ← ㄍㄧ;
gu }$pTone ↔ ㄍㄨ }$zTone;
gu → ㄍㄨ˙;
gu1 ← ㄍㄨ;
#
kuang }$pTone ↔ ㄎㄨㄤ }$zTone;
kuang → ㄎㄨㄤ˙;
kuang1 ← ㄎㄨㄤ;
kang }$pTone ↔ ㄎㄤ }$zTone;
kang → ㄎㄤ˙;
kang1 ← ㄎㄤ;
keng }$pTone ↔ ㄎㄥ }$zTone;
keng → ㄎㄥ˙;
keng1 ← ㄎㄥ;
kuai }$pTone ↔ ㄎㄨㄞ }$zTone;
kuai → ㄎㄨㄞ˙;
kuai1 ← ㄎㄨㄞ;
kuan }$pTone ↔ ㄎㄨㄢ }$zTone;
kuan → ㄎㄨㄢ˙;
kuan1 ← ㄎㄨㄢ;
kong }$pTone ↔ ㄎㄨㄥ }$zTone;
kong → ㄎㄨㄥ˙;
kong1 ← ㄎㄨㄥ;
kai }$pTone ↔ ㄎㄞ }$zTone;
kai → ㄎㄞ˙;
kai1 ← ㄎㄞ;
kao }$pTone ↔ ㄎㄠ }$zTone;
kao → ㄎㄠ˙;
kao1 ← ㄎㄠ;
kou }$pTone ↔ ㄎㄡ }$zTone;
kou → ㄎㄡ˙;
kou1 ← ㄎㄡ;
kan }$pTone ↔ ㄎㄢ }$zTone;
kan → ㄎㄢ˙;
kan1 ← ㄎㄢ;
ken }$pTone ↔ ㄎㄣ }$zTone;
ken → ㄎㄣ˙;
ken1 ← ㄎㄣ;
kua }$pTone ↔ ㄎㄨㄚ }$zTone;
kua → ㄎㄨㄚ˙;
kua1 ← ㄎㄨㄚ;
kuo }$pTone ↔ ㄎㄨㄛ }$zTone;
kuo → ㄎㄨㄛ˙;
kuo1 ← ㄎㄨㄛ;
kui }$pTone ↔ ㄎㄨㄟ }$zTone;
kui → ㄎㄨㄟ˙;
kui1 ← ㄎㄨㄟ;
kun }$pTone ↔ ㄎㄨㄣ }$zTone;
kun → ㄎㄨㄣ˙;
kun1 ← ㄎㄨㄣ;
ka }$pTone ↔ ㄎㄚ }$zTone;
ka → ㄎㄚ˙;
ka1 ← ㄎㄚ;
ke }$pTone ↔ ㄎㄜ }$zTone;
ke → ㄎㄜ˙;
ke1 ← ㄎㄜ;
ku }$pTone ↔ ㄎㄨ }$zTone;
ku → ㄎㄨ˙;
ku1 ← ㄎㄨ;
#
huang }$pTone ↔ ㄏㄨㄤ }$zTone;
huang → ㄏㄨㄤ˙;
huang1 ← ㄏㄨㄤ;
hang }$pTone ↔ ㄏㄤ }$zTone;
hang → ㄏㄤ˙;
hang1 ← ㄏㄤ;
heng }$pTone ↔ ㄏㄥ }$zTone;
heng → ㄏㄥ˙;
heng1 ← ㄏㄥ;
huai }$pTone ↔ ㄏㄨㄞ }$zTone;
huai → ㄏㄨㄞ˙;
huai1 ← ㄏㄨㄞ;
huan }$pTone ↔ ㄏㄨㄢ }$zTone;
huan → ㄏㄨㄢ˙;
huan1 ← ㄏㄨㄢ;
hong }$pTone ↔ ㄏㄨㄥ }$zTone;
hong → ㄏㄨㄥ˙;
hong1 ← ㄏㄨㄥ;
hai }$pTone ↔ ㄏㄞ }$zTone;
hai → ㄏㄞ˙;
hai1 ← ㄏㄞ;
hei }$pTone ↔ ㄏㄟ }$zTone;
hei → ㄏㄟ˙;
hei1 ← ㄏㄟ;
hao }$pTone ↔ ㄏㄠ }$zTone;
hao → ㄏㄠ˙;
hao1 ← ㄏㄠ;
hou }$pTone ↔ ㄏㄡ }$zTone;
hou → ㄏㄡ˙;
hou1 ← ㄏㄡ;
han }$pTone ↔ ㄏㄢ }$zTone;
han → ㄏㄢ˙;
han1 ← ㄏㄢ;
hen }$pTone ↔ ㄏㄣ }$zTone;
hen → ㄏㄣ˙;
hen1 ← ㄏㄣ;
hua }$pTone ↔ ㄏㄨㄚ }$zTone;
hua → ㄏㄨㄚ˙;
hua1 ← ㄏㄨㄚ;
huo }$pTone ↔ ㄏㄨㄛ }$zTone;
huo → ㄏㄨㄛ˙;
huo1 ← ㄏㄨㄛ;
hui }$pTone ↔ ㄏㄨㄟ }$zTone;
hui → ㄏㄨㄟ˙;
hui1 ← ㄏㄨㄟ;
hun }$pTone ↔ ㄏㄨㄣ }$zTone;
hun → ㄏㄨㄣ˙;
hun1 ← ㄏㄨㄣ;
hm }$pTone ↔ ㄏㄇ }$zTone;
hm → ㄏㄇ˙;
hm1 ← ㄏㄇ;
ha }$pTone ↔ ㄏㄚ }$zTone;
ha → ㄏㄚ˙;
ha1 ← ㄏㄚ;
ho }$pTone ↔ ㄏㄛ }$zTone;
ho → ㄏㄛ˙;
ho1 ← ㄏㄛ;
he }$pTone ↔ ㄏㄜ }$zTone;
he → ㄏㄜ˙;
he1 ← ㄏㄜ;
hu }$pTone ↔ ㄏㄨ }$zTone;
hu → ㄏㄨ˙;
hu1 ← ㄏㄨ;
#
jiang }$pTone ↔ ㄐㄧㄤ }$zTone;
jiang → ㄐㄧㄤ˙;
jiang1 ← ㄐㄧㄤ;
jiong }$pTone ↔ ㄐㄩㄥ }$zTone;
jiong → ㄐㄩㄥ˙;
jiong1 ← ㄐㄩㄥ;
jiao }$pTone ↔ ㄐㄧㄠ }$zTone;
jiao → ㄐㄧㄠ˙;
jiao1 ← ㄐㄧㄠ;
jian }$pTone ↔ ㄐㄧㄢ }$zTone;
jian → ㄐㄧㄢ˙;
jian1 ← ㄐㄧㄢ;
jing }$pTone ↔ ㄐㄧㄥ }$zTone;
jing → ㄐㄧㄥ˙;
jing1 ← ㄐㄧㄥ;
juan }$pTone ↔ ㄐㄩㄢ }$zTone;
juan → ㄐㄩㄢ˙;
juan1 ← ㄐㄩㄢ;
jia }$pTone ↔ ㄐㄧㄚ }$zTone;
jia → ㄐㄧㄚ˙;
jia1 ← ㄐㄧㄚ;
jie }$pTone ↔ ㄐㄧㄝ }$zTone;
jie → ㄐㄧㄝ˙;
jie1 ← ㄐㄧㄝ;
jiu }$pTone ↔ ㄐㄧㄡ }$zTone;
jiu → ㄐㄧㄡ˙;
jiu1 ← ㄐㄧㄡ;
jin }$pTone ↔ ㄐㄧㄣ }$zTone;
jin → ㄐㄧㄣ˙;
jin1 ← ㄐㄧㄣ;
jue }$pTone ↔ ㄐㄩㄝ }$zTone;
jue → ㄐㄩㄝ˙;
jue1 ← ㄐㄩㄝ;
jun }$pTone ↔ ㄐㄩㄣ }$zTone;
jun → ㄐㄩㄣ˙;
jun1 ← ㄐㄩㄣ;
ji }$pTone ↔ ㄐㄧ }$zTone;
ji → ㄐㄧ˙;
ji1 ← ㄐㄧ;
ju }$pTone ↔ ㄐㄩ }$zTone;
ju → ㄐㄩ˙;
ju1 ← ㄐㄩ;
#
qiang }$pTone ↔ ㄑㄧㄤ }$zTone;
qiang → ㄑㄧㄤ˙;
qiang1 ← ㄑㄧㄤ;
qiong }$pTone ↔ ㄑㄩㄥ }$zTone;
qiong → ㄑㄩㄥ˙;
qiong1 ← ㄑㄩㄥ;
qiao }$pTone ↔ ㄑㄧㄠ }$zTone;
qiao → ㄑㄧㄠ˙;
qiao1 ← ㄑㄧㄠ;
qian }$pTone ↔ ㄑㄧㄢ }$zTone;
qian → ㄑㄧㄢ˙;
qian1 ← ㄑㄧㄢ;
qing }$pTone ↔ ㄑㄧㄥ }$zTone;
qing → ㄑㄧㄥ˙;
qing1 ← ㄑㄧㄥ;
quan }$pTone ↔ ㄑㄩㄢ }$zTone;
quan → ㄑㄩㄢ˙;
quan1 ← ㄑㄩㄢ;
qia }$pTone ↔ ㄑㄧㄚ }$zTone;
qia → ㄑㄧㄚ˙;
qia1 ← ㄑㄧㄚ;
qie }$pTone ↔ ㄑㄧㄝ }$zTone;
qie → ㄑㄧㄝ˙;
qie1 ← ㄑㄧㄝ;
qiu }$pTone ↔ ㄑㄧㄡ }$zTone;
qiu → ㄑㄧㄡ˙;
qiu1 ← ㄑㄧㄡ;
qin }$pTone ↔ ㄑㄧㄣ }$zTone;
qin → ㄑㄧㄣ˙;
qin1 ← ㄑㄧㄣ;
que }$pTone ↔ ㄑㄩㄝ }$zTone;
que → ㄑㄩㄝ˙;
que1 ← ㄑㄩㄝ;
qun }$pTone ↔ ㄑㄩㄣ }$zTone;
qun → ㄑㄩㄣ˙;
qun1 ← ㄑㄩㄣ;
qi }$pTone ↔ ㄑㄧ }$zTone;
qi → ㄑㄧ˙;
qi1 ← ㄑㄧ;
qu }$pTone ↔ ㄑㄩ }$zTone;
qu → ㄑㄩ˙;
qu1 ← ㄑㄩ;
#
xiang }$pTone ↔ ㄒㄧㄤ }$zTone;
xiang → ㄒㄧㄤ˙;
xiang1 ← ㄒㄧㄤ;
xiong }$pTone ↔ ㄒㄩㄥ }$zTone;
xiong → ㄒㄩㄥ˙;
xiong1 ← ㄒㄩㄥ;
xiao }$pTone ↔ ㄒㄧㄠ }$zTone;
xiao → ㄒㄧㄠ˙;
xiao1 ← ㄒㄧㄠ;
xian }$pTone ↔ ㄒㄧㄢ }$zTone;
xian → ㄒㄧㄢ˙;
xian1 ← ㄒㄧㄢ;
xing }$pTone ↔ ㄒㄧㄥ }$zTone;
xing → ㄒㄧㄥ˙;
xing1 ← ㄒㄧㄥ;
xuan }$pTone ↔ ㄒㄩㄢ }$zTone;
xuan → ㄒㄩㄢ˙;
xuan1 ← ㄒㄩㄢ;
xia }$pTone ↔ ㄒㄧㄚ }$zTone;
xia → ㄒㄧㄚ˙;
xia1 ← ㄒㄧㄚ;
xie }$pTone ↔ ㄒㄧㄝ }$zTone;
xie → ㄒㄧㄝ˙;
xie1 ← ㄒㄧㄝ;
xiu }$pTone ↔ ㄒㄧㄡ }$zTone;
xiu → ㄒㄧㄡ˙;
xiu1 ← ㄒㄧㄡ;
xin }$pTone ↔ ㄒㄧㄣ }$zTone;
xin → ㄒㄧㄣ˙;
xin1 ← ㄒㄧㄣ;
xue }$pTone ↔ ㄒㄩㄝ }$zTone;
xue → ㄒㄩㄝ˙;
xue1 ← ㄒㄩㄝ;
xun }$pTone ↔ ㄒㄩㄣ }$zTone;
xun → ㄒㄩㄣ˙;
xun1 ← ㄒㄩㄣ;
xi }$pTone ↔ ㄒㄧ }$zTone;
xi → ㄒㄧ˙;
xi1 ← ㄒㄧ;
xu }$pTone ↔ ㄒㄩ }$zTone;
xu → ㄒㄩ˙;
xu1 ← ㄒㄩ;
#
zhuang }$pTone ↔ ㄓㄨㄤ }$zTone;
zhuang → ㄓㄨㄤ˙;
zhuang1 ← ㄓㄨㄤ;
zhang }$pTone ↔ ㄓㄤ }$zTone;
zhang → ㄓㄤ˙;
zhang1 ← ㄓㄤ;
zheng }$pTone ↔ ㄓㄥ }$zTone;
zheng → ㄓㄥ˙;
zheng1 ← ㄓㄥ;
zhuai }$pTone ↔ ㄓㄨㄞ }$zTone;
zhuai → ㄓㄨㄞ˙;
zhuai1 ← ㄓㄨㄞ;
zhuan }$pTone ↔ ㄓㄨㄢ }$zTone;
zhuan → ㄓㄨㄢ˙;
zhuan1 ← ㄓㄨㄢ;
zhong }$pTone ↔ ㄓㄨㄥ }$zTone;
zhong → ㄓㄨㄥ˙;
zhong1 ← ㄓㄨㄥ;
zhai }$pTone ↔ ㄓㄞ }$zTone;
zhai → ㄓㄞ˙;
zhai1 ← ㄓㄞ;
zhei }$pTone ↔ ㄓㄟ }$zTone; # (not in han-latin)
zhei → ㄓㄟ˙;
zhei1 ← ㄓㄟ;
zhao }$pTone ↔ ㄓㄠ }$zTone;
zhao → ㄓㄠ˙;
zhao1 ← ㄓㄠ;
zhou }$pTone ↔ ㄓㄡ }$zTone;
zhou → ㄓㄡ˙;
zhou1 ← ㄓㄡ;
zhan }$pTone ↔ ㄓㄢ }$zTone;
zhan → ㄓㄢ˙;
zhan1 ← ㄓㄢ;
zhen }$pTone ↔ ㄓㄣ }$zTone;
zhen → ㄓㄣ˙;
zhen1 ← ㄓㄣ;
zhua }$pTone ↔ ㄓㄨㄚ }$zTone;
zhua → ㄓㄨㄚ˙;
zhua1 ← ㄓㄨㄚ;
zhuo }$pTone ↔ ㄓㄨㄛ }$zTone;
zhuo → ㄓㄨㄛ˙;
zhuo1 ← ㄓㄨㄛ;
zhui }$pTone ↔ ㄓㄨㄟ }$zTone;
zhui → ㄓㄨㄟ˙;
zhui1 ← ㄓㄨㄟ;
zhun }$pTone ↔ ㄓㄨㄣ }$zTone;
zhun → ㄓㄨㄣ˙;
zhun1 ← ㄓㄨㄣ;
zha }$pTone ↔ ㄓㄚ }$zTone;
zha → ㄓㄚ˙;
zha1 ← ㄓㄚ;
zhe }$pTone ↔ ㄓㄜ }$zTone;
zhe → ㄓㄜ˙;
zhe1 ← ㄓㄜ;
zhu }$pTone ↔ ㄓㄨ }$zTone;
zhu → ㄓㄨ˙;
zhu1 ← ㄓㄨ;
zhi }$pTone ↔ ㄓ }$zTone;
zhi → ㄓ˙;
zhi1 ← ㄓ;
#
chuang }$pTone ↔ ㄔㄨㄤ }$zTone;
chuang → ㄔㄨㄤ˙;
chuang1 ← ㄔㄨㄤ;
chang }$pTone ↔ ㄔㄤ }$zTone;
chang → ㄔㄤ˙;
chang1 ← ㄔㄤ;
cheng }$pTone ↔ ㄔㄥ }$zTone;
cheng → ㄔㄥ˙;
cheng1 ← ㄔㄥ;
chuai }$pTone ↔ ㄔㄨㄞ }$zTone;
chuai → ㄔㄨㄞ˙;
chuai1 ← ㄔㄨㄞ;
chuan }$pTone ↔ ㄔㄨㄢ }$zTone;
chuan → ㄔㄨㄢ˙;
chuan1 ← ㄔㄨㄢ;
chong }$pTone ↔ ㄔㄨㄥ }$zTone;
chong → ㄔㄨㄥ˙;
chong1 ← ㄔㄨㄥ;
chai }$pTone ↔ ㄔㄞ }$zTone;
chai → ㄔㄞ˙;
chai1 ← ㄔㄞ;
chao }$pTone ↔ ㄔㄠ }$zTone;
chao → ㄔㄠ˙;
chao1 ← ㄔㄠ;
chou }$pTone ↔ ㄔㄡ }$zTone;
chou → ㄔㄡ˙;
chou1 ← ㄔㄡ;
chan }$pTone ↔ ㄔㄢ }$zTone;
chan → ㄔㄢ˙;
chan1 ← ㄔㄢ;
chen }$pTone ↔ ㄔㄣ }$zTone;
chen → ㄔㄣ˙;
chen1 ← ㄔㄣ;
chua }$pTone ↔ ㄔㄨㄚ }$zTone;
chua → ㄔㄨㄚ˙;
chua1 ← ㄔㄨㄚ;
chuo }$pTone ↔ ㄔㄨㄛ }$zTone;
chuo → ㄔㄨㄛ˙;
chuo1 ← ㄔㄨㄛ;
chui }$pTone ↔ ㄔㄨㄟ }$zTone;
chui → ㄔㄨㄟ˙;
chui1 ← ㄔㄨㄟ;
chun }$pTone ↔ ㄔㄨㄣ }$zTone;
chun → ㄔㄨㄣ˙;
chun1 ← ㄔㄨㄣ;
cha }$pTone ↔ ㄔㄚ }$zTone;
cha → ㄔㄚ˙;
cha1 ← ㄔㄚ;
che }$pTone ↔ ㄔㄜ }$zTone;
che → ㄔㄜ˙;
che1 ← ㄔㄜ;
chu }$pTone ↔ ㄔㄨ }$zTone;
chu → ㄔㄨ˙;
chu1 ← ㄔㄨ;
chi }$pTone ↔ ㄔ }$zTone;
chi → ㄔ˙;
chi1 ← ㄔ;
#
shuang }$pTone ↔ ㄕㄨㄤ }$zTone;
shuang → ㄕㄨㄤ˙;
shuang1 ← ㄕㄨㄤ;
shong }$pTone ↔ ㄕㄡㄥ }$zTone; # (not in han-latin)
shong → ㄕㄡㄥ˙;
shong1 ← ㄕㄡㄥ;
shang }$pTone ↔ ㄕㄤ }$zTone;
shang → ㄕㄤ˙;
shang1 ← ㄕㄤ;
sheng }$pTone ↔ ㄕㄥ }$zTone;
sheng → ㄕㄥ˙;
sheng1 ← ㄕㄥ;
shuai }$pTone ↔ ㄕㄨㄞ }$zTone;
shuai → ㄕㄨㄞ˙;
shuai1 ← ㄕㄨㄞ;
shuan }$pTone ↔ ㄕㄨㄢ }$zTone;
shuan → ㄕㄨㄢ˙;
shuan1 ← ㄕㄨㄢ;
shai }$pTone ↔ ㄕㄞ }$zTone;
shai → ㄕㄞ˙;
shai1 ← ㄕㄞ;
shei }$pTone ↔ ㄕㄟ }$zTone; # (not in han-latin)
shei → ㄕㄟ˙;
shei1 ← ㄕㄟ;
shao }$pTone ↔ ㄕㄠ }$zTone;
shao → ㄕㄠ˙;
shao1 ← ㄕㄠ;
shou }$pTone ↔ ㄕㄡ }$zTone;
shou → ㄕㄡ˙;
shou1 ← ㄕㄡ;
shan }$pTone ↔ ㄕㄢ }$zTone;
shan → ㄕㄢ˙;
shan1 ← ㄕㄢ;
shen }$pTone ↔ ㄕㄣ }$zTone;
shen → ㄕㄣ˙;
shen1 ← ㄕㄣ;
shua }$pTone ↔ ㄕㄨㄚ }$zTone;
shua → ㄕㄨㄚ˙;
shua1 ← ㄕㄨㄚ;
shuo }$pTone ↔ ㄕㄨㄛ }$zTone;
shuo → ㄕㄨㄛ˙;
shuo1 ← ㄕㄨㄛ;
shui }$pTone ↔ ㄕㄨㄟ }$zTone;
shui → ㄕㄨㄟ˙;
shui1 ← ㄕㄨㄟ;
shun }$pTone ↔ ㄕㄨㄣ }$zTone;
shun → ㄕㄨㄣ˙;
shun1 ← ㄕㄨㄣ;
sha }$pTone ↔ ㄕㄚ }$zTone;
sha → ㄕㄚ˙;
sha1 ← ㄕㄚ;
she }$pTone ↔ ㄕㄜ }$zTone;
she → ㄕㄜ˙;
she1 ← ㄕㄜ;
shu }$pTone ↔ ㄕㄨ }$zTone;
shu → ㄕㄨ˙;
shu1 ← ㄕㄨ;
shi }$pTone ↔ ㄕ }$zTone;
shi → ㄕ˙;
shi1 ← ㄕ;
#
rang }$pTone ↔ ㄖㄤ }$zTone;
rang → ㄖㄤ˙;
rang1 ← ㄖㄤ;
reng }$pTone ↔ ㄖㄥ }$zTone;
reng → ㄖㄥ˙;
reng1 ← ㄖㄥ;
ruan }$pTone ↔ ㄖㄨㄢ }$zTone;
ruan → ㄖㄨㄢ˙;
ruan1 ← ㄖㄨㄢ;
rong }$pTone ↔ ㄖㄨㄥ }$zTone;
rong → ㄖㄨㄥ˙;
rong1 ← ㄖㄨㄥ;
rao }$pTone ↔ ㄖㄠ }$zTone;
rao → ㄖㄠ˙;
rao1 ← ㄖㄠ;
rou }$pTone ↔ ㄖㄡ }$zTone;
rou → ㄖㄡ˙;
rou1 ← ㄖㄡ;
ran }$pTone ↔ ㄖㄢ }$zTone;
ran → ㄖㄢ˙;
ran1 ← ㄖㄢ;
ren }$pTone ↔ ㄖㄣ }$zTone;
ren → ㄖㄣ˙;
ren1 ← ㄖㄣ;
ruo }$pTone ↔ ㄖㄨㄛ }$zTone;
ruo → ㄖㄨㄛ˙;
ruo1 ← ㄖㄨㄛ;
rui }$pTone ↔ ㄖㄨㄟ }$zTone;
rui → ㄖㄨㄟ˙;
rui1 ← ㄖㄨㄟ;
run }$pTone ↔ ㄖㄨㄣ }$zTone;
run → ㄖㄨㄣ˙;
run1 ← ㄖㄨㄣ;
ra }$pTone ↔ ㄖㄚ }$zTone;
ra → ㄖㄚ˙;
ra1 ← ㄖㄚ;
re }$pTone ↔ ㄖㄜ }$zTone;
re → ㄖㄜ˙;
re1 ← ㄖㄜ;
ru }$pTone ↔ ㄖㄨ }$zTone;
ru → ㄖㄨ˙;
ru1 ← ㄖㄨ;
ri }$pTone ↔ ㄖ }$zTone;
ri → ㄖ˙;
ri1 ← ㄖ;
#
zang }$pTone ↔ ㄗㄤ }$zTone;
zang → ㄗㄤ˙;
zang1 ← ㄗㄤ;
zeng }$pTone ↔ ㄗㄥ }$zTone;
zeng → ㄗㄥ˙;
zeng1 ← ㄗㄥ;
zuan }$pTone ↔ ㄗㄨㄢ }$zTone;
zuan → ㄗㄨㄢ˙;
zuan1 ← ㄗㄨㄢ;
zong }$pTone ↔ ㄗㄨㄥ }$zTone;
zong → ㄗㄨㄥ˙;
zong1 ← ㄗㄨㄥ;
zai }$pTone ↔ ㄗㄞ }$zTone;
zai → ㄗㄞ˙;
zai1 ← ㄗㄞ;
zei }$pTone ↔ ㄗㄟ }$zTone;
zei → ㄗㄟ˙;
zei1 ← ㄗㄟ;
zao }$pTone ↔ ㄗㄠ }$zTone;
zao → ㄗㄠ˙;
zao1 ← ㄗㄠ;
zou }$pTone ↔ ㄗㄡ }$zTone;
zou → ㄗㄡ˙;
zou1 ← ㄗㄡ;
zan }$pTone ↔ ㄗㄢ }$zTone;
zan → ㄗㄢ˙;
zan1 ← ㄗㄢ;
zen }$pTone ↔ ㄗㄣ }$zTone;
zen → ㄗㄣ˙;
zen1 ← ㄗㄣ;
zuo }$pTone ↔ ㄗㄨㄛ }$zTone;
zuo → ㄗㄨㄛ˙;
zuo1 ← ㄗㄨㄛ;
zui }$pTone ↔ ㄗㄨㄟ }$zTone;
zui → ㄗㄨㄟ˙;
zui1 ← ㄗㄨㄟ;
zun }$pTone ↔ ㄗㄨㄣ }$zTone;
zun → ㄗㄨㄣ˙;
zun1 ← ㄗㄨㄣ;
za }$pTone ↔ ㄗㄚ }$zTone;
za → ㄗㄚ˙;
za1 ← ㄗㄚ;
ze }$pTone ↔ ㄗㄜ }$zTone;
ze → ㄗㄜ˙;
ze1 ← ㄗㄜ;
zu }$pTone ↔ ㄗㄨ }$zTone;
zu → ㄗㄨ˙;
zu1 ← ㄗㄨ;
zi }$pTone ↔ ㄗ }$zTone;
zi → ㄗ˙;
zi1 ← ㄗ;
#
cang }$pTone ↔ ㄘㄤ }$zTone;
cang → ㄘㄤ˙;
cang1 ← ㄘㄤ;
ceng }$pTone ↔ ㄘㄥ }$zTone;
ceng → ㄘㄥ˙;
ceng1 ← ㄘㄥ;
cuan }$pTone ↔ ㄘㄨㄢ }$zTone;
cuan → ㄘㄨㄢ˙;
cuan1 ← ㄘㄨㄢ;
cong }$pTone ↔ ㄘㄨㄥ }$zTone;
cong → ㄘㄨㄥ˙;
cong1 ← ㄘㄨㄥ;
cai }$pTone ↔ ㄘㄞ }$zTone;
cai → ㄘㄞ˙;
cai1 ← ㄘㄞ;
cao }$pTone ↔ ㄘㄠ }$zTone;
cao → ㄘㄠ˙;
cao1 ← ㄘㄠ;
cou }$pTone ↔ ㄘㄡ }$zTone;
cou → ㄘㄡ˙;
cou1 ← ㄘㄡ;
can }$pTone ↔ ㄘㄢ }$zTone;
can → ㄘㄢ˙;
can1 ← ㄘㄢ;
cen }$pTone ↔ ㄘㄣ }$zTone;
cen → ㄘㄣ˙;
cen1 ← ㄘㄣ;
cuo }$pTone ↔ ㄘㄨㄛ }$zTone;
cuo → ㄘㄨㄛ˙;
cuo1 ← ㄘㄨㄛ;
cui }$pTone ↔ ㄘㄨㄟ }$zTone;
cui → ㄘㄨㄟ˙;
cui1 ← ㄘㄨㄟ;
cun }$pTone ↔ ㄘㄨㄣ }$zTone;
cun → ㄘㄨㄣ˙;
cun1 ← ㄘㄨㄣ;
ca }$pTone ↔ ㄘㄚ }$zTone;
ca → ㄘㄚ˙;
ca1 ← ㄘㄚ;
ce }$pTone ↔ ㄘㄜ }$zTone;
ce → ㄘㄜ˙;
ce1 ← ㄘㄜ;
cu }$pTone ↔ ㄘㄨ }$zTone;
cu → ㄘㄨ˙;
cu1 ← ㄘㄨ;
ci }$pTone ↔ ㄘ }$zTone;
ci → ㄘ˙;
ci1 ← ㄘ;
#
sang }$pTone ↔ ㄙㄤ }$zTone;
sang → ㄙㄤ˙;
sang1 ← ㄙㄤ;
seng }$pTone ↔ ㄙㄥ }$zTone;
seng → ㄙㄥ˙;
seng1 ← ㄙㄥ;
suan }$pTone ↔ ㄙㄨㄢ }$zTone;
suan → ㄙㄨㄢ˙;
suan1 ← ㄙㄨㄢ;
song }$pTone ↔ ㄙㄨㄥ }$zTone;
song → ㄙㄨㄥ˙;
song1 ← ㄙㄨㄥ;
sai }$pTone ↔ ㄙㄞ }$zTone;
sai → ㄙㄞ˙;
sai1 ← ㄙㄞ;
sei }$pTone ↔ ㄙㄟ }$zTone; # (not in han-latin)
sei → ㄙㄟ˙;
sei1 ← ㄙㄟ;
sao }$pTone ↔ ㄙㄠ }$zTone;
sao → ㄙㄠ˙;
sao1 ← ㄙㄠ;
sou }$pTone ↔ ㄙㄡ }$zTone;
sou → ㄙㄡ˙;
sou1 ← ㄙㄡ;
san }$pTone ↔ ㄙㄢ }$zTone;
san → ㄙㄢ˙;
san1 ← ㄙㄢ;
sen }$pTone ↔ ㄙㄣ }$zTone;
sen → ㄙㄣ˙;
sen1 ← ㄙㄣ;
suo }$pTone ↔ ㄙㄨㄛ }$zTone;
suo → ㄙㄨㄛ˙;
suo1 ← ㄙㄨㄛ;
sui }$pTone ↔ ㄙㄨㄟ }$zTone;
sui → ㄙㄨㄟ˙;
sui1 ← ㄙㄨㄟ;
sun }$pTone ↔ ㄙㄨㄣ }$zTone;
sun → ㄙㄨㄣ˙;
sun1 ← ㄙㄨㄣ;
sa }$pTone ↔ ㄙㄚ }$zTone;
sa → ㄙㄚ˙;
sa1 ← ㄙㄚ;
se }$pTone ↔ ㄙㄜ }$zTone;
se → ㄙㄜ˙;
se1 ← ㄙㄜ;
su }$pTone ↔ ㄙㄨ }$zTone;
su → ㄙㄨ˙;
su1 ← ㄙㄨ;
si }$pTone ↔ ㄙ }$zTone;
si → ㄙ˙;
si1 ← ㄙ;
#
#--- vowels and vowel compounds ----
# most exist as syllables by themselves and they are also used as finals for initial consonants
#
yuan }$pTone ↔ ㄩㄢ }$zTone;
yuan → ㄩㄢ˙;
yuan1 ← ㄩㄢ;
yong }$pTone ↔ ㄩㄥ }$zTone;
yong → ㄩㄥ˙;
yong1 ← ㄩㄥ;
yue }$pTone ↔ ㄩㄝ }$zTone;
yue → ㄩㄝ˙;
yue1 ← ㄩㄝ;
yun }$pTone ↔ ㄩㄣ }$zTone;
yun → ㄩㄣ˙;
yun1 ← ㄩㄣ;
yu }$pTone ↔ ㄩ }$zTone;
yu → ㄩ˙;
yu1 ← ㄩ;
# iu handled below
#
yang }$pTone ↔ ㄧㄤ }$zTone;
yang → ㄧㄤ˙;
yang1 ← ㄧㄤ;
ying }$pTone ↔ ㄧㄥ }$zTone;
ying → ㄧㄥ˙;
ying1 ← ㄧㄥ;
yai }$pTone ↔ ㄧㄞ }$zTone; # (not in han-latin)
yai → ㄧㄞ˙;
yai1 ← ㄧㄞ;
yao }$pTone ↔ ㄧㄠ }$zTone;
yao → ㄧㄠ˙;
yao1 ← ㄧㄠ;
you }$pTone ↔ ㄧㄡ }$zTone;
you → ㄧㄡ˙;
you1 ← ㄧㄡ;
yan }$pTone ↔ ㄧㄢ }$zTone;
yan → ㄧㄢ˙;
yan1 ← ㄧㄢ;
yin }$pTone ↔ ㄧㄣ }$zTone;
yin → ㄧㄣ˙;
yin1 ← ㄧㄣ;
ya }$pTone ↔ ㄧㄚ }$zTone;
ya → ㄧㄚ˙;
ya1 ← ㄧㄚ;
yo }$pTone ↔ ㄧㄛ }$zTone;
yo → ㄧㄛ˙;
yo1 ← ㄧㄛ;
ye }$pTone ↔ ㄧㄝ }$zTone;
ye → ㄧㄝ˙;
ye1 ← ㄧㄝ;
yi }$pTone ↔ ㄧ }$zTone;
yi → ㄧ˙;
yi1 ← ㄧ;
# i handled below
#
wong }$pTone ↔ ㄨㄨㄥ }$zTone;
wong → ㄨㄨㄥ˙;
wong1 ← ㄨㄨㄥ;
wang }$pTone ↔ ㄨㄤ }$zTone;
wang → ㄨㄤ˙;
wang1 ← ㄨㄤ;
weng }$pTone ↔ ㄨㄥ }$zTone;
weng → ㄨㄥ˙;
weng1 ← ㄨㄥ;
wai }$pTone ↔ ㄨㄞ }$zTone;
wai → ㄨㄞ˙;
wai1 ← ㄨㄞ;
wei }$pTone ↔ ㄨㄟ }$zTone;
wei → ㄨㄟ˙;
wei1 ← ㄨㄟ;
wan }$pTone ↔ ㄨㄢ }$zTone;
wan → ㄨㄢ˙;
wan1 ← ㄨㄢ;
wen }$pTone ↔ ㄨㄣ }$zTone;
wen → ㄨㄣ˙;
wen1 ← ㄨㄣ;
wa }$pTone ↔ ㄨㄚ }$zTone;
wa → ㄨㄚ˙;
wa1 ← ㄨㄚ;
wo }$pTone ↔ ㄨㄛ }$zTone;
wo → ㄨㄛ˙;
wo1 ← ㄨㄛ;
wu }$pTone ↔ ㄨ }$zTone;
wu → ㄨ˙;
wu1 ← ㄨ;
# u handled below
#
ang }$pTone ↔ ㄤ }$zTone;
ang → ㄤ˙;
ang1 ← ㄤ;
eng }$pTone ↔ ㄥ }$zTone;
eng → ㄥ˙;
eng1 ← ㄥ;
eh }$pTone ↔ ㄝ }$zTone; # (not in han-latin)
eh → ㄝ˙;
eh1 ← ㄝ;
ea }$pTone → ㄝ; # (not in han-latin) one-way
ea → ㄝ˙;
ai }$pTone ↔ ㄞ }$zTone;
ai → ㄞ˙;
ai1 ← ㄞ;
ei }$pTone ↔ ㄟ }$zTone;
ei → ㄟ˙;
ei1 ← ㄟ;
ao }$pTone ↔ ㄠ }$zTone;
ao → ㄠ˙;
ao1 ← ㄠ;
au }$pTone → ㄠ; # (not in han-latin) one-way, handle unicode spelling
au → ㄠ˙;
ou }$pTone ↔ ㄡ }$zTone;
ou → ㄡ˙;
ou1 ← ㄡ;
an }$pTone ↔ ㄢ }$zTone;
an → ㄢ˙;
an1 ← ㄢ;
en }$pTone ↔ ㄣ }$zTone;
en → ㄣ˙;
en1 ← ㄣ;
er }$pTone ↔ ㄦ }$zTone;
er → ㄦ˙;
er1 ← ㄦ;
a }$pTone ↔ ㄚ }$zTone;
a → ㄚ˙;
a1 ← ㄚ;
o }$pTone ↔ ㄛ }$zTone;
o → ㄛ˙;
o1 ← ㄛ;
e }$pTone ↔ ㄜ }$zTone;
e → ㄜ˙;
e1 ← ㄜ;
#
# handle unicode spellings of ㄧ,ㄨ,ㄩ above
iu }$pTone → ㄩ; # (not in han-latin) one-way, handle unicode spelling
iu → ㄩ˙;
i }$pTone → ㄧ; # (not in han-latin) one-way, handle unicode spelling
i → ㄧ˙;
u }$pTone → ㄨ; # (not in han-latin) one-way, handle unicode spelling
u → ㄨ˙;
#
#--- clusters with a single pinyin consonant that can apear in other clusters ----
#
m }$pTone ↔ ㄇ }$zTone;
m → ㄇ˙;
m1 ← ㄇ;
#
n }$pTone ↔ ㄋ }$zTone;
n → ㄋ˙;
n1 ← ㄋ;
#
#--- fallback mappings ----
#
# separate fallback mappings for some compound finals after consonants
# (different pinyin than the standalone mappings for these zhuyin sequences).
#
#-------
# would be nice to have these, need to work out how;
# something like the following, but need to avoid conflicts with mappings above:
# $pCons{ ia }$pTone ↔ $zCons{ ㄧㄚ }$zTone; # fallback mapping for unambiguous compound final
# $pCons{ ia → ㄧㄚ˙;
# ia1 ← $zCons{ ㄧㄚ
#
# the relevant mappings are:
# ia ↔ ㄧㄚ
# ie ↔ ㄧㄝ
# iao ↔ ㄧㄠ
# iu ↔ ㄧㄡ
# ian ↔ ㄧㄢ
# in ↔ ㄧㄣ
# iang ↔ ㄧㄤ
# ing ↔ ㄧㄥ
# ua ↔ ㄨㄚ
# uo ↔ ㄨㄛ
# uai ↔ ㄨㄞ
# ui ↔ ㄨㄟ
# uang ↔ ㄨㄤ
# ong ↔ ㄨㄥ
# iong ↔ ㄩㄥ
#-------
#
# separate fallback mappings for some initial consonants not handled above
# none of the mapped consonants handled here can have tones, so this is simple
b ↔ ㄅ;
p ↔ ㄆ;
# m ↔ ㄇ; # handled above
f ↔ ㄈ;
d ↔ ㄉ;
t ↔ ㄊ;
# n ↔ ㄋ; # handled above
l ↔ ㄌ;
g ↔ ㄍ;
k ↔ ㄎ;
h ↔ ㄏ;
j ↔ ㄐ;
q ↔ ㄑ;
x ↔ ㄒ;
zh → ㄓ; # reverse mapping to zhi handled above
ch → ㄔ; # reverse mapping to chi handled above
sh → ㄕ; # reverse mapping to shi handled above
r → ㄖ; # reverse mapping to ri handled above
z → ㄗ; # reverse mapping to zi handled above
c → ㄘ; # reverse mapping to ci handled above
s → ㄙ; # reverse mapping to si handled above
#
#--- tones (except for the ummarked cases handled above) ----
#
# tone 1: pinyin \u0304 or 1 ↔ zhuyin typically unmarked or use ˉ \u02C9
1 → ; # map to nothing
1 ← ˉ ; # transform if marked in zhuyin
# did the following with rules for each cluster, above
# 1 ← ; # map nothing in zhuyin to pinyin mark
#
# tones 2-4 (easy)
# $pToneOK{ 2 ↔ $zToneOK{ ˊ; # pinyin \u0301 or 2 ↔ zhuyin \u02CA
# $pToneOK{ 3 ↔ $zToneOK{ ˇ; # pinyin \u030C or 3 ↔ zhuyin \u02C7
# $pToneOK{ 4 ↔ $zToneOK{ ˋ; # pinyin \u0300 or 4 ↔ zhuyin \u02CB
# actually don't need context:
2 ↔ ˊ; # pinyin \u0301 or 2 ↔ zhuyin \u02CA
3 ↔ ˇ; # pinyin \u030C or 3 ↔ zhuyin \u02C7
4 ↔ ˋ; # pinyin \u0300 or 4 ↔ zhuyin \u02CB
#
# tone 5 (light): pinyin typically unmarked or use 5 ↔ zhuyin ˙ \u02D9
← ˙; # map to nothing
5 → ˙; # transform if marked in pinyin
# did the following with rules for each cluster above
# → ˙; # map nothing in pinyin to zhuyin mark
#
#--- reverse filter ----
#
:: ([[ㄅ-ㄩ][ˉˊˇˋ˙]]); # reverse filter: only modifies basic Bopomofo and tone marks