]> git.saurik.com Git - apple/libc.git/blame - locale.subproj/runetable.c
Libc-166.tar.gz
[apple/libc.git] / locale.subproj / runetable.c
CommitLineData
e9ce8d39
A
1/*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
11 *
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22/*
23 * Copyright (c) 1993
24 * The Regents of the University of California. All rights reserved.
25 *
26 * This code is derived from software contributed to Berkeley by
27 * Paul Borman at Krystal Technologies.
28 *
29 * Redistribution and use in source and binary forms, with or without
30 * modification, are permitted provided that the following conditions
31 * are met:
32 * 1. Redistributions of source code must retain the above copyright
33 * notice, this list of conditions and the following disclaimer.
34 * 2. Redistributions in binary form must reproduce the above copyright
35 * notice, this list of conditions and the following disclaimer in the
36 * documentation and/or other materials provided with the distribution.
37 * 3. All advertising materials mentioning features or use of this software
38 * must display the following acknowledgement:
39 * This product includes software developed by the University of
40 * California, Berkeley and its contributors.
41 * 4. Neither the name of the University nor the names of its contributors
42 * may be used to endorse or promote products derived from this software
43 * without specific prior written permission.
44 *
45 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
46 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
47 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
48 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
49 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
51 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
52 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
53 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
54 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
55 * SUCH DAMAGE.
56 */
57
58
59#include <sys/types.h>
60
61#include <ctype.h>
62#include <rune.h>
63
64extern rune_t _none_sgetrune __P((const char *, size_t, char const **));
65extern int _none_sputrune __P((rune_t, char *, size_t, char **));
66extern int _none_init __P((char *, char **));
67
68const _RuneLocale _DefaultRuneLocale = {
69 _RUNE_MAGIC_1,
70 "none",
71 _none_sgetrune,
72 _none_sputrune,
73 0xFFFD,
74
75 { /*00*/ _C, _C, _C, _C,
76 _C, _C, _C, _C,
77 /*08*/ _C, _C|_S|_B, _C|_S, _C|_S,
78 _C|_S, _C|_S, _C, _C,
79 /*10*/ _C, _C, _C, _C,
80 _C, _C, _C, _C,
81 /*18*/ _C, _C, _C, _C,
82 _C, _C, _C, _C,
83 /*20*/ _S|_B|_R, _P|_R|_G, _P|_R|_G, _P|_R|_G,
84 _P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
85 /*28*/ _P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
86 _P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
87 /*30*/ _D|_R|_G|_X|0, _D|_R|_G|_X|1, _D|_R|_G|_X|2, _D|_R|_G|_X|3,
88 _D|_R|_G|_X|4, _D|_R|_G|_X|5, _D|_R|_G|_X|6, _D|_R|_G|_X|7,
89 /*38*/ _D|_R|_G|_X|8, _D|_R|_G|_X|9, _P|_R|_G, _P|_R|_G,
90 _P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
91 /*40*/ _P|_R|_G, _U|_X|_R|_G|_A|10, _U|_X|_R|_G|_A|11, _U|_X|_R|_G|_A|12,
92 _U|_X|_R|_G|_A|13, _U|_X|_R|_G|_A|14, _U|_X|_R|_G|_A|15, _U|_R|_G|_A,
93 /*48*/ _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
94 _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
95 /*50*/ _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
96 _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
97 /*58*/ _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _P|_R|_G,
98 _P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
99 /*60*/ _P|_R|_G, _L|_X|_R|_G|_A|10, _L|_X|_R|_G|_A|11, _L|_X|_R|_G|_A|12,
100 _L|_X|_R|_G|_A|13, _L|_X|_R|_G|_A|14, _L|_X|_R|_G|_A|15, _L|_R|_G|_A,
101 /*68*/ _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
102 _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
103 /*70*/ _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
104 _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
105 /*78*/ _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _P|_R|_G,
106 _P|_R|_G, _P|_R|_G, _P|_R|_G, _C,
107 },
108 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
109 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
110 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
111 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
112 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
113 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
114 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
115 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
116 0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
117 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
118 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
119 'x', 'y', 'z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
120 0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
121 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
122 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
123 'x', 'y', 'z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
124 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
125 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
126 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
127 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
128 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
129 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
130 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
131 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
132 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
133 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
134 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
135 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
136 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
137 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
138 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
139 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
140 },
141 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
142 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
143 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
144 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
145 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
146 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
147 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
148 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
149 0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
150 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
151 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
152 'X', 'Y', 'Z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
153 0x60, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
154 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
155 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
156 'X', 'Y', 'Z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
157 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
158 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
159 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
160 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
161 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
162 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
163 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
164 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
165 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
166 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
167 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
168 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
169 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
170 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
171 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
172 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
173 },
174};
175
176_RuneLocale *_CurrentRuneLocale = &_DefaultRuneLocale;
177
178int __mb_cur_max = 1;