Home | History | Annotate | Download | only in transforms
      1 <?xml version="1.0" encoding="UTF-8" ?>
      2 <!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
      3 <!--
      4 Copyright  1991-2013 Unicode, Inc.
      5 CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
      6 For terms of use, see http://www.unicode.org/copyright.html
      7 -->
      8 <supplementalData>
      9 	<version number="$Revision: 12263 $"/>
     10 	<transforms>
     11 		<transform source="Latn" target="Bopo" direction="both" alias="Latin-Bopomofo und-Bopo-t-und-latn" backwardAlias="Bopomofo-Latin und-Latn-t-und-bopo">
     12 			<tRule>
     13 #--- forward filter, transforms ----
     14 # currently in reverse it only goes back to Latin with numeric tones (not sure why); ok but would rather have marks.
     15 #
     16 :: [[:Latin:][:Mn:][1-5]];		# forward filter: only modifies Latin and tone marks/digits
     17 #
     18 #--- remap v (alternate for ) to , one way ----
     19 [ln] { v  ;
     20 #
     21 :: Latin-NumericPinyin(NumericPinyin-Latin);	# tone marks in middle  digits at end to use numeric below; this leaves the pinyin in NFC
     22 #
     23 #--- variables ----
     24 #
     25 # basic pinyin and zhuyin consonant initials (not including vowel initials):
     26 $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
     27 $zCons = [-];
     28 #
     29 # pinyin and zhuyin minus basic consonant initials that cannot take tones by themselves
     30 # (in some cases the exclusion is only for the pinyin, not the corresponding zhuyin: zh ch sh r z c s)
     31 $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
     32 $zToneOK = [[-] - [           ]];
     33 #
     34 # basic consonant initials that can take tones by themselves
     35 # (in some cases this is only for the zhuyin, not the corresponding pinyin:       )
     36 # $pConsToneOK = [m n];
     37 # $zConsToneOK = [        ];
     38 #
     39 # basic numeric pinyin and zhuyin tones
     40 $pTone = [1-5];
     41 $zTone = [];
     42 #
     43 #--- clusters with initial consonant ----
     44 #
     45 bang }$pTone      }$zTone;
     46 bang             ;
     47 bang1           ;
     48 beng }$pTone      }$zTone;
     49 beng             ;
     50 beng1           ;
     51 biao }$pTone      }$zTone;
     52 biao             ;
     53 biao1           ;
     54 bian }$pTone      }$zTone;
     55 bian             ;
     56 bian1           ;
     57 bing }$pTone      }$zTone;
     58 bing             ;
     59 bing1           ;
     60 bai }$pTone       }$zTone;
     61 bai              ;
     62 bai1            ;
     63 bei }$pTone       }$zTone;
     64 bei              ;
     65 bei1            ;
     66 bao }$pTone       }$zTone;
     67 bao              ;
     68 bao1            ;
     69 ban }$pTone       }$zTone;
     70 ban              ;
     71 ban1            ;
     72 ben }$pTone       }$zTone;
     73 ben              ;
     74 ben1            ;
     75 bie }$pTone       }$zTone;
     76 bie              ;
     77 bie1            ;
     78 bin }$pTone       }$zTone;
     79 bin              ;
     80 bin1            ;
     81 bun }$pTone       }$zTone;
     82 bun              ;
     83 bun1            ;
     84 ba }$pTone        }$zTone;
     85 ba               ;
     86 ba1             ;
     87 bo }$pTone        }$zTone;
     88 bo               ;
     89 bo1             ;
     90 bi }$pTone        }$zTone;
     91 bi               ;
     92 bi1             ;
     93 bu }$pTone        }$zTone;
     94 bu               ;
     95 bu1             ;
     96 #
     97 pang }$pTone      }$zTone;
     98 pang             ;
     99 pang1           ;
    100 peng }$pTone      }$zTone;
    101 peng             ;
    102 peng1           ;
    103 piao }$pTone      }$zTone;
    104 piao             ;
    105 piao1           ;
    106 pian }$pTone      }$zTone;
    107 pian             ;
    108 pian1           ;
    109 ping }$pTone      }$zTone;
    110 ping             ;
    111 ping1           ;
    112 pai }$pTone       }$zTone;
    113 pai              ;
    114 pai1            ;
    115 pei }$pTone       }$zTone;
    116 pei              ;
    117 pei1            ;
    118 pao }$pTone       }$zTone;
    119 pao              ;
    120 pao1            ;
    121 pou }$pTone       }$zTone;
    122 pou              ;
    123 pou1            ;
    124 pan }$pTone       }$zTone;
    125 pan              ;
    126 pan1            ;
    127 pen }$pTone       }$zTone;
    128 pen              ;
    129 pen1            ;
    130 pie }$pTone       }$zTone;
    131 pie              ;
    132 pie1            ;
    133 pin }$pTone       }$zTone;
    134 pin              ;
    135 pin1            ;
    136 pa }$pTone        }$zTone;
    137 pa               ;
    138 pa1             ;
    139 po }$pTone        }$zTone;
    140 po               ;
    141 po1             ;
    142 pi }$pTone        }$zTone;
    143 pi               ;
    144 pi1             ;
    145 pu }$pTone        }$zTone;
    146 pu               ;
    147 pu1             ;
    148 #
    149 mang }$pTone      }$zTone;
    150 mang             ;
    151 mang1           ;
    152 meng }$pTone      }$zTone;
    153 meng             ;
    154 meng1           ;
    155 miao }$pTone      }$zTone;
    156 miao             ;
    157 miao1           ;
    158 mian }$pTone      }$zTone;
    159 mian             ;
    160 mian1           ;
    161 ming }$pTone      }$zTone;
    162 ming             ;
    163 ming1           ;
    164 mai }$pTone       }$zTone;
    165 mai              ;
    166 mai1            ;
    167 mei }$pTone       }$zTone;
    168 mei              ;
    169 mei1            ;
    170 mao }$pTone       }$zTone;
    171 mao              ;
    172 mao1            ;
    173 mou }$pTone       }$zTone;
    174 mou              ;
    175 mou1            ;
    176 man }$pTone       }$zTone;
    177 man              ;
    178 man1            ;
    179 men }$pTone       }$zTone;
    180 men              ;
    181 men1            ;
    182 mie }$pTone       }$zTone;
    183 mie              ;
    184 mie1            ;
    185 miu }$pTone       }$zTone;
    186 miu              ;
    187 miu1            ;
    188 min }$pTone       }$zTone;
    189 min              ;
    190 min1            ;
    191 ma }$pTone        }$zTone;
    192 ma               ;
    193 ma1             ;
    194 mo }$pTone        }$zTone;
    195 mo               ;
    196 mo1             ;
    197 me }$pTone        }$zTone;
    198 me               ;
    199 me1             ;
    200 mi }$pTone        }$zTone;
    201 mi               ;
    202 mi1             ;
    203 mu }$pTone        }$zTone;
    204 mu               ;
    205 mu1             ;
    206 # m handled below
    207 #
    208 fang }$pTone      }$zTone;
    209 fang             ;
    210 fang1           ;
    211 feng }$pTone      }$zTone;
    212 feng             ;
    213 feng1           ;
    214 fiao }$pTone      }$zTone;
    215 fiao             ;
    216 fiao1           ;
    217 fei }$pTone       }$zTone;
    218 fei              ;
    219 fei1            ;
    220 fou }$pTone       }$zTone;
    221 fou              ;
    222 fou1            ;
    223 fan }$pTone       }$zTone;
    224 fan              ;
    225 fan1            ;
    226 fen }$pTone       }$zTone;
    227 fen              ;
    228 fen1            ;
    229 fa }$pTone        }$zTone;
    230 fa               ;
    231 fa1             ;
    232 fo }$pTone        }$zTone;
    233 fo               ;
    234 fo1             ;
    235 fu }$pTone        }$zTone;
    236 fu               ;
    237 fu1             ;
    238 #
    239 diang }$pTone     }$zTone;	# (not in han-latin)
    240 diang            ;
    241 diang1          ;
    242 dang }$pTone      }$zTone;
    243 dang             ;
    244 dang1           ;
    245 deng }$pTone      }$zTone;
    246 deng             ;
    247 deng1           ;
    248 diao }$pTone      }$zTone;
    249 diao             ;
    250 diao1           ;
    251 dian }$pTone      }$zTone;
    252 dian             ;
    253 dian1           ;
    254 ding }$pTone      }$zTone;
    255 ding             ;
    256 ding1           ;
    257 duan }$pTone      }$zTone;
    258 duan             ;
    259 duan1           ;
    260 dong }$pTone      }$zTone;
    261 dong             ;
    262 dong1           ;
    263 dai }$pTone       }$zTone;
    264 dai              ;
    265 dai1            ;
    266 dei }$pTone       }$zTone;		# (not in han-latin)
    267 dei              ;
    268 dei1            ;
    269 dao }$pTone       }$zTone;
    270 dao              ;
    271 dao1            ;
    272 dou }$pTone       }$zTone;
    273 dou              ;
    274 dou1            ;
    275 dan }$pTone       }$zTone;
    276 dan              ;
    277 dan1            ;
    278 den }$pTone       }$zTone;
    279 den              ;
    280 den1            ;
    281 dia }$pTone       }$zTone;
    282 dia              ;
    283 dia1            ;
    284 die }$pTone       }$zTone;
    285 die              ;
    286 die1            ;
    287 diu }$pTone       }$zTone;
    288 diu              ;
    289 diu1            ;
    290 din }$pTone       }$zTone;
    291 din              ;
    292 din1            ;
    293 duo }$pTone       }$zTone;
    294 duo              ;
    295 duo1            ;
    296 dui }$pTone       }$zTone;
    297 dui              ;
    298 dui1            ;
    299 dun }$pTone       }$zTone;
    300 dun              ;
    301 dun1            ;
    302 da }$pTone        }$zTone;
    303 da               ;
    304 da1             ;
    305 de }$pTone        }$zTone;
    306 de               ;
    307 de1             ;
    308 di }$pTone        }$zTone;
    309 di               ;
    310 di1             ;
    311 du }$pTone        }$zTone;
    312 du               ;
    313 du1             ;
    314 #
    315 tang }$pTone      }$zTone;
    316 tang             ;
    317 tang1           ;
    318 teng }$pTone      }$zTone;
    319 teng             ;
    320 teng1           ;
    321 tiao }$pTone      }$zTone;
    322 tiao             ;
    323 tiao1           ;
    324 tian }$pTone      }$zTone;
    325 tian             ;
    326 tian1           ;
    327 ting }$pTone      }$zTone;
    328 ting             ;
    329 ting1           ;
    330 tuan }$pTone      }$zTone;
    331 tuan             ;
    332 tuan1           ;
    333 tong }$pTone      }$zTone;
    334 tong             ;
    335 tong1           ;
    336 tai }$pTone       }$zTone;
    337 tai              ;
    338 tai1            ;
    339 tao }$pTone       }$zTone;
    340 tao              ;
    341 tao1            ;
    342 tou }$pTone       }$zTone;
    343 tou              ;
    344 tou1            ;
    345 tan }$pTone       }$zTone;
    346 tan              ;
    347 tan1            ;
    348 tie }$pTone       }$zTone;
    349 tie              ;
    350 tie1            ;
    351 tuo }$pTone       }$zTone;
    352 tuo              ;
    353 tuo1            ;
    354 tui }$pTone       }$zTone;
    355 tui              ;
    356 tui1            ;
    357 tun }$pTone       }$zTone;
    358 tun              ;
    359 tun1            ;
    360 ta }$pTone        }$zTone;
    361 ta               ;
    362 ta1             ;
    363 te }$pTone        }$zTone;
    364 te               ;
    365 te1             ;
    366 ti }$pTone        }$zTone;
    367 ti               ;
    368 ti1             ;
    369 tu }$pTone        }$zTone;
    370 tu               ;
    371 tu1             ;
    372 #
    373 niang }$pTone     }$zTone;
    374 niang            ;
    375 niang1          ;
    376 nang }$pTone      }$zTone;
    377 nang             ;
    378 nang1           ;
    379 neng }$pTone      }$zTone;
    380 neng             ;
    381 neng1           ;
    382 niao }$pTone      }$zTone;
    383 niao             ;
    384 niao1           ;
    385 nian }$pTone      }$zTone;
    386 nian             ;
    387 nian1           ;
    388 ning }$pTone      }$zTone;
    389 ning             ;
    390 ning1           ;
    391 nuan }$pTone      }$zTone;
    392 nuan             ;
    393 nuan1           ;
    394 nong }$pTone      }$zTone;
    395 nong             ;
    396 nong1           ;
    397 nai }$pTone       }$zTone;
    398 nai              ;
    399 nai1            ;
    400 nei }$pTone       }$zTone;
    401 nei              ;
    402 nei1            ;
    403 nao }$pTone       }$zTone;
    404 nao              ;
    405 nao1            ;
    406 nou }$pTone       }$zTone;
    407 nou              ;
    408 nou1            ;
    409 nan }$pTone       }$zTone;
    410 nan              ;
    411 nan1            ;
    412 nen }$pTone       }$zTone;
    413 nen              ;
    414 nen1            ;
    415 nia }$pTone       }$zTone;	# (not in han-latin)
    416 nia              ;
    417 nia1            ;
    418 nie }$pTone       }$zTone;
    419 nie              ;
    420 nie1            ;
    421 niu }$pTone       }$zTone;
    422 niu              ;
    423 niu1            ;
    424 nin }$pTone       }$zTone;
    425 nin              ;
    426 nin1            ;
    427 nuo }$pTone       }$zTone;
    428 nuo              ;
    429 nuo1            ;
    430 nun }$pTone       }$zTone;
    431 nun              ;
    432 nun1            ;
    433 ne }$pTone       }$zTone;
    434 ne              ;
    435 ne1            ;
    436 nue }$pTone      ;			# (not in han-latin) one-way, handle wrong u
    437 nue              ;
    438 na }$pTone        }$zTone;
    439 na               ;
    440 na1             ;
    441 ne }$pTone        }$zTone;
    442 ne               ;
    443 ne1             ;
    444 ni }$pTone        }$zTone;
    445 ni               ;
    446 ni1             ;
    447 nu }$pTone        }$zTone;
    448 nu               ;
    449 nu1             ;
    450 n }$pTone        }$zTone;
    451 n               ;
    452 n1             ;
    453 # n handled below
    454 #
    455 liang }$pTone     }$zTone;
    456 liang            ;
    457 liang1          ;
    458 lang }$pTone      }$zTone;
    459 lang             ;
    460 lang1           ;
    461 leng }$pTone      }$zTone;
    462 leng             ;
    463 leng1           ;
    464 liao }$pTone      }$zTone;
    465 liao             ;
    466 liao1           ;
    467 lian }$pTone      }$zTone;
    468 lian             ;
    469 lian1           ;
    470 ling }$pTone      }$zTone;
    471 ling             ;
    472 ling1           ;
    473 luan }$pTone      }$zTone;
    474 luan             ;
    475 luan1           ;
    476 long }$pTone      }$zTone;
    477 long             ;
    478 long1           ;
    479 lan }$pTone      }$zTone;	# (not in han-latin)
    480 lan             ;
    481 lan1           ;
    482 lai }$pTone       }$zTone;
    483 lai              ;
    484 lai1            ;
    485 lei }$pTone       }$zTone;
    486 lei              ;
    487 lei1            ;
    488 lao }$pTone       }$zTone;
    489 lao              ;
    490 lao1            ;
    491 lou }$pTone       }$zTone;
    492 lou              ;
    493 lou1            ;
    494 lan }$pTone       }$zTone;
    495 lan              ;
    496 lan1            ;
    497 lia }$pTone       }$zTone;
    498 lia              ;
    499 lia1            ;
    500 lie }$pTone       }$zTone;
    501 lie              ;
    502 lie1            ;
    503 liu }$pTone       }$zTone;
    504 liu              ;
    505 liu1            ;
    506 lin }$pTone       }$zTone;
    507 lin              ;
    508 lin1            ;
    509 luo }$pTone       }$zTone;
    510 luo              ;
    511 luo1            ;
    512 lun }$pTone       }$zTone;
    513 lun              ;
    514 lun1            ;
    515 le }$pTone       }$zTone;
    516 le              ;
    517 le1            ;
    518 lue }$pTone      ;			# (not in han-latin) one-way, handle wrong u
    519 lue              ;
    520 la }$pTone        }$zTone;
    521 la               ;
    522 la1             ;
    523 lo }$pTone        }$zTone;
    524 lo               ;
    525 lo1             ;
    526 le }$pTone        }$zTone;
    527 le               ;
    528 le1             ;
    529 li }$pTone        }$zTone;
    530 li               ;
    531 li1             ;
    532 lu }$pTone        }$zTone;
    533 lu               ;
    534 lu1             ;
    535 l }$pTone        }$zTone;
    536 l               ;
    537 l1             ;
    538 #
    539 guang }$pTone     }$zTone;
    540 guang            ;
    541 guang1          ;
    542 gang }$pTone      }$zTone;
    543 gang             ;
    544 gang1           ;
    545 geng }$pTone      }$zTone;
    546 geng             ;
    547 geng1           ;
    548 guai }$pTone      }$zTone;
    549 guai             ;
    550 guai1           ;
    551 guan }$pTone      }$zTone;
    552 guan             ;
    553 guan1           ;
    554 gong }$pTone      }$zTone;
    555 gong             ;
    556 gong1           ;
    557 gai }$pTone       }$zTone;
    558 gai              ;
    559 gai1            ;
    560 gei }$pTone       }$zTone;
    561 gei              ;
    562 gei1            ;
    563 gao }$pTone       }$zTone;
    564 gao              ;
    565 gao1            ;
    566 gou }$pTone       }$zTone;
    567 gou              ;
    568 gou1            ;
    569 gan }$pTone       }$zTone;
    570 gan              ;
    571 gan1            ;
    572 gen }$pTone       }$zTone;
    573 gen              ;
    574 gen1            ;
    575 gua }$pTone       }$zTone;
    576 gua              ;
    577 gua1            ;
    578 guo }$pTone       }$zTone;
    579 guo              ;
    580 guo1            ;
    581 gui }$pTone       }$zTone;
    582 gui              ;
    583 gui1            ;
    584 gun }$pTone       }$zTone;
    585 gun              ;
    586 gun1            ;
    587 ga }$pTone        }$zTone;
    588 ga               ;
    589 ga1             ;
    590 ge }$pTone        }$zTone;
    591 ge               ;
    592 ge1             ;
    593 gi }$pTone        }$zTone;
    594 gi               ;
    595 gi1             ;
    596 gu }$pTone        }$zTone;
    597 gu               ;
    598 gu1             ;
    599 #
    600 kuang }$pTone     }$zTone;
    601 kuang            ;
    602 kuang1          ;
    603 kang }$pTone      }$zTone;
    604 kang             ;
    605 kang1           ;
    606 keng }$pTone      }$zTone;
    607 keng             ;
    608 keng1           ;
    609 kuai }$pTone      }$zTone;
    610 kuai             ;
    611 kuai1           ;
    612 kuan }$pTone      }$zTone;
    613 kuan             ;
    614 kuan1           ;
    615 kong }$pTone      }$zTone;
    616 kong             ;
    617 kong1           ;
    618 kai }$pTone       }$zTone;
    619 kai              ;
    620 kai1            ;
    621 kao }$pTone       }$zTone;
    622 kao              ;
    623 kao1            ;
    624 kou }$pTone       }$zTone;
    625 kou              ;
    626 kou1            ;
    627 kan }$pTone       }$zTone;
    628 kan              ;
    629 kan1            ;
    630 ken }$pTone       }$zTone;
    631 ken              ;
    632 ken1            ;
    633 kua }$pTone       }$zTone;
    634 kua              ;
    635 kua1            ;
    636 kuo }$pTone       }$zTone;
    637 kuo              ;
    638 kuo1            ;
    639 kui }$pTone       }$zTone;
    640 kui              ;
    641 kui1            ;
    642 kun }$pTone       }$zTone;
    643 kun              ;
    644 kun1            ;
    645 ka }$pTone        }$zTone;
    646 ka               ;
    647 ka1             ;
    648 ke }$pTone        }$zTone;
    649 ke               ;
    650 ke1             ;
    651 ku }$pTone        }$zTone;
    652 ku               ;
    653 ku1             ;
    654 #
    655 huang }$pTone     }$zTone;
    656 huang            ;
    657 huang1          ;
    658 hang }$pTone      }$zTone;
    659 hang             ;
    660 hang1           ;
    661 heng }$pTone      }$zTone;
    662 heng             ;
    663 heng1           ;
    664 huai }$pTone      }$zTone;
    665 huai             ;
    666 huai1           ;
    667 huan }$pTone      }$zTone;
    668 huan             ;
    669 huan1           ;
    670 hong }$pTone      }$zTone;
    671 hong             ;
    672 hong1           ;
    673 hai }$pTone       }$zTone;
    674 hai              ;
    675 hai1            ;
    676 hei }$pTone       }$zTone;
    677 hei              ;
    678 hei1            ;
    679 hao }$pTone       }$zTone;
    680 hao              ;
    681 hao1            ;
    682 hou }$pTone       }$zTone;
    683 hou              ;
    684 hou1            ;
    685 han }$pTone       }$zTone;
    686 han              ;
    687 han1            ;
    688 hen }$pTone       }$zTone;
    689 hen              ;
    690 hen1            ;
    691 hua }$pTone       }$zTone;
    692 hua              ;
    693 hua1            ;
    694 huo }$pTone       }$zTone;
    695 huo              ;
    696 huo1            ;
    697 hui }$pTone       }$zTone;
    698 hui              ;
    699 hui1            ;
    700 hun }$pTone       }$zTone;
    701 hun              ;
    702 hun1            ;
    703 hm }$pTone        }$zTone;
    704 hm               ;
    705 hm1             ;
    706 ha }$pTone        }$zTone;
    707 ha               ;
    708 ha1             ;
    709 ho }$pTone        }$zTone;
    710 ho               ;
    711 ho1             ;
    712 he }$pTone        }$zTone;
    713 he               ;
    714 he1             ;
    715 hu }$pTone        }$zTone;
    716 hu               ;
    717 hu1             ;
    718 #
    719 jiang }$pTone     }$zTone;
    720 jiang            ;
    721 jiang1          ;
    722 jiong }$pTone     }$zTone;
    723 jiong            ;
    724 jiong1          ;
    725 jiao }$pTone      }$zTone;
    726 jiao             ;
    727 jiao1           ;
    728 jian }$pTone      }$zTone;
    729 jian             ;
    730 jian1           ;
    731 jing }$pTone      }$zTone;
    732 jing             ;
    733 jing1           ;
    734 juan }$pTone      }$zTone;
    735 juan             ;
    736 juan1           ;
    737 jia }$pTone       }$zTone;
    738 jia              ;
    739 jia1            ;
    740 jie }$pTone       }$zTone;
    741 jie              ;
    742 jie1            ;
    743 jiu }$pTone       }$zTone;
    744 jiu              ;
    745 jiu1            ;
    746 jin }$pTone       }$zTone;
    747 jin              ;
    748 jin1            ;
    749 jue }$pTone       }$zTone;
    750 jue              ;
    751 jue1            ;
    752 jun }$pTone       }$zTone;
    753 jun              ;
    754 jun1            ;
    755 ji }$pTone        }$zTone;
    756 ji               ;
    757 ji1             ;
    758 ju }$pTone        }$zTone;
    759 ju               ;
    760 ju1             ;
    761 #
    762 qiang }$pTone     }$zTone;
    763 qiang            ;
    764 qiang1          ;
    765 qiong }$pTone     }$zTone;
    766 qiong            ;
    767 qiong1          ;
    768 qiao }$pTone      }$zTone;
    769 qiao             ;
    770 qiao1           ;
    771 qian }$pTone      }$zTone;
    772 qian             ;
    773 qian1           ;
    774 qing }$pTone      }$zTone;
    775 qing             ;
    776 qing1           ;
    777 quan }$pTone      }$zTone;
    778 quan             ;
    779 quan1           ;
    780 qia }$pTone       }$zTone;
    781 qia              ;
    782 qia1            ;
    783 qie }$pTone       }$zTone;
    784 qie              ;
    785 qie1            ;
    786 qiu }$pTone       }$zTone;
    787 qiu              ;
    788 qiu1            ;
    789 qin }$pTone       }$zTone;
    790 qin              ;
    791 qin1            ;
    792 que }$pTone       }$zTone;
    793 que              ;
    794 que1            ;
    795 qun }$pTone       }$zTone;
    796 qun              ;
    797 qun1            ;
    798 qi }$pTone        }$zTone;
    799 qi               ;
    800 qi1             ;
    801 qu }$pTone        }$zTone;
    802 qu               ;
    803 qu1             ;
    804 #
    805 xiang }$pTone     }$zTone;
    806 xiang            ;
    807 xiang1          ;
    808 xiong }$pTone     }$zTone;
    809 xiong            ;
    810 xiong1          ;
    811 xiao }$pTone      }$zTone;
    812 xiao             ;
    813 xiao1           ;
    814 xian }$pTone      }$zTone;
    815 xian             ;
    816 xian1           ;
    817 xing }$pTone      }$zTone;
    818 xing             ;
    819 xing1           ;
    820 xuan }$pTone      }$zTone;
    821 xuan             ;
    822 xuan1           ;
    823 xia }$pTone       }$zTone;
    824 xia              ;
    825 xia1            ;
    826 xie }$pTone       }$zTone;
    827 xie              ;
    828 xie1            ;
    829 xiu }$pTone       }$zTone;
    830 xiu              ;
    831 xiu1            ;
    832 xin }$pTone       }$zTone;
    833 xin              ;
    834 xin1            ;
    835 xue }$pTone       }$zTone;
    836 xue              ;
    837 xue1            ;
    838 xun }$pTone       }$zTone;
    839 xun              ;
    840 xun1            ;
    841 xi }$pTone        }$zTone;
    842 xi               ;
    843 xi1             ;
    844 xu }$pTone        }$zTone;
    845 xu               ;
    846 xu1             ;
    847 #
    848 zhuang }$pTone    }$zTone;
    849 zhuang           ;
    850 zhuang1         ;
    851 zhang }$pTone     }$zTone;
    852 zhang            ;
    853 zhang1          ;
    854 zheng }$pTone     }$zTone;
    855 zheng            ;
    856 zheng1          ;
    857 zhuai }$pTone     }$zTone;
    858 zhuai            ;
    859 zhuai1          ;
    860 zhuan }$pTone     }$zTone;
    861 zhuan            ;
    862 zhuan1          ;
    863 zhong }$pTone     }$zTone;
    864 zhong            ;
    865 zhong1          ;
    866 zhai }$pTone      }$zTone;
    867 zhai             ;
    868 zhai1           ;
    869 zhei }$pTone      }$zTone;		# (not in han-latin)
    870 zhei             ;
    871 zhei1           ;
    872 zhao }$pTone      }$zTone;
    873 zhao             ;
    874 zhao1           ;
    875 zhou }$pTone      }$zTone;
    876 zhou             ;
    877 zhou1           ;
    878 zhan }$pTone      }$zTone;
    879 zhan             ;
    880 zhan1           ;
    881 zhen }$pTone      }$zTone;
    882 zhen             ;
    883 zhen1           ;
    884 zhua }$pTone      }$zTone;
    885 zhua             ;
    886 zhua1           ;
    887 zhuo }$pTone      }$zTone;
    888 zhuo             ;
    889 zhuo1           ;
    890 zhui }$pTone      }$zTone;
    891 zhui             ;
    892 zhui1           ;
    893 zhun }$pTone      }$zTone;
    894 zhun             ;
    895 zhun1           ;
    896 zha }$pTone       }$zTone;
    897 zha              ;
    898 zha1            ;
    899 zhe }$pTone       }$zTone;
    900 zhe              ;
    901 zhe1            ;
    902 zhu }$pTone       }$zTone;
    903 zhu              ;
    904 zhu1            ;
    905 zhi }$pTone       }$zTone;
    906 zhi              ;
    907 zhi1            ;
    908 #
    909 chuang }$pTone    }$zTone;
    910 chuang           ;
    911 chuang1         ;
    912 chang }$pTone     }$zTone;
    913 chang            ;
    914 chang1          ;
    915 cheng }$pTone     }$zTone;
    916 cheng            ;
    917 cheng1          ;
    918 chuai }$pTone     }$zTone;
    919 chuai            ;
    920 chuai1          ;
    921 chuan }$pTone     }$zTone;
    922 chuan            ;
    923 chuan1          ;
    924 chong }$pTone     }$zTone;
    925 chong            ;
    926 chong1          ;
    927 chai }$pTone      }$zTone;
    928 chai             ;
    929 chai1           ;
    930 chao }$pTone      }$zTone;
    931 chao             ;
    932 chao1           ;
    933 chou }$pTone      }$zTone;
    934 chou             ;
    935 chou1           ;
    936 chan }$pTone      }$zTone;
    937 chan             ;
    938 chan1           ;
    939 chen }$pTone      }$zTone;
    940 chen             ;
    941 chen1           ;
    942 chua }$pTone      }$zTone;
    943 chua             ;
    944 chua1           ;
    945 chuo }$pTone      }$zTone;
    946 chuo             ;
    947 chuo1           ;
    948 chui }$pTone      }$zTone;
    949 chui             ;
    950 chui1           ;
    951 chun }$pTone      }$zTone;
    952 chun             ;
    953 chun1           ;
    954 cha }$pTone       }$zTone;
    955 cha              ;
    956 cha1            ;
    957 che }$pTone       }$zTone;
    958 che              ;
    959 che1            ;
    960 chu }$pTone       }$zTone;
    961 chu              ;
    962 chu1            ;
    963 chi }$pTone       }$zTone;
    964 chi              ;
    965 chi1            ;
    966 #
    967 shuang }$pTone    }$zTone;
    968 shuang           ;
    969 shuang1         ;
    970 shong }$pTone     }$zTone;	# (not in han-latin)
    971 shong            ;
    972 shong1          ;
    973 shang }$pTone     }$zTone;
    974 shang            ;
    975 shang1          ;
    976 sheng }$pTone     }$zTone;
    977 sheng            ;
    978 sheng1          ;
    979 shuai }$pTone     }$zTone;
    980 shuai            ;
    981 shuai1          ;
    982 shuan }$pTone     }$zTone;
    983 shuan            ;
    984 shuan1          ;
    985 shai }$pTone      }$zTone;
    986 shai             ;
    987 shai1           ;
    988 shei }$pTone      }$zTone;		# (not in han-latin)
    989 shei             ;
    990 shei1           ;
    991 shao }$pTone      }$zTone;
    992 shao             ;
    993 shao1           ;
    994 shou }$pTone      }$zTone;
    995 shou             ;
    996 shou1           ;
    997 shan }$pTone      }$zTone;
    998 shan             ;
    999 shan1           ;
   1000 shen }$pTone      }$zTone;
   1001 shen             ;
   1002 shen1           ;
   1003 shua }$pTone      }$zTone;
   1004 shua             ;
   1005 shua1           ;
   1006 shuo }$pTone      }$zTone;
   1007 shuo             ;
   1008 shuo1           ;
   1009 shui }$pTone      }$zTone;
   1010 shui             ;
   1011 shui1           ;
   1012 shun }$pTone      }$zTone;
   1013 shun             ;
   1014 shun1           ;
   1015 sha }$pTone       }$zTone;
   1016 sha              ;
   1017 sha1            ;
   1018 she }$pTone       }$zTone;
   1019 she              ;
   1020 she1            ;
   1021 shu }$pTone       }$zTone;
   1022 shu              ;
   1023 shu1            ;
   1024 shi }$pTone       }$zTone;
   1025 shi              ;
   1026 shi1            ;
   1027 #
   1028 rang }$pTone      }$zTone;
   1029 rang             ;
   1030 rang1           ;
   1031 reng }$pTone      }$zTone;
   1032 reng             ;
   1033 reng1           ;
   1034 ruan }$pTone      }$zTone;
   1035 ruan             ;
   1036 ruan1           ;
   1037 rong }$pTone      }$zTone;
   1038 rong             ;
   1039 rong1           ;
   1040 rao }$pTone       }$zTone;
   1041 rao              ;
   1042 rao1            ;
   1043 rou }$pTone       }$zTone;
   1044 rou              ;
   1045 rou1            ;
   1046 ran }$pTone       }$zTone;
   1047 ran              ;
   1048 ran1            ;
   1049 ren }$pTone       }$zTone;
   1050 ren              ;
   1051 ren1            ;
   1052 ruo }$pTone       }$zTone;
   1053 ruo              ;
   1054 ruo1            ;
   1055 rui }$pTone       }$zTone;
   1056 rui              ;
   1057 rui1            ;
   1058 run }$pTone       }$zTone;
   1059 run              ;
   1060 run1            ;
   1061 ra }$pTone        }$zTone;
   1062 ra               ;
   1063 ra1             ;
   1064 re }$pTone        }$zTone;
   1065 re               ;
   1066 re1             ;
   1067 ru }$pTone        }$zTone;
   1068 ru               ;
   1069 ru1             ;
   1070 ri }$pTone        }$zTone;
   1071 ri               ;
   1072 ri1             ;
   1073 #
   1074 zang }$pTone      }$zTone;
   1075 zang             ;
   1076 zang1           ;
   1077 zeng }$pTone      }$zTone;
   1078 zeng             ;
   1079 zeng1           ;
   1080 zuan }$pTone      }$zTone;
   1081 zuan             ;
   1082 zuan1           ;
   1083 zong }$pTone      }$zTone;
   1084 zong             ;
   1085 zong1           ;
   1086 zai }$pTone       }$zTone;
   1087 zai              ;
   1088 zai1            ;
   1089 zei }$pTone       }$zTone;
   1090 zei              ;
   1091 zei1            ;
   1092 zao }$pTone       }$zTone;
   1093 zao              ;
   1094 zao1            ;
   1095 zou }$pTone       }$zTone;
   1096 zou              ;
   1097 zou1            ;
   1098 zan }$pTone       }$zTone;
   1099 zan              ;
   1100 zan1            ;
   1101 zen }$pTone       }$zTone;
   1102 zen              ;
   1103 zen1            ;
   1104 zuo }$pTone       }$zTone;
   1105 zuo              ;
   1106 zuo1            ;
   1107 zui }$pTone       }$zTone;
   1108 zui              ;
   1109 zui1            ;
   1110 zun }$pTone       }$zTone;
   1111 zun              ;
   1112 zun1            ;
   1113 za }$pTone        }$zTone;
   1114 za               ;
   1115 za1             ;
   1116 ze }$pTone        }$zTone;
   1117 ze               ;
   1118 ze1             ;
   1119 zu }$pTone        }$zTone;
   1120 zu               ;
   1121 zu1             ;
   1122 zi }$pTone        }$zTone;
   1123 zi               ;
   1124 zi1             ;
   1125 #
   1126 cang }$pTone      }$zTone;
   1127 cang             ;
   1128 cang1           ;
   1129 ceng }$pTone      }$zTone;
   1130 ceng             ;
   1131 ceng1           ;
   1132 cuan }$pTone      }$zTone;
   1133 cuan             ;
   1134 cuan1           ;
   1135 cong }$pTone      }$zTone;
   1136 cong             ;
   1137 cong1           ;
   1138 cai }$pTone       }$zTone;
   1139 cai              ;
   1140 cai1            ;
   1141 cao }$pTone       }$zTone;
   1142 cao              ;
   1143 cao1            ;
   1144 cou }$pTone       }$zTone;
   1145 cou              ;
   1146 cou1            ;
   1147 can }$pTone       }$zTone;
   1148 can              ;
   1149 can1            ;
   1150 cen }$pTone       }$zTone;
   1151 cen              ;
   1152 cen1            ;
   1153 cuo }$pTone       }$zTone;
   1154 cuo              ;
   1155 cuo1            ;
   1156 cui }$pTone       }$zTone;
   1157 cui              ;
   1158 cui1            ;
   1159 cun }$pTone       }$zTone;
   1160 cun              ;
   1161 cun1            ;
   1162 ca }$pTone        }$zTone;
   1163 ca               ;
   1164 ca1             ;
   1165 ce }$pTone        }$zTone;
   1166 ce               ;
   1167 ce1             ;
   1168 cu }$pTone        }$zTone;
   1169 cu               ;
   1170 cu1             ;
   1171 ci }$pTone        }$zTone;
   1172 ci               ;
   1173 ci1             ;
   1174 #
   1175 sang }$pTone      }$zTone;
   1176 sang             ;
   1177 sang1           ;
   1178 seng }$pTone      }$zTone;
   1179 seng             ;
   1180 seng1           ;
   1181 suan }$pTone      }$zTone;
   1182 suan             ;
   1183 suan1           ;
   1184 song }$pTone      }$zTone;
   1185 song             ;
   1186 song1           ;
   1187 sai }$pTone       }$zTone;
   1188 sai              ;
   1189 sai1            ;
   1190 sei }$pTone       }$zTone;		# (not in han-latin)
   1191 sei              ;
   1192 sei1            ;
   1193 sao }$pTone       }$zTone;
   1194 sao              ;
   1195 sao1            ;
   1196 sou }$pTone       }$zTone;
   1197 sou              ;
   1198 sou1            ;
   1199 san }$pTone       }$zTone;
   1200 san              ;
   1201 san1            ;
   1202 sen }$pTone       }$zTone;
   1203 sen              ;
   1204 sen1            ;
   1205 suo }$pTone       }$zTone;
   1206 suo              ;
   1207 suo1            ;
   1208 sui }$pTone       }$zTone;
   1209 sui              ;
   1210 sui1            ;
   1211 sun }$pTone       }$zTone;
   1212 sun              ;
   1213 sun1            ;
   1214 sa }$pTone        }$zTone;
   1215 sa               ;
   1216 sa1             ;
   1217 se }$pTone        }$zTone;
   1218 se               ;
   1219 se1             ;
   1220 su }$pTone        }$zTone;
   1221 su               ;
   1222 su1             ;
   1223 si }$pTone        }$zTone;
   1224 si               ;
   1225 si1             ;
   1226 #
   1227 #--- vowels and vowel compounds ----
   1228 # most exist as syllables by themselves and they are also used as finals for initial consonants
   1229 #
   1230 yuan }$pTone      }$zTone;
   1231 yuan             ;
   1232 yuan1           ;
   1233 yong }$pTone      }$zTone;
   1234 yong          ;
   1235 yong1        ;
   1236 yue }$pTone       }$zTone;
   1237 yue              ;
   1238 yue1            ;
   1239 yun }$pTone       }$zTone;
   1240 yun              ;
   1241 yun1            ;
   1242 yu }$pTone        }$zTone;
   1243 yu               ;
   1244 yu1             ;
   1245 # iu handled below
   1246 #
   1247 yang }$pTone      }$zTone;
   1248 yang             ;
   1249 yang1           ;
   1250 ying }$pTone      }$zTone;
   1251 ying             ;
   1252 ying1           ;
   1253 yai }$pTone       }$zTone;		# (not in han-latin)
   1254 yai              ;
   1255 yai1            ;
   1256 yao }$pTone       }$zTone;
   1257 yao              ;
   1258 yao1            ;
   1259 you }$pTone       }$zTone;
   1260 you              ;
   1261 you1            ;
   1262 yan }$pTone       }$zTone;
   1263 yan              ;
   1264 yan1            ;
   1265 yin }$pTone       }$zTone;
   1266 yin              ;
   1267 yin1            ;
   1268 ya }$pTone        }$zTone;
   1269 ya               ;
   1270 ya1             ;
   1271 yo }$pTone        }$zTone;
   1272 yo               ;
   1273 yo1             ;
   1274 ye }$pTone        }$zTone;
   1275 ye               ;
   1276 ye1             ;
   1277 yi }$pTone        }$zTone;
   1278 yi               ;
   1279 yi1             ;
   1280 # i handled below
   1281 #
   1282 wong }$pTone      }$zTone;
   1283 wong             ;
   1284 wong1           ;
   1285 wang }$pTone      }$zTone;
   1286 wang             ;
   1287 wang1           ;
   1288 weng }$pTone      }$zTone;
   1289 weng             ;
   1290 weng1           ;
   1291 wai }$pTone       }$zTone;
   1292 wai              ;
   1293 wai1            ;
   1294 wei }$pTone       }$zTone;
   1295 wei              ;
   1296 wei1            ;
   1297 wan }$pTone       }$zTone;
   1298 wan              ;
   1299 wan1            ;
   1300 wen }$pTone       }$zTone;
   1301 wen              ;
   1302 wen1            ;
   1303 wa }$pTone        }$zTone;
   1304 wa               ;
   1305 wa1             ;
   1306 wo }$pTone        }$zTone;
   1307 wo               ;
   1308 wo1             ;
   1309 wu }$pTone        }$zTone;
   1310 wu               ;
   1311 wu1             ;
   1312 # u handled below
   1313 #
   1314 ang }$pTone       }$zTone;
   1315 ang              ;
   1316 ang1            ;
   1317 eng }$pTone       }$zTone;
   1318 eng              ;
   1319 eng1            ;
   1320 eh }$pTone        }$zTone;		# (not in han-latin)
   1321 eh               ;
   1322 eh1             ;
   1323 ea }$pTone       ;				# (not in han-latin) one-way
   1324 ea               ;
   1325 ai }$pTone        }$zTone;
   1326 ai               ;
   1327 ai1             ;
   1328 ei }$pTone        }$zTone;
   1329 ei               ;
   1330 ei1             ;
   1331 ao }$pTone        }$zTone;
   1332 ao               ;
   1333 ao1             ;
   1334 au }$pTone       ;				# (not in han-latin) one-way, handle unicode spelling
   1335 au               ;
   1336 ou }$pTone        }$zTone;
   1337 ou               ;
   1338 ou1             ;
   1339 an }$pTone        }$zTone;
   1340 an               ;
   1341 an1             ;
   1342 en }$pTone        }$zTone;
   1343 en               ;
   1344 en1             ;
   1345 er }$pTone        }$zTone;
   1346 er               ;
   1347 er1             ;
   1348 a }$pTone         }$zTone;
   1349 a                ;
   1350 a1              ;
   1351 o }$pTone         }$zTone;
   1352 o                ;
   1353 o1              ;
   1354 e }$pTone         }$zTone;
   1355 e                ;
   1356 e1              ;
   1357 #
   1358 # handle unicode spellings of ,, above
   1359 iu }$pTone       ;				# (not in han-latin) one-way, handle unicode spelling
   1360 iu               ;
   1361 i }$pTone        ;				# (not in han-latin) one-way, handle unicode spelling
   1362 i                ;
   1363 u }$pTone        ;				# (not in han-latin) one-way, handle unicode spelling
   1364 u                ;
   1365 #
   1366 #--- clusters with a single pinyin consonant that can apear in other clusters ----
   1367 #
   1368 m }$pTone         }$zTone;
   1369 m                ;
   1370 m1              ;
   1371 #
   1372 n }$pTone         }$zTone;
   1373 n                ;
   1374 n1              ;
   1375 #
   1376 #--- fallback mappings ----
   1377 #
   1378 # separate fallback mappings for some compound finals after consonants
   1379 # (different pinyin than the standalone mappings for these zhuyin sequences).
   1380 #
   1381 #-------
   1382 # would be nice to have these, need to work out how;
   1383 # something like the following, but need to avoid conflicts with mappings above:
   1384 # $pCons{ ia }$pTone    $zCons{  }$zTone;	# fallback mapping for unambiguous compound final
   1385 #     $pCons{ ia         ;
   1386 #     ia1               $zCons{ 
   1387 #
   1388 # the relevant mappings are:
   1389 # ia  
   1390 # ie  
   1391 # iao  
   1392 # iu  
   1393 # ian  
   1394 # in  
   1395 # iang  
   1396 # ing  
   1397 # ua  
   1398 # uo  
   1399 # uai  
   1400 # ui  
   1401 # uang  
   1402 # ong  
   1403 # iong  
   1404 #-------
   1405 #
   1406 # separate fallback mappings for some initial consonants not handled above
   1407 # none of the mapped consonants handled here can have tones, so this is simple
   1408 b        ;
   1409 p        ;
   1410 # m      ;	# handled above
   1411 f        ;
   1412 d        ;
   1413 t        ;
   1414 # n      ;	# handled above
   1415 l        ;
   1416 g        ;
   1417 k        ;
   1418 h        ;
   1419 j        ;
   1420 q        ;
   1421 x        ;
   1422 zh       ;	# reverse mapping to zhi handled above
   1423 ch       ;	# reverse mapping to chi handled above
   1424 sh       ;	# reverse mapping to shi handled above
   1425 r        ;	# reverse mapping to ri handled above
   1426 z        ;	# reverse mapping to zi handled above
   1427 c        ;	# reverse mapping to ci handled above
   1428 s        ;	# reverse mapping to si handled above
   1429 #
   1430 #--- tones (except for the ummarked cases handled above) ----
   1431 #
   1432 # tone 1: pinyin \u0304 or 1  zhuyin typically unmarked or use  \u02C9
   1433 1  ;		# map to nothing
   1434 1  	;	# transform if marked in zhuyin
   1435 # did the following with rules for each cluster, above
   1436 # 1  ;		# map nothing in zhuyin to pinyin mark
   1437 #
   1438 # tones 2-4 (easy)
   1439 # $pToneOK{ 2  $zToneOK{ ;	# pinyin \u0301 or 2  zhuyin \u02CA
   1440 # $pToneOK{ 3  $zToneOK{ ;	# pinyin \u030C or 3  zhuyin \u02C7
   1441 # $pToneOK{ 4  $zToneOK{ ;	# pinyin \u0300 or 4  zhuyin \u02CB
   1442 # actually don't need context:
   1443 2  ;	# pinyin \u0301 or 2  zhuyin \u02CA
   1444 3  ;	# pinyin \u030C or 3  zhuyin \u02C7
   1445 4  ;	# pinyin \u0300 or 4  zhuyin \u02CB
   1446 #
   1447 # tone 5 (light): pinyin typically unmarked or use 5  zhuyin  \u02D9
   1448  ;	# map to nothing
   1449 5  ;	# transform if marked in pinyin
   1450 # did the following with rules for each cluster above
   1451 #   ;	# map nothing in pinyin to zhuyin mark
   1452 #
   1453 #--- reverse filter ----
   1454 #
   1455 :: ([[-][]]);		# reverse filter: only modifies basic Bopomofo and tone marks
   1456 			</tRule>
   1457 		</transform>
   1458 	</transforms>
   1459 </supplementalData>
   1460