| # © 2016 and later: Unicode, Inc. and others. |
| # License & terms of use: http://www.unicode.org/copyright.html |
| # Generated using tools/cldr/cldr-to-icu/build-icu-data.xml |
| # |
| # File: Han_Latin_Names.txt |
| # Generated from CLDR |
| # |
| |
| # This transform is primarily intended to produce readings for Chinese surnames, or for full |
| # Chinese personal names - surname first - that occur at the beginning of a contiguous Han substring |
| # (i.e. at the beginning of text, or immediately preceded by space or other non-Han characters). |
| # Several Han characters have different readings in surnames, than the readings found in Han-Latin. |
| # ---- |
| # Insert marker at start of each Han sequence (including Han after space). |
| # Do this before ::Han-Spacedhan() to catch Han after space in original text, |
| # and to apply before all other rules. |
| $startOfHanMarker = \uFDD1; |
| [:^script=Han:] { ([:script=Han:]) → $startOfHanMarker $1; |
| # Need Spacedhan so the name transliterations get spaced properly |
| ::Han-Spacedhan(); |
| # Convert special name readings that depend on next character |
| 令 } \u0020? 狐 →líng; |
| 万 } \u0020? 俟 →mò; |
| 澹 } \u0020? 台 →tán; |
| # The following maps 长 to the standard Han-Latin reading zhǎng for this case, |
| # to override the normal Han-Latin/Names reading 长→cháng further below |
| $startOfHanMarker{ 长 } \u0020? 孙 →zhǎng; |
| # Convert single characters with special name readings |
| $startOfHanMarker{ 秘→bì; |
| $startOfHanMarker{ 卜→bǔ; |
| 长→cháng; |
| $startOfHanMarker{ 种→chóng; |
| $startOfHanMarker{ 重→chóng; |
| $startOfHanMarker{ 刀→diāo; |
| 干→gān; |
| 葛→gě; |
| $startOfHanMarker{ 盖→gě; |
| $startOfHanMarker{ 过→guō; |
| $startOfHanMarker{ 华→huà; |
| $startOfHanMarker{ 纪→jǐ; |
| 筠→jūn; |
| 靓→liàng; |
| $startOfHanMarker{ 牟→mù; |
| $startOfHanMarker{ 粘→nián; |
| $startOfHanMarker{ 区→ōu; |
| $startOfHanMarker{ 繁→pó; |
| 仇→qiú; |
| $startOfHanMarker{ 任→rén; |
| $startOfHanMarker{ 单→shàn; |
| $startOfHanMarker{ 召→shào; |
| $startOfHanMarker{ 折→shé; |
| $startOfHanMarker{ 舍→shè; |
| $startOfHanMarker{ 沈→shěn; |
| 峙→shì; |
| 隗→wěi; |
| $startOfHanMarker{ 解→xiè; |
| 莘→xīn; |
| $startOfHanMarker{ 燕→yān; |
| $startOfHanMarker{ 尉→yù; |
| $startOfHanMarker{ 乐→yuè; |
| $startOfHanMarker{ 员→yùn; |
| $startOfHanMarker{ 查→zhā; |
| 翟→zhái; |
| 曾→zēng; |
| # Convert $startOfHanMarkers to space, or to nothing if they are at the beginning of text. |
| # Need to do this as a separate pass to get the spacing right. |
| ::Null(); |
| [^$]{ $startOfHanMarker →\u0020; |
| $startOfHanMarker →; |
| # Then run the normal Han-Latin transform for the rest |
| ::Han-Latin(); |
| |