-rw-r--r-- | qmake/tools/qstring.cpp | 17867 |
1 files changed, 17867 insertions, 0 deletions
diff --git a/qmake/tools/qstring.cpp b/qmake/tools/qstring.cpp new file mode 100644 index 0000000..56df62b --- a/dev/null +++ b/qmake/tools/qstring.cpp | |||
@@ -0,0 +1,17867 @@ | |||
1 | /**************************************************************************** | ||
2 | ** $Id$ | ||
3 | ** | ||
4 | ** Implementation of the QString class and related Unicode functions | ||
5 | ** | ||
6 | ** Created : 920722 | ||
7 | ** | ||
8 | ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. | ||
9 | ** | ||
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
11 | ** | ||
12 | ** This file may be distributed under the terms of the Q Public License | ||
13 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
14 | ** LICENSE.QPL included in the packaging of this file. | ||
15 | ** | ||
16 | ** This file may be distributed and/or modified under the terms of the | ||
17 | ** GNU General Public License version 2 as published by the Free Software | ||
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
19 | ** packaging of this file. | ||
20 | ** | ||
21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
22 | ** licenses may use this file in accordance with the Qt Commercial License | ||
23 | ** Agreement provided with the Software. | ||
24 | ** | ||
25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
27 | ** | ||
28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
29 | ** information about Qt Commercial License Agreements. | ||
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
32 | ** | ||
33 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
34 | ** not clear to you. | ||
35 | ** | ||
36 | **********************************************************************/ | ||
37 | |||
38 | // Don't define it while compiling this module, or USERS of Qt will | ||
39 | // not be able to link. | ||
40 | #ifdef QT_NO_CAST_ASCII | ||
41 | #undef QT_NO_CAST_ASCII | ||
42 | #endif | ||
43 | |||
44 | #include "qstring.h" | ||
45 | #include "qregexp.h" | ||
46 | #include "qdatastream.h" | ||
47 | #ifndef QT_NO_TEXTCODEC | ||
48 | #include "qtextcodec.h" | ||
49 | #endif | ||
50 | #include <ctype.h> | ||
51 | #include <limits.h> | ||
52 | #include <stdarg.h> | ||
53 | #include <stdio.h> | ||
54 | #include <stdlib.h> | ||
55 | #if defined(Q_WS_WIN) | ||
56 | #include "qt_windows.h" | ||
57 | #endif | ||
58 | #if !defined( QT_NO_COMPONENT ) && !defined( QT_LITE_COMPONENT ) | ||
59 | #include "qcleanuphandler.h" | ||
60 | #endif | ||
61 | |||
62 | |||
63 | /* ------------------------------------------------------------------------- | ||
64 | * unicode information | ||
65 | * these tables are generated from the unicode reference file | ||
66 | * ftp://ftp.unicode.org/Public/3.2-Update/UnicodeData.txt | ||
67 | * | ||
68 | * Lars | ||
69 | * ------------------------------------------------------------------------- | ||
70 | */ | ||
71 | |||
72 | /* Perl script to generate (run perl -x tools/qstring.cpp) | ||
73 | |||
74 | #!perl | ||
75 | |||
76 | sub numberize | ||
77 | { | ||
78 | my(%r, $n, $id); | ||
79 | for $id ( @_ ) { | ||
80 | $i = $id; | ||
81 | $i="" if $i eq "EMPTY"; | ||
82 | $r{$i}=$n++; | ||
83 | } | ||
84 | return %r; | ||
85 | } | ||
86 | |||
87 | |||
88 | sub readUnicodeDataLine { | ||
89 | $code = shift @_; | ||
90 | for $n (qw{ | ||
91 | name category combining_class bidi_category | ||
92 | character_decomposition decimal_digit_value digit_value | ||
93 | numeric_value mirrored oldname comment | ||
94 | uppercase lowercase titlecase}) | ||
95 | { | ||
96 | $id = shift @_; | ||
97 | $codes = "${n}_code"; | ||
98 | if ( defined %$codes && defined $$codes{$id} ) { | ||
99 | $id = $$codes{$id}; | ||
100 | } | ||
101 | ${$n}{$code}=$id; | ||
102 | } | ||
103 | $decomp = $character_decomposition{$code}; | ||
104 | if ( length $decomp == 0 ) { | ||
105 | $decomp = "<single>"; | ||
106 | } | ||
107 | if (substr($decomp, 0, 1) ne '<') { | ||
108 | $decomp = "<canonical> " . $decomp; | ||
109 | } | ||
110 | @_ = split(" ", $decomp); | ||
111 | $tag = shift @_; | ||
112 | $tag = $character_decomposition_tag{$tag}; | ||
113 | $decomp = join( ", 0x", @_ ); | ||
114 | $decomp = "0x".$decomp; | ||
115 | $decomposition{$code} = $decomp; | ||
116 | $decomposition_tag{$code} = $tag; | ||
117 | $decomposition_pos{$code} = $position; | ||
118 | $len = scalar(@_); | ||
119 | $decomposition_len{$code} = $len; | ||
120 | |||
121 | # we use canonical decompositions longer than 1 char | ||
122 | # we exlude Arabic ligatures from the table | ||
123 | if($len > 1 and $tag == 1) { | ||
124 | # ligature to add... | ||
125 | $start = shift @_; | ||
126 | $ligature{$start} = $ligature{$start}." ".$code; | ||
127 | } | ||
128 | |||
129 | # adjust position | ||
130 | if($len != 0) { | ||
131 | $position += $len + 3; | ||
132 | } | ||
133 | } | ||
134 | |||
135 | |||
136 | # Code to integer mappings... | ||
137 | # | ||
138 | %category_code = numberize(qw{ | ||
139 | EMPTY | ||
140 | Mn Mc Me | ||
141 | Nd Nl No | ||
142 | Zs Zl Zp | ||
143 | Cc Cf Cs Co Cn | ||
144 | |||
145 | Lu Ll Lt Lm Lo | ||
146 | Pc Pd Ps Pe Pi Pf Po | ||
147 | Sm Sc Sk So | ||
148 | }); | ||
149 | %bidi_category_code = numberize(qw{ | ||
150 | L R EN ES ET AN CS B S WS ON LRE LRO AL RLE RLO PDF NSM BN}); | ||
151 | %character_decomposition_tag = numberize(qw{ | ||
152 | <single> <canonical> <font> <noBreak> <initial> <medial> | ||
153 | <final> <isolated> <circle> <super> <sub> <vertical> | ||
154 | <wide> <narrow> <small> <square> <compat> <fraction> | ||
155 | }); | ||
156 | %mirrored_code = numberize(qw{N Y}); | ||
157 | |||
158 | %joining_code = numberize(qw{U D R C}); | ||
159 | |||
160 | # Read data into hashes... | ||
161 | # | ||
162 | open IN, "UnicodeData.txt"; | ||
163 | $position = 1; | ||
164 | while (<IN>) { | ||
165 | @fields = split /;/; | ||
166 | if ( length($fields[0]) < 5 ) { | ||
167 | if ( $fields[1] =~ /, First>/ ) { | ||
168 | $codeRangeBegin = $fields[0]; | ||
169 | } elsif ( $fields[1] =~ /, Last>/ ) { | ||
170 | for ( $i=hex($codeRangeBegin); $i<=hex($fields[0]); $i+=1 ) { | ||
171 | @fields2 = @fields; | ||
172 | $fields2[0] = sprintf "%lX", $i; | ||
173 | readUnicodeDataLine @fields2; | ||
174 | } | ||
175 | } else { | ||
176 | readUnicodeDataLine @fields; | ||
177 | } | ||
178 | } | ||
179 | } | ||
180 | |||
181 | open IN2, "ArabicShaping.txt"; | ||
182 | $position = 1; | ||
183 | while (<IN2>) { | ||
184 | @fields = split /;/; | ||
185 | $code = shift @fields; | ||
186 | $dummy = shift @fields; | ||
187 | $join = shift @fields; | ||
188 | $join =~ s/ //g; | ||
189 | $join = $joining_code{$join}; | ||
190 | $joining{$code}=$join; | ||
191 | } | ||
192 | |||
193 | # Build pages... | ||
194 | # | ||
195 | $rowtable_txt = | ||
196 | "static const Q_UINT8 * const unicode_info[256] = {"; | ||
197 | for $row ( 0..255 ) { | ||
198 | $nonzero=0; | ||
199 | $txt = ""; | ||
200 | for $cell ( 0..255 ) { | ||
201 | $code = sprintf("%02X%02X",$row,$cell); | ||
202 | $info = $category{$code}; | ||
203 | $info = 0 if !defined $info; | ||
204 | $txt .= "\n " if $cell%8 == 0; | ||
205 | $txt .= "$info, "; | ||
206 | } | ||
207 | $therow = $row{$txt}; | ||
208 | if ( !defined $therow ) { | ||
209 | $size+=256; | ||
210 | $therow = "ui_".sprintf("%02X",$row); | ||
211 | $rowtext{$therow} = | ||
212 | "static const Q_UINT8 ${therow}[] = {$txt\n};\n\n"; | ||
213 | $row{$txt}=$therow; | ||
214 | } | ||
215 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
216 | $rowtable_txt .= "$therow, "; | ||
217 | } | ||
218 | |||
219 | print "// START OF GENERATED DATA\n\n"; | ||
220 | print "#ifndef QT_NO_UNICODETABLES\n\n"; | ||
221 | |||
222 | # Print pages... | ||
223 | # | ||
224 | for $r ( sort keys %rowtext ) { | ||
225 | print $rowtext{$r}; | ||
226 | } | ||
227 | print "$rowtable_txt\n};\n"; | ||
228 | $size += 256*4; | ||
229 | print "// $size bytes\n\n"; | ||
230 | |||
231 | # Build decomposition tables | ||
232 | # | ||
233 | $rowtable_txt = | ||
234 | "static const Q_UINT16 * const decomposition_info[256] = {"; | ||
235 | $table_txt = | ||
236 | "static const Q_UINT16 decomposition_map[] = {\n 0,\n"; | ||
237 | for $row ( 0..255 ) { | ||
238 | $nonzero=0; | ||
239 | $txt = ""; | ||
240 | for $cell ( 0..255 ) { | ||
241 | $code = sprintf("%02X%02X",$row,$cell); | ||
242 | $txt .= "\n " if $cell%8 == 0; | ||
243 | if( $decomposition_tag{$code} != 0 ) { | ||
244 | $txt .= " $decomposition_pos{$code},"; | ||
245 | $table_txt .= " $decomposition_tag{$code},"; | ||
246 | $table_txt .= " 0x$code,"; | ||
247 | $table_txt .= " $decomposition{$code}, 0,\n"; | ||
248 | $size += 2 * $decomposition_len{$code} + 6; | ||
249 | } else { | ||
250 | $txt .= " 0,"; | ||
251 | } | ||
252 | } | ||
253 | $therow = $row{$txt}; | ||
254 | if ( !defined $therow ) { | ||
255 | $size+=512; | ||
256 | $therow = "di_".sprintf("%02X",$row); | ||
257 | $dec_rowtext{$therow} = | ||
258 | "static const Q_UINT16 ${therow}[] = {$txt\n};\n\n"; | ||
259 | $row{$txt}=$therow; | ||
260 | } | ||
261 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
262 | $rowtable_txt .= "$therow, "; | ||
263 | } | ||
264 | |||
265 | # Print decomposition tables | ||
266 | # | ||
267 | print "$table_txt\n};\n\n"; | ||
268 | for $r ( sort keys %dec_rowtext ) { | ||
269 | print $dec_rowtext{$r}; | ||
270 | } | ||
271 | print "$rowtable_txt\n};\n"; | ||
272 | $size += 256*4; | ||
273 | print "// $size bytes\n\n"; | ||
274 | |||
275 | |||
276 | # build ligature tables | ||
277 | # | ||
278 | $size = 0; | ||
279 | $position = 1; | ||
280 | $rowtable_txt = | ||
281 | "static const Q_UINT16 * const ligature_info[256] = {"; | ||
282 | $table_txt = | ||
283 | "static const Q_UINT16 ligature_map[] = {\n 0,\n"; | ||
284 | for $lig_row ( 0..255 ) { | ||
285 | $nonzero=0; | ||
286 | $txt = ""; | ||
287 | for $cell ( 0..255 ) { | ||
288 | $code = sprintf("%02X%02X",$lig_row,$cell); | ||
289 | $txt .= "\n " if $cell%8 == 0; | ||
290 | if( defined $ligature{$code} ) { | ||
291 | $txt .= " $position,"; | ||
292 | @ligature = split(" ", $ligature{$code}); | ||
293 | # we need to sort ligatures according to their length. | ||
294 | # long ones have to come first! | ||
295 | @ligature_sort = sort { $decomposition_len{$b} <=> $decomposition_len{$a} } @ligature; | ||
296 | # now replace each code by its position in | ||
297 | # the decomposition map. | ||
298 | undef(@lig_pos); | ||
299 | for $n (@ligature_sort) { | ||
300 | push(@lig_pos, $decomposition_pos{$n}); | ||
301 | } | ||
302 | # debug info | ||
303 | if( 0 ) { | ||
304 | print "ligatures: $ligature{$code}\n"; | ||
305 | $sort = join(" ", @ligature_sort); | ||
306 | print "sorted : $sort\n"; | ||
307 | } | ||
308 | $lig = join(", ", @lig_pos); | ||
309 | $table_txt .= " $lig, 0,\n"; | ||
310 | $size += 2 * scalar(@ligature) + 2; | ||
311 | $position += scalar(@ligature) + 1; | ||
312 | } else { | ||
313 | $txt .= " 0,"; | ||
314 | } | ||
315 | } | ||
316 | $therow = $lig_row{$txt}; | ||
317 | if ( !defined $therow ) { | ||
318 | $size+=512; | ||
319 | $therow = "li_".sprintf("%02X",$lig_row); | ||
320 | $lig_rowtext{$therow} = | ||
321 | "static const Q_UINT16 ${therow}[] = {$txt\n};\n\n"; | ||
322 | $lig_row{$txt}=$therow; | ||
323 | } | ||
324 | $rowtable_txt .= "\n " if $lig_row%8 == 0; | ||
325 | $rowtable_txt .= "$therow, "; | ||
326 | } | ||
327 | |||
328 | # Print ligature tables | ||
329 | # | ||
330 | print "$table_txt\n};\n\n"; | ||
331 | for $r ( sort keys %lig_rowtext ) { | ||
332 | print $lig_rowtext{$r}; | ||
333 | } | ||
334 | print "$rowtable_txt\n};\n"; | ||
335 | $size += 256*4; | ||
336 | print "// $size bytes\n\n"; | ||
337 | |||
338 | |||
339 | |||
340 | # Build direction/joining/mirrored pages... | ||
341 | # | ||
342 | $rowtable_txt = | ||
343 | "static const Q_UINT8 * const direction_info[256] = {"; | ||
344 | for $dir_row ( 0..255 ) { | ||
345 | $nonzero=0; | ||
346 | $txt = ""; | ||
347 | for $cell ( 0..255 ) { | ||
348 | $code = sprintf("%02X%02X",$dir_row,$cell); | ||
349 | $dir = $bidi_category{$code}; | ||
350 | $dir = 0 if !defined $dir; | ||
351 | $join = $joining{$code}; | ||
352 | $join = 0 if !defined $join; | ||
353 | $mirr = $mirrored{$code}; | ||
354 | $mirr = 0 if !defined $mirr; | ||
355 | $info = $dir + 32*$join + 128*$mirr; | ||
356 | $txt .= "\n " if $cell%8 == 0; | ||
357 | $txt .= "$info, "; | ||
358 | } | ||
359 | $therow = $dir_row{$txt}; | ||
360 | if ( !defined $therow ) { | ||
361 | $size+=256; | ||
362 | $therow = "dir_".sprintf("%02X",$dir_row); | ||
363 | $dir_rowtext{$therow} = | ||
364 | "static const Q_UINT8 ${therow}[] = {$txt\n};\n\n"; | ||
365 | $dir_row{$txt}=$therow; | ||
366 | } | ||
367 | $rowtable_txt .= "\n " if $dir_row%8 == 0; | ||
368 | $rowtable_txt .= "$therow, "; | ||
369 | } | ||
370 | |||
371 | # Print pages... | ||
372 | # | ||
373 | for $r ( sort keys %dir_rowtext ) { | ||
374 | print $dir_rowtext{$r}; | ||
375 | } | ||
376 | print "$rowtable_txt\n};\n"; | ||
377 | $size += 256*4; | ||
378 | print "// $size bytes\n\n"; | ||
379 | |||
380 | # Build table of combining classes | ||
381 | # | ||
382 | $rowtable_txt = | ||
383 | "static const Q_UINT8 * const combining_info[256] = {"; | ||
384 | for $combining_row ( 0..255 ) { | ||
385 | $nonzero=0; | ||
386 | $txt = ""; | ||
387 | for $cell ( 0..255 ) { | ||
388 | $code = sprintf("%02X%02X",$combining_row,$cell); | ||
389 | $info = $combining_class{$code}; | ||
390 | $info = 0 if !defined $info; | ||
391 | $txt .= "\n " if $cell%8 == 0; | ||
392 | $txt .= "$info, "; | ||
393 | } | ||
394 | $therow = $combining_row{$txt}; | ||
395 | if ( !defined $therow ) { | ||
396 | $size+=256; | ||
397 | $therow = "cmb_".sprintf("%02X",$combining_row); | ||
398 | $combining_rowtext{$therow} = | ||
399 | "static const Q_UINT8 ${therow}[] = {$txt\n};\n\n"; | ||
400 | $combining_row{$txt}=$therow; | ||
401 | } | ||
402 | $rowtable_txt .= "\n " if $combining_row%8 == 0; | ||
403 | $rowtable_txt .= "$therow, "; | ||
404 | } | ||
405 | |||
406 | # Print pages... | ||
407 | # | ||
408 | for $r ( sort keys %combining_rowtext ) { | ||
409 | print $combining_rowtext{$r}; | ||
410 | } | ||
411 | print "$rowtable_txt\n};\n"; | ||
412 | $size += 256*4; | ||
413 | print "// $size bytes\n\n"; | ||
414 | |||
415 | # Build case info | ||
416 | # | ||
417 | $rowtable_txt = | ||
418 | "static const Q_UINT16 * const case_info[256] = {"; | ||
419 | for $row ( 0..255 ) { | ||
420 | $nonzero=0; | ||
421 | $txt = ""; | ||
422 | for $cell ( 0..255 ) { | ||
423 | $code = sprintf("%02X%02X",$row,$cell); | ||
424 | $info = $uppercase{$code}; | ||
425 | if ( length( $info ) eq 0 ) { | ||
426 | $info = $lowercase{$code}; | ||
427 | } | ||
428 | $info =~ s/^0+//; | ||
429 | if ( length( $info ) eq 0 ) { | ||
430 | $info = "0"; | ||
431 | } else { | ||
432 | $info = "0x".lc($info); | ||
433 | } | ||
434 | if ( length( $info ) ne 1 ) { | ||
435 | $nonzero = 1; | ||
436 | } | ||
437 | $txt .= "\n " if $cell%8 == 0; | ||
438 | $txt .= "$info, "; | ||
439 | } | ||
440 | $therow = $case_row{$txt}; | ||
441 | if ( !defined $therow && $nonzero ne 0 ) { | ||
442 | $size+=512; | ||
443 | $therow = "case_".sprintf("%02X",$row); | ||
444 | $case_rowtext{$therow} = | ||
445 | "static const Q_UINT16 ${therow}[] = {$txt\n};\n\n"; | ||
446 | $case_row{$txt}=$therow; | ||
447 | } | ||
448 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
449 | if ( $nonzero ne 0 ) { | ||
450 | $rowtable_txt .= "$therow, "; | ||
451 | } else { | ||
452 | $rowtable_txt .= "0, "; | ||
453 | } | ||
454 | } | ||
455 | |||
456 | # Print pages... | ||
457 | # | ||
458 | for $r ( sort keys %case_rowtext ) { | ||
459 | print $case_rowtext{$r}; | ||
460 | } | ||
461 | print "$rowtable_txt\n};\n"; | ||
462 | $size += 256*4; | ||
463 | print "// $size bytes\n\n"; | ||
464 | |||
465 | # Build decimal info | ||
466 | # | ||
467 | $rowtable_txt = | ||
468 | "static const Q_INT8 * const decimal_info[256] = {"; | ||
469 | for $row ( 0..255 ) { | ||
470 | $nonzero=0; | ||
471 | $txt = ""; | ||
472 | for $cell ( 0..255 ) { | ||
473 | $code = sprintf("%02X%02X",$row,$cell); | ||
474 | $info = $digit_value{$code}; | ||
475 | if ( length( $info ) eq 0 ) { | ||
476 | $info = -1; | ||
477 | } else { | ||
478 | $nonzero = 1; | ||
479 | } | ||
480 | $txt .= "\n " if $cell%8 == 0; | ||
481 | $txt .= "$info, "; | ||
482 | } | ||
483 | $therow = $decimal_row{$txt}; | ||
484 | if ( !defined $therow && $nonzero ne 0 ) { | ||
485 | $size+=512; | ||
486 | $therow = "num_".sprintf("%02X",$row); | ||
487 | $decimal_rowtext{$therow} = | ||
488 | "static const Q_INT8 ${therow}[] = {$txt\n};\n\n"; | ||
489 | $decimal_row{$txt}=$therow; | ||
490 | } | ||
491 | $rowtable_txt .= "\n " if $row%8 == 0; | ||
492 | if ( $nonzero ne 0 ) { | ||
493 | $rowtable_txt .= "$therow, "; | ||
494 | } else { | ||
495 | $rowtable_txt .= "0, "; | ||
496 | } | ||
497 | } | ||
498 | |||
499 | # Print pages... | ||
500 | # | ||
501 | for $r ( sort keys %decimal_rowtext ) { | ||
502 | print $decimal_rowtext{$r}; | ||
503 | } | ||
504 | print "$rowtable_txt\n};\n"; | ||
505 | $size += 256*4; | ||
506 | print "// $size bytes\n\n"; | ||
507 | |||
508 | |||
509 | |||
510 | print "#endif\n\n"; | ||
511 | print "// END OF GENERATED DATA\n\n"; | ||
512 | |||
513 | |||
514 | |||
515 | __END__ | ||
516 | |||
517 | */ | ||
518 | |||
519 | // START OF GENERATED DATA | ||
520 | |||
521 | static const Q_UINT8 ui_00[] = { | ||
522 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
523 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
524 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
525 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
526 | 7, 26, 26, 26, 28, 26, 26, 26, | ||
527 | 22, 23, 26, 27, 26, 21, 26, 26, | ||
528 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
529 | 4, 4, 26, 26, 27, 27, 27, 26, | ||
530 | 26, 15, 15, 15, 15, 15, 15, 15, | ||
531 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
532 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
533 | 15, 15, 15, 22, 26, 23, 29, 20, | ||
534 | 29, 16, 16, 16, 16, 16, 16, 16, | ||
535 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
536 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
537 | 16, 16, 16, 22, 27, 23, 27, 10, | ||
538 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
539 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
540 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
541 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
542 | 7, 26, 28, 28, 28, 28, 30, 30, | ||
543 | 29, 30, 16, 24, 27, 21, 30, 29, | ||
544 | 30, 27, 6, 6, 29, 16, 30, 26, | ||
545 | 29, 6, 16, 25, 6, 6, 6, 26, | ||
546 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
547 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
548 | 15, 15, 15, 15, 15, 15, 15, 27, | ||
549 | 15, 15, 15, 15, 15, 15, 15, 16, | ||
550 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
551 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
552 | 16, 16, 16, 16, 16, 16, 16, 27, | ||
553 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
554 | }; | ||
555 | |||
556 | #ifndef QT_NO_UNICODETABLES | ||
557 | |||
558 | static const Q_UINT8 ui_01[] = { | ||
559 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
560 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
561 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
562 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
563 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
564 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
565 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
566 | 16, 15, 16, 15, 16, 15, 16, 15, | ||
567 | 16, 15, 16, 15, 16, 15, 16, 15, | ||
568 | 16, 16, 15, 16, 15, 16, 15, 16, | ||
569 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
570 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
571 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
572 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
573 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
574 | 15, 15, 16, 15, 16, 15, 16, 16, | ||
575 | 16, 15, 15, 16, 15, 16, 15, 15, | ||
576 | 16, 15, 15, 15, 16, 16, 15, 15, | ||
577 | 15, 15, 16, 15, 15, 16, 15, 15, | ||
578 | 15, 16, 16, 16, 15, 15, 16, 15, | ||
579 | 15, 16, 15, 16, 15, 16, 15, 15, | ||
580 | 16, 15, 16, 16, 15, 16, 15, 15, | ||
581 | 16, 15, 15, 15, 16, 15, 16, 15, | ||
582 | 15, 16, 16, 19, 15, 16, 16, 16, | ||
583 | 19, 19, 19, 19, 15, 17, 16, 15, | ||
584 | 17, 16, 15, 17, 16, 15, 16, 15, | ||
585 | 16, 15, 16, 15, 16, 15, 16, 15, | ||
586 | 16, 15, 16, 15, 16, 16, 15, 16, | ||
587 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
588 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
589 | 16, 15, 17, 16, 15, 16, 15, 15, | ||
590 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
591 | }; | ||
592 | |||
593 | static const Q_UINT8 ui_02[] = { | ||
594 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
595 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
596 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
597 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
598 | 15, 0, 15, 16, 15, 16, 15, 16, | ||
599 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
600 | 15, 16, 15, 16, 0, 0, 0, 0, | ||
601 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
602 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
603 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
604 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
605 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
606 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
607 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
608 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
609 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
610 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
611 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
612 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
613 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
614 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
615 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
616 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
617 | 18, 29, 29, 18, 18, 18, 18, 18, | ||
618 | 18, 18, 29, 29, 29, 29, 29, 29, | ||
619 | 29, 29, 29, 29, 29, 29, 29, 29, | ||
620 | 18, 18, 29, 29, 29, 29, 29, 29, | ||
621 | 29, 29, 29, 29, 29, 29, 29, 29, | ||
622 | 18, 18, 18, 18, 18, 29, 29, 29, | ||
623 | 29, 29, 29, 29, 29, 29, 18, 0, | ||
624 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
625 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
626 | }; | ||
627 | |||
628 | static const Q_UINT8 ui_03[] = { | ||
629 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
630 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
631 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
632 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
633 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
634 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
635 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
636 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
637 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
638 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
639 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
640 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
641 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
642 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
643 | 0, 0, 0, 0, 29, 29, 0, 0, | ||
644 | 0, 0, 18, 0, 0, 0, 26, 0, | ||
645 | 0, 0, 0, 0, 29, 29, 15, 26, | ||
646 | 15, 15, 15, 0, 15, 0, 15, 15, | ||
647 | 16, 15, 15, 15, 15, 15, 15, 15, | ||
648 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
649 | 15, 15, 0, 15, 15, 15, 15, 15, | ||
650 | 15, 15, 15, 15, 16, 16, 16, 16, | ||
651 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
652 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
653 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
654 | 16, 16, 16, 16, 16, 16, 16, 0, | ||
655 | 16, 16, 15, 15, 15, 16, 16, 16, | ||
656 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
657 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
658 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
659 | 16, 16, 16, 16, 15, 16, 27, 0, | ||
660 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
661 | }; | ||
662 | |||
663 | static const Q_UINT8 ui_04[] = { | ||
664 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
665 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
666 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
667 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
668 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
669 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
670 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
671 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
672 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
673 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
674 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
675 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
676 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
677 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
678 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
679 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
680 | 15, 16, 30, 1, 1, 1, 1, 0, | ||
681 | 3, 3, 15, 16, 15, 16, 15, 16, | ||
682 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
683 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
684 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
685 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
686 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
687 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
688 | 15, 15, 16, 15, 16, 15, 16, 15, | ||
689 | 16, 15, 16, 15, 16, 15, 16, 0, | ||
690 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
691 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
692 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
693 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
694 | 15, 16, 15, 16, 15, 16, 0, 0, | ||
695 | 15, 16, 0, 0, 0, 0, 0, 0, | ||
696 | }; | ||
697 | |||
698 | static const Q_UINT8 ui_05[] = { | ||
699 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
700 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
701 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
702 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
703 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
705 | 0, 15, 15, 15, 15, 15, 15, 15, | ||
706 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
707 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
708 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
709 | 15, 15, 15, 15, 15, 15, 15, 0, | ||
710 | 0, 18, 26, 26, 26, 26, 26, 26, | ||
711 | 0, 16, 16, 16, 16, 16, 16, 16, | ||
712 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
713 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
714 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
715 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
716 | 0, 26, 21, 0, 0, 0, 0, 0, | ||
717 | 0, 1, 1, 1, 1, 1, 1, 1, | ||
718 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
719 | 1, 1, 0, 1, 1, 1, 1, 1, | ||
720 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
721 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
722 | 1, 1, 0, 1, 1, 1, 26, 1, | ||
723 | 26, 1, 1, 26, 1, 0, 0, 0, | ||
724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
725 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
726 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
727 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
728 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
729 | 19, 19, 19, 26, 26, 0, 0, 0, | ||
730 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
731 | }; | ||
732 | |||
733 | static const Q_UINT8 ui_06[] = { | ||
734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
735 | 0, 0, 0, 0, 26, 0, 0, 0, | ||
736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
737 | 0, 0, 0, 26, 0, 0, 0, 26, | ||
738 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
739 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
740 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
741 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
742 | 18, 19, 19, 19, 19, 19, 19, 19, | ||
743 | 19, 19, 19, 1, 1, 1, 1, 1, | ||
744 | 1, 1, 1, 1, 1, 1, 0, 0, | ||
745 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
746 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
747 | 4, 4, 26, 26, 26, 26, 19, 19, | ||
748 | 1, 19, 19, 19, 19, 19, 19, 19, | ||
749 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
750 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
751 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
752 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
753 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
754 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
755 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
756 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
757 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
758 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
759 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
760 | 19, 19, 19, 19, 26, 19, 1, 1, | ||
761 | 1, 1, 1, 1, 1, 11, 3, 1, | ||
762 | 1, 1, 1, 1, 1, 18, 18, 1, | ||
763 | 1, 30, 1, 1, 1, 1, 0, 0, | ||
764 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
765 | 4, 4, 19, 19, 19, 30, 30, 0, | ||
766 | }; | ||
767 | |||
768 | static const Q_UINT8 ui_07[] = { | ||
769 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
770 | 26, 26, 26, 26, 26, 26, 0, 11, | ||
771 | 19, 1, 19, 19, 19, 19, 19, 19, | ||
772 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
773 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
774 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
775 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
776 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
777 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
778 | 1, 1, 1, 0, 0, 0, 0, 0, | ||
779 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
780 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
781 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
782 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
785 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
786 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
787 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
788 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
789 | 19, 19, 19, 19, 19, 19, 1, 1, | ||
790 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
791 | 1, 19, 0, 0, 0, 0, 0, 0, | ||
792 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
797 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
801 | }; | ||
802 | |||
803 | static const Q_UINT8 ui_08[] = { | ||
804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
811 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
813 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
815 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
817 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
818 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
819 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
821 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
833 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
834 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
835 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
836 | }; | ||
837 | |||
838 | static const Q_UINT8 ui_09[] = { | ||
839 | 0, 1, 1, 2, 0, 19, 19, 19, | ||
840 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
841 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
842 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
843 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
844 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
845 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
846 | 19, 19, 0, 0, 1, 19, 2, 2, | ||
847 | 2, 1, 1, 1, 1, 1, 1, 1, | ||
848 | 1, 2, 2, 2, 2, 1, 0, 0, | ||
849 | 19, 1, 1, 1, 1, 0, 0, 0, | ||
850 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
851 | 19, 19, 1, 1, 26, 26, 4, 4, | ||
852 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
853 | 26, 0, 0, 0, 0, 0, 0, 0, | ||
854 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
855 | 0, 1, 2, 2, 0, 19, 19, 19, | ||
856 | 19, 19, 19, 19, 19, 0, 0, 19, | ||
857 | 19, 0, 0, 19, 19, 19, 19, 19, | ||
858 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
859 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
860 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
861 | 19, 0, 19, 0, 0, 0, 19, 19, | ||
862 | 19, 19, 0, 0, 1, 0, 2, 2, | ||
863 | 2, 1, 1, 1, 1, 0, 0, 2, | ||
864 | 2, 0, 0, 2, 2, 1, 0, 0, | ||
865 | 0, 0, 0, 0, 0, 0, 0, 2, | ||
866 | 0, 0, 0, 0, 19, 19, 0, 19, | ||
867 | 19, 19, 1, 1, 0, 0, 4, 4, | ||
868 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
869 | 19, 19, 28, 28, 6, 6, 6, 6, | ||
870 | 6, 6, 30, 0, 0, 0, 0, 0, | ||
871 | }; | ||
872 | |||
873 | static const Q_UINT8 ui_0A[] = { | ||
874 | 0, 0, 1, 0, 0, 19, 19, 19, | ||
875 | 19, 19, 19, 0, 0, 0, 0, 19, | ||
876 | 19, 0, 0, 19, 19, 19, 19, 19, | ||
877 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
878 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
879 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
880 | 19, 0, 19, 19, 0, 19, 19, 0, | ||
881 | 19, 19, 0, 0, 1, 0, 2, 2, | ||
882 | 2, 1, 1, 0, 0, 0, 0, 1, | ||
883 | 1, 0, 0, 1, 1, 1, 0, 0, | ||
884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
885 | 0, 19, 19, 19, 19, 0, 19, 0, | ||
886 | 0, 0, 0, 0, 0, 0, 4, 4, | ||
887 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
888 | 1, 1, 19, 19, 19, 0, 0, 0, | ||
889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
890 | 0, 1, 1, 2, 0, 19, 19, 19, | ||
891 | 19, 19, 19, 19, 0, 19, 0, 19, | ||
892 | 19, 19, 0, 19, 19, 19, 19, 19, | ||
893 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
894 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
895 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
896 | 19, 0, 19, 19, 0, 19, 19, 19, | ||
897 | 19, 19, 0, 0, 1, 19, 2, 2, | ||
898 | 2, 1, 1, 1, 1, 1, 0, 1, | ||
899 | 1, 2, 0, 2, 2, 1, 0, 0, | ||
900 | 19, 0, 0, 0, 0, 0, 0, 0, | ||
901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
902 | 19, 0, 0, 0, 0, 0, 4, 4, | ||
903 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
906 | }; | ||
907 | |||
908 | static const Q_UINT8 ui_0B[] = { | ||
909 | 0, 1, 2, 2, 0, 19, 19, 19, | ||
910 | 19, 19, 19, 19, 19, 0, 0, 19, | ||
911 | 19, 0, 0, 19, 19, 19, 19, 19, | ||
912 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
913 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
914 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
915 | 19, 0, 19, 19, 0, 0, 19, 19, | ||
916 | 19, 19, 0, 0, 1, 19, 2, 1, | ||
917 | 2, 1, 1, 1, 0, 0, 0, 2, | ||
918 | 2, 0, 0, 2, 2, 1, 0, 0, | ||
919 | 0, 0, 0, 0, 0, 0, 1, 2, | ||
920 | 0, 0, 0, 0, 19, 19, 0, 19, | ||
921 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
922 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
923 | 30, 0, 0, 0, 0, 0, 0, 0, | ||
924 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
925 | 0, 0, 1, 19, 0, 19, 19, 19, | ||
926 | 19, 19, 19, 0, 0, 0, 19, 19, | ||
927 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
928 | 0, 19, 19, 0, 19, 0, 19, 19, | ||
929 | 0, 0, 0, 19, 19, 0, 0, 0, | ||
930 | 19, 19, 19, 0, 0, 0, 19, 19, | ||
931 | 19, 19, 19, 19, 19, 19, 0, 19, | ||
932 | 19, 19, 0, 0, 0, 0, 2, 2, | ||
933 | 1, 2, 2, 0, 0, 0, 2, 2, | ||
934 | 2, 0, 2, 2, 2, 1, 0, 0, | ||
935 | 0, 0, 0, 0, 0, 0, 0, 2, | ||
936 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
937 | 0, 0, 0, 0, 0, 0, 0, 4, | ||
938 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
939 | 6, 6, 6, 0, 0, 0, 0, 0, | ||
940 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
941 | }; | ||
942 | |||
943 | static const Q_UINT8 ui_0C[] = { | ||
944 | 0, 2, 2, 2, 0, 19, 19, 19, | ||
945 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
946 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
947 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
948 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
949 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
950 | 19, 19, 19, 19, 0, 19, 19, 19, | ||
951 | 19, 19, 0, 0, 0, 0, 1, 1, | ||
952 | 1, 2, 2, 2, 2, 0, 1, 1, | ||
953 | 1, 0, 1, 1, 1, 1, 0, 0, | ||
954 | 0, 0, 0, 0, 0, 1, 1, 0, | ||
955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
956 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
957 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
958 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
959 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
960 | 0, 0, 2, 2, 0, 19, 19, 19, | ||
961 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
962 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
963 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
964 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
965 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
966 | 19, 19, 19, 19, 0, 19, 19, 19, | ||
967 | 19, 19, 0, 0, 0, 0, 2, 1, | ||
968 | 2, 2, 2, 2, 2, 0, 1, 2, | ||
969 | 2, 0, 2, 2, 1, 1, 0, 0, | ||
970 | 0, 0, 0, 0, 0, 2, 2, 0, | ||
971 | 0, 0, 0, 0, 0, 0, 19, 0, | ||
972 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
973 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
975 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
976 | }; | ||
977 | |||
978 | static const Q_UINT8 ui_0D[] = { | ||
979 | 0, 0, 2, 2, 0, 19, 19, 19, | ||
980 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
981 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
982 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
983 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
984 | 19, 0, 19, 19, 19, 19, 19, 19, | ||
985 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
986 | 19, 19, 0, 0, 0, 0, 2, 2, | ||
987 | 2, 1, 1, 1, 0, 0, 2, 2, | ||
988 | 2, 0, 2, 2, 2, 1, 0, 0, | ||
989 | 0, 0, 0, 0, 0, 0, 0, 2, | ||
990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
991 | 19, 19, 0, 0, 0, 0, 4, 4, | ||
992 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
993 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
995 | 0, 0, 2, 2, 0, 19, 19, 19, | ||
996 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
997 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
998 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
999 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1000 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1001 | 19, 19, 0, 19, 19, 19, 19, 19, | ||
1002 | 19, 19, 19, 19, 0, 19, 0, 0, | ||
1003 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1004 | 0, 0, 1, 0, 0, 0, 0, 2, | ||
1005 | 2, 2, 1, 1, 1, 0, 1, 0, | ||
1006 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
1007 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1008 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1009 | 0, 0, 2, 2, 26, 0, 0, 0, | ||
1010 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1011 | }; | ||
1012 | |||
1013 | static const Q_UINT8 ui_0E[] = { | ||
1014 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1015 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1016 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1017 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1018 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1019 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1020 | 19, 1, 19, 19, 1, 1, 1, 1, | ||
1021 | 1, 1, 1, 0, 0, 0, 0, 28, | ||
1022 | 19, 19, 19, 19, 19, 19, 18, 1, | ||
1023 | 1, 1, 1, 1, 1, 1, 1, 26, | ||
1024 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1025 | 4, 4, 26, 26, 0, 0, 0, 0, | ||
1026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1028 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1029 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1030 | 0, 19, 19, 0, 19, 0, 0, 19, | ||
1031 | 19, 0, 19, 0, 0, 19, 0, 0, | ||
1032 | 0, 0, 0, 0, 19, 19, 19, 19, | ||
1033 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1034 | 0, 19, 19, 19, 0, 19, 0, 19, | ||
1035 | 0, 0, 19, 19, 0, 19, 19, 19, | ||
1036 | 19, 1, 19, 19, 1, 1, 1, 1, | ||
1037 | 1, 1, 0, 1, 1, 19, 0, 0, | ||
1038 | 19, 19, 19, 19, 19, 0, 18, 0, | ||
1039 | 1, 1, 1, 1, 1, 1, 0, 0, | ||
1040 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1041 | 4, 4, 0, 0, 19, 19, 0, 0, | ||
1042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1044 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1046 | }; | ||
1047 | |||
1048 | static const Q_UINT8 ui_0F[] = { | ||
1049 | 19, 30, 30, 30, 26, 26, 26, 26, | ||
1050 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1051 | 26, 26, 26, 30, 30, 30, 30, 30, | ||
1052 | 1, 1, 30, 30, 30, 30, 30, 30, | ||
1053 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1054 | 4, 4, 6, 6, 6, 6, 6, 6, | ||
1055 | 6, 6, 6, 6, 30, 1, 30, 1, | ||
1056 | 30, 1, 22, 23, 22, 23, 2, 2, | ||
1057 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1058 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1059 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1060 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1061 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1062 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
1063 | 0, 1, 1, 1, 1, 1, 1, 1, | ||
1064 | 1, 1, 1, 1, 1, 1, 1, 2, | ||
1065 | 1, 1, 1, 1, 1, 26, 1, 1, | ||
1066 | 19, 19, 19, 19, 0, 0, 0, 0, | ||
1067 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1068 | 0, 1, 1, 1, 1, 1, 1, 1, | ||
1069 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1070 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1071 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1072 | 1, 1, 1, 1, 1, 0, 30, 30, | ||
1073 | 30, 30, 30, 30, 30, 30, 1, 30, | ||
1074 | 30, 30, 30, 30, 30, 0, 0, 30, | ||
1075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1079 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1081 | }; | ||
1082 | |||
1083 | static const Q_UINT8 ui_10[] = { | ||
1084 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1085 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1086 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1087 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1088 | 19, 19, 0, 19, 19, 19, 19, 19, | ||
1089 | 0, 19, 19, 0, 2, 1, 1, 1, | ||
1090 | 1, 2, 1, 0, 0, 0, 1, 1, | ||
1091 | 2, 1, 0, 0, 0, 0, 0, 0, | ||
1092 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1093 | 4, 4, 26, 26, 26, 26, 26, 26, | ||
1094 | 19, 19, 19, 19, 19, 19, 2, 2, | ||
1095 | 1, 1, 0, 0, 0, 0, 0, 0, | ||
1096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1104 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1105 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1106 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1107 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1108 | 15, 15, 15, 15, 15, 15, 0, 0, | ||
1109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1110 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1111 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1112 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1113 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1114 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1115 | 19, 0, 0, 26, 0, 0, 0, 0, | ||
1116 | }; | ||
1117 | |||
1118 | static const Q_UINT8 ui_11[] = { | ||
1119 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1120 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1121 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1122 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1123 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1124 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1125 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1126 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1127 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1128 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1129 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1130 | 19, 19, 0, 0, 0, 0, 0, 19, | ||
1131 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1132 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1133 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1134 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1135 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1136 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1137 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1138 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1139 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
1140 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1141 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1142 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1143 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1144 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1145 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1146 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1147 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1148 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1149 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1150 | 19, 19, 0, 0, 0, 0, 0, 0, | ||
1151 | }; | ||
1152 | |||
1153 | static const Q_UINT8 ui_12[] = { | ||
1154 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1155 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1156 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1157 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1158 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1159 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1160 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1161 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1162 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1163 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1164 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1165 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1166 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1167 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1168 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1169 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1170 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1171 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1172 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1173 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1174 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1175 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1176 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1177 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1178 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1179 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1180 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1181 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1182 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1183 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1184 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1185 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1186 | }; | ||
1187 | |||
1188 | static const Q_UINT8 ui_13[] = { | ||
1189 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1190 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1191 | 19, 0, 19, 19, 19, 19, 0, 0, | ||
1192 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1193 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1194 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1195 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1196 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1197 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1198 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1199 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1200 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
1201 | 0, 26, 26, 26, 26, 26, 26, 26, | ||
1202 | 26, 4, 4, 4, 4, 4, 4, 4, | ||
1203 | 4, 4, 6, 6, 6, 6, 6, 6, | ||
1204 | 6, 6, 6, 6, 6, 0, 0, 0, | ||
1205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1209 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1210 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1211 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1212 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1213 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1214 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1215 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1216 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1217 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1218 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1219 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
1220 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1221 | }; | ||
1222 | |||
1223 | static const Q_UINT8 ui_14[] = { | ||
1224 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1225 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1226 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1227 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1228 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1229 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1230 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1231 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1232 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1233 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1234 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1235 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1236 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1237 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1238 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1239 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1240 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1241 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1242 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1243 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1244 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1245 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1246 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1247 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1248 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1249 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1250 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1251 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1252 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1253 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1254 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1255 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1256 | }; | ||
1257 | |||
1258 | static const Q_UINT8 ui_15[] = { | ||
1259 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1260 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1261 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1262 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1263 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1264 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1265 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1266 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1267 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1268 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1269 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1270 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1271 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1272 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1273 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1274 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1275 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1276 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1277 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1278 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1279 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1280 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1281 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1282 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1283 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1284 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1285 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1286 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1287 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1288 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1289 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1290 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1291 | }; | ||
1292 | |||
1293 | static const Q_UINT8 ui_16[] = { | ||
1294 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1295 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1296 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1297 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1298 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1299 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1300 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1301 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1302 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1303 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1304 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1305 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1306 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1307 | 19, 19, 19, 19, 19, 26, 26, 19, | ||
1308 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1310 | 7, 19, 19, 19, 19, 19, 19, 19, | ||
1311 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1312 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1313 | 19, 19, 19, 22, 23, 0, 0, 0, | ||
1314 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1315 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1316 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1317 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1318 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1319 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1320 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1321 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1322 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1323 | 19, 19, 19, 26, 26, 26, 5, 5, | ||
1324 | 5, 0, 0, 0, 0, 0, 0, 0, | ||
1325 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1326 | }; | ||
1327 | |||
1328 | static const Q_UINT8 ui_17[] = { | ||
1329 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1330 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1331 | 19, 19, 1, 1, 1, 0, 0, 0, | ||
1332 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1333 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1334 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1335 | 19, 19, 1, 1, 1, 26, 26, 0, | ||
1336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1337 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1338 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1339 | 19, 19, 1, 1, 0, 0, 0, 0, | ||
1340 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1341 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1342 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
1343 | 19, 0, 1, 1, 0, 0, 0, 0, | ||
1344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1345 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1346 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1347 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1348 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1349 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1350 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1351 | 19, 19, 19, 19, 2, 2, 2, 1, | ||
1352 | 1, 1, 1, 1, 1, 1, 2, 2, | ||
1353 | 2, 2, 2, 2, 2, 2, 1, 2, | ||
1354 | 2, 1, 1, 1, 1, 1, 1, 1, | ||
1355 | 1, 1, 1, 1, 26, 26, 26, 18, | ||
1356 | 26, 26, 26, 28, 19, 0, 0, 0, | ||
1357 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1358 | 4, 4, 0, 0, 0, 0, 0, 0, | ||
1359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1361 | }; | ||
1362 | |||
1363 | static const Q_UINT8 ui_18[] = { | ||
1364 | 26, 26, 26, 26, 26, 26, 21, 26, | ||
1365 | 26, 26, 26, 1, 1, 1, 11, 0, | ||
1366 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
1367 | 4, 4, 0, 0, 0, 0, 0, 0, | ||
1368 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1369 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1370 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1371 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1372 | 19, 19, 19, 18, 19, 19, 19, 19, | ||
1373 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1374 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1375 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1376 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1377 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1378 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1379 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1380 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1381 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1382 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1383 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1384 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1385 | 19, 1, 0, 0, 0, 0, 0, 0, | ||
1386 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1387 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1388 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1389 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1391 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1392 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1393 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1394 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1395 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1396 | }; | ||
1397 | |||
1398 | static const Q_UINT8 ui_1E[] = { | ||
1399 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1400 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1401 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1402 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1403 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1404 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1405 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1406 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1407 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1408 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1409 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1410 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1411 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1412 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1413 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1414 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1415 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1416 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1417 | 15, 16, 15, 16, 15, 16, 16, 16, | ||
1418 | 16, 16, 16, 16, 0, 0, 0, 0, | ||
1419 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1420 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1421 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1422 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1423 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1424 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1425 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1426 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1427 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1428 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1429 | 15, 16, 15, 16, 15, 16, 15, 16, | ||
1430 | 15, 16, 0, 0, 0, 0, 0, 0, | ||
1431 | }; | ||
1432 | |||
1433 | static const Q_UINT8 ui_1F[] = { | ||
1434 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1435 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1436 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
1437 | 15, 15, 15, 15, 15, 15, 0, 0, | ||
1438 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1439 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1440 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1441 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1442 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
1443 | 15, 15, 15, 15, 15, 15, 0, 0, | ||
1444 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1445 | 0, 15, 0, 15, 0, 15, 0, 15, | ||
1446 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1447 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
1448 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1449 | 16, 16, 16, 16, 16, 16, 0, 0, | ||
1450 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1451 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
1452 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1453 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
1454 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1455 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
1456 | 16, 16, 16, 16, 16, 0, 16, 16, | ||
1457 | 15, 15, 15, 15, 17, 29, 16, 29, | ||
1458 | 29, 29, 16, 16, 16, 0, 16, 16, | ||
1459 | 15, 15, 15, 15, 17, 29, 29, 29, | ||
1460 | 16, 16, 16, 16, 0, 0, 16, 16, | ||
1461 | 15, 15, 15, 15, 0, 29, 29, 29, | ||
1462 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
1463 | 15, 15, 15, 15, 15, 29, 29, 29, | ||
1464 | 0, 0, 16, 16, 16, 0, 16, 16, | ||
1465 | 15, 15, 15, 15, 17, 29, 29, 0, | ||
1466 | }; | ||
1467 | |||
1468 | static const Q_UINT8 ui_20[] = { | ||
1469 | 7, 7, 7, 7, 7, 7, 7, 7, | ||
1470 | 7, 7, 7, 7, 11, 11, 11, 11, | ||
1471 | 21, 21, 21, 21, 21, 21, 26, 26, | ||
1472 | 24, 25, 22, 24, 24, 25, 22, 24, | ||
1473 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1474 | 8, 9, 11, 11, 11, 11, 11, 7, | ||
1475 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1476 | 26, 24, 25, 26, 26, 26, 26, 20, | ||
1477 | 20, 26, 26, 26, 27, 22, 23, 26, | ||
1478 | 26, 26, 26, 26, 26, 26, 26, 26, | ||
1479 | 26, 26, 27, 0, 0, 0, 0, 26, | ||
1480 | 0, 0, 0, 0, 0, 0, 0, 7, | ||
1481 | 11, 11, 11, 11, 0, 0, 0, 0, | ||
1482 | 0, 0, 11, 11, 11, 11, 11, 11, | ||
1483 | 6, 16, 0, 0, 6, 6, 6, 6, | ||
1484 | 6, 6, 27, 27, 27, 22, 23, 16, | ||
1485 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1486 | 6, 6, 27, 27, 27, 22, 23, 0, | ||
1487 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1488 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1489 | 28, 28, 28, 28, 28, 28, 28, 28, | ||
1490 | 28, 28, 28, 28, 28, 28, 28, 28, | ||
1491 | 28, 28, 0, 0, 0, 0, 0, 0, | ||
1492 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1493 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1495 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
1496 | 1, 1, 1, 1, 1, 3, 3, 3, | ||
1497 | 3, 1, 3, 3, 3, 1, 1, 1, | ||
1498 | 1, 1, 1, 0, 0, 0, 0, 0, | ||
1499 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1500 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1501 | }; | ||
1502 | |||
1503 | static const Q_UINT8 ui_21[] = { | ||
1504 | 30, 30, 15, 30, 30, 30, 30, 15, | ||
1505 | 30, 30, 16, 15, 15, 15, 16, 16, | ||
1506 | 15, 15, 15, 16, 30, 15, 30, 30, | ||
1507 | 30, 15, 15, 15, 15, 15, 30, 30, | ||
1508 | 30, 30, 30, 30, 15, 30, 15, 30, | ||
1509 | 15, 30, 15, 15, 15, 15, 30, 16, | ||
1510 | 15, 15, 30, 15, 16, 19, 19, 19, | ||
1511 | 19, 16, 30, 0, 0, 16, 15, 15, | ||
1512 | 27, 27, 27, 27, 27, 15, 16, 16, | ||
1513 | 16, 16, 30, 27, 0, 0, 0, 0, | ||
1514 | 0, 0, 0, 6, 6, 6, 6, 6, | ||
1515 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1516 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1517 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1518 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1519 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
1520 | 5, 5, 5, 5, 0, 0, 0, 0, | ||
1521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1522 | 27, 27, 27, 27, 27, 30, 30, 30, | ||
1523 | 30, 30, 27, 27, 30, 30, 30, 30, | ||
1524 | 27, 30, 30, 27, 30, 30, 27, 30, | ||
1525 | 30, 30, 30, 30, 30, 30, 27, 30, | ||
1526 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1527 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1528 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1529 | 30, 30, 30, 30, 30, 30, 27, 27, | ||
1530 | 30, 30, 27, 30, 27, 30, 30, 30, | ||
1531 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1532 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1533 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1534 | 30, 30, 30, 30, 27, 27, 27, 27, | ||
1535 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1536 | }; | ||
1537 | |||
1538 | static const Q_UINT8 ui_22[] = { | ||
1539 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1540 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1541 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1542 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1543 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1544 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1545 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1546 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1547 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1548 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1549 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1550 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1551 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1552 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1553 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1554 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1555 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1556 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1557 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1558 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1559 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1560 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1561 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1562 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1563 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1564 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1565 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1566 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1567 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1568 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1569 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1570 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1571 | }; | ||
1572 | |||
1573 | static const Q_UINT8 ui_23[] = { | ||
1574 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1575 | 27, 27, 27, 27, 30, 30, 30, 30, | ||
1576 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1577 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1578 | 27, 27, 30, 30, 30, 30, 30, 30, | ||
1579 | 30, 22, 23, 30, 30, 30, 30, 30, | ||
1580 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1581 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1582 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1583 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1584 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1585 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1586 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1587 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1588 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1589 | 30, 30, 30, 30, 27, 30, 30, 30, | ||
1590 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1591 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1592 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1593 | 30, 30, 30, 27, 27, 27, 27, 27, | ||
1594 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1595 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1596 | 27, 27, 27, 27, 22, 23, 26, 30, | ||
1597 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1598 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1599 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1600 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1601 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1602 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1603 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1604 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1605 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1606 | }; | ||
1607 | |||
1608 | static const Q_UINT8 ui_24[] = { | ||
1609 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1610 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1611 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1612 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1613 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1614 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1615 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1616 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1617 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1618 | 30, 30, 30, 0, 0, 0, 0, 0, | ||
1619 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1620 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1621 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1622 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1623 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1624 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1625 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1626 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1627 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1628 | 6, 6, 6, 6, 30, 30, 30, 30, | ||
1629 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1630 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1631 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1632 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1633 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1634 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1635 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1636 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1637 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1638 | 30, 30, 6, 6, 6, 6, 6, 6, | ||
1639 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1640 | 6, 6, 6, 6, 6, 6, 6, 0, | ||
1641 | }; | ||
1642 | |||
1643 | static const Q_UINT8 ui_25[] = { | ||
1644 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1645 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1646 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1647 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1648 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1649 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1650 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1651 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1652 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1653 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1654 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1655 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1656 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1657 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1658 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1659 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1660 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1661 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1662 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1663 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1664 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1665 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1666 | 30, 30, 30, 30, 30, 30, 30, 27, | ||
1667 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1668 | 30, 27, 30, 30, 30, 30, 30, 30, | ||
1669 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1670 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1671 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1672 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1673 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1674 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1675 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1676 | }; | ||
1677 | |||
1678 | static const Q_UINT8 ui_26[] = { | ||
1679 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1680 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1681 | 30, 30, 30, 30, 0, 0, 30, 30, | ||
1682 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1683 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1684 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1685 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1686 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1687 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1688 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1689 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1690 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1691 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1692 | 30, 30, 30, 30, 30, 30, 30, 27, | ||
1693 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1694 | 30, 30, 30, 30, 30, 30, 0, 0, | ||
1695 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1696 | 30, 30, 0, 0, 0, 0, 0, 0, | ||
1697 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1698 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1699 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1700 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1701 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1702 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1703 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1705 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1706 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1707 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1708 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1709 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1710 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1711 | }; | ||
1712 | |||
1713 | static const Q_UINT8 ui_27[] = { | ||
1714 | 0, 30, 30, 30, 30, 0, 30, 30, | ||
1715 | 30, 30, 0, 0, 30, 30, 30, 30, | ||
1716 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1717 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1718 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1719 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1720 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1721 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1722 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1723 | 30, 30, 30, 30, 0, 30, 0, 30, | ||
1724 | 30, 30, 30, 0, 0, 0, 30, 0, | ||
1725 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1726 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1727 | 22, 23, 22, 23, 22, 23, 22, 23, | ||
1728 | 22, 23, 22, 23, 22, 23, 6, 6, | ||
1729 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1730 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1731 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1732 | 6, 6, 6, 6, 30, 0, 0, 0, | ||
1733 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1734 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1735 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1736 | 0, 30, 30, 30, 30, 30, 30, 30, | ||
1737 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1740 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1741 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1742 | 27, 27, 27, 27, 27, 27, 22, 23, | ||
1743 | 22, 23, 22, 23, 0, 0, 0, 0, | ||
1744 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1745 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1746 | }; | ||
1747 | |||
1748 | static const Q_UINT8 ui_28[] = { | ||
1749 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1750 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1751 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1752 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1753 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1754 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1755 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1756 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1757 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1758 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1759 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1760 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1761 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1762 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1763 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1764 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1765 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1766 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1767 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1768 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1769 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1770 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1771 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1772 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1773 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1774 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1775 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1776 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1777 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1778 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1779 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1780 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1781 | }; | ||
1782 | |||
1783 | static const Q_UINT8 ui_29[] = { | ||
1784 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1785 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1786 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1787 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1788 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1789 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1790 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1791 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1792 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1793 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1794 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1795 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1796 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1797 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1798 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1799 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1800 | 27, 27, 27, 22, 23, 22, 23, 22, | ||
1801 | 23, 22, 23, 22, 23, 22, 23, 22, | ||
1802 | 23, 22, 23, 22, 23, 22, 23, 22, | ||
1803 | 23, 27, 27, 27, 27, 27, 27, 27, | ||
1804 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1805 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1806 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1807 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1808 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1809 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1810 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1811 | 22, 23, 22, 23, 27, 27, 27, 27, | ||
1812 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1813 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1814 | 27, 27, 27, 27, 27, 27, 27, 27, | ||
1815 | 27, 27, 27, 27, 22, 23, 27, 27, | ||
1816 | }; | ||
1817 | |||
1818 | static const Q_UINT8 ui_2E[] = { | ||
1819 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1821 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1833 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1834 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1835 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1836 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1837 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1838 | 30, 30, 0, 30, 30, 30, 30, 30, | ||
1839 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1840 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1841 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1842 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1843 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1844 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1845 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1846 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1847 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1848 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1849 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1850 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1851 | }; | ||
1852 | |||
1853 | static const Q_UINT8 ui_2F[] = { | ||
1854 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1855 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1856 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1857 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1858 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1859 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1860 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1861 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1862 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1863 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1864 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1865 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1866 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1867 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1868 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1869 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1870 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1871 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1872 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1873 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1874 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1875 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1876 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1877 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1878 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1879 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1880 | 30, 30, 30, 30, 30, 30, 0, 0, | ||
1881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1884 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1885 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1886 | }; | ||
1887 | |||
1888 | static const Q_UINT8 ui_30[] = { | ||
1889 | 7, 26, 26, 26, 30, 18, 19, 5, | ||
1890 | 22, 23, 22, 23, 22, 23, 22, 23, | ||
1891 | 22, 23, 30, 30, 22, 23, 22, 23, | ||
1892 | 22, 23, 22, 23, 21, 22, 23, 23, | ||
1893 | 30, 5, 5, 5, 5, 5, 5, 5, | ||
1894 | 5, 5, 1, 1, 1, 1, 1, 1, | ||
1895 | 21, 18, 18, 18, 18, 18, 30, 30, | ||
1896 | 5, 5, 5, 18, 19, 26, 30, 30, | ||
1897 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1898 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1899 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1900 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1901 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1902 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1903 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1904 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1905 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1906 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1907 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1908 | 0, 1, 1, 29, 29, 18, 18, 19, | ||
1909 | 21, 19, 19, 19, 19, 19, 19, 19, | ||
1910 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1911 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1912 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1913 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1914 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1915 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1916 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1917 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1918 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1919 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1920 | 19, 19, 19, 20, 18, 18, 18, 19, | ||
1921 | }; | ||
1922 | |||
1923 | static const Q_UINT8 ui_31[] = { | ||
1924 | 0, 0, 0, 0, 0, 19, 19, 19, | ||
1925 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1926 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1927 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1928 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1929 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
1930 | 0, 19, 19, 19, 19, 19, 19, 19, | ||
1931 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1932 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1933 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1934 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1935 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1936 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1937 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1938 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1939 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1940 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1941 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
1942 | 30, 30, 6, 6, 6, 6, 30, 30, | ||
1943 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1944 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1945 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1946 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1947 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1948 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1949 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1950 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1951 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1952 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1953 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1954 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1955 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
1956 | }; | ||
1957 | |||
1958 | static const Q_UINT8 ui_32[] = { | ||
1959 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1960 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1961 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1962 | 30, 30, 30, 30, 30, 0, 0, 0, | ||
1963 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1964 | 6, 6, 30, 30, 30, 30, 30, 30, | ||
1965 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1966 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1967 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1968 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
1969 | 0, 6, 6, 6, 6, 6, 6, 6, | ||
1970 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1971 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1972 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1973 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1974 | 30, 30, 30, 30, 0, 0, 0, 30, | ||
1975 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1976 | 6, 6, 30, 30, 30, 30, 30, 30, | ||
1977 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1978 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1979 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1980 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1981 | 30, 6, 6, 6, 6, 6, 6, 6, | ||
1982 | 6, 6, 6, 6, 6, 6, 6, 6, | ||
1983 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1984 | 30, 30, 30, 30, 0, 0, 0, 0, | ||
1985 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1986 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1987 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1988 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1989 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1990 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
1991 | }; | ||
1992 | |||
1993 | static const Q_UINT8 ui_33[] = { | ||
1994 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1995 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1996 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1997 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1998 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
1999 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2000 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2001 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2002 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2003 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2004 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2005 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2006 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2007 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2008 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2009 | 0, 0, 0, 30, 30, 30, 30, 30, | ||
2010 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2011 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2012 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2013 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2014 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2015 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2016 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2017 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2018 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2019 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2020 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2021 | 30, 30, 30, 30, 30, 30, 0, 0, | ||
2022 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2023 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2024 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2025 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2026 | }; | ||
2027 | |||
2028 | static const Q_UINT8 ui_4D[] = { | ||
2029 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2030 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2031 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2032 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2033 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2034 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2035 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2036 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2037 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2038 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2039 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2040 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2041 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2042 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2043 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2044 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2045 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2046 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2047 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2048 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2049 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2050 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2051 | 19, 19, 19, 19, 19, 19, 0, 0, | ||
2052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2061 | }; | ||
2062 | |||
2063 | static const Q_UINT8 ui_9F[] = { | ||
2064 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2065 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2066 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2067 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2068 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2069 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2070 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2071 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2072 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2073 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2074 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2075 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2076 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2077 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2078 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2079 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2080 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2081 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2082 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2083 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2084 | 19, 19, 19, 19, 19, 19, 0, 0, | ||
2085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2088 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2096 | }; | ||
2097 | |||
2098 | static const Q_UINT8 ui_A4[] = { | ||
2099 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2100 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2101 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2102 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2103 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2104 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2105 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2106 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2107 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2108 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2109 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2110 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2111 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2112 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2113 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2114 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2115 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2116 | 19, 19, 19, 19, 19, 0, 0, 0, | ||
2117 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2118 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2119 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2120 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2121 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2122 | 30, 30, 30, 30, 30, 30, 30, 30, | ||
2123 | 30, 30, 30, 30, 30, 30, 30, 0, | ||
2124 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2125 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2131 | }; | ||
2132 | |||
2133 | static const Q_UINT8 ui_D7[] = { | ||
2134 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2135 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2136 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2137 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2138 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2139 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2140 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2141 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2142 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2143 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2144 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2145 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2146 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2147 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2148 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2149 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2150 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2151 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2152 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2153 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2154 | 19, 19, 19, 19, 0, 0, 0, 0, | ||
2155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2166 | }; | ||
2167 | |||
2168 | static const Q_UINT8 ui_D8[] = { | ||
2169 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2170 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2171 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2172 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2173 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2174 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2175 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2176 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2177 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2178 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2179 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2180 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2181 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2182 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2183 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2184 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2185 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2186 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2187 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2188 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2189 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2190 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2191 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2192 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2193 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2194 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2195 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2196 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2197 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2198 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2199 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2200 | 12, 12, 12, 12, 12, 12, 12, 12, | ||
2201 | }; | ||
2202 | |||
2203 | static const Q_UINT8 ui_E0[] = { | ||
2204 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2205 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2206 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2207 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2208 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2209 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2210 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2211 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2212 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2213 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2214 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2215 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2216 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2217 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2218 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2219 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2220 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2221 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2222 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2223 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2224 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2225 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2226 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2227 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2228 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2229 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2230 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2231 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2232 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2233 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2234 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2235 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
2236 | }; | ||
2237 | |||
2238 | static const Q_UINT8 ui_FA[] = { | ||
2239 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2240 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2241 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2242 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2243 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2244 | 19, 19, 19, 19, 19, 19, 0, 0, | ||
2245 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2246 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2247 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2248 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2249 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2250 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2251 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2252 | 19, 19, 19, 0, 0, 0, 0, 0, | ||
2253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2259 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2271 | }; | ||
2272 | |||
2273 | static const Q_UINT8 ui_FB[] = { | ||
2274 | 16, 16, 16, 16, 16, 16, 16, 0, | ||
2275 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2276 | 0, 0, 0, 16, 16, 16, 16, 16, | ||
2277 | 0, 0, 0, 0, 0, 19, 1, 19, | ||
2278 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2279 | 19, 27, 19, 19, 19, 19, 19, 19, | ||
2280 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
2281 | 19, 19, 19, 19, 19, 0, 19, 0, | ||
2282 | 19, 19, 0, 19, 19, 0, 19, 19, | ||
2283 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2284 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2285 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2286 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2287 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2288 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2289 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2290 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2291 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2292 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2293 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2294 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2295 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2296 | 19, 19, 0, 0, 0, 0, 0, 0, | ||
2297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2298 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2300 | 0, 0, 0, 19, 19, 19, 19, 19, | ||
2301 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2302 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2303 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2304 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2305 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2306 | }; | ||
2307 | |||
2308 | static const Q_UINT8 ui_FD[] = { | ||
2309 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2310 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2311 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2312 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2313 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2314 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2315 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2316 | 19, 19, 19, 19, 19, 19, 22, 23, | ||
2317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2318 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2319 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2320 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2321 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2322 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2323 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2324 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2325 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2326 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2327 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2328 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2329 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2330 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2331 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2332 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2333 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2338 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2339 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2340 | 19, 19, 19, 19, 28, 0, 0, 0, | ||
2341 | }; | ||
2342 | |||
2343 | static const Q_UINT8 ui_FE[] = { | ||
2344 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
2345 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
2346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2348 | 1, 1, 1, 1, 0, 0, 0, 0, | ||
2349 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2350 | 26, 21, 21, 20, 20, 22, 23, 22, | ||
2351 | 23, 22, 23, 22, 23, 22, 23, 22, | ||
2352 | 23, 22, 23, 22, 23, 26, 26, 0, | ||
2353 | 0, 26, 26, 26, 26, 20, 20, 20, | ||
2354 | 26, 26, 26, 0, 26, 26, 26, 26, | ||
2355 | 21, 22, 23, 22, 23, 22, 23, 26, | ||
2356 | 26, 26, 27, 21, 27, 27, 27, 0, | ||
2357 | 26, 28, 26, 26, 0, 0, 0, 0, | ||
2358 | 19, 19, 19, 19, 19, 0, 19, 19, | ||
2359 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2360 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2361 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2362 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2363 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2364 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2365 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2366 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2367 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2368 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2369 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2370 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2371 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2372 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2373 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2374 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2375 | 19, 19, 19, 19, 19, 0, 0, 11, | ||
2376 | }; | ||
2377 | |||
2378 | static const Q_UINT8 ui_FF[] = { | ||
2379 | 0, 26, 26, 26, 28, 26, 26, 26, | ||
2380 | 22, 23, 26, 27, 26, 21, 26, 26, | ||
2381 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
2382 | 4, 4, 26, 26, 27, 27, 27, 26, | ||
2383 | 26, 15, 15, 15, 15, 15, 15, 15, | ||
2384 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
2385 | 15, 15, 15, 15, 15, 15, 15, 15, | ||
2386 | 15, 15, 15, 22, 26, 23, 29, 20, | ||
2387 | 29, 16, 16, 16, 16, 16, 16, 16, | ||
2388 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
2389 | 16, 16, 16, 16, 16, 16, 16, 16, | ||
2390 | 16, 16, 16, 22, 27, 23, 27, 22, | ||
2391 | 23, 26, 22, 23, 26, 20, 19, 19, | ||
2392 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2393 | 18, 19, 19, 19, 19, 19, 19, 19, | ||
2394 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2395 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2396 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2397 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2398 | 19, 19, 19, 19, 19, 19, 18, 18, | ||
2399 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2400 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2401 | 19, 19, 19, 19, 19, 19, 19, 19, | ||
2402 | 19, 19, 19, 19, 19, 19, 19, 0, | ||
2403 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2404 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2405 | 0, 0, 19, 19, 19, 19, 19, 19, | ||
2406 | 0, 0, 19, 19, 19, 0, 0, 0, | ||
2407 | 28, 28, 27, 29, 30, 28, 28, 0, | ||
2408 | 30, 27, 27, 27, 27, 30, 30, 0, | ||
2409 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
2410 | 0, 11, 11, 11, 30, 30, 0, 0, | ||
2411 | }; | ||
2412 | |||
2413 | static const Q_UINT8 * const unicode_info[256] = { | ||
2414 | ui_00, ui_01, ui_02, ui_03, ui_04, ui_05, ui_06, ui_07, | ||
2415 | ui_08, ui_09, ui_0A, ui_0B, ui_0C, ui_0D, ui_0E, ui_0F, | ||
2416 | ui_10, ui_11, ui_12, ui_13, ui_14, ui_15, ui_16, ui_17, | ||
2417 | ui_18, ui_08, ui_08, ui_08, ui_08, ui_08, ui_1E, ui_1F, | ||
2418 | ui_20, ui_21, ui_22, ui_23, ui_24, ui_25, ui_26, ui_27, | ||
2419 | ui_28, ui_29, ui_22, ui_08, ui_08, ui_08, ui_2E, ui_2F, | ||
2420 | ui_30, ui_31, ui_32, ui_33, ui_15, ui_15, ui_15, ui_15, | ||
2421 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2422 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2423 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_4D, ui_15, ui_15, | ||
2424 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2425 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2426 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2427 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2428 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2429 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2430 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2431 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2432 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2433 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_9F, | ||
2434 | ui_15, ui_15, ui_15, ui_15, ui_A4, ui_08, ui_08, ui_08, | ||
2435 | ui_08, ui_08, ui_08, ui_08, ui_15, ui_15, ui_15, ui_15, | ||
2436 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2437 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2438 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2439 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, | ||
2440 | ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_15, ui_D7, | ||
2441 | ui_D8, ui_D8, ui_D8, ui_D8, ui_D8, ui_D8, ui_D8, ui_D8, | ||
2442 | ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, | ||
2443 | ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, | ||
2444 | ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, ui_E0, | ||
2445 | ui_E0, ui_15, ui_FA, ui_FB, ui_15, ui_FD, ui_FE, ui_FF, | ||
2446 | }; | ||
2447 | // 14848 bytes | ||
2448 | |||
2449 | static const Q_UINT16 decomposition_map[] = { | ||
2450 | 0, | ||
2451 | 3, 0x00A0, 0x0020, 0, | ||
2452 | 16, 0x00A8, 0x0020, 0x0308, 0, | ||
2453 | 9, 0x00AA, 0x0061, 0, | ||
2454 | 16, 0x00AF, 0x0020, 0x0304, 0, | ||
2455 | 9, 0x00B2, 0x0032, 0, | ||
2456 | 9, 0x00B3, 0x0033, 0, | ||
2457 | 16, 0x00B4, 0x0020, 0x0301, 0, | ||
2458 | 16, 0x00B5, 0x03BC, 0, | ||
2459 | 16, 0x00B8, 0x0020, 0x0327, 0, | ||
2460 | 9, 0x00B9, 0x0031, 0, | ||
2461 | 9, 0x00BA, 0x006F, 0, | ||
2462 | 17, 0x00BC, 0x0031, 0x2044, 0x0034, 0, | ||
2463 | 17, 0x00BD, 0x0031, 0x2044, 0x0032, 0, | ||
2464 | 17, 0x00BE, 0x0033, 0x2044, 0x0034, 0, | ||
2465 | 1, 0x00C0, 0x0041, 0x0300, 0, | ||
2466 | 1, 0x00C1, 0x0041, 0x0301, 0, | ||
2467 | 1, 0x00C2, 0x0041, 0x0302, 0, | ||
2468 | 1, 0x00C3, 0x0041, 0x0303, 0, | ||
2469 | 1, 0x00C4, 0x0041, 0x0308, 0, | ||
2470 | 1, 0x00C5, 0x0041, 0x030A, 0, | ||
2471 | 1, 0x00C7, 0x0043, 0x0327, 0, | ||
2472 | 1, 0x00C8, 0x0045, 0x0300, 0, | ||
2473 | 1, 0x00C9, 0x0045, 0x0301, 0, | ||
2474 | 1, 0x00CA, 0x0045, 0x0302, 0, | ||
2475 | 1, 0x00CB, 0x0045, 0x0308, 0, | ||
2476 | 1, 0x00CC, 0x0049, 0x0300, 0, | ||
2477 | 1, 0x00CD, 0x0049, 0x0301, 0, | ||
2478 | 1, 0x00CE, 0x0049, 0x0302, 0, | ||
2479 | 1, 0x00CF, 0x0049, 0x0308, 0, | ||
2480 | 1, 0x00D1, 0x004E, 0x0303, 0, | ||
2481 | 1, 0x00D2, 0x004F, 0x0300, 0, | ||
2482 | 1, 0x00D3, 0x004F, 0x0301, 0, | ||
2483 | 1, 0x00D4, 0x004F, 0x0302, 0, | ||
2484 | 1, 0x00D5, 0x004F, 0x0303, 0, | ||
2485 | 1, 0x00D6, 0x004F, 0x0308, 0, | ||
2486 | 1, 0x00D9, 0x0055, 0x0300, 0, | ||
2487 | 1, 0x00DA, 0x0055, 0x0301, 0, | ||
2488 | 1, 0x00DB, 0x0055, 0x0302, 0, | ||
2489 | 1, 0x00DC, 0x0055, 0x0308, 0, | ||
2490 | 1, 0x00DD, 0x0059, 0x0301, 0, | ||
2491 | 1, 0x00E0, 0x0061, 0x0300, 0, | ||
2492 | 1, 0x00E1, 0x0061, 0x0301, 0, | ||
2493 | 1, 0x00E2, 0x0061, 0x0302, 0, | ||
2494 | 1, 0x00E3, 0x0061, 0x0303, 0, | ||
2495 | 1, 0x00E4, 0x0061, 0x0308, 0, | ||
2496 | 1, 0x00E5, 0x0061, 0x030A, 0, | ||
2497 | 1, 0x00E7, 0x0063, 0x0327, 0, | ||
2498 | 1, 0x00E8, 0x0065, 0x0300, 0, | ||
2499 | 1, 0x00E9, 0x0065, 0x0301, 0, | ||
2500 | 1, 0x00EA, 0x0065, 0x0302, 0, | ||
2501 | 1, 0x00EB, 0x0065, 0x0308, 0, | ||
2502 | 1, 0x00EC, 0x0069, 0x0300, 0, | ||
2503 | 1, 0x00ED, 0x0069, 0x0301, 0, | ||
2504 | 1, 0x00EE, 0x0069, 0x0302, 0, | ||
2505 | 1, 0x00EF, 0x0069, 0x0308, 0, | ||
2506 | 1, 0x00F1, 0x006E, 0x0303, 0, | ||
2507 | 1, 0x00F2, 0x006F, 0x0300, 0, | ||
2508 | 1, 0x00F3, 0x006F, 0x0301, 0, | ||
2509 | 1, 0x00F4, 0x006F, 0x0302, 0, | ||
2510 | 1, 0x00F5, 0x006F, 0x0303, 0, | ||
2511 | 1, 0x00F6, 0x006F, 0x0308, 0, | ||
2512 | 1, 0x00F9, 0x0075, 0x0300, 0, | ||
2513 | 1, 0x00FA, 0x0075, 0x0301, 0, | ||
2514 | 1, 0x00FB, 0x0075, 0x0302, 0, | ||
2515 | 1, 0x00FC, 0x0075, 0x0308, 0, | ||
2516 | 1, 0x00FD, 0x0079, 0x0301, 0, | ||
2517 | 1, 0x00FF, 0x0079, 0x0308, 0, | ||
2518 | 1, 0x0100, 0x0041, 0x0304, 0, | ||
2519 | 1, 0x0101, 0x0061, 0x0304, 0, | ||
2520 | 1, 0x0102, 0x0041, 0x0306, 0, | ||
2521 | 1, 0x0103, 0x0061, 0x0306, 0, | ||
2522 | 1, 0x0104, 0x0041, 0x0328, 0, | ||
2523 | 1, 0x0105, 0x0061, 0x0328, 0, | ||
2524 | 1, 0x0106, 0x0043, 0x0301, 0, | ||
2525 | 1, 0x0107, 0x0063, 0x0301, 0, | ||
2526 | 1, 0x0108, 0x0043, 0x0302, 0, | ||
2527 | 1, 0x0109, 0x0063, 0x0302, 0, | ||
2528 | 1, 0x010A, 0x0043, 0x0307, 0, | ||
2529 | 1, 0x010B, 0x0063, 0x0307, 0, | ||
2530 | 1, 0x010C, 0x0043, 0x030C, 0, | ||
2531 | 1, 0x010D, 0x0063, 0x030C, 0, | ||
2532 | 1, 0x010E, 0x0044, 0x030C, 0, | ||
2533 | 1, 0x010F, 0x0064, 0x030C, 0, | ||
2534 | 1, 0x0112, 0x0045, 0x0304, 0, | ||
2535 | 1, 0x0113, 0x0065, 0x0304, 0, | ||
2536 | 1, 0x0114, 0x0045, 0x0306, 0, | ||
2537 | 1, 0x0115, 0x0065, 0x0306, 0, | ||
2538 | 1, 0x0116, 0x0045, 0x0307, 0, | ||
2539 | 1, 0x0117, 0x0065, 0x0307, 0, | ||
2540 | 1, 0x0118, 0x0045, 0x0328, 0, | ||
2541 | 1, 0x0119, 0x0065, 0x0328, 0, | ||
2542 | 1, 0x011A, 0x0045, 0x030C, 0, | ||
2543 | 1, 0x011B, 0x0065, 0x030C, 0, | ||
2544 | 1, 0x011C, 0x0047, 0x0302, 0, | ||
2545 | 1, 0x011D, 0x0067, 0x0302, 0, | ||
2546 | 1, 0x011E, 0x0047, 0x0306, 0, | ||
2547 | 1, 0x011F, 0x0067, 0x0306, 0, | ||
2548 | 1, 0x0120, 0x0047, 0x0307, 0, | ||
2549 | 1, 0x0121, 0x0067, 0x0307, 0, | ||
2550 | 1, 0x0122, 0x0047, 0x0327, 0, | ||
2551 | 1, 0x0123, 0x0067, 0x0327, 0, | ||
2552 | 1, 0x0124, 0x0048, 0x0302, 0, | ||
2553 | 1, 0x0125, 0x0068, 0x0302, 0, | ||
2554 | 1, 0x0128, 0x0049, 0x0303, 0, | ||
2555 | 1, 0x0129, 0x0069, 0x0303, 0, | ||
2556 | 1, 0x012A, 0x0049, 0x0304, 0, | ||
2557 | 1, 0x012B, 0x0069, 0x0304, 0, | ||
2558 | 1, 0x012C, 0x0049, 0x0306, 0, | ||
2559 | 1, 0x012D, 0x0069, 0x0306, 0, | ||
2560 | 1, 0x012E, 0x0049, 0x0328, 0, | ||
2561 | 1, 0x012F, 0x0069, 0x0328, 0, | ||
2562 | 1, 0x0130, 0x0049, 0x0307, 0, | ||
2563 | 16, 0x0132, 0x0049, 0x004A, 0, | ||
2564 | 16, 0x0133, 0x0069, 0x006A, 0, | ||
2565 | 1, 0x0134, 0x004A, 0x0302, 0, | ||
2566 | 1, 0x0135, 0x006A, 0x0302, 0, | ||
2567 | 1, 0x0136, 0x004B, 0x0327, 0, | ||
2568 | 1, 0x0137, 0x006B, 0x0327, 0, | ||
2569 | 1, 0x0139, 0x004C, 0x0301, 0, | ||
2570 | 1, 0x013A, 0x006C, 0x0301, 0, | ||
2571 | 1, 0x013B, 0x004C, 0x0327, 0, | ||
2572 | 1, 0x013C, 0x006C, 0x0327, 0, | ||
2573 | 1, 0x013D, 0x004C, 0x030C, 0, | ||
2574 | 1, 0x013E, 0x006C, 0x030C, 0, | ||
2575 | 16, 0x013F, 0x004C, 0x00B7, 0, | ||
2576 | 16, 0x0140, 0x006C, 0x00B7, 0, | ||
2577 | 1, 0x0143, 0x004E, 0x0301, 0, | ||
2578 | 1, 0x0144, 0x006E, 0x0301, 0, | ||
2579 | 1, 0x0145, 0x004E, 0x0327, 0, | ||
2580 | 1, 0x0146, 0x006E, 0x0327, 0, | ||
2581 | 1, 0x0147, 0x004E, 0x030C, 0, | ||
2582 | 1, 0x0148, 0x006E, 0x030C, 0, | ||
2583 | 16, 0x0149, 0x02BC, 0x006E, 0, | ||
2584 | 1, 0x014C, 0x004F, 0x0304, 0, | ||
2585 | 1, 0x014D, 0x006F, 0x0304, 0, | ||
2586 | 1, 0x014E, 0x004F, 0x0306, 0, | ||
2587 | 1, 0x014F, 0x006F, 0x0306, 0, | ||
2588 | 1, 0x0150, 0x004F, 0x030B, 0, | ||
2589 | 1, 0x0151, 0x006F, 0x030B, 0, | ||
2590 | 1, 0x0154, 0x0052, 0x0301, 0, | ||
2591 | 1, 0x0155, 0x0072, 0x0301, 0, | ||
2592 | 1, 0x0156, 0x0052, 0x0327, 0, | ||
2593 | 1, 0x0157, 0x0072, 0x0327, 0, | ||
2594 | 1, 0x0158, 0x0052, 0x030C, 0, | ||
2595 | 1, 0x0159, 0x0072, 0x030C, 0, | ||
2596 | 1, 0x015A, 0x0053, 0x0301, 0, | ||
2597 | 1, 0x015B, 0x0073, 0x0301, 0, | ||
2598 | 1, 0x015C, 0x0053, 0x0302, 0, | ||
2599 | 1, 0x015D, 0x0073, 0x0302, 0, | ||
2600 | 1, 0x015E, 0x0053, 0x0327, 0, | ||
2601 | 1, 0x015F, 0x0073, 0x0327, 0, | ||
2602 | 1, 0x0160, 0x0053, 0x030C, 0, | ||
2603 | 1, 0x0161, 0x0073, 0x030C, 0, | ||
2604 | 1, 0x0162, 0x0054, 0x0327, 0, | ||
2605 | 1, 0x0163, 0x0074, 0x0327, 0, | ||
2606 | 1, 0x0164, 0x0054, 0x030C, 0, | ||
2607 | 1, 0x0165, 0x0074, 0x030C, 0, | ||
2608 | 1, 0x0168, 0x0055, 0x0303, 0, | ||
2609 | 1, 0x0169, 0x0075, 0x0303, 0, | ||
2610 | 1, 0x016A, 0x0055, 0x0304, 0, | ||
2611 | 1, 0x016B, 0x0075, 0x0304, 0, | ||
2612 | 1, 0x016C, 0x0055, 0x0306, 0, | ||
2613 | 1, 0x016D, 0x0075, 0x0306, 0, | ||
2614 | 1, 0x016E, 0x0055, 0x030A, 0, | ||
2615 | 1, 0x016F, 0x0075, 0x030A, 0, | ||
2616 | 1, 0x0170, 0x0055, 0x030B, 0, | ||
2617 | 1, 0x0171, 0x0075, 0x030B, 0, | ||
2618 | 1, 0x0172, 0x0055, 0x0328, 0, | ||
2619 | 1, 0x0173, 0x0075, 0x0328, 0, | ||
2620 | 1, 0x0174, 0x0057, 0x0302, 0, | ||
2621 | 1, 0x0175, 0x0077, 0x0302, 0, | ||
2622 | 1, 0x0176, 0x0059, 0x0302, 0, | ||
2623 | 1, 0x0177, 0x0079, 0x0302, 0, | ||
2624 | 1, 0x0178, 0x0059, 0x0308, 0, | ||
2625 | 1, 0x0179, 0x005A, 0x0301, 0, | ||
2626 | 1, 0x017A, 0x007A, 0x0301, 0, | ||
2627 | 1, 0x017B, 0x005A, 0x0307, 0, | ||
2628 | 1, 0x017C, 0x007A, 0x0307, 0, | ||
2629 | 1, 0x017D, 0x005A, 0x030C, 0, | ||
2630 | 1, 0x017E, 0x007A, 0x030C, 0, | ||
2631 | 16, 0x017F, 0x0073, 0, | ||
2632 | 1, 0x01A0, 0x004F, 0x031B, 0, | ||
2633 | 1, 0x01A1, 0x006F, 0x031B, 0, | ||
2634 | 1, 0x01AF, 0x0055, 0x031B, 0, | ||
2635 | 1, 0x01B0, 0x0075, 0x031B, 0, | ||
2636 | 16, 0x01C4, 0x0044, 0x017D, 0, | ||
2637 | 16, 0x01C5, 0x0044, 0x017E, 0, | ||
2638 | 16, 0x01C6, 0x0064, 0x017E, 0, | ||
2639 | 16, 0x01C7, 0x004C, 0x004A, 0, | ||
2640 | 16, 0x01C8, 0x004C, 0x006A, 0, | ||
2641 | 16, 0x01C9, 0x006C, 0x006A, 0, | ||
2642 | 16, 0x01CA, 0x004E, 0x004A, 0, | ||
2643 | 16, 0x01CB, 0x004E, 0x006A, 0, | ||
2644 | 16, 0x01CC, 0x006E, 0x006A, 0, | ||
2645 | 1, 0x01CD, 0x0041, 0x030C, 0, | ||
2646 | 1, 0x01CE, 0x0061, 0x030C, 0, | ||
2647 | 1, 0x01CF, 0x0049, 0x030C, 0, | ||
2648 | 1, 0x01D0, 0x0069, 0x030C, 0, | ||
2649 | 1, 0x01D1, 0x004F, 0x030C, 0, | ||
2650 | 1, 0x01D2, 0x006F, 0x030C, 0, | ||
2651 | 1, 0x01D3, 0x0055, 0x030C, 0, | ||
2652 | 1, 0x01D4, 0x0075, 0x030C, 0, | ||
2653 | 1, 0x01D5, 0x00DC, 0x0304, 0, | ||
2654 | 1, 0x01D6, 0x00FC, 0x0304, 0, | ||
2655 | 1, 0x01D7, 0x00DC, 0x0301, 0, | ||
2656 | 1, 0x01D8, 0x00FC, 0x0301, 0, | ||
2657 | 1, 0x01D9, 0x00DC, 0x030C, 0, | ||
2658 | 1, 0x01DA, 0x00FC, 0x030C, 0, | ||
2659 | 1, 0x01DB, 0x00DC, 0x0300, 0, | ||
2660 | 1, 0x01DC, 0x00FC, 0x0300, 0, | ||
2661 | 1, 0x01DE, 0x00C4, 0x0304, 0, | ||
2662 | 1, 0x01DF, 0x00E4, 0x0304, 0, | ||
2663 | 1, 0x01E0, 0x0226, 0x0304, 0, | ||
2664 | 1, 0x01E1, 0x0227, 0x0304, 0, | ||
2665 | 1, 0x01E2, 0x00C6, 0x0304, 0, | ||
2666 | 1, 0x01E3, 0x00E6, 0x0304, 0, | ||
2667 | 1, 0x01E6, 0x0047, 0x030C, 0, | ||
2668 | 1, 0x01E7, 0x0067, 0x030C, 0, | ||
2669 | 1, 0x01E8, 0x004B, 0x030C, 0, | ||
2670 | 1, 0x01E9, 0x006B, 0x030C, 0, | ||
2671 | 1, 0x01EA, 0x004F, 0x0328, 0, | ||
2672 | 1, 0x01EB, 0x006F, 0x0328, 0, | ||
2673 | 1, 0x01EC, 0x01EA, 0x0304, 0, | ||
2674 | 1, 0x01ED, 0x01EB, 0x0304, 0, | ||
2675 | 1, 0x01EE, 0x01B7, 0x030C, 0, | ||
2676 | 1, 0x01EF, 0x0292, 0x030C, 0, | ||
2677 | 1, 0x01F0, 0x006A, 0x030C, 0, | ||
2678 | 16, 0x01F1, 0x0044, 0x005A, 0, | ||
2679 | 16, 0x01F2, 0x0044, 0x007A, 0, | ||
2680 | 16, 0x01F3, 0x0064, 0x007A, 0, | ||
2681 | 1, 0x01F4, 0x0047, 0x0301, 0, | ||
2682 | 1, 0x01F5, 0x0067, 0x0301, 0, | ||
2683 | 1, 0x01F8, 0x004E, 0x0300, 0, | ||
2684 | 1, 0x01F9, 0x006E, 0x0300, 0, | ||
2685 | 1, 0x01FA, 0x00C5, 0x0301, 0, | ||
2686 | 1, 0x01FB, 0x00E5, 0x0301, 0, | ||
2687 | 1, 0x01FC, 0x00C6, 0x0301, 0, | ||
2688 | 1, 0x01FD, 0x00E6, 0x0301, 0, | ||
2689 | 1, 0x01FE, 0x00D8, 0x0301, 0, | ||
2690 | 1, 0x01FF, 0x00F8, 0x0301, 0, | ||
2691 | 1, 0x0200, 0x0041, 0x030F, 0, | ||
2692 | 1, 0x0201, 0x0061, 0x030F, 0, | ||
2693 | 1, 0x0202, 0x0041, 0x0311, 0, | ||
2694 | 1, 0x0203, 0x0061, 0x0311, 0, | ||
2695 | 1, 0x0204, 0x0045, 0x030F, 0, | ||
2696 | 1, 0x0205, 0x0065, 0x030F, 0, | ||
2697 | 1, 0x0206, 0x0045, 0x0311, 0, | ||
2698 | 1, 0x0207, 0x0065, 0x0311, 0, | ||
2699 | 1, 0x0208, 0x0049, 0x030F, 0, | ||
2700 | 1, 0x0209, 0x0069, 0x030F, 0, | ||
2701 | 1, 0x020A, 0x0049, 0x0311, 0, | ||
2702 | 1, 0x020B, 0x0069, 0x0311, 0, | ||
2703 | 1, 0x020C, 0x004F, 0x030F, 0, | ||
2704 | 1, 0x020D, 0x006F, 0x030F, 0, | ||
2705 | 1, 0x020E, 0x004F, 0x0311, 0, | ||
2706 | 1, 0x020F, 0x006F, 0x0311, 0, | ||
2707 | 1, 0x0210, 0x0052, 0x030F, 0, | ||
2708 | 1, 0x0211, 0x0072, 0x030F, 0, | ||
2709 | 1, 0x0212, 0x0052, 0x0311, 0, | ||
2710 | 1, 0x0213, 0x0072, 0x0311, 0, | ||
2711 | 1, 0x0214, 0x0055, 0x030F, 0, | ||
2712 | 1, 0x0215, 0x0075, 0x030F, 0, | ||
2713 | 1, 0x0216, 0x0055, 0x0311, 0, | ||
2714 | 1, 0x0217, 0x0075, 0x0311, 0, | ||
2715 | 1, 0x0218, 0x0053, 0x0326, 0, | ||
2716 | 1, 0x0219, 0x0073, 0x0326, 0, | ||
2717 | 1, 0x021A, 0x0054, 0x0326, 0, | ||
2718 | 1, 0x021B, 0x0074, 0x0326, 0, | ||
2719 | 1, 0x021E, 0x0048, 0x030C, 0, | ||
2720 | 1, 0x021F, 0x0068, 0x030C, 0, | ||
2721 | 1, 0x0226, 0x0041, 0x0307, 0, | ||
2722 | 1, 0x0227, 0x0061, 0x0307, 0, | ||
2723 | 1, 0x0228, 0x0045, 0x0327, 0, | ||
2724 | 1, 0x0229, 0x0065, 0x0327, 0, | ||
2725 | 1, 0x022A, 0x00D6, 0x0304, 0, | ||
2726 | 1, 0x022B, 0x00F6, 0x0304, 0, | ||
2727 | 1, 0x022C, 0x00D5, 0x0304, 0, | ||
2728 | 1, 0x022D, 0x00F5, 0x0304, 0, | ||
2729 | 1, 0x022E, 0x004F, 0x0307, 0, | ||
2730 | 1, 0x022F, 0x006F, 0x0307, 0, | ||
2731 | 1, 0x0230, 0x022E, 0x0304, 0, | ||
2732 | 1, 0x0231, 0x022F, 0x0304, 0, | ||
2733 | 1, 0x0232, 0x0059, 0x0304, 0, | ||
2734 | 1, 0x0233, 0x0079, 0x0304, 0, | ||
2735 | 9, 0x02B0, 0x0068, 0, | ||
2736 | 9, 0x02B1, 0x0266, 0, | ||
2737 | 9, 0x02B2, 0x006A, 0, | ||
2738 | 9, 0x02B3, 0x0072, 0, | ||
2739 | 9, 0x02B4, 0x0279, 0, | ||
2740 | 9, 0x02B5, 0x027B, 0, | ||
2741 | 9, 0x02B6, 0x0281, 0, | ||
2742 | 9, 0x02B7, 0x0077, 0, | ||
2743 | 9, 0x02B8, 0x0079, 0, | ||
2744 | 16, 0x02D8, 0x0020, 0x0306, 0, | ||
2745 | 16, 0x02D9, 0x0020, 0x0307, 0, | ||
2746 | 16, 0x02DA, 0x0020, 0x030A, 0, | ||
2747 | 16, 0x02DB, 0x0020, 0x0328, 0, | ||
2748 | 16, 0x02DC, 0x0020, 0x0303, 0, | ||
2749 | 16, 0x02DD, 0x0020, 0x030B, 0, | ||
2750 | 9, 0x02E0, 0x0263, 0, | ||
2751 | 9, 0x02E1, 0x006C, 0, | ||
2752 | 9, 0x02E2, 0x0073, 0, | ||
2753 | 9, 0x02E3, 0x0078, 0, | ||
2754 | 9, 0x02E4, 0x0295, 0, | ||
2755 | 1, 0x0340, 0x0300, 0, | ||
2756 | 1, 0x0341, 0x0301, 0, | ||
2757 | 1, 0x0343, 0x0313, 0, | ||
2758 | 1, 0x0344, 0x0308, 0x0301, 0, | ||
2759 | 1, 0x0374, 0x02B9, 0, | ||
2760 | 16, 0x037A, 0x0020, 0x0345, 0, | ||
2761 | 1, 0x037E, 0x003B, 0, | ||
2762 | 16, 0x0384, 0x0020, 0x0301, 0, | ||
2763 | 1, 0x0385, 0x00A8, 0x0301, 0, | ||
2764 | 1, 0x0386, 0x0391, 0x0301, 0, | ||
2765 | 1, 0x0387, 0x00B7, 0, | ||
2766 | 1, 0x0388, 0x0395, 0x0301, 0, | ||
2767 | 1, 0x0389, 0x0397, 0x0301, 0, | ||
2768 | 1, 0x038A, 0x0399, 0x0301, 0, | ||
2769 | 1, 0x038C, 0x039F, 0x0301, 0, | ||
2770 | 1, 0x038E, 0x03A5, 0x0301, 0, | ||
2771 | 1, 0x038F, 0x03A9, 0x0301, 0, | ||
2772 | 1, 0x0390, 0x03CA, 0x0301, 0, | ||
2773 | 1, 0x03AA, 0x0399, 0x0308, 0, | ||
2774 | 1, 0x03AB, 0x03A5, 0x0308, 0, | ||
2775 | 1, 0x03AC, 0x03B1, 0x0301, 0, | ||
2776 | 1, 0x03AD, 0x03B5, 0x0301, 0, | ||
2777 | 1, 0x03AE, 0x03B7, 0x0301, 0, | ||
2778 | 1, 0x03AF, 0x03B9, 0x0301, 0, | ||
2779 | 1, 0x03B0, 0x03CB, 0x0301, 0, | ||
2780 | 1, 0x03CA, 0x03B9, 0x0308, 0, | ||
2781 | 1, 0x03CB, 0x03C5, 0x0308, 0, | ||
2782 | 1, 0x03CC, 0x03BF, 0x0301, 0, | ||
2783 | 1, 0x03CD, 0x03C5, 0x0301, 0, | ||
2784 | 1, 0x03CE, 0x03C9, 0x0301, 0, | ||
2785 | 16, 0x03D0, 0x03B2, 0, | ||
2786 | 16, 0x03D1, 0x03B8, 0, | ||
2787 | 16, 0x03D2, 0x03A5, 0, | ||
2788 | 1, 0x03D3, 0x03D2, 0x0301, 0, | ||
2789 | 1, 0x03D4, 0x03D2, 0x0308, 0, | ||
2790 | 16, 0x03D5, 0x03C6, 0, | ||
2791 | 16, 0x03D6, 0x03C0, 0, | ||
2792 | 16, 0x03F0, 0x03BA, 0, | ||
2793 | 16, 0x03F1, 0x03C1, 0, | ||
2794 | 16, 0x03F2, 0x03C2, 0, | ||
2795 | 16, 0x03F4, 0x0398, 0, | ||
2796 | 16, 0x03F5, 0x03B5, 0, | ||
2797 | 1, 0x0400, 0x0415, 0x0300, 0, | ||
2798 | 1, 0x0401, 0x0415, 0x0308, 0, | ||
2799 | 1, 0x0403, 0x0413, 0x0301, 0, | ||
2800 | 1, 0x0407, 0x0406, 0x0308, 0, | ||
2801 | 1, 0x040C, 0x041A, 0x0301, 0, | ||
2802 | 1, 0x040D, 0x0418, 0x0300, 0, | ||
2803 | 1, 0x040E, 0x0423, 0x0306, 0, | ||
2804 | 1, 0x0419, 0x0418, 0x0306, 0, | ||
2805 | 1, 0x0439, 0x0438, 0x0306, 0, | ||
2806 | 1, 0x0450, 0x0435, 0x0300, 0, | ||
2807 | 1, 0x0451, 0x0435, 0x0308, 0, | ||
2808 | 1, 0x0453, 0x0433, 0x0301, 0, | ||
2809 | 1, 0x0457, 0x0456, 0x0308, 0, | ||
2810 | 1, 0x045C, 0x043A, 0x0301, 0, | ||
2811 | 1, 0x045D, 0x0438, 0x0300, 0, | ||
2812 | 1, 0x045E, 0x0443, 0x0306, 0, | ||
2813 | 1, 0x0476, 0x0474, 0x030F, 0, | ||
2814 | 1, 0x0477, 0x0475, 0x030F, 0, | ||
2815 | 1, 0x04C1, 0x0416, 0x0306, 0, | ||
2816 | 1, 0x04C2, 0x0436, 0x0306, 0, | ||
2817 | 1, 0x04D0, 0x0410, 0x0306, 0, | ||
2818 | 1, 0x04D1, 0x0430, 0x0306, 0, | ||
2819 | 1, 0x04D2, 0x0410, 0x0308, 0, | ||
2820 | 1, 0x04D3, 0x0430, 0x0308, 0, | ||
2821 | 1, 0x04D6, 0x0415, 0x0306, 0, | ||
2822 | 1, 0x04D7, 0x0435, 0x0306, 0, | ||
2823 | 1, 0x04DA, 0x04D8, 0x0308, 0, | ||
2824 | 1, 0x04DB, 0x04D9, 0x0308, 0, | ||
2825 | 1, 0x04DC, 0x0416, 0x0308, 0, | ||
2826 | 1, 0x04DD, 0x0436, 0x0308, 0, | ||
2827 | 1, 0x04DE, 0x0417, 0x0308, 0, | ||
2828 | 1, 0x04DF, 0x0437, 0x0308, 0, | ||
2829 | 1, 0x04E2, 0x0418, 0x0304, 0, | ||
2830 | 1, 0x04E3, 0x0438, 0x0304, 0, | ||
2831 | 1, 0x04E4, 0x0418, 0x0308, 0, | ||
2832 | 1, 0x04E5, 0x0438, 0x0308, 0, | ||
2833 | 1, 0x04E6, 0x041E, 0x0308, 0, | ||
2834 | 1, 0x04E7, 0x043E, 0x0308, 0, | ||
2835 | 1, 0x04EA, 0x04E8, 0x0308, 0, | ||
2836 | 1, 0x04EB, 0x04E9, 0x0308, 0, | ||
2837 | 1, 0x04EC, 0x042D, 0x0308, 0, | ||
2838 | 1, 0x04ED, 0x044D, 0x0308, 0, | ||
2839 | 1, 0x04EE, 0x0423, 0x0304, 0, | ||
2840 | 1, 0x04EF, 0x0443, 0x0304, 0, | ||
2841 | 1, 0x04F0, 0x0423, 0x0308, 0, | ||
2842 | 1, 0x04F1, 0x0443, 0x0308, 0, | ||
2843 | 1, 0x04F2, 0x0423, 0x030B, 0, | ||
2844 | 1, 0x04F3, 0x0443, 0x030B, 0, | ||
2845 | 1, 0x04F4, 0x0427, 0x0308, 0, | ||
2846 | 1, 0x04F5, 0x0447, 0x0308, 0, | ||
2847 | 1, 0x04F8, 0x042B, 0x0308, 0, | ||
2848 | 1, 0x04F9, 0x044B, 0x0308, 0, | ||
2849 | 16, 0x0587, 0x0565, 0x0582, 0, | ||
2850 | 1, 0x0622, 0x0627, 0x0653, 0, | ||
2851 | 1, 0x0623, 0x0627, 0x0654, 0, | ||
2852 | 1, 0x0624, 0x0648, 0x0654, 0, | ||
2853 | 1, 0x0625, 0x0627, 0x0655, 0, | ||
2854 | 1, 0x0626, 0x064A, 0x0654, 0, | ||
2855 | 16, 0x0675, 0x0627, 0x0674, 0, | ||
2856 | 16, 0x0676, 0x0648, 0x0674, 0, | ||
2857 | 16, 0x0677, 0x06C7, 0x0674, 0, | ||
2858 | 16, 0x0678, 0x064A, 0x0674, 0, | ||
2859 | 1, 0x06C0, 0x06D5, 0x0654, 0, | ||
2860 | 1, 0x06C2, 0x06C1, 0x0654, 0, | ||
2861 | 1, 0x06D3, 0x06D2, 0x0654, 0, | ||
2862 | 1, 0x0929, 0x0928, 0x093C, 0, | ||
2863 | 1, 0x0931, 0x0930, 0x093C, 0, | ||
2864 | 1, 0x0934, 0x0933, 0x093C, 0, | ||
2865 | 1, 0x0958, 0x0915, 0x093C, 0, | ||
2866 | 1, 0x0959, 0x0916, 0x093C, 0, | ||
2867 | 1, 0x095A, 0x0917, 0x093C, 0, | ||
2868 | 1, 0x095B, 0x091C, 0x093C, 0, | ||
2869 | 1, 0x095C, 0x0921, 0x093C, 0, | ||
2870 | 1, 0x095D, 0x0922, 0x093C, 0, | ||
2871 | 1, 0x095E, 0x092B, 0x093C, 0, | ||
2872 | 1, 0x095F, 0x092F, 0x093C, 0, | ||
2873 | 1, 0x09CB, 0x09C7, 0x09BE, 0, | ||
2874 | 1, 0x09CC, 0x09C7, 0x09D7, 0, | ||
2875 | 1, 0x09DC, 0x09A1, 0x09BC, 0, | ||
2876 | 1, 0x09DD, 0x09A2, 0x09BC, 0, | ||
2877 | 1, 0x09DF, 0x09AF, 0x09BC, 0, | ||
2878 | 1, 0x0A33, 0x0A32, 0x0A3C, 0, | ||
2879 | 1, 0x0A36, 0x0A38, 0x0A3C, 0, | ||
2880 | 1, 0x0A59, 0x0A16, 0x0A3C, 0, | ||
2881 | 1, 0x0A5A, 0x0A17, 0x0A3C, 0, | ||
2882 | 1, 0x0A5B, 0x0A1C, 0x0A3C, 0, | ||
2883 | 1, 0x0A5E, 0x0A2B, 0x0A3C, 0, | ||
2884 | 1, 0x0B48, 0x0B47, 0x0B56, 0, | ||
2885 | 1, 0x0B4B, 0x0B47, 0x0B3E, 0, | ||
2886 | 1, 0x0B4C, 0x0B47, 0x0B57, 0, | ||
2887 | 1, 0x0B5C, 0x0B21, 0x0B3C, 0, | ||
2888 | 1, 0x0B5D, 0x0B22, 0x0B3C, 0, | ||
2889 | 1, 0x0B94, 0x0B92, 0x0BD7, 0, | ||
2890 | 1, 0x0BCA, 0x0BC6, 0x0BBE, 0, | ||
2891 | 1, 0x0BCB, 0x0BC7, 0x0BBE, 0, | ||
2892 | 1, 0x0BCC, 0x0BC6, 0x0BD7, 0, | ||
2893 | 1, 0x0C48, 0x0C46, 0x0C56, 0, | ||
2894 | 1, 0x0CC0, 0x0CBF, 0x0CD5, 0, | ||
2895 | 1, 0x0CC7, 0x0CC6, 0x0CD5, 0, | ||
2896 | 1, 0x0CC8, 0x0CC6, 0x0CD6, 0, | ||
2897 | 1, 0x0CCA, 0x0CC6, 0x0CC2, 0, | ||
2898 | 1, 0x0CCB, 0x0CCA, 0x0CD5, 0, | ||
2899 | 1, 0x0D4A, 0x0D46, 0x0D3E, 0, | ||
2900 | 1, 0x0D4B, 0x0D47, 0x0D3E, 0, | ||
2901 | 1, 0x0D4C, 0x0D46, 0x0D57, 0, | ||
2902 | 1, 0x0DDA, 0x0DD9, 0x0DCA, 0, | ||
2903 | 1, 0x0DDC, 0x0DD9, 0x0DCF, 0, | ||
2904 | 1, 0x0DDD, 0x0DDC, 0x0DCA, 0, | ||
2905 | 1, 0x0DDE, 0x0DD9, 0x0DDF, 0, | ||
2906 | 16, 0x0E33, 0x0E4D, 0x0E32, 0, | ||
2907 | 16, 0x0EB3, 0x0ECD, 0x0EB2, 0, | ||
2908 | 16, 0x0EDC, 0x0EAB, 0x0E99, 0, | ||
2909 | 16, 0x0EDD, 0x0EAB, 0x0EA1, 0, | ||
2910 | 3, 0x0F0C, 0x0F0B, 0, | ||
2911 | 1, 0x0F43, 0x0F42, 0x0FB7, 0, | ||
2912 | 1, 0x0F4D, 0x0F4C, 0x0FB7, 0, | ||
2913 | 1, 0x0F52, 0x0F51, 0x0FB7, 0, | ||
2914 | 1, 0x0F57, 0x0F56, 0x0FB7, 0, | ||
2915 | 1, 0x0F5C, 0x0F5B, 0x0FB7, 0, | ||
2916 | 1, 0x0F69, 0x0F40, 0x0FB5, 0, | ||
2917 | 1, 0x0F73, 0x0F71, 0x0F72, 0, | ||
2918 | 1, 0x0F75, 0x0F71, 0x0F74, 0, | ||
2919 | 1, 0x0F76, 0x0FB2, 0x0F80, 0, | ||
2920 | 16, 0x0F77, 0x0FB2, 0x0F81, 0, | ||
2921 | 1, 0x0F78, 0x0FB3, 0x0F80, 0, | ||
2922 | 16, 0x0F79, 0x0FB3, 0x0F81, 0, | ||
2923 | 1, 0x0F81, 0x0F71, 0x0F80, 0, | ||
2924 | 1, 0x0F93, 0x0F92, 0x0FB7, 0, | ||
2925 | 1, 0x0F9D, 0x0F9C, 0x0FB7, 0, | ||
2926 | 1, 0x0FA2, 0x0FA1, 0x0FB7, 0, | ||
2927 | 1, 0x0FA7, 0x0FA6, 0x0FB7, 0, | ||
2928 | 1, 0x0FAC, 0x0FAB, 0x0FB7, 0, | ||
2929 | 1, 0x0FB9, 0x0F90, 0x0FB5, 0, | ||
2930 | 1, 0x1026, 0x1025, 0x102E, 0, | ||
2931 | 1, 0x1E00, 0x0041, 0x0325, 0, | ||
2932 | 1, 0x1E01, 0x0061, 0x0325, 0, | ||
2933 | 1, 0x1E02, 0x0042, 0x0307, 0, | ||
2934 | 1, 0x1E03, 0x0062, 0x0307, 0, | ||
2935 | 1, 0x1E04, 0x0042, 0x0323, 0, | ||
2936 | 1, 0x1E05, 0x0062, 0x0323, 0, | ||
2937 | 1, 0x1E06, 0x0042, 0x0331, 0, | ||
2938 | 1, 0x1E07, 0x0062, 0x0331, 0, | ||
2939 | 1, 0x1E08, 0x00C7, 0x0301, 0, | ||
2940 | 1, 0x1E09, 0x00E7, 0x0301, 0, | ||
2941 | 1, 0x1E0A, 0x0044, 0x0307, 0, | ||
2942 | 1, 0x1E0B, 0x0064, 0x0307, 0, | ||
2943 | 1, 0x1E0C, 0x0044, 0x0323, 0, | ||
2944 | 1, 0x1E0D, 0x0064, 0x0323, 0, | ||
2945 | 1, 0x1E0E, 0x0044, 0x0331, 0, | ||
2946 | 1, 0x1E0F, 0x0064, 0x0331, 0, | ||
2947 | 1, 0x1E10, 0x0044, 0x0327, 0, | ||
2948 | 1, 0x1E11, 0x0064, 0x0327, 0, | ||
2949 | 1, 0x1E12, 0x0044, 0x032D, 0, | ||
2950 | 1, 0x1E13, 0x0064, 0x032D, 0, | ||
2951 | 1, 0x1E14, 0x0112, 0x0300, 0, | ||
2952 | 1, 0x1E15, 0x0113, 0x0300, 0, | ||
2953 | 1, 0x1E16, 0x0112, 0x0301, 0, | ||
2954 | 1, 0x1E17, 0x0113, 0x0301, 0, | ||
2955 | 1, 0x1E18, 0x0045, 0x032D, 0, | ||
2956 | 1, 0x1E19, 0x0065, 0x032D, 0, | ||
2957 | 1, 0x1E1A, 0x0045, 0x0330, 0, | ||
2958 | 1, 0x1E1B, 0x0065, 0x0330, 0, | ||
2959 | 1, 0x1E1C, 0x0228, 0x0306, 0, | ||
2960 | 1, 0x1E1D, 0x0229, 0x0306, 0, | ||
2961 | 1, 0x1E1E, 0x0046, 0x0307, 0, | ||
2962 | 1, 0x1E1F, 0x0066, 0x0307, 0, | ||
2963 | 1, 0x1E20, 0x0047, 0x0304, 0, | ||
2964 | 1, 0x1E21, 0x0067, 0x0304, 0, | ||
2965 | 1, 0x1E22, 0x0048, 0x0307, 0, | ||
2966 | 1, 0x1E23, 0x0068, 0x0307, 0, | ||
2967 | 1, 0x1E24, 0x0048, 0x0323, 0, | ||
2968 | 1, 0x1E25, 0x0068, 0x0323, 0, | ||
2969 | 1, 0x1E26, 0x0048, 0x0308, 0, | ||
2970 | 1, 0x1E27, 0x0068, 0x0308, 0, | ||
2971 | 1, 0x1E28, 0x0048, 0x0327, 0, | ||
2972 | 1, 0x1E29, 0x0068, 0x0327, 0, | ||
2973 | 1, 0x1E2A, 0x0048, 0x032E, 0, | ||
2974 | 1, 0x1E2B, 0x0068, 0x032E, 0, | ||
2975 | 1, 0x1E2C, 0x0049, 0x0330, 0, | ||
2976 | 1, 0x1E2D, 0x0069, 0x0330, 0, | ||
2977 | 1, 0x1E2E, 0x00CF, 0x0301, 0, | ||
2978 | 1, 0x1E2F, 0x00EF, 0x0301, 0, | ||
2979 | 1, 0x1E30, 0x004B, 0x0301, 0, | ||
2980 | 1, 0x1E31, 0x006B, 0x0301, 0, | ||
2981 | 1, 0x1E32, 0x004B, 0x0323, 0, | ||
2982 | 1, 0x1E33, 0x006B, 0x0323, 0, | ||
2983 | 1, 0x1E34, 0x004B, 0x0331, 0, | ||
2984 | 1, 0x1E35, 0x006B, 0x0331, 0, | ||
2985 | 1, 0x1E36, 0x004C, 0x0323, 0, | ||
2986 | 1, 0x1E37, 0x006C, 0x0323, 0, | ||
2987 | 1, 0x1E38, 0x1E36, 0x0304, 0, | ||
2988 | 1, 0x1E39, 0x1E37, 0x0304, 0, | ||
2989 | 1, 0x1E3A, 0x004C, 0x0331, 0, | ||
2990 | 1, 0x1E3B, 0x006C, 0x0331, 0, | ||
2991 | 1, 0x1E3C, 0x004C, 0x032D, 0, | ||
2992 | 1, 0x1E3D, 0x006C, 0x032D, 0, | ||
2993 | 1, 0x1E3E, 0x004D, 0x0301, 0, | ||
2994 | 1, 0x1E3F, 0x006D, 0x0301, 0, | ||
2995 | 1, 0x1E40, 0x004D, 0x0307, 0, | ||
2996 | 1, 0x1E41, 0x006D, 0x0307, 0, | ||
2997 | 1, 0x1E42, 0x004D, 0x0323, 0, | ||
2998 | 1, 0x1E43, 0x006D, 0x0323, 0, | ||
2999 | 1, 0x1E44, 0x004E, 0x0307, 0, | ||
3000 | 1, 0x1E45, 0x006E, 0x0307, 0, | ||
3001 | 1, 0x1E46, 0x004E, 0x0323, 0, | ||
3002 | 1, 0x1E47, 0x006E, 0x0323, 0, | ||
3003 | 1, 0x1E48, 0x004E, 0x0331, 0, | ||
3004 | 1, 0x1E49, 0x006E, 0x0331, 0, | ||
3005 | 1, 0x1E4A, 0x004E, 0x032D, 0, | ||
3006 | 1, 0x1E4B, 0x006E, 0x032D, 0, | ||
3007 | 1, 0x1E4C, 0x00D5, 0x0301, 0, | ||
3008 | 1, 0x1E4D, 0x00F5, 0x0301, 0, | ||
3009 | 1, 0x1E4E, 0x00D5, 0x0308, 0, | ||
3010 | 1, 0x1E4F, 0x00F5, 0x0308, 0, | ||
3011 | 1, 0x1E50, 0x014C, 0x0300, 0, | ||
3012 | 1, 0x1E51, 0x014D, 0x0300, 0, | ||
3013 | 1, 0x1E52, 0x014C, 0x0301, 0, | ||
3014 | 1, 0x1E53, 0x014D, 0x0301, 0, | ||
3015 | 1, 0x1E54, 0x0050, 0x0301, 0, | ||
3016 | 1, 0x1E55, 0x0070, 0x0301, 0, | ||
3017 | 1, 0x1E56, 0x0050, 0x0307, 0, | ||
3018 | 1, 0x1E57, 0x0070, 0x0307, 0, | ||
3019 | 1, 0x1E58, 0x0052, 0x0307, 0, | ||
3020 | 1, 0x1E59, 0x0072, 0x0307, 0, | ||
3021 | 1, 0x1E5A, 0x0052, 0x0323, 0, | ||
3022 | 1, 0x1E5B, 0x0072, 0x0323, 0, | ||
3023 | 1, 0x1E5C, 0x1E5A, 0x0304, 0, | ||
3024 | 1, 0x1E5D, 0x1E5B, 0x0304, 0, | ||
3025 | 1, 0x1E5E, 0x0052, 0x0331, 0, | ||
3026 | 1, 0x1E5F, 0x0072, 0x0331, 0, | ||
3027 | 1, 0x1E60, 0x0053, 0x0307, 0, | ||
3028 | 1, 0x1E61, 0x0073, 0x0307, 0, | ||
3029 | 1, 0x1E62, 0x0053, 0x0323, 0, | ||
3030 | 1, 0x1E63, 0x0073, 0x0323, 0, | ||
3031 | 1, 0x1E64, 0x015A, 0x0307, 0, | ||
3032 | 1, 0x1E65, 0x015B, 0x0307, 0, | ||
3033 | 1, 0x1E66, 0x0160, 0x0307, 0, | ||
3034 | 1, 0x1E67, 0x0161, 0x0307, 0, | ||
3035 | 1, 0x1E68, 0x1E62, 0x0307, 0, | ||
3036 | 1, 0x1E69, 0x1E63, 0x0307, 0, | ||
3037 | 1, 0x1E6A, 0x0054, 0x0307, 0, | ||
3038 | 1, 0x1E6B, 0x0074, 0x0307, 0, | ||
3039 | 1, 0x1E6C, 0x0054, 0x0323, 0, | ||
3040 | 1, 0x1E6D, 0x0074, 0x0323, 0, | ||
3041 | 1, 0x1E6E, 0x0054, 0x0331, 0, | ||
3042 | 1, 0x1E6F, 0x0074, 0x0331, 0, | ||
3043 | 1, 0x1E70, 0x0054, 0x032D, 0, | ||
3044 | 1, 0x1E71, 0x0074, 0x032D, 0, | ||
3045 | 1, 0x1E72, 0x0055, 0x0324, 0, | ||
3046 | 1, 0x1E73, 0x0075, 0x0324, 0, | ||
3047 | 1, 0x1E74, 0x0055, 0x0330, 0, | ||
3048 | 1, 0x1E75, 0x0075, 0x0330, 0, | ||
3049 | 1, 0x1E76, 0x0055, 0x032D, 0, | ||
3050 | 1, 0x1E77, 0x0075, 0x032D, 0, | ||
3051 | 1, 0x1E78, 0x0168, 0x0301, 0, | ||
3052 | 1, 0x1E79, 0x0169, 0x0301, 0, | ||
3053 | 1, 0x1E7A, 0x016A, 0x0308, 0, | ||
3054 | 1, 0x1E7B, 0x016B, 0x0308, 0, | ||
3055 | 1, 0x1E7C, 0x0056, 0x0303, 0, | ||
3056 | 1, 0x1E7D, 0x0076, 0x0303, 0, | ||
3057 | 1, 0x1E7E, 0x0056, 0x0323, 0, | ||
3058 | 1, 0x1E7F, 0x0076, 0x0323, 0, | ||
3059 | 1, 0x1E80, 0x0057, 0x0300, 0, | ||
3060 | 1, 0x1E81, 0x0077, 0x0300, 0, | ||
3061 | 1, 0x1E82, 0x0057, 0x0301, 0, | ||
3062 | 1, 0x1E83, 0x0077, 0x0301, 0, | ||
3063 | 1, 0x1E84, 0x0057, 0x0308, 0, | ||
3064 | 1, 0x1E85, 0x0077, 0x0308, 0, | ||
3065 | 1, 0x1E86, 0x0057, 0x0307, 0, | ||
3066 | 1, 0x1E87, 0x0077, 0x0307, 0, | ||
3067 | 1, 0x1E88, 0x0057, 0x0323, 0, | ||
3068 | 1, 0x1E89, 0x0077, 0x0323, 0, | ||
3069 | 1, 0x1E8A, 0x0058, 0x0307, 0, | ||
3070 | 1, 0x1E8B, 0x0078, 0x0307, 0, | ||
3071 | 1, 0x1E8C, 0x0058, 0x0308, 0, | ||
3072 | 1, 0x1E8D, 0x0078, 0x0308, 0, | ||
3073 | 1, 0x1E8E, 0x0059, 0x0307, 0, | ||
3074 | 1, 0x1E8F, 0x0079, 0x0307, 0, | ||
3075 | 1, 0x1E90, 0x005A, 0x0302, 0, | ||
3076 | 1, 0x1E91, 0x007A, 0x0302, 0, | ||
3077 | 1, 0x1E92, 0x005A, 0x0323, 0, | ||
3078 | 1, 0x1E93, 0x007A, 0x0323, 0, | ||
3079 | 1, 0x1E94, 0x005A, 0x0331, 0, | ||
3080 | 1, 0x1E95, 0x007A, 0x0331, 0, | ||
3081 | 1, 0x1E96, 0x0068, 0x0331, 0, | ||
3082 | 1, 0x1E97, 0x0074, 0x0308, 0, | ||
3083 | 1, 0x1E98, 0x0077, 0x030A, 0, | ||
3084 | 1, 0x1E99, 0x0079, 0x030A, 0, | ||
3085 | 16, 0x1E9A, 0x0061, 0x02BE, 0, | ||
3086 | 1, 0x1E9B, 0x017F, 0x0307, 0, | ||
3087 | 1, 0x1EA0, 0x0041, 0x0323, 0, | ||
3088 | 1, 0x1EA1, 0x0061, 0x0323, 0, | ||
3089 | 1, 0x1EA2, 0x0041, 0x0309, 0, | ||
3090 | 1, 0x1EA3, 0x0061, 0x0309, 0, | ||
3091 | 1, 0x1EA4, 0x00C2, 0x0301, 0, | ||
3092 | 1, 0x1EA5, 0x00E2, 0x0301, 0, | ||
3093 | 1, 0x1EA6, 0x00C2, 0x0300, 0, | ||
3094 | 1, 0x1EA7, 0x00E2, 0x0300, 0, | ||
3095 | 1, 0x1EA8, 0x00C2, 0x0309, 0, | ||
3096 | 1, 0x1EA9, 0x00E2, 0x0309, 0, | ||
3097 | 1, 0x1EAA, 0x00C2, 0x0303, 0, | ||
3098 | 1, 0x1EAB, 0x00E2, 0x0303, 0, | ||
3099 | 1, 0x1EAC, 0x1EA0, 0x0302, 0, | ||
3100 | 1, 0x1EAD, 0x1EA1, 0x0302, 0, | ||
3101 | 1, 0x1EAE, 0x0102, 0x0301, 0, | ||
3102 | 1, 0x1EAF, 0x0103, 0x0301, 0, | ||
3103 | 1, 0x1EB0, 0x0102, 0x0300, 0, | ||
3104 | 1, 0x1EB1, 0x0103, 0x0300, 0, | ||
3105 | 1, 0x1EB2, 0x0102, 0x0309, 0, | ||
3106 | 1, 0x1EB3, 0x0103, 0x0309, 0, | ||
3107 | 1, 0x1EB4, 0x0102, 0x0303, 0, | ||
3108 | 1, 0x1EB5, 0x0103, 0x0303, 0, | ||
3109 | 1, 0x1EB6, 0x1EA0, 0x0306, 0, | ||
3110 | 1, 0x1EB7, 0x1EA1, 0x0306, 0, | ||
3111 | 1, 0x1EB8, 0x0045, 0x0323, 0, | ||
3112 | 1, 0x1EB9, 0x0065, 0x0323, 0, | ||
3113 | 1, 0x1EBA, 0x0045, 0x0309, 0, | ||
3114 | 1, 0x1EBB, 0x0065, 0x0309, 0, | ||
3115 | 1, 0x1EBC, 0x0045, 0x0303, 0, | ||
3116 | 1, 0x1EBD, 0x0065, 0x0303, 0, | ||
3117 | 1, 0x1EBE, 0x00CA, 0x0301, 0, | ||
3118 | 1, 0x1EBF, 0x00EA, 0x0301, 0, | ||
3119 | 1, 0x1EC0, 0x00CA, 0x0300, 0, | ||
3120 | 1, 0x1EC1, 0x00EA, 0x0300, 0, | ||
3121 | 1, 0x1EC2, 0x00CA, 0x0309, 0, | ||
3122 | 1, 0x1EC3, 0x00EA, 0x0309, 0, | ||
3123 | 1, 0x1EC4, 0x00CA, 0x0303, 0, | ||
3124 | 1, 0x1EC5, 0x00EA, 0x0303, 0, | ||
3125 | 1, 0x1EC6, 0x1EB8, 0x0302, 0, | ||
3126 | 1, 0x1EC7, 0x1EB9, 0x0302, 0, | ||
3127 | 1, 0x1EC8, 0x0049, 0x0309, 0, | ||
3128 | 1, 0x1EC9, 0x0069, 0x0309, 0, | ||
3129 | 1, 0x1ECA, 0x0049, 0x0323, 0, | ||
3130 | 1, 0x1ECB, 0x0069, 0x0323, 0, | ||
3131 | 1, 0x1ECC, 0x004F, 0x0323, 0, | ||
3132 | 1, 0x1ECD, 0x006F, 0x0323, 0, | ||
3133 | 1, 0x1ECE, 0x004F, 0x0309, 0, | ||
3134 | 1, 0x1ECF, 0x006F, 0x0309, 0, | ||
3135 | 1, 0x1ED0, 0x00D4, 0x0301, 0, | ||
3136 | 1, 0x1ED1, 0x00F4, 0x0301, 0, | ||
3137 | 1, 0x1ED2, 0x00D4, 0x0300, 0, | ||
3138 | 1, 0x1ED3, 0x00F4, 0x0300, 0, | ||
3139 | 1, 0x1ED4, 0x00D4, 0x0309, 0, | ||
3140 | 1, 0x1ED5, 0x00F4, 0x0309, 0, | ||
3141 | 1, 0x1ED6, 0x00D4, 0x0303, 0, | ||
3142 | 1, 0x1ED7, 0x00F4, 0x0303, 0, | ||
3143 | 1, 0x1ED8, 0x1ECC, 0x0302, 0, | ||
3144 | 1, 0x1ED9, 0x1ECD, 0x0302, 0, | ||
3145 | 1, 0x1EDA, 0x01A0, 0x0301, 0, | ||
3146 | 1, 0x1EDB, 0x01A1, 0x0301, 0, | ||
3147 | 1, 0x1EDC, 0x01A0, 0x0300, 0, | ||
3148 | 1, 0x1EDD, 0x01A1, 0x0300, 0, | ||
3149 | 1, 0x1EDE, 0x01A0, 0x0309, 0, | ||
3150 | 1, 0x1EDF, 0x01A1, 0x0309, 0, | ||
3151 | 1, 0x1EE0, 0x01A0, 0x0303, 0, | ||
3152 | 1, 0x1EE1, 0x01A1, 0x0303, 0, | ||
3153 | 1, 0x1EE2, 0x01A0, 0x0323, 0, | ||
3154 | 1, 0x1EE3, 0x01A1, 0x0323, 0, | ||
3155 | 1, 0x1EE4, 0x0055, 0x0323, 0, | ||
3156 | 1, 0x1EE5, 0x0075, 0x0323, 0, | ||
3157 | 1, 0x1EE6, 0x0055, 0x0309, 0, | ||
3158 | 1, 0x1EE7, 0x0075, 0x0309, 0, | ||
3159 | 1, 0x1EE8, 0x01AF, 0x0301, 0, | ||
3160 | 1, 0x1EE9, 0x01B0, 0x0301, 0, | ||
3161 | 1, 0x1EEA, 0x01AF, 0x0300, 0, | ||
3162 | 1, 0x1EEB, 0x01B0, 0x0300, 0, | ||
3163 | 1, 0x1EEC, 0x01AF, 0x0309, 0, | ||
3164 | 1, 0x1EED, 0x01B0, 0x0309, 0, | ||
3165 | 1, 0x1EEE, 0x01AF, 0x0303, 0, | ||
3166 | 1, 0x1EEF, 0x01B0, 0x0303, 0, | ||
3167 | 1, 0x1EF0, 0x01AF, 0x0323, 0, | ||
3168 | 1, 0x1EF1, 0x01B0, 0x0323, 0, | ||
3169 | 1, 0x1EF2, 0x0059, 0x0300, 0, | ||
3170 | 1, 0x1EF3, 0x0079, 0x0300, 0, | ||
3171 | 1, 0x1EF4, 0x0059, 0x0323, 0, | ||
3172 | 1, 0x1EF5, 0x0079, 0x0323, 0, | ||
3173 | 1, 0x1EF6, 0x0059, 0x0309, 0, | ||
3174 | 1, 0x1EF7, 0x0079, 0x0309, 0, | ||
3175 | 1, 0x1EF8, 0x0059, 0x0303, 0, | ||
3176 | 1, 0x1EF9, 0x0079, 0x0303, 0, | ||
3177 | 1, 0x1F00, 0x03B1, 0x0313, 0, | ||
3178 | 1, 0x1F01, 0x03B1, 0x0314, 0, | ||
3179 | 1, 0x1F02, 0x1F00, 0x0300, 0, | ||
3180 | 1, 0x1F03, 0x1F01, 0x0300, 0, | ||
3181 | 1, 0x1F04, 0x1F00, 0x0301, 0, | ||
3182 | 1, 0x1F05, 0x1F01, 0x0301, 0, | ||
3183 | 1, 0x1F06, 0x1F00, 0x0342, 0, | ||
3184 | 1, 0x1F07, 0x1F01, 0x0342, 0, | ||
3185 | 1, 0x1F08, 0x0391, 0x0313, 0, | ||
3186 | 1, 0x1F09, 0x0391, 0x0314, 0, | ||
3187 | 1, 0x1F0A, 0x1F08, 0x0300, 0, | ||
3188 | 1, 0x1F0B, 0x1F09, 0x0300, 0, | ||
3189 | 1, 0x1F0C, 0x1F08, 0x0301, 0, | ||
3190 | 1, 0x1F0D, 0x1F09, 0x0301, 0, | ||
3191 | 1, 0x1F0E, 0x1F08, 0x0342, 0, | ||
3192 | 1, 0x1F0F, 0x1F09, 0x0342, 0, | ||
3193 | 1, 0x1F10, 0x03B5, 0x0313, 0, | ||
3194 | 1, 0x1F11, 0x03B5, 0x0314, 0, | ||
3195 | 1, 0x1F12, 0x1F10, 0x0300, 0, | ||
3196 | 1, 0x1F13, 0x1F11, 0x0300, 0, | ||
3197 | 1, 0x1F14, 0x1F10, 0x0301, 0, | ||
3198 | 1, 0x1F15, 0x1F11, 0x0301, 0, | ||
3199 | 1, 0x1F18, 0x0395, 0x0313, 0, | ||
3200 | 1, 0x1F19, 0x0395, 0x0314, 0, | ||
3201 | 1, 0x1F1A, 0x1F18, 0x0300, 0, | ||
3202 | 1, 0x1F1B, 0x1F19, 0x0300, 0, | ||
3203 | 1, 0x1F1C, 0x1F18, 0x0301, 0, | ||
3204 | 1, 0x1F1D, 0x1F19, 0x0301, 0, | ||
3205 | 1, 0x1F20, 0x03B7, 0x0313, 0, | ||
3206 | 1, 0x1F21, 0x03B7, 0x0314, 0, | ||
3207 | 1, 0x1F22, 0x1F20, 0x0300, 0, | ||
3208 | 1, 0x1F23, 0x1F21, 0x0300, 0, | ||
3209 | 1, 0x1F24, 0x1F20, 0x0301, 0, | ||
3210 | 1, 0x1F25, 0x1F21, 0x0301, 0, | ||
3211 | 1, 0x1F26, 0x1F20, 0x0342, 0, | ||
3212 | 1, 0x1F27, 0x1F21, 0x0342, 0, | ||
3213 | 1, 0x1F28, 0x0397, 0x0313, 0, | ||
3214 | 1, 0x1F29, 0x0397, 0x0314, 0, | ||
3215 | 1, 0x1F2A, 0x1F28, 0x0300, 0, | ||
3216 | 1, 0x1F2B, 0x1F29, 0x0300, 0, | ||
3217 | 1, 0x1F2C, 0x1F28, 0x0301, 0, | ||
3218 | 1, 0x1F2D, 0x1F29, 0x0301, 0, | ||
3219 | 1, 0x1F2E, 0x1F28, 0x0342, 0, | ||
3220 | 1, 0x1F2F, 0x1F29, 0x0342, 0, | ||
3221 | 1, 0x1F30, 0x03B9, 0x0313, 0, | ||
3222 | 1, 0x1F31, 0x03B9, 0x0314, 0, | ||
3223 | 1, 0x1F32, 0x1F30, 0x0300, 0, | ||
3224 | 1, 0x1F33, 0x1F31, 0x0300, 0, | ||
3225 | 1, 0x1F34, 0x1F30, 0x0301, 0, | ||
3226 | 1, 0x1F35, 0x1F31, 0x0301, 0, | ||
3227 | 1, 0x1F36, 0x1F30, 0x0342, 0, | ||
3228 | 1, 0x1F37, 0x1F31, 0x0342, 0, | ||
3229 | 1, 0x1F38, 0x0399, 0x0313, 0, | ||
3230 | 1, 0x1F39, 0x0399, 0x0314, 0, | ||
3231 | 1, 0x1F3A, 0x1F38, 0x0300, 0, | ||
3232 | 1, 0x1F3B, 0x1F39, 0x0300, 0, | ||
3233 | 1, 0x1F3C, 0x1F38, 0x0301, 0, | ||
3234 | 1, 0x1F3D, 0x1F39, 0x0301, 0, | ||
3235 | 1, 0x1F3E, 0x1F38, 0x0342, 0, | ||
3236 | 1, 0x1F3F, 0x1F39, 0x0342, 0, | ||
3237 | 1, 0x1F40, 0x03BF, 0x0313, 0, | ||
3238 | 1, 0x1F41, 0x03BF, 0x0314, 0, | ||
3239 | 1, 0x1F42, 0x1F40, 0x0300, 0, | ||
3240 | 1, 0x1F43, 0x1F41, 0x0300, 0, | ||
3241 | 1, 0x1F44, 0x1F40, 0x0301, 0, | ||
3242 | 1, 0x1F45, 0x1F41, 0x0301, 0, | ||
3243 | 1, 0x1F48, 0x039F, 0x0313, 0, | ||
3244 | 1, 0x1F49, 0x039F, 0x0314, 0, | ||
3245 | 1, 0x1F4A, 0x1F48, 0x0300, 0, | ||
3246 | 1, 0x1F4B, 0x1F49, 0x0300, 0, | ||
3247 | 1, 0x1F4C, 0x1F48, 0x0301, 0, | ||
3248 | 1, 0x1F4D, 0x1F49, 0x0301, 0, | ||
3249 | 1, 0x1F50, 0x03C5, 0x0313, 0, | ||
3250 | 1, 0x1F51, 0x03C5, 0x0314, 0, | ||
3251 | 1, 0x1F52, 0x1F50, 0x0300, 0, | ||
3252 | 1, 0x1F53, 0x1F51, 0x0300, 0, | ||
3253 | 1, 0x1F54, 0x1F50, 0x0301, 0, | ||
3254 | 1, 0x1F55, 0x1F51, 0x0301, 0, | ||
3255 | 1, 0x1F56, 0x1F50, 0x0342, 0, | ||
3256 | 1, 0x1F57, 0x1F51, 0x0342, 0, | ||
3257 | 1, 0x1F59, 0x03A5, 0x0314, 0, | ||
3258 | 1, 0x1F5B, 0x1F59, 0x0300, 0, | ||
3259 | 1, 0x1F5D, 0x1F59, 0x0301, 0, | ||
3260 | 1, 0x1F5F, 0x1F59, 0x0342, 0, | ||
3261 | 1, 0x1F60, 0x03C9, 0x0313, 0, | ||
3262 | 1, 0x1F61, 0x03C9, 0x0314, 0, | ||
3263 | 1, 0x1F62, 0x1F60, 0x0300, 0, | ||
3264 | 1, 0x1F63, 0x1F61, 0x0300, 0, | ||
3265 | 1, 0x1F64, 0x1F60, 0x0301, 0, | ||
3266 | 1, 0x1F65, 0x1F61, 0x0301, 0, | ||
3267 | 1, 0x1F66, 0x1F60, 0x0342, 0, | ||
3268 | 1, 0x1F67, 0x1F61, 0x0342, 0, | ||
3269 | 1, 0x1F68, 0x03A9, 0x0313, 0, | ||
3270 | 1, 0x1F69, 0x03A9, 0x0314, 0, | ||
3271 | 1, 0x1F6A, 0x1F68, 0x0300, 0, | ||
3272 | 1, 0x1F6B, 0x1F69, 0x0300, 0, | ||
3273 | 1, 0x1F6C, 0x1F68, 0x0301, 0, | ||
3274 | 1, 0x1F6D, 0x1F69, 0x0301, 0, | ||
3275 | 1, 0x1F6E, 0x1F68, 0x0342, 0, | ||
3276 | 1, 0x1F6F, 0x1F69, 0x0342, 0, | ||
3277 | 1, 0x1F70, 0x03B1, 0x0300, 0, | ||
3278 | 1, 0x1F71, 0x03AC, 0, | ||
3279 | 1, 0x1F72, 0x03B5, 0x0300, 0, | ||
3280 | 1, 0x1F73, 0x03AD, 0, | ||
3281 | 1, 0x1F74, 0x03B7, 0x0300, 0, | ||
3282 | 1, 0x1F75, 0x03AE, 0, | ||
3283 | 1, 0x1F76, 0x03B9, 0x0300, 0, | ||
3284 | 1, 0x1F77, 0x03AF, 0, | ||
3285 | 1, 0x1F78, 0x03BF, 0x0300, 0, | ||
3286 | 1, 0x1F79, 0x03CC, 0, | ||
3287 | 1, 0x1F7A, 0x03C5, 0x0300, 0, | ||
3288 | 1, 0x1F7B, 0x03CD, 0, | ||
3289 | 1, 0x1F7C, 0x03C9, 0x0300, 0, | ||
3290 | 1, 0x1F7D, 0x03CE, 0, | ||
3291 | 1, 0x1F80, 0x1F00, 0x0345, 0, | ||
3292 | 1, 0x1F81, 0x1F01, 0x0345, 0, | ||
3293 | 1, 0x1F82, 0x1F02, 0x0345, 0, | ||
3294 | 1, 0x1F83, 0x1F03, 0x0345, 0, | ||
3295 | 1, 0x1F84, 0x1F04, 0x0345, 0, | ||
3296 | 1, 0x1F85, 0x1F05, 0x0345, 0, | ||
3297 | 1, 0x1F86, 0x1F06, 0x0345, 0, | ||
3298 | 1, 0x1F87, 0x1F07, 0x0345, 0, | ||
3299 | 1, 0x1F88, 0x1F08, 0x0345, 0, | ||
3300 | 1, 0x1F89, 0x1F09, 0x0345, 0, | ||
3301 | 1, 0x1F8A, 0x1F0A, 0x0345, 0, | ||
3302 | 1, 0x1F8B, 0x1F0B, 0x0345, 0, | ||
3303 | 1, 0x1F8C, 0x1F0C, 0x0345, 0, | ||
3304 | 1, 0x1F8D, 0x1F0D, 0x0345, 0, | ||
3305 | 1, 0x1F8E, 0x1F0E, 0x0345, 0, | ||
3306 | 1, 0x1F8F, 0x1F0F, 0x0345, 0, | ||
3307 | 1, 0x1F90, 0x1F20, 0x0345, 0, | ||
3308 | 1, 0x1F91, 0x1F21, 0x0345, 0, | ||
3309 | 1, 0x1F92, 0x1F22, 0x0345, 0, | ||
3310 | 1, 0x1F93, 0x1F23, 0x0345, 0, | ||
3311 | 1, 0x1F94, 0x1F24, 0x0345, 0, | ||
3312 | 1, 0x1F95, 0x1F25, 0x0345, 0, | ||
3313 | 1, 0x1F96, 0x1F26, 0x0345, 0, | ||
3314 | 1, 0x1F97, 0x1F27, 0x0345, 0, | ||
3315 | 1, 0x1F98, 0x1F28, 0x0345, 0, | ||
3316 | 1, 0x1F99, 0x1F29, 0x0345, 0, | ||
3317 | 1, 0x1F9A, 0x1F2A, 0x0345, 0, | ||
3318 | 1, 0x1F9B, 0x1F2B, 0x0345, 0, | ||
3319 | 1, 0x1F9C, 0x1F2C, 0x0345, 0, | ||
3320 | 1, 0x1F9D, 0x1F2D, 0x0345, 0, | ||
3321 | 1, 0x1F9E, 0x1F2E, 0x0345, 0, | ||
3322 | 1, 0x1F9F, 0x1F2F, 0x0345, 0, | ||
3323 | 1, 0x1FA0, 0x1F60, 0x0345, 0, | ||
3324 | 1, 0x1FA1, 0x1F61, 0x0345, 0, | ||
3325 | 1, 0x1FA2, 0x1F62, 0x0345, 0, | ||
3326 | 1, 0x1FA3, 0x1F63, 0x0345, 0, | ||
3327 | 1, 0x1FA4, 0x1F64, 0x0345, 0, | ||
3328 | 1, 0x1FA5, 0x1F65, 0x0345, 0, | ||
3329 | 1, 0x1FA6, 0x1F66, 0x0345, 0, | ||
3330 | 1, 0x1FA7, 0x1F67, 0x0345, 0, | ||
3331 | 1, 0x1FA8, 0x1F68, 0x0345, 0, | ||
3332 | 1, 0x1FA9, 0x1F69, 0x0345, 0, | ||
3333 | 1, 0x1FAA, 0x1F6A, 0x0345, 0, | ||
3334 | 1, 0x1FAB, 0x1F6B, 0x0345, 0, | ||
3335 | 1, 0x1FAC, 0x1F6C, 0x0345, 0, | ||
3336 | 1, 0x1FAD, 0x1F6D, 0x0345, 0, | ||
3337 | 1, 0x1FAE, 0x1F6E, 0x0345, 0, | ||
3338 | 1, 0x1FAF, 0x1F6F, 0x0345, 0, | ||
3339 | 1, 0x1FB0, 0x03B1, 0x0306, 0, | ||
3340 | 1, 0x1FB1, 0x03B1, 0x0304, 0, | ||
3341 | 1, 0x1FB2, 0x1F70, 0x0345, 0, | ||
3342 | 1, 0x1FB3, 0x03B1, 0x0345, 0, | ||
3343 | 1, 0x1FB4, 0x03AC, 0x0345, 0, | ||
3344 | 1, 0x1FB6, 0x03B1, 0x0342, 0, | ||
3345 | 1, 0x1FB7, 0x1FB6, 0x0345, 0, | ||
3346 | 1, 0x1FB8, 0x0391, 0x0306, 0, | ||
3347 | 1, 0x1FB9, 0x0391, 0x0304, 0, | ||
3348 | 1, 0x1FBA, 0x0391, 0x0300, 0, | ||
3349 | 1, 0x1FBB, 0x0386, 0, | ||
3350 | 1, 0x1FBC, 0x0391, 0x0345, 0, | ||
3351 | 16, 0x1FBD, 0x0020, 0x0313, 0, | ||
3352 | 1, 0x1FBE, 0x03B9, 0, | ||
3353 | 16, 0x1FBF, 0x0020, 0x0313, 0, | ||
3354 | 16, 0x1FC0, 0x0020, 0x0342, 0, | ||
3355 | 1, 0x1FC1, 0x00A8, 0x0342, 0, | ||
3356 | 1, 0x1FC2, 0x1F74, 0x0345, 0, | ||
3357 | 1, 0x1FC3, 0x03B7, 0x0345, 0, | ||
3358 | 1, 0x1FC4, 0x03AE, 0x0345, 0, | ||
3359 | 1, 0x1FC6, 0x03B7, 0x0342, 0, | ||
3360 | 1, 0x1FC7, 0x1FC6, 0x0345, 0, | ||
3361 | 1, 0x1FC8, 0x0395, 0x0300, 0, | ||
3362 | 1, 0x1FC9, 0x0388, 0, | ||
3363 | 1, 0x1FCA, 0x0397, 0x0300, 0, | ||
3364 | 1, 0x1FCB, 0x0389, 0, | ||
3365 | 1, 0x1FCC, 0x0397, 0x0345, 0, | ||
3366 | 1, 0x1FCD, 0x1FBF, 0x0300, 0, | ||
3367 | 1, 0x1FCE, 0x1FBF, 0x0301, 0, | ||
3368 | 1, 0x1FCF, 0x1FBF, 0x0342, 0, | ||
3369 | 1, 0x1FD0, 0x03B9, 0x0306, 0, | ||
3370 | 1, 0x1FD1, 0x03B9, 0x0304, 0, | ||
3371 | 1, 0x1FD2, 0x03CA, 0x0300, 0, | ||
3372 | 1, 0x1FD3, 0x0390, 0, | ||
3373 | 1, 0x1FD6, 0x03B9, 0x0342, 0, | ||
3374 | 1, 0x1FD7, 0x03CA, 0x0342, 0, | ||
3375 | 1, 0x1FD8, 0x0399, 0x0306, 0, | ||
3376 | 1, 0x1FD9, 0x0399, 0x0304, 0, | ||
3377 | 1, 0x1FDA, 0x0399, 0x0300, 0, | ||
3378 | 1, 0x1FDB, 0x038A, 0, | ||
3379 | 1, 0x1FDD, 0x1FFE, 0x0300, 0, | ||
3380 | 1, 0x1FDE, 0x1FFE, 0x0301, 0, | ||
3381 | 1, 0x1FDF, 0x1FFE, 0x0342, 0, | ||
3382 | 1, 0x1FE0, 0x03C5, 0x0306, 0, | ||
3383 | 1, 0x1FE1, 0x03C5, 0x0304, 0, | ||
3384 | 1, 0x1FE2, 0x03CB, 0x0300, 0, | ||
3385 | 1, 0x1FE3, 0x03B0, 0, | ||
3386 | 1, 0x1FE4, 0x03C1, 0x0313, 0, | ||
3387 | 1, 0x1FE5, 0x03C1, 0x0314, 0, | ||
3388 | 1, 0x1FE6, 0x03C5, 0x0342, 0, | ||
3389 | 1, 0x1FE7, 0x03CB, 0x0342, 0, | ||
3390 | 1, 0x1FE8, 0x03A5, 0x0306, 0, | ||
3391 | 1, 0x1FE9, 0x03A5, 0x0304, 0, | ||
3392 | 1, 0x1FEA, 0x03A5, 0x0300, 0, | ||
3393 | 1, 0x1FEB, 0x038E, 0, | ||
3394 | 1, 0x1FEC, 0x03A1, 0x0314, 0, | ||
3395 | 1, 0x1FED, 0x00A8, 0x0300, 0, | ||
3396 | 1, 0x1FEE, 0x0385, 0, | ||
3397 | 1, 0x1FEF, 0x0060, 0, | ||
3398 | 1, 0x1FF2, 0x1F7C, 0x0345, 0, | ||
3399 | 1, 0x1FF3, 0x03C9, 0x0345, 0, | ||
3400 | 1, 0x1FF4, 0x03CE, 0x0345, 0, | ||
3401 | 1, 0x1FF6, 0x03C9, 0x0342, 0, | ||
3402 | 1, 0x1FF7, 0x1FF6, 0x0345, 0, | ||
3403 | 1, 0x1FF8, 0x039F, 0x0300, 0, | ||
3404 | 1, 0x1FF9, 0x038C, 0, | ||
3405 | 1, 0x1FFA, 0x03A9, 0x0300, 0, | ||
3406 | 1, 0x1FFB, 0x038F, 0, | ||
3407 | 1, 0x1FFC, 0x03A9, 0x0345, 0, | ||
3408 | 1, 0x1FFD, 0x00B4, 0, | ||
3409 | 16, 0x1FFE, 0x0020, 0x0314, 0, | ||
3410 | 1, 0x2000, 0x2002, 0, | ||
3411 | 1, 0x2001, 0x2003, 0, | ||
3412 | 16, 0x2002, 0x0020, 0, | ||
3413 | 16, 0x2003, 0x0020, 0, | ||
3414 | 16, 0x2004, 0x0020, 0, | ||
3415 | 16, 0x2005, 0x0020, 0, | ||
3416 | 16, 0x2006, 0x0020, 0, | ||
3417 | 3, 0x2007, 0x0020, 0, | ||
3418 | 16, 0x2008, 0x0020, 0, | ||
3419 | 16, 0x2009, 0x0020, 0, | ||
3420 | 16, 0x200A, 0x0020, 0, | ||
3421 | 3, 0x2011, 0x2010, 0, | ||
3422 | 16, 0x2017, 0x0020, 0x0333, 0, | ||
3423 | 16, 0x2024, 0x002E, 0, | ||
3424 | 16, 0x2025, 0x002E, 0x002E, 0, | ||
3425 | 16, 0x2026, 0x002E, 0x002E, 0x002E, 0, | ||
3426 | 3, 0x202F, 0x0020, 0, | ||
3427 | 16, 0x2033, 0x2032, 0x2032, 0, | ||
3428 | 16, 0x2034, 0x2032, 0x2032, 0x2032, 0, | ||
3429 | 16, 0x2036, 0x2035, 0x2035, 0, | ||
3430 | 16, 0x2037, 0x2035, 0x2035, 0x2035, 0, | ||
3431 | 16, 0x203C, 0x0021, 0x0021, 0, | ||
3432 | 16, 0x203E, 0x0020, 0x0305, 0, | ||
3433 | 16, 0x2047, 0x003F, 0x003F, 0, | ||
3434 | 16, 0x2048, 0x003F, 0x0021, 0, | ||
3435 | 16, 0x2049, 0x0021, 0x003F, 0, | ||
3436 | 16, 0x2057, 0x2032, 0x2032, 0x2032, 0x2032, 0, | ||
3437 | 16, 0x205F, 0x0020, 0, | ||
3438 | 9, 0x2070, 0x0030, 0, | ||
3439 | 9, 0x2071, 0x0069, 0, | ||
3440 | 9, 0x2074, 0x0034, 0, | ||
3441 | 9, 0x2075, 0x0035, 0, | ||
3442 | 9, 0x2076, 0x0036, 0, | ||
3443 | 9, 0x2077, 0x0037, 0, | ||
3444 | 9, 0x2078, 0x0038, 0, | ||
3445 | 9, 0x2079, 0x0039, 0, | ||
3446 | 9, 0x207A, 0x002B, 0, | ||
3447 | 9, 0x207B, 0x2212, 0, | ||
3448 | 9, 0x207C, 0x003D, 0, | ||
3449 | 9, 0x207D, 0x0028, 0, | ||
3450 | 9, 0x207E, 0x0029, 0, | ||
3451 | 9, 0x207F, 0x006E, 0, | ||
3452 | 10, 0x2080, 0x0030, 0, | ||
3453 | 10, 0x2081, 0x0031, 0, | ||
3454 | 10, 0x2082, 0x0032, 0, | ||
3455 | 10, 0x2083, 0x0033, 0, | ||
3456 | 10, 0x2084, 0x0034, 0, | ||
3457 | 10, 0x2085, 0x0035, 0, | ||
3458 | 10, 0x2086, 0x0036, 0, | ||
3459 | 10, 0x2087, 0x0037, 0, | ||
3460 | 10, 0x2088, 0x0038, 0, | ||
3461 | 10, 0x2089, 0x0039, 0, | ||
3462 | 10, 0x208A, 0x002B, 0, | ||
3463 | 10, 0x208B, 0x2212, 0, | ||
3464 | 10, 0x208C, 0x003D, 0, | ||
3465 | 10, 0x208D, 0x0028, 0, | ||
3466 | 10, 0x208E, 0x0029, 0, | ||
3467 | 16, 0x20A8, 0x0052, 0x0073, 0, | ||
3468 | 16, 0x2100, 0x0061, 0x002F, 0x0063, 0, | ||
3469 | 16, 0x2101, 0x0061, 0x002F, 0x0073, 0, | ||
3470 | 2, 0x2102, 0x0043, 0, | ||
3471 | 16, 0x2103, 0x00B0, 0x0043, 0, | ||
3472 | 16, 0x2105, 0x0063, 0x002F, 0x006F, 0, | ||
3473 | 16, 0x2106, 0x0063, 0x002F, 0x0075, 0, | ||
3474 | 16, 0x2107, 0x0190, 0, | ||
3475 | 16, 0x2109, 0x00B0, 0x0046, 0, | ||
3476 | 2, 0x210A, 0x0067, 0, | ||
3477 | 2, 0x210B, 0x0048, 0, | ||
3478 | 2, 0x210C, 0x0048, 0, | ||
3479 | 2, 0x210D, 0x0048, 0, | ||
3480 | 2, 0x210E, 0x0068, 0, | ||
3481 | 2, 0x210F, 0x0127, 0, | ||
3482 | 2, 0x2110, 0x0049, 0, | ||
3483 | 2, 0x2111, 0x0049, 0, | ||
3484 | 2, 0x2112, 0x004C, 0, | ||
3485 | 2, 0x2113, 0x006C, 0, | ||
3486 | 2, 0x2115, 0x004E, 0, | ||
3487 | 16, 0x2116, 0x004E, 0x006F, 0, | ||
3488 | 2, 0x2119, 0x0050, 0, | ||
3489 | 2, 0x211A, 0x0051, 0, | ||
3490 | 2, 0x211B, 0x0052, 0, | ||
3491 | 2, 0x211C, 0x0052, 0, | ||
3492 | 2, 0x211D, 0x0052, 0, | ||
3493 | 9, 0x2120, 0x0053, 0x004D, 0, | ||
3494 | 16, 0x2121, 0x0054, 0x0045, 0x004C, 0, | ||
3495 | 9, 0x2122, 0x0054, 0x004D, 0, | ||
3496 | 2, 0x2124, 0x005A, 0, | ||
3497 | 1, 0x2126, 0x03A9, 0, | ||
3498 | 2, 0x2128, 0x005A, 0, | ||
3499 | 1, 0x212A, 0x004B, 0, | ||
3500 | 1, 0x212B, 0x00C5, 0, | ||
3501 | 2, 0x212C, 0x0042, 0, | ||
3502 | 2, 0x212D, 0x0043, 0, | ||
3503 | 2, 0x212F, 0x0065, 0, | ||
3504 | 2, 0x2130, 0x0045, 0, | ||
3505 | 2, 0x2131, 0x0046, 0, | ||
3506 | 2, 0x2133, 0x004D, 0, | ||
3507 | 2, 0x2134, 0x006F, 0, | ||
3508 | 16, 0x2135, 0x05D0, 0, | ||
3509 | 16, 0x2136, 0x05D1, 0, | ||
3510 | 16, 0x2137, 0x05D2, 0, | ||
3511 | 16, 0x2138, 0x05D3, 0, | ||
3512 | 2, 0x2139, 0x0069, 0, | ||
3513 | 2, 0x213D, 0x03B3, 0, | ||
3514 | 2, 0x213E, 0x0393, 0, | ||
3515 | 2, 0x213F, 0x03A0, 0, | ||
3516 | 2, 0x2140, 0x2211, 0, | ||
3517 | 2, 0x2145, 0x0044, 0, | ||
3518 | 2, 0x2146, 0x0064, 0, | ||
3519 | 2, 0x2147, 0x0065, 0, | ||
3520 | 2, 0x2148, 0x0069, 0, | ||
3521 | 2, 0x2149, 0x006A, 0, | ||
3522 | 17, 0x2153, 0x0031, 0x2044, 0x0033, 0, | ||
3523 | 17, 0x2154, 0x0032, 0x2044, 0x0033, 0, | ||
3524 | 17, 0x2155, 0x0031, 0x2044, 0x0035, 0, | ||
3525 | 17, 0x2156, 0x0032, 0x2044, 0x0035, 0, | ||
3526 | 17, 0x2157, 0x0033, 0x2044, 0x0035, 0, | ||
3527 | 17, 0x2158, 0x0034, 0x2044, 0x0035, 0, | ||
3528 | 17, 0x2159, 0x0031, 0x2044, 0x0036, 0, | ||
3529 | 17, 0x215A, 0x0035, 0x2044, 0x0036, 0, | ||
3530 | 17, 0x215B, 0x0031, 0x2044, 0x0038, 0, | ||
3531 | 17, 0x215C, 0x0033, 0x2044, 0x0038, 0, | ||
3532 | 17, 0x215D, 0x0035, 0x2044, 0x0038, 0, | ||
3533 | 17, 0x215E, 0x0037, 0x2044, 0x0038, 0, | ||
3534 | 17, 0x215F, 0x0031, 0x2044, 0, | ||
3535 | 16, 0x2160, 0x0049, 0, | ||
3536 | 16, 0x2161, 0x0049, 0x0049, 0, | ||
3537 | 16, 0x2162, 0x0049, 0x0049, 0x0049, 0, | ||
3538 | 16, 0x2163, 0x0049, 0x0056, 0, | ||
3539 | 16, 0x2164, 0x0056, 0, | ||
3540 | 16, 0x2165, 0x0056, 0x0049, 0, | ||
3541 | 16, 0x2166, 0x0056, 0x0049, 0x0049, 0, | ||
3542 | 16, 0x2167, 0x0056, 0x0049, 0x0049, 0x0049, 0, | ||
3543 | 16, 0x2168, 0x0049, 0x0058, 0, | ||
3544 | 16, 0x2169, 0x0058, 0, | ||
3545 | 16, 0x216A, 0x0058, 0x0049, 0, | ||
3546 | 16, 0x216B, 0x0058, 0x0049, 0x0049, 0, | ||
3547 | 16, 0x216C, 0x004C, 0, | ||
3548 | 16, 0x216D, 0x0043, 0, | ||
3549 | 16, 0x216E, 0x0044, 0, | ||
3550 | 16, 0x216F, 0x004D, 0, | ||
3551 | 16, 0x2170, 0x0069, 0, | ||
3552 | 16, 0x2171, 0x0069, 0x0069, 0, | ||
3553 | 16, 0x2172, 0x0069, 0x0069, 0x0069, 0, | ||
3554 | 16, 0x2173, 0x0069, 0x0076, 0, | ||
3555 | 16, 0x2174, 0x0076, 0, | ||
3556 | 16, 0x2175, 0x0076, 0x0069, 0, | ||
3557 | 16, 0x2176, 0x0076, 0x0069, 0x0069, 0, | ||
3558 | 16, 0x2177, 0x0076, 0x0069, 0x0069, 0x0069, 0, | ||
3559 | 16, 0x2178, 0x0069, 0x0078, 0, | ||
3560 | 16, 0x2179, 0x0078, 0, | ||
3561 | 16, 0x217A, 0x0078, 0x0069, 0, | ||
3562 | 16, 0x217B, 0x0078, 0x0069, 0x0069, 0, | ||
3563 | 16, 0x217C, 0x006C, 0, | ||
3564 | 16, 0x217D, 0x0063, 0, | ||
3565 | 16, 0x217E, 0x0064, 0, | ||
3566 | 16, 0x217F, 0x006D, 0, | ||
3567 | 1, 0x219A, 0x2190, 0x0338, 0, | ||
3568 | 1, 0x219B, 0x2192, 0x0338, 0, | ||
3569 | 1, 0x21AE, 0x2194, 0x0338, 0, | ||
3570 | 1, 0x21CD, 0x21D0, 0x0338, 0, | ||
3571 | 1, 0x21CE, 0x21D4, 0x0338, 0, | ||
3572 | 1, 0x21CF, 0x21D2, 0x0338, 0, | ||
3573 | 1, 0x2204, 0x2203, 0x0338, 0, | ||
3574 | 1, 0x2209, 0x2208, 0x0338, 0, | ||
3575 | 1, 0x220C, 0x220B, 0x0338, 0, | ||
3576 | 1, 0x2224, 0x2223, 0x0338, 0, | ||
3577 | 1, 0x2226, 0x2225, 0x0338, 0, | ||
3578 | 16, 0x222C, 0x222B, 0x222B, 0, | ||
3579 | 16, 0x222D, 0x222B, 0x222B, 0x222B, 0, | ||
3580 | 16, 0x222F, 0x222E, 0x222E, 0, | ||
3581 | 16, 0x2230, 0x222E, 0x222E, 0x222E, 0, | ||
3582 | 1, 0x2241, 0x223C, 0x0338, 0, | ||
3583 | 1, 0x2244, 0x2243, 0x0338, 0, | ||
3584 | 1, 0x2247, 0x2245, 0x0338, 0, | ||
3585 | 1, 0x2249, 0x2248, 0x0338, 0, | ||
3586 | 1, 0x2260, 0x003D, 0x0338, 0, | ||
3587 | 1, 0x2262, 0x2261, 0x0338, 0, | ||
3588 | 1, 0x226D, 0x224D, 0x0338, 0, | ||
3589 | 1, 0x226E, 0x003C, 0x0338, 0, | ||
3590 | 1, 0x226F, 0x003E, 0x0338, 0, | ||
3591 | 1, 0x2270, 0x2264, 0x0338, 0, | ||
3592 | 1, 0x2271, 0x2265, 0x0338, 0, | ||
3593 | 1, 0x2274, 0x2272, 0x0338, 0, | ||
3594 | 1, 0x2275, 0x2273, 0x0338, 0, | ||
3595 | 1, 0x2278, 0x2276, 0x0338, 0, | ||
3596 | 1, 0x2279, 0x2277, 0x0338, 0, | ||
3597 | 1, 0x2280, 0x227A, 0x0338, 0, | ||
3598 | 1, 0x2281, 0x227B, 0x0338, 0, | ||
3599 | 1, 0x2284, 0x2282, 0x0338, 0, | ||
3600 | 1, 0x2285, 0x2283, 0x0338, 0, | ||
3601 | 1, 0x2288, 0x2286, 0x0338, 0, | ||
3602 | 1, 0x2289, 0x2287, 0x0338, 0, | ||
3603 | 1, 0x22AC, 0x22A2, 0x0338, 0, | ||
3604 | 1, 0x22AD, 0x22A8, 0x0338, 0, | ||
3605 | 1, 0x22AE, 0x22A9, 0x0338, 0, | ||
3606 | 1, 0x22AF, 0x22AB, 0x0338, 0, | ||
3607 | 1, 0x22E0, 0x227C, 0x0338, 0, | ||
3608 | 1, 0x22E1, 0x227D, 0x0338, 0, | ||
3609 | 1, 0x22E2, 0x2291, 0x0338, 0, | ||
3610 | 1, 0x22E3, 0x2292, 0x0338, 0, | ||
3611 | 1, 0x22EA, 0x22B2, 0x0338, 0, | ||
3612 | 1, 0x22EB, 0x22B3, 0x0338, 0, | ||
3613 | 1, 0x22EC, 0x22B4, 0x0338, 0, | ||
3614 | 1, 0x22ED, 0x22B5, 0x0338, 0, | ||
3615 | 1, 0x2329, 0x3008, 0, | ||
3616 | 1, 0x232A, 0x3009, 0, | ||
3617 | 8, 0x2460, 0x0031, 0, | ||
3618 | 8, 0x2461, 0x0032, 0, | ||
3619 | 8, 0x2462, 0x0033, 0, | ||
3620 | 8, 0x2463, 0x0034, 0, | ||
3621 | 8, 0x2464, 0x0035, 0, | ||
3622 | 8, 0x2465, 0x0036, 0, | ||
3623 | 8, 0x2466, 0x0037, 0, | ||
3624 | 8, 0x2467, 0x0038, 0, | ||
3625 | 8, 0x2468, 0x0039, 0, | ||
3626 | 8, 0x2469, 0x0031, 0x0030, 0, | ||
3627 | 8, 0x246A, 0x0031, 0x0031, 0, | ||
3628 | 8, 0x246B, 0x0031, 0x0032, 0, | ||
3629 | 8, 0x246C, 0x0031, 0x0033, 0, | ||
3630 | 8, 0x246D, 0x0031, 0x0034, 0, | ||
3631 | 8, 0x246E, 0x0031, 0x0035, 0, | ||
3632 | 8, 0x246F, 0x0031, 0x0036, 0, | ||
3633 | 8, 0x2470, 0x0031, 0x0037, 0, | ||
3634 | 8, 0x2471, 0x0031, 0x0038, 0, | ||
3635 | 8, 0x2472, 0x0031, 0x0039, 0, | ||
3636 | 8, 0x2473, 0x0032, 0x0030, 0, | ||
3637 | 16, 0x2474, 0x0028, 0x0031, 0x0029, 0, | ||
3638 | 16, 0x2475, 0x0028, 0x0032, 0x0029, 0, | ||
3639 | 16, 0x2476, 0x0028, 0x0033, 0x0029, 0, | ||
3640 | 16, 0x2477, 0x0028, 0x0034, 0x0029, 0, | ||
3641 | 16, 0x2478, 0x0028, 0x0035, 0x0029, 0, | ||
3642 | 16, 0x2479, 0x0028, 0x0036, 0x0029, 0, | ||
3643 | 16, 0x247A, 0x0028, 0x0037, 0x0029, 0, | ||
3644 | 16, 0x247B, 0x0028, 0x0038, 0x0029, 0, | ||
3645 | 16, 0x247C, 0x0028, 0x0039, 0x0029, 0, | ||
3646 | 16, 0x247D, 0x0028, 0x0031, 0x0030, 0x0029, 0, | ||
3647 | 16, 0x247E, 0x0028, 0x0031, 0x0031, 0x0029, 0, | ||
3648 | 16, 0x247F, 0x0028, 0x0031, 0x0032, 0x0029, 0, | ||
3649 | 16, 0x2480, 0x0028, 0x0031, 0x0033, 0x0029, 0, | ||
3650 | 16, 0x2481, 0x0028, 0x0031, 0x0034, 0x0029, 0, | ||
3651 | 16, 0x2482, 0x0028, 0x0031, 0x0035, 0x0029, 0, | ||
3652 | 16, 0x2483, 0x0028, 0x0031, 0x0036, 0x0029, 0, | ||
3653 | 16, 0x2484, 0x0028, 0x0031, 0x0037, 0x0029, 0, | ||
3654 | 16, 0x2485, 0x0028, 0x0031, 0x0038, 0x0029, 0, | ||
3655 | 16, 0x2486, 0x0028, 0x0031, 0x0039, 0x0029, 0, | ||
3656 | 16, 0x2487, 0x0028, 0x0032, 0x0030, 0x0029, 0, | ||
3657 | 16, 0x2488, 0x0031, 0x002E, 0, | ||
3658 | 16, 0x2489, 0x0032, 0x002E, 0, | ||
3659 | 16, 0x248A, 0x0033, 0x002E, 0, | ||
3660 | 16, 0x248B, 0x0034, 0x002E, 0, | ||
3661 | 16, 0x248C, 0x0035, 0x002E, 0, | ||
3662 | 16, 0x248D, 0x0036, 0x002E, 0, | ||
3663 | 16, 0x248E, 0x0037, 0x002E, 0, | ||
3664 | 16, 0x248F, 0x0038, 0x002E, 0, | ||
3665 | 16, 0x2490, 0x0039, 0x002E, 0, | ||
3666 | 16, 0x2491, 0x0031, 0x0030, 0x002E, 0, | ||
3667 | 16, 0x2492, 0x0031, 0x0031, 0x002E, 0, | ||
3668 | 16, 0x2493, 0x0031, 0x0032, 0x002E, 0, | ||
3669 | 16, 0x2494, 0x0031, 0x0033, 0x002E, 0, | ||
3670 | 16, 0x2495, 0x0031, 0x0034, 0x002E, 0, | ||
3671 | 16, 0x2496, 0x0031, 0x0035, 0x002E, 0, | ||
3672 | 16, 0x2497, 0x0031, 0x0036, 0x002E, 0, | ||
3673 | 16, 0x2498, 0x0031, 0x0037, 0x002E, 0, | ||
3674 | 16, 0x2499, 0x0031, 0x0038, 0x002E, 0, | ||
3675 | 16, 0x249A, 0x0031, 0x0039, 0x002E, 0, | ||
3676 | 16, 0x249B, 0x0032, 0x0030, 0x002E, 0, | ||
3677 | 16, 0x249C, 0x0028, 0x0061, 0x0029, 0, | ||
3678 | 16, 0x249D, 0x0028, 0x0062, 0x0029, 0, | ||
3679 | 16, 0x249E, 0x0028, 0x0063, 0x0029, 0, | ||
3680 | 16, 0x249F, 0x0028, 0x0064, 0x0029, 0, | ||
3681 | 16, 0x24A0, 0x0028, 0x0065, 0x0029, 0, | ||
3682 | 16, 0x24A1, 0x0028, 0x0066, 0x0029, 0, | ||
3683 | 16, 0x24A2, 0x0028, 0x0067, 0x0029, 0, | ||
3684 | 16, 0x24A3, 0x0028, 0x0068, 0x0029, 0, | ||
3685 | 16, 0x24A4, 0x0028, 0x0069, 0x0029, 0, | ||
3686 | 16, 0x24A5, 0x0028, 0x006A, 0x0029, 0, | ||
3687 | 16, 0x24A6, 0x0028, 0x006B, 0x0029, 0, | ||
3688 | 16, 0x24A7, 0x0028, 0x006C, 0x0029, 0, | ||
3689 | 16, 0x24A8, 0x0028, 0x006D, 0x0029, 0, | ||
3690 | 16, 0x24A9, 0x0028, 0x006E, 0x0029, 0, | ||
3691 | 16, 0x24AA, 0x0028, 0x006F, 0x0029, 0, | ||
3692 | 16, 0x24AB, 0x0028, 0x0070, 0x0029, 0, | ||
3693 | 16, 0x24AC, 0x0028, 0x0071, 0x0029, 0, | ||
3694 | 16, 0x24AD, 0x0028, 0x0072, 0x0029, 0, | ||
3695 | 16, 0x24AE, 0x0028, 0x0073, 0x0029, 0, | ||
3696 | 16, 0x24AF, 0x0028, 0x0074, 0x0029, 0, | ||
3697 | 16, 0x24B0, 0x0028, 0x0075, 0x0029, 0, | ||
3698 | 16, 0x24B1, 0x0028, 0x0076, 0x0029, 0, | ||
3699 | 16, 0x24B2, 0x0028, 0x0077, 0x0029, 0, | ||
3700 | 16, 0x24B3, 0x0028, 0x0078, 0x0029, 0, | ||
3701 | 16, 0x24B4, 0x0028, 0x0079, 0x0029, 0, | ||
3702 | 16, 0x24B5, 0x0028, 0x007A, 0x0029, 0, | ||
3703 | 8, 0x24B6, 0x0041, 0, | ||
3704 | 8, 0x24B7, 0x0042, 0, | ||
3705 | 8, 0x24B8, 0x0043, 0, | ||
3706 | 8, 0x24B9, 0x0044, 0, | ||
3707 | 8, 0x24BA, 0x0045, 0, | ||
3708 | 8, 0x24BB, 0x0046, 0, | ||
3709 | 8, 0x24BC, 0x0047, 0, | ||
3710 | 8, 0x24BD, 0x0048, 0, | ||
3711 | 8, 0x24BE, 0x0049, 0, | ||
3712 | 8, 0x24BF, 0x004A, 0, | ||
3713 | 8, 0x24C0, 0x004B, 0, | ||
3714 | 8, 0x24C1, 0x004C, 0, | ||
3715 | 8, 0x24C2, 0x004D, 0, | ||
3716 | 8, 0x24C3, 0x004E, 0, | ||
3717 | 8, 0x24C4, 0x004F, 0, | ||
3718 | 8, 0x24C5, 0x0050, 0, | ||
3719 | 8, 0x24C6, 0x0051, 0, | ||
3720 | 8, 0x24C7, 0x0052, 0, | ||
3721 | 8, 0x24C8, 0x0053, 0, | ||
3722 | 8, 0x24C9, 0x0054, 0, | ||
3723 | 8, 0x24CA, 0x0055, 0, | ||
3724 | 8, 0x24CB, 0x0056, 0, | ||
3725 | 8, 0x24CC, 0x0057, 0, | ||
3726 | 8, 0x24CD, 0x0058, 0, | ||
3727 | 8, 0x24CE, 0x0059, 0, | ||
3728 | 8, 0x24CF, 0x005A, 0, | ||
3729 | 8, 0x24D0, 0x0061, 0, | ||
3730 | 8, 0x24D1, 0x0062, 0, | ||
3731 | 8, 0x24D2, 0x0063, 0, | ||
3732 | 8, 0x24D3, 0x0064, 0, | ||
3733 | 8, 0x24D4, 0x0065, 0, | ||
3734 | 8, 0x24D5, 0x0066, 0, | ||
3735 | 8, 0x24D6, 0x0067, 0, | ||
3736 | 8, 0x24D7, 0x0068, 0, | ||
3737 | 8, 0x24D8, 0x0069, 0, | ||
3738 | 8, 0x24D9, 0x006A, 0, | ||
3739 | 8, 0x24DA, 0x006B, 0, | ||
3740 | 8, 0x24DB, 0x006C, 0, | ||
3741 | 8, 0x24DC, 0x006D, 0, | ||
3742 | 8, 0x24DD, 0x006E, 0, | ||
3743 | 8, 0x24DE, 0x006F, 0, | ||
3744 | 8, 0x24DF, 0x0070, 0, | ||
3745 | 8, 0x24E0, 0x0071, 0, | ||
3746 | 8, 0x24E1, 0x0072, 0, | ||
3747 | 8, 0x24E2, 0x0073, 0, | ||
3748 | 8, 0x24E3, 0x0074, 0, | ||
3749 | 8, 0x24E4, 0x0075, 0, | ||
3750 | 8, 0x24E5, 0x0076, 0, | ||
3751 | 8, 0x24E6, 0x0077, 0, | ||
3752 | 8, 0x24E7, 0x0078, 0, | ||
3753 | 8, 0x24E8, 0x0079, 0, | ||
3754 | 8, 0x24E9, 0x007A, 0, | ||
3755 | 8, 0x24EA, 0x0030, 0, | ||
3756 | 16, 0x2A0C, 0x222B, 0x222B, 0x222B, 0x222B, 0, | ||
3757 | 16, 0x2A74, 0x003A, 0x003A, 0x003D, 0, | ||
3758 | 16, 0x2A75, 0x003D, 0x003D, 0, | ||
3759 | 16, 0x2A76, 0x003D, 0x003D, 0x003D, 0, | ||
3760 | 1, 0x2ADC, 0x2ADD, 0x0338, 0, | ||
3761 | 16, 0x2E9F, 0x6BCD, 0, | ||
3762 | 16, 0x2EF3, 0x9F9F, 0, | ||
3763 | 16, 0x2F00, 0x4E00, 0, | ||
3764 | 16, 0x2F01, 0x4E28, 0, | ||
3765 | 16, 0x2F02, 0x4E36, 0, | ||
3766 | 16, 0x2F03, 0x4E3F, 0, | ||
3767 | 16, 0x2F04, 0x4E59, 0, | ||
3768 | 16, 0x2F05, 0x4E85, 0, | ||
3769 | 16, 0x2F06, 0x4E8C, 0, | ||
3770 | 16, 0x2F07, 0x4EA0, 0, | ||
3771 | 16, 0x2F08, 0x4EBA, 0, | ||
3772 | 16, 0x2F09, 0x513F, 0, | ||
3773 | 16, 0x2F0A, 0x5165, 0, | ||
3774 | 16, 0x2F0B, 0x516B, 0, | ||
3775 | 16, 0x2F0C, 0x5182, 0, | ||
3776 | 16, 0x2F0D, 0x5196, 0, | ||
3777 | 16, 0x2F0E, 0x51AB, 0, | ||
3778 | 16, 0x2F0F, 0x51E0, 0, | ||
3779 | 16, 0x2F10, 0x51F5, 0, | ||
3780 | 16, 0x2F11, 0x5200, 0, | ||
3781 | 16, 0x2F12, 0x529B, 0, | ||
3782 | 16, 0x2F13, 0x52F9, 0, | ||
3783 | 16, 0x2F14, 0x5315, 0, | ||
3784 | 16, 0x2F15, 0x531A, 0, | ||
3785 | 16, 0x2F16, 0x5338, 0, | ||
3786 | 16, 0x2F17, 0x5341, 0, | ||
3787 | 16, 0x2F18, 0x535C, 0, | ||
3788 | 16, 0x2F19, 0x5369, 0, | ||
3789 | 16, 0x2F1A, 0x5382, 0, | ||
3790 | 16, 0x2F1B, 0x53B6, 0, | ||
3791 | 16, 0x2F1C, 0x53C8, 0, | ||
3792 | 16, 0x2F1D, 0x53E3, 0, | ||
3793 | 16, 0x2F1E, 0x56D7, 0, | ||
3794 | 16, 0x2F1F, 0x571F, 0, | ||
3795 | 16, 0x2F20, 0x58EB, 0, | ||
3796 | 16, 0x2F21, 0x5902, 0, | ||
3797 | 16, 0x2F22, 0x590A, 0, | ||
3798 | 16, 0x2F23, 0x5915, 0, | ||
3799 | 16, 0x2F24, 0x5927, 0, | ||
3800 | 16, 0x2F25, 0x5973, 0, | ||
3801 | 16, 0x2F26, 0x5B50, 0, | ||
3802 | 16, 0x2F27, 0x5B80, 0, | ||
3803 | 16, 0x2F28, 0x5BF8, 0, | ||
3804 | 16, 0x2F29, 0x5C0F, 0, | ||
3805 | 16, 0x2F2A, 0x5C22, 0, | ||
3806 | 16, 0x2F2B, 0x5C38, 0, | ||
3807 | 16, 0x2F2C, 0x5C6E, 0, | ||
3808 | 16, 0x2F2D, 0x5C71, 0, | ||
3809 | 16, 0x2F2E, 0x5DDB, 0, | ||
3810 | 16, 0x2F2F, 0x5DE5, 0, | ||
3811 | 16, 0x2F30, 0x5DF1, 0, | ||
3812 | 16, 0x2F31, 0x5DFE, 0, | ||
3813 | 16, 0x2F32, 0x5E72, 0, | ||
3814 | 16, 0x2F33, 0x5E7A, 0, | ||
3815 | 16, 0x2F34, 0x5E7F, 0, | ||
3816 | 16, 0x2F35, 0x5EF4, 0, | ||
3817 | 16, 0x2F36, 0x5EFE, 0, | ||
3818 | 16, 0x2F37, 0x5F0B, 0, | ||
3819 | 16, 0x2F38, 0x5F13, 0, | ||
3820 | 16, 0x2F39, 0x5F50, 0, | ||
3821 | 16, 0x2F3A, 0x5F61, 0, | ||
3822 | 16, 0x2F3B, 0x5F73, 0, | ||
3823 | 16, 0x2F3C, 0x5FC3, 0, | ||
3824 | 16, 0x2F3D, 0x6208, 0, | ||
3825 | 16, 0x2F3E, 0x6236, 0, | ||
3826 | 16, 0x2F3F, 0x624B, 0, | ||
3827 | 16, 0x2F40, 0x652F, 0, | ||
3828 | 16, 0x2F41, 0x6534, 0, | ||
3829 | 16, 0x2F42, 0x6587, 0, | ||
3830 | 16, 0x2F43, 0x6597, 0, | ||
3831 | 16, 0x2F44, 0x65A4, 0, | ||
3832 | 16, 0x2F45, 0x65B9, 0, | ||
3833 | 16, 0x2F46, 0x65E0, 0, | ||
3834 | 16, 0x2F47, 0x65E5, 0, | ||
3835 | 16, 0x2F48, 0x66F0, 0, | ||
3836 | 16, 0x2F49, 0x6708, 0, | ||
3837 | 16, 0x2F4A, 0x6728, 0, | ||
3838 | 16, 0x2F4B, 0x6B20, 0, | ||
3839 | 16, 0x2F4C, 0x6B62, 0, | ||
3840 | 16, 0x2F4D, 0x6B79, 0, | ||
3841 | 16, 0x2F4E, 0x6BB3, 0, | ||
3842 | 16, 0x2F4F, 0x6BCB, 0, | ||
3843 | 16, 0x2F50, 0x6BD4, 0, | ||
3844 | 16, 0x2F51, 0x6BDB, 0, | ||
3845 | 16, 0x2F52, 0x6C0F, 0, | ||
3846 | 16, 0x2F53, 0x6C14, 0, | ||
3847 | 16, 0x2F54, 0x6C34, 0, | ||
3848 | 16, 0x2F55, 0x706B, 0, | ||
3849 | 16, 0x2F56, 0x722A, 0, | ||
3850 | 16, 0x2F57, 0x7236, 0, | ||
3851 | 16, 0x2F58, 0x723B, 0, | ||
3852 | 16, 0x2F59, 0x723F, 0, | ||
3853 | 16, 0x2F5A, 0x7247, 0, | ||
3854 | 16, 0x2F5B, 0x7259, 0, | ||
3855 | 16, 0x2F5C, 0x725B, 0, | ||
3856 | 16, 0x2F5D, 0x72AC, 0, | ||
3857 | 16, 0x2F5E, 0x7384, 0, | ||
3858 | 16, 0x2F5F, 0x7389, 0, | ||
3859 | 16, 0x2F60, 0x74DC, 0, | ||
3860 | 16, 0x2F61, 0x74E6, 0, | ||
3861 | 16, 0x2F62, 0x7518, 0, | ||
3862 | 16, 0x2F63, 0x751F, 0, | ||
3863 | 16, 0x2F64, 0x7528, 0, | ||
3864 | 16, 0x2F65, 0x7530, 0, | ||
3865 | 16, 0x2F66, 0x758B, 0, | ||
3866 | 16, 0x2F67, 0x7592, 0, | ||
3867 | 16, 0x2F68, 0x7676, 0, | ||
3868 | 16, 0x2F69, 0x767D, 0, | ||
3869 | 16, 0x2F6A, 0x76AE, 0, | ||
3870 | 16, 0x2F6B, 0x76BF, 0, | ||
3871 | 16, 0x2F6C, 0x76EE, 0, | ||
3872 | 16, 0x2F6D, 0x77DB, 0, | ||
3873 | 16, 0x2F6E, 0x77E2, 0, | ||
3874 | 16, 0x2F6F, 0x77F3, 0, | ||
3875 | 16, 0x2F70, 0x793A, 0, | ||
3876 | 16, 0x2F71, 0x79B8, 0, | ||
3877 | 16, 0x2F72, 0x79BE, 0, | ||
3878 | 16, 0x2F73, 0x7A74, 0, | ||
3879 | 16, 0x2F74, 0x7ACB, 0, | ||
3880 | 16, 0x2F75, 0x7AF9, 0, | ||
3881 | 16, 0x2F76, 0x7C73, 0, | ||
3882 | 16, 0x2F77, 0x7CF8, 0, | ||
3883 | 16, 0x2F78, 0x7F36, 0, | ||
3884 | 16, 0x2F79, 0x7F51, 0, | ||
3885 | 16, 0x2F7A, 0x7F8A, 0, | ||
3886 | 16, 0x2F7B, 0x7FBD, 0, | ||
3887 | 16, 0x2F7C, 0x8001, 0, | ||
3888 | 16, 0x2F7D, 0x800C, 0, | ||
3889 | 16, 0x2F7E, 0x8012, 0, | ||
3890 | 16, 0x2F7F, 0x8033, 0, | ||
3891 | 16, 0x2F80, 0x807F, 0, | ||
3892 | 16, 0x2F81, 0x8089, 0, | ||
3893 | 16, 0x2F82, 0x81E3, 0, | ||
3894 | 16, 0x2F83, 0x81EA, 0, | ||
3895 | 16, 0x2F84, 0x81F3, 0, | ||
3896 | 16, 0x2F85, 0x81FC, 0, | ||
3897 | 16, 0x2F86, 0x820C, 0, | ||
3898 | 16, 0x2F87, 0x821B, 0, | ||
3899 | 16, 0x2F88, 0x821F, 0, | ||
3900 | 16, 0x2F89, 0x826E, 0, | ||
3901 | 16, 0x2F8A, 0x8272, 0, | ||
3902 | 16, 0x2F8B, 0x8278, 0, | ||
3903 | 16, 0x2F8C, 0x864D, 0, | ||
3904 | 16, 0x2F8D, 0x866B, 0, | ||
3905 | 16, 0x2F8E, 0x8840, 0, | ||
3906 | 16, 0x2F8F, 0x884C, 0, | ||
3907 | 16, 0x2F90, 0x8863, 0, | ||
3908 | 16, 0x2F91, 0x897E, 0, | ||
3909 | 16, 0x2F92, 0x898B, 0, | ||
3910 | 16, 0x2F93, 0x89D2, 0, | ||
3911 | 16, 0x2F94, 0x8A00, 0, | ||
3912 | 16, 0x2F95, 0x8C37, 0, | ||
3913 | 16, 0x2F96, 0x8C46, 0, | ||
3914 | 16, 0x2F97, 0x8C55, 0, | ||
3915 | 16, 0x2F98, 0x8C78, 0, | ||
3916 | 16, 0x2F99, 0x8C9D, 0, | ||
3917 | 16, 0x2F9A, 0x8D64, 0, | ||
3918 | 16, 0x2F9B, 0x8D70, 0, | ||
3919 | 16, 0x2F9C, 0x8DB3, 0, | ||
3920 | 16, 0x2F9D, 0x8EAB, 0, | ||
3921 | 16, 0x2F9E, 0x8ECA, 0, | ||
3922 | 16, 0x2F9F, 0x8F9B, 0, | ||
3923 | 16, 0x2FA0, 0x8FB0, 0, | ||
3924 | 16, 0x2FA1, 0x8FB5, 0, | ||
3925 | 16, 0x2FA2, 0x9091, 0, | ||
3926 | 16, 0x2FA3, 0x9149, 0, | ||
3927 | 16, 0x2FA4, 0x91C6, 0, | ||
3928 | 16, 0x2FA5, 0x91CC, 0, | ||
3929 | 16, 0x2FA6, 0x91D1, 0, | ||
3930 | 16, 0x2FA7, 0x9577, 0, | ||
3931 | 16, 0x2FA8, 0x9580, 0, | ||
3932 | 16, 0x2FA9, 0x961C, 0, | ||
3933 | 16, 0x2FAA, 0x96B6, 0, | ||
3934 | 16, 0x2FAB, 0x96B9, 0, | ||
3935 | 16, 0x2FAC, 0x96E8, 0, | ||
3936 | 16, 0x2FAD, 0x9751, 0, | ||
3937 | 16, 0x2FAE, 0x975E, 0, | ||
3938 | 16, 0x2FAF, 0x9762, 0, | ||
3939 | 16, 0x2FB0, 0x9769, 0, | ||
3940 | 16, 0x2FB1, 0x97CB, 0, | ||
3941 | 16, 0x2FB2, 0x97ED, 0, | ||
3942 | 16, 0x2FB3, 0x97F3, 0, | ||
3943 | 16, 0x2FB4, 0x9801, 0, | ||
3944 | 16, 0x2FB5, 0x98A8, 0, | ||
3945 | 16, 0x2FB6, 0x98DB, 0, | ||
3946 | 16, 0x2FB7, 0x98DF, 0, | ||
3947 | 16, 0x2FB8, 0x9996, 0, | ||
3948 | 16, 0x2FB9, 0x9999, 0, | ||
3949 | 16, 0x2FBA, 0x99AC, 0, | ||
3950 | 16, 0x2FBB, 0x9AA8, 0, | ||
3951 | 16, 0x2FBC, 0x9AD8, 0, | ||
3952 | 16, 0x2FBD, 0x9ADF, 0, | ||
3953 | 16, 0x2FBE, 0x9B25, 0, | ||
3954 | 16, 0x2FBF, 0x9B2F, 0, | ||
3955 | 16, 0x2FC0, 0x9B32, 0, | ||
3956 | 16, 0x2FC1, 0x9B3C, 0, | ||
3957 | 16, 0x2FC2, 0x9B5A, 0, | ||
3958 | 16, 0x2FC3, 0x9CE5, 0, | ||
3959 | 16, 0x2FC4, 0x9E75, 0, | ||
3960 | 16, 0x2FC5, 0x9E7F, 0, | ||
3961 | 16, 0x2FC6, 0x9EA5, 0, | ||
3962 | 16, 0x2FC7, 0x9EBB, 0, | ||
3963 | 16, 0x2FC8, 0x9EC3, 0, | ||
3964 | 16, 0x2FC9, 0x9ECD, 0, | ||
3965 | 16, 0x2FCA, 0x9ED1, 0, | ||
3966 | 16, 0x2FCB, 0x9EF9, 0, | ||
3967 | 16, 0x2FCC, 0x9EFD, 0, | ||
3968 | 16, 0x2FCD, 0x9F0E, 0, | ||
3969 | 16, 0x2FCE, 0x9F13, 0, | ||
3970 | 16, 0x2FCF, 0x9F20, 0, | ||
3971 | 16, 0x2FD0, 0x9F3B, 0, | ||
3972 | 16, 0x2FD1, 0x9F4A, 0, | ||
3973 | 16, 0x2FD2, 0x9F52, 0, | ||
3974 | 16, 0x2FD3, 0x9F8D, 0, | ||
3975 | 16, 0x2FD4, 0x9F9C, 0, | ||
3976 | 16, 0x2FD5, 0x9FA0, 0, | ||
3977 | 12, 0x3000, 0x0020, 0, | ||
3978 | 16, 0x3036, 0x3012, 0, | ||
3979 | 16, 0x3038, 0x5341, 0, | ||
3980 | 16, 0x3039, 0x5344, 0, | ||
3981 | 16, 0x303A, 0x5345, 0, | ||
3982 | 1, 0x304C, 0x304B, 0x3099, 0, | ||
3983 | 1, 0x304E, 0x304D, 0x3099, 0, | ||
3984 | 1, 0x3050, 0x304F, 0x3099, 0, | ||
3985 | 1, 0x3052, 0x3051, 0x3099, 0, | ||
3986 | 1, 0x3054, 0x3053, 0x3099, 0, | ||
3987 | 1, 0x3056, 0x3055, 0x3099, 0, | ||
3988 | 1, 0x3058, 0x3057, 0x3099, 0, | ||
3989 | 1, 0x305A, 0x3059, 0x3099, 0, | ||
3990 | 1, 0x305C, 0x305B, 0x3099, 0, | ||
3991 | 1, 0x305E, 0x305D, 0x3099, 0, | ||
3992 | 1, 0x3060, 0x305F, 0x3099, 0, | ||
3993 | 1, 0x3062, 0x3061, 0x3099, 0, | ||
3994 | 1, 0x3065, 0x3064, 0x3099, 0, | ||
3995 | 1, 0x3067, 0x3066, 0x3099, 0, | ||
3996 | 1, 0x3069, 0x3068, 0x3099, 0, | ||
3997 | 1, 0x3070, 0x306F, 0x3099, 0, | ||
3998 | 1, 0x3071, 0x306F, 0x309A, 0, | ||
3999 | 1, 0x3073, 0x3072, 0x3099, 0, | ||
4000 | 1, 0x3074, 0x3072, 0x309A, 0, | ||
4001 | 1, 0x3076, 0x3075, 0x3099, 0, | ||
4002 | 1, 0x3077, 0x3075, 0x309A, 0, | ||
4003 | 1, 0x3079, 0x3078, 0x3099, 0, | ||
4004 | 1, 0x307A, 0x3078, 0x309A, 0, | ||
4005 | 1, 0x307C, 0x307B, 0x3099, 0, | ||
4006 | 1, 0x307D, 0x307B, 0x309A, 0, | ||
4007 | 1, 0x3094, 0x3046, 0x3099, 0, | ||
4008 | 16, 0x309B, 0x0020, 0x3099, 0, | ||
4009 | 16, 0x309C, 0x0020, 0x309A, 0, | ||
4010 | 1, 0x309E, 0x309D, 0x3099, 0, | ||
4011 | 11, 0x309F, 0x3088, 0x308A, 0, | ||
4012 | 1, 0x30AC, 0x30AB, 0x3099, 0, | ||
4013 | 1, 0x30AE, 0x30AD, 0x3099, 0, | ||
4014 | 1, 0x30B0, 0x30AF, 0x3099, 0, | ||
4015 | 1, 0x30B2, 0x30B1, 0x3099, 0, | ||
4016 | 1, 0x30B4, 0x30B3, 0x3099, 0, | ||
4017 | 1, 0x30B6, 0x30B5, 0x3099, 0, | ||
4018 | 1, 0x30B8, 0x30B7, 0x3099, 0, | ||
4019 | 1, 0x30BA, 0x30B9, 0x3099, 0, | ||
4020 | 1, 0x30BC, 0x30BB, 0x3099, 0, | ||
4021 | 1, 0x30BE, 0x30BD, 0x3099, 0, | ||
4022 | 1, 0x30C0, 0x30BF, 0x3099, 0, | ||
4023 | 1, 0x30C2, 0x30C1, 0x3099, 0, | ||
4024 | 1, 0x30C5, 0x30C4, 0x3099, 0, | ||
4025 | 1, 0x30C7, 0x30C6, 0x3099, 0, | ||
4026 | 1, 0x30C9, 0x30C8, 0x3099, 0, | ||
4027 | 1, 0x30D0, 0x30CF, 0x3099, 0, | ||
4028 | 1, 0x30D1, 0x30CF, 0x309A, 0, | ||
4029 | 1, 0x30D3, 0x30D2, 0x3099, 0, | ||
4030 | 1, 0x30D4, 0x30D2, 0x309A, 0, | ||
4031 | 1, 0x30D6, 0x30D5, 0x3099, 0, | ||
4032 | 1, 0x30D7, 0x30D5, 0x309A, 0, | ||
4033 | 1, 0x30D9, 0x30D8, 0x3099, 0, | ||
4034 | 1, 0x30DA, 0x30D8, 0x309A, 0, | ||
4035 | 1, 0x30DC, 0x30DB, 0x3099, 0, | ||
4036 | 1, 0x30DD, 0x30DB, 0x309A, 0, | ||
4037 | 1, 0x30F4, 0x30A6, 0x3099, 0, | ||
4038 | 1, 0x30F7, 0x30EF, 0x3099, 0, | ||
4039 | 1, 0x30F8, 0x30F0, 0x3099, 0, | ||
4040 | 1, 0x30F9, 0x30F1, 0x3099, 0, | ||
4041 | 1, 0x30FA, 0x30F2, 0x3099, 0, | ||
4042 | 1, 0x30FE, 0x30FD, 0x3099, 0, | ||
4043 | 11, 0x30FF, 0x30B3, 0x30C8, 0, | ||
4044 | 16, 0x3131, 0x1100, 0, | ||
4045 | 16, 0x3132, 0x1101, 0, | ||
4046 | 16, 0x3133, 0x11AA, 0, | ||
4047 | 16, 0x3134, 0x1102, 0, | ||
4048 | 16, 0x3135, 0x11AC, 0, | ||
4049 | 16, 0x3136, 0x11AD, 0, | ||
4050 | 16, 0x3137, 0x1103, 0, | ||
4051 | 16, 0x3138, 0x1104, 0, | ||
4052 | 16, 0x3139, 0x1105, 0, | ||
4053 | 16, 0x313A, 0x11B0, 0, | ||
4054 | 16, 0x313B, 0x11B1, 0, | ||
4055 | 16, 0x313C, 0x11B2, 0, | ||
4056 | 16, 0x313D, 0x11B3, 0, | ||
4057 | 16, 0x313E, 0x11B4, 0, | ||
4058 | 16, 0x313F, 0x11B5, 0, | ||
4059 | 16, 0x3140, 0x111A, 0, | ||
4060 | 16, 0x3141, 0x1106, 0, | ||
4061 | 16, 0x3142, 0x1107, 0, | ||
4062 | 16, 0x3143, 0x1108, 0, | ||
4063 | 16, 0x3144, 0x1121, 0, | ||
4064 | 16, 0x3145, 0x1109, 0, | ||
4065 | 16, 0x3146, 0x110A, 0, | ||
4066 | 16, 0x3147, 0x110B, 0, | ||
4067 | 16, 0x3148, 0x110C, 0, | ||
4068 | 16, 0x3149, 0x110D, 0, | ||
4069 | 16, 0x314A, 0x110E, 0, | ||
4070 | 16, 0x314B, 0x110F, 0, | ||
4071 | 16, 0x314C, 0x1110, 0, | ||
4072 | 16, 0x314D, 0x1111, 0, | ||
4073 | 16, 0x314E, 0x1112, 0, | ||
4074 | 16, 0x314F, 0x1161, 0, | ||
4075 | 16, 0x3150, 0x1162, 0, | ||
4076 | 16, 0x3151, 0x1163, 0, | ||
4077 | 16, 0x3152, 0x1164, 0, | ||
4078 | 16, 0x3153, 0x1165, 0, | ||
4079 | 16, 0x3154, 0x1166, 0, | ||
4080 | 16, 0x3155, 0x1167, 0, | ||
4081 | 16, 0x3156, 0x1168, 0, | ||
4082 | 16, 0x3157, 0x1169, 0, | ||
4083 | 16, 0x3158, 0x116A, 0, | ||
4084 | 16, 0x3159, 0x116B, 0, | ||
4085 | 16, 0x315A, 0x116C, 0, | ||
4086 | 16, 0x315B, 0x116D, 0, | ||
4087 | 16, 0x315C, 0x116E, 0, | ||
4088 | 16, 0x315D, 0x116F, 0, | ||
4089 | 16, 0x315E, 0x1170, 0, | ||
4090 | 16, 0x315F, 0x1171, 0, | ||
4091 | 16, 0x3160, 0x1172, 0, | ||
4092 | 16, 0x3161, 0x1173, 0, | ||
4093 | 16, 0x3162, 0x1174, 0, | ||
4094 | 16, 0x3163, 0x1175, 0, | ||
4095 | 16, 0x3164, 0x1160, 0, | ||
4096 | 16, 0x3165, 0x1114, 0, | ||
4097 | 16, 0x3166, 0x1115, 0, | ||
4098 | 16, 0x3167, 0x11C7, 0, | ||
4099 | 16, 0x3168, 0x11C8, 0, | ||
4100 | 16, 0x3169, 0x11CC, 0, | ||
4101 | 16, 0x316A, 0x11CE, 0, | ||
4102 | 16, 0x316B, 0x11D3, 0, | ||
4103 | 16, 0x316C, 0x11D7, 0, | ||
4104 | 16, 0x316D, 0x11D9, 0, | ||
4105 | 16, 0x316E, 0x111C, 0, | ||
4106 | 16, 0x316F, 0x11DD, 0, | ||
4107 | 16, 0x3170, 0x11DF, 0, | ||
4108 | 16, 0x3171, 0x111D, 0, | ||
4109 | 16, 0x3172, 0x111E, 0, | ||
4110 | 16, 0x3173, 0x1120, 0, | ||
4111 | 16, 0x3174, 0x1122, 0, | ||
4112 | 16, 0x3175, 0x1123, 0, | ||
4113 | 16, 0x3176, 0x1127, 0, | ||
4114 | 16, 0x3177, 0x1129, 0, | ||
4115 | 16, 0x3178, 0x112B, 0, | ||
4116 | 16, 0x3179, 0x112C, 0, | ||
4117 | 16, 0x317A, 0x112D, 0, | ||
4118 | 16, 0x317B, 0x112E, 0, | ||
4119 | 16, 0x317C, 0x112F, 0, | ||
4120 | 16, 0x317D, 0x1132, 0, | ||
4121 | 16, 0x317E, 0x1136, 0, | ||
4122 | 16, 0x317F, 0x1140, 0, | ||
4123 | 16, 0x3180, 0x1147, 0, | ||
4124 | 16, 0x3181, 0x114C, 0, | ||
4125 | 16, 0x3182, 0x11F1, 0, | ||
4126 | 16, 0x3183, 0x11F2, 0, | ||
4127 | 16, 0x3184, 0x1157, 0, | ||
4128 | 16, 0x3185, 0x1158, 0, | ||
4129 | 16, 0x3186, 0x1159, 0, | ||
4130 | 16, 0x3187, 0x1184, 0, | ||
4131 | 16, 0x3188, 0x1185, 0, | ||
4132 | 16, 0x3189, 0x1188, 0, | ||
4133 | 16, 0x318A, 0x1191, 0, | ||
4134 | 16, 0x318B, 0x1192, 0, | ||
4135 | 16, 0x318C, 0x1194, 0, | ||
4136 | 16, 0x318D, 0x119E, 0, | ||
4137 | 16, 0x318E, 0x11A1, 0, | ||
4138 | 9, 0x3192, 0x4E00, 0, | ||
4139 | 9, 0x3193, 0x4E8C, 0, | ||
4140 | 9, 0x3194, 0x4E09, 0, | ||
4141 | 9, 0x3195, 0x56DB, 0, | ||
4142 | 9, 0x3196, 0x4E0A, 0, | ||
4143 | 9, 0x3197, 0x4E2D, 0, | ||
4144 | 9, 0x3198, 0x4E0B, 0, | ||
4145 | 9, 0x3199, 0x7532, 0, | ||
4146 | 9, 0x319A, 0x4E59, 0, | ||
4147 | 9, 0x319B, 0x4E19, 0, | ||
4148 | 9, 0x319C, 0x4E01, 0, | ||
4149 | 9, 0x319D, 0x5929, 0, | ||
4150 | 9, 0x319E, 0x5730, 0, | ||
4151 | 9, 0x319F, 0x4EBA, 0, | ||
4152 | 16, 0x3200, 0x0028, 0x1100, 0x0029, 0, | ||
4153 | 16, 0x3201, 0x0028, 0x1102, 0x0029, 0, | ||
4154 | 16, 0x3202, 0x0028, 0x1103, 0x0029, 0, | ||
4155 | 16, 0x3203, 0x0028, 0x1105, 0x0029, 0, | ||
4156 | 16, 0x3204, 0x0028, 0x1106, 0x0029, 0, | ||
4157 | 16, 0x3205, 0x0028, 0x1107, 0x0029, 0, | ||
4158 | 16, 0x3206, 0x0028, 0x1109, 0x0029, 0, | ||
4159 | 16, 0x3207, 0x0028, 0x110B, 0x0029, 0, | ||
4160 | 16, 0x3208, 0x0028, 0x110C, 0x0029, 0, | ||
4161 | 16, 0x3209, 0x0028, 0x110E, 0x0029, 0, | ||
4162 | 16, 0x320A, 0x0028, 0x110F, 0x0029, 0, | ||
4163 | 16, 0x320B, 0x0028, 0x1110, 0x0029, 0, | ||
4164 | 16, 0x320C, 0x0028, 0x1111, 0x0029, 0, | ||
4165 | 16, 0x320D, 0x0028, 0x1112, 0x0029, 0, | ||
4166 | 16, 0x320E, 0x0028, 0x1100, 0x1161, 0x0029, 0, | ||
4167 | 16, 0x320F, 0x0028, 0x1102, 0x1161, 0x0029, 0, | ||
4168 | 16, 0x3210, 0x0028, 0x1103, 0x1161, 0x0029, 0, | ||
4169 | 16, 0x3211, 0x0028, 0x1105, 0x1161, 0x0029, 0, | ||
4170 | 16, 0x3212, 0x0028, 0x1106, 0x1161, 0x0029, 0, | ||
4171 | 16, 0x3213, 0x0028, 0x1107, 0x1161, 0x0029, 0, | ||
4172 | 16, 0x3214, 0x0028, 0x1109, 0x1161, 0x0029, 0, | ||
4173 | 16, 0x3215, 0x0028, 0x110B, 0x1161, 0x0029, 0, | ||
4174 | 16, 0x3216, 0x0028, 0x110C, 0x1161, 0x0029, 0, | ||
4175 | 16, 0x3217, 0x0028, 0x110E, 0x1161, 0x0029, 0, | ||
4176 | 16, 0x3218, 0x0028, 0x110F, 0x1161, 0x0029, 0, | ||
4177 | 16, 0x3219, 0x0028, 0x1110, 0x1161, 0x0029, 0, | ||
4178 | 16, 0x321A, 0x0028, 0x1111, 0x1161, 0x0029, 0, | ||
4179 | 16, 0x321B, 0x0028, 0x1112, 0x1161, 0x0029, 0, | ||
4180 | 16, 0x321C, 0x0028, 0x110C, 0x116E, 0x0029, 0, | ||
4181 | 16, 0x3220, 0x0028, 0x4E00, 0x0029, 0, | ||
4182 | 16, 0x3221, 0x0028, 0x4E8C, 0x0029, 0, | ||
4183 | 16, 0x3222, 0x0028, 0x4E09, 0x0029, 0, | ||
4184 | 16, 0x3223, 0x0028, 0x56DB, 0x0029, 0, | ||
4185 | 16, 0x3224, 0x0028, 0x4E94, 0x0029, 0, | ||
4186 | 16, 0x3225, 0x0028, 0x516D, 0x0029, 0, | ||
4187 | 16, 0x3226, 0x0028, 0x4E03, 0x0029, 0, | ||
4188 | 16, 0x3227, 0x0028, 0x516B, 0x0029, 0, | ||
4189 | 16, 0x3228, 0x0028, 0x4E5D, 0x0029, 0, | ||
4190 | 16, 0x3229, 0x0028, 0x5341, 0x0029, 0, | ||
4191 | 16, 0x322A, 0x0028, 0x6708, 0x0029, 0, | ||
4192 | 16, 0x322B, 0x0028, 0x706B, 0x0029, 0, | ||
4193 | 16, 0x322C, 0x0028, 0x6C34, 0x0029, 0, | ||
4194 | 16, 0x322D, 0x0028, 0x6728, 0x0029, 0, | ||
4195 | 16, 0x322E, 0x0028, 0x91D1, 0x0029, 0, | ||
4196 | 16, 0x322F, 0x0028, 0x571F, 0x0029, 0, | ||
4197 | 16, 0x3230, 0x0028, 0x65E5, 0x0029, 0, | ||
4198 | 16, 0x3231, 0x0028, 0x682A, 0x0029, 0, | ||
4199 | 16, 0x3232, 0x0028, 0x6709, 0x0029, 0, | ||
4200 | 16, 0x3233, 0x0028, 0x793E, 0x0029, 0, | ||
4201 | 16, 0x3234, 0x0028, 0x540D, 0x0029, 0, | ||
4202 | 16, 0x3235, 0x0028, 0x7279, 0x0029, 0, | ||
4203 | 16, 0x3236, 0x0028, 0x8CA1, 0x0029, 0, | ||
4204 | 16, 0x3237, 0x0028, 0x795D, 0x0029, 0, | ||
4205 | 16, 0x3238, 0x0028, 0x52B4, 0x0029, 0, | ||
4206 | 16, 0x3239, 0x0028, 0x4EE3, 0x0029, 0, | ||
4207 | 16, 0x323A, 0x0028, 0x547C, 0x0029, 0, | ||
4208 | 16, 0x323B, 0x0028, 0x5B66, 0x0029, 0, | ||
4209 | 16, 0x323C, 0x0028, 0x76E3, 0x0029, 0, | ||
4210 | 16, 0x323D, 0x0028, 0x4F01, 0x0029, 0, | ||
4211 | 16, 0x323E, 0x0028, 0x8CC7, 0x0029, 0, | ||
4212 | 16, 0x323F, 0x0028, 0x5354, 0x0029, 0, | ||
4213 | 16, 0x3240, 0x0028, 0x796D, 0x0029, 0, | ||
4214 | 16, 0x3241, 0x0028, 0x4F11, 0x0029, 0, | ||
4215 | 16, 0x3242, 0x0028, 0x81EA, 0x0029, 0, | ||
4216 | 16, 0x3243, 0x0028, 0x81F3, 0x0029, 0, | ||
4217 | 8, 0x3251, 0x0032, 0x0031, 0, | ||
4218 | 8, 0x3252, 0x0032, 0x0032, 0, | ||
4219 | 8, 0x3253, 0x0032, 0x0033, 0, | ||
4220 | 8, 0x3254, 0x0032, 0x0034, 0, | ||
4221 | 8, 0x3255, 0x0032, 0x0035, 0, | ||
4222 | 8, 0x3256, 0x0032, 0x0036, 0, | ||
4223 | 8, 0x3257, 0x0032, 0x0037, 0, | ||
4224 | 8, 0x3258, 0x0032, 0x0038, 0, | ||
4225 | 8, 0x3259, 0x0032, 0x0039, 0, | ||
4226 | 8, 0x325A, 0x0033, 0x0030, 0, | ||
4227 | 8, 0x325B, 0x0033, 0x0031, 0, | ||
4228 | 8, 0x325C, 0x0033, 0x0032, 0, | ||
4229 | 8, 0x325D, 0x0033, 0x0033, 0, | ||
4230 | 8, 0x325E, 0x0033, 0x0034, 0, | ||
4231 | 8, 0x325F, 0x0033, 0x0035, 0, | ||
4232 | 8, 0x3260, 0x1100, 0, | ||
4233 | 8, 0x3261, 0x1102, 0, | ||
4234 | 8, 0x3262, 0x1103, 0, | ||
4235 | 8, 0x3263, 0x1105, 0, | ||
4236 | 8, 0x3264, 0x1106, 0, | ||
4237 | 8, 0x3265, 0x1107, 0, | ||
4238 | 8, 0x3266, 0x1109, 0, | ||
4239 | 8, 0x3267, 0x110B, 0, | ||
4240 | 8, 0x3268, 0x110C, 0, | ||
4241 | 8, 0x3269, 0x110E, 0, | ||
4242 | 8, 0x326A, 0x110F, 0, | ||
4243 | 8, 0x326B, 0x1110, 0, | ||
4244 | 8, 0x326C, 0x1111, 0, | ||
4245 | 8, 0x326D, 0x1112, 0, | ||
4246 | 8, 0x326E, 0x1100, 0x1161, 0, | ||
4247 | 8, 0x326F, 0x1102, 0x1161, 0, | ||
4248 | 8, 0x3270, 0x1103, 0x1161, 0, | ||
4249 | 8, 0x3271, 0x1105, 0x1161, 0, | ||
4250 | 8, 0x3272, 0x1106, 0x1161, 0, | ||
4251 | 8, 0x3273, 0x1107, 0x1161, 0, | ||
4252 | 8, 0x3274, 0x1109, 0x1161, 0, | ||
4253 | 8, 0x3275, 0x110B, 0x1161, 0, | ||
4254 | 8, 0x3276, 0x110C, 0x1161, 0, | ||
4255 | 8, 0x3277, 0x110E, 0x1161, 0, | ||
4256 | 8, 0x3278, 0x110F, 0x1161, 0, | ||
4257 | 8, 0x3279, 0x1110, 0x1161, 0, | ||
4258 | 8, 0x327A, 0x1111, 0x1161, 0, | ||
4259 | 8, 0x327B, 0x1112, 0x1161, 0, | ||
4260 | 8, 0x3280, 0x4E00, 0, | ||
4261 | 8, 0x3281, 0x4E8C, 0, | ||
4262 | 8, 0x3282, 0x4E09, 0, | ||
4263 | 8, 0x3283, 0x56DB, 0, | ||
4264 | 8, 0x3284, 0x4E94, 0, | ||
4265 | 8, 0x3285, 0x516D, 0, | ||
4266 | 8, 0x3286, 0x4E03, 0, | ||
4267 | 8, 0x3287, 0x516B, 0, | ||
4268 | 8, 0x3288, 0x4E5D, 0, | ||
4269 | 8, 0x3289, 0x5341, 0, | ||
4270 | 8, 0x328A, 0x6708, 0, | ||
4271 | 8, 0x328B, 0x706B, 0, | ||
4272 | 8, 0x328C, 0x6C34, 0, | ||
4273 | 8, 0x328D, 0x6728, 0, | ||
4274 | 8, 0x328E, 0x91D1, 0, | ||
4275 | 8, 0x328F, 0x571F, 0, | ||
4276 | 8, 0x3290, 0x65E5, 0, | ||
4277 | 8, 0x3291, 0x682A, 0, | ||
4278 | 8, 0x3292, 0x6709, 0, | ||
4279 | 8, 0x3293, 0x793E, 0, | ||
4280 | 8, 0x3294, 0x540D, 0, | ||
4281 | 8, 0x3295, 0x7279, 0, | ||
4282 | 8, 0x3296, 0x8CA1, 0, | ||
4283 | 8, 0x3297, 0x795D, 0, | ||
4284 | 8, 0x3298, 0x52B4, 0, | ||
4285 | 8, 0x3299, 0x79D8, 0, | ||
4286 | 8, 0x329A, 0x7537, 0, | ||
4287 | 8, 0x329B, 0x5973, 0, | ||
4288 | 8, 0x329C, 0x9069, 0, | ||
4289 | 8, 0x329D, 0x512A, 0, | ||
4290 | 8, 0x329E, 0x5370, 0, | ||
4291 | 8, 0x329F, 0x6CE8, 0, | ||
4292 | 8, 0x32A0, 0x9805, 0, | ||
4293 | 8, 0x32A1, 0x4F11, 0, | ||
4294 | 8, 0x32A2, 0x5199, 0, | ||
4295 | 8, 0x32A3, 0x6B63, 0, | ||
4296 | 8, 0x32A4, 0x4E0A, 0, | ||
4297 | 8, 0x32A5, 0x4E2D, 0, | ||
4298 | 8, 0x32A6, 0x4E0B, 0, | ||
4299 | 8, 0x32A7, 0x5DE6, 0, | ||
4300 | 8, 0x32A8, 0x53F3, 0, | ||
4301 | 8, 0x32A9, 0x533B, 0, | ||
4302 | 8, 0x32AA, 0x5B97, 0, | ||
4303 | 8, 0x32AB, 0x5B66, 0, | ||
4304 | 8, 0x32AC, 0x76E3, 0, | ||
4305 | 8, 0x32AD, 0x4F01, 0, | ||
4306 | 8, 0x32AE, 0x8CC7, 0, | ||
4307 | 8, 0x32AF, 0x5354, 0, | ||
4308 | 8, 0x32B0, 0x591C, 0, | ||
4309 | 8, 0x32B1, 0x0033, 0x0036, 0, | ||
4310 | 8, 0x32B2, 0x0033, 0x0037, 0, | ||
4311 | 8, 0x32B3, 0x0033, 0x0038, 0, | ||
4312 | 8, 0x32B4, 0x0033, 0x0039, 0, | ||
4313 | 8, 0x32B5, 0x0034, 0x0030, 0, | ||
4314 | 8, 0x32B6, 0x0034, 0x0031, 0, | ||
4315 | 8, 0x32B7, 0x0034, 0x0032, 0, | ||
4316 | 8, 0x32B8, 0x0034, 0x0033, 0, | ||
4317 | 8, 0x32B9, 0x0034, 0x0034, 0, | ||
4318 | 8, 0x32BA, 0x0034, 0x0035, 0, | ||
4319 | 8, 0x32BB, 0x0034, 0x0036, 0, | ||
4320 | 8, 0x32BC, 0x0034, 0x0037, 0, | ||
4321 | 8, 0x32BD, 0x0034, 0x0038, 0, | ||
4322 | 8, 0x32BE, 0x0034, 0x0039, 0, | ||
4323 | 8, 0x32BF, 0x0035, 0x0030, 0, | ||
4324 | 16, 0x32C0, 0x0031, 0x6708, 0, | ||
4325 | 16, 0x32C1, 0x0032, 0x6708, 0, | ||
4326 | 16, 0x32C2, 0x0033, 0x6708, 0, | ||
4327 | 16, 0x32C3, 0x0034, 0x6708, 0, | ||
4328 | 16, 0x32C4, 0x0035, 0x6708, 0, | ||
4329 | 16, 0x32C5, 0x0036, 0x6708, 0, | ||
4330 | 16, 0x32C6, 0x0037, 0x6708, 0, | ||
4331 | 16, 0x32C7, 0x0038, 0x6708, 0, | ||
4332 | 16, 0x32C8, 0x0039, 0x6708, 0, | ||
4333 | 16, 0x32C9, 0x0031, 0x0030, 0x6708, 0, | ||
4334 | 16, 0x32CA, 0x0031, 0x0031, 0x6708, 0, | ||
4335 | 16, 0x32CB, 0x0031, 0x0032, 0x6708, 0, | ||
4336 | 8, 0x32D0, 0x30A2, 0, | ||
4337 | 8, 0x32D1, 0x30A4, 0, | ||
4338 | 8, 0x32D2, 0x30A6, 0, | ||
4339 | 8, 0x32D3, 0x30A8, 0, | ||
4340 | 8, 0x32D4, 0x30AA, 0, | ||
4341 | 8, 0x32D5, 0x30AB, 0, | ||
4342 | 8, 0x32D6, 0x30AD, 0, | ||
4343 | 8, 0x32D7, 0x30AF, 0, | ||
4344 | 8, 0x32D8, 0x30B1, 0, | ||
4345 | 8, 0x32D9, 0x30B3, 0, | ||
4346 | 8, 0x32DA, 0x30B5, 0, | ||
4347 | 8, 0x32DB, 0x30B7, 0, | ||
4348 | 8, 0x32DC, 0x30B9, 0, | ||
4349 | 8, 0x32DD, 0x30BB, 0, | ||
4350 | 8, 0x32DE, 0x30BD, 0, | ||
4351 | 8, 0x32DF, 0x30BF, 0, | ||
4352 | 8, 0x32E0, 0x30C1, 0, | ||
4353 | 8, 0x32E1, 0x30C4, 0, | ||
4354 | 8, 0x32E2, 0x30C6, 0, | ||
4355 | 8, 0x32E3, 0x30C8, 0, | ||
4356 | 8, 0x32E4, 0x30CA, 0, | ||
4357 | 8, 0x32E5, 0x30CB, 0, | ||
4358 | 8, 0x32E6, 0x30CC, 0, | ||
4359 | 8, 0x32E7, 0x30CD, 0, | ||
4360 | 8, 0x32E8, 0x30CE, 0, | ||
4361 | 8, 0x32E9, 0x30CF, 0, | ||
4362 | 8, 0x32EA, 0x30D2, 0, | ||
4363 | 8, 0x32EB, 0x30D5, 0, | ||
4364 | 8, 0x32EC, 0x30D8, 0, | ||
4365 | 8, 0x32ED, 0x30DB, 0, | ||
4366 | 8, 0x32EE, 0x30DE, 0, | ||
4367 | 8, 0x32EF, 0x30DF, 0, | ||
4368 | 8, 0x32F0, 0x30E0, 0, | ||
4369 | 8, 0x32F1, 0x30E1, 0, | ||
4370 | 8, 0x32F2, 0x30E2, 0, | ||
4371 | 8, 0x32F3, 0x30E4, 0, | ||
4372 | 8, 0x32F4, 0x30E6, 0, | ||
4373 | 8, 0x32F5, 0x30E8, 0, | ||
4374 | 8, 0x32F6, 0x30E9, 0, | ||
4375 | 8, 0x32F7, 0x30EA, 0, | ||
4376 | 8, 0x32F8, 0x30EB, 0, | ||
4377 | 8, 0x32F9, 0x30EC, 0, | ||
4378 | 8, 0x32FA, 0x30ED, 0, | ||
4379 | 8, 0x32FB, 0x30EF, 0, | ||
4380 | 8, 0x32FC, 0x30F0, 0, | ||
4381 | 8, 0x32FD, 0x30F1, 0, | ||
4382 | 8, 0x32FE, 0x30F2, 0, | ||
4383 | 15, 0x3300, 0x30A2, 0x30D1, 0x30FC, 0x30C8, 0, | ||
4384 | 15, 0x3301, 0x30A2, 0x30EB, 0x30D5, 0x30A1, 0, | ||
4385 | 15, 0x3302, 0x30A2, 0x30F3, 0x30DA, 0x30A2, 0, | ||
4386 | 15, 0x3303, 0x30A2, 0x30FC, 0x30EB, 0, | ||
4387 | 15, 0x3304, 0x30A4, 0x30CB, 0x30F3, 0x30B0, 0, | ||
4388 | 15, 0x3305, 0x30A4, 0x30F3, 0x30C1, 0, | ||
4389 | 15, 0x3306, 0x30A6, 0x30A9, 0x30F3, 0, | ||
4390 | 15, 0x3307, 0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9, 0, | ||
4391 | 15, 0x3308, 0x30A8, 0x30FC, 0x30AB, 0x30FC, 0, | ||
4392 | 15, 0x3309, 0x30AA, 0x30F3, 0x30B9, 0, | ||
4393 | 15, 0x330A, 0x30AA, 0x30FC, 0x30E0, 0, | ||
4394 | 15, 0x330B, 0x30AB, 0x30A4, 0x30EA, 0, | ||
4395 | 15, 0x330C, 0x30AB, 0x30E9, 0x30C3, 0x30C8, 0, | ||
4396 | 15, 0x330D, 0x30AB, 0x30ED, 0x30EA, 0x30FC, 0, | ||
4397 | 15, 0x330E, 0x30AC, 0x30ED, 0x30F3, 0, | ||
4398 | 15, 0x330F, 0x30AC, 0x30F3, 0x30DE, 0, | ||
4399 | 15, 0x3310, 0x30AE, 0x30AC, 0, | ||
4400 | 15, 0x3311, 0x30AE, 0x30CB, 0x30FC, 0, | ||
4401 | 15, 0x3312, 0x30AD, 0x30E5, 0x30EA, 0x30FC, 0, | ||
4402 | 15, 0x3313, 0x30AE, 0x30EB, 0x30C0, 0x30FC, 0, | ||
4403 | 15, 0x3314, 0x30AD, 0x30ED, 0, | ||
4404 | 15, 0x3315, 0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0, 0, | ||
4405 | 15, 0x3316, 0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB, 0, | ||
4406 | 15, 0x3317, 0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8, 0, | ||
4407 | 15, 0x3318, 0x30B0, 0x30E9, 0x30E0, 0, | ||
4408 | 15, 0x3319, 0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3, 0, | ||
4409 | 15, 0x331A, 0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED, 0, | ||
4410 | 15, 0x331B, 0x30AF, 0x30ED, 0x30FC, 0x30CD, 0, | ||
4411 | 15, 0x331C, 0x30B1, 0x30FC, 0x30B9, 0, | ||
4412 | 15, 0x331D, 0x30B3, 0x30EB, 0x30CA, 0, | ||
4413 | 15, 0x331E, 0x30B3, 0x30FC, 0x30DD, 0, | ||
4414 | 15, 0x331F, 0x30B5, 0x30A4, 0x30AF, 0x30EB, 0, | ||
4415 | 15, 0x3320, 0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0, 0, | ||
4416 | 15, 0x3321, 0x30B7, 0x30EA, 0x30F3, 0x30B0, 0, | ||
4417 | 15, 0x3322, 0x30BB, 0x30F3, 0x30C1, 0, | ||
4418 | 15, 0x3323, 0x30BB, 0x30F3, 0x30C8, 0, | ||
4419 | 15, 0x3324, 0x30C0, 0x30FC, 0x30B9, 0, | ||
4420 | 15, 0x3325, 0x30C7, 0x30B7, 0, | ||
4421 | 15, 0x3326, 0x30C9, 0x30EB, 0, | ||
4422 | 15, 0x3327, 0x30C8, 0x30F3, 0, | ||
4423 | 15, 0x3328, 0x30CA, 0x30CE, 0, | ||
4424 | 15, 0x3329, 0x30CE, 0x30C3, 0x30C8, 0, | ||
4425 | 15, 0x332A, 0x30CF, 0x30A4, 0x30C4, 0, | ||
4426 | 15, 0x332B, 0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8, 0, | ||
4427 | 15, 0x332C, 0x30D1, 0x30FC, 0x30C4, 0, | ||
4428 | 15, 0x332D, 0x30D0, 0x30FC, 0x30EC, 0x30EB, 0, | ||
4429 | 15, 0x332E, 0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB, 0, | ||
4430 | 15, 0x332F, 0x30D4, 0x30AF, 0x30EB, 0, | ||
4431 | 15, 0x3330, 0x30D4, 0x30B3, 0, | ||
4432 | 15, 0x3331, 0x30D3, 0x30EB, 0, | ||
4433 | 15, 0x3332, 0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9, 0, | ||
4434 | 15, 0x3333, 0x30D5, 0x30A3, 0x30FC, 0x30C8, 0, | ||
4435 | 15, 0x3334, 0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB, 0, | ||
4436 | 15, 0x3335, 0x30D5, 0x30E9, 0x30F3, 0, | ||
4437 | 15, 0x3336, 0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB, 0, | ||
4438 | 15, 0x3337, 0x30DA, 0x30BD, 0, | ||
4439 | 15, 0x3338, 0x30DA, 0x30CB, 0x30D2, 0, | ||
4440 | 15, 0x3339, 0x30D8, 0x30EB, 0x30C4, 0, | ||
4441 | 15, 0x333A, 0x30DA, 0x30F3, 0x30B9, 0, | ||
4442 | 15, 0x333B, 0x30DA, 0x30FC, 0x30B8, 0, | ||
4443 | 15, 0x333C, 0x30D9, 0x30FC, 0x30BF, 0, | ||
4444 | 15, 0x333D, 0x30DD, 0x30A4, 0x30F3, 0x30C8, 0, | ||
4445 | 15, 0x333E, 0x30DC, 0x30EB, 0x30C8, 0, | ||
4446 | 15, 0x333F, 0x30DB, 0x30F3, 0, | ||
4447 | 15, 0x3340, 0x30DD, 0x30F3, 0x30C9, 0, | ||
4448 | 15, 0x3341, 0x30DB, 0x30FC, 0x30EB, 0, | ||
4449 | 15, 0x3342, 0x30DB, 0x30FC, 0x30F3, 0, | ||
4450 | 15, 0x3343, 0x30DE, 0x30A4, 0x30AF, 0x30ED, 0, | ||
4451 | 15, 0x3344, 0x30DE, 0x30A4, 0x30EB, 0, | ||
4452 | 15, 0x3345, 0x30DE, 0x30C3, 0x30CF, 0, | ||
4453 | 15, 0x3346, 0x30DE, 0x30EB, 0x30AF, 0, | ||
4454 | 15, 0x3347, 0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3, 0, | ||
4455 | 15, 0x3348, 0x30DF, 0x30AF, 0x30ED, 0x30F3, 0, | ||
4456 | 15, 0x3349, 0x30DF, 0x30EA, 0, | ||
4457 | 15, 0x334A, 0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB, 0, | ||
4458 | 15, 0x334B, 0x30E1, 0x30AC, 0, | ||
4459 | 15, 0x334C, 0x30E1, 0x30AC, 0x30C8, 0x30F3, 0, | ||
4460 | 15, 0x334D, 0x30E1, 0x30FC, 0x30C8, 0x30EB, 0, | ||
4461 | 15, 0x334E, 0x30E4, 0x30FC, 0x30C9, 0, | ||
4462 | 15, 0x334F, 0x30E4, 0x30FC, 0x30EB, 0, | ||
4463 | 15, 0x3350, 0x30E6, 0x30A2, 0x30F3, 0, | ||
4464 | 15, 0x3351, 0x30EA, 0x30C3, 0x30C8, 0x30EB, 0, | ||
4465 | 15, 0x3352, 0x30EA, 0x30E9, 0, | ||
4466 | 15, 0x3353, 0x30EB, 0x30D4, 0x30FC, 0, | ||
4467 | 15, 0x3354, 0x30EB, 0x30FC, 0x30D6, 0x30EB, 0, | ||
4468 | 15, 0x3355, 0x30EC, 0x30E0, 0, | ||
4469 | 15, 0x3356, 0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3, 0, | ||
4470 | 15, 0x3357, 0x30EF, 0x30C3, 0x30C8, 0, | ||
4471 | 16, 0x3358, 0x0030, 0x70B9, 0, | ||
4472 | 16, 0x3359, 0x0031, 0x70B9, 0, | ||
4473 | 16, 0x335A, 0x0032, 0x70B9, 0, | ||
4474 | 16, 0x335B, 0x0033, 0x70B9, 0, | ||
4475 | 16, 0x335C, 0x0034, 0x70B9, 0, | ||
4476 | 16, 0x335D, 0x0035, 0x70B9, 0, | ||
4477 | 16, 0x335E, 0x0036, 0x70B9, 0, | ||
4478 | 16, 0x335F, 0x0037, 0x70B9, 0, | ||
4479 | 16, 0x3360, 0x0038, 0x70B9, 0, | ||
4480 | 16, 0x3361, 0x0039, 0x70B9, 0, | ||
4481 | 16, 0x3362, 0x0031, 0x0030, 0x70B9, 0, | ||
4482 | 16, 0x3363, 0x0031, 0x0031, 0x70B9, 0, | ||
4483 | 16, 0x3364, 0x0031, 0x0032, 0x70B9, 0, | ||
4484 | 16, 0x3365, 0x0031, 0x0033, 0x70B9, 0, | ||
4485 | 16, 0x3366, 0x0031, 0x0034, 0x70B9, 0, | ||
4486 | 16, 0x3367, 0x0031, 0x0035, 0x70B9, 0, | ||
4487 | 16, 0x3368, 0x0031, 0x0036, 0x70B9, 0, | ||
4488 | 16, 0x3369, 0x0031, 0x0037, 0x70B9, 0, | ||
4489 | 16, 0x336A, 0x0031, 0x0038, 0x70B9, 0, | ||
4490 | 16, 0x336B, 0x0031, 0x0039, 0x70B9, 0, | ||
4491 | 16, 0x336C, 0x0032, 0x0030, 0x70B9, 0, | ||
4492 | 16, 0x336D, 0x0032, 0x0031, 0x70B9, 0, | ||
4493 | 16, 0x336E, 0x0032, 0x0032, 0x70B9, 0, | ||
4494 | 16, 0x336F, 0x0032, 0x0033, 0x70B9, 0, | ||
4495 | 16, 0x3370, 0x0032, 0x0034, 0x70B9, 0, | ||
4496 | 15, 0x3371, 0x0068, 0x0050, 0x0061, 0, | ||
4497 | 15, 0x3372, 0x0064, 0x0061, 0, | ||
4498 | 15, 0x3373, 0x0041, 0x0055, 0, | ||
4499 | 15, 0x3374, 0x0062, 0x0061, 0x0072, 0, | ||
4500 | 15, 0x3375, 0x006F, 0x0056, 0, | ||
4501 | 15, 0x3376, 0x0070, 0x0063, 0, | ||
4502 | 15, 0x337B, 0x5E73, 0x6210, 0, | ||
4503 | 15, 0x337C, 0x662D, 0x548C, 0, | ||
4504 | 15, 0x337D, 0x5927, 0x6B63, 0, | ||
4505 | 15, 0x337E, 0x660E, 0x6CBB, 0, | ||
4506 | 15, 0x337F, 0x682A, 0x5F0F, 0x4F1A, 0x793E, 0, | ||
4507 | 15, 0x3380, 0x0070, 0x0041, 0, | ||
4508 | 15, 0x3381, 0x006E, 0x0041, 0, | ||
4509 | 15, 0x3382, 0x03BC, 0x0041, 0, | ||
4510 | 15, 0x3383, 0x006D, 0x0041, 0, | ||
4511 | 15, 0x3384, 0x006B, 0x0041, 0, | ||
4512 | 15, 0x3385, 0x004B, 0x0042, 0, | ||
4513 | 15, 0x3386, 0x004D, 0x0042, 0, | ||
4514 | 15, 0x3387, 0x0047, 0x0042, 0, | ||
4515 | 15, 0x3388, 0x0063, 0x0061, 0x006C, 0, | ||
4516 | 15, 0x3389, 0x006B, 0x0063, 0x0061, 0x006C, 0, | ||
4517 | 15, 0x338A, 0x0070, 0x0046, 0, | ||
4518 | 15, 0x338B, 0x006E, 0x0046, 0, | ||
4519 | 15, 0x338C, 0x03BC, 0x0046, 0, | ||
4520 | 15, 0x338D, 0x03BC, 0x0067, 0, | ||
4521 | 15, 0x338E, 0x006D, 0x0067, 0, | ||
4522 | 15, 0x338F, 0x006B, 0x0067, 0, | ||
4523 | 15, 0x3390, 0x0048, 0x007A, 0, | ||
4524 | 15, 0x3391, 0x006B, 0x0048, 0x007A, 0, | ||
4525 | 15, 0x3392, 0x004D, 0x0048, 0x007A, 0, | ||
4526 | 15, 0x3393, 0x0047, 0x0048, 0x007A, 0, | ||
4527 | 15, 0x3394, 0x0054, 0x0048, 0x007A, 0, | ||
4528 | 15, 0x3395, 0x03BC, 0x2113, 0, | ||
4529 | 15, 0x3396, 0x006D, 0x2113, 0, | ||
4530 | 15, 0x3397, 0x0064, 0x2113, 0, | ||
4531 | 15, 0x3398, 0x006B, 0x2113, 0, | ||
4532 | 15, 0x3399, 0x0066, 0x006D, 0, | ||
4533 | 15, 0x339A, 0x006E, 0x006D, 0, | ||
4534 | 15, 0x339B, 0x03BC, 0x006D, 0, | ||
4535 | 15, 0x339C, 0x006D, 0x006D, 0, | ||
4536 | 15, 0x339D, 0x0063, 0x006D, 0, | ||
4537 | 15, 0x339E, 0x006B, 0x006D, 0, | ||
4538 | 15, 0x339F, 0x006D, 0x006D, 0x00B2, 0, | ||
4539 | 15, 0x33A0, 0x0063, 0x006D, 0x00B2, 0, | ||
4540 | 15, 0x33A1, 0x006D, 0x00B2, 0, | ||
4541 | 15, 0x33A2, 0x006B, 0x006D, 0x00B2, 0, | ||
4542 | 15, 0x33A3, 0x006D, 0x006D, 0x00B3, 0, | ||
4543 | 15, 0x33A4, 0x0063, 0x006D, 0x00B3, 0, | ||
4544 | 15, 0x33A5, 0x006D, 0x00B3, 0, | ||
4545 | 15, 0x33A6, 0x006B, 0x006D, 0x00B3, 0, | ||
4546 | 15, 0x33A7, 0x006D, 0x2215, 0x0073, 0, | ||
4547 | 15, 0x33A8, 0x006D, 0x2215, 0x0073, 0x00B2, 0, | ||
4548 | 15, 0x33A9, 0x0050, 0x0061, 0, | ||
4549 | 15, 0x33AA, 0x006B, 0x0050, 0x0061, 0, | ||
4550 | 15, 0x33AB, 0x004D, 0x0050, 0x0061, 0, | ||
4551 | 15, 0x33AC, 0x0047, 0x0050, 0x0061, 0, | ||
4552 | 15, 0x33AD, 0x0072, 0x0061, 0x0064, 0, | ||
4553 | 15, 0x33AE, 0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0, | ||
4554 | 15, 0x33AF, 0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x00B2, 0, | ||
4555 | 15, 0x33B0, 0x0070, 0x0073, 0, | ||
4556 | 15, 0x33B1, 0x006E, 0x0073, 0, | ||
4557 | 15, 0x33B2, 0x03BC, 0x0073, 0, | ||
4558 | 15, 0x33B3, 0x006D, 0x0073, 0, | ||
4559 | 15, 0x33B4, 0x0070, 0x0056, 0, | ||
4560 | 15, 0x33B5, 0x006E, 0x0056, 0, | ||
4561 | 15, 0x33B6, 0x03BC, 0x0056, 0, | ||
4562 | 15, 0x33B7, 0x006D, 0x0056, 0, | ||
4563 | 15, 0x33B8, 0x006B, 0x0056, 0, | ||
4564 | 15, 0x33B9, 0x004D, 0x0056, 0, | ||
4565 | 15, 0x33BA, 0x0070, 0x0057, 0, | ||
4566 | 15, 0x33BB, 0x006E, 0x0057, 0, | ||
4567 | 15, 0x33BC, 0x03BC, 0x0057, 0, | ||
4568 | 15, 0x33BD, 0x006D, 0x0057, 0, | ||
4569 | 15, 0x33BE, 0x006B, 0x0057, 0, | ||
4570 | 15, 0x33BF, 0x004D, 0x0057, 0, | ||
4571 | 15, 0x33C0, 0x006B, 0x03A9, 0, | ||
4572 | 15, 0x33C1, 0x004D, 0x03A9, 0, | ||
4573 | 15, 0x33C2, 0x0061, 0x002E, 0x006D, 0x002E, 0, | ||
4574 | 15, 0x33C3, 0x0042, 0x0071, 0, | ||
4575 | 15, 0x33C4, 0x0063, 0x0063, 0, | ||
4576 | 15, 0x33C5, 0x0063, 0x0064, 0, | ||
4577 | 15, 0x33C6, 0x0043, 0x2215, 0x006B, 0x0067, 0, | ||
4578 | 15, 0x33C7, 0x0043, 0x006F, 0x002E, 0, | ||
4579 | 15, 0x33C8, 0x0064, 0x0042, 0, | ||
4580 | 15, 0x33C9, 0x0047, 0x0079, 0, | ||
4581 | 15, 0x33CA, 0x0068, 0x0061, 0, | ||
4582 | 15, 0x33CB, 0x0048, 0x0050, 0, | ||
4583 | 15, 0x33CC, 0x0069, 0x006E, 0, | ||
4584 | 15, 0x33CD, 0x004B, 0x004B, 0, | ||
4585 | 15, 0x33CE, 0x004B, 0x004D, 0, | ||
4586 | 15, 0x33CF, 0x006B, 0x0074, 0, | ||
4587 | 15, 0x33D0, 0x006C, 0x006D, 0, | ||
4588 | 15, 0x33D1, 0x006C, 0x006E, 0, | ||
4589 | 15, 0x33D2, 0x006C, 0x006F, 0x0067, 0, | ||
4590 | 15, 0x33D3, 0x006C, 0x0078, 0, | ||
4591 | 15, 0x33D4, 0x006D, 0x0062, 0, | ||
4592 | 15, 0x33D5, 0x006D, 0x0069, 0x006C, 0, | ||
4593 | 15, 0x33D6, 0x006D, 0x006F, 0x006C, 0, | ||
4594 | 15, 0x33D7, 0x0050, 0x0048, 0, | ||
4595 | 15, 0x33D8, 0x0070, 0x002E, 0x006D, 0x002E, 0, | ||
4596 | 15, 0x33D9, 0x0050, 0x0050, 0x004D, 0, | ||
4597 | 15, 0x33DA, 0x0050, 0x0052, 0, | ||
4598 | 15, 0x33DB, 0x0073, 0x0072, 0, | ||
4599 | 15, 0x33DC, 0x0053, 0x0076, 0, | ||
4600 | 15, 0x33DD, 0x0057, 0x0062, 0, | ||
4601 | 16, 0x33E0, 0x0031, 0x65E5, 0, | ||
4602 | 16, 0x33E1, 0x0032, 0x65E5, 0, | ||
4603 | 16, 0x33E2, 0x0033, 0x65E5, 0, | ||
4604 | 16, 0x33E3, 0x0034, 0x65E5, 0, | ||
4605 | 16, 0x33E4, 0x0035, 0x65E5, 0, | ||
4606 | 16, 0x33E5, 0x0036, 0x65E5, 0, | ||
4607 | 16, 0x33E6, 0x0037, 0x65E5, 0, | ||
4608 | 16, 0x33E7, 0x0038, 0x65E5, 0, | ||
4609 | 16, 0x33E8, 0x0039, 0x65E5, 0, | ||
4610 | 16, 0x33E9, 0x0031, 0x0030, 0x65E5, 0, | ||
4611 | 16, 0x33EA, 0x0031, 0x0031, 0x65E5, 0, | ||
4612 | 16, 0x33EB, 0x0031, 0x0032, 0x65E5, 0, | ||
4613 | 16, 0x33EC, 0x0031, 0x0033, 0x65E5, 0, | ||
4614 | 16, 0x33ED, 0x0031, 0x0034, 0x65E5, 0, | ||
4615 | 16, 0x33EE, 0x0031, 0x0035, 0x65E5, 0, | ||
4616 | 16, 0x33EF, 0x0031, 0x0036, 0x65E5, 0, | ||
4617 | 16, 0x33F0, 0x0031, 0x0037, 0x65E5, 0, | ||
4618 | 16, 0x33F1, 0x0031, 0x0038, 0x65E5, 0, | ||
4619 | 16, 0x33F2, 0x0031, 0x0039, 0x65E5, 0, | ||
4620 | 16, 0x33F3, 0x0032, 0x0030, 0x65E5, 0, | ||
4621 | 16, 0x33F4, 0x0032, 0x0031, 0x65E5, 0, | ||
4622 | 16, 0x33F5, 0x0032, 0x0032, 0x65E5, 0, | ||
4623 | 16, 0x33F6, 0x0032, 0x0033, 0x65E5, 0, | ||
4624 | 16, 0x33F7, 0x0032, 0x0034, 0x65E5, 0, | ||
4625 | 16, 0x33F8, 0x0032, 0x0035, 0x65E5, 0, | ||
4626 | 16, 0x33F9, 0x0032, 0x0036, 0x65E5, 0, | ||
4627 | 16, 0x33FA, 0x0032, 0x0037, 0x65E5, 0, | ||
4628 | 16, 0x33FB, 0x0032, 0x0038, 0x65E5, 0, | ||
4629 | 16, 0x33FC, 0x0032, 0x0039, 0x65E5, 0, | ||
4630 | 16, 0x33FD, 0x0033, 0x0030, 0x65E5, 0, | ||
4631 | 16, 0x33FE, 0x0033, 0x0031, 0x65E5, 0, | ||
4632 | 1, 0xF900, 0x8C48, 0, | ||
4633 | 1, 0xF901, 0x66F4, 0, | ||
4634 | 1, 0xF902, 0x8ECA, 0, | ||
4635 | 1, 0xF903, 0x8CC8, 0, | ||
4636 | 1, 0xF904, 0x6ED1, 0, | ||
4637 | 1, 0xF905, 0x4E32, 0, | ||
4638 | 1, 0xF906, 0x53E5, 0, | ||
4639 | 1, 0xF907, 0x9F9C, 0, | ||
4640 | 1, 0xF908, 0x9F9C, 0, | ||
4641 | 1, 0xF909, 0x5951, 0, | ||
4642 | 1, 0xF90A, 0x91D1, 0, | ||
4643 | 1, 0xF90B, 0x5587, 0, | ||
4644 | 1, 0xF90C, 0x5948, 0, | ||
4645 | 1, 0xF90D, 0x61F6, 0, | ||
4646 | 1, 0xF90E, 0x7669, 0, | ||
4647 | 1, 0xF90F, 0x7F85, 0, | ||
4648 | 1, 0xF910, 0x863F, 0, | ||
4649 | 1, 0xF911, 0x87BA, 0, | ||
4650 | 1, 0xF912, 0x88F8, 0, | ||
4651 | 1, 0xF913, 0x908F, 0, | ||
4652 | 1, 0xF914, 0x6A02, 0, | ||
4653 | 1, 0xF915, 0x6D1B, 0, | ||
4654 | 1, 0xF916, 0x70D9, 0, | ||
4655 | 1, 0xF917, 0x73DE, 0, | ||
4656 | 1, 0xF918, 0x843D, 0, | ||
4657 | 1, 0xF919, 0x916A, 0, | ||
4658 | 1, 0xF91A, 0x99F1, 0, | ||
4659 | 1, 0xF91B, 0x4E82, 0, | ||
4660 | 1, 0xF91C, 0x5375, 0, | ||
4661 | 1, 0xF91D, 0x6B04, 0, | ||
4662 | 1, 0xF91E, 0x721B, 0, | ||
4663 | 1, 0xF91F, 0x862D, 0, | ||
4664 | 1, 0xF920, 0x9E1E, 0, | ||
4665 | 1, 0xF921, 0x5D50, 0, | ||
4666 | 1, 0xF922, 0x6FEB, 0, | ||
4667 | 1, 0xF923, 0x85CD, 0, | ||
4668 | 1, 0xF924, 0x8964, 0, | ||
4669 | 1, 0xF925, 0x62C9, 0, | ||
4670 | 1, 0xF926, 0x81D8, 0, | ||
4671 | 1, 0xF927, 0x881F, 0, | ||
4672 | 1, 0xF928, 0x5ECA, 0, | ||
4673 | 1, 0xF929, 0x6717, 0, | ||
4674 | 1, 0xF92A, 0x6D6A, 0, | ||
4675 | 1, 0xF92B, 0x72FC, 0, | ||
4676 | 1, 0xF92C, 0x90CE, 0, | ||
4677 | 1, 0xF92D, 0x4F86, 0, | ||
4678 | 1, 0xF92E, 0x51B7, 0, | ||
4679 | 1, 0xF92F, 0x52DE, 0, | ||
4680 | 1, 0xF930, 0x64C4, 0, | ||
4681 | 1, 0xF931, 0x6AD3, 0, | ||
4682 | 1, 0xF932, 0x7210, 0, | ||
4683 | 1, 0xF933, 0x76E7, 0, | ||
4684 | 1, 0xF934, 0x8001, 0, | ||
4685 | 1, 0xF935, 0x8606, 0, | ||
4686 | 1, 0xF936, 0x865C, 0, | ||
4687 | 1, 0xF937, 0x8DEF, 0, | ||
4688 | 1, 0xF938, 0x9732, 0, | ||
4689 | 1, 0xF939, 0x9B6F, 0, | ||
4690 | 1, 0xF93A, 0x9DFA, 0, | ||
4691 | 1, 0xF93B, 0x788C, 0, | ||
4692 | 1, 0xF93C, 0x797F, 0, | ||
4693 | 1, 0xF93D, 0x7DA0, 0, | ||
4694 | 1, 0xF93E, 0x83C9, 0, | ||
4695 | 1, 0xF93F, 0x9304, 0, | ||
4696 | 1, 0xF940, 0x9E7F, 0, | ||
4697 | 1, 0xF941, 0x8AD6, 0, | ||
4698 | 1, 0xF942, 0x58DF, 0, | ||
4699 | 1, 0xF943, 0x5F04, 0, | ||
4700 | 1, 0xF944, 0x7C60, 0, | ||
4701 | 1, 0xF945, 0x807E, 0, | ||
4702 | 1, 0xF946, 0x7262, 0, | ||
4703 | 1, 0xF947, 0x78CA, 0, | ||
4704 | 1, 0xF948, 0x8CC2, 0, | ||
4705 | 1, 0xF949, 0x96F7, 0, | ||
4706 | 1, 0xF94A, 0x58D8, 0, | ||
4707 | 1, 0xF94B, 0x5C62, 0, | ||
4708 | 1, 0xF94C, 0x6A13, 0, | ||
4709 | 1, 0xF94D, 0x6DDA, 0, | ||
4710 | 1, 0xF94E, 0x6F0F, 0, | ||
4711 | 1, 0xF94F, 0x7D2F, 0, | ||
4712 | 1, 0xF950, 0x7E37, 0, | ||
4713 | 1, 0xF951, 0x964B, 0, | ||
4714 | 1, 0xF952, 0x52D2, 0, | ||
4715 | 1, 0xF953, 0x808B, 0, | ||
4716 | 1, 0xF954, 0x51DC, 0, | ||
4717 | 1, 0xF955, 0x51CC, 0, | ||
4718 | 1, 0xF956, 0x7A1C, 0, | ||
4719 | 1, 0xF957, 0x7DBE, 0, | ||
4720 | 1, 0xF958, 0x83F1, 0, | ||
4721 | 1, 0xF959, 0x9675, 0, | ||
4722 | 1, 0xF95A, 0x8B80, 0, | ||
4723 | 1, 0xF95B, 0x62CF, 0, | ||
4724 | 1, 0xF95C, 0x6A02, 0, | ||
4725 | 1, 0xF95D, 0x8AFE, 0, | ||
4726 | 1, 0xF95E, 0x4E39, 0, | ||
4727 | 1, 0xF95F, 0x5BE7, 0, | ||
4728 | 1, 0xF960, 0x6012, 0, | ||
4729 | 1, 0xF961, 0x7387, 0, | ||
4730 | 1, 0xF962, 0x7570, 0, | ||
4731 | 1, 0xF963, 0x5317, 0, | ||
4732 | 1, 0xF964, 0x78FB, 0, | ||
4733 | 1, 0xF965, 0x4FBF, 0, | ||
4734 | 1, 0xF966, 0x5FA9, 0, | ||
4735 | 1, 0xF967, 0x4E0D, 0, | ||
4736 | 1, 0xF968, 0x6CCC, 0, | ||
4737 | 1, 0xF969, 0x6578, 0, | ||
4738 | 1, 0xF96A, 0x7D22, 0, | ||
4739 | 1, 0xF96B, 0x53C3, 0, | ||
4740 | 1, 0xF96C, 0x585E, 0, | ||
4741 | 1, 0xF96D, 0x7701, 0, | ||
4742 | 1, 0xF96E, 0x8449, 0, | ||
4743 | 1, 0xF96F, 0x8AAA, 0, | ||
4744 | 1, 0xF970, 0x6BBA, 0, | ||
4745 | 1, 0xF971, 0x8FB0, 0, | ||
4746 | 1, 0xF972, 0x6C88, 0, | ||
4747 | 1, 0xF973, 0x62FE, 0, | ||
4748 | 1, 0xF974, 0x82E5, 0, | ||
4749 | 1, 0xF975, 0x63A0, 0, | ||
4750 | 1, 0xF976, 0x7565, 0, | ||
4751 | 1, 0xF977, 0x4EAE, 0, | ||
4752 | 1, 0xF978, 0x5169, 0, | ||
4753 | 1, 0xF979, 0x51C9, 0, | ||
4754 | 1, 0xF97A, 0x6881, 0, | ||
4755 | 1, 0xF97B, 0x7CE7, 0, | ||
4756 | 1, 0xF97C, 0x826F, 0, | ||
4757 | 1, 0xF97D, 0x8AD2, 0, | ||
4758 | 1, 0xF97E, 0x91CF, 0, | ||
4759 | 1, 0xF97F, 0x52F5, 0, | ||
4760 | 1, 0xF980, 0x5442, 0, | ||
4761 | 1, 0xF981, 0x5973, 0, | ||
4762 | 1, 0xF982, 0x5EEC, 0, | ||
4763 | 1, 0xF983, 0x65C5, 0, | ||
4764 | 1, 0xF984, 0x6FFE, 0, | ||
4765 | 1, 0xF985, 0x792A, 0, | ||
4766 | 1, 0xF986, 0x95AD, 0, | ||
4767 | 1, 0xF987, 0x9A6A, 0, | ||
4768 | 1, 0xF988, 0x9E97, 0, | ||
4769 | 1, 0xF989, 0x9ECE, 0, | ||
4770 | 1, 0xF98A, 0x529B, 0, | ||
4771 | 1, 0xF98B, 0x66C6, 0, | ||
4772 | 1, 0xF98C, 0x6B77, 0, | ||
4773 | 1, 0xF98D, 0x8F62, 0, | ||
4774 | 1, 0xF98E, 0x5E74, 0, | ||
4775 | 1, 0xF98F, 0x6190, 0, | ||
4776 | 1, 0xF990, 0x6200, 0, | ||
4777 | 1, 0xF991, 0x649A, 0, | ||
4778 | 1, 0xF992, 0x6F23, 0, | ||
4779 | 1, 0xF993, 0x7149, 0, | ||
4780 | 1, 0xF994, 0x7489, 0, | ||
4781 | 1, 0xF995, 0x79CA, 0, | ||
4782 | 1, 0xF996, 0x7DF4, 0, | ||
4783 | 1, 0xF997, 0x806F, 0, | ||
4784 | 1, 0xF998, 0x8F26, 0, | ||
4785 | 1, 0xF999, 0x84EE, 0, | ||
4786 | 1, 0xF99A, 0x9023, 0, | ||
4787 | 1, 0xF99B, 0x934A, 0, | ||
4788 | 1, 0xF99C, 0x5217, 0, | ||
4789 | 1, 0xF99D, 0x52A3, 0, | ||
4790 | 1, 0xF99E, 0x54BD, 0, | ||
4791 | 1, 0xF99F, 0x70C8, 0, | ||
4792 | 1, 0xF9A0, 0x88C2, 0, | ||
4793 | 1, 0xF9A1, 0x8AAA, 0, | ||
4794 | 1, 0xF9A2, 0x5EC9, 0, | ||
4795 | 1, 0xF9A3, 0x5FF5, 0, | ||
4796 | 1, 0xF9A4, 0x637B, 0, | ||
4797 | 1, 0xF9A5, 0x6BAE, 0, | ||
4798 | 1, 0xF9A6, 0x7C3E, 0, | ||
4799 | 1, 0xF9A7, 0x7375, 0, | ||
4800 | 1, 0xF9A8, 0x4EE4, 0, | ||
4801 | 1, 0xF9A9, 0x56F9, 0, | ||
4802 | 1, 0xF9AA, 0x5BE7, 0, | ||
4803 | 1, 0xF9AB, 0x5DBA, 0, | ||
4804 | 1, 0xF9AC, 0x601C, 0, | ||
4805 | 1, 0xF9AD, 0x73B2, 0, | ||
4806 | 1, 0xF9AE, 0x7469, 0, | ||
4807 | 1, 0xF9AF, 0x7F9A, 0, | ||
4808 | 1, 0xF9B0, 0x8046, 0, | ||
4809 | 1, 0xF9B1, 0x9234, 0, | ||
4810 | 1, 0xF9B2, 0x96F6, 0, | ||
4811 | 1, 0xF9B3, 0x9748, 0, | ||
4812 | 1, 0xF9B4, 0x9818, 0, | ||
4813 | 1, 0xF9B5, 0x4F8B, 0, | ||
4814 | 1, 0xF9B6, 0x79AE, 0, | ||
4815 | 1, 0xF9B7, 0x91B4, 0, | ||
4816 | 1, 0xF9B8, 0x96B8, 0, | ||
4817 | 1, 0xF9B9, 0x60E1, 0, | ||
4818 | 1, 0xF9BA, 0x4E86, 0, | ||
4819 | 1, 0xF9BB, 0x50DA, 0, | ||
4820 | 1, 0xF9BC, 0x5BEE, 0, | ||
4821 | 1, 0xF9BD, 0x5C3F, 0, | ||
4822 | 1, 0xF9BE, 0x6599, 0, | ||
4823 | 1, 0xF9BF, 0x6A02, 0, | ||
4824 | 1, 0xF9C0, 0x71CE, 0, | ||
4825 | 1, 0xF9C1, 0x7642, 0, | ||
4826 | 1, 0xF9C2, 0x84FC, 0, | ||
4827 | 1, 0xF9C3, 0x907C, 0, | ||
4828 | 1, 0xF9C4, 0x9F8D, 0, | ||
4829 | 1, 0xF9C5, 0x6688, 0, | ||
4830 | 1, 0xF9C6, 0x962E, 0, | ||
4831 | 1, 0xF9C7, 0x5289, 0, | ||
4832 | 1, 0xF9C8, 0x677B, 0, | ||
4833 | 1, 0xF9C9, 0x67F3, 0, | ||
4834 | 1, 0xF9CA, 0x6D41, 0, | ||
4835 | 1, 0xF9CB, 0x6E9C, 0, | ||
4836 | 1, 0xF9CC, 0x7409, 0, | ||
4837 | 1, 0xF9CD, 0x7559, 0, | ||
4838 | 1, 0xF9CE, 0x786B, 0, | ||
4839 | 1, 0xF9CF, 0x7D10, 0, | ||
4840 | 1, 0xF9D0, 0x985E, 0, | ||
4841 | 1, 0xF9D1, 0x516D, 0, | ||
4842 | 1, 0xF9D2, 0x622E, 0, | ||
4843 | 1, 0xF9D3, 0x9678, 0, | ||
4844 | 1, 0xF9D4, 0x502B, 0, | ||
4845 | 1, 0xF9D5, 0x5D19, 0, | ||
4846 | 1, 0xF9D6, 0x6DEA, 0, | ||
4847 | 1, 0xF9D7, 0x8F2A, 0, | ||
4848 | 1, 0xF9D8, 0x5F8B, 0, | ||
4849 | 1, 0xF9D9, 0x6144, 0, | ||
4850 | 1, 0xF9DA, 0x6817, 0, | ||
4851 | 1, 0xF9DB, 0x7387, 0, | ||
4852 | 1, 0xF9DC, 0x9686, 0, | ||
4853 | 1, 0xF9DD, 0x5229, 0, | ||
4854 | 1, 0xF9DE, 0x540F, 0, | ||
4855 | 1, 0xF9DF, 0x5C65, 0, | ||
4856 | 1, 0xF9E0, 0x6613, 0, | ||
4857 | 1, 0xF9E1, 0x674E, 0, | ||
4858 | 1, 0xF9E2, 0x68A8, 0, | ||
4859 | 1, 0xF9E3, 0x6CE5, 0, | ||
4860 | 1, 0xF9E4, 0x7406, 0, | ||
4861 | 1, 0xF9E5, 0x75E2, 0, | ||
4862 | 1, 0xF9E6, 0x7F79, 0, | ||
4863 | 1, 0xF9E7, 0x88CF, 0, | ||
4864 | 1, 0xF9E8, 0x88E1, 0, | ||
4865 | 1, 0xF9E9, 0x91CC, 0, | ||
4866 | 1, 0xF9EA, 0x96E2, 0, | ||
4867 | 1, 0xF9EB, 0x533F, 0, | ||
4868 | 1, 0xF9EC, 0x6EBA, 0, | ||
4869 | 1, 0xF9ED, 0x541D, 0, | ||
4870 | 1, 0xF9EE, 0x71D0, 0, | ||
4871 | 1, 0xF9EF, 0x7498, 0, | ||
4872 | 1, 0xF9F0, 0x85FA, 0, | ||
4873 | 1, 0xF9F1, 0x96A3, 0, | ||
4874 | 1, 0xF9F2, 0x9C57, 0, | ||
4875 | 1, 0xF9F3, 0x9E9F, 0, | ||
4876 | 1, 0xF9F4, 0x6797, 0, | ||
4877 | 1, 0xF9F5, 0x6DCB, 0, | ||
4878 | 1, 0xF9F6, 0x81E8, 0, | ||
4879 | 1, 0xF9F7, 0x7ACB, 0, | ||
4880 | 1, 0xF9F8, 0x7B20, 0, | ||
4881 | 1, 0xF9F9, 0x7C92, 0, | ||
4882 | 1, 0xF9FA, 0x72C0, 0, | ||
4883 | 1, 0xF9FB, 0x7099, 0, | ||
4884 | 1, 0xF9FC, 0x8B58, 0, | ||
4885 | 1, 0xF9FD, 0x4EC0, 0, | ||
4886 | 1, 0xF9FE, 0x8336, 0, | ||
4887 | 1, 0xF9FF, 0x523A, 0, | ||
4888 | 1, 0xFA00, 0x5207, 0, | ||
4889 | 1, 0xFA01, 0x5EA6, 0, | ||
4890 | 1, 0xFA02, 0x62D3, 0, | ||
4891 | 1, 0xFA03, 0x7CD6, 0, | ||
4892 | 1, 0xFA04, 0x5B85, 0, | ||
4893 | 1, 0xFA05, 0x6D1E, 0, | ||
4894 | 1, 0xFA06, 0x66B4, 0, | ||
4895 | 1, 0xFA07, 0x8F3B, 0, | ||
4896 | 1, 0xFA08, 0x884C, 0, | ||
4897 | 1, 0xFA09, 0x964D, 0, | ||
4898 | 1, 0xFA0A, 0x898B, 0, | ||
4899 | 1, 0xFA0B, 0x5ED3, 0, | ||
4900 | 1, 0xFA0C, 0x5140, 0, | ||
4901 | 1, 0xFA0D, 0x55C0, 0, | ||
4902 | 1, 0xFA10, 0x585A, 0, | ||
4903 | 1, 0xFA12, 0x6674, 0, | ||
4904 | 1, 0xFA15, 0x51DE, 0, | ||
4905 | 1, 0xFA16, 0x732A, 0, | ||
4906 | 1, 0xFA17, 0x76CA, 0, | ||
4907 | 1, 0xFA18, 0x793C, 0, | ||
4908 | 1, 0xFA19, 0x795E, 0, | ||
4909 | 1, 0xFA1A, 0x7965, 0, | ||
4910 | 1, 0xFA1B, 0x798F, 0, | ||
4911 | 1, 0xFA1C, 0x9756, 0, | ||
4912 | 1, 0xFA1D, 0x7CBE, 0, | ||
4913 | 1, 0xFA1E, 0x7FBD, 0, | ||
4914 | 1, 0xFA20, 0x8612, 0, | ||
4915 | 1, 0xFA22, 0x8AF8, 0, | ||
4916 | 1, 0xFA25, 0x9038, 0, | ||
4917 | 1, 0xFA26, 0x90FD, 0, | ||
4918 | 1, 0xFA2A, 0x98EF, 0, | ||
4919 | 1, 0xFA2B, 0x98FC, 0, | ||
4920 | 1, 0xFA2C, 0x9928, 0, | ||
4921 | 1, 0xFA2D, 0x9DB4, 0, | ||
4922 | 1, 0xFA30, 0x4FAE, 0, | ||
4923 | 1, 0xFA31, 0x50E7, 0, | ||
4924 | 1, 0xFA32, 0x514D, 0, | ||
4925 | 1, 0xFA33, 0x52C9, 0, | ||
4926 | 1, 0xFA34, 0x52E4, 0, | ||
4927 | 1, 0xFA35, 0x5351, 0, | ||
4928 | 1, 0xFA36, 0x559D, 0, | ||
4929 | 1, 0xFA37, 0x5606, 0, | ||
4930 | 1, 0xFA38, 0x5668, 0, | ||
4931 | 1, 0xFA39, 0x5840, 0, | ||
4932 | 1, 0xFA3A, 0x58A8, 0, | ||
4933 | 1, 0xFA3B, 0x5C64, 0, | ||
4934 | 1, 0xFA3C, 0x5C6E, 0, | ||
4935 | 1, 0xFA3D, 0x6094, 0, | ||
4936 | 1, 0xFA3E, 0x6168, 0, | ||
4937 | 1, 0xFA3F, 0x618E, 0, | ||
4938 | 1, 0xFA40, 0x61F2, 0, | ||
4939 | 1, 0xFA41, 0x654F, 0, | ||
4940 | 1, 0xFA42, 0x65E2, 0, | ||
4941 | 1, 0xFA43, 0x6691, 0, | ||
4942 | 1, 0xFA44, 0x6885, 0, | ||
4943 | 1, 0xFA45, 0x6D77, 0, | ||
4944 | 1, 0xFA46, 0x6E1A, 0, | ||
4945 | 1, 0xFA47, 0x6F22, 0, | ||
4946 | 1, 0xFA48, 0x716E, 0, | ||
4947 | 1, 0xFA49, 0x722B, 0, | ||
4948 | 1, 0xFA4A, 0x7422, 0, | ||
4949 | 1, 0xFA4B, 0x7891, 0, | ||
4950 | 1, 0xFA4C, 0x793E, 0, | ||
4951 | 1, 0xFA4D, 0x7949, 0, | ||
4952 | 1, 0xFA4E, 0x7948, 0, | ||
4953 | 1, 0xFA4F, 0x7950, 0, | ||
4954 | 1, 0xFA50, 0x7956, 0, | ||
4955 | 1, 0xFA51, 0x795D, 0, | ||
4956 | 1, 0xFA52, 0x798D, 0, | ||
4957 | 1, 0xFA53, 0x798E, 0, | ||
4958 | 1, 0xFA54, 0x7A40, 0, | ||
4959 | 1, 0xFA55, 0x7A81, 0, | ||
4960 | 1, 0xFA56, 0x7BC0, 0, | ||
4961 | 1, 0xFA57, 0x7DF4, 0, | ||
4962 | 1, 0xFA58, 0x7E09, 0, | ||
4963 | 1, 0xFA59, 0x7E41, 0, | ||
4964 | 1, 0xFA5A, 0x7F72, 0, | ||
4965 | 1, 0xFA5B, 0x8005, 0, | ||
4966 | 1, 0xFA5C, 0x81ED, 0, | ||
4967 | 1, 0xFA5D, 0x8279, 0, | ||
4968 | 1, 0xFA5E, 0x8279, 0, | ||
4969 | 1, 0xFA5F, 0x8457, 0, | ||
4970 | 1, 0xFA60, 0x8910, 0, | ||
4971 | 1, 0xFA61, 0x8996, 0, | ||
4972 | 1, 0xFA62, 0x8B01, 0, | ||
4973 | 1, 0xFA63, 0x8B39, 0, | ||
4974 | 1, 0xFA64, 0x8CD3, 0, | ||
4975 | 1, 0xFA65, 0x8D08, 0, | ||
4976 | 1, 0xFA66, 0x8FB6, 0, | ||
4977 | 1, 0xFA67, 0x9038, 0, | ||
4978 | 1, 0xFA68, 0x96E3, 0, | ||
4979 | 1, 0xFA69, 0x97FF, 0, | ||
4980 | 1, 0xFA6A, 0x983B, 0, | ||
4981 | 16, 0xFB00, 0x0066, 0x0066, 0, | ||
4982 | 16, 0xFB01, 0x0066, 0x0069, 0, | ||
4983 | 16, 0xFB02, 0x0066, 0x006C, 0, | ||
4984 | 16, 0xFB03, 0x0066, 0x0066, 0x0069, 0, | ||
4985 | 16, 0xFB04, 0x0066, 0x0066, 0x006C, 0, | ||
4986 | 16, 0xFB05, 0x017F, 0x0074, 0, | ||
4987 | 16, 0xFB06, 0x0073, 0x0074, 0, | ||
4988 | 16, 0xFB13, 0x0574, 0x0576, 0, | ||
4989 | 16, 0xFB14, 0x0574, 0x0565, 0, | ||
4990 | 16, 0xFB15, 0x0574, 0x056B, 0, | ||
4991 | 16, 0xFB16, 0x057E, 0x0576, 0, | ||
4992 | 16, 0xFB17, 0x0574, 0x056D, 0, | ||
4993 | 1, 0xFB1D, 0x05D9, 0x05B4, 0, | ||
4994 | 1, 0xFB1F, 0x05F2, 0x05B7, 0, | ||
4995 | 2, 0xFB20, 0x05E2, 0, | ||
4996 | 2, 0xFB21, 0x05D0, 0, | ||
4997 | 2, 0xFB22, 0x05D3, 0, | ||
4998 | 2, 0xFB23, 0x05D4, 0, | ||
4999 | 2, 0xFB24, 0x05DB, 0, | ||
5000 | 2, 0xFB25, 0x05DC, 0, | ||
5001 | 2, 0xFB26, 0x05DD, 0, | ||
5002 | 2, 0xFB27, 0x05E8, 0, | ||
5003 | 2, 0xFB28, 0x05EA, 0, | ||
5004 | 2, 0xFB29, 0x002B, 0, | ||
5005 | 1, 0xFB2A, 0x05E9, 0x05C1, 0, | ||
5006 | 1, 0xFB2B, 0x05E9, 0x05C2, 0, | ||
5007 | 1, 0xFB2C, 0xFB49, 0x05C1, 0, | ||
5008 | 1, 0xFB2D, 0xFB49, 0x05C2, 0, | ||
5009 | 1, 0xFB2E, 0x05D0, 0x05B7, 0, | ||
5010 | 1, 0xFB2F, 0x05D0, 0x05B8, 0, | ||
5011 | 1, 0xFB30, 0x05D0, 0x05BC, 0, | ||
5012 | 1, 0xFB31, 0x05D1, 0x05BC, 0, | ||
5013 | 1, 0xFB32, 0x05D2, 0x05BC, 0, | ||
5014 | 1, 0xFB33, 0x05D3, 0x05BC, 0, | ||
5015 | 1, 0xFB34, 0x05D4, 0x05BC, 0, | ||
5016 | 1, 0xFB35, 0x05D5, 0x05BC, 0, | ||
5017 | 1, 0xFB36, 0x05D6, 0x05BC, 0, | ||
5018 | 1, 0xFB38, 0x05D8, 0x05BC, 0, | ||
5019 | 1, 0xFB39, 0x05D9, 0x05BC, 0, | ||
5020 | 1, 0xFB3A, 0x05DA, 0x05BC, 0, | ||
5021 | 1, 0xFB3B, 0x05DB, 0x05BC, 0, | ||
5022 | 1, 0xFB3C, 0x05DC, 0x05BC, 0, | ||
5023 | 1, 0xFB3E, 0x05DE, 0x05BC, 0, | ||
5024 | 1, 0xFB40, 0x05E0, 0x05BC, 0, | ||
5025 | 1, 0xFB41, 0x05E1, 0x05BC, 0, | ||
5026 | 1, 0xFB43, 0x05E3, 0x05BC, 0, | ||
5027 | 1, 0xFB44, 0x05E4, 0x05BC, 0, | ||
5028 | 1, 0xFB46, 0x05E6, 0x05BC, 0, | ||
5029 | 1, 0xFB47, 0x05E7, 0x05BC, 0, | ||
5030 | 1, 0xFB48, 0x05E8, 0x05BC, 0, | ||
5031 | 1, 0xFB49, 0x05E9, 0x05BC, 0, | ||
5032 | 1, 0xFB4A, 0x05EA, 0x05BC, 0, | ||
5033 | 1, 0xFB4B, 0x05D5, 0x05B9, 0, | ||
5034 | 1, 0xFB4C, 0x05D1, 0x05BF, 0, | ||
5035 | 1, 0xFB4D, 0x05DB, 0x05BF, 0, | ||
5036 | 1, 0xFB4E, 0x05E4, 0x05BF, 0, | ||
5037 | 16, 0xFB4F, 0x05D0, 0x05DC, 0, | ||
5038 | 7, 0xFB50, 0x0671, 0, | ||
5039 | 6, 0xFB51, 0x0671, 0, | ||
5040 | 7, 0xFB52, 0x067B, 0, | ||
5041 | 6, 0xFB53, 0x067B, 0, | ||
5042 | 4, 0xFB54, 0x067B, 0, | ||
5043 | 5, 0xFB55, 0x067B, 0, | ||
5044 | 7, 0xFB56, 0x067E, 0, | ||
5045 | 6, 0xFB57, 0x067E, 0, | ||
5046 | 4, 0xFB58, 0x067E, 0, | ||
5047 | 5, 0xFB59, 0x067E, 0, | ||
5048 | 7, 0xFB5A, 0x0680, 0, | ||
5049 | 6, 0xFB5B, 0x0680, 0, | ||
5050 | 4, 0xFB5C, 0x0680, 0, | ||
5051 | 5, 0xFB5D, 0x0680, 0, | ||
5052 | 7, 0xFB5E, 0x067A, 0, | ||
5053 | 6, 0xFB5F, 0x067A, 0, | ||
5054 | 4, 0xFB60, 0x067A, 0, | ||
5055 | 5, 0xFB61, 0x067A, 0, | ||
5056 | 7, 0xFB62, 0x067F, 0, | ||
5057 | 6, 0xFB63, 0x067F, 0, | ||
5058 | 4, 0xFB64, 0x067F, 0, | ||
5059 | 5, 0xFB65, 0x067F, 0, | ||
5060 | 7, 0xFB66, 0x0679, 0, | ||
5061 | 6, 0xFB67, 0x0679, 0, | ||
5062 | 4, 0xFB68, 0x0679, 0, | ||
5063 | 5, 0xFB69, 0x0679, 0, | ||
5064 | 7, 0xFB6A, 0x06A4, 0, | ||
5065 | 6, 0xFB6B, 0x06A4, 0, | ||
5066 | 4, 0xFB6C, 0x06A4, 0, | ||
5067 | 5, 0xFB6D, 0x06A4, 0, | ||
5068 | 7, 0xFB6E, 0x06A6, 0, | ||
5069 | 6, 0xFB6F, 0x06A6, 0, | ||
5070 | 4, 0xFB70, 0x06A6, 0, | ||
5071 | 5, 0xFB71, 0x06A6, 0, | ||
5072 | 7, 0xFB72, 0x0684, 0, | ||
5073 | 6, 0xFB73, 0x0684, 0, | ||
5074 | 4, 0xFB74, 0x0684, 0, | ||
5075 | 5, 0xFB75, 0x0684, 0, | ||
5076 | 7, 0xFB76, 0x0683, 0, | ||
5077 | 6, 0xFB77, 0x0683, 0, | ||
5078 | 4, 0xFB78, 0x0683, 0, | ||
5079 | 5, 0xFB79, 0x0683, 0, | ||
5080 | 7, 0xFB7A, 0x0686, 0, | ||
5081 | 6, 0xFB7B, 0x0686, 0, | ||
5082 | 4, 0xFB7C, 0x0686, 0, | ||
5083 | 5, 0xFB7D, 0x0686, 0, | ||
5084 | 7, 0xFB7E, 0x0687, 0, | ||
5085 | 6, 0xFB7F, 0x0687, 0, | ||
5086 | 4, 0xFB80, 0x0687, 0, | ||
5087 | 5, 0xFB81, 0x0687, 0, | ||
5088 | 7, 0xFB82, 0x068D, 0, | ||
5089 | 6, 0xFB83, 0x068D, 0, | ||
5090 | 7, 0xFB84, 0x068C, 0, | ||
5091 | 6, 0xFB85, 0x068C, 0, | ||
5092 | 7, 0xFB86, 0x068E, 0, | ||
5093 | 6, 0xFB87, 0x068E, 0, | ||
5094 | 7, 0xFB88, 0x0688, 0, | ||
5095 | 6, 0xFB89, 0x0688, 0, | ||
5096 | 7, 0xFB8A, 0x0698, 0, | ||
5097 | 6, 0xFB8B, 0x0698, 0, | ||
5098 | 7, 0xFB8C, 0x0691, 0, | ||
5099 | 6, 0xFB8D, 0x0691, 0, | ||
5100 | 7, 0xFB8E, 0x06A9, 0, | ||
5101 | 6, 0xFB8F, 0x06A9, 0, | ||
5102 | 4, 0xFB90, 0x06A9, 0, | ||
5103 | 5, 0xFB91, 0x06A9, 0, | ||
5104 | 7, 0xFB92, 0x06AF, 0, | ||
5105 | 6, 0xFB93, 0x06AF, 0, | ||
5106 | 4, 0xFB94, 0x06AF, 0, | ||
5107 | 5, 0xFB95, 0x06AF, 0, | ||
5108 | 7, 0xFB96, 0x06B3, 0, | ||
5109 | 6, 0xFB97, 0x06B3, 0, | ||
5110 | 4, 0xFB98, 0x06B3, 0, | ||
5111 | 5, 0xFB99, 0x06B3, 0, | ||
5112 | 7, 0xFB9A, 0x06B1, 0, | ||
5113 | 6, 0xFB9B, 0x06B1, 0, | ||
5114 | 4, 0xFB9C, 0x06B1, 0, | ||
5115 | 5, 0xFB9D, 0x06B1, 0, | ||
5116 | 7, 0xFB9E, 0x06BA, 0, | ||
5117 | 6, 0xFB9F, 0x06BA, 0, | ||
5118 | 7, 0xFBA0, 0x06BB, 0, | ||
5119 | 6, 0xFBA1, 0x06BB, 0, | ||
5120 | 4, 0xFBA2, 0x06BB, 0, | ||
5121 | 5, 0xFBA3, 0x06BB, 0, | ||
5122 | 7, 0xFBA4, 0x06C0, 0, | ||
5123 | 6, 0xFBA5, 0x06C0, 0, | ||
5124 | 7, 0xFBA6, 0x06C1, 0, | ||
5125 | 6, 0xFBA7, 0x06C1, 0, | ||
5126 | 4, 0xFBA8, 0x06C1, 0, | ||
5127 | 5, 0xFBA9, 0x06C1, 0, | ||
5128 | 7, 0xFBAA, 0x06BE, 0, | ||
5129 | 6, 0xFBAB, 0x06BE, 0, | ||
5130 | 4, 0xFBAC, 0x06BE, 0, | ||
5131 | 5, 0xFBAD, 0x06BE, 0, | ||
5132 | 7, 0xFBAE, 0x06D2, 0, | ||
5133 | 6, 0xFBAF, 0x06D2, 0, | ||
5134 | 7, 0xFBB0, 0x06D3, 0, | ||
5135 | 6, 0xFBB1, 0x06D3, 0, | ||
5136 | 7, 0xFBD3, 0x06AD, 0, | ||
5137 | 6, 0xFBD4, 0x06AD, 0, | ||
5138 | 4, 0xFBD5, 0x06AD, 0, | ||
5139 | 5, 0xFBD6, 0x06AD, 0, | ||
5140 | 7, 0xFBD7, 0x06C7, 0, | ||
5141 | 6, 0xFBD8, 0x06C7, 0, | ||
5142 | 7, 0xFBD9, 0x06C6, 0, | ||
5143 | 6, 0xFBDA, 0x06C6, 0, | ||
5144 | 7, 0xFBDB, 0x06C8, 0, | ||
5145 | 6, 0xFBDC, 0x06C8, 0, | ||
5146 | 7, 0xFBDD, 0x0677, 0, | ||
5147 | 7, 0xFBDE, 0x06CB, 0, | ||
5148 | 6, 0xFBDF, 0x06CB, 0, | ||
5149 | 7, 0xFBE0, 0x06C5, 0, | ||
5150 | 6, 0xFBE1, 0x06C5, 0, | ||
5151 | 7, 0xFBE2, 0x06C9, 0, | ||
5152 | 6, 0xFBE3, 0x06C9, 0, | ||
5153 | 7, 0xFBE4, 0x06D0, 0, | ||
5154 | 6, 0xFBE5, 0x06D0, 0, | ||
5155 | 4, 0xFBE6, 0x06D0, 0, | ||
5156 | 5, 0xFBE7, 0x06D0, 0, | ||
5157 | 4, 0xFBE8, 0x0649, 0, | ||
5158 | 5, 0xFBE9, 0x0649, 0, | ||
5159 | 7, 0xFBEA, 0x0626, 0x0627, 0, | ||
5160 | 6, 0xFBEB, 0x0626, 0x0627, 0, | ||
5161 | 7, 0xFBEC, 0x0626, 0x06D5, 0, | ||
5162 | 6, 0xFBED, 0x0626, 0x06D5, 0, | ||
5163 | 7, 0xFBEE, 0x0626, 0x0648, 0, | ||
5164 | 6, 0xFBEF, 0x0626, 0x0648, 0, | ||
5165 | 7, 0xFBF0, 0x0626, 0x06C7, 0, | ||
5166 | 6, 0xFBF1, 0x0626, 0x06C7, 0, | ||
5167 | 7, 0xFBF2, 0x0626, 0x06C6, 0, | ||
5168 | 6, 0xFBF3, 0x0626, 0x06C6, 0, | ||
5169 | 7, 0xFBF4, 0x0626, 0x06C8, 0, | ||
5170 | 6, 0xFBF5, 0x0626, 0x06C8, 0, | ||
5171 | 7, 0xFBF6, 0x0626, 0x06D0, 0, | ||
5172 | 6, 0xFBF7, 0x0626, 0x06D0, 0, | ||
5173 | 4, 0xFBF8, 0x0626, 0x06D0, 0, | ||
5174 | 7, 0xFBF9, 0x0626, 0x0649, 0, | ||
5175 | 6, 0xFBFA, 0x0626, 0x0649, 0, | ||
5176 | 4, 0xFBFB, 0x0626, 0x0649, 0, | ||
5177 | 7, 0xFBFC, 0x06CC, 0, | ||
5178 | 6, 0xFBFD, 0x06CC, 0, | ||
5179 | 4, 0xFBFE, 0x06CC, 0, | ||
5180 | 5, 0xFBFF, 0x06CC, 0, | ||
5181 | 7, 0xFC00, 0x0626, 0x062C, 0, | ||
5182 | 7, 0xFC01, 0x0626, 0x062D, 0, | ||
5183 | 7, 0xFC02, 0x0626, 0x0645, 0, | ||
5184 | 7, 0xFC03, 0x0626, 0x0649, 0, | ||
5185 | 7, 0xFC04, 0x0626, 0x064A, 0, | ||
5186 | 7, 0xFC05, 0x0628, 0x062C, 0, | ||
5187 | 7, 0xFC06, 0x0628, 0x062D, 0, | ||
5188 | 7, 0xFC07, 0x0628, 0x062E, 0, | ||
5189 | 7, 0xFC08, 0x0628, 0x0645, 0, | ||
5190 | 7, 0xFC09, 0x0628, 0x0649, 0, | ||
5191 | 7, 0xFC0A, 0x0628, 0x064A, 0, | ||
5192 | 7, 0xFC0B, 0x062A, 0x062C, 0, | ||
5193 | 7, 0xFC0C, 0x062A, 0x062D, 0, | ||
5194 | 7, 0xFC0D, 0x062A, 0x062E, 0, | ||
5195 | 7, 0xFC0E, 0x062A, 0x0645, 0, | ||
5196 | 7, 0xFC0F, 0x062A, 0x0649, 0, | ||
5197 | 7, 0xFC10, 0x062A, 0x064A, 0, | ||
5198 | 7, 0xFC11, 0x062B, 0x062C, 0, | ||
5199 | 7, 0xFC12, 0x062B, 0x0645, 0, | ||
5200 | 7, 0xFC13, 0x062B, 0x0649, 0, | ||
5201 | 7, 0xFC14, 0x062B, 0x064A, 0, | ||
5202 | 7, 0xFC15, 0x062C, 0x062D, 0, | ||
5203 | 7, 0xFC16, 0x062C, 0x0645, 0, | ||
5204 | 7, 0xFC17, 0x062D, 0x062C, 0, | ||
5205 | 7, 0xFC18, 0x062D, 0x0645, 0, | ||
5206 | 7, 0xFC19, 0x062E, 0x062C, 0, | ||
5207 | 7, 0xFC1A, 0x062E, 0x062D, 0, | ||
5208 | 7, 0xFC1B, 0x062E, 0x0645, 0, | ||
5209 | 7, 0xFC1C, 0x0633, 0x062C, 0, | ||
5210 | 7, 0xFC1D, 0x0633, 0x062D, 0, | ||
5211 | 7, 0xFC1E, 0x0633, 0x062E, 0, | ||
5212 | 7, 0xFC1F, 0x0633, 0x0645, 0, | ||
5213 | 7, 0xFC20, 0x0635, 0x062D, 0, | ||
5214 | 7, 0xFC21, 0x0635, 0x0645, 0, | ||
5215 | 7, 0xFC22, 0x0636, 0x062C, 0, | ||
5216 | 7, 0xFC23, 0x0636, 0x062D, 0, | ||
5217 | 7, 0xFC24, 0x0636, 0x062E, 0, | ||
5218 | 7, 0xFC25, 0x0636, 0x0645, 0, | ||
5219 | 7, 0xFC26, 0x0637, 0x062D, 0, | ||
5220 | 7, 0xFC27, 0x0637, 0x0645, 0, | ||
5221 | 7, 0xFC28, 0x0638, 0x0645, 0, | ||
5222 | 7, 0xFC29, 0x0639, 0x062C, 0, | ||
5223 | 7, 0xFC2A, 0x0639, 0x0645, 0, | ||
5224 | 7, 0xFC2B, 0x063A, 0x062C, 0, | ||
5225 | 7, 0xFC2C, 0x063A, 0x0645, 0, | ||
5226 | 7, 0xFC2D, 0x0641, 0x062C, 0, | ||
5227 | 7, 0xFC2E, 0x0641, 0x062D, 0, | ||
5228 | 7, 0xFC2F, 0x0641, 0x062E, 0, | ||
5229 | 7, 0xFC30, 0x0641, 0x0645, 0, | ||
5230 | 7, 0xFC31, 0x0641, 0x0649, 0, | ||
5231 | 7, 0xFC32, 0x0641, 0x064A, 0, | ||
5232 | 7, 0xFC33, 0x0642, 0x062D, 0, | ||
5233 | 7, 0xFC34, 0x0642, 0x0645, 0, | ||
5234 | 7, 0xFC35, 0x0642, 0x0649, 0, | ||
5235 | 7, 0xFC36, 0x0642, 0x064A, 0, | ||
5236 | 7, 0xFC37, 0x0643, 0x0627, 0, | ||
5237 | 7, 0xFC38, 0x0643, 0x062C, 0, | ||
5238 | 7, 0xFC39, 0x0643, 0x062D, 0, | ||
5239 | 7, 0xFC3A, 0x0643, 0x062E, 0, | ||
5240 | 7, 0xFC3B, 0x0643, 0x0644, 0, | ||
5241 | 7, 0xFC3C, 0x0643, 0x0645, 0, | ||
5242 | 7, 0xFC3D, 0x0643, 0x0649, 0, | ||
5243 | 7, 0xFC3E, 0x0643, 0x064A, 0, | ||
5244 | 7, 0xFC3F, 0x0644, 0x062C, 0, | ||
5245 | 7, 0xFC40, 0x0644, 0x062D, 0, | ||
5246 | 7, 0xFC41, 0x0644, 0x062E, 0, | ||
5247 | 7, 0xFC42, 0x0644, 0x0645, 0, | ||
5248 | 7, 0xFC43, 0x0644, 0x0649, 0, | ||
5249 | 7, 0xFC44, 0x0644, 0x064A, 0, | ||
5250 | 7, 0xFC45, 0x0645, 0x062C, 0, | ||
5251 | 7, 0xFC46, 0x0645, 0x062D, 0, | ||
5252 | 7, 0xFC47, 0x0645, 0x062E, 0, | ||
5253 | 7, 0xFC48, 0x0645, 0x0645, 0, | ||
5254 | 7, 0xFC49, 0x0645, 0x0649, 0, | ||
5255 | 7, 0xFC4A, 0x0645, 0x064A, 0, | ||
5256 | 7, 0xFC4B, 0x0646, 0x062C, 0, | ||
5257 | 7, 0xFC4C, 0x0646, 0x062D, 0, | ||
5258 | 7, 0xFC4D, 0x0646, 0x062E, 0, | ||
5259 | 7, 0xFC4E, 0x0646, 0x0645, 0, | ||
5260 | 7, 0xFC4F, 0x0646, 0x0649, 0, | ||
5261 | 7, 0xFC50, 0x0646, 0x064A, 0, | ||
5262 | 7, 0xFC51, 0x0647, 0x062C, 0, | ||
5263 | 7, 0xFC52, 0x0647, 0x0645, 0, | ||
5264 | 7, 0xFC53, 0x0647, 0x0649, 0, | ||
5265 | 7, 0xFC54, 0x0647, 0x064A, 0, | ||
5266 | 7, 0xFC55, 0x064A, 0x062C, 0, | ||
5267 | 7, 0xFC56, 0x064A, 0x062D, 0, | ||
5268 | 7, 0xFC57, 0x064A, 0x062E, 0, | ||
5269 | 7, 0xFC58, 0x064A, 0x0645, 0, | ||
5270 | 7, 0xFC59, 0x064A, 0x0649, 0, | ||
5271 | 7, 0xFC5A, 0x064A, 0x064A, 0, | ||
5272 | 7, 0xFC5B, 0x0630, 0x0670, 0, | ||
5273 | 7, 0xFC5C, 0x0631, 0x0670, 0, | ||
5274 | 7, 0xFC5D, 0x0649, 0x0670, 0, | ||
5275 | 7, 0xFC5E, 0x0020, 0x064C, 0x0651, 0, | ||
5276 | 7, 0xFC5F, 0x0020, 0x064D, 0x0651, 0, | ||
5277 | 7, 0xFC60, 0x0020, 0x064E, 0x0651, 0, | ||
5278 | 7, 0xFC61, 0x0020, 0x064F, 0x0651, 0, | ||
5279 | 7, 0xFC62, 0x0020, 0x0650, 0x0651, 0, | ||
5280 | 7, 0xFC63, 0x0020, 0x0651, 0x0670, 0, | ||
5281 | 6, 0xFC64, 0x0626, 0x0631, 0, | ||
5282 | 6, 0xFC65, 0x0626, 0x0632, 0, | ||
5283 | 6, 0xFC66, 0x0626, 0x0645, 0, | ||
5284 | 6, 0xFC67, 0x0626, 0x0646, 0, | ||
5285 | 6, 0xFC68, 0x0626, 0x0649, 0, | ||
5286 | 6, 0xFC69, 0x0626, 0x064A, 0, | ||
5287 | 6, 0xFC6A, 0x0628, 0x0631, 0, | ||
5288 | 6, 0xFC6B, 0x0628, 0x0632, 0, | ||
5289 | 6, 0xFC6C, 0x0628, 0x0645, 0, | ||
5290 | 6, 0xFC6D, 0x0628, 0x0646, 0, | ||
5291 | 6, 0xFC6E, 0x0628, 0x0649, 0, | ||
5292 | 6, 0xFC6F, 0x0628, 0x064A, 0, | ||
5293 | 6, 0xFC70, 0x062A, 0x0631, 0, | ||
5294 | 6, 0xFC71, 0x062A, 0x0632, 0, | ||
5295 | 6, 0xFC72, 0x062A, 0x0645, 0, | ||
5296 | 6, 0xFC73, 0x062A, 0x0646, 0, | ||
5297 | 6, 0xFC74, 0x062A, 0x0649, 0, | ||
5298 | 6, 0xFC75, 0x062A, 0x064A, 0, | ||
5299 | 6, 0xFC76, 0x062B, 0x0631, 0, | ||
5300 | 6, 0xFC77, 0x062B, 0x0632, 0, | ||
5301 | 6, 0xFC78, 0x062B, 0x0645, 0, | ||
5302 | 6, 0xFC79, 0x062B, 0x0646, 0, | ||
5303 | 6, 0xFC7A, 0x062B, 0x0649, 0, | ||
5304 | 6, 0xFC7B, 0x062B, 0x064A, 0, | ||
5305 | 6, 0xFC7C, 0x0641, 0x0649, 0, | ||
5306 | 6, 0xFC7D, 0x0641, 0x064A, 0, | ||
5307 | 6, 0xFC7E, 0x0642, 0x0649, 0, | ||
5308 | 6, 0xFC7F, 0x0642, 0x064A, 0, | ||
5309 | 6, 0xFC80, 0x0643, 0x0627, 0, | ||
5310 | 6, 0xFC81, 0x0643, 0x0644, 0, | ||
5311 | 6, 0xFC82, 0x0643, 0x0645, 0, | ||
5312 | 6, 0xFC83, 0x0643, 0x0649, 0, | ||
5313 | 6, 0xFC84, 0x0643, 0x064A, 0, | ||
5314 | 6, 0xFC85, 0x0644, 0x0645, 0, | ||
5315 | 6, 0xFC86, 0x0644, 0x0649, 0, | ||
5316 | 6, 0xFC87, 0x0644, 0x064A, 0, | ||
5317 | 6, 0xFC88, 0x0645, 0x0627, 0, | ||
5318 | 6, 0xFC89, 0x0645, 0x0645, 0, | ||
5319 | 6, 0xFC8A, 0x0646, 0x0631, 0, | ||
5320 | 6, 0xFC8B, 0x0646, 0x0632, 0, | ||
5321 | 6, 0xFC8C, 0x0646, 0x0645, 0, | ||
5322 | 6, 0xFC8D, 0x0646, 0x0646, 0, | ||
5323 | 6, 0xFC8E, 0x0646, 0x0649, 0, | ||
5324 | 6, 0xFC8F, 0x0646, 0x064A, 0, | ||
5325 | 6, 0xFC90, 0x0649, 0x0670, 0, | ||
5326 | 6, 0xFC91, 0x064A, 0x0631, 0, | ||
5327 | 6, 0xFC92, 0x064A, 0x0632, 0, | ||
5328 | 6, 0xFC93, 0x064A, 0x0645, 0, | ||
5329 | 6, 0xFC94, 0x064A, 0x0646, 0, | ||
5330 | 6, 0xFC95, 0x064A, 0x0649, 0, | ||
5331 | 6, 0xFC96, 0x064A, 0x064A, 0, | ||
5332 | 4, 0xFC97, 0x0626, 0x062C, 0, | ||
5333 | 4, 0xFC98, 0x0626, 0x062D, 0, | ||
5334 | 4, 0xFC99, 0x0626, 0x062E, 0, | ||
5335 | 4, 0xFC9A, 0x0626, 0x0645, 0, | ||
5336 | 4, 0xFC9B, 0x0626, 0x0647, 0, | ||
5337 | 4, 0xFC9C, 0x0628, 0x062C, 0, | ||
5338 | 4, 0xFC9D, 0x0628, 0x062D, 0, | ||
5339 | 4, 0xFC9E, 0x0628, 0x062E, 0, | ||
5340 | 4, 0xFC9F, 0x0628, 0x0645, 0, | ||
5341 | 4, 0xFCA0, 0x0628, 0x0647, 0, | ||
5342 | 4, 0xFCA1, 0x062A, 0x062C, 0, | ||
5343 | 4, 0xFCA2, 0x062A, 0x062D, 0, | ||
5344 | 4, 0xFCA3, 0x062A, 0x062E, 0, | ||
5345 | 4, 0xFCA4, 0x062A, 0x0645, 0, | ||
5346 | 4, 0xFCA5, 0x062A, 0x0647, 0, | ||
5347 | 4, 0xFCA6, 0x062B, 0x0645, 0, | ||
5348 | 4, 0xFCA7, 0x062C, 0x062D, 0, | ||
5349 | 4, 0xFCA8, 0x062C, 0x0645, 0, | ||
5350 | 4, 0xFCA9, 0x062D, 0x062C, 0, | ||
5351 | 4, 0xFCAA, 0x062D, 0x0645, 0, | ||
5352 | 4, 0xFCAB, 0x062E, 0x062C, 0, | ||
5353 | 4, 0xFCAC, 0x062E, 0x0645, 0, | ||
5354 | 4, 0xFCAD, 0x0633, 0x062C, 0, | ||
5355 | 4, 0xFCAE, 0x0633, 0x062D, 0, | ||
5356 | 4, 0xFCAF, 0x0633, 0x062E, 0, | ||
5357 | 4, 0xFCB0, 0x0633, 0x0645, 0, | ||
5358 | 4, 0xFCB1, 0x0635, 0x062D, 0, | ||
5359 | 4, 0xFCB2, 0x0635, 0x062E, 0, | ||
5360 | 4, 0xFCB3, 0x0635, 0x0645, 0, | ||
5361 | 4, 0xFCB4, 0x0636, 0x062C, 0, | ||
5362 | 4, 0xFCB5, 0x0636, 0x062D, 0, | ||
5363 | 4, 0xFCB6, 0x0636, 0x062E, 0, | ||
5364 | 4, 0xFCB7, 0x0636, 0x0645, 0, | ||
5365 | 4, 0xFCB8, 0x0637, 0x062D, 0, | ||
5366 | 4, 0xFCB9, 0x0638, 0x0645, 0, | ||
5367 | 4, 0xFCBA, 0x0639, 0x062C, 0, | ||
5368 | 4, 0xFCBB, 0x0639, 0x0645, 0, | ||
5369 | 4, 0xFCBC, 0x063A, 0x062C, 0, | ||
5370 | 4, 0xFCBD, 0x063A, 0x0645, 0, | ||
5371 | 4, 0xFCBE, 0x0641, 0x062C, 0, | ||
5372 | 4, 0xFCBF, 0x0641, 0x062D, 0, | ||
5373 | 4, 0xFCC0, 0x0641, 0x062E, 0, | ||
5374 | 4, 0xFCC1, 0x0641, 0x0645, 0, | ||
5375 | 4, 0xFCC2, 0x0642, 0x062D, 0, | ||
5376 | 4, 0xFCC3, 0x0642, 0x0645, 0, | ||
5377 | 4, 0xFCC4, 0x0643, 0x062C, 0, | ||
5378 | 4, 0xFCC5, 0x0643, 0x062D, 0, | ||
5379 | 4, 0xFCC6, 0x0643, 0x062E, 0, | ||
5380 | 4, 0xFCC7, 0x0643, 0x0644, 0, | ||
5381 | 4, 0xFCC8, 0x0643, 0x0645, 0, | ||
5382 | 4, 0xFCC9, 0x0644, 0x062C, 0, | ||
5383 | 4, 0xFCCA, 0x0644, 0x062D, 0, | ||
5384 | 4, 0xFCCB, 0x0644, 0x062E, 0, | ||
5385 | 4, 0xFCCC, 0x0644, 0x0645, 0, | ||
5386 | 4, 0xFCCD, 0x0644, 0x0647, 0, | ||
5387 | 4, 0xFCCE, 0x0645, 0x062C, 0, | ||
5388 | 4, 0xFCCF, 0x0645, 0x062D, 0, | ||
5389 | 4, 0xFCD0, 0x0645, 0x062E, 0, | ||
5390 | 4, 0xFCD1, 0x0645, 0x0645, 0, | ||
5391 | 4, 0xFCD2, 0x0646, 0x062C, 0, | ||
5392 | 4, 0xFCD3, 0x0646, 0x062D, 0, | ||
5393 | 4, 0xFCD4, 0x0646, 0x062E, 0, | ||
5394 | 4, 0xFCD5, 0x0646, 0x0645, 0, | ||
5395 | 4, 0xFCD6, 0x0646, 0x0647, 0, | ||
5396 | 4, 0xFCD7, 0x0647, 0x062C, 0, | ||
5397 | 4, 0xFCD8, 0x0647, 0x0645, 0, | ||
5398 | 4, 0xFCD9, 0x0647, 0x0670, 0, | ||
5399 | 4, 0xFCDA, 0x064A, 0x062C, 0, | ||
5400 | 4, 0xFCDB, 0x064A, 0x062D, 0, | ||
5401 | 4, 0xFCDC, 0x064A, 0x062E, 0, | ||
5402 | 4, 0xFCDD, 0x064A, 0x0645, 0, | ||
5403 | 4, 0xFCDE, 0x064A, 0x0647, 0, | ||
5404 | 5, 0xFCDF, 0x0626, 0x0645, 0, | ||
5405 | 5, 0xFCE0, 0x0626, 0x0647, 0, | ||
5406 | 5, 0xFCE1, 0x0628, 0x0645, 0, | ||
5407 | 5, 0xFCE2, 0x0628, 0x0647, 0, | ||
5408 | 5, 0xFCE3, 0x062A, 0x0645, 0, | ||
5409 | 5, 0xFCE4, 0x062A, 0x0647, 0, | ||
5410 | 5, 0xFCE5, 0x062B, 0x0645, 0, | ||
5411 | 5, 0xFCE6, 0x062B, 0x0647, 0, | ||
5412 | 5, 0xFCE7, 0x0633, 0x0645, 0, | ||
5413 | 5, 0xFCE8, 0x0633, 0x0647, 0, | ||
5414 | 5, 0xFCE9, 0x0634, 0x0645, 0, | ||
5415 | 5, 0xFCEA, 0x0634, 0x0647, 0, | ||
5416 | 5, 0xFCEB, 0x0643, 0x0644, 0, | ||
5417 | 5, 0xFCEC, 0x0643, 0x0645, 0, | ||
5418 | 5, 0xFCED, 0x0644, 0x0645, 0, | ||
5419 | 5, 0xFCEE, 0x0646, 0x0645, 0, | ||
5420 | 5, 0xFCEF, 0x0646, 0x0647, 0, | ||
5421 | 5, 0xFCF0, 0x064A, 0x0645, 0, | ||
5422 | 5, 0xFCF1, 0x064A, 0x0647, 0, | ||
5423 | 5, 0xFCF2, 0x0640, 0x064E, 0x0651, 0, | ||
5424 | 5, 0xFCF3, 0x0640, 0x064F, 0x0651, 0, | ||
5425 | 5, 0xFCF4, 0x0640, 0x0650, 0x0651, 0, | ||
5426 | 7, 0xFCF5, 0x0637, 0x0649, 0, | ||
5427 | 7, 0xFCF6, 0x0637, 0x064A, 0, | ||
5428 | 7, 0xFCF7, 0x0639, 0x0649, 0, | ||
5429 | 7, 0xFCF8, 0x0639, 0x064A, 0, | ||
5430 | 7, 0xFCF9, 0x063A, 0x0649, 0, | ||
5431 | 7, 0xFCFA, 0x063A, 0x064A, 0, | ||
5432 | 7, 0xFCFB, 0x0633, 0x0649, 0, | ||
5433 | 7, 0xFCFC, 0x0633, 0x064A, 0, | ||
5434 | 7, 0xFCFD, 0x0634, 0x0649, 0, | ||
5435 | 7, 0xFCFE, 0x0634, 0x064A, 0, | ||
5436 | 7, 0xFCFF, 0x062D, 0x0649, 0, | ||
5437 | 7, 0xFD00, 0x062D, 0x064A, 0, | ||
5438 | 7, 0xFD01, 0x062C, 0x0649, 0, | ||
5439 | 7, 0xFD02, 0x062C, 0x064A, 0, | ||
5440 | 7, 0xFD03, 0x062E, 0x0649, 0, | ||
5441 | 7, 0xFD04, 0x062E, 0x064A, 0, | ||
5442 | 7, 0xFD05, 0x0635, 0x0649, 0, | ||
5443 | 7, 0xFD06, 0x0635, 0x064A, 0, | ||
5444 | 7, 0xFD07, 0x0636, 0x0649, 0, | ||
5445 | 7, 0xFD08, 0x0636, 0x064A, 0, | ||
5446 | 7, 0xFD09, 0x0634, 0x062C, 0, | ||
5447 | 7, 0xFD0A, 0x0634, 0x062D, 0, | ||
5448 | 7, 0xFD0B, 0x0634, 0x062E, 0, | ||
5449 | 7, 0xFD0C, 0x0634, 0x0645, 0, | ||
5450 | 7, 0xFD0D, 0x0634, 0x0631, 0, | ||
5451 | 7, 0xFD0E, 0x0633, 0x0631, 0, | ||
5452 | 7, 0xFD0F, 0x0635, 0x0631, 0, | ||
5453 | 7, 0xFD10, 0x0636, 0x0631, 0, | ||
5454 | 6, 0xFD11, 0x0637, 0x0649, 0, | ||
5455 | 6, 0xFD12, 0x0637, 0x064A, 0, | ||
5456 | 6, 0xFD13, 0x0639, 0x0649, 0, | ||
5457 | 6, 0xFD14, 0x0639, 0x064A, 0, | ||
5458 | 6, 0xFD15, 0x063A, 0x0649, 0, | ||
5459 | 6, 0xFD16, 0x063A, 0x064A, 0, | ||
5460 | 6, 0xFD17, 0x0633, 0x0649, 0, | ||
5461 | 6, 0xFD18, 0x0633, 0x064A, 0, | ||
5462 | 6, 0xFD19, 0x0634, 0x0649, 0, | ||
5463 | 6, 0xFD1A, 0x0634, 0x064A, 0, | ||
5464 | 6, 0xFD1B, 0x062D, 0x0649, 0, | ||
5465 | 6, 0xFD1C, 0x062D, 0x064A, 0, | ||
5466 | 6, 0xFD1D, 0x062C, 0x0649, 0, | ||
5467 | 6, 0xFD1E, 0x062C, 0x064A, 0, | ||
5468 | 6, 0xFD1F, 0x062E, 0x0649, 0, | ||
5469 | 6, 0xFD20, 0x062E, 0x064A, 0, | ||
5470 | 6, 0xFD21, 0x0635, 0x0649, 0, | ||
5471 | 6, 0xFD22, 0x0635, 0x064A, 0, | ||
5472 | 6, 0xFD23, 0x0636, 0x0649, 0, | ||
5473 | 6, 0xFD24, 0x0636, 0x064A, 0, | ||
5474 | 6, 0xFD25, 0x0634, 0x062C, 0, | ||
5475 | 6, 0xFD26, 0x0634, 0x062D, 0, | ||
5476 | 6, 0xFD27, 0x0634, 0x062E, 0, | ||
5477 | 6, 0xFD28, 0x0634, 0x0645, 0, | ||
5478 | 6, 0xFD29, 0x0634, 0x0631, 0, | ||
5479 | 6, 0xFD2A, 0x0633, 0x0631, 0, | ||
5480 | 6, 0xFD2B, 0x0635, 0x0631, 0, | ||
5481 | 6, 0xFD2C, 0x0636, 0x0631, 0, | ||
5482 | 4, 0xFD2D, 0x0634, 0x062C, 0, | ||
5483 | 4, 0xFD2E, 0x0634, 0x062D, 0, | ||
5484 | 4, 0xFD2F, 0x0634, 0x062E, 0, | ||
5485 | 4, 0xFD30, 0x0634, 0x0645, 0, | ||
5486 | 4, 0xFD31, 0x0633, 0x0647, 0, | ||
5487 | 4, 0xFD32, 0x0634, 0x0647, 0, | ||
5488 | 4, 0xFD33, 0x0637, 0x0645, 0, | ||
5489 | 5, 0xFD34, 0x0633, 0x062C, 0, | ||
5490 | 5, 0xFD35, 0x0633, 0x062D, 0, | ||
5491 | 5, 0xFD36, 0x0633, 0x062E, 0, | ||
5492 | 5, 0xFD37, 0x0634, 0x062C, 0, | ||
5493 | 5, 0xFD38, 0x0634, 0x062D, 0, | ||
5494 | 5, 0xFD39, 0x0634, 0x062E, 0, | ||
5495 | 5, 0xFD3A, 0x0637, 0x0645, 0, | ||
5496 | 5, 0xFD3B, 0x0638, 0x0645, 0, | ||
5497 | 6, 0xFD3C, 0x0627, 0x064B, 0, | ||
5498 | 7, 0xFD3D, 0x0627, 0x064B, 0, | ||
5499 | 4, 0xFD50, 0x062A, 0x062C, 0x0645, 0, | ||
5500 | 6, 0xFD51, 0x062A, 0x062D, 0x062C, 0, | ||
5501 | 4, 0xFD52, 0x062A, 0x062D, 0x062C, 0, | ||
5502 | 4, 0xFD53, 0x062A, 0x062D, 0x0645, 0, | ||
5503 | 4, 0xFD54, 0x062A, 0x062E, 0x0645, 0, | ||
5504 | 4, 0xFD55, 0x062A, 0x0645, 0x062C, 0, | ||
5505 | 4, 0xFD56, 0x062A, 0x0645, 0x062D, 0, | ||
5506 | 4, 0xFD57, 0x062A, 0x0645, 0x062E, 0, | ||
5507 | 6, 0xFD58, 0x062C, 0x0645, 0x062D, 0, | ||
5508 | 4, 0xFD59, 0x062C, 0x0645, 0x062D, 0, | ||
5509 | 6, 0xFD5A, 0x062D, 0x0645, 0x064A, 0, | ||
5510 | 6, 0xFD5B, 0x062D, 0x0645, 0x0649, 0, | ||
5511 | 4, 0xFD5C, 0x0633, 0x062D, 0x062C, 0, | ||
5512 | 4, 0xFD5D, 0x0633, 0x062C, 0x062D, 0, | ||
5513 | 6, 0xFD5E, 0x0633, 0x062C, 0x0649, 0, | ||
5514 | 6, 0xFD5F, 0x0633, 0x0645, 0x062D, 0, | ||
5515 | 4, 0xFD60, 0x0633, 0x0645, 0x062D, 0, | ||
5516 | 4, 0xFD61, 0x0633, 0x0645, 0x062C, 0, | ||
5517 | 6, 0xFD62, 0x0633, 0x0645, 0x0645, 0, | ||
5518 | 4, 0xFD63, 0x0633, 0x0645, 0x0645, 0, | ||
5519 | 6, 0xFD64, 0x0635, 0x062D, 0x062D, 0, | ||
5520 | 4, 0xFD65, 0x0635, 0x062D, 0x062D, 0, | ||
5521 | 6, 0xFD66, 0x0635, 0x0645, 0x0645, 0, | ||
5522 | 6, 0xFD67, 0x0634, 0x062D, 0x0645, 0, | ||
5523 | 4, 0xFD68, 0x0634, 0x062D, 0x0645, 0, | ||
5524 | 6, 0xFD69, 0x0634, 0x062C, 0x064A, 0, | ||
5525 | 6, 0xFD6A, 0x0634, 0x0645, 0x062E, 0, | ||
5526 | 4, 0xFD6B, 0x0634, 0x0645, 0x062E, 0, | ||
5527 | 6, 0xFD6C, 0x0634, 0x0645, 0x0645, 0, | ||
5528 | 4, 0xFD6D, 0x0634, 0x0645, 0x0645, 0, | ||
5529 | 6, 0xFD6E, 0x0636, 0x062D, 0x0649, 0, | ||
5530 | 6, 0xFD6F, 0x0636, 0x062E, 0x0645, 0, | ||
5531 | 4, 0xFD70, 0x0636, 0x062E, 0x0645, 0, | ||
5532 | 6, 0xFD71, 0x0637, 0x0645, 0x062D, 0, | ||
5533 | 4, 0xFD72, 0x0637, 0x0645, 0x062D, 0, | ||
5534 | 4, 0xFD73, 0x0637, 0x0645, 0x0645, 0, | ||
5535 | 6, 0xFD74, 0x0637, 0x0645, 0x064A, 0, | ||
5536 | 6, 0xFD75, 0x0639, 0x062C, 0x0645, 0, | ||
5537 | 6, 0xFD76, 0x0639, 0x0645, 0x0645, 0, | ||
5538 | 4, 0xFD77, 0x0639, 0x0645, 0x0645, 0, | ||
5539 | 6, 0xFD78, 0x0639, 0x0645, 0x0649, 0, | ||
5540 | 6, 0xFD79, 0x063A, 0x0645, 0x0645, 0, | ||
5541 | 6, 0xFD7A, 0x063A, 0x0645, 0x064A, 0, | ||
5542 | 6, 0xFD7B, 0x063A, 0x0645, 0x0649, 0, | ||
5543 | 6, 0xFD7C, 0x0641, 0x062E, 0x0645, 0, | ||
5544 | 4, 0xFD7D, 0x0641, 0x062E, 0x0645, 0, | ||
5545 | 6, 0xFD7E, 0x0642, 0x0645, 0x062D, 0, | ||
5546 | 6, 0xFD7F, 0x0642, 0x0645, 0x0645, 0, | ||
5547 | 6, 0xFD80, 0x0644, 0x062D, 0x0645, 0, | ||
5548 | 6, 0xFD81, 0x0644, 0x062D, 0x064A, 0, | ||
5549 | 6, 0xFD82, 0x0644, 0x062D, 0x0649, 0, | ||
5550 | 4, 0xFD83, 0x0644, 0x062C, 0x062C, 0, | ||
5551 | 6, 0xFD84, 0x0644, 0x062C, 0x062C, 0, | ||
5552 | 6, 0xFD85, 0x0644, 0x062E, 0x0645, 0, | ||
5553 | 4, 0xFD86, 0x0644, 0x062E, 0x0645, 0, | ||
5554 | 6, 0xFD87, 0x0644, 0x0645, 0x062D, 0, | ||
5555 | 4, 0xFD88, 0x0644, 0x0645, 0x062D, 0, | ||
5556 | 4, 0xFD89, 0x0645, 0x062D, 0x062C, 0, | ||
5557 | 4, 0xFD8A, 0x0645, 0x062D, 0x0645, 0, | ||
5558 | 6, 0xFD8B, 0x0645, 0x062D, 0x064A, 0, | ||
5559 | 4, 0xFD8C, 0x0645, 0x062C, 0x062D, 0, | ||
5560 | 4, 0xFD8D, 0x0645, 0x062C, 0x0645, 0, | ||
5561 | 4, 0xFD8E, 0x0645, 0x062E, 0x062C, 0, | ||
5562 | 4, 0xFD8F, 0x0645, 0x062E, 0x0645, 0, | ||
5563 | 4, 0xFD92, 0x0645, 0x062C, 0x062E, 0, | ||
5564 | 4, 0xFD93, 0x0647, 0x0645, 0x062C, 0, | ||
5565 | 4, 0xFD94, 0x0647, 0x0645, 0x0645, 0, | ||
5566 | 4, 0xFD95, 0x0646, 0x062D, 0x0645, 0, | ||
5567 | 6, 0xFD96, 0x0646, 0x062D, 0x0649, 0, | ||
5568 | 6, 0xFD97, 0x0646, 0x062C, 0x0645, 0, | ||
5569 | 4, 0xFD98, 0x0646, 0x062C, 0x0645, 0, | ||
5570 | 6, 0xFD99, 0x0646, 0x062C, 0x0649, 0, | ||
5571 | 6, 0xFD9A, 0x0646, 0x0645, 0x064A, 0, | ||
5572 | 6, 0xFD9B, 0x0646, 0x0645, 0x0649, 0, | ||
5573 | 6, 0xFD9C, 0x064A, 0x0645, 0x0645, 0, | ||
5574 | 4, 0xFD9D, 0x064A, 0x0645, 0x0645, 0, | ||
5575 | 6, 0xFD9E, 0x0628, 0x062E, 0x064A, 0, | ||
5576 | 6, 0xFD9F, 0x062A, 0x062C, 0x064A, 0, | ||
5577 | 6, 0xFDA0, 0x062A, 0x062C, 0x0649, 0, | ||
5578 | 6, 0xFDA1, 0x062A, 0x062E, 0x064A, 0, | ||
5579 | 6, 0xFDA2, 0x062A, 0x062E, 0x0649, 0, | ||
5580 | 6, 0xFDA3, 0x062A, 0x0645, 0x064A, 0, | ||
5581 | 6, 0xFDA4, 0x062A, 0x0645, 0x0649, 0, | ||
5582 | 6, 0xFDA5, 0x062C, 0x0645, 0x064A, 0, | ||
5583 | 6, 0xFDA6, 0x062C, 0x062D, 0x0649, 0, | ||
5584 | 6, 0xFDA7, 0x062C, 0x0645, 0x0649, 0, | ||
5585 | 6, 0xFDA8, 0x0633, 0x062E, 0x0649, 0, | ||
5586 | 6, 0xFDA9, 0x0635, 0x062D, 0x064A, 0, | ||
5587 | 6, 0xFDAA, 0x0634, 0x062D, 0x064A, 0, | ||
5588 | 6, 0xFDAB, 0x0636, 0x062D, 0x064A, 0, | ||
5589 | 6, 0xFDAC, 0x0644, 0x062C, 0x064A, 0, | ||
5590 | 6, 0xFDAD, 0x0644, 0x0645, 0x064A, 0, | ||
5591 | 6, 0xFDAE, 0x064A, 0x062D, 0x064A, 0, | ||
5592 | 6, 0xFDAF, 0x064A, 0x062C, 0x064A, 0, | ||
5593 | 6, 0xFDB0, 0x064A, 0x0645, 0x064A, 0, | ||
5594 | 6, 0xFDB1, 0x0645, 0x0645, 0x064A, 0, | ||
5595 | 6, 0xFDB2, 0x0642, 0x0645, 0x064A, 0, | ||
5596 | 6, 0xFDB3, 0x0646, 0x062D, 0x064A, 0, | ||
5597 | 4, 0xFDB4, 0x0642, 0x0645, 0x062D, 0, | ||
5598 | 4, 0xFDB5, 0x0644, 0x062D, 0x0645, 0, | ||
5599 | 6, 0xFDB6, 0x0639, 0x0645, 0x064A, 0, | ||
5600 | 6, 0xFDB7, 0x0643, 0x0645, 0x064A, 0, | ||
5601 | 4, 0xFDB8, 0x0646, 0x062C, 0x062D, 0, | ||
5602 | 6, 0xFDB9, 0x0645, 0x062E, 0x064A, 0, | ||
5603 | 4, 0xFDBA, 0x0644, 0x062C, 0x0645, 0, | ||
5604 | 6, 0xFDBB, 0x0643, 0x0645, 0x0645, 0, | ||
5605 | 6, 0xFDBC, 0x0644, 0x062C, 0x0645, 0, | ||
5606 | 6, 0xFDBD, 0x0646, 0x062C, 0x062D, 0, | ||
5607 | 6, 0xFDBE, 0x062C, 0x062D, 0x064A, 0, | ||
5608 | 6, 0xFDBF, 0x062D, 0x062C, 0x064A, 0, | ||
5609 | 6, 0xFDC0, 0x0645, 0x062C, 0x064A, 0, | ||
5610 | 6, 0xFDC1, 0x0641, 0x0645, 0x064A, 0, | ||
5611 | 6, 0xFDC2, 0x0628, 0x062D, 0x064A, 0, | ||
5612 | 4, 0xFDC3, 0x0643, 0x0645, 0x0645, 0, | ||
5613 | 4, 0xFDC4, 0x0639, 0x062C, 0x0645, 0, | ||
5614 | 4, 0xFDC5, 0x0635, 0x0645, 0x0645, 0, | ||
5615 | 6, 0xFDC6, 0x0633, 0x062E, 0x064A, 0, | ||
5616 | 6, 0xFDC7, 0x0646, 0x062C, 0x064A, 0, | ||
5617 | 7, 0xFDF0, 0x0635, 0x0644, 0x06D2, 0, | ||
5618 | 7, 0xFDF1, 0x0642, 0x0644, 0x06D2, 0, | ||
5619 | 7, 0xFDF2, 0x0627, 0x0644, 0x0644, 0x0647, 0, | ||
5620 | 7, 0xFDF3, 0x0627, 0x0643, 0x0628, 0x0631, 0, | ||
5621 | 7, 0xFDF4, 0x0645, 0x062D, 0x0645, 0x062F, 0, | ||
5622 | 7, 0xFDF5, 0x0635, 0x0644, 0x0639, 0x0645, 0, | ||
5623 | 7, 0xFDF6, 0x0631, 0x0633, 0x0648, 0x0644, 0, | ||
5624 | 7, 0xFDF7, 0x0639, 0x0644, 0x064A, 0x0647, 0, | ||
5625 | 7, 0xFDF8, 0x0648, 0x0633, 0x0644, 0x0645, 0, | ||
5626 | 7, 0xFDF9, 0x0635, 0x0644, 0x0649, 0, | ||
5627 | 7, 0xFDFA, 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645, 0, | ||
5628 | 7, 0xFDFB, 0x062C, 0x0644, 0x0020, 0x062C, 0x0644, 0x0627, 0x0644, 0x0647, 0, | ||
5629 | 7, 0xFDFC, 0x0631, 0x06CC, 0x0627, 0x0644, 0, | ||
5630 | 11, 0xFE30, 0x2025, 0, | ||
5631 | 11, 0xFE31, 0x2014, 0, | ||
5632 | 11, 0xFE32, 0x2013, 0, | ||
5633 | 11, 0xFE33, 0x005F, 0, | ||
5634 | 11, 0xFE34, 0x005F, 0, | ||
5635 | 11, 0xFE35, 0x0028, 0, | ||
5636 | 11, 0xFE36, 0x0029, 0, | ||
5637 | 11, 0xFE37, 0x007B, 0, | ||
5638 | 11, 0xFE38, 0x007D, 0, | ||
5639 | 11, 0xFE39, 0x3014, 0, | ||
5640 | 11, 0xFE3A, 0x3015, 0, | ||
5641 | 11, 0xFE3B, 0x3010, 0, | ||
5642 | 11, 0xFE3C, 0x3011, 0, | ||
5643 | 11, 0xFE3D, 0x300A, 0, | ||
5644 | 11, 0xFE3E, 0x300B, 0, | ||
5645 | 11, 0xFE3F, 0x3008, 0, | ||
5646 | 11, 0xFE40, 0x3009, 0, | ||
5647 | 11, 0xFE41, 0x300C, 0, | ||
5648 | 11, 0xFE42, 0x300D, 0, | ||
5649 | 11, 0xFE43, 0x300E, 0, | ||
5650 | 11, 0xFE44, 0x300F, 0, | ||
5651 | 16, 0xFE49, 0x203E, 0, | ||
5652 | 16, 0xFE4A, 0x203E, 0, | ||
5653 | 16, 0xFE4B, 0x203E, 0, | ||
5654 | 16, 0xFE4C, 0x203E, 0, | ||
5655 | 16, 0xFE4D, 0x005F, 0, | ||
5656 | 16, 0xFE4E, 0x005F, 0, | ||
5657 | 16, 0xFE4F, 0x005F, 0, | ||
5658 | 14, 0xFE50, 0x002C, 0, | ||
5659 | 14, 0xFE51, 0x3001, 0, | ||
5660 | 14, 0xFE52, 0x002E, 0, | ||
5661 | 14, 0xFE54, 0x003B, 0, | ||
5662 | 14, 0xFE55, 0x003A, 0, | ||
5663 | 14, 0xFE56, 0x003F, 0, | ||
5664 | 14, 0xFE57, 0x0021, 0, | ||
5665 | 14, 0xFE58, 0x2014, 0, | ||
5666 | 14, 0xFE59, 0x0028, 0, | ||
5667 | 14, 0xFE5A, 0x0029, 0, | ||
5668 | 14, 0xFE5B, 0x007B, 0, | ||
5669 | 14, 0xFE5C, 0x007D, 0, | ||
5670 | 14, 0xFE5D, 0x3014, 0, | ||
5671 | 14, 0xFE5E, 0x3015, 0, | ||
5672 | 14, 0xFE5F, 0x0023, 0, | ||
5673 | 14, 0xFE60, 0x0026, 0, | ||
5674 | 14, 0xFE61, 0x002A, 0, | ||
5675 | 14, 0xFE62, 0x002B, 0, | ||
5676 | 14, 0xFE63, 0x002D, 0, | ||
5677 | 14, 0xFE64, 0x003C, 0, | ||
5678 | 14, 0xFE65, 0x003E, 0, | ||
5679 | 14, 0xFE66, 0x003D, 0, | ||
5680 | 14, 0xFE68, 0x005C, 0, | ||
5681 | 14, 0xFE69, 0x0024, 0, | ||
5682 | 14, 0xFE6A, 0x0025, 0, | ||
5683 | 14, 0xFE6B, 0x0040, 0, | ||
5684 | 7, 0xFE70, 0x0020, 0x064B, 0, | ||
5685 | 5, 0xFE71, 0x0640, 0x064B, 0, | ||
5686 | 7, 0xFE72, 0x0020, 0x064C, 0, | ||
5687 | 7, 0xFE74, 0x0020, 0x064D, 0, | ||
5688 | 7, 0xFE76, 0x0020, 0x064E, 0, | ||
5689 | 5, 0xFE77, 0x0640, 0x064E, 0, | ||
5690 | 7, 0xFE78, 0x0020, 0x064F, 0, | ||
5691 | 5, 0xFE79, 0x0640, 0x064F, 0, | ||
5692 | 7, 0xFE7A, 0x0020, 0x0650, 0, | ||
5693 | 5, 0xFE7B, 0x0640, 0x0650, 0, | ||
5694 | 7, 0xFE7C, 0x0020, 0x0651, 0, | ||
5695 | 5, 0xFE7D, 0x0640, 0x0651, 0, | ||
5696 | 7, 0xFE7E, 0x0020, 0x0652, 0, | ||
5697 | 5, 0xFE7F, 0x0640, 0x0652, 0, | ||
5698 | 7, 0xFE80, 0x0621, 0, | ||
5699 | 7, 0xFE81, 0x0622, 0, | ||
5700 | 6, 0xFE82, 0x0622, 0, | ||
5701 | 7, 0xFE83, 0x0623, 0, | ||
5702 | 6, 0xFE84, 0x0623, 0, | ||
5703 | 7, 0xFE85, 0x0624, 0, | ||
5704 | 6, 0xFE86, 0x0624, 0, | ||
5705 | 7, 0xFE87, 0x0625, 0, | ||
5706 | 6, 0xFE88, 0x0625, 0, | ||
5707 | 7, 0xFE89, 0x0626, 0, | ||
5708 | 6, 0xFE8A, 0x0626, 0, | ||
5709 | 4, 0xFE8B, 0x0626, 0, | ||
5710 | 5, 0xFE8C, 0x0626, 0, | ||
5711 | 7, 0xFE8D, 0x0627, 0, | ||
5712 | 6, 0xFE8E, 0x0627, 0, | ||
5713 | 7, 0xFE8F, 0x0628, 0, | ||
5714 | 6, 0xFE90, 0x0628, 0, | ||
5715 | 4, 0xFE91, 0x0628, 0, | ||
5716 | 5, 0xFE92, 0x0628, 0, | ||
5717 | 7, 0xFE93, 0x0629, 0, | ||
5718 | 6, 0xFE94, 0x0629, 0, | ||
5719 | 7, 0xFE95, 0x062A, 0, | ||
5720 | 6, 0xFE96, 0x062A, 0, | ||
5721 | 4, 0xFE97, 0x062A, 0, | ||
5722 | 5, 0xFE98, 0x062A, 0, | ||
5723 | 7, 0xFE99, 0x062B, 0, | ||
5724 | 6, 0xFE9A, 0x062B, 0, | ||
5725 | 4, 0xFE9B, 0x062B, 0, | ||
5726 | 5, 0xFE9C, 0x062B, 0, | ||
5727 | 7, 0xFE9D, 0x062C, 0, | ||
5728 | 6, 0xFE9E, 0x062C, 0, | ||
5729 | 4, 0xFE9F, 0x062C, 0, | ||
5730 | 5, 0xFEA0, 0x062C, 0, | ||
5731 | 7, 0xFEA1, 0x062D, 0, | ||
5732 | 6, 0xFEA2, 0x062D, 0, | ||
5733 | 4, 0xFEA3, 0x062D, 0, | ||
5734 | 5, 0xFEA4, 0x062D, 0, | ||
5735 | 7, 0xFEA5, 0x062E, 0, | ||
5736 | 6, 0xFEA6, 0x062E, 0, | ||
5737 | 4, 0xFEA7, 0x062E, 0, | ||
5738 | 5, 0xFEA8, 0x062E, 0, | ||
5739 | 7, 0xFEA9, 0x062F, 0, | ||
5740 | 6, 0xFEAA, 0x062F, 0, | ||
5741 | 7, 0xFEAB, 0x0630, 0, | ||
5742 | 6, 0xFEAC, 0x0630, 0, | ||
5743 | 7, 0xFEAD, 0x0631, 0, | ||
5744 | 6, 0xFEAE, 0x0631, 0, | ||
5745 | 7, 0xFEAF, 0x0632, 0, | ||
5746 | 6, 0xFEB0, 0x0632, 0, | ||
5747 | 7, 0xFEB1, 0x0633, 0, | ||
5748 | 6, 0xFEB2, 0x0633, 0, | ||
5749 | 4, 0xFEB3, 0x0633, 0, | ||
5750 | 5, 0xFEB4, 0x0633, 0, | ||
5751 | 7, 0xFEB5, 0x0634, 0, | ||
5752 | 6, 0xFEB6, 0x0634, 0, | ||
5753 | 4, 0xFEB7, 0x0634, 0, | ||
5754 | 5, 0xFEB8, 0x0634, 0, | ||
5755 | 7, 0xFEB9, 0x0635, 0, | ||
5756 | 6, 0xFEBA, 0x0635, 0, | ||
5757 | 4, 0xFEBB, 0x0635, 0, | ||
5758 | 5, 0xFEBC, 0x0635, 0, | ||
5759 | 7, 0xFEBD, 0x0636, 0, | ||
5760 | 6, 0xFEBE, 0x0636, 0, | ||
5761 | 4, 0xFEBF, 0x0636, 0, | ||
5762 | 5, 0xFEC0, 0x0636, 0, | ||
5763 | 7, 0xFEC1, 0x0637, 0, | ||
5764 | 6, 0xFEC2, 0x0637, 0, | ||
5765 | 4, 0xFEC3, 0x0637, 0, | ||
5766 | 5, 0xFEC4, 0x0637, 0, | ||
5767 | 7, 0xFEC5, 0x0638, 0, | ||
5768 | 6, 0xFEC6, 0x0638, 0, | ||
5769 | 4, 0xFEC7, 0x0638, 0, | ||
5770 | 5, 0xFEC8, 0x0638, 0, | ||
5771 | 7, 0xFEC9, 0x0639, 0, | ||
5772 | 6, 0xFECA, 0x0639, 0, | ||
5773 | 4, 0xFECB, 0x0639, 0, | ||
5774 | 5, 0xFECC, 0x0639, 0, | ||
5775 | 7, 0xFECD, 0x063A, 0, | ||
5776 | 6, 0xFECE, 0x063A, 0, | ||
5777 | 4, 0xFECF, 0x063A, 0, | ||
5778 | 5, 0xFED0, 0x063A, 0, | ||
5779 | 7, 0xFED1, 0x0641, 0, | ||
5780 | 6, 0xFED2, 0x0641, 0, | ||
5781 | 4, 0xFED3, 0x0641, 0, | ||
5782 | 5, 0xFED4, 0x0641, 0, | ||
5783 | 7, 0xFED5, 0x0642, 0, | ||
5784 | 6, 0xFED6, 0x0642, 0, | ||
5785 | 4, 0xFED7, 0x0642, 0, | ||
5786 | 5, 0xFED8, 0x0642, 0, | ||
5787 | 7, 0xFED9, 0x0643, 0, | ||
5788 | 6, 0xFEDA, 0x0643, 0, | ||
5789 | 4, 0xFEDB, 0x0643, 0, | ||
5790 | 5, 0xFEDC, 0x0643, 0, | ||
5791 | 7, 0xFEDD, 0x0644, 0, | ||
5792 | 6, 0xFEDE, 0x0644, 0, | ||
5793 | 4, 0xFEDF, 0x0644, 0, | ||
5794 | 5, 0xFEE0, 0x0644, 0, | ||
5795 | 7, 0xFEE1, 0x0645, 0, | ||
5796 | 6, 0xFEE2, 0x0645, 0, | ||
5797 | 4, 0xFEE3, 0x0645, 0, | ||
5798 | 5, 0xFEE4, 0x0645, 0, | ||
5799 | 7, 0xFEE5, 0x0646, 0, | ||
5800 | 6, 0xFEE6, 0x0646, 0, | ||
5801 | 4, 0xFEE7, 0x0646, 0, | ||
5802 | 5, 0xFEE8, 0x0646, 0, | ||
5803 | 7, 0xFEE9, 0x0647, 0, | ||
5804 | 6, 0xFEEA, 0x0647, 0, | ||
5805 | 4, 0xFEEB, 0x0647, 0, | ||
5806 | 5, 0xFEEC, 0x0647, 0, | ||
5807 | 7, 0xFEED, 0x0648, 0, | ||
5808 | 6, 0xFEEE, 0x0648, 0, | ||
5809 | 7, 0xFEEF, 0x0649, 0, | ||
5810 | 6, 0xFEF0, 0x0649, 0, | ||
5811 | 7, 0xFEF1, 0x064A, 0, | ||
5812 | 6, 0xFEF2, 0x064A, 0, | ||
5813 | 4, 0xFEF3, 0x064A, 0, | ||
5814 | 5, 0xFEF4, 0x064A, 0, | ||
5815 | 7, 0xFEF5, 0x0644, 0x0622, 0, | ||
5816 | 6, 0xFEF6, 0x0644, 0x0622, 0, | ||
5817 | 7, 0xFEF7, 0x0644, 0x0623, 0, | ||
5818 | 6, 0xFEF8, 0x0644, 0x0623, 0, | ||
5819 | 7, 0xFEF9, 0x0644, 0x0625, 0, | ||
5820 | 6, 0xFEFA, 0x0644, 0x0625, 0, | ||
5821 | 7, 0xFEFB, 0x0644, 0x0627, 0, | ||
5822 | 6, 0xFEFC, 0x0644, 0x0627, 0, | ||
5823 | 12, 0xFF01, 0x0021, 0, | ||
5824 | 12, 0xFF02, 0x0022, 0, | ||
5825 | 12, 0xFF03, 0x0023, 0, | ||
5826 | 12, 0xFF04, 0x0024, 0, | ||
5827 | 12, 0xFF05, 0x0025, 0, | ||
5828 | 12, 0xFF06, 0x0026, 0, | ||
5829 | 12, 0xFF07, 0x0027, 0, | ||
5830 | 12, 0xFF08, 0x0028, 0, | ||
5831 | 12, 0xFF09, 0x0029, 0, | ||
5832 | 12, 0xFF0A, 0x002A, 0, | ||
5833 | 12, 0xFF0B, 0x002B, 0, | ||
5834 | 12, 0xFF0C, 0x002C, 0, | ||
5835 | 12, 0xFF0D, 0x002D, 0, | ||
5836 | 12, 0xFF0E, 0x002E, 0, | ||
5837 | 12, 0xFF0F, 0x002F, 0, | ||
5838 | 12, 0xFF10, 0x0030, 0, | ||
5839 | 12, 0xFF11, 0x0031, 0, | ||
5840 | 12, 0xFF12, 0x0032, 0, | ||
5841 | 12, 0xFF13, 0x0033, 0, | ||
5842 | 12, 0xFF14, 0x0034, 0, | ||
5843 | 12, 0xFF15, 0x0035, 0, | ||
5844 | 12, 0xFF16, 0x0036, 0, | ||
5845 | 12, 0xFF17, 0x0037, 0, | ||
5846 | 12, 0xFF18, 0x0038, 0, | ||
5847 | 12, 0xFF19, 0x0039, 0, | ||
5848 | 12, 0xFF1A, 0x003A, 0, | ||
5849 | 12, 0xFF1B, 0x003B, 0, | ||
5850 | 12, 0xFF1C, 0x003C, 0, | ||
5851 | 12, 0xFF1D, 0x003D, 0, | ||
5852 | 12, 0xFF1E, 0x003E, 0, | ||
5853 | 12, 0xFF1F, 0x003F, 0, | ||
5854 | 12, 0xFF20, 0x0040, 0, | ||
5855 | 12, 0xFF21, 0x0041, 0, | ||
5856 | 12, 0xFF22, 0x0042, 0, | ||
5857 | 12, 0xFF23, 0x0043, 0, | ||
5858 | 12, 0xFF24, 0x0044, 0, | ||
5859 | 12, 0xFF25, 0x0045, 0, | ||
5860 | 12, 0xFF26, 0x0046, 0, | ||
5861 | 12, 0xFF27, 0x0047, 0, | ||
5862 | 12, 0xFF28, 0x0048, 0, | ||
5863 | 12, 0xFF29, 0x0049, 0, | ||
5864 | 12, 0xFF2A, 0x004A, 0, | ||
5865 | 12, 0xFF2B, 0x004B, 0, | ||
5866 | 12, 0xFF2C, 0x004C, 0, | ||
5867 | 12, 0xFF2D, 0x004D, 0, | ||
5868 | 12, 0xFF2E, 0x004E, 0, | ||
5869 | 12, 0xFF2F, 0x004F, 0, | ||
5870 | 12, 0xFF30, 0x0050, 0, | ||
5871 | 12, 0xFF31, 0x0051, 0, | ||
5872 | 12, 0xFF32, 0x0052, 0, | ||
5873 | 12, 0xFF33, 0x0053, 0, | ||
5874 | 12, 0xFF34, 0x0054, 0, | ||
5875 | 12, 0xFF35, 0x0055, 0, | ||
5876 | 12, 0xFF36, 0x0056, 0, | ||
5877 | 12, 0xFF37, 0x0057, 0, | ||
5878 | 12, 0xFF38, 0x0058, 0, | ||
5879 | 12, 0xFF39, 0x0059, 0, | ||
5880 | 12, 0xFF3A, 0x005A, 0, | ||
5881 | 12, 0xFF3B, 0x005B, 0, | ||
5882 | 12, 0xFF3C, 0x005C, 0, | ||
5883 | 12, 0xFF3D, 0x005D, 0, | ||
5884 | 12, 0xFF3E, 0x005E, 0, | ||
5885 | 12, 0xFF3F, 0x005F, 0, | ||
5886 | 12, 0xFF40, 0x0060, 0, | ||
5887 | 12, 0xFF41, 0x0061, 0, | ||
5888 | 12, 0xFF42, 0x0062, 0, | ||
5889 | 12, 0xFF43, 0x0063, 0, | ||
5890 | 12, 0xFF44, 0x0064, 0, | ||
5891 | 12, 0xFF45, 0x0065, 0, | ||
5892 | 12, 0xFF46, 0x0066, 0, | ||
5893 | 12, 0xFF47, 0x0067, 0, | ||
5894 | 12, 0xFF48, 0x0068, 0, | ||
5895 | 12, 0xFF49, 0x0069, 0, | ||
5896 | 12, 0xFF4A, 0x006A, 0, | ||
5897 | 12, 0xFF4B, 0x006B, 0, | ||
5898 | 12, 0xFF4C, 0x006C, 0, | ||
5899 | 12, 0xFF4D, 0x006D, 0, | ||
5900 | 12, 0xFF4E, 0x006E, 0, | ||
5901 | 12, 0xFF4F, 0x006F, 0, | ||
5902 | 12, 0xFF50, 0x0070, 0, | ||
5903 | 12, 0xFF51, 0x0071, 0, | ||
5904 | 12, 0xFF52, 0x0072, 0, | ||
5905 | 12, 0xFF53, 0x0073, 0, | ||
5906 | 12, 0xFF54, 0x0074, 0, | ||
5907 | 12, 0xFF55, 0x0075, 0, | ||
5908 | 12, 0xFF56, 0x0076, 0, | ||
5909 | 12, 0xFF57, 0x0077, 0, | ||
5910 | 12, 0xFF58, 0x0078, 0, | ||
5911 | 12, 0xFF59, 0x0079, 0, | ||
5912 | 12, 0xFF5A, 0x007A, 0, | ||
5913 | 12, 0xFF5B, 0x007B, 0, | ||
5914 | 12, 0xFF5C, 0x007C, 0, | ||
5915 | 12, 0xFF5D, 0x007D, 0, | ||
5916 | 12, 0xFF5E, 0x007E, 0, | ||
5917 | 12, 0xFF5F, 0x2985, 0, | ||
5918 | 12, 0xFF60, 0x2986, 0, | ||
5919 | 13, 0xFF61, 0x3002, 0, | ||
5920 | 13, 0xFF62, 0x300C, 0, | ||
5921 | 13, 0xFF63, 0x300D, 0, | ||
5922 | 13, 0xFF64, 0x3001, 0, | ||
5923 | 13, 0xFF65, 0x30FB, 0, | ||
5924 | 13, 0xFF66, 0x30F2, 0, | ||
5925 | 13, 0xFF67, 0x30A1, 0, | ||
5926 | 13, 0xFF68, 0x30A3, 0, | ||
5927 | 13, 0xFF69, 0x30A5, 0, | ||
5928 | 13, 0xFF6A, 0x30A7, 0, | ||
5929 | 13, 0xFF6B, 0x30A9, 0, | ||
5930 | 13, 0xFF6C, 0x30E3, 0, | ||
5931 | 13, 0xFF6D, 0x30E5, 0, | ||
5932 | 13, 0xFF6E, 0x30E7, 0, | ||
5933 | 13, 0xFF6F, 0x30C3, 0, | ||
5934 | 13, 0xFF70, 0x30FC, 0, | ||
5935 | 13, 0xFF71, 0x30A2, 0, | ||
5936 | 13, 0xFF72, 0x30A4, 0, | ||
5937 | 13, 0xFF73, 0x30A6, 0, | ||
5938 | 13, 0xFF74, 0x30A8, 0, | ||
5939 | 13, 0xFF75, 0x30AA, 0, | ||
5940 | 13, 0xFF76, 0x30AB, 0, | ||
5941 | 13, 0xFF77, 0x30AD, 0, | ||
5942 | 13, 0xFF78, 0x30AF, 0, | ||
5943 | 13, 0xFF79, 0x30B1, 0, | ||
5944 | 13, 0xFF7A, 0x30B3, 0, | ||
5945 | 13, 0xFF7B, 0x30B5, 0, | ||
5946 | 13, 0xFF7C, 0x30B7, 0, | ||
5947 | 13, 0xFF7D, 0x30B9, 0, | ||
5948 | 13, 0xFF7E, 0x30BB, 0, | ||
5949 | 13, 0xFF7F, 0x30BD, 0, | ||
5950 | 13, 0xFF80, 0x30BF, 0, | ||
5951 | 13, 0xFF81, 0x30C1, 0, | ||
5952 | 13, 0xFF82, 0x30C4, 0, | ||
5953 | 13, 0xFF83, 0x30C6, 0, | ||
5954 | 13, 0xFF84, 0x30C8, 0, | ||
5955 | 13, 0xFF85, 0x30CA, 0, | ||
5956 | 13, 0xFF86, 0x30CB, 0, | ||
5957 | 13, 0xFF87, 0x30CC, 0, | ||
5958 | 13, 0xFF88, 0x30CD, 0, | ||
5959 | 13, 0xFF89, 0x30CE, 0, | ||
5960 | 13, 0xFF8A, 0x30CF, 0, | ||
5961 | 13, 0xFF8B, 0x30D2, 0, | ||
5962 | 13, 0xFF8C, 0x30D5, 0, | ||
5963 | 13, 0xFF8D, 0x30D8, 0, | ||
5964 | 13, 0xFF8E, 0x30DB, 0, | ||
5965 | 13, 0xFF8F, 0x30DE, 0, | ||
5966 | 13, 0xFF90, 0x30DF, 0, | ||
5967 | 13, 0xFF91, 0x30E0, 0, | ||
5968 | 13, 0xFF92, 0x30E1, 0, | ||
5969 | 13, 0xFF93, 0x30E2, 0, | ||
5970 | 13, 0xFF94, 0x30E4, 0, | ||
5971 | 13, 0xFF95, 0x30E6, 0, | ||
5972 | 13, 0xFF96, 0x30E8, 0, | ||
5973 | 13, 0xFF97, 0x30E9, 0, | ||
5974 | 13, 0xFF98, 0x30EA, 0, | ||
5975 | 13, 0xFF99, 0x30EB, 0, | ||
5976 | 13, 0xFF9A, 0x30EC, 0, | ||
5977 | 13, 0xFF9B, 0x30ED, 0, | ||
5978 | 13, 0xFF9C, 0x30EF, 0, | ||
5979 | 13, 0xFF9D, 0x30F3, 0, | ||
5980 | 13, 0xFF9E, 0x3099, 0, | ||
5981 | 13, 0xFF9F, 0x309A, 0, | ||
5982 | 13, 0xFFA0, 0x3164, 0, | ||
5983 | 13, 0xFFA1, 0x3131, 0, | ||
5984 | 13, 0xFFA2, 0x3132, 0, | ||
5985 | 13, 0xFFA3, 0x3133, 0, | ||
5986 | 13, 0xFFA4, 0x3134, 0, | ||
5987 | 13, 0xFFA5, 0x3135, 0, | ||
5988 | 13, 0xFFA6, 0x3136, 0, | ||
5989 | 13, 0xFFA7, 0x3137, 0, | ||
5990 | 13, 0xFFA8, 0x3138, 0, | ||
5991 | 13, 0xFFA9, 0x3139, 0, | ||
5992 | 13, 0xFFAA, 0x313A, 0, | ||
5993 | 13, 0xFFAB, 0x313B, 0, | ||
5994 | 13, 0xFFAC, 0x313C, 0, | ||
5995 | 13, 0xFFAD, 0x313D, 0, | ||
5996 | 13, 0xFFAE, 0x313E, 0, | ||
5997 | 13, 0xFFAF, 0x313F, 0, | ||
5998 | 13, 0xFFB0, 0x3140, 0, | ||
5999 | 13, 0xFFB1, 0x3141, 0, | ||
6000 | 13, 0xFFB2, 0x3142, 0, | ||
6001 | 13, 0xFFB3, 0x3143, 0, | ||
6002 | 13, 0xFFB4, 0x3144, 0, | ||
6003 | 13, 0xFFB5, 0x3145, 0, | ||
6004 | 13, 0xFFB6, 0x3146, 0, | ||
6005 | 13, 0xFFB7, 0x3147, 0, | ||
6006 | 13, 0xFFB8, 0x3148, 0, | ||
6007 | 13, 0xFFB9, 0x3149, 0, | ||
6008 | 13, 0xFFBA, 0x314A, 0, | ||
6009 | 13, 0xFFBB, 0x314B, 0, | ||
6010 | 13, 0xFFBC, 0x314C, 0, | ||
6011 | 13, 0xFFBD, 0x314D, 0, | ||
6012 | 13, 0xFFBE, 0x314E, 0, | ||
6013 | 13, 0xFFC2, 0x314F, 0, | ||
6014 | 13, 0xFFC3, 0x3150, 0, | ||
6015 | 13, 0xFFC4, 0x3151, 0, | ||
6016 | 13, 0xFFC5, 0x3152, 0, | ||
6017 | 13, 0xFFC6, 0x3153, 0, | ||
6018 | 13, 0xFFC7, 0x3154, 0, | ||
6019 | 13, 0xFFCA, 0x3155, 0, | ||
6020 | 13, 0xFFCB, 0x3156, 0, | ||
6021 | 13, 0xFFCC, 0x3157, 0, | ||
6022 | 13, 0xFFCD, 0x3158, 0, | ||
6023 | 13, 0xFFCE, 0x3159, 0, | ||
6024 | 13, 0xFFCF, 0x315A, 0, | ||
6025 | 13, 0xFFD2, 0x315B, 0, | ||
6026 | 13, 0xFFD3, 0x315C, 0, | ||
6027 | 13, 0xFFD4, 0x315D, 0, | ||
6028 | 13, 0xFFD5, 0x315E, 0, | ||
6029 | 13, 0xFFD6, 0x315F, 0, | ||
6030 | 13, 0xFFD7, 0x3160, 0, | ||
6031 | 13, 0xFFDA, 0x3161, 0, | ||
6032 | 13, 0xFFDB, 0x3162, 0, | ||
6033 | 13, 0xFFDC, 0x3163, 0, | ||
6034 | 12, 0xFFE0, 0x00A2, 0, | ||
6035 | 12, 0xFFE1, 0x00A3, 0, | ||
6036 | 12, 0xFFE2, 0x00AC, 0, | ||
6037 | 12, 0xFFE3, 0x00AF, 0, | ||
6038 | 12, 0xFFE4, 0x00A6, 0, | ||
6039 | 12, 0xFFE5, 0x00A5, 0, | ||
6040 | 12, 0xFFE6, 0x20A9, 0, | ||
6041 | 13, 0xFFE8, 0x2502, 0, | ||
6042 | 13, 0xFFE9, 0x2190, 0, | ||
6043 | 13, 0xFFEA, 0x2191, 0, | ||
6044 | 13, 0xFFEB, 0x2192, 0, | ||
6045 | 13, 0xFFEC, 0x2193, 0, | ||
6046 | 13, 0xFFED, 0x25A0, 0, | ||
6047 | 13, 0xFFEE, 0x25CB, 0, | ||
6048 | |||
6049 | }; | ||
6050 | |||
6051 | static const Q_UINT16 di_00[] = { | ||
6052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6067 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6069 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6071 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6072 | 1, 0, 0, 0, 0, 0, 0, 0, | ||
6073 | 5, 0, 10, 0, 0, 0, 0, 14, | ||
6074 | 0, 0, 19, 23, 27, 32, 0, 0, | ||
6075 | 36, 41, 45, 0, 49, 55, 61, 0, | ||
6076 | 67, 72, 77, 82, 87, 92, 0, 97, | ||
6077 | 102, 107, 112, 117, 122, 127, 132, 137, | ||
6078 | 0, 142, 147, 152, 157, 162, 167, 0, | ||
6079 | 0, 172, 177, 182, 187, 192, 0, 0, | ||
6080 | 197, 202, 207, 212, 217, 222, 0, 227, | ||
6081 | 232, 237, 242, 247, 252, 257, 262, 267, | ||
6082 | 0, 272, 277, 282, 287, 292, 297, 0, | ||
6083 | 0, 302, 307, 312, 317, 322, 0, 327, | ||
6084 | }; | ||
6085 | |||
6086 | static const Q_UINT16 di_01[] = { | ||
6087 | 332, 337, 342, 347, 352, 357, 362, 367, | ||
6088 | 372, 377, 382, 387, 392, 397, 402, 407, | ||
6089 | 0, 0, 412, 417, 422, 427, 432, 437, | ||
6090 | 442, 447, 452, 457, 462, 467, 472, 477, | ||
6091 | 482, 487, 492, 497, 502, 507, 0, 0, | ||
6092 | 512, 517, 522, 527, 532, 537, 542, 547, | ||
6093 | 552, 0, 557, 562, 567, 572, 577, 582, | ||
6094 | 0, 587, 592, 597, 602, 607, 612, 617, | ||
6095 | 622, 0, 0, 627, 632, 637, 642, 647, | ||
6096 | 652, 657, 0, 0, 662, 667, 672, 677, | ||
6097 | 682, 687, 0, 0, 692, 697, 702, 707, | ||
6098 | 712, 717, 722, 727, 732, 737, 742, 747, | ||
6099 | 752, 757, 762, 767, 772, 777, 0, 0, | ||
6100 | 782, 787, 792, 797, 802, 807, 812, 817, | ||
6101 | 822, 827, 832, 837, 842, 847, 852, 857, | ||
6102 | 862, 867, 872, 877, 882, 887, 892, 897, | ||
6103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6104 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6105 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6107 | 901, 906, 0, 0, 0, 0, 0, 0, | ||
6108 | 0, 0, 0, 0, 0, 0, 0, 911, | ||
6109 | 916, 0, 0, 0, 0, 0, 0, 0, | ||
6110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6111 | 0, 0, 0, 0, 921, 926, 931, 936, | ||
6112 | 941, 946, 951, 956, 961, 966, 971, 976, | ||
6113 | 981, 986, 991, 996, 1001, 1006, 1011, 1016, | ||
6114 | 1021, 1026, 1031, 1036, 1041, 0, 1046, 1051, | ||
6115 | 1056, 1061, 1066, 1071, 0, 0, 1076, 1081, | ||
6116 | 1086, 1091, 1096, 1101, 1106, 1111, 1116, 1121, | ||
6117 | 1126, 1131, 1136, 1141, 1146, 1151, 0, 0, | ||
6118 | 1156, 1161, 1166, 1171, 1176, 1181, 1186, 1191, | ||
6119 | }; | ||
6120 | |||
6121 | static const Q_UINT16 di_02[] = { | ||
6122 | 1196, 1201, 1206, 1211, 1216, 1221, 1226, 1231, | ||
6123 | 1236, 1241, 1246, 1251, 1256, 1261, 1266, 1271, | ||
6124 | 1276, 1281, 1286, 1291, 1296, 1301, 1306, 1311, | ||
6125 | 1316, 1321, 1326, 1331, 0, 0, 1336, 1341, | ||
6126 | 0, 0, 0, 0, 0, 0, 1346, 1351, | ||
6127 | 1356, 1361, 1366, 1371, 1376, 1381, 1386, 1391, | ||
6128 | 1396, 1401, 1406, 1411, 0, 0, 0, 0, | ||
6129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6135 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6140 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6144 | 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, | ||
6145 | 1448, 0, 0, 0, 0, 0, 0, 0, | ||
6146 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6149 | 1452, 1457, 1462, 1467, 1472, 1477, 0, 0, | ||
6150 | 1482, 1486, 1490, 1494, 1498, 0, 0, 0, | ||
6151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6154 | }; | ||
6155 | |||
6156 | static const Q_UINT16 di_03[] = { | ||
6157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6165 | 1502, 1506, 0, 1510, 1514, 0, 0, 0, | ||
6166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6168 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6169 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6170 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6171 | 0, 0, 0, 0, 1519, 0, 0, 0, | ||
6172 | 0, 0, 1523, 0, 0, 0, 1528, 0, | ||
6173 | 0, 0, 0, 0, 1532, 1537, 1542, 1547, | ||
6174 | 1551, 1556, 1561, 0, 1566, 0, 1571, 1576, | ||
6175 | 1581, 0, 0, 0, 0, 0, 0, 0, | ||
6176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6178 | 0, 0, 1586, 1591, 1596, 1601, 1606, 1611, | ||
6179 | 1616, 0, 0, 0, 0, 0, 0, 0, | ||
6180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6182 | 0, 0, 1621, 1626, 1631, 1636, 1641, 0, | ||
6183 | 1646, 1650, 1654, 1658, 1663, 1668, 1672, 0, | ||
6184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6187 | 1676, 1680, 1684, 0, 1688, 1692, 0, 0, | ||
6188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6189 | }; | ||
6190 | |||
6191 | static const Q_UINT16 di_04[] = { | ||
6192 | 1696, 1701, 0, 1706, 0, 0, 0, 1711, | ||
6193 | 0, 0, 0, 0, 1716, 1721, 1726, 0, | ||
6194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6195 | 0, 1731, 0, 0, 0, 0, 0, 0, | ||
6196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6198 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6199 | 0, 1736, 0, 0, 0, 0, 0, 0, | ||
6200 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6201 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6202 | 1741, 1746, 0, 1751, 0, 0, 0, 1756, | ||
6203 | 0, 0, 0, 0, 1761, 1766, 1771, 0, | ||
6204 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6206 | 0, 0, 0, 0, 0, 0, 1776, 1781, | ||
6207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6209 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6211 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6212 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6213 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6214 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6215 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6216 | 0, 1786, 1791, 0, 0, 0, 0, 0, | ||
6217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6218 | 1796, 1801, 1806, 1811, 0, 0, 1816, 1821, | ||
6219 | 0, 0, 1826, 1831, 1836, 1841, 1846, 1851, | ||
6220 | 0, 0, 1856, 1861, 1866, 1871, 1876, 1881, | ||
6221 | 0, 0, 1886, 1891, 1896, 1901, 1906, 1911, | ||
6222 | 1916, 1921, 1926, 1931, 1936, 1941, 0, 0, | ||
6223 | 1946, 1951, 0, 0, 0, 0, 0, 0, | ||
6224 | }; | ||
6225 | |||
6226 | static const Q_UINT16 di_05[] = { | ||
6227 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6228 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6229 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6230 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6231 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6232 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6234 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6235 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6237 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6238 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6239 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6240 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6241 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6242 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6243 | 0, 0, 0, 0, 0, 0, 0, 1956, | ||
6244 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6245 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6246 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6249 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6259 | }; | ||
6260 | |||
6261 | static const Q_UINT16 di_06[] = { | ||
6262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6266 | 0, 0, 1961, 1966, 1971, 1976, 1981, 0, | ||
6267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6272 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6273 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6274 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6275 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6276 | 0, 0, 0, 0, 0, 1986, 1991, 1996, | ||
6277 | 2001, 0, 0, 0, 0, 0, 0, 0, | ||
6278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6281 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6286 | 2006, 0, 2011, 0, 0, 0, 0, 0, | ||
6287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6288 | 0, 0, 0, 2016, 0, 0, 0, 0, | ||
6289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6292 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6294 | }; | ||
6295 | |||
6296 | static const Q_UINT16 di_07[] = { | ||
6297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6298 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6300 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6302 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6303 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6304 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6306 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6307 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6310 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6311 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6312 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6313 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6314 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6315 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6316 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6318 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6319 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6320 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6321 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6322 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6323 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6324 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6325 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6326 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6327 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6328 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6329 | }; | ||
6330 | |||
6331 | static const Q_UINT16 di_09[] = { | ||
6332 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6333 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6337 | 0, 2021, 0, 0, 0, 0, 0, 0, | ||
6338 | 0, 2026, 0, 0, 2031, 0, 0, 0, | ||
6339 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6340 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6341 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6343 | 2036, 2041, 2046, 2051, 2056, 2061, 2066, 2071, | ||
6344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6345 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6348 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6349 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6350 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6351 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6352 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6353 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6354 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6355 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6356 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6357 | 0, 0, 0, 2076, 2081, 0, 0, 0, | ||
6358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6359 | 0, 0, 0, 0, 2086, 2091, 0, 2096, | ||
6360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6363 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6364 | }; | ||
6365 | |||
6366 | static const Q_UINT16 di_0A[] = { | ||
6367 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6368 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6369 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6370 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6371 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6372 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6373 | 0, 0, 0, 2101, 0, 0, 2106, 0, | ||
6374 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6375 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6376 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6377 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6378 | 0, 2111, 2116, 2121, 0, 0, 2126, 0, | ||
6379 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6380 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6381 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6383 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6384 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6385 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6386 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6387 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6388 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6389 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6391 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6392 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6393 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6394 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6395 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6396 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6397 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6398 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6399 | }; | ||
6400 | |||
6401 | static const Q_UINT16 di_0B[] = { | ||
6402 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6403 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6404 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6405 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6406 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6407 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6408 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6409 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6410 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6411 | 2131, 0, 0, 2136, 2141, 0, 0, 0, | ||
6412 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6413 | 0, 0, 0, 0, 2146, 2151, 0, 0, | ||
6414 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6415 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6416 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6417 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6418 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6419 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6420 | 0, 0, 0, 0, 2156, 0, 0, 0, | ||
6421 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6424 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6425 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6427 | 0, 0, 2161, 2166, 2171, 0, 0, 0, | ||
6428 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6429 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6430 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6431 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6432 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6433 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6434 | }; | ||
6435 | |||
6436 | static const Q_UINT16 di_0C[] = { | ||
6437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6438 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6440 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6441 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6442 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6443 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6444 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6445 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6446 | 2176, 0, 0, 0, 0, 0, 0, 0, | ||
6447 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6448 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6449 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6450 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6451 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6452 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6453 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6454 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6455 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6456 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6457 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6458 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6459 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6460 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6461 | 2181, 0, 0, 0, 0, 0, 0, 2186, | ||
6462 | 2191, 0, 2196, 2201, 0, 0, 0, 0, | ||
6463 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6464 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6465 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6466 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6467 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6468 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6469 | }; | ||
6470 | |||
6471 | static const Q_UINT16 di_0D[] = { | ||
6472 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6473 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6479 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6480 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6481 | 0, 0, 2206, 2211, 2216, 0, 0, 0, | ||
6482 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6483 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6484 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6485 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6486 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6487 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6488 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6489 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6490 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6491 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6492 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6493 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6495 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6496 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6497 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6498 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6499 | 0, 0, 2221, 0, 2226, 2231, 2236, 0, | ||
6500 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6501 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6502 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6503 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6504 | }; | ||
6505 | |||
6506 | static const Q_UINT16 di_0E[] = { | ||
6507 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6508 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6509 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6510 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6511 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6512 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6513 | 0, 0, 0, 2241, 0, 0, 0, 0, | ||
6514 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6515 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6516 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6517 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6518 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6519 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6520 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6522 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6523 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6524 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6525 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6526 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6527 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6528 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6529 | 0, 0, 0, 2246, 0, 0, 0, 0, | ||
6530 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6531 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6533 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6534 | 0, 0, 0, 0, 2251, 2256, 0, 0, | ||
6535 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6536 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6537 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6538 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6539 | }; | ||
6540 | |||
6541 | static const Q_UINT16 di_0F[] = { | ||
6542 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6543 | 0, 0, 0, 0, 2261, 0, 0, 0, | ||
6544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6546 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6548 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6550 | 0, 0, 0, 2265, 0, 0, 0, 0, | ||
6551 | 0, 0, 0, 0, 0, 2270, 0, 0, | ||
6552 | 0, 0, 2275, 0, 0, 0, 0, 2280, | ||
6553 | 0, 0, 0, 0, 2285, 0, 0, 0, | ||
6554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6555 | 0, 2290, 0, 0, 0, 0, 0, 0, | ||
6556 | 0, 0, 0, 2295, 0, 2300, 2305, 2310, | ||
6557 | 2315, 2320, 0, 0, 0, 0, 0, 0, | ||
6558 | 0, 2325, 0, 0, 0, 0, 0, 0, | ||
6559 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6560 | 0, 0, 0, 2330, 0, 0, 0, 0, | ||
6561 | 0, 0, 0, 0, 0, 2335, 0, 0, | ||
6562 | 0, 0, 2340, 0, 0, 0, 0, 2345, | ||
6563 | 0, 0, 0, 0, 2350, 0, 0, 0, | ||
6564 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6565 | 0, 2355, 0, 0, 0, 0, 0, 0, | ||
6566 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6567 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6568 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6569 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6570 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6571 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6572 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6573 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6574 | }; | ||
6575 | |||
6576 | static const Q_UINT16 di_10[] = { | ||
6577 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6578 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6579 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6580 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6581 | 0, 0, 0, 0, 0, 0, 2360, 0, | ||
6582 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6583 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6584 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6585 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6586 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6587 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6588 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6589 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6590 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6591 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6592 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6593 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6594 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6595 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6596 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6597 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6598 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6599 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6600 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6601 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6602 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6603 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6604 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6605 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6606 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6607 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6608 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6609 | }; | ||
6610 | |||
6611 | static const Q_UINT16 di_1E[] = { | ||
6612 | 2365, 2370, 2375, 2380, 2385, 2390, 2395, 2400, | ||
6613 | 2405, 2410, 2415, 2420, 2425, 2430, 2435, 2440, | ||
6614 | 2445, 2450, 2455, 2460, 2465, 2470, 2475, 2480, | ||
6615 | 2485, 2490, 2495, 2500, 2505, 2510, 2515, 2520, | ||
6616 | 2525, 2530, 2535, 2540, 2545, 2550, 2555, 2560, | ||
6617 | 2565, 2570, 2575, 2580, 2585, 2590, 2595, 2600, | ||
6618 | 2605, 2610, 2615, 2620, 2625, 2630, 2635, 2640, | ||
6619 | 2645, 2650, 2655, 2660, 2665, 2670, 2675, 2680, | ||
6620 | 2685, 2690, 2695, 2700, 2705, 2710, 2715, 2720, | ||
6621 | 2725, 2730, 2735, 2740, 2745, 2750, 2755, 2760, | ||
6622 | 2765, 2770, 2775, 2780, 2785, 2790, 2795, 2800, | ||
6623 | 2805, 2810, 2815, 2820, 2825, 2830, 2835, 2840, | ||
6624 | 2845, 2850, 2855, 2860, 2865, 2870, 2875, 2880, | ||
6625 | 2885, 2890, 2895, 2900, 2905, 2910, 2915, 2920, | ||
6626 | 2925, 2930, 2935, 2940, 2945, 2950, 2955, 2960, | ||
6627 | 2965, 2970, 2975, 2980, 2985, 2990, 2995, 3000, | ||
6628 | 3005, 3010, 3015, 3020, 3025, 3030, 3035, 3040, | ||
6629 | 3045, 3050, 3055, 3060, 3065, 3070, 3075, 3080, | ||
6630 | 3085, 3090, 3095, 3100, 3105, 3110, 3115, 3120, | ||
6631 | 3125, 3130, 3135, 3140, 0, 0, 0, 0, | ||
6632 | 3145, 3150, 3155, 3160, 3165, 3170, 3175, 3180, | ||
6633 | 3185, 3190, 3195, 3200, 3205, 3210, 3215, 3220, | ||
6634 | 3225, 3230, 3235, 3240, 3245, 3250, 3255, 3260, | ||
6635 | 3265, 3270, 3275, 3280, 3285, 3290, 3295, 3300, | ||
6636 | 3305, 3310, 3315, 3320, 3325, 3330, 3335, 3340, | ||
6637 | 3345, 3350, 3355, 3360, 3365, 3370, 3375, 3380, | ||
6638 | 3385, 3390, 3395, 3400, 3405, 3410, 3415, 3420, | ||
6639 | 3425, 3430, 3435, 3440, 3445, 3450, 3455, 3460, | ||
6640 | 3465, 3470, 3475, 3480, 3485, 3490, 3495, 3500, | ||
6641 | 3505, 3510, 3515, 3520, 3525, 3530, 3535, 3540, | ||
6642 | 3545, 3550, 3555, 3560, 3565, 3570, 3575, 3580, | ||
6643 | 3585, 3590, 0, 0, 0, 0, 0, 0, | ||
6644 | }; | ||
6645 | |||
6646 | static const Q_UINT16 di_1F[] = { | ||
6647 | 3595, 3600, 3605, 3610, 3615, 3620, 3625, 3630, | ||
6648 | 3635, 3640, 3645, 3650, 3655, 3660, 3665, 3670, | ||
6649 | 3675, 3680, 3685, 3690, 3695, 3700, 0, 0, | ||
6650 | 3705, 3710, 3715, 3720, 3725, 3730, 0, 0, | ||
6651 | 3735, 3740, 3745, 3750, 3755, 3760, 3765, 3770, | ||
6652 | 3775, 3780, 3785, 3790, 3795, 3800, 3805, 3810, | ||
6653 | 3815, 3820, 3825, 3830, 3835, 3840, 3845, 3850, | ||
6654 | 3855, 3860, 3865, 3870, 3875, 3880, 3885, 3890, | ||
6655 | 3895, 3900, 3905, 3910, 3915, 3920, 0, 0, | ||
6656 | 3925, 3930, 3935, 3940, 3945, 3950, 0, 0, | ||
6657 | 3955, 3960, 3965, 3970, 3975, 3980, 3985, 3990, | ||
6658 | 0, 3995, 0, 4000, 0, 4005, 0, 4010, | ||
6659 | 4015, 4020, 4025, 4030, 4035, 4040, 4045, 4050, | ||
6660 | 4055, 4060, 4065, 4070, 4075, 4080, 4085, 4090, | ||
6661 | 4095, 4100, 4104, 4109, 4113, 4118, 4122, 4127, | ||
6662 | 4131, 4136, 4140, 4145, 4149, 4154, 0, 0, | ||
6663 | 4158, 4163, 4168, 4173, 4178, 4183, 4188, 4193, | ||
6664 | 4198, 4203, 4208, 4213, 4218, 4223, 4228, 4233, | ||
6665 | 4238, 4243, 4248, 4253, 4258, 4263, 4268, 4273, | ||
6666 | 4278, 4283, 4288, 4293, 4298, 4303, 4308, 4313, | ||
6667 | 4318, 4323, 4328, 4333, 4338, 4343, 4348, 4353, | ||
6668 | 4358, 4363, 4368, 4373, 4378, 4383, 4388, 4393, | ||
6669 | 4398, 4403, 4408, 4413, 4418, 0, 4423, 4428, | ||
6670 | 4433, 4438, 4443, 4448, 4452, 4457, 4462, 4466, | ||
6671 | 4471, 4476, 4481, 4486, 4491, 0, 4496, 4501, | ||
6672 | 4506, 4511, 4515, 4520, 4524, 4529, 4534, 4539, | ||
6673 | 4544, 4549, 4554, 4559, 0, 0, 4563, 4568, | ||
6674 | 4573, 4578, 4583, 4588, 0, 4592, 4597, 4602, | ||
6675 | 4607, 4612, 4617, 4622, 4626, 4631, 4636, 4641, | ||
6676 | 4646, 4651, 4656, 4661, 4665, 4670, 4675, 4679, | ||
6677 | 0, 0, 4683, 4688, 4693, 0, 4698, 4703, | ||
6678 | 4708, 4713, 4717, 4722, 4726, 4731, 4735, 0, | ||
6679 | }; | ||
6680 | |||
6681 | static const Q_UINT16 di_20[] = { | ||
6682 | 4740, 4744, 4748, 4752, 4756, 4760, 4764, 4768, | ||
6683 | 4772, 4776, 4780, 0, 0, 0, 0, 0, | ||
6684 | 0, 4784, 0, 0, 0, 0, 0, 4788, | ||
6685 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6686 | 0, 0, 0, 0, 4793, 4797, 4802, 0, | ||
6687 | 0, 0, 0, 0, 0, 0, 0, 4808, | ||
6688 | 0, 0, 0, 4812, 4817, 0, 4823, 4828, | ||
6689 | 0, 0, 0, 0, 4834, 0, 4839, 0, | ||
6690 | 0, 0, 0, 0, 0, 0, 0, 4844, | ||
6691 | 4849, 4854, 0, 0, 0, 0, 0, 0, | ||
6692 | 0, 0, 0, 0, 0, 0, 0, 4859, | ||
6693 | 0, 0, 0, 0, 0, 0, 0, 4866, | ||
6694 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6695 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6696 | 4870, 4874, 0, 0, 4878, 4882, 4886, 4890, | ||
6697 | 4894, 4898, 4902, 4906, 4910, 4914, 4918, 4922, | ||
6698 | 4926, 4930, 4934, 4938, 4942, 4946, 4950, 4954, | ||
6699 | 4958, 4962, 4966, 4970, 4974, 4978, 4982, 0, | ||
6700 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6701 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6702 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6703 | 4986, 0, 0, 0, 0, 0, 0, 0, | ||
6704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6705 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6706 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6707 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6708 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6709 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6710 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6711 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6712 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6713 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6714 | }; | ||
6715 | |||
6716 | static const Q_UINT16 di_21[] = { | ||
6717 | 4991, 4997, 5003, 5007, 0, 5012, 5018, 5024, | ||
6718 | 0, 5028, 5033, 5037, 5041, 5045, 5049, 5053, | ||
6719 | 5057, 5061, 5065, 5069, 0, 5073, 5077, 0, | ||
6720 | 0, 5082, 5086, 5090, 5094, 5098, 0, 0, | ||
6721 | 5102, 5107, 5113, 0, 5118, 0, 5122, 0, | ||
6722 | 5126, 0, 5130, 5134, 5138, 5142, 0, 5146, | ||
6723 | 5150, 5154, 0, 5158, 5162, 5166, 5170, 5174, | ||
6724 | 5178, 5182, 0, 0, 0, 5186, 5190, 5194, | ||
6725 | 5198, 0, 0, 0, 0, 5202, 5206, 5210, | ||
6726 | 5214, 5218, 0, 0, 0, 0, 0, 0, | ||
6727 | 0, 0, 0, 5222, 5228, 5234, 5240, 5246, | ||
6728 | 5252, 5258, 5264, 5270, 5276, 5282, 5288, 5294, | ||
6729 | 5299, 5303, 5308, 5314, 5319, 5323, 5328, 5334, | ||
6730 | 5341, 5346, 5350, 5355, 5361, 5365, 5369, 5373, | ||
6731 | 5377, 5381, 5386, 5392, 5397, 5401, 5406, 5412, | ||
6732 | 5419, 5424, 5428, 5433, 5439, 5443, 5447, 5451, | ||
6733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6735 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6736 | 0, 0, 5455, 5460, 0, 0, 0, 0, | ||
6737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6738 | 0, 0, 0, 0, 0, 0, 5465, 0, | ||
6739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6741 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6742 | 0, 0, 0, 0, 0, 5470, 5475, 5480, | ||
6743 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6744 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6745 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6746 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6747 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6748 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6749 | }; | ||
6750 | |||
6751 | static const Q_UINT16 di_22[] = { | ||
6752 | 0, 0, 0, 0, 5485, 0, 0, 0, | ||
6753 | 0, 5490, 0, 0, 5495, 0, 0, 0, | ||
6754 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6755 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6756 | 0, 0, 0, 0, 5500, 0, 5505, 0, | ||
6757 | 0, 0, 0, 0, 5510, 5515, 0, 5521, | ||
6758 | 5526, 0, 0, 0, 0, 0, 0, 0, | ||
6759 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6760 | 0, 5532, 0, 0, 5537, 0, 0, 5542, | ||
6761 | 0, 5547, 0, 0, 0, 0, 0, 0, | ||
6762 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6763 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6764 | 5552, 0, 5557, 0, 0, 0, 0, 0, | ||
6765 | 0, 0, 0, 0, 0, 5562, 5567, 5572, | ||
6766 | 5577, 5582, 0, 0, 5587, 5592, 0, 0, | ||
6767 | 5597, 5602, 0, 0, 0, 0, 0, 0, | ||
6768 | 5607, 5612, 0, 0, 5617, 5622, 0, 0, | ||
6769 | 5627, 5632, 0, 0, 0, 0, 0, 0, | ||
6770 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6771 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6772 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6773 | 0, 0, 0, 0, 5637, 5642, 5647, 5652, | ||
6774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6775 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6776 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6777 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6778 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6779 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6780 | 5657, 5662, 5667, 5672, 0, 0, 0, 0, | ||
6781 | 0, 0, 5677, 5682, 5687, 5692, 0, 0, | ||
6782 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6784 | }; | ||
6785 | |||
6786 | static const Q_UINT16 di_23[] = { | ||
6787 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6788 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6790 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6791 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6792 | 0, 5697, 5701, 0, 0, 0, 0, 0, | ||
6793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6797 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6801 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6802 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6803 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6811 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6813 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6815 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6817 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6818 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6819 | }; | ||
6820 | |||
6821 | static const Q_UINT16 di_24[] = { | ||
6822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6832 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6833 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6834 | 5705, 5709, 5713, 5717, 5721, 5725, 5729, 5733, | ||
6835 | 5737, 5741, 5746, 5751, 5756, 5761, 5766, 5771, | ||
6836 | 5776, 5781, 5786, 5791, 5796, 5802, 5808, 5814, | ||
6837 | 5820, 5826, 5832, 5838, 5844, 5850, 5857, 5864, | ||
6838 | 5871, 5878, 5885, 5892, 5899, 5906, 5913, 5920, | ||
6839 | 5927, 5932, 5937, 5942, 5947, 5952, 5957, 5962, | ||
6840 | 5967, 5972, 5978, 5984, 5990, 5996, 6002, 6008, | ||
6841 | 6014, 6020, 6026, 6032, 6038, 6044, 6050, 6056, | ||
6842 | 6062, 6068, 6074, 6080, 6086, 6092, 6098, 6104, | ||
6843 | 6110, 6116, 6122, 6128, 6134, 6140, 6146, 6152, | ||
6844 | 6158, 6164, 6170, 6176, 6182, 6188, 6194, 6198, | ||
6845 | 6202, 6206, 6210, 6214, 6218, 6222, 6226, 6230, | ||
6846 | 6234, 6238, 6242, 6246, 6250, 6254, 6258, 6262, | ||
6847 | 6266, 6270, 6274, 6278, 6282, 6286, 6290, 6294, | ||
6848 | 6298, 6302, 6306, 6310, 6314, 6318, 6322, 6326, | ||
6849 | 6330, 6334, 6338, 6342, 6346, 6350, 6354, 6358, | ||
6850 | 6362, 6366, 6370, 6374, 6378, 6382, 6386, 6390, | ||
6851 | 6394, 6398, 6402, 0, 0, 0, 0, 0, | ||
6852 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6853 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6854 | }; | ||
6855 | |||
6856 | static const Q_UINT16 di_2A[] = { | ||
6857 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6858 | 0, 0, 0, 0, 6406, 0, 0, 0, | ||
6859 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6861 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6862 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6863 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6864 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6866 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6868 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6869 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6871 | 0, 0, 0, 0, 6413, 6419, 6424, 0, | ||
6872 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6873 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6874 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6875 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6876 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6877 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6878 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6879 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6884 | 0, 0, 0, 0, 6430, 0, 0, 0, | ||
6885 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6889 | }; | ||
6890 | |||
6891 | static const Q_UINT16 di_2E[] = { | ||
6892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6902 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6906 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6907 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6908 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6909 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6910 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6911 | 0, 0, 0, 0, 0, 0, 0, 6435, | ||
6912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6914 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6916 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6917 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6918 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6919 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6920 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6921 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6922 | 0, 0, 0, 6439, 0, 0, 0, 0, | ||
6923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6924 | }; | ||
6925 | |||
6926 | static const Q_UINT16 di_2F[] = { | ||
6927 | 6443, 6447, 6451, 6455, 6459, 6463, 6467, 6471, | ||
6928 | 6475, 6479, 6483, 6487, 6491, 6495, 6499, 6503, | ||
6929 | 6507, 6511, 6515, 6519, 6523, 6527, 6531, 6535, | ||
6930 | 6539, 6543, 6547, 6551, 6555, 6559, 6563, 6567, | ||
6931 | 6571, 6575, 6579, 6583, 6587, 6591, 6595, 6599, | ||
6932 | 6603, 6607, 6611, 6615, 6619, 6623, 6627, 6631, | ||
6933 | 6635, 6639, 6643, 6647, 6651, 6655, 6659, 6663, | ||
6934 | 6667, 6671, 6675, 6679, 6683, 6687, 6691, 6695, | ||
6935 | 6699, 6703, 6707, 6711, 6715, 6719, 6723, 6727, | ||
6936 | 6731, 6735, 6739, 6743, 6747, 6751, 6755, 6759, | ||
6937 | 6763, 6767, 6771, 6775, 6779, 6783, 6787, 6791, | ||
6938 | 6795, 6799, 6803, 6807, 6811, 6815, 6819, 6823, | ||
6939 | 6827, 6831, 6835, 6839, 6843, 6847, 6851, 6855, | ||
6940 | 6859, 6863, 6867, 6871, 6875, 6879, 6883, 6887, | ||
6941 | 6891, 6895, 6899, 6903, 6907, 6911, 6915, 6919, | ||
6942 | 6923, 6927, 6931, 6935, 6939, 6943, 6947, 6951, | ||
6943 | 6955, 6959, 6963, 6967, 6971, 6975, 6979, 6983, | ||
6944 | 6987, 6991, 6995, 6999, 7003, 7007, 7011, 7015, | ||
6945 | 7019, 7023, 7027, 7031, 7035, 7039, 7043, 7047, | ||
6946 | 7051, 7055, 7059, 7063, 7067, 7071, 7075, 7079, | ||
6947 | 7083, 7087, 7091, 7095, 7099, 7103, 7107, 7111, | ||
6948 | 7115, 7119, 7123, 7127, 7131, 7135, 7139, 7143, | ||
6949 | 7147, 7151, 7155, 7159, 7163, 7167, 7171, 7175, | ||
6950 | 7179, 7183, 7187, 7191, 7195, 7199, 7203, 7207, | ||
6951 | 7211, 7215, 7219, 7223, 7227, 7231, 7235, 7239, | ||
6952 | 7243, 7247, 7251, 7255, 7259, 7263, 7267, 7271, | ||
6953 | 7275, 7279, 7283, 7287, 7291, 7295, 0, 0, | ||
6954 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6957 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6958 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6959 | }; | ||
6960 | |||
6961 | static const Q_UINT16 di_30[] = { | ||
6962 | 7299, 0, 0, 0, 0, 0, 0, 0, | ||
6963 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6964 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6965 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6966 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6967 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6968 | 0, 0, 0, 0, 0, 0, 7303, 0, | ||
6969 | 7307, 7311, 7315, 0, 0, 0, 0, 0, | ||
6970 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6971 | 0, 0, 0, 0, 7319, 0, 7324, 0, | ||
6972 | 7329, 0, 7334, 0, 7339, 0, 7344, 0, | ||
6973 | 7349, 0, 7354, 0, 7359, 0, 7364, 0, | ||
6974 | 7369, 0, 7374, 0, 0, 7379, 0, 7384, | ||
6975 | 0, 7389, 0, 0, 0, 0, 0, 0, | ||
6976 | 7394, 7399, 0, 7404, 7409, 0, 7414, 7419, | ||
6977 | 0, 7424, 7429, 0, 7434, 7439, 0, 0, | ||
6978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6980 | 0, 0, 0, 0, 7444, 0, 0, 0, | ||
6981 | 0, 0, 0, 7449, 7454, 0, 7459, 7464, | ||
6982 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6983 | 0, 0, 0, 0, 7469, 0, 7474, 0, | ||
6984 | 7479, 0, 7484, 0, 7489, 0, 7494, 0, | ||
6985 | 7499, 0, 7504, 0, 7509, 0, 7514, 0, | ||
6986 | 7519, 0, 7524, 0, 0, 7529, 0, 7534, | ||
6987 | 0, 7539, 0, 0, 0, 0, 0, 0, | ||
6988 | 7544, 7549, 0, 7554, 7559, 0, 7564, 7569, | ||
6989 | 0, 7574, 7579, 0, 7584, 7589, 0, 0, | ||
6990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6992 | 0, 0, 0, 0, 7594, 0, 0, 7599, | ||
6993 | 7604, 7609, 7614, 0, 0, 0, 7619, 7624, | ||
6994 | }; | ||
6995 | |||
6996 | static const Q_UINT16 di_31[] = { | ||
6997 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6998 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
6999 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7000 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7001 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7002 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7003 | 0, 7629, 7633, 7637, 7641, 7645, 7649, 7653, | ||
7004 | 7657, 7661, 7665, 7669, 7673, 7677, 7681, 7685, | ||
7005 | 7689, 7693, 7697, 7701, 7705, 7709, 7713, 7717, | ||
7006 | 7721, 7725, 7729, 7733, 7737, 7741, 7745, 7749, | ||
7007 | 7753, 7757, 7761, 7765, 7769, 7773, 7777, 7781, | ||
7008 | 7785, 7789, 7793, 7797, 7801, 7805, 7809, 7813, | ||
7009 | 7817, 7821, 7825, 7829, 7833, 7837, 7841, 7845, | ||
7010 | 7849, 7853, 7857, 7861, 7865, 7869, 7873, 7877, | ||
7011 | 7881, 7885, 7889, 7893, 7897, 7901, 7905, 7909, | ||
7012 | 7913, 7917, 7921, 7925, 7929, 7933, 7937, 7941, | ||
7013 | 7945, 7949, 7953, 7957, 7961, 7965, 7969, 7973, | ||
7014 | 7977, 7981, 7985, 7989, 7993, 7997, 8001, 0, | ||
7015 | 0, 0, 8005, 8009, 8013, 8017, 8021, 8025, | ||
7016 | 8029, 8033, 8037, 8041, 8045, 8049, 8053, 8057, | ||
7017 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7018 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7019 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7020 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7021 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7022 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7023 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7024 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7025 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7028 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7029 | }; | ||
7030 | |||
7031 | static const Q_UINT16 di_32[] = { | ||
7032 | 8061, 8067, 8073, 8079, 8085, 8091, 8097, 8103, | ||
7033 | 8109, 8115, 8121, 8127, 8133, 8139, 8145, 8152, | ||
7034 | 8159, 8166, 8173, 8180, 8187, 8194, 8201, 8208, | ||
7035 | 8215, 8222, 8229, 8236, 8243, 0, 0, 0, | ||
7036 | 8250, 8256, 8262, 8268, 8274, 8280, 8286, 8292, | ||
7037 | 8298, 8304, 8310, 8316, 8322, 8328, 8334, 8340, | ||
7038 | 8346, 8352, 8358, 8364, 8370, 8376, 8382, 8388, | ||
7039 | 8394, 8400, 8406, 8412, 8418, 8424, 8430, 8436, | ||
7040 | 8442, 8448, 8454, 8460, 0, 0, 0, 0, | ||
7041 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7042 | 0, 8466, 8471, 8476, 8481, 8486, 8491, 8496, | ||
7043 | 8501, 8506, 8511, 8516, 8521, 8526, 8531, 8536, | ||
7044 | 8541, 8545, 8549, 8553, 8557, 8561, 8565, 8569, | ||
7045 | 8573, 8577, 8581, 8585, 8589, 8593, 8597, 8602, | ||
7046 | 8607, 8612, 8617, 8622, 8627, 8632, 8637, 8642, | ||
7047 | 8647, 8652, 8657, 8662, 0, 0, 0, 0, | ||
7048 | 8667, 8671, 8675, 8679, 8683, 8687, 8691, 8695, | ||
7049 | 8699, 8703, 8707, 8711, 8715, 8719, 8723, 8727, | ||
7050 | 8731, 8735, 8739, 8743, 8747, 8751, 8755, 8759, | ||
7051 | 8763, 8767, 8771, 8775, 8779, 8783, 8787, 8791, | ||
7052 | 8795, 8799, 8803, 8807, 8811, 8815, 8819, 8823, | ||
7053 | 8827, 8831, 8835, 8839, 8843, 8847, 8851, 8855, | ||
7054 | 8859, 8863, 8868, 8873, 8878, 8883, 8888, 8893, | ||
7055 | 8898, 8903, 8908, 8913, 8918, 8923, 8928, 8933, | ||
7056 | 8938, 8943, 8948, 8953, 8958, 8963, 8968, 8973, | ||
7057 | 8978, 8983, 8989, 8995, 0, 0, 0, 0, | ||
7058 | 9001, 9005, 9009, 9013, 9017, 9021, 9025, 9029, | ||
7059 | 9033, 9037, 9041, 9045, 9049, 9053, 9057, 9061, | ||
7060 | 9065, 9069, 9073, 9077, 9081, 9085, 9089, 9093, | ||
7061 | 9097, 9101, 9105, 9109, 9113, 9117, 9121, 9125, | ||
7062 | 9129, 9133, 9137, 9141, 9145, 9149, 9153, 9157, | ||
7063 | 9161, 9165, 9169, 9173, 9177, 9181, 9185, 0, | ||
7064 | }; | ||
7065 | |||
7066 | static const Q_UINT16 di_33[] = { | ||
7067 | 9189, 9196, 9203, 9210, 9216, 9223, 9229, 9235, | ||
7068 | 9243, 9250, 9256, 9262, 9268, 9275, 9282, 9288, | ||
7069 | 9294, 9299, 9305, 9312, 9319, 9324, 9332, 9341, | ||
7070 | 9349, 9355, 9363, 9371, 9378, 9384, 9390, 9396, | ||
7071 | 9403, 9411, 9418, 9424, 9430, 9436, 9441, 9446, | ||
7072 | 9451, 9456, 9462, 9468, 9476, 9482, 9489, 9497, | ||
7073 | 9503, 9508, 9513, 9521, 9528, 9536, 9542, 9550, | ||
7074 | 9555, 9561, 9567, 9573, 9579, 9585, 9592, 9598, | ||
7075 | 9603, 9609, 9615, 9621, 9628, 9634, 9640, 9646, | ||
7076 | 9654, 9661, 9666, 9674, 9679, 9686, 9693, 9699, | ||
7077 | 9705, 9711, 9718, 9723, 9729, 9736, 9741, 9749, | ||
7078 | 9755, 9760, 9765, 9770, 9775, 9780, 9785, 9790, | ||
7079 | 9795, 9800, 9805, 9811, 9817, 9823, 9829, 9835, | ||
7080 | 9841, 9847, 9853, 9859, 9865, 9871, 9877, 9883, | ||
7081 | 9889, 9895, 9901, 9906, 9911, 9917, 9922, 0, | ||
7082 | 0, 0, 0, 9927, 9932, 9937, 9942, 9947, | ||
7083 | 9954, 9959, 9964, 9969, 9974, 9979, 9984, 9989, | ||
7084 | 9994, 10000, 10007, 10012, 10017, 10022, 10027, 10032, | ||
7085 | 10037, 10042, 10048, 10054, 10060, 10066, 10071, 10076, | ||
7086 | 10081, 10086, 10091, 10096, 10101, 10106, 10111, 10116, | ||
7087 | 10122, 10128, 10133, 10139, 10145, 10151, 10156, 10162, | ||
7088 | 10168, 10175, 10180, 10186, 10192, 10198, 10204, 10212, | ||
7089 | 10221, 10226, 10231, 10236, 10241, 10246, 10251, 10256, | ||
7090 | 10261, 10266, 10271, 10276, 10281, 10286, 10291, 10296, | ||
7091 | 10301, 10306, 10311, 10318, 10323, 10328, 10333, 10340, | ||
7092 | 10346, 10351, 10356, 10361, 10366, 10371, 10376, 10381, | ||
7093 | 10386, 10391, 10396, 10402, 10407, 10412, 10418, 10424, | ||
7094 | 10429, 10436, 10442, 10447, 10452, 10457, 0, 0, | ||
7095 | 10462, 10467, 10472, 10477, 10482, 10487, 10492, 10497, | ||
7096 | 10502, 10507, 10513, 10519, 10525, 10531, 10537, 10543, | ||
7097 | 10549, 10555, 10561, 10567, 10573, 10579, 10585, 10591, | ||
7098 | 10597, 10603, 10609, 10615, 10621, 10627, 10633, 0, | ||
7099 | }; | ||
7100 | |||
7101 | static const Q_UINT16 di_F9[] = { | ||
7102 | 10639, 10643, 10647, 10651, 10655, 10659, 10663, 10667, | ||
7103 | 10671, 10675, 10679, 10683, 10687, 10691, 10695, 10699, | ||
7104 | 10703, 10707, 10711, 10715, 10719, 10723, 10727, 10731, | ||
7105 | 10735, 10739, 10743, 10747, 10751, 10755, 10759, 10763, | ||
7106 | 10767, 10771, 10775, 10779, 10783, 10787, 10791, 10795, | ||
7107 | 10799, 10803, 10807, 10811, 10815, 10819, 10823, 10827, | ||
7108 | 10831, 10835, 10839, 10843, 10847, 10851, 10855, 10859, | ||
7109 | 10863, 10867, 10871, 10875, 10879, 10883, 10887, 10891, | ||
7110 | 10895, 10899, 10903, 10907, 10911, 10915, 10919, 10923, | ||
7111 | 10927, 10931, 10935, 10939, 10943, 10947, 10951, 10955, | ||
7112 | 10959, 10963, 10967, 10971, 10975, 10979, 10983, 10987, | ||
7113 | 10991, 10995, 10999, 11003, 11007, 11011, 11015, 11019, | ||
7114 | 11023, 11027, 11031, 11035, 11039, 11043, 11047, 11051, | ||
7115 | 11055, 11059, 11063, 11067, 11071, 11075, 11079, 11083, | ||
7116 | 11087, 11091, 11095, 11099, 11103, 11107, 11111, 11115, | ||
7117 | 11119, 11123, 11127, 11131, 11135, 11139, 11143, 11147, | ||
7118 | 11151, 11155, 11159, 11163, 11167, 11171, 11175, 11179, | ||
7119 | 11183, 11187, 11191, 11195, 11199, 11203, 11207, 11211, | ||
7120 | 11215, 11219, 11223, 11227, 11231, 11235, 11239, 11243, | ||
7121 | 11247, 11251, 11255, 11259, 11263, 11267, 11271, 11275, | ||
7122 | 11279, 11283, 11287, 11291, 11295, 11299, 11303, 11307, | ||
7123 | 11311, 11315, 11319, 11323, 11327, 11331, 11335, 11339, | ||
7124 | 11343, 11347, 11351, 11355, 11359, 11363, 11367, 11371, | ||
7125 | 11375, 11379, 11383, 11387, 11391, 11395, 11399, 11403, | ||
7126 | 11407, 11411, 11415, 11419, 11423, 11427, 11431, 11435, | ||
7127 | 11439, 11443, 11447, 11451, 11455, 11459, 11463, 11467, | ||
7128 | 11471, 11475, 11479, 11483, 11487, 11491, 11495, 11499, | ||
7129 | 11503, 11507, 11511, 11515, 11519, 11523, 11527, 11531, | ||
7130 | 11535, 11539, 11543, 11547, 11551, 11555, 11559, 11563, | ||
7131 | 11567, 11571, 11575, 11579, 11583, 11587, 11591, 11595, | ||
7132 | 11599, 11603, 11607, 11611, 11615, 11619, 11623, 11627, | ||
7133 | 11631, 11635, 11639, 11643, 11647, 11651, 11655, 11659, | ||
7134 | }; | ||
7135 | |||
7136 | static const Q_UINT16 di_FA[] = { | ||
7137 | 11663, 11667, 11671, 11675, 11679, 11683, 11687, 11691, | ||
7138 | 11695, 11699, 11703, 11707, 11711, 11715, 0, 0, | ||
7139 | 11719, 0, 11723, 0, 0, 11727, 11731, 11735, | ||
7140 | 11739, 11743, 11747, 11751, 11755, 11759, 11763, 0, | ||
7141 | 11767, 0, 11771, 0, 0, 11775, 11779, 0, | ||
7142 | 0, 0, 11783, 11787, 11791, 11795, 0, 0, | ||
7143 | 11799, 11803, 11807, 11811, 11815, 11819, 11823, 11827, | ||
7144 | 11831, 11835, 11839, 11843, 11847, 11851, 11855, 11859, | ||
7145 | 11863, 11867, 11871, 11875, 11879, 11883, 11887, 11891, | ||
7146 | 11895, 11899, 11903, 11907, 11911, 11915, 11919, 11923, | ||
7147 | 11927, 11931, 11935, 11939, 11943, 11947, 11951, 11955, | ||
7148 | 11959, 11963, 11967, 11971, 11975, 11979, 11983, 11987, | ||
7149 | 11991, 11995, 11999, 12003, 12007, 12011, 12015, 12019, | ||
7150 | 12023, 12027, 12031, 0, 0, 0, 0, 0, | ||
7151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7154 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7168 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7169 | }; | ||
7170 | |||
7171 | static const Q_UINT16 di_FB[] = { | ||
7172 | 12035, 12040, 12045, 12050, 12056, 12062, 12067, 0, | ||
7173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7174 | 0, 0, 0, 12072, 12077, 12082, 12087, 12092, | ||
7175 | 0, 0, 0, 0, 0, 12097, 0, 12102, | ||
7176 | 12107, 12111, 12115, 12119, 12123, 12127, 12131, 12135, | ||
7177 | 12139, 12143, 12147, 12152, 12157, 12162, 12167, 12172, | ||
7178 | 12177, 12182, 12187, 12192, 12197, 12202, 12207, 0, | ||
7179 | 12212, 12217, 12222, 12227, 12232, 0, 12237, 0, | ||
7180 | 12242, 12247, 0, 12252, 12257, 0, 12262, 12267, | ||
7181 | 12272, 12277, 12282, 12287, 12292, 12297, 12302, 12307, | ||
7182 | 12312, 12316, 12320, 12324, 12328, 12332, 12336, 12340, | ||
7183 | 12344, 12348, 12352, 12356, 12360, 12364, 12368, 12372, | ||
7184 | 12376, 12380, 12384, 12388, 12392, 12396, 12400, 12404, | ||
7185 | 12408, 12412, 12416, 12420, 12424, 12428, 12432, 12436, | ||
7186 | 12440, 12444, 12448, 12452, 12456, 12460, 12464, 12468, | ||
7187 | 12472, 12476, 12480, 12484, 12488, 12492, 12496, 12500, | ||
7188 | 12504, 12508, 12512, 12516, 12520, 12524, 12528, 12532, | ||
7189 | 12536, 12540, 12544, 12548, 12552, 12556, 12560, 12564, | ||
7190 | 12568, 12572, 12576, 12580, 12584, 12588, 12592, 12596, | ||
7191 | 12600, 12604, 12608, 12612, 12616, 12620, 12624, 12628, | ||
7192 | 12632, 12636, 12640, 12644, 12648, 12652, 12656, 12660, | ||
7193 | 12664, 12668, 12672, 12676, 12680, 12684, 12688, 12692, | ||
7194 | 12696, 12700, 0, 0, 0, 0, 0, 0, | ||
7195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7198 | 0, 0, 0, 12704, 12708, 12712, 12716, 12720, | ||
7199 | 12724, 12728, 12732, 12736, 12740, 12744, 12748, 12752, | ||
7200 | 12756, 12760, 12764, 12768, 12772, 12776, 12780, 12784, | ||
7201 | 12788, 12792, 12796, 12801, 12806, 12811, 12816, 12821, | ||
7202 | 12826, 12831, 12836, 12841, 12846, 12851, 12856, 12861, | ||
7203 | 12866, 12871, 12876, 12881, 12886, 12890, 12894, 12898, | ||
7204 | }; | ||
7205 | |||
7206 | static const Q_UINT16 di_FC[] = { | ||
7207 | 12902, 12907, 12912, 12917, 12922, 12927, 12932, 12937, | ||
7208 | 12942, 12947, 12952, 12957, 12962, 12967, 12972, 12977, | ||
7209 | 12982, 12987, 12992, 12997, 13002, 13007, 13012, 13017, | ||
7210 | 13022, 13027, 13032, 13037, 13042, 13047, 13052, 13057, | ||
7211 | 13062, 13067, 13072, 13077, 13082, 13087, 13092, 13097, | ||
7212 | 13102, 13107, 13112, 13117, 13122, 13127, 13132, 13137, | ||
7213 | 13142, 13147, 13152, 13157, 13162, 13167, 13172, 13177, | ||
7214 | 13182, 13187, 13192, 13197, 13202, 13207, 13212, 13217, | ||
7215 | 13222, 13227, 13232, 13237, 13242, 13247, 13252, 13257, | ||
7216 | 13262, 13267, 13272, 13277, 13282, 13287, 13292, 13297, | ||
7217 | 13302, 13307, 13312, 13317, 13322, 13327, 13332, 13337, | ||
7218 | 13342, 13347, 13352, 13357, 13362, 13367, 13372, 13378, | ||
7219 | 13384, 13390, 13396, 13402, 13408, 13413, 13418, 13423, | ||
7220 | 13428, 13433, 13438, 13443, 13448, 13453, 13458, 13463, | ||
7221 | 13468, 13473, 13478, 13483, 13488, 13493, 13498, 13503, | ||
7222 | 13508, 13513, 13518, 13523, 13528, 13533, 13538, 13543, | ||
7223 | 13548, 13553, 13558, 13563, 13568, 13573, 13578, 13583, | ||
7224 | 13588, 13593, 13598, 13603, 13608, 13613, 13618, 13623, | ||
7225 | 13628, 13633, 13638, 13643, 13648, 13653, 13658, 13663, | ||
7226 | 13668, 13673, 13678, 13683, 13688, 13693, 13698, 13703, | ||
7227 | 13708, 13713, 13718, 13723, 13728, 13733, 13738, 13743, | ||
7228 | 13748, 13753, 13758, 13763, 13768, 13773, 13778, 13783, | ||
7229 | 13788, 13793, 13798, 13803, 13808, 13813, 13818, 13823, | ||
7230 | 13828, 13833, 13838, 13843, 13848, 13853, 13858, 13863, | ||
7231 | 13868, 13873, 13878, 13883, 13888, 13893, 13898, 13903, | ||
7232 | 13908, 13913, 13918, 13923, 13928, 13933, 13938, 13943, | ||
7233 | 13948, 13953, 13958, 13963, 13968, 13973, 13978, 13983, | ||
7234 | 13988, 13993, 13998, 14003, 14008, 14013, 14018, 14023, | ||
7235 | 14028, 14033, 14038, 14043, 14048, 14053, 14058, 14063, | ||
7236 | 14068, 14073, 14078, 14083, 14088, 14093, 14098, 14103, | ||
7237 | 14108, 14113, 14118, 14124, 14130, 14136, 14141, 14146, | ||
7238 | 14151, 14156, 14161, 14166, 14171, 14176, 14181, 14186, | ||
7239 | }; | ||
7240 | |||
7241 | static const Q_UINT16 di_FD[] = { | ||
7242 | 14191, 14196, 14201, 14206, 14211, 14216, 14221, 14226, | ||
7243 | 14231, 14236, 14241, 14246, 14251, 14256, 14261, 14266, | ||
7244 | 14271, 14276, 14281, 14286, 14291, 14296, 14301, 14306, | ||
7245 | 14311, 14316, 14321, 14326, 14331, 14336, 14341, 14346, | ||
7246 | 14351, 14356, 14361, 14366, 14371, 14376, 14381, 14386, | ||
7247 | 14391, 14396, 14401, 14406, 14411, 14416, 14421, 14426, | ||
7248 | 14431, 14436, 14441, 14446, 14451, 14456, 14461, 14466, | ||
7249 | 14471, 14476, 14481, 14486, 14491, 14496, 0, 0, | ||
7250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7252 | 14501, 14507, 14513, 14519, 14525, 14531, 14537, 14543, | ||
7253 | 14549, 14555, 14561, 14567, 14573, 14579, 14585, 14591, | ||
7254 | 14597, 14603, 14609, 14615, 14621, 14627, 14633, 14639, | ||
7255 | 14645, 14651, 14657, 14663, 14669, 14675, 14681, 14687, | ||
7256 | 14693, 14699, 14705, 14711, 14717, 14723, 14729, 14735, | ||
7257 | 14741, 14747, 14753, 14759, 14765, 14771, 14777, 14783, | ||
7258 | 14789, 14795, 14801, 14807, 14813, 14819, 14825, 14831, | ||
7259 | 14837, 14843, 14849, 14855, 14861, 14867, 14873, 14879, | ||
7260 | 0, 0, 14885, 14891, 14897, 14903, 14909, 14915, | ||
7261 | 14921, 14927, 14933, 14939, 14945, 14951, 14957, 14963, | ||
7262 | 14969, 14975, 14981, 14987, 14993, 14999, 15005, 15011, | ||
7263 | 15017, 15023, 15029, 15035, 15041, 15047, 15053, 15059, | ||
7264 | 15065, 15071, 15077, 15083, 15089, 15095, 15101, 15107, | ||
7265 | 15113, 15119, 15125, 15131, 15137, 15143, 15149, 15155, | ||
7266 | 15161, 15167, 15173, 15179, 15185, 15191, 15197, 15203, | ||
7267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7272 | 15209, 15215, 15221, 15228, 15235, 15242, 15249, 15256, | ||
7273 | 15263, 15270, 15276, 15297, 15308, 0, 0, 0, | ||
7274 | }; | ||
7275 | |||
7276 | static const Q_UINT16 di_FE[] = { | ||
7277 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7281 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7283 | 15315, 15319, 15323, 15327, 15331, 15335, 15339, 15343, | ||
7284 | 15347, 15351, 15355, 15359, 15363, 15367, 15371, 15375, | ||
7285 | 15379, 15383, 15387, 15391, 15395, 0, 0, 0, | ||
7286 | 0, 15399, 15403, 15407, 15411, 15415, 15419, 15423, | ||
7287 | 15427, 15431, 15435, 0, 15439, 15443, 15447, 15451, | ||
7288 | 15455, 15459, 15463, 15467, 15471, 15475, 15479, 15483, | ||
7289 | 15487, 15491, 15495, 15499, 15503, 15507, 15511, 0, | ||
7290 | 15515, 15519, 15523, 15527, 0, 0, 0, 0, | ||
7291 | 15531, 15536, 15541, 0, 15546, 0, 15551, 15556, | ||
7292 | 15561, 15566, 15571, 15576, 15581, 15586, 15591, 15596, | ||
7293 | 15601, 15605, 15609, 15613, 15617, 15621, 15625, 15629, | ||
7294 | 15633, 15637, 15641, 15645, 15649, 15653, 15657, 15661, | ||
7295 | 15665, 15669, 15673, 15677, 15681, 15685, 15689, 15693, | ||
7296 | 15697, 15701, 15705, 15709, 15713, 15717, 15721, 15725, | ||
7297 | 15729, 15733, 15737, 15741, 15745, 15749, 15753, 15757, | ||
7298 | 15761, 15765, 15769, 15773, 15777, 15781, 15785, 15789, | ||
7299 | 15793, 15797, 15801, 15805, 15809, 15813, 15817, 15821, | ||
7300 | 15825, 15829, 15833, 15837, 15841, 15845, 15849, 15853, | ||
7301 | 15857, 15861, 15865, 15869, 15873, 15877, 15881, 15885, | ||
7302 | 15889, 15893, 15897, 15901, 15905, 15909, 15913, 15917, | ||
7303 | 15921, 15925, 15929, 15933, 15937, 15941, 15945, 15949, | ||
7304 | 15953, 15957, 15961, 15965, 15969, 15973, 15977, 15981, | ||
7305 | 15985, 15989, 15993, 15997, 16001, 16005, 16009, 16013, | ||
7306 | 16017, 16021, 16025, 16029, 16033, 16037, 16041, 16045, | ||
7307 | 16049, 16053, 16057, 16061, 16065, 16069, 16074, 16079, | ||
7308 | 16084, 16089, 16094, 16099, 16104, 0, 0, 0, | ||
7309 | }; | ||
7310 | |||
7311 | static const Q_UINT16 di_FF[] = { | ||
7312 | 0, 16109, 16113, 16117, 16121, 16125, 16129, 16133, | ||
7313 | 16137, 16141, 16145, 16149, 16153, 16157, 16161, 16165, | ||
7314 | 16169, 16173, 16177, 16181, 16185, 16189, 16193, 16197, | ||
7315 | 16201, 16205, 16209, 16213, 16217, 16221, 16225, 16229, | ||
7316 | 16233, 16237, 16241, 16245, 16249, 16253, 16257, 16261, | ||
7317 | 16265, 16269, 16273, 16277, 16281, 16285, 16289, 16293, | ||
7318 | 16297, 16301, 16305, 16309, 16313, 16317, 16321, 16325, | ||
7319 | 16329, 16333, 16337, 16341, 16345, 16349, 16353, 16357, | ||
7320 | 16361, 16365, 16369, 16373, 16377, 16381, 16385, 16389, | ||
7321 | 16393, 16397, 16401, 16405, 16409, 16413, 16417, 16421, | ||
7322 | 16425, 16429, 16433, 16437, 16441, 16445, 16449, 16453, | ||
7323 | 16457, 16461, 16465, 16469, 16473, 16477, 16481, 16485, | ||
7324 | 16489, 16493, 16497, 16501, 16505, 16509, 16513, 16517, | ||
7325 | 16521, 16525, 16529, 16533, 16537, 16541, 16545, 16549, | ||
7326 | 16553, 16557, 16561, 16565, 16569, 16573, 16577, 16581, | ||
7327 | 16585, 16589, 16593, 16597, 16601, 16605, 16609, 16613, | ||
7328 | 16617, 16621, 16625, 16629, 16633, 16637, 16641, 16645, | ||
7329 | 16649, 16653, 16657, 16661, 16665, 16669, 16673, 16677, | ||
7330 | 16681, 16685, 16689, 16693, 16697, 16701, 16705, 16709, | ||
7331 | 16713, 16717, 16721, 16725, 16729, 16733, 16737, 16741, | ||
7332 | 16745, 16749, 16753, 16757, 16761, 16765, 16769, 16773, | ||
7333 | 16777, 16781, 16785, 16789, 16793, 16797, 16801, 16805, | ||
7334 | 16809, 16813, 16817, 16821, 16825, 16829, 16833, 16837, | ||
7335 | 16841, 16845, 16849, 16853, 16857, 16861, 16865, 0, | ||
7336 | 0, 0, 16869, 16873, 16877, 16881, 16885, 16889, | ||
7337 | 0, 0, 16893, 16897, 16901, 16905, 16909, 16913, | ||
7338 | 0, 0, 16917, 16921, 16925, 16929, 16933, 16937, | ||
7339 | 0, 0, 16941, 16945, 16949, 0, 0, 0, | ||
7340 | 16953, 16957, 16961, 16965, 16969, 16973, 16977, 0, | ||
7341 | 16981, 16985, 16989, 16993, 16997, 17001, 17005, 0, | ||
7342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7343 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7344 | }; | ||
7345 | |||
7346 | static const Q_UINT16 * const decomposition_info[256] = { | ||
7347 | di_00, di_01, di_02, di_03, di_04, di_05, di_06, di_07, | ||
7348 | di_07, di_09, di_0A, di_0B, di_0C, di_0D, di_0E, di_0F, | ||
7349 | di_10, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7350 | di_07, di_07, di_07, di_07, di_07, di_07, di_1E, di_1F, | ||
7351 | di_20, di_21, di_22, di_23, di_24, di_07, di_07, di_07, | ||
7352 | di_07, di_07, di_2A, di_07, di_07, di_07, di_2E, di_2F, | ||
7353 | di_30, di_31, di_32, di_33, di_07, di_07, di_07, di_07, | ||
7354 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7355 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7356 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7357 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7358 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7359 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7360 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7361 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7362 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7363 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7364 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7365 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7366 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7367 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7368 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7369 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7370 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7371 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7372 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7373 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7374 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7375 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7376 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7377 | di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07, | ||
7378 | di_07, di_F9, di_FA, di_FB, di_FC, di_FD, di_FE, di_FF, | ||
7379 | }; | ||
7380 | // 68832 bytes | ||
7381 | |||
7382 | static const Q_UINT16 ligature_map[] = { | ||
7383 | 0, | ||
7384 | 5567, 0, | ||
7385 | 5552, 0, | ||
7386 | 5572, 0, | ||
7387 | 67, 72, 77, 82, 87, 92, 332, 342, 352, 966, 1196, 1206, 1346, 2365, 3145, 3155, 0, | ||
7388 | 2375, 2385, 2395, 0, | ||
7389 | 97, 362, 372, 382, 392, 0, | ||
7390 | 402, 2415, 2425, 2435, 2445, 2455, 0, | ||
7391 | 102, 107, 112, 117, 412, 422, 432, 442, 452, 1216, 1226, 1356, 2485, 2495, 3265, 3275, 3285, 0, | ||
7392 | 2515, 0, | ||
7393 | 462, 472, 482, 492, 1076, 1146, 2525, 0, | ||
7394 | 502, 1336, 2535, 2545, 2555, 2565, 2575, 0, | ||
7395 | 122, 127, 132, 137, 512, 522, 532, 542, 552, 976, 1236, 1246, 2585, 3345, 3355, 0, | ||
7396 | 567, 0, | ||
7397 | 577, 1086, 2605, 2615, 2625, 0, | ||
7398 | 587, 597, 607, 2635, 2655, 2665, 0, | ||
7399 | 2675, 2685, 2695, 0, | ||
7400 | 142, 627, 637, 647, 1156, 2705, 2715, 2725, 2735, 0, | ||
7401 | 147, 152, 157, 162, 167, 662, 672, 682, 901, 986, 1096, 1256, 1266, 1386, 3365, 3375, 0, | ||
7402 | 2785, 2795, 0, | ||
7403 | 692, 702, 712, 1276, 1286, 2805, 2815, 2835, 0, | ||
7404 | 722, 732, 742, 752, 1316, 2845, 2855, 0, | ||
7405 | 762, 772, 1326, 2895, 2905, 2915, 2925, 0, | ||
7406 | 172, 177, 182, 187, 782, 792, 802, 812, 822, 832, 911, 996, 1296, 1306, 2935, 2945, 2955, 3485, 3495, 0, | ||
7407 | 2985, 2995, 0, | ||
7408 | 842, 3005, 3015, 3025, 3035, 3045, 0, | ||
7409 | 3055, 3065, 0, | ||
7410 | 192, 852, 862, 1406, 3075, 3555, 3565, 3575, 3585, 0, | ||
7411 | 867, 877, 887, 3085, 3095, 3105, 0, | ||
7412 | 197, 202, 207, 212, 217, 222, 337, 347, 357, 971, 1201, 1211, 1351, 2370, 3150, 3160, 0, | ||
7413 | 2380, 2390, 2400, 0, | ||
7414 | 227, 367, 377, 387, 397, 0, | ||
7415 | 407, 2420, 2430, 2440, 2450, 2460, 0, | ||
7416 | 232, 237, 242, 247, 417, 427, 437, 447, 457, 1221, 1231, 1361, 2490, 2500, 3270, 3280, 3290, 0, | ||
7417 | 2520, 0, | ||
7418 | 467, 477, 487, 497, 1081, 1151, 2530, 0, | ||
7419 | 507, 1341, 2540, 2550, 2560, 2570, 2580, 3115, 0, | ||
7420 | 252, 257, 262, 267, 517, 527, 537, 547, 981, 1241, 1251, 2590, 3350, 3360, 0, | ||
7421 | 572, 1126, 0, | ||
7422 | 582, 1091, 2610, 2620, 2630, 0, | ||
7423 | 592, 602, 612, 2640, 2660, 2670, 0, | ||
7424 | 2680, 2690, 2700, 0, | ||
7425 | 272, 632, 642, 652, 1161, 2710, 2720, 2730, 2740, 0, | ||
7426 | 277, 282, 287, 292, 297, 667, 677, 687, 906, 991, 1101, 1261, 1271, 1391, 3370, 3380, 0, | ||
7427 | 2790, 2800, 0, | ||
7428 | 697, 707, 717, 1281, 1291, 2810, 2820, 2840, 0, | ||
7429 | 727, 737, 747, 757, 1321, 2850, 2860, 0, | ||
7430 | 767, 777, 1331, 2900, 2910, 2920, 2930, 3120, 0, | ||
7431 | 302, 307, 312, 317, 787, 797, 807, 817, 827, 837, 916, 1001, 1301, 1311, 2940, 2950, 2960, 3490, 3500, 0, | ||
7432 | 2990, 3000, 0, | ||
7433 | 847, 3010, 3020, 3030, 3040, 3050, 3125, 0, | ||
7434 | 3060, 3070, 0, | ||
7435 | 322, 327, 857, 1411, 3080, 3130, 3560, 3570, 3580, 3590, 0, | ||
7436 | 872, 882, 892, 3090, 3100, 3110, 0, | ||
7437 | 1537, 4476, 4670, 0, | ||
7438 | 3165, 3175, 3185, 3195, 0, | ||
7439 | 1046, 0, | ||
7440 | 1166, 0, | ||
7441 | 1066, 1176, 0, | ||
7442 | 2405, 0, | ||
7443 | 3295, 3305, 3315, 3325, 0, | ||
7444 | 2595, 0, | ||
7445 | 3385, 3395, 3405, 3415, 0, | ||
7446 | 1376, 2745, 2755, 0, | ||
7447 | 1366, 0, | ||
7448 | 1186, 0, | ||
7449 | 1006, 1016, 1026, 1036, 0, | ||
7450 | 3170, 3180, 3190, 3200, 0, | ||
7451 | 1051, 0, | ||
7452 | 1171, 0, | ||
7453 | 1071, 1181, 0, | ||
7454 | 2410, 0, | ||
7455 | 3300, 3310, 3320, 3330, 0, | ||
7456 | 2600, 0, | ||
7457 | 3390, 3400, 3410, 3420, 0, | ||
7458 | 1381, 2750, 2760, 0, | ||
7459 | 1371, 0, | ||
7460 | 1191, 0, | ||
7461 | 1011, 1021, 1031, 1041, 0, | ||
7462 | 3215, 3225, 3235, 3245, 0, | ||
7463 | 3220, 3230, 3240, 3250, 0, | ||
7464 | 2465, 2475, 0, | ||
7465 | 2470, 2480, 0, | ||
7466 | 2765, 2775, 0, | ||
7467 | 2770, 2780, 0, | ||
7468 | 2865, 0, | ||
7469 | 2870, 0, | ||
7470 | 2875, 0, | ||
7471 | 2880, 0, | ||
7472 | 2965, 0, | ||
7473 | 2970, 0, | ||
7474 | 2975, 0, | ||
7475 | 2980, 0, | ||
7476 | 3140, 0, | ||
7477 | 3435, 3445, 3455, 3465, 3475, 0, | ||
7478 | 3440, 3450, 3460, 3470, 3480, 0, | ||
7479 | 3505, 3515, 3525, 3535, 3545, 0, | ||
7480 | 3510, 3520, 3530, 3540, 3550, 0, | ||
7481 | 1116, 0, | ||
7482 | 1106, 0, | ||
7483 | 1111, 0, | ||
7484 | 1056, 0, | ||
7485 | 1061, 0, | ||
7486 | 2505, 0, | ||
7487 | 2510, 0, | ||
7488 | 1396, 0, | ||
7489 | 1401, 0, | ||
7490 | 1121, 0, | ||
7491 | 1514, 0, | ||
7492 | 1542, 3635, 3640, 4433, 4438, 4443, 4452, 0, | ||
7493 | 1551, 3705, 3710, 4506, 0, | ||
7494 | 1556, 3775, 3780, 4515, 4524, 0, | ||
7495 | 1561, 1586, 3855, 3860, 4573, 4578, 4583, 0, | ||
7496 | 1566, 3925, 3930, 4708, 0, | ||
7497 | 4665, 0, | ||
7498 | 1571, 1591, 3995, 4646, 4651, 4656, 0, | ||
7499 | 1576, 4055, 4060, 4717, 4726, 0, | ||
7500 | 4418, 0, | ||
7501 | 4491, 0, | ||
7502 | 1596, 3595, 3600, 4095, 4398, 4403, 4413, 4423, 0, | ||
7503 | 1601, 3675, 3680, 4104, 0, | ||
7504 | 1606, 3735, 3740, 4113, 4486, 4496, 0, | ||
7505 | 1611, 1621, 3815, 3820, 4122, 4544, 4549, 4563, 0, | ||
7506 | 1631, 3895, 3900, 4131, 0, | ||
7507 | 4626, 4631, 0, | ||
7508 | 1626, 1636, 3955, 3960, 4140, 4607, 4612, 4636, 0, | ||
7509 | 1641, 4015, 4020, 4149, 4688, 4698, 0, | ||
7510 | 1581, 4554, 4568, 0, | ||
7511 | 1616, 4617, 4641, 0, | ||
7512 | 4693, 0, | ||
7513 | 1658, 1663, 0, | ||
7514 | 1711, 0, | ||
7515 | 1796, 1806, 0, | ||
7516 | 1706, 0, | ||
7517 | 1696, 1701, 1816, 0, | ||
7518 | 1786, 1836, 0, | ||
7519 | 1846, 0, | ||
7520 | 1721, 1731, 1856, 1866, 0, | ||
7521 | 1716, 0, | ||
7522 | 1876, 0, | ||
7523 | 1726, 1906, 1916, 1926, 0, | ||
7524 | 1936, 0, | ||
7525 | 1946, 0, | ||
7526 | 1896, 0, | ||
7527 | 1801, 1811, 0, | ||
7528 | 1751, 0, | ||
7529 | 1741, 1746, 1821, 0, | ||
7530 | 1791, 1841, 0, | ||
7531 | 1851, 0, | ||
7532 | 1736, 1766, 1861, 1871, 0, | ||
7533 | 1761, 0, | ||
7534 | 1881, 0, | ||
7535 | 1771, 1911, 1921, 1931, 0, | ||
7536 | 1941, 0, | ||
7537 | 1951, 0, | ||
7538 | 1901, 0, | ||
7539 | 1756, 0, | ||
7540 | 1776, 0, | ||
7541 | 1781, 0, | ||
7542 | 1826, 0, | ||
7543 | 1831, 0, | ||
7544 | 1886, 0, | ||
7545 | 1891, 0, | ||
7546 | 12167, 12172, 12177, 0, | ||
7547 | 12182, 12292, 0, | ||
7548 | 12187, 0, | ||
7549 | 12192, 0, | ||
7550 | 12197, 0, | ||
7551 | 12202, 12287, 0, | ||
7552 | 12207, 0, | ||
7553 | 12212, 0, | ||
7554 | 12097, 12217, 0, | ||
7555 | 12222, 0, | ||
7556 | 12227, 12297, 0, | ||
7557 | 12232, 0, | ||
7558 | 12237, 0, | ||
7559 | 12242, 0, | ||
7560 | 12247, 0, | ||
7561 | 12252, 0, | ||
7562 | 12257, 12302, 0, | ||
7563 | 12262, 0, | ||
7564 | 12267, 0, | ||
7565 | 12272, 0, | ||
7566 | 12147, 12152, 12277, 0, | ||
7567 | 12282, 0, | ||
7568 | 12102, 0, | ||
7569 | 1961, 1966, 1976, 0, | ||
7570 | 1971, 0, | ||
7571 | 1981, 0, | ||
7572 | 2011, 0, | ||
7573 | 2016, 0, | ||
7574 | 2006, 0, | ||
7575 | 2036, 0, | ||
7576 | 2041, 0, | ||
7577 | 2046, 0, | ||
7578 | 2051, 0, | ||
7579 | 2056, 0, | ||
7580 | 2061, 0, | ||
7581 | 2021, 0, | ||
7582 | 2066, 0, | ||
7583 | 2071, 0, | ||
7584 | 2026, 0, | ||
7585 | 2031, 0, | ||
7586 | 2086, 0, | ||
7587 | 2091, 0, | ||
7588 | 2096, 0, | ||
7589 | 2076, 2081, 0, | ||
7590 | 2111, 0, | ||
7591 | 2116, 0, | ||
7592 | 2121, 0, | ||
7593 | 2126, 0, | ||
7594 | 2101, 0, | ||
7595 | 2106, 0, | ||
7596 | 2146, 0, | ||
7597 | 2151, 0, | ||
7598 | 2131, 2136, 2141, 0, | ||
7599 | 2156, 0, | ||
7600 | 2161, 2171, 0, | ||
7601 | 2166, 0, | ||
7602 | 2176, 0, | ||
7603 | 2181, 0, | ||
7604 | 2186, 2191, 2196, 0, | ||
7605 | 2201, 0, | ||
7606 | 2206, 2216, 0, | ||
7607 | 2211, 0, | ||
7608 | 2221, 2226, 2236, 0, | ||
7609 | 2231, 0, | ||
7610 | 2290, 0, | ||
7611 | 2265, 0, | ||
7612 | 2270, 0, | ||
7613 | 2275, 0, | ||
7614 | 2280, 0, | ||
7615 | 2285, 0, | ||
7616 | 2295, 2300, 2325, 0, | ||
7617 | 2355, 0, | ||
7618 | 2330, 0, | ||
7619 | 2335, 0, | ||
7620 | 2340, 0, | ||
7621 | 2345, 0, | ||
7622 | 2350, 0, | ||
7623 | 2305, 0, | ||
7624 | 2315, 0, | ||
7625 | 2360, 0, | ||
7626 | 2645, 0, | ||
7627 | 2650, 0, | ||
7628 | 2825, 0, | ||
7629 | 2830, 0, | ||
7630 | 2885, 0, | ||
7631 | 2890, 0, | ||
7632 | 3205, 3255, 0, | ||
7633 | 3210, 3260, 0, | ||
7634 | 3335, 0, | ||
7635 | 3340, 0, | ||
7636 | 3425, 0, | ||
7637 | 3430, 0, | ||
7638 | 3605, 3615, 3625, 4158, 0, | ||
7639 | 3610, 3620, 3630, 4163, 0, | ||
7640 | 4168, 0, | ||
7641 | 4173, 0, | ||
7642 | 4178, 0, | ||
7643 | 4183, 0, | ||
7644 | 4188, 0, | ||
7645 | 4193, 0, | ||
7646 | 3645, 3655, 3665, 4198, 0, | ||
7647 | 3650, 3660, 3670, 4203, 0, | ||
7648 | 4208, 0, | ||
7649 | 4213, 0, | ||
7650 | 4218, 0, | ||
7651 | 4223, 0, | ||
7652 | 4228, 0, | ||
7653 | 4233, 0, | ||
7654 | 3685, 3695, 0, | ||
7655 | 3690, 3700, 0, | ||
7656 | 3715, 3725, 0, | ||
7657 | 3720, 3730, 0, | ||
7658 | 3745, 3755, 3765, 4238, 0, | ||
7659 | 3750, 3760, 3770, 4243, 0, | ||
7660 | 4248, 0, | ||
7661 | 4253, 0, | ||
7662 | 4258, 0, | ||
7663 | 4263, 0, | ||
7664 | 4268, 0, | ||
7665 | 4273, 0, | ||
7666 | 3785, 3795, 3805, 4278, 0, | ||
7667 | 3790, 3800, 3810, 4283, 0, | ||
7668 | 4288, 0, | ||
7669 | 4293, 0, | ||
7670 | 4298, 0, | ||
7671 | 4303, 0, | ||
7672 | 4308, 0, | ||
7673 | 4313, 0, | ||
7674 | 3825, 3835, 3845, 0, | ||
7675 | 3830, 3840, 3850, 0, | ||
7676 | 3865, 3875, 3885, 0, | ||
7677 | 3870, 3880, 3890, 0, | ||
7678 | 3905, 3915, 0, | ||
7679 | 3910, 3920, 0, | ||
7680 | 3935, 3945, 0, | ||
7681 | 3940, 3950, 0, | ||
7682 | 3965, 3975, 3985, 0, | ||
7683 | 3970, 3980, 3990, 0, | ||
7684 | 4000, 4005, 4010, 0, | ||
7685 | 4025, 4035, 4045, 4318, 0, | ||
7686 | 4030, 4040, 4050, 4323, 0, | ||
7687 | 4328, 0, | ||
7688 | 4333, 0, | ||
7689 | 4338, 0, | ||
7690 | 4343, 0, | ||
7691 | 4348, 0, | ||
7692 | 4353, 0, | ||
7693 | 4065, 4075, 4085, 4358, 0, | ||
7694 | 4070, 4080, 4090, 4363, 0, | ||
7695 | 4368, 0, | ||
7696 | 4373, 0, | ||
7697 | 4378, 0, | ||
7698 | 4383, 0, | ||
7699 | 4388, 0, | ||
7700 | 4393, 0, | ||
7701 | 4408, 0, | ||
7702 | 4481, 0, | ||
7703 | 4683, 0, | ||
7704 | 4428, 0, | ||
7705 | 4529, 4534, 4539, 0, | ||
7706 | 4501, 0, | ||
7707 | 4703, 0, | ||
7708 | 4592, 4597, 4602, 0, | ||
7709 | 5455, 0, | ||
7710 | 5460, 0, | ||
7711 | 5465, 0, | ||
7712 | 5470, 0, | ||
7713 | 5480, 0, | ||
7714 | 5475, 0, | ||
7715 | 5485, 0, | ||
7716 | 5490, 0, | ||
7717 | 5495, 0, | ||
7718 | 5500, 0, | ||
7719 | 5505, 0, | ||
7720 | 5532, 0, | ||
7721 | 5537, 0, | ||
7722 | 5542, 0, | ||
7723 | 5547, 0, | ||
7724 | 5562, 0, | ||
7725 | 5557, 0, | ||
7726 | 5577, 0, | ||
7727 | 5582, 0, | ||
7728 | 5587, 0, | ||
7729 | 5592, 0, | ||
7730 | 5597, 0, | ||
7731 | 5602, 0, | ||
7732 | 5607, 0, | ||
7733 | 5612, 0, | ||
7734 | 5657, 0, | ||
7735 | 5662, 0, | ||
7736 | 5617, 0, | ||
7737 | 5622, 0, | ||
7738 | 5627, 0, | ||
7739 | 5632, 0, | ||
7740 | 5667, 0, | ||
7741 | 5672, 0, | ||
7742 | 5637, 0, | ||
7743 | 5642, 0, | ||
7744 | 5647, 0, | ||
7745 | 5652, 0, | ||
7746 | 5677, 0, | ||
7747 | 5682, 0, | ||
7748 | 5687, 0, | ||
7749 | 5692, 0, | ||
7750 | 6430, 0, | ||
7751 | 7444, 0, | ||
7752 | 7319, 0, | ||
7753 | 7324, 0, | ||
7754 | 7329, 0, | ||
7755 | 7334, 0, | ||
7756 | 7339, 0, | ||
7757 | 7344, 0, | ||
7758 | 7349, 0, | ||
7759 | 7354, 0, | ||
7760 | 7359, 0, | ||
7761 | 7364, 0, | ||
7762 | 7369, 0, | ||
7763 | 7374, 0, | ||
7764 | 7379, 0, | ||
7765 | 7384, 0, | ||
7766 | 7389, 0, | ||
7767 | 7394, 7399, 0, | ||
7768 | 7404, 7409, 0, | ||
7769 | 7414, 7419, 0, | ||
7770 | 7424, 7429, 0, | ||
7771 | 7434, 7439, 0, | ||
7772 | 7459, 0, | ||
7773 | 7594, 0, | ||
7774 | 7469, 0, | ||
7775 | 7474, 0, | ||
7776 | 7479, 0, | ||
7777 | 7484, 0, | ||
7778 | 7489, 0, | ||
7779 | 7494, 0, | ||
7780 | 7499, 0, | ||
7781 | 7504, 0, | ||
7782 | 7509, 0, | ||
7783 | 7514, 0, | ||
7784 | 7519, 0, | ||
7785 | 7524, 0, | ||
7786 | 7529, 0, | ||
7787 | 7534, 0, | ||
7788 | 7539, 0, | ||
7789 | 7544, 7549, 0, | ||
7790 | 7554, 7559, 0, | ||
7791 | 7564, 7569, 0, | ||
7792 | 7574, 7579, 0, | ||
7793 | 7584, 7589, 0, | ||
7794 | 7599, 0, | ||
7795 | 7604, 0, | ||
7796 | 7609, 0, | ||
7797 | 7614, 0, | ||
7798 | 7619, 0, | ||
7799 | 12157, 12162, 0, | ||
7800 | |||
7801 | }; | ||
7802 | |||
7803 | static const Q_UINT16 li_00[] = { | ||
7804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7811 | 0, 0, 0, 0, 1, 3, 5, 0, | ||
7812 | 0, 7, 24, 28, 34, 41, 59, 61, | ||
7813 | 69, 77, 93, 95, 101, 108, 112, 122, | ||
7814 | 139, 0, 142, 151, 159, 167, 187, 190, | ||
7815 | 197, 200, 210, 0, 0, 0, 0, 0, | ||
7816 | 0, 217, 234, 238, 244, 251, 269, 271, | ||
7817 | 279, 288, 303, 306, 312, 319, 323, 333, | ||
7818 | 350, 0, 353, 362, 370, 379, 399, 402, | ||
7819 | 410, 413, 424, 0, 0, 0, 0, 0, | ||
7820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7821 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7823 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7824 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7825 | 431, 0, 0, 0, 0, 0, 0, 0, | ||
7826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7828 | 0, 0, 435, 0, 440, 442, 444, 447, | ||
7829 | 0, 0, 449, 0, 0, 0, 0, 454, | ||
7830 | 0, 0, 0, 0, 456, 461, 465, 0, | ||
7831 | 467, 0, 0, 0, 469, 0, 0, 0, | ||
7832 | 0, 0, 474, 0, 479, 481, 483, 486, | ||
7833 | 0, 0, 488, 0, 0, 0, 0, 493, | ||
7834 | 0, 0, 0, 0, 495, 500, 504, 0, | ||
7835 | 506, 0, 0, 0, 508, 0, 0, 0, | ||
7836 | }; | ||
7837 | |||
7838 | static const Q_UINT16 li_01[] = { | ||
7839 | 0, 0, 513, 518, 0, 0, 0, 0, | ||
7840 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7841 | 0, 0, 523, 526, 0, 0, 0, 0, | ||
7842 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7843 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7844 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7845 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7846 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7847 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7848 | 0, 0, 0, 0, 529, 532, 0, 0, | ||
7849 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7850 | 0, 0, 535, 537, 0, 0, 0, 0, | ||
7851 | 539, 541, 0, 0, 0, 0, 0, 0, | ||
7852 | 543, 545, 547, 549, 0, 0, 0, 0, | ||
7853 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7854 | 0, 0, 0, 0, 0, 0, 0, 551, | ||
7855 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7856 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7857 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7858 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7859 | 553, 559, 0, 0, 0, 0, 0, 0, | ||
7860 | 0, 0, 0, 0, 0, 0, 0, 565, | ||
7861 | 571, 0, 0, 0, 0, 0, 0, 577, | ||
7862 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7863 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7864 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7866 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7868 | 0, 0, 579, 581, 0, 0, 0, 0, | ||
7869 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7871 | }; | ||
7872 | |||
7873 | static const Q_UINT16 li_02[] = { | ||
7874 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7875 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7876 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7877 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7878 | 0, 0, 0, 0, 0, 0, 583, 585, | ||
7879 | 587, 589, 0, 0, 0, 0, 591, 593, | ||
7880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7885 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7892 | 0, 0, 595, 0, 0, 0, 0, 0, | ||
7893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7902 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7906 | }; | ||
7907 | |||
7908 | static const Q_UINT16 li_03[] = { | ||
7909 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7910 | 597, 0, 0, 0, 0, 0, 0, 0, | ||
7911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7914 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7915 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7916 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7917 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7918 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7919 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7920 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7921 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7922 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7923 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7924 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7925 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7926 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7927 | 0, 599, 0, 0, 0, 607, 0, 612, | ||
7928 | 0, 618, 0, 0, 0, 0, 0, 626, | ||
7929 | 0, 631, 0, 0, 0, 633, 0, 0, | ||
7930 | 0, 640, 0, 0, 646, 0, 648, 0, | ||
7931 | 0, 650, 0, 0, 0, 659, 0, 664, | ||
7932 | 0, 671, 0, 0, 0, 0, 0, 680, | ||
7933 | 0, 685, 0, 0, 0, 688, 0, 0, | ||
7934 | 0, 697, 704, 708, 0, 0, 712, 0, | ||
7935 | 0, 0, 714, 0, 0, 0, 0, 0, | ||
7936 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7937 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7938 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7939 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7940 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7941 | }; | ||
7942 | |||
7943 | static const Q_UINT16 li_04[] = { | ||
7944 | 0, 0, 0, 0, 0, 0, 717, 0, | ||
7945 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7946 | 719, 0, 0, 722, 0, 724, 728, 731, | ||
7947 | 733, 0, 738, 0, 0, 0, 740, 0, | ||
7948 | 0, 0, 0, 742, 0, 0, 0, 747, | ||
7949 | 0, 0, 0, 749, 0, 751, 0, 0, | ||
7950 | 753, 0, 0, 756, 0, 758, 762, 765, | ||
7951 | 767, 0, 772, 0, 0, 0, 774, 0, | ||
7952 | 0, 0, 0, 776, 0, 0, 0, 781, | ||
7953 | 0, 0, 0, 783, 0, 785, 0, 0, | ||
7954 | 0, 0, 0, 0, 0, 0, 787, 0, | ||
7955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7957 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7958 | 0, 0, 0, 0, 789, 791, 0, 0, | ||
7959 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7960 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7961 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7962 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7963 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7964 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7965 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7966 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7967 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7968 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7969 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7970 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7971 | 793, 795, 0, 0, 0, 0, 0, 0, | ||
7972 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7973 | 797, 799, 0, 0, 0, 0, 0, 0, | ||
7974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7975 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7976 | }; | ||
7977 | |||
7978 | static const Q_UINT16 li_05[] = { | ||
7979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7980 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7981 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7982 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7983 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7984 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7985 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7986 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7987 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7989 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7992 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7993 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7995 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7996 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7997 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7998 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
7999 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8000 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8001 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8002 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8003 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8004 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8005 | 801, 805, 808, 810, 812, 814, 817, 0, | ||
8006 | 819, 821, 824, 826, 829, 0, 831, 0, | ||
8007 | 833, 835, 0, 837, 839, 0, 842, 844, | ||
8008 | 846, 848, 852, 0, 0, 0, 0, 0, | ||
8009 | 0, 0, 854, 0, 0, 0, 0, 0, | ||
8010 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8011 | }; | ||
8012 | |||
8013 | static const Q_UINT16 li_06[] = { | ||
8014 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8015 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8016 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8017 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8018 | 0, 0, 0, 0, 0, 0, 0, 856, | ||
8019 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8020 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8021 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8022 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8023 | 860, 0, 862, 0, 0, 0, 0, 0, | ||
8024 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8025 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8027 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8028 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8029 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8030 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8031 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8032 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8033 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8034 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8035 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8036 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8037 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8038 | 0, 864, 0, 0, 0, 0, 0, 0, | ||
8039 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8040 | 0, 0, 866, 0, 0, 868, 0, 0, | ||
8041 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8044 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8046 | }; | ||
8047 | |||
8048 | static const Q_UINT16 li_07[] = { | ||
8049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8051 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8067 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8069 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8071 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8072 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8074 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8079 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8081 | }; | ||
8082 | |||
8083 | static const Q_UINT16 li_09[] = { | ||
8084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8086 | 0, 0, 0, 0, 0, 870, 872, 874, | ||
8087 | 0, 0, 0, 0, 876, 0, 0, 0, | ||
8088 | 0, 878, 880, 0, 0, 0, 0, 0, | ||
8089 | 882, 0, 0, 884, 0, 0, 0, 886, | ||
8090 | 888, 0, 0, 890, 0, 0, 0, 0, | ||
8091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8104 | 0, 892, 894, 0, 0, 0, 0, 0, | ||
8105 | 0, 0, 0, 0, 0, 0, 0, 896, | ||
8106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8108 | 0, 0, 0, 0, 0, 0, 0, 898, | ||
8109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8112 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8114 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8115 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8116 | }; | ||
8117 | |||
8118 | static const Q_UINT16 li_0A[] = { | ||
8119 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8120 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8121 | 0, 0, 0, 0, 0, 0, 901, 903, | ||
8122 | 0, 0, 0, 0, 905, 0, 0, 0, | ||
8123 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8124 | 0, 0, 0, 907, 0, 0, 0, 0, | ||
8125 | 0, 0, 909, 0, 0, 0, 0, 0, | ||
8126 | 911, 0, 0, 0, 0, 0, 0, 0, | ||
8127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8135 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8140 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8144 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8145 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8146 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8149 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8150 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8151 | }; | ||
8152 | |||
8153 | static const Q_UINT16 li_0B[] = { | ||
8154 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8158 | 0, 913, 915, 0, 0, 0, 0, 0, | ||
8159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8162 | 0, 0, 0, 0, 0, 0, 0, 917, | ||
8163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8168 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8169 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8170 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8171 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8172 | 0, 0, 921, 0, 0, 0, 0, 0, | ||
8173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8174 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8175 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8178 | 0, 0, 0, 0, 0, 0, 923, 926, | ||
8179 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8183 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8186 | }; | ||
8187 | |||
8188 | static const Q_UINT16 li_0C[] = { | ||
8189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8197 | 0, 0, 0, 0, 0, 0, 928, 0, | ||
8198 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8199 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8200 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8201 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8202 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8203 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8204 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8209 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8211 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8212 | 0, 0, 0, 0, 0, 0, 0, 930, | ||
8213 | 0, 0, 0, 0, 0, 0, 932, 0, | ||
8214 | 0, 0, 936, 0, 0, 0, 0, 0, | ||
8215 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8216 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8218 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8219 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8220 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8221 | }; | ||
8222 | |||
8223 | static const Q_UINT16 li_0D[] = { | ||
8224 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8225 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8226 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8227 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8228 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8229 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8230 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8231 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8232 | 0, 0, 0, 0, 0, 0, 938, 941, | ||
8233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8234 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8235 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8237 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8238 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8239 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8240 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8241 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8242 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8243 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8244 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8245 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8246 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8249 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8251 | 0, 943, 0, 0, 947, 0, 0, 0, | ||
8252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8256 | }; | ||
8257 | |||
8258 | static const Q_UINT16 li_0F[] = { | ||
8259 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8267 | 949, 0, 951, 0, 0, 0, 0, 0, | ||
8268 | 0, 0, 0, 0, 953, 0, 0, 0, | ||
8269 | 0, 955, 0, 0, 0, 0, 957, 0, | ||
8270 | 0, 0, 0, 959, 0, 0, 0, 0, | ||
8271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8272 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8273 | 0, 961, 0, 0, 0, 0, 0, 0, | ||
8274 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8275 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8276 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8277 | 965, 0, 967, 0, 0, 0, 0, 0, | ||
8278 | 0, 0, 0, 0, 969, 0, 0, 0, | ||
8279 | 0, 971, 0, 0, 0, 0, 973, 0, | ||
8280 | 0, 0, 0, 975, 0, 0, 0, 0, | ||
8281 | 0, 0, 977, 979, 0, 0, 0, 0, | ||
8282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8286 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8288 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8291 | }; | ||
8292 | |||
8293 | static const Q_UINT16 li_10[] = { | ||
8294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8296 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8298 | 0, 0, 0, 0, 0, 981, 0, 0, | ||
8299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8300 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8302 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8303 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8304 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8306 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8307 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8310 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8311 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8312 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8313 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8314 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8315 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8316 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8318 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8319 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8320 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8321 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8322 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8323 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8324 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8325 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8326 | }; | ||
8327 | |||
8328 | static const Q_UINT16 li_1E[] = { | ||
8329 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8330 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8331 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8332 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8333 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8335 | 0, 0, 0, 0, 0, 0, 983, 985, | ||
8336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8338 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8339 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8340 | 0, 0, 987, 989, 0, 0, 0, 0, | ||
8341 | 0, 0, 991, 993, 0, 0, 0, 0, | ||
8342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8343 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8345 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8348 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8349 | 995, 998, 0, 0, 0, 0, 0, 0, | ||
8350 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8351 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8352 | 1001, 1003, 0, 0, 0, 0, 0, 0, | ||
8353 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8354 | 0, 0, 0, 0, 1005, 1007, 0, 0, | ||
8355 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8356 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8361 | }; | ||
8362 | |||
8363 | static const Q_UINT16 li_1F[] = { | ||
8364 | 1009, 1014, 1019, 1021, 1023, 1025, 1027, 1029, | ||
8365 | 1031, 1036, 1041, 1043, 1045, 1047, 1049, 1051, | ||
8366 | 1053, 1056, 0, 0, 0, 0, 0, 0, | ||
8367 | 1059, 1062, 0, 0, 0, 0, 0, 0, | ||
8368 | 1065, 1070, 1075, 1077, 1079, 1081, 1083, 1085, | ||
8369 | 1087, 1092, 1097, 1099, 1101, 1103, 1105, 1107, | ||
8370 | 1109, 1113, 0, 0, 0, 0, 0, 0, | ||
8371 | 1117, 1121, 0, 0, 0, 0, 0, 0, | ||
8372 | 1125, 1128, 0, 0, 0, 0, 0, 0, | ||
8373 | 1131, 1134, 0, 0, 0, 0, 0, 0, | ||
8374 | 1137, 1141, 0, 0, 0, 0, 0, 0, | ||
8375 | 0, 1145, 0, 0, 0, 0, 0, 0, | ||
8376 | 1149, 1154, 1159, 1161, 1163, 1165, 1167, 1169, | ||
8377 | 1171, 1176, 1181, 1183, 1185, 1187, 1189, 1191, | ||
8378 | 1193, 0, 0, 0, 1195, 0, 0, 0, | ||
8379 | 0, 0, 0, 0, 1197, 0, 0, 0, | ||
8380 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8381 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8383 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8384 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8385 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8386 | 0, 0, 0, 0, 0, 0, 1199, 0, | ||
8387 | 0, 0, 0, 0, 0, 0, 0, 1201, | ||
8388 | 0, 0, 0, 0, 0, 0, 1205, 0, | ||
8389 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8391 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8392 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8393 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8394 | 0, 0, 0, 0, 0, 0, 1207, 0, | ||
8395 | 0, 0, 0, 0, 0, 0, 1209, 0, | ||
8396 | }; | ||
8397 | |||
8398 | static const Q_UINT16 li_21[] = { | ||
8399 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8400 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8401 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8402 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8403 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8404 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8405 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8406 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8407 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8408 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8409 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8410 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8411 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8412 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8413 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8414 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8415 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8416 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8417 | 1213, 0, 1215, 0, 1217, 0, 0, 0, | ||
8418 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8419 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8420 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8421 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8424 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8425 | 1219, 0, 1221, 0, 1223, 0, 0, 0, | ||
8426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8427 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8428 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8429 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8430 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8431 | }; | ||
8432 | |||
8433 | static const Q_UINT16 li_22[] = { | ||
8434 | 0, 0, 0, 1225, 0, 0, 0, 0, | ||
8435 | 1227, 0, 0, 1229, 0, 0, 0, 0, | ||
8436 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8438 | 0, 0, 0, 1231, 0, 1233, 0, 0, | ||
8439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8440 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8441 | 0, 0, 0, 0, 1235, 0, 0, 0, | ||
8442 | 0, 0, 0, 1237, 0, 1239, 0, 0, | ||
8443 | 1241, 0, 0, 0, 0, 1243, 0, 0, | ||
8444 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8445 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8446 | 0, 1245, 0, 0, 1247, 1249, 0, 0, | ||
8447 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8448 | 0, 0, 1251, 1253, 0, 0, 1255, 1257, | ||
8449 | 0, 0, 1259, 1261, 1263, 1265, 0, 0, | ||
8450 | 0, 0, 1267, 1269, 0, 0, 1271, 1273, | ||
8451 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8452 | 0, 1275, 1277, 0, 0, 0, 0, 0, | ||
8453 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8454 | 0, 0, 1279, 0, 0, 0, 0, 0, | ||
8455 | 1281, 1283, 0, 1285, 0, 0, 0, 0, | ||
8456 | 0, 0, 1287, 1289, 1291, 1293, 0, 0, | ||
8457 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8458 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8459 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8460 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8461 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8462 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8463 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8464 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8465 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8466 | }; | ||
8467 | |||
8468 | static const Q_UINT16 li_2A[] = { | ||
8469 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8470 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8471 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8472 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8473 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8479 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8480 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8481 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8482 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8483 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8484 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8485 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8486 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8487 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8488 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8489 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8490 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8491 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8492 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8493 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8495 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8496 | 0, 0, 0, 0, 0, 1295, 0, 0, | ||
8497 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8498 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8499 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8500 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8501 | }; | ||
8502 | |||
8503 | static const Q_UINT16 li_30[] = { | ||
8504 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8505 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8506 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8507 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8508 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8509 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8510 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8511 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8512 | 0, 0, 0, 0, 0, 0, 1297, 0, | ||
8513 | 0, 0, 0, 1299, 0, 1301, 0, 1303, | ||
8514 | 0, 1305, 0, 1307, 0, 1309, 0, 1311, | ||
8515 | 0, 1313, 0, 1315, 0, 1317, 0, 1319, | ||
8516 | 0, 1321, 0, 0, 1323, 0, 1325, 0, | ||
8517 | 1327, 0, 0, 0, 0, 0, 0, 1329, | ||
8518 | 0, 0, 1332, 0, 0, 1335, 0, 0, | ||
8519 | 1338, 0, 0, 1341, 0, 0, 0, 0, | ||
8520 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8522 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8523 | 0, 0, 0, 0, 0, 1344, 0, 0, | ||
8524 | 0, 0, 0, 0, 0, 0, 1346, 0, | ||
8525 | 0, 0, 0, 1348, 0, 1350, 0, 1352, | ||
8526 | 0, 1354, 0, 1356, 0, 1358, 0, 1360, | ||
8527 | 0, 1362, 0, 1364, 0, 1366, 0, 1368, | ||
8528 | 0, 1370, 0, 0, 1372, 0, 1374, 0, | ||
8529 | 1376, 0, 0, 0, 0, 0, 0, 1378, | ||
8530 | 0, 0, 1381, 0, 0, 1384, 0, 0, | ||
8531 | 1387, 0, 0, 1390, 0, 0, 0, 0, | ||
8532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8533 | 0, 0, 0, 0, 0, 0, 0, 1393, | ||
8534 | 1395, 1397, 1399, 0, 0, 0, 0, 0, | ||
8535 | 0, 0, 0, 0, 0, 1401, 0, 0, | ||
8536 | }; | ||
8537 | |||
8538 | static const Q_UINT16 li_FB[] = { | ||
8539 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8540 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8541 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8542 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8543 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8546 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8548 | 0, 1403, 0, 0, 0, 0, 0, 0, | ||
8549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8550 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8551 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8552 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8553 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8555 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8556 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8557 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8558 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8559 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8560 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8561 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8562 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8563 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8564 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8565 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8566 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8567 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8568 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8569 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8570 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8571 | }; | ||
8572 | |||
8573 | static const Q_UINT16 * const ligature_info[256] = { | ||
8574 | li_00, li_01, li_02, li_03, li_04, li_05, li_06, li_07, | ||
8575 | li_07, li_09, li_0A, li_0B, li_0C, li_0D, li_07, li_0F, | ||
8576 | li_10, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8577 | li_07, li_07, li_07, li_07, li_07, li_07, li_1E, li_1F, | ||
8578 | li_07, li_21, li_22, li_07, li_07, li_07, li_07, li_07, | ||
8579 | li_07, li_07, li_2A, li_07, li_07, li_07, li_07, li_07, | ||
8580 | li_30, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8581 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8582 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8583 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8584 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8585 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8586 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8587 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8588 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8589 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8590 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8591 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8592 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8593 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8594 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8595 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8596 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8597 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8598 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8599 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8600 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8601 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8602 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8603 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8604 | li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07, | ||
8605 | li_07, li_07, li_07, li_FB, li_07, li_07, li_07, li_07, | ||
8606 | }; | ||
8607 | // 15098 bytes | ||
8608 | |||
8609 | static const Q_UINT8 dir_00[] = { | ||
8610 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8611 | 18, 8, 7, 8, 9, 7, 18, 18, | ||
8612 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8613 | 18, 18, 18, 18, 7, 7, 7, 8, | ||
8614 | 9, 10, 10, 4, 4, 4, 10, 10, | ||
8615 | 138, 138, 10, 4, 6, 4, 6, 3, | ||
8616 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8617 | 2, 2, 6, 10, 138, 10, 138, 10, | ||
8618 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
8619 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8620 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8621 | 0, 0, 0, 138, 10, 138, 10, 10, | ||
8622 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
8623 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8624 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8625 | 0, 0, 0, 138, 10, 138, 10, 18, | ||
8626 | 18, 18, 18, 18, 18, 7, 18, 18, | ||
8627 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8628 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8629 | 18, 18, 18, 18, 18, 18, 18, 18, | ||
8630 | 6, 10, 4, 4, 4, 4, 10, 10, | ||
8631 | 10, 10, 0, 138, 10, 10, 10, 10, | ||
8632 | 4, 4, 2, 2, 10, 0, 10, 10, | ||
8633 | 10, 2, 0, 138, 10, 10, 10, 10, | ||
8634 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8635 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8636 | 0, 0, 0, 0, 0, 0, 0, 10, | ||
8637 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8638 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8639 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8640 | 0, 0, 0, 0, 0, 0, 0, 10, | ||
8641 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8642 | }; | ||
8643 | |||
8644 | static const Q_UINT8 dir_01[] = { | ||
8645 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8646 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8647 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8648 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8649 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8650 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8651 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8652 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8653 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8654 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8655 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8656 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8657 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8658 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8659 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8660 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8661 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8662 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8663 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8664 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8665 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8666 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8667 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8668 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8669 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8670 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8671 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8672 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8673 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8674 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8675 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8676 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8677 | }; | ||
8678 | |||
8679 | static const Q_UINT8 dir_02[] = { | ||
8680 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8681 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8682 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8683 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8684 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8685 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8686 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8687 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8688 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8689 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8690 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8691 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8692 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8693 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8694 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8695 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8696 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8697 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8698 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8699 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8700 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8701 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8702 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8703 | 0, 10, 10, 0, 0, 0, 0, 0, | ||
8704 | 0, 0, 10, 10, 10, 10, 10, 10, | ||
8705 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
8706 | 0, 0, 10, 10, 10, 10, 10, 10, | ||
8707 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
8708 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
8709 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
8710 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8711 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8712 | }; | ||
8713 | |||
8714 | static const Q_UINT8 dir_03[] = { | ||
8715 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8716 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8717 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8718 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8719 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8720 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8721 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8722 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8723 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8724 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8725 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8726 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8727 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8728 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8729 | 0, 0, 0, 0, 10, 10, 0, 0, | ||
8730 | 0, 0, 0, 0, 0, 0, 10, 0, | ||
8731 | 0, 0, 0, 0, 10, 10, 0, 10, | ||
8732 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8735 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8741 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8742 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8743 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8744 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8745 | 0, 0, 0, 0, 0, 0, 10, 0, | ||
8746 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8747 | }; | ||
8748 | |||
8749 | static const Q_UINT8 dir_04[] = { | ||
8750 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8751 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8752 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8753 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8754 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8755 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8756 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8757 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8758 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8759 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8760 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8761 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8762 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8763 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8764 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8765 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8766 | 0, 0, 0, 17, 17, 17, 17, 0, | ||
8767 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
8768 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8769 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8770 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8771 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8772 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8773 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8775 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8776 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8777 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8778 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8779 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8780 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8781 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8782 | }; | ||
8783 | |||
8784 | static const Q_UINT8 dir_05[] = { | ||
8785 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8786 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8787 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8788 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8790 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8791 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8792 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8797 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8801 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8802 | 0, 0, 10, 0, 0, 0, 0, 0, | ||
8803 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
8804 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8805 | 17, 17, 0, 17, 17, 17, 17, 17, | ||
8806 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8807 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8808 | 17, 17, 0, 17, 17, 17, 1, 17, | ||
8809 | 1, 17, 17, 1, 17, 0, 0, 0, | ||
8810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8811 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
8812 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
8813 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
8814 | 1, 1, 1, 0, 0, 0, 0, 0, | ||
8815 | 1, 1, 1, 1, 1, 0, 0, 0, | ||
8816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8817 | }; | ||
8818 | |||
8819 | static const Q_UINT8 dir_06[] = { | ||
8820 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8821 | 0, 0, 0, 0, 6, 0, 0, 0, | ||
8822 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8823 | 0, 0, 0, 13, 0, 0, 0, 13, | ||
8824 | 0, 13, 77, 77, 77, 77, 45, 77, | ||
8825 | 45, 77, 45, 45, 45, 45, 45, 77, | ||
8826 | 77, 77, 77, 45, 45, 45, 45, 45, | ||
8827 | 45, 45, 45, 0, 0, 0, 0, 0, | ||
8828 | 109, 45, 45, 45, 45, 45, 45, 45, | ||
8829 | 77, 45, 45, 17, 17, 17, 17, 17, | ||
8830 | 17, 17, 17, 17, 17, 17, 0, 0, | ||
8831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8832 | 5, 5, 5, 5, 5, 5, 5, 5, | ||
8833 | 5, 5, 4, 5, 5, 13, 45, 45, | ||
8834 | 17, 77, 77, 77, 13, 77, 77, 77, | ||
8835 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8836 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8837 | 77, 77, 77, 77, 77, 77, 77, 77, | ||
8838 | 77, 77, 77, 77, 77, 77, 77, 77, | ||
8839 | 77, 77, 45, 45, 45, 45, 45, 45, | ||
8840 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8841 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8842 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8843 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8844 | 77, 45, 77, 77, 77, 77, 77, 77, | ||
8845 | 77, 77, 77, 77, 45, 77, 45, 77, | ||
8846 | 45, 45, 77, 77, 13, 77, 17, 17, | ||
8847 | 17, 17, 17, 17, 17, 13, 17, 17, | ||
8848 | 17, 17, 17, 17, 17, 13, 13, 17, | ||
8849 | 17, 10, 17, 17, 17, 17, 0, 0, | ||
8850 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
8851 | 2, 2, 45, 45, 45, 13, 13, 0, | ||
8852 | }; | ||
8853 | |||
8854 | static const Q_UINT8 dir_07[] = { | ||
8855 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8856 | 13, 13, 13, 13, 13, 13, 0, 18, | ||
8857 | 77, 17, 45, 45, 45, 77, 77, 77, | ||
8858 | 77, 77, 45, 45, 45, 45, 77, 45, | ||
8859 | 45, 45, 45, 45, 45, 45, 45, 45, | ||
8860 | 77, 45, 77, 45, 77, 0, 0, 0, | ||
8861 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8862 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8863 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8864 | 17, 17, 17, 0, 0, 0, 0, 0, | ||
8865 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8866 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8868 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8869 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8870 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8871 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8872 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8873 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8874 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
8875 | 13, 13, 13, 13, 13, 13, 17, 17, | ||
8876 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
8877 | 17, 13, 0, 0, 0, 0, 0, 0, | ||
8878 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8879 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8884 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8885 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8886 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8887 | }; | ||
8888 | |||
8889 | static const Q_UINT8 dir_09[] = { | ||
8890 | 0, 17, 17, 0, 0, 0, 0, 0, | ||
8891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8895 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8897 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8898 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
8899 | 17, 0, 0, 0, 0, 17, 0, 0, | ||
8900 | 0, 17, 17, 17, 17, 0, 0, 0, | ||
8901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8902 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
8903 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8904 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8905 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8906 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
8907 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8908 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8909 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8910 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8911 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8912 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8913 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8914 | 0, 17, 17, 17, 17, 0, 0, 0, | ||
8915 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8916 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8917 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8918 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
8919 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8920 | 0, 0, 4, 4, 0, 0, 0, 0, | ||
8921 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8922 | }; | ||
8923 | |||
8924 | static const Q_UINT8 dir_0A[] = { | ||
8925 | 0, 0, 17, 0, 0, 0, 0, 0, | ||
8926 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8927 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8928 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8929 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8932 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8933 | 0, 17, 17, 0, 0, 0, 0, 17, | ||
8934 | 17, 0, 0, 17, 17, 17, 0, 0, | ||
8935 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8936 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8937 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8938 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8939 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
8940 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8941 | 0, 17, 17, 0, 0, 0, 0, 0, | ||
8942 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8943 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8944 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8945 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8946 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8947 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8948 | 0, 0, 0, 0, 17, 0, 0, 0, | ||
8949 | 0, 17, 17, 17, 17, 17, 0, 17, | ||
8950 | 17, 0, 0, 0, 0, 17, 0, 0, | ||
8951 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8952 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8953 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8954 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8955 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8956 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8957 | }; | ||
8958 | |||
8959 | static const Q_UINT8 dir_0B[] = { | ||
8960 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
8961 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8962 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8963 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8964 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8965 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8966 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8967 | 0, 0, 0, 0, 17, 0, 0, 17, | ||
8968 | 0, 17, 17, 17, 0, 0, 0, 0, | ||
8969 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8970 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
8971 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8972 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8973 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8975 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8976 | 0, 0, 17, 0, 0, 0, 0, 0, | ||
8977 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8980 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8981 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8982 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8983 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8984 | 17, 0, 0, 0, 0, 0, 0, 0, | ||
8985 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
8986 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8987 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8989 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8992 | }; | ||
8993 | |||
8994 | static const Q_UINT8 dir_0C[] = { | ||
8995 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8996 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8997 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8998 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
8999 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9000 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9001 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9002 | 0, 0, 0, 0, 0, 0, 17, 17, | ||
9003 | 17, 0, 0, 0, 0, 0, 17, 17, | ||
9004 | 17, 0, 17, 17, 17, 17, 0, 0, | ||
9005 | 0, 0, 0, 0, 0, 17, 17, 0, | ||
9006 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9007 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9008 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9009 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9010 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9011 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9012 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9013 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9014 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9015 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9016 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9017 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9018 | 0, 0, 0, 0, 0, 0, 0, 17, | ||
9019 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
9020 | 0, 0, 0, 0, 17, 17, 0, 0, | ||
9021 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9022 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9023 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9024 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9025 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9026 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9027 | }; | ||
9028 | |||
9029 | static const Q_UINT8 dir_0D[] = { | ||
9030 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9031 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9032 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9033 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9034 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9035 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9036 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9037 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9038 | 0, 17, 17, 17, 0, 0, 0, 0, | ||
9039 | 0, 0, 0, 0, 0, 17, 0, 0, | ||
9040 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9041 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9042 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9043 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9044 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9045 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9046 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9047 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9048 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9051 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9055 | 0, 0, 17, 0, 0, 0, 0, 0, | ||
9056 | 0, 0, 17, 17, 17, 0, 17, 0, | ||
9057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9062 | }; | ||
9063 | |||
9064 | static const Q_UINT8 dir_0E[] = { | ||
9065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9067 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9069 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9071 | 0, 17, 0, 0, 17, 17, 17, 17, | ||
9072 | 17, 17, 17, 0, 0, 0, 0, 4, | ||
9073 | 0, 0, 0, 0, 0, 0, 0, 17, | ||
9074 | 17, 17, 17, 17, 17, 17, 17, 0, | ||
9075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9079 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9081 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9082 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9083 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9087 | 0, 17, 0, 0, 17, 17, 17, 17, | ||
9088 | 17, 17, 0, 17, 17, 0, 0, 0, | ||
9089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9090 | 17, 17, 17, 17, 17, 17, 0, 0, | ||
9091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9094 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9097 | }; | ||
9098 | |||
9099 | static const Q_UINT8 dir_0F[] = { | ||
9100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9103 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
9104 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9105 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9106 | 0, 0, 0, 0, 0, 17, 0, 17, | ||
9107 | 0, 17, 10, 10, 10, 10, 0, 0, | ||
9108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9112 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9114 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
9115 | 17, 17, 17, 17, 17, 17, 17, 0, | ||
9116 | 17, 17, 17, 17, 17, 0, 17, 17, | ||
9117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9118 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9119 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
9120 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9121 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9122 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9123 | 17, 17, 17, 17, 17, 0, 0, 0, | ||
9124 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
9125 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9132 | }; | ||
9133 | |||
9134 | static const Q_UINT8 dir_10[] = { | ||
9135 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9140 | 0, 0, 0, 0, 0, 17, 17, 17, | ||
9141 | 17, 0, 17, 0, 0, 0, 17, 17, | ||
9142 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
9143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9144 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9145 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9146 | 17, 17, 0, 0, 0, 0, 0, 0, | ||
9147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9149 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9150 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9154 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9167 | }; | ||
9168 | |||
9169 | static const Q_UINT8 dir_16[] = { | ||
9170 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9171 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9172 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9174 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9175 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9178 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9179 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9183 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9186 | 9, 0, 0, 0, 0, 0, 0, 0, | ||
9187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9189 | 0, 0, 0, 10, 10, 0, 0, 0, | ||
9190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9198 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9199 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9200 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9201 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9202 | }; | ||
9203 | |||
9204 | static const Q_UINT8 dir_17[] = { | ||
9205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9207 | 0, 0, 17, 17, 17, 0, 0, 0, | ||
9208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9209 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9211 | 0, 0, 17, 17, 17, 0, 0, 0, | ||
9212 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9213 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9214 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9215 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
9216 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9218 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9219 | 0, 0, 17, 17, 0, 0, 0, 0, | ||
9220 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9221 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9222 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9223 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9224 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9225 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9226 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9227 | 0, 0, 0, 0, 0, 0, 0, 17, | ||
9228 | 17, 17, 17, 17, 17, 17, 0, 0, | ||
9229 | 0, 0, 0, 0, 0, 0, 17, 0, | ||
9230 | 0, 17, 17, 17, 17, 17, 17, 17, | ||
9231 | 17, 17, 17, 17, 0, 0, 0, 0, | ||
9232 | 0, 0, 0, 4, 0, 0, 0, 0, | ||
9233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9234 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9235 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9237 | }; | ||
9238 | |||
9239 | static const Q_UINT8 dir_18[] = { | ||
9240 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9241 | 10, 10, 10, 17, 17, 17, 18, 0, | ||
9242 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9243 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9244 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9245 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9246 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9249 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9253 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9254 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9255 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9259 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9261 | 0, 17, 0, 0, 0, 0, 0, 0, | ||
9262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9263 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9265 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9266 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9272 | }; | ||
9273 | |||
9274 | static const Q_UINT8 dir_1F[] = { | ||
9275 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9276 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9277 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9279 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9281 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9286 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9288 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9289 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9290 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9292 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9296 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9298 | 0, 0, 0, 0, 0, 10, 0, 10, | ||
9299 | 10, 10, 0, 0, 0, 0, 0, 0, | ||
9300 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9302 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9303 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9304 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9306 | 0, 0, 0, 0, 0, 10, 10, 0, | ||
9307 | }; | ||
9308 | |||
9309 | static const Q_UINT8 dir_20[] = { | ||
9310 | 9, 9, 9, 9, 9, 9, 9, 9, | ||
9311 | 9, 9, 9, 18, 18, 114, 0, 1, | ||
9312 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9313 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9314 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9315 | 9, 7, 11, 14, 16, 12, 15, 9, | ||
9316 | 4, 4, 4, 4, 4, 10, 10, 10, | ||
9317 | 10, 138, 138, 10, 10, 10, 10, 10, | ||
9318 | 10, 10, 10, 10, 10, 138, 138, 10, | ||
9319 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9320 | 10, 10, 10, 0, 0, 0, 0, 10, | ||
9321 | 0, 0, 0, 0, 0, 0, 0, 9, | ||
9322 | 18, 18, 18, 18, 0, 0, 0, 0, | ||
9323 | 0, 0, 18, 18, 18, 18, 18, 18, | ||
9324 | 2, 0, 0, 0, 2, 2, 2, 2, | ||
9325 | 2, 2, 4, 4, 10, 138, 138, 0, | ||
9326 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9327 | 2, 2, 4, 4, 10, 138, 138, 0, | ||
9328 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9329 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9330 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
9331 | 4, 4, 4, 4, 4, 4, 4, 4, | ||
9332 | 4, 4, 0, 0, 0, 0, 0, 0, | ||
9333 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9335 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9336 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9337 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9338 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9339 | 17, 17, 17, 0, 0, 0, 0, 0, | ||
9340 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9341 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9342 | }; | ||
9343 | |||
9344 | static const Q_UINT8 dir_21[] = { | ||
9345 | 10, 10, 0, 10, 10, 10, 10, 0, | ||
9346 | 10, 10, 0, 0, 0, 0, 0, 0, | ||
9347 | 0, 0, 0, 0, 10, 0, 10, 10, | ||
9348 | 10, 0, 0, 0, 0, 0, 10, 10, | ||
9349 | 10, 10, 10, 10, 0, 10, 0, 10, | ||
9350 | 0, 10, 0, 0, 0, 0, 4, 0, | ||
9351 | 0, 0, 10, 0, 0, 0, 0, 0, | ||
9352 | 0, 0, 10, 0, 0, 0, 0, 0, | ||
9353 | 138, 10, 10, 10, 10, 0, 0, 0, | ||
9354 | 0, 0, 10, 10, 0, 0, 0, 0, | ||
9355 | 0, 0, 0, 10, 10, 10, 10, 10, | ||
9356 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9358 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9359 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9360 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9363 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9364 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9365 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9366 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9367 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9368 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9369 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9370 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9371 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9372 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9373 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9374 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9375 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9376 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9377 | }; | ||
9378 | |||
9379 | static const Q_UINT8 dir_22[] = { | ||
9380 | 10, 138, 138, 138, 138, 10, 10, 10, | ||
9381 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9382 | 10, 138, 4, 4, 10, 138, 138, 10, | ||
9383 | 10, 10, 138, 138, 138, 138, 10, 138, | ||
9384 | 138, 138, 138, 10, 138, 10, 138, 10, | ||
9385 | 10, 10, 10, 138, 138, 138, 138, 138, | ||
9386 | 138, 138, 138, 138, 10, 10, 10, 10, | ||
9387 | 10, 138, 10, 138, 138, 138, 138, 138, | ||
9388 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9389 | 138, 138, 138, 138, 138, 10, 10, 10, | ||
9390 | 10, 10, 138, 138, 138, 138, 10, 10, | ||
9391 | 10, 10, 10, 10, 10, 10, 10, 138, | ||
9392 | 138, 10, 138, 10, 138, 138, 138, 138, | ||
9393 | 138, 138, 138, 138, 10, 10, 138, 138, | ||
9394 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9395 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9396 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9397 | 138, 138, 138, 138, 138, 10, 10, 138, | ||
9398 | 138, 138, 138, 10, 10, 10, 10, 10, | ||
9399 | 138, 10, 10, 10, 10, 10, 10, 10, | ||
9400 | 10, 10, 138, 138, 10, 10, 138, 138, | ||
9401 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9402 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9403 | 138, 10, 10, 10, 10, 10, 138, 138, | ||
9404 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9405 | 10, 138, 138, 138, 138, 138, 10, 10, | ||
9406 | 138, 138, 10, 10, 10, 10, 138, 138, | ||
9407 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9408 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9409 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9410 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9411 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9412 | }; | ||
9413 | |||
9414 | static const Q_UINT8 dir_23[] = { | ||
9415 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9416 | 138, 138, 138, 138, 10, 10, 10, 10, | ||
9417 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9418 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9419 | 138, 138, 10, 10, 10, 10, 10, 10, | ||
9420 | 10, 138, 138, 10, 10, 10, 10, 10, | ||
9421 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
9422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9424 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9425 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9427 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9428 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9429 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9430 | 0, 0, 0, 10, 10, 10, 10, 10, | ||
9431 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9432 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9433 | 10, 10, 10, 10, 10, 0, 10, 10, | ||
9434 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9435 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9436 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9437 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9438 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9439 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9440 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9441 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9442 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9443 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9444 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9445 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9446 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9447 | }; | ||
9448 | |||
9449 | static const Q_UINT8 dir_24[] = { | ||
9450 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9451 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9452 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9453 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9454 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9455 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9456 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9457 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9458 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9459 | 10, 10, 10, 0, 0, 0, 0, 0, | ||
9460 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9461 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9462 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9463 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9464 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9465 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9466 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9467 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9468 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9469 | 2, 2, 2, 2, 0, 0, 0, 0, | ||
9470 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9471 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9472 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9473 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9479 | 0, 0, 2, 10, 10, 10, 10, 10, | ||
9480 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9481 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9482 | }; | ||
9483 | |||
9484 | static const Q_UINT8 dir_25[] = { | ||
9485 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9486 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9487 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9488 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9489 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9490 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9491 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9492 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9493 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9494 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9495 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9496 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9497 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9498 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9499 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9500 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9501 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9502 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9503 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9504 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9505 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9506 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9507 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9508 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9509 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9510 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9511 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9512 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9513 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9514 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9515 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9516 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9517 | }; | ||
9518 | |||
9519 | static const Q_UINT8 dir_26[] = { | ||
9520 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9521 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9522 | 10, 10, 10, 10, 0, 0, 10, 10, | ||
9523 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9524 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9525 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9526 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9527 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9528 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9529 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9530 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9531 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9532 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9533 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9534 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9535 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
9536 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9537 | 10, 10, 0, 0, 0, 0, 0, 0, | ||
9538 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9539 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9540 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9541 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9542 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9543 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9546 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9548 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9550 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9551 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9552 | }; | ||
9553 | |||
9554 | static const Q_UINT8 dir_27[] = { | ||
9555 | 0, 10, 10, 10, 10, 0, 10, 10, | ||
9556 | 10, 10, 0, 0, 10, 10, 10, 10, | ||
9557 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9558 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9559 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9560 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9561 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9562 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9563 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9564 | 10, 10, 10, 10, 0, 10, 0, 10, | ||
9565 | 10, 10, 10, 0, 0, 0, 10, 0, | ||
9566 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9567 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9568 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9569 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9570 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9571 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9572 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9573 | 10, 10, 10, 10, 10, 0, 0, 0, | ||
9574 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9575 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9576 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9577 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9578 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9579 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9580 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9581 | 10, 10, 10, 138, 138, 138, 138, 10, | ||
9582 | 10, 10, 10, 10, 138, 138, 138, 10, | ||
9583 | 10, 10, 138, 138, 138, 138, 138, 138, | ||
9584 | 138, 138, 138, 138, 0, 0, 0, 0, | ||
9585 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9586 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9587 | }; | ||
9588 | |||
9589 | static const Q_UINT8 dir_29[] = { | ||
9590 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9591 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9592 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9593 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9594 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9595 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9596 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9597 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9598 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9599 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9600 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9601 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9602 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9603 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9604 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9605 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9606 | 10, 10, 10, 138, 138, 138, 138, 138, | ||
9607 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9608 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9609 | 138, 10, 10, 138, 138, 138, 138, 138, | ||
9610 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9611 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9612 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9613 | 138, 10, 10, 10, 10, 10, 10, 10, | ||
9614 | 138, 138, 138, 138, 138, 138, 10, 10, | ||
9615 | 10, 138, 10, 10, 10, 10, 138, 138, | ||
9616 | 138, 138, 138, 10, 138, 138, 10, 10, | ||
9617 | 138, 138, 138, 138, 138, 10, 10, 10, | ||
9618 | 10, 138, 10, 138, 138, 138, 10, 10, | ||
9619 | 138, 138, 10, 10, 10, 10, 10, 10, | ||
9620 | 10, 10, 10, 10, 138, 138, 138, 138, | ||
9621 | 138, 138, 10, 10, 138, 138, 10, 10, | ||
9622 | }; | ||
9623 | |||
9624 | static const Q_UINT8 dir_2A[] = { | ||
9625 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9626 | 10, 10, 138, 138, 138, 138, 138, 138, | ||
9627 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9628 | 138, 138, 138, 138, 138, 10, 138, 138, | ||
9629 | 138, 138, 10, 10, 138, 10, 138, 10, | ||
9630 | 10, 138, 10, 138, 138, 138, 138, 10, | ||
9631 | 10, 10, 10, 10, 138, 138, 10, 10, | ||
9632 | 10, 10, 10, 10, 138, 138, 138, 10, | ||
9633 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9634 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9635 | 10, 10, 10, 10, 10, 10, 10, 138, | ||
9636 | 138, 10, 10, 10, 10, 10, 10, 10, | ||
9637 | 10, 10, 10, 10, 138, 138, 10, 10, | ||
9638 | 10, 10, 138, 138, 138, 138, 10, 138, | ||
9639 | 138, 10, 10, 138, 138, 10, 10, 10, | ||
9640 | 10, 138, 138, 138, 138, 138, 138, 138, | ||
9641 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9642 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9643 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9644 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9645 | 138, 138, 138, 138, 10, 10, 138, 138, | ||
9646 | 138, 138, 138, 138, 138, 138, 10, 138, | ||
9647 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9648 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9649 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9650 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9651 | 138, 138, 138, 138, 138, 138, 138, 10, | ||
9652 | 10, 10, 10, 10, 138, 10, 138, 10, | ||
9653 | 10, 10, 138, 138, 138, 138, 138, 10, | ||
9654 | 10, 10, 10, 10, 138, 138, 138, 10, | ||
9655 | 10, 10, 10, 138, 10, 10, 10, 138, | ||
9656 | 138, 138, 138, 138, 10, 138, 10, 10, | ||
9657 | }; | ||
9658 | |||
9659 | static const Q_UINT8 dir_2E[] = { | ||
9660 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9661 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9662 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9663 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9664 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9665 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9666 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9667 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9668 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9669 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9670 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9671 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9672 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9673 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9674 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9675 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9676 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9677 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9678 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9679 | 10, 10, 0, 10, 10, 10, 10, 10, | ||
9680 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9681 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9682 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9683 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9684 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9685 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9686 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9687 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9688 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9689 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9690 | 10, 10, 10, 10, 0, 0, 0, 0, | ||
9691 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9692 | }; | ||
9693 | |||
9694 | static const Q_UINT8 dir_2F[] = { | ||
9695 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9696 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9697 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9698 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9699 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9700 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9701 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9702 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9703 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9704 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9705 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9706 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9707 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9708 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9709 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9710 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9711 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9712 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9713 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9714 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9715 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9716 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9717 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9718 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9719 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9720 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9721 | 10, 10, 10, 10, 10, 10, 0, 0, | ||
9722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9725 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9726 | 10, 10, 10, 10, 0, 0, 0, 0, | ||
9727 | }; | ||
9728 | |||
9729 | static const Q_UINT8 dir_30[] = { | ||
9730 | 9, 10, 10, 10, 10, 0, 0, 0, | ||
9731 | 138, 138, 138, 138, 138, 138, 138, 138, | ||
9732 | 138, 138, 10, 10, 138, 138, 138, 138, | ||
9733 | 138, 138, 138, 138, 10, 10, 10, 10, | ||
9734 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9735 | 0, 0, 17, 17, 17, 17, 17, 17, | ||
9736 | 10, 0, 0, 0, 0, 0, 10, 10, | ||
9737 | 0, 0, 0, 0, 0, 10, 10, 10, | ||
9738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9741 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9742 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9743 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9744 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9745 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9746 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9747 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9748 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9749 | 0, 17, 17, 10, 10, 0, 0, 0, | ||
9750 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9751 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9752 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9753 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9754 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9755 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9756 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9757 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9758 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9759 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9760 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9761 | 0, 0, 0, 10, 0, 0, 0, 0, | ||
9762 | }; | ||
9763 | |||
9764 | static const Q_UINT8 dir_32[] = { | ||
9765 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9766 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9767 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9768 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9769 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9770 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9771 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9772 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9773 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9774 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9775 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9776 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9777 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9778 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9779 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9780 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9781 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9782 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9785 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9786 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9787 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9788 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9790 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9791 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9792 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9793 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9794 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9795 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9796 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9797 | }; | ||
9798 | |||
9799 | static const Q_UINT8 dir_A4[] = { | ||
9800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9801 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9802 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9803 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9804 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9806 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9807 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9808 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9809 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9810 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9811 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9812 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9813 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9814 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9815 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9816 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9817 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9818 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9819 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9820 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9821 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9822 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9823 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9824 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9825 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9826 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9827 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9828 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9829 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9830 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9831 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9832 | }; | ||
9833 | |||
9834 | static const Q_UINT8 dir_FB[] = { | ||
9835 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9836 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9837 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9838 | 0, 0, 0, 0, 0, 1, 17, 1, | ||
9839 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9840 | 1, 4, 1, 1, 1, 1, 1, 1, | ||
9841 | 1, 1, 1, 1, 1, 1, 1, 0, | ||
9842 | 1, 1, 1, 1, 1, 0, 1, 0, | ||
9843 | 1, 1, 0, 1, 1, 0, 1, 1, | ||
9844 | 1, 1, 1, 1, 1, 1, 1, 1, | ||
9845 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9846 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9847 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9848 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9849 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9850 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9851 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9852 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9853 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9854 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9855 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9856 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9857 | 13, 13, 0, 0, 0, 0, 0, 0, | ||
9858 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9859 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9861 | 0, 0, 0, 13, 13, 13, 13, 13, | ||
9862 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9863 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9864 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9865 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9866 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9867 | }; | ||
9868 | |||
9869 | static const Q_UINT8 dir_FC[] = { | ||
9870 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9871 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9872 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9873 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9874 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9875 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9876 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9877 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9878 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9879 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9880 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9881 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9882 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9883 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9884 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9885 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9886 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9887 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9888 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9889 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9890 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9891 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9892 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9893 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9894 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9895 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9896 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9897 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9898 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9899 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9900 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9901 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9902 | }; | ||
9903 | |||
9904 | static const Q_UINT8 dir_FD[] = { | ||
9905 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9906 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9907 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9908 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9909 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9910 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9911 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9912 | 13, 13, 13, 13, 13, 13, 10, 10, | ||
9913 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9914 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9915 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9916 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9917 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9918 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9919 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9920 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9921 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9922 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9923 | 0, 0, 13, 13, 13, 13, 13, 13, | ||
9924 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9925 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9926 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9927 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9928 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9929 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9930 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9931 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9932 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9933 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9934 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9935 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9936 | 13, 13, 13, 13, 13, 0, 0, 0, | ||
9937 | }; | ||
9938 | |||
9939 | static const Q_UINT8 dir_FE[] = { | ||
9940 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9941 | 17, 17, 17, 17, 17, 17, 17, 17, | ||
9942 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9943 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9944 | 17, 17, 17, 17, 0, 0, 0, 0, | ||
9945 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9946 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9947 | 10, 10, 10, 10, 10, 10, 10, 10, | ||
9948 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
9949 | 0, 10, 10, 10, 10, 10, 10, 10, | ||
9950 | 6, 10, 6, 0, 10, 6, 10, 10, | ||
9951 | 10, 10, 10, 10, 10, 10, 10, 4, | ||
9952 | 10, 10, 4, 4, 10, 10, 10, 0, | ||
9953 | 10, 4, 4, 10, 0, 0, 0, 0, | ||
9954 | 13, 13, 13, 13, 13, 0, 13, 13, | ||
9955 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9956 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9957 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9958 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9959 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9960 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9961 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9962 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9963 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9964 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9965 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9966 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9967 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9968 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9969 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9970 | 13, 13, 13, 13, 13, 13, 13, 13, | ||
9971 | 13, 13, 13, 13, 13, 0, 0, 18, | ||
9972 | }; | ||
9973 | |||
9974 | static const Q_UINT8 dir_FF[] = { | ||
9975 | 0, 10, 10, 4, 4, 4, 10, 10, | ||
9976 | 138, 138, 10, 4, 6, 4, 6, 3, | ||
9977 | 2, 2, 2, 2, 2, 2, 2, 2, | ||
9978 | 2, 2, 6, 10, 138, 10, 138, 10, | ||
9979 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9980 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9981 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9982 | 0, 0, 0, 138, 10, 138, 10, 10, | ||
9983 | 10, 0, 0, 0, 0, 0, 0, 0, | ||
9984 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9985 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9986 | 0, 0, 0, 138, 10, 138, 10, 138, | ||
9987 | 138, 10, 138, 138, 10, 10, 0, 0, | ||
9988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9989 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9990 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9991 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9992 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9993 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9994 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9995 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9996 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9997 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9998 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
9999 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10000 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10001 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10002 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10003 | 4, 4, 10, 10, 10, 4, 4, 0, | ||
10004 | 10, 10, 10, 10, 10, 10, 10, 0, | ||
10005 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10006 | 0, 18, 18, 18, 10, 10, 0, 0, | ||
10007 | }; | ||
10008 | |||
10009 | static const Q_UINT8 * const direction_info[256] = { | ||
10010 | dir_00, dir_01, dir_02, dir_03, dir_04, dir_05, dir_06, dir_07, | ||
10011 | dir_01, dir_09, dir_0A, dir_0B, dir_0C, dir_0D, dir_0E, dir_0F, | ||
10012 | dir_10, dir_01, dir_01, dir_01, dir_01, dir_01, dir_16, dir_17, | ||
10013 | dir_18, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_1F, | ||
10014 | dir_20, dir_21, dir_22, dir_23, dir_24, dir_25, dir_26, dir_27, | ||
10015 | dir_25, dir_29, dir_2A, dir_01, dir_01, dir_01, dir_2E, dir_2F, | ||
10016 | dir_30, dir_01, dir_32, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10017 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10018 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10019 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10020 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10021 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10022 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10023 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10024 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10025 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10026 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10027 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10028 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10029 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10030 | dir_01, dir_01, dir_01, dir_01, dir_A4, dir_01, dir_01, dir_01, | ||
10031 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10032 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10033 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10034 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10035 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10036 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10037 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10038 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10039 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10040 | dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, | ||
10041 | dir_01, dir_01, dir_01, dir_FB, dir_FC, dir_FD, dir_FE, dir_FF, | ||
10042 | }; | ||
10043 | // 26362 bytes | ||
10044 | |||
10045 | static const Q_UINT8 cmb_00[] = { | ||
10046 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10047 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10048 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10049 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10050 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10051 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10052 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10053 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10054 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10055 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10056 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10057 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10058 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10059 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10060 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10061 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10066 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10067 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10069 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10071 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10072 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10074 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10075 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10076 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10077 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10078 | }; | ||
10079 | |||
10080 | static const Q_UINT8 cmb_03[] = { | ||
10081 | 230, 230, 230, 230, 230, 230, 230, 230, | ||
10082 | 230, 230, 230, 230, 230, 230, 230, 230, | ||
10083 | 230, 230, 230, 230, 230, 232, 220, 220, | ||
10084 | 220, 220, 232, 216, 220, 220, 220, 220, | ||
10085 | 220, 202, 202, 220, 220, 220, 220, 202, | ||
10086 | 202, 220, 220, 220, 220, 220, 220, 220, | ||
10087 | 220, 220, 220, 220, 1, 1, 1, 1, | ||
10088 | 1, 220, 220, 220, 220, 230, 230, 230, | ||
10089 | 230, 230, 230, 230, 230, 240, 230, 220, | ||
10090 | 220, 220, 230, 230, 230, 220, 220, 0, | ||
10091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10093 | 234, 234, 233, 230, 230, 230, 230, 230, | ||
10094 | 230, 230, 230, 230, 230, 230, 230, 230, | ||
10095 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10096 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10104 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10105 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10112 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10113 | }; | ||
10114 | |||
10115 | static const Q_UINT8 cmb_04[] = { | ||
10116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10119 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10120 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10121 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10122 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10123 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10124 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10125 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10126 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10129 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10130 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10131 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10132 | 0, 0, 0, 230, 230, 230, 230, 0, | ||
10133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10135 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10136 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10137 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10138 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10139 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10140 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10141 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10142 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10143 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10144 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10145 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10146 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10148 | }; | ||
10149 | |||
10150 | static const Q_UINT8 cmb_05[] = { | ||
10151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10154 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10164 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10165 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10166 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10167 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10168 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10169 | 0, 220, 230, 230, 230, 230, 220, 230, | ||
10170 | 230, 230, 222, 220, 230, 230, 230, 230, | ||
10171 | 230, 230, 0, 220, 220, 220, 220, 220, | ||
10172 | 230, 230, 220, 230, 230, 222, 228, 230, | ||
10173 | 10, 11, 12, 13, 14, 15, 16, 17, | ||
10174 | 18, 19, 0, 20, 21, 22, 0, 23, | ||
10175 | 0, 24, 25, 0, 230, 0, 0, 0, | ||
10176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10178 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10179 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10183 | }; | ||
10184 | |||
10185 | static const Q_UINT8 cmb_06[] = { | ||
10186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10195 | 0, 0, 0, 27, 28, 29, 30, 31, | ||
10196 | 32, 33, 34, 230, 230, 220, 0, 0, | ||
10197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10198 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10199 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10200 | 35, 0, 0, 0, 0, 0, 0, 0, | ||
10201 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10202 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10203 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10204 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10205 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10206 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10207 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10208 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10209 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10210 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10211 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10212 | 0, 0, 0, 0, 0, 0, 230, 230, | ||
10213 | 230, 230, 230, 230, 230, 0, 0, 230, | ||
10214 | 230, 230, 230, 220, 230, 0, 0, 230, | ||
10215 | 230, 0, 220, 230, 230, 220, 0, 0, | ||
10216 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10217 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10218 | }; | ||
10219 | |||
10220 | static const Q_UINT8 cmb_07[] = { | ||
10221 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10222 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10223 | 0, 36, 0, 0, 0, 0, 0, 0, | ||
10224 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10225 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10226 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10227 | 230, 220, 230, 230, 220, 230, 230, 220, | ||
10228 | 220, 220, 230, 220, 220, 230, 220, 230, | ||
10229 | 230, 230, 220, 230, 220, 230, 220, 230, | ||
10230 | 220, 230, 230, 0, 0, 0, 0, 0, | ||
10231 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10232 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10233 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10234 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10235 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10236 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10237 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10238 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10239 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10240 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10241 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10242 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10243 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10244 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10245 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10246 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10247 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10248 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10249 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10250 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10251 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10252 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10253 | }; | ||
10254 | |||
10255 | static const Q_UINT8 cmb_09[] = { | ||
10256 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10257 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10258 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10259 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10260 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10261 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10262 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10263 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10264 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10265 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10266 | 0, 230, 220, 230, 230, 0, 0, 0, | ||
10267 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10268 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10269 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10270 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10271 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10272 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10273 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10274 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10275 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10276 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10277 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10278 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10279 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10280 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10281 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10282 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10283 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10284 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10285 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10286 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10287 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10288 | }; | ||
10289 | |||
10290 | static const Q_UINT8 cmb_0A[] = { | ||
10291 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10292 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10293 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10294 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10295 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10296 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10297 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10298 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10299 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10300 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10301 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10302 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10303 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10304 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10305 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10306 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10307 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10308 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10309 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10310 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10311 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10312 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10313 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10314 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10315 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10316 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10317 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10318 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10319 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10320 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10321 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10322 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10323 | }; | ||
10324 | |||
10325 | static const Q_UINT8 cmb_0B[] = { | ||
10326 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10327 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10328 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10329 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10330 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10331 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10332 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10333 | 0, 0, 0, 0, 7, 0, 0, 0, | ||
10334 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10335 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10336 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10337 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10338 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10339 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10340 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10341 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10342 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10343 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10344 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10345 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10346 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10347 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10348 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10349 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10350 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10351 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10352 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10353 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10354 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10355 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10356 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10357 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10358 | }; | ||
10359 | |||
10360 | static const Q_UINT8 cmb_0C[] = { | ||
10361 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10362 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10363 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10364 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10365 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10366 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10367 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10368 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10369 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10370 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10371 | 0, 0, 0, 0, 0, 84, 91, 0, | ||
10372 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10373 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10374 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10375 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10376 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10377 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10378 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10379 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10380 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10381 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10382 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10383 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10384 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10385 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10386 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10387 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10388 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10389 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10390 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10391 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10392 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10393 | }; | ||
10394 | |||
10395 | static const Q_UINT8 cmb_0D[] = { | ||
10396 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10397 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10398 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10399 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10400 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10401 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10402 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10403 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10404 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10405 | 0, 0, 0, 0, 0, 9, 0, 0, | ||
10406 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10407 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10408 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10409 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10410 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10411 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10412 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10413 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10414 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10415 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10416 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10417 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10418 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10419 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10420 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10421 | 0, 0, 9, 0, 0, 0, 0, 0, | ||
10422 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10423 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10424 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10425 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10426 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10427 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10428 | }; | ||
10429 | |||
10430 | static const Q_UINT8 cmb_0E[] = { | ||
10431 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10432 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10433 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10434 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10435 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10436 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10437 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10438 | 103, 103, 9, 0, 0, 0, 0, 0, | ||
10439 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10440 | 107, 107, 107, 107, 0, 0, 0, 0, | ||
10441 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10442 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10443 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10444 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10445 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10446 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10447 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10448 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10449 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10450 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10451 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10452 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10453 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10454 | 118, 118, 0, 0, 0, 0, 0, 0, | ||
10455 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10456 | 122, 122, 122, 122, 0, 0, 0, 0, | ||
10457 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10458 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10459 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10460 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10461 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10462 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10463 | }; | ||
10464 | |||
10465 | static const Q_UINT8 cmb_0F[] = { | ||
10466 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10467 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10468 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10469 | 220, 220, 0, 0, 0, 0, 0, 0, | ||
10470 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10471 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10472 | 0, 0, 0, 0, 0, 220, 0, 220, | ||
10473 | 0, 216, 0, 0, 0, 0, 0, 0, | ||
10474 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10475 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10476 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10477 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10478 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10479 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10480 | 0, 129, 130, 0, 132, 0, 0, 0, | ||
10481 | 0, 0, 130, 130, 130, 130, 0, 0, | ||
10482 | 130, 0, 230, 230, 9, 0, 230, 230, | ||
10483 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10484 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10485 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10486 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10487 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10488 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10489 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10490 | 0, 0, 0, 0, 0, 0, 220, 0, | ||
10491 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10492 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10493 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10494 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10495 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10496 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10497 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10498 | }; | ||
10499 | |||
10500 | static const Q_UINT8 cmb_10[] = { | ||
10501 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10502 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10503 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10504 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10505 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10506 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10507 | 0, 0, 0, 0, 0, 0, 0, 7, | ||
10508 | 0, 9, 0, 0, 0, 0, 0, 0, | ||
10509 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10510 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10511 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10512 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10513 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10514 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10515 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10516 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10517 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10518 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10519 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10520 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10521 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10522 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10523 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10524 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10525 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10526 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10527 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10528 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10529 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10530 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10531 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10532 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10533 | }; | ||
10534 | |||
10535 | static const Q_UINT8 cmb_17[] = { | ||
10536 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10537 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10538 | 0, 0, 0, 0, 9, 0, 0, 0, | ||
10539 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10540 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10541 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10542 | 0, 0, 0, 0, 9, 0, 0, 0, | ||
10543 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10544 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10545 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10546 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10547 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10548 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10549 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10550 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10551 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10552 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10553 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10554 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10555 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10556 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10557 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10558 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10559 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10560 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10561 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10562 | 0, 0, 9, 0, 0, 0, 0, 0, | ||
10563 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10564 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10565 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10566 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10567 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10568 | }; | ||
10569 | |||
10570 | static const Q_UINT8 cmb_18[] = { | ||
10571 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10572 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10573 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10574 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10575 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10576 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10577 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10578 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10579 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10580 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10581 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10582 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10583 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10584 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10585 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10586 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10587 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10588 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10589 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10590 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10591 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10592 | 0, 228, 0, 0, 0, 0, 0, 0, | ||
10593 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10594 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10595 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10596 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10597 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10598 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10599 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10600 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10601 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10602 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10603 | }; | ||
10604 | |||
10605 | static const Q_UINT8 cmb_20[] = { | ||
10606 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10607 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10608 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10609 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10610 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10611 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10612 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10613 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10614 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10615 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10616 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10617 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10618 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10619 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10620 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10621 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10622 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10623 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10624 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10625 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10626 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10627 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10628 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10629 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10630 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10631 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10632 | 230, 230, 1, 1, 230, 230, 230, 230, | ||
10633 | 1, 1, 1, 230, 230, 0, 0, 0, | ||
10634 | 0, 230, 0, 0, 0, 1, 1, 230, | ||
10635 | 220, 230, 1, 0, 0, 0, 0, 0, | ||
10636 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10637 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10638 | }; | ||
10639 | |||
10640 | static const Q_UINT8 cmb_30[] = { | ||
10641 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10642 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10643 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10644 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10645 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10646 | 0, 0, 218, 228, 232, 222, 224, 224, | ||
10647 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10648 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10649 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10650 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10651 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10652 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10653 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10654 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10655 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10656 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10657 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10658 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10659 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10660 | 0, 8, 8, 0, 0, 0, 0, 0, | ||
10661 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10662 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10663 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10664 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10665 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10666 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10667 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10668 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10669 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10670 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10671 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10672 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10673 | }; | ||
10674 | |||
10675 | static const Q_UINT8 cmb_FB[] = { | ||
10676 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10677 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10678 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10679 | 0, 0, 0, 0, 0, 0, 26, 0, | ||
10680 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10681 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10682 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10683 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10684 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10685 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10686 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10687 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10688 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10689 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10690 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10691 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10692 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10693 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10694 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10695 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10696 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10697 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10698 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10699 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10700 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10701 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10702 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10703 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10705 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10706 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10707 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10708 | }; | ||
10709 | |||
10710 | static const Q_UINT8 cmb_FE[] = { | ||
10711 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10712 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10713 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10714 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10715 | 230, 230, 230, 230, 0, 0, 0, 0, | ||
10716 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10717 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10718 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10719 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10720 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10721 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10724 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10725 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10726 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10727 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10728 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10729 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10730 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10731 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10732 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10733 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10734 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10735 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10736 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10737 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10738 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10739 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10740 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10741 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10742 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10743 | }; | ||
10744 | |||
10745 | static const Q_UINT8 * const combining_info[256] = { | ||
10746 | cmb_00, cmb_00, cmb_00, cmb_03, cmb_04, cmb_05, cmb_06, cmb_07, | ||
10747 | cmb_00, cmb_09, cmb_0A, cmb_0B, cmb_0C, cmb_0D, cmb_0E, cmb_0F, | ||
10748 | cmb_10, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_17, | ||
10749 | cmb_18, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10750 | cmb_20, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10751 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10752 | cmb_30, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10753 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10754 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10755 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10756 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10757 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10758 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10759 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10760 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10761 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10762 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10763 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10764 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10765 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10766 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10767 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10768 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10769 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10770 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10771 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10772 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10773 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10774 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10775 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10776 | cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, cmb_00, | ||
10777 | cmb_00, cmb_00, cmb_00, cmb_FB, cmb_00, cmb_00, cmb_FE, cmb_00, | ||
10778 | }; | ||
10779 | // 32506 bytes | ||
10780 | |||
10781 | static const Q_UINT16 case_00[] = { | ||
10782 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10783 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10784 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10785 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10786 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10787 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10788 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10789 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10790 | 0, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, | ||
10791 | 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, | ||
10792 | 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, | ||
10793 | 0x78, 0x79, 0x7a, 0, 0, 0, 0, 0, | ||
10794 | 0, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, | ||
10795 | 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, | ||
10796 | 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | ||
10797 | 0x58, 0x59, 0x5a, 0, 0, 0, 0, 0, | ||
10798 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10799 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10800 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10801 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10802 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10803 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10804 | 0, 0, 0, 0, 0, 0x39c, 0, 0, | ||
10805 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10806 | 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, | ||
10807 | 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, | ||
10808 | 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0, | ||
10809 | 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0, | ||
10810 | 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, | ||
10811 | 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, | ||
10812 | 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0, | ||
10813 | 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0x178, | ||
10814 | }; | ||
10815 | |||
10816 | static const Q_UINT16 case_01[] = { | ||
10817 | 0x101, 0x100, 0x103, 0x102, 0x105, 0x104, 0x107, 0x106, | ||
10818 | 0x109, 0x108, 0x10b, 0x10a, 0x10d, 0x10c, 0x10f, 0x10e, | ||
10819 | 0x111, 0x110, 0x113, 0x112, 0x115, 0x114, 0x117, 0x116, | ||
10820 | 0x119, 0x118, 0x11b, 0x11a, 0x11d, 0x11c, 0x11f, 0x11e, | ||
10821 | 0x121, 0x120, 0x123, 0x122, 0x125, 0x124, 0x127, 0x126, | ||
10822 | 0x129, 0x128, 0x12b, 0x12a, 0x12d, 0x12c, 0x12f, 0x12e, | ||
10823 | 0x69, 0x49, 0x133, 0x132, 0x135, 0x134, 0x137, 0x136, | ||
10824 | 0, 0x13a, 0x139, 0x13c, 0x13b, 0x13e, 0x13d, 0x140, | ||
10825 | 0x13f, 0x142, 0x141, 0x144, 0x143, 0x146, 0x145, 0x148, | ||
10826 | 0x147, 0, 0x14b, 0x14a, 0x14d, 0x14c, 0x14f, 0x14e, | ||
10827 | 0x151, 0x150, 0x153, 0x152, 0x155, 0x154, 0x157, 0x156, | ||
10828 | 0x159, 0x158, 0x15b, 0x15a, 0x15d, 0x15c, 0x15f, 0x15e, | ||
10829 | 0x161, 0x160, 0x163, 0x162, 0x165, 0x164, 0x167, 0x166, | ||
10830 | 0x169, 0x168, 0x16b, 0x16a, 0x16d, 0x16c, 0x16f, 0x16e, | ||
10831 | 0x171, 0x170, 0x173, 0x172, 0x175, 0x174, 0x177, 0x176, | ||
10832 | 0xff, 0x17a, 0x179, 0x17c, 0x17b, 0x17e, 0x17d, 0x53, | ||
10833 | 0, 0x253, 0x183, 0x182, 0x185, 0x184, 0x254, 0x188, | ||
10834 | 0x187, 0x256, 0x257, 0x18c, 0x18b, 0, 0x1dd, 0x259, | ||
10835 | 0x25b, 0x192, 0x191, 0x260, 0x263, 0x1f6, 0x269, 0x268, | ||
10836 | 0x199, 0x198, 0, 0, 0x26f, 0x272, 0x220, 0x275, | ||
10837 | 0x1a1, 0x1a0, 0x1a3, 0x1a2, 0x1a5, 0x1a4, 0x280, 0x1a8, | ||
10838 | 0x1a7, 0x283, 0, 0, 0x1ad, 0x1ac, 0x288, 0x1b0, | ||
10839 | 0x1af, 0x28a, 0x28b, 0x1b4, 0x1b3, 0x1b6, 0x1b5, 0x292, | ||
10840 | 0x1b9, 0x1b8, 0, 0, 0x1bd, 0x1bc, 0, 0x1f7, | ||
10841 | 0, 0, 0, 0, 0x1c6, 0x1c4, 0x1c4, 0x1c9, | ||
10842 | 0x1c7, 0x1c7, 0x1cc, 0x1ca, 0x1ca, 0x1ce, 0x1cd, 0x1d0, | ||
10843 | 0x1cf, 0x1d2, 0x1d1, 0x1d4, 0x1d3, 0x1d6, 0x1d5, 0x1d8, | ||
10844 | 0x1d7, 0x1da, 0x1d9, 0x1dc, 0x1db, 0x18e, 0x1df, 0x1de, | ||
10845 | 0x1e1, 0x1e0, 0x1e3, 0x1e2, 0x1e5, 0x1e4, 0x1e7, 0x1e6, | ||
10846 | 0x1e9, 0x1e8, 0x1eb, 0x1ea, 0x1ed, 0x1ec, 0x1ef, 0x1ee, | ||
10847 | 0, 0x1f3, 0x1f1, 0x1f1, 0x1f5, 0x1f4, 0x195, 0x1bf, | ||
10848 | 0x1f9, 0x1f8, 0x1fb, 0x1fa, 0x1fd, 0x1fc, 0x1ff, 0x1fe, | ||
10849 | }; | ||
10850 | |||
10851 | static const Q_UINT16 case_02[] = { | ||
10852 | 0x201, 0x200, 0x203, 0x202, 0x205, 0x204, 0x207, 0x206, | ||
10853 | 0x209, 0x208, 0x20b, 0x20a, 0x20d, 0x20c, 0x20f, 0x20e, | ||
10854 | 0x211, 0x210, 0x213, 0x212, 0x215, 0x214, 0x217, 0x216, | ||
10855 | 0x219, 0x218, 0x21b, 0x21a, 0x21d, 0x21c, 0x21f, 0x21e, | ||
10856 | 0x19e, 0, 0x223, 0x222, 0x225, 0x224, 0x227, 0x226, | ||
10857 | 0x229, 0x228, 0x22b, 0x22a, 0x22d, 0x22c, 0x22f, 0x22e, | ||
10858 | 0x231, 0x230, 0x233, 0x232, 0, 0, 0, 0, | ||
10859 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10860 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10861 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10862 | 0, 0, 0, 0x181, 0x186, 0, 0x189, 0x18a, | ||
10863 | 0, 0x18f, 0, 0x190, 0, 0, 0, 0, | ||
10864 | 0x193, 0, 0, 0x194, 0, 0, 0, 0, | ||
10865 | 0x197, 0x196, 0, 0, 0, 0, 0, 0x19c, | ||
10866 | 0, 0, 0x19d, 0, 0, 0x19f, 0, 0, | ||
10867 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10868 | 0x1a6, 0, 0, 0x1a9, 0, 0, 0, 0, | ||
10869 | 0x1ae, 0, 0x1b1, 0x1b2, 0, 0, 0, 0, | ||
10870 | 0, 0, 0x1b7, 0, 0, 0, 0, 0, | ||
10871 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10872 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10873 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10874 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10875 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10876 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10877 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10878 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10879 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10880 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10881 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10882 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10883 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10884 | }; | ||
10885 | |||
10886 | static const Q_UINT16 case_03[] = { | ||
10887 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10888 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10889 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10890 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10891 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10892 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10893 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10894 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10895 | 0, 0, 0, 0, 0, 0x399, 0, 0, | ||
10896 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10897 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10898 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10899 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10900 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10901 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10902 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10903 | 0, 0, 0, 0, 0, 0, 0x3ac, 0, | ||
10904 | 0x3ad, 0x3ae, 0x3af, 0, 0x3cc, 0, 0x3cd, 0x3ce, | ||
10905 | 0, 0x3b1, 0x3b2, 0x3b3, 0x3b4, 0x3b5, 0x3b6, 0x3b7, | ||
10906 | 0x3b8, 0x3b9, 0x3ba, 0x3bb, 0x3bc, 0x3bd, 0x3be, 0x3bf, | ||
10907 | 0x3c0, 0x3c1, 0, 0x3c3, 0x3c4, 0x3c5, 0x3c6, 0x3c7, | ||
10908 | 0x3c8, 0x3c9, 0x3ca, 0x3cb, 0x386, 0x388, 0x389, 0x38a, | ||
10909 | 0, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397, | ||
10910 | 0x398, 0x399, 0x39a, 0x39b, 0x39c, 0x39d, 0x39e, 0x39f, | ||
10911 | 0x3a0, 0x3a1, 0x3a3, 0x3a3, 0x3a4, 0x3a5, 0x3a6, 0x3a7, | ||
10912 | 0x3a8, 0x3a9, 0x3aa, 0x3ab, 0x38c, 0x38e, 0x38f, 0, | ||
10913 | 0x392, 0x398, 0, 0, 0, 0x3a6, 0x3a0, 0, | ||
10914 | 0x3d9, 0x3d8, 0x3db, 0x3da, 0x3dd, 0x3dc, 0x3df, 0x3de, | ||
10915 | 0x3e1, 0x3e0, 0x3e3, 0x3e2, 0x3e5, 0x3e4, 0x3e7, 0x3e6, | ||
10916 | 0x3e9, 0x3e8, 0x3eb, 0x3ea, 0x3ed, 0x3ec, 0x3ef, 0x3ee, | ||
10917 | 0x39a, 0x3a1, 0x3a3, 0, 0x3b8, 0x395, 0, 0, | ||
10918 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10919 | }; | ||
10920 | |||
10921 | static const Q_UINT16 case_04[] = { | ||
10922 | 0x450, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, | ||
10923 | 0x458, 0x459, 0x45a, 0x45b, 0x45c, 0x45d, 0x45e, 0x45f, | ||
10924 | 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436, 0x437, | ||
10925 | 0x438, 0x439, 0x43a, 0x43b, 0x43c, 0x43d, 0x43e, 0x43f, | ||
10926 | 0x440, 0x441, 0x442, 0x443, 0x444, 0x445, 0x446, 0x447, | ||
10927 | 0x448, 0x449, 0x44a, 0x44b, 0x44c, 0x44d, 0x44e, 0x44f, | ||
10928 | 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417, | ||
10929 | 0x418, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x41f, | ||
10930 | 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, | ||
10931 | 0x428, 0x429, 0x42a, 0x42b, 0x42c, 0x42d, 0x42e, 0x42f, | ||
10932 | 0x400, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, | ||
10933 | 0x408, 0x409, 0x40a, 0x40b, 0x40c, 0x40d, 0x40e, 0x40f, | ||
10934 | 0x461, 0x460, 0x463, 0x462, 0x465, 0x464, 0x467, 0x466, | ||
10935 | 0x469, 0x468, 0x46b, 0x46a, 0x46d, 0x46c, 0x46f, 0x46e, | ||
10936 | 0x471, 0x470, 0x473, 0x472, 0x475, 0x474, 0x477, 0x476, | ||
10937 | 0x479, 0x478, 0x47b, 0x47a, 0x47d, 0x47c, 0x47f, 0x47e, | ||
10938 | 0x481, 0x480, 0, 0, 0, 0, 0, 0, | ||
10939 | 0, 0, 0x48b, 0x48a, 0x48d, 0x48c, 0x48f, 0x48e, | ||
10940 | 0x491, 0x490, 0x493, 0x492, 0x495, 0x494, 0x497, 0x496, | ||
10941 | 0x499, 0x498, 0x49b, 0x49a, 0x49d, 0x49c, 0x49f, 0x49e, | ||
10942 | 0x4a1, 0x4a0, 0x4a3, 0x4a2, 0x4a5, 0x4a4, 0x4a7, 0x4a6, | ||
10943 | 0x4a9, 0x4a8, 0x4ab, 0x4aa, 0x4ad, 0x4ac, 0x4af, 0x4ae, | ||
10944 | 0x4b1, 0x4b0, 0x4b3, 0x4b2, 0x4b5, 0x4b4, 0x4b7, 0x4b6, | ||
10945 | 0x4b9, 0x4b8, 0x4bb, 0x4ba, 0x4bd, 0x4bc, 0x4bf, 0x4be, | ||
10946 | 0, 0x4c2, 0x4c1, 0x4c4, 0x4c3, 0x4c6, 0x4c5, 0x4c8, | ||
10947 | 0x4c7, 0x4ca, 0x4c9, 0x4cc, 0x4cb, 0x4ce, 0x4cd, 0, | ||
10948 | 0x4d1, 0x4d0, 0x4d3, 0x4d2, 0x4d5, 0x4d4, 0x4d7, 0x4d6, | ||
10949 | 0x4d9, 0x4d8, 0x4db, 0x4da, 0x4dd, 0x4dc, 0x4df, 0x4de, | ||
10950 | 0x4e1, 0x4e0, 0x4e3, 0x4e2, 0x4e5, 0x4e4, 0x4e7, 0x4e6, | ||
10951 | 0x4e9, 0x4e8, 0x4eb, 0x4ea, 0x4ed, 0x4ec, 0x4ef, 0x4ee, | ||
10952 | 0x4f1, 0x4f0, 0x4f3, 0x4f2, 0x4f5, 0x4f4, 0, 0, | ||
10953 | 0x4f9, 0x4f8, 0, 0, 0, 0, 0, 0, | ||
10954 | }; | ||
10955 | |||
10956 | static const Q_UINT16 case_05[] = { | ||
10957 | 0x501, 0x500, 0x503, 0x502, 0x505, 0x504, 0x507, 0x506, | ||
10958 | 0x509, 0x508, 0x50b, 0x50a, 0x50d, 0x50c, 0x50f, 0x50e, | ||
10959 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10960 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10961 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10962 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10963 | 0, 0x561, 0x562, 0x563, 0x564, 0x565, 0x566, 0x567, | ||
10964 | 0x568, 0x569, 0x56a, 0x56b, 0x56c, 0x56d, 0x56e, 0x56f, | ||
10965 | 0x570, 0x571, 0x572, 0x573, 0x574, 0x575, 0x576, 0x577, | ||
10966 | 0x578, 0x579, 0x57a, 0x57b, 0x57c, 0x57d, 0x57e, 0x57f, | ||
10967 | 0x580, 0x581, 0x582, 0x583, 0x584, 0x585, 0x586, 0, | ||
10968 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10969 | 0, 0x531, 0x532, 0x533, 0x534, 0x535, 0x536, 0x537, | ||
10970 | 0x538, 0x539, 0x53a, 0x53b, 0x53c, 0x53d, 0x53e, 0x53f, | ||
10971 | 0x540, 0x541, 0x542, 0x543, 0x544, 0x545, 0x546, 0x547, | ||
10972 | 0x548, 0x549, 0x54a, 0x54b, 0x54c, 0x54d, 0x54e, 0x54f, | ||
10973 | 0x550, 0x551, 0x552, 0x553, 0x554, 0x555, 0x556, 0, | ||
10974 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10975 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10976 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10977 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10978 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10979 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10980 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10981 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10982 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10983 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10984 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10985 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10986 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10987 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10988 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
10989 | }; | ||
10990 | |||
10991 | static const Q_UINT16 case_1E[] = { | ||
10992 | 0x1e01, 0x1e00, 0x1e03, 0x1e02, 0x1e05, 0x1e04, 0x1e07, 0x1e06, | ||
10993 | 0x1e09, 0x1e08, 0x1e0b, 0x1e0a, 0x1e0d, 0x1e0c, 0x1e0f, 0x1e0e, | ||
10994 | 0x1e11, 0x1e10, 0x1e13, 0x1e12, 0x1e15, 0x1e14, 0x1e17, 0x1e16, | ||
10995 | 0x1e19, 0x1e18, 0x1e1b, 0x1e1a, 0x1e1d, 0x1e1c, 0x1e1f, 0x1e1e, | ||
10996 | 0x1e21, 0x1e20, 0x1e23, 0x1e22, 0x1e25, 0x1e24, 0x1e27, 0x1e26, | ||
10997 | 0x1e29, 0x1e28, 0x1e2b, 0x1e2a, 0x1e2d, 0x1e2c, 0x1e2f, 0x1e2e, | ||
10998 | 0x1e31, 0x1e30, 0x1e33, 0x1e32, 0x1e35, 0x1e34, 0x1e37, 0x1e36, | ||
10999 | 0x1e39, 0x1e38, 0x1e3b, 0x1e3a, 0x1e3d, 0x1e3c, 0x1e3f, 0x1e3e, | ||
11000 | 0x1e41, 0x1e40, 0x1e43, 0x1e42, 0x1e45, 0x1e44, 0x1e47, 0x1e46, | ||
11001 | 0x1e49, 0x1e48, 0x1e4b, 0x1e4a, 0x1e4d, 0x1e4c, 0x1e4f, 0x1e4e, | ||
11002 | 0x1e51, 0x1e50, 0x1e53, 0x1e52, 0x1e55, 0x1e54, 0x1e57, 0x1e56, | ||
11003 | 0x1e59, 0x1e58, 0x1e5b, 0x1e5a, 0x1e5d, 0x1e5c, 0x1e5f, 0x1e5e, | ||
11004 | 0x1e61, 0x1e60, 0x1e63, 0x1e62, 0x1e65, 0x1e64, 0x1e67, 0x1e66, | ||
11005 | 0x1e69, 0x1e68, 0x1e6b, 0x1e6a, 0x1e6d, 0x1e6c, 0x1e6f, 0x1e6e, | ||
11006 | 0x1e71, 0x1e70, 0x1e73, 0x1e72, 0x1e75, 0x1e74, 0x1e77, 0x1e76, | ||
11007 | 0x1e79, 0x1e78, 0x1e7b, 0x1e7a, 0x1e7d, 0x1e7c, 0x1e7f, 0x1e7e, | ||
11008 | 0x1e81, 0x1e80, 0x1e83, 0x1e82, 0x1e85, 0x1e84, 0x1e87, 0x1e86, | ||
11009 | 0x1e89, 0x1e88, 0x1e8b, 0x1e8a, 0x1e8d, 0x1e8c, 0x1e8f, 0x1e8e, | ||
11010 | 0x1e91, 0x1e90, 0x1e93, 0x1e92, 0x1e95, 0x1e94, 0, 0, | ||
11011 | 0, 0, 0, 0x1e60, 0, 0, 0, 0, | ||
11012 | 0x1ea1, 0x1ea0, 0x1ea3, 0x1ea2, 0x1ea5, 0x1ea4, 0x1ea7, 0x1ea6, | ||
11013 | 0x1ea9, 0x1ea8, 0x1eab, 0x1eaa, 0x1ead, 0x1eac, 0x1eaf, 0x1eae, | ||
11014 | 0x1eb1, 0x1eb0, 0x1eb3, 0x1eb2, 0x1eb5, 0x1eb4, 0x1eb7, 0x1eb6, | ||
11015 | 0x1eb9, 0x1eb8, 0x1ebb, 0x1eba, 0x1ebd, 0x1ebc, 0x1ebf, 0x1ebe, | ||
11016 | 0x1ec1, 0x1ec0, 0x1ec3, 0x1ec2, 0x1ec5, 0x1ec4, 0x1ec7, 0x1ec6, | ||
11017 | 0x1ec9, 0x1ec8, 0x1ecb, 0x1eca, 0x1ecd, 0x1ecc, 0x1ecf, 0x1ece, | ||
11018 | 0x1ed1, 0x1ed0, 0x1ed3, 0x1ed2, 0x1ed5, 0x1ed4, 0x1ed7, 0x1ed6, | ||
11019 | 0x1ed9, 0x1ed8, 0x1edb, 0x1eda, 0x1edd, 0x1edc, 0x1edf, 0x1ede, | ||
11020 | 0x1ee1, 0x1ee0, 0x1ee3, 0x1ee2, 0x1ee5, 0x1ee4, 0x1ee7, 0x1ee6, | ||
11021 | 0x1ee9, 0x1ee8, 0x1eeb, 0x1eea, 0x1eed, 0x1eec, 0x1eef, 0x1eee, | ||
11022 | 0x1ef1, 0x1ef0, 0x1ef3, 0x1ef2, 0x1ef5, 0x1ef4, 0x1ef7, 0x1ef6, | ||
11023 | 0x1ef9, 0x1ef8, 0, 0, 0, 0, 0, 0, | ||
11024 | }; | ||
11025 | |||
11026 | static const Q_UINT16 case_1F[] = { | ||
11027 | 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c, 0x1f0d, 0x1f0e, 0x1f0f, | ||
11028 | 0x1f00, 0x1f01, 0x1f02, 0x1f03, 0x1f04, 0x1f05, 0x1f06, 0x1f07, | ||
11029 | 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c, 0x1f1d, 0, 0, | ||
11030 | 0x1f10, 0x1f11, 0x1f12, 0x1f13, 0x1f14, 0x1f15, 0, 0, | ||
11031 | 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e, 0x1f2f, | ||
11032 | 0x1f20, 0x1f21, 0x1f22, 0x1f23, 0x1f24, 0x1f25, 0x1f26, 0x1f27, | ||
11033 | 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e, 0x1f3f, | ||
11034 | 0x1f30, 0x1f31, 0x1f32, 0x1f33, 0x1f34, 0x1f35, 0x1f36, 0x1f37, | ||
11035 | 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0, 0, | ||
11036 | 0x1f40, 0x1f41, 0x1f42, 0x1f43, 0x1f44, 0x1f45, 0, 0, | ||
11037 | 0, 0x1f59, 0, 0x1f5b, 0, 0x1f5d, 0, 0x1f5f, | ||
11038 | 0, 0x1f51, 0, 0x1f53, 0, 0x1f55, 0, 0x1f57, | ||
11039 | 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c, 0x1f6d, 0x1f6e, 0x1f6f, | ||
11040 | 0x1f60, 0x1f61, 0x1f62, 0x1f63, 0x1f64, 0x1f65, 0x1f66, 0x1f67, | ||
11041 | 0x1fba, 0x1fbb, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fda, 0x1fdb, | ||
11042 | 0x1ff8, 0x1ff9, 0x1fea, 0x1feb, 0x1ffa, 0x1ffb, 0, 0, | ||
11043 | 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f, | ||
11044 | 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87, | ||
11045 | 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f, | ||
11046 | 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97, | ||
11047 | 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf, | ||
11048 | 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7, | ||
11049 | 0x1fb8, 0x1fb9, 0, 0x1fbc, 0, 0, 0, 0, | ||
11050 | 0x1fb0, 0x1fb1, 0x1f70, 0x1f71, 0x1fb3, 0, 0x399, 0, | ||
11051 | 0, 0, 0, 0x1fcc, 0, 0, 0, 0, | ||
11052 | 0x1f72, 0x1f73, 0x1f74, 0x1f75, 0x1fc3, 0, 0, 0, | ||
11053 | 0x1fd8, 0x1fd9, 0, 0, 0, 0, 0, 0, | ||
11054 | 0x1fd0, 0x1fd1, 0x1f76, 0x1f77, 0, 0, 0, 0, | ||
11055 | 0x1fe8, 0x1fe9, 0, 0, 0, 0x1fec, 0, 0, | ||
11056 | 0x1fe0, 0x1fe1, 0x1f7a, 0x1f7b, 0x1fe5, 0, 0, 0, | ||
11057 | 0, 0, 0, 0x1ffc, 0, 0, 0, 0, | ||
11058 | 0x1f78, 0x1f79, 0x1f7c, 0x1f7d, 0x1ff3, 0, 0, 0, | ||
11059 | }; | ||
11060 | |||
11061 | static const Q_UINT16 case_21[] = { | ||
11062 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11063 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11064 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11065 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11066 | 0, 0, 0, 0, 0, 0, 0x3c9, 0, | ||
11067 | 0, 0, 0x6b, 0xe5, 0, 0, 0, 0, | ||
11068 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11069 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11070 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11071 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11072 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11073 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11074 | 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, | ||
11075 | 0x2178, 0x2179, 0x217a, 0x217b, 0x217c, 0x217d, 0x217e, 0x217f, | ||
11076 | 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, | ||
11077 | 0x2168, 0x2169, 0x216a, 0x216b, 0x216c, 0x216d, 0x216e, 0x216f, | ||
11078 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11079 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11080 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11081 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11082 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11083 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11084 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11085 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11086 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11087 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11088 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11089 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11090 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11091 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11092 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11093 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11094 | }; | ||
11095 | |||
11096 | static const Q_UINT16 case_24[] = { | ||
11097 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11098 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11099 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11100 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11101 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11102 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11103 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11104 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11105 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11106 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11107 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11108 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11109 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11110 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11111 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11112 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11113 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11114 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11115 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11116 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11117 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11118 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11119 | 0, 0, 0, 0, 0, 0, 0x24d0, 0x24d1, | ||
11120 | 0x24d2, 0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, | ||
11121 | 0x24da, 0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, | ||
11122 | 0x24e2, 0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, | ||
11123 | 0x24b6, 0x24b7, 0x24b8, 0x24b9, 0x24ba, 0x24bb, 0x24bc, 0x24bd, | ||
11124 | 0x24be, 0x24bf, 0x24c0, 0x24c1, 0x24c2, 0x24c3, 0x24c4, 0x24c5, | ||
11125 | 0x24c6, 0x24c7, 0x24c8, 0x24c9, 0x24ca, 0x24cb, 0x24cc, 0x24cd, | ||
11126 | 0x24ce, 0x24cf, 0, 0, 0, 0, 0, 0, | ||
11127 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11128 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11129 | }; | ||
11130 | |||
11131 | static const Q_UINT16 case_FF[] = { | ||
11132 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11133 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11134 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11135 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11136 | 0, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, | ||
11137 | 0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, | ||
11138 | 0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57, | ||
11139 | 0xff58, 0xff59, 0xff5a, 0, 0, 0, 0, 0, | ||
11140 | 0, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, | ||
11141 | 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, | ||
11142 | 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, | ||
11143 | 0xff38, 0xff39, 0xff3a, 0, 0, 0, 0, 0, | ||
11144 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11145 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11146 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11147 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11148 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11149 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11150 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11151 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11152 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11153 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11154 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11155 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11156 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11157 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11158 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11159 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11160 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11161 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11162 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11163 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11164 | }; | ||
11165 | |||
11166 | static const Q_UINT16 * const case_info[256] = { | ||
11167 | case_00, case_01, case_02, case_03, case_04, case_05, 0, 0, | ||
11168 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11169 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11170 | 0, 0, 0, 0, 0, 0, case_1E, case_1F, | ||
11171 | 0, case_21, 0, 0, case_24, 0, 0, 0, | ||
11172 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11173 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11174 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11175 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11176 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11177 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11178 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11179 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11180 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11181 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11182 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11183 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11184 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11185 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11186 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11187 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11188 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11189 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11190 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11191 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11192 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11193 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11194 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11195 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11196 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11197 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11198 | 0, 0, 0, 0, 0, 0, 0, case_FF, | ||
11199 | }; | ||
11200 | // 39162 bytes | ||
11201 | |||
11202 | static const Q_INT8 num_00[] = { | ||
11203 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11204 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11205 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11206 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11207 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11208 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11209 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11210 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11211 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11212 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11213 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11214 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11215 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11216 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11217 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11218 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11219 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11220 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11221 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11222 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11223 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11224 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11225 | -1, -1, 2, 3, -1, -1, -1, -1, | ||
11226 | -1, 1, -1, -1, -1, -1, -1, -1, | ||
11227 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11228 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11229 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11230 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11231 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11232 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11233 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11234 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11235 | }; | ||
11236 | |||
11237 | static const Q_INT8 num_06[] = { | ||
11238 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11239 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11240 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11241 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11242 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11243 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11244 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11245 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11246 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11247 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11248 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11249 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11250 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11251 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11252 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11253 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11254 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11255 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11256 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11257 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11258 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11259 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11260 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11261 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11262 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11263 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11264 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11265 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11266 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11267 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11268 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11269 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11270 | }; | ||
11271 | |||
11272 | static const Q_INT8 num_09[] = { | ||
11273 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11274 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11275 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11276 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11277 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11278 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11279 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11280 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11281 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11282 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11283 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11284 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11285 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11286 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11287 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11288 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11289 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11290 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11291 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11292 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11293 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11294 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11295 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11296 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11297 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11298 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11299 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11300 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11301 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11302 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11303 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11304 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11305 | }; | ||
11306 | |||
11307 | static const Q_INT8 num_0B[] = { | ||
11308 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11309 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11310 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11311 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11312 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11313 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11314 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11315 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11316 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11317 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11318 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11319 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11320 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11321 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11322 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11323 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11324 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11325 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11326 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11327 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11328 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11329 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11330 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11331 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11332 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11333 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11334 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11335 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11336 | -1, -1, -1, -1, -1, -1, -1, 1, | ||
11337 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11338 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11339 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11340 | }; | ||
11341 | |||
11342 | static const Q_INT8 num_0D[] = { | ||
11343 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11344 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11345 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11346 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11347 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11348 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11349 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11350 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11351 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11352 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11353 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11354 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11355 | -1, -1, -1, -1, -1, -1, 0, 1, | ||
11356 | 2, 3, 4, 5, 6, 7, 8, 9, | ||
11357 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11358 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11359 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11360 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11361 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11362 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11363 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11364 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11365 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11366 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11367 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11368 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11369 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11370 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11371 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11372 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11373 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11374 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11375 | }; | ||
11376 | |||
11377 | static const Q_INT8 num_0E[] = { | ||
11378 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11379 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11380 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11381 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11382 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11383 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11384 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11385 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11386 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11387 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11388 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11389 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11390 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11391 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11392 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11393 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11394 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11395 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11396 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11397 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11398 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11399 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11400 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11401 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11402 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11403 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11404 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11405 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11406 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11407 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11408 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11409 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11410 | }; | ||
11411 | |||
11412 | static const Q_INT8 num_0F[] = { | ||
11413 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11414 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11415 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11416 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11417 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11418 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11419 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11420 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11421 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11422 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11423 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11424 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11425 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11426 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11427 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11428 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11429 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11430 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11431 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11432 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11433 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11434 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11435 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11436 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11437 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11438 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11439 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11440 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11441 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11442 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11443 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11444 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11445 | }; | ||
11446 | |||
11447 | static const Q_INT8 num_10[] = { | ||
11448 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11449 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11450 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11451 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11452 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11453 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11454 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11455 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11456 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11457 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11458 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11459 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11460 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11461 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11462 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11463 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11464 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11465 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11466 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11467 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11468 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11469 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11470 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11471 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11472 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11473 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11474 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11475 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11476 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11477 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11478 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11479 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11480 | }; | ||
11481 | |||
11482 | static const Q_INT8 num_13[] = { | ||
11483 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11484 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11485 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11486 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11487 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11488 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11489 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11490 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11491 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11492 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11493 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11494 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11495 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11496 | -1, 1, 2, 3, 4, 5, 6, 7, | ||
11497 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11498 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11499 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11500 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11501 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11502 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11503 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11504 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11505 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11506 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11507 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11508 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11509 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11510 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11511 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11512 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11513 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11514 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11515 | }; | ||
11516 | |||
11517 | static const Q_INT8 num_17[] = { | ||
11518 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11519 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11520 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11521 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11522 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11523 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11524 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11525 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11526 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11527 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11528 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11529 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11530 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11531 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11532 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11533 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11534 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11535 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11536 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11537 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11538 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11539 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11540 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11541 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11542 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11543 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11544 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11545 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11546 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11547 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11548 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11549 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11550 | }; | ||
11551 | |||
11552 | static const Q_INT8 num_18[] = { | ||
11553 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11554 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11555 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11556 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11557 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11558 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11559 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11560 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11561 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11562 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11563 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11564 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11565 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11566 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11567 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11568 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11569 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11570 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11571 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11572 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11573 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11574 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11575 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11576 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11577 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11578 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11579 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11580 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11581 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11582 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11583 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11584 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11585 | }; | ||
11586 | |||
11587 | static const Q_INT8 num_20[] = { | ||
11588 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11589 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11590 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11591 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11592 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11593 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11594 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11595 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11596 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11597 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11598 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11599 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11600 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11601 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11602 | 0, -1, -1, -1, 4, 5, 6, 7, | ||
11603 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11604 | 0, 1, 2, 3, 4, 5, 6, 7, | ||
11605 | 8, 9, -1, -1, -1, -1, -1, -1, | ||
11606 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11607 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11608 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11609 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11610 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11611 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11612 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11613 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11614 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11615 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11616 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11617 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11618 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11619 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11620 | }; | ||
11621 | |||
11622 | static const Q_INT8 num_24[] = { | ||
11623 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11624 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11625 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11626 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11627 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11628 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11629 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11630 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11631 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11632 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11633 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11634 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11635 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11636 | 9, -1, -1, -1, -1, -1, -1, -1, | ||
11637 | -1, -1, -1, -1, 1, 2, 3, 4, | ||
11638 | 5, 6, 7, 8, 9, -1, -1, -1, | ||
11639 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11640 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11641 | 9, -1, -1, -1, -1, -1, -1, -1, | ||
11642 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11643 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11644 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11645 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11646 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11647 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11648 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11649 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11650 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11651 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11652 | -1, -1, 0, -1, -1, -1, -1, -1, | ||
11653 | -1, -1, -1, -1, -1, 1, 2, 3, | ||
11654 | 4, 5, 6, 7, 8, 9, -1, -1, | ||
11655 | }; | ||
11656 | |||
11657 | static const Q_INT8 num_27[] = { | ||
11658 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11659 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11660 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11661 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11662 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11663 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11664 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11665 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11666 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11667 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11668 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11669 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11670 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11671 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11672 | -1, -1, -1, -1, -1, -1, 1, 2, | ||
11673 | 3, 4, 5, 6, 7, 8, 9, -1, | ||
11674 | 1, 2, 3, 4, 5, 6, 7, 8, | ||
11675 | 9, -1, 1, 2, 3, 4, 5, 6, | ||
11676 | 7, 8, 9, -1, -1, -1, -1, -1, | ||
11677 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11678 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11679 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11680 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11681 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11682 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11683 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11684 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11685 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11686 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11687 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11688 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11689 | -1, -1, -1, -1, -1, -1, -1, -1, | ||
11690 | }; | ||
11691 | |||
11692 | static const Q_INT8 * const decimal_info[256] = { | ||
11693 | num_00, 0, 0, 0, 0, 0, num_06, 0, | ||
11694 | 0, num_09, num_09, num_0B, num_09, num_0D, num_0E, num_0F, | ||
11695 | num_10, 0, 0, num_13, 0, 0, 0, num_17, | ||
11696 | num_18, 0, 0, 0, 0, 0, 0, 0, | ||
11697 | num_20, 0, 0, 0, num_24, 0, 0, num_27, | ||
11698 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11699 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11700 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11701 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11702 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11703 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11704 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11705 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11706 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11707 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11708 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11709 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11710 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11711 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11712 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11713 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11714 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11715 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11716 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11717 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11718 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11719 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11720 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11721 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11722 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11723 | 0, 0, 0, 0, 0, 0, 0, 0, | ||
11724 | 0, 0, 0, 0, 0, 0, 0, num_18, | ||
11725 | }; | ||
11726 | // 47354 bytes | ||
11727 | |||
11728 | // END OF GENERATED DATA | ||
11729 | |||
11730 | #endif | ||
11731 | |||
11732 | static inline QChar::Category category( const QChar &c ) | ||
11733 | { | ||
11734 | #ifndef QT_NO_UNICODETABLES | ||
11735 | return (QChar::Category)(unicode_info[c.row()][c.cell()]); | ||
11736 | #else | ||
11737 | // ### just ASCII | ||
11738 | if ( c.unicode() < 0x100 ) { | ||
11739 | return (QChar::Category)(ui_00[c.unicode()]); | ||
11740 | } | ||
11741 | return QChar::Letter_Uppercase; //####### | ||
11742 | #endif | ||
11743 | } | ||
11744 | |||
11745 | static inline QChar lower( const QChar &c ) | ||
11746 | { | ||
11747 | #ifndef QT_NO_UNICODETABLES | ||
11748 | uchar row = c.row(); | ||
11749 | uchar cell = c.cell(); | ||
11750 | if ( unicode_info[row][cell] != QChar::Letter_Uppercase ) | ||
11751 | return c; | ||
11752 | Q_UINT16 lower = *( case_info[row] + cell ); | ||
11753 | if ( lower == 0 ) | ||
11754 | return c; | ||
11755 | return lower; | ||
11756 | #else | ||
11757 | if ( c.row() ) | ||
11758 | return c; | ||
11759 | else | ||
11760 | return QChar( tolower((uchar) c.latin1()) ); | ||
11761 | #endif | ||
11762 | } | ||
11763 | |||
11764 | static inline QChar upper( const QChar &c ) | ||
11765 | { | ||
11766 | #ifndef QT_NO_UNICODETABLES | ||
11767 | uchar row = c.row(); | ||
11768 | uchar cell = c.cell(); | ||
11769 | if ( unicode_info[row][cell] != QChar::Letter_Lowercase ) | ||
11770 | return c; | ||
11771 | Q_UINT16 upper = *(case_info[row]+cell); | ||
11772 | if ( upper == 0 ) | ||
11773 | return c; | ||
11774 | return upper; | ||
11775 | #else | ||
11776 | if ( c.row() ) | ||
11777 | return c; | ||
11778 | else | ||
11779 | return QChar( toupper((uchar) c.latin1()) ); | ||
11780 | #endif | ||
11781 | } | ||
11782 | |||
11783 | static inline QChar::Direction direction( const QChar &c ) | ||
11784 | { | ||
11785 | #ifndef QT_NO_UNICODETABLES | ||
11786 | const Q_UINT8 *rowp = direction_info[c.row()]; | ||
11787 | if(!rowp) return QChar::DirL; | ||
11788 | return (QChar::Direction) ( *(rowp+c.cell()) & 0x1f ); | ||
11789 | #else | ||
11790 | return QChar::DirL; | ||
11791 | #endif | ||
11792 | } | ||
11793 | |||
11794 | static inline bool mirrored( const QChar &c ) | ||
11795 | { | ||
11796 | #ifndef QT_NO_UNICODETABLES | ||
11797 | const Q_UINT8 *rowp = direction_info[c.row()]; | ||
11798 | if ( !rowp ) | ||
11799 | return FALSE; | ||
11800 | return *(rowp+c.cell())>128; | ||
11801 | #else | ||
11802 | return FALSE; | ||
11803 | #endif | ||
11804 | } | ||
11805 | |||
11806 | #ifndef QT_NO_UNICODETABLES | ||
11807 | static const Q_UINT16 symmetricPairs[] = { | ||
11808 | 0x0028, 0x0029, 0x003C, 0x003E, 0x005B, 0x005D, 0x007B, 0x007D, | ||
11809 | 0x00AB, 0x00BB, 0x2039, 0x203A, 0x2045, 0x2046, 0x207D, 0x207E, | ||
11810 | 0x208D, 0x208E, 0x2208, 0x220B, 0x2209, 0x220C, 0x220A, 0x220D, | ||
11811 | 0x2215, 0x29F5, 0x223C, 0x223D, 0x2243, 0x22CD, 0x2252, 0x2253, | ||
11812 | 0x2254, 0x2255, 0x2264, 0x2265, 0x2266, 0x2267, 0x2268, 0x2269, | ||
11813 | 0x226A, 0x226B, 0x226E, 0x226F, 0x2270, 0x2271, 0x2272, 0x2273, | ||
11814 | 0x2274, 0x2275, 0x2276, 0x2277, 0x2278, 0x2279, 0x227A, 0x227B, | ||
11815 | 0x227C, 0x227D, 0x227E, 0x227F, 0x2280, 0x2281, 0x2282, 0x2283, | ||
11816 | 0x2284, 0x2285, 0x2286, 0x2287, 0x2288, 0x2289, 0x228A, 0x228B, | ||
11817 | 0x228F, 0x2290, 0x2291, 0x2292, 0x2298, 0x29B8, 0x22A2, 0x22A3, | ||
11818 | 0x22A6, 0x2ADE, 0x22A8, 0x2AE4, 0x22A9, 0x2AE3, 0x22AB, 0x2AE5, | ||
11819 | 0x22B0, 0x22B1, 0x22B2, 0x22B3, 0x22B4, 0x22B5, 0x22B6, 0x22B7, | ||
11820 | 0x22C9, 0x22CA, 0x22CB, 0x22CC, 0x22D0, 0x22D1, 0x22D6, 0x22D7, | ||
11821 | 0x22D8, 0x22D9, 0x22DA, 0x22DB, 0x22DC, 0x22DD, 0x22DE, 0x22DF, | ||
11822 | 0x22E0, 0x22E1, 0x22E2, 0x22E3, 0x22E4, 0x22E5, 0x22E6, 0x22E7, | ||
11823 | 0x22E8, 0x22E9, 0x22EA, 0x22EB, 0x22EC, 0x22ED, 0x22F0, 0x22F1, | ||
11824 | 0x22F2, 0x22FA, 0x22F3, 0x22FB, 0x22F4, 0x22FC, 0x22F6, 0x22FD, | ||
11825 | 0x22F7, 0x22FE, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, | ||
11826 | 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, | ||
11827 | 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27D5, 0x27D6, | ||
11828 | 0x27DD, 0x27DE, 0x27E2, 0x27E3, 0x27E4, 0x27E5, 0x27E6, 0x27E7, | ||
11829 | 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x2983, 0x2984, 0x2985, 0x2986, | ||
11830 | 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x2990, | ||
11831 | 0x298E, 0x298F, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, | ||
11832 | 0x2997, 0x2998, 0x29C0, 0x29C1, 0x29C4, 0x29C5, 0x29CF, 0x29D0, | ||
11833 | 0x29D1, 0x29D2, 0x29D4, 0x29D5, 0x29D8, 0x29D9, 0x29DA, 0x29DB, | ||
11834 | 0x29F8, 0x29F9, 0x29FC, 0x29FD, 0x2A2B, 0x2A2C, 0x2A34, 0x2A35, | ||
11835 | 0x2A3C, 0x2A3D, 0x2A64, 0x2A65, 0x2A79, 0x2A7A, 0x2A7D, 0x2A7E, | ||
11836 | 0x2A7F, 0x2A80, 0x2A81, 0x2A82, 0x2A83, 0x2A84, 0x2A8B, 0x2A8C, | ||
11837 | 0x2A91, 0x2A92, 0x2A93, 0x2A94, 0x2A95, 0x2A96, 0x2A97, 0x2A98, | ||
11838 | 0x2A99, 0x2A9A, 0x2A9B, 0x2A9C, 0x2AA1, 0x2AA2, 0x2AA6, 0x2AA7, | ||
11839 | 0x2AA8, 0x2AA9, 0x2AAA, 0x2AAB, 0x2AAC, 0x2AAD, 0x2AAF, 0x2AB0, | ||
11840 | 0x2AB3, 0x2AB4, 0x2ABB, 0x2ABC, 0x2ABD, 0x2ABE, 0x2ABF, 0x2AC0, | ||
11841 | 0x2AC1, 0x2AC2, 0x2AC3, 0x2AC4, 0x2AC5, 0x2AC6, 0x2ACD, 0x2ACE, | ||
11842 | 0x2ACF, 0x2AD0, 0x2AD1, 0x2AD2, 0x2AD3, 0x2AD4, 0x2AD5, 0x2AD6, | ||
11843 | 0x2AEC, 0x2AED, 0x2AF7, 0x2AF8, 0x2AF9, 0x2AFA, 0x3008, 0x3009, | ||
11844 | 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, | ||
11845 | 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, | ||
11846 | 0xFF08, 0xFF09, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, | ||
11847 | 0xFF5F, 0xFF60, 0xFF62, 0xFF63, | ||
11848 | }; | ||
11849 | |||
11850 | // ### shouldn't this be const? | ||
11851 | static const int symmetricPairsSize = | ||
11852 | sizeof(symmetricPairs)/sizeof(symmetricPairs[0]); | ||
11853 | |||
11854 | /* | ||
11855 | * ---------------------------------------------------------------------- | ||
11856 | * End of unicode tables | ||
11857 | * ---------------------------------------------------------------------- | ||
11858 | */ | ||
11859 | |||
11860 | #endif | ||
11861 | |||
11862 | static int ucstrcmp( const QString &as, const QString &bs ) | ||
11863 | { | ||
11864 | const QChar *a = as.unicode(); | ||
11865 | const QChar *b = bs.unicode(); | ||
11866 | if ( a == b ) | ||
11867 | return 0; | ||
11868 | if ( a == 0 ) | ||
11869 | return 1; | ||
11870 | if ( b == 0 ) | ||
11871 | return -1; | ||
11872 | int l=QMIN(as.length(),bs.length()); | ||
11873 | while ( l-- && *a == *b ) | ||
11874 | a++,b++; | ||
11875 | if ( l==-1 ) | ||
11876 | return ( as.length()-bs.length() ); | ||
11877 | return a->unicode() - b->unicode(); | ||
11878 | } | ||
11879 | |||
11880 | static int ucstrncmp( const QChar *a, const QChar *b, int l ) | ||
11881 | { | ||
11882 | while ( l-- && *a == *b ) | ||
11883 | a++,b++; | ||
11884 | if ( l==-1 ) | ||
11885 | return 0; | ||
11886 | return a->unicode() - b->unicode(); | ||
11887 | } | ||
11888 | |||
11889 | static int ucstrnicmp( const QChar *a, const QChar *b, int l ) | ||
11890 | { | ||
11891 | while ( l-- && ::lower( *a ) == ::lower( *b ) ) | ||
11892 | a++,b++; | ||
11893 | if ( l==-1 ) | ||
11894 | return 0; | ||
11895 | return ::lower( *a ).unicode() - ::lower( *b ).unicode(); | ||
11896 | } | ||
11897 | |||
11898 | static uint computeNewMax( uint len ) | ||
11899 | { | ||
11900 | uint newMax = 4; | ||
11901 | while ( newMax < len ) | ||
11902 | newMax *= 2; | ||
11903 | // try to spare some memory | ||
11904 | if ( newMax >= 1024 * 1024 && len <= newMax - (newMax >> 2) ) | ||
11905 | newMax -= newMax >> 2; | ||
11906 | return newMax; | ||
11907 | } | ||
11908 | |||
11909 | /*! | ||
11910 | \class QCharRef qstring.h | ||
11911 | \reentrant | ||
11912 | \brief The QCharRef class is a helper class for QString. | ||
11913 | |||
11914 | \ingroup text | ||
11915 | |||
11916 | When you get an object of type QCharRef, if you can assign to it, | ||
11917 | the assignment will apply to the character in the string from | ||
11918 | which you got the reference. That is its whole purpose in life. | ||
11919 | The QCharRef becomes invalid once modifications are made to the | ||
11920 | string: if you want to keep the character, copy it into a QChar. | ||
11921 | |||
11922 | Most of the QChar member functions also exist in QCharRef. | ||
11923 | However, they are not explicitly documented here. | ||
11924 | |||
11925 | \sa QString::operator[]() QString::at() QChar | ||
11926 | */ | ||
11927 | |||
11928 | /*! | ||
11929 | \class QChar qstring.h | ||
11930 | \reentrant | ||
11931 | \brief The QChar class provides a lightweight Unicode character. | ||
11932 | |||
11933 | \ingroup text | ||
11934 | |||
11935 | Unicode characters are (so far) 16-bit entities without any markup | ||
11936 | or structure. This class represents such an entity. It is | ||
11937 | lightweight, so it can be used everywhere. Most compilers treat it | ||
11938 | like a "short int". (In a few years it may be necessary to make | ||
11939 | QChar 32-bit when more than 65536 Unicode code points have been | ||
11940 | defined and come into use.) | ||
11941 | |||
11942 | QChar provides a full complement of testing/classification | ||
11943 | functions, converting to and from other formats, converting from | ||
11944 | composed to decomposed Unicode, and trying to compare and | ||
11945 | case-convert if you ask it to. | ||
11946 | |||
11947 | The classification functions include functions like those in | ||
11948 | ctype.h, but operating on the full range of Unicode characters. | ||
11949 | They all return TRUE if the character is a certain type of | ||
11950 | character; otherwise they return FALSE. These classification | ||
11951 | functions are isNull() (returns TRUE if the character is U+0000), | ||
11952 | isPrint() (TRUE if the character is any sort of printable | ||
11953 | character, including whitespace), isPunct() (any sort of | ||
11954 | punctation), isMark() (Unicode Mark), isLetter (a letter), | ||
11955 | isNumber() (any sort of numeric character), isLetterOrNumber(), | ||
11956 | and isDigit() (decimal digits). All of these are wrappers around | ||
11957 | category() which return the Unicode-defined category of each | ||
11958 | character. | ||
11959 | |||
11960 | QChar further provides direction(), which indicates the "natural" | ||
11961 | writing direction of this character. The joining() function | ||
11962 | indicates how the character joins with its neighbors (needed | ||
11963 | mostly for Arabic) and finally mirrored(), which indicates whether | ||
11964 | the character needs to be mirrored when it is printed in its | ||
11965 | "unnatural" writing direction. | ||
11966 | |||
11967 | Composed Unicode characters (like å) can be converted to | ||
11968 | decomposed Unicode ("a" followed by "ring above") by using | ||
11969 | decomposition(). | ||
11970 | |||
11971 | In Unicode, comparison is not necessarily possible and case | ||
11972 | conversion is very difficult at best. Unicode, covering the | ||
11973 | "entire" world, also includes most of the world's case and sorting | ||
11974 | problems. Qt tries, but not very hard: operator==() and friends | ||
11975 | will do comparison based purely on the numeric Unicode value (code | ||
11976 | point) of the characters, and upper() and lower() will do case | ||
11977 | changes when the character has a well-defined upper/lower-case | ||
11978 | equivalent. There is no provision for locale-dependent case | ||
11979 | folding rules or comparison; these functions are meant to be fast | ||
11980 | so they can be used unambiguously in data structures. (See | ||
11981 | QString::localeAwareCompare() though.) | ||
11982 | |||
11983 | The conversion functions include unicode() (to a scalar), latin1() | ||
11984 | (to scalar, but converts all non-Latin1 characters to 0), row() | ||
11985 | (gives the Unicode row), cell() (gives the Unicode cell), | ||
11986 | digitValue() (gives the integer value of any of the numerous digit | ||
11987 | characters), and a host of constructors. | ||
11988 | |||
11989 | More information can be found in the document \link unicode.html | ||
11990 | About Unicode. \endlink | ||
11991 | |||
11992 | \sa QString QCharRef | ||
11993 | */ | ||
11994 | |||
11995 | /*! | ||
11996 | \enum QChar::Category | ||
11997 | |||
11998 | This enum maps the Unicode character categories. | ||
11999 | |||
12000 | The following characters are normative in Unicode: | ||
12001 | |||
12002 | \value Mark_NonSpacing Unicode class name Mn | ||
12003 | |||
12004 | \value Mark_SpacingCombining Unicode class name Mc | ||
12005 | |||
12006 | \value Mark_Enclosing Unicode class name Me | ||
12007 | |||
12008 | \value Number_DecimalDigit Unicode class name Nd | ||
12009 | |||
12010 | \value Number_Letter Unicode class name Nl | ||
12011 | |||
12012 | \value Number_Other Unicode class name No | ||
12013 | |||
12014 | \value Separator_Space Unicode class name Zs | ||
12015 | |||
12016 | \value Separator_Line Unicode class name Zl | ||
12017 | |||
12018 | \value Separator_Paragraph Unicode class name Zp | ||
12019 | |||
12020 | \value Other_Control Unicode class name Cc | ||
12021 | |||
12022 | \value Other_Format Unicode class name Cf | ||
12023 | |||
12024 | \value Other_Surrogate Unicode class name Cs | ||
12025 | |||
12026 | \value Other_PrivateUse Unicode class name Co | ||
12027 | |||
12028 | \value Other_NotAssigned Unicode class name Cn | ||
12029 | |||
12030 | |||
12031 | The following categories are informative in Unicode: | ||
12032 | |||
12033 | \value Letter_Uppercase Unicode class name Lu | ||
12034 | |||
12035 | \value Letter_Lowercase Unicode class name Ll | ||
12036 | |||
12037 | \value Letter_Titlecase Unicode class name Lt | ||
12038 | |||
12039 | \value Letter_Modifier Unicode class name Lm | ||
12040 | |||
12041 | \value Letter_Other Unicode class name Lo | ||
12042 | |||
12043 | \value Punctuation_Connector Unicode class name Pc | ||
12044 | |||
12045 | \value Punctuation_Dash Unicode class name Pd | ||
12046 | |||
12047 | \value Punctuation_Open Unicode class name Ps | ||
12048 | |||
12049 | \value Punctuation_Close Unicode class name Pe | ||
12050 | |||
12051 | \value Punctuation_InitialQuote Unicode class name Pi | ||
12052 | |||
12053 | \value Punctuation_FinalQuote Unicode class name Pf | ||
12054 | |||
12055 | \value Punctuation_Other Unicode class name Po | ||
12056 | |||
12057 | \value Symbol_Math Unicode class name Sm | ||
12058 | |||
12059 | \value Symbol_Currency Unicode class name Sc | ||
12060 | |||
12061 | \value Symbol_Modifier Unicode class name Sk | ||
12062 | |||
12063 | \value Symbol_Other Unicode class name So | ||
12064 | |||
12065 | |||
12066 | There are two categories that are specific to Qt: | ||
12067 | |||
12068 | \value NoCategory used when Qt is dazed and confused and cannot | ||
12069 | make sense of anything. | ||
12070 | |||
12071 | \value Punctuation_Dask old typo alias for Punctuation_Dash | ||
12072 | |||
12073 | */ | ||
12074 | |||
12075 | /*! | ||
12076 | \enum QChar::Direction | ||
12077 | |||
12078 | This enum type defines the Unicode direction attributes. See \link | ||
12079 | http://www.unicode.org/ the Unicode Standard\endlink for a | ||
12080 | description of the values. | ||
12081 | |||
12082 | In order to conform to C/C++ naming conventions "Dir" is prepended | ||
12083 | to the codes used in the Unicode Standard. | ||
12084 | */ | ||
12085 | |||
12086 | /*! | ||
12087 | \enum QChar::Decomposition | ||
12088 | |||
12089 | This enum type defines the Unicode decomposition attributes. See | ||
12090 | \link http://www.unicode.org/ the Unicode Standard\endlink for a | ||
12091 | description of the values. | ||
12092 | */ | ||
12093 | |||
12094 | /*! | ||
12095 | \enum QChar::Joining | ||
12096 | |||
12097 | This enum type defines the Unicode joining attributes. See \link | ||
12098 | http://www.unicode.org/ the Unicode Standard\endlink for a | ||
12099 | description of the values. | ||
12100 | */ | ||
12101 | |||
12102 | /*! | ||
12103 | \enum QChar::CombiningClass | ||
12104 | |||
12105 | This enum type defines names for some of the Unicode combining | ||
12106 | classes. See \link http://www.unicode.org/ the Unicode | ||
12107 | Standard\endlink for a description of the values. | ||
12108 | */ | ||
12109 | |||
12110 | /*! | ||
12111 | \fn void QChar::setCell( uchar cell ) | ||
12112 | \internal | ||
12113 | */ | ||
12114 | |||
12115 | /*! | ||
12116 | \fn void QChar::setRow( uchar row ) | ||
12117 | \internal | ||
12118 | */ | ||
12119 | |||
12120 | |||
12121 | /*! | ||
12122 | \fn QChar::QChar() | ||
12123 | |||
12124 | Constructs a null QChar (one that isNull()). | ||
12125 | */ | ||
12126 | |||
12127 | |||
12128 | /*! | ||
12129 | \fn QChar::QChar( char c ) | ||
12130 | |||
12131 | Constructs a QChar corresponding to ASCII/Latin1 character \a c. | ||
12132 | */ | ||
12133 | |||
12134 | |||
12135 | /*! | ||
12136 | \fn QChar::QChar( uchar c ) | ||
12137 | |||
12138 | Constructs a QChar corresponding to ASCII/Latin1 character \a c. | ||
12139 | */ | ||
12140 | |||
12141 | |||
12142 | /*! | ||
12143 | \fn QChar::QChar( uchar c, uchar r ) | ||
12144 | |||
12145 | Constructs a QChar for Unicode cell \a c in row \a r. | ||
12146 | */ | ||
12147 | |||
12148 | |||
12149 | /*! | ||
12150 | \fn QChar::QChar( const QChar& c ) | ||
12151 | |||
12152 | Constructs a copy of \a c. This is a deep copy, if such a | ||
12153 | lightweight object can be said to have deep copies. | ||
12154 | */ | ||
12155 | |||
12156 | |||
12157 | /*! | ||
12158 | \fn QChar::QChar( ushort rc ) | ||
12159 | |||
12160 | Constructs a QChar for the character with Unicode code point \a rc. | ||
12161 | */ | ||
12162 | |||
12163 | |||
12164 | /*! | ||
12165 | \fn QChar::QChar( short rc ) | ||
12166 | |||
12167 | Constructs a QChar for the character with Unicode code point \a rc. | ||
12168 | */ | ||
12169 | |||
12170 | |||
12171 | /*! | ||
12172 | \fn QChar::QChar( uint rc ) | ||
12173 | |||
12174 | Constructs a QChar for the character with Unicode code point \a rc. | ||
12175 | */ | ||
12176 | |||
12177 | |||
12178 | /*! | ||
12179 | \fn QChar::QChar( int rc ) | ||
12180 | |||
12181 | Constructs a QChar for the character with Unicode code point \a rc. | ||
12182 | */ | ||
12183 | |||
12184 | |||
12185 | /*! | ||
12186 | \fn bool QChar::networkOrdered () | ||
12187 | |||
12188 | \obsolete | ||
12189 | |||
12190 | Returns TRUE if this character is in network byte order (MSB | ||
12191 | first); otherwise returns FALSE. This is platform dependent. | ||
12192 | */ | ||
12193 | |||
12194 | |||
12195 | /*! | ||
12196 | \fn bool QChar::isNull() const | ||
12197 | |||
12198 | Returns TRUE if the character is the Unicode character 0x0000, | ||
12199 | i.e. ASCII NUL; otherwise returns FALSE. | ||
12200 | */ | ||
12201 | |||
12202 | /*! | ||
12203 | \fn uchar QChar::cell () const | ||
12204 | |||
12205 | Returns the cell (least significant byte) of the Unicode | ||
12206 | character. | ||
12207 | */ | ||
12208 | |||
12209 | /*! | ||
12210 | \fn uchar QChar::row () const | ||
12211 | |||
12212 | Returns the row (most significant byte) of the Unicode character. | ||
12213 | */ | ||
12214 | |||
12215 | /*! | ||
12216 | Returns TRUE if the character is a printable character; otherwise | ||
12217 | returns FALSE. This is any character not of category Cc or Cn. | ||
12218 | |||
12219 | Note that this gives no indication of whether the character is | ||
12220 | available in a particular \link QFont font\endlink. | ||
12221 | */ | ||
12222 | bool QChar::isPrint() const | ||
12223 | { | ||
12224 | Category c = ::category( *this ); | ||
12225 | return !(c == Other_Control || c == Other_NotAssigned); | ||
12226 | } | ||
12227 | |||
12228 | /*! | ||
12229 | Returns TRUE if the character is a separator character | ||
12230 | (Separator_* categories); otherwise returns FALSE. | ||
12231 | */ | ||
12232 | bool QChar::isSpace() const | ||
12233 | { | ||
12234 | if( ucs >= 9 && ucs <=13 ) return TRUE; | ||
12235 | Category c = ::category( *this ); | ||
12236 | return c >= Separator_Space && c <= Separator_Paragraph; | ||
12237 | } | ||
12238 | |||
12239 | /*! | ||
12240 | Returns TRUE if the character is a mark (Mark_* categories); | ||
12241 | otherwise returns FALSE. | ||
12242 | */ | ||
12243 | bool QChar::isMark() const | ||
12244 | { | ||
12245 | Category c = ::category( *this ); | ||
12246 | return c >= Mark_NonSpacing && c <= Mark_Enclosing; | ||
12247 | } | ||
12248 | |||
12249 | /*! | ||
12250 | Returns TRUE if the character is a punctuation mark (Punctuation_* | ||
12251 | categories); otherwise returns FALSE. | ||
12252 | */ | ||
12253 | bool QChar::isPunct() const | ||
12254 | { | ||
12255 | Category c = ::category( *this ); | ||
12256 | return (c >= Punctuation_Connector && c <= Punctuation_Other); | ||
12257 | } | ||
12258 | |||
12259 | /*! | ||
12260 | Returns TRUE if the character is a letter (Letter_* categories); | ||
12261 | otherwise returns FALSE. | ||
12262 | */ | ||
12263 | bool QChar::isLetter() const | ||
12264 | { | ||
12265 | Category c = ::category( *this ); | ||
12266 | return (c >= Letter_Uppercase && c <= Letter_Other); | ||
12267 | } | ||
12268 | |||
12269 | /*! | ||
12270 | Returns TRUE if the character is a number (of any sort - Number_* | ||
12271 | categories); otherwise returns FALSE. | ||
12272 | |||
12273 | \sa isDigit() | ||
12274 | */ | ||
12275 | bool QChar::isNumber() const | ||
12276 | { | ||
12277 | Category c = ::category( *this ); | ||
12278 | return c >= Number_DecimalDigit && c <= Number_Other; | ||
12279 | } | ||
12280 | |||
12281 | /*! | ||
12282 | Returns TRUE if the character is a letter or number (Letter_* or | ||
12283 | Number_* categories); otherwise returns FALSE. | ||
12284 | */ | ||
12285 | bool QChar::isLetterOrNumber() const | ||
12286 | { | ||
12287 | Category c = ::category( *this ); | ||
12288 | return (c >= Letter_Uppercase && c <= Letter_Other) | ||
12289 | || (c >= Number_DecimalDigit && c <= Number_Other); | ||
12290 | } | ||
12291 | |||
12292 | |||
12293 | /*! | ||
12294 | Returns TRUE if the character is a decimal digit | ||
12295 | (Number_DecimalDigit); otherwise returns FALSE. | ||
12296 | */ | ||
12297 | bool QChar::isDigit() const | ||
12298 | { | ||
12299 | return (::category( *this ) == Number_DecimalDigit); | ||
12300 | } | ||
12301 | |||
12302 | |||
12303 | /*! | ||
12304 | Returns TRUE if the character is a symbol (Symbol_* categories); | ||
12305 | otherwise returns FALSE. | ||
12306 | */ | ||
12307 | bool QChar::isSymbol() const | ||
12308 | { | ||
12309 | Category c = ::category( *this ); | ||
12310 | return c >= Symbol_Math && c <= Symbol_Other; | ||
12311 | } | ||
12312 | |||
12313 | /*! | ||
12314 | Returns the numeric value of the digit, or -1 if the character is | ||
12315 | not a digit. | ||
12316 | */ | ||
12317 | int QChar::digitValue() const | ||
12318 | { | ||
12319 | #ifndef QT_NO_UNICODETABLES | ||
12320 | const Q_INT8 *dec_row = decimal_info[row()]; | ||
12321 | if( !dec_row ) | ||
12322 | return -1; | ||
12323 | return dec_row[cell()]; | ||
12324 | #else | ||
12325 | // ##### just latin1 | ||
12326 | if ( ucs < '0' || ucs > '9' ) | ||
12327 | return -1; | ||
12328 | else | ||
12329 | return ucs - '0'; | ||
12330 | #endif | ||
12331 | } | ||
12332 | |||
12333 | /*! | ||
12334 | Returns the character category. | ||
12335 | |||
12336 | \sa Category | ||
12337 | */ | ||
12338 | QChar::Category QChar::category() const | ||
12339 | { | ||
12340 | return ::category( *this ); | ||
12341 | } | ||
12342 | |||
12343 | /*! | ||
12344 | Returns the character's direction. | ||
12345 | |||
12346 | \sa Direction | ||
12347 | */ | ||
12348 | QChar::Direction QChar::direction() const | ||
12349 | { | ||
12350 | return ::direction( *this ); | ||
12351 | } | ||
12352 | |||
12353 | /*! | ||
12354 | \warning This function is not supported (it may change to use | ||
12355 | Unicode character classes). | ||
12356 | |||
12357 | Returns information about the joining properties of the character | ||
12358 | (needed for example, for Arabic). | ||
12359 | */ | ||
12360 | QChar::Joining QChar::joining() const | ||
12361 | { | ||
12362 | #ifndef QT_NO_UNICODETABLES | ||
12363 | const Q_UINT8 *rowp = direction_info[row()]; | ||
12364 | if ( !rowp ) | ||
12365 | return QChar::OtherJoining; | ||
12366 | return (Joining) ((*(rowp+cell()) >> 5) &0x3); | ||
12367 | #else | ||
12368 | return OtherJoining; | ||
12369 | #endif | ||
12370 | } | ||
12371 | |||
12372 | |||
12373 | /*! | ||
12374 | Returns TRUE if the character is a mirrored character (one that | ||
12375 | should be reversed if the text direction is reversed); otherwise | ||
12376 | returns FALSE. | ||
12377 | */ | ||
12378 | bool QChar::mirrored() const | ||
12379 | { | ||
12380 | return ::mirrored( *this ); | ||
12381 | } | ||
12382 | |||
12383 | /*! | ||
12384 | Returns the mirrored character if this character is a mirrored | ||
12385 | character, otherwise returns the character itself. | ||
12386 | */ | ||
12387 | QChar QChar::mirroredChar() const | ||
12388 | { | ||
12389 | #ifndef QT_NO_UNICODETABLES | ||
12390 | if(!::mirrored( *this )) | ||
12391 | return *this; | ||
12392 | |||
12393 | int i; | ||
12394 | int c = unicode(); | ||
12395 | for (i = 0; i < symmetricPairsSize; i ++) { | ||
12396 | if (symmetricPairs[i] == c) | ||
12397 | return symmetricPairs[(i%2) ? (i-1) : (i+1)]; | ||
12398 | } | ||
12399 | #endif | ||
12400 | return *this; | ||
12401 | } | ||
12402 | |||
12403 | #ifndef QT_NO_UNICODETABLES | ||
12404 | // ### REMOVE ME 4.0 | ||
12405 | static QString shared_decomp; | ||
12406 | #endif | ||
12407 | /*! | ||
12408 | \nonreentrant | ||
12409 | |||
12410 | Decomposes a character into its parts. Returns QString::null if no | ||
12411 | decomposition exists. | ||
12412 | */ | ||
12413 | const QString &QChar::decomposition() const | ||
12414 | { | ||
12415 | #ifndef QT_NO_UNICODETABLES | ||
12416 | const Q_UINT16 *r = decomposition_info[row()]; | ||
12417 | if(!r) return QString::null; | ||
12418 | |||
12419 | Q_UINT16 pos = r[cell()]; | ||
12420 | if(!pos) return QString::null; | ||
12421 | pos+=2; | ||
12422 | |||
12423 | QString s; | ||
12424 | Q_UINT16 c; | ||
12425 | while((c = decomposition_map[pos++]) != 0) s += QChar(c); | ||
12426 | // ### In 4.0, return s, and not shared_decomp. shared_decomp | ||
12427 | // prevents this function from being reentrant. | ||
12428 | shared_decomp = s; | ||
12429 | return shared_decomp; | ||
12430 | #else | ||
12431 | return QString::null; | ||
12432 | #endif | ||
12433 | } | ||
12434 | |||
12435 | /*! | ||
12436 | Returns the tag defining the composition of the character. Returns | ||
12437 | QChar::Single if no decomposition exists. | ||
12438 | */ | ||
12439 | QChar::Decomposition QChar::decompositionTag() const | ||
12440 | { | ||
12441 | #ifndef QT_NO_UNICODETABLES | ||
12442 | const Q_UINT16 *r = decomposition_info[row()]; | ||
12443 | if(!r) return QChar::Single; | ||
12444 | |||
12445 | Q_UINT16 pos = r[cell()]; | ||
12446 | if(!pos) return QChar::Single; | ||
12447 | |||
12448 | return (QChar::Decomposition) decomposition_map[pos]; | ||
12449 | #else | ||
12450 | return Single; // ########### FIX eg. just latin1 | ||
12451 | #endif | ||
12452 | } | ||
12453 | |||
12454 | /*! | ||
12455 | Returns the combining class for the character as defined in the | ||
12456 | Unicode standard. This is mainly useful as a positioning hint for | ||
12457 | marks attached to a base character. | ||
12458 | |||
12459 | The Qt text rendering engine uses this information to correctly | ||
12460 | position non spacing marks around a base character. | ||
12461 | */ | ||
12462 | unsigned char QChar::combiningClass() const | ||
12463 | { | ||
12464 | #ifndef QT_NO_UNICODETABLES | ||
12465 | const Q_UINT8 *rowp = combining_info[row()]; | ||
12466 | if ( !rowp ) | ||
12467 | return 0; | ||
12468 | return *(rowp+cell()); | ||
12469 | #else | ||
12470 | return 0; | ||
12471 | #endif | ||
12472 | } | ||
12473 | |||
12474 | |||
12475 | /*! | ||
12476 | Returns the lowercase equivalent if the character is uppercase; | ||
12477 | otherwise returns the character itself. | ||
12478 | */ | ||
12479 | QChar QChar::lower() const | ||
12480 | { | ||
12481 | return ::lower( *this ); | ||
12482 | } | ||
12483 | |||
12484 | /*! | ||
12485 | Returns the uppercase equivalent if the character is lowercase; | ||
12486 | otherwise returns the character itself. | ||
12487 | */ | ||
12488 | QChar QChar::upper() const | ||
12489 | { | ||
12490 | return ::upper( *this ); | ||
12491 | } | ||
12492 | |||
12493 | /*! | ||
12494 | \fn QChar::operator char() const | ||
12495 | |||
12496 | Returns the Latin1 character equivalent to the QChar, or 0. This | ||
12497 | is mainly useful for non-internationalized software. | ||
12498 | |||
12499 | \sa unicode() | ||
12500 | */ | ||
12501 | |||
12502 | /*! | ||
12503 | \fn ushort QChar::unicode() const | ||
12504 | |||
12505 | Returns the numeric Unicode value equal to the QChar. Normally, | ||
12506 | you should use QChar objects as they are equivalent, but for some | ||
12507 | low-level tasks (e.g. indexing into an array of Unicode | ||
12508 | information), this function is useful. | ||
12509 | */ | ||
12510 | |||
12511 | /*! | ||
12512 | \fn ushort & QChar::unicode() | ||
12513 | |||
12514 | \overload | ||
12515 | |||
12516 | Returns a reference to the numeric Unicode value equal to the | ||
12517 | QChar. | ||
12518 | */ | ||
12519 | |||
12520 | /***************************************************************************** | ||
12521 | Documentation of QChar related functions | ||
12522 | *****************************************************************************/ | ||
12523 | |||
12524 | /*! | ||
12525 | \fn bool operator==( QChar c1, QChar c2 ) | ||
12526 | |||
12527 | \relates QChar | ||
12528 | |||
12529 | Returns TRUE if \a c1 and \a c2 are the same Unicode character; | ||
12530 | otherwise returns FALSE. | ||
12531 | */ | ||
12532 | |||
12533 | /*! | ||
12534 | \fn bool operator==( char ch, QChar c ) | ||
12535 | |||
12536 | \overload | ||
12537 | \relates QChar | ||
12538 | |||
12539 | Returns TRUE if \a c is the ASCII/Latin1 character \a ch; | ||
12540 | otherwise returns FALSE. | ||
12541 | */ | ||
12542 | |||
12543 | /*! | ||
12544 | \fn bool operator==( QChar c, char ch ) | ||
12545 | |||
12546 | \overload | ||
12547 | \relates QChar | ||
12548 | |||
12549 | Returns TRUE if \a c is the ASCII/Latin1 character \a ch; | ||
12550 | otherwise returns FALSE. | ||
12551 | */ | ||
12552 | |||
12553 | /*! | ||
12554 | \fn int operator!=( QChar c1, QChar c2 ) | ||
12555 | |||
12556 | \relates QChar | ||
12557 | |||
12558 | Returns TRUE if \a c1 and \a c2 are not the same Unicode | ||
12559 | character; otherwise returns FALSE. | ||
12560 | */ | ||
12561 | |||
12562 | /*! | ||
12563 | \fn int operator!=( char ch, QChar c ) | ||
12564 | |||
12565 | \overload | ||
12566 | \relates QChar | ||
12567 | |||
12568 | Returns TRUE if \a c is not the ASCII/Latin1 character \a ch; | ||
12569 | otherwise returns FALSE. | ||
12570 | */ | ||
12571 | |||
12572 | /*! | ||
12573 | \fn int operator!=( QChar c, char ch ) | ||
12574 | |||
12575 | \overload | ||
12576 | \relates QChar | ||
12577 | |||
12578 | Returns TRUE if \a c is not the ASCII/Latin1 character \a ch; | ||
12579 | otherwise returns FALSE. | ||
12580 | */ | ||
12581 | |||
12582 | /*! | ||
12583 | \fn int operator<=( QChar c1, QChar c2 ) | ||
12584 | |||
12585 | \relates QChar | ||
12586 | |||
12587 | Returns TRUE if the numeric Unicode value of \a c1 is less than | ||
12588 | that of \a c2, or they are the same Unicode character; otherwise | ||
12589 | returns FALSE. | ||
12590 | */ | ||
12591 | |||
12592 | /*! | ||
12593 | \fn int operator<=( QChar c, char ch ) | ||
12594 | |||
12595 | \overload | ||
12596 | \relates QChar | ||
12597 | |||
12598 | Returns TRUE if the numeric Unicode value of \a c is less than or | ||
12599 | equal to that of the ASCII/Latin1 character \a ch; otherwise | ||
12600 | returns FALSE. | ||
12601 | */ | ||
12602 | |||
12603 | /*! | ||
12604 | \fn int operator<=( char ch, QChar c ) | ||
12605 | |||
12606 | \overload | ||
12607 | \relates QChar | ||
12608 | |||
12609 | Returns TRUE if the numeric Unicode value of the ASCII/Latin1 | ||
12610 | character \a ch is less than or equal to that of \a c; otherwise | ||
12611 | returns FALSE. | ||
12612 | */ | ||
12613 | |||
12614 | /*! | ||
12615 | \fn int operator>=( QChar c1, QChar c2 ) | ||
12616 | |||
12617 | \relates QChar | ||
12618 | |||
12619 | Returns TRUE if the numeric Unicode value of \a c1 is greater than | ||
12620 | that of \a c2, or they are the same Unicode character; otherwise | ||
12621 | returns FALSE. | ||
12622 | */ | ||
12623 | |||
12624 | /*! | ||
12625 | \fn int operator>=( QChar c, char ch ) | ||
12626 | |||
12627 | \overload | ||
12628 | \relates QChar | ||
12629 | |||
12630 | Returns TRUE if the numeric Unicode value of \a c is greater than | ||
12631 | or equal to that of the ASCII/Latin1 character \a ch; otherwise | ||
12632 | returns FALSE. | ||
12633 | */ | ||
12634 | |||
12635 | /*! | ||
12636 | \fn int operator>=( char ch, QChar c ) | ||
12637 | |||
12638 | \overload | ||
12639 | \relates QChar | ||
12640 | |||
12641 | Returns TRUE if the numeric Unicode value of the ASCII/Latin1 | ||
12642 | character \a ch is greater than or equal to that of \a c; | ||
12643 | otherwise returns FALSE. | ||
12644 | */ | ||
12645 | |||
12646 | /*! | ||
12647 | \fn int operator<( QChar c1, QChar c2 ) | ||
12648 | |||
12649 | \relates QChar | ||
12650 | |||
12651 | Returns TRUE if the numeric Unicode value of \a c1 is less than | ||
12652 | that of \a c2; otherwise returns FALSE. | ||
12653 | */ | ||
12654 | |||
12655 | /*! | ||
12656 | \fn int operator<( QChar c, char ch ) | ||
12657 | |||
12658 | \overload | ||
12659 | \relates QChar | ||
12660 | |||
12661 | Returns TRUE if the numeric Unicode value of \a c is less than that | ||
12662 | of the ASCII/Latin1 character \a ch; otherwise returns FALSE. | ||
12663 | */ | ||
12664 | |||
12665 | /*! | ||
12666 | \fn int operator<( char ch, QChar c ) | ||
12667 | |||
12668 | \overload | ||
12669 | \relates QChar | ||
12670 | |||
12671 | Returns TRUE if the numeric Unicode value of the ASCII/Latin1 | ||
12672 | character \a ch is less than that of \a c; otherwise returns | ||
12673 | FALSE. | ||
12674 | */ | ||
12675 | |||
12676 | /*! | ||
12677 | \fn int operator>( QChar c1, QChar c2 ) | ||
12678 | |||
12679 | \relates QChar | ||
12680 | |||
12681 | Returns TRUE if the numeric Unicode value of \a c1 is greater than | ||
12682 | that of \a c2; otherwise returns FALSE. | ||
12683 | */ | ||
12684 | |||
12685 | /*! | ||
12686 | \fn int operator>( QChar c, char ch ) | ||
12687 | |||
12688 | \overload | ||
12689 | \relates QChar | ||
12690 | |||
12691 | Returns TRUE if the numeric Unicode value of \a c is greater than | ||
12692 | that of the ASCII/Latin1 character \a ch; otherwise returns FALSE. | ||
12693 | */ | ||
12694 | |||
12695 | /*! | ||
12696 | \fn int operator>( char ch, QChar c ) | ||
12697 | |||
12698 | \overload | ||
12699 | \relates QChar | ||
12700 | |||
12701 | Returns TRUE if the numeric Unicode value of the ASCII/Latin1 | ||
12702 | character \a ch is greater than that of \a c; otherwise returns | ||
12703 | FALSE. | ||
12704 | */ | ||
12705 | |||
12706 | #ifndef QT_NO_UNICODETABLES | ||
12707 | |||
12708 | // small class used internally in QString::Compose() | ||
12709 | class QLigature | ||
12710 | { | ||
12711 | public: | ||
12712 | QLigature( QChar c ); | ||
12713 | |||
12714 | Q_UINT16 first() { cur = ligatures; return cur ? *cur : 0; } | ||
12715 | Q_UINT16 next() { return cur && *cur ? *(cur++) : 0; } | ||
12716 | Q_UINT16 current() { return cur ? *cur : 0; } | ||
12717 | |||
12718 | int match(QString & str, unsigned int index); | ||
12719 | QChar head(); | ||
12720 | QChar::Decomposition tag(); | ||
12721 | |||
12722 | private: | ||
12723 | Q_UINT16 *ligatures; | ||
12724 | Q_UINT16 *cur; | ||
12725 | }; | ||
12726 | |||
12727 | QLigature::QLigature( QChar c ) | ||
12728 | { | ||
12729 | const Q_UINT16 *r = ligature_info[c.row()]; | ||
12730 | if( !r ) | ||
12731 | ligatures = 0; | ||
12732 | else | ||
12733 | { | ||
12734 | const Q_UINT16 pos = r[c.cell()]; | ||
12735 | ligatures = (Q_UINT16 *)&(ligature_map[pos]); | ||
12736 | } | ||
12737 | cur = ligatures; | ||
12738 | } | ||
12739 | |||
12740 | QChar QLigature::head() | ||
12741 | { | ||
12742 | if(current()) | ||
12743 | return QChar(decomposition_map[current()+1]); | ||
12744 | |||
12745 | return QChar::null; | ||
12746 | } | ||
12747 | |||
12748 | QChar::Decomposition QLigature::tag() | ||
12749 | { | ||
12750 | if(current()) | ||
12751 | return (QChar::Decomposition) decomposition_map[current()]; | ||
12752 | |||
12753 | return QChar::Canonical; | ||
12754 | } | ||
12755 | |||
12756 | int QLigature::match(QString & str, unsigned int index) | ||
12757 | { | ||
12758 | unsigned int i=index; | ||
12759 | |||
12760 | if(!current()) return 0; | ||
12761 | |||
12762 | Q_UINT16 lig = current() + 2; | ||
12763 | Q_UINT16 ch; | ||
12764 | |||
12765 | while ((i < str.length()) && (ch = decomposition_map[lig])) { | ||
12766 | if (str[(int)i] != QChar(ch)) | ||
12767 | return 0; | ||
12768 | i++; | ||
12769 | lig++; | ||
12770 | } | ||
12771 | |||
12772 | if (!decomposition_map[lig]) | ||
12773 | { | ||
12774 | return i-index; | ||
12775 | } | ||
12776 | return 0; | ||
12777 | } | ||
12778 | |||
12779 | |||
12780 | // this function is just used in QString::compose() | ||
12781 | static inline bool format(QChar::Decomposition tag, QString & str, | ||
12782 | int index, int len) | ||
12783 | { | ||
12784 | unsigned int l = index + len; | ||
12785 | unsigned int r = index; | ||
12786 | |||
12787 | bool left = FALSE, right = FALSE; | ||
12788 | |||
12789 | left = ((l < str.length()) && | ||
12790 | ((str[(int)l].joining() == QChar::Dual) || | ||
12791 | (str[(int)l].joining() == QChar::Right))); | ||
12792 | if (r > 0) { | ||
12793 | r--; | ||
12794 | //printf("joining(right) = %d\n", str[(int)r].joining()); | ||
12795 | right = (str[(int)r].joining() == QChar::Dual); | ||
12796 | } | ||
12797 | |||
12798 | |||
12799 | switch (tag) { | ||
12800 | case QChar::Medial: | ||
12801 | return (left & right); | ||
12802 | case QChar::Initial: | ||
12803 | return (left && !right); | ||
12804 | case QChar::Final: | ||
12805 | return (right);// && !left); | ||
12806 | case QChar::Isolated: | ||
12807 | default: | ||
12808 | return (!right && !left); | ||
12809 | } | ||
12810 | } // format() | ||
12811 | #endif | ||
12812 | |||
12813 | /* | ||
12814 | QString::compose() and visual() were developed by Gordon Tisher | ||
12815 | <tisher@uniserve.ca>, with input from Lars Knoll <knoll@mpi-hd.mpg.de>, | ||
12816 | who developed the unicode data tables. | ||
12817 | */ | ||
12818 | /*! | ||
12819 | \warning This function is not supported in Qt 3.x. It is provided | ||
12820 | for experimental and illustrative purposes only. It is mainly of | ||
12821 | interest to those experimenting with Arabic and other | ||
12822 | composition-rich texts. | ||
12823 | |||
12824 | Applies possible ligatures to a QString. Useful when | ||
12825 | composition-rich text requires rendering with glyph-poor fonts, | ||
12826 | but it also makes compositions such as QChar(0x0041) ('A') and | ||
12827 | QChar(0x0308) (Unicode accent diaresis), giving QChar(0x00c4) | ||
12828 | (German A Umlaut). | ||
12829 | */ | ||
12830 | void QString::compose() | ||
12831 | { | ||
12832 | #ifndef QT_NO_UNICODETABLES | ||
12833 | unsigned int index=0, len; | ||
12834 | unsigned int cindex = 0; | ||
12835 | |||
12836 | QChar code, head; | ||
12837 | |||
12838 | QMemArray<QChar> dia; | ||
12839 | |||
12840 | QString composed = *this; | ||
12841 | |||
12842 | while (index < length()) { | ||
12843 | code = at(index); | ||
12844 | //printf("\n\nligature for 0x%x:\n", code.unicode()); | ||
12845 | QLigature ligature(code); | ||
12846 | ligature.first(); | ||
12847 | while(ligature.current()) { | ||
12848 | if ((len = ligature.match(*this, index)) != 0) { | ||
12849 | head = ligature.head(); | ||
12850 | unsigned short code = head.unicode(); | ||
12851 | // we exclude Arabic presentation forms A and a few | ||
12852 | // other ligatures, which are undefined in most fonts | ||
12853 | if(!(code > 0xfb50 && code < 0xfe80) && | ||
12854 | !(code > 0xfb00 && code < 0xfb2a)) { | ||
12855 | // joining info is only needed for Arabic | ||
12856 | if (format(ligature.tag(), *this, index, len)) { | ||
12857 | //printf("using ligature 0x%x, len=%d\n",code,len); | ||
12858 | // replace letter | ||
12859 | composed.replace(cindex, len, QChar(head)); | ||
12860 | index += len-1; | ||
12861 | // we continue searching in case we have a final | ||
12862 | // form because medial ones are preferred. | ||
12863 | if ( len != 1 || ligature.tag() !=QChar::Final ) | ||
12864 | break; | ||
12865 | } | ||
12866 | } | ||
12867 | } | ||
12868 | ligature.next(); | ||
12869 | } | ||
12870 | cindex++; | ||
12871 | index++; | ||
12872 | } | ||
12873 | *this = composed; | ||
12874 | #endif | ||
12875 | } | ||
12876 | |||
12877 | |||
12878 | // These macros are used for efficient allocation of QChar strings. | ||
12879 | // IMPORTANT! If you change these, make sure you also change the | ||
12880 | // "delete unicode" statement in ~QStringData() in qstring.h correspondingly! | ||
12881 | |||
12882 | #define QT_ALLOC_QCHAR_VEC( N ) (QChar*) new char[ sizeof(QChar)*( N ) ] | ||
12883 | #define QT_DELETE_QCHAR_VEC( P ) delete[] ((char*)( P )) | ||
12884 | |||
12885 | |||
12886 | /*! | ||
12887 | This utility function converts the 8-bit string \a ba to Unicode, | ||
12888 | returning the result. | ||
12889 | |||
12890 | The caller is responsible for deleting the return value with | ||
12891 | delete[]. | ||
12892 | */ | ||
12893 | |||
12894 | QChar* QString::asciiToUnicode( const QByteArray& ba, uint* len ) | ||
12895 | { | ||
12896 | if ( ba.isNull() ) { | ||
12897 | *len = 0; | ||
12898 | return 0; | ||
12899 | } | ||
12900 | int l = 0; | ||
12901 | while ( l < (int)ba.size() && ba[l] ) | ||
12902 | l++; | ||
12903 | char* str = ba.data(); | ||
12904 | QChar *uc = new QChar[ l ]; // Can't use macro, since function is public | ||
12905 | QChar *result = uc; | ||
12906 | if ( len ) | ||
12907 | *len = l; | ||
12908 | while (l--) | ||
12909 | *uc++ = *str++; | ||
12910 | return result; | ||
12911 | } | ||
12912 | |||
12913 | static QChar* internalAsciiToUnicode( const QByteArray& ba, uint* len ) | ||
12914 | { | ||
12915 | if ( ba.isNull() ) { | ||
12916 | *len = 0; | ||
12917 | return 0; | ||
12918 | } | ||
12919 | int l = 0; | ||
12920 | while ( l < (int)ba.size() && ba[l] ) | ||
12921 | l++; | ||
12922 | char* str = ba.data(); | ||
12923 | QChar *uc = QT_ALLOC_QCHAR_VEC( l ); | ||
12924 | QChar *result = uc; | ||
12925 | if ( len ) | ||
12926 | *len = l; | ||
12927 | while (l--) | ||
12928 | *uc++ = *str++; | ||
12929 | return result; | ||
12930 | } | ||
12931 | |||
12932 | /*! | ||
12933 | \overload | ||
12934 | |||
12935 | This utility function converts the '\0'-terminated 8-bit string \a | ||
12936 | str to Unicode, returning the result and setting \a *len to the | ||
12937 | length of the Unicode string. | ||
12938 | |||
12939 | The caller is responsible for deleting the return value with | ||
12940 | delete[]. | ||
12941 | */ | ||
12942 | |||
12943 | QChar* QString::asciiToUnicode( const char *str, uint* len, uint maxlen ) | ||
12944 | { | ||
12945 | QChar* result = 0; | ||
12946 | uint l = 0; | ||
12947 | if ( str ) { | ||
12948 | if ( maxlen != (uint)-1 ) { | ||
12949 | while ( l < maxlen && str[l] ) | ||
12950 | l++; | ||
12951 | } else { | ||
12952 | // Faster? | ||
12953 | l = qstrlen(str); | ||
12954 | } | ||
12955 | QChar *uc = new QChar[ l ]; // Can't use macro since function is public | ||
12956 | result = uc; | ||
12957 | uint i = l; | ||
12958 | while ( i-- ) | ||
12959 | *uc++ = *str++; | ||
12960 | } | ||
12961 | if ( len ) | ||
12962 | *len = l; | ||
12963 | return result; | ||
12964 | } | ||
12965 | |||
12966 | static QChar* internalAsciiToUnicode( const char *str, uint* len, | ||
12967 | uint maxlen = (uint)-1 ) | ||
12968 | { | ||
12969 | QChar* result = 0; | ||
12970 | uint l = 0; | ||
12971 | if ( str ) { | ||
12972 | if ( maxlen != (uint)-1 ) { | ||
12973 | while ( l < maxlen && str[l] ) | ||
12974 | l++; | ||
12975 | } else { | ||
12976 | // Faster? | ||
12977 | l = qstrlen(str); | ||
12978 | } | ||
12979 | QChar *uc = QT_ALLOC_QCHAR_VEC( l ); | ||
12980 | result = uc; | ||
12981 | uint i = l; | ||
12982 | while ( i-- ) | ||
12983 | *uc++ = *str++; | ||
12984 | } | ||
12985 | if ( len ) | ||
12986 | *len = l; | ||
12987 | return result; | ||
12988 | } | ||
12989 | |||
12990 | /*! | ||
12991 | This utility function converts \a l 16-bit characters from \a uc | ||
12992 | to ASCII, returning a '\0'-terminated string. | ||
12993 | |||
12994 | The caller is responsible for deleting the resultant string with | ||
12995 | delete[]. | ||
12996 | */ | ||
12997 | char* QString::unicodeToAscii(const QChar *uc, uint l) | ||
12998 | { | ||
12999 | if (!uc) { | ||
13000 | return 0; | ||
13001 | } | ||
13002 | char *a = new char[l+1]; | ||
13003 | char *result = a; | ||
13004 | while (l--) { | ||
13005 | *a++ = (uc->unicode() > 0xff) ? '?' : (char)uc->unicode(); | ||
13006 | uc++; | ||
13007 | } | ||
13008 | *a = '\0'; | ||
13009 | return result; | ||
13010 | } | ||
13011 | |||
13012 | /***************************************************************************** | ||
13013 | QString member functions | ||
13014 | *****************************************************************************/ | ||
13015 | |||
13016 | /*! | ||
13017 | \class QString qstring.h | ||
13018 | \reentrant | ||
13019 | |||
13020 | \brief The QString class provides an abstraction of Unicode text | ||
13021 | and the classic C '\0'-terminated char array. | ||
13022 | |||
13023 | \ingroup tools | ||
13024 | \ingroup shared | ||
13025 | \ingroup text | ||
13026 | \mainclass | ||
13027 | |||
13028 | QString uses \link shclass.html implicit sharing\endlink, which | ||
13029 | makes it very efficient and easy to use. | ||
13030 | |||
13031 | In all of the QString methods that take \c {const char *} | ||
13032 | parameters, the \c {const char *} is interpreted as a classic | ||
13033 | C-style '\0'-terminated ASCII string. It is legal for the \c | ||
13034 | {const char *} parameter to be 0. If the \c {const char *} is not | ||
13035 | '\0'-terminated, the results are undefined. Functions that copy | ||
13036 | classic C strings into a QString will not copy the terminating | ||
13037 | '\0' character. The QChar array of the QString (as returned by | ||
13038 | unicode()) is generally not terminated by a '\0'. If you need to | ||
13039 | pass a QString to a function that requires a C '\0'-terminated | ||
13040 | string use latin1(). | ||
13041 | |||
13042 | \keyword QString::null | ||
13043 | A QString that has not been assigned to anything is \e null, i.e. | ||
13044 | both the length and data pointer is 0. A QString that references | ||
13045 | the empty string ("", a single '\0' char) is \e empty. Both null | ||
13046 | and empty QStrings are legal parameters to the methods. Assigning | ||
13047 | \c{(const char *) 0} to QString gives a null QString. For | ||
13048 | convenience, \c QString::null is a null QString. When sorting, | ||
13049 | empty strings come first, followed by non-empty strings, followed | ||
13050 | by null strings. We recommend using \c{if ( !str.isNull() )} to | ||
13051 | check for a non-null string rather than \c{if ( !str )}; see \l | ||
13052 | operator!() for an explanation. | ||
13053 | |||
13054 | Note that if you find that you are mixing usage of \l QCString, | ||
13055 | QString, and \l QByteArray, this causes lots of unnecessary | ||
13056 | copying and might indicate that the true nature of the data you | ||
13057 | are dealing with is uncertain. If the data is '\0'-terminated 8-bit | ||
13058 | data, use \l QCString; if it is unterminated (i.e. contains '\0's) | ||
13059 | 8-bit data, use \l QByteArray; if it is text, use QString. | ||
13060 | |||
13061 | Lists of strings are handled by the QStringList class. You can | ||
13062 | split a string into a list of strings using QStringList::split(), | ||
13063 | and join a list of strings into a single string with an optional | ||
13064 | separator using QStringList::join(). You can obtain a list of | ||
13065 | strings from a string list that contain a particular substring or | ||
13066 | that match a particular \link qregexp.html regex\endlink using | ||
13067 | QStringList::grep(). | ||
13068 | |||
13069 | <b>Note for C programmers</b> | ||
13070 | |||
13071 | Due to C++'s type system and the fact that QString is implicitly | ||
13072 | shared, QStrings may be treated like ints or other simple base | ||
13073 | types. For example: | ||
13074 | |||
13075 | \code | ||
13076 | QString boolToString( bool b ) | ||
13077 | { | ||
13078 | QString result; | ||
13079 | if ( b ) | ||
13080 | result = "True"; | ||
13081 | else | ||
13082 | result = "False"; | ||
13083 | return result; | ||
13084 | } | ||
13085 | \endcode | ||
13086 | |||
13087 | The variable, result, is an auto variable allocated on the stack. | ||
13088 | When return is called, because we're returning by value, The copy | ||
13089 | constructor is called and a copy of the string is returned. (No | ||
13090 | actual copying takes place thanks to the implicit sharing, see | ||
13091 | below.) | ||
13092 | |||
13093 | Throughout Qt's source code you will encounter QString usages like | ||
13094 | this: | ||
13095 | \code | ||
13096 | QString func( const QString& input ) | ||
13097 | { | ||
13098 | QString output = input; | ||
13099 | // process output | ||
13100 | return output; | ||
13101 | } | ||
13102 | \endcode | ||
13103 | |||
13104 | The 'copying' of input to output is almost as fast as copying a | ||
13105 | pointer because behind the scenes copying is achieved by | ||
13106 | incrementing a reference count. QString (like all Qt's implicitly | ||
13107 | shared classes) operates on a copy-on-write basis, only copying if | ||
13108 | an instance is actually changed. | ||
13109 | |||
13110 | If you wish to create a deep copy of a QString without losing any | ||
13111 | Unicode information then you should use QDeepCopy. | ||
13112 | |||
13113 | \sa QChar QCString QByteArray QConstString | ||
13114 | */ | ||
13115 | |||
13116 | /*! \enum Qt::ComparisonFlags | ||
13117 | \internal | ||
13118 | */ | ||
13119 | /*! | ||
13120 | \enum Qt::StringComparisonMode | ||
13121 | |||
13122 | This enum type is used to set the string comparison mode when | ||
13123 | searching for an item. It is used by QListBox, QListView and | ||
13124 | QIconView, for example. We'll refer to the string being searched | ||
13125 | as the 'target' string. | ||
13126 | |||
13127 | \value CaseSensitive The strings must match case sensitively. | ||
13128 | \value ExactMatch The target and search strings must match exactly. | ||
13129 | \value BeginsWith The target string begins with the search string. | ||
13130 | \value EndsWith The target string ends with the search string. | ||
13131 | \value Contains The target string contains the search string. | ||
13132 | |||
13133 | If you OR these flags together (excluding \c CaseSensitive), the | ||
13134 | search criteria be applied in the following order: \c ExactMatch, | ||
13135 | \c BeginsWith, \c EndsWith, \c Contains. | ||
13136 | |||
13137 | Matching is case-insensitive unless \c CaseSensitive is set. \c | ||
13138 | CaseSensitive may be OR-ed with any combination of the other | ||
13139 | flags. | ||
13140 | |||
13141 | */ | ||
13142 | Q_EXPORT QStringData *QString::shared_null = 0; | ||
13143 | QT_STATIC_CONST_IMPL QString QString::null; | ||
13144 | QT_STATIC_CONST_IMPL QChar QChar::null; | ||
13145 | QT_STATIC_CONST_IMPL QChar QChar::replacement((ushort)0xfffd); | ||
13146 | QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff); | ||
13147 | QT_STATIC_CONST_IMPL QChar QChar::byteOrderSwapped((ushort)0xfffe); | ||
13148 | QT_STATIC_CONST_IMPL QChar QChar::nbsp((ushort)0x00a0); | ||
13149 | |||
13150 | QStringData* QString::makeSharedNull() | ||
13151 | { | ||
13152 | QString::shared_null = new QStringData; | ||
13153 | #if defined( Q_OS_MAC ) | ||
13154 | QString *that = const_cast<QString *>(&QString::null); | ||
13155 | that->d = QString::shared_null; | ||
13156 | #endif | ||
13157 | return QString::shared_null; | ||
13158 | } | ||
13159 | |||
13160 | // Uncomment this to get some useful statistics. | ||
13161 | // #define Q2HELPER(x) x | ||
13162 | |||
13163 | #ifdef Q2HELPER | ||
13164 | static int stat_construct_charstar=0; | ||
13165 | static int stat_construct_charstar_size=0; | ||
13166 | static int stat_construct_null=0; | ||
13167 | static int stat_construct_int=0; | ||
13168 | static int stat_construct_int_size=0; | ||
13169 | static int stat_construct_ba=0; | ||
13170 | static int stat_get_ascii=0; | ||
13171 | static int stat_get_ascii_size=0; | ||
13172 | static int stat_copy_on_write=0; | ||
13173 | static int stat_copy_on_write_size=0; | ||
13174 | static int stat_fast_copy=0; | ||
13175 | Q_EXPORT void qt_qstring_stats() | ||
13176 | { | ||
13177 | qDebug("construct_charstar = %d (%d chars)", stat_construct_charstar, stat_construct_charstar_size); | ||
13178 | qDebug("construct_null = %d", stat_construct_null); | ||
13179 | qDebug("construct_int = %d (%d chars)", stat_construct_int, stat_construct_int_size); | ||
13180 | qDebug("construct_ba = %d", stat_construct_ba); | ||
13181 | qDebug("get_ascii = %d (%d chars)", stat_get_ascii, stat_get_ascii_size); | ||
13182 | qDebug("copy_on_write = %d (%d chars)", stat_copy_on_write, stat_copy_on_write_size); | ||
13183 | qDebug("fast_copy = %d", stat_fast_copy); | ||
13184 | } | ||
13185 | #else | ||
13186 | #define Q2HELPER(x) | ||
13187 | #endif | ||
13188 | |||
13189 | /*! | ||
13190 | \fn QString::QString() | ||
13191 | |||
13192 | Constructs a null string, i.e. both the length and data pointer | ||
13193 | are 0. | ||
13194 | |||
13195 | \sa isNull() | ||
13196 | */ | ||
13197 | |||
13198 | /*! | ||
13199 | Constructs a string of length one, containing the character \a ch. | ||
13200 | */ | ||
13201 | QString::QString( QChar ch ) | ||
13202 | { | ||
13203 | d = new QStringData( QT_ALLOC_QCHAR_VEC( 1 ), 1, 1 ); | ||
13204 | d->unicode[0] = ch; | ||
13205 | } | ||
13206 | |||
13207 | /*! | ||
13208 | Constructs an implicitly shared copy of \a s. This is very fast | ||
13209 | since it only involves incrementing a reference count. | ||
13210 | */ | ||
13211 | QString::QString( const QString &s ) : | ||
13212 | d(s.d) | ||
13213 | { | ||
13214 | Q2HELPER(stat_fast_copy++) | ||
13215 | d->ref(); | ||
13216 | } | ||
13217 | |||
13218 | /*! | ||
13219 | \internal | ||
13220 | |||
13221 | Private function. | ||
13222 | |||
13223 | Constructs a string with preallocated space for \a size characters. | ||
13224 | |||
13225 | The string is empty. | ||
13226 | |||
13227 | \sa isNull() | ||
13228 | */ | ||
13229 | |||
13230 | QString::QString( int size, bool /*dummy*/ ) | ||
13231 | { | ||
13232 | if ( size ) { | ||
13233 | Q2HELPER(stat_construct_int++) | ||
13234 | int l = size; | ||
13235 | Q2HELPER(stat_construct_int_size+=l) | ||
13236 | QChar* uc = QT_ALLOC_QCHAR_VEC( l ); | ||
13237 | d = new QStringData( uc, 0, l ); | ||
13238 | } else { | ||
13239 | Q2HELPER(stat_construct_null++) | ||
13240 | d = shared_null ? shared_null : (shared_null=new QStringData); | ||
13241 | d->ref(); | ||
13242 | } | ||
13243 | } | ||
13244 | |||
13245 | /*! | ||
13246 | Constructs a string that is a deep copy of \a ba interpreted as a | ||
13247 | classic C string. | ||
13248 | */ | ||
13249 | |||
13250 | QString::QString( const QByteArray& ba ) | ||
13251 | { | ||
13252 | Q2HELPER(stat_construct_ba++) | ||
13253 | uint l; | ||
13254 | QChar *uc = internalAsciiToUnicode(ba,&l); | ||
13255 | d = new QStringData(uc,l,l); | ||
13256 | } | ||
13257 | |||
13258 | /*! | ||
13259 | Constructs a string that is a deep copy of the first \a length | ||
13260 | characters in the QChar array. | ||
13261 | |||
13262 | If \a unicode and \a length are 0, then a null string is created. | ||
13263 | |||
13264 | If only \a unicode is 0, the string is empty but has \a length | ||
13265 | characters of space preallocated: QString expands automatically | ||
13266 | anyway, but this may speed up some cases a little. We recommend | ||
13267 | using the plain constructor and setLength() for this purpose since | ||
13268 | it will result in more readable code. | ||
13269 | |||
13270 | \sa isNull() setLength() | ||
13271 | */ | ||
13272 | |||
13273 | QString::QString( const QChar* unicode, uint length ) | ||
13274 | { | ||
13275 | if ( !unicode && !length ) { | ||
13276 | d = shared_null ? shared_null : makeSharedNull(); | ||
13277 | d->ref(); | ||
13278 | } else { | ||
13279 | QChar* uc = QT_ALLOC_QCHAR_VEC( length ); | ||
13280 | if ( unicode ) | ||
13281 | memcpy(uc, unicode, length*sizeof(QChar)); | ||
13282 | d = new QStringData(uc,unicode ? length : 0,length); | ||
13283 | } | ||
13284 | } | ||
13285 | |||
13286 | /*! | ||
13287 | Constructs a string that is a deep copy of \a str, interpreted as | ||
13288 | a classic C string. | ||
13289 | |||
13290 | If \a str is 0, then a null string is created. | ||
13291 | |||
13292 | This is a cast constructor, but it is perfectly safe: converting a | ||
13293 | Latin1 const char* to QString preserves all the information. You | ||
13294 | can disable this constructor by defining \c QT_NO_CAST_ASCII when | ||
13295 | you compile your applications. You can also make QString objects | ||
13296 | by using setLatin1(), fromLatin1(), fromLocal8Bit(), and | ||
13297 | fromUtf8(). Or whatever encoding is appropriate for the 8-bit data | ||
13298 | you have. | ||
13299 | |||
13300 | \sa isNull() | ||
13301 | */ | ||
13302 | |||
13303 | QString::QString( const char *str ) | ||
13304 | { | ||
13305 | Q2HELPER(stat_construct_charstar++) | ||
13306 | uint l; | ||
13307 | QChar *uc = internalAsciiToUnicode(str,&l); | ||
13308 | Q2HELPER(stat_construct_charstar_size+=l) | ||
13309 | d = new QStringData(uc,l,l); | ||
13310 | } | ||
13311 | |||
13312 | /*! | ||
13313 | \fn QString::~QString() | ||
13314 | |||
13315 | Destroys the string and frees the string's data if this is the | ||
13316 | last reference to the string. | ||
13317 | */ | ||
13318 | |||
13319 | |||
13320 | /*! | ||
13321 | Deallocates any space reserved solely by this QString. | ||
13322 | |||
13323 | If the string does not share its data with another QString | ||
13324 | instance, nothing happens; otherwise the function creates a new, | ||
13325 | unique copy of this string. This function is called whenever the | ||
13326 | string is modified. | ||
13327 | */ | ||
13328 | |||
13329 | void QString::real_detach() | ||
13330 | { | ||
13331 | setLength( length() ); | ||
13332 | } | ||
13333 | |||
13334 | void QString::deref() | ||
13335 | { | ||
13336 | if ( d->deref() ) { | ||
13337 | if ( d != shared_null ) | ||
13338 | delete d; | ||
13339 | d = 0; // helps debugging | ||
13340 | } | ||
13341 | } | ||
13342 | |||
13343 | void QStringData::deleteSelf() | ||
13344 | { | ||
13345 | delete this; | ||
13346 | } | ||
13347 | |||
13348 | /*! | ||
13349 | \fn QString& QString::operator=( QChar c ) | ||
13350 | |||
13351 | Sets the string to contain just the single character \a c. | ||
13352 | */ | ||
13353 | |||
13354 | /*! | ||
13355 | \fn QString& QString::operator=( char c ) | ||
13356 | |||
13357 | \overload | ||
13358 | |||
13359 | Sets the string to contain just the single character \a c. | ||
13360 | */ | ||
13361 | |||
13362 | /*! | ||
13363 | \overload | ||
13364 | |||
13365 | Assigns a shallow copy of \a s to this string and returns a | ||
13366 | reference to this string. This is very fast because the string | ||
13367 | isn't actually copied. | ||
13368 | */ | ||
13369 | QString &QString::operator=( const QString &s ) | ||
13370 | { | ||
13371 | Q2HELPER(stat_fast_copy++) | ||
13372 | s.d->ref(); | ||
13373 | deref(); | ||
13374 | d = s.d; | ||
13375 | return *this; | ||
13376 | } | ||
13377 | |||
13378 | /*! | ||
13379 | \overload | ||
13380 | |||
13381 | Assigns a deep copy of \a cs, interpreted as a classic C string, | ||
13382 | to this string and returns a reference to this string. | ||
13383 | */ | ||
13384 | QString &QString::operator=( const QCString& cs ) | ||
13385 | { | ||
13386 | return setLatin1(cs); | ||
13387 | } | ||
13388 | |||
13389 | |||
13390 | /*! | ||
13391 | \overload | ||
13392 | |||
13393 | Assigns a deep copy of \a str, interpreted as a classic C string | ||
13394 | to this string and returns a reference to this string. | ||
13395 | |||
13396 | If \a str is 0, then a null string is created. | ||
13397 | |||
13398 | \sa isNull() | ||
13399 | */ | ||
13400 | QString &QString::operator=( const char *str ) | ||
13401 | { | ||
13402 | return setLatin1(str); | ||
13403 | } | ||
13404 | |||
13405 | |||
13406 | /*! | ||
13407 | \fn bool QString::isNull() const | ||
13408 | |||
13409 | Returns TRUE if the string is null; otherwise returns FALSE. A | ||
13410 | null string is always empty. | ||
13411 | |||
13412 | \code | ||
13413 | QString a; // a.unicode() == 0, a.length() == 0 | ||
13414 | a.isNull(); // TRUE, because a.unicode() == 0 | ||
13415 | a.isEmpty(); // TRUE | ||
13416 | \endcode | ||
13417 | |||
13418 | \sa isEmpty(), length() | ||
13419 | */ | ||
13420 | |||
13421 | /*! | ||
13422 | \fn bool QString::isEmpty() const | ||
13423 | |||
13424 | Returns TRUE if the string is empty, i.e. if length() == 0; | ||
13425 | otherwise returns FALSE. Null strings are also empty. | ||
13426 | |||
13427 | \code | ||
13428 | QString a( "" ); | ||
13429 | a.isEmpty(); // TRUE | ||
13430 | a.isNull(); // FALSE | ||
13431 | |||
13432 | QString b; | ||
13433 | b.isEmpty(); // TRUE | ||
13434 | b.isNull(); // TRUE | ||
13435 | \endcode | ||
13436 | |||
13437 | \sa isNull(), length() | ||
13438 | */ | ||
13439 | |||
13440 | /*! | ||
13441 | \fn uint QString::length() const | ||
13442 | |||
13443 | Returns the length of the string. | ||
13444 | |||
13445 | Null strings and empty strings have zero length. | ||
13446 | |||
13447 | \sa isNull(), isEmpty() | ||
13448 | */ | ||
13449 | |||
13450 | /*! | ||
13451 | If \a newLen is less than the length of the string, then the | ||
13452 | string is truncated at position \a newLen. Otherwise nothing | ||
13453 | happens. | ||
13454 | |||
13455 | \code | ||
13456 | QString s = "truncate me"; | ||
13457 | s.truncate( 5 ); // s == "trunc" | ||
13458 | \endcode | ||
13459 | |||
13460 | \sa setLength() | ||
13461 | */ | ||
13462 | |||
13463 | void QString::truncate( uint newLen ) | ||
13464 | { | ||
13465 | if ( newLen < d->len ) | ||
13466 | setLength( newLen ); | ||
13467 | } | ||
13468 | |||
13469 | /*! | ||
13470 | Ensures that at least \a newLen characters are allocated to the | ||
13471 | string, and sets the length of the string to \a newLen. Any new | ||
13472 | space allocated contains arbitrary data. | ||
13473 | |||
13474 | If \a newLen is 0, then the string becomes empty, unless the | ||
13475 | string is null, in which case it remains null. | ||
13476 | |||
13477 | If it is not possible to allocate enough memory, the string | ||
13478 | remains unchanged. | ||
13479 | |||
13480 | This function always detaches the string from other references to | ||
13481 | the same data. | ||
13482 | |||
13483 | This function is useful for code that needs to build up a long | ||
13484 | string and wants to avoid repeated reallocation. In this example, | ||
13485 | we want to add to the string until some condition is true, and | ||
13486 | we're fairly sure that size is big enough: | ||
13487 | \code | ||
13488 | QString result; | ||
13489 | int resultLength = 0; | ||
13490 | result.setLength( newLen ) // allocate some space | ||
13491 | while ( ... ) { | ||
13492 | result[resultLength++] = ... // fill (part of) the space with data | ||
13493 | } | ||
13494 | result.truncate[resultLength]; // and get rid of the undefined junk | ||
13495 | \endcode | ||
13496 | |||
13497 | If \a newLen is an underestimate, the worst that will happen is | ||
13498 | that the loop will slow down. | ||
13499 | |||
13500 | \sa truncate(), isNull(), isEmpty(), length() | ||
13501 | */ | ||
13502 | |||
13503 | void QString::setLength( uint newLen ) | ||
13504 | { | ||
13505 | if ( d->count != 1 || newLen > d->maxl || | ||
13506 | ( newLen * 4 < d->maxl && d->maxl > 4 ) ) { | ||
13507 | // detach, grow or shrink | ||
13508 | Q2HELPER(stat_copy_on_write++) | ||
13509 | Q2HELPER(stat_copy_on_write_size+=d->len) | ||
13510 | uint newMax = computeNewMax( newLen ); | ||
13511 | QChar* nd = QT_ALLOC_QCHAR_VEC( newMax ); | ||
13512 | if ( nd ) { | ||
13513 | uint len = QMIN( d->len, newLen ); | ||
13514 | if ( d->unicode ) | ||
13515 | memcpy( nd, d->unicode, sizeof(QChar)*len ); | ||
13516 | deref(); | ||
13517 | d = new QStringData( nd, newLen, newMax ); | ||
13518 | } | ||
13519 | } else { | ||
13520 | d->len = newLen; | ||
13521 | d->setDirty(); | ||
13522 | } | ||
13523 | } | ||
13524 | |||
13525 | /*! | ||
13526 | This function will return a string that replaces the lowest | ||
13527 | numbered occurrence of \c %1, \c %2, ..., \c %9 with \a a. | ||
13528 | |||
13529 | The \a fieldwidth value specifies the minimum amount of space that | ||
13530 | \a a is padded to. A positive value will produce right-aligned | ||
13531 | text, whereas a negative value will produce left-aligned text. | ||
13532 | |||
13533 | \code | ||
13534 | QString firstName( "Joe" ); | ||
13535 | QString lastName( "Bloggs" ); | ||
13536 | QString fullName; | ||
13537 | fullName = QString( "First name is '%1', last name is '%2'" ) | ||
13538 | .arg( firstName ) | ||
13539 | .arg( lastName ); | ||
13540 | |||
13541 | // fullName == First name is 'Joe', last name is 'Bloggs' | ||
13542 | \endcode | ||
13543 | |||
13544 | Note that using arg() to construct sentences as we've done in the | ||
13545 | example above does not usually translate well into other languages | ||
13546 | because sentence structure and word order often differ between | ||
13547 | languages. | ||
13548 | |||
13549 | If there is no place marker (\c %1 or \c %2, etc.), a warning | ||
13550 | message (qWarning()) is output and the text is appended at the | ||
13551 | end of the string. We recommend that the correct number of place | ||
13552 | markers is always used in production code. | ||
13553 | */ | ||
13554 | QString QString::arg( const QString& a, int fieldwidth ) const | ||
13555 | { | ||
13556 | int pos, len; | ||
13557 | QString r = *this; | ||
13558 | |||
13559 | if ( !findArg( pos, len ) ) { | ||
13560 | qWarning( "QString::arg(): Argument missing: %s, %s", | ||
13561 | latin1(), a.latin1() ); | ||
13562 | // Make sure the text at least appears SOMEWHERE | ||
13563 | r += ' '; | ||
13564 | pos = r.length(); | ||
13565 | len = 0; | ||
13566 | } | ||
13567 | |||
13568 | r.replace( pos, len, a ); | ||
13569 | if ( fieldwidth < 0 ) { | ||
13570 | QString s; | ||
13571 | while ( (uint)-fieldwidth > a.length() ) { | ||
13572 | s += ' '; | ||
13573 | fieldwidth++; | ||
13574 | } | ||
13575 | r.insert( pos + a.length(), s ); | ||
13576 | } else if ( fieldwidth ) { | ||
13577 | QString s; | ||
13578 | while ( (uint)fieldwidth > a.length() ) { | ||
13579 | s += ' '; | ||
13580 | fieldwidth--; | ||
13581 | } | ||
13582 | r.insert( pos, s ); | ||
13583 | } | ||
13584 | |||
13585 | return r; | ||
13586 | } | ||
13587 | |||
13588 | |||
13589 | /*! | ||
13590 | \overload | ||
13591 | |||
13592 | The \a fieldwidth value specifies the minimum amount of space that | ||
13593 | \a a is padded to. A positive value will produce a right-aligned | ||
13594 | number, whereas a negative value will produce a left-aligned | ||
13595 | number. | ||
13596 | |||
13597 | \a a is expressed in base \a base, which is 10 by default and must | ||
13598 | be between 2 and 36. | ||
13599 | |||
13600 | \code | ||
13601 | QString str; | ||
13602 | str = QString( "Decimal 63 is %1 in hexadecimal" ) | ||
13603 | .arg( 63, 0, 16 ); | ||
13604 | // str == "Decimal 63 is 3f in hexadecimal" | ||
13605 | \endcode | ||
13606 | */ | ||
13607 | QString QString::arg( long a, int fieldwidth, int base ) const | ||
13608 | { | ||
13609 | return arg( QString::number(a, base), fieldwidth ); | ||
13610 | } | ||
13611 | |||
13612 | /*! | ||
13613 | \overload | ||
13614 | |||
13615 | \a a is expressed in base \a base, which is 10 by default and must | ||
13616 | be between 2 and 36. | ||
13617 | */ | ||
13618 | QString QString::arg( ulong a, int fieldwidth, int base ) const | ||
13619 | { | ||
13620 | return arg( QString::number(a, base), fieldwidth ); | ||
13621 | } | ||
13622 | |||
13623 | /*! | ||
13624 | \fn QString QString::arg( int a, int fieldwidth, int base ) const | ||
13625 | |||
13626 | \overload | ||
13627 | |||
13628 | \a a is expressed in base \a base, which is 10 by default and must | ||
13629 | be between 2 and 36. | ||
13630 | */ | ||
13631 | |||
13632 | /*! | ||
13633 | \fn QString QString::arg( uint a, int fieldwidth, int base ) const | ||
13634 | |||
13635 | \overload | ||
13636 | |||
13637 | \a a is expressed in base \a base, which is 10 by default and must | ||
13638 | be between 2 and 36. | ||
13639 | */ | ||
13640 | |||
13641 | /*! | ||
13642 | \fn QString QString::arg( short a, int fieldwidth, int base ) const | ||
13643 | |||
13644 | \overload | ||
13645 | |||
13646 | \a a is expressed in base \a base, which is 10 by default and must | ||
13647 | be between 2 and 36. | ||
13648 | */ | ||
13649 | |||
13650 | /*! | ||
13651 | \fn QString QString::arg( ushort a, int fieldwidth, int base ) const | ||
13652 | |||
13653 | \overload | ||
13654 | |||
13655 | \a a is expressed in base \a base, which is 10 by default and must | ||
13656 | be between 2 and 36. | ||
13657 | */ | ||
13658 | |||
13659 | |||
13660 | /*! | ||
13661 | \overload | ||
13662 | |||
13663 | \a a is assumed to be in the Latin1 character set. | ||
13664 | */ | ||
13665 | QString QString::arg( char a, int fieldwidth ) const | ||
13666 | { | ||
13667 | QString c; | ||
13668 | c += a; | ||
13669 | return arg( c, fieldwidth ); | ||
13670 | } | ||
13671 | |||
13672 | /*! | ||
13673 | \overload | ||
13674 | */ | ||
13675 | QString QString::arg( QChar a, int fieldwidth ) const | ||
13676 | { | ||
13677 | QString c; | ||
13678 | c += a; | ||
13679 | return arg( c, fieldwidth ); | ||
13680 | } | ||
13681 | |||
13682 | /*! | ||
13683 | \overload | ||
13684 | |||
13685 | \target arg-formats | ||
13686 | |||
13687 | Argument \a a is formatted according to the \a fmt format specified, | ||
13688 | which is 'g' by default and can be any of the following: | ||
13689 | |||
13690 | \table | ||
13691 | \header \i Format \i Meaning | ||
13692 | \row \i \c e \i format as [-]9.9e[+|-]999 | ||
13693 | \row \i \c E \i format as [-]9.9E[+|-]999 | ||
13694 | \row \i \c f \i format as [-]9.9 | ||
13695 | \row \i \c g \i use \c e or \c f format, whichever is the most concise | ||
13696 | \row \i \c G \i use \c E or \c f format, whichever is the most concise | ||
13697 | \endtable | ||
13698 | |||
13699 | With 'e', 'E', and 'f', \a prec is the number of digits after the | ||
13700 | decimal point. With 'g' and 'G', \a prec is the maximum number of | ||
13701 | significant digits (trailing zeroes are omitted). | ||
13702 | |||
13703 | \code | ||
13704 | double d = 12.34; | ||
13705 | QString ds = QString( "'E' format, precision 3, gives %1" ) | ||
13706 | .arg( d, 0, 'E', 3 ); | ||
13707 | // ds == "1.234E+001" | ||
13708 | \endcode | ||
13709 | */ | ||
13710 | QString QString::arg( double a, int fieldwidth, char fmt, int prec ) const | ||
13711 | { | ||
13712 | return arg( QString::number( a, fmt, prec ), fieldwidth ); | ||
13713 | } | ||
13714 | |||
13715 | |||
13716 | /* | ||
13717 | Just 1-digit arguments. | ||
13718 | */ | ||
13719 | bool QString::findArg( int& pos, int& len ) const | ||
13720 | { | ||
13721 | char lowest=0; | ||
13722 | register const QChar *uc = d->unicode; | ||
13723 | const uint l = length(); | ||
13724 | for (uint i = 0; i < l; i++) { | ||
13725 | if ( uc[i] == '%' && i+1<l ) { | ||
13726 | QChar dig = uc[i+1]; | ||
13727 | if ( dig >= '0' && dig <= '9' ) { | ||
13728 | if ( !lowest || dig < lowest ) { | ||
13729 | lowest = dig; | ||
13730 | pos = i; | ||
13731 | len = 2; | ||
13732 | } | ||
13733 | } | ||
13734 | } | ||
13735 | } | ||
13736 | return lowest != 0; | ||
13737 | } | ||
13738 | |||
13739 | /*! | ||
13740 | Safely builds a formatted string from the format string \a cformat | ||
13741 | and an arbitrary list of arguments. The format string supports all | ||
13742 | the escape sequences of printf() in the standard C library. | ||
13743 | |||
13744 | The %s escape sequence expects a utf8() encoded string. The format | ||
13745 | string \e cformat is expected to be in latin1. If you need a | ||
13746 | Unicode format string, use arg() instead. For typesafe string | ||
13747 | building, with full Unicode support, you can use QTextOStream like | ||
13748 | this: | ||
13749 | |||
13750 | \code | ||
13751 | QString str; | ||
13752 | QString s = ...; | ||
13753 | int x = ...; | ||
13754 | QTextOStream( &str ) << s << " : " << x; | ||
13755 | \endcode | ||
13756 | |||
13757 | For \link QObject::tr() translations,\endlink especially if the | ||
13758 | strings contains more than one escape sequence, you should | ||
13759 | consider using the arg() function instead. This allows the order | ||
13760 | of the replacements to be controlled by the translator, and has | ||
13761 | Unicode support. | ||
13762 | |||
13763 | \sa arg() | ||
13764 | */ | ||
13765 | |||
13766 | #ifndef QT_NO_SPRINTF | ||
13767 | QString &QString::sprintf( const char* cformat, ... ) | ||
13768 | { | ||
13769 | va_list ap; | ||
13770 | va_start( ap, cformat ); | ||
13771 | |||
13772 | if ( !cformat || !*cformat ) { | ||
13773 | // Qt 1.x compat | ||
13774 | *this = fromLatin1( "" ); | ||
13775 | return *this; | ||
13776 | } | ||
13777 | QString format = fromLatin1( cformat ); | ||
13778 | |||
13779 | QRegExp escape( "%#?0?-? ?\\+?'?[0-9*]*\\.?[0-9*]*h?l?L?q?Z?" ); | ||
13780 | QString result; | ||
13781 | uint last = 0; | ||
13782 | int pos; | ||
13783 | int len = 0; | ||
13784 | |||
13785 | for (;;) { | ||
13786 | pos = escape.search( format, last ); | ||
13787 | len = escape.matchedLength(); | ||
13788 | // Non-escaped text | ||
13789 | if ( pos > (int)last ) | ||
13790 | result += format.mid( last, pos - last ); | ||
13791 | if ( pos < 0 ) { | ||
13792 | // The rest | ||
13793 | if ( last < format.length() ) | ||
13794 | result += format.mid( last ); | ||
13795 | break; | ||
13796 | } | ||
13797 | last = pos + len + 1; | ||
13798 | |||
13799 | // Escape | ||
13800 | QString f = format.mid( pos, len ); | ||
13801 | uint width, decimals; | ||
13802 | int params = 0; | ||
13803 | int wpos = f.find('*'); | ||
13804 | if ( wpos >= 0 ) { | ||
13805 | params++; | ||
13806 | width = va_arg( ap, int ); | ||
13807 | if ( f.find('*', wpos + 1) >= 0 ) { | ||
13808 | decimals = va_arg( ap, int ); | ||
13809 | params++; | ||
13810 | } else { | ||
13811 | decimals = 0; | ||
13812 | } | ||
13813 | } else { | ||
13814 | decimals = width = 0; | ||
13815 | } | ||
13816 | QString replacement; | ||
13817 | if ( format[pos + len] == 's' || format[pos + len] == 'S' || | ||
13818 | format[pos + len] == 'c' ) | ||
13819 | { | ||
13820 | bool rightjust = ( f.find('-') < 0 ); | ||
13821 | // %-5s really means left adjust in sprintf | ||
13822 | |||
13823 | if ( wpos < 0 ) { | ||
13824 | QRegExp num( fromLatin1("[0-9]+") ); | ||
13825 | int p = num.search( f ); | ||
13826 | int nlen = num.matchedLength(); | ||
13827 | int q = f.find( '.' ); | ||
13828 | if ( q < 0 || (p < q && p >= 0) ) | ||
13829 | width = f.mid( p, nlen ).toInt(); | ||
13830 | if ( q >= 0 ) { | ||
13831 | p = num.search( f, q ); | ||
13832 | // "decimals" is used to specify string truncation | ||
13833 | if ( p >= 0 ) | ||
13834 | decimals = f.mid( p, nlen ).toInt(); | ||
13835 | } | ||
13836 | } | ||
13837 | |||
13838 | if ( format[pos + len] == 's' ) { | ||
13839 | QString s = QString::fromUtf8( va_arg(ap, char*) ); | ||
13840 | replacement = ( decimals <= 0 ) ? s : s.left( decimals ); | ||
13841 | } else { | ||
13842 | int ch = va_arg(ap, int); | ||
13843 | replacement = QChar((ushort)ch); | ||
13844 | } | ||
13845 | if ( replacement.length() < width ) { | ||
13846 | replacement = rightjust | ||
13847 | ? replacement.rightJustify(width) | ||
13848 | : replacement.leftJustify(width); | ||
13849 | } | ||
13850 | } else if ( format[pos+len] == '%' ) { | ||
13851 | replacement = '%'; | ||
13852 | } else if ( format[pos+len] == 'n' ) { | ||
13853 | int* n = va_arg(ap, int*); | ||
13854 | *n = result.length(); | ||
13855 | } else { | ||
13856 | char in[64], out[330]; | ||
13857 | strncpy(in,f.latin1(),63); | ||
13858 | out[0] = '\0'; | ||
13859 | char fch = format[pos+len].latin1(); | ||
13860 | in[f.length()] = fch; | ||
13861 | switch ( fch ) { | ||
13862 | case 'd': | ||
13863 | case 'i': | ||
13864 | case 'o': | ||
13865 | case 'u': | ||
13866 | case 'x': | ||
13867 | case 'X': | ||
13868 | { | ||
13869 | int value = va_arg( ap, int ); | ||
13870 | switch ( params ) { | ||
13871 | case 0: | ||
13872 | ::sprintf( out, in, value ); | ||
13873 | break; | ||
13874 | case 1: | ||
13875 | ::sprintf( out, in, width, value ); | ||
13876 | break; | ||
13877 | case 2: | ||
13878 | ::sprintf( out, in, width, decimals, value ); | ||
13879 | } | ||
13880 | } | ||
13881 | break; | ||
13882 | case 'e': | ||
13883 | case 'E': | ||
13884 | case 'f': | ||
13885 | case 'g': | ||
13886 | case 'G': | ||
13887 | { | ||
13888 | double value = va_arg( ap, double ); | ||
13889 | switch ( params ) { | ||
13890 | case 0: | ||
13891 | ::sprintf( out, in, value ); | ||
13892 | break; | ||
13893 | case 1: | ||
13894 | ::sprintf( out, in, width, value ); | ||
13895 | break; | ||
13896 | case 2: | ||
13897 | ::sprintf( out, in, width, decimals, value ); | ||
13898 | } | ||
13899 | } | ||
13900 | break; | ||
13901 | case 'p': | ||
13902 | { | ||
13903 | void* value = va_arg( ap, void * ); | ||
13904 | switch ( params ) { | ||
13905 | case 0: | ||
13906 | ::sprintf( out, in, value ); | ||
13907 | break; | ||
13908 | case 1: | ||
13909 | ::sprintf( out, in, width, value ); | ||
13910 | break; | ||
13911 | case 2: | ||
13912 | ::sprintf( out, in, width, decimals, value ); | ||
13913 | } | ||
13914 | } | ||
13915 | } | ||
13916 | replacement = fromLatin1( out ); | ||
13917 | } | ||
13918 | result += replacement; | ||
13919 | } | ||
13920 | *this = result; | ||
13921 | |||
13922 | va_end( ap ); | ||
13923 | return *this; | ||
13924 | } | ||
13925 | #endif | ||
13926 | |||
13927 | /*! | ||
13928 | Fills the string with \a len characters of value \a c, and returns | ||
13929 | a reference to the string. | ||
13930 | |||
13931 | If \a len is negative (the default), the current string length is | ||
13932 | used. | ||
13933 | |||
13934 | \code | ||
13935 | QString str; | ||
13936 | str.fill( 'g', 5 ); // string == "ggggg" | ||
13937 | \endcode | ||
13938 | */ | ||
13939 | |||
13940 | QString& QString::fill( QChar c, int len ) | ||
13941 | { | ||
13942 | if ( len < 0 ) | ||
13943 | len = length(); | ||
13944 | if ( len == 0 ) { | ||
13945 | *this = ""; | ||
13946 | } else { | ||
13947 | deref(); | ||
13948 | QChar * nd = QT_ALLOC_QCHAR_VEC( len ); | ||
13949 | d = new QStringData(nd,len,len); | ||
13950 | while (len--) *nd++ = c; | ||
13951 | } | ||
13952 | return *this; | ||
13953 | } | ||
13954 | |||
13955 | |||
13956 | /*! | ||
13957 | \fn QString QString::copy() const | ||
13958 | |||
13959 | \obsolete | ||
13960 | |||
13961 | In Qt 2.0 and later, all calls to this function are needless. Just | ||
13962 | remove them. | ||
13963 | */ | ||
13964 | |||
13965 | /*! | ||
13966 | \overload | ||
13967 | |||
13968 | Finds the first occurrence of the character \a c, starting at | ||
13969 | position \a index. If \a index is -1, the search starts at the | ||
13970 | last character; if -2, at the next to last character and so on. | ||
13971 | (See findRev() for searching backwards.) | ||
13972 | |||
13973 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
13974 | search is case insensitive. | ||
13975 | |||
13976 | Returns the position of \a c or -1 if \a c could not be found. | ||
13977 | */ | ||
13978 | |||
13979 | int QString::find( QChar c, int index, bool cs ) const | ||
13980 | { | ||
13981 | const uint l = length(); | ||
13982 | if ( index < 0 ) | ||
13983 | index += l; | ||
13984 | if ( (uint)index >= l ) | ||
13985 | return -1; | ||
13986 | register const QChar *uc = unicode()+index; | ||
13987 | const QChar *end = unicode() + l; | ||
13988 | if ( cs ) { | ||
13989 | while ( uc < end && *uc != c ) | ||
13990 | uc++; | ||
13991 | } else { | ||
13992 | c = ::lower( c ); | ||
13993 | while ( uc < end && ::lower( *uc ) != c ) | ||
13994 | uc++; | ||
13995 | } | ||
13996 | if ( uint(uc - unicode()) >= l ) | ||
13997 | return -1; | ||
13998 | return (int)(uc - unicode()); | ||
13999 | } | ||
14000 | |||
14001 | /* an implementation of the Boyer-Moore search algorithm | ||
14002 | */ | ||
14003 | |||
14004 | /* initializes the skiptable to know haw far ahead we can skip on a wrong match | ||
14005 | */ | ||
14006 | static void bm_init_skiptable( const QString &pattern, uint *skiptable, bool cs ) | ||
14007 | { | ||
14008 | int i = 0; | ||
14009 | register uint *st = skiptable; | ||
14010 | int l = pattern.length(); | ||
14011 | while ( i++ < 0x100/8 ) { | ||
14012 | *(st++) = l; | ||
14013 | *(st++) = l; | ||
14014 | *(st++) = l; | ||
14015 | *(st++) = l; | ||
14016 | *(st++) = l; | ||
14017 | *(st++) = l; | ||
14018 | *(st++) = l; | ||
14019 | *(st++) = l; | ||
14020 | } | ||
14021 | const QChar *uc = pattern.unicode(); | ||
14022 | if ( cs ) { | ||
14023 | while( l-- ) { | ||
14024 | skiptable[ uc->cell() ] = l; | ||
14025 | uc++; | ||
14026 | } | ||
14027 | } else { | ||
14028 | while( l-- ) { | ||
14029 | skiptable[ ::lower( *uc ).cell() ] = l; | ||
14030 | uc++; | ||
14031 | } | ||
14032 | } | ||
14033 | } | ||
14034 | |||
14035 | static int bm_find( const QString &str, int index, const QString &pattern, uint *skiptable, bool cs ) | ||
14036 | { | ||
14037 | const uint l = str.length(); | ||
14038 | if ( pattern.isEmpty() ) | ||
14039 | return index > (int)l ? -1 : index; | ||
14040 | |||
14041 | const QChar *uc = str.unicode(); | ||
14042 | const QChar *puc = pattern.unicode(); | ||
14043 | const uint pl = pattern.length(); | ||
14044 | const uint pl_minus_one = pl - 1; | ||
14045 | |||
14046 | register const QChar *current = uc + index + pl_minus_one; | ||
14047 | const QChar *end = uc + l; | ||
14048 | if ( cs ) { | ||
14049 | while( current < end ) { | ||
14050 | uint skip = skiptable[ current->cell() ]; | ||
14051 | if ( !skip ) { | ||
14052 | // possible match | ||
14053 | while( skip < pl ) { | ||
14054 | if ( *(current - skip ) != puc[pl_minus_one-skip] ) | ||
14055 | break; | ||
14056 | skip++; | ||
14057 | } | ||
14058 | if ( skip > pl_minus_one ) { // we have a match | ||
14059 | return (current - uc) - skip + 1; | ||
14060 | } | ||
14061 | // in case we don't have a match we are a bit inefficient as we only skip by one | ||
14062 | // when we have the non matching char in the string. | ||
14063 | if ( skiptable[ (current-skip)->cell() ] == pl ) | ||
14064 | skip = pl - skip; | ||
14065 | else | ||
14066 | skip = 1; | ||
14067 | } | ||
14068 | current += skip; | ||
14069 | } | ||
14070 | } else { | ||
14071 | while( current < end ) { | ||
14072 | uint skip = skiptable[ ::lower( *current ).cell() ]; | ||
14073 | if ( !skip ) { | ||
14074 | // possible match | ||
14075 | while( skip < pl ) { | ||
14076 | if ( ::lower( *(current - skip) ) != ::lower( puc[pl_minus_one-skip] ) ) | ||
14077 | break; | ||
14078 | skip++; | ||
14079 | } | ||
14080 | if ( skip > pl_minus_one ) // we have a match | ||
14081 | return (current - uc) - skip + 1; | ||
14082 | // in case we don't have a match we are a bit inefficient as we only skip by one | ||
14083 | // when we have the non matching char in the string. | ||
14084 | if ( skiptable[ ::lower( (current - skip)->cell() ) ] == pl ) | ||
14085 | skip = pl - skip; | ||
14086 | else | ||
14087 | skip = 1; | ||
14088 | } | ||
14089 | current += skip; | ||
14090 | } | ||
14091 | } | ||
14092 | // not found | ||
14093 | return -1; | ||
14094 | } | ||
14095 | |||
14096 | |||
14097 | #define REHASH( a ) \ | ||
14098 | if ( sl_minus_1 < sizeof(uint) * CHAR_BIT ) \ | ||
14099 | hashHaystack -= (a) << sl_minus_1; \ | ||
14100 | hashHaystack <<= 1 | ||
14101 | |||
14102 | /*! | ||
14103 | \overload | ||
14104 | |||
14105 | Finds the first occurrence of the string \a str, starting at | ||
14106 | position \a index. If \a index is -1, the search starts at the | ||
14107 | last character, if it is -2, at the next to last character and so | ||
14108 | on. (See findRev() for searching backwards.) | ||
14109 | |||
14110 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14111 | search is case insensitive. | ||
14112 | |||
14113 | Returns the position of \a str or -1 if \a str could not be found. | ||
14114 | */ | ||
14115 | |||
14116 | int QString::find( const QString& str, int index, bool cs ) const | ||
14117 | { | ||
14118 | const uint l = length(); | ||
14119 | const uint sl = str.length(); | ||
14120 | if ( index < 0 ) | ||
14121 | index += l; | ||
14122 | if ( sl + index > l ) | ||
14123 | return -1; | ||
14124 | if ( !sl ) | ||
14125 | return index; | ||
14126 | |||
14127 | if ( sl == 1 ) | ||
14128 | return find( *str.unicode(), index, cs ); | ||
14129 | |||
14130 | // we use the Boyer-Moore algorithm in cases where the overhead | ||
14131 | // for the hash table should pay off, otherwise we use a simple | ||
14132 | // hash function | ||
14133 | if ( l > 500 && sl > 5 ) { | ||
14134 | uint skiptable[0x100]; | ||
14135 | bm_init_skiptable( str, skiptable, cs ); | ||
14136 | return bm_find( *this, index, str, skiptable, cs ); | ||
14137 | } | ||
14138 | |||
14139 | /* | ||
14140 | We use some hashing for efficiency's sake. Instead of | ||
14141 | comparing strings, we compare the hash value of str with that of | ||
14142 | a part of this QString. Only if that matches, we call ucstrncmp | ||
14143 | or ucstrnicmp. | ||
14144 | */ | ||
14145 | const QChar* needle = str.unicode(); | ||
14146 | const QChar* haystack = unicode() + index; | ||
14147 | const QChar* end = unicode() + (l-sl); | ||
14148 | const uint sl_minus_1 = sl-1; | ||
14149 | uint hashNeedle = 0, hashHaystack = 0, i; | ||
14150 | |||
14151 | if ( cs ) { | ||
14152 | for ( i = 0; i < sl; ++i ) { | ||
14153 | hashNeedle = ((hashNeedle<<1) + needle[i].unicode() ); | ||
14154 | hashHaystack = ((hashHaystack<<1) + haystack[i].unicode() ); | ||
14155 | } | ||
14156 | hashHaystack -= (haystack+sl_minus_1)->unicode(); | ||
14157 | |||
14158 | while ( haystack <= end ) { | ||
14159 | hashHaystack += (haystack+sl_minus_1)->unicode(); | ||
14160 | if ( hashHaystack == hashNeedle | ||
14161 | && ucstrncmp( needle, haystack, sl ) == 0 ) | ||
14162 | return haystack-unicode(); | ||
14163 | |||
14164 | REHASH( haystack->unicode() ); | ||
14165 | ++haystack; | ||
14166 | } | ||
14167 | } else { | ||
14168 | for ( i = 0; i < sl; ++i ) { | ||
14169 | hashNeedle = ((hashNeedle<<1) + | ||
14170 | ::lower( needle[i].unicode() ).unicode() ); | ||
14171 | hashHaystack = ((hashHaystack<<1) + | ||
14172 | ::lower( haystack[i].unicode() ).unicode() ); | ||
14173 | } | ||
14174 | |||
14175 | hashHaystack -= ::lower(*(haystack+sl_minus_1)).unicode(); | ||
14176 | while ( haystack <= end ) { | ||
14177 | hashHaystack += ::lower(*(haystack+sl_minus_1)).unicode(); | ||
14178 | if ( hashHaystack == hashNeedle | ||
14179 | && ucstrnicmp( needle, haystack, sl ) == 0 ) | ||
14180 | return haystack-unicode(); | ||
14181 | |||
14182 | REHASH( ::lower(*haystack).unicode() ); | ||
14183 | ++haystack; | ||
14184 | } | ||
14185 | } | ||
14186 | return -1; | ||
14187 | } | ||
14188 | |||
14189 | /*! | ||
14190 | \fn int QString::findRev( const char* str, int index ) const | ||
14191 | |||
14192 | Equivalent to findRev(QString(\a str), \a index). | ||
14193 | */ | ||
14194 | |||
14195 | /*! | ||
14196 | \fn int QString::find( const char* str, int index ) const | ||
14197 | |||
14198 | \overload | ||
14199 | |||
14200 | Equivalent to find(QString(\a str), \a index). | ||
14201 | */ | ||
14202 | |||
14203 | /*! | ||
14204 | \overload | ||
14205 | |||
14206 | Finds the first occurrence of the character \a c, starting at | ||
14207 | position \a index and searching backwards. If the index is -1, the | ||
14208 | search starts at the last character, if it is -2, at the next to | ||
14209 | last character and so on. | ||
14210 | |||
14211 | Returns the position of \a c or -1 if \a c could not be found. | ||
14212 | |||
14213 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14214 | search is case insensitive. | ||
14215 | |||
14216 | \code | ||
14217 | QString string( "bananas" ); | ||
14218 | int i = string.findRev( 'a' ); // i == 5 | ||
14219 | \endcode | ||
14220 | */ | ||
14221 | |||
14222 | int QString::findRev( QChar c, int index, bool cs ) const | ||
14223 | { | ||
14224 | const uint l = length(); | ||
14225 | if ( index < 0 ) | ||
14226 | index += l; | ||
14227 | if ( (uint)index >= l ) | ||
14228 | return -1; | ||
14229 | const QChar *end = unicode(); | ||
14230 | register const QChar *uc = end + index; | ||
14231 | if ( cs ) { | ||
14232 | while ( uc >= end && *uc != c ) | ||
14233 | uc--; | ||
14234 | } else { | ||
14235 | c = ::lower( c ); | ||
14236 | while ( uc >= end && ::lower( *uc ) != c ) | ||
14237 | uc--; | ||
14238 | } | ||
14239 | return uc - end; | ||
14240 | } | ||
14241 | |||
14242 | /*! | ||
14243 | \overload | ||
14244 | |||
14245 | Finds the first occurrence of the string \a str, starting at | ||
14246 | position \a index and searching backwards. If the index is -1, the | ||
14247 | search starts at the last character, if it is -2, at the next to | ||
14248 | last character and so on. | ||
14249 | |||
14250 | Returns the position of \a str or -1 if \a str could not be found. | ||
14251 | |||
14252 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14253 | search is case insensitive. | ||
14254 | |||
14255 | \code | ||
14256 | QString string("bananas"); | ||
14257 | int i = string.findRev( "ana" ); // i == 3 | ||
14258 | \endcode | ||
14259 | */ | ||
14260 | |||
14261 | int QString::findRev( const QString& str, int index, bool cs ) const | ||
14262 | { | ||
14263 | /* | ||
14264 | See QString::find() for explanations. | ||
14265 | */ | ||
14266 | const uint l = length(); | ||
14267 | if ( index < 0 ) | ||
14268 | index += l; | ||
14269 | const uint sl = str.length(); | ||
14270 | int delta = l-sl; | ||
14271 | if ( index < 0 || index > (int)l || delta < 0 ) | ||
14272 | return -1; | ||
14273 | if ( index > delta ) | ||
14274 | index = delta; | ||
14275 | |||
14276 | if ( sl == 1 ) | ||
14277 | return findRev( *str.unicode(), index, cs ); | ||
14278 | |||
14279 | const QChar* needle = str.unicode(); | ||
14280 | const QChar* haystack = unicode() + index; | ||
14281 | const QChar* end = unicode(); | ||
14282 | const uint sl_minus_1 = sl-1; | ||
14283 | const QChar* n = needle+sl_minus_1; | ||
14284 | const QChar* h = haystack+sl_minus_1; | ||
14285 | uint hashNeedle = 0, hashHaystack = 0, i; | ||
14286 | |||
14287 | if ( cs ) { | ||
14288 | for ( i = 0; i < sl; ++i ) { | ||
14289 | hashNeedle = ((hashNeedle<<1) + (n-i)->unicode() ); | ||
14290 | hashHaystack = ((hashHaystack<<1) + (h-i)->unicode() ); | ||
14291 | } | ||
14292 | hashHaystack -= haystack->unicode(); | ||
14293 | |||
14294 | while ( haystack >= end ) { | ||
14295 | hashHaystack += haystack->unicode(); | ||
14296 | if ( hashHaystack == hashNeedle | ||
14297 | && ucstrncmp( needle, haystack, sl ) == 0 ) | ||
14298 | return haystack-unicode(); | ||
14299 | --haystack; | ||
14300 | REHASH( (haystack+sl)->unicode() ); | ||
14301 | } | ||
14302 | } else { | ||
14303 | for ( i = 0; i < sl; ++i ) { | ||
14304 | hashNeedle = ((hashNeedle<<1) | ||
14305 | + ::lower( (n-i)->unicode() ).unicode() ); | ||
14306 | hashHaystack = ((hashHaystack<<1) | ||
14307 | + ::lower( (h-i)->unicode() ).unicode() ); | ||
14308 | } | ||
14309 | hashHaystack -= ::lower(*haystack).unicode(); | ||
14310 | |||
14311 | while ( haystack >= end ) { | ||
14312 | hashHaystack += ::lower(*haystack).unicode(); | ||
14313 | if ( hashHaystack == hashNeedle | ||
14314 | && ucstrnicmp( needle, haystack, sl ) == 0 ) | ||
14315 | return haystack-unicode(); | ||
14316 | --haystack; | ||
14317 | REHASH( ::lower(*(haystack+sl)).unicode() ); | ||
14318 | } | ||
14319 | } | ||
14320 | return -1; | ||
14321 | } | ||
14322 | |||
14323 | #undef REHASH | ||
14324 | |||
14325 | /*! | ||
14326 | \enum QString::SectionFlags | ||
14327 | |||
14328 | \value SectionDefault Empty fields are counted, leading and | ||
14329 | trailing separators are not included, and the separator is | ||
14330 | compared case sensitively. | ||
14331 | |||
14332 | \value SectionSkipEmpty Treat empty fields as if they don't exist, | ||
14333 | i.e. they are not considered as far as \e start and \e end are | ||
14334 | concerned. | ||
14335 | |||
14336 | \value SectionIncludeLeadingSep Include the leading separator (if | ||
14337 | any) in the result string. | ||
14338 | |||
14339 | \value SectionIncludeTrailingSep Include the trailing separator | ||
14340 | (if any) in the result string. | ||
14341 | |||
14342 | \value SectionCaseInsensitiveSeps Compare the separator | ||
14343 | case-insensitively. | ||
14344 | |||
14345 | Any of the last four values can be OR-ed together to form a flag. | ||
14346 | |||
14347 | \sa section() | ||
14348 | */ | ||
14349 | |||
14350 | /*! | ||
14351 | \fn QString QString::section( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const | ||
14352 | |||
14353 | This function returns a section of the string. | ||
14354 | |||
14355 | This string is treated as a sequence of fields separated by the | ||
14356 | character, \a sep. The returned string consists of the fields from | ||
14357 | position \a start to position \a end inclusive. If \a end is not | ||
14358 | specified, all fields from position \a start to the end of the | ||
14359 | string are included. Fields are numbered 0, 1, 2, etc., counting | ||
14360 | from the left, and -1, -2, etc., counting from right to left. | ||
14361 | |||
14362 | The \a flags argument can be used to affect some aspects of the | ||
14363 | function's behaviour, e.g. whether to be case sensitive, whether | ||
14364 | to skip empty fields and how to deal with leading and trailing | ||
14365 | separators; see \l{SectionFlags}. | ||
14366 | |||
14367 | \code | ||
14368 | QString csv( "forename,middlename,surname,phone" ); | ||
14369 | QString s = csv.section( ',', 2, 2 ); // s == "surname" | ||
14370 | |||
14371 | QString path( "/usr/local/bin/myapp" ); // First field is empty | ||
14372 | QString s = path.section( '/', 3, 4 ); // s == "bin/myapp" | ||
14373 | QString s = path.section( '/', 3, 3, SectionSkipEmpty ); // s == "myapp" | ||
14374 | \endcode | ||
14375 | |||
14376 | If \a start or \a end is negative, we count fields from the right | ||
14377 | of the string, the right-most field being -1, the one from | ||
14378 | right-most field being -2, and so on. | ||
14379 | |||
14380 | \code | ||
14381 | QString csv( "forename,middlename,surname,phone" ); | ||
14382 | QString s = csv.section( ',', -3, -2 ); // s == "middlename,surname" | ||
14383 | |||
14384 | QString path( "/usr/local/bin/myapp" ); // First field is empty | ||
14385 | QString s = path.section( '/', -1 ); // s == "myapp" | ||
14386 | \endcode | ||
14387 | |||
14388 | \sa QStringList::split() | ||
14389 | */ | ||
14390 | |||
14391 | /*! | ||
14392 | \overload | ||
14393 | |||
14394 | This function returns a section of the string. | ||
14395 | |||
14396 | This string is treated as a sequence of fields separated by the | ||
14397 | string, \a sep. The returned string consists of the fields from | ||
14398 | position \a start to position \a end inclusive. If \a end is not | ||
14399 | specified, all fields from position \a start to the end of the | ||
14400 | string are included. Fields are numbered 0, 1, 2, etc., counting | ||
14401 | from the left, and -1, -2, etc., counting from right to left. | ||
14402 | |||
14403 | The \a flags argument can be used to affect some aspects of the | ||
14404 | function's behaviour, e.g. whether to be case sensitive, whether | ||
14405 | to skip empty fields and how to deal with leading and trailing | ||
14406 | separators; see \l{SectionFlags}. | ||
14407 | |||
14408 | \code | ||
14409 | QString data( "forename**middlename**surname**phone" ); | ||
14410 | QString s = data.section( "**", 2, 2 ); // s == "surname" | ||
14411 | \endcode | ||
14412 | |||
14413 | If \a start or \a end is negative, we count fields from the right | ||
14414 | of the string, the right-most field being -1, the one from | ||
14415 | right-most field being -2, and so on. | ||
14416 | |||
14417 | \code | ||
14418 | QString data( "forename**middlename**surname**phone" ); | ||
14419 | QString s = data.section( "**", -3, -2 ); // s == "middlename**surname" | ||
14420 | \endcode | ||
14421 | |||
14422 | \sa QStringList::split() | ||
14423 | */ | ||
14424 | |||
14425 | QString QString::section( const QString &sep, int start, int end, int flags ) const | ||
14426 | { | ||
14427 | const QChar *uc = unicode(); | ||
14428 | if ( !uc ) | ||
14429 | return QString(); | ||
14430 | QString _sep = (flags & SectionCaseInsensitiveSeps) ? sep.lower() : sep; | ||
14431 | const QChar *uc_sep = _sep.unicode(); | ||
14432 | if(!uc_sep) | ||
14433 | return QString(); | ||
14434 | bool match = FALSE, last_match = TRUE; | ||
14435 | |||
14436 | //find start | ||
14437 | int n = length(), sep_len = _sep.length(); | ||
14438 | const QChar *begin = start < 0 ? uc + n : uc; | ||
14439 | while(start) { | ||
14440 | match = FALSE; | ||
14441 | int c = 0; | ||
14442 | for(const QChar *tmp = start < 0 ? begin - sep_len : begin; | ||
14443 | c < sep_len && tmp < uc + n && tmp >= uc; tmp++, c++) { | ||
14444 | if(flags & SectionCaseInsensitiveSeps) { | ||
14445 | if( ::lower( *tmp ) != *(uc_sep + c)) | ||
14446 | break; | ||
14447 | } else { | ||
14448 | if( *tmp != *(uc_sep + c) ) | ||
14449 | break; | ||
14450 | } | ||
14451 | if(c == sep_len - 1) { | ||
14452 | match = TRUE; | ||
14453 | break; | ||
14454 | } | ||
14455 | } | ||
14456 | if(start > 0 && (flags & SectionSkipEmpty) && match && last_match) | ||
14457 | match = FALSE; | ||
14458 | last_match = match; | ||
14459 | |||
14460 | if(start < 0) { | ||
14461 | if(match) { | ||
14462 | begin -= sep_len; | ||
14463 | if(!++start) | ||
14464 | break; | ||
14465 | } else { | ||
14466 | if(start == -1 && begin == uc) | ||
14467 | break; | ||
14468 | begin--; | ||
14469 | } | ||
14470 | } else { | ||
14471 | if(match) { | ||
14472 | if(!--start) | ||
14473 | break; | ||
14474 | begin += sep_len; | ||
14475 | } else { | ||
14476 | if(start == 1 && begin == uc + n) | ||
14477 | break; | ||
14478 | begin++; | ||
14479 | } | ||
14480 | } | ||
14481 | if(begin > uc + n || begin < uc) | ||
14482 | return QString(); | ||
14483 | } | ||
14484 | if(match && !(flags & SectionIncludeLeadingSep)) | ||
14485 | begin+=sep_len; | ||
14486 | if(begin > uc + n || begin < uc) | ||
14487 | return QString(); | ||
14488 | |||
14489 | //now find last | ||
14490 | match = FALSE; | ||
14491 | const QChar *last = end < 0 ? uc + n : uc; | ||
14492 | if(end == -1) { | ||
14493 | int c = 0; | ||
14494 | for(const QChar *tmp = end < 0 ? last - sep_len : last; | ||
14495 | c < sep_len && tmp < uc + n && tmp >= uc; tmp++, c++) { | ||
14496 | if(flags & SectionCaseInsensitiveSeps) { | ||
14497 | if( ::lower( *tmp ) != *(uc_sep + c)) | ||
14498 | break; | ||
14499 | } else { | ||
14500 | if( *tmp != *(uc_sep + c) ) | ||
14501 | break; | ||
14502 | } | ||
14503 | if(c == sep_len - 1) { | ||
14504 | match = TRUE; | ||
14505 | break; | ||
14506 | } | ||
14507 | } | ||
14508 | } else { | ||
14509 | end++; | ||
14510 | last_match = TRUE; | ||
14511 | while(end) { | ||
14512 | match = FALSE; | ||
14513 | int c = 0; | ||
14514 | for(const QChar *tmp = end < 0 ? last - sep_len : last; | ||
14515 | c < sep_len && tmp < uc + n && tmp >= uc; tmp++, c++) { | ||
14516 | if(flags & SectionCaseInsensitiveSeps) { | ||
14517 | if( ::lower( *tmp ) != *(uc_sep + c)) | ||
14518 | break; | ||
14519 | } else { | ||
14520 | if( *tmp != *(uc_sep + c) ) | ||
14521 | break; | ||
14522 | } | ||
14523 | if(c == sep_len - 1) { | ||
14524 | match = TRUE; | ||
14525 | break; | ||
14526 | } | ||
14527 | } | ||
14528 | if(end > 0 && (flags & SectionSkipEmpty) && match && last_match) | ||
14529 | match = FALSE; | ||
14530 | last_match = match; | ||
14531 | |||
14532 | if(end < 0) { | ||
14533 | if(match) { | ||
14534 | if(!++end) | ||
14535 | break; | ||
14536 | last -= sep_len; | ||
14537 | } else { | ||
14538 | last--; | ||
14539 | } | ||
14540 | } else { | ||
14541 | if(match) { | ||
14542 | last += sep_len; | ||
14543 | if(!--end) | ||
14544 | break; | ||
14545 | } else { | ||
14546 | last++; | ||
14547 | } | ||
14548 | } | ||
14549 | if(last >= uc + n) { | ||
14550 | last = uc + n; | ||
14551 | break; | ||
14552 | } else if(last < uc) { | ||
14553 | return QString(); | ||
14554 | } | ||
14555 | } | ||
14556 | } | ||
14557 | if(match && !(flags & SectionIncludeTrailingSep)) | ||
14558 | last -= sep_len; | ||
14559 | if(last < uc || last > uc + n || begin >= last) | ||
14560 | return QString(); | ||
14561 | |||
14562 | //done | ||
14563 | return QString(begin, last - begin); | ||
14564 | } | ||
14565 | |||
14566 | #ifndef QT_NO_REGEXP | ||
14567 | class section_chunk { | ||
14568 | public: | ||
14569 | section_chunk(int l, QString s) { length = l; string = s; } | ||
14570 | int length; | ||
14571 | QString string; | ||
14572 | }; | ||
14573 | /*! | ||
14574 | \overload | ||
14575 | |||
14576 | This function returns a section of the string. | ||
14577 | |||
14578 | This string is treated as a sequence of fields separated by the | ||
14579 | regular expression, \a reg. The returned string consists of the | ||
14580 | fields from position \a start to position \a end inclusive. If \a | ||
14581 | end is not specified, all fields from position \a start to the end | ||
14582 | of the string are included. Fields are numbered 0, 1, 2, etc., counting | ||
14583 | from the left, and -1, -2, etc., counting from right to left. | ||
14584 | |||
14585 | The \a flags argument can be used to affect some aspects of the | ||
14586 | function's behaviour, e.g. whether to be case sensitive, whether | ||
14587 | to skip empty fields and how to deal with leading and trailing | ||
14588 | separators; see \l{SectionFlags}. | ||
14589 | |||
14590 | \code | ||
14591 | QString line( "forename\tmiddlename surname \t \t phone" ); | ||
14592 | QRegExp sep( "\s+" ); | ||
14593 | QString s = line.section( sep, 2, 2 ); // s == "surname" | ||
14594 | \endcode | ||
14595 | |||
14596 | If \a start or \a end is negative, we count fields from the right | ||
14597 | of the string, the right-most field being -1, the one from | ||
14598 | right-most field being -2, and so on. | ||
14599 | |||
14600 | \code | ||
14601 | QString line( "forename\tmiddlename surname \t \t phone" ); | ||
14602 | QRegExp sep( "\\s+" ); | ||
14603 | QString s = line.section( sep, -3, -2 ); // s == "middlename surname" | ||
14604 | \endcode | ||
14605 | |||
14606 | \warning Using this QRegExp version is much more expensive than | ||
14607 | the overloaded string and character versions. | ||
14608 | |||
14609 | \sa QStringList::split() simplifyWhiteSpace() | ||
14610 | */ | ||
14611 | |||
14612 | QString QString::section( const QRegExp ®, int start, int end, int flags ) const | ||
14613 | { | ||
14614 | const QChar *uc = unicode(); | ||
14615 | if(!uc) | ||
14616 | return QString(); | ||
14617 | |||
14618 | QRegExp sep(reg); | ||
14619 | sep.setCaseSensitive(!(flags & SectionCaseInsensitiveSeps)); | ||
14620 | |||
14621 | QPtrList<section_chunk> l; | ||
14622 | l.setAutoDelete(TRUE); | ||
14623 | int n = length(), m = 0, last_m = 0, last = 0, last_len = 0; | ||
14624 | |||
14625 | while( ( m = sep.search( *this, m ) ) != -1 ) { | ||
14626 | l.append(new section_chunk(last_len, QString(uc + last_m, m - last_m))); | ||
14627 | last_m = m; | ||
14628 | last_len = sep.matchedLength(); | ||
14629 | if((m += sep.matchedLength()) >= n) { | ||
14630 | last = 1; | ||
14631 | break; | ||
14632 | } | ||
14633 | } | ||
14634 | if(!last) | ||
14635 | l.append(new section_chunk(last_len, QString(uc + last_m, n - last_m))); | ||
14636 | |||
14637 | if(start < 0) | ||
14638 | start = l.count() + start; | ||
14639 | if(end == -1) | ||
14640 | end = l.count(); | ||
14641 | else if(end < 0) | ||
14642 | end = l.count() + end; | ||
14643 | |||
14644 | int i = 0; | ||
14645 | QString ret; | ||
14646 | for ( section_chunk *chk=l.first(); chk; chk=l.next(), i++ ) { | ||
14647 | if((flags & SectionSkipEmpty) && chk->length == (int)chk->string.length()) { | ||
14648 | if(i <= start) | ||
14649 | start++; | ||
14650 | end++; | ||
14651 | } | ||
14652 | if(i == start) { | ||
14653 | ret = (flags & SectionIncludeLeadingSep) ? chk->string : chk->string.mid(chk->length); | ||
14654 | } else if(i > start) { | ||
14655 | ret += chk->string; | ||
14656 | } | ||
14657 | if(i == end) { | ||
14658 | if((chk=l.next()) && flags & SectionIncludeTrailingSep) | ||
14659 | ret += chk->string.left(chk->length); | ||
14660 | break; | ||
14661 | } | ||
14662 | } | ||
14663 | return ret; | ||
14664 | } | ||
14665 | #endif | ||
14666 | |||
14667 | /*! | ||
14668 | \fn QString QString::section( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const | ||
14669 | |||
14670 | \overload | ||
14671 | */ | ||
14672 | |||
14673 | /*! | ||
14674 | \fn QString QString::section( const char *sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const | ||
14675 | |||
14676 | \overload | ||
14677 | */ | ||
14678 | |||
14679 | |||
14680 | /*! | ||
14681 | Returns the number of times the character \a c occurs in the | ||
14682 | string. | ||
14683 | |||
14684 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14685 | search is case insensitive. | ||
14686 | |||
14687 | \code | ||
14688 | QString string( "Trolltech and Qt" ); | ||
14689 | int i = string.contains( 't', FALSE ); // i == 3 | ||
14690 | \endcode | ||
14691 | */ | ||
14692 | |||
14693 | int QString::contains( QChar c, bool cs ) const | ||
14694 | { | ||
14695 | int count = 0; | ||
14696 | const QChar *uc = unicode(); | ||
14697 | if ( !uc ) | ||
14698 | return 0; | ||
14699 | int n = length(); | ||
14700 | if ( cs ) { | ||
14701 | while ( n-- ) | ||
14702 | if ( *uc++ == c ) | ||
14703 | count++; | ||
14704 | } else { | ||
14705 | c = ::lower( c ); | ||
14706 | while ( n-- ) { | ||
14707 | if ( ::lower( *uc ) == c ) | ||
14708 | count++; | ||
14709 | uc++; | ||
14710 | } | ||
14711 | } | ||
14712 | return count; | ||
14713 | } | ||
14714 | |||
14715 | /*! | ||
14716 | \overload | ||
14717 | |||
14718 | Returns the number of times the string \a str occurs in the string. | ||
14719 | |||
14720 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14721 | search is case insensitive. | ||
14722 | */ | ||
14723 | int QString::contains( const char* str, bool cs ) const | ||
14724 | { | ||
14725 | return contains( QString(str), cs ); | ||
14726 | } | ||
14727 | |||
14728 | /*! | ||
14729 | \fn int QString::contains( char c, bool cs ) const | ||
14730 | |||
14731 | \overload | ||
14732 | */ | ||
14733 | |||
14734 | /*! | ||
14735 | \fn int QString::find( char c, int index, bool cs ) const | ||
14736 | |||
14737 | \overload | ||
14738 | |||
14739 | Find character \a c starting from position \a index. | ||
14740 | |||
14741 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14742 | search is case insensitive. | ||
14743 | */ | ||
14744 | |||
14745 | /*! | ||
14746 | \fn int QString::findRev( char c, int index, bool cs ) const | ||
14747 | |||
14748 | \overload | ||
14749 | |||
14750 | Find character \a c starting from position \a index and working | ||
14751 | backwards. | ||
14752 | |||
14753 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14754 | search is case insensitive. | ||
14755 | */ | ||
14756 | |||
14757 | /*! | ||
14758 | \overload | ||
14759 | |||
14760 | Returns the number of times \a str occurs in the string. | ||
14761 | |||
14762 | If \a cs is TRUE, the search is case sensitive; otherwise the | ||
14763 | search is case insensitive. | ||
14764 | |||
14765 | This function counts overlapping strings, so in the example below, | ||
14766 | there are two instances of "ana" in "bananas". | ||
14767 | |||
14768 | \code | ||
14769 | QString str( "bananas" ); | ||
14770 | int i = str.contains( "ana" ); // i == 2 | ||
14771 | \endcode | ||
14772 | |||
14773 | \sa findRev() | ||
14774 | */ | ||
14775 | |||
14776 | int QString::contains( const QString &str, bool cs ) const | ||
14777 | { | ||
14778 | if ( isNull() ) | ||
14779 | return 0; | ||
14780 | int count = 0; | ||
14781 | uint skiptable[0x100]; | ||
14782 | bm_init_skiptable( str, skiptable, cs ); | ||
14783 | int i = -1; | ||
14784 | // use boyer-moore for the ultimate speed experience | ||
14785 | while ( ( i = bm_find( *this, i+1, str, skiptable, cs ) ) != -1 ) | ||
14786 | count++; | ||
14787 | return count; | ||
14788 | } | ||
14789 | |||
14790 | /*! | ||
14791 | Returns a substring that contains the \a len leftmost characters | ||
14792 | of the string. | ||
14793 | |||
14794 | The whole string is returned if \a len exceeds the length of the | ||
14795 | string. | ||
14796 | |||
14797 | \code | ||
14798 | QString s = "Pineapple"; | ||
14799 | QString t = s.left( 4 ); // t == "Pine" | ||
14800 | \endcode | ||
14801 | |||
14802 | \sa right(), mid(), isEmpty() | ||
14803 | */ | ||
14804 | |||
14805 | QString QString::left( uint len ) const | ||
14806 | { | ||
14807 | if ( isEmpty() ) { | ||
14808 | return QString(); | ||
14809 | } else if ( len == 0 ) { // ## just for 1.x compat: | ||
14810 | return fromLatin1( "" ); | ||
14811 | } else if ( len >= length() ) { | ||
14812 | return *this; | ||
14813 | } else { | ||
14814 | QString s( len, TRUE ); | ||
14815 | memcpy( s.d->unicode, d->unicode, len * sizeof(QChar) ); | ||
14816 | s.d->len = len; | ||
14817 | return s; | ||
14818 | } | ||
14819 | } | ||
14820 | |||
14821 | /*! | ||
14822 | Returns a string that contains the \a len rightmost characters of | ||
14823 | the string. | ||
14824 | |||
14825 | If \a len is greater than the length of the string then the whole | ||
14826 | string is returned. | ||
14827 | |||
14828 | \code | ||
14829 | QString string( "Pineapple" ); | ||
14830 | QString t = string.right( 5 ); // t == "apple" | ||
14831 | \endcode | ||
14832 | |||
14833 | \sa left(), mid(), isEmpty() | ||
14834 | */ | ||
14835 | |||
14836 | QString QString::right( uint len ) const | ||
14837 | { | ||
14838 | if ( isEmpty() ) { | ||
14839 | return QString(); | ||
14840 | } else if ( len == 0 ) { // ## just for 1.x compat: | ||
14841 | return fromLatin1( "" ); | ||
14842 | } else { | ||
14843 | uint l = length(); | ||
14844 | if ( len >= l ) | ||
14845 | return *this; | ||
14846 | QString s( len, TRUE ); | ||
14847 | memcpy( s.d->unicode, d->unicode+(l-len), len*sizeof(QChar) ); | ||
14848 | s.d->len = len; | ||
14849 | return s; | ||
14850 | } | ||
14851 | } | ||
14852 | |||
14853 | /*! | ||
14854 | Returns a string that contains the \a len characters of this | ||
14855 | string, starting at position \a index. | ||
14856 | |||
14857 | Returns a null string if the string is empty or \a index is out of | ||
14858 | range. Returns the whole string from \a index if \a index + \a len | ||
14859 | exceeds the length of the string. | ||
14860 | |||
14861 | \code | ||
14862 | QString s( "Five pineapples" ); | ||
14863 | QString t = s.mid( 5, 4 ); // t == "pine" | ||
14864 | \endcode | ||
14865 | |||
14866 | \sa left(), right() | ||
14867 | */ | ||
14868 | |||
14869 | QString QString::mid( uint index, uint len ) const | ||
14870 | { | ||
14871 | uint slen = length(); | ||
14872 | if ( isEmpty() || index >= slen ) { | ||
14873 | return QString(); | ||
14874 | } else if ( len == 0 ) { // ## just for 1.x compat: | ||
14875 | return fromLatin1( "" ); | ||
14876 | } else { | ||
14877 | if ( len > slen-index ) | ||
14878 | len = slen - index; | ||
14879 | if ( index == 0 && len == slen ) | ||
14880 | return *this; | ||
14881 | register const QChar *p = unicode()+index; | ||
14882 | QString s( len, TRUE ); | ||
14883 | memcpy( s.d->unicode, p, len * sizeof(QChar) ); | ||
14884 | s.d->len = len; | ||
14885 | return s; | ||
14886 | } | ||
14887 | } | ||
14888 | |||
14889 | /*! | ||
14890 | Returns a string of length \a width that contains this string | ||
14891 | padded by the \a fill character. | ||
14892 | |||
14893 | If \a truncate is FALSE and the length of the string is more than | ||
14894 | \a width, then the returned string is a copy of the string. | ||
14895 | |||
14896 | If \a truncate is TRUE and the length of the string is more than | ||
14897 | \a width, then any characters in a copy of the string after length | ||
14898 | \a width are removed, and the copy is returned. | ||
14899 | |||
14900 | \code | ||
14901 | QString s( "apple" ); | ||
14902 | QString t = s.leftJustify( 8, '.' ); // t == "apple..." | ||
14903 | \endcode | ||
14904 | |||
14905 | \sa rightJustify() | ||
14906 | */ | ||
14907 | |||
14908 | QString QString::leftJustify( uint width, QChar fill, bool truncate ) const | ||
14909 | { | ||
14910 | QString result; | ||
14911 | int len = length(); | ||
14912 | int padlen = width - len; | ||
14913 | if ( padlen > 0 ) { | ||
14914 | result.setLength(len+padlen); | ||
14915 | if ( len ) | ||
14916 | memcpy( result.d->unicode, unicode(), sizeof(QChar)*len ); | ||
14917 | QChar* uc = result.d->unicode + len; | ||
14918 | while (padlen--) | ||
14919 | *uc++ = fill; | ||
14920 | } else { | ||
14921 | if ( truncate ) | ||
14922 | result = left( width ); | ||
14923 | else | ||
14924 | result = *this; | ||
14925 | } | ||
14926 | return result; | ||
14927 | } | ||
14928 | |||
14929 | /*! | ||
14930 | Returns a string of length \a width that contains the \a fill | ||
14931 | character followed by the string. | ||
14932 | |||
14933 | If \a truncate is FALSE and the length of the string is more than | ||
14934 | \a width, then the returned string is a copy of the string. | ||
14935 | |||
14936 | If \a truncate is TRUE and the length of the string is more than | ||
14937 | \a width, then the resulting string is truncated at position \a | ||
14938 | width. | ||
14939 | |||
14940 | \code | ||
14941 | QString string( "apple" ); | ||
14942 | QString t = string.rightJustify( 8, '.' ); // t == "...apple" | ||
14943 | \endcode | ||
14944 | |||
14945 | \sa leftJustify() | ||
14946 | */ | ||
14947 | |||
14948 | QString QString::rightJustify( uint width, QChar fill, bool truncate ) const | ||
14949 | { | ||
14950 | QString result; | ||
14951 | int len = length(); | ||
14952 | int padlen = width - len; | ||
14953 | if ( padlen > 0 ) { | ||
14954 | result.setLength( len+padlen ); | ||
14955 | QChar* uc = result.d->unicode; | ||
14956 | while (padlen--) | ||
14957 | *uc++ = fill; | ||
14958 | if ( len ) | ||
14959 | memcpy( uc, unicode(), sizeof(QChar)*len ); | ||
14960 | } else { | ||
14961 | if ( truncate ) | ||
14962 | result = left( width ); | ||
14963 | else | ||
14964 | result = *this; | ||
14965 | } | ||
14966 | return result; | ||
14967 | } | ||
14968 | |||
14969 | /*! | ||
14970 | Returns a lowercase copy of the string. | ||
14971 | |||
14972 | \code | ||
14973 | QString string( "TROlltECH" ); | ||
14974 | str = string.lower(); // str == "trolltech" | ||
14975 | \endcode | ||
14976 | |||
14977 | \sa upper() | ||
14978 | */ | ||
14979 | |||
14980 | QString QString::lower() const | ||
14981 | { | ||
14982 | QString s(*this); | ||
14983 | int l=length(); | ||
14984 | if ( l ) { | ||
14985 | s.real_detach(); // could do this only when we find a change | ||
14986 | register QChar *p=s.d->unicode; | ||
14987 | if ( p ) { | ||
14988 | while ( l-- ) { | ||
14989 | *p = ::lower( *p ); | ||
14990 | p++; | ||
14991 | } | ||
14992 | } | ||
14993 | } | ||
14994 | return s; | ||
14995 | } | ||
14996 | |||
14997 | /*! | ||
14998 | Returns an uppercase copy of the string. | ||
14999 | |||
15000 | \code | ||
15001 | QString string( "TeXt" ); | ||
15002 | str = string.upper(); // t == "TEXT" | ||
15003 | \endcode | ||
15004 | |||
15005 | \sa lower() | ||
15006 | */ | ||
15007 | |||
15008 | QString QString::upper() const | ||
15009 | { | ||
15010 | QString s(*this); | ||
15011 | int l=length(); | ||
15012 | if ( l ) { | ||
15013 | s.real_detach(); // could do this only when we find a change | ||
15014 | register QChar *p=s.d->unicode; | ||
15015 | if ( p ) { | ||
15016 | while ( l-- ) { | ||
15017 | *p = ::upper( *p ); | ||
15018 | p++; | ||
15019 | } | ||
15020 | } | ||
15021 | } | ||
15022 | return s; | ||
15023 | } | ||
15024 | |||
15025 | |||
15026 | /*! | ||
15027 | Returns a string that has whitespace removed from the start and | ||
15028 | the end. | ||
15029 | |||
15030 | Whitespace means any character for which QChar::isSpace() returns | ||
15031 | TRUE. This includes Unicode characters with decimal values 9 | ||
15032 | (TAB), 10 (LF), 11 (VT), 12 (FF), 13 (CR) and 32 (Space), and may | ||
15033 | also include other Unicode characters. | ||
15034 | |||
15035 | \code | ||
15036 | QString string = " white space "; | ||
15037 | QString s = string.stripWhiteSpace(); // s == "white space" | ||
15038 | \endcode | ||
15039 | |||
15040 | \sa simplifyWhiteSpace() | ||
15041 | */ | ||
15042 | |||
15043 | QString QString::stripWhiteSpace() const | ||
15044 | { | ||
15045 | if ( isEmpty() ) // nothing to do | ||
15046 | return *this; | ||
15047 | register const QChar *s = unicode(); | ||
15048 | if ( !s->isSpace() && !s[length()-1].isSpace() ) | ||
15049 | return *this; | ||
15050 | |||
15051 | int start = 0; | ||
15052 | int end = length() - 1; | ||
15053 | while ( start<=end && s[start].isSpace() ) // skip white space from start | ||
15054 | start++; | ||
15055 | if ( start <= end ) { // only white space | ||
15056 | while ( end && s[end].isSpace() ) // skip white space from end | ||
15057 | end--; | ||
15058 | } | ||
15059 | int l = end - start + 1; | ||
15060 | if ( l <= 0 ) | ||
15061 | return QString::fromLatin1(""); | ||
15062 | |||
15063 | QString result( l, TRUE ); | ||
15064 | memcpy( result.d->unicode, &s[start], sizeof(QChar)*l ); | ||
15065 | result.d->len = l; | ||
15066 | return result; | ||
15067 | } | ||
15068 | |||
15069 | |||
15070 | /*! | ||
15071 | Returns a string that has whitespace removed from the start and | ||
15072 | the end, and which has each sequence of internal whitespace | ||
15073 | replaced with a single space. | ||
15074 | |||
15075 | Whitespace means any character for which QChar::isSpace() returns | ||
15076 | TRUE. This includes Unicode characters with decimal values 9 | ||
15077 | (TAB), 10 (LF), 11 (VT), 12 (FF), 13 (CR), and 32 (Space). | ||
15078 | |||
15079 | \code | ||
15080 | QString string = " lots\t of\nwhite space "; | ||
15081 | QString t = string.simplifyWhiteSpace(); | ||
15082 | // t == "lots of white space" | ||
15083 | \endcode | ||
15084 | |||
15085 | \sa stripWhiteSpace() | ||
15086 | */ | ||
15087 | |||
15088 | QString QString::simplifyWhiteSpace() const | ||
15089 | { | ||
15090 | if ( isEmpty() ) | ||
15091 | return *this; | ||
15092 | QString result; | ||
15093 | result.setLength( length() ); | ||
15094 | const QChar *from = unicode(); | ||
15095 | const QChar *fromend = from+length(); | ||
15096 | int outc=0; | ||
15097 | QChar *to = result.d->unicode; | ||
15098 | for (;;) { | ||
15099 | while ( from!=fromend && from->isSpace() ) | ||
15100 | from++; | ||
15101 | while ( from!=fromend && !from->isSpace() ) | ||
15102 | to[outc++] = *from++; | ||
15103 | if ( from!=fromend ) | ||
15104 | to[outc++] = ' '; | ||
15105 | else | ||
15106 | break; | ||
15107 | } | ||
15108 | if ( outc > 0 && to[outc-1] == ' ' ) | ||
15109 | outc--; | ||
15110 | result.truncate( outc ); | ||
15111 | return result; | ||
15112 | } | ||
15113 | |||
15114 | |||
15115 | /*! | ||
15116 | Inserts \a s into the string at position \a index. | ||
15117 | |||
15118 | If \a index is beyond the end of the string, the string is | ||
15119 | extended with spaces to length \a index and \a s is then appended | ||
15120 | and returns a reference to the string. | ||
15121 | |||
15122 | \code | ||
15123 | QString string( "I like fish" ); | ||
15124 | str = string.insert( 2, "don't " ); | ||
15125 | // str == "I don't like fish" | ||
15126 | \endcode | ||
15127 | |||
15128 | \sa remove(), replace() | ||
15129 | */ | ||
15130 | |||
15131 | QString &QString::insert( uint index, const QString &s ) | ||
15132 | { | ||
15133 | // the sub function takes care of &s == this case. | ||
15134 | return insert( index, s.unicode(), s.length() ); | ||
15135 | } | ||
15136 | |||
15137 | /*! | ||
15138 | \overload | ||
15139 | |||
15140 | Inserts the character in \a s into the string at position \a index | ||
15141 | \a len number of times and returns a reference to the string. | ||
15142 | */ | ||
15143 | |||
15144 | QString &QString::insert( uint index, const QChar* s, uint len ) | ||
15145 | { | ||
15146 | if ( len == 0 ) | ||
15147 | return *this; | ||
15148 | uint olen = length(); | ||
15149 | int nlen = olen + len; | ||
15150 | |||
15151 | if ( s >= d->unicode && (uint)(s - d->unicode) < d->maxl ) { | ||
15152 | // Part of me - take a copy. | ||
15153 | QChar *tmp = QT_ALLOC_QCHAR_VEC( len ); | ||
15154 | memcpy(tmp,s,len*sizeof(QChar)); | ||
15155 | insert(index,tmp,len); | ||
15156 | QT_DELETE_QCHAR_VEC( tmp ); | ||
15157 | return *this; | ||
15158 | } | ||
15159 | |||
15160 | if ( index >= olen ) { // insert after end of string | ||
15161 | setLength( len + index ); | ||
15162 | int n = index - olen; | ||
15163 | QChar* uc = d->unicode+olen; | ||
15164 | while (n--) | ||
15165 | *uc++ = ' '; | ||
15166 | memcpy( d->unicode+index, s, sizeof(QChar)*len ); | ||
15167 | } else { // normal insert | ||
15168 | setLength( nlen ); | ||
15169 | memmove( d->unicode + index + len, unicode() + index, | ||
15170 | sizeof(QChar) * (olen - index) ); | ||
15171 | memcpy( d->unicode + index, s, sizeof(QChar) * len ); | ||
15172 | } | ||
15173 | return *this; | ||
15174 | } | ||
15175 | |||
15176 | /*! | ||
15177 | \overload | ||
15178 | |||
15179 | Insert \a c into the string at position \a index and returns a | ||
15180 | reference to the string. | ||
15181 | |||
15182 | If \a index is beyond the end of the string, the string is | ||
15183 | extended with spaces (ASCII 32) to length \a index and \a c is | ||
15184 | then appended. | ||
15185 | */ | ||
15186 | |||
15187 | QString &QString::insert( uint index, QChar c ) // insert char | ||
15188 | { | ||
15189 | QString s( c ); | ||
15190 | return insert( index, s ); | ||
15191 | } | ||
15192 | |||
15193 | /*! | ||
15194 | \fn QString& QString::insert( uint index, char c ) | ||
15195 | |||
15196 | \overload | ||
15197 | |||
15198 | Insert character \a c at position \a index. | ||
15199 | */ | ||
15200 | |||
15201 | /*! | ||
15202 | \fn QString &QString::prepend( const QString &s ) | ||
15203 | |||
15204 | Inserts \a s at the beginning of the string and returns a | ||
15205 | reference to the string. | ||
15206 | |||
15207 | Equivalent to insert(0, \a s). | ||
15208 | |||
15209 | \code | ||
15210 | QString string = "42"; | ||
15211 | string.prepend( "The answer is " ); | ||
15212 | // string == "The answer is 42" | ||
15213 | \endcode | ||
15214 | |||
15215 | \sa insert() | ||
15216 | */ | ||
15217 | |||
15218 | /*! | ||
15219 | \fn QString& QString::prepend( char ch ) | ||
15220 | |||
15221 | \overload | ||
15222 | |||
15223 | Inserts \a ch at the beginning of the string and returns a | ||
15224 | reference to the string. | ||
15225 | |||
15226 | Equivalent to insert(0, \a ch). | ||
15227 | |||
15228 | \sa insert() | ||
15229 | */ | ||
15230 | |||
15231 | /*! | ||
15232 | \fn QString& QString::prepend( QChar ch ) | ||
15233 | |||
15234 | \overload | ||
15235 | |||
15236 | Inserts \a ch at the beginning of the string and returns a | ||
15237 | reference to the string. | ||
15238 | |||
15239 | Equivalent to insert(0, \a ch). | ||
15240 | |||
15241 | \sa insert() | ||
15242 | */ | ||
15243 | |||
15244 | /*! \fn QString& QString::prepend( const QByteArray &s ) | ||
15245 | \overload | ||
15246 | |||
15247 | Inserts \a s at the beginning of the string and returns a reference to the string. | ||
15248 | |||
15249 | Equivalent to insert(0, \a s). | ||
15250 | |||
15251 | \sa insert() | ||
15252 | */ | ||
15253 | |||
15254 | /*! | ||
15255 | \overload | ||
15256 | |||
15257 | Inserts \a s at the beginning of the string and returns a reference to the string. | ||
15258 | |||
15259 | Equivalent to insert(0, \a s). | ||
15260 | |||
15261 | \sa insert() | ||
15262 | */ | ||
15263 | QString &QString::prepend( const char *s ) | ||
15264 | { | ||
15265 | return insert( 0, QString(s) ); | ||
15266 | } | ||
15267 | |||
15268 | /*! | ||
15269 | Removes \a len characters from the string starting at position \a | ||
15270 | index, and returns a reference to the string. | ||
15271 | |||
15272 | If \a index is beyond the length of the string, nothing happens. | ||
15273 | If \a index is within the string, but \a index + \a len is beyond | ||
15274 | the end of the string, the string is truncated at position \a | ||
15275 | index. | ||
15276 | |||
15277 | \code | ||
15278 | QString string( "Montreal" ); | ||
15279 | string.remove( 1, 4 ); // string == "Meal" | ||
15280 | \endcode | ||
15281 | |||
15282 | \sa insert(), replace() | ||
15283 | */ | ||
15284 | |||
15285 | QString &QString::remove( uint index, uint len ) | ||
15286 | { | ||
15287 | uint olen = length(); | ||
15288 | if ( index >= olen ) { | ||
15289 | // range problems | ||
15290 | } else if ( index + len >= olen ) { // index ok | ||
15291 | setLength( index ); | ||
15292 | } else if ( len != 0 ) { | ||
15293 | real_detach(); | ||
15294 | memmove( d->unicode+index, d->unicode+index+len, | ||
15295 | sizeof(QChar)*(olen-index-len) ); | ||
15296 | setLength( olen-len ); | ||
15297 | } | ||
15298 | return *this; | ||
15299 | } | ||
15300 | |||
15301 | /*! \overload | ||
15302 | |||
15303 | Removes every occurrence of the character \a c in the string. | ||
15304 | Returns a reference to the string. | ||
15305 | |||
15306 | This is the same as replace(\a c, ""). | ||
15307 | */ | ||
15308 | QString &QString::remove( QChar c ) | ||
15309 | { | ||
15310 | int i = 0; | ||
15311 | while ( i < (int) length() ) { | ||
15312 | if ( constref(i) == c ) { | ||
15313 | remove( i, 1 ); | ||
15314 | } else { | ||
15315 | i++; | ||
15316 | } | ||
15317 | } | ||
15318 | return *this; | ||
15319 | } | ||
15320 | |||
15321 | /*! \overload | ||
15322 | |||
15323 | \fn QString &QString::remove( char c ) | ||
15324 | |||
15325 | Removes every occurrence of the character \a c in the string. | ||
15326 | Returns a reference to the string. | ||
15327 | |||
15328 | This is the same as replace(\a c, ""). | ||
15329 | */ | ||
15330 | |||
15331 | /*! \overload | ||
15332 | |||
15333 | Removes every occurrence of \a str in the string. Returns a | ||
15334 | reference to the string. | ||
15335 | |||
15336 | This is the same as replace(\a str, ""). | ||
15337 | */ | ||
15338 | QString &QString::remove( const QString & str ) | ||
15339 | { | ||
15340 | int index = 0; | ||
15341 | if ( !str.isEmpty() ) { | ||
15342 | while ( (index = find(str, index)) != -1 ) | ||
15343 | remove( index, str.length() ); | ||
15344 | } | ||
15345 | return *this; | ||
15346 | } | ||
15347 | |||
15348 | /*! \overload | ||
15349 | |||
15350 | Replaces every occurrence of \a c1 with the char \a c2. | ||
15351 | Returns a reference to the string. | ||
15352 | */ | ||
15353 | QString &QString::replace( QChar c1, QChar c2 ) | ||
15354 | { | ||
15355 | real_detach(); | ||
15356 | uint i = 0; | ||
15357 | while ( i < d->len ) { | ||
15358 | if ( d->unicode[i] == c1 ) | ||
15359 | d->unicode[i] = c2; | ||
15360 | i++; | ||
15361 | } | ||
15362 | return *this; | ||
15363 | } | ||
15364 | |||
15365 | |||
15366 | #ifndef QT_NO_REGEXP_CAPTURE | ||
15367 | |||
15368 | /*! \overload | ||
15369 | |||
15370 | Removes every occurrence of the regular expression \a rx in the | ||
15371 | string. Returns a reference to the string. | ||
15372 | |||
15373 | This is the same as replace(\a rx, ""). | ||
15374 | */ | ||
15375 | |||
15376 | QString &QString::remove( const QRegExp & rx ) | ||
15377 | { | ||
15378 | return replace( rx, QString::null ); | ||
15379 | } | ||
15380 | |||
15381 | #endif | ||
15382 | |||
15383 | /*! \overload | ||
15384 | |||
15385 | Removes every occurrence of \a str in the string. Returns a | ||
15386 | reference to the string. | ||
15387 | */ | ||
15388 | QString &QString::remove( const char *str ) | ||
15389 | { | ||
15390 | return remove( QString::fromLatin1(str) ); | ||
15391 | } | ||
15392 | |||
15393 | /*! | ||
15394 | Replaces \a len characters from the string with \a s, starting at | ||
15395 | position \a index, and returns a reference to the string. | ||
15396 | |||
15397 | If \a index is beyond the length of the string, nothing is deleted | ||
15398 | and \a s is appended at the end of the string. If \a index is | ||
15399 | valid, but \a index + \a len is beyond the end of the string, | ||
15400 | the string is truncated at position \a index, then \a s is | ||
15401 | appended at the end. | ||
15402 | |||
15403 | \code | ||
15404 | QString string( "Say yes!" ); | ||
15405 | string = string.replace( 4, 3, "NO" ); | ||
15406 | // string == "Say NO!" | ||
15407 | \endcode | ||
15408 | |||
15409 | \sa insert(), remove() | ||
15410 | */ | ||
15411 | |||
15412 | QString &QString::replace( uint index, uint len, const QString &s ) | ||
15413 | { | ||
15414 | return replace( index, len, s.unicode(), s.length() ); | ||
15415 | } | ||
15416 | |||
15417 | /*! \overload | ||
15418 | |||
15419 | This is the same as replace(\a index, \a len, QString(\a c)). | ||
15420 | */ | ||
15421 | QString &QString::replace( uint index, uint len, QChar c ) | ||
15422 | { | ||
15423 | return replace( index, len, &c, 1 ); | ||
15424 | } | ||
15425 | |||
15426 | /*! \overload | ||
15427 | \fn QString &QString::replace( uint index, uint len, char c ) | ||
15428 | |||
15429 | This is the same as replace(\a index, \a len, QChar(\a c)). | ||
15430 | */ | ||
15431 | |||
15432 | /*! | ||
15433 | \overload | ||
15434 | |||
15435 | Replaces \a len characters with \a slen characters of QChar data | ||
15436 | from \a s, starting at position \a index, and returns a reference | ||
15437 | to the string. | ||
15438 | |||
15439 | \sa insert(), remove() | ||
15440 | */ | ||
15441 | |||
15442 | QString &QString::replace( uint index, uint len, const QChar* s, uint slen ) | ||
15443 | { | ||
15444 | real_detach(); | ||
15445 | if ( len == slen && index + len <= length() ) { | ||
15446 | // Optimized common case: replace without size change | ||
15447 | memcpy( d->unicode+index, s, len * sizeof(QChar) ); | ||
15448 | } else if ( s >= d->unicode && (uint)(s - d->unicode) < d->maxl ) { | ||
15449 | // Part of me - take a copy. | ||
15450 | QChar *tmp = QT_ALLOC_QCHAR_VEC( slen ); | ||
15451 | memcpy( tmp, s, slen * sizeof(QChar) ); | ||
15452 | replace( index, len, tmp, slen ); | ||
15453 | QT_DELETE_QCHAR_VEC( tmp ); | ||
15454 | } else { | ||
15455 | remove( index, len ); | ||
15456 | insert( index, s, slen ); | ||
15457 | } | ||
15458 | return *this; | ||
15459 | } | ||
15460 | |||
15461 | /*! \overload | ||
15462 | |||
15463 | Replaces every occurrence of the character \a c in the string | ||
15464 | with \a after. Returns a reference to the string. | ||
15465 | |||
15466 | Example: | ||
15467 | \code | ||
15468 | QString s = "a,b,c"; | ||
15469 | s.replace( QChar(','), " or " ); | ||
15470 | // s == "a or b or c" | ||
15471 | \endcode | ||
15472 | */ | ||
15473 | QString &QString::replace( QChar c, const QString & after ) | ||
15474 | { | ||
15475 | return replace( QString( c ), after ); | ||
15476 | } | ||
15477 | |||
15478 | /*! \overload | ||
15479 | \fn QString &QString::replace( char c, const QString & after ) | ||
15480 | |||
15481 | Replaces every occurrence of the character \a c in the string | ||
15482 | with \a after. Returns a reference to the string. | ||
15483 | */ | ||
15484 | |||
15485 | /*! \overload | ||
15486 | |||
15487 | Replaces every occurrence of the string \a before in the string | ||
15488 | with the string \a after. Returns a reference to the string. | ||
15489 | |||
15490 | Example: | ||
15491 | \code | ||
15492 | QString s = "Greek is Greek"; | ||
15493 | s.replace( "Greek", "English" ); | ||
15494 | // s == "English is English" | ||
15495 | \endcode | ||
15496 | */ | ||
15497 | QString &QString::replace( const QString & before, const QString & after ) | ||
15498 | { | ||
15499 | if ( before == after || isNull() ) | ||
15500 | return *this; | ||
15501 | |||
15502 | real_detach(); | ||
15503 | |||
15504 | int index = 0; | ||
15505 | uint skiptable[256]; | ||
15506 | bm_init_skiptable( before, skiptable, TRUE ); | ||
15507 | const int bl = before.length(); | ||
15508 | const int al = after.length(); | ||
15509 | |||
15510 | if ( bl == al ) { | ||
15511 | if ( bl ) { | ||
15512 | const QChar *auc = after.unicode(); | ||
15513 | while( (index = bm_find(*this, index, before, skiptable, TRUE) ) != -1 ) { | ||
15514 | memcpy( d->unicode+index, auc, al*sizeof(QChar) ); | ||
15515 | index += bl; | ||
15516 | } | ||
15517 | } | ||
15518 | } else if ( al < bl ) { | ||
15519 | const QChar *auc = after.unicode(); | ||
15520 | uint to = 0; | ||
15521 | uint movestart = 0; | ||
15522 | uint num = 0; | ||
15523 | while( (index = bm_find(*this, index, before, skiptable, TRUE) ) != -1 ) { | ||
15524 | if ( num ) { | ||
15525 | int msize = index - movestart; | ||
15526 | if ( msize > 0 ) { | ||
15527 | memmove( d->unicode + to, d->unicode + movestart, msize*sizeof(QChar) ); | ||
15528 | to += msize; | ||
15529 | } | ||
15530 | } else { | ||
15531 | to = index; | ||
15532 | } | ||
15533 | if ( al ) { | ||
15534 | memcpy( d->unicode+to, auc, al*sizeof(QChar) ); | ||
15535 | to += al; | ||
15536 | } | ||
15537 | index += bl; | ||
15538 | movestart = index; | ||
15539 | num++; | ||
15540 | } | ||
15541 | if ( num ) { | ||
15542 | int msize = d->len - movestart; | ||
15543 | if ( msize > 0 ) | ||
15544 | memmove( d->unicode + to, d->unicode + movestart, msize*sizeof(QChar) ); | ||
15545 | setLength( d->len - num*(bl-al) ); | ||
15546 | } | ||
15547 | } else { | ||
15548 | // the most complex case. We don't want to loose performance by doing repeated | ||
15549 | // copies and reallocs of the string. | ||
15550 | while( index != -1 ) { | ||
15551 | uint indices[4096]; | ||
15552 | uint pos = 0; | ||
15553 | while( pos < 4095 ) { | ||
15554 | index = bm_find(*this, index, before, skiptable, TRUE); | ||
15555 | if ( index == -1 ) | ||
15556 | break; | ||
15557 | indices[pos++] = index; | ||
15558 | index += bl; | ||
15559 | // avoid infinite loop | ||
15560 | if ( !bl ) | ||
15561 | index++; | ||
15562 | } | ||
15563 | if ( !pos ) | ||
15564 | break; | ||
15565 | |||
15566 | // we have a table of replacement positions, use them for fast replacing | ||
15567 | int adjust = pos*(al-bl); | ||
15568 | // index has to be adjusted in case we get back into the loop above. | ||
15569 | if ( index != -1 ) | ||
15570 | index += adjust; | ||
15571 | uint newlen = d->len + adjust; | ||
15572 | int moveend = d->len; | ||
15573 | if ( newlen > d->len ) | ||
15574 | setLength( newlen ); | ||
15575 | |||
15576 | while( pos ) { | ||
15577 | pos--; | ||
15578 | int movestart = indices[pos] + bl; | ||
15579 | int insertstart = indices[pos] + pos*(al-bl); | ||
15580 | int moveto = insertstart + al; | ||
15581 | memmove( d->unicode + moveto, d->unicode + movestart, (moveend - movestart)*sizeof(QChar) ); | ||
15582 | memcpy( d->unicode + insertstart, after.unicode(), al*sizeof(QChar) ); | ||
15583 | moveend = movestart-bl; | ||
15584 | } | ||
15585 | } | ||
15586 | } | ||
15587 | return *this; | ||
15588 | } | ||
15589 | |||
15590 | #ifndef QT_NO_REGEXP_CAPTURE | ||
15591 | /*! \overload | ||
15592 | |||
15593 | Replaces every occurrence of the regexp \a rx in the string with \a str. | ||
15594 | Returns a reference to the string. For example: | ||
15595 | \code | ||
15596 | QString s = "banana"; | ||
15597 | s.replace( QRegExp("an"), "" ); | ||
15598 | // s == "ba" | ||
15599 | \endcode | ||
15600 | |||
15601 | For regexps containing \link qregexp.html#capturing-text capturing | ||
15602 | parentheses \endlink, occurrences of <b>\\1</b>, <b>\\2</b>, ..., | ||
15603 | in \a str are replaced with \a{rx}.cap(1), cap(2), ... | ||
15604 | |||
15605 | \code | ||
15606 | QString t = "A <i>bon mot</i>."; | ||
15607 | t.replace( QRegExp("<i>([^<]*)</i>"), "\\emph{\\1}" ); | ||
15608 | // t == "A \\emph{bon mot}." | ||
15609 | \endcode | ||
15610 | |||
15611 | \sa find(), findRev(), QRegExp::cap() | ||
15612 | */ | ||
15613 | |||
15614 | QString &QString::replace( const QRegExp &rx, const QString &str ) | ||
15615 | { | ||
15616 | if ( isNull() ) | ||
15617 | return *this; | ||
15618 | |||
15619 | real_detach(); | ||
15620 | |||
15621 | QRegExp rx2 = rx; | ||
15622 | int index = 0; | ||
15623 | int numCaptures = rx2.numCaptures(); | ||
15624 | int al = str.length(); | ||
15625 | QRegExp::CaretMode caretMode = QRegExp::CaretAtZero; | ||
15626 | |||
15627 | if ( numCaptures > 0 ) { | ||
15628 | if ( numCaptures > 9 ) | ||
15629 | numCaptures = 9; | ||
15630 | |||
15631 | const QChar *uc = str.unicode(); | ||
15632 | int numBackRefs = 0; | ||
15633 | |||
15634 | for ( int i = 0; i < al - 1; i++ ) { | ||
15635 | if ( uc[i] == '\\' ) { | ||
15636 | int no = uc[i + 1].digitValue(); | ||
15637 | if ( no > 0 && no <= numCaptures ) | ||
15638 | numBackRefs++; | ||
15639 | } | ||
15640 | } | ||
15641 | |||
15642 | /* | ||
15643 | This is the harder case where we have back-references. We | ||
15644 | don't try to optimize it. | ||
15645 | */ | ||
15646 | if ( numBackRefs > 0 ) { | ||
15647 | int *capturePositions = new int[numBackRefs]; | ||
15648 | int *captureNumbers = new int[numBackRefs]; | ||
15649 | int j = 0; | ||
15650 | |||
15651 | for ( int i = 0; i < al - 1; i++ ) { | ||
15652 | if ( uc[i] == '\\' ) { | ||
15653 | int no = uc[i + 1].digitValue(); | ||
15654 | if ( no > 0 && no <= numCaptures ) { | ||
15655 | capturePositions[j] = i; | ||
15656 | captureNumbers[j] = no; | ||
15657 | j++; | ||
15658 | } | ||
15659 | } | ||
15660 | } | ||
15661 | |||
15662 | while ( index <= (int)length() ) { | ||
15663 | index = rx2.search( *this, index, caretMode ); | ||
15664 | if ( index == -1 ) | ||
15665 | break; | ||
15666 | |||
15667 | QString str2 = str; | ||
15668 | for ( j = numBackRefs - 1; j >= 0; j-- ) | ||
15669 | str2.replace( capturePositions[j], 2, | ||
15670 | rx2.cap(captureNumbers[j]) ); | ||
15671 | |||
15672 | replace( index, rx2.matchedLength(), str2 ); | ||
15673 | index += str2.length(); | ||
15674 | |||
15675 | if ( rx2.matchedLength() == 0 ) { | ||
15676 | // avoid infinite loop on 0-length matches (e.g., [a-z]*) | ||
15677 | index++; | ||
15678 | } else if ( index == 0 ) { | ||
15679 | caretMode = QRegExp::CaretWontMatch; | ||
15680 | } | ||
15681 | } | ||
15682 | delete[] capturePositions; | ||
15683 | delete[] captureNumbers; | ||
15684 | return *this; | ||
15685 | } | ||
15686 | } | ||
15687 | |||
15688 | /* | ||
15689 | This is the simple and optimized case where we don't have | ||
15690 | back-references. | ||
15691 | */ | ||
15692 | while ( index != -1 ) { | ||
15693 | struct { | ||
15694 | int pos; | ||
15695 | int length; | ||
15696 | } replacements[2048]; | ||
15697 | |||
15698 | uint pos = 0; | ||
15699 | int adjust = 0; | ||
15700 | while( pos < 2047 ) { | ||
15701 | index = rx2.search( *this, index, caretMode ); | ||
15702 | if ( index == -1 ) | ||
15703 | break; | ||
15704 | int ml = rx2.matchedLength(); | ||
15705 | replacements[pos].pos = index; | ||
15706 | replacements[pos++].length = ml; | ||
15707 | index += ml; | ||
15708 | adjust += al - ml; | ||
15709 | // avoid infinite loop | ||
15710 | if ( !ml ) | ||
15711 | index++; | ||
15712 | } | ||
15713 | if ( !pos ) | ||
15714 | break; | ||
15715 | replacements[pos].pos = d->len; | ||
15716 | uint newlen = d->len + adjust; | ||
15717 | |||
15718 | // to continue searching at the right position after we did | ||
15719 | // the first round of replacements | ||
15720 | if ( index != -1 ) | ||
15721 | index += adjust; | ||
15722 | QChar *newuc = QT_ALLOC_QCHAR_VEC( newlen + 1 ); | ||
15723 | QChar *uc = newuc; | ||
15724 | int copystart = 0; | ||
15725 | uint i = 0; | ||
15726 | while( i < pos ) { | ||
15727 | int copyend = replacements[i].pos; | ||
15728 | int size = copyend - copystart; | ||
15729 | memcpy( uc, d->unicode + copystart, size*sizeof(QChar) ); | ||
15730 | uc += size; | ||
15731 | memcpy( uc, str.unicode(), al*sizeof( QChar ) ); | ||
15732 | uc += al; | ||
15733 | copystart = copyend + replacements[i].length; | ||
15734 | i++; | ||
15735 | } | ||
15736 | memcpy( uc, d->unicode + copystart, | ||
15737 | (d->len - copystart) * sizeof(QChar) ); | ||
15738 | QT_DELETE_QCHAR_VEC( d->unicode ); | ||
15739 | d->unicode = newuc; | ||
15740 | d->len = newlen; | ||
15741 | d->maxl = newlen + 1; | ||
15742 | d->setDirty(); | ||
15743 | caretMode = QRegExp::CaretWontMatch; | ||
15744 | } | ||
15745 | return *this; | ||
15746 | } | ||
15747 | #endif | ||
15748 | |||
15749 | #ifndef QT_NO_REGEXP | ||
15750 | /*! | ||
15751 | Finds the first match of the regular expression \a rx, starting | ||
15752 | from position \a index. If \a index is -1, the search starts at | ||
15753 | the last character; if -2, at the next to last character and so | ||
15754 | on. (See findRev() for searching backwards.) | ||
15755 | |||
15756 | Returns the position of the first match of \a rx or -1 if no match | ||
15757 | was found. | ||
15758 | |||
15759 | \code | ||
15760 | QString string( "bananas" ); | ||
15761 | int i = string.find( QRegExp("an"), 0 ); // i == 1 | ||
15762 | \endcode | ||
15763 | |||
15764 | \sa findRev() replace() contains() | ||
15765 | */ | ||
15766 | |||
15767 | int QString::find( const QRegExp &rx, int index ) const | ||
15768 | { | ||
15769 | return rx.search( *this, index ); | ||
15770 | } | ||
15771 | |||
15772 | /*! | ||
15773 | \overload | ||
15774 | |||
15775 | Finds the first match of the regexp \a rx, starting at position \a | ||
15776 | index and searching backwards. If the index is -1, the search | ||
15777 | starts at the last character, if it is -2, at the next to last | ||
15778 | character and so on. (See findRev() for searching backwards.) | ||
15779 | |||
15780 | Returns the position of the match or -1 if no match was found. | ||
15781 | |||
15782 | \code | ||
15783 | QString string( "bananas" ); | ||
15784 | int i = string.findRev( QRegExp("an") ); // i == 3 | ||
15785 | \endcode | ||
15786 | |||
15787 | \sa find() | ||
15788 | */ | ||
15789 | |||
15790 | int QString::findRev( const QRegExp &rx, int index ) const | ||
15791 | { | ||
15792 | return rx.searchRev( *this, index ); | ||
15793 | } | ||
15794 | |||
15795 | /*! | ||
15796 | \overload | ||
15797 | |||
15798 | Returns the number of times the regexp, \a rx, matches in the | ||
15799 | string. | ||
15800 | |||
15801 | This function counts overlapping matches, so in the example below, | ||
15802 | there are four instances of "ana" or "ama". | ||
15803 | |||
15804 | \code | ||
15805 | QString str = "banana and panama"; | ||
15806 | QRegExp rxp = QRegExp( "a[nm]a", TRUE, FALSE ); | ||
15807 | int i = str.contains( rxp ); // i == 4 | ||
15808 | \endcode | ||
15809 | |||
15810 | \sa find() findRev() | ||
15811 | */ | ||
15812 | |||
15813 | int QString::contains( const QRegExp &rx ) const | ||
15814 | { | ||
15815 | int count = 0; | ||
15816 | int index = -1; | ||
15817 | int len = length(); | ||
15818 | while ( index < len - 1 ) { // count overlapping matches | ||
15819 | index = rx.search( *this, index + 1 ); | ||
15820 | if ( index == -1 ) | ||
15821 | break; | ||
15822 | count++; | ||
15823 | } | ||
15824 | return count; | ||
15825 | } | ||
15826 | |||
15827 | #endif //QT_NO_REGEXP | ||
15828 | |||
15829 | static bool ok_in_base( QChar c, int base ) | ||
15830 | { | ||
15831 | if ( base <= 10 ) | ||
15832 | return c.isDigit() && c.digitValue() < base; | ||
15833 | else | ||
15834 | return c.isDigit() || (c >= 'a' && c < char('a'+base-10)) | ||
15835 | || (c >= 'A' && c < char('A'+base-10)); | ||
15836 | } | ||
15837 | |||
15838 | /*! | ||
15839 | Returns the string converted to a \c long value to the base \a | ||
15840 | base, which is 10 by default and must be between 2 and 36. | ||
15841 | |||
15842 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
15843 | FALSE; otherwise \a *ok is set to TRUE. | ||
15844 | |||
15845 | \sa number() | ||
15846 | */ | ||
15847 | |||
15848 | long QString::toLong( bool *ok, int base ) const | ||
15849 | { | ||
15850 | const QChar *p = unicode(); | ||
15851 | long val = 0; | ||
15852 | int l = length(); | ||
15853 | const long max_mult = INT_MAX / base; | ||
15854 | bool is_ok = FALSE; | ||
15855 | int neg = 0; | ||
15856 | if ( !p ) | ||
15857 | goto bye; | ||
15858 | while ( l && p->isSpace() ) // skip leading space | ||
15859 | l--,p++; | ||
15860 | if ( !l ) | ||
15861 | goto bye; | ||
15862 | if ( *p == '-' ) { | ||
15863 | l--; | ||
15864 | p++; | ||
15865 | neg = 1; | ||
15866 | } else if ( *p == '+' ) { | ||
15867 | l--; | ||
15868 | p++; | ||
15869 | } | ||
15870 | |||
15871 | // NOTE: toULong() code is similar | ||
15872 | if ( !l || !ok_in_base(*p,base) ) | ||
15873 | goto bye; | ||
15874 | while ( l && ok_in_base(*p,base) ) { | ||
15875 | l--; | ||
15876 | int dv; | ||
15877 | if ( p->isDigit() ) { | ||
15878 | dv = p->digitValue(); | ||
15879 | } else { | ||
15880 | if ( *p >= 'a' && *p <= 'z' ) | ||
15881 | dv = *p - 'a' + 10; | ||
15882 | else | ||
15883 | dv = *p - 'A' + 10; | ||
15884 | } | ||
15885 | if ( val > max_mult || | ||
15886 | (val == max_mult && dv > (INT_MAX % base) + neg) ) | ||
15887 | goto bye; | ||
15888 | val = base * val + dv; | ||
15889 | p++; | ||
15890 | } | ||
15891 | if ( neg ) | ||
15892 | val = -val; | ||
15893 | while ( l && p->isSpace() ) // skip trailing space | ||
15894 | l--,p++; | ||
15895 | if ( !l ) | ||
15896 | is_ok = TRUE; | ||
15897 | bye: | ||
15898 | if ( ok ) | ||
15899 | *ok = is_ok; | ||
15900 | return is_ok ? val : 0; | ||
15901 | } | ||
15902 | |||
15903 | /*! | ||
15904 | Returns the string converted to an \c {unsigned long} value to the | ||
15905 | base \a base, which is 10 by default and must be between 2 and 36. | ||
15906 | |||
15907 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
15908 | FALSE; otherwise \a *ok is set to TRUE. | ||
15909 | |||
15910 | \sa number() | ||
15911 | */ | ||
15912 | |||
15913 | ulong QString::toULong( bool *ok, int base ) const | ||
15914 | { | ||
15915 | const QChar *p = unicode(); | ||
15916 | ulong val = 0; | ||
15917 | int l = length(); | ||
15918 | const ulong max_mult = UINT_MAX / base; | ||
15919 | bool is_ok = FALSE; | ||
15920 | if ( !p ) | ||
15921 | goto bye; | ||
15922 | while ( l && p->isSpace() ) // skip leading space | ||
15923 | l--,p++; | ||
15924 | if ( !l ) | ||
15925 | goto bye; | ||
15926 | if ( *p == '+' ) | ||
15927 | l--,p++; | ||
15928 | |||
15929 | // NOTE: toLong() code is similar | ||
15930 | if ( !l || !ok_in_base(*p,base) ) | ||
15931 | goto bye; | ||
15932 | while ( l && ok_in_base(*p,base) ) { | ||
15933 | l--; | ||
15934 | uint dv; | ||
15935 | if ( p->isDigit() ) { | ||
15936 | dv = p->digitValue(); | ||
15937 | } else { | ||
15938 | if ( *p >= 'a' && *p <= 'z' ) | ||
15939 | dv = *p - 'a' + 10; | ||
15940 | else | ||
15941 | dv = *p - 'A' + 10; | ||
15942 | } | ||
15943 | if ( val > max_mult || (val == max_mult && dv > UINT_MAX % base) ) | ||
15944 | goto bye; | ||
15945 | val = base * val + dv; | ||
15946 | p++; | ||
15947 | } | ||
15948 | |||
15949 | while ( l && p->isSpace() ) // skip trailing space | ||
15950 | l--,p++; | ||
15951 | if ( !l ) | ||
15952 | is_ok = TRUE; | ||
15953 | bye: | ||
15954 | if ( ok ) | ||
15955 | *ok = is_ok; | ||
15956 | return is_ok ? val : 0; | ||
15957 | } | ||
15958 | |||
15959 | /*! | ||
15960 | Returns the string converted to a \c short value to the base \a | ||
15961 | base, which is 10 by default and must be between 2 and 36. | ||
15962 | |||
15963 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
15964 | FALSE; otherwise \a *ok is set to TRUE. | ||
15965 | */ | ||
15966 | |||
15967 | short QString::toShort( bool *ok, int base ) const | ||
15968 | { | ||
15969 | long v = toLong( ok, base ); | ||
15970 | if ( ok && *ok && (v < -32768 || v > 32767) ) { | ||
15971 | *ok = FALSE; | ||
15972 | v = 0; | ||
15973 | } | ||
15974 | return (short)v; | ||
15975 | } | ||
15976 | |||
15977 | /*! | ||
15978 | Returns the string converted to an \c {unsigned short} value to | ||
15979 | the base \a base, which is 10 by default and must be between 2 and | ||
15980 | 36. | ||
15981 | |||
15982 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
15983 | FALSE; otherwise \a *ok is set to TRUE. | ||
15984 | */ | ||
15985 | |||
15986 | ushort QString::toUShort( bool *ok, int base ) const | ||
15987 | { | ||
15988 | ulong v = toULong( ok, base ); | ||
15989 | if ( ok && *ok && (v > 65535) ) { | ||
15990 | *ok = FALSE; | ||
15991 | v = 0; | ||
15992 | } | ||
15993 | return (ushort)v; | ||
15994 | } | ||
15995 | |||
15996 | |||
15997 | /*! | ||
15998 | Returns the string converted to an \c int value to the base \a | ||
15999 | base, which is 10 by default and must be between 2 and 36. | ||
16000 | |||
16001 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
16002 | FALSE; otherwise \a *ok is set to TRUE. | ||
16003 | |||
16004 | \code | ||
16005 | QString str( "FF" ); | ||
16006 | bool ok; | ||
16007 | int hex = str.toInt( &ok, 16 ); // hex == 255, ok == TRUE | ||
16008 | int dec = str.toInt( &ok, 10 ); // dec == 0, ok == FALSE | ||
16009 | \endcode | ||
16010 | |||
16011 | \sa number() | ||
16012 | */ | ||
16013 | |||
16014 | int QString::toInt( bool *ok, int base ) const | ||
16015 | { | ||
16016 | return (int)toLong( ok, base ); | ||
16017 | } | ||
16018 | |||
16019 | /*! | ||
16020 | Returns the string converted to an \c{unsigned int} value to the | ||
16021 | base \a base, which is 10 by default and must be between 2 and 36. | ||
16022 | |||
16023 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
16024 | FALSE; otherwise \a *ok is set to TRUE. | ||
16025 | |||
16026 | \sa number() | ||
16027 | */ | ||
16028 | |||
16029 | uint QString::toUInt( bool *ok, int base ) const | ||
16030 | { | ||
16031 | return (uint)toULong( ok, base ); | ||
16032 | } | ||
16033 | |||
16034 | /*! | ||
16035 | Returns the string converted to a \c double value. | ||
16036 | |||
16037 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
16038 | FALSE; otherwise \a *ok is set to TRUE. | ||
16039 | |||
16040 | \code | ||
16041 | QString string( "1234.56" ); | ||
16042 | double a = string.toDouble(); // a == 1234.56 | ||
16043 | \endcode | ||
16044 | |||
16045 | \sa number() | ||
16046 | */ | ||
16047 | |||
16048 | double QString::toDouble( bool *ok ) const | ||
16049 | { | ||
16050 | char *end; | ||
16051 | |||
16052 | const char *a = latin1(); | ||
16053 | double val = strtod( a ? a : "", &end ); | ||
16054 | if ( ok ) | ||
16055 | *ok = ( a && *a && (end == 0 || (end - a) == (int)length()) ); | ||
16056 | return val; | ||
16057 | } | ||
16058 | |||
16059 | /*! | ||
16060 | Returns the string converted to a \c float value. | ||
16061 | |||
16062 | If \a ok is not 0: if a conversion error occurs, \a *ok is set to | ||
16063 | FALSE; otherwise \a *ok is set to TRUE. | ||
16064 | |||
16065 | \sa number() | ||
16066 | */ | ||
16067 | |||
16068 | float QString::toFloat( bool *ok ) const | ||
16069 | { | ||
16070 | return (float)toDouble( ok ); | ||
16071 | } | ||
16072 | |||
16073 | |||
16074 | /*! | ||
16075 | Sets the string to the printed value of \a n in base \a base and | ||
16076 | returns a reference to the string. | ||
16077 | |||
16078 | The base is 10 by default and must be between 2 and 36. | ||
16079 | |||
16080 | \code | ||
16081 | QString string; | ||
16082 | string = string.setNum( 1234 ); // string == "1234" | ||
16083 | \endcode | ||
16084 | */ | ||
16085 | |||
16086 | QString &QString::setNum( long n, int base ) | ||
16087 | { | ||
16088 | #if defined(QT_CHECK_RANGE) | ||
16089 | if ( base < 2 || base > 36 ) { | ||
16090 | qWarning( "QString::setNum: Invalid base %d", base ); | ||
16091 | base = 10; | ||
16092 | } | ||
16093 | #endif | ||
16094 | char charbuf[65*sizeof(QChar)]; | ||
16095 | QChar *buf = (QChar*)charbuf; | ||
16096 | QChar *p = &buf[64]; | ||
16097 | int len = 0; | ||
16098 | bool neg; | ||
16099 | if ( n < 0 ) { | ||
16100 | neg = TRUE; | ||
16101 | if ( n == INT_MIN ) { | ||
16102 | // Cannot always negate this special case | ||
16103 | QString s1, s2; | ||
16104 | s1.setNum(n/base); | ||
16105 | s2.setNum((-(n+base))%base); | ||
16106 | *this = s1 + s2; | ||
16107 | return *this; | ||
16108 | } | ||
16109 | n = -n; | ||
16110 | } else { | ||
16111 | neg = FALSE; | ||
16112 | } | ||
16113 | do { | ||
16114 | *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))]; | ||
16115 | n /= base; | ||
16116 | ++len; | ||
16117 | } while ( n ); | ||
16118 | if ( neg ) { | ||
16119 | *--p = '-'; | ||
16120 | ++len; | ||
16121 | } | ||
16122 | return setUnicode( p, len ); | ||
16123 | } | ||
16124 | |||
16125 | /*! | ||
16126 | \overload | ||
16127 | |||
16128 | Sets the string to the printed value of \a n in base \a base and | ||
16129 | returns a reference to the string. | ||
16130 | |||
16131 | The base is 10 by default and must be between 2 and 36. | ||
16132 | */ | ||
16133 | |||
16134 | QString &QString::setNum( ulong n, int base ) | ||
16135 | { | ||
16136 | #if defined(QT_CHECK_RANGE) | ||
16137 | if ( base < 2 || base > 36 ) { | ||
16138 | qWarning( "QString::setNum: Invalid base %d", base ); | ||
16139 | base = 10; | ||
16140 | } | ||
16141 | #endif | ||
16142 | char charbuf[65*sizeof(QChar)]; | ||
16143 | QChar *buf = (QChar*)charbuf; | ||
16144 | QChar *p = &buf[64]; | ||
16145 | int len = 0; | ||
16146 | do { | ||
16147 | *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))]; | ||
16148 | n /= base; | ||
16149 | len++; | ||
16150 | } while ( n ); | ||
16151 | return setUnicode(p,len); | ||
16152 | } | ||
16153 | |||
16154 | /*! | ||
16155 | \fn QString &QString::setNum( int n, int base ) | ||
16156 | |||
16157 | \overload | ||
16158 | |||
16159 | Sets the string to the printed value of \a n in base \a base and | ||
16160 | returns a reference to the string. | ||
16161 | |||
16162 | The base is 10 by default and must be between 2 and 36. | ||
16163 | */ | ||
16164 | |||
16165 | /*! | ||
16166 | \fn QString &QString::setNum( uint n, int base ) | ||
16167 | |||
16168 | \overload | ||
16169 | |||
16170 | Sets the string to the printed value of \a n in base \a base and | ||
16171 | returns a reference to the string. | ||
16172 | |||
16173 | The base is 10 by default and must be between 2 and 36. | ||
16174 | */ | ||
16175 | |||
16176 | /*! | ||
16177 | \fn QString &QString::setNum( short n, int base ) | ||
16178 | |||
16179 | \overload | ||
16180 | |||
16181 | Sets the string to the printed value of \a n in base \a base and | ||
16182 | returns a reference to the string. | ||
16183 | |||
16184 | The base is 10 by default and must be between 2 and 36. | ||
16185 | */ | ||
16186 | |||
16187 | /*! | ||
16188 | \fn QString &QString::setNum( ushort n, int base ) | ||
16189 | |||
16190 | \overload | ||
16191 | |||
16192 | Sets the string to the printed value of \a n in base \a base and | ||
16193 | returns a reference to the string. | ||
16194 | |||
16195 | The base is 10 by default and must be between 2 and 36. | ||
16196 | */ | ||
16197 | |||
16198 | /*! | ||
16199 | \overload | ||
16200 | |||
16201 | Sets the string to the printed value of \a n, formatted in format | ||
16202 | \a f with precision \a prec, and returns a reference to the | ||
16203 | string. | ||
16204 | |||
16205 | The format \a f can be 'f', 'F', 'e', 'E', 'g' or 'G'. See \link | ||
16206 | #arg-formats arg \endlink() for an explanation of the formats. | ||
16207 | */ | ||
16208 | |||
16209 | QString &QString::setNum( double n, char f, int prec ) | ||
16210 | { | ||
16211 | #if defined(QT_CHECK_RANGE) | ||
16212 | if ( !(f=='f' || f=='F' || f=='e' || f=='E' || f=='g' || f=='G') ) { | ||
16213 | qWarning( "QString::setNum: Invalid format char '%c'", f ); | ||
16214 | f = 'f'; | ||
16215 | } | ||
16216 | #endif | ||
16217 | char format[20]; | ||
16218 | char *fs = format; // generate format string: %.<prec>l<f> | ||
16219 | *fs++ = '%'; | ||
16220 | if ( prec >= 0 ) { | ||
16221 | if ( prec > 99 ) // rather than crash in sprintf() | ||
16222 | prec = 99; | ||
16223 | *fs++ = '.'; | ||
16224 | if ( prec >= 10 ) { | ||
16225 | *fs++ = prec / 10 + '0'; | ||
16226 | *fs++ = prec % 10 + '0'; | ||
16227 | } else { | ||
16228 | *fs++ = prec + '0'; | ||
16229 | } | ||
16230 | } | ||
16231 | *fs++ = 'l'; | ||
16232 | *fs++ = f; | ||
16233 | *fs = '\0'; | ||
16234 | #ifndef QT_NO_SPRINTF | ||
16235 | sprintf( format, n ); | ||
16236 | return *this; | ||
16237 | #else | ||
16238 | char buf[512]; | ||
16239 | ::sprintf( buf, format, n ); // snprintf is unfortunately not portable | ||
16240 | return setLatin1(buf); | ||
16241 | #endif | ||
16242 | } | ||
16243 | |||
16244 | /*! | ||
16245 | \fn QString &QString::setNum( float n, char f, int prec ) | ||
16246 | |||
16247 | \overload | ||
16248 | |||
16249 | Sets the string to the printed value of \a n, formatted in format | ||
16250 | \a f with precision \a prec, and returns a reference to the | ||
16251 | string. | ||
16252 | |||
16253 | The format \a f can be 'f', 'F', 'e', 'E', 'g' or 'G'. See \link | ||
16254 | #arg-formats arg \endlink() for an explanation of the formats. | ||
16255 | */ | ||
16256 | |||
16257 | |||
16258 | /*! | ||
16259 | A convenience function that returns a string equivalent of the | ||
16260 | number \a n to base \a base, which is 10 by default and must be | ||
16261 | between 2 and 36. | ||
16262 | |||
16263 | \code | ||
16264 | long a = 63; | ||
16265 | QString str = QString::number( a, 16 ); // str == "3f" | ||
16266 | QString str = QString::number( a, 16 ).upper(); // str == "3F" | ||
16267 | \endcode | ||
16268 | |||
16269 | \sa setNum() | ||
16270 | */ | ||
16271 | QString QString::number( long n, int base ) | ||
16272 | { | ||
16273 | QString s; | ||
16274 | s.setNum( n, base ); | ||
16275 | return s; | ||
16276 | } | ||
16277 | |||
16278 | /*! | ||
16279 | \overload | ||
16280 | |||
16281 | \sa setNum() | ||
16282 | */ | ||
16283 | QString QString::number( ulong n, int base ) | ||
16284 | { | ||
16285 | QString s; | ||
16286 | s.setNum( n, base ); | ||
16287 | return s; | ||
16288 | } | ||
16289 | |||
16290 | /*! | ||
16291 | \overload | ||
16292 | |||
16293 | \sa setNum() | ||
16294 | */ | ||
16295 | QString QString::number( int n, int base ) | ||
16296 | { | ||
16297 | QString s; | ||
16298 | s.setNum( n, base ); | ||
16299 | return s; | ||
16300 | } | ||
16301 | |||
16302 | /*! | ||
16303 | \overload | ||
16304 | |||
16305 | A convenience factory function that returns a string | ||
16306 | representation of the number \a n to the base \a base, which is 10 | ||
16307 | by default and must be between 2 and 36. | ||
16308 | |||
16309 | \sa setNum() | ||
16310 | */ | ||
16311 | QString QString::number( uint n, int base ) | ||
16312 | { | ||
16313 | QString s; | ||
16314 | s.setNum( n, base ); | ||
16315 | return s; | ||
16316 | } | ||
16317 | |||
16318 | /*! | ||
16319 | \overload | ||
16320 | |||
16321 | Argument \a n is formatted according to the \a f format specified, | ||
16322 | which is \c g by default, and can be any of the following: | ||
16323 | |||
16324 | \table | ||
16325 | \header \i Format \i Meaning | ||
16326 | \row \i \c e \i format as [-]9.9e[+|-]999 | ||
16327 | \row \i \c E \i format as [-]9.9E[+|-]999 | ||
16328 | \row \i \c f \i format as [-]9.9 | ||
16329 | \row \i \c g \i use \c e or \c f format, whichever is the most concise | ||
16330 | \row \i \c G \i use \c E or \c f format, whichever is the most concise | ||
16331 | \endtable | ||
16332 | |||
16333 | With 'e', 'E', and 'f', \a prec is the number of digits after the | ||
16334 | decimal point. With 'g' and 'G', \a prec is the maximum number of | ||
16335 | significant digits (trailing zeroes are omitted). | ||
16336 | |||
16337 | \code | ||
16338 | double d = 12.34; | ||
16339 | QString ds = QString( "'E' format, precision 3, gives %1" ) | ||
16340 | .arg( d, 0, 'E', 3 ); | ||
16341 | // ds == "1.234E+001" | ||
16342 | \endcode | ||
16343 | |||
16344 | \sa setNum() | ||
16345 | */ | ||
16346 | QString QString::number( double n, char f, int prec ) | ||
16347 | { | ||
16348 | QString s; | ||
16349 | s.setNum( n, f, prec ); | ||
16350 | return s; | ||
16351 | } | ||
16352 | |||
16353 | |||
16354 | /*! \obsolete | ||
16355 | |||
16356 | Sets the character at position \a index to \a c and expands the | ||
16357 | string if necessary, filling with spaces. | ||
16358 | |||
16359 | This method is redundant in Qt 3.x, because operator[] will expand | ||
16360 | the string as necessary. | ||
16361 | */ | ||
16362 | |||
16363 | void QString::setExpand( uint index, QChar c ) | ||
16364 | { | ||
16365 | int spaces = index - d->len; | ||
16366 | at(index) = c; | ||
16367 | while (spaces-->0) | ||
16368 | d->unicode[--index]=' '; | ||
16369 | } | ||
16370 | |||
16371 | |||
16372 | /*! | ||
16373 | \fn const char* QString::data() const | ||
16374 | |||
16375 | \obsolete | ||
16376 | |||
16377 | Returns a pointer to a '\0'-terminated classic C string. | ||
16378 | |||
16379 | In Qt 1.x, this returned a char* allowing direct manipulation of the | ||
16380 | string as a sequence of bytes. In Qt 2.x where QString is a Unicode | ||
16381 | string, char* conversion constructs a temporary string, and hence | ||
16382 | direct character operations are meaningless. | ||
16383 | */ | ||
16384 | |||
16385 | /*! | ||
16386 | \fn bool QString::operator!() const | ||
16387 | |||
16388 | Returns TRUE if this is a null string; otherwise returns FALSE. | ||
16389 | |||
16390 | \code | ||
16391 | QString name = getName(); | ||
16392 | if ( !name ) | ||
16393 | name = "Rodney"; | ||
16394 | \endcode | ||
16395 | |||
16396 | Note that if you say | ||
16397 | |||
16398 | \code | ||
16399 | QString name = getName(); | ||
16400 | if ( name ) | ||
16401 | doSomethingWith(name); | ||
16402 | \endcode | ||
16403 | |||
16404 | It will call "operator const char*()", which is inefficent; you | ||
16405 | may wish to define the macro \c QT_NO_ASCII_CAST when writing code | ||
16406 | which you wish to remain Unicode-clean. | ||
16407 | |||
16408 | When you want the above semantics, use: | ||
16409 | |||
16410 | \code | ||
16411 | QString name = getName(); | ||
16412 | if ( !name.isNull() ) | ||
16413 | doSomethingWith(name); | ||
16414 | \endcode | ||
16415 | |||
16416 | \sa isEmpty() | ||
16417 | */ | ||
16418 | |||
16419 | |||
16420 | /*! | ||
16421 | \fn QString& QString::append( const QString& str ) | ||
16422 | |||
16423 | Appends \a str to the string and returns a reference to the | ||
16424 | result. | ||
16425 | |||
16426 | \code | ||
16427 | string = "Test"; | ||
16428 | string.append( "ing" ); // string == "Testing" | ||
16429 | \endcode | ||
16430 | |||
16431 | Equivalent to operator+=(). | ||
16432 | */ | ||
16433 | |||
16434 | /*! | ||
16435 | \fn QString& QString::append( char ch ) | ||
16436 | |||
16437 | \overload | ||
16438 | |||
16439 | Appends character \a ch to the string and returns a reference to | ||
16440 | the result. | ||
16441 | |||
16442 | Equivalent to operator+=(). | ||
16443 | */ | ||
16444 | |||
16445 | /*! | ||
16446 | \fn QString& QString::append( QChar ch ) | ||
16447 | |||
16448 | \overload | ||
16449 | |||
16450 | Appends character \a ch to the string and returns a reference to | ||
16451 | the result. | ||
16452 | |||
16453 | Equivalent to operator+=(). | ||
16454 | */ | ||
16455 | |||
16456 | /*! \fn QString& QString::append( const QByteArray &str ) | ||
16457 | \overload | ||
16458 | |||
16459 | Appends \a str to the string and returns a reference to the result. | ||
16460 | |||
16461 | Equivalent to operator+=(). | ||
16462 | */ | ||
16463 | |||
16464 | /*! \fn QString& QString::append( const char *str ) | ||
16465 | \overload | ||
16466 | |||
16467 | Appends \a str to the string and returns a reference to the result. | ||
16468 | |||
16469 | Equivalent to operator+=(). | ||
16470 | */ | ||
16471 | |||
16472 | /*! | ||
16473 | Appends \a str to the string and returns a reference to the string. | ||
16474 | */ | ||
16475 | QString& QString::operator+=( const QString &str ) | ||
16476 | { | ||
16477 | uint len1 = length(); | ||
16478 | uint len2 = str.length(); | ||
16479 | if ( len2 ) { | ||
16480 | setLength(len1+len2); | ||
16481 | memcpy( d->unicode+len1, str.unicode(), sizeof(QChar)*len2 ); | ||
16482 | } else if ( isNull() && !str.isNull() ) { // ## just for 1.x compat: | ||
16483 | *this = fromLatin1( "" ); | ||
16484 | } | ||
16485 | return *this; | ||
16486 | } | ||
16487 | |||
16488 | /*! | ||
16489 | \overload | ||
16490 | |||
16491 | Appends \a str to the string and returns a reference to the string. | ||
16492 | */ | ||
16493 | QString& QString::operator+=( const char *str ) | ||
16494 | { | ||
16495 | if ( str ) { | ||
16496 | uint len1 = length(); | ||
16497 | uint len2 = strlen( str ); | ||
16498 | if ( len2 ) { | ||
16499 | setLength(len1+len2); | ||
16500 | uint i = 0; | ||
16501 | while( i < len2 ) { | ||
16502 | d->unicode[len1+i] = str[i]; | ||
16503 | i++; | ||
16504 | } | ||
16505 | } else if ( isNull() ) { // ## just for 1.x compat: | ||
16506 | *this = fromLatin1( "" ); | ||
16507 | } | ||
16508 | } | ||
16509 | return *this; | ||
16510 | } | ||
16511 | |||
16512 | /*! \overload | ||
16513 | |||
16514 | Appends \a c to the string and returns a reference to the string. | ||
16515 | */ | ||
16516 | |||
16517 | QString &QString::operator+=( QChar c ) | ||
16518 | { | ||
16519 | setLength(length()+1); | ||
16520 | d->unicode[length()-1] = c; | ||
16521 | return *this; | ||
16522 | } | ||
16523 | |||
16524 | /*! | ||
16525 | \overload | ||
16526 | |||
16527 | Appends \a c to the string and returns a reference to the string. | ||
16528 | */ | ||
16529 | |||
16530 | QString &QString::operator+=( char c ) | ||
16531 | { | ||
16532 | setLength(length()+1); | ||
16533 | d->unicode[length()-1] = c; | ||
16534 | return *this; | ||
16535 | } | ||
16536 | |||
16537 | /*! | ||
16538 | \fn QString &QString::operator+=( const QByteArray &str ) | ||
16539 | \overload | ||
16540 | |||
16541 | Appends \a str to the string and returns a reference to the string. | ||
16542 | */ | ||
16543 | |||
16544 | |||
16545 | |||
16546 | /*! | ||
16547 | \fn char QChar::latin1() const | ||
16548 | |||
16549 | Returns a latin-1 copy of this character, if this character is in | ||
16550 | the latin-1 character set. If not, this function returns 0. | ||
16551 | */ | ||
16552 | |||
16553 | |||
16554 | /*! | ||
16555 | Returns a Latin-1 representation of the string. Note that the | ||
16556 | returned value is undefined if the string contains non-Latin-1 | ||
16557 | characters. If you want to convert strings into formats other than | ||
16558 | Unicode, see the QTextCodec classes. | ||
16559 | |||
16560 | This function is mainly useful for boot-strapping legacy code to | ||
16561 | use Unicode. | ||
16562 | |||
16563 | The result remains valid so long as one unmodified copy of the | ||
16564 | source string exists. | ||
16565 | |||
16566 | \sa utf8(), local8Bit() | ||
16567 | */ | ||
16568 | const char* QString::latin1() const | ||
16569 | { | ||
16570 | if ( !d->ascii ) { | ||
16571 | Q2HELPER(stat_get_ascii++) | ||
16572 | Q2HELPER(stat_get_ascii_size+=d->len) | ||
16573 | d->ascii = unicodeToAscii( d->unicode, d->len ); | ||
16574 | } | ||
16575 | return d->ascii; | ||
16576 | } | ||
16577 | |||
16578 | /*! | ||
16579 | \fn const char* QString::ascii() const | ||
16580 | \obsolete | ||
16581 | |||
16582 | This function simply calls latin1() and returns the result. | ||
16583 | */ | ||
16584 | |||
16585 | /*! | ||
16586 | Returns the string encoded in UTF8 format. | ||
16587 | |||
16588 | See QTextCodec for more diverse coding/decoding of Unicode strings. | ||
16589 | |||
16590 | \sa QString::fromUtf8(), local8Bit(), latin1() | ||
16591 | */ | ||
16592 | QCString QString::utf8() const | ||
16593 | { | ||
16594 | int l = length(); | ||
16595 | int rlen = l*3+1; | ||
16596 | QCString rstr(rlen); | ||
16597 | uchar* cursor = (uchar*)rstr.data(); | ||
16598 | const QChar *ch = d->unicode; | ||
16599 | for (int i=0; i<l; i++) { | ||
16600 | ushort u = ch->unicode(); | ||
16601 | if ( u < 0x80 ) { | ||
16602 | *cursor++ = (uchar)u; | ||
16603 | } else { | ||
16604 | if ( u < 0x0800 ) { | ||
16605 | *cursor++ = 0xc0 | ((uchar) (u >> 6)); | ||
16606 | } else { | ||
16607 | *cursor++ = 0xe0 | ((uchar) (u >> 12)); | ||
16608 | *cursor++ = 0x80 | ( ((uchar) (u >> 6)) & 0x3f); | ||
16609 | } | ||
16610 | *cursor++ = 0x80 | ((uchar) (u&0x3f)); | ||
16611 | } | ||
16612 | ch++; | ||
16613 | } | ||
16614 | rstr.truncate( cursor - (uchar*)rstr.data() ); | ||
16615 | return rstr; | ||
16616 | } | ||
16617 | |||
16618 | /*! | ||
16619 | Returns the Unicode string decoded from the first \a len | ||
16620 | characters of \a utf8, ignoring the rest of \a utf8. If \a len is | ||
16621 | -1 then the length of \a utf8 is used. If \a len is bigger than | ||
16622 | the length of \a utf8 then it will use the length of \a utf8. | ||
16623 | |||
16624 | \code | ||
16625 | QString str = QString::fromUtf8( "123456789", 5 ); | ||
16626 | // str == "12345" | ||
16627 | \endcode | ||
16628 | |||
16629 | See QTextCodec for more diverse coding/decoding of Unicode strings. | ||
16630 | */ | ||
16631 | QString QString::fromUtf8( const char* utf8, int len ) | ||
16632 | { | ||
16633 | if ( !utf8 ) | ||
16634 | return QString::null; | ||
16635 | |||
16636 | if ( len < 0 ) len = qstrlen( utf8 ); | ||
16637 | QString result; | ||
16638 | result.setLength( len ); // worst case | ||
16639 | QChar *qch = (QChar *)result.unicode(); | ||
16640 | ushort uc = 0; | ||
16641 | int need = 0; | ||
16642 | for (int i=0; i<len; i++) { | ||
16643 | uchar ch = utf8[i]; | ||
16644 | if (need) { | ||
16645 | if ( (ch&0xc0) == 0x80 ) { | ||
16646 | uc = (uc << 6) | (ch & 0x3f); | ||
16647 | need--; | ||
16648 | if ( !need ) { | ||
16649 | *qch = uc; | ||
16650 | qch++; | ||
16651 | } | ||
16652 | } else { | ||
16653 | // error | ||
16654 | *qch = QChar::replacement; | ||
16655 | qch++; | ||
16656 | need = 0; | ||
16657 | } | ||
16658 | } else { | ||
16659 | if ( ch < 128 ) { | ||
16660 | *qch = ch; | ||
16661 | qch++; | ||
16662 | } else if ( (ch&0xe0) == 0xc0 ) { | ||
16663 | uc = ch &0x1f; | ||
16664 | need = 1; | ||
16665 | } else if ( (ch&0xf0) == 0xe0 ) { | ||
16666 | uc = ch &0x0f; | ||
16667 | need = 2; | ||
16668 | } | ||
16669 | } | ||
16670 | } | ||
16671 | result.truncate( qch - result.unicode() ); | ||
16672 | return result; | ||
16673 | } | ||
16674 | |||
16675 | /*! | ||
16676 | Returns the Unicode string decoded from the first \a len | ||
16677 | characters of \a chars, ignoring the rest of \a chars. If \a len | ||
16678 | is -1 then the length of \a chars is used. If \a len is bigger | ||
16679 | than the length of \a chars then it will use the length of \a | ||
16680 | chars. | ||
16681 | |||
16682 | This is the same as the QString(const char*) constructor, but you | ||
16683 | can make that constructor invisible if you compile with the define | ||
16684 | \c QT_NO_CAST_ASCII, in which case you can explicitly create a | ||
16685 | QString from Latin-1 text using this function. | ||
16686 | |||
16687 | \code | ||
16688 | QString str = QString::fromLatin1( "123456789", 5 ); | ||
16689 | // str == "12345" | ||
16690 | \endcode | ||
16691 | */ | ||
16692 | QString QString::fromLatin1( const char* chars, int len ) | ||
16693 | { | ||
16694 | uint l; | ||
16695 | QChar *uc; | ||
16696 | if ( len < 0 ) | ||
16697 | len = -1; | ||
16698 | uc = internalAsciiToUnicode( chars, &l, len ); | ||
16699 | return QString( new QStringData(uc, l, l), TRUE ); | ||
16700 | } | ||
16701 | |||
16702 | /*! | ||
16703 | \fn const QChar* QString::unicode() const | ||
16704 | |||
16705 | Returns the Unicode representation of the string. The result | ||
16706 | remains valid until the string is modified. | ||
16707 | */ | ||
16708 | |||
16709 | /*! | ||
16710 | Returns the string encoded in a locale-specific format. On X11, | ||
16711 | this is the QTextCodec::codecForLocale(). On Windows, it is a | ||
16712 | system-defined encoding. On Mac OS X, this always uses utf8 as the | ||
16713 | encoding. | ||
16714 | |||
16715 | See QTextCodec for more diverse coding/decoding of Unicode | ||
16716 | strings. | ||
16717 | |||
16718 | \sa QString::fromLocal8Bit(), latin1(), utf8() | ||
16719 | */ | ||
16720 | |||
16721 | |||
16722 | QCString QString::local8Bit() const | ||
16723 | { | ||
16724 | #ifdef QT_NO_TEXTCODEC | ||
16725 | return latin1(); | ||
16726 | #else | ||
16727 | #ifdef Q_WS_X11 | ||
16728 | QTextCodec* codec = QTextCodec::codecForLocale(); | ||
16729 | return codec | ||
16730 | ? codec->fromUnicode(*this) | ||
16731 | : QCString(latin1()); | ||
16732 | #endif | ||
16733 | #if defined( Q_WS_MACX ) | ||
16734 | return utf8(); | ||
16735 | #endif | ||
16736 | #if defined( Q_WS_MAC9 ) | ||
16737 | return QCString(latin1()); //I'm evil.. | ||
16738 | #endif | ||
16739 | #ifdef Q_WS_WIN | ||
16740 | return qt_winQString2MB( *this ); | ||
16741 | #endif | ||
16742 | #ifdef Q_WS_QWS | ||
16743 | return utf8(); // ##### if there is ANY 8 bit format supported? | ||
16744 | #endif | ||
16745 | #endif | ||
16746 | } | ||
16747 | |||
16748 | /*! | ||
16749 | Returns the Unicode string decoded from the first \a len | ||
16750 | characters of \a local8Bit, ignoring the rest of \a local8Bit. If | ||
16751 | \a len is -1 then the length of \a local8Bit is used. If \a len is | ||
16752 | bigger than the length of \a local8Bit then it will use the length | ||
16753 | of \a local8Bit. | ||
16754 | |||
16755 | \code | ||
16756 | QString str = QString::fromLocal8Bit( "123456789", 5 ); | ||
16757 | // str == "12345" | ||
16758 | \endcode | ||
16759 | |||
16760 | \a local8Bit is assumed to be encoded in a locale-specific format. | ||
16761 | |||
16762 | See QTextCodec for more diverse coding/decoding of Unicode strings. | ||
16763 | */ | ||
16764 | QString QString::fromLocal8Bit( const char* local8Bit, int len ) | ||
16765 | { | ||
16766 | #ifdef QT_NO_TEXTCODEC | ||
16767 | return fromLatin1( local8Bit, len ); | ||
16768 | #else | ||
16769 | |||
16770 | if ( !local8Bit ) | ||
16771 | return QString::null; | ||
16772 | #ifdef Q_WS_X11 | ||
16773 | QTextCodec* codec = QTextCodec::codecForLocale(); | ||
16774 | if ( len < 0 ) len = qstrlen(local8Bit); | ||
16775 | return codec | ||
16776 | ? codec->toUnicode( local8Bit, len ) | ||
16777 | : fromLatin1( local8Bit, len ); | ||
16778 | #endif | ||
16779 | #if defined( Q_WS_MAC ) | ||
16780 | return fromUtf8(local8Bit,len); | ||
16781 | #endif | ||
16782 | // Should this be OS_WIN32? | ||
16783 | #ifdef Q_WS_WIN | ||
16784 | if ( len >= 0 ) { | ||
16785 | QCString s(local8Bit,len+1); | ||
16786 | return qt_winMB2QString(s); | ||
16787 | } | ||
16788 | return qt_winMB2QString( local8Bit ); | ||
16789 | #endif | ||
16790 | #ifdef Q_WS_QWS | ||
16791 | return fromUtf8(local8Bit,len); | ||
16792 | #endif | ||
16793 | #endif // QT_NO_TEXTCODEC | ||
16794 | } | ||
16795 | |||
16796 | /*! | ||
16797 | \fn QString::operator const char *() const | ||
16798 | |||
16799 | Returns latin1(). Be sure to see the warnings documented in the | ||
16800 | latin1() function. Note that for new code which you wish to be | ||
16801 | strictly Unicode-clean, you can define the macro \c | ||
16802 | QT_NO_ASCII_CAST when compiling your code to hide this function so | ||
16803 | that automatic casts are not done. This has the added advantage | ||
16804 | that you catch the programming error described in operator!(). | ||
16805 | */ | ||
16806 | |||
16807 | |||
16808 | /*! | ||
16809 | Returns the QString as a zero terminated array of unsigned shorts | ||
16810 | if the string is not null; otherwise returns zero. | ||
16811 | |||
16812 | The result remains valid so long as one unmodified | ||
16813 | copy of the source string exists. | ||
16814 | */ | ||
16815 | const unsigned short *QString::ucs2() const | ||
16816 | { | ||
16817 | if ( ! d->unicode ) | ||
16818 | return 0; | ||
16819 | unsigned int len = d->len; | ||
16820 | if ( d->maxl < len + 1 ) { | ||
16821 | // detach, grow or shrink | ||
16822 | Q2HELPER(stat_copy_on_write++) | ||
16823 | Q2HELPER(stat_copy_on_write_size += len) | ||
16824 | uint newMax = computeNewMax( len + 1 ); | ||
16825 | QChar* nd = QT_ALLOC_QCHAR_VEC( newMax ); | ||
16826 | if ( nd ) { | ||
16827 | if ( d->unicode ) | ||
16828 | memcpy( nd, d->unicode, sizeof(QChar)*len ); | ||
16829 | ((QString *)this)->deref(); | ||
16830 | ((QString *)this)->d = new QStringData( nd, len, newMax ); | ||
16831 | } | ||
16832 | } | ||
16833 | d->unicode[len] = 0; | ||
16834 | return (unsigned short *) d->unicode; | ||
16835 | } | ||
16836 | |||
16837 | /*! | ||
16838 | Constructs a string that is a deep copy of \a str, interpreted as a | ||
16839 | UCS2 encoded, zero terminated, Unicode string. | ||
16840 | |||
16841 | If \a str is 0, then a null string is created. | ||
16842 | |||
16843 | \sa isNull() | ||
16844 | */ | ||
16845 | QString QString::fromUcs2( const unsigned short *str ) | ||
16846 | { | ||
16847 | if ( !str ) { | ||
16848 | return QString::null; | ||
16849 | } else { | ||
16850 | int length = 0; | ||
16851 | while( str[length] != 0 ) | ||
16852 | length++; | ||
16853 | QChar* uc = QT_ALLOC_QCHAR_VEC( length ); | ||
16854 | memcpy( uc, str, length*sizeof(QChar) ); | ||
16855 | return QString( new QStringData( uc, length, length ), TRUE ); | ||
16856 | } | ||
16857 | } | ||
16858 | |||
16859 | /*! | ||
16860 | \fn QChar QString::at( uint ) const | ||
16861 | |||
16862 | Returns the character at index \a i, or 0 if \a i is beyond the | ||
16863 | length of the string. | ||
16864 | |||
16865 | \code | ||
16866 | const QString string( "abcdefgh" ); | ||
16867 | QChar ch = string.at( 4 ); | ||
16868 | // ch == 'e' | ||
16869 | \endcode | ||
16870 | |||
16871 | If the QString is not const (i.e. const QString) or const& (i.e. | ||
16872 | const QString &), then the non-const overload of at() will be used | ||
16873 | instead. | ||
16874 | */ | ||
16875 | |||
16876 | /*! | ||
16877 | \fn QChar QString::constref(uint i) const | ||
16878 | |||
16879 | Returns the QChar at index \a i by value. | ||
16880 | |||
16881 | Equivalent to at(\a i). | ||
16882 | |||
16883 | \sa ref() | ||
16884 | */ | ||
16885 | |||
16886 | /*! | ||
16887 | \fn QChar& QString::ref(uint i) | ||
16888 | |||
16889 | Returns the QChar at index \a i by reference, expanding the string | ||
16890 | with QChar::null if necessary. The resulting reference can be | ||
16891 | assigned to, or otherwise used immediately, but becomes invalid | ||
16892 | once furher modifications are made to the string. | ||
16893 | |||
16894 | \code | ||
16895 | QString string("ABCDEF"); | ||
16896 | QChar ch = string.ref( 3 ); // ch == 'D' | ||
16897 | \endcode | ||
16898 | |||
16899 | \sa constref() | ||
16900 | */ | ||
16901 | |||
16902 | /*! | ||
16903 | \fn QChar QString::operator[]( int ) const | ||
16904 | |||
16905 | Returns the character at index \a i, or QChar::null if \a i is | ||
16906 | beyond the length of the string. | ||
16907 | |||
16908 | If the QString is not const (i.e., const QString) or const\& | ||
16909 | (i.e., const QString\&), then the non-const overload of operator[] | ||
16910 | will be used instead. | ||
16911 | */ | ||
16912 | |||
16913 | /*! | ||
16914 | \fn QCharRef QString::operator[]( int ) | ||
16915 | |||
16916 | \overload | ||
16917 | |||
16918 | The function returns a reference to the character at index \a i. | ||
16919 | The resulting reference can then be assigned to, or used | ||
16920 | immediately, but it will become invalid once further modifications | ||
16921 | are made to the original string. | ||
16922 | |||
16923 | If \a i is beyond the length of the string then the string is | ||
16924 | expanded with QChar::nulls, so that the QCharRef references a | ||
16925 | valid (null) character in the string. | ||
16926 | |||
16927 | The QCharRef internal class can be used much like a constant | ||
16928 | QChar, but if you assign to it, you change the original string | ||
16929 | (which will detach itself because of QString's copy-on-write | ||
16930 | semantics). You will get compilation errors if you try to use the | ||
16931 | result as anything but a QChar. | ||
16932 | */ | ||
16933 | |||
16934 | /*! | ||
16935 | \fn QCharRef QString::at( uint i ) | ||
16936 | |||
16937 | \overload | ||
16938 | |||
16939 | The function returns a reference to the character at index \a i. | ||
16940 | The resulting reference can then be assigned to, or used | ||
16941 | immediately, but it will become invalid once further modifications | ||
16942 | are made to the original string. | ||
16943 | |||
16944 | If \a i is beyond the length of the string then the string is | ||
16945 | expanded with QChar::null. | ||
16946 | */ | ||
16947 | |||
16948 | /* | ||
16949 | Internal chunk of code to handle the | ||
16950 | uncommon cases of at() above. | ||
16951 | */ | ||
16952 | void QString::subat( uint i ) | ||
16953 | { | ||
16954 | uint olen = d->len; | ||
16955 | if ( i >= olen ) { | ||
16956 | setLength( i+1 ); // i is index; i+1 is needed length | ||
16957 | for ( uint j=olen; j<=i; j++ ) | ||
16958 | d->unicode[j] = QChar::null; | ||
16959 | } else { | ||
16960 | // Just be sure to detach | ||
16961 | real_detach(); | ||
16962 | } | ||
16963 | } | ||
16964 | |||
16965 | |||
16966 | /*! | ||
16967 | Resizes the string to \a len characters and copies \a unicode into | ||
16968 | the string. If \a unicode is 0, nothing is copied, but the | ||
16969 | string is still resized to \a len. If \a len is zero, then the | ||
16970 | string becomes a \link isNull() null\endlink string. | ||
16971 | |||
16972 | \sa setLatin1(), isNull() | ||
16973 | */ | ||
16974 | |||
16975 | QString& QString::setUnicode( const QChar *unicode, uint len ) | ||
16976 | { | ||
16977 | if ( len == 0 ) { // set to null string | ||
16978 | if ( d != shared_null ) { // beware of nullstring being set to nullstring | ||
16979 | deref(); | ||
16980 | d = shared_null ? shared_null : makeSharedNull(); | ||
16981 | d->ref(); | ||
16982 | } | ||
16983 | } else if ( d->count != 1 || len > d->maxl || | ||
16984 | ( len * 4 < d->maxl && d->maxl > 4 ) ) { | ||
16985 | // detach, grown or shrink | ||
16986 | Q2HELPER(stat_copy_on_write++) | ||
16987 | Q2HELPER(stat_copy_on_write_size+=d->len) | ||
16988 | uint newMax = computeNewMax( len ); | ||
16989 | QChar* nd = QT_ALLOC_QCHAR_VEC( newMax ); | ||
16990 | if ( unicode ) | ||
16991 | memcpy( nd, unicode, sizeof(QChar)*len ); | ||
16992 | deref(); | ||
16993 | d = new QStringData( nd, len, newMax ); | ||
16994 | } else { | ||
16995 | d->len = len; | ||
16996 | d->setDirty(); | ||
16997 | if ( unicode ) | ||
16998 | memcpy( d->unicode, unicode, sizeof(QChar)*len ); | ||
16999 | } | ||
17000 | return *this; | ||
17001 | } | ||
17002 | |||
17003 | /*! | ||
17004 | Resizes the string to \a len characters and copies \a | ||
17005 | unicode_as_ushorts into the string (on some X11 client platforms | ||
17006 | this will involve a byte-swapping pass). | ||
17007 | |||
17008 | If \a unicode_as_ushorts is 0, nothing is copied, but the string | ||
17009 | is still resized to \a len. If \a len is zero, the string becomes | ||
17010 | a \link isNull() null\endlink string. | ||
17011 | |||
17012 | \sa setLatin1(), isNull() | ||
17013 | */ | ||
17014 | QString& QString::setUnicodeCodes( const ushort* unicode_as_ushorts, uint len ) | ||
17015 | { | ||
17016 | return setUnicode((const QChar*)unicode_as_ushorts, len); | ||
17017 | } | ||
17018 | |||
17019 | |||
17020 | /*! | ||
17021 | Sets this string to \a str, interpreted as a classic Latin1 C | ||
17022 | string. If \a len is -1 (the default), then it is set to | ||
17023 | strlen(str). | ||
17024 | |||
17025 | If \a str is 0 a null string is created. If \a str is "", an empty | ||
17026 | string is created. | ||
17027 | |||
17028 | \sa isNull(), isEmpty() | ||
17029 | */ | ||
17030 | |||
17031 | QString &QString::setLatin1( const char *str, int len ) | ||
17032 | { | ||
17033 | if ( str == 0 ) | ||
17034 | return setUnicode(0,0); | ||
17035 | if ( len < 0 ) | ||
17036 | len = qstrlen(str); | ||
17037 | if ( len == 0 ) { // won't make a null string | ||
17038 | *this = QString::fromLatin1( "" ); | ||
17039 | } else { | ||
17040 | setUnicode( 0, len ); // resize but not copy | ||
17041 | QChar *p = d->unicode; | ||
17042 | while ( len-- ) | ||
17043 | *p++ = *str++; | ||
17044 | } | ||
17045 | return *this; | ||
17046 | } | ||
17047 | |||
17048 | /*! \internal | ||
17049 | */ | ||
17050 | void QString::checkSimpleText() const | ||
17051 | { | ||
17052 | QChar *p = d->unicode; | ||
17053 | QChar *end = p + d->len; | ||
17054 | d->simpletext = 1; | ||
17055 | while( p < end ) { | ||
17056 | ushort uc = p->unicode(); | ||
17057 | // sort out regions of complex text formatting | ||
17058 | if ( uc > 0x058f && ( uc < 0x1100 || uc > 0xfb0f ) ) { | ||
17059 | d->simpletext = 0; | ||
17060 | return; | ||
17061 | } | ||
17062 | p++; | ||
17063 | } | ||
17064 | } | ||
17065 | |||
17066 | /*! \fn bool QString::simpleText() const | ||
17067 | \internal | ||
17068 | */ | ||
17069 | |||
17070 | /*! \internal | ||
17071 | */ | ||
17072 | bool QString::isRightToLeft() const | ||
17073 | { | ||
17074 | int len = length(); | ||
17075 | QChar *p = d->unicode; | ||
17076 | while( len-- ) { | ||
17077 | switch( ::direction( *p ) ) | ||
17078 | { | ||
17079 | case QChar::DirL: | ||
17080 | case QChar::DirLRO: | ||
17081 | case QChar::DirLRE: | ||
17082 | return FALSE; | ||
17083 | case QChar::DirR: | ||
17084 | case QChar::DirAL: | ||
17085 | case QChar::DirRLO: | ||
17086 | case QChar::DirRLE: | ||
17087 | return TRUE; | ||
17088 | default: | ||
17089 | break; | ||
17090 | } | ||
17091 | ++p; | ||
17092 | } | ||
17093 | return FALSE; | ||
17094 | } | ||
17095 | |||
17096 | |||
17097 | /*! | ||
17098 | \fn int QString::compare( const QString & s1, const QString & s2 ) | ||
17099 | |||
17100 | Lexically compares \a s1 with \a s2 and returns an integer less | ||
17101 | than, equal to, or greater than zero if \a s1 is less than, equal | ||
17102 | to, or greater than \a s2. | ||
17103 | |||
17104 | The comparison is based exclusively on the numeric Unicode values | ||
17105 | of the characters and is very fast, but is not what a human would | ||
17106 | expect. Consider sorting user-interface strings with | ||
17107 | QString::localeAwareCompare(). | ||
17108 | |||
17109 | \code | ||
17110 | int a = QString::compare( "def", "abc" ); // a > 0 | ||
17111 | int b = QString::compare( "abc", "def" ); // b < 0 | ||
17112 | int c = QString::compare(" abc", "abc" ); // c == 0 | ||
17113 | \endcode | ||
17114 | */ | ||
17115 | |||
17116 | /*! | ||
17117 | \overload | ||
17118 | |||
17119 | Lexically compares this string with \a s and returns an integer | ||
17120 | less than, equal to, or greater than zero if it is less than, equal | ||
17121 | to, or greater than \a s. | ||
17122 | */ | ||
17123 | int QString::compare( const QString& s ) const | ||
17124 | { | ||
17125 | return ucstrcmp( *this, s ); | ||
17126 | } | ||
17127 | |||
17128 | /*! | ||
17129 | \fn int QString::localeAwareCompare( const QString & s1, const QString & s2 ) | ||
17130 | |||
17131 | Compares \a s1 with \a s2 and returns an integer less than, equal | ||
17132 | to, or greater than zero if \a s1 is less than, equal to, or | ||
17133 | greater than \a s2. | ||
17134 | |||
17135 | The comparison is performed in a locale- and also | ||
17136 | platform-dependent manner. Use this function to present sorted | ||
17137 | lists of strings to the user. | ||
17138 | |||
17139 | \sa QString::compare() QTextCodec::locale() | ||
17140 | */ | ||
17141 | |||
17142 | /*! | ||
17143 | \overload | ||
17144 | |||
17145 | Compares this string with \a s. | ||
17146 | */ | ||
17147 | |||
17148 | #if !defined(CSTR_LESS_THAN) | ||
17149 | #define CSTR_LESS_THAN 1 | ||
17150 | #define CSTR_EQUAL 2 | ||
17151 | #define CSTR_GREATER_THAN 3 | ||
17152 | #endif | ||
17153 | |||
17154 | int QString::localeAwareCompare( const QString& s ) const | ||
17155 | { | ||
17156 | // do the right thing for null and empty | ||
17157 | if ( isEmpty() || s.isEmpty() ) | ||
17158 | return compare( s ); | ||
17159 | |||
17160 | #if defined(Q_WS_WIN) | ||
17161 | int res; | ||
17162 | QT_WA( { | ||
17163 | const TCHAR* s1 = (TCHAR*)ucs2(); | ||
17164 | const TCHAR* s2 = (TCHAR*)s.ucs2(); | ||
17165 | res = CompareStringW( LOCALE_USER_DEFAULT, 0, s1, length(), s2, s.length() ); | ||
17166 | } , { | ||
17167 | QCString s1 = local8Bit(); | ||
17168 | QCString s2 = s.local8Bit(); | ||
17169 | res = CompareStringA( LOCALE_USER_DEFAULT, 0, s1.data(), s1.length(), s2.data(), s2.length() ); | ||
17170 | } ); | ||
17171 | |||
17172 | switch ( res ) { | ||
17173 | case CSTR_LESS_THAN: | ||
17174 | return -1; | ||
17175 | case CSTR_GREATER_THAN: | ||
17176 | return 1; | ||
17177 | default: | ||
17178 | return 0; | ||
17179 | } | ||
17180 | #elif defined(Q_WS_X11) | ||
17181 | // declared in <string.h> | ||
17182 | int delta = strcoll( local8Bit(), s.local8Bit() ); | ||
17183 | if ( delta == 0 ) | ||
17184 | delta = ucstrcmp( *this, s ); | ||
17185 | return delta; | ||
17186 | #else | ||
17187 | return ucstrcmp( *this, s ); | ||
17188 | #endif | ||
17189 | } | ||
17190 | |||
17191 | bool operator==( const QString &s1, const QString &s2 ) | ||
17192 | { | ||
17193 | if ( s1.unicode() == s2.unicode() ) | ||
17194 | return TRUE; | ||
17195 | return (s1.length() == s2.length()) && s1.isNull() == s2.isNull() && | ||
17196 | (memcmp((char*)s1.unicode(),(char*)s2.unicode(), | ||
17197 | s1.length()*sizeof(QChar)) == 0 ); | ||
17198 | } | ||
17199 | |||
17200 | bool operator!=( const QString &s1, const QString &s2 ) | ||
17201 | { return !(s1==s2); } | ||
17202 | |||
17203 | bool operator<( const QString &s1, const QString &s2 ) | ||
17204 | { return ucstrcmp(s1,s2) < 0; } | ||
17205 | |||
17206 | bool operator<=( const QString &s1, const QString &s2 ) | ||
17207 | { return ucstrcmp(s1,s2) <= 0; } | ||
17208 | |||
17209 | bool operator>( const QString &s1, const QString &s2 ) | ||
17210 | { return ucstrcmp(s1,s2) > 0; } | ||
17211 | |||
17212 | bool operator>=( const QString &s1, const QString &s2 ) | ||
17213 | { return ucstrcmp(s1,s2) >= 0; } | ||
17214 | |||
17215 | |||
17216 | bool operator==( const QString &s1, const char *s2 ) | ||
17217 | { | ||
17218 | if ( !s2 ) | ||
17219 | return s1.isNull(); | ||
17220 | |||
17221 | int len = s1.length(); | ||
17222 | const QChar *uc = s1.unicode(); | ||
17223 | while ( len ) { | ||
17224 | if ( !(*s2) || uc->unicode() != (uchar) *s2 ) | ||
17225 | return FALSE; | ||
17226 | ++uc; | ||
17227 | ++s2; | ||
17228 | --len; | ||
17229 | } | ||
17230 | return !*s2; | ||
17231 | } | ||
17232 | |||
17233 | bool operator==( const char *s1, const QString &s2 ) | ||
17234 | { return (s2 == s1); } | ||
17235 | |||
17236 | bool operator!=( const QString &s1, const char *s2 ) | ||
17237 | { return !(s1==s2); } | ||
17238 | |||
17239 | bool operator!=( const char *s1, const QString &s2 ) | ||
17240 | { return !(s1==s2); } | ||
17241 | |||
17242 | bool operator<( const QString &s1, const char *s2 ) | ||
17243 | { return ucstrcmp(s1,s2) < 0; } | ||
17244 | |||
17245 | bool operator<( const char *s1, const QString &s2 ) | ||
17246 | { return ucstrcmp(s1,s2) < 0; } | ||
17247 | |||
17248 | bool operator<=( const QString &s1, const char *s2 ) | ||
17249 | { return ucstrcmp(s1,s2) <= 0; } | ||
17250 | |||
17251 | bool operator<=( const char *s1, const QString &s2 ) | ||
17252 | { return ucstrcmp(s1,s2) <= 0; } | ||
17253 | |||
17254 | bool operator>( const QString &s1, const char *s2 ) | ||
17255 | { return ucstrcmp(s1,s2) > 0; } | ||
17256 | |||
17257 | bool operator>( const char *s1, const QString &s2 ) | ||
17258 | { return ucstrcmp(s1,s2) > 0; } | ||
17259 | |||
17260 | bool operator>=( const QString &s1, const char *s2 ) | ||
17261 | { return ucstrcmp(s1,s2) >= 0; } | ||
17262 | |||
17263 | bool operator>=( const char *s1, const QString &s2 ) | ||
17264 | { return ucstrcmp(s1,s2) >= 0; } | ||
17265 | |||
17266 | |||
17267 | /***************************************************************************** | ||
17268 | Documentation for QString related functions | ||
17269 | *****************************************************************************/ | ||
17270 | |||
17271 | /*! | ||
17272 | \fn bool operator==( const QString &s1, const QString &s2 ) | ||
17273 | |||
17274 | \relates QString | ||
17275 | |||
17276 | Returns TRUE if \a s1 is equal to \a s2; otherwise returns FALSE. | ||
17277 | Note that a null string is not equal to a not-null empty string. | ||
17278 | |||
17279 | Equivalent to compare(\a s1, \a s2) != 0. | ||
17280 | |||
17281 | \sa isNull(), isEmpty() | ||
17282 | */ | ||
17283 | |||
17284 | /*! | ||
17285 | \fn bool operator==( const QString &s1, const char *s2 ) | ||
17286 | |||
17287 | \overload | ||
17288 | \relates QString | ||
17289 | |||
17290 | Returns TRUE if \a s1 is equal to \a s2; otherwise returns FALSE. | ||
17291 | Note that a null string is not equal to a not-null empty string. | ||
17292 | |||
17293 | Equivalent to compare(\a s1, \a s2) == 0. | ||
17294 | |||
17295 | \sa isNull(), isEmpty() | ||
17296 | */ | ||
17297 | |||
17298 | /*! | ||
17299 | \fn bool operator==( const char *s1, const QString &s2 ) | ||
17300 | |||
17301 | \overload | ||
17302 | \relates QString | ||
17303 | |||
17304 | Returns TRUE if \a s1 is equal to \a s2; otherwise returns FALSE. | ||
17305 | Note that a null string is not equal to a not-null empty string. | ||
17306 | |||
17307 | Equivalent to compare(\a s1, \a s2) == 0. | ||
17308 | |||
17309 | \sa isNull(), isEmpty() | ||
17310 | */ | ||
17311 | |||
17312 | /*! | ||
17313 | \fn bool operator!=( const QString &s1, const QString &s2 ) | ||
17314 | |||
17315 | \relates QString | ||
17316 | |||
17317 | Returns TRUE if \a s1 is not equal to \a s2; otherwise returns FALSE. | ||
17318 | Note that a null string is not equal to a not-null empty string. | ||
17319 | |||
17320 | Equivalent to compare(\a s1, \a s2) != 0. | ||
17321 | |||
17322 | \sa isNull(), isEmpty() | ||
17323 | */ | ||
17324 | |||
17325 | /*! | ||
17326 | \fn bool operator!=( const QString &s1, const char *s2 ) | ||
17327 | |||
17328 | \overload | ||
17329 | \relates QString | ||
17330 | |||
17331 | Returns TRUE if \a s1 is not equal to \a s2; otherwise returns FALSE. | ||
17332 | Note that a null string is not equal to a not-null empty string. | ||
17333 | |||
17334 | Equivalent to compare(\a s1, \a s2) != 0. | ||
17335 | |||
17336 | \sa isNull(), isEmpty() | ||
17337 | */ | ||
17338 | |||
17339 | /*! | ||
17340 | \fn bool operator!=( const char *s1, const QString &s2 ) | ||
17341 | |||
17342 | \overload | ||
17343 | \relates QString | ||
17344 | |||
17345 | Returns TRUE if \a s1 is not equal to \a s2; otherwise returns FALSE. | ||
17346 | Note that a null string is not equal to a not-null empty string. | ||
17347 | |||
17348 | Equivalent to compare(\a s1, \a s2) != 0. | ||
17349 | |||
17350 | \sa isNull(), isEmpty() | ||
17351 | */ | ||
17352 | |||
17353 | /*! | ||
17354 | \fn bool operator<( const QString &s1, const char *s2 ) | ||
17355 | |||
17356 | \relates QString | ||
17357 | |||
17358 | Returns TRUE if \a s1 is lexically less than \a s2; otherwise returns FALSE. | ||
17359 | The comparison is case sensitive. | ||
17360 | |||
17361 | Equivalent to compare(\a s1, \a s2) \< 0. | ||
17362 | */ | ||
17363 | |||
17364 | /*! | ||
17365 | \fn bool operator<( const char *s1, const QString &s2 ) | ||
17366 | |||
17367 | \overload | ||
17368 | \relates QString | ||
17369 | |||
17370 | Returns TRUE if \a s1 is lexically less than \a s2; otherwise returns FALSE. | ||
17371 | The comparison is case sensitive. | ||
17372 | |||
17373 | Equivalent to compare(\a s1, \a s2) \< 0. | ||
17374 | */ | ||
17375 | |||
17376 | /*! | ||
17377 | \fn bool operator<=( const QString &s1, const char *s2 ) | ||
17378 | |||
17379 | \relates QString | ||
17380 | |||
17381 | Returns TRUE if \a s1 is lexically less than or equal to \a s2; | ||
17382 | otherwise returns FALSE. | ||
17383 | The comparison is case sensitive. | ||
17384 | Note that a null string is not equal to a not-null empty string. | ||
17385 | |||
17386 | Equivalent to compare(\a s1,\a s2) \<= 0. | ||
17387 | |||
17388 | \sa isNull(), isEmpty() | ||
17389 | */ | ||
17390 | |||
17391 | /*! | ||
17392 | \fn bool operator<=( const char *s1, const QString &s2 ) | ||
17393 | |||
17394 | \overload | ||
17395 | \relates QString | ||
17396 | |||
17397 | Returns TRUE if \a s1 is lexically less than or equal to \a s2; | ||
17398 | otherwise returns FALSE. | ||
17399 | The comparison is case sensitive. | ||
17400 | Note that a null string is not equal to a not-null empty string. | ||
17401 | |||
17402 | Equivalent to compare(\a s1, \a s2) \<= 0. | ||
17403 | |||
17404 | \sa isNull(), isEmpty() | ||
17405 | */ | ||
17406 | |||
17407 | /*! | ||
17408 | \fn bool operator>( const QString &s1, const char *s2 ) | ||
17409 | |||
17410 | \relates QString | ||
17411 | |||
17412 | Returns TRUE if \a s1 is lexically greater than \a s2; otherwise | ||
17413 | returns FALSE. | ||
17414 | The comparison is case sensitive. | ||
17415 | |||
17416 | Equivalent to compare(\a s1, \a s2) \> 0. | ||
17417 | */ | ||
17418 | |||
17419 | /*! | ||
17420 | \fn bool operator>( const char *s1, const QString &s2 ) | ||
17421 | |||
17422 | \overload | ||
17423 | \relates QString | ||
17424 | |||
17425 | Returns TRUE if \a s1 is lexically greater than \a s2; otherwise | ||
17426 | returns FALSE. | ||
17427 | The comparison is case sensitive. | ||
17428 | |||
17429 | Equivalent to compare(\a s1, \a s2) \> 0. | ||
17430 | */ | ||
17431 | |||
17432 | /*! | ||
17433 | \fn bool operator>=( const QString &s1, const char *s2 ) | ||
17434 | |||
17435 | \relates QString | ||
17436 | |||
17437 | Returns TRUE if \a s1 is lexically greater than or equal to \a s2; | ||
17438 | otherwise returns FALSE. | ||
17439 | The comparison is case sensitive. | ||
17440 | Note that a null string is not equal to a not-null empty string. | ||
17441 | |||
17442 | Equivalent to compare(\a s1, \a s2) \>= 0. | ||
17443 | |||
17444 | \sa isNull(), isEmpty() | ||
17445 | */ | ||
17446 | |||
17447 | /*! | ||
17448 | \fn bool operator>=( const char *s1, const QString &s2 ) | ||
17449 | |||
17450 | \overload | ||
17451 | \relates QString | ||
17452 | |||
17453 | Returns TRUE if \a s1 is lexically greater than or equal to \a s2; | ||
17454 | otherwise returns FALSE. | ||
17455 | The comparison is case sensitive. | ||
17456 | Note that a null string is not equal to a not-null empty string. | ||
17457 | |||
17458 | Equivalent to compare(\a s1, \a s2) \>= 0. | ||
17459 | |||
17460 | \sa isNull(), isEmpty() | ||
17461 | */ | ||
17462 | |||
17463 | /*! | ||
17464 | \fn const QString operator+( const QString &s1, const QString &s2 ) | ||
17465 | |||
17466 | \relates QString | ||
17467 | |||
17468 | Returns a string which is the result of concatenating the string | ||
17469 | \a s1 and the string \a s2. | ||
17470 | |||
17471 | Equivalent to \a {s1}.append(\a s2). | ||
17472 | */ | ||
17473 | |||
17474 | /*! | ||
17475 | \fn const QString operator+( const QString &s1, const char *s2 ) | ||
17476 | |||
17477 | \overload | ||
17478 | \relates QString | ||
17479 | |||
17480 | Returns a string which is the result of concatenating the string | ||
17481 | \a s1 and character \a s2. | ||
17482 | |||
17483 | Equivalent to \a {s1}.append(\a s2). | ||
17484 | */ | ||
17485 | |||
17486 | /*! | ||
17487 | \fn const QString operator+( const char *s1, const QString &s2 ) | ||
17488 | |||
17489 | \overload | ||
17490 | \relates QString | ||
17491 | |||
17492 | Returns a string which is the result of concatenating the | ||
17493 | character \a s1 and string \a s2. | ||
17494 | */ | ||
17495 | |||
17496 | /*! | ||
17497 | \fn const QString operator+( const QString &s, char c ) | ||
17498 | |||
17499 | \overload | ||
17500 | \relates QString | ||
17501 | |||
17502 | Returns a string which is the result of concatenating the string | ||
17503 | \a s and character \a c. | ||
17504 | |||
17505 | Equivalent to \a {s}.append(\a c). | ||
17506 | */ | ||
17507 | |||
17508 | /*! | ||
17509 | \fn const QString operator+( char c, const QString &s ) | ||
17510 | |||
17511 | \overload | ||
17512 | \relates QString | ||
17513 | |||
17514 | Returns a string which is the result of concatenating the | ||
17515 | character \a c and string \a s. | ||
17516 | |||
17517 | Equivalent to \a {s}.prepend(\a c). | ||
17518 | */ | ||
17519 | |||
17520 | |||
17521 | /***************************************************************************** | ||
17522 | QString stream functions | ||
17523 | *****************************************************************************/ | ||
17524 | #ifndef QT_NO_DATASTREAM | ||
17525 | /*! | ||
17526 | \relates QString | ||
17527 | |||
17528 | Writes the string \a str to the stream \a s. | ||
17529 | |||
17530 | See also \link datastreamformat.html Format of the QDataStream operators \endlink | ||
17531 | */ | ||
17532 | |||
17533 | QDataStream &operator<<( QDataStream &s, const QString &str ) | ||
17534 | { | ||
17535 | if ( s.version() == 1 ) { | ||
17536 | QCString l( str.latin1() ); | ||
17537 | s << l; | ||
17538 | } | ||
17539 | else { | ||
17540 | int byteOrder = s.byteOrder(); | ||
17541 | const QChar* ub = str.unicode(); | ||
17542 | if ( ub || s.version() < 3 ) { | ||
17543 | static const uint auto_size = 1024; | ||
17544 | char t[auto_size]; | ||
17545 | char *b; | ||
17546 | if ( str.length()*sizeof(QChar) > auto_size ) { | ||
17547 | b = new char[str.length()*sizeof(QChar)]; | ||
17548 | } else { | ||
17549 | b = t; | ||
17550 | } | ||
17551 | int l = str.length(); | ||
17552 | char *c=b; | ||
17553 | while ( l-- ) { | ||
17554 | if ( byteOrder == QDataStream::BigEndian ) { | ||
17555 | *c++ = (char)ub->row(); | ||
17556 | *c++ = (char)ub->cell(); | ||
17557 | } else { | ||
17558 | *c++ = (char)ub->cell(); | ||
17559 | *c++ = (char)ub->row(); | ||
17560 | } | ||
17561 | ub++; | ||
17562 | } | ||
17563 | s.writeBytes( b, sizeof(QChar)*str.length() ); | ||
17564 | if ( str.length()*sizeof(QChar) > auto_size ) | ||
17565 | delete [] b; | ||
17566 | } else { | ||
17567 | // write null marker | ||
17568 | s << (Q_UINT32)0xffffffff; | ||
17569 | } | ||
17570 | } | ||
17571 | return s; | ||
17572 | } | ||
17573 | |||
17574 | /*! | ||
17575 | \relates QString | ||
17576 | |||
17577 | Reads a string from the stream \a s into string \a str. | ||
17578 | |||
17579 | See also \link datastreamformat.html Format of the QDataStream operators \endlink | ||
17580 | */ | ||
17581 | |||
17582 | QDataStream &operator>>( QDataStream &s, QString &str ) | ||
17583 | { | ||
17584 | #ifdef QT_QSTRING_UCS_4 | ||
17585 | #if defined(Q_CC_GNU) | ||
17586 | #warning "operator>> not working properly" | ||
17587 | #endif | ||
17588 | #endif | ||
17589 | if ( s.version() == 1 ) { | ||
17590 | QCString l; | ||
17591 | s >> l; | ||
17592 | str = QString( l ); | ||
17593 | } | ||
17594 | else { | ||
17595 | Q_UINT32 bytes; | ||
17596 | s >> bytes; // read size of string | ||
17597 | if ( bytes == 0xffffffff ) { // null string | ||
17598 | str = QString::null; | ||
17599 | } else if ( bytes > 0 ) { // not empty | ||
17600 | int byteOrder = s.byteOrder(); | ||
17601 | str.setLength( bytes/2 ); | ||
17602 | QChar* ch = str.d->unicode; | ||
17603 | static const uint auto_size = 1024; | ||
17604 | char t[auto_size]; | ||
17605 | char *b; | ||
17606 | if ( bytes > auto_size ) { | ||
17607 | b = new char[bytes]; | ||
17608 | } else { | ||
17609 | b = t; | ||
17610 | } | ||
17611 | s.readRawBytes( b, bytes ); | ||
17612 | int bt = bytes/2; | ||
17613 | char *oldb = b; | ||
17614 | while ( bt-- ) { | ||
17615 | if ( byteOrder == QDataStream::BigEndian ) | ||
17616 | *ch++ = (ushort) (((ushort)b[0])<<8) | (uchar)b[1]; | ||
17617 | else | ||
17618 | *ch++ = (ushort) (((ushort)b[1])<<8) | (uchar)b[0]; | ||
17619 | b += 2; | ||
17620 | } | ||
17621 | if ( bytes > auto_size ) | ||
17622 | delete [] oldb; | ||
17623 | } else { | ||
17624 | str = ""; | ||
17625 | } | ||
17626 | } | ||
17627 | return s; | ||
17628 | } | ||
17629 | #endif // QT_NO_DATASTREAM | ||
17630 | |||
17631 | /***************************************************************************** | ||
17632 | QConstString member functions | ||
17633 | *****************************************************************************/ | ||
17634 | |||
17635 | /*! | ||
17636 | \class QConstString qstring.h | ||
17637 | \reentrant | ||
17638 | \ingroup text | ||
17639 | \brief The QConstString class provides string objects using constant Unicode data. | ||
17640 | |||
17641 | In order to minimize copying, highly optimized applications can | ||
17642 | use QConstString to provide a QString-compatible object from | ||
17643 | existing Unicode data. It is then the programmer's responsibility | ||
17644 | to ensure that the Unicode data exists for the entire lifetime of | ||
17645 | the QConstString object. | ||
17646 | |||
17647 | A QConstString is created with the QConstString constructor. The | ||
17648 | string held by the object can be obtained by calling string(). | ||
17649 | */ | ||
17650 | |||
17651 | /*! | ||
17652 | Constructs a QConstString that uses the first \a length Unicode | ||
17653 | characters in the array \a unicode. Any attempt to modify copies | ||
17654 | of the string will cause it to create a copy of the data, thus it | ||
17655 | remains forever unmodified. | ||
17656 | |||
17657 | The data in \a unicode is not copied. The caller must be able to | ||
17658 | guarantee that \a unicode will not be deleted or modified. | ||
17659 | */ | ||
17660 | QConstString::QConstString( const QChar* unicode, uint length ) : | ||
17661 | QString( new QStringData( (QChar*)unicode, length, length ), TRUE ) | ||
17662 | { | ||
17663 | } | ||
17664 | |||
17665 | /*! | ||
17666 | Destroys the QConstString, creating a copy of the data if other | ||
17667 | strings are still using it. | ||
17668 | */ | ||
17669 | QConstString::~QConstString() | ||
17670 | { | ||
17671 | if ( d->count > 1 ) { | ||
17672 | QChar* cp = QT_ALLOC_QCHAR_VEC( d->len ); | ||
17673 | memcpy( cp, d->unicode, d->len*sizeof(QChar) ); | ||
17674 | d->unicode = cp; | ||
17675 | } else { | ||
17676 | d->unicode = 0; | ||
17677 | } | ||
17678 | |||
17679 | // The original d->unicode is now unlinked. | ||
17680 | } | ||
17681 | |||
17682 | /*! | ||
17683 | \fn const QString& QConstString::string() const | ||
17684 | |||
17685 | Returns a constant string referencing the data passed during | ||
17686 | construction. | ||
17687 | */ | ||
17688 | |||
17689 | /*! | ||
17690 | Returns TRUE if the string starts with \a s; otherwise returns | ||
17691 | FALSE. | ||
17692 | |||
17693 | \code | ||
17694 | QString string("Bananas"); | ||
17695 | bool a = string.startsWith("Ban"); // a == TRUE | ||
17696 | \endcode | ||
17697 | |||
17698 | \sa endsWith() | ||
17699 | */ | ||
17700 | bool QString::startsWith( const QString& s ) const | ||
17701 | { | ||
17702 | if ( isNull() ) | ||
17703 | return s.isNull(); | ||
17704 | if ( s.length() > length() ) | ||
17705 | return FALSE; | ||
17706 | for ( int i =0; i < (int) s.length(); i++ ) { | ||
17707 | if ( d->unicode[i] != s[i] ) | ||
17708 | return FALSE; | ||
17709 | } | ||
17710 | return TRUE; | ||
17711 | } | ||
17712 | |||
17713 | /*! | ||
17714 | Returns TRUE if the string ends with \a s; otherwise returns | ||
17715 | FALSE. | ||
17716 | |||
17717 | \sa startsWith() | ||
17718 | */ | ||
17719 | bool QString::endsWith( const QString& s ) const | ||
17720 | { | ||
17721 | if ( isNull() ) | ||
17722 | return s.isNull(); | ||
17723 | int pos = length() - s.length(); | ||
17724 | if ( pos < 0 ) | ||
17725 | return FALSE; | ||
17726 | for ( uint i = 0; i < s.length(); i++ ) { | ||
17727 | if ( d->unicode[pos+i] != s[(int)i] ) | ||
17728 | return FALSE; | ||
17729 | } | ||
17730 | return TRUE; | ||
17731 | } | ||
17732 | |||
17733 | /*! \fn void QString::detach() | ||
17734 | If the string does not share its data with another QString instance, | ||
17735 | nothing happens; otherwise the function creates a new, unique copy of | ||
17736 | this string. This function is called whenever the map is modified. The | ||
17737 | implicit sharing mechanism is implemented this way. | ||
17738 | */ | ||
17739 | |||
17740 | #if defined(Q_OS_WIN32) | ||
17741 | |||
17742 | #include <windows.h> | ||
17743 | |||
17744 | /*! | ||
17745 | \obsolete | ||
17746 | |||
17747 | Returns a static Windows TCHAR* from a QString, adding NUL if \a | ||
17748 | addnul is TRUE. | ||
17749 | |||
17750 | The lifetime of the return value is until the next call to this function, | ||
17751 | or until the last copy of str is deleted, whatever comes first. | ||
17752 | |||
17753 | Use ucs2() instead. | ||
17754 | */ | ||
17755 | const void* qt_winTchar(const QString& str, bool) | ||
17756 | { | ||
17757 | // So that the return value lives long enough. | ||
17758 | static QString str_cache; | ||
17759 | str_cache = str; | ||
17760 | #ifdef UNICODE | ||
17761 | return str_cache.ucs2(); | ||
17762 | #else | ||
17763 | return str_cache.latin1(); | ||
17764 | #endif | ||
17765 | } | ||
17766 | |||
17767 | /*! | ||
17768 | Makes a new '\0'-terminated Windows TCHAR* from a QString. | ||
17769 | */ | ||
17770 | void* qt_winTchar_new(const QString& str) | ||
17771 | { | ||
17772 | if ( str.isNull() ) | ||
17773 | return 0; | ||
17774 | int l = str.length()+1; | ||
17775 | TCHAR *tc = new TCHAR[ l ]; | ||
17776 | #ifdef UNICODE | ||
17777 | memcpy( tc, str.ucs2(), sizeof(TCHAR)*l ); | ||
17778 | #else | ||
17779 | memcpy( tc, str.latin1(), sizeof(TCHAR)*l ); | ||
17780 | #endif | ||
17781 | return tc; | ||
17782 | } | ||
17783 | |||
17784 | /*! | ||
17785 | Makes a QString from a Windows TCHAR*. | ||
17786 | */ | ||
17787 | QString qt_winQString(void* tc) | ||
17788 | { | ||
17789 | #ifdef UNICODE | ||
17790 | return QString::fromUcs2( (ushort*)tc ); | ||
17791 | #else | ||
17792 | return QString::fromLatin1( (TCHAR *)tc ); | ||
17793 | #endif | ||
17794 | } | ||
17795 | |||
17796 | QCString qt_winQString2MB( const QString& s, int uclen ) | ||
17797 | { | ||
17798 | if ( uclen < 0 ) | ||
17799 | uclen = s.length(); | ||
17800 | if ( s.isNull() ) | ||
17801 | return QCString(); | ||
17802 | if ( uclen == 0 ) | ||
17803 | return QCString(""); | ||
17804 | BOOL used_def; | ||
17805 | QCString mb(4096); | ||
17806 | int len; | ||
17807 | while ( !(len=WideCharToMultiByte(CP_ACP, 0, (const WCHAR*)s.unicode(), uclen, | ||
17808 | mb.data(), mb.size()-1, 0, &used_def)) ) | ||
17809 | { | ||
17810 | int r = GetLastError(); | ||
17811 | if ( r == ERROR_INSUFFICIENT_BUFFER ) { | ||
17812 | mb.resize(1+WideCharToMultiByte( CP_ACP, 0, | ||
17813 | (const WCHAR*)s.unicode(), uclen, | ||
17814 | 0, 0, 0, &used_def)); | ||
17815 | // and try again... | ||
17816 | } else { | ||
17817 | #ifndef QT_NO_DEBUG | ||
17818 | // Fail. | ||
17819 | qWarning("WideCharToMultiByte cannot convert multibyte text (error %d): %s (UTF8)", | ||
17820 | r, s.utf8().data()); | ||
17821 | #endif | ||
17822 | break; | ||
17823 | } | ||
17824 | } | ||
17825 | mb[len]='\0'; | ||
17826 | return mb; | ||
17827 | } | ||
17828 | |||
17829 | // WATCH OUT: mblen must include the NUL (or just use -1) | ||
17830 | QString qt_winMB2QString( const char* mb, int mblen ) | ||
17831 | { | ||
17832 | if ( !mb || !mblen ) | ||
17833 | return QString::null; | ||
17834 | const int wclen_auto = 4096; | ||
17835 | WCHAR wc_auto[wclen_auto]; | ||
17836 | int wclen = wclen_auto; | ||
17837 | WCHAR *wc = wc_auto; | ||
17838 | int len; | ||
17839 | while ( !(len=MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, | ||
17840 | mb, mblen, wc, wclen )) ) | ||
17841 | { | ||
17842 | int r = GetLastError(); | ||
17843 | if ( r == ERROR_INSUFFICIENT_BUFFER ) { | ||
17844 | if ( wc != wc_auto ) { | ||
17845 | qWarning("Size changed in MultiByteToWideChar"); | ||
17846 | break; | ||
17847 | } else { | ||
17848 | wclen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, | ||
17849 | mb, mblen, 0, 0 ); | ||
17850 | wc = new WCHAR[wclen]; | ||
17851 | // and try again... | ||
17852 | } | ||
17853 | } else { | ||
17854 | // Fail. | ||
17855 | qWarning("MultiByteToWideChar cannot convert multibyte text"); | ||
17856 | break; | ||
17857 | } | ||
17858 | } | ||
17859 | if ( len <= 0 ) | ||
17860 | return QString::null; | ||
17861 | QString s( (QChar*)wc, len - 1 ); // len - 1: we don't want terminator | ||
17862 | if ( wc != wc_auto ) | ||
17863 | delete [] wc; | ||
17864 | return s; | ||
17865 | } | ||
17866 | |||
17867 | #endif // Q_OS_WIN32 | ||