]>
Commit | Line | Data |
---|---|---|
729e4ab9 A |
1 | # *************************************************************************** |
2 | # * | |
2ca993e8 | 3 | # * Copyright (C) 2004-2016, International Business Machines |
729e4ab9 A |
4 | # * Corporation; Unicode, Inc.; and others. All Rights Reserved. |
5 | # * | |
6 | # *************************************************************************** | |
7 | # File: Han_Latin_Names.txt | |
8 | # Generated from CLDR | |
9 | # | |
2ca993e8 A |
10 | |
11 | # This transform is primarily intended to produce readings for Chinese surnames, or for full | |
12 | # Chinese personal names - surname first - that occur at the beginning of a contiguous Han substring | |
13 | # (i.e. at the beginning of text, or immediately preceded by space or other non-Han characters). | |
14 | # Several Han characters have different readings in surnames, than the readings found in Han-Latin. | |
15 | # ---- | |
16 | # Insert marker at start of each Han sequence (including Han after space). | |
17 | # Do this before ::Han-Spacedhan() to catch Han after space in original text, | |
18 | # and to apply before all other rules. | |
57a6839d A |
19 | $startOfHanMarker = \uFDD1; |
20 | [:^script=Han:] { ([:script=Han:]) → $startOfHanMarker $1; | |
2ca993e8 | 21 | # Need Spacedhan so the name transliterations get spaced properly |
729e4ab9 | 22 | ::Han-Spacedhan(); |
2ca993e8 | 23 | # Convert special name readings that depend on next character |
51004dcb A |
24 | 令 } \u0020? 狐 →líng; |
25 | 万 } \u0020? 俟 →mò; | |
26 | 澹 } \u0020? 台 →tán; | |
2ca993e8 A |
27 | # The following maps 长 to the standard Han-Latin reading zhǎng for this case, |
28 | # to override the normal Han-Latin/Names reading 长→cháng further below | |
57a6839d | 29 | $startOfHanMarker{ 长 } \u0020? 孙 →zhǎng; |
2ca993e8 | 30 | # Convert single characters with special name readings |
57a6839d A |
31 | $startOfHanMarker{ 秘→bì; |
32 | $startOfHanMarker{ 卜→bǔ; | |
33 | 长→cháng; | |
34 | $startOfHanMarker{ 种→chóng; | |
35 | $startOfHanMarker{ 重→chóng; | |
36 | $startOfHanMarker{ 刀→diāo; | |
37 | 干→gān; | |
38 | 葛→gě; | |
39 | $startOfHanMarker{ 盖→gě; | |
40 | $startOfHanMarker{ 过→guō; | |
41 | $startOfHanMarker{ 华→huà; | |
42 | $startOfHanMarker{ 纪→jǐ; | |
43 | 筠→jūn; | |
44 | $startOfHanMarker{ 牟→mù; | |
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; | |
2ca993e8 A |
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. | |
57a6839d A |
67 | ::Null(); |
68 | [^$]{ $startOfHanMarker →\u0020; | |
69 | $startOfHanMarker →; | |
2ca993e8 | 70 | # Then run the normal Han-Latin transform for the rest |
729e4ab9 | 71 | ::Han-Latin(); |
2ca993e8 | 72 |