Han_Latin_Names.txt (2584B)
1 # © 2016 and later: Unicode, Inc. and others. 2 # License & terms of use: http://www.unicode.org/copyright.html 3 # Generated using tools/cldr/cldr-to-icu/ 4 # 5 # File: Han_Latin_Names.txt 6 # Generated from CLDR 7 # 8 9 # This transform is primarily intended to produce readings for Chinese surnames, or for full 10 # Chinese personal names - surname first - that occur at the beginning of a contiguous Han substring 11 # (i.e. at the beginning of text, or immediately preceded by space or other non-Han characters). 12 # Several Han characters have different readings in surnames, than the readings found in Han-Latin. 13 # ---- 14 # Insert marker at start of each Han sequence (including Han after space). 15 # Do this before ::Han-Spacedhan() to catch Han after space in original text, 16 # and to apply before all other rules. 17 $startOfHanMarker = \uFDD1; 18 [:^Script=Han:] { ([:Script=Han:]) → $startOfHanMarker $1; 19 # Need Spacedhan so the name transliterations get spaced properly 20 ::Han-Spacedhan(); 21 # Convert special name readings that depend on next character 22 令 } \u0020? 狐 →líng; 23 万 } \u0020? 俟 →mò; 24 澹 } \u0020? 台 →tán; 25 # The following maps 长 to the standard Han-Latin reading zhǎng for this case, 26 # to override the normal Han-Latin/Names reading 长→cháng further below 27 $startOfHanMarker{ 长 } \u0020? 孙 →zhǎng; 28 # Convert single characters with special name readings 29 $startOfHanMarker{ 秘→bì; 30 $startOfHanMarker{ 卜→bǔ; 31 长→cháng; 32 $startOfHanMarker{ 种→chóng; 33 $startOfHanMarker{ 重→chóng; 34 $startOfHanMarker{ 刀→diāo; 35 干→gān; 36 葛→gě; 37 $startOfHanMarker{ 盖→gě; 38 $startOfHanMarker{ 过→guō; 39 $startOfHanMarker{ 华→huà; 40 $startOfHanMarker{ 纪→jǐ; 41 筠→jūn; 42 靓→liàng; 43 $startOfHanMarker{ 牟→mù; 44 $startOfHanMarker{ 粘→nián; 45 $startOfHanMarker{ 区→ōu; 46 $startOfHanMarker{ 繁→pó; 47 仇→qiú; 48 $startOfHanMarker{ 任→rén; 49 $startOfHanMarker{ 单→shàn; 50 $startOfHanMarker{ 召→shào; 51 $startOfHanMarker{ 折→shé; 52 $startOfHanMarker{ 舍→shè; 53 $startOfHanMarker{ 沈→shěn; 54 峙→shì; 55 隗→wěi; 56 $startOfHanMarker{ 解→xiè; 57 莘→xīn; 58 $startOfHanMarker{ 燕→yān; 59 $startOfHanMarker{ 尉→yù; 60 $startOfHanMarker{ 乐→yuè; 61 $startOfHanMarker{ 员→yùn; 62 $startOfHanMarker{ 查→zhā; 63 翟→zhái; 64 曾→zēng; 65 # Convert $startOfHanMarkers to space, or to nothing if they are at the beginning of text. 66 # Need to do this as a separate pass to get the spacing right. 67 ::Null(); 68 [^$]{ $startOfHanMarker →\u0020; 69 $startOfHanMarker →; 70 # Then run the normal Han-Latin transform for the rest 71 ::Han-Latin();