[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search
 

Changeset 9221


Ignore:
Timestamp:
08/16/13 22:34:01 (5 years ago)
Author:
pedberg
Message:

cldrbug 6565: Han-Latin* context-dependent readings; for Names, use $startOfHanMarker for surname-only readings, add entries

Location:
trunk/common/transforms
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/common/transforms/Han-Latin-Names.xml

    r8242 r9221  
    1111        <transforms> 
    1212                <transform source="Han" target="Latin" direction="forward" variant="Names"> 
     13                        <comment># Insert marker at start of each Han sequence (including Han after space).</comment> 
     14                        <comment># Do this before ::Han-Spacedhan() to catch Han after space in original text,</comment> 
     15                        <comment># and to apply before all other rules.</comment> 
     16                        <tRule>$startOfHanMarker = \uFDD1;</tRule> 
     17                        <tRule>[:^script=Han:] { ([:script=Han:]) → $startOfHanMarker $1;</tRule> 
    1318                        <comment># Need Spacedhan so the name transliterations get spaced properly</comment> 
    1419                        <tRule>::Han-Spacedhan();</tRule> 
    1520                        <comment># Convert special name readings that depend on next character</comment> 
    16                         <tRule>万俟→mòqí;</tRule> 
    17                         <tRule>长孙→zhǎngsūn;</tRule> 
     21                        <tRule>令 } \u0020? 狐 →líng;</tRule> 
     22                        <tRule>万 } \u0020? 俟 →mò;</tRule> 
     23                        <tRule>澹 } \u0020? 台 →tán;</tRule> 
     24                        <comment># The following maps 长 to the standard Han-Latin reading zhǎng for this case,</comment> 
     25                        <comment># to override the normal Han-Latin/Names reading 长→cháng further below</comment> 
     26                        <tRule>$startOfHanMarker{ 长 } \u0020? 孙 →zhǎng;</tRule> 
    1827                        <comment># Convert single characters with special name readings</comment> 
    19                         <tRule>秘→bì;</tRule> 
    20                         <tRule>卜→bǔ;</tRule> 
     28                        <tRule>$startOfHanMarker{ 秘→bì;</tRule> 
     29                        <tRule>$startOfHanMarker{ 卜→bǔ;</tRule> 
    2130                        <tRule>长→cháng;</tRule> 
    22                         <tRule>重→chóng;</tRule> 
     31                        <tRule>$startOfHanMarker{ 种→chóng;</tRule> 
     32                        <tRule>$startOfHanMarker{ 重→chóng;</tRule> 
     33                        <tRule>$startOfHanMarker{ 刀→diāo;</tRule> 
    2334                        <tRule>干→gān;</tRule> 
    2435                        <tRule>葛→gě;</tRule> 
    25                         <tRule>盖→gě;</tRule> 
    26                         <tRule>华→huà;</tRule> 
    27                         <tRule>贾→jiǎ;</tRule> 
    28                         <tRule>賈→jiǎ;</tRule> 
     36                        <tRule>$startOfHanMarker{ 盖→gě;</tRule> 
     37                        <tRule>$startOfHanMarker{ 过→guō;</tRule> 
     38                        <tRule>$startOfHanMarker{ 华→huà;</tRule> 
     39                        <tRule>$startOfHanMarker{ 纪→jǐ;</tRule> 
    2940                        <tRule>筠→jūn;</tRule> 
    30                         <tRule>区→ōu;</tRule> 
    31                         <tRule>繁→pó;</tRule> 
     41                        <tRule>$startOfHanMarker{ 牟→mù;</tRule> 
     42                        <tRule>$startOfHanMarker{ 区→ōu;</tRule> 
     43                        <tRule>$startOfHanMarker{ 繁→pó;</tRule> 
    3244                        <tRule>仇→qiú;</tRule> 
    33                         <tRule>任→rén;</tRule> 
    34                         <tRule>单→shàn;</tRule> 
    35                         <tRule>折→shé;</tRule> 
    36                         <tRule>沈→shěn;</tRule> 
     45                        <tRule>$startOfHanMarker{ 任→rén;</tRule> 
     46                        <tRule>$startOfHanMarker{ 单→shàn;</tRule> 
     47                        <tRule>$startOfHanMarker{ 召→shào;</tRule> 
     48                        <tRule>$startOfHanMarker{ 折→shé;</tRule> 
     49                        <tRule>$startOfHanMarker{ 舍→shè;</tRule> 
     50                        <tRule>$startOfHanMarker{ 沈→shěn;</tRule> 
    3751                        <tRule>峙→shì;</tRule> 
    3852                        <tRule>隗→wěi;</tRule> 
    39                         <tRule>解→xiè;</tRule> 
     53                        <tRule>$startOfHanMarker{ 解→xiè;</tRule> 
    4054                        <tRule>莘→xīn;</tRule> 
    41                         <tRule>尉→yù;</tRule> 
    42                         <tRule>乐→yuè;</tRule> 
    43                         <tRule>查→zhā;</tRule> 
     55                        <tRule>$startOfHanMarker{ 燕→yān;</tRule> 
     56                        <tRule>$startOfHanMarker{ 尉→yù;</tRule> 
     57                        <tRule>$startOfHanMarker{ 乐→yuè;</tRule> 
     58                        <tRule>$startOfHanMarker{ 员→yùn;</tRule> 
     59                        <tRule>$startOfHanMarker{ 查→zhā;</tRule> 
    4460                        <tRule>翟→zhái;</tRule> 
    4561                        <tRule>曾→zēng;</tRule> 
     62                        <comment># Convert $startOfHanMarkers to space, or to nothing if they are at the beginning of text.</comment> 
     63                        <comment># Need to do this as a separate pass to get the spacing right.</comment> 
     64                        <tRule>::Null();</tRule> 
     65                        <tRule>[^$]{ $startOfHanMarker →\u0020;</tRule> 
     66                        <tRule>$startOfHanMarker →;</tRule> 
    4667                        <comment># Then run the normal Han-Latin transform for the rest</comment> 
    4768                        <tRule>::Han-Latin();</tRule> 
  • trunk/common/transforms/Han-Latin.xml

    r8242 r9221  
    1414          <comment># Convert CJK characters</comment> 
    1515          <tRule>::Han-Spacedhan();</tRule> 
    16           <comment># Convert compounds; these are added individually, not derived from Unihan kMandarin</comment> 
    17            <tRule>藏文→zàngwén;</tRule> 
     16          <comment># Convert compounds; these are added individually, not derived from Unihan kMandarin.</comment> 
     17          <comment># Note that Han-Spacedhan() has already been applied, so there should be spaces between Han characters.</comment> 
     18           <tRule>藏 } \u0020? 文 →zàng;</tRule><comment># 藏 is zàng (not cáng) if followed by 文 wén: 藏文 language Zàngwén = Tibetan</comment> 
     19           <tRule>重 } \u0020? 庆 →chóng;</tRule><comment># 重 is chóng (not zhòng) if followed by 庆 qìng: 重庆 city Chóngqìng</comment> 
     20           <tRule>沈 } \u0020? 阳 →shěn;</tRule><comment># 沈 is shěn (not chén) if followed by 阳 yáng: 沈阳 city Shěnyáng</comment> 
    1821          <comment># Start RAW data for converting single CJK characters, derived from Unihan kMandarin</comment> 
    1922           <tRule>[呵锕阿𠼞𥥩𨉚]→ā;</tRule> 
Note: See TracChangeset for help on using the changeset viewer.