blob: 5fd62ba78f3864860ce4fdea601bed850e2e5992 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
<!--
Copyright © 1991-2013 Unicode, Inc.
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
For terms of use, see http://www.unicode.org/copyright.html
-->
<supplementalData>
<version number="$Revision$"/>
<transforms>
<transform source="Han" target="Latin" direction="forward" variant="Names" alias="und-Latn-t-und-hani-m0-prprname">
<tRule>
# 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();
</tRule>
</transform>
</transforms>
</supplementalData>