source: trunk/libs/newlib/src/newlib/libc/ctype/utf8alpha.h @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 13.2 KB
Line 
1/* Copyright (c) 2002 Red Hat Incorporated.
2   All rights reserved.
3
4   Redistribution and use in source and binary forms, with or without
5   modification, are permitted provided that the following conditions are met:
6
7     Redistributions of source code must retain the above copyright
8     notice, this list of conditions and the following disclaimer.
9
10     Redistributions in binary form must reproduce the above copyright
11     notice, this list of conditions and the following disclaimer in the
12     documentation and/or other materials provided with the distribution.
13
14     The name of Red Hat Incorporated may not be used to endorse
15     or promote products derived from this software without specific
16     prior written permission.
17
18   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21   ARE DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
22   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS   
27   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*/
29
30/* Generated using UnicodeData.txt 5.2 */
31
32/* Expression used to filter out the characters for the below tables:
33
34  awk -F\; \
35  '{ \
36    VAL = strtonum (sprintf("0x%s", $1)); \
37    # All of general category "L", except for two Thai characters which \
38    # are actually punctuation characters.  Old Unicode weirdness. \
39    # The character "COMBINING GREEK YPOGEGRAMMENI", as well as all Thai \
40    # characters which are in "Mn" category.  Old Unicode weirdness. \
41    # All numerical digit or letter characters, except the ASCII variants. \
42    # This is necessary due to the unfortunate ISO C definition for the \
43    # iswdigit class, otherwise these characters are missing in iswalnum. \
44    # All "Other Symbols" which are named as "LETTER" characters. \
45    # \
46    # Before running this test, make sure to expand all Unicode blocks \
47    # which are just marked by their first and last character! \
48    # \
49    if (   (match($3, "^L") && VAL != 0x0e2f && VAL != 0x0e46) \
50        || (match($3, "^Mn") && (VAL == 0x0345 || match($2, "\\<CHARACTER\\>"))) \
51        || (match($3, "^N[dl]") && VAL >= 0x100) \
52        || (match($3, "^So") && match($2, "\\<LETTER\\>"))) \
53      print $1; \
54  }' UnicodeData.txt
55*/
56
57static const unsigned char u0[] = {
58  0x41, 0x0, 0x5a, 0x61, 0x0, 0x7a, 0xaa, 0xb5, 
59  0xba, 0xc0, 0x0, 0xd6, 0xd8, 0x0, 0xf6, 0xf8, 
60  0x0, 0xff };
61/* u1 all alphabetic */
62static const unsigned char u2[] = {
63  0x00, 0x0, 0xc1, 0xc6, 0x0, 0xd1,
64  0xe0, 0x0, 0xe4, 0xec, 0xee };
65static const unsigned char u3[] = {
66  0x45, 0x70, 0x0, 0x74, 0x76, 0x77,
67  0x7a, 0x0, 0x7d, 0x86, 0x88, 0x0, 0x8a, 0x8c,
68  0x8e, 0x0, 0xa1, 0xa3, 0x0, 0xf5,
69  0xf7, 0x0, 0xff };
70static const unsigned char u4[] = { 
71  0x00, 0x0, 0x81, 0x8a, 0x0, 0xff };
72static const unsigned char u5[] = { 
73  0x00, 0x0, 0x25, 0x31, 0x0, 0x56, 0x59, 
74  0x61, 0x0, 0x87, 0xd0, 0x0, 0xea,
75  0xf0, 0x0, 0xf2 };
76static const unsigned char u6[] = { 
77  0x21, 0x0, 0x4a, 0x60, 0x0, 0x69,
78  0x6e, 0x0, 0x6f, 0x71, 0x0, 0xd3, 
79  0xd5, 0xe5, 0x0, 0xe6, 0xee, 0x0, 0xfc, 0xff };
80static const unsigned char u7[] = { 
81  0x10, 0x12, 0x0, 0x2f, 0x4d, 0x0, 0xa5, 0xb1,
82  0xc0, 0x0, 0xea, 0xf4, 0xf5, 0xfa };
83static const unsigned char u8[] = { 
84  0x00, 0x0, 0x15, 0x1a, 0x24, 0x28 };
85static const unsigned char u9[] = { 
86  0x04, 0x0, 0x39, 0x3d, 0x50, 0x58, 0x0, 0x61,
87  0x66, 0x0, 0x6f, 0x71, 0x72, 0x79, 0x0, 0x7f,
88  0x85, 0x0, 0x8c, 0x8f, 0x0, 0x90, 
89  0x93, 0x0, 0xa8, 0xaa, 0x0, 0xb0, 0xb2,
90  0xb6, 0x0, 0xb9, 0xbd, 0xce, 0xdc, 0x0, 0xdd,
91  0xdf, 0x0, 0xe1, 0xe6, 0x0, 0xf1 };
92static const unsigned char ua[] = { 
93  0x05, 0x0, 0x0a, 0x0f, 0x0, 0x10,
94  0x13, 0x0, 0x28, 0x2a, 0x0, 0x30,
95  0x32, 0x0, 0x33, 0x35, 0x0, 0x36,
96  0x38, 0x0, 0x39, 0x59, 0x0, 0x5c,
97  0x5e, 0x66, 0x0, 0x6f, 0x72, 0x0, 0x74,
98  0x85, 0x0, 0x8d, 0x8f, 0x0, 0x91,
99  0x93, 0x0, 0xa8, 0xaa, 0x0, 0xb0,
100  0xb2, 0x0, 0xb3, 0xb5, 0x0, 0xb9,
101  0xbd, 0xd0, 0xe0, 0xe1, 0xe6, 0x0, 0xef };
102static const unsigned char ub[] = { 
103  0x05, 0x0, 0x0c, 0x0f, 0x0, 0x10,
104  0x13, 0x0, 0x28, 0x2a, 0x0, 0x30,
105  0x32, 0x0, 0x33, 0x35, 0x0, 0x39, 0x3d,
106  0x5c, 0x0, 0x5d, 0x5f, 0x0, 0x61,
107  0x66, 0x0, 0x6f, 0x71, 0x83, 0x85, 0x0, 0x8a,
108  0x8e, 0x0, 0x90, 0x92, 0x0, 0x95,
109  0x99, 0x0, 0x9a, 0x9c, 0x9e, 0x0, 0x9f,
110  0xa3, 0x0, 0xa4, 0xa8, 0x0, 0xaa,
111  0xae, 0x0, 0xb9, 0xd0, 0xe6, 0x0, 0xef };
112static const unsigned char uc[] = { 
113  0x05, 0x0, 0x0c, 0x0e, 0x0, 0x10,
114  0x12, 0x0, 0x28, 0x2a, 0x0, 0x33,
115  0x35, 0x0, 0x39, 0x3d, 0x58, 0x59,
116  0x60, 0x0, 0x61, 0x66, 0x0, 0x6f,
117  0x85, 0x0, 0x8c, 0x8e, 0x0, 0x90,
118  0x92, 0x0, 0xa8, 0xaa, 0x0, 0xb3,
119  0xb5, 0x0, 0xb9, 0xbd, 0xde, 0xe0, 0x0, 0xe1,
120  0xe6, 0x0, 0xef };
121static const unsigned char ud[] = { 
122  0x05, 0x0, 0x0c, 0x0e, 0x0, 0x10, 
123  0x12, 0x0, 0x28, 0x2a, 0x0, 0x39, 0x3d,
124  0x60, 0x0, 0x61, 0x66, 0x0, 0x6f,
125  0x7a, 0x0, 0x7f, 0x85, 0x0, 0x96, 0x9a, 
126  0x0, 0xb1, 0xb3, 0x0, 0xbb, 0xbd,
127  0xc0, 0x0, 0xc6 };
128static const unsigned char ue[] = { 
129  0x01, 0x0, 0x2e, 0x30, 0x0, 0x3a, 0x40, 
130  0x0, 0x45, 0x47, 0x0, 0x4e, 0x50, 0x0, 0x59, 
131  0x81, 0x0, 0x82, 0x84, 0x87, 0x0, 0x88, 0x8a, 
132  0x8d, 0x94, 0x0, 0x97, 0x99, 0x0, 0x9f, 0xa1, 
133  0x0, 0xa3, 0xa5, 0xa7, 0xaa, 0x0, 0xab, 0xad, 
134  0x0, 0xb0, 0xb2, 0x0, 0xb3, 0xbd, 0xc0, 0x0, 
135  0xc4, 0xc6, 0xd0, 0x0, 0xd9, 0xdc, 0x0, 0xdd }; 
136static const unsigned char uf[] = {
137  0x00, 0x20, 0x0, 0x29, 0x40, 0x0, 0x47, 0x49, 
138  0x0, 0x6c, 0x88, 0x0, 0x8b };
139static const unsigned char u10[] = { 
140  0x00, 0x0, 0x2a, 0x3f, 0x0, 0x49,
141  0x50, 0x0, 0x55, 0x5a, 0x0, 0x5d,
142  0x61, 0x65, 0x66, 0x6e, 0x0, 0x70,
143  0x75, 0x0, 0x81, 0x8e, 0x90, 0x0, 0x99,
144  0xa0, 0x0, 0xc5, 0xd0, 0x0, 0xfa, 0xfc };
145/* u11 all alphabetic */
146static const unsigned char u12[] = { 
147  0x00, 0x0, 0x48, 0x4a, 0x0, 0x4d,
148  0x50, 0x0, 0x56, 0x58, 0x5a, 0x0, 0x5d,
149  0x60, 0x0, 0x88, 0x8a, 0x0, 0x8d,
150  0x90, 0x0, 0xb0, 0xb2, 0x0, 0xb5,
151  0xb8, 0x0, 0xbe, 0xc0, 0xc2, 0x0, 0xc5,
152  0xc8, 0x0, 0xd6, 0xd8, 0x0, 0xff };
153static const unsigned char u13[] = { 
154  0x00, 0x0, 0x10, 0x12, 0x0, 0x15,
155  0x18, 0x0, 0x5a, 0x80, 0x0, 0x8f,
156  0xa0, 0x0, 0xf4 };
157static const unsigned char u14[] = { 
158  0x01, 0x0, 0xff };
159/* u15 all alphabetic */
160static const unsigned char u16[] = { 
161  0x00, 0x0, 0x6c, 0x6f, 0x0, 0x7f, 
162  0x81, 0x0, 0x9a, 0xa0, 0x0, 0xea,
163  0xee, 0x0, 0xf0 };
164static const unsigned char u17[] = { 
165  0x00, 0x0, 0x0c, 0x0e, 0x0, 0x11,
166  0x20, 0x0, 0x31, 0x40, 0x0, 0x51,
167  0x60, 0x0, 0x6c, 0x6e, 0x0, 0x70,
168  0x80, 0x0, 0xb3, 0xd7, 0xdc, 0xe0, 0x0, 0xe9 };
169static const unsigned char u18[] = { 
170  0x10, 0x0, 0x19, 0x20, 0x0, 0x77,
171  0x80, 0x0, 0xa8, 0xaa, 0xb0, 0x0, 0xf5 };
172static const unsigned char u19[] = { 
173  0x00, 0x0, 0x1c, 0x46, 0x0, 0x6d,
174  0x70, 0x0, 0x74, 0x80, 0x0, 0xab,
175  0xc1, 0x0, 0xc7, 0xd0, 0x0, 0xda };
176static const unsigned char u1a[] = { 
177  0x00, 0x0, 0x16, 0x20, 0x0, 0x54,
178  0x80, 0x0, 0x89, 0x90, 0x0, 0x99, 0xa7 };
179static const unsigned char u1b[] = { 
180  0x05, 0x0, 0x33, 0x45, 0x0, 0x4b,
181  0x50, 0x0, 0x59, 0x83, 0x0, 0xa0,
182  0xae, 0x0, 0xb9 };
183static const unsigned char u1c[] = { 
184  0x00, 0x0, 0x23, 0x40, 0x0, 0x49,
185  0x4d, 0x0, 0x7d, 0xe9, 0x0, 0xec,
186  0xee, 0x0, 0xf1 };
187static const unsigned char u1d[] = { 
188  0x00, 0x0, 0xbf };
189/* u1e all alphabetic */
190static const unsigned char u1f[] = { 
191  0x00, 0x0, 0x15, 0x18, 0x0, 0x1d, 
192  0x20, 0x0, 0x45, 0x48, 0x0, 0x4d, 0x50, 0x0, 0x57, 0x59, 
193  0x5b, 0x5d, 0x5f, 0x0, 0x7d, 0x80, 0x0, 0xb4, 
194  0xb6, 0x0, 0xbc, 0xbe, 0xc2, 0x0, 0xc4, 0xc6, 
195  0x0, 0xcc, 0xd0, 0x0, 0xd3, 0xd6, 0x0, 0xdb, 
196  0xe0, 0x0, 0xec, 0xf2, 0x0, 0xf4, 0xf6, 0x0, 
197  0xfc };
198static const unsigned char u20[] = { 
199  0x71, 0x7f, 0x90, 0x0, 0x94 };
200static const unsigned char u21[] = { 
201  0x02, 0x07, 0x0a, 0x0, 0x13, 0x15,
202  0x19, 0x0, 0x1d, 0x24, 0x26, 0x28, 0x0, 0x2d,
203  0x2f, 0x0, 0x39, 0x3c, 0x0, 0x3f,
204  0x45, 0x0, 0x49, 0x4e, 0x60, 0x0, 0x88 }; 
205static const unsigned char u24[] = { 
206  0x9c, 0x0, 0xe9 };
207static const unsigned char u2c[] = { 
208  0x00, 0x0, 0x2e, 0x30, 0x0, 0x5e,
209  0x60, 0x0, 0xe4, 0xeb, 0x0, 0xee };
210static const unsigned char u2d[] = { 
211  0x00, 0x0, 0x25, 0x30, 0x0, 0x65, 0x6f,
212  0x80, 0x0, 0x96, 0xa0, 0x0, 0xa6,
213  0xa8, 0x0, 0xae, 0xb0, 0x0, 0xb6,
214  0xb8, 0x0, 0xbe, 0xc0, 0x0, 0xc6,
215  0xc8, 0x0, 0xce, 0xd0, 0x0, 0xd6,
216  0xd8, 0x0, 0xde };
217static const unsigned char u2e[] = {
218  0x2f };
219static const unsigned char u30[] = { 
220  0x05, 0x0, 0x07, 0x21, 0x0, 
221  0x29, 0x31, 0x0, 0x35, 0x38, 0x0, 0x3c, 0x41, 
222  0x0, 0x96, 0x9d, 0x0, 0x9f, 0xa1, 0x0, 0xfa, 
223  0xfc, 0x0, 0xff };
224static const unsigned char u31[] = { 
225  0x05, 0x0, 0x2d, 0x31, 0x0, 
226  0x8e, 0xa0, 0x0, 0xb7, 0xf0, 0x0, 0xff };
227/* u34 to u4c all alphabetic */
228static const unsigned char u4d[] = { 
229  0x00, 0x0, 0xb5 };
230/* u4e to u9e all alphabetic */
231static const unsigned char u9f[] = { 
232  0x00, 0x0, 0xcb };
233/* ua0 to ua3 all alphabetic */
234static const unsigned char ua4[] = { 
235  0x00, 0x0, 0x8c, 0xd0, 0x0, 0xfd }; 
236/* ua5 all alphabetic */
237static const unsigned char ua6[] = {
238  0x00, 0x0, 0x0c, 0x10, 0x0, 0x2b,
239  0x40, 0x0, 0x5f, 0x62, 0x0, 0x6e,
240  0x7f, 0x0, 0x97, 0xa0, 0x0, 0xef };
241static const unsigned char ua7[] = {
242  0x17, 0x0, 0x1f, 0x22, 0x0, 0x88,
243  0x8b, 0x8c,
244  0xfb, 0x0, 0xff };
245static const unsigned char ua8[] = {
246  0x00, 0x01, 0x03, 0x0, 0x05, 0x07, 0x0, 0x0a,
247  0x0c, 0x0, 0x22, 0x40, 0x0, 0x73,
248  0x82, 0x0, 0xb3, 0xd0, 0x0, 0xd9,
249  0xf2, 0x0, 0xf7, 0xfb };
250static const unsigned char ua9[] = {
251  0x00, 0x0, 0x25, 0x30, 0x0, 0x46,
252  0x60, 0x0, 0x7c, 0x84, 0x0, 0xb2,
253  0xcf, 0x0, 0xd9 };
254static const unsigned char uaa[] = {
255  0x00, 0x0, 0x28, 0x40, 0x0, 0x42,
256  0x44, 0x0, 0x4b, 0x50, 0x0, 0x59,
257  0x60, 0x0, 0x76, 0x7a, 0x80, 0x0, 0xaf,
258  0xb1, 0xb5, 0xb6, 0xb9, 0x0, 0xbd,
259  0xc0, 0xc2, 0xdb, 0x0, 0xdd };
260static const unsigned char uab[] = {
261  0xc0, 0x0, 0xe2, 0xf0, 0x0, 0xf9 };
262/* uac to ud6 all alphabetic */
263static const unsigned char ud7[] = { 
264  0x00, 0x0, 0xa3, 0xb0, 0x0, 0xc6,
265  0xcb, 0x0, 0xfb };
266/* uf9 all alphabetic */
267static const unsigned char ufa[] = { 
268  0x00, 0x0, 0x2d, 0x30, 0x0, 0x6d,
269  0x70, 0x0, 0xd9 };
270static const unsigned char ufb[] = { 
271  0x00, 0x0, 0x06, 0x13, 0x0, 0x17, 0x1d, 
272  0x1f, 0x0, 0x28, 0x2a, 0x0, 0x36, 0x38, 0x0, 
273  0x3c, 0x3e, 0x40, 0x0, 0x41, 0x43, 0x0, 0x44, 
274  0x46, 0x0, 0xb1, 0xd3, 0x0, 0xff };
275/* ufc all alphabetic */
276static const unsigned char ufd[] = { 
277  0x00, 0x0, 0x3d, 0x50, 0x0, 
278  0x8f, 0x92, 0x0, 0xc7, 0xf0, 0x0, 0xfb };
279static const unsigned char ufe[] = { 
280  0x70, 
281  0x0, 0x74, 0x76, 0x0, 0xfc };
282static const unsigned char uff[] = { 
283  0x10, 0x0, 0x19, 
284  0x21, 0x0, 0x3a, 0x41, 0x0, 0x5a, 0x66, 0x0, 
285  0xbe, 0xc2, 0x0, 0xc7, 0xca, 0x0, 0xcf, 0xd2, 
286  0x0, 0xd7, 0xda, 0x0, 0xdc };
287static const unsigned char u100[] = { 
288  0x00, 0x0, 0x0b, 0x0d, 0x0, 0x26,
289  0x28, 0x0, 0x3a, 0x3c, 0x3d, 0x3f, 0x0, 0x4d,
290  0x50, 0x0, 0x5d, 0x80, 0x0, 0xfa };
291static const unsigned char u101[] = { 
292  0x40, 0x0, 0x74 };
293static const unsigned char u102[] = { 
294  0x80, 0x0, 0x9c, 0xa0, 0x0, 0xd0 };
295static const unsigned char u103[] = { 
296  0x00, 0x0, 0x1e, 0x30, 0x0, 0x4a,
297  0x80, 0x0, 0x9d, 0xa0, 0x0, 0xc3,
298  0xc8, 0x0, 0xcf, 0xd1, 0x0, 0xd5 };
299static const unsigned char u104[] = { 
300  0x00, 0x0, 0x9d, 0xa0, 0x0, 0xa9 };
301static const unsigned char u108[] = { 
302  0x00, 0x0, 0x05, 0x08, 0x0a, 0x0, 0x35,
303  0x37, 0x38, 0x3c, 0x3f, 0x0, 0x55 };
304static const unsigned char u109[] = {
305  0x00, 0x0, 0x15, 0x20, 0x0, 0x39 };
306static const unsigned char u10a[] = {
307  0x00, 0x10, 0x0, 0x13, 0x15, 0x0, 0x17,
308  0x19, 0x0, 0x33, 0x60, 0x0, 0x7c };
309static const unsigned char u10b[] = {
310  0x00, 0x0, 0x35, 0x40, 0x0, 0x55,
311  0x60, 0x0, 0x72 };
312static const unsigned char u10c[] = {
313  0x00, 0x0, 0x48 };
314static const unsigned char u110[] = {
315  0x83, 0x0, 0xaf };
316/* u120 to u122 all alphabetic */
317static const unsigned char u123[] = { 
318  0x00, 0x0, 0x6e };
319static const unsigned char u124[] = { 
320  0x00, 0x0, 0x62 };
321/* u130 to u133 all alphabetic */
322static const unsigned char u134[] = {
323  0x00, 0x0, 0x2e };
324static const unsigned char u1d4[] = { 
325  0x00, 0x0, 0x54, 0x56, 0x0, 0x9c,
326  0x9e, 0x0, 0x9f, 0xa2, 0xa5, 0x0, 0xa6,
327  0xa9, 0x0, 0xac, 0xae, 0x0, 0xb9, 0xbb,
328  0xbd, 0x0, 0xc3, 0xc5, 0x0, 0xff };
329static const unsigned char u1d5[] = { 
330  0x00, 0x0, 0x05, 0x07, 0x0, 
331  0x0a, 0x0d, 0x0, 0x14, 0x16, 0x0, 0x1c, 0x1e, 
332  0x0, 0x39, 0x3b, 0x0, 0x3e, 0x40, 0x0, 0x44, 
333  0x46, 0x4a, 0x0, 0x50, 0x52, 0x0, 0xff }; 
334static const unsigned char u1d6[] = { 
335  0x00, 0x0, 0xa5, 0xa8, 0x0, 0xc0,
336  0xc2, 0x0, 0xda, 0xdc, 0x0, 0xfa, 
337  0xfc, 0x0, 0xff };
338static const unsigned char u1d7[] = { 
339  0x00, 0x0, 0x14, 0x16, 0x0, 0x34,
340  0x36, 0x0, 0x4e, 0x50, 0x0, 0x6e, 
341  0x70, 0x0, 0x88, 0x8a, 0x0, 0xa8,
342  0xaa, 0x0, 0xc2, 0xc4, 0x0, 0xcb,
343  0xce, 0x0, 0xff };
344static const unsigned char u1f1[] = {
345  0x10, 0x0, 0x2c, 0x31, 0x3d, 0x3f, 0x42, 0x46,
346  0x57, 0x5f, 0x79, 0x7b, 0x7c, 0x7f, 0x8a };
347/* u200 to u2a5 all alphabetic */
348static const unsigned char u2a6[] = { 
349  0x00, 0x0, 0xd6 };
350/* u2a7 to u2b6 all alphabetic */
351static const unsigned char u2b7[] = {
352  0x00, 0x0, 0x34 };
353/* u2f8 to u2f9 all alphabetic */
354static const unsigned char u2fa[] = { 
355  0x00, 0x0, 0x1d };
Note: See TracBrowser for help on using the repository browser.