"Fossies" - the Fresh Open Source Software Archive 
Member "xorriso-1.5.4/libisofs/hfsplus_decompose.c" (30 Jan 2021, 30469 Bytes) of package /linux/misc/xorriso-1.5.4.pl02.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "hfsplus_decompose.c" see the
Fossies "Dox" file reference documentation.
1 /*
2 * Copyright (c) 2012 Vladimir Serbinenko
3 * Copyright (c) 2012 Thomas Schmitt
4 *
5 * This file is part of the libisofs project; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License version 2
7 * or later as published by the Free Software Foundation.
8 * See COPYING file for details.
9 */
10
11 #ifdef HAVE_CONFIG_H
12 #include "../config.h"
13 #endif
14
15 #include <string.h>
16
17 #include "hfsplus.h"
18
19 /*
20 Based on tn1150 (HFS+ format specification)
21 */
22
23
24 /* This encodes a matrix of page and character, with a number of
25 HFSPLUS_MAX_DECOMPOSE_LEN + 1 elements of 16 bit each.
26 Initially the matrix is filled with zeros.
27 1: The first element is the page number.
28 If it is equal or lower than the previous one, then the matrix is done.
29 2: The next element is the character number
30 If it is equal or lower than the previous one, the page is done. Goto 1.
31 3: The next elements are matrix elements.
32 If element 0 is encountered, then the character is done. Goto 2.
33 */
34
35 static const uint16_t decompose_page_data[] = {
36
37 /* page00 */
38 0x00,
39 0xc0, 0x0041, 0x0300, 0,
40 0xc1, 0x0041, 0x0301, 0,
41 0xc2, 0x0041, 0x0302, 0,
42 0xc3, 0x0041, 0x0303, 0,
43 0xc4, 0x0041, 0x0308, 0,
44 0xc5, 0x0041, 0x030A, 0,
45 0xc7, 0x0043, 0x0327, 0,
46 0xc8, 0x0045, 0x0300, 0,
47 0xc9, 0x0045, 0x0301, 0,
48 0xca, 0x0045, 0x0302, 0,
49 0xcb, 0x0045, 0x0308, 0,
50 0xcc, 0x0049, 0x0300, 0,
51 0xcd, 0x0049, 0x0301, 0,
52 0xce, 0x0049, 0x0302, 0,
53 0xcf, 0x0049, 0x0308, 0,
54 0xd1, 0x004E, 0x0303, 0,
55 0xd2, 0x004F, 0x0300, 0,
56 0xd3, 0x004F, 0x0301, 0,
57 0xd4, 0x004F, 0x0302, 0,
58 0xd5, 0x004F, 0x0303, 0,
59 0xd6, 0x004F, 0x0308, 0,
60 0xd9, 0x0055, 0x0300, 0,
61 0xda, 0x0055, 0x0301, 0,
62 0xdb, 0x0055, 0x0302, 0,
63 0xdc, 0x0055, 0x0308, 0,
64 0xdd, 0x0059, 0x0301, 0,
65 0xe0, 0x0061, 0x0300, 0,
66 0xe1, 0x0061, 0x0301, 0,
67 0xe2, 0x0061, 0x0302, 0,
68 0xe3, 0x0061, 0x0303, 0,
69 0xe4, 0x0061, 0x0308, 0,
70 0xe5, 0x0061, 0x030A, 0,
71 0xe7, 0x0063, 0x0327, 0,
72 0xe8, 0x0065, 0x0300, 0,
73 0xe9, 0x0065, 0x0301, 0,
74 0xea, 0x0065, 0x0302, 0,
75 0xeb, 0x0065, 0x0308, 0,
76 0xec, 0x0069, 0x0300, 0,
77 0xed, 0x0069, 0x0301, 0,
78 0xee, 0x0069, 0x0302, 0,
79 0xef, 0x0069, 0x0308, 0,
80 0xf1, 0x006E, 0x0303, 0,
81 0xf2, 0x006F, 0x0300, 0,
82 0xf3, 0x006F, 0x0301, 0,
83 0xf4, 0x006F, 0x0302, 0,
84 0xf5, 0x006F, 0x0303, 0,
85 0xf6, 0x006F, 0x0308, 0,
86 0xf9, 0x0075, 0x0300, 0,
87 0xfa, 0x0075, 0x0301, 0,
88 0xfb, 0x0075, 0x0302, 0,
89 0xfc, 0x0075, 0x0308, 0,
90 0xfd, 0x0079, 0x0301, 0,
91 0xff, 0x0079, 0x0308, 0,
92 0x00,
93
94 /* page01 */
95 0x01,
96 0x00, 0x0041, 0x0304, 0,
97 0x01, 0x0061, 0x0304, 0,
98 0x02, 0x0041, 0x0306, 0,
99 0x03, 0x0061, 0x0306, 0,
100 0x04, 0x0041, 0x0328, 0,
101 0x05, 0x0061, 0x0328, 0,
102 0x06, 0x0043, 0x0301, 0,
103 0x07, 0x0063, 0x0301, 0,
104 0x08, 0x0043, 0x0302, 0,
105 0x09, 0x0063, 0x0302, 0,
106 0x0a, 0x0043, 0x0307, 0,
107 0x0b, 0x0063, 0x0307, 0,
108 0x0c, 0x0043, 0x030C, 0,
109 0x0d, 0x0063, 0x030C, 0,
110 0x0e, 0x0044, 0x030C, 0,
111 0x0f, 0x0064, 0x030C, 0,
112 0x12, 0x0045, 0x0304, 0,
113 0x13, 0x0065, 0x0304, 0,
114 0x14, 0x0045, 0x0306, 0,
115 0x15, 0x0065, 0x0306, 0,
116 0x16, 0x0045, 0x0307, 0,
117 0x17, 0x0065, 0x0307, 0,
118 0x18, 0x0045, 0x0328, 0,
119 0x19, 0x0065, 0x0328, 0,
120 0x1a, 0x0045, 0x030C, 0,
121 0x1b, 0x0065, 0x030C, 0,
122 0x1c, 0x0047, 0x0302, 0,
123 0x1d, 0x0067, 0x0302, 0,
124 0x1e, 0x0047, 0x0306, 0,
125 0x1f, 0x0067, 0x0306, 0,
126 0x20, 0x0047, 0x0307, 0,
127 0x21, 0x0067, 0x0307, 0,
128 0x22, 0x0047, 0x0327, 0,
129 0x23, 0x0067, 0x0327, 0,
130 0x24, 0x0048, 0x0302, 0,
131 0x25, 0x0068, 0x0302, 0,
132 0x28, 0x0049, 0x0303, 0,
133 0x29, 0x0069, 0x0303, 0,
134 0x2a, 0x0049, 0x0304, 0,
135 0x2b, 0x0069, 0x0304, 0,
136 0x2c, 0x0049, 0x0306, 0,
137 0x2d, 0x0069, 0x0306, 0,
138 0x2e, 0x0049, 0x0328, 0,
139 0x2f, 0x0069, 0x0328, 0,
140 0x30, 0x0049, 0x0307, 0,
141 0x34, 0x004A, 0x0302, 0,
142 0x35, 0x006A, 0x0302, 0,
143 0x36, 0x004B, 0x0327, 0,
144 0x37, 0x006B, 0x0327, 0,
145 0x39, 0x004C, 0x0301, 0,
146 0x3a, 0x006C, 0x0301, 0,
147 0x3b, 0x004C, 0x0327, 0,
148 0x3c, 0x006C, 0x0327, 0,
149 0x3d, 0x004C, 0x030C, 0,
150 0x3e, 0x006C, 0x030C, 0,
151 0x43, 0x004E, 0x0301, 0,
152 0x44, 0x006E, 0x0301, 0,
153 0x45, 0x004E, 0x0327, 0,
154 0x46, 0x006E, 0x0327, 0,
155 0x47, 0x004E, 0x030C, 0,
156 0x48, 0x006E, 0x030C, 0,
157 0x4c, 0x004F, 0x0304, 0,
158 0x4d, 0x006F, 0x0304, 0,
159 0x4e, 0x004F, 0x0306, 0,
160 0x4f, 0x006F, 0x0306, 0,
161 0x50, 0x004F, 0x030B, 0,
162 0x51, 0x006F, 0x030B, 0,
163 0x54, 0x0052, 0x0301, 0,
164 0x55, 0x0072, 0x0301, 0,
165 0x56, 0x0052, 0x0327, 0,
166 0x57, 0x0072, 0x0327, 0,
167 0x58, 0x0052, 0x030C, 0,
168 0x59, 0x0072, 0x030C, 0,
169 0x5a, 0x0053, 0x0301, 0,
170 0x5b, 0x0073, 0x0301, 0,
171 0x5c, 0x0053, 0x0302, 0,
172 0x5d, 0x0073, 0x0302, 0,
173 0x5e, 0x0053, 0x0327, 0,
174 0x5f, 0x0073, 0x0327, 0,
175 0x60, 0x0053, 0x030C, 0,
176 0x61, 0x0073, 0x030C, 0,
177 0x62, 0x0054, 0x0327, 0,
178 0x63, 0x0074, 0x0327, 0,
179 0x64, 0x0054, 0x030C, 0,
180 0x65, 0x0074, 0x030C, 0,
181 0x68, 0x0055, 0x0303, 0,
182 0x69, 0x0075, 0x0303, 0,
183 0x6a, 0x0055, 0x0304, 0,
184 0x6b, 0x0075, 0x0304, 0,
185 0x6c, 0x0055, 0x0306, 0,
186 0x6d, 0x0075, 0x0306, 0,
187 0x6e, 0x0055, 0x030A, 0,
188 0x6f, 0x0075, 0x030A, 0,
189 0x70, 0x0055, 0x030B, 0,
190 0x71, 0x0075, 0x030B, 0,
191 0x72, 0x0055, 0x0328, 0,
192 0x73, 0x0075, 0x0328, 0,
193 0x74, 0x0057, 0x0302, 0,
194 0x75, 0x0077, 0x0302, 0,
195 0x76, 0x0059, 0x0302, 0,
196 0x77, 0x0079, 0x0302, 0,
197 0x78, 0x0059, 0x0308, 0,
198 0x79, 0x005A, 0x0301, 0,
199 0x7a, 0x007A, 0x0301, 0,
200 0x7b, 0x005A, 0x0307, 0,
201 0x7c, 0x007A, 0x0307, 0,
202 0x7d, 0x005A, 0x030C, 0,
203 0x7e, 0x007A, 0x030C, 0,
204 0xa0, 0x004F, 0x031B, 0,
205 0xa1, 0x006F, 0x031B, 0,
206 0xaf, 0x0055, 0x031B, 0,
207 0xb0, 0x0075, 0x031B, 0,
208 0xcd, 0x0041, 0x030C, 0,
209 0xce, 0x0061, 0x030C, 0,
210 0xcf, 0x0049, 0x030C, 0,
211 0xd0, 0x0069, 0x030C, 0,
212 0xd1, 0x004F, 0x030C, 0,
213 0xd2, 0x006F, 0x030C, 0,
214 0xd3, 0x0055, 0x030C, 0,
215 0xd4, 0x0075, 0x030C, 0,
216 0xd5, 0x0055, 0x0308, 0x0304, 0,
217 0xd6, 0x0075, 0x0308, 0x0304, 0,
218 0xd7, 0x0055, 0x0308, 0x0301, 0,
219 0xd8, 0x0075, 0x0308, 0x0301, 0,
220 0xd9, 0x0055, 0x0308, 0x030C, 0,
221 0xda, 0x0075, 0x0308, 0x030C, 0,
222 0xdb, 0x0055, 0x0308, 0x0300, 0,
223 0xdc, 0x0075, 0x0308, 0x0300, 0,
224 0xde, 0x0041, 0x0308, 0x0304, 0,
225 0xdf, 0x0061, 0x0308, 0x0304, 0,
226 0xe0, 0x0041, 0x0307, 0x0304, 0,
227 0xe1, 0x0061, 0x0307, 0x0304, 0,
228 0xe2, 0x00C6, 0x0304, 0,
229 0xe3, 0x00E6, 0x0304, 0,
230 0xe6, 0x0047, 0x030C, 0,
231 0xe7, 0x0067, 0x030C, 0,
232 0xe8, 0x004B, 0x030C, 0,
233 0xe9, 0x006B, 0x030C, 0,
234 0xea, 0x004F, 0x0328, 0,
235 0xeb, 0x006F, 0x0328, 0,
236 0xec, 0x004F, 0x0328, 0x0304, 0,
237 0xed, 0x006F, 0x0328, 0x0304, 0,
238 0xee, 0x01B7, 0x030C, 0,
239 0xef, 0x0292, 0x030C, 0,
240 0xf0, 0x006A, 0x030C, 0,
241 0xf4, 0x0047, 0x0301, 0,
242 0xf5, 0x0067, 0x0301, 0,
243 0xfa, 0x0041, 0x030A, 0x0301, 0,
244 0xfb, 0x0061, 0x030A, 0x0301, 0,
245 0xfc, 0x00C6, 0x0301, 0,
246 0xfd, 0x00E6, 0x0301, 0,
247 0xfe, 0x00D8, 0x0301, 0,
248 0xff, 0x00F8, 0x0301, 0,
249 0x00,
250
251 /* page02 */
252 0x02,
253 0x00, 0x0041, 0x030F, 0,
254 0x01, 0x0061, 0x030F, 0,
255 0x02, 0x0041, 0x0311, 0,
256 0x03, 0x0061, 0x0311, 0,
257 0x04, 0x0045, 0x030F, 0,
258 0x05, 0x0065, 0x030F, 0,
259 0x06, 0x0045, 0x0311, 0,
260 0x07, 0x0065, 0x0311, 0,
261 0x08, 0x0049, 0x030F, 0,
262 0x09, 0x0069, 0x030F, 0,
263 0x0a, 0x0049, 0x0311, 0,
264 0x0b, 0x0069, 0x0311, 0,
265 0x0c, 0x004F, 0x030F, 0,
266 0x0d, 0x006F, 0x030F, 0,
267 0x0e, 0x004F, 0x0311, 0,
268 0x0f, 0x006F, 0x0311, 0,
269 0x10, 0x0052, 0x030F, 0,
270 0x11, 0x0072, 0x030F, 0,
271 0x12, 0x0052, 0x0311, 0,
272 0x13, 0x0072, 0x0311, 0,
273 0x14, 0x0055, 0x030F, 0,
274 0x15, 0x0075, 0x030F, 0,
275 0x16, 0x0055, 0x0311, 0,
276 0x17, 0x0075, 0x0311, 0,
277 0x00,
278
279 /* page03 */
280 0x03,
281 0x10, 0x0306, 0x0307, 0,
282 0x40, 0x0300, 0,
283 0x41, 0x0301, 0,
284 0x43, 0x0313, 0,
285 0x44, 0x0308, 0x030D, 0,
286 0x74, 0x02B9, 0,
287 0x7e, 0x003B, 0,
288 0x85, 0x00A8, 0x030D, 0,
289 0x86, 0x0391, 0x030D, 0,
290 0x87, 0x00B7, 0,
291 0x88, 0x0395, 0x030D, 0,
292 0x89, 0x0397, 0x030D, 0,
293 0x8a, 0x0399, 0x030D, 0,
294 0x8c, 0x039F, 0x030D, 0,
295 0x8e, 0x03A5, 0x030D, 0,
296 0x8f, 0x03A9, 0x030D, 0,
297 0x90, 0x03B9, 0x0308, 0x030D, 0,
298 0xaa, 0x0399, 0x0308, 0,
299 0xab, 0x03A5, 0x0308, 0,
300 0xac, 0x03B1, 0x030D, 0,
301 0xad, 0x03B5, 0x030D, 0,
302 0xae, 0x03B7, 0x030D, 0,
303 0xaf, 0x03B9, 0x030D, 0,
304 0xb0, 0x03C5, 0x0308, 0x030D, 0,
305 0xca, 0x03B9, 0x0308, 0,
306 0xcb, 0x03C5, 0x0308, 0,
307 0xcc, 0x03BF, 0x030D, 0,
308 0xcd, 0x03C5, 0x030D, 0,
309 0xce, 0x03C9, 0x030D, 0,
310 0xd3, 0x03D2, 0x030D, 0,
311 0xd4, 0x03D2, 0x0308, 0,
312 0x00,
313
314 /* page04 */
315 0x04,
316 0x01, 0x0415, 0x0308, 0,
317 0x03, 0x0413, 0x0301, 0,
318 0x07, 0x0406, 0x0308, 0,
319 0x0c, 0x041A, 0x0301, 0,
320 0x0e, 0x0423, 0x0306, 0,
321 0x19, 0x0418, 0x0306, 0,
322 0x39, 0x0438, 0x0306, 0,
323 0x51, 0x0435, 0x0308, 0,
324 0x53, 0x0433, 0x0301, 0,
325 0x57, 0x0456, 0x0308, 0,
326 0x5c, 0x043A, 0x0301, 0,
327 0x5e, 0x0443, 0x0306, 0,
328 0x76, 0x0474, 0x030F, 0,
329 0x77, 0x0475, 0x030F, 0,
330 0xc1, 0x0416, 0x0306, 0,
331 0xc2, 0x0436, 0x0306, 0,
332 0xd0, 0x0410, 0x0306, 0,
333 0xd1, 0x0430, 0x0306, 0,
334 0xd2, 0x0410, 0x0308, 0,
335 0xd3, 0x0430, 0x0308, 0,
336 0xd4, 0x00C6, 0,
337 0xd5, 0x00E6, 0,
338 0xd6, 0x0415, 0x0306, 0,
339 0xd7, 0x0435, 0x0306, 0,
340 0xd8, 0x018F, 0,
341 0xd9, 0x0259, 0,
342 0xda, 0x018F, 0x0308, 0,
343 0xdb, 0x0259, 0x0308, 0,
344 0xdc, 0x0416, 0x0308, 0,
345 0xdd, 0x0436, 0x0308, 0,
346 0xde, 0x0417, 0x0308, 0,
347 0xdf, 0x0437, 0x0308, 0,
348 0xe0, 0x01B7, 0,
349 0xe1, 0x0292, 0,
350 0xe2, 0x0418, 0x0304, 0,
351 0xe3, 0x0438, 0x0304, 0,
352 0xe4, 0x0418, 0x0308, 0,
353 0xe5, 0x0438, 0x0308, 0,
354 0xe6, 0x041E, 0x0308, 0,
355 0xe7, 0x043E, 0x0308, 0,
356 0xe8, 0x019F, 0,
357 0xe9, 0x0275, 0,
358 0xea, 0x019F, 0x0308, 0,
359 0xeb, 0x0275, 0x0308, 0,
360 0xee, 0x0423, 0x0304, 0,
361 0xef, 0x0443, 0x0304, 0,
362 0xf0, 0x0423, 0x0308, 0,
363 0xf1, 0x0443, 0x0308, 0,
364 0xf2, 0x0423, 0x030B, 0,
365 0xf3, 0x0443, 0x030B, 0,
366 0xf4, 0x0427, 0x0308, 0,
367 0xf5, 0x0447, 0x0308, 0,
368 0xf8, 0x042B, 0x0308, 0,
369 0xf9, 0x044B, 0x0308, 0,
370 0x00,
371
372 /* page09 */
373 0x09,
374 0x29, 0x0928, 0x093C, 0,
375 0x31, 0x0930, 0x093C, 0,
376 0x34, 0x0933, 0x093C, 0,
377 0x58, 0x0915, 0x093C, 0,
378 0x59, 0x0916, 0x093C, 0,
379 0x5a, 0x0917, 0x093C, 0,
380 0x5b, 0x091C, 0x093C, 0,
381 0x5c, 0x0921, 0x093C, 0,
382 0x5d, 0x0922, 0x093C, 0,
383 0x5e, 0x092B, 0x093C, 0,
384 0x5f, 0x092F, 0x093C, 0,
385 0xb0, 0x09AC, 0x09BC, 0,
386 0xcb, 0x09C7, 0x09BE, 0,
387 0xcc, 0x09C7, 0x09D7, 0,
388 0xdc, 0x09A1, 0x09BC, 0,
389 0xdd, 0x09A2, 0x09BC, 0,
390 0xdf, 0x09AF, 0x09BC, 0,
391 0x00,
392
393 /* page0a */
394 0x0a,
395 0x59, 0x0A16, 0x0A3C, 0,
396 0x5a, 0x0A17, 0x0A3C, 0,
397 0x5b, 0x0A1C, 0x0A3C, 0,
398 0x5c, 0x0A21, 0x0A3C, 0,
399 0x5e, 0x0A2B, 0x0A3C, 0,
400 0x00,
401
402 /* page0b */
403 0x0b,
404 0x48, 0x0B47, 0x0B56, 0,
405 0x4b, 0x0B47, 0x0B3E, 0,
406 0x4c, 0x0B47, 0x0B57, 0,
407 0x5c, 0x0B21, 0x0B3C, 0,
408 0x5d, 0x0B22, 0x0B3C, 0,
409 0x5f, 0x0B2F, 0x0B3C, 0,
410 0x94, 0x0B92, 0x0BD7, 0,
411 0xca, 0x0BC6, 0x0BBE, 0,
412 0xcb, 0x0BC7, 0x0BBE, 0,
413 0xcc, 0x0BC6, 0x0BD7, 0,
414 0x00,
415
416 /* page0c */
417 0x0c,
418 0x48, 0x0C46, 0x0C56, 0,
419 0xc0, 0x0CBF, 0x0CD5, 0,
420 0xc7, 0x0CC6, 0x0CD5, 0,
421 0xc8, 0x0CC6, 0x0CD6, 0,
422 0xca, 0x0CC6, 0x0CC2, 0,
423 0xcb, 0x0CC6, 0x0CC2, 0x0CD5, 0,
424 0x00,
425
426 /* page0d */
427 0x0d,
428 0x4a, 0x0D46, 0x0D3E, 0,
429 0x4b, 0x0D47, 0x0D3E, 0,
430 0x4c, 0x0D46, 0x0D57, 0,
431 0x00,
432
433 /* page0e */
434 0x0e,
435 0x33, 0x0E4D, 0x0E32, 0,
436 0xb3, 0x0ECD, 0x0EB2, 0,
437 0x00,
438
439 /* page0f */
440 0x0f,
441 0x43, 0x0F42, 0x0FB7, 0,
442 0x4d, 0x0F4C, 0x0FB7, 0,
443 0x52, 0x0F51, 0x0FB7, 0,
444 0x57, 0x0F56, 0x0FB7, 0,
445 0x5c, 0x0F5B, 0x0FB7, 0,
446 0x69, 0x0F40, 0x0FB5, 0,
447 0x73, 0x0F72, 0x0F71, 0,
448 0x75, 0x0F74, 0x0F71, 0,
449 0x76, 0x0FB2, 0x0F80, 0,
450 0x77, 0x0FB2, 0x0F80, 0x0F71, 0,
451 0x78, 0x0FB3, 0x0F80, 0,
452 0x79, 0x0FB3, 0x0F80, 0x0F71, 0,
453 0x81, 0x0F80, 0x0F71, 0,
454 0x93, 0x0F92, 0x0FB7, 0,
455 0x9d, 0x0F9C, 0x0FB7, 0,
456 0xa2, 0x0FA1, 0x0FB7, 0,
457 0xa7, 0x0FA6, 0x0FB7, 0,
458 0xac, 0x0FAB, 0x0FB7, 0,
459 0xb9, 0x0F90, 0x0FB5, 0,
460 0x00,
461
462 /* page1e */
463 0x1e,
464 0x00, 0x0041, 0x0325, 0,
465 0x01, 0x0061, 0x0325, 0,
466 0x02, 0x0042, 0x0307, 0,
467 0x03, 0x0062, 0x0307, 0,
468 0x04, 0x0042, 0x0323, 0,
469 0x05, 0x0062, 0x0323, 0,
470 0x06, 0x0042, 0x0331, 0,
471 0x07, 0x0062, 0x0331, 0,
472 0x08, 0x0043, 0x0327, 0x0301, 0,
473 0x09, 0x0063, 0x0327, 0x0301, 0,
474 0x0a, 0x0044, 0x0307, 0,
475 0x0b, 0x0064, 0x0307, 0,
476 0x0c, 0x0044, 0x0323, 0,
477 0x0d, 0x0064, 0x0323, 0,
478 0x0e, 0x0044, 0x0331, 0,
479 0x0f, 0x0064, 0x0331, 0,
480 0x10, 0x0044, 0x0327, 0,
481 0x11, 0x0064, 0x0327, 0,
482 0x12, 0x0044, 0x032D, 0,
483 0x13, 0x0064, 0x032D, 0,
484 0x14, 0x0045, 0x0304, 0x0300, 0,
485 0x15, 0x0065, 0x0304, 0x0300, 0,
486 0x16, 0x0045, 0x0304, 0x0301, 0,
487 0x17, 0x0065, 0x0304, 0x0301, 0,
488 0x18, 0x0045, 0x032D, 0,
489 0x19, 0x0065, 0x032D, 0,
490 0x1a, 0x0045, 0x0330, 0,
491 0x1b, 0x0065, 0x0330, 0,
492 0x1c, 0x0045, 0x0327, 0x0306, 0,
493 0x1d, 0x0065, 0x0327, 0x0306, 0,
494 0x1e, 0x0046, 0x0307, 0,
495 0x1f, 0x0066, 0x0307, 0,
496 0x20, 0x0047, 0x0304, 0,
497 0x21, 0x0067, 0x0304, 0,
498 0x22, 0x0048, 0x0307, 0,
499 0x23, 0x0068, 0x0307, 0,
500 0x24, 0x0048, 0x0323, 0,
501 0x25, 0x0068, 0x0323, 0,
502 0x26, 0x0048, 0x0308, 0,
503 0x27, 0x0068, 0x0308, 0,
504 0x28, 0x0048, 0x0327, 0,
505 0x29, 0x0068, 0x0327, 0,
506 0x2a, 0x0048, 0x032E, 0,
507 0x2b, 0x0068, 0x032E, 0,
508 0x2c, 0x0049, 0x0330, 0,
509 0x2d, 0x0069, 0x0330, 0,
510 0x2e, 0x0049, 0x0308, 0x0301, 0,
511 0x2f, 0x0069, 0x0308, 0x0301, 0,
512 0x30, 0x004B, 0x0301, 0,
513 0x31, 0x006B, 0x0301, 0,
514 0x32, 0x004B, 0x0323, 0,
515 0x33, 0x006B, 0x0323, 0,
516 0x34, 0x004B, 0x0331, 0,
517 0x35, 0x006B, 0x0331, 0,
518 0x36, 0x004C, 0x0323, 0,
519 0x37, 0x006C, 0x0323, 0,
520 0x38, 0x004C, 0x0323, 0x0304, 0,
521 0x39, 0x006C, 0x0323, 0x0304, 0,
522 0x3a, 0x004C, 0x0331, 0,
523 0x3b, 0x006C, 0x0331, 0,
524 0x3c, 0x004C, 0x032D, 0,
525 0x3d, 0x006C, 0x032D, 0,
526 0x3e, 0x004D, 0x0301, 0,
527 0x3f, 0x006D, 0x0301, 0,
528 0x40, 0x004D, 0x0307, 0,
529 0x41, 0x006D, 0x0307, 0,
530 0x42, 0x004D, 0x0323, 0,
531 0x43, 0x006D, 0x0323, 0,
532 0x44, 0x004E, 0x0307, 0,
533 0x45, 0x006E, 0x0307, 0,
534 0x46, 0x004E, 0x0323, 0,
535 0x47, 0x006E, 0x0323, 0,
536 0x48, 0x004E, 0x0331, 0,
537 0x49, 0x006E, 0x0331, 0,
538 0x4a, 0x004E, 0x032D, 0,
539 0x4b, 0x006E, 0x032D, 0,
540 0x4c, 0x004F, 0x0303, 0x0301, 0,
541 0x4d, 0x006F, 0x0303, 0x0301, 0,
542 0x4e, 0x004F, 0x0303, 0x0308, 0,
543 0x4f, 0x006F, 0x0303, 0x0308, 0,
544 0x50, 0x004F, 0x0304, 0x0300, 0,
545 0x51, 0x006F, 0x0304, 0x0300, 0,
546 0x52, 0x004F, 0x0304, 0x0301, 0,
547 0x53, 0x006F, 0x0304, 0x0301, 0,
548 0x54, 0x0050, 0x0301, 0,
549 0x55, 0x0070, 0x0301, 0,
550 0x56, 0x0050, 0x0307, 0,
551 0x57, 0x0070, 0x0307, 0,
552 0x58, 0x0052, 0x0307, 0,
553 0x59, 0x0072, 0x0307, 0,
554 0x5a, 0x0052, 0x0323, 0,
555 0x5b, 0x0072, 0x0323, 0,
556 0x5c, 0x0052, 0x0323, 0x0304, 0,
557 0x5d, 0x0072, 0x0323, 0x0304, 0,
558 0x5e, 0x0052, 0x0331, 0,
559 0x5f, 0x0072, 0x0331, 0,
560 0x60, 0x0053, 0x0307, 0,
561 0x61, 0x0073, 0x0307, 0,
562 0x62, 0x0053, 0x0323, 0,
563 0x63, 0x0073, 0x0323, 0,
564 0x64, 0x0053, 0x0301, 0x0307, 0,
565 0x65, 0x0073, 0x0301, 0x0307, 0,
566 0x66, 0x0053, 0x030C, 0x0307, 0,
567 0x67, 0x0073, 0x030C, 0x0307, 0,
568 0x68, 0x0053, 0x0323, 0x0307, 0,
569 0x69, 0x0073, 0x0323, 0x0307, 0,
570 0x6a, 0x0054, 0x0307, 0,
571 0x6b, 0x0074, 0x0307, 0,
572 0x6c, 0x0054, 0x0323, 0,
573 0x6d, 0x0074, 0x0323, 0,
574 0x6e, 0x0054, 0x0331, 0,
575 0x6f, 0x0074, 0x0331, 0,
576 0x70, 0x0054, 0x032D, 0,
577 0x71, 0x0074, 0x032D, 0,
578 0x72, 0x0055, 0x0324, 0,
579 0x73, 0x0075, 0x0324, 0,
580 0x74, 0x0055, 0x0330, 0,
581 0x75, 0x0075, 0x0330, 0,
582 0x76, 0x0055, 0x032D, 0,
583 0x77, 0x0075, 0x032D, 0,
584 0x78, 0x0055, 0x0303, 0x0301, 0,
585 0x79, 0x0075, 0x0303, 0x0301, 0,
586 0x7a, 0x0055, 0x0304, 0x0308, 0,
587 0x7b, 0x0075, 0x0304, 0x0308, 0,
588 0x7c, 0x0056, 0x0303, 0,
589 0x7d, 0x0076, 0x0303, 0,
590 0x7e, 0x0056, 0x0323, 0,
591 0x7f, 0x0076, 0x0323, 0,
592 0x80, 0x0057, 0x0300, 0,
593 0x81, 0x0077, 0x0300, 0,
594 0x82, 0x0057, 0x0301, 0,
595 0x83, 0x0077, 0x0301, 0,
596 0x84, 0x0057, 0x0308, 0,
597 0x85, 0x0077, 0x0308, 0,
598 0x86, 0x0057, 0x0307, 0,
599 0x87, 0x0077, 0x0307, 0,
600 0x88, 0x0057, 0x0323, 0,
601 0x89, 0x0077, 0x0323, 0,
602 0x8a, 0x0058, 0x0307, 0,
603 0x8b, 0x0078, 0x0307, 0,
604 0x8c, 0x0058, 0x0308, 0,
605 0x8d, 0x0078, 0x0308, 0,
606 0x8e, 0x0059, 0x0307, 0,
607 0x8f, 0x0079, 0x0307, 0,
608 0x90, 0x005A, 0x0302, 0,
609 0x91, 0x007A, 0x0302, 0,
610 0x92, 0x005A, 0x0323, 0,
611 0x93, 0x007A, 0x0323, 0,
612 0x94, 0x005A, 0x0331, 0,
613 0x95, 0x007A, 0x0331, 0,
614 0x96, 0x0068, 0x0331, 0,
615 0x97, 0x0074, 0x0308, 0,
616 0x98, 0x0077, 0x030A, 0,
617 0x99, 0x0079, 0x030A, 0,
618 0x9b, 0x017F, 0x0307, 0,
619 0xa0, 0x0041, 0x0323, 0,
620 0xa1, 0x0061, 0x0323, 0,
621 0xa2, 0x0041, 0x0309, 0,
622 0xa3, 0x0061, 0x0309, 0,
623 0xa4, 0x0041, 0x0302, 0x0301, 0,
624 0xa5, 0x0061, 0x0302, 0x0301, 0,
625 0xa6, 0x0041, 0x0302, 0x0300, 0,
626 0xa7, 0x0061, 0x0302, 0x0300, 0,
627 0xa8, 0x0041, 0x0302, 0x0309, 0,
628 0xa9, 0x0061, 0x0302, 0x0309, 0,
629 0xaa, 0x0041, 0x0302, 0x0303, 0,
630 0xab, 0x0061, 0x0302, 0x0303, 0,
631 0xac, 0x0041, 0x0323, 0x0302, 0,
632 0xad, 0x0061, 0x0323, 0x0302, 0,
633 0xae, 0x0041, 0x0306, 0x0301, 0,
634 0xaf, 0x0061, 0x0306, 0x0301, 0,
635 0xb0, 0x0041, 0x0306, 0x0300, 0,
636 0xb1, 0x0061, 0x0306, 0x0300, 0,
637 0xb2, 0x0041, 0x0306, 0x0309, 0,
638 0xb3, 0x0061, 0x0306, 0x0309, 0,
639 0xb4, 0x0041, 0x0306, 0x0303, 0,
640 0xb5, 0x0061, 0x0306, 0x0303, 0,
641 0xb6, 0x0041, 0x0323, 0x0306, 0,
642 0xb7, 0x0061, 0x0323, 0x0306, 0,
643 0xb8, 0x0045, 0x0323, 0,
644 0xb9, 0x0065, 0x0323, 0,
645 0xba, 0x0045, 0x0309, 0,
646 0xbb, 0x0065, 0x0309, 0,
647 0xbc, 0x0045, 0x0303, 0,
648 0xbd, 0x0065, 0x0303, 0,
649 0xbe, 0x0045, 0x0302, 0x0301, 0,
650 0xbf, 0x0065, 0x0302, 0x0301, 0,
651 0xc0, 0x0045, 0x0302, 0x0300, 0,
652 0xc1, 0x0065, 0x0302, 0x0300, 0,
653 0xc2, 0x0045, 0x0302, 0x0309, 0,
654 0xc3, 0x0065, 0x0302, 0x0309, 0,
655 0xc4, 0x0045, 0x0302, 0x0303, 0,
656 0xc5, 0x0065, 0x0302, 0x0303, 0,
657 0xc6, 0x0045, 0x0323, 0x0302, 0,
658 0xc7, 0x0065, 0x0323, 0x0302, 0,
659 0xc8, 0x0049, 0x0309, 0,
660 0xc9, 0x0069, 0x0309, 0,
661 0xca, 0x0049, 0x0323, 0,
662 0xcb, 0x0069, 0x0323, 0,
663 0xcc, 0x004F, 0x0323, 0,
664 0xcd, 0x006F, 0x0323, 0,
665 0xce, 0x004F, 0x0309, 0,
666 0xcf, 0x006F, 0x0309, 0,
667 0xd0, 0x004F, 0x0302, 0x0301, 0,
668 0xd1, 0x006F, 0x0302, 0x0301, 0,
669 0xd2, 0x004F, 0x0302, 0x0300, 0,
670 0xd3, 0x006F, 0x0302, 0x0300, 0,
671 0xd4, 0x004F, 0x0302, 0x0309, 0,
672 0xd5, 0x006F, 0x0302, 0x0309, 0,
673 0xd6, 0x004F, 0x0302, 0x0303, 0,
674 0xd7, 0x006F, 0x0302, 0x0303, 0,
675 0xd8, 0x004F, 0x0323, 0x0302, 0,
676 0xd9, 0x006F, 0x0323, 0x0302, 0,
677 0xda, 0x004F, 0x031B, 0x0301, 0,
678 0xdb, 0x006F, 0x031B, 0x0301, 0,
679 0xdc, 0x004F, 0x031B, 0x0300, 0,
680 0xdd, 0x006F, 0x031B, 0x0300, 0,
681 0xde, 0x004F, 0x031B, 0x0309, 0,
682 0xdf, 0x006F, 0x031B, 0x0309, 0,
683 0xe0, 0x004F, 0x031B, 0x0303, 0,
684 0xe1, 0x006F, 0x031B, 0x0303, 0,
685 0xe2, 0x004F, 0x031B, 0x0323, 0,
686 0xe3, 0x006F, 0x031B, 0x0323, 0,
687 0xe4, 0x0055, 0x0323, 0,
688 0xe5, 0x0075, 0x0323, 0,
689 0xe6, 0x0055, 0x0309, 0,
690 0xe7, 0x0075, 0x0309, 0,
691 0xe8, 0x0055, 0x031B, 0x0301, 0,
692 0xe9, 0x0075, 0x031B, 0x0301, 0,
693 0xea, 0x0055, 0x031B, 0x0300, 0,
694 0xeb, 0x0075, 0x031B, 0x0300, 0,
695 0xec, 0x0055, 0x031B, 0x0309, 0,
696 0xed, 0x0075, 0x031B, 0x0309, 0,
697 0xee, 0x0055, 0x031B, 0x0303, 0,
698 0xef, 0x0075, 0x031B, 0x0303, 0,
699 0xf0, 0x0055, 0x031B, 0x0323, 0,
700 0xf1, 0x0075, 0x031B, 0x0323, 0,
701 0xf2, 0x0059, 0x0300, 0,
702 0xf3, 0x0079, 0x0300, 0,
703 0xf4, 0x0059, 0x0323, 0,
704 0xf5, 0x0079, 0x0323, 0,
705 0xf6, 0x0059, 0x0309, 0,
706 0xf7, 0x0079, 0x0309, 0,
707 0xf8, 0x0059, 0x0303, 0,
708 0xf9, 0x0079, 0x0303, 0,
709 0x00,
710
711 /* page1f */
712 0x1f,
713 0x00, 0x03B1, 0x0313, 0,
714 0x01, 0x03B1, 0x0314, 0,
715 0x02, 0x03B1, 0x0313, 0x0300, 0,
716 0x03, 0x03B1, 0x0314, 0x0300, 0,
717 0x04, 0x03B1, 0x0313, 0x0301, 0,
718 0x05, 0x03B1, 0x0314, 0x0301, 0,
719 0x06, 0x03B1, 0x0313, 0x0342, 0,
720 0x07, 0x03B1, 0x0314, 0x0342, 0,
721 0x08, 0x0391, 0x0313, 0,
722 0x09, 0x0391, 0x0314, 0,
723 0x0a, 0x0391, 0x0313, 0x0300, 0,
724 0x0b, 0x0391, 0x0314, 0x0300, 0,
725 0x0c, 0x0391, 0x0313, 0x0301, 0,
726 0x0d, 0x0391, 0x0314, 0x0301, 0,
727 0x0e, 0x0391, 0x0313, 0x0342, 0,
728 0x0f, 0x0391, 0x0314, 0x0342, 0,
729 0x10, 0x03B5, 0x0313, 0,
730 0x11, 0x03B5, 0x0314, 0,
731 0x12, 0x03B5, 0x0313, 0x0300, 0,
732 0x13, 0x03B5, 0x0314, 0x0300, 0,
733 0x14, 0x03B5, 0x0313, 0x0301, 0,
734 0x15, 0x03B5, 0x0314, 0x0301, 0,
735 0x18, 0x0395, 0x0313, 0,
736 0x19, 0x0395, 0x0314, 0,
737 0x1a, 0x0395, 0x0313, 0x0300, 0,
738 0x1b, 0x0395, 0x0314, 0x0300, 0,
739 0x1c, 0x0395, 0x0313, 0x0301, 0,
740 0x1d, 0x0395, 0x0314, 0x0301, 0,
741 0x20, 0x03B7, 0x0313, 0,
742 0x21, 0x03B7, 0x0314, 0,
743 0x22, 0x03B7, 0x0313, 0x0300, 0,
744 0x23, 0x03B7, 0x0314, 0x0300, 0,
745 0x24, 0x03B7, 0x0313, 0x0301, 0,
746 0x25, 0x03B7, 0x0314, 0x0301, 0,
747 0x26, 0x03B7, 0x0313, 0x0342, 0,
748 0x27, 0x03B7, 0x0314, 0x0342, 0,
749 0x28, 0x0397, 0x0313, 0,
750 0x29, 0x0397, 0x0314, 0,
751 0x2a, 0x0397, 0x0313, 0x0300, 0,
752 0x2b, 0x0397, 0x0314, 0x0300, 0,
753 0x2c, 0x0397, 0x0313, 0x0301, 0,
754 0x2d, 0x0397, 0x0314, 0x0301, 0,
755 0x2e, 0x0397, 0x0313, 0x0342, 0,
756 0x2f, 0x0397, 0x0314, 0x0342, 0,
757 0x30, 0x03B9, 0x0313, 0,
758 0x31, 0x03B9, 0x0314, 0,
759 0x32, 0x03B9, 0x0313, 0x0300, 0,
760 0x33, 0x03B9, 0x0314, 0x0300, 0,
761 0x34, 0x03B9, 0x0313, 0x0301, 0,
762 0x35, 0x03B9, 0x0314, 0x0301, 0,
763 0x36, 0x03B9, 0x0313, 0x0342, 0,
764 0x37, 0x03B9, 0x0314, 0x0342, 0,
765 0x38, 0x0399, 0x0313, 0,
766 0x39, 0x0399, 0x0314, 0,
767 0x3a, 0x0399, 0x0313, 0x0300, 0,
768 0x3b, 0x0399, 0x0314, 0x0300, 0,
769 0x3c, 0x0399, 0x0313, 0x0301, 0,
770 0x3d, 0x0399, 0x0314, 0x0301, 0,
771 0x3e, 0x0399, 0x0313, 0x0342, 0,
772 0x3f, 0x0399, 0x0314, 0x0342, 0,
773 0x40, 0x03BF, 0x0313, 0,
774 0x41, 0x03BF, 0x0314, 0,
775 0x42, 0x03BF, 0x0313, 0x0300, 0,
776 0x43, 0x03BF, 0x0314, 0x0300, 0,
777 0x44, 0x03BF, 0x0313, 0x0301, 0,
778 0x45, 0x03BF, 0x0314, 0x0301, 0,
779 0x48, 0x039F, 0x0313, 0,
780 0x49, 0x039F, 0x0314, 0,
781 0x4a, 0x039F, 0x0313, 0x0300, 0,
782 0x4b, 0x039F, 0x0314, 0x0300, 0,
783 0x4c, 0x039F, 0x0313, 0x0301, 0,
784 0x4d, 0x039F, 0x0314, 0x0301, 0,
785 0x50, 0x03C5, 0x0313, 0,
786 0x51, 0x03C5, 0x0314, 0,
787 0x52, 0x03C5, 0x0313, 0x0300, 0,
788 0x53, 0x03C5, 0x0314, 0x0300, 0,
789 0x54, 0x03C5, 0x0313, 0x0301, 0,
790 0x55, 0x03C5, 0x0314, 0x0301, 0,
791 0x56, 0x03C5, 0x0313, 0x0342, 0,
792 0x57, 0x03C5, 0x0314, 0x0342, 0,
793 0x59, 0x03A5, 0x0314, 0,
794 0x5b, 0x03A5, 0x0314, 0x0300, 0,
795 0x5d, 0x03A5, 0x0314, 0x0301, 0,
796 0x5f, 0x03A5, 0x0314, 0x0342, 0,
797 0x60, 0x03C9, 0x0313, 0,
798 0x61, 0x03C9, 0x0314, 0,
799 0x62, 0x03C9, 0x0313, 0x0300, 0,
800 0x63, 0x03C9, 0x0314, 0x0300, 0,
801 0x64, 0x03C9, 0x0313, 0x0301, 0,
802 0x65, 0x03C9, 0x0314, 0x0301, 0,
803 0x66, 0x03C9, 0x0313, 0x0342, 0,
804 0x67, 0x03C9, 0x0314, 0x0342, 0,
805 0x68, 0x03A9, 0x0313, 0,
806 0x69, 0x03A9, 0x0314, 0,
807 0x6a, 0x03A9, 0x0313, 0x0300, 0,
808 0x6b, 0x03A9, 0x0314, 0x0300, 0,
809 0x6c, 0x03A9, 0x0313, 0x0301, 0,
810 0x6d, 0x03A9, 0x0314, 0x0301, 0,
811 0x6e, 0x03A9, 0x0313, 0x0342, 0,
812 0x6f, 0x03A9, 0x0314, 0x0342, 0,
813 0x70, 0x03B1, 0x0300, 0,
814 0x71, 0x03B1, 0x0301, 0,
815 0x72, 0x03B5, 0x0300, 0,
816 0x73, 0x03B5, 0x0301, 0,
817 0x74, 0x03B7, 0x0300, 0,
818 0x75, 0x03B7, 0x0301, 0,
819 0x76, 0x03B9, 0x0300, 0,
820 0x77, 0x03B9, 0x0301, 0,
821 0x78, 0x03BF, 0x0300, 0,
822 0x79, 0x03BF, 0x0301, 0,
823 0x7a, 0x03C5, 0x0300, 0,
824 0x7b, 0x03C5, 0x0301, 0,
825 0x7c, 0x03C9, 0x0300, 0,
826 0x7d, 0x03C9, 0x0301, 0,
827 0x80, 0x03B1, 0x0345, 0x0313, 0,
828 0x81, 0x03B1, 0x0345, 0x0314, 0,
829 0x82, 0x03B1, 0x0345, 0x0313, 0x0300, 0,
830 0x83, 0x03B1, 0x0345, 0x0314, 0x0300, 0,
831 0x84, 0x03B1, 0x0345, 0x0313, 0x0301, 0,
832 0x85, 0x03B1, 0x0345, 0x0314, 0x0301, 0,
833 0x86, 0x03B1, 0x0345, 0x0313, 0x0342, 0,
834 0x87, 0x03B1, 0x0345, 0x0314, 0x0342, 0,
835 0x88, 0x0391, 0x0345, 0x0313, 0,
836 0x89, 0x0391, 0x0345, 0x0314, 0,
837 0x8a, 0x0391, 0x0345, 0x0313, 0x0300, 0,
838 0x8b, 0x0391, 0x0345, 0x0314, 0x0300, 0,
839 0x8c, 0x0391, 0x0345, 0x0313, 0x0301, 0,
840 0x8d, 0x0391, 0x0345, 0x0314, 0x0301, 0,
841 0x8e, 0x0391, 0x0345, 0x0313, 0x0342, 0,
842 0x8f, 0x0391, 0x0345, 0x0314, 0x0342, 0,
843 0x90, 0x03B7, 0x0345, 0x0313, 0,
844 0x91, 0x03B7, 0x0345, 0x0314, 0,
845 0x92, 0x03B7, 0x0345, 0x0313, 0x0300, 0,
846 0x93, 0x03B7, 0x0345, 0x0314, 0x0300, 0,
847 0x94, 0x03B7, 0x0345, 0x0313, 0x0301, 0,
848 0x95, 0x03B7, 0x0345, 0x0314, 0x0301, 0,
849 0x96, 0x03B7, 0x0345, 0x0313, 0x0342, 0,
850 0x97, 0x03B7, 0x0345, 0x0314, 0x0342, 0,
851 0x98, 0x0397, 0x0345, 0x0313, 0,
852 0x99, 0x0397, 0x0345, 0x0314, 0,
853 0x9a, 0x0397, 0x0345, 0x0313, 0x0300, 0,
854 0x9b, 0x0397, 0x0345, 0x0314, 0x0300, 0,
855 0x9c, 0x0397, 0x0345, 0x0313, 0x0301, 0,
856 0x9d, 0x0397, 0x0345, 0x0314, 0x0301, 0,
857 0x9e, 0x0397, 0x0345, 0x0313, 0x0342, 0,
858 0x9f, 0x0397, 0x0345, 0x0314, 0x0342, 0,
859 0xa0, 0x03C9, 0x0345, 0x0313, 0,
860 0xa1, 0x03C9, 0x0345, 0x0314, 0,
861 0xa2, 0x03C9, 0x0345, 0x0313, 0x0300, 0,
862 0xa3, 0x03C9, 0x0345, 0x0314, 0x0300, 0,
863 0xa4, 0x03C9, 0x0345, 0x0313, 0x0301, 0,
864 0xa5, 0x03C9, 0x0345, 0x0314, 0x0301, 0,
865 0xa6, 0x03C9, 0x0345, 0x0313, 0x0342, 0,
866 0xa7, 0x03C9, 0x0345, 0x0314, 0x0342, 0,
867 0xa8, 0x03A9, 0x0345, 0x0313, 0,
868 0xa9, 0x03A9, 0x0345, 0x0314, 0,
869 0xaa, 0x03A9, 0x0345, 0x0313, 0x0300, 0,
870 0xab, 0x03A9, 0x0345, 0x0314, 0x0300, 0,
871 0xac, 0x03A9, 0x0345, 0x0313, 0x0301, 0,
872 0xad, 0x03A9, 0x0345, 0x0314, 0x0301, 0,
873 0xae, 0x03A9, 0x0345, 0x0313, 0x0342, 0,
874 0xaf, 0x03A9, 0x0345, 0x0314, 0x0342, 0,
875 0xb0, 0x03B1, 0x0306, 0,
876 0xb1, 0x03B1, 0x0304, 0,
877 0xb2, 0x03B1, 0x0345, 0x0300, 0,
878 0xb3, 0x03B1, 0x0345, 0,
879 0xb4, 0x03B1, 0x0345, 0x0301, 0,
880 0xb6, 0x03B1, 0x0342, 0,
881 0xb7, 0x03B1, 0x0345, 0x0342, 0,
882 0xb8, 0x0391, 0x0306, 0,
883 0xb9, 0x0391, 0x0304, 0,
884 0xba, 0x0391, 0x0300, 0,
885 0xbb, 0x0391, 0x0301, 0,
886 0xbc, 0x0391, 0x0345, 0,
887 0xbe, 0x03B9, 0,
888 0xc1, 0x00A8, 0x0342, 0,
889 0xc2, 0x03B7, 0x0345, 0x0300, 0,
890 0xc3, 0x03B7, 0x0345, 0,
891 0xc4, 0x03B7, 0x0345, 0x0301, 0,
892 0xc6, 0x03B7, 0x0342, 0,
893 0xc7, 0x03B7, 0x0345, 0x0342, 0,
894 0xc8, 0x0395, 0x0300, 0,
895 0xc9, 0x0395, 0x0301, 0,
896 0xca, 0x0397, 0x0300, 0,
897 0xcb, 0x0397, 0x0301, 0,
898 0xcc, 0x0397, 0x0345, 0,
899 0xcd, 0x1FBF, 0x0300, 0,
900 0xce, 0x1FBF, 0x0301, 0,
901 0xcf, 0x1FBF, 0x0342, 0,
902 0xd0, 0x03B9, 0x0306, 0,
903 0xd1, 0x03B9, 0x0304, 0,
904 0xd2, 0x03B9, 0x0308, 0x0300, 0,
905 0xd3, 0x03B9, 0x0308, 0x0301, 0,
906 0xd6, 0x03B9, 0x0342, 0,
907 0xd7, 0x03B9, 0x0308, 0x0342, 0,
908 0xd8, 0x0399, 0x0306, 0,
909 0xd9, 0x0399, 0x0304, 0,
910 0xda, 0x0399, 0x0300, 0,
911 0xdb, 0x0399, 0x0301, 0,
912 0xdd, 0x1FFE, 0x0300, 0,
913 0xde, 0x1FFE, 0x0301, 0,
914 0xdf, 0x1FFE, 0x0342, 0,
915 0xe0, 0x03C5, 0x0306, 0,
916 0xe1, 0x03C5, 0x0304, 0,
917 0xe2, 0x03C5, 0x0308, 0x0300, 0,
918 0xe3, 0x03C5, 0x0308, 0x0301, 0,
919 0xe4, 0x03C1, 0x0313, 0,
920 0xe5, 0x03C1, 0x0314, 0,
921 0xe6, 0x03C5, 0x0342, 0,
922 0xe7, 0x03C5, 0x0308, 0x0342, 0,
923 0xe8, 0x03A5, 0x0306, 0,
924 0xe9, 0x03A5, 0x0304, 0,
925 0xea, 0x03A5, 0x0300, 0,
926 0xeb, 0x03A5, 0x0301, 0,
927 0xec, 0x03A1, 0x0314, 0,
928 0xed, 0x00A8, 0x0300, 0,
929 0xee, 0x00A8, 0x0301, 0,
930 0xef, 0x0060, 0,
931 0xf2, 0x03C9, 0x0345, 0x0300, 0,
932 0xf3, 0x03C9, 0x0345, 0,
933 0xf4, 0x03BF, 0x0345, 0x0301, 0,
934 0xf6, 0x03C9, 0x0342, 0,
935 0xf7, 0x03C9, 0x0345, 0x0342, 0,
936 0xf8, 0x039F, 0x0300, 0,
937 0xf9, 0x039F, 0x0301, 0,
938 0xfa, 0x03A9, 0x0300, 0,
939 0xfb, 0x03A9, 0x0301, 0,
940 0xfc, 0x03A9, 0x0345, 0,
941 0xfd, 0x00B4, 0,
942 0x00,
943
944 /* page30 */
945 0x30,
946 0x4c, 0x304B, 0x3099, 0,
947 0x4e, 0x304D, 0x3099, 0,
948 0x50, 0x304F, 0x3099, 0,
949 0x52, 0x3051, 0x3099, 0,
950 0x54, 0x3053, 0x3099, 0,
951 0x56, 0x3055, 0x3099, 0,
952 0x58, 0x3057, 0x3099, 0,
953 0x5a, 0x3059, 0x3099, 0,
954 0x5c, 0x305B, 0x3099, 0,
955 0x5e, 0x305D, 0x3099, 0,
956 0x60, 0x305F, 0x3099, 0,
957 0x62, 0x3061, 0x3099, 0,
958 0x65, 0x3064, 0x3099, 0,
959 0x67, 0x3066, 0x3099, 0,
960 0x69, 0x3068, 0x3099, 0,
961 0x70, 0x306F, 0x3099, 0,
962 0x71, 0x306F, 0x309A, 0,
963 0x73, 0x3072, 0x3099, 0,
964 0x74, 0x3072, 0x309A, 0,
965 0x76, 0x3075, 0x3099, 0,
966 0x77, 0x3075, 0x309A, 0,
967 0x79, 0x3078, 0x3099, 0,
968 0x7a, 0x3078, 0x309A, 0,
969 0x7c, 0x307B, 0x3099, 0,
970 0x7d, 0x307B, 0x309A, 0,
971 0x94, 0x3046, 0x3099, 0,
972 0x9e, 0x309D, 0x3099, 0,
973 0xac, 0x30AB, 0x3099, 0,
974 0xae, 0x30AD, 0x3099, 0,
975 0xb0, 0x30AF, 0x3099, 0,
976 0xb2, 0x30B1, 0x3099, 0,
977 0xb4, 0x30B3, 0x3099, 0,
978 0xb6, 0x30B5, 0x3099, 0,
979 0xb8, 0x30B7, 0x3099, 0,
980 0xba, 0x30B9, 0x3099, 0,
981 0xbc, 0x30BB, 0x3099, 0,
982 0xbe, 0x30BD, 0x3099, 0,
983 0xc0, 0x30BF, 0x3099, 0,
984 0xc2, 0x30C1, 0x3099, 0,
985 0xc5, 0x30C4, 0x3099, 0,
986 0xc7, 0x30C6, 0x3099, 0,
987 0xc9, 0x30C8, 0x3099, 0,
988 0xd0, 0x30CF, 0x3099, 0,
989 0xd1, 0x30CF, 0x309A, 0,
990 0xd3, 0x30D2, 0x3099, 0,
991 0xd4, 0x30D2, 0x309A, 0,
992 0xd6, 0x30D5, 0x3099, 0,
993 0xd7, 0x30D5, 0x309A, 0,
994 0xd9, 0x30D8, 0x3099, 0,
995 0xda, 0x30D8, 0x309A, 0,
996 0xdc, 0x30DB, 0x3099, 0,
997 0xdd, 0x30DB, 0x309A, 0,
998 0xf4, 0x30A6, 0x3099, 0,
999 0xf7, 0x30EF, 0x3099, 0,
1000 0xf8, 0x30F0, 0x3099, 0,
1001 0xf9, 0x30F1, 0x3099, 0,
1002 0xfa, 0x30F2, 0x3099, 0,
1003 0xfe, 0x30FD, 0x3099, 0,
1004 0x00,
1005
1006 /* pagefb */
1007 0xfb,
1008 0x1f, 0x05F2, 0x05B7, 0,
1009 0x2a, 0x05E9, 0x05C1, 0,
1010 0x2b, 0x05E9, 0x05C2, 0,
1011 0x2c, 0x05E9, 0x05BC, 0x05C1, 0,
1012 0x2d, 0x05E9, 0x05BC, 0x05C2, 0,
1013 0x2e, 0x05D0, 0x05B7, 0,
1014 0x2f, 0x05D0, 0x05B8, 0,
1015 0x30, 0x05D0, 0x05BC, 0,
1016 0x31, 0x05D1, 0x05BC, 0,
1017 0x32, 0x05D2, 0x05BC, 0,
1018 0x33, 0x05D3, 0x05BC, 0,
1019 0x34, 0x05D4, 0x05BC, 0,
1020 0x35, 0x05D5, 0x05BC, 0,
1021 0x36, 0x05D6, 0x05BC, 0,
1022 0x38, 0x05D8, 0x05BC, 0,
1023 0x39, 0x05D9, 0x05BC, 0,
1024 0x3a, 0x05DA, 0x05BC, 0,
1025 0x3b, 0x05DB, 0x05BC, 0,
1026 0x3c, 0x05DC, 0x05BC, 0,
1027 0x3e, 0x05DE, 0x05BC, 0,
1028 0x40, 0x05E0, 0x05BC, 0,
1029 0x41, 0x05E1, 0x05BC, 0,
1030 0x43, 0x05E3, 0x05BC, 0,
1031 0x44, 0x05E4, 0x05BC, 0,
1032 0x46, 0x05E6, 0x05BC, 0,
1033 0x47, 0x05E7, 0x05BC, 0,
1034 0x48, 0x05E8, 0x05BC, 0,
1035 0x49, 0x05E9, 0x05BC, 0,
1036 0x4a, 0x05EA, 0x05BC, 0,
1037 0x4b, 0x05D5, 0x05B9, 0,
1038 0x4c, 0x05D1, 0x05BF, 0,
1039 0x4d, 0x05DB, 0x05BF, 0,
1040 0x4e, 0x05E4, 0x05BF, 0,
1041 0x00,
1042
1043 /* end of list */
1044 0x00
1045 };
1046
1047 #define HFSPLUS_DECOMPOSE_PAGE_SIZE (256 * (HFSPLUS_MAX_DECOMPOSE_LEN + 1))
1048
1049 static uint16_t decompose_pages[16 * 256][HFSPLUS_MAX_DECOMPOSE_LEN + 1];
1050
1051 uint16_t (*hfsplus_decompose_pages[256])[HFSPLUS_MAX_DECOMPOSE_LEN + 1];
1052
1053
1054 void make_hfsplus_decompose_pages()
1055 {
1056 int page_idx = -1, char_idx, i;
1057 uint16_t *rpt, *page_pt, *value_pt;
1058 int page_count = 0;
1059
1060 memset(decompose_pages, 0, 16 * HFSPLUS_DECOMPOSE_PAGE_SIZE);
1061 for (i = 0; i < 256; i++)
1062 hfsplus_decompose_pages[i] = NULL;
1063
1064 rpt = (uint16_t *) decompose_page_data;
1065 page_pt = (uint16_t *) decompose_pages;
1066 while (1) {
1067 if (*rpt <= page_idx)
1068 break;
1069 page_count++;
1070 page_idx = *(rpt++);
1071 char_idx = -1;
1072 while (1) {
1073 if(*rpt <= char_idx)
1074 break;
1075 char_idx = *(rpt++);
1076 value_pt = page_pt + char_idx * (HFSPLUS_MAX_DECOMPOSE_LEN + 1);
1077 while (1) {
1078 if(*rpt == 0)
1079 break;
1080 *(value_pt++) = *(rpt++);
1081 }
1082 rpt++;
1083 }
1084 rpt++;
1085 hfsplus_decompose_pages[page_idx] =
1086 decompose_pages + (page_count - 1) * 256;
1087 page_pt += HFSPLUS_DECOMPOSE_PAGE_SIZE;
1088 }
1089 }
1090