Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 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, "\\"))) \
51
	|| (match($3, "^N[dl]") && VAL >= 0x100) \
52
	|| (match($3, "^So") && match($2, "\\"))) \
53
      print $1; \
54
  }' UnicodeData.txt
55
*/
56
 
57
static 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 */
62
static const unsigned char u2[] = {
63
  0x00, 0x0, 0xc1, 0xc6, 0x0, 0xd1,
64
  0xe0, 0x0, 0xe4, 0xec, 0xee };
65
static 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 };
70
static const unsigned char u4[] = {
71
  0x00, 0x0, 0x81, 0x8a, 0x0, 0xff };
72
static const unsigned char u5[] = {
73
  0x00, 0x0, 0x25, 0x31, 0x0, 0x56, 0x59,
74
  0x61, 0x0, 0x87, 0xd0, 0x0, 0xea,
75
  0xf0, 0x0, 0xf2 };
76
static 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 };
80
static const unsigned char u7[] = {
81
  0x10, 0x12, 0x0, 0x2f, 0x4d, 0x0, 0xa5, 0xb1,
82
  0xc0, 0x0, 0xea, 0xf4, 0xf5, 0xfa };
83
static const unsigned char u8[] = {
84
  0x00, 0x0, 0x15, 0x1a, 0x24, 0x28 };
85
static 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 };
92
static 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 };
102
static 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 };
112
static 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 };
121
static 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 };
128
static 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 };
136
static const unsigned char uf[] = {
137
  0x00, 0x20, 0x0, 0x29, 0x40, 0x0, 0x47, 0x49,
138
  0x0, 0x6c, 0x88, 0x0, 0x8b };
139
static 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 */
146
static 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 };
153
static const unsigned char u13[] = {
154
  0x00, 0x0, 0x10, 0x12, 0x0, 0x15,
155
  0x18, 0x0, 0x5a, 0x80, 0x0, 0x8f,
156
  0xa0, 0x0, 0xf4 };
157
static const unsigned char u14[] = {
158
  0x01, 0x0, 0xff };
159
/* u15 all alphabetic */
160
static const unsigned char u16[] = {
161
  0x00, 0x0, 0x6c, 0x6f, 0x0, 0x7f,
162
  0x81, 0x0, 0x9a, 0xa0, 0x0, 0xea,
163
  0xee, 0x0, 0xf0 };
164
static 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 };
169
static const unsigned char u18[] = {
170
  0x10, 0x0, 0x19, 0x20, 0x0, 0x77,
171
  0x80, 0x0, 0xa8, 0xaa, 0xb0, 0x0, 0xf5 };
172
static 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 };
176
static const unsigned char u1a[] = {
177
  0x00, 0x0, 0x16, 0x20, 0x0, 0x54,
178
  0x80, 0x0, 0x89, 0x90, 0x0, 0x99, 0xa7 };
179
static const unsigned char u1b[] = {
180
  0x05, 0x0, 0x33, 0x45, 0x0, 0x4b,
181
  0x50, 0x0, 0x59, 0x83, 0x0, 0xa0,
182
  0xae, 0x0, 0xb9 };
183
static const unsigned char u1c[] = {
184
  0x00, 0x0, 0x23, 0x40, 0x0, 0x49,
185
  0x4d, 0x0, 0x7d, 0xe9, 0x0, 0xec,
186
  0xee, 0x0, 0xf1 };
187
static const unsigned char u1d[] = {
188
  0x00, 0x0, 0xbf };
189
/* u1e all alphabetic */
190
static 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 };
198
static const unsigned char u20[] = {
199
  0x71, 0x7f, 0x90, 0x0, 0x94 };
200
static 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 };
205
static const unsigned char u24[] = {
206
  0x9c, 0x0, 0xe9 };
207
static const unsigned char u2c[] = {
208
  0x00, 0x0, 0x2e, 0x30, 0x0, 0x5e,
209
  0x60, 0x0, 0xe4, 0xeb, 0x0, 0xee };
210
static 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 };
217
static const unsigned char u2e[] = {
218
  0x2f };
219
static 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 };
224
static const unsigned char u31[] = {
225
  0x05, 0x0, 0x2d, 0x31, 0x0,
226
  0x8e, 0xa0, 0x0, 0xb7, 0xf0, 0x0, 0xff };
227
/* u34 to u4c all alphabetic */
228
static const unsigned char u4d[] = {
229
  0x00, 0x0, 0xb5 };
230
/* u4e to u9e all alphabetic */
231
static const unsigned char u9f[] = {
232
  0x00, 0x0, 0xcb };
233
/* ua0 to ua3 all alphabetic */
234
static const unsigned char ua4[] = {
235
  0x00, 0x0, 0x8c, 0xd0, 0x0, 0xfd };
236
/* ua5 all alphabetic */
237
static 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 };
241
static const unsigned char ua7[] = {
242
  0x17, 0x0, 0x1f, 0x22, 0x0, 0x88,
243
  0x8b, 0x8c,
244
  0xfb, 0x0, 0xff };
245
static 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 };
250
static const unsigned char ua9[] = {
251
  0x00, 0x0, 0x25, 0x30, 0x0, 0x46,
252
  0x60, 0x0, 0x7c, 0x84, 0x0, 0xb2,
253
  0xcf, 0x0, 0xd9 };
254
static 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 };
260
static const unsigned char uab[] = {
261
  0xc0, 0x0, 0xe2, 0xf0, 0x0, 0xf9 };
262
/* uac to ud6 all alphabetic */
263
static const unsigned char ud7[] = {
264
  0x00, 0x0, 0xa3, 0xb0, 0x0, 0xc6,
265
  0xcb, 0x0, 0xfb };
266
/* uf9 all alphabetic */
267
static const unsigned char ufa[] = {
268
  0x00, 0x0, 0x2d, 0x30, 0x0, 0x6d,
269
  0x70, 0x0, 0xd9 };
270
static 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 */
276
static const unsigned char ufd[] = {
277
  0x00, 0x0, 0x3d, 0x50, 0x0,
278
  0x8f, 0x92, 0x0, 0xc7, 0xf0, 0x0, 0xfb };
279
static const unsigned char ufe[] = {
280
  0x70,
281
  0x0, 0x74, 0x76, 0x0, 0xfc };
282
static 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 };
287
static 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 };
291
static const unsigned char u101[] = {
292
  0x40, 0x0, 0x74 };
293
static const unsigned char u102[] = {
294
  0x80, 0x0, 0x9c, 0xa0, 0x0, 0xd0 };
295
static 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 };
299
static const unsigned char u104[] = {
300
  0x00, 0x0, 0x9d, 0xa0, 0x0, 0xa9 };
301
static const unsigned char u108[] = {
302
  0x00, 0x0, 0x05, 0x08, 0x0a, 0x0, 0x35,
303
  0x37, 0x38, 0x3c, 0x3f, 0x0, 0x55 };
304
static const unsigned char u109[] = {
305
  0x00, 0x0, 0x15, 0x20, 0x0, 0x39 };
306
static const unsigned char u10a[] = {
307
  0x00, 0x10, 0x0, 0x13, 0x15, 0x0, 0x17,
308
  0x19, 0x0, 0x33, 0x60, 0x0, 0x7c };
309
static const unsigned char u10b[] = {
310
  0x00, 0x0, 0x35, 0x40, 0x0, 0x55,
311
  0x60, 0x0, 0x72 };
312
static const unsigned char u10c[] = {
313
  0x00, 0x0, 0x48 };
314
static const unsigned char u110[] = {
315
  0x83, 0x0, 0xaf };
316
/* u120 to u122 all alphabetic */
317
static const unsigned char u123[] = {
318
  0x00, 0x0, 0x6e };
319
static const unsigned char u124[] = {
320
  0x00, 0x0, 0x62 };
321
/* u130 to u133 all alphabetic */
322
static const unsigned char u134[] = {
323
  0x00, 0x0, 0x2e };
324
static 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 };
329
static 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 };
334
static const unsigned char u1d6[] = {
335
  0x00, 0x0, 0xa5, 0xa8, 0x0, 0xc0,
336
  0xc2, 0x0, 0xda, 0xdc, 0x0, 0xfa,
337
  0xfc, 0x0, 0xff };
338
static 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 };
344
static 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 */
348
static const unsigned char u2a6[] = {
349
  0x00, 0x0, 0xd6 };
350
/* u2a7 to u2b6 all alphabetic */
351
static const unsigned char u2b7[] = {
352
  0x00, 0x0, 0x34 };
353
/* u2f8 to u2f9 all alphabetic */
354
static const unsigned char u2fa[] = {
355
  0x00, 0x0, 0x1d };