1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21/*
22 *  ICU License - ICU 1.8.1 and later
23 *
24 *  COPYRIGHT AND PERMISSION NOTICE
25 *
26 * Copyright (c) 1995-2005 International Business Machines Corporation and others
27 * All rights reserved.
28 *
29 * Permission is hereby granted, free of charge, to any person obtaining a
30 * copy of this software and associated documentation files (the
31 * "Software"), to deal in the Software without restriction, including
32 * without limitation the rights to use, copy, modify, merge, publish,
33 * distribute, and/or sell copies of the Software, and to permit persons
34 * to whom the Software is furnished to do so, provided that the above
35 * copyright notice(s) and this permission notice appear in all copies of
36 * the Software and that both the above copyright notice(s) and this
37 * permission notice appear in supporting documentation.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
40 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
42 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
43 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
44 * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
45 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
46 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
47 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
48 *
49 * Except as contained in this notice, the name of a copyright holder
50 * shall not be used in advertising or otherwise to promote the sale, use
51 * or other dealings in this Software without prior written authorization
52 * of the copyright holder.
53 *
54 * --------------------------------------------------------------------------
55 * All trademarks and registered trademarks mentioned herein are the property
56 * of their respective owners.
57 */
58//
59// Copyright (c) 2000 by Sun Microsystems, Inc.
60// All rights reserved.
61//
62//
63// This file originally came from IBM-871+UTF-8.src file and the only
64// significant change is re-mapping of International Currency Symbol mapping
65// to euro mapping.
66//
67
68IBM-1149%UTF-8 {
69    direction {
70	condition {
71		between 0x0...0x3;
72	} map {
73		0x00	0x00	// U+0000
74		0x01	0x01	// U+0001
75		0x02	0x02	// U+0002
76		0x03	0x03	// U+0003
77	};
78	condition {
79		between 0x4...0x4;
80	} map {
81		0x04    0xc29c  // U+009C
82	};
83	condition {
84		between 0x5...0x5;
85	} map {
86		0x05	0x09	// U+0009
87	};
88	condition {
89		between 0x6...0x6;
90	} map {
91		0x06	0xc286	// U+0086
92	};
93	condition {
94		between 0x7...0x7;
95	} map {
96		0x07	0x7f	// U+007F
97	};
98	condition {
99		between 0x8...0xa;
100	} map {
101		0x08	0xc297	// U+0097
102		0x09	0xc28d	// U+008D
103		0x0a	0xc28e	// U+008E
104	};
105	condition {
106		between 0xb...0x13;
107	} map {
108		0x0b	0x0b	// U+000B
109		0x0c	0x0c	// U+000c
110		0x0d	0x0d	// U+000d
111		0x0e	0x0e	// U+000E
112		0x0f	0x0f	// U+000F
113		0x10	0x10	// U+0010
114		0x11	0x11	// U+0011
115		0x12	0x12	// U+0012
116		0x13	0x13	// U+0013
117	};
118	condition {
119		between 0x14...0x15;
120	} map {
121		0x14	0xc29d	// U+009D
122		0x15	0xc285	// U+0085
123	};
124	condition {
125		between 0x16...0x16;
126	} map {
127		0x16	0x08	// U+0008
128	};
129	condition {
130		between 0x17...0x17;
131	} map {
132		0x17	0xc287	// U+0087
133	};
134	condition {
135		between 0x18...0x19;
136	} map {
137		0x18	0x18	// U+0018
138		0x19	0x19	// U+0019
139	};
140	condition {
141		between 0x1a...0x1b;
142	} map {
143		0x1a	0xc292	// U+0092
144		0x1b	0xc28f	// U+008F
145	};
146	condition {
147		between 0x1c...0x1f;
148	} map {
149		0x1c	0x1c	// U+001C
150		0x1d	0x1d	// U+001D
151		0x1e	0x1e	// U+001E
152		0x1f	0x1f	// U+001F
153	};
154	condition {
155		between 0x20...0x24;
156	} map {
157		0x20	0xc280	// U+0080
158		0x21	0xc281	// U+0081
159		0x22	0xc282	// U+0082
160		0x23	0xc283	// U+0083
161		0x24	0xc284	// U+0084
162	};
163	condition {
164		between 0x25...0x27;
165	} map {
166		0x25	0x0a	// U+000a
167		0x26	0x17	// U+0017
168		0x27	0x1b	// U+001B
169	};
170	condition {
171		between 0x28...0x2c;
172	} map {
173		0x28	0xc288	// U+0088
174		0x29	0xc289	// U+0089
175		0x2a	0xc28a	// U+008A
176		0x2b	0xc28b	// U+008B
177		0x2c	0xc28c	// U+008C
178	};
179	condition {
180		between 0x2d...0x2f;
181	} map {
182		0x2d	0x05	// U+0005
183		0x2e	0x06	// U+0006
184		0x2f	0x07	// U+0007
185	};
186	condition {
187		between 0x30...0x31;
188	} map {
189		0x30	0xc290	// U+0090
190		0x31	0xc291	// U+0091
191	};
192	condition {
193		between 0x32...0x32;
194	} map {
195		0x32	0x16	// U+0016
196	};
197	condition {
198		between 0x33...0x36;
199	} map {
200		0x33	0xc293	// U+0093
201		0x34	0xc294	// U+0094
202		0x35	0xc295	// U+0095
203		0x36	0xc296	// U+0096
204	};
205	condition {
206		between 0x37...0x37;
207	} map {
208		0x37	0x04	// U+0004
209	};
210	condition {
211		between 0x38...0x3b;
212	} map {
213		0x38	0xc298	// U+0098
214		0x39	0xc299	// U+0099
215		0x3a	0xc29a	// U+009A
216		0x3b	0xc29b	// U+009B
217	};
218	condition {
219		between 0x3c...0x3d;
220	} map {
221		0x3c	0x14	// U+0014
222		0x3d	0x15	// U+0015
223	};
224	condition {
225		between 0x3e...0x3e;
226	} map {
227		0x3e	0xc29e	// U+009E
228	};
229	condition {
230		between 0x3f...0x40;
231	} map {
232		0x3f	0x1a	// U+001A
233		0x40	0x20	// U+0020
234	};
235	condition {
236		between 0x41...0x4a;
237	} map {
238		0x41	0xc2a0	// U+00A0
239		0x42	0xc3a2	// U+00E2
240		0x43	0xc3a4	// U+00E4
241		0x44	0xc3a0	// U+00E0
242		0x45	0xc3a1	// U+00E1
243		0x46	0xc3a3	// U+00E3
244		0x47	0xc3a5	// U+00E5
245		0x48	0xc3a7	// U+00E7
246		0x49	0xc3b1	// U+00F1
247		0x4a	0xc39e	// U+00DE
248	};
249	condition {
250		between 0x4b...0x50;
251	} map {
252		0x4b	0x2e	// U+002E
253		0x4c	0x3c	// U+003C
254		0x4d	0x28	// U+0028
255		0x4e	0x2b	// U+002B
256		0x4f	0x21	// U+0021
257		0x50	0x26	// U+0026
258	};
259	condition {
260		between 0x51...0x5a;
261	} map {
262		0x51	0xc3a9	// U+00E9
263		0x52	0xc3aa	// U+00EA
264		0x53	0xc3ab	// U+00EB
265		0x54	0xc3a8	// U+00E8
266		0x55	0xc3ad	// U+00ED
267		0x56	0xc3ae	// U+00EE
268		0x57	0xc3af	// U+00EF
269		0x58	0xc3ac	// U+00EC
270		0x59	0xc39f	// U+00DF
271		0x5a	0xc386	// U+00C6
272	};
273	condition {
274		between 0x5b...0x5e;
275	} map {
276		0x5b	0x24	// U+0024
277		0x5c	0x2a	// U+002A
278		0x5d	0x29	// U+0029
279		0x5e	0x3b	// U+003B
280	};
281	condition {
282		between 0x5f...0x5f;
283	} map {
284		0x5f	0xc396	// U+00D6
285	};
286	condition {
287		between 0x60...0x61;
288	} map {
289		0x60	0x2d	// U+002D
290		0x61	0x2f	// U+002F
291	};
292	condition {
293		between 0x62...0x6a;
294	} map {
295		0x62	0xc382	// U+00C2
296		0x63	0xc384	// U+00C4
297		0x64	0xc380	// U+00C0
298		0x65	0xc381	// U+00C1
299		0x66	0xc383	// U+00C3
300		0x67	0xc385	// U+00C5
301		0x68	0xc387	// U+00C7
302		0x69	0xc391	// U+00D1
303		0x6a	0xc2a6	// U+00A6
304	};
305	condition {
306		between 0x6b...0x6f;
307	} map {
308		0x6b	0x2c	// U+002C
309		0x6c	0x25	// U+0025
310		0x6d	0x5f	// U+005F
311		0x6e	0x3e	// U+003E
312		0x6f	0x3f	// U+003F
313	};
314	condition {
315		between 0x70...0x79;
316	} map {
317		0x70	0xc3b8	// U+00F8
318		0x71	0xc389	// U+00C9
319		0x72	0xc38a	// U+00CA
320		0x73	0xc38b	// U+00CB
321		0x74	0xc388	// U+00C8
322		0x75	0xc38d	// U+00CD
323		0x76	0xc38e	// U+00CE
324		0x77	0xc38f	// U+00CF
325		0x78	0xc38c	// U+00CC
326		0x79	0xc3b0	// U+00F0
327	};
328	condition {
329		between 0x7a...0x7b;
330	} map {
331		0x7a	0x3a	// U+003A
332		0x7b	0x23	// U+0023
333	};
334	condition {
335		between 0x7c...0x7c;
336	} map {
337		0x7c	0xc390	// U+00D0
338	};
339	condition {
340		between 0x7d...0x7f;
341	} map {
342		0x7d	0x27	// U+0027
343		0x7e	0x3d	// U+003D
344		0x7f	0x22	// U+0022
345	};
346	condition {
347		between 0x80...0x80;
348	} map {
349		0x80	0xc398	// U+00D8
350	};
351	condition {
352		between 0x81...0x89;
353	} map {
354		0x81	0x61	// U+0061
355		0x82	0x62	// U+0062
356		0x83	0x63	// U+0063
357		0x84	0x64	// U+0064
358		0x85	0x65	// U+0065
359		0x86	0x66	// U+0066
360		0x87	0x67	// U+0067
361		0x88	0x68	// U+0068
362		0x89	0x69	// U+0069
363	};
364	condition {
365		between 0x8a...0x8b;
366	} map {
367		0x8a	0xc2ab	// U+00AB
368		0x8b	0xc2bb	// U+00BB
369	};
370	condition {
371		between 0x8c...0x8c;
372	} map {
373		0x8c	0x60	// U+0060
374	};
375	condition {
376		between 0x8d...0x8d;
377	} map {
378		0x8d	0xc3bd	// U+00FD
379	};
380	condition {
381		between 0x8e...0x8e;
382	} map {
383		0x8e	0x7b	// U+007B
384	};
385	condition {
386		between 0x8f...0x90;
387	} map {
388		0x8f	0xc2b1	// U+00B1
389		0x90	0xc2b0	// U+00B0
390	};
391	condition {
392		between 0x91...0x99;
393	} map {
394		0x91	0x6a	// U+006A
395		0x92	0x6b	// U+006B
396		0x93	0x6c	// U+006C
397		0x94	0x6d	// U+006D
398		0x95	0x6e	// U+006E
399		0x96	0x6f	// U+006F
400		0x97	0x70	// U+0070
401		0x98	0x71	// U+0071
402		0x99	0x72	// U+0072
403	};
404	condition {
405		between 0x9a...0x9b;
406	} map {
407		0x9a	0xc2aa	// U+00AA
408		0x9b	0xc2ba	// U+00BA
409	};
410	condition {
411		between 0x9c...0x9c;
412	} map {
413		0x9c	0x7d	// U+007D
414	};
415	condition {
416		between 0x9d...0x9d;
417	} map {
418		0x9d	0xc2b8	// U+00B8
419	};
420	condition {
421		between 0x9e...0x9e;
422	} map {
423		0x9e	0x5d	// U+005D
424	};
425	condition {
426		between 0x9f...0x9f;
427	} map {
428		0x9f	0xe282ac	// U+20AC
429	};
430	condition {
431		between 0xa0...0xa1;
432	} map {
433		0xa0	0xc2b5	// U+00B5
434		0xa1	0xc3b6	// U+00F6
435	};
436	condition {
437		between 0xa2...0xa9;
438	} map {
439		0xa2	0x73	// U+0073
440		0xa3	0x74	// U+0074
441		0xa4	0x75	// U+0075
442		0xa5	0x76	// U+0076
443		0xa6	0x77	// U+0077
444		0xa7	0x78	// U+0078
445		0xa8	0x79	// U+0079
446		0xa9	0x7a	// U+007A
447	};
448	condition {
449		between 0xaa...0xab;
450	} map {
451		0xaa	0xc2a1	// U+00A1
452		0xab	0xc2bf	// U+00BF
453	};
454	condition {
455		between 0xac...0xac;
456	} map {
457		0xac	0x40	// U+0040
458	};
459	condition {
460		between 0xad...0xad;
461	} map {
462		0xad	0xc39d	// U+00DD
463	};
464	condition {
465		between 0xae...0xae;
466	} map {
467		0xae	0x5b	// U+005B
468	};
469	condition {
470		between 0xaf...0xba;
471	} map {
472		0xaf	0xc2ae	// U+00AE
473		0xb0	0xc2a2	// U+00A2
474		0xb1	0xc2a3	// U+00A3
475		0xb2	0xc2a5	// U+00A5
476		0xb3	0xc2b7	// U+00B7
477		0xb4	0xc2a9	// U+00A9
478		0xb5	0xc2a7	// U+00A7
479		0xb6	0xc2b6	// U+00B6
480		0xb7	0xc2bc	// U+00BC
481		0xb8	0xc2bd	// U+00BD
482		0xb9	0xc2be	// U+00BE
483		0xba	0xc2ac	// U+00AC
484	};
485	condition {
486		between 0xbb...0xbb;
487	} map {
488		0xbb	0x7c	// U+007C
489	};
490	condition {
491		between 0xbc...0xbd;
492	} map {
493		0xbc	0xc2af	// U+00AF
494		0xbd	0xc2a8	// U+00A8
495	};
496	condition {
497		between 0xbe...0xbe;
498	} map {
499		0xbe	0x5c	// U+005c
500	};
501	condition {
502		between 0xbf...0xc0;
503	} map {
504		0xbf	0xc397	// U+00D7
505		0xc0	0xc3be	// U+00FE
506	};
507	condition {
508		between 0xc1...0xc9;
509	} map {
510		0xc1	0x41	// U+0041
511		0xc2	0x42	// U+0042
512		0xc3	0x43	// U+0043
513		0xc4	0x44	// U+0044
514		0xc5	0x45	// U+0045
515		0xc6	0x46	// U+0046
516		0xc7	0x47	// U+0047
517		0xc8	0x48	// U+0048
518		0xc9	0x49	// U+0049
519	};
520	condition {
521		between 0xca...0xcb;
522	} map {
523		0xca	0xc2ad	// U+00AD
524		0xcb	0xc3b4	// U+00F4
525	};
526	condition {
527		between 0xcc...0xcc;
528	} map {
529		0xcc	0x7e	// U+007E
530	};
531	condition {
532		between 0xcd...0xd0;
533	} map {
534		0xcd	0xc3b2	// U+00F2
535		0xce	0xc3b3	// U+00F3
536		0xcf	0xc3b5	// U+00F5
537		0xd0	0xc3a6	// U+00E6
538	};
539	condition {
540		between 0xd1...0xd9;
541	} map {
542		0xd1	0x4a	// U+004A
543		0xd2	0x4b	// U+004B
544		0xd3	0x4c	// U+004C
545		0xd4	0x4d	// U+004D
546		0xd5	0x4e	// U+004E
547		0xd6	0x4f	// U+004F
548		0xd7	0x50	// U+0050
549		0xd8	0x51	// U+0051
550		0xd9	0x52	// U+0052
551	};
552	condition {
553		between 0xda...0xe1;
554	} map {
555		0xda	0xc2b9	// U+00B9
556		0xdb	0xc3bb	// U+00FB
557		0xdc	0xc3bc	// U+00FC
558		0xdd	0xc3b9	// U+00F9
559		0xde	0xc3ba	// U+00FA
560		0xdf	0xc3bf	// U+00FF
561		0xe0	0xc2b4	// U+00B4
562		0xe1	0xc3b7	// U+00F7
563	};
564	condition {
565		between 0xe2...0xe9;
566	} map {
567		0xe2	0x53	// U+0053
568		0xe3	0x54	// U+0054
569		0xe4	0x55	// U+0055
570		0xe5	0x56	// U+0056
571		0xe6	0x57	// U+0057
572		0xe7	0x58	// U+0058
573		0xe8	0x59	// U+0059
574		0xe9	0x5a	// U+005A
575	};
576	condition {
577		between 0xea...0xeb;
578	} map {
579		0xea	0xc2b2	// U+00B2
580		0xeb	0xc394	// U+00D4
581	};
582	condition {
583		between 0xec...0xec;
584	} map {
585		0xec	0x5e	// U+005E
586	};
587	condition {
588		between 0xed...0xef;
589	} map {
590		0xed	0xc392	// U+00D2
591		0xee	0xc393	// U+00D3
592		0xef	0xc395	// U+00D5
593	};
594	condition {
595		between 0xf0...0xf9;
596	} map {
597		0xf0	0x30	// U+0030
598		0xf1	0x31	// U+0031
599		0xf2	0x32	// U+0032
600		0xf3	0x33	// U+0033
601		0xf4	0x34	// U+0034
602		0xf5	0x35	// U+0035
603		0xf6	0x36	// U+0036
604		0xf7	0x37	// U+0037
605		0xf8	0x38	// U+0038
606		0xf9	0x39	// U+0039
607	};
608	condition {
609		between 0xfa...0xff;
610	} map {
611		0xfa	0xc2b3	// U+00B3
612		0xfb	0xc39b	// U+00DB
613		0xfc	0xc39c	// U+00DC
614		0xfd	0xc399	// U+00D9
615		0xfe	0xc39a	// U+00DA
616		0xff	0xc29f	// U+009F
617	};
618    };
619}
620