New test.
[mono.git] / mcs / class / corlib / Mono.Globalization.Unicode / mono-tailoring-source.txt
1 #
2 # @LCID
3 #       mapping_entries
4 #
5 #       - *FrenchSort
6 #               it means the culture has French sorting
7 #       - S = D
8 #               it means source S is considered as equivalent to D
9 #       - S : cc pp ss tt ii
10 #               it means source S has a sortkey. For level 2 and 3, * can be 
11 #               used to indicate that it copies the corresponding weight of
12 #               the first character of S.
13 #
14 # Level 4 tailorings is not supported (it is logically done).
15 #
16 # Non-primary destination value is not allowed in a sortkey mapping.
17 # FIXME: it should be rejected in the table generator code.
18 #
19 # Shifted characters (level 5) cannot be specified (even by setting category
20 # as 6).
21 #
22
23 @127 # invariant mappings
24         \u00C6 = AE
25         \u00DE = TH
26         \u00DF = ss
27         \u00E6 = ae
28         \u00FE = th
29         \u0132 = IJ
30         \u0133 = ij
31         \u0152 = OE
32         \u0153 = oe
33         \u01C4 = DZ\u030C # surprisingly Windows works fine here
34         \u01C5 = Dz\u030C
35         \u01C6 = dz\u030C
36         \u01C7 = LJ
37         \u01C8 = Lj
38         \u01C9 = lj
39         \u01CA = NJ
40         \u01CB = Nj
41         \u01CC = nj
42         \u01E2 = A\u0304E\u0304 # LAMESPEC should be \u00C6\u0304
43         \u01E3 = a\u0304e\u0304 # LAMESPEC should be \u00E6\u0304
44         \u01F1 = DZ
45         \u01F2 = Dz
46         \u01F3 = dz
47         \u01FC = A\u0301E\u0301 # LAMESPEC should be \u00C6\u0301
48         \u01FD = a\u0301e\u0301 # LAMESPEC should be \u00C6\u0301
49         \u05F0 = \u05D5\u05D5
50         \u05F1 = \u05D5\u05D9
51         \u05F2 = \u05D9\u05D9
52         \uFB00 = ff
53         \uFB01 = fi
54         \uFB02 = fl
55         \uFB03 = ffi
56         \uFB04 = ffl
57         \uFB05 = \u017Ft # required at least for Estonian
58         \uFB06 = st
59
60 # pronounciation-based Chinese (4)
61 # FIXME: enable them after zh-CHS tailoring is added.
62 @2052 = 4 # zh-CN = zh-CHS
63 @4100 = 4 # zh-SG = zh-CHS
64 @5124 = 4 # zh-MO = zh-CHS
65
66 # stroke-count-based Chinese : zh-CHT (31748)
67 # FIXME: enable them after zh-CHT tailoring is added.
68 @1028 = 31748 # zh-TW = zh-CHT
69 @3076 = 31748 # zh-HK = zh-CHT
70
71 # other aliases
72 @20 = 6 # no = da
73 @29 = 11 # sv = fi
74 @31770 = 26 # sr = hr
75
76
77 @2092 # az-AZ-Cyrl
78         \u042B : 10 31 * *
79         \u044B : 10 31 * *
80         \u04BA : 10 6B * *
81         \u04BB : 10 6B * *
82
83 #@3 ca : contraction "ch" and "ll" are not handled
84
85 @4 # zh-CHS : actually no mapping is required, but needed for aliases
86
87 @5 # cs
88         ch : 0E 2E 01 01
89         \u010C : 0E 0C 01 *
90         \u010D : 0E 0C 01 *
91         \u017D : 0E AD 01 *
92         \u017E : 0E AD 01 *
93         \u0158 : 0E 8D 01 *
94         \u0159 : 0E 8D 01 *
95         \u0160 : 0E 97 01 *
96         \u0161 : 0E 97 01 *
97         \u017D : 0E AD 01 *
98         \u017E : 0E AD 01 *
99         \u0308 : 01 03 * * # Actually it seems the same as the secondary change
100         *Diacritical 13 -> 5 # GRAVE
101         *Diacritical 10 -> 4 # DOT ABOVE
102         *Diacritical 11 -> 4 # MIDDLE DOT
103
104 @6 # da
105         AA : 0E B1 01 1A
106         Aa : 0E B1 01 12
107         aa : 0E B1 01 01
108         \u00C4 : 0E AC * *
109         \u00E4 : 0E AC * *
110         \u00C6 : 0E AC 01 12
111         \u00E6 : 0E AC 01 01
112         \u01E2 : 0E AC 03 *
113         \u01E3 : 0E AC 03 *
114         \u00C5 : 0E B1 * *
115         \u00E5 : 0E B1 * *
116         \u00D6 : 0E AE * *
117         \u00D8 : 0E AE * *
118         \u00F6 : 0E AE * *
119         \u00F8 : 0E AE * *
120         \u0150 : 0E AE 1B *
121         \u0151 : 0E AE 1B *
122         \u00DC : 0E A7 7B *
123         \u00FC : 0E A7 7B *
124         \u0170 : 0E A7 1B *
125         \u0171 : 0E A7 1B *
126
127 @10 # es
128         \u00D1 : 0E 73 01 *
129         \u00F1 : 0E 73 01 *
130
131 @11 # fi
132         \u0057 : 0E A2 03 * # W
133         \u0077 : 0E A2 03 * # W
134         \u00C4 : 0E AF 01 *
135         \u00C5 : 0E AD 01 *
136         \u00E4 : 0E AF 01 *
137         \u00E5 : 0E AD 01 *
138         \u00D6 : 0E B0 01 *
139         \u00D8 : 0E B0 1E *
140         \u00DC : 0E A7 7B *
141         \u00F6 : 0E B0 01 *
142         \u00F8 : 0E B0 1E *
143         \u00FC : 0E A7 7B *
144         \u0150 : 0E B0 1B *
145         \u0151 : 0E B0 1B *
146         \u0170 : 0E A7 1B *
147         \u0171 : 0E A7 1B *
148         \u0174 : 0E A2 * *
149         \u0175 : 0E A2 * *
150         \u01BF : 0E A2 7B *
151
152 @12 # fr
153         *FrenchSort
154
155 @14 # hu
156         CS : 0E 0E 01 1A
157         Cs : 0E 0E 01 12
158         cs : 0E 0E 01 01
159         DZ : 0E 1C 01 1A
160         Dz : 0E 1C 01 12
161         dz : 0E 1C 01 01
162         GY : 0E 27 01 1A
163         Gy : 0E 27 01 12
164         gy : 0E 27 01 01
165         LY : 0E 4C 01 1A
166         Ly : 0E 4C 01 12
167         ly : 0E 4C 01 01
168         NY : 0E 75 01 1A
169         Ny : 0E 75 01 12
170         ny : 0E 75 01 01
171         SZ : 0E 98 01 1A
172         Sz : 0E 98 01 12
173         sz : 0E 98 01 01
174         TY : 0E 9E 01 1A
175         Ty : 0E 9E 01 12
176         ny : 0E 9E 01 01
177         ZS : 0E B1 01 1A
178         Zs : 0E B1 01 12
179         zs : 0E B1 01 01
180         # maybe *Diacritical 1D -> 1B
181         \u00D6 : 0E 7D 01 *
182         \u00F6 : 0E 7D 01 *
183         \u0150 : 0E 7D 1B *
184         \u0151 : 0E 7D 1B *
185         \u00DC : 0E A1 01 *
186         \u00FC : 0E A1 01 *
187         \u0170 : 0E A1 1B *
188         \u0171 : 0E A1 1B *
189
190 @15 # is
191         \u00C1 : 0E 04 01 *
192         \u00C6 : 0E AC 01 *
193         \u00C9 : 0E 22 01 *
194         \u00CD : 0E 33 01 *
195         \u00D0 : 0E 1B 01 *
196         \u00D3 : 0E 7D 01 *
197         \u00D6 : 0E AD 01 *
198         \u00D8 : 0E AD 1E *
199         \u00DA : 0E A0 01 *
200         \u00DD : 0E A8 01 *
201         \u00DE : 0E AB 01 *
202         \u00E1 : 0E 04 01 *
203         \u00E6 : 0E AC 01 *
204         \u00E9 : 0E 22 01 *
205         \u00ED : 0E 33 01 *
206         \u00F0 : 0E 7C 0E *
207         \u00F3 : 0E 7C 13 *
208         \u00F6 : 0E AD 01 *
209         \u00F8 : 0E AD 1E *
210         \u00FA : 0E A0 01 *
211         \u00FD : 0E A8 01 *
212         \u00FE : 0E AB 01 *
213         \u01E2 : 0E AC 16 *
214         \u01E3 : 0E AC 16 *
215         \u01FC : 0E 04 22 *
216         \u01FD : 0E 04 22 *
217
218 @17 # ja
219         \u005C : 0A 05 * *
220         # \u2015 is treated as extender
221
222 @18 # ko
223         \u005C : 0A 23 * *
224         # FIXME: For Korean FFA0-FFDC the table generator should fill this
225         # area to be equivalent to the corresponding Jamo, and should use
226         # different CodePointIndexer instance than usual CJK indexer.
227
228 @21 # pl
229         \u00D3 : 0E 7D 01 *
230         \u00F3 : 0E 7D 01 *
231         \u0104 : 0E 04 01 *
232         \u0105 : 0E 04 01 *
233         \u0106 : 0E 0B 01 *
234         \u0107 : 0E 0B 01 *
235         \u0118 : 0E 22 01 *
236         \u0119 : 0E 22 01 *
237         \u0141 : 0E 4C 01 *
238         \u0142 : 0E 4C 01 *
239         \u0143 : 0E 72 01 *
240         \u0144 : 0E 72 01 *
241         \u015A : 0E 97 01 *
242         \u015B : 0E 97 01 *
243         \u0179 : 0E AB 01 *
244         \u017A : 0E AB 01 *
245         \u017B : 0E AC 01 *
246         \u017C : 0E AC 01 *
247
248 @24 # ro
249         \u00CE : 0E 34 01 *
250         \u00EE : 0E 34 01 *
251         \u0102 : 0E 08 01 *
252         \u0103 : 0E 08 01 *
253         \u015E : 0E 98 01 *
254         \u015F : 0E 98 01 *
255         \u0162 : 0E 9E 01 *
256         \u0163 : 0E 9E 01 *
257
258 @26 # hr
259         D\u017D : 0E 1D 04 1A
260         D\u017E : 0E 1D 04 12
261         d\u017E : 0E 1D 04 01
262         \u0106 : 0E 0C 01 *
263         \u0107 : 0E 0C 01 *
264         \u010C : 0E 0B 01 *
265         \u010D : 0E 0B 01 *
266         \u0110 : 0E 1E 01 *
267         \u0111 : 0E 1E 01 *
268         \u0160 : 0E 97 01 *
269         \u0161 : 0E 97 01 *
270         \u017D : 0E AD 01 *
271         \u017E : 0E AD 01 *
272         \u01C4 : 0E 1D 04 1A
273         \u01C5 : 0E 1D 04 12
274         \u01C6 : 0E 1D 04 01
275         \u01C7 : 0E 4A 01 1A
276         \u01C8 : 0E 4A 01 12
277         \u01C9 : 0E 4A 01 01
278         \u01CA : 0E 73 01 1A
279         \u01CB : 0E 73 01 12
280         \u01CC : 0E 73 01 01
281         \u0306 : 01 03 * * # Actually it seems the same as the secondary change
282         \u030C : 01 01 * * # Actually it seems the same as the secondary change
283         *Diacritical 15 -> 05
284         *Diacritical 14 -> 04
285
286 @27 # sk
287         \u00C4 : 0E 03 01 *
288         \u00D4 : 0E 7D 01 *
289         \u00E4 : 0E 03 01 *
290         \u00F4 : 0E 7D 01 *
291         \u010C : 0E 0C 01 *
292         \u010D : 0E 0C 01 *
293         \u0158 : 0E 8D 01 *
294         \u0159 : 0E 8D 01 *
295         \u0160 : 0E 97 01 *
296         \u0161 : 0E 97 01 *
297         \u017D : 0E AD 01 *
298         \u017E : 0E AD 01 *
299         \u0308 : 01 03 * * # Actually it seems the same as the secondary change
300         *Diacritical 13 -> 05
301         *Diacritical 10 -> 04
302         *Diacritical 11 -> 04
303
304 @31 # tr
305         I : 0E 31 * *
306         \u00C7 : 0E 0C 01 *
307         \u00D6 : 0E 7D 01 *
308         \u00DC : 0E A1 01 *
309         \u00E7 : 0E 0C 01 *
310         \u00F6 : 0E 7D 01 *
311         \u00FC : 0E A1 01 *
312         \u011E : 0E 26 01 *
313         \u011F : 0E 26 01 *
314         \u0130 : 0E 32 01 *
315         \u0131 : 0E 31 01 *
316         # \u0132 = IJ
317         \u015E : 0E 97 01 *
318         \u015F : 0E 97 01 *
319         \u3390 : 0E 30 01 *
320         \u33CA : 0E 2E 01 *
321         \u33CB : 0E 2F 01 *
322
323 @34 # uk
324         \u042C : 10 8A * * # [10 7E]
325         \u044C : 10 8A * * # [10 7E]
326
327 @36 # sl
328         \u0106 : 0E 19 01 *
329         \u0107 : 0E 19 01 *
330         \u010C : 0E 18 01 *
331         \u010D : 0E 18 01 *
332         \u0110 : 0E 20 01 *
333         \u0111 : 0E 20 01 *
334         \u015A : 0E 98 01 *
335         \u015B : 0E 98 01 *
336         \u0160 : 0E 97 01 *
337         \u0161 : 0E 97 01 *
338         \u0179 : 0E AD 01 *
339         \u017A : 0E AD 01 *
340         \u017D : 0E AC 01 *
341         \u017E : 0E AC 01 *
342
343 @37 # et
344         V : 0E A1 * *
345         W : 0E A1 * *
346         Z : 0E 97 * *
347         v : 0E A1 * *
348         w : 0E A1 * *
349         z : 0E 97 * *
350         \u00C4 : 0E A3 01 *
351         \u00C5 : 0E A2 01 *
352         \u00C6 : 0E A4 01 *
353         \u00DC : 0E A5 01 *
354         \u00E4 : 0E A3 01 *
355         \u00E5 : 0E A2 01 *
356         \u00E6 : 0E A4 01 *
357         \u00FC : 0E A5 01 *
358         \u0160 : 0E 96 01 *
359         \u0161 : 0E 96 01 *
360         \u0160 : 0E 96 01 *
361         \u0179 : 0E 97 0E *
362         \u017A : 0E 97 0E *
363         \u017B : 0E 97 10 *
364         \u017C : 0E 97 10 *
365         \u017D : 0E 98 01 *
366         \u017E : 0E 98 01 *
367         \u017F : 0E 91 03 *
368
369 @38 # lv
370         \u010C : 0E 0B 01 *
371         \u010D : 0E 0B 01 *
372         \u0122 : 0E 26 01 *
373         \u0123 : 0E 26 01 *
374         \u0136 : 0E 47 01 *
375         \u0137 : 0E 47 01 *
376         \u013B : 0E 49 01 *
377         \u013C : 0E 49 01 *
378         \u0145 : 0E 7B 01 *
379         \u0146 : 0E 7B 01 *
380         \u0160 : 0E 97 01 *
381         \u0160 : 0E 97 01 *
382         \u017D : 0E AB 01 *
383         \u017E : 0E AB 01 *
384
385 @39 # lt
386         Y : 0E 33 * *
387         y : 0E 33 * *
388         \u010C : 0E 0B 01 *
389         \u010D : 0E 0B 01 *
390         \u0160 : 0E 97 01 *
391         \u0161 : 0E 97 01 *
392         \u017D : 0E AB 01 *
393         \u017E : 0E AB 01 *
394         \uFE39 : 0E 33 * *
395         \uFE59 : 0E 33 * *
396         * Diacritical 1B -> 0F
397
398 @42 # vi
399         P : 0E 7F * *
400         R : 0E 8B * *
401         p : 0E 7F * *
402         r : 0E 8B * *
403         \u00C2 : 0E 04 01 *
404         \u00CA : 0E 22 01 *
405         \u00CE : 0E 34 01 *
406         \u00D4 : 0E 7D 01 *
407         \u00DB : 0E A1 01 *
408         \u00E2 : 0E 04 01 *
409         \u00EA : 0E 22 01 *
410         \u00EE : 0E 34 01 *
411         \u00F4 : 0E 7D 01 *
412         \u00FB : 0E A1 01 *
413         \u0110 : 0E 1B 01 *
414         \u0111 : 0E 1B 01 *
415         \u01A0 : 0E 1B 01 *
416         \u01A1 : 0E 1B 01 *
417         \u01AF : 0E A0 01 *
418         \u01B0 : 0E A0 01 *
419         \u0300 : 01 01 * * # Actually it seems the same as the secondary change
420         \u0301 : 01 04 * * # Actually it seems the same as the secondary change
421         \u0303 : 01 03 * * # Actually it seems the same as the secondary change
422         \u0309 : 01 01 * * # Actually it seems the same as the secondary change
423         \u0323 : 01 05 * * # Actually it seems the same as the secondary change
424         \u0340 : 01 01 * * # Actually it seems the same as the secondary change
425         \u0341 : 01 04 * * # Actually it seems the same as the secondary change
426         \u1EA4 : 0E 04 06 *
427         \u1EA5 : 0E 04 06 *
428         \u1EA6 : 0E 04 03 *
429         \u1EA7 : 0E 04 03 *
430         \u1EA8 : 0E 04 04 *
431         \u1EA9 : 0E 04 04 *
432         \u1EAA : 0E 04 05 *
433         \u1EAB : 0E 04 05 *
434         \u1EAC : 0E 04 07 *
435         \u1EAD : 0E 04 07 *
436         \u1EAE : 0E 03 06 *
437         \u1EAF : 0E 03 06 *
438         \u1EB0 : 0E 03 03 *
439         \u1EB1 : 0E 03 03 *
440         \u1EB2 : 0E 03 04 *
441         \u1EB3 : 0E 03 04 *
442         \u1EB4 : 0E 03 05 *
443         \u1EB5 : 0E 03 05 *
444         \u1EB6 : 0E 03 07 *
445         \u1EB7 : 0E 03 07 *
446         \u1EB8 : 0E 21 07 *
447         \u1EB9 : 0E 21 07 *
448         \u1EBA : 0E 21 04 *
449         \u1EBB : 0E 21 04 *
450         \u1EBC : 0E 21 05 *
451         \u1EBD : 0E 21 05 *
452         \u1EBE : 0E 22 06 *
453         \u1EBF : 0E 22 06 *
454         \u1EC0 : 0E 22 03 *
455         \u1EC1 : 0E 22 03 *
456         \u1EC2 : 0E 22 04 *
457         \u1EC3 : 0E 22 04 *
458         \u1EC4 : 0E 22 05 *
459         \u1EC5 : 0E 22 05 *
460         \u1EC6 : 0E 22 07 *
461         \u1EC7 : 0E 22 07 *
462         \u1ED0 : 0E 7D 06 *
463         \u1ED1 : 0E 7D 06 *
464         \u1ED2 : 0E 7D 03 *
465         \u1ED3 : 0E 7D 03 *
466         \u1ED4 : 0E 7D 04 *
467         \u1ED5 : 0E 7D 04 *
468         \u1ED6 : 0E 7D 05 *
469         \u1ED7 : 0E 7D 05 *
470         \u1ED8 : 0E 7D 07 *
471         \u1ED9 : 0E 7D 07 *
472         \u1EDA : 0E 7E 06 *
473         \u1EDB : 0E 7E 06 *
474         \u1EDC : 0E 7E 03 *
475         \u1EDD : 0E 7E 03 *
476         \u1EDE : 0E 7E 04 *
477         \u1EDF : 0E 7E 04 *
478         \u1EE0 : 0E 7E 05 *
479         \u1EE1 : 0E 7E 05 *
480         \u1EE2 : 0E 7E 07 *
481         \u1EE3 : 0E 7E 07 *
482         \u1EE8 : 0E A0 06 *
483         \u1EE9 : 0E A0 06 *
484         \u1EEA : 0E A0 03 *
485         \u1EEB : 0E A0 03 *
486         \u1EEC : 0E A0 04 *
487         \u1EED : 0E A0 04 *
488         \u1EEE : 0E A0 05 *
489         \u1EEF : 0E A0 05 *
490         \u1EF0 : 0E A0 07 *
491         \u1EF1 : 0E A0 07 *
492         * Diacritical 0F -> 03
493         * Diacritical 0E -> 06
494         * Diacritical 19 -> 05
495         * Diacritical 58 -> 07
496         * Diacritical 59 -> 07
497         * Diacritical 43 -> 04
498         * Diacritical 44 -> 04
499
500 @47 # mk
501         \u0403 : 10 13 * *
502         \u0453 : 10 13 * *
503         \u040C : 10 58 * *
504         \u045C : 10 58 * *
505
506 @31748 # zh-CHT : actually no mapping is required, but needed for aliases