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 unicode.txt 3.2 */
31 
32 static const unsigned char u0[] = {
33   0x21, 0x0, 0x2f, 0x3a, 0x0, 0x40, 0x5b, 0x0,
34   0x60, 0x7b, 0x0, 0x7e, 0xa0, 0x0, 0xa9, 0xab,
35   0x0, 0xb4, 0xb6, 0x0, 0xb9, 0xbb, 0x0, 0xbf,
36   0xd7, 0xf7 };
37 static const unsigned char u2[] = {
38   0xb9, 0x0, 0xba, 0xc2, 0x0, 0xcf,
39   0xd2, 0x0, 0xdf, 0xe5, 0x0, 0xed };
40 static const unsigned char u3[] = {
41   0x00, 0x0,
42   0x44, 0x46, 0x0, 0x4f, 0x60, 0x0, 0x6f, 0x74,
43   0x0, 0x75, 0x7e, 0x84, 0x0, 0x85, 0x87, 0xf6 };
44 static const unsigned char u4[] = {
45   0x82, 0x0, 0x86, 0x88, 0x0, 0x89 };
46 static const unsigned char u5[] = {
47   0x5a, 0x0,
48   0x5f, 0x89, 0x0, 0x8a, 0x91, 0x0, 0xa1, 0xa3,
49   0x0, 0xb9, 0xbb, 0x0, 0xc4, 0xf3, 0x0, 0xf4 };
50 static const unsigned char u6[] = {
51   0x0c, 0x1b, 0x1f, 0x4b, 0x0, 0x55, 0x6a, 0x0,
52   0x6d, 0x70, 0xd4, 0xd6, 0x0, 0xe4, 0xe7, 0x0,
53   0xed, 0xfd, 0x0, 0xfe };
54 static const unsigned char u7[] =  {
55   0x00, 0x0, 0x0d, 0x0f,
56   0x11, 0x30, 0x0, 0x4a, 0xa6, 0x0, 0xb0 };
57 static const unsigned char u9[] = {
58   0x01,
59   0x0, 0x03, 0x3c, 0x3e, 0x0, 0x4d, 0x51, 0x0,
60   0x54, 0x62, 0x0, 0x65, 0x70, 0x81, 0x0, 0x83,
61   0xbc, 0xbe, 0x0, 0xc4, 0xc7, 0x0, 0xc8, 0xcb,
62   0x0, 0xcd, 0xd7, 0xe2, 0x0, 0xe3, 0xf2, 0x0,
63   0xfa };
64 static const unsigned char ua[] = {
65   0x02, 0x3c, 0x3e, 0x0, 0x42, 0x47, 0x0,
66   0x48, 0x4b, 0x0, 0x4d, 0x70, 0x0, 0x71, 0x81,
67   0x0, 0x83, 0xbc, 0xbe, 0x0, 0xc5, 0xc7, 0x0,
68   0xc9, 0xcb, 0x0, 0xcd };
69 static const unsigned char ub[] = {
70   0x01, 0x0, 0x03, 0x3c,
71   0x3e, 0x0, 0x43, 0x47, 0x0, 0x48, 0x4b, 0x0,
72   0x4d, 0x56, 0x0, 0x57, 0x70, 0x82, 0xbe, 0x0,
73   0xc2, 0xc6, 0x0, 0xc8, 0xca, 0x0, 0xcd, 0xd7,
74   0xf0, 0x0, 0xf2 };
75 static const unsigned char uc[] = {
76   0x01, 0x0, 0x03, 0x3e, 0x0,
77   0x44, 0x46, 0x0, 0x48, 0x4a, 0x0, 0x4d, 0x55,
78   0x0, 0x56, 0x82, 0x0, 0x83, 0xbe, 0x0, 0xc4,
79   0xc6, 0x0, 0xc8, 0xca, 0x0, 0xcd, 0xd5, 0x0,
80   0xd6 };
81 static const unsigned char ud[] = {
82   0x02, 0x0, 0x03,
83   0x3e, 0x0, 0x43, 0x46,
84   0x0, 0x48, 0x4a, 0x0, 0x4d, 0x57, 0x82, 0x0,
85   0x83, 0xca, 0xcf, 0x0, 0xd4, 0xd6, 0xd8, 0x0,
86   0xdf, 0xf2, 0x0, 0xf4 };
87 static const unsigned char ue[] = {
88   0x2f, 0x3f, 0x46, 0x4f,
89   0x5a, 0x0, 0x5b, 0xb1, 0xb4, 0x0, 0xb9, 0xbb,
90   0x0, 0xbc, 0xc8, 0x0, 0xcd };
91 static const unsigned char uf[] = {
92   0x01, 0x0, 0x1f,
93   0x2a, 0x0, 0x3f, 0x71, 0x0, 0x87, 0x90, 0x0,
94   0x97, 0x99, 0x0, 0xbc, 0xbe, 0x0, 0xcc, 0xcf };
95 static const unsigned char u10[] = {
96   0x2c, 0x0, 0x32, 0x36, 0x0, 0x39, 0x4a, 0x0,
97   0x4f, 0x56, 0x0, 0x59, 0xfb };
98 static const unsigned char u13[] = {
99   0x61, 0x0, 0x68,
100   0x72, 0x0, 0x7c };
101 static const unsigned char u16[] = {
102   0x6d, 0x0, 0x6e, 0x9b, 0x0,
103   0x9c, 0xeb, 0x0, 0xed };
104 static const unsigned char u17[] = {
105   0x12, 0x0, 0x14, 0x32,
106   0x0, 0x36, 0x52, 0x0, 0x53, 0x72, 0x0, 0x73,
107   0xb4, 0x0, 0xd6, 0xd8, 0x0, 0xdb };
108 static const unsigned char u18[] = {
109   0x00, 0x0,
110   0x0e, 0xa9 };
111 static const unsigned char u1f[] = {
112   0xbd, 0xbf, 0x0, 0xc1,
113   0xcd, 0x0, 0xcf, 0xdd, 0x0, 0xdf, 0xed, 0x0, 0xef, 0xfd,
114   0x0, 0xfe };
115 static const unsigned char u20[] = {
116   0x07, 0x0c, 0x0, 0x27, 0x2a, 0x0,
117   0x52, 0x57, 0x60, 0x0, 0x63, 0x6a, 0x0, 0x70,
118   0x74, 0x0, 0x7e, 0x80, 0x0, 0x8e, 0xa0, 0x0,
119   0xb1, 0xd0, 0x0, 0xea };
120 static const unsigned char u21[] = {
121   0x00, 0x0, 0x01, 0x03,
122   0x0, 0x06, 0x08, 0x0, 0x09, 0x14, 0x16, 0x0,
123   0x18, 0x1e, 0x0, 0x23, 0x25, 0x27, 0x2e, 0x32,
124   0x3a, 0x40, 0x0, 0x44, 0x4a, 0x0, 0x4b, 0x53,
125   0x0, 0x5f, 0x90, 0x0, 0xff };
126 /* u22 is all-punctuation */
127 static const unsigned char u23[] = {
128   0x00, 0x0, 0xce };
129 static const unsigned char u24[] = {
130   0x00, 0x0, 0x26,
131   0x40, 0x0, 0x4a, 0x60, 0x0, 0x9b, 0xea, 0x0,
132   0xfe };
133 /* u25 is all-punctuation */
134 static const unsigned char u26[] = {
135   0x00, 0x0, 0x13,
136   0x16, 0x0, 0x17, 0x19,
137   0x0, 0x7d, 0x80, 0x0, 0x89 };
138 static const unsigned char u27[] = {
139   0x01, 0x0, 0x04,
140   0x06, 0x0, 0x09, 0x0c, 0x0, 0x27, 0x29, 0x0,
141   0x4b, 0x4d, 0x4f, 0x0, 0x52, 0x56, 0x58, 0x0,
142   0x5e, 0x61, 0x0, 0x94, 0x98, 0x0, 0xaf, 0xb1,
143   0x0, 0xbe, 0xd0, 0x0, 0xeb, 0xf0, 0x0, 0xff };
144 /* u28 to u2a is all-punctuation */
145 static const unsigned char u2e[] = {
146   0x80, 0x0, 0x99,
147   0x9b, 0x0, 0xf3 };
148 static const unsigned char u2f[] = {
149   0x00, 0x0,
150   0xd5, 0xf0, 0x0, 0xfb };
151 static const unsigned char u30[] = {
152   0x01, 0x0, 0x04, 0x08,
153   0x0, 0x20, 0x2a, 0x0, 0x30, 0x36, 0x0, 0x37,
154   0x3d, 0x0, 0x3f, 0x99, 0x0, 0x9c, 0xa0, 0xfb };
155 static const unsigned char u31[] = {
156   0x90, 0x0, 0x9f };
157 static const unsigned char u32[] = {
158   0x00, 0x0, 0x1c, 0x20, 0x0,
159   0x43, 0x51, 0x0, 0x7b, 0x7f, 0x0, 0xcb, 0xd0,
160   0x0, 0xfe };
161 static const unsigned char u33[] = {
162   0x00, 0x0, 0x76, 0x7b, 0x0, 0xdd,
163   0xe0, 0x0, 0xfe };
164 static const unsigned char ua4[] = {
165   0x90, 0x0, 0xc6 };
166 /* ue0 to uf8 are all-punctuation */
167 static const unsigned char ufb[] = {
168   0x1e, 0x29 };
169 static const unsigned char ufd[] = {
170   0x3e, 0x0, 0x3f, 0xfc };
171 static const unsigned char ufe[] = {
172   0x00,
173   0x0, 0x0f, 0x20, 0x0, 0x23, 0x30, 0x0, 0x46,
174   0x49, 0x0, 0x52, 0x54, 0x0, 0x66, 0x68, 0x0,
175   0x6b, 0xff };
176 static const unsigned char uff[] = {
177   0x01, 0x0, 0x0f, 0x1a, 0x0, 0x20,
178   0x3b, 0x0, 0x40, 0x5b, 0x0, 0x65, 0xe0, 0x0,
179   0xe6, 0xe8, 0x0, 0xee, 0xf9, 0x0, 0xfd };
180 static const unsigned char u103[] = {
181   0x20,
182   0x0, 0x23 };
183 static const unsigned char u1d0[] = {
184   0x00, 0x0, 0xf5 };
185 static const unsigned char u1d1[] = {
186   0x00, 0x0, 0x26,
187   0x2a, 0x0, 0xdd };
188 static const unsigned char u1d6[] = {
189   0xc1, 0xdb, 0xfb };
190 static const unsigned char u1d7[] = {
191   0x15, 0x35,
192   0x4f, 0x6f, 0x89, 0xa9, 0xc3 };
193 static const unsigned char ue00[] = {
194   0x01, 0x20, 0x0,
195   0x7f };
196 /* uf00 to uffe are all punctuation */
197 static const unsigned char ufff[] = {
198   0x00, 0x0, 0xfd };
199 /* u1000 to u10fe are all punctuation */
200 static const unsigned char u10ff[] = {
201   0x00, 0x0, 0xfd };
202