[build] Skips RemoteExecuted bases tests on monodroid
[mono-project.git] / mono / eglib / unicode-data.h
blob1cd75f3a969f2c4a089279e98294b23582693110
1 /*
2 This file is automatically generated by ucd.exe.
3 The source for this generator should be in Mono repository
4 (mcs/class/corlib/Mono.Globalization.Unicode directory).
5 */
7 #ifndef __UNICODE_DATA_H
8 #define __UNICODE_DATA_H
10 #include <glib.h>
13 /* ======== Structures ======== */
14 typedef struct {
15 guint32 codepoint;
16 guint32 upper;
17 guint32 title;
18 } SimpleTitlecaseMapping;
19 typedef struct {
20 guint32 start;
21 guint32 end;
22 } CodePointRange;
23 typedef struct {
24 guint32 upper;
25 guint32 lower;
26 } SimpleCaseMapping;
28 /* ======== Unicode Categories ======== */
29 static const guint8 unicode_category_ranges_count = 11;
30 static const CodePointRange unicode_category_ranges [] = {
31 {0x000000, 0x003400},
32 {0x004DC0, 0x004E00},
33 {0x00A000, 0x00AA80},
34 {0x00F900, 0x010000},
35 {0x010000, 0x0104C0},
36 {0x010800, 0x010A80},
37 {0x012000, 0x012480},
38 {0x01D000, 0x01D800},
39 {0x01F000, 0x01F0C0},
40 {0x02F800, 0x02FA40},
41 {0x0E0000, 0x0E0200},
42 {0, 0}};
43 static const guint8 unicode_category_table0 [] = {
44 /* ==== 0-3400 ==== */
45 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
46 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
47 29,21,21,21,23,21,21,21,22,18,21,25,21,17,21,21,
48 13,13,13,13,13,13,13,13,13,13,21,21,25,25,25,21,
49 21,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
50 9,9,9,9,9,9,9,9,9,9,9,22,21,18,24,16,
51 24,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
52 5,5,5,5,5,5,5,5,5,5,5,22,25,18,25,0,
53 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
54 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
55 29,21,23,23,23,23,26,26,24,26,5,20,25,1,26,24,
56 26,25,15,15,24,5,26,21,24,15,5,19,15,15,15,21,
57 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
58 9,9,9,9,9,9,9,25,9,9,9,9,9,9,9,5,
59 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
60 5,5,5,5,5,5,5,25,5,5,5,5,5,5,5,5,
61 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
62 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
63 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
64 9,5,9,5,9,5,9,5,5,9,5,9,5,9,5,9,
65 5,9,5,9,5,9,5,9,5,5,9,5,9,5,9,5,
66 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
67 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
68 9,5,9,5,9,5,9,5,9,9,5,9,5,9,5,5,
69 5,9,9,5,9,5,9,9,5,9,9,9,5,5,9,9,
70 9,9,5,9,9,5,9,9,9,5,5,5,9,9,5,9,
71 9,5,9,5,9,5,9,9,5,9,5,5,9,5,9,9,
72 5,9,9,9,5,9,5,9,9,5,5,7,9,5,5,5,
73 7,7,7,7,9,8,5,9,8,5,9,8,5,9,5,9,
74 5,9,5,9,5,9,5,9,5,9,5,9,5,5,9,5,
75 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
76 5,9,8,5,9,5,9,9,9,5,9,5,9,5,9,5,
77 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
78 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
79 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
80 9,5,9,5,5,5,5,5,5,5,9,9,5,9,9,5,
81 5,9,5,9,9,9,9,5,9,5,9,5,9,5,9,5,
82 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
83 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
84 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
85 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
86 5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,
87 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
88 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
89 6,6,24,24,24,24,6,6,6,6,6,6,6,6,6,6,
90 6,6,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
91 6,6,6,6,6,24,24,24,24,24,24,24,6,24,6,24,
92 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
93 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
94 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
95 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
96 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
97 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
98 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
99 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
100 9,5,9,5,6,24,9,5,0,0,6,5,5,5,21,0,
101 0,0,0,0,24,24,9,21,9,9,9,0,9,0,9,9,
102 5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
103 9,9,0,9,9,9,9,9,9,9,9,9,5,5,5,5,
104 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
105 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,
106 5,5,9,9,9,5,5,5,9,5,9,5,9,5,9,5,
107 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
108 5,5,5,5,9,5,25,9,5,9,9,5,5,9,9,9,
109 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
110 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
111 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
112 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
113 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
114 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
115 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
116 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
117 9,5,26,12,12,12,12,12,11,11,9,5,9,5,9,5,
118 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
119 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
120 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
121 9,9,5,9,5,9,5,9,5,9,5,9,5,9,5,5,
122 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
123 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
124 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
125 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
126 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
127 9,5,9,5,0,0,0,0,0,0,0,0,0,0,0,0,
128 0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
129 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
130 9,9,9,9,9,9,9,0,0,6,21,21,21,21,21,21,
131 0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
132 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
133 5,5,5,5,5,5,5,5,0,21,17,0,0,0,0,0,
134 0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
135 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
136 12,12,12,12,12,12,12,12,12,12,12,12,12,12,17,12,
137 21,12,12,21,12,12,21,12,0,0,0,0,0,0,0,0,
138 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
139 7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,
140 7,7,7,21,21,0,0,0,0,0,0,0,0,0,0,0,
141 1,1,1,1,0,0,25,25,25,21,21,23,21,21,26,26,
142 12,12,12,12,12,12,12,12,12,12,12,21,0,0,21,21,
143 0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
144 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
145 6,7,7,7,7,7,7,7,7,7,7,12,12,12,12,12,
146 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,
147 13,13,13,13,13,13,13,13,13,13,21,21,21,21,7,7,
148 12,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
149 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
150 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
151 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
152 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
153 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
154 7,7,7,7,21,7,12,12,12,12,12,12,12,1,11,12,
155 12,12,12,12,12,6,6,12,12,26,12,12,12,12,7,7,
156 13,13,13,13,13,13,13,13,13,13,7,7,7,26,26,7,
157 21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,1,
158 7,12,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
159 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
160 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
161 12,12,12,12,12,12,12,12,12,12,12,0,0,7,7,7,
162 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
163 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
164 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
165 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
166 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
167 7,7,7,7,7,7,12,12,12,12,12,12,12,12,12,12,
168 12,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
169 13,13,13,13,13,13,13,13,13,13,7,7,7,7,7,7,
170 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
171 7,7,7,7,7,7,7,7,7,7,7,12,12,12,12,12,
172 12,12,12,12,6,6,26,21,21,21,6,0,0,0,0,0,
173 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
174 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
175 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
176 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
177 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
178 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
179 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
180 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
181 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
182 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
183 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
184 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
185 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
186 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
187 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
188 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
189 0,12,12,10,7,7,7,7,7,7,7,7,7,7,7,7,
190 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
191 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
192 7,7,7,7,7,7,7,7,7,7,0,0,12,7,10,10,
193 10,12,12,12,12,12,12,12,12,10,10,10,10,12,0,0,
194 7,12,12,12,12,0,0,0,7,7,7,7,7,7,7,7,
195 7,7,12,12,21,21,13,13,13,13,13,13,13,13,13,13,
196 21,6,7,0,0,0,0,0,0,0,0,7,7,7,7,7,
197 0,12,10,10,0,7,7,7,7,7,7,7,7,0,0,7,
198 7,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,
199 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
200 7,0,7,0,0,0,7,7,7,7,0,0,12,7,10,10,
201 10,12,12,12,12,0,0,10,10,0,0,10,10,12,7,0,
202 0,0,0,0,0,0,0,10,0,0,0,0,7,7,0,7,
203 7,7,12,12,0,0,13,13,13,13,13,13,13,13,13,13,
204 7,7,23,23,15,15,15,15,15,15,26,0,0,0,0,0,
205 0,12,12,10,0,7,7,7,7,7,7,0,0,0,0,7,
206 7,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,
207 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
208 7,0,7,7,0,7,7,0,7,7,0,0,12,0,10,10,
209 10,12,12,0,0,0,0,12,12,0,0,12,12,12,0,0,
210 0,12,0,0,0,0,0,0,0,7,7,7,7,0,7,0,
211 0,0,0,0,0,0,13,13,13,13,13,13,13,13,13,13,
212 12,12,7,7,7,12,0,0,0,0,0,0,0,0,0,0,
213 0,12,12,10,0,7,7,7,7,7,7,7,7,7,0,7,
214 7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,
215 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
216 7,0,7,7,0,7,7,7,7,7,0,0,12,7,10,10,
217 10,12,12,12,12,12,0,12,12,10,0,10,10,12,0,0,
218 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
219 7,7,12,12,0,0,13,13,13,13,13,13,13,13,13,13,
220 0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
221 0,12,10,10,0,7,7,7,7,7,7,7,7,0,0,7,
222 7,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,
223 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
224 7,0,7,7,0,7,7,7,7,7,0,0,12,7,10,12,
225 10,12,12,12,12,0,0,10,10,0,0,10,10,12,0,0,
226 0,0,0,0,0,0,12,10,0,0,0,0,7,7,0,7,
227 7,7,12,12,0,0,13,13,13,13,13,13,13,13,13,13,
228 26,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
229 0,0,12,7,0,7,7,7,7,7,7,0,0,0,7,7,
230 7,0,7,7,7,7,0,0,0,7,7,0,7,0,7,7,
231 0,0,0,7,7,0,0,0,7,7,7,0,0,0,7,7,
232 7,7,7,7,7,7,7,7,7,7,0,0,0,0,10,10,
233 12,10,10,0,0,0,10,10,10,0,10,10,10,12,0,0,
234 7,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,
235 0,0,0,0,0,0,13,13,13,13,13,13,13,13,13,13,
236 15,15,15,26,26,26,26,26,26,23,26,0,0,0,0,0,
237 0,10,10,10,0,7,7,7,7,7,7,7,7,0,7,7,
238 7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
239 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
240 7,7,7,7,0,7,7,7,7,7,0,0,0,7,12,12,
241 12,10,10,10,10,0,12,12,12,0,12,12,12,12,0,0,
242 0,0,0,0,0,12,12,0,7,7,0,0,0,0,0,0,
243 7,7,12,12,0,0,13,13,13,13,13,13,13,13,13,13,
244 0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,26,
245 0,0,10,10,0,7,7,7,7,7,7,7,7,0,7,7,
246 7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
247 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
248 7,7,7,7,0,7,7,7,7,7,0,0,12,7,10,12,
249 10,10,10,10,10,0,12,10,10,0,10,10,12,12,0,0,
250 0,0,0,0,0,10,10,0,0,0,0,0,0,0,7,0,
251 7,7,12,12,0,0,13,13,13,13,13,13,13,13,13,13,
252 0,26,26,0,0,0,0,0,0,0,0,0,0,0,0,0,
253 0,0,10,10,0,7,7,7,7,7,7,7,7,0,7,7,
254 7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
255 7,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,
256 7,7,7,7,7,7,7,7,7,7,0,0,0,7,10,10,
257 10,12,12,12,12,0,10,10,10,0,10,10,10,12,0,0,
258 0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,
259 7,7,12,12,0,0,13,13,13,13,13,13,13,13,13,13,
260 15,15,15,15,15,15,0,0,0,26,7,7,7,7,7,7,
261 0,0,10,10,0,7,7,7,7,7,7,7,7,7,7,7,
262 7,7,7,7,7,7,7,0,0,0,7,7,7,7,7,7,
263 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
264 7,7,0,7,7,7,7,7,7,7,7,7,0,7,0,0,
265 7,7,7,7,7,7,7,0,0,0,12,0,0,0,0,10,
266 10,10,12,12,12,0,12,0,10,10,10,10,10,10,10,10,
267 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
268 0,0,10,10,21,0,0,0,0,0,0,0,0,0,0,0,
269 0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
270 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
271 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
272 7,12,7,7,12,12,12,12,12,12,12,0,0,0,0,23,
273 7,7,7,7,7,7,6,12,12,12,12,12,12,12,12,21,
274 13,13,13,13,13,13,13,13,13,13,21,21,0,0,0,0,
275 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
276 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
277 0,7,7,0,7,0,0,7,7,0,7,0,0,7,0,0,
278 0,0,0,0,7,7,7,7,0,7,7,7,7,7,7,7,
279 0,7,7,7,0,7,0,7,0,0,7,7,0,7,7,7,
280 7,12,7,7,12,12,12,12,12,12,0,12,12,7,0,0,
281 7,7,7,7,7,0,6,0,12,12,12,12,12,12,0,0,
282 13,13,13,13,13,13,13,13,13,13,0,0,7,7,0,0,
283 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
284 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
285 7,26,26,26,21,21,21,21,21,21,21,21,21,21,21,21,
286 21,21,21,26,26,26,26,26,12,12,26,26,26,26,26,26,
287 13,13,13,13,13,13,13,13,13,13,15,15,15,15,15,15,
288 15,15,15,15,26,12,26,12,26,12,22,18,22,18,10,10,
289 7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,
290 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
291 7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,
292 0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,
293 12,12,12,12,12,21,12,12,7,7,7,7,0,0,0,0,
294 12,12,12,12,12,12,12,12,0,12,12,12,12,12,12,12,
295 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
296 12,12,12,12,12,12,12,12,12,12,12,12,12,0,26,26,
297 26,26,26,26,26,26,12,26,26,26,26,26,26,0,26,26,
298 21,21,21,21,21,0,0,0,0,0,0,0,0,0,0,0,
299 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
300 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
301 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
302 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
303 7,7,7,7,7,7,7,7,7,7,7,10,10,12,12,12,
304 12,10,12,12,12,12,12,12,10,12,12,10,10,12,12,7,
305 13,13,13,13,13,13,13,13,13,13,21,21,21,21,21,21,
306 7,7,7,7,7,7,10,10,12,12,7,7,7,7,12,12,
307 12,7,10,10,10,7,7,10,10,10,10,10,10,10,7,7,
308 7,12,12,12,12,7,7,7,7,7,7,7,7,7,7,7,
309 7,7,12,10,10,12,12,10,10,10,10,10,10,12,7,10,
310 13,13,13,13,13,13,13,13,13,13,0,0,0,0,26,26,
311 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
312 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
313 9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,
314 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
315 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
316 7,7,7,7,7,7,7,7,7,7,7,21,6,0,0,0,
317 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
318 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
319 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
320 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
321 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
322 7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,7,
323 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
324 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
325 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
326 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
327 7,7,7,0,0,0,0,0,7,7,7,7,7,7,7,7,
328 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
329 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
330 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
331 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
332 7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,
333 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
334 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
335 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
336 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
337 7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,0,
338 7,7,7,7,7,7,7,0,7,0,7,7,7,7,0,0,
339 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
340 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
341 7,7,7,7,7,7,7,7,7,0,7,7,7,7,0,0,
342 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
343 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
344 7,0,7,7,7,7,0,0,7,7,7,7,7,7,7,0,
345 7,0,7,7,7,7,0,0,7,7,7,7,7,7,7,7,
346 7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,
347 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
348 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
349 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
350 7,0,7,7,7,7,0,0,7,7,7,7,7,7,7,7,
351 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
352 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
353 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
354 7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,12,
355 26,21,21,21,21,21,21,21,21,15,15,15,15,15,15,15,
356 15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,
357 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
358 26,26,26,26,26,26,26,26,26,26,0,0,0,0,0,0,
359 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
360 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
361 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
362 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
363 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
364 7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,
365 0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
366 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
367 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
368 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
369 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
370 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
371 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
372 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
373 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
374 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
375 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
376 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
377 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
378 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
379 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
380 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
381 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
382 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
383 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
384 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
385 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
386 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
387 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
388 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
389 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
390 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
391 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
392 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
393 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
394 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
395 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
396 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
397 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
398 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
399 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
400 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
401 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
402 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
403 7,7,7,7,7,7,7,7,7,7,7,7,7,21,21,7,
404 7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,
405 29,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
406 7,7,7,7,7,7,7,7,7,7,7,22,18,0,0,0,
407 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
408 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
409 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
410 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
411 7,7,7,7,7,7,7,7,7,7,7,21,21,21,14,14,
412 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
413 7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,
414 7,7,12,12,12,0,0,0,0,0,0,0,0,0,0,0,
415 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
416 7,7,12,12,12,21,21,0,0,0,0,0,0,0,0,0,
417 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
418 7,7,12,12,0,0,0,0,0,0,0,0,0,0,0,0,
419 7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,
420 7,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,
421 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
422 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
423 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
424 7,7,7,7,1,1,10,12,12,12,12,12,12,12,10,10,
425 10,10,10,10,10,10,12,10,10,12,12,12,12,12,12,12,
426 12,12,12,12,21,21,21,6,21,21,21,23,7,12,0,0,
427 13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,
428 15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,
429 21,21,21,21,21,21,17,21,21,21,21,12,12,12,29,0,
430 13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,
431 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
432 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
433 7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,
434 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
435 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
436 7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,
437 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
438 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
439 7,7,7,7,7,7,7,7,7,12,7,0,0,0,0,0,
440 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
441 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
442 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
443 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
444 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
445 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
446 7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,
447 12,12,12,10,10,10,10,12,12,10,10,10,0,0,0,0,
448 10,10,12,10,10,10,10,10,10,12,12,12,0,0,0,0,
449 26,0,0,0,21,21,13,13,13,13,13,13,13,13,13,13,
450 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
451 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,
452 7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,
453 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
454 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
455 7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,
456 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
457 10,7,7,7,7,7,7,7,10,10,0,0,0,0,0,0,
458 13,13,13,13,13,13,13,13,13,13,0,0,0,0,21,21,
459 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
460 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
461 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
462 7,7,7,7,7,7,7,12,12,10,10,10,0,0,21,21,
463 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
464 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
465 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
466 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
467 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
468 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
469 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
470 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
471 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
472 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
473 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
474 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
475 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
476 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
477 12,12,12,12,10,7,7,7,7,7,7,7,7,7,7,7,
478 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
479 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
480 7,7,7,7,12,10,12,12,12,12,12,10,12,10,10,10,
481 10,10,12,10,10,7,7,7,7,7,7,7,0,0,0,0,
482 13,13,13,13,13,13,13,13,13,13,21,21,21,21,21,21,
483 21,26,26,26,26,26,26,26,26,26,26,12,12,12,12,12,
484 12,12,12,12,26,26,26,26,26,26,26,26,26,0,0,0,
485 12,12,10,7,7,7,7,7,7,7,7,7,7,7,7,7,
486 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
487 7,10,12,12,12,12,10,10,12,12,10,0,0,0,7,7,
488 13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,
489 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
490 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
491 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
492 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
493 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
494 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
495 7,7,7,7,10,10,10,10,10,10,10,10,12,12,12,12,
496 12,12,12,12,10,10,12,12,0,0,0,21,21,21,21,21,
497 13,13,13,13,13,13,13,13,13,13,0,0,0,7,7,7,
498 13,13,13,13,13,13,13,13,13,13,7,7,7,7,7,7,
499 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
500 7,7,7,7,7,7,7,7,6,6,6,6,6,6,21,21,
501 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
502 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
503 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
504 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
505 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
506 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
507 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
508 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
509 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
510 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
511 5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,
512 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
513 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
514 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
515 6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
516 5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,
517 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
518 5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,
519 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
520 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
521 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
522 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
523 12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,
524 0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,
525 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
526 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
527 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
528 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
529 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
530 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
531 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
532 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
533 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
534 9,5,9,5,9,5,5,5,5,5,5,5,5,5,9,5,
535 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
536 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
537 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
538 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
539 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
540 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
541 5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,
542 5,5,5,5,5,5,0,0,9,9,9,9,9,9,0,0,
543 5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,
544 5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,
545 5,5,5,5,5,5,0,0,9,9,9,9,9,9,0,0,
546 5,5,5,5,5,5,5,5,0,9,0,9,0,9,0,9,
547 5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,
548 5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
549 5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,
550 5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,
551 5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,
552 5,5,5,5,5,0,5,5,9,9,9,9,8,24,5,24,
553 24,24,5,5,5,0,5,5,9,9,9,9,8,24,24,24,
554 5,5,5,5,0,0,5,5,9,9,9,9,0,24,24,24,
555 5,5,5,5,5,5,5,5,9,9,9,9,9,24,24,24,
556 0,0,5,5,5,0,5,5,9,9,9,9,8,24,24,0,
557 29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,
558 17,17,17,17,17,17,21,21,20,19,22,20,20,19,22,20,
559 21,21,21,21,21,21,21,21,27,28,1,1,1,1,1,29,
560 21,21,21,21,21,21,21,21,21,20,19,21,21,21,21,16,
561 16,21,21,21,25,22,18,21,21,21,21,21,21,21,21,21,
562 21,21,25,21,16,21,21,21,21,21,21,21,21,21,21,29,
563 1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,
564 15,5,0,0,15,15,15,15,15,15,25,25,25,22,18,5,
565 15,15,15,15,15,15,15,15,15,15,25,25,25,22,18,0,
566 6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,
567 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,
568 23,23,23,23,23,23,0,0,0,0,0,0,0,0,0,0,
569 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
570 12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,
571 11,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,
572 12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
573 26,26,9,26,26,26,26,9,26,26,5,9,9,9,5,5,
574 9,9,9,5,26,9,26,26,26,9,9,9,9,9,26,26,
575 26,26,26,26,9,26,9,26,9,26,9,9,9,9,26,5,
576 9,9,9,9,5,7,7,7,7,5,26,26,5,5,9,9,
577 25,25,25,25,25,9,5,5,5,5,26,25,26,26,5,26,
578 0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,
579 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
580 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
581 14,14,14,9,5,14,14,14,14,0,0,0,0,0,0,0,
582 25,25,25,25,25,26,26,26,26,26,25,25,26,26,26,26,
583 25,26,26,25,26,26,25,26,26,26,26,26,26,26,25,26,
584 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
585 26,26,26,26,26,26,26,26,26,26,26,26,26,26,25,25,
586 26,26,25,26,25,26,26,26,26,26,26,26,26,26,26,26,
587 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
588 26,26,26,26,25,25,25,25,25,25,25,25,25,25,25,25,
589 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
590 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
591 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
592 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
593 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
594 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
595 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
596 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
597 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
598 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
599 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
600 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
601 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
602 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
603 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
604 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
605 26,26,26,26,26,26,26,26,25,25,25,25,26,26,26,26,
606 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
607 25,25,26,26,26,26,26,26,26,22,18,26,26,26,26,26,
608 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
609 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
610 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
611 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
612 26,26,26,26,26,26,26,26,26,26,26,26,25,26,26,26,
613 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
614 26,26,26,26,26,26,26,26,26,26,26,25,25,25,25,25,
615 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
616 25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,
617 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
618 26,26,26,26,26,26,26,26,26,26,26,26,25,25,25,25,
619 25,25,26,26,26,26,26,26,0,0,0,0,0,0,0,0,
620 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
621 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
622 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
623 26,26,26,26,26,26,26,0,0,0,0,0,0,0,0,0,
624 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
625 26,26,26,26,26,26,26,26,26,26,26,0,0,0,0,0,
626 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
627 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
628 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
629 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
630 15,15,15,15,15,15,15,15,15,15,15,15,26,26,26,26,
631 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
632 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
633 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
634 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
635 26,26,26,26,26,26,26,26,26,26,15,15,15,15,15,15,
636 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
637 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
638 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
639 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
640 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
641 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
642 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
643 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
644 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
645 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
646 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
647 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
648 26,26,26,26,26,26,26,25,26,26,26,26,26,26,26,26,
649 26,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
650 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
651 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
652 26,26,26,26,26,26,26,26,25,25,25,25,25,25,25,25,
653 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
654 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
655 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
656 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
657 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
658 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
659 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,25,
660 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
661 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
662 26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,0,
663 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
664 26,26,26,26,26,26,26,26,26,26,26,26,26,0,0,0,
665 26,26,26,26,0,0,0,0,0,0,0,0,0,0,0,0,
666 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
667 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
668 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
669 0,26,26,26,26,0,26,26,26,26,0,0,26,26,26,26,
670 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
671 26,26,26,26,26,26,26,26,0,26,26,26,26,26,26,26,
672 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
673 26,26,26,26,26,26,26,26,26,26,26,26,0,26,0,26,
674 26,26,26,0,0,0,26,0,26,26,26,26,26,26,26,0,
675 0,26,26,26,26,26,26,26,22,18,22,18,22,18,22,18,
676 22,18,22,18,22,18,15,15,15,15,15,15,15,15,15,15,
677 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
678 15,15,15,15,26,0,0,0,26,26,26,26,26,26,26,26,
679 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
680 0,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,
681 25,25,25,25,25,22,18,25,25,25,25,0,25,0,0,0,
682 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
683 25,25,25,25,25,25,22,18,22,18,22,18,22,18,22,18,
684 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
685 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
686 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
687 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
688 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
689 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
690 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
691 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
692 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
693 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
694 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
695 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
696 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
697 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
698 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
699 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
700 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
701 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
702 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
703 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
704 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
705 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
706 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
707 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
708 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
709 25,25,25,22,18,22,18,22,18,22,18,22,18,22,18,22,
710 18,22,18,22,18,22,18,22,18,25,25,25,25,25,25,25,
711 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
712 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
713 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
714 25,25,25,25,25,25,25,25,22,18,22,18,25,25,25,25,
715 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
716 25,25,25,25,25,25,25,25,25,25,25,25,22,18,25,25,
717 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
718 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
719 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
720 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
721 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
722 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
723 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
724 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
725 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
726 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
727 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
728 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
729 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
730 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
731 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
732 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
733 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
734 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
735 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
736 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
737 25,25,25,25,25,26,26,25,25,25,25,25,25,0,0,0,
738 26,26,26,26,26,0,0,0,0,0,0,0,0,0,0,0,
739 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
740 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
741 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
742 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
743 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
744 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
745 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
746 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
747 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
748 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
749 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
750 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
751 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,
752 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
753 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
754 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
755 9,5,9,9,9,5,5,9,5,9,5,9,5,9,9,9,
756 0,5,9,5,5,9,5,5,5,5,5,5,5,6,0,0,
757 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
758 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
759 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
760 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
761 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
762 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
763 9,5,9,5,5,26,26,26,26,26,26,0,0,0,0,0,
764 0,0,0,0,0,0,0,0,0,21,21,21,21,15,21,21,
765 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
766 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
767 5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,
768 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
769 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
770 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
771 7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,6,
772 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
773 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
774 7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,
775 7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,0,
776 7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,0,
777 7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,0,
778 7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,0,
779 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
780 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
781 21,21,20,19,20,19,21,21,21,20,19,21,20,19,21,21,
782 21,21,21,21,21,21,21,17,21,21,17,21,20,19,21,21,
783 20,19,22,18,22,18,22,18,22,18,21,21,21,21,21,6,
784 21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
785 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
786 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
787 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
788 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
789 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
790 26,26,26,26,26,26,26,26,26,26,0,26,26,26,26,26,
791 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
792 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
793 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
794 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
795 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
796 26,26,26,26,0,0,0,0,0,0,0,0,0,0,0,0,
797 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
798 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
799 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
800 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
801 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
802 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
803 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
804 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
805 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
806 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
807 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
808 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
809 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
810 26,26,26,26,26,26,0,0,0,0,0,0,0,0,0,0,
811 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
812 26,26,26,26,26,26,26,26,26,26,26,26,0,0,0,0,
813 29,21,21,21,26,6,7,14,22,18,22,18,22,18,22,18,
814 22,18,26,26,22,18,22,18,22,18,22,18,17,22,18,18,
815 26,14,14,14,14,14,14,14,14,14,12,12,12,12,12,12,
816 17,6,6,6,6,6,26,26,14,14,14,6,7,21,26,26,
817 0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
818 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
819 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
820 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
821 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
822 7,7,7,7,7,7,7,0,0,12,12,24,24,6,6,7,
823 17,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
824 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
825 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
826 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
827 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
828 7,7,7,7,7,7,7,7,7,7,7,21,6,6,6,7,
829 0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,
830 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
831 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,
832 0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
833 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
834 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
835 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
836 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
837 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,
838 26,26,15,15,15,15,26,26,26,26,26,26,26,26,26,26,
839 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
840 7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,
841 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
842 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
843 26,26,26,26,0,0,0,0,0,0,0,0,0,0,0,0,
844 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
845 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
846 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,
847 15,15,15,15,15,15,15,15,15,15,26,26,26,26,26,26,
848 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
849 26,26,26,26,0,0,0,0,0,0,0,0,0,0,0,0,
850 26,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
851 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
852 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
853 15,15,15,15,15,15,15,15,15,15,26,26,26,26,26,26,
854 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
855 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
856 26,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
857 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
858 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
859 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
860 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,
861 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
862 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
863 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
864 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
865 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
866 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
867 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
868 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
869 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
870 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
871 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
872 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
873 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
874 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
875 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
876 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
878 static const guint8 unicode_category_table1 [] = {
879 /* ==== 4DC0-4E00 ==== */
880 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
881 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
882 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
883 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
885 static const guint8 unicode_category_table2 [] = {
886 /* ==== A000-AA80 ==== */
887 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
888 7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,
889 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
890 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
891 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
892 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
893 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
894 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
895 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
896 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
897 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
898 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
899 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
900 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
901 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
902 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
903 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
904 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
905 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
906 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
907 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
908 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
909 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
910 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
911 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
912 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
913 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
914 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
915 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
916 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
917 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
918 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
919 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
920 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
921 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
922 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
923 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
924 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
925 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
926 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
927 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
928 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
929 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
930 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
931 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
932 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
933 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
934 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
935 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
936 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
937 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
938 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
939 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
940 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
941 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
942 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
943 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
944 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
945 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
946 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
947 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
948 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
949 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
950 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
951 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
952 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
953 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
954 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
955 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
956 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
957 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
958 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
959 7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,
960 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
961 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
962 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
963 26,26,26,26,26,26,26,0,0,0,0,0,0,0,0,0,
964 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
965 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
966 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
967 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
968 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
969 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
970 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
971 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
972 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
973 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
974 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
975 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
976 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
977 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
978 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
979 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
980 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
981 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
982 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
983 7,7,7,7,7,7,7,7,7,7,7,7,6,21,21,21,
984 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
985 13,13,13,13,13,13,13,13,13,13,7,7,0,0,0,0,
986 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
987 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
988 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
989 0,0,9,5,9,5,9,5,9,5,9,5,9,5,7,12,
990 11,11,11,21,0,0,0,0,0,0,0,0,12,12,21,6,
991 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
992 9,5,9,5,9,5,9,5,0,0,0,0,0,0,0,0,
993 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
994 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
995 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
996 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
997 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
998 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
999 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
1000 24,24,24,24,24,24,24,6,6,6,6,6,6,6,6,6,
1001 24,24,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
1002 5,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
1003 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
1004 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
1005 9,5,9,5,9,5,9,5,9,5,9,5,9,5,9,5,
1006 6,5,5,5,5,5,5,5,5,9,5,9,5,9,9,5,
1007 9,5,9,5,9,5,9,5,6,24,24,9,5,0,0,0,
1008 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1009 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1010 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1011 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1012 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1013 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1014 0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,
1015 7,7,12,7,7,7,12,7,7,7,7,12,7,7,7,7,
1016 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1017 7,7,7,10,10,12,12,10,26,26,26,26,0,0,0,0,
1018 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1019 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1020 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1021 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1022 7,7,7,7,21,21,21,21,0,0,0,0,0,0,0,0,
1023 10,10,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1024 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1025 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1026 7,7,7,7,10,10,10,10,10,10,10,10,10,10,10,10,
1027 10,10,10,10,12,0,0,0,0,0,0,0,0,0,21,21,
1028 13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,
1029 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1030 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1031 13,13,13,13,13,13,13,13,13,13,7,7,7,7,7,7,
1032 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1033 7,7,7,7,7,7,12,12,12,12,12,12,12,12,21,21,
1034 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1035 7,7,7,7,7,7,7,12,12,12,12,12,12,12,12,12,
1036 12,12,10,10,0,0,0,0,0,0,0,0,0,0,0,21,
1037 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1038 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1039 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1040 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1041 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1042 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1043 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1044 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1045 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1046 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1047 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1048 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1049 7,7,7,7,7,7,7,7,7,12,12,12,12,12,12,10,
1050 10,12,12,10,10,12,12,0,0,0,0,0,0,0,0,0,
1051 7,7,7,12,7,7,7,7,7,7,7,7,12,10,0,0,
1052 13,13,13,13,13,13,13,13,13,13,0,0,21,21,21,21,
1054 static const guint8 unicode_category_table3 [] = {
1055 /* ==== F900-10000 ==== */
1056 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1057 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1058 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1059 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1060 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1061 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1062 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1063 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1064 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1065 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1066 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1067 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1068 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1069 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1070 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1071 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1072 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1073 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1074 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,
1075 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1076 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1077 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1078 7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,
1079 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1080 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1081 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1082 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1083 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1084 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1085 7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,
1086 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1087 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1088 5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,
1089 0,0,0,5,5,5,5,5,0,0,0,0,0,7,12,7,
1090 7,7,7,7,7,7,7,7,7,25,7,7,7,7,7,7,
1091 7,7,7,7,7,7,7,0,7,7,7,7,7,0,7,0,
1092 7,7,0,7,7,0,7,7,7,7,7,7,7,7,7,7,
1093 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1094 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1095 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1096 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1097 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1098 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1099 7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1100 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1101 0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,
1102 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1103 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1104 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1105 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1106 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1107 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1108 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1109 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1110 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1111 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1112 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1113 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1114 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1115 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1116 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1117 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1118 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1119 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1120 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1121 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1122 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1123 7,7,7,7,7,7,7,7,7,7,7,7,7,7,22,18,
1124 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1125 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1126 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1127 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1128 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1129 0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1130 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1131 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1132 7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,
1133 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1134 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1135 7,7,7,7,7,7,7,7,7,7,7,7,23,26,0,0,
1136 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1137 21,21,21,21,21,21,21,22,18,21,0,0,0,0,0,0,
1138 12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,
1139 21,17,17,16,16,22,18,22,18,22,18,22,18,22,18,22,
1140 18,22,18,22,18,21,21,22,18,21,21,21,21,16,16,16,
1141 21,21,21,0,21,21,21,21,17,22,18,22,18,22,18,21,
1142 21,21,25,17,25,25,25,0,21,23,21,21,0,0,0,0,
1143 7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,
1144 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1145 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1146 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1147 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1148 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1149 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1150 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1151 7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,1,
1152 0,21,21,21,23,21,21,21,22,18,21,25,21,17,21,21,
1153 13,13,13,13,13,13,13,13,13,13,21,21,25,25,25,21,
1154 21,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1155 9,9,9,9,9,9,9,9,9,9,9,22,21,18,24,16,
1156 24,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1157 5,5,5,5,5,5,5,5,5,5,5,22,25,18,25,22,
1158 18,21,22,18,21,21,7,7,7,7,7,7,7,7,7,7,
1159 6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1160 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1161 7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,
1162 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1163 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,
1164 0,0,7,7,7,7,7,7,0,0,7,7,7,7,7,7,
1165 0,0,7,7,7,7,7,7,0,0,7,7,7,0,0,0,
1166 23,23,25,24,26,23,23,0,26,25,25,25,25,26,26,0,
1167 0,0,0,0,0,0,0,0,0,1,1,1,26,26,0};
1168 static const guint8 unicode_category_table4 [] = {
1169 /* ==== 10000-104C0 ==== */
1170 7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,
1171 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1172 7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,
1173 7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,7,
1174 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,
1175 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,
1176 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1177 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1178 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1179 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1180 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1181 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1182 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1183 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1184 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1185 7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,
1186 21,21,26,0,0,0,0,15,15,15,15,15,15,15,15,15,
1187 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
1188 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
1189 15,15,15,15,0,0,0,26,26,26,26,26,26,26,26,26,
1190 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1191 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1192 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1193 14,14,14,14,14,15,15,15,15,26,26,26,26,26,26,26,
1194 26,26,26,26,26,26,26,26,26,26,15,0,0,0,0,0,
1195 26,26,26,26,26,26,26,26,26,26,26,26,0,0,0,0,
1196 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1197 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1198 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1199 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1200 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1201 26,26,26,26,26,26,26,26,26,26,26,26,26,12,0,0,
1202 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1203 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1204 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1205 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1206 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1207 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1208 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1209 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1210 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1211 7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,
1212 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1213 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1214 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1215 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1216 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1217 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1218 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1219 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,
1220 15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,
1221 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1222 7,14,7,7,7,7,7,7,7,7,14,0,0,0,0,0,
1223 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1224 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1225 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1226 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1227 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,21,
1228 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1229 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1230 7,7,7,7,0,0,0,0,7,7,7,7,7,7,7,7,
1231 21,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,
1232 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1233 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1234 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1235 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1236 9,9,9,9,9,9,9,9,5,5,5,5,5,5,5,5,
1237 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1238 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1239 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1240 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1241 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1242 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1243 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,
1244 13,13,13,13,13,13,13,13,13,13,0};
1245 static const guint8 unicode_category_table5 [] = {
1246 /* ==== 10800-10A80 ==== */
1247 7,7,7,7,7,7,0,0,7,0,7,7,7,7,7,7,
1248 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1249 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1250 7,7,7,7,7,7,0,7,7,0,0,0,7,0,0,7,
1251 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1252 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1253 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1254 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1255 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1256 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1257 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1258 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1259 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1260 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1261 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1262 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1263 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1264 7,7,7,7,7,7,15,15,15,15,0,0,0,0,0,21,
1265 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1266 7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,21,
1267 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1268 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1269 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1270 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1271 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1272 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1273 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1274 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1275 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1276 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1277 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1278 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1279 7,12,12,12,0,12,12,0,0,0,0,0,12,12,12,12,
1280 7,7,7,7,0,7,7,7,0,7,7,7,7,7,7,7,
1281 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1282 7,7,7,7,0,0,0,0,12,12,12,0,0,0,0,12,
1283 15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,
1284 21,21,21,21,21,21,21,21,21,0};
1285 static const guint8 unicode_category_table6 [] = {
1286 /* ==== 12000-12480 ==== */
1287 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1288 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1289 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1290 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1291 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1292 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1293 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1294 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1295 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1296 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1297 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1298 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1299 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1300 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1301 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1302 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1303 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1304 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1305 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1306 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1307 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1308 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1309 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1310 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1311 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1312 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1313 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1314 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1315 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1316 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1317 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1318 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1319 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1320 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1321 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1322 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1323 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1324 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1325 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1326 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1327 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1328 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1329 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1330 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1331 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1332 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1333 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1334 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1335 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1336 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1337 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1338 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1339 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1340 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1341 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,
1342 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1343 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1344 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1345 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1346 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1347 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1348 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1349 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1350 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1351 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1352 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1353 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1354 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1355 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1356 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
1357 14,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,
1358 21,21,21,21,0};
1359 static const guint8 unicode_category_table7 [] = {
1360 /* ==== 1D000-1D800 ==== */
1361 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1362 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1363 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1364 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1365 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1366 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1367 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1368 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1369 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1370 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1371 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1372 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1373 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1374 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1375 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1376 26,26,26,26,26,26,0,0,0,0,0,0,0,0,0,0,
1377 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1378 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1379 26,26,26,26,26,26,26,0,0,26,26,26,26,26,26,26,
1380 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1381 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1382 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1383 26,26,26,26,26,10,10,12,12,12,26,26,26,10,10,10,
1384 10,10,10,1,1,1,1,1,1,1,1,12,12,12,12,12,
1385 12,12,12,26,26,12,12,12,12,12,12,12,26,26,26,26,
1386 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1387 26,26,26,26,26,26,26,26,26,26,12,12,12,12,26,26,
1388 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1389 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1390 26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,0,
1391 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1392 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1393 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1394 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1395 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1396 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1397 26,26,12,12,12,26,0,0,0,0,0,0,0,0,0,0,
1398 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1399 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1400 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1401 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1402 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1403 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1404 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1405 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1406 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1407 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1408 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1409 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1410 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1411 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1412 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1413 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1414 26,26,26,26,26,26,26,0,0,0,0,0,0,0,0,0,
1415 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
1416 15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1417 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1418 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1419 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1420 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1421 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1422 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1423 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1424 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1425 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1426 9,9,9,9,9,9,9,9,9,9,5,5,5,5,5,5,
1427 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1428 5,5,5,5,9,9,9,9,9,9,9,9,9,9,9,9,
1429 9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,5,
1430 5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,
1431 5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,
1432 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1433 9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1434 5,5,5,5,5,5,5,5,5,5,5,5,9,0,9,9,
1435 0,0,9,0,0,9,9,0,0,9,9,9,9,0,9,9,
1436 9,9,9,9,9,9,5,5,5,5,0,5,0,5,5,5,
1437 5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,
1438 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1439 9,9,9,9,9,9,9,9,9,9,5,5,5,5,5,5,
1440 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1441 5,5,5,5,9,9,0,9,9,9,9,0,0,9,9,9,
1442 9,9,9,9,9,0,9,9,9,9,9,9,9,0,5,5,
1443 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1444 5,5,5,5,5,5,5,5,9,9,0,9,9,9,9,0,
1445 9,9,9,9,9,0,9,0,0,0,9,9,9,9,9,9,
1446 9,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1447 5,5,5,5,5,5,5,5,5,5,5,5,9,9,9,9,
1448 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1449 9,9,9,9,9,9,5,5,5,5,5,5,5,5,5,5,
1450 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1451 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1452 9,9,9,9,9,9,9,9,9,9,5,5,5,5,5,5,
1453 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1454 5,5,5,5,9,9,9,9,9,9,9,9,9,9,9,9,
1455 9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,5,
1456 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1457 5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,
1458 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1459 9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1460 5,5,5,5,5,5,5,5,5,5,5,5,9,9,9,9,
1461 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1462 9,9,9,9,9,9,5,5,5,5,5,5,5,5,5,5,
1463 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1464 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1465 9,9,9,9,9,9,9,9,9,9,5,5,5,5,5,5,
1466 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1467 5,5,5,5,5,5,0,0,9,9,9,9,9,9,9,9,
1468 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1469 9,25,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1470 5,5,5,5,5,5,5,5,5,5,5,25,5,5,5,5,
1471 5,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1472 9,9,9,9,9,9,9,9,9,9,9,25,5,5,5,5,
1473 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1474 5,5,5,5,5,25,5,5,5,5,5,5,9,9,9,9,
1475 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1476 9,9,9,9,9,25,5,5,5,5,5,5,5,5,5,5,
1477 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,25,
1478 5,5,5,5,5,5,9,9,9,9,9,9,9,9,9,9,
1479 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,25,
1480 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1481 5,5,5,5,5,5,5,5,5,25,5,5,5,5,5,5,
1482 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
1483 9,9,9,9,9,9,9,9,9,25,5,5,5,5,5,5,
1484 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
1485 5,5,5,25,5,5,5,5,5,5,9,5,0,0,13,13,
1486 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
1487 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
1488 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
1490 static const guint8 unicode_category_table8 [] = {
1491 /* ==== 1F000-1F0C0 ==== */
1492 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1493 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1494 26,26,26,26,26,26,26,26,26,26,26,26,0,0,0,0,
1495 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1496 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1497 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1498 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1499 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1500 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,
1501 26,26,26,26,0};
1502 static const guint8 unicode_category_table9 [] = {
1503 /* ==== 2F800-2FA40 ==== */
1504 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1505 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1506 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1507 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1508 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1509 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1510 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1511 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1512 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1513 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1514 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1515 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1516 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1517 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1518 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1519 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1520 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1521 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1522 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1523 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1524 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1525 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1526 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1527 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1528 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1529 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1530 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1531 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1532 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1533 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1534 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1535 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1536 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
1537 7,7,7,7,7,7,7,7,7,7,7,7,7,7,0};
1538 static const guint8 unicode_category_table10 [] = {
1539 /* ==== E0000-E0200 ==== */
1540 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1541 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1542 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1543 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1544 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1545 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1546 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1547 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1548 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1549 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1550 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1551 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1552 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1553 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1554 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1555 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1556 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1557 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1558 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1559 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1560 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1561 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1562 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1563 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1564 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1565 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1566 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1567 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1568 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1569 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1570 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
1572 static const guint8 *unicode_category [11] = {
1573 unicode_category_table0,
1574 unicode_category_table1,
1575 unicode_category_table2,
1576 unicode_category_table3,
1577 unicode_category_table4,
1578 unicode_category_table5,
1579 unicode_category_table6,
1580 unicode_category_table7,
1581 unicode_category_table8,
1582 unicode_category_table9,
1583 unicode_category_table10
1586 static const guint8 simple_case_map_ranges_count = 9;
1587 static const CodePointRange simple_case_map_ranges [] = {
1588 {0x000040, 0x000600},
1589 {0x001000, 0x0010D0},
1590 {0x001D00, 0x002000},
1591 {0x002100, 0x0021C0},
1592 {0x002480, 0x002500},
1593 {0x002C00, 0x002D80},
1594 {0x00A640, 0x00A7C0},
1595 {0x00FF20, 0x00FF80},
1596 {0x010400, 0x010480},
1597 {0, 0}};
1598 static const guint16 simple_upper_case_mapping_lowarea_table0 [] = {
1599 /* ==== 40-600 ==== */
1600 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1601 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1602 0,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
1603 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0,0,0,0,0,
1604 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1605 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1606 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1607 0,0,0,0,0,0x39C,0,0,0,0,0,0,0,0,0,0,
1608 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1609 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1610 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
1611 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0x178,
1612 0,0x100,0,0x102,0,0x104,0,0x106,0,0x108,0,0x10A,0,0x10C,0,0x10E,
1613 0,0x110,0,0x112,0,0x114,0,0x116,0,0x118,0,0x11A,0,0x11C,0,0x11E,
1614 0,0x120,0,0x122,0,0x124,0,0x126,0,0x128,0,0x12A,0,0x12C,0,0x12E,
1615 0,0x49,0,0x132,0,0x134,0,0x136,0,0,0x139,0,0x13B,0,0x13D,0,
1616 0x13F,0,0x141,0,0x143,0,0x145,0,0x147,0,0,0x14A,0,0x14C,0,0x14E,
1617 0,0x150,0,0x152,0,0x154,0,0x156,0,0x158,0,0x15A,0,0x15C,0,0x15E,
1618 0,0x160,0,0x162,0,0x164,0,0x166,0,0x168,0,0x16A,0,0x16C,0,0x16E,
1619 0,0x170,0,0x172,0,0x174,0,0x176,0,0,0x179,0,0x17B,0,0x17D,0x53,
1620 0x243,0,0,0x182,0,0x184,0,0,0x187,0,0,0,0x18B,0,0,0,
1621 0,0,0x191,0,0,0x1F6,0,0,0,0x198,0x23D,0,0,0,0x220,0,
1622 0,0x1A0,0,0x1A2,0,0x1A4,0,0,0x1A7,0,0,0,0,0x1AC,0,0,
1623 0x1AF,0,0,0,0x1B3,0,0x1B5,0,0,0x1B8,0,0,0,0x1BC,0,0x1F7,
1624 0,0,0,0,0,0x1C4,0x1C4,0,0x1C7,0x1C7,0,0x1CA,0x1CA,0,0x1CD,0,
1625 0x1CF,0,0x1D1,0,0x1D3,0,0x1D5,0,0x1D7,0,0x1D9,0,0x1DB,0x18E,0,0x1DE,
1626 0,0x1E0,0,0x1E2,0,0x1E4,0,0x1E6,0,0x1E8,0,0x1EA,0,0x1EC,0,0x1EE,
1627 0,0,0x1F1,0x1F1,0,0x1F4,0,0,0,0x1F8,0,0x1FA,0,0x1FC,0,0x1FE,
1628 0,0x200,0,0x202,0,0x204,0,0x206,0,0x208,0,0x20A,0,0x20C,0,0x20E,
1629 0,0x210,0,0x212,0,0x214,0,0x216,0,0x218,0,0x21A,0,0x21C,0,0x21E,
1630 0,0,0,0x222,0,0x224,0,0x226,0,0x228,0,0x22A,0,0x22C,0,0x22E,
1631 0,0x230,0,0x232,0,0,0,0,0,0,0,0,0x23B,0,0,0,
1632 0,0,0x241,0,0,0,0,0x246,0,0x248,0,0x24A,0,0x24C,0,0x24E,
1633 0x2C6F,0x2C6D,0,0x181,0x186,0,0x189,0x18A,0,0x18F,0,0x190,0,0,0,0,
1634 0x193,0,0,0x194,0,0,0,0,0x197,0x196,0,0x2C62,0,0,0,0x19C,
1635 0,0x2C6E,0x19D,0,0,0x19F,0,0,0,0,0,0,0,0x2C64,0,0,
1636 0x1A6,0,0,0x1A9,0,0,0,0,0x1AE,0x244,0x1B1,0x1B2,0x245,0,0,0,
1637 0,0,0x1B7,0,0,0,0,0,0,0,0,0,0,0,0,0,
1638 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1639 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1640 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1641 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1642 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1643 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1644 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1645 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1646 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1647 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1648 0,0,0,0,0,0x399,0,0,0,0,0,0,0,0,0,0,
1649 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1650 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1651 0,0x370,0,0x372,0,0,0,0x376,0,0,0,0x3FD,0x3FE,0x3FF,0,0,
1652 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1653 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1654 0,0,0,0,0,0,0,0,0,0,0,0,0x386,0x388,0x389,0x38A,
1655 0,0x391,0x392,0x393,0x394,0x395,0x396,0x397,0x398,0x399,0x39A,0x39B,0x39C,0x39D,0x39E,0x39F,
1656 0x3A0,0x3A1,0x3A3,0x3A3,0x3A4,0x3A5,0x3A6,0x3A7,0x3A8,0x3A9,0x3AA,0x3AB,0x38C,0x38E,0x38F,0,
1657 0x392,0x398,0,0,0,0x3A6,0x3A0,0x3CF,0,0x3D8,0,0x3DA,0,0x3DC,0,0x3DE,
1658 0,0x3E0,0,0x3E2,0,0x3E4,0,0x3E6,0,0x3E8,0,0x3EA,0,0x3EC,0,0x3EE,
1659 0x39A,0x3A1,0x3F9,0,0,0x395,0,0,0x3F7,0,0,0x3FA,0,0,0,0,
1660 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1661 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1662 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1663 0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418,0x419,0x41A,0x41B,0x41C,0x41D,0x41E,0x41F,
1664 0x420,0x421,0x422,0x423,0x424,0x425,0x426,0x427,0x428,0x429,0x42A,0x42B,0x42C,0x42D,0x42E,0x42F,
1665 0x400,0x401,0x402,0x403,0x404,0x405,0x406,0x407,0x408,0x409,0x40A,0x40B,0x40C,0x40D,0x40E,0x40F,
1666 0,0x460,0,0x462,0,0x464,0,0x466,0,0x468,0,0x46A,0,0x46C,0,0x46E,
1667 0,0x470,0,0x472,0,0x474,0,0x476,0,0x478,0,0x47A,0,0x47C,0,0x47E,
1668 0,0x480,0,0,0,0,0,0,0,0,0,0x48A,0,0x48C,0,0x48E,
1669 0,0x490,0,0x492,0,0x494,0,0x496,0,0x498,0,0x49A,0,0x49C,0,0x49E,
1670 0,0x4A0,0,0x4A2,0,0x4A4,0,0x4A6,0,0x4A8,0,0x4AA,0,0x4AC,0,0x4AE,
1671 0,0x4B0,0,0x4B2,0,0x4B4,0,0x4B6,0,0x4B8,0,0x4BA,0,0x4BC,0,0x4BE,
1672 0,0,0x4C1,0,0x4C3,0,0x4C5,0,0x4C7,0,0x4C9,0,0x4CB,0,0x4CD,0x4C0,
1673 0,0x4D0,0,0x4D2,0,0x4D4,0,0x4D6,0,0x4D8,0,0x4DA,0,0x4DC,0,0x4DE,
1674 0,0x4E0,0,0x4E2,0,0x4E4,0,0x4E6,0,0x4E8,0,0x4EA,0,0x4EC,0,0x4EE,
1675 0,0x4F0,0,0x4F2,0,0x4F4,0,0x4F6,0,0x4F8,0,0x4FA,0,0x4FC,0,0x4FE,
1676 0,0x500,0,0x502,0,0x504,0,0x506,0,0x508,0,0x50A,0,0x50C,0,0x50E,
1677 0,0x510,0,0x512,0,0x514,0,0x516,0,0x518,0,0x51A,0,0x51C,0,0x51E,
1678 0,0x520,0,0x522,0,0,0,0,0,0,0,0,0,0,0,0,
1679 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1680 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1681 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1682 0,0x531,0x532,0x533,0x534,0x535,0x536,0x537,0x538,0x539,0x53A,0x53B,0x53C,0x53D,0x53E,0x53F,
1683 0x540,0x541,0x542,0x543,0x544,0x545,0x546,0x547,0x548,0x549,0x54A,0x54B,0x54C,0x54D,0x54E,0x54F,
1684 0x550,0x551,0x552,0x553,0x554,0x555,0x556,0,0,0,0,0,0,0,0,0,
1685 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1686 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1687 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1688 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1689 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1690 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1691 0,0,0,0,0,0};
1692 static const guint16 simple_upper_case_mapping_lowarea_table1 [] = {
1693 /* ==== 1000-10D0 ==== */
1694 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1695 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1696 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1697 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1698 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1699 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1700 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1701 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1702 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1703 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1704 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1705 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1706 0,0,0,0,0,0,0};
1707 static const guint16 simple_upper_case_mapping_lowarea_table2 [] = {
1708 /* ==== 1D00-2000 ==== */
1709 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1710 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1711 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1712 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1713 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1714 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1715 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1716 0,0,0,0,0,0,0,0,0,0xA77D,0,0,0,0x2C63,0,0,
1717 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1718 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1719 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1720 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1721 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1722 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1723 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1724 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1725 0,0x1E00,0,0x1E02,0,0x1E04,0,0x1E06,0,0x1E08,0,0x1E0A,0,0x1E0C,0,0x1E0E,
1726 0,0x1E10,0,0x1E12,0,0x1E14,0,0x1E16,0,0x1E18,0,0x1E1A,0,0x1E1C,0,0x1E1E,
1727 0,0x1E20,0,0x1E22,0,0x1E24,0,0x1E26,0,0x1E28,0,0x1E2A,0,0x1E2C,0,0x1E2E,
1728 0,0x1E30,0,0x1E32,0,0x1E34,0,0x1E36,0,0x1E38,0,0x1E3A,0,0x1E3C,0,0x1E3E,
1729 0,0x1E40,0,0x1E42,0,0x1E44,0,0x1E46,0,0x1E48,0,0x1E4A,0,0x1E4C,0,0x1E4E,
1730 0,0x1E50,0,0x1E52,0,0x1E54,0,0x1E56,0,0x1E58,0,0x1E5A,0,0x1E5C,0,0x1E5E,
1731 0,0x1E60,0,0x1E62,0,0x1E64,0,0x1E66,0,0x1E68,0,0x1E6A,0,0x1E6C,0,0x1E6E,
1732 0,0x1E70,0,0x1E72,0,0x1E74,0,0x1E76,0,0x1E78,0,0x1E7A,0,0x1E7C,0,0x1E7E,
1733 0,0x1E80,0,0x1E82,0,0x1E84,0,0x1E86,0,0x1E88,0,0x1E8A,0,0x1E8C,0,0x1E8E,
1734 0,0x1E90,0,0x1E92,0,0x1E94,0,0,0,0,0,0x1E60,0,0,0,0,
1735 0,0x1EA0,0,0x1EA2,0,0x1EA4,0,0x1EA6,0,0x1EA8,0,0x1EAA,0,0x1EAC,0,0x1EAE,
1736 0,0x1EB0,0,0x1EB2,0,0x1EB4,0,0x1EB6,0,0x1EB8,0,0x1EBA,0,0x1EBC,0,0x1EBE,
1737 0,0x1EC0,0,0x1EC2,0,0x1EC4,0,0x1EC6,0,0x1EC8,0,0x1ECA,0,0x1ECC,0,0x1ECE,
1738 0,0x1ED0,0,0x1ED2,0,0x1ED4,0,0x1ED6,0,0x1ED8,0,0x1EDA,0,0x1EDC,0,0x1EDE,
1739 0,0x1EE0,0,0x1EE2,0,0x1EE4,0,0x1EE6,0,0x1EE8,0,0x1EEA,0,0x1EEC,0,0x1EEE,
1740 0,0x1EF0,0,0x1EF2,0,0x1EF4,0,0x1EF6,0,0x1EF8,0,0x1EFA,0,0x1EFC,0,0x1EFE,
1741 0x1F08,0x1F09,0x1F0A,0x1F0B,0x1F0C,0x1F0D,0x1F0E,0x1F0F,0,0,0,0,0,0,0,0,
1742 0x1F18,0x1F19,0x1F1A,0x1F1B,0x1F1C,0x1F1D,0,0,0,0,0,0,0,0,0,0,
1743 0x1F28,0x1F29,0x1F2A,0x1F2B,0x1F2C,0x1F2D,0x1F2E,0x1F2F,0,0,0,0,0,0,0,0,
1744 0x1F38,0x1F39,0x1F3A,0x1F3B,0x1F3C,0x1F3D,0x1F3E,0x1F3F,0,0,0,0,0,0,0,0,
1745 0x1F48,0x1F49,0x1F4A,0x1F4B,0x1F4C,0x1F4D,0,0,0,0,0,0,0,0,0,0,
1746 0,0x1F59,0,0x1F5B,0,0x1F5D,0,0x1F5F,0,0,0,0,0,0,0,0,
1747 0x1F68,0x1F69,0x1F6A,0x1F6B,0x1F6C,0x1F6D,0x1F6E,0x1F6F,0,0,0,0,0,0,0,0,
1748 0x1FBA,0x1FBB,0x1FC8,0x1FC9,0x1FCA,0x1FCB,0x1FDA,0x1FDB,0x1FF8,0x1FF9,0x1FEA,0x1FEB,0x1FFA,0x1FFB,0,0,
1749 0x1F88,0x1F89,0x1F8A,0x1F8B,0x1F8C,0x1F8D,0x1F8E,0x1F8F,0,0,0,0,0,0,0,0,
1750 0x1F98,0x1F99,0x1F9A,0x1F9B,0x1F9C,0x1F9D,0x1F9E,0x1F9F,0,0,0,0,0,0,0,0,
1751 0x1FA8,0x1FA9,0x1FAA,0x1FAB,0x1FAC,0x1FAD,0x1FAE,0x1FAF,0,0,0,0,0,0,0,0,
1752 0x1FB8,0x1FB9,0,0x1FBC,0,0,0,0,0,0,0,0,0,0,0x399,0,
1753 0,0,0,0x1FCC,0,0,0,0,0,0,0,0,0,0,0,0,
1754 0x1FD8,0x1FD9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1755 0x1FE8,0x1FE9,0,0,0,0x1FEC,0,0,0,0,0,0,0,0,0,0,
1756 0,0,0,0x1FFC,0,0,0,0,0,0,0,0,0,0,0,0};
1757 static const guint16 simple_upper_case_mapping_lowarea_table3 [] = {
1758 /* ==== 2100-21C0 ==== */
1759 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1760 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1761 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1762 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1763 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2132,0,
1764 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1765 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1766 0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,0x2167,0x2168,0x2169,0x216A,0x216B,0x216C,0x216D,0x216E,0x216F,
1767 0,0,0,0,0x2183,0,0,0,0,0,0,0,0,0,0,0,
1768 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1769 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1770 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1772 static const guint16 simple_upper_case_mapping_lowarea_table4 [] = {
1773 /* ==== 2480-2500 ==== */
1774 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1775 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1776 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1777 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1778 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1779 0x24B6,0x24B7,0x24B8,0x24B9,0x24BA,0x24BB,0x24BC,0x24BD,0x24BE,0x24BF,0x24C0,0x24C1,0x24C2,0x24C3,0x24C4,0x24C5,
1780 0x24C6,0x24C7,0x24C8,0x24C9,0x24CA,0x24CB,0x24CC,0x24CD,0x24CE,0x24CF,0,0,0,0,0,0,
1781 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1783 static const guint16 simple_upper_case_mapping_lowarea_table5 [] = {
1784 /* ==== 2C00-2D80 ==== */
1785 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1786 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1787 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1788 0x2C00,0x2C01,0x2C02,0x2C03,0x2C04,0x2C05,0x2C06,0x2C07,0x2C08,0x2C09,0x2C0A,0x2C0B,0x2C0C,0x2C0D,0x2C0E,0x2C0F,
1789 0x2C10,0x2C11,0x2C12,0x2C13,0x2C14,0x2C15,0x2C16,0x2C17,0x2C18,0x2C19,0x2C1A,0x2C1B,0x2C1C,0x2C1D,0x2C1E,0x2C1F,
1790 0x2C20,0x2C21,0x2C22,0x2C23,0x2C24,0x2C25,0x2C26,0x2C27,0x2C28,0x2C29,0x2C2A,0x2C2B,0x2C2C,0x2C2D,0x2C2E,0,
1791 0,0x2C60,0,0,0,0x23A,0x23E,0,0x2C67,0,0x2C69,0,0x2C6B,0,0,0,
1792 0,0,0,0x2C72,0,0,0x2C75,0,0,0,0,0,0,0,0,0,
1793 0,0x2C80,0,0x2C82,0,0x2C84,0,0x2C86,0,0x2C88,0,0x2C8A,0,0x2C8C,0,0x2C8E,
1794 0,0x2C90,0,0x2C92,0,0x2C94,0,0x2C96,0,0x2C98,0,0x2C9A,0,0x2C9C,0,0x2C9E,
1795 0,0x2CA0,0,0x2CA2,0,0x2CA4,0,0x2CA6,0,0x2CA8,0,0x2CAA,0,0x2CAC,0,0x2CAE,
1796 0,0x2CB0,0,0x2CB2,0,0x2CB4,0,0x2CB6,0,0x2CB8,0,0x2CBA,0,0x2CBC,0,0x2CBE,
1797 0,0x2CC0,0,0x2CC2,0,0x2CC4,0,0x2CC6,0,0x2CC8,0,0x2CCA,0,0x2CCC,0,0x2CCE,
1798 0,0x2CD0,0,0x2CD2,0,0x2CD4,0,0x2CD6,0,0x2CD8,0,0x2CDA,0,0x2CDC,0,0x2CDE,
1799 0,0x2CE0,0,0x2CE2,0,0,0,0,0,0,0,0,0,0,0,0,
1800 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1801 0x10A0,0x10A1,0x10A2,0x10A3,0x10A4,0x10A5,0x10A6,0x10A7,0x10A8,0x10A9,0x10AA,0x10AB,0x10AC,0x10AD,0x10AE,0x10AF,
1802 0x10B0,0x10B1,0x10B2,0x10B3,0x10B4,0x10B5,0x10B6,0x10B7,0x10B8,0x10B9,0x10BA,0x10BB,0x10BC,0x10BD,0x10BE,0x10BF,
1803 0x10C0,0x10C1,0x10C2,0x10C3,0x10C4,0x10C5,0,0,0,0,0,0,0,0,0,0,
1804 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1805 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1806 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1807 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1809 static const guint16 simple_upper_case_mapping_lowarea_table6 [] = {
1810 /* ==== A640-A7C0 ==== */
1811 0,0xA640,0,0xA642,0,0xA644,0,0xA646,0,0xA648,0,0xA64A,0,0xA64C,0,0xA64E,
1812 0,0xA650,0,0xA652,0,0xA654,0,0xA656,0,0xA658,0,0xA65A,0,0xA65C,0,0xA65E,
1813 0,0,0,0xA662,0,0xA664,0,0xA666,0,0xA668,0,0xA66A,0,0xA66C,0,0,
1814 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1815 0,0xA680,0,0xA682,0,0xA684,0,0xA686,0,0xA688,0,0xA68A,0,0xA68C,0,0xA68E,
1816 0,0xA690,0,0xA692,0,0xA694,0,0xA696,0,0,0,0,0,0,0,0,
1817 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1818 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1819 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1820 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1821 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1822 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1823 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1824 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1825 0,0,0,0xA722,0,0xA724,0,0xA726,0,0xA728,0,0xA72A,0,0xA72C,0,0xA72E,
1826 0,0,0,0xA732,0,0xA734,0,0xA736,0,0xA738,0,0xA73A,0,0xA73C,0,0xA73E,
1827 0,0xA740,0,0xA742,0,0xA744,0,0xA746,0,0xA748,0,0xA74A,0,0xA74C,0,0xA74E,
1828 0,0xA750,0,0xA752,0,0xA754,0,0xA756,0,0xA758,0,0xA75A,0,0xA75C,0,0xA75E,
1829 0,0xA760,0,0xA762,0,0xA764,0,0xA766,0,0xA768,0,0xA76A,0,0xA76C,0,0xA76E,
1830 0,0,0,0,0,0,0,0,0,0,0xA779,0,0xA77B,0,0,0xA77E,
1831 0,0xA780,0,0xA782,0,0xA784,0,0xA786,0,0,0,0,0xA78B,0};
1832 static const guint16 simple_upper_case_mapping_lowarea_table7 [] = {
1833 /* ==== FF20-FF80 ==== */
1834 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1835 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1836 0,0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27,0xFF28,0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F,
1837 0xFF30,0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37,0xFF38,0xFF39,0xFF3A,0,0,0,0,0,
1838 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1839 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1841 static const guint16 *simple_upper_case_mapping_lowarea [] = {
1842 simple_upper_case_mapping_lowarea_table0,
1843 simple_upper_case_mapping_lowarea_table1,
1844 simple_upper_case_mapping_lowarea_table2,
1845 simple_upper_case_mapping_lowarea_table3,
1846 simple_upper_case_mapping_lowarea_table4,
1847 simple_upper_case_mapping_lowarea_table5,
1848 simple_upper_case_mapping_lowarea_table6,
1849 simple_upper_case_mapping_lowarea_table7};
1850 static const int simple_upper_case_mapping_lowarea_table_count = 8;
1852 static const guint32 simple_upper_case_mapping_higharea_table0 [] = {
1853 /* ==== 10400-10480 ==== */
1854 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1855 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1856 0,0,0,0,0,0,0,0,0x10400,0x10401,0x10402,0x10403,0x10404,0x10405,0x10406,0x10407,
1857 0x10408,0x10409,0x1040A,0x1040B,0x1040C,0x1040D,0x1040E,0x1040F,0x10410,0x10411,0x10412,0x10413,0x10414,0x10415,0x10416,0x10417,
1858 0x10418,0x10419,0x1041A,0x1041B,0x1041C,0x1041D,0x1041E,0x1041F,0x10420,0x10421,0x10422,0x10423,0x10424,0x10425,0x10426,0x10427,
1859 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1860 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1861 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1863 static const guint32 *simple_upper_case_mapping_higharea [] = {
1864 simple_upper_case_mapping_higharea_table0};
1866 static const guint16 simple_lower_case_mapping_lowarea_table0 [] = {
1867 /* ==== 40-600 ==== */
1868 0,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
1869 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0,0,0,0,0,
1870 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1871 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1872 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1873 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1874 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1875 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1876 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
1877 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0,
1878 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1879 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1880 0x101,0,0x103,0,0x105,0,0x107,0,0x109,0,0x10B,0,0x10D,0,0x10F,0,
1881 0x111,0,0x113,0,0x115,0,0x117,0,0x119,0,0x11B,0,0x11D,0,0x11F,0,
1882 0x121,0,0x123,0,0x125,0,0x127,0,0x129,0,0x12B,0,0x12D,0,0x12F,0,
1883 0x69,0,0x133,0,0x135,0,0x137,0,0,0x13A,0,0x13C,0,0x13E,0,0x140,
1884 0,0x142,0,0x144,0,0x146,0,0x148,0,0,0x14B,0,0x14D,0,0x14F,0,
1885 0x151,0,0x153,0,0x155,0,0x157,0,0x159,0,0x15B,0,0x15D,0,0x15F,0,
1886 0x161,0,0x163,0,0x165,0,0x167,0,0x169,0,0x16B,0,0x16D,0,0x16F,0,
1887 0x171,0,0x173,0,0x175,0,0x177,0,0xFF,0x17A,0,0x17C,0,0x17E,0,0,
1888 0,0x253,0x183,0,0x185,0,0x254,0x188,0,0x256,0x257,0x18C,0,0,0x1DD,0x259,
1889 0x25B,0x192,0,0x260,0x263,0,0x269,0x268,0x199,0,0,0,0x26F,0x272,0,0x275,
1890 0x1A1,0,0x1A3,0,0x1A5,0,0x280,0x1A8,0,0x283,0,0,0x1AD,0,0x288,0x1B0,
1891 0,0x28A,0x28B,0x1B4,0,0x1B6,0,0x292,0x1B9,0,0,0,0x1BD,0,0,0,
1892 0,0,0,0,0x1C6,0x1C6,0,0x1C9,0x1C9,0,0x1CC,0x1CC,0,0x1CE,0,0x1D0,
1893 0,0x1D2,0,0x1D4,0,0x1D6,0,0x1D8,0,0x1DA,0,0x1DC,0,0,0x1DF,0,
1894 0x1E1,0,0x1E3,0,0x1E5,0,0x1E7,0,0x1E9,0,0x1EB,0,0x1ED,0,0x1EF,0,
1895 0,0x1F3,0x1F3,0,0x1F5,0,0x195,0x1BF,0x1F9,0,0x1FB,0,0x1FD,0,0x1FF,0,
1896 0x201,0,0x203,0,0x205,0,0x207,0,0x209,0,0x20B,0,0x20D,0,0x20F,0,
1897 0x211,0,0x213,0,0x215,0,0x217,0,0x219,0,0x21B,0,0x21D,0,0x21F,0,
1898 0x19E,0,0x223,0,0x225,0,0x227,0,0x229,0,0x22B,0,0x22D,0,0x22F,0,
1899 0x231,0,0x233,0,0,0,0,0,0,0,0x2C65,0x23C,0,0x19A,0x2C66,0,
1900 0,0x242,0,0x180,0x289,0x28C,0x247,0,0x249,0,0x24B,0,0x24D,0,0x24F,0,
1901 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1902 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1903 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1904 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1905 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1906 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1907 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1908 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1909 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1910 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1911 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1912 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1913 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1914 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1915 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1916 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1917 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1918 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1919 0x371,0,0x373,0,0,0,0x377,0,0,0,0,0,0,0,0,0,
1920 0,0,0,0,0,0,0x3AC,0,0x3AD,0x3AE,0x3AF,0,0x3CC,0,0x3CD,0x3CE,
1921 0,0x3B1,0x3B2,0x3B3,0x3B4,0x3B5,0x3B6,0x3B7,0x3B8,0x3B9,0x3BA,0x3BB,0x3BC,0x3BD,0x3BE,0x3BF,
1922 0x3C0,0x3C1,0,0x3C3,0x3C4,0x3C5,0x3C6,0x3C7,0x3C8,0x3C9,0x3CA,0x3CB,0,0,0,0,
1923 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1924 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x3D7,
1925 0,0,0,0,0,0,0,0,0x3D9,0,0x3DB,0,0x3DD,0,0x3DF,0,
1926 0x3E1,0,0x3E3,0,0x3E5,0,0x3E7,0,0x3E9,0,0x3EB,0,0x3ED,0,0x3EF,0,
1927 0,0,0,0,0x3B8,0,0,0x3F8,0,0x3F2,0x3FB,0,0,0x37B,0x37C,0x37D,
1928 0x450,0x451,0x452,0x453,0x454,0x455,0x456,0x457,0x458,0x459,0x45A,0x45B,0x45C,0x45D,0x45E,0x45F,
1929 0x430,0x431,0x432,0x433,0x434,0x435,0x436,0x437,0x438,0x439,0x43A,0x43B,0x43C,0x43D,0x43E,0x43F,
1930 0x440,0x441,0x442,0x443,0x444,0x445,0x446,0x447,0x448,0x449,0x44A,0x44B,0x44C,0x44D,0x44E,0x44F,
1931 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1932 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1933 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1934 0x461,0,0x463,0,0x465,0,0x467,0,0x469,0,0x46B,0,0x46D,0,0x46F,0,
1935 0x471,0,0x473,0,0x475,0,0x477,0,0x479,0,0x47B,0,0x47D,0,0x47F,0,
1936 0x481,0,0,0,0,0,0,0,0,0,0x48B,0,0x48D,0,0x48F,0,
1937 0x491,0,0x493,0,0x495,0,0x497,0,0x499,0,0x49B,0,0x49D,0,0x49F,0,
1938 0x4A1,0,0x4A3,0,0x4A5,0,0x4A7,0,0x4A9,0,0x4AB,0,0x4AD,0,0x4AF,0,
1939 0x4B1,0,0x4B3,0,0x4B5,0,0x4B7,0,0x4B9,0,0x4BB,0,0x4BD,0,0x4BF,0,
1940 0x4CF,0x4C2,0,0x4C4,0,0x4C6,0,0x4C8,0,0x4CA,0,0x4CC,0,0x4CE,0,0,
1941 0x4D1,0,0x4D3,0,0x4D5,0,0x4D7,0,0x4D9,0,0x4DB,0,0x4DD,0,0x4DF,0,
1942 0x4E1,0,0x4E3,0,0x4E5,0,0x4E7,0,0x4E9,0,0x4EB,0,0x4ED,0,0x4EF,0,
1943 0x4F1,0,0x4F3,0,0x4F5,0,0x4F7,0,0x4F9,0,0x4FB,0,0x4FD,0,0x4FF,0,
1944 0x501,0,0x503,0,0x505,0,0x507,0,0x509,0,0x50B,0,0x50D,0,0x50F,0,
1945 0x511,0,0x513,0,0x515,0,0x517,0,0x519,0,0x51B,0,0x51D,0,0x51F,0,
1946 0x521,0,0x523,0,0,0,0,0,0,0,0,0,0,0,0,0,
1947 0,0x561,0x562,0x563,0x564,0x565,0x566,0x567,0x568,0x569,0x56A,0x56B,0x56C,0x56D,0x56E,0x56F,
1948 0x570,0x571,0x572,0x573,0x574,0x575,0x576,0x577,0x578,0x579,0x57A,0x57B,0x57C,0x57D,0x57E,0x57F,
1949 0x580,0x581,0x582,0x583,0x584,0x585,0x586,0,0,0,0,0,0,0,0,0,
1950 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1951 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1952 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1953 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1954 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1955 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1956 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1957 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1958 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1959 0,0,0,0,0,0};
1960 static const guint16 simple_lower_case_mapping_lowarea_table1 [] = {
1961 /* ==== 1000-10D0 ==== */
1962 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1963 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1964 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1965 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1966 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1967 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1968 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1969 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1970 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1971 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1972 0x2D00,0x2D01,0x2D02,0x2D03,0x2D04,0x2D05,0x2D06,0x2D07,0x2D08,0x2D09,0x2D0A,0x2D0B,0x2D0C,0x2D0D,0x2D0E,0x2D0F,
1973 0x2D10,0x2D11,0x2D12,0x2D13,0x2D14,0x2D15,0x2D16,0x2D17,0x2D18,0x2D19,0x2D1A,0x2D1B,0x2D1C,0x2D1D,0x2D1E,0x2D1F,
1974 0x2D20,0x2D21,0x2D22,0x2D23,0x2D24,0x2D25,0};
1975 static const guint16 simple_lower_case_mapping_lowarea_table2 [] = {
1976 /* ==== 1D00-2000 ==== */
1977 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1978 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1979 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1980 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1981 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1982 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1983 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1984 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1985 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1986 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1987 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1988 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1989 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1990 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1991 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1992 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1993 0x1E01,0,0x1E03,0,0x1E05,0,0x1E07,0,0x1E09,0,0x1E0B,0,0x1E0D,0,0x1E0F,0,
1994 0x1E11,0,0x1E13,0,0x1E15,0,0x1E17,0,0x1E19,0,0x1E1B,0,0x1E1D,0,0x1E1F,0,
1995 0x1E21,0,0x1E23,0,0x1E25,0,0x1E27,0,0x1E29,0,0x1E2B,0,0x1E2D,0,0x1E2F,0,
1996 0x1E31,0,0x1E33,0,0x1E35,0,0x1E37,0,0x1E39,0,0x1E3B,0,0x1E3D,0,0x1E3F,0,
1997 0x1E41,0,0x1E43,0,0x1E45,0,0x1E47,0,0x1E49,0,0x1E4B,0,0x1E4D,0,0x1E4F,0,
1998 0x1E51,0,0x1E53,0,0x1E55,0,0x1E57,0,0x1E59,0,0x1E5B,0,0x1E5D,0,0x1E5F,0,
1999 0x1E61,0,0x1E63,0,0x1E65,0,0x1E67,0,0x1E69,0,0x1E6B,0,0x1E6D,0,0x1E6F,0,
2000 0x1E71,0,0x1E73,0,0x1E75,0,0x1E77,0,0x1E79,0,0x1E7B,0,0x1E7D,0,0x1E7F,0,
2001 0x1E81,0,0x1E83,0,0x1E85,0,0x1E87,0,0x1E89,0,0x1E8B,0,0x1E8D,0,0x1E8F,0,
2002 0x1E91,0,0x1E93,0,0x1E95,0,0,0,0,0,0,0,0,0,0xDF,0,
2003 0x1EA1,0,0x1EA3,0,0x1EA5,0,0x1EA7,0,0x1EA9,0,0x1EAB,0,0x1EAD,0,0x1EAF,0,
2004 0x1EB1,0,0x1EB3,0,0x1EB5,0,0x1EB7,0,0x1EB9,0,0x1EBB,0,0x1EBD,0,0x1EBF,0,
2005 0x1EC1,0,0x1EC3,0,0x1EC5,0,0x1EC7,0,0x1EC9,0,0x1ECB,0,0x1ECD,0,0x1ECF,0,
2006 0x1ED1,0,0x1ED3,0,0x1ED5,0,0x1ED7,0,0x1ED9,0,0x1EDB,0,0x1EDD,0,0x1EDF,0,
2007 0x1EE1,0,0x1EE3,0,0x1EE5,0,0x1EE7,0,0x1EE9,0,0x1EEB,0,0x1EED,0,0x1EEF,0,
2008 0x1EF1,0,0x1EF3,0,0x1EF5,0,0x1EF7,0,0x1EF9,0,0x1EFB,0,0x1EFD,0,0x1EFF,0,
2009 0,0,0,0,0,0,0,0,0x1F00,0x1F01,0x1F02,0x1F03,0x1F04,0x1F05,0x1F06,0x1F07,
2010 0,0,0,0,0,0,0,0,0x1F10,0x1F11,0x1F12,0x1F13,0x1F14,0x1F15,0,0,
2011 0,0,0,0,0,0,0,0,0x1F20,0x1F21,0x1F22,0x1F23,0x1F24,0x1F25,0x1F26,0x1F27,
2012 0,0,0,0,0,0,0,0,0x1F30,0x1F31,0x1F32,0x1F33,0x1F34,0x1F35,0x1F36,0x1F37,
2013 0,0,0,0,0,0,0,0,0x1F40,0x1F41,0x1F42,0x1F43,0x1F44,0x1F45,0,0,
2014 0,0,0,0,0,0,0,0,0,0x1F51,0,0x1F53,0,0x1F55,0,0x1F57,
2015 0,0,0,0,0,0,0,0,0x1F60,0x1F61,0x1F62,0x1F63,0x1F64,0x1F65,0x1F66,0x1F67,
2016 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2017 0,0,0,0,0,0,0,0,0x1F80,0x1F81,0x1F82,0x1F83,0x1F84,0x1F85,0x1F86,0x1F87,
2018 0,0,0,0,0,0,0,0,0x1F90,0x1F91,0x1F92,0x1F93,0x1F94,0x1F95,0x1F96,0x1F97,
2019 0,0,0,0,0,0,0,0,0x1FA0,0x1FA1,0x1FA2,0x1FA3,0x1FA4,0x1FA5,0x1FA6,0x1FA7,
2020 0,0,0,0,0,0,0,0,0x1FB0,0x1FB1,0x1F70,0x1F71,0x1FB3,0,0,0,
2021 0,0,0,0,0,0,0,0,0x1F72,0x1F73,0x1F74,0x1F75,0x1FC3,0,0,0,
2022 0,0,0,0,0,0,0,0,0x1FD0,0x1FD1,0x1F76,0x1F77,0,0,0,0,
2023 0,0,0,0,0,0,0,0,0x1FE0,0x1FE1,0x1F7A,0x1F7B,0x1FE5,0,0,0,
2024 0,0,0,0,0,0,0,0,0x1F78,0x1F79,0x1F7C,0x1F7D,0x1FF3,0,0,0};
2025 static const guint16 simple_lower_case_mapping_lowarea_table3 [] = {
2026 /* ==== 2100-21C0 ==== */
2027 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2028 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2029 0,0,0,0,0,0,0x3C9,0,0,0,0x6B,0xE5,0,0,0,0,
2030 0,0,0x214E,0,0,0,0,0,0,0,0,0,0,0,0,0,
2031 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2032 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2033 0x2170,0x2171,0x2172,0x2173,0x2174,0x2175,0x2176,0x2177,0x2178,0x2179,0x217A,0x217B,0x217C,0x217D,0x217E,0x217F,
2034 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2035 0,0,0,0x2184,0,0,0,0,0,0,0,0,0,0,0,0,
2036 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2037 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2038 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2040 static const guint16 simple_lower_case_mapping_lowarea_table4 [] = {
2041 /* ==== 2480-2500 ==== */
2042 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2043 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2044 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2045 0,0,0,0,0,0,0x24D0,0x24D1,0x24D2,0x24D3,0x24D4,0x24D5,0x24D6,0x24D7,0x24D8,0x24D9,
2046 0x24DA,0x24DB,0x24DC,0x24DD,0x24DE,0x24DF,0x24E0,0x24E1,0x24E2,0x24E3,0x24E4,0x24E5,0x24E6,0x24E7,0x24E8,0x24E9,
2047 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2048 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2049 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2051 static const guint16 simple_lower_case_mapping_lowarea_table5 [] = {
2052 /* ==== 2C00-2D80 ==== */
2053 0x2C30,0x2C31,0x2C32,0x2C33,0x2C34,0x2C35,0x2C36,0x2C37,0x2C38,0x2C39,0x2C3A,0x2C3B,0x2C3C,0x2C3D,0x2C3E,0x2C3F,
2054 0x2C40,0x2C41,0x2C42,0x2C43,0x2C44,0x2C45,0x2C46,0x2C47,0x2C48,0x2C49,0x2C4A,0x2C4B,0x2C4C,0x2C4D,0x2C4E,0x2C4F,
2055 0x2C50,0x2C51,0x2C52,0x2C53,0x2C54,0x2C55,0x2C56,0x2C57,0x2C58,0x2C59,0x2C5A,0x2C5B,0x2C5C,0x2C5D,0x2C5E,0,
2056 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2057 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2058 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2059 0x2C61,0,0x26B,0x1D7D,0x27D,0,0,0x2C68,0,0x2C6A,0,0x2C6C,0,0x251,0x271,0x250,
2060 0,0,0x2C73,0,0,0x2C76,0,0,0,0,0,0,0,0,0,0,
2061 0x2C81,0,0x2C83,0,0x2C85,0,0x2C87,0,0x2C89,0,0x2C8B,0,0x2C8D,0,0x2C8F,0,
2062 0x2C91,0,0x2C93,0,0x2C95,0,0x2C97,0,0x2C99,0,0x2C9B,0,0x2C9D,0,0x2C9F,0,
2063 0x2CA1,0,0x2CA3,0,0x2CA5,0,0x2CA7,0,0x2CA9,0,0x2CAB,0,0x2CAD,0,0x2CAF,0,
2064 0x2CB1,0,0x2CB3,0,0x2CB5,0,0x2CB7,0,0x2CB9,0,0x2CBB,0,0x2CBD,0,0x2CBF,0,
2065 0x2CC1,0,0x2CC3,0,0x2CC5,0,0x2CC7,0,0x2CC9,0,0x2CCB,0,0x2CCD,0,0x2CCF,0,
2066 0x2CD1,0,0x2CD3,0,0x2CD5,0,0x2CD7,0,0x2CD9,0,0x2CDB,0,0x2CDD,0,0x2CDF,0,
2067 0x2CE1,0,0x2CE3,0,0,0,0,0,0,0,0,0,0,0,0,0,
2068 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2069 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2070 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2071 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2072 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2073 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2074 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2075 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2077 static const guint16 simple_lower_case_mapping_lowarea_table6 [] = {
2078 /* ==== A640-A7C0 ==== */
2079 0xA641,0,0xA643,0,0xA645,0,0xA647,0,0xA649,0,0xA64B,0,0xA64D,0,0xA64F,0,
2080 0xA651,0,0xA653,0,0xA655,0,0xA657,0,0xA659,0,0xA65B,0,0xA65D,0,0xA65F,0,
2081 0,0,0xA663,0,0xA665,0,0xA667,0,0xA669,0,0xA66B,0,0xA66D,0,0,0,
2082 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2083 0xA681,0,0xA683,0,0xA685,0,0xA687,0,0xA689,0,0xA68B,0,0xA68D,0,0xA68F,0,
2084 0xA691,0,0xA693,0,0xA695,0,0xA697,0,0,0,0,0,0,0,0,0,
2085 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2086 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2087 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2088 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2089 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2090 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2091 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2092 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2093 0,0,0xA723,0,0xA725,0,0xA727,0,0xA729,0,0xA72B,0,0xA72D,0,0xA72F,0,
2094 0,0,0xA733,0,0xA735,0,0xA737,0,0xA739,0,0xA73B,0,0xA73D,0,0xA73F,0,
2095 0xA741,0,0xA743,0,0xA745,0,0xA747,0,0xA749,0,0xA74B,0,0xA74D,0,0xA74F,0,
2096 0xA751,0,0xA753,0,0xA755,0,0xA757,0,0xA759,0,0xA75B,0,0xA75D,0,0xA75F,0,
2097 0xA761,0,0xA763,0,0xA765,0,0xA767,0,0xA769,0,0xA76B,0,0xA76D,0,0xA76F,0,
2098 0,0,0,0,0,0,0,0,0,0xA77A,0,0xA77C,0,0x1D79,0xA77F,0,
2099 0xA781,0,0xA783,0,0xA785,0,0xA787,0,0,0,0,0xA78C,0,0};
2100 static const guint16 simple_lower_case_mapping_lowarea_table7 [] = {
2101 /* ==== FF20-FF80 ==== */
2102 0,0xFF41,0xFF42,0xFF43,0xFF44,0xFF45,0xFF46,0xFF47,0xFF48,0xFF49,0xFF4A,0xFF4B,0xFF4C,0xFF4D,0xFF4E,0xFF4F,
2103 0xFF50,0xFF51,0xFF52,0xFF53,0xFF54,0xFF55,0xFF56,0xFF57,0xFF58,0xFF59,0xFF5A,0,0,0,0,0,
2104 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2105 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2106 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2107 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2109 static const guint16 *simple_lower_case_mapping_lowarea [] = {
2110 simple_lower_case_mapping_lowarea_table0,
2111 simple_lower_case_mapping_lowarea_table1,
2112 simple_lower_case_mapping_lowarea_table2,
2113 simple_lower_case_mapping_lowarea_table3,
2114 simple_lower_case_mapping_lowarea_table4,
2115 simple_lower_case_mapping_lowarea_table5,
2116 simple_lower_case_mapping_lowarea_table6,
2117 simple_lower_case_mapping_lowarea_table7};
2118 static const int simple_lower_case_mapping_lowarea_table_count = 8;
2120 static const guint32 simple_lower_case_mapping_higharea_table0 [] = {
2121 /* ==== 10400-10480 ==== */
2122 0x10428,0x10429,0x1042A,0x1042B,0x1042C,0x1042D,0x1042E,0x1042F,0x10430,0x10431,0x10432,0x10433,0x10434,0x10435,0x10436,0x10437,
2123 0x10438,0x10439,0x1043A,0x1043B,0x1043C,0x1043D,0x1043E,0x1043F,0x10440,0x10441,0x10442,0x10443,0x10444,0x10445,0x10446,0x10447,
2124 0x10448,0x10449,0x1044A,0x1044B,0x1044C,0x1044D,0x1044E,0x1044F,0,0,0,0,0,0,0,0,
2125 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2126 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2127 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2128 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2129 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2131 static const guint32 *simple_lower_case_mapping_higharea [] = {
2132 simple_lower_case_mapping_higharea_table0};
2135 static const SimpleTitlecaseMapping simple_titlecase_mapping [] = {
2136 {0x0001C4, 0x000000, 0x0001C5},
2137 {0x0001C5, 0x0001C4, 0x0001C5},
2138 {0x0001C6, 0x0001C4, 0x0001C5},
2139 {0x0001C7, 0x000000, 0x0001C8},
2140 {0x0001C8, 0x0001C7, 0x0001C8},
2141 {0x0001C9, 0x0001C7, 0x0001C8},
2142 {0x0001CA, 0x000000, 0x0001CB},
2143 {0x0001CB, 0x0001CA, 0x0001CB},
2144 {0x0001CC, 0x0001CA, 0x0001CB},
2145 {0x0001F1, 0x000000, 0x0001F2},
2146 {0x0001F2, 0x0001F1, 0x0001F2},
2147 {0x0001F3, 0x0001F1, 0x0001F2}
2149 static const guint8 simple_titlecase_mapping_count = 12;
2151 #endif