summaryrefslogtreecommitdiff
path: root/src/zope/i18n/locales/data/transforms/Hebrew-Latin.xml
blob: 869eb3a505563d9658850d35d02165a7508e5bce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE supplementalData SYSTEM "http://www.unicode.org/cldr/dtd/1.5/ldmlSupplemental.dtd">
<supplementalData>
	<transforms>
		<transform source="Hebrew" target="Latin" direction="both">
			<comment># Transliteration table for Hebrew</comment>
			<comment># Based on the UNGEGN table at:</comment>
			<comment>#   http://www.eki.ee/wgrs/rom1_he.pdf</comment>
			<comment>#</comment>
			<comment># Exceptions:</comment>
			<comment># - Accents are added to disambiguate letters</comment>
			<comment># - Combinations of dagesh, shin/sin dot that produce different</comment>
			<comment>#   letters are not yet encoded.</comment>
			<comment>#</comment>
			<comment># To test, open:</comment>
			<comment>#   http://www.ibm.com/software/globalization/icu/demo/transform</comment>
			<comment># Click Edit, paste in this file, Save As hebrew-latin/XXX</comment>
			<comment># (where XXX is a username)</comment>
			<comment># Now go back to the main window, and try it out.</comment>
			<comment># Use hebrew-latin/XXX for Output 1, and (Inverse) for Output 2</comment>
			<comment># Paste in hebrew text in Input, and hit Transliterate.</comment>
			<comment>#</comment>
			<comment># For more information, see&quot;</comment>
			<comment>#   http://icu.sourceforge.net/userguide/Transform.html</comment>
			<tRule>:: [[:Hebrew:] [:^ccc=0:] [ְ-ֹֻ-ּׁ-ׂℵ-ℸֿ̄] - [ֽ]] ;</tRule>
			<tRule>:: nfkd (nfc) ;</tRule>
			<tRule>$letterAfter = [:M:]* [:L:] ;</tRule>
			<comment># move longer items here to avoid masking</comment>
			<tRule>ח ↔ ẖ ;</tRule>
			<tRule>צ ↔ ẕ } $letterAfter;</tRule>
			<tRule>ץ ↔ ẕ ;</tRule>
			<tRule>ש ↔ ş ;</tRule>
			<tRule>ת ↔ ţ ;</tRule>
			<tRule>א ↔ ʼ ;</tRule>
			<tRule>ב ↔ b ;</tRule>
			<tRule>ג ↔ g ;</tRule>
			<tRule>ד ↔ d ;</tRule>
			<tRule>ה ↔ h ;</tRule>
			<tRule>ו ↔ w ;</tRule>
			<tRule>ז ↔ z ;</tRule>
			<tRule>ט ↔ t ;</tRule>
			<tRule>י ↔ y ;</tRule>
			<tRule>כ ↔ k } $letterAfter;</tRule>
			<tRule>ך ↔ k ;</tRule>
			<tRule>ל ↔ l ;</tRule>
			<tRule>מ ↔ m } $letterAfter;</tRule>
			<tRule>ם ↔ m ;</tRule>
			<tRule>נ ↔ n  } $letterAfter;</tRule>
			<tRule>ן ↔ n ;</tRule>
			<tRule>ס ↔ s ;</tRule>
			<tRule>ע ↔ ʻ ;</tRule>
			<tRule>פ ↔ p } $letterAfter;</tRule>
			<tRule>ף ↔ p ;</tRule>
			<tRule>ק ↔ q ;</tRule>
			<tRule>ר ↔ r ;</tRule>
			<tRule>װ → |  וו; # HEBREW LIGATURE YIDDISH DOUBLE VAV</tRule>
			<tRule>ױ → | וי; # HEBREW LIGATURE YIDDISH VAV YOD</tRule>
			<tRule>ײ → | יי ; # HEBREW LIGATURE YIDDISH DOUBLE YOD</tRule>
			<tRule>ּ ↔ ̇ ; # dagesh just goes to overdot for now</tRule>
			<tRule>ׁ ↔ ̌ ; # shin dot -→ sh</tRule>
			<tRule>ׂ ↔ ̂ ; # sin dot -→ s</tRule>
			<comment># points</comment>
			<tRule>$above = [^[:ccc=0:][:ccc=230:]]*;</tRule>
			<tRule>‎ֲ‎ → à ;</tRule>
			<tRule>‎ֲ‎ $1← a ($above)  ̀;</tRule>
			<tRule>‎ָ‎ → á ;</tRule>
			<tRule>‎ָ‎  $1 ← a ($above)  ́;</tRule>
			<tRule>‎ֱ‎ → è ;</tRule>
			<tRule>‎ֱ‎  $1 ← e ($above)  ̀;</tRule>
			<tRule>‎ֵ‎ → é ;</tRule>
			<tRule>‎ֵ‎  $1 ← e ($above)   ́;</tRule>
			<tRule>‎ְ‎ → e ̆ ;</tRule>
			<tRule>‎ְ‎  $1 ← e ($above)   ̆;</tRule>
			<tRule>‎ֹ‎ → ò ;</tRule>
			<tRule>‎ֹ‎  $1 ← o ($above)   ̀;</tRule>
			<tRule>ִ ↔ i ;</tRule>
			<tRule>ֻ ↔ u ;</tRule>
			<tRule>ַ ↔ a ;</tRule>
			<tRule>ֶ ↔ e ;</tRule>
			<tRule>ֳ ↔ o ;</tRule>
			<tRule>ֿ ↔   ̄ ;</tRule>
			<comment># fallbacks</comment>
			<tRule>ק ← c ;</tRule>
			<tRule>פ ← f } $letterAfter;</tRule>
			<tRule>ף ← f ;</tRule>
			<tRule>ז ← j ;</tRule>
			<tRule>ו ← v ;</tRule>
			<tRule>כס ← x ;</tRule>
			<tRule>:: (lower);</tRule>
			<tRule>:: nfc (nfd) ;</tRule>
			<tRule>:: ([[:Latin:] [:^ccc=0:] [ʻ-ʼ̀-̧̱̂̇̌̀-́    ̄ ]]);</tRule>
		</transform>
	</transforms>
</supplementalData>