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: 12243 $"/>
     10 	<transforms>
     11 		<transform source="es_FONIPA" target="zh" direction="forward" alias="zh-t-es-fonipa">
     12 			<tRule><![CDATA[
     13 # Tranforms Spanish to Mandarin Chinese. The input Spanish string must be in
     14 # phonemic IPA transcription (es_FONIPA); the output is in Simplified Chinese.
     15 
     16 $word_boundary = [-\ $];
     17 $vowel = [aeijouw];       # Vowels and glides
     18 $not_vowel = [^$vowel];
     19 
     20 # First pass: Collapse phonetic distinctions not preserved in Mandarin.
     21 
     22   | d;
     23   | g;
     24   | n;
     25   | s;
     26   | r;
     27 
     28 ff  f ;
     29 kk  k ;
     30 mm  m ;
     31 nn  n ;
     32 pp  p ;
     33 tt  t ;
     34 t   ;
     35 
     36 aa  a ;
     37 oi  oi ;
     38 oo  o ;
     39 uu  u ;
     40 
     41 [^dgktx] { ei  e ;
     42 [^-\ .$] { eu  eu ;
     43 [^-\ .$] { ou  o;
     44 [^j]     { ui  wi ;
     45 
     46 [^$word_boundary] { m } [bp]  n;  # GB/T 17693.5-2009, 5.3.2
     47 s[s]  s;               # GB/T 17693.5-2009, 5.3.4
     48 [^] { jo  io;          # GB/T 17693.5-2009  1,  7
     49 
     50 ::Null;
     51 
     52 j } an $not_vowel  i ;  # GB/T 17693.5-2009  1,  8
     53 
     54 
     55 # GB/T 17693.5-2009  1,  8 also says that <uai> should be treated as if
     56 # it was <u> plus <ai>.  This is not borne out by the observed data, which
     57 # suggests that <ua> plus <i> is the more appropriate choice in some
     58 # situations.
     59 
     60 [g.$] { wai  wai ;
     61 wai  uai ;
     62 [g.$] { wau  wau ;
     63 wau  uau ;
     64 jau  iau ;
     65 
     66 # Even though "ao" is not a diphthong in Spanish, Mandarin treats it as one.
     67 
     68 [^jw] { ao } [^n]      au ;
     69 [^jw] { ao } n $vowel  au ;
     70 
     71 # Main pass: Phoneme to Hanzi conversion.
     72 # This generally follows GB/T 17693.5-2009  1, unless otherwise noted.
     73 ::Null;
     74 
     75 '.'  ;
     76 ai   ;
     77 an } $not_vowel   ;
     78 au   ;
     79 a   ;
     80 bai   ;
     81 ban } $not_vowel   ;
     82 bau   ;
     83 ba   ;
     84 ben } $not_vowel   ;
     85 be   ;
     86 bin } $not_vowel   ;
     87 bi   ;
     88 bja   ;
     89 bjen } $not_vowel   ;
     90 bje   ;
     91 bju   ;
     92 bon } $not_vowel   ;
     93 bo   ;
     94 bun } $not_vowel   ;
     95 bu   ;
     96 bwan } $not_vowel   ;
     97 bwa   ;
     98 bwen } $not_vowel   ;  # Should be be , per GB/T 17693.5-2009  1.
     99 bwe   ;
    100 bwin } $not_vowel   ;  # Nonstandard, but fits observed data.
    101 bwi   ;
    102 bwo   ;
    103 b   ;
    104 ai   ;
    105 an } $not_vowel   ;
    106 au   ;
    107 a   ;
    108 en } $not_vowel   ;
    109 e   ;
    110 in } $not_vowel   ;
    111 i   ;
    112 ja   ;
    113 jen } $not_vowel   ;
    114 je   ;
    115 ju   ;
    116 on } $not_vowel   ;
    117 o   ;
    118 un } $not_vowel   ;
    119 u   ;
    120 wan } $not_vowel   ;
    121 wa   ;
    122 wen } $not_vowel   ;
    123 we   ;
    124 wi   ;
    125 wo   ;
    126    ;
    127 dai   ;
    128 dan } $not_vowel   ;
    129 dau   ;
    130 da   ;
    131 dei   ;
    132 den } $not_vowel   ;
    133 de   ;
    134 din } $not_vowel   ;
    135 di   ;
    136 dja   ;
    137 djen } $not_vowel   ;
    138 dje   ;
    139 dju   ;
    140 don } $not_vowel   ;
    141 do   ;
    142 dun } $not_vowel   ;
    143 du   ;
    144 dwan } $not_vowel   ;
    145 dwa   ;
    146 dwen } $not_vowel   ;
    147 dwe   ;
    148 dwi   ;
    149 dwo   ;
    150 d } $word_boundary  ;
    151 d   ;
    152 ei   ;
    153 en } $not_vowel   ;
    154 eu   ;
    155 e   ;
    156 fai   ;
    157 fan } $not_vowel   ;
    158 fau   ;
    159 fa   ;
    160 fe   ;
    161 fin } $not_vowel   ;
    162 fi   ;
    163 fja   ;
    164 fjen } $not_vowel   ;
    165 fje   ;
    166 fju   ;
    167 fon } $not_vowel   ;
    168 fo   ;
    169 fun } $not_vowel   ;
    170 fu   ;
    171 fwan } $not_vowel   ;
    172 fwa   ;
    173 fwen } $not_vowel   ;
    174 fwe   ;
    175 fwi   ;
    176 fwo   ;
    177 
    178 
    179 # The choice of  vs.  sounds simple according to the GB/T standard, but the
    180 # data suggest otherwise.  Ideally,  should occur at the beginning of a
    181 # morpheme (e.g. in "villafranca" ) and  everywhere else.  Since
    182 # we don't have morpheme boundaries, we'll fudge it by writing  at the end of
    183 # a word and  everywhere else.
    184 
    185 f } $word_boundary   ;
    186 f   ;
    187 
    188 gai   ;
    189 gan } $not_vowel   ;
    190 gau   ;
    191 ga   ;
    192 gei   ;
    193 gen } $not_vowel   ;
    194 ge   ;
    195 gin } $not_vowel   ;
    196 gi   ;
    197 gja   ;
    198 gjen } $not_vowel   ;
    199 gje   ;
    200 gju   ;
    201 gon } $not_vowel   ;
    202 go   ;
    203 gun } $not_vowel   ;
    204 gu   ;
    205 gwan } [$]   ;        # Nonstandard, but fits observed data.
    206 gwan } $not_vowel   ;
    207 gwa   ;
    208 gwen } $not_vowel   ;
    209 gwe   ;
    210 gwi   ;
    211 gwo   ;
    212 g   ;
    213 in } $not_vowel   ;
    214 i   ;
    215 ai   ;
    216 an } $not_vowel   ;
    217 au   ;
    218 a   ;
    219 en } $not_vowel   ;
    220 e   ;
    221 in } $not_vowel   ;
    222 i   ;
    223 on } $not_vowel   ;
    224 o   ;
    225 un } $not_vowel   ;
    226 u   ;
    227 wan } $not_vowel   ;
    228 wa   ;
    229 wen } $not_vowel   ;
    230 we   ;
    231 wi   ;
    232 wo   ;
    233    ;
    234 kai   ;
    235 kan } $not_vowel   ;
    236 kau   ;
    237 ka   ;
    238 kei   ;
    239 ken } $not_vowel   ;
    240 ke   ;
    241 kin } $not_vowel   ;
    242 ki   ;
    243 kja   ;
    244 kjen } $not_vowel   ;
    245 kje   ;
    246 kju   ;
    247 kon } $not_vowel   ;
    248 ko   ;
    249 kun } $not_vowel   ;
    250 ku   ;
    251 kwan } $not_vowel   ;
    252 kwa   ;
    253 kwen } $not_vowel   ;
    254 kwe   ;
    255 kwin } $not_vowel   ;
    256 kwi   ;
    257 kwo   ;
    258 k   ;
    259 lae } [^n]   ;
    260 lai   ;
    261 lan } $not_vowel   ;
    262 lau   ;
    263 la   ;
    264 len } $not_vowel   ;
    265 le   ;
    266 lin } $not_vowel   ;
    267 li   ;
    268 lja   ;
    269 ljen } $not_vowel   ;
    270 lje   ;
    271 lju   ;
    272 lon } $not_vowel   ;
    273 lo   ;
    274 lun } $not_vowel   ;
    275 lu   ;
    276 lwan } $not_vowel   ;
    277 lwa   ;
    278 lwen } $not_vowel   ;
    279 lwe   ;
    280 lwi   ;
    281 lwo   ;
    282 l   ;
    283 an } $not_vowel   ;
    284 au   ;
    285 a   ;
    286 en } $not_vowel   ;
    287 e   ;
    288 in } $not_vowel   ;
    289 i   ;
    290 on } $not_vowel   ;
    291 o   ;
    292 u   ;
    293 wan } $not_vowel   ;
    294 wa   ;
    295 wen } $not_vowel   ;
    296 we   ;
    297 wi   ;
    298 wo   ;
    299    ;
    300 mai   ;
    301 man } $not_vowel   ;
    302 martin   ;
    303 mau   ;
    304 ma   ;
    305 men } $not_vowel   ;
    306 me   ;
    307 min } $not_vowel   ;
    308 mi   ;
    309 mja   ;
    310 mjen } $not_vowel   ;
    311 mje   ;
    312 mju   ;
    313 mon } $not_vowel   ;
    314 mo   ;
    315 mun } $not_vowel   ;
    316 mu   ;
    317 mwan } $not_vowel   ;
    318 mwa   ;
    319 mwen } $not_vowel   ;
    320 mwe   ;
    321 mwin } $not_vowel   ;  # Nonstandard, but fits observed data.
    322 mwi   ;
    323 mwo   ;
    324 m   ;
    325 nai   ;
    326 nan } $not_vowel   ;
    327 nau   ;
    328 na   ;
    329 nen } $not_vowel   ;
    330 ne   ;
    331 nin } $not_vowel   ;
    332 ni   ;
    333 nja   ;
    334 njen } $not_vowel   ;
    335 nje   ;
    336 nju   ;
    337 non } $not_vowel   ;
    338 no   ;
    339 nun } $not_vowel   ;
    340 nu   ;
    341 nwan } $not_vowel   ;
    342 nwa   ;
    343 nwen } $not_vowel   ;
    344 nwe   ;
    345 nwi   ;
    346 nwo   ;
    347 n   ;
    348 an } $not_vowel   ;
    349 au   ;
    350 a   ;
    351 en } $not_vowel   ;
    352 e   ;
    353 in } $not_vowel   ;
    354 i   ;
    355 on } $not_vowel   ;
    356 o   ;
    357 u   ;
    358 wan } $not_vowel   ;
    359 wa   ;
    360 wen } $not_vowel   ;
    361 we   ;
    362 wi   ;
    363 wo   ;
    364 on } $not_vowel   ;
    365 ou   ;
    366 o   ;
    367 pai   ;
    368 pan } $not_vowel   ;
    369 pau   ;
    370 pa   ;
    371 pen } $not_vowel   ;
    372 pe   ;
    373 pin } $not_vowel   ;
    374 pi   ;
    375 pja   ;
    376 pjen } $not_vowel   ;
    377 pje   ;
    378 pju   ;
    379 pon } $not_vowel   ;
    380 po   ;
    381 pun } $not_vowel   ;
    382 pu   ;
    383 pwan } $not_vowel   ;
    384 pwa   ;
    385 pwen } $not_vowel   ;
    386 pwe   ;
    387 pwi   ;
    388 pwo   ;
    389 p   ;
    390 rai   ;
    391 ran } $not_vowel   ;
    392 rau   ;
    393 ra   ;
    394 ren } $not_vowel   ;
    395 re   ;
    396 rin } $not_vowel   ;
    397 ri   ;
    398 rja   ;
    399 rjen } $not_vowel   ;
    400 rje   ;
    401 rju   ;
    402 ron } $not_vowel   ;
    403 ro   ;
    404 run } $not_vowel   ;
    405 ru   ;
    406 rwan } $not_vowel   ;
    407 rwa   ;
    408 rwen } $not_vowel   ;
    409 rwe   ;
    410 rwi   ;
    411 rwo   ;
    412 r  R ;
    413 sai   ;
    414 san } $not_vowel   ;
    415 sau   ;
    416 sa   ;
    417 sen } $not_vowel   ;
    418 se   ;
    419 sin } $not_vowel   ;
    420 si   ;
    421 sja   ;
    422 sjen } $not_vowel   ;
    423 sje   ;
    424 sju   ;
    425 son } $not_vowel   ;
    426 so   ;
    427 sun } $not_vowel   ;
    428 su   ;
    429 swan } $not_vowel   ;
    430 swa   ;
    431 swen } $not_vowel   ;
    432 swe   ;
    433 swi   ;
    434 swo   ;
    435 s   ;
    436 tai   ;
    437 tan } $not_vowel   ;
    438 tau   ;
    439 ta   ;
    440 tei   ;
    441 ten } $not_vowel   ;
    442 te   ;
    443 tin } $not_vowel   ;
    444 ti   ;
    445 tja   ;
    446 tjen } $not_vowel   ;
    447 tje   ;
    448 tju   ;
    449 ton } $not_vowel   ;
    450 to   ;
    451 
    452 # The rules for /ts/ (tz in the orthography) are nonstandard and derived
    453 # entirely from the observed data.  They apply mostly to native toponyms
    454 # in Mexico.
    455 
    456 tsa   ;
    457 tsen } $not_vowel   ;
    458 tse   ;
    459 tsin } $not_vowel   ;
    460 tsi   ;
    461 tso   ;
    462 tsun } $not_vowel   ;
    463 tsu   ;
    464 ts   ;
    465 
    466 tun } $not_vowel   ;
    467 tu   ;
    468 twan } $not_vowel  	;
    469 twa   ;
    470 twen } $not_vowel   ;
    471 twe   ;
    472 twi   ;
    473 two   ;
    474 t   ;
    475 ai   ;
    476 an } $not_vowel   ;
    477 au   ;
    478 a   ;
    479 en } $not_vowel   ;
    480 e   ;
    481 in } $not_vowel   ;
    482 i   ;
    483 jan } $not_vowel   ;
    484 ja   ;
    485 jen } $not_vowel   ;
    486 je   ;
    487 jon } $not_vowel   ;
    488 ju   ;
    489 on } $not_vowel   ;
    490 o   ;
    491 un } $not_vowel   ;  # Should be , per GB/T 17693.5-2009  1.
    492 u   ;
    493 wan } $not_vowel   ;
    494 wa   ;
    495 wen } $not_vowel   ;
    496 we   ;
    497 wi   ;
    498 wo   ;
    499    ;
    500 un } $not_vowel   ;
    501 u   ;
    502 wan } $not_vowel   ;
    503 wa   ;
    504 wen } $not_vowel   ;
    505 we   ;
    506 win } $not_vowel   ;
    507 wi   ;
    508 won } $not_vowel   ;  # Unseen.
    509 wo   ;
    510 xai   ;
    511 xan } $not_vowel   ;
    512 xau   ;
    513 xa   ;
    514 xei   ;
    515 xen } $not_vowel   ;
    516 xe   ;
    517 xin } $not_vowel   ;
    518 xi   ;
    519 xja   ;
    520 xjen } $not_vowel   ;
    521 xje   ;
    522 xju   ;
    523 xon } $not_vowel   ;
    524 xo   ;
    525 xun } $not_vowel   ;
    526 xu   ;
    527 xwan } $not_vowel   ;
    528 xwa   ;
    529 xwen } $not_vowel   ;
    530 xwe   ;
    531 xwi   ;
    532 xwo   ;
    533 x   ;
    534 
    535 #  simplification pass.  The idea is to drop most occurences of 
    536 # corresponding to <r> (not to <l> or <ll>) from a word if there is another /l/
    537 # sound nearby.  There is a vague pattern like this in the data, but the details
    538 # remain to be determined.  At the moment, this does nothing, it just puts  in
    539 # for every <r> in a syllable coda.
    540 
    541 ::Null;
    542 $r = [R];
    543 #
    544 #
    545 # R } . $r  ;
    546 # R } .. $r  ;
    547 # R } ... $r  ;
    548 # R } .... $r  ;
    549 
    550 R   ;
    551 
    552 # Dong-nan-xi-hai pass.  Per GB/T 17693.5-2009  1,  4, replace confusing
    553 # characters at the beginning and end of a word.
    554 
    555 ::Null;
    556 $word_boundary {    ;
    557 $word_boundary {    ;
    558 $word_boundary {    ;
    559  } $word_boundary   ;
    560 
    561 ::NFC;
    562 			]]></tRule>
    563 		</transform>
    564 	</transforms>
    565 </supplementalData>
    566