1 /****************************************************************************
4 ** Implementation of the QString class and related Unicode functions
8 ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
10 ** This file is part of the tools module of the Qt GUI Toolkit.
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.
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.
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.
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.
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.
33 ** Contact info@trolltech.com if any conditions of this licensing are
36 **********************************************************************/
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
46 #include "qdatastream.h"
47 #include "qtextcodec.h"
56 /* -------------------------------------------------------------------------
58 * these tables are generated from the unicode reference file
59 * ftp://ftp.unicode.org/Public/3.0-Update/UnicodeData-3.0.0.html
61 * Lars Knoll <knoll@mpi-hd.mpg.de>
62 * -------------------------------------------------------------------------
65 /* Perl script to generate (run perl -x tools/qstring.cpp)
73 $id="" if $id eq "EMPTY";
80 # Code to integer mappings...
82 %category_code = numberize(qw{
93 %bidi_category_code = numberize(qw{
94 L R EN ES ET AN CS B S WS ON LRE LRO AL RLE RLO PDF NSM BN});
95 %character_decomposition_tag = numberize(qw{
96 <single> <canonical> <font> <noBreak> <initial> <medial>
97 <final> <isolated> <circle> <super> <sub> <vertical>
98 <wide> <narrow> <small> <square> <compat> <fraction>
100 %mirrored_code = numberize(qw{N Y});
102 %joining_code = numberize(qw{U D R C});
104 # Read data into hashes...
106 open IN, "UnicodeData.txt";
110 $code = shift @fields;
112 name category combining_class bidi_category
113 character_decomposition decimal_digit_value digit_value
114 numeric_value mirrored oldname comment
115 uppercase lowercase titlecase})
118 $codes = "${n}_code";
119 if ( defined %$codes && defined $$codes{$id} ) {
124 $decomp = $character_decomposition{$code};
125 if ( length $decomp == 0 ) {
126 $decomp = "<single>";
128 if (substr($decomp, 0, 1) ne '<') {
129 $decomp = "<canonical> " . $decomp;
131 @fields = split(" ", $decomp);
132 $tag = shift @fields;
133 $tag = $character_decomposition_tag{$tag};
134 $decomp = join( ", 0x", @fields );
135 $decomp = "0x".$decomp;
136 $decomposition{$code} = $decomp;
137 $decomposition_tag{$code} = $tag;
138 $decomposition_pos{$code} = $position;
139 $len = scalar(@fields);
140 $decomposition_len{$code} = $len;
142 # we use canonical decompositions longer than 1 char
143 # and all arabic ligatures for the ligature table
144 if(($len > 1 and $tag == 1) or ($tag > 3 and $tag < 8)) {
146 $start = shift @fields;
147 $ligature{$start} = $ligature{$start}." ".$code;
152 $position += $len + 3;
158 open IN2, "ArabicShaping.txt";
162 $code = shift @fields;
163 $dummy = shift @fields;
164 $join = shift @fields;
166 $join = $joining_code{$join};
167 $joining{$code}=$join;
173 "static const Q_UINT8 * const unicode_info[256] = {";
174 for $row ( 0..255 ) {
177 for $cell ( 0..255 ) {
178 $code = sprintf("%02X%02X",$row,$cell);
179 $info = $category{$code};
180 $info = 0 if !defined $info;
181 $txt .= "\n " if $cell%8 == 0;
184 $therow = $row{$txt};
185 if ( !defined $therow ) {
187 $therow = "ui_".sprintf("%02X",$row);
189 "static const Q_UINT8 ${therow}[] = {$txt\n};\n\n";
192 $rowtable_txt .= "\n " if $row%8 == 0;
193 $rowtable_txt .= "$therow, ";
196 print "// START OF GENERATED DATA\n\n";
197 print "#ifndef QT_NO_UNICODETABLES\n\n";
201 for $r ( sort keys %rowtext ) {
204 print "$rowtable_txt\n};\n";
206 print "// $size bytes\n\n";
208 # Build decomposition tables
211 "static const Q_UINT16 * const decomposition_info[256] = {";
213 "static const Q_UINT16 decomposition_map[] = {\n 0,\n";
214 for $row ( 0..255 ) {
217 for $cell ( 0..255 ) {
218 $code = sprintf("%02X%02X",$row,$cell);
219 $txt .= "\n " if $cell%8 == 0;
220 if( $decomposition_tag{$code} != 0 ) {
221 $txt .= " $decomposition_pos{$code},";
222 $table_txt .= " $decomposition_tag{$code},";
223 $table_txt .= " 0x$code,";
224 $table_txt .= " $decomposition{$code}, 0,\n";
225 $size += 2 * $decomposition_len{$code} + 6;
230 $therow = $row{$txt};
231 if ( !defined $therow ) {
233 $therow = "di_".sprintf("%02X",$row);
234 $dec_rowtext{$therow} =
235 "static const Q_UINT16 ${therow}[] = {$txt\n};\n\n";
238 $rowtable_txt .= "\n " if $row%8 == 0;
239 $rowtable_txt .= "$therow, ";
242 # Print decomposition tables
244 print "$table_txt\n};\n\n";
245 for $r ( sort keys %dec_rowtext ) {
246 print $dec_rowtext{$r};
248 print "$rowtable_txt\n};\n";
250 print "// $size bytes\n\n";
253 # build ligature tables
258 "static const Q_UINT16 * const ligature_info[256] = {";
260 "static const Q_UINT16 ligature_map[] = {\n 0,\n";
261 for $lig_row ( 0..255 ) {
264 for $cell ( 0..255 ) {
265 $code = sprintf("%02X%02X",$lig_row,$cell);
266 $txt .= "\n " if $cell%8 == 0;
267 if( defined $ligature{$code} ) {
268 $txt .= " $position,";
269 @ligature = split(" ", $ligature{$code});
270 # we need to sort ligatures according to their length.
271 # long ones have to come first!
272 @ligature_sort = sort { $decomposition_len{$b} <=> $decomposition_len{$a} } @ligature;
273 # now replace each code by it's position in
274 # the decomposition map.
276 for $n (@ligature_sort) {
277 push(@lig_pos, $decomposition_pos{$n});
281 print "ligatures: $ligature{$code}\n";
282 $sort = join(" ", @ligature_sort);
283 print "sorted : $sort\n";
285 $lig = join(", ", @lig_pos);
286 $table_txt .= " $lig, 0,\n";
287 $size += 2 * scalar(@ligature) + 2;
288 $position += scalar(@ligature) + 1;
293 $therow = $lig_row{$txt};
294 if ( !defined $therow ) {
296 $therow = "li_".sprintf("%02X",$lig_row);
297 $lig_rowtext{$therow} =
298 "static const Q_UINT16 ${therow}[] = {$txt\n};\n\n";
299 $lig_row{$txt}=$therow;
301 $rowtable_txt .= "\n " if $lig_row%8 == 0;
302 $rowtable_txt .= "$therow, ";
305 # Print ligature tables
307 print "$table_txt\n};\n\n";
308 for $r ( sort keys %lig_rowtext ) {
309 print $lig_rowtext{$r};
311 print "$rowtable_txt\n};\n";
313 print "// $size bytes\n\n";
317 # Build direction/joining/mirrored pages...
320 "static const Q_UINT8 * const direction_info[256] = {";
321 for $dir_row ( 0..255 ) {
324 for $cell ( 0..255 ) {
325 $code = sprintf("%02X%02X",$dir_row,$cell);
326 $dir = $bidi_category{$code};
327 $dir = 0 if !defined $dir;
328 $join = $joining{$code};
329 $join = 0 if !defined $join;
330 $mirr = $mirrored{$code};
331 $mirr = 0 if !defined $mirr;
332 $info = $dir + 32*$join + 128*$mirr;
333 $txt .= "\n " if $cell%8 == 0;
336 $therow = $dir_row{$txt};
337 if ( !defined $therow ) {
339 $therow = "dir_".sprintf("%02X",$dir_row);
340 $dir_rowtext{$therow} =
341 "static const Q_UINT8 ${therow}[] = {$txt\n};\n\n";
342 $dir_row{$txt}=$therow;
344 $rowtable_txt .= "\n " if $dir_row%8 == 0;
345 $rowtable_txt .= "$therow, ";
350 for $r ( sort keys %dir_rowtext ) {
351 print $dir_rowtext{$r};
353 print "$rowtable_txt\n};\n";
355 print "// $size bytes\n\n";
360 print "// END OF GENERATED DATA\n\n";
368 // START OF GENERATED DATA
370 static const Q_UINT8 ui_00[] = {
371 10, 10, 10, 10, 10, 10, 10, 10,
372 10, 10, 10, 10, 10, 10, 10, 10,
373 10, 10, 10, 10, 10, 10, 10, 10,
374 10, 10, 10, 10, 10, 10, 10, 10,
375 7, 26, 26, 26, 28, 26, 26, 26,
376 22, 23, 26, 27, 26, 21, 26, 26,
377 4, 4, 4, 4, 4, 4, 4, 4,
378 4, 4, 26, 26, 27, 27, 27, 26,
379 26, 15, 15, 15, 15, 15, 15, 15,
380 15, 15, 15, 15, 15, 15, 15, 15,
381 15, 15, 15, 15, 15, 15, 15, 15,
382 15, 15, 15, 22, 26, 23, 29, 20,
383 29, 16, 16, 16, 16, 16, 16, 16,
384 16, 16, 16, 16, 16, 16, 16, 16,
385 16, 16, 16, 16, 16, 16, 16, 16,
386 16, 16, 16, 22, 27, 23, 27, 10,
387 10, 10, 10, 10, 10, 10, 10, 10,
388 10, 10, 10, 10, 10, 10, 10, 10,
389 10, 10, 10, 10, 10, 10, 10, 10,
390 10, 10, 10, 10, 10, 10, 10, 10,
391 7, 26, 28, 28, 28, 28, 30, 30,
392 29, 30, 16, 24, 27, 21, 30, 29,
393 30, 27, 6, 6, 29, 16, 30, 26,
394 29, 6, 16, 25, 6, 6, 6, 26,
395 15, 15, 15, 15, 15, 15, 15, 15,
396 15, 15, 15, 15, 15, 15, 15, 15,
397 15, 15, 15, 15, 15, 15, 15, 27,
398 15, 15, 15, 15, 15, 15, 15, 16,
399 16, 16, 16, 16, 16, 16, 16, 16,
400 16, 16, 16, 16, 16, 16, 16, 16,
401 16, 16, 16, 16, 16, 16, 16, 27,
402 16, 16, 16, 16, 16, 16, 16, 16,
405 #ifndef QT_NO_UNICODETABLES
407 static const Q_UINT8 ui_01[] = {
408 15, 16, 15, 16, 15, 16, 15, 16,
409 15, 16, 15, 16, 15, 16, 15, 16,
410 15, 16, 15, 16, 15, 16, 15, 16,
411 15, 16, 15, 16, 15, 16, 15, 16,
412 15, 16, 15, 16, 15, 16, 15, 16,
413 15, 16, 15, 16, 15, 16, 15, 16,
414 15, 16, 15, 16, 15, 16, 15, 16,
415 16, 15, 16, 15, 16, 15, 16, 15,
416 16, 15, 16, 15, 16, 15, 16, 15,
417 16, 16, 15, 16, 15, 16, 15, 16,
418 15, 16, 15, 16, 15, 16, 15, 16,
419 15, 16, 15, 16, 15, 16, 15, 16,
420 15, 16, 15, 16, 15, 16, 15, 16,
421 15, 16, 15, 16, 15, 16, 15, 16,
422 15, 16, 15, 16, 15, 16, 15, 16,
423 15, 15, 16, 15, 16, 15, 16, 16,
424 16, 15, 15, 16, 15, 16, 15, 15,
425 16, 15, 15, 15, 16, 16, 15, 15,
426 15, 15, 16, 15, 15, 16, 15, 15,
427 15, 16, 16, 16, 15, 15, 16, 15,
428 15, 16, 15, 16, 15, 16, 15, 15,
429 16, 15, 16, 16, 15, 16, 15, 15,
430 16, 15, 15, 15, 16, 15, 16, 15,
431 15, 16, 16, 19, 15, 16, 16, 16,
432 19, 19, 19, 19, 15, 17, 16, 15,
433 17, 16, 15, 17, 16, 15, 16, 15,
434 16, 15, 16, 15, 16, 15, 16, 15,
435 16, 15, 16, 15, 16, 16, 15, 16,
436 15, 16, 15, 16, 15, 16, 15, 16,
437 15, 16, 15, 16, 15, 16, 15, 16,
438 16, 15, 17, 16, 15, 16, 15, 15,
439 15, 16, 15, 16, 15, 16, 15, 16,
442 static const Q_UINT8 ui_02[] = {
443 15, 16, 15, 16, 15, 16, 15, 16,
444 15, 16, 15, 16, 15, 16, 15, 16,
445 15, 16, 15, 16, 15, 16, 15, 16,
446 15, 16, 15, 16, 15, 16, 15, 16,
447 0, 0, 15, 16, 15, 16, 15, 16,
448 15, 16, 15, 16, 15, 16, 15, 16,
449 15, 16, 15, 16, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0,
453 16, 16, 16, 16, 16, 16, 16, 16,
454 16, 16, 16, 16, 16, 16, 16, 16,
455 16, 16, 16, 16, 16, 16, 16, 16,
456 16, 16, 16, 16, 16, 16, 16, 16,
457 16, 16, 16, 16, 16, 16, 16, 16,
458 16, 16, 16, 16, 16, 16, 16, 16,
459 16, 16, 16, 16, 16, 16, 16, 16,
460 16, 16, 16, 16, 16, 16, 16, 16,
461 16, 16, 16, 16, 16, 16, 16, 16,
462 16, 16, 16, 16, 16, 16, 16, 16,
463 16, 16, 16, 16, 16, 16, 16, 16,
464 16, 16, 16, 16, 16, 16, 0, 0,
465 18, 18, 18, 18, 18, 18, 18, 18,
466 18, 29, 29, 18, 18, 18, 18, 18,
467 18, 18, 29, 29, 29, 29, 29, 29,
468 29, 29, 29, 29, 29, 29, 29, 29,
469 18, 18, 29, 29, 29, 29, 29, 29,
470 29, 29, 29, 29, 29, 29, 29, 29,
471 18, 18, 18, 18, 18, 29, 29, 29,
472 29, 29, 29, 29, 29, 29, 18, 0,
473 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0,
477 static const Q_UINT8 ui_03[] = {
478 1, 1, 1, 1, 1, 1, 1, 1,
479 1, 1, 1, 1, 1, 1, 1, 1,
480 1, 1, 1, 1, 1, 1, 1, 1,
481 1, 1, 1, 1, 1, 1, 1, 1,
482 1, 1, 1, 1, 1, 1, 1, 1,
483 1, 1, 1, 1, 1, 1, 1, 1,
484 1, 1, 1, 1, 1, 1, 1, 1,
485 1, 1, 1, 1, 1, 1, 1, 1,
486 1, 1, 1, 1, 1, 1, 1, 1,
487 1, 1, 1, 1, 1, 1, 1, 0,
488 0, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0,
490 1, 1, 1, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 29, 29, 0, 0,
493 0, 0, 18, 0, 0, 0, 26, 0,
494 0, 0, 0, 0, 29, 29, 15, 26,
495 15, 15, 15, 0, 15, 0, 15, 15,
496 16, 15, 15, 15, 15, 15, 15, 15,
497 15, 15, 15, 15, 15, 15, 15, 15,
498 15, 15, 0, 15, 15, 15, 15, 15,
499 15, 15, 15, 15, 16, 16, 16, 16,
500 16, 16, 16, 16, 16, 16, 16, 16,
501 16, 16, 16, 16, 16, 16, 16, 16,
502 16, 16, 16, 16, 16, 16, 16, 16,
503 16, 16, 16, 16, 16, 16, 16, 0,
504 16, 16, 15, 15, 15, 16, 16, 16,
505 0, 0, 15, 16, 15, 16, 15, 16,
506 15, 16, 15, 16, 15, 16, 15, 16,
507 15, 16, 15, 16, 15, 16, 15, 16,
508 16, 16, 16, 16, 0, 0, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0,
512 static const Q_UINT8 ui_04[] = {
513 15, 15, 15, 15, 15, 15, 15, 15,
514 15, 15, 15, 15, 15, 15, 15, 15,
515 15, 15, 15, 15, 15, 15, 15, 15,
516 15, 15, 15, 15, 15, 15, 15, 15,
517 15, 15, 15, 15, 15, 15, 15, 15,
518 15, 15, 15, 15, 15, 15, 15, 15,
519 16, 16, 16, 16, 16, 16, 16, 16,
520 16, 16, 16, 16, 16, 16, 16, 16,
521 16, 16, 16, 16, 16, 16, 16, 16,
522 16, 16, 16, 16, 16, 16, 16, 16,
523 16, 16, 16, 16, 16, 16, 16, 16,
524 16, 16, 16, 16, 16, 16, 16, 16,
525 15, 16, 15, 16, 15, 16, 15, 16,
526 15, 16, 15, 16, 15, 16, 15, 16,
527 15, 16, 15, 16, 15, 16, 15, 16,
528 15, 16, 15, 16, 15, 16, 15, 16,
529 15, 16, 30, 1, 1, 1, 1, 0,
530 3, 3, 0, 0, 15, 16, 15, 16,
531 15, 16, 15, 16, 15, 16, 15, 16,
532 15, 16, 15, 16, 15, 16, 15, 16,
533 15, 16, 15, 16, 15, 16, 15, 16,
534 15, 16, 15, 16, 15, 16, 15, 16,
535 15, 16, 15, 16, 15, 16, 15, 16,
536 15, 16, 15, 16, 15, 16, 15, 16,
537 15, 15, 16, 15, 16, 0, 0, 15,
538 16, 0, 0, 15, 16, 0, 0, 0,
539 15, 16, 15, 16, 15, 16, 15, 16,
540 15, 16, 15, 16, 15, 16, 15, 16,
541 15, 16, 15, 16, 15, 16, 15, 16,
542 15, 16, 15, 16, 15, 16, 15, 16,
543 15, 16, 15, 16, 15, 16, 0, 0,
544 15, 16, 0, 0, 0, 0, 0, 0,
547 static const Q_UINT8 ui_05[] = {
548 0, 0, 0, 0, 0, 0, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 15, 15, 15, 15, 15, 15, 15,
555 15, 15, 15, 15, 15, 15, 15, 15,
556 15, 15, 15, 15, 15, 15, 15, 15,
557 15, 15, 15, 15, 15, 15, 15, 15,
558 15, 15, 15, 15, 15, 15, 15, 0,
559 0, 18, 26, 26, 26, 26, 26, 26,
560 0, 16, 16, 16, 16, 16, 16, 16,
561 16, 16, 16, 16, 16, 16, 16, 16,
562 16, 16, 16, 16, 16, 16, 16, 16,
563 16, 16, 16, 16, 16, 16, 16, 16,
564 16, 16, 16, 16, 16, 16, 16, 16,
565 0, 26, 21, 0, 0, 0, 0, 0,
566 0, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1,
568 1, 1, 0, 1, 1, 1, 1, 1,
569 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 0, 1, 1, 1, 26, 1,
572 26, 1, 1, 26, 1, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0,
574 19, 19, 19, 19, 19, 19, 19, 19,
575 19, 19, 19, 19, 19, 19, 19, 19,
576 19, 19, 19, 19, 19, 19, 19, 19,
577 19, 19, 19, 0, 0, 0, 0, 0,
578 19, 19, 19, 26, 26, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0,
582 static const Q_UINT8 ui_06[] = {
583 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 26, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 26, 0, 0, 0, 26,
587 0, 19, 19, 19, 19, 19, 19, 19,
588 19, 19, 19, 19, 19, 19, 19, 19,
589 19, 19, 19, 19, 19, 19, 19, 19,
590 19, 19, 19, 0, 0, 0, 0, 0,
591 18, 19, 19, 19, 19, 19, 19, 19,
592 19, 19, 19, 1, 1, 1, 1, 1,
593 1, 1, 1, 1, 1, 1, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 0,
595 4, 4, 4, 4, 4, 4, 4, 4,
596 4, 4, 26, 26, 26, 26, 0, 0,
597 1, 19, 19, 19, 19, 19, 19, 19,
598 19, 19, 19, 19, 19, 19, 19, 19,
599 19, 19, 19, 19, 19, 19, 19, 19,
600 19, 19, 19, 19, 19, 19, 19, 19,
601 19, 19, 19, 19, 19, 19, 19, 19,
602 19, 19, 19, 19, 19, 19, 19, 19,
603 19, 19, 19, 19, 19, 19, 19, 19,
604 19, 19, 19, 19, 19, 19, 19, 19,
605 19, 19, 19, 19, 19, 19, 19, 19,
606 19, 19, 19, 19, 19, 19, 19, 19,
607 19, 19, 19, 19, 19, 19, 19, 19,
608 19, 19, 19, 19, 19, 19, 19, 19,
609 19, 19, 19, 19, 26, 19, 1, 1,
610 1, 1, 1, 1, 1, 3, 3, 1,
611 1, 1, 1, 1, 1, 18, 18, 1,
612 1, 30, 1, 1, 1, 1, 0, 0,
613 4, 4, 4, 4, 4, 4, 4, 4,
614 4, 4, 19, 19, 19, 30, 30, 0,
617 static const Q_UINT8 ui_07[] = {
618 26, 26, 26, 26, 26, 26, 26, 26,
619 26, 26, 26, 26, 26, 26, 0, 11,
620 19, 1, 19, 19, 19, 19, 19, 19,
621 19, 19, 19, 19, 19, 19, 19, 19,
622 19, 19, 19, 19, 19, 19, 19, 19,
623 19, 19, 19, 19, 19, 0, 0, 0,
624 1, 1, 1, 1, 1, 1, 1, 1,
625 1, 1, 1, 1, 1, 1, 1, 1,
626 1, 1, 1, 1, 1, 1, 1, 1,
627 1, 1, 1, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0,
634 19, 19, 19, 19, 19, 19, 19, 19,
635 19, 19, 19, 19, 19, 19, 19, 19,
636 19, 19, 19, 19, 19, 19, 19, 19,
637 19, 19, 19, 19, 19, 19, 19, 19,
638 19, 19, 19, 19, 19, 19, 1, 1,
639 1, 1, 1, 1, 1, 1, 1, 1,
640 1, 0, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0,
652 static const Q_UINT8 ui_08[] = {
653 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0,
658 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0,
669 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 0, 0, 0, 0, 0, 0,
687 static const Q_UINT8 ui_09[] = {
688 0, 1, 1, 2, 0, 19, 19, 19,
689 19, 19, 19, 19, 19, 19, 19, 19,
690 19, 19, 19, 19, 19, 19, 19, 19,
691 19, 19, 19, 19, 19, 19, 19, 19,
692 19, 19, 19, 19, 19, 19, 19, 19,
693 19, 19, 19, 19, 19, 19, 19, 19,
694 19, 19, 19, 19, 19, 19, 19, 19,
695 19, 19, 0, 0, 1, 19, 2, 2,
696 2, 1, 1, 1, 1, 1, 1, 1,
697 1, 2, 2, 2, 2, 1, 0, 0,
698 19, 1, 1, 1, 1, 0, 0, 0,
699 19, 19, 19, 19, 19, 19, 19, 19,
700 19, 19, 1, 1, 26, 26, 4, 4,
701 4, 4, 4, 4, 4, 4, 4, 4,
702 26, 0, 0, 0, 0, 0, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 1, 2, 2, 0, 19, 19, 19,
705 19, 19, 19, 19, 19, 0, 0, 19,
706 19, 0, 0, 19, 19, 19, 19, 19,
707 19, 19, 19, 19, 19, 19, 19, 19,
708 19, 19, 19, 19, 19, 19, 19, 19,
709 19, 0, 19, 19, 19, 19, 19, 19,
710 19, 0, 19, 0, 0, 0, 19, 19,
711 19, 19, 0, 0, 1, 0, 2, 2,
712 2, 1, 1, 1, 1, 0, 0, 2,
713 2, 0, 0, 2, 2, 1, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 2,
715 0, 0, 0, 0, 19, 19, 0, 19,
716 19, 19, 1, 1, 0, 0, 4, 4,
717 4, 4, 4, 4, 4, 4, 4, 4,
718 19, 19, 28, 28, 6, 6, 6, 6,
719 6, 6, 30, 0, 0, 0, 0, 0,
722 static const Q_UINT8 ui_0A[] = {
723 0, 0, 1, 0, 0, 19, 19, 19,
724 19, 19, 19, 0, 0, 0, 0, 19,
725 19, 0, 0, 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, 0, 19, 19, 19, 19, 19, 19,
729 19, 0, 19, 19, 0, 19, 19, 0,
730 19, 19, 0, 0, 1, 0, 2, 2,
731 2, 1, 1, 0, 0, 0, 0, 1,
732 1, 0, 0, 1, 1, 1, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 19, 19, 19, 19, 0, 19, 0,
735 0, 0, 0, 0, 0, 0, 4, 4,
736 4, 4, 4, 4, 4, 4, 4, 4,
737 1, 1, 19, 19, 19, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 1, 1, 2, 0, 19, 19, 19,
740 19, 19, 19, 19, 0, 19, 0, 19,
741 19, 19, 0, 19, 19, 19, 19, 19,
742 19, 19, 19, 19, 19, 19, 19, 19,
743 19, 19, 19, 19, 19, 19, 19, 19,
744 19, 0, 19, 19, 19, 19, 19, 19,
745 19, 0, 19, 19, 0, 19, 19, 19,
746 19, 19, 0, 0, 1, 19, 2, 2,
747 2, 1, 1, 1, 1, 1, 0, 1,
748 1, 2, 0, 2, 2, 1, 0, 0,
749 19, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 0, 0, 0, 0,
751 19, 0, 0, 0, 0, 0, 4, 4,
752 4, 4, 4, 4, 4, 4, 4, 4,
753 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0,
757 static const Q_UINT8 ui_0B[] = {
758 0, 1, 2, 2, 0, 19, 19, 19,
759 19, 19, 19, 19, 19, 0, 0, 19,
760 19, 0, 0, 19, 19, 19, 19, 19,
761 19, 19, 19, 19, 19, 19, 19, 19,
762 19, 19, 19, 19, 19, 19, 19, 19,
763 19, 0, 19, 19, 19, 19, 19, 19,
764 19, 0, 19, 19, 0, 0, 19, 19,
765 19, 19, 0, 0, 1, 19, 2, 1,
766 2, 1, 1, 1, 0, 0, 0, 2,
767 2, 0, 0, 2, 2, 1, 0, 0,
768 0, 0, 0, 0, 0, 0, 1, 2,
769 0, 0, 0, 0, 19, 19, 0, 19,
770 19, 19, 0, 0, 0, 0, 4, 4,
771 4, 4, 4, 4, 4, 4, 4, 4,
772 30, 0, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 1, 2, 0, 19, 19, 19,
775 19, 19, 19, 0, 0, 0, 19, 19,
776 19, 0, 19, 19, 19, 19, 0, 0,
777 0, 19, 19, 0, 19, 0, 19, 19,
778 0, 0, 0, 19, 19, 0, 0, 0,
779 19, 19, 19, 0, 0, 0, 19, 19,
780 19, 19, 19, 19, 19, 19, 0, 19,
781 19, 19, 0, 0, 0, 0, 2, 2,
782 1, 2, 2, 0, 0, 0, 2, 2,
783 2, 0, 2, 2, 2, 1, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 2,
785 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 4,
787 4, 4, 4, 4, 4, 4, 4, 4,
788 6, 6, 6, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0,
792 static const Q_UINT8 ui_0C[] = {
793 0, 2, 2, 2, 0, 19, 19, 19,
794 19, 19, 19, 19, 19, 0, 19, 19,
795 19, 0, 19, 19, 19, 19, 19, 19,
796 19, 19, 19, 19, 19, 19, 19, 19,
797 19, 19, 19, 19, 19, 19, 19, 19,
798 19, 0, 19, 19, 19, 19, 19, 19,
799 19, 19, 19, 19, 0, 19, 19, 19,
800 19, 19, 0, 0, 0, 0, 1, 1,
801 1, 2, 2, 2, 2, 0, 1, 1,
802 1, 0, 1, 1, 1, 1, 0, 0,
803 0, 0, 0, 0, 0, 1, 1, 0,
804 0, 0, 0, 0, 0, 0, 0, 0,
805 19, 19, 0, 0, 0, 0, 4, 4,
806 4, 4, 4, 4, 4, 4, 4, 4,
807 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 2, 2, 0, 19, 19, 19,
810 19, 19, 19, 19, 19, 0, 19, 19,
811 19, 0, 19, 19, 19, 19, 19, 19,
812 19, 19, 19, 19, 19, 19, 19, 19,
813 19, 19, 19, 19, 19, 19, 19, 19,
814 19, 0, 19, 19, 19, 19, 19, 19,
815 19, 19, 19, 19, 0, 19, 19, 19,
816 19, 19, 0, 0, 0, 0, 2, 1,
817 2, 2, 2, 2, 2, 0, 1, 2,
818 2, 0, 2, 2, 1, 1, 0, 0,
819 0, 0, 0, 0, 0, 2, 2, 0,
820 0, 0, 0, 0, 0, 0, 19, 0,
821 19, 19, 0, 0, 0, 0, 4, 4,
822 4, 4, 4, 4, 4, 4, 4, 4,
823 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0,
827 static const Q_UINT8 ui_0D[] = {
828 0, 0, 2, 2, 0, 19, 19, 19,
829 19, 19, 19, 19, 19, 0, 19, 19,
830 19, 0, 19, 19, 19, 19, 19, 19,
831 19, 19, 19, 19, 19, 19, 19, 19,
832 19, 19, 19, 19, 19, 19, 19, 19,
833 19, 0, 19, 19, 19, 19, 19, 19,
834 19, 19, 19, 19, 19, 19, 19, 19,
835 19, 19, 0, 0, 0, 0, 2, 2,
836 2, 1, 1, 1, 0, 0, 2, 2,
837 2, 0, 2, 2, 2, 1, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 2,
839 0, 0, 0, 0, 0, 0, 0, 0,
840 19, 19, 0, 0, 0, 0, 4, 4,
841 4, 4, 4, 4, 4, 4, 4, 4,
842 0, 0, 0, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0,
844 0, 0, 2, 2, 0, 19, 19, 19,
845 19, 19, 19, 19, 19, 19, 19, 19,
846 19, 19, 19, 19, 19, 19, 19, 0,
847 0, 0, 19, 19, 19, 19, 19, 19,
848 19, 19, 19, 19, 19, 19, 19, 19,
849 19, 19, 19, 19, 19, 19, 19, 19,
850 19, 19, 0, 19, 19, 19, 19, 19,
851 19, 19, 19, 19, 0, 19, 0, 0,
852 19, 19, 19, 19, 19, 19, 19, 0,
853 0, 0, 1, 0, 0, 0, 0, 2,
854 2, 2, 1, 1, 1, 0, 1, 0,
855 2, 2, 2, 2, 2, 2, 2, 2,
856 0, 0, 0, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0,
858 0, 0, 2, 2, 26, 0, 0, 0,
859 0, 0, 0, 0, 0, 0, 0, 0,
862 static const Q_UINT8 ui_0E[] = {
863 0, 19, 19, 19, 19, 19, 19, 19,
864 19, 19, 19, 19, 19, 19, 19, 19,
865 19, 19, 19, 19, 19, 19, 19, 19,
866 19, 19, 19, 19, 19, 19, 19, 19,
867 19, 19, 19, 19, 19, 19, 19, 19,
868 19, 19, 19, 19, 19, 19, 19, 19,
869 19, 1, 19, 19, 1, 1, 1, 1,
870 1, 1, 1, 0, 0, 0, 0, 28,
871 19, 19, 19, 19, 19, 19, 18, 1,
872 1, 1, 1, 1, 1, 1, 1, 26,
873 4, 4, 4, 4, 4, 4, 4, 4,
874 4, 4, 26, 26, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 19, 19, 0, 19, 0, 0, 19,
880 19, 0, 19, 0, 0, 19, 0, 0,
881 0, 0, 0, 0, 19, 19, 19, 19,
882 0, 19, 19, 19, 19, 19, 19, 19,
883 0, 19, 19, 19, 0, 19, 0, 19,
884 0, 0, 19, 19, 0, 19, 19, 19,
885 19, 1, 19, 19, 1, 1, 1, 1,
886 1, 1, 0, 1, 1, 19, 0, 0,
887 19, 19, 19, 19, 19, 0, 18, 0,
888 1, 1, 1, 1, 1, 1, 0, 0,
889 4, 4, 4, 4, 4, 4, 4, 4,
890 4, 4, 0, 0, 19, 19, 0, 0,
891 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0,
897 static const Q_UINT8 ui_0F[] = {
898 19, 30, 30, 30, 26, 26, 26, 26,
899 26, 26, 26, 26, 26, 26, 26, 26,
900 26, 26, 26, 30, 30, 30, 30, 30,
901 1, 1, 30, 30, 30, 30, 30, 30,
902 4, 4, 4, 4, 4, 4, 4, 4,
903 4, 4, 6, 6, 6, 6, 6, 6,
904 6, 6, 6, 6, 30, 1, 30, 1,
905 30, 1, 22, 23, 22, 23, 2, 2,
906 19, 19, 19, 19, 19, 19, 19, 19,
907 0, 19, 19, 19, 19, 19, 19, 19,
908 19, 19, 19, 19, 19, 19, 19, 19,
909 19, 19, 19, 19, 19, 19, 19, 19,
910 19, 19, 19, 19, 19, 19, 19, 19,
911 19, 19, 19, 0, 0, 0, 0, 0,
912 0, 1, 1, 1, 1, 1, 1, 1,
913 1, 1, 1, 1, 1, 1, 1, 2,
914 1, 1, 1, 1, 1, 26, 1, 1,
915 19, 19, 19, 19, 0, 0, 0, 0,
916 1, 1, 1, 1, 1, 1, 1, 1,
917 0, 1, 1, 1, 1, 1, 1, 1,
918 1, 1, 1, 1, 1, 1, 1, 1,
919 1, 1, 1, 1, 1, 1, 1, 1,
920 1, 1, 1, 1, 1, 1, 1, 1,
921 1, 1, 1, 1, 1, 0, 30, 30,
922 30, 30, 30, 30, 30, 30, 1, 30,
923 30, 30, 30, 30, 30, 0, 0, 30,
924 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0,
932 static const Q_UINT8 ui_10[] = {
933 19, 19, 19, 19, 19, 19, 19, 19,
934 19, 19, 19, 19, 19, 19, 19, 19,
935 19, 19, 19, 19, 19, 19, 19, 19,
936 19, 19, 19, 19, 19, 19, 19, 19,
937 19, 19, 0, 19, 19, 19, 19, 19,
938 0, 19, 19, 0, 2, 1, 1, 1,
939 1, 2, 1, 0, 0, 0, 1, 1,
940 2, 1, 0, 0, 0, 0, 0, 0,
941 4, 4, 4, 4, 4, 4, 4, 4,
942 4, 4, 26, 26, 26, 26, 26, 26,
943 19, 19, 19, 19, 19, 19, 2, 2,
944 1, 1, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, 0,
953 15, 15, 15, 15, 15, 15, 15, 15,
954 15, 15, 15, 15, 15, 15, 15, 15,
955 15, 15, 15, 15, 15, 15, 15, 15,
956 15, 15, 15, 15, 15, 15, 15, 15,
957 15, 15, 15, 15, 15, 15, 0, 0,
958 0, 0, 0, 0, 0, 0, 0, 0,
959 19, 19, 19, 19, 19, 19, 19, 19,
960 19, 19, 19, 19, 19, 19, 19, 19,
961 19, 19, 19, 19, 19, 19, 19, 19,
962 19, 19, 19, 19, 19, 19, 19, 19,
963 19, 19, 19, 19, 19, 19, 19, 0,
964 0, 0, 0, 26, 0, 0, 0, 0,
967 static const Q_UINT8 ui_11[] = {
968 19, 19, 19, 19, 19, 19, 19, 19,
969 19, 19, 19, 19, 19, 19, 19, 19,
970 19, 19, 19, 19, 19, 19, 19, 19,
971 19, 19, 19, 19, 19, 19, 19, 19,
972 19, 19, 19, 19, 19, 19, 19, 19,
973 19, 19, 19, 19, 19, 19, 19, 19,
974 19, 19, 19, 19, 19, 19, 19, 19,
975 19, 19, 19, 19, 19, 19, 19, 19,
976 19, 19, 19, 19, 19, 19, 19, 19,
977 19, 19, 19, 19, 19, 19, 19, 19,
978 19, 19, 19, 19, 19, 19, 19, 19,
979 19, 19, 0, 0, 0, 0, 0, 19,
980 19, 19, 19, 19, 19, 19, 19, 19,
981 19, 19, 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, 19, 19, 19, 19, 19, 19, 19,
985 19, 19, 19, 19, 19, 19, 19, 19,
986 19, 19, 19, 19, 19, 19, 19, 19,
987 19, 19, 19, 19, 19, 19, 19, 19,
988 19, 19, 19, 0, 0, 0, 0, 0,
989 19, 19, 19, 19, 19, 19, 19, 19,
990 19, 19, 19, 19, 19, 19, 19, 19,
991 19, 19, 19, 19, 19, 19, 19, 19,
992 19, 19, 19, 19, 19, 19, 19, 19,
993 19, 19, 19, 19, 19, 19, 19, 19,
994 19, 19, 19, 19, 19, 19, 19, 19,
995 19, 19, 19, 19, 19, 19, 19, 19,
996 19, 19, 19, 19, 19, 19, 19, 19,
997 19, 19, 19, 19, 19, 19, 19, 19,
998 19, 19, 19, 19, 19, 19, 19, 19,
999 19, 19, 0, 0, 0, 0, 0, 0,
1002 static const Q_UINT8 ui_12[] = {
1003 19, 19, 19, 19, 19, 19, 19, 0,
1004 19, 19, 19, 19, 19, 19, 19, 19,
1005 19, 19, 19, 19, 19, 19, 19, 19,
1006 19, 19, 19, 19, 19, 19, 19, 19,
1007 19, 19, 19, 19, 19, 19, 19, 19,
1008 19, 19, 19, 19, 19, 19, 19, 19,
1009 19, 19, 19, 19, 19, 19, 19, 19,
1010 19, 19, 19, 19, 19, 19, 19, 19,
1011 19, 19, 19, 19, 19, 19, 19, 0,
1012 19, 0, 19, 19, 19, 19, 0, 0,
1013 19, 19, 19, 19, 19, 19, 19, 0,
1014 19, 0, 19, 19, 19, 19, 0, 0,
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, 0,
1020 19, 0, 19, 19, 19, 19, 0, 0,
1021 19, 19, 19, 19, 19, 19, 19, 19,
1022 19, 19, 19, 19, 19, 19, 19, 19,
1023 19, 19, 19, 19, 19, 19, 19, 19,
1024 19, 19, 19, 19, 19, 19, 19, 0,
1025 19, 0, 19, 19, 19, 19, 0, 0,
1026 19, 19, 19, 19, 19, 19, 19, 0,
1027 19, 0, 19, 19, 19, 19, 0, 0,
1028 19, 19, 19, 19, 19, 19, 19, 0,
1029 19, 19, 19, 19, 19, 19, 19, 0,
1030 19, 19, 19, 19, 19, 19, 19, 19,
1031 19, 19, 19, 19, 19, 19, 19, 19,
1032 19, 19, 19, 19, 19, 19, 19, 0,
1033 19, 19, 19, 19, 19, 19, 19, 19,
1034 19, 19, 19, 19, 19, 19, 19, 19,
1037 static const Q_UINT8 ui_13[] = {
1038 19, 19, 19, 19, 19, 19, 19, 19,
1039 19, 19, 19, 19, 19, 19, 19, 0,
1040 19, 0, 19, 19, 19, 19, 0, 0,
1041 19, 19, 19, 19, 19, 19, 19, 0,
1042 19, 19, 19, 19, 19, 19, 19, 19,
1043 19, 19, 19, 19, 19, 19, 19, 19,
1044 19, 19, 19, 19, 19, 19, 19, 19,
1045 19, 19, 19, 19, 19, 19, 19, 19,
1046 19, 19, 19, 19, 19, 19, 19, 0,
1047 19, 19, 19, 19, 19, 19, 19, 19,
1048 19, 19, 19, 19, 19, 19, 19, 19,
1049 19, 19, 19, 0, 0, 0, 0, 0,
1050 0, 26, 26, 26, 26, 26, 26, 26,
1051 26, 4, 4, 4, 4, 4, 4, 4,
1052 4, 4, 6, 6, 6, 6, 6, 6,
1053 6, 6, 6, 6, 6, 0, 0, 0,
1054 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0,
1058 19, 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, 19, 19, 19, 19, 19,
1063 19, 19, 19, 19, 19, 19, 19, 19,
1064 19, 19, 19, 19, 19, 19, 19, 19,
1065 19, 19, 19, 19, 19, 19, 19, 19,
1066 19, 19, 19, 19, 19, 19, 19, 19,
1067 19, 19, 19, 19, 19, 19, 19, 19,
1068 19, 19, 19, 19, 19, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0,
1072 static const Q_UINT8 ui_14[] = {
1073 0, 19, 19, 19, 19, 19, 19, 19,
1074 19, 19, 19, 19, 19, 19, 19, 19,
1075 19, 19, 19, 19, 19, 19, 19, 19,
1076 19, 19, 19, 19, 19, 19, 19, 19,
1077 19, 19, 19, 19, 19, 19, 19, 19,
1078 19, 19, 19, 19, 19, 19, 19, 19,
1079 19, 19, 19, 19, 19, 19, 19, 19,
1080 19, 19, 19, 19, 19, 19, 19, 19,
1081 19, 19, 19, 19, 19, 19, 19, 19,
1082 19, 19, 19, 19, 19, 19, 19, 19,
1083 19, 19, 19, 19, 19, 19, 19, 19,
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, 19, 19, 19, 19, 19, 19,
1089 19, 19, 19, 19, 19, 19, 19, 19,
1090 19, 19, 19, 19, 19, 19, 19, 19,
1091 19, 19, 19, 19, 19, 19, 19, 19,
1092 19, 19, 19, 19, 19, 19, 19, 19,
1093 19, 19, 19, 19, 19, 19, 19, 19,
1094 19, 19, 19, 19, 19, 19, 19, 19,
1095 19, 19, 19, 19, 19, 19, 19, 19,
1096 19, 19, 19, 19, 19, 19, 19, 19,
1097 19, 19, 19, 19, 19, 19, 19, 19,
1098 19, 19, 19, 19, 19, 19, 19, 19,
1099 19, 19, 19, 19, 19, 19, 19, 19,
1100 19, 19, 19, 19, 19, 19, 19, 19,
1101 19, 19, 19, 19, 19, 19, 19, 19,
1102 19, 19, 19, 19, 19, 19, 19, 19,
1103 19, 19, 19, 19, 19, 19, 19, 19,
1104 19, 19, 19, 19, 19, 19, 19, 19,
1107 static const Q_UINT8 ui_15[] = {
1108 19, 19, 19, 19, 19, 19, 19, 19,
1109 19, 19, 19, 19, 19, 19, 19, 19,
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, 19, 19, 19, 19, 19, 19, 19,
1116 19, 19, 19, 19, 19, 19, 19, 19,
1117 19, 19, 19, 19, 19, 19, 19, 19,
1118 19, 19, 19, 19, 19, 19, 19, 19,
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, 19, 19, 19, 19, 19, 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, 19, 19, 19, 19, 19,
1142 static const Q_UINT8 ui_16[] = {
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, 19, 19, 19, 19, 19, 19,
1151 19, 19, 19, 19, 19, 19, 19, 19,
1152 19, 19, 19, 19, 19, 19, 19, 19,
1153 19, 19, 19, 19, 19, 19, 19, 19,
1154 19, 19, 19, 19, 19, 19, 19, 19,
1155 19, 19, 19, 19, 19, 19, 19, 19,
1156 19, 19, 19, 19, 19, 26, 26, 19,
1157 19, 19, 19, 19, 19, 19, 19, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0,
1159 7, 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, 22, 23, 0, 0, 0,
1163 19, 19, 19, 19, 19, 19, 19, 19,
1164 19, 19, 19, 19, 19, 19, 19, 19,
1165 19, 19, 19, 19, 19, 19, 19, 19,
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, 19,
1171 19, 19, 19, 19, 19, 19, 19, 19,
1172 19, 19, 19, 26, 26, 26, 6, 6,
1173 6, 0, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, 0, 0, 0, 0, 0,
1177 static const Q_UINT8 ui_17[] = {
1178 0, 0, 0, 0, 0, 0, 0, 0,
1179 0, 0, 0, 0, 0, 0, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 0, 0, 0, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, 0,
1184 0, 0, 0, 0, 0, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0,
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, 19,
1198 19, 19, 19, 19, 19, 19, 19, 19,
1199 19, 19, 19, 19, 19, 19, 19, 19,
1200 19, 19, 19, 19, 2, 2, 2, 1,
1201 1, 1, 1, 1, 1, 1, 2, 2,
1202 2, 2, 2, 2, 2, 2, 1, 2,
1203 2, 1, 1, 1, 1, 1, 1, 1,
1204 1, 1, 1, 1, 26, 26, 26, 26,
1205 26, 26, 26, 28, 26, 0, 0, 0,
1206 4, 4, 4, 4, 4, 4, 4, 4,
1207 4, 4, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0,
1212 static const Q_UINT8 ui_18[] = {
1213 26, 26, 26, 26, 26, 26, 21, 26,
1214 26, 26, 26, 11, 11, 11, 11, 0,
1215 4, 4, 4, 4, 4, 4, 4, 4,
1216 4, 4, 0, 0, 0, 0, 0, 0,
1217 19, 19, 19, 19, 19, 19, 19, 19,
1218 19, 19, 19, 19, 19, 19, 19, 19,
1219 19, 19, 19, 19, 19, 19, 19, 19,
1220 19, 19, 19, 19, 19, 19, 19, 19,
1221 19, 19, 19, 18, 19, 19, 19, 19,
1222 19, 19, 19, 19, 19, 19, 19, 19,
1223 19, 19, 19, 19, 19, 19, 19, 19,
1224 19, 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 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 0, 0, 0, 0, 0, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0,
1238 0, 0, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, 0, 0, 0, 0, 0,
1240 0, 0, 0, 0, 0, 0, 0, 0,
1241 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0,
1247 static const Q_UINT8 ui_1E[] = {
1248 15, 16, 15, 16, 15, 16, 15, 16,
1249 15, 16, 15, 16, 15, 16, 15, 16,
1250 15, 16, 15, 16, 15, 16, 15, 16,
1251 15, 16, 15, 16, 15, 16, 15, 16,
1252 15, 16, 15, 16, 15, 16, 15, 16,
1253 15, 16, 15, 16, 15, 16, 15, 16,
1254 15, 16, 15, 16, 15, 16, 15, 16,
1255 15, 16, 15, 16, 15, 16, 15, 16,
1256 15, 16, 15, 16, 15, 16, 15, 16,
1257 15, 16, 15, 16, 15, 16, 15, 16,
1258 15, 16, 15, 16, 15, 16, 15, 16,
1259 15, 16, 15, 16, 15, 16, 15, 16,
1260 15, 16, 15, 16, 15, 16, 15, 16,
1261 15, 16, 15, 16, 15, 16, 15, 16,
1262 15, 16, 15, 16, 15, 16, 15, 16,
1263 15, 16, 15, 16, 15, 16, 15, 16,
1264 15, 16, 15, 16, 15, 16, 15, 16,
1265 15, 16, 15, 16, 15, 16, 15, 16,
1266 15, 16, 15, 16, 15, 16, 16, 16,
1267 16, 16, 16, 16, 0, 0, 0, 0,
1268 15, 16, 15, 16, 15, 16, 15, 16,
1269 15, 16, 15, 16, 15, 16, 15, 16,
1270 15, 16, 15, 16, 15, 16, 15, 16,
1271 15, 16, 15, 16, 15, 16, 15, 16,
1272 15, 16, 15, 16, 15, 16, 15, 16,
1273 15, 16, 15, 16, 15, 16, 15, 16,
1274 15, 16, 15, 16, 15, 16, 15, 16,
1275 15, 16, 15, 16, 15, 16, 15, 16,
1276 15, 16, 15, 16, 15, 16, 15, 16,
1277 15, 16, 15, 16, 15, 16, 15, 16,
1278 15, 16, 15, 16, 15, 16, 15, 16,
1279 15, 16, 0, 0, 0, 0, 0, 0,
1282 static const Q_UINT8 ui_1F[] = {
1283 16, 16, 16, 16, 16, 16, 16, 16,
1284 15, 15, 15, 15, 15, 15, 15, 15,
1285 16, 16, 16, 16, 16, 16, 0, 0,
1286 15, 15, 15, 15, 15, 15, 0, 0,
1287 16, 16, 16, 16, 16, 16, 16, 16,
1288 15, 15, 15, 15, 15, 15, 15, 15,
1289 16, 16, 16, 16, 16, 16, 16, 16,
1290 15, 15, 15, 15, 15, 15, 15, 15,
1291 16, 16, 16, 16, 16, 16, 0, 0,
1292 15, 15, 15, 15, 15, 15, 0, 0,
1293 16, 16, 16, 16, 16, 16, 16, 16,
1294 0, 15, 0, 15, 0, 15, 0, 15,
1295 16, 16, 16, 16, 16, 16, 16, 16,
1296 15, 15, 15, 15, 15, 15, 15, 15,
1297 16, 16, 16, 16, 16, 16, 16, 16,
1298 16, 16, 16, 16, 16, 16, 0, 0,
1299 16, 16, 16, 16, 16, 16, 16, 16,
1300 17, 17, 17, 17, 17, 17, 17, 17,
1301 16, 16, 16, 16, 16, 16, 16, 16,
1302 17, 17, 17, 17, 17, 17, 17, 17,
1303 16, 16, 16, 16, 16, 16, 16, 16,
1304 17, 17, 17, 17, 17, 17, 17, 17,
1305 16, 16, 16, 16, 16, 0, 16, 16,
1306 15, 15, 15, 15, 17, 29, 16, 29,
1307 29, 29, 16, 16, 16, 0, 16, 16,
1308 15, 15, 15, 15, 17, 29, 29, 29,
1309 16, 16, 16, 16, 0, 0, 16, 16,
1310 15, 15, 15, 15, 0, 29, 29, 29,
1311 16, 16, 16, 16, 16, 16, 16, 16,
1312 15, 15, 15, 15, 15, 29, 29, 29,
1313 0, 0, 16, 16, 16, 0, 16, 16,
1314 15, 15, 15, 15, 17, 29, 29, 0,
1317 static const Q_UINT8 ui_20[] = {
1318 7, 7, 7, 7, 7, 7, 7, 7,
1319 7, 7, 7, 7, 11, 11, 11, 11,
1320 21, 21, 21, 21, 21, 21, 26, 26,
1321 24, 25, 22, 24, 24, 25, 22, 24,
1322 26, 26, 26, 26, 26, 26, 26, 26,
1323 8, 9, 11, 11, 11, 11, 11, 7,
1324 26, 26, 26, 26, 26, 26, 26, 26,
1325 26, 24, 25, 26, 26, 26, 26, 20,
1326 20, 26, 26, 26, 27, 22, 23, 0,
1327 26, 26, 26, 26, 26, 26, 0, 0,
1328 0, 0, 0, 0, 0, 0, 0, 0,
1329 0, 0, 0, 0, 0, 0, 0, 0,
1330 0, 0, 0, 0, 0, 0, 0, 0,
1331 0, 0, 11, 11, 11, 11, 11, 11,
1332 6, 0, 0, 0, 6, 6, 6, 6,
1333 6, 6, 27, 27, 27, 22, 23, 16,
1334 6, 6, 6, 6, 6, 6, 6, 6,
1335 6, 6, 27, 27, 27, 22, 23, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0,
1337 0, 0, 0, 0, 0, 0, 0, 0,
1338 28, 28, 28, 28, 28, 28, 28, 28,
1339 28, 28, 28, 28, 28, 28, 28, 28,
1340 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0,
1342 0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0, 0, 0, 0, 0, 0, 0,
1344 1, 1, 1, 1, 1, 1, 1, 1,
1345 1, 1, 1, 1, 1, 3, 3, 3,
1346 3, 1, 3, 3, 0, 0, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 0, 0, 0,
1352 static const Q_UINT8 ui_21[] = {
1353 30, 30, 15, 30, 30, 30, 30, 15,
1354 30, 30, 16, 15, 15, 15, 16, 16,
1355 15, 15, 15, 16, 30, 15, 30, 30,
1356 30, 15, 15, 15, 15, 15, 30, 30,
1357 30, 30, 30, 30, 15, 30, 15, 30,
1358 15, 30, 15, 15, 15, 15, 30, 16,
1359 15, 15, 30, 15, 16, 19, 19, 19,
1360 19, 16, 30, 0, 0, 0, 0, 0,
1361 0, 0, 0, 0, 0, 0, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 0, 0, 6, 6, 6, 6, 6,
1364 6, 6, 6, 6, 6, 6, 6, 6,
1365 5, 5, 5, 5, 5, 5, 5, 5,
1366 5, 5, 5, 5, 5, 5, 5, 5,
1367 5, 5, 5, 5, 5, 5, 5, 5,
1368 5, 5, 5, 5, 5, 5, 5, 5,
1369 5, 5, 5, 5, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 0, 0, 0,
1371 27, 27, 27, 27, 27, 30, 30, 30,
1372 30, 30, 27, 27, 30, 30, 30, 30,
1373 27, 30, 30, 27, 30, 30, 27, 30,
1374 30, 30, 30, 30, 30, 30, 27, 30,
1375 30, 30, 30, 30, 30, 30, 30, 30,
1376 30, 30, 30, 30, 30, 30, 30, 30,
1377 30, 30, 30, 30, 30, 30, 30, 30,
1378 30, 30, 30, 30, 30, 30, 27, 27,
1379 30, 30, 27, 30, 27, 30, 30, 30,
1380 30, 30, 30, 30, 30, 30, 30, 30,
1381 30, 30, 30, 30, 30, 30, 30, 30,
1382 30, 30, 30, 30, 30, 30, 30, 30,
1383 30, 30, 30, 30, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 0, 0,
1387 static const Q_UINT8 ui_22[] = {
1388 27, 27, 27, 27, 27, 27, 27, 27,
1389 27, 27, 27, 27, 27, 27, 27, 27,
1390 27, 27, 27, 27, 27, 27, 27, 27,
1391 27, 27, 27, 27, 27, 27, 27, 27,
1392 27, 27, 27, 27, 27, 27, 27, 27,
1393 27, 27, 27, 27, 27, 27, 27, 27,
1394 27, 27, 27, 27, 27, 27, 27, 27,
1395 27, 27, 27, 27, 27, 27, 27, 27,
1396 27, 27, 27, 27, 27, 27, 27, 27,
1397 27, 27, 27, 27, 27, 27, 27, 27,
1398 27, 27, 27, 27, 27, 27, 27, 27,
1399 27, 27, 27, 27, 27, 27, 27, 27,
1400 27, 27, 27, 27, 27, 27, 27, 27,
1401 27, 27, 27, 27, 27, 27, 27, 27,
1402 27, 27, 27, 27, 27, 27, 27, 27,
1403 27, 27, 27, 27, 27, 27, 27, 27,
1404 27, 27, 27, 27, 27, 27, 27, 27,
1405 27, 27, 27, 27, 27, 27, 27, 27,
1406 27, 27, 27, 27, 27, 27, 27, 27,
1407 27, 27, 27, 27, 27, 27, 27, 27,
1408 27, 27, 27, 27, 27, 27, 27, 27,
1409 27, 27, 27, 27, 27, 27, 27, 27,
1410 27, 27, 27, 27, 27, 27, 27, 27,
1411 27, 27, 27, 27, 27, 27, 27, 27,
1412 27, 27, 27, 27, 27, 27, 27, 27,
1413 27, 27, 27, 27, 27, 27, 27, 27,
1414 27, 27, 27, 27, 27, 27, 27, 27,
1415 27, 27, 27, 27, 27, 27, 27, 27,
1416 27, 27, 27, 27, 27, 27, 27, 27,
1417 27, 27, 27, 27, 27, 27, 27, 27,
1418 27, 27, 0, 0, 0, 0, 0, 0,
1419 0, 0, 0, 0, 0, 0, 0, 0,
1422 static const Q_UINT8 ui_23[] = {
1423 30, 30, 30, 30, 30, 30, 30, 30,
1424 27, 27, 27, 27, 30, 30, 30, 30,
1425 30, 30, 30, 30, 30, 30, 30, 30,
1426 30, 30, 30, 30, 30, 30, 30, 30,
1427 27, 27, 30, 30, 30, 30, 30, 30,
1428 30, 22, 23, 30, 30, 30, 30, 30,
1429 30, 30, 30, 30, 30, 30, 30, 30,
1430 30, 30, 30, 30, 30, 30, 30, 30,
1431 30, 30, 30, 30, 30, 30, 30, 30,
1432 30, 30, 30, 30, 30, 30, 30, 30,
1433 30, 30, 30, 30, 30, 30, 30, 30,
1434 30, 30, 30, 30, 30, 30, 30, 30,
1435 30, 30, 30, 30, 30, 30, 30, 30,
1436 30, 30, 30, 30, 30, 30, 30, 30,
1437 30, 30, 30, 30, 30, 30, 30, 30,
1438 30, 30, 30, 30, 0, 30, 30, 30,
1439 30, 30, 30, 30, 30, 30, 30, 30,
1440 30, 30, 30, 30, 30, 30, 30, 30,
1441 30, 30, 30, 30, 30, 30, 30, 30,
1442 30, 30, 30, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, 0, 0, 0, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0,
1457 static const Q_UINT8 ui_24[] = {
1458 30, 30, 30, 30, 30, 30, 30, 30,
1459 30, 30, 30, 30, 30, 30, 30, 30,
1460 30, 30, 30, 30, 30, 30, 30, 30,
1461 30, 30, 30, 30, 30, 30, 30, 30,
1462 30, 30, 30, 30, 30, 30, 30, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0,
1466 30, 30, 30, 30, 30, 30, 30, 30,
1467 30, 30, 30, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0,
1470 6, 6, 6, 6, 6, 6, 6, 6,
1471 6, 6, 6, 6, 6, 6, 6, 6,
1472 6, 6, 6, 6, 6, 6, 6, 6,
1473 6, 6, 6, 6, 6, 6, 6, 6,
1474 6, 6, 6, 6, 6, 6, 6, 6,
1475 6, 6, 6, 6, 6, 6, 6, 6,
1476 6, 6, 6, 6, 6, 6, 6, 6,
1477 6, 6, 6, 6, 30, 30, 30, 30,
1478 30, 30, 30, 30, 30, 30, 30, 30,
1479 30, 30, 30, 30, 30, 30, 30, 30,
1480 30, 30, 30, 30, 30, 30, 30, 30,
1481 30, 30, 30, 30, 30, 30, 30, 30,
1482 30, 30, 30, 30, 30, 30, 30, 30,
1483 30, 30, 30, 30, 30, 30, 30, 30,
1484 30, 30, 30, 30, 30, 30, 30, 30,
1485 30, 30, 30, 30, 30, 30, 30, 30,
1486 30, 30, 30, 30, 30, 30, 30, 30,
1487 30, 30, 6, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0,
1492 static const Q_UINT8 ui_25[] = {
1493 30, 30, 30, 30, 30, 30, 30, 30,
1494 30, 30, 30, 30, 30, 30, 30, 30,
1495 30, 30, 30, 30, 30, 30, 30, 30,
1496 30, 30, 30, 30, 30, 30, 30, 30,
1497 30, 30, 30, 30, 30, 30, 30, 30,
1498 30, 30, 30, 30, 30, 30, 30, 30,
1499 30, 30, 30, 30, 30, 30, 30, 30,
1500 30, 30, 30, 30, 30, 30, 30, 30,
1501 30, 30, 30, 30, 30, 30, 30, 30,
1502 30, 30, 30, 30, 30, 30, 30, 30,
1503 30, 30, 30, 30, 30, 30, 30, 30,
1504 30, 30, 30, 30, 30, 30, 30, 30,
1505 30, 30, 30, 30, 30, 30, 30, 30,
1506 30, 30, 30, 30, 30, 30, 30, 30,
1507 30, 30, 30, 30, 30, 30, 30, 30,
1508 30, 30, 30, 30, 30, 30, 30, 30,
1509 30, 30, 30, 30, 30, 30, 30, 30,
1510 30, 30, 30, 30, 30, 30, 30, 30,
1511 30, 30, 30, 30, 30, 30, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0,
1513 30, 30, 30, 30, 30, 30, 30, 30,
1514 30, 30, 30, 30, 30, 30, 30, 30,
1515 30, 30, 30, 30, 30, 30, 30, 27,
1516 30, 30, 30, 30, 30, 30, 30, 30,
1517 30, 27, 30, 30, 30, 30, 30, 30,
1518 30, 30, 30, 30, 30, 30, 30, 30,
1519 30, 30, 30, 30, 30, 30, 30, 30,
1520 30, 30, 30, 30, 30, 30, 30, 30,
1521 30, 30, 30, 30, 30, 30, 30, 30,
1522 30, 30, 30, 30, 30, 30, 30, 30,
1523 30, 30, 30, 30, 30, 30, 30, 30,
1524 0, 0, 0, 0, 0, 0, 0, 0,
1527 static const Q_UINT8 ui_26[] = {
1528 30, 30, 30, 30, 30, 30, 30, 30,
1529 30, 30, 30, 30, 30, 30, 30, 30,
1530 30, 30, 30, 30, 0, 0, 0, 0,
1531 0, 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, 30, 30, 30, 30,
1535 30, 30, 30, 30, 30, 30, 30, 30,
1536 30, 30, 30, 30, 30, 30, 30, 30,
1537 30, 30, 30, 30, 30, 30, 30, 30,
1538 30, 30, 30, 30, 30, 30, 30, 30,
1539 30, 30, 30, 30, 30, 30, 30, 30,
1540 30, 30, 30, 30, 30, 30, 30, 30,
1541 30, 30, 30, 30, 30, 30, 30, 27,
1542 30, 30, 0, 0, 0, 0, 0, 0,
1543 0, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0,
1552 0, 0, 0, 0, 0, 0, 0, 0,
1553 0, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 0, 0, 0,
1556 0, 0, 0, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0,
1562 static const Q_UINT8 ui_27[] = {
1563 0, 30, 30, 30, 30, 0, 30, 30,
1564 30, 30, 0, 0, 30, 30, 30, 30,
1565 30, 30, 30, 30, 30, 30, 30, 30,
1566 30, 30, 30, 30, 30, 30, 30, 30,
1567 30, 30, 30, 30, 30, 30, 30, 30,
1568 0, 30, 30, 30, 30, 30, 30, 30,
1569 30, 30, 30, 30, 30, 30, 30, 30,
1570 30, 30, 30, 30, 30, 30, 30, 30,
1571 30, 30, 30, 30, 30, 30, 30, 30,
1572 30, 30, 30, 30, 0, 30, 0, 30,
1573 30, 30, 30, 0, 0, 0, 30, 0,
1574 30, 30, 30, 30, 30, 30, 30, 0,
1575 0, 30, 30, 30, 30, 30, 30, 30,
1576 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 6, 6,
1578 6, 6, 6, 6, 6, 6, 6, 6,
1579 6, 6, 6, 6, 6, 6, 6, 6,
1580 6, 6, 6, 6, 6, 6, 6, 6,
1581 6, 6, 6, 6, 30, 0, 0, 0,
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 0, 30, 30, 30, 30, 30, 30, 30,
1586 30, 30, 30, 30, 30, 30, 30, 0,
1587 0, 0, 0, 0, 0, 0, 0, 0,
1588 0, 0, 0, 0, 0, 0, 0, 0,
1589 0, 0, 0, 0, 0, 0, 0, 0,
1590 0, 0, 0, 0, 0, 0, 0, 0,
1591 0, 0, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 0, 0, 0, 0, 0,
1593 0, 0, 0, 0, 0, 0, 0, 0,
1594 0, 0, 0, 0, 0, 0, 0, 0,
1597 static const Q_UINT8 ui_28[] = {
1598 30, 30, 30, 30, 30, 30, 30, 30,
1599 30, 30, 30, 30, 30, 30, 30, 30,
1600 30, 30, 30, 30, 30, 30, 30, 30,
1601 30, 30, 30, 30, 30, 30, 30, 30,
1602 30, 30, 30, 30, 30, 30, 30, 30,
1603 30, 30, 30, 30, 30, 30, 30, 30,
1604 30, 30, 30, 30, 30, 30, 30, 30,
1605 30, 30, 30, 30, 30, 30, 30, 30,
1606 30, 30, 30, 30, 30, 30, 30, 30,
1607 30, 30, 30, 30, 30, 30, 30, 30,
1608 30, 30, 30, 30, 30, 30, 30, 30,
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, 30,
1614 30, 30, 30, 30, 30, 30, 30, 30,
1615 30, 30, 30, 30, 30, 30, 30, 30,
1616 30, 30, 30, 30, 30, 30, 30, 30,
1617 30, 30, 30, 30, 30, 30, 30, 30,
1618 30, 30, 30, 30, 30, 30, 30, 30,
1619 30, 30, 30, 30, 30, 30, 30, 30,
1620 30, 30, 30, 30, 30, 30, 30, 30,
1621 30, 30, 30, 30, 30, 30, 30, 30,
1622 30, 30, 30, 30, 30, 30, 30, 30,
1623 30, 30, 30, 30, 30, 30, 30, 30,
1624 30, 30, 30, 30, 30, 30, 30, 30,
1625 30, 30, 30, 30, 30, 30, 30, 30,
1626 30, 30, 30, 30, 30, 30, 30, 30,
1627 30, 30, 30, 30, 30, 30, 30, 30,
1628 30, 30, 30, 30, 30, 30, 30, 30,
1629 30, 30, 30, 30, 30, 30, 30, 30,
1632 static const Q_UINT8 ui_2E[] = {
1633 0, 0, 0, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, 0, 0, 0, 0, 0, 0, 0,
1636 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 0, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0,
1639 0, 0, 0, 0, 0, 0, 0, 0,
1640 0, 0, 0, 0, 0, 0, 0, 0,
1641 0, 0, 0, 0, 0, 0, 0, 0,
1642 0, 0, 0, 0, 0, 0, 0, 0,
1643 0, 0, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 0, 0, 0, 0, 0,
1645 0, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 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, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0,
1667 static const Q_UINT8 ui_2F[] = {
1668 30, 30, 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 30, 30, 30, 30, 30, 30, 30, 30,
1676 30, 30, 30, 30, 30, 30, 30, 30,
1677 30, 30, 30, 30, 30, 30, 30, 30,
1678 30, 30, 30, 30, 30, 30, 30, 30,
1679 30, 30, 30, 30, 30, 30, 30, 30,
1680 30, 30, 30, 30, 30, 30, 30, 30,
1681 30, 30, 30, 30, 30, 30, 30, 30,
1682 30, 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, 30,
1693 30, 30, 30, 30, 30, 30, 30, 30,
1694 30, 30, 30, 30, 30, 30, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0,
1698 30, 30, 30, 30, 30, 30, 30, 30,
1699 30, 30, 30, 30, 0, 0, 0, 0,
1702 static const Q_UINT8 ui_30[] = {
1703 7, 26, 26, 26, 30, 18, 19, 5,
1704 22, 23, 22, 23, 22, 23, 22, 23,
1705 22, 23, 30, 30, 22, 23, 22, 23,
1706 22, 23, 22, 23, 21, 22, 23, 23,
1707 30, 5, 5, 5, 5, 5, 5, 5,
1708 5, 5, 1, 1, 1, 1, 1, 1,
1709 21, 18, 18, 18, 18, 18, 30, 30,
1710 5, 5, 5, 0, 0, 0, 30, 30,
1711 0, 19, 19, 19, 19, 19, 19, 19,
1712 19, 19, 19, 19, 19, 19, 19, 19,
1713 19, 19, 19, 19, 19, 19, 19, 19,
1714 19, 19, 19, 19, 19, 19, 19, 19,
1715 19, 19, 19, 19, 19, 19, 19, 19,
1716 19, 19, 19, 19, 19, 19, 19, 19,
1717 19, 19, 19, 19, 19, 19, 19, 19,
1718 19, 19, 19, 19, 19, 19, 19, 19,
1719 19, 19, 19, 19, 19, 19, 19, 19,
1720 19, 19, 19, 19, 19, 19, 19, 19,
1721 19, 19, 19, 19, 19, 0, 0, 0,
1722 0, 1, 1, 29, 29, 18, 18, 0,
1723 0, 19, 19, 19, 19, 19, 19, 19,
1724 19, 19, 19, 19, 19, 19, 19, 19,
1725 19, 19, 19, 19, 19, 19, 19, 19,
1726 19, 19, 19, 19, 19, 19, 19, 19,
1727 19, 19, 19, 19, 19, 19, 19, 19,
1728 19, 19, 19, 19, 19, 19, 19, 19,
1729 19, 19, 19, 19, 19, 19, 19, 19,
1730 19, 19, 19, 19, 19, 19, 19, 19,
1731 19, 19, 19, 19, 19, 19, 19, 19,
1732 19, 19, 19, 19, 19, 19, 19, 19,
1733 19, 19, 19, 19, 19, 19, 19, 19,
1734 19, 19, 19, 20, 18, 18, 18, 0,
1737 static const Q_UINT8 ui_31[] = {
1738 0, 0, 0, 0, 0, 19, 19, 19,
1739 19, 19, 19, 19, 19, 19, 19, 19,
1740 19, 19, 19, 19, 19, 19, 19, 19,
1741 19, 19, 19, 19, 19, 19, 19, 19,
1742 19, 19, 19, 19, 19, 19, 19, 19,
1743 19, 19, 19, 19, 19, 0, 0, 0,
1744 0, 19, 19, 19, 19, 19, 19, 19,
1745 19, 19, 19, 19, 19, 19, 19, 19,
1746 19, 19, 19, 19, 19, 19, 19, 19,
1747 19, 19, 19, 19, 19, 19, 19, 19,
1748 19, 19, 19, 19, 19, 19, 19, 19,
1749 19, 19, 19, 19, 19, 19, 19, 19,
1750 19, 19, 19, 19, 19, 19, 19, 19,
1751 19, 19, 19, 19, 19, 19, 19, 19,
1752 19, 19, 19, 19, 19, 19, 19, 19,
1753 19, 19, 19, 19, 19, 19, 19, 19,
1754 19, 19, 19, 19, 19, 19, 19, 19,
1755 19, 19, 19, 19, 19, 19, 19, 0,
1756 30, 30, 6, 6, 6, 6, 30, 30,
1757 30, 30, 30, 30, 30, 30, 30, 30,
1758 19, 19, 19, 19, 19, 19, 19, 19,
1759 19, 19, 19, 19, 19, 19, 19, 19,
1760 19, 19, 19, 19, 19, 19, 19, 19,
1761 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0,
1772 static const Q_UINT8 ui_32[] = {
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, 0, 0, 0,
1777 6, 6, 6, 6, 6, 6, 6, 6,
1778 6, 6, 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 30, 30, 30, 30, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0,
1785 30, 30, 30, 30, 30, 30, 30, 30,
1786 30, 30, 30, 30, 30, 30, 30, 30,
1787 30, 30, 30, 30, 30, 30, 30, 30,
1788 30, 30, 30, 30, 0, 0, 0, 30,
1789 6, 6, 6, 6, 6, 6, 6, 6,
1790 6, 6, 30, 30, 30, 30, 30, 30,
1791 30, 30, 30, 30, 30, 30, 30, 30,
1792 30, 30, 30, 30, 30, 30, 30, 30,
1793 30, 30, 30, 30, 30, 30, 30, 30,
1794 30, 30, 30, 30, 30, 30, 30, 30,
1795 30, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0,
1797 30, 30, 30, 30, 30, 30, 30, 30,
1798 30, 30, 30, 30, 0, 0, 0, 0,
1799 30, 30, 30, 30, 30, 30, 30, 30,
1800 30, 30, 30, 30, 30, 30, 30, 30,
1801 30, 30, 30, 30, 30, 30, 30, 30,
1802 30, 30, 30, 30, 30, 30, 30, 30,
1803 30, 30, 30, 30, 30, 30, 30, 30,
1804 30, 30, 30, 30, 30, 30, 30, 0,
1807 static const Q_UINT8 ui_33[] = {
1808 30, 30, 30, 30, 30, 30, 30, 30,
1809 30, 30, 30, 30, 30, 30, 30, 30,
1810 30, 30, 30, 30, 30, 30, 30, 30,
1811 30, 30, 30, 30, 30, 30, 30, 30,
1812 30, 30, 30, 30, 30, 30, 30, 30,
1813 30, 30, 30, 30, 30, 30, 30, 30,
1814 30, 30, 30, 30, 30, 30, 30, 30,
1815 30, 30, 30, 30, 30, 30, 30, 30,
1816 30, 30, 30, 30, 30, 30, 30, 30,
1817 30, 30, 30, 30, 30, 30, 30, 30,
1818 30, 30, 30, 30, 30, 30, 30, 30,
1819 30, 30, 30, 30, 30, 30, 30, 30,
1820 30, 30, 30, 30, 30, 30, 30, 30,
1821 30, 30, 30, 30, 30, 30, 30, 30,
1822 30, 30, 30, 30, 30, 30, 30, 0,
1823 0, 0, 0, 30, 30, 30, 30, 30,
1824 30, 30, 30, 30, 30, 30, 30, 30,
1825 30, 30, 30, 30, 30, 30, 30, 30,
1826 30, 30, 30, 30, 30, 30, 30, 30,
1827 30, 30, 30, 30, 30, 30, 30, 30,
1828 30, 30, 30, 30, 30, 30, 30, 30,
1829 30, 30, 30, 30, 30, 30, 30, 30,
1830 30, 30, 30, 30, 30, 30, 30, 30,
1831 30, 30, 30, 30, 30, 30, 30, 30,
1832 30, 30, 30, 30, 30, 30, 30, 30,
1833 30, 30, 30, 30, 30, 30, 30, 30,
1834 30, 30, 30, 30, 30, 30, 30, 30,
1835 30, 30, 30, 30, 30, 30, 0, 0,
1836 30, 30, 30, 30, 30, 30, 30, 30,
1837 30, 30, 30, 30, 30, 30, 30, 30,
1838 30, 30, 30, 30, 30, 30, 30, 30,
1839 30, 30, 30, 30, 30, 30, 30, 0,
1842 static const Q_UINT8 ui_34[] = {
1843 19, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0,
1877 static const Q_UINT8 ui_4D[] = {
1878 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 19, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0,
1912 static const Q_UINT8 ui_9F[] = {
1913 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 19, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0,
1947 static const Q_UINT8 ui_A4[] = {
1948 19, 19, 19, 19, 19, 19, 19, 19,
1949 19, 19, 19, 19, 19, 19, 19, 19,
1950 19, 19, 19, 19, 19, 19, 19, 19,
1951 19, 19, 19, 19, 19, 19, 19, 19,
1952 19, 19, 19, 19, 19, 19, 19, 19,
1953 19, 19, 19, 19, 19, 19, 19, 19,
1954 19, 19, 19, 19, 19, 19, 19, 19,
1955 19, 19, 19, 19, 19, 19, 19, 19,
1956 19, 19, 19, 19, 19, 19, 19, 19,
1957 19, 19, 19, 19, 19, 19, 19, 19,
1958 19, 19, 19, 19, 19, 19, 19, 19,
1959 19, 19, 19, 19, 19, 19, 19, 19,
1960 19, 19, 19, 19, 19, 19, 19, 19,
1961 19, 19, 19, 19, 19, 19, 19, 19,
1962 19, 19, 19, 19, 19, 19, 19, 19,
1963 19, 19, 19, 19, 19, 19, 19, 19,
1964 19, 19, 19, 19, 19, 19, 19, 19,
1965 19, 19, 19, 19, 19, 0, 0, 0,
1966 30, 30, 30, 30, 30, 30, 30, 30,
1967 30, 30, 30, 30, 30, 30, 30, 30,
1968 30, 30, 0, 0, 30, 30, 30, 30,
1969 30, 30, 30, 30, 30, 30, 30, 30,
1970 30, 30, 30, 30, 0, 30, 30, 30,
1971 30, 30, 30, 30, 30, 30, 30, 30,
1972 30, 0, 30, 30, 30, 0, 30, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0,
1982 static const Q_UINT8 ui_D7[] = {
1983 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 19, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0,
2017 static const Q_UINT8 ui_D8[] = {
2018 12, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0,
2025 0, 0, 0, 0, 0, 0, 0, 0,
2026 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 0, 0, 0, 0, 0,
2037 0, 0, 0, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 0, 0, 0, 0, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0,
2046 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0,
2052 static const Q_UINT8 ui_DB[] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 0, 0,
2065 0, 0, 0, 0, 0, 0, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 0, 0, 0, 0, 0,
2068 0, 0, 0, 0, 0, 0, 0, 12,
2069 12, 0, 0, 0, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 0, 0, 0, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0,
2084 0, 0, 0, 0, 0, 0, 0, 12,
2087 static const Q_UINT8 ui_DF[] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 12,
2122 static const Q_UINT8 ui_E0[] = {
2123 13, 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 0, 0, 0, 0, 0, 0,
2133 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0,
2153 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0,
2157 static const Q_UINT8 ui_F8[] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 13,
2192 static const Q_UINT8 ui_FA[] = {
2193 19, 19, 19, 19, 19, 19, 19, 19,
2194 19, 19, 19, 19, 19, 19, 19, 19,
2195 19, 19, 19, 19, 19, 19, 19, 19,
2196 19, 19, 19, 19, 19, 19, 19, 19,
2197 19, 19, 19, 19, 19, 19, 19, 19,
2198 19, 19, 19, 19, 19, 19, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0,
2227 static const Q_UINT8 ui_FB[] = {
2228 16, 16, 16, 16, 16, 16, 16, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 16, 16, 16, 16, 16,
2231 0, 0, 0, 0, 0, 19, 1, 19,
2232 19, 19, 19, 19, 19, 19, 19, 19,
2233 19, 27, 19, 19, 19, 19, 19, 19,
2234 19, 19, 19, 19, 19, 19, 19, 0,
2235 19, 19, 19, 19, 19, 0, 19, 0,
2236 19, 19, 0, 19, 19, 0, 19, 19,
2237 19, 19, 19, 19, 19, 19, 19, 19,
2238 19, 19, 19, 19, 19, 19, 19, 19,
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, 19, 19,
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, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 19, 19, 19, 19, 19,
2255 19, 19, 19, 19, 19, 19, 19, 19,
2256 19, 19, 19, 19, 19, 19, 19, 19,
2257 19, 19, 19, 19, 19, 19, 19, 19,
2258 19, 19, 19, 19, 19, 19, 19, 19,
2259 19, 19, 19, 19, 19, 19, 19, 19,
2262 static const Q_UINT8 ui_FD[] = {
2263 19, 19, 19, 19, 19, 19, 19, 19,
2264 19, 19, 19, 19, 19, 19, 19, 19,
2265 19, 19, 19, 19, 19, 19, 19, 19,
2266 19, 19, 19, 19, 19, 19, 19, 19,
2267 19, 19, 19, 19, 19, 19, 19, 19,
2268 19, 19, 19, 19, 19, 19, 19, 19,
2269 19, 19, 19, 19, 19, 19, 19, 19,
2270 19, 19, 19, 19, 19, 19, 22, 23,
2271 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0,
2273 19, 19, 19, 19, 19, 19, 19, 19,
2274 19, 19, 19, 19, 19, 19, 19, 19,
2275 19, 19, 19, 19, 19, 19, 19, 19,
2276 19, 19, 19, 19, 19, 19, 19, 19,
2277 19, 19, 19, 19, 19, 19, 19, 19,
2278 19, 19, 19, 19, 19, 19, 19, 19,
2279 19, 19, 19, 19, 19, 19, 19, 19,
2280 19, 19, 19, 19, 19, 19, 19, 19,
2281 0, 0, 19, 19, 19, 19, 19, 19,
2282 19, 19, 19, 19, 19, 19, 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 0, 0, 0, 0, 0, 0, 0, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0,
2293 19, 19, 19, 19, 19, 19, 19, 19,
2294 19, 19, 19, 19, 0, 0, 0, 0,
2297 static const Q_UINT8 ui_FE[] = {
2298 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0,
2300 0, 0, 0, 0, 0, 0, 0, 0,
2301 0, 0, 0, 0, 0, 0, 0, 0,
2302 1, 1, 1, 1, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0,
2304 26, 21, 21, 20, 20, 22, 23, 22,
2305 23, 22, 23, 22, 23, 22, 23, 22,
2306 23, 22, 23, 22, 23, 0, 0, 0,
2307 0, 26, 26, 26, 26, 20, 20, 20,
2308 26, 26, 26, 0, 26, 26, 26, 26,
2309 21, 22, 23, 22, 23, 22, 23, 26,
2310 26, 26, 27, 21, 27, 27, 27, 0,
2311 26, 28, 26, 26, 0, 0, 0, 0,
2312 19, 19, 19, 0, 19, 0, 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, 19, 19,
2317 19, 19, 19, 19, 19, 19, 19, 19,
2318 19, 19, 19, 19, 19, 19, 19, 19,
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 19, 19, 19, 19, 19, 19, 19, 19,
2328 19, 19, 19, 19, 19, 19, 19, 19,
2329 19, 19, 19, 19, 19, 0, 0, 11,
2332 static const Q_UINT8 ui_FF[] = {
2333 0, 26, 26, 26, 28, 26, 26, 26,
2334 22, 23, 26, 27, 26, 21, 26, 26,
2335 4, 4, 4, 4, 4, 4, 4, 4,
2336 4, 4, 26, 26, 27, 27, 27, 26,
2337 26, 15, 15, 15, 15, 15, 15, 15,
2338 15, 15, 15, 15, 15, 15, 15, 15,
2339 15, 15, 15, 15, 15, 15, 15, 15,
2340 15, 15, 15, 22, 26, 23, 29, 20,
2341 29, 16, 16, 16, 16, 16, 16, 16,
2342 16, 16, 16, 16, 16, 16, 16, 16,
2343 16, 16, 16, 16, 16, 16, 16, 16,
2344 16, 16, 16, 22, 27, 23, 27, 0,
2345 0, 26, 22, 23, 26, 20, 19, 19,
2346 19, 19, 19, 19, 19, 19, 19, 19,
2347 18, 19, 19, 19, 19, 19, 19, 19,
2348 19, 19, 19, 19, 19, 19, 19, 19,
2349 19, 19, 19, 19, 19, 19, 19, 19,
2350 19, 19, 19, 19, 19, 19, 19, 19,
2351 19, 19, 19, 19, 19, 19, 19, 19,
2352 19, 19, 19, 19, 19, 19, 18, 18,
2353 19, 19, 19, 19, 19, 19, 19, 19,
2354 19, 19, 19, 19, 19, 19, 19, 19,
2355 19, 19, 19, 19, 19, 19, 19, 19,
2356 19, 19, 19, 19, 19, 19, 19, 0,
2357 0, 0, 19, 19, 19, 19, 19, 19,
2358 0, 0, 19, 19, 19, 19, 19, 19,
2359 0, 0, 19, 19, 19, 19, 19, 19,
2360 0, 0, 19, 19, 19, 0, 0, 0,
2361 28, 28, 27, 29, 30, 28, 28, 0,
2362 30, 27, 27, 27, 27, 30, 30, 0,
2363 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 11, 11, 11, 30, 30, 0, 0,
2367 static const Q_UINT8 * const unicode_info[256] = {
2368 ui_00, ui_01, ui_02, ui_03, ui_04, ui_05, ui_06, ui_07,
2369 ui_08, ui_09, ui_0A, ui_0B, ui_0C, ui_0D, ui_0E, ui_0F,
2370 ui_10, ui_11, ui_12, ui_13, ui_14, ui_15, ui_16, ui_17,
2371 ui_18, ui_08, ui_08, ui_08, ui_08, ui_08, ui_1E, ui_1F,
2372 ui_20, ui_21, ui_22, ui_23, ui_24, ui_25, ui_26, ui_27,
2373 ui_28, ui_08, ui_08, ui_08, ui_08, ui_08, ui_2E, ui_2F,
2374 ui_30, ui_31, ui_32, ui_33, ui_34, ui_08, ui_08, ui_08,
2375 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2376 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2377 ui_08, ui_08, ui_08, ui_08, ui_08, ui_4D, ui_34, ui_08,
2378 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2379 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2380 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2381 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2382 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2383 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2384 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2385 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2386 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2387 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_9F,
2388 ui_15, ui_15, ui_15, ui_15, ui_A4, ui_08, ui_08, ui_08,
2389 ui_08, ui_08, ui_08, ui_08, ui_34, ui_08, ui_08, ui_08,
2390 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2391 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2392 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2393 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2394 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_D7,
2395 ui_D8, ui_08, ui_08, ui_DB, ui_D8, ui_08, ui_08, ui_DF,
2396 ui_E0, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2397 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2398 ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08, ui_08,
2399 ui_F8, ui_15, ui_FA, ui_FB, ui_15, ui_FD, ui_FE, ui_FF,
2403 static const Q_UINT16 decomposition_map [] = {
2405 3, 0x00A0, 0x0020, 0,
2406 16, 0x00A8, 0x0020, 0x0308, 0,
2407 9, 0x00AA, 0x0061, 0,
2408 16, 0x00AF, 0x0020, 0x0304, 0,
2409 9, 0x00B2, 0x0032, 0,
2410 9, 0x00B3, 0x0033, 0,
2411 16, 0x00B4, 0x0020, 0x0301, 0,
2412 16, 0x00B5, 0x03BC, 0,
2413 16, 0x00B8, 0x0020, 0x0327, 0,
2414 9, 0x00B9, 0x0031, 0,
2415 9, 0x00BA, 0x006F, 0,
2416 17, 0x00BC, 0x0031, 0x2044, 0x0034, 0,
2417 17, 0x00BD, 0x0031, 0x2044, 0x0032, 0,
2418 17, 0x00BE, 0x0033, 0x2044, 0x0034, 0,
2419 1, 0x00C0, 0x0041, 0x0300, 0,
2420 1, 0x00C1, 0x0041, 0x0301, 0,
2421 1, 0x00C2, 0x0041, 0x0302, 0,
2422 1, 0x00C3, 0x0041, 0x0303, 0,
2423 1, 0x00C4, 0x0041, 0x0308, 0,
2424 1, 0x00C5, 0x0041, 0x030A, 0,
2425 1, 0x00C7, 0x0043, 0x0327, 0,
2426 1, 0x00C8, 0x0045, 0x0300, 0,
2427 1, 0x00C9, 0x0045, 0x0301, 0,
2428 1, 0x00CA, 0x0045, 0x0302, 0,
2429 1, 0x00CB, 0x0045, 0x0308, 0,
2430 1, 0x00CC, 0x0049, 0x0300, 0,
2431 1, 0x00CD, 0x0049, 0x0301, 0,
2432 1, 0x00CE, 0x0049, 0x0302, 0,
2433 1, 0x00CF, 0x0049, 0x0308, 0,
2434 1, 0x00D1, 0x004E, 0x0303, 0,
2435 1, 0x00D2, 0x004F, 0x0300, 0,
2436 1, 0x00D3, 0x004F, 0x0301, 0,
2437 1, 0x00D4, 0x004F, 0x0302, 0,
2438 1, 0x00D5, 0x004F, 0x0303, 0,
2439 1, 0x00D6, 0x004F, 0x0308, 0,
2440 1, 0x00D9, 0x0055, 0x0300, 0,
2441 1, 0x00DA, 0x0055, 0x0301, 0,
2442 1, 0x00DB, 0x0055, 0x0302, 0,
2443 1, 0x00DC, 0x0055, 0x0308, 0,
2444 1, 0x00DD, 0x0059, 0x0301, 0,
2445 1, 0x00E0, 0x0061, 0x0300, 0,
2446 1, 0x00E1, 0x0061, 0x0301, 0,
2447 1, 0x00E2, 0x0061, 0x0302, 0,
2448 1, 0x00E3, 0x0061, 0x0303, 0,
2449 1, 0x00E4, 0x0061, 0x0308, 0,
2450 1, 0x00E5, 0x0061, 0x030A, 0,
2451 1, 0x00E7, 0x0063, 0x0327, 0,
2452 1, 0x00E8, 0x0065, 0x0300, 0,
2453 1, 0x00E9, 0x0065, 0x0301, 0,
2454 1, 0x00EA, 0x0065, 0x0302, 0,
2455 1, 0x00EB, 0x0065, 0x0308, 0,
2456 1, 0x00EC, 0x0069, 0x0300, 0,
2457 1, 0x00ED, 0x0069, 0x0301, 0,
2458 1, 0x00EE, 0x0069, 0x0302, 0,
2459 1, 0x00EF, 0x0069, 0x0308, 0,
2460 1, 0x00F1, 0x006E, 0x0303, 0,
2461 1, 0x00F2, 0x006F, 0x0300, 0,
2462 1, 0x00F3, 0x006F, 0x0301, 0,
2463 1, 0x00F4, 0x006F, 0x0302, 0,
2464 1, 0x00F5, 0x006F, 0x0303, 0,
2465 1, 0x00F6, 0x006F, 0x0308, 0,
2466 1, 0x00F9, 0x0075, 0x0300, 0,
2467 1, 0x00FA, 0x0075, 0x0301, 0,
2468 1, 0x00FB, 0x0075, 0x0302, 0,
2469 1, 0x00FC, 0x0075, 0x0308, 0,
2470 1, 0x00FD, 0x0079, 0x0301, 0,
2471 1, 0x00FF, 0x0079, 0x0308, 0,
2472 1, 0x0100, 0x0041, 0x0304, 0,
2473 1, 0x0101, 0x0061, 0x0304, 0,
2474 1, 0x0102, 0x0041, 0x0306, 0,
2475 1, 0x0103, 0x0061, 0x0306, 0,
2476 1, 0x0104, 0x0041, 0x0328, 0,
2477 1, 0x0105, 0x0061, 0x0328, 0,
2478 1, 0x0106, 0x0043, 0x0301, 0,
2479 1, 0x0107, 0x0063, 0x0301, 0,
2480 1, 0x0108, 0x0043, 0x0302, 0,
2481 1, 0x0109, 0x0063, 0x0302, 0,
2482 1, 0x010A, 0x0043, 0x0307, 0,
2483 1, 0x010B, 0x0063, 0x0307, 0,
2484 1, 0x010C, 0x0043, 0x030C, 0,
2485 1, 0x010D, 0x0063, 0x030C, 0,
2486 1, 0x010E, 0x0044, 0x030C, 0,
2487 1, 0x010F, 0x0064, 0x030C, 0,
2488 1, 0x0112, 0x0045, 0x0304, 0,
2489 1, 0x0113, 0x0065, 0x0304, 0,
2490 1, 0x0114, 0x0045, 0x0306, 0,
2491 1, 0x0115, 0x0065, 0x0306, 0,
2492 1, 0x0116, 0x0045, 0x0307, 0,
2493 1, 0x0117, 0x0065, 0x0307, 0,
2494 1, 0x0118, 0x0045, 0x0328, 0,
2495 1, 0x0119, 0x0065, 0x0328, 0,
2496 1, 0x011A, 0x0045, 0x030C, 0,
2497 1, 0x011B, 0x0065, 0x030C, 0,
2498 1, 0x011C, 0x0047, 0x0302, 0,
2499 1, 0x011D, 0x0067, 0x0302, 0,
2500 1, 0x011E, 0x0047, 0x0306, 0,
2501 1, 0x011F, 0x0067, 0x0306, 0,
2502 1, 0x0120, 0x0047, 0x0307, 0,
2503 1, 0x0121, 0x0067, 0x0307, 0,
2504 1, 0x0122, 0x0047, 0x0327, 0,
2505 1, 0x0123, 0x0067, 0x0327, 0,
2506 1, 0x0124, 0x0048, 0x0302, 0,
2507 1, 0x0125, 0x0068, 0x0302, 0,
2508 1, 0x0128, 0x0049, 0x0303, 0,
2509 1, 0x0129, 0x0069, 0x0303, 0,
2510 1, 0x012A, 0x0049, 0x0304, 0,
2511 1, 0x012B, 0x0069, 0x0304, 0,
2512 1, 0x012C, 0x0049, 0x0306, 0,
2513 1, 0x012D, 0x0069, 0x0306, 0,
2514 1, 0x012E, 0x0049, 0x0328, 0,
2515 1, 0x012F, 0x0069, 0x0328, 0,
2516 1, 0x0130, 0x0049, 0x0307, 0,
2517 16, 0x0132, 0x0049, 0x004A, 0,
2518 16, 0x0133, 0x0069, 0x006A, 0,
2519 1, 0x0134, 0x004A, 0x0302, 0,
2520 1, 0x0135, 0x006A, 0x0302, 0,
2521 1, 0x0136, 0x004B, 0x0327, 0,
2522 1, 0x0137, 0x006B, 0x0327, 0,
2523 1, 0x0139, 0x004C, 0x0301, 0,
2524 1, 0x013A, 0x006C, 0x0301, 0,
2525 1, 0x013B, 0x004C, 0x0327, 0,
2526 1, 0x013C, 0x006C, 0x0327, 0,
2527 1, 0x013D, 0x004C, 0x030C, 0,
2528 1, 0x013E, 0x006C, 0x030C, 0,
2529 16, 0x013F, 0x004C, 0x00B7, 0,
2530 16, 0x0140, 0x006C, 0x00B7, 0,
2531 1, 0x0143, 0x004E, 0x0301, 0,
2532 1, 0x0144, 0x006E, 0x0301, 0,
2533 1, 0x0145, 0x004E, 0x0327, 0,
2534 1, 0x0146, 0x006E, 0x0327, 0,
2535 1, 0x0147, 0x004E, 0x030C, 0,
2536 1, 0x0148, 0x006E, 0x030C, 0,
2537 16, 0x0149, 0x02BC, 0x006E, 0,
2538 1, 0x014C, 0x004F, 0x0304, 0,
2539 1, 0x014D, 0x006F, 0x0304, 0,
2540 1, 0x014E, 0x004F, 0x0306, 0,
2541 1, 0x014F, 0x006F, 0x0306, 0,
2542 1, 0x0150, 0x004F, 0x030B, 0,
2543 1, 0x0151, 0x006F, 0x030B, 0,
2544 1, 0x0154, 0x0052, 0x0301, 0,
2545 1, 0x0155, 0x0072, 0x0301, 0,
2546 1, 0x0156, 0x0052, 0x0327, 0,
2547 1, 0x0157, 0x0072, 0x0327, 0,
2548 1, 0x0158, 0x0052, 0x030C, 0,
2549 1, 0x0159, 0x0072, 0x030C, 0,
2550 1, 0x015A, 0x0053, 0x0301, 0,
2551 1, 0x015B, 0x0073, 0x0301, 0,
2552 1, 0x015C, 0x0053, 0x0302, 0,
2553 1, 0x015D, 0x0073, 0x0302, 0,
2554 1, 0x015E, 0x0053, 0x0327, 0,
2555 1, 0x015F, 0x0073, 0x0327, 0,
2556 1, 0x0160, 0x0053, 0x030C, 0,
2557 1, 0x0161, 0x0073, 0x030C, 0,
2558 1, 0x0162, 0x0054, 0x0327, 0,
2559 1, 0x0163, 0x0074, 0x0327, 0,
2560 1, 0x0164, 0x0054, 0x030C, 0,
2561 1, 0x0165, 0x0074, 0x030C, 0,
2562 1, 0x0168, 0x0055, 0x0303, 0,
2563 1, 0x0169, 0x0075, 0x0303, 0,
2564 1, 0x016A, 0x0055, 0x0304, 0,
2565 1, 0x016B, 0x0075, 0x0304, 0,
2566 1, 0x016C, 0x0055, 0x0306, 0,
2567 1, 0x016D, 0x0075, 0x0306, 0,
2568 1, 0x016E, 0x0055, 0x030A, 0,
2569 1, 0x016F, 0x0075, 0x030A, 0,
2570 1, 0x0170, 0x0055, 0x030B, 0,
2571 1, 0x0171, 0x0075, 0x030B, 0,
2572 1, 0x0172, 0x0055, 0x0328, 0,
2573 1, 0x0173, 0x0075, 0x0328, 0,
2574 1, 0x0174, 0x0057, 0x0302, 0,
2575 1, 0x0175, 0x0077, 0x0302, 0,
2576 1, 0x0176, 0x0059, 0x0302, 0,
2577 1, 0x0177, 0x0079, 0x0302, 0,
2578 1, 0x0178, 0x0059, 0x0308, 0,
2579 1, 0x0179, 0x005A, 0x0301, 0,
2580 1, 0x017A, 0x007A, 0x0301, 0,
2581 1, 0x017B, 0x005A, 0x0307, 0,
2582 1, 0x017C, 0x007A, 0x0307, 0,
2583 1, 0x017D, 0x005A, 0x030C, 0,
2584 1, 0x017E, 0x007A, 0x030C, 0,
2585 16, 0x017F, 0x0073, 0,
2586 1, 0x01A0, 0x004F, 0x031B, 0,
2587 1, 0x01A1, 0x006F, 0x031B, 0,
2588 1, 0x01AF, 0x0055, 0x031B, 0,
2589 1, 0x01B0, 0x0075, 0x031B, 0,
2590 16, 0x01C4, 0x0044, 0x017D, 0,
2591 16, 0x01C5, 0x0044, 0x017E, 0,
2592 16, 0x01C6, 0x0064, 0x017E, 0,
2593 16, 0x01C7, 0x004C, 0x004A, 0,
2594 16, 0x01C8, 0x004C, 0x006A, 0,
2595 16, 0x01C9, 0x006C, 0x006A, 0,
2596 16, 0x01CA, 0x004E, 0x004A, 0,
2597 16, 0x01CB, 0x004E, 0x006A, 0,
2598 16, 0x01CC, 0x006E, 0x006A, 0,
2599 1, 0x01CD, 0x0041, 0x030C, 0,
2600 1, 0x01CE, 0x0061, 0x030C, 0,
2601 1, 0x01CF, 0x0049, 0x030C, 0,
2602 1, 0x01D0, 0x0069, 0x030C, 0,
2603 1, 0x01D1, 0x004F, 0x030C, 0,
2604 1, 0x01D2, 0x006F, 0x030C, 0,
2605 1, 0x01D3, 0x0055, 0x030C, 0,
2606 1, 0x01D4, 0x0075, 0x030C, 0,
2607 1, 0x01D5, 0x00DC, 0x0304, 0,
2608 1, 0x01D6, 0x00FC, 0x0304, 0,
2609 1, 0x01D7, 0x00DC, 0x0301, 0,
2610 1, 0x01D8, 0x00FC, 0x0301, 0,
2611 1, 0x01D9, 0x00DC, 0x030C, 0,
2612 1, 0x01DA, 0x00FC, 0x030C, 0,
2613 1, 0x01DB, 0x00DC, 0x0300, 0,
2614 1, 0x01DC, 0x00FC, 0x0300, 0,
2615 1, 0x01DE, 0x00C4, 0x0304, 0,
2616 1, 0x01DF, 0x00E4, 0x0304, 0,
2617 1, 0x01E0, 0x0226, 0x0304, 0,
2618 1, 0x01E1, 0x0227, 0x0304, 0,
2619 1, 0x01E2, 0x00C6, 0x0304, 0,
2620 1, 0x01E3, 0x00E6, 0x0304, 0,
2621 1, 0x01E6, 0x0047, 0x030C, 0,
2622 1, 0x01E7, 0x0067, 0x030C, 0,
2623 1, 0x01E8, 0x004B, 0x030C, 0,
2624 1, 0x01E9, 0x006B, 0x030C, 0,
2625 1, 0x01EA, 0x004F, 0x0328, 0,
2626 1, 0x01EB, 0x006F, 0x0328, 0,
2627 1, 0x01EC, 0x01EA, 0x0304, 0,
2628 1, 0x01ED, 0x01EB, 0x0304, 0,
2629 1, 0x01EE, 0x01B7, 0x030C, 0,
2630 1, 0x01EF, 0x0292, 0x030C, 0,
2631 1, 0x01F0, 0x006A, 0x030C, 0,
2632 16, 0x01F1, 0x0044, 0x005A, 0,
2633 16, 0x01F2, 0x0044, 0x007A, 0,
2634 16, 0x01F3, 0x0064, 0x007A, 0,
2635 1, 0x01F4, 0x0047, 0x0301, 0,
2636 1, 0x01F5, 0x0067, 0x0301, 0,
2637 1, 0x01F8, 0x004E, 0x0300, 0,
2638 1, 0x01F9, 0x006E, 0x0300, 0,
2639 1, 0x01FA, 0x00C5, 0x0301, 0,
2640 1, 0x01FB, 0x00E5, 0x0301, 0,
2641 1, 0x01FC, 0x00C6, 0x0301, 0,
2642 1, 0x01FD, 0x00E6, 0x0301, 0,
2643 1, 0x01FE, 0x00D8, 0x0301, 0,
2644 1, 0x01FF, 0x00F8, 0x0301, 0,
2645 1, 0x0200, 0x0041, 0x030F, 0,
2646 1, 0x0201, 0x0061, 0x030F, 0,
2647 1, 0x0202, 0x0041, 0x0311, 0,
2648 1, 0x0203, 0x0061, 0x0311, 0,
2649 1, 0x0204, 0x0045, 0x030F, 0,
2650 1, 0x0205, 0x0065, 0x030F, 0,
2651 1, 0x0206, 0x0045, 0x0311, 0,
2652 1, 0x0207, 0x0065, 0x0311, 0,
2653 1, 0x0208, 0x0049, 0x030F, 0,
2654 1, 0x0209, 0x0069, 0x030F, 0,
2655 1, 0x020A, 0x0049, 0x0311, 0,
2656 1, 0x020B, 0x0069, 0x0311, 0,
2657 1, 0x020C, 0x004F, 0x030F, 0,
2658 1, 0x020D, 0x006F, 0x030F, 0,
2659 1, 0x020E, 0x004F, 0x0311, 0,
2660 1, 0x020F, 0x006F, 0x0311, 0,
2661 1, 0x0210, 0x0052, 0x030F, 0,
2662 1, 0x0211, 0x0072, 0x030F, 0,
2663 1, 0x0212, 0x0052, 0x0311, 0,
2664 1, 0x0213, 0x0072, 0x0311, 0,
2665 1, 0x0214, 0x0055, 0x030F, 0,
2666 1, 0x0215, 0x0075, 0x030F, 0,
2667 1, 0x0216, 0x0055, 0x0311, 0,
2668 1, 0x0217, 0x0075, 0x0311, 0,
2669 1, 0x0218, 0x0053, 0x0326, 0,
2670 1, 0x0219, 0x0073, 0x0326, 0,
2671 1, 0x021A, 0x0054, 0x0326, 0,
2672 1, 0x021B, 0x0074, 0x0326, 0,
2673 1, 0x021E, 0x0048, 0x030C, 0,
2674 1, 0x021F, 0x0068, 0x030C, 0,
2675 1, 0x0226, 0x0041, 0x0307, 0,
2676 1, 0x0227, 0x0061, 0x0307, 0,
2677 1, 0x0228, 0x0045, 0x0327, 0,
2678 1, 0x0229, 0x0065, 0x0327, 0,
2679 1, 0x022A, 0x00D6, 0x0304, 0,
2680 1, 0x022B, 0x00F6, 0x0304, 0,
2681 1, 0x022C, 0x00D5, 0x0304, 0,
2682 1, 0x022D, 0x00F5, 0x0304, 0,
2683 1, 0x022E, 0x004F, 0x0307, 0,
2684 1, 0x022F, 0x006F, 0x0307, 0,
2685 1, 0x0230, 0x022E, 0x0304, 0,
2686 1, 0x0231, 0x022F, 0x0304, 0,
2687 1, 0x0232, 0x0059, 0x0304, 0,
2688 1, 0x0233, 0x0079, 0x0304, 0,
2689 9, 0x02B0, 0x0068, 0,
2690 9, 0x02B1, 0x0266, 0,
2691 9, 0x02B2, 0x006A, 0,
2692 9, 0x02B3, 0x0072, 0,
2693 9, 0x02B4, 0x0279, 0,
2694 9, 0x02B5, 0x027B, 0,
2695 9, 0x02B6, 0x0281, 0,
2696 9, 0x02B7, 0x0077, 0,
2697 9, 0x02B8, 0x0079, 0,
2698 16, 0x02D8, 0x0020, 0x0306, 0,
2699 16, 0x02D9, 0x0020, 0x0307, 0,
2700 16, 0x02DA, 0x0020, 0x030A, 0,
2701 16, 0x02DB, 0x0020, 0x0328, 0,
2702 16, 0x02DC, 0x0020, 0x0303, 0,
2703 16, 0x02DD, 0x0020, 0x030B, 0,
2704 9, 0x02E0, 0x0263, 0,
2705 9, 0x02E1, 0x006C, 0,
2706 9, 0x02E2, 0x0073, 0,
2707 9, 0x02E3, 0x0078, 0,
2708 9, 0x02E4, 0x0295, 0,
2709 1, 0x0340, 0x0300, 0,
2710 1, 0x0341, 0x0301, 0,
2711 1, 0x0343, 0x0313, 0,
2712 1, 0x0344, 0x0308, 0x0301, 0,
2713 1, 0x0374, 0x02B9, 0,
2714 16, 0x037A, 0x0020, 0x0345, 0,
2715 1, 0x037E, 0x003B, 0,
2716 16, 0x0384, 0x0020, 0x0301, 0,
2717 1, 0x0385, 0x00A8, 0x0301, 0,
2718 1, 0x0386, 0x0391, 0x0301, 0,
2719 1, 0x0387, 0x00B7, 0,
2720 1, 0x0388, 0x0395, 0x0301, 0,
2721 1, 0x0389, 0x0397, 0x0301, 0,
2722 1, 0x038A, 0x0399, 0x0301, 0,
2723 1, 0x038C, 0x039F, 0x0301, 0,
2724 1, 0x038E, 0x03A5, 0x0301, 0,
2725 1, 0x038F, 0x03A9, 0x0301, 0,
2726 1, 0x0390, 0x03CA, 0x0301, 0,
2727 1, 0x03AA, 0x0399, 0x0308, 0,
2728 1, 0x03AB, 0x03A5, 0x0308, 0,
2729 1, 0x03AC, 0x03B1, 0x0301, 0,
2730 1, 0x03AD, 0x03B5, 0x0301, 0,
2731 1, 0x03AE, 0x03B7, 0x0301, 0,
2732 1, 0x03AF, 0x03B9, 0x0301, 0,
2733 1, 0x03B0, 0x03CB, 0x0301, 0,
2734 1, 0x03CA, 0x03B9, 0x0308, 0,
2735 1, 0x03CB, 0x03C5, 0x0308, 0,
2736 1, 0x03CC, 0x03BF, 0x0301, 0,
2737 1, 0x03CD, 0x03C5, 0x0301, 0,
2738 1, 0x03CE, 0x03C9, 0x0301, 0,
2739 16, 0x03D0, 0x03B2, 0,
2740 16, 0x03D1, 0x03B8, 0,
2741 16, 0x03D2, 0x03A5, 0,
2742 1, 0x03D3, 0x03D2, 0x0301, 0,
2743 1, 0x03D4, 0x03D2, 0x0308, 0,
2744 16, 0x03D5, 0x03C6, 0,
2745 16, 0x03D6, 0x03C0, 0,
2746 16, 0x03F0, 0x03BA, 0,
2747 16, 0x03F1, 0x03C1, 0,
2748 16, 0x03F2, 0x03C2, 0,
2749 1, 0x0400, 0x0415, 0x0300, 0,
2750 1, 0x0401, 0x0415, 0x0308, 0,
2751 1, 0x0403, 0x0413, 0x0301, 0,
2752 1, 0x0407, 0x0406, 0x0308, 0,
2753 1, 0x040C, 0x041A, 0x0301, 0,
2754 1, 0x040D, 0x0418, 0x0300, 0,
2755 1, 0x040E, 0x0423, 0x0306, 0,
2756 1, 0x0419, 0x0418, 0x0306, 0,
2757 1, 0x0439, 0x0438, 0x0306, 0,
2758 1, 0x0450, 0x0435, 0x0300, 0,
2759 1, 0x0451, 0x0435, 0x0308, 0,
2760 1, 0x0453, 0x0433, 0x0301, 0,
2761 1, 0x0457, 0x0456, 0x0308, 0,
2762 1, 0x045C, 0x043A, 0x0301, 0,
2763 1, 0x045D, 0x0438, 0x0300, 0,
2764 1, 0x045E, 0x0443, 0x0306, 0,
2765 1, 0x0476, 0x0474, 0x030F, 0,
2766 1, 0x0477, 0x0475, 0x030F, 0,
2767 1, 0x04C1, 0x0416, 0x0306, 0,
2768 1, 0x04C2, 0x0436, 0x0306, 0,
2769 1, 0x04D0, 0x0410, 0x0306, 0,
2770 1, 0x04D1, 0x0430, 0x0306, 0,
2771 1, 0x04D2, 0x0410, 0x0308, 0,
2772 1, 0x04D3, 0x0430, 0x0308, 0,
2773 1, 0x04D6, 0x0415, 0x0306, 0,
2774 1, 0x04D7, 0x0435, 0x0306, 0,
2775 1, 0x04DA, 0x04D8, 0x0308, 0,
2776 1, 0x04DB, 0x04D9, 0x0308, 0,
2777 1, 0x04DC, 0x0416, 0x0308, 0,
2778 1, 0x04DD, 0x0436, 0x0308, 0,
2779 1, 0x04DE, 0x0417, 0x0308, 0,
2780 1, 0x04DF, 0x0437, 0x0308, 0,
2781 1, 0x04E2, 0x0418, 0x0304, 0,
2782 1, 0x04E3, 0x0438, 0x0304, 0,
2783 1, 0x04E4, 0x0418, 0x0308, 0,
2784 1, 0x04E5, 0x0438, 0x0308, 0,
2785 1, 0x04E6, 0x041E, 0x0308, 0,
2786 1, 0x04E7, 0x043E, 0x0308, 0,
2787 1, 0x04EA, 0x04E8, 0x0308, 0,
2788 1, 0x04EB, 0x04E9, 0x0308, 0,
2789 1, 0x04EC, 0x042D, 0x0308, 0,
2790 1, 0x04ED, 0x044D, 0x0308, 0,
2791 1, 0x04EE, 0x0423, 0x0304, 0,
2792 1, 0x04EF, 0x0443, 0x0304, 0,
2793 1, 0x04F0, 0x0423, 0x0308, 0,
2794 1, 0x04F1, 0x0443, 0x0308, 0,
2795 1, 0x04F2, 0x0423, 0x030B, 0,
2796 1, 0x04F3, 0x0443, 0x030B, 0,
2797 1, 0x04F4, 0x0427, 0x0308, 0,
2798 1, 0x04F5, 0x0447, 0x0308, 0,
2799 1, 0x04F8, 0x042B, 0x0308, 0,
2800 1, 0x04F9, 0x044B, 0x0308, 0,
2801 16, 0x0587, 0x0565, 0x0582, 0,
2802 1, 0x0622, 0x0627, 0x0653, 0,
2803 1, 0x0623, 0x0627, 0x0654, 0,
2804 1, 0x0624, 0x0648, 0x0654, 0,
2805 1, 0x0625, 0x0627, 0x0655, 0,
2806 1, 0x0626, 0x064A, 0x0654, 0,
2807 16, 0x0675, 0x0627, 0x0674, 0,
2808 16, 0x0676, 0x0648, 0x0674, 0,
2809 16, 0x0677, 0x06C7, 0x0674, 0,
2810 16, 0x0678, 0x064A, 0x0674, 0,
2811 1, 0x06C0, 0x06D5, 0x0654, 0,
2812 1, 0x06C2, 0x06C1, 0x0654, 0,
2813 1, 0x06D3, 0x06D2, 0x0654, 0,
2814 1, 0x0929, 0x0928, 0x093C, 0,
2815 1, 0x0931, 0x0930, 0x093C, 0,
2816 1, 0x0934, 0x0933, 0x093C, 0,
2817 1, 0x0958, 0x0915, 0x093C, 0,
2818 1, 0x0959, 0x0916, 0x093C, 0,
2819 1, 0x095A, 0x0917, 0x093C, 0,
2820 1, 0x095B, 0x091C, 0x093C, 0,
2821 1, 0x095C, 0x0921, 0x093C, 0,
2822 1, 0x095D, 0x0922, 0x093C, 0,
2823 1, 0x095E, 0x092B, 0x093C, 0,
2824 1, 0x095F, 0x092F, 0x093C, 0,
2825 1, 0x09CB, 0x09C7, 0x09BE, 0,
2826 1, 0x09CC, 0x09C7, 0x09D7, 0,
2827 1, 0x09DC, 0x09A1, 0x09BC, 0,
2828 1, 0x09DD, 0x09A2, 0x09BC, 0,
2829 1, 0x09DF, 0x09AF, 0x09BC, 0,
2830 1, 0x0A33, 0x0A32, 0x0A3C, 0,
2831 1, 0x0A36, 0x0A38, 0x0A3C, 0,
2832 1, 0x0A59, 0x0A16, 0x0A3C, 0,
2833 1, 0x0A5A, 0x0A17, 0x0A3C, 0,
2834 1, 0x0A5B, 0x0A1C, 0x0A3C, 0,
2835 1, 0x0A5E, 0x0A2B, 0x0A3C, 0,
2836 1, 0x0B48, 0x0B47, 0x0B56, 0,
2837 1, 0x0B4B, 0x0B47, 0x0B3E, 0,
2838 1, 0x0B4C, 0x0B47, 0x0B57, 0,
2839 1, 0x0B5C, 0x0B21, 0x0B3C, 0,
2840 1, 0x0B5D, 0x0B22, 0x0B3C, 0,
2841 1, 0x0B94, 0x0B92, 0x0BD7, 0,
2842 1, 0x0BCA, 0x0BC6, 0x0BBE, 0,
2843 1, 0x0BCB, 0x0BC7, 0x0BBE, 0,
2844 1, 0x0BCC, 0x0BC6, 0x0BD7, 0,
2845 1, 0x0C48, 0x0C46, 0x0C56, 0,
2846 1, 0x0CC0, 0x0CBF, 0x0CD5, 0,
2847 1, 0x0CC7, 0x0CC6, 0x0CD5, 0,
2848 1, 0x0CC8, 0x0CC6, 0x0CD6, 0,
2849 1, 0x0CCA, 0x0CC6, 0x0CC2, 0,
2850 1, 0x0CCB, 0x0CCA, 0x0CD5, 0,
2851 1, 0x0D4A, 0x0D46, 0x0D3E, 0,
2852 1, 0x0D4B, 0x0D47, 0x0D3E, 0,
2853 1, 0x0D4C, 0x0D46, 0x0D57, 0,
2854 1, 0x0DDA, 0x0DD9, 0x0DCA, 0,
2855 1, 0x0DDC, 0x0DD9, 0x0DCF, 0,
2856 1, 0x0DDD, 0x0DDC, 0x0DCA, 0,
2857 1, 0x0DDE, 0x0DD9, 0x0DDF, 0,
2858 16, 0x0E33, 0x0E4D, 0x0E32, 0,
2859 16, 0x0EB3, 0x0ECD, 0x0EB2, 0,
2860 16, 0x0EDC, 0x0EAB, 0x0E99, 0,
2861 16, 0x0EDD, 0x0EAB, 0x0EA1, 0,
2862 3, 0x0F0C, 0x0F0B, 0,
2863 1, 0x0F43, 0x0F42, 0x0FB7, 0,
2864 1, 0x0F4D, 0x0F4C, 0x0FB7, 0,
2865 1, 0x0F52, 0x0F51, 0x0FB7, 0,
2866 1, 0x0F57, 0x0F56, 0x0FB7, 0,
2867 1, 0x0F5C, 0x0F5B, 0x0FB7, 0,
2868 1, 0x0F69, 0x0F40, 0x0FB5, 0,
2869 1, 0x0F73, 0x0F71, 0x0F72, 0,
2870 1, 0x0F75, 0x0F71, 0x0F74, 0,
2871 1, 0x0F76, 0x0FB2, 0x0F80, 0,
2872 16, 0x0F77, 0x0FB2, 0x0F81, 0,
2873 1, 0x0F78, 0x0FB3, 0x0F80, 0,
2874 16, 0x0F79, 0x0FB3, 0x0F81, 0,
2875 1, 0x0F81, 0x0F71, 0x0F80, 0,
2876 1, 0x0F93, 0x0F92, 0x0FB7, 0,
2877 1, 0x0F9D, 0x0F9C, 0x0FB7, 0,
2878 1, 0x0FA2, 0x0FA1, 0x0FB7, 0,
2879 1, 0x0FA7, 0x0FA6, 0x0FB7, 0,
2880 1, 0x0FAC, 0x0FAB, 0x0FB7, 0,
2881 1, 0x0FB9, 0x0F90, 0x0FB5, 0,
2882 1, 0x1026, 0x1025, 0x102E, 0,
2883 1, 0x1E00, 0x0041, 0x0325, 0,
2884 1, 0x1E01, 0x0061, 0x0325, 0,
2885 1, 0x1E02, 0x0042, 0x0307, 0,
2886 1, 0x1E03, 0x0062, 0x0307, 0,
2887 1, 0x1E04, 0x0042, 0x0323, 0,
2888 1, 0x1E05, 0x0062, 0x0323, 0,
2889 1, 0x1E06, 0x0042, 0x0331, 0,
2890 1, 0x1E07, 0x0062, 0x0331, 0,
2891 1, 0x1E08, 0x00C7, 0x0301, 0,
2892 1, 0x1E09, 0x00E7, 0x0301, 0,
2893 1, 0x1E0A, 0x0044, 0x0307, 0,
2894 1, 0x1E0B, 0x0064, 0x0307, 0,
2895 1, 0x1E0C, 0x0044, 0x0323, 0,
2896 1, 0x1E0D, 0x0064, 0x0323, 0,
2897 1, 0x1E0E, 0x0044, 0x0331, 0,
2898 1, 0x1E0F, 0x0064, 0x0331, 0,
2899 1, 0x1E10, 0x0044, 0x0327, 0,
2900 1, 0x1E11, 0x0064, 0x0327, 0,
2901 1, 0x1E12, 0x0044, 0x032D, 0,
2902 1, 0x1E13, 0x0064, 0x032D, 0,
2903 1, 0x1E14, 0x0112, 0x0300, 0,
2904 1, 0x1E15, 0x0113, 0x0300, 0,
2905 1, 0x1E16, 0x0112, 0x0301, 0,
2906 1, 0x1E17, 0x0113, 0x0301, 0,
2907 1, 0x1E18, 0x0045, 0x032D, 0,
2908 1, 0x1E19, 0x0065, 0x032D, 0,
2909 1, 0x1E1A, 0x0045, 0x0330, 0,
2910 1, 0x1E1B, 0x0065, 0x0330, 0,
2911 1, 0x1E1C, 0x0228, 0x0306, 0,
2912 1, 0x1E1D, 0x0229, 0x0306, 0,
2913 1, 0x1E1E, 0x0046, 0x0307, 0,
2914 1, 0x1E1F, 0x0066, 0x0307, 0,
2915 1, 0x1E20, 0x0047, 0x0304, 0,
2916 1, 0x1E21, 0x0067, 0x0304, 0,
2917 1, 0x1E22, 0x0048, 0x0307, 0,
2918 1, 0x1E23, 0x0068, 0x0307, 0,
2919 1, 0x1E24, 0x0048, 0x0323, 0,
2920 1, 0x1E25, 0x0068, 0x0323, 0,
2921 1, 0x1E26, 0x0048, 0x0308, 0,
2922 1, 0x1E27, 0x0068, 0x0308, 0,
2923 1, 0x1E28, 0x0048, 0x0327, 0,
2924 1, 0x1E29, 0x0068, 0x0327, 0,
2925 1, 0x1E2A, 0x0048, 0x032E, 0,
2926 1, 0x1E2B, 0x0068, 0x032E, 0,
2927 1, 0x1E2C, 0x0049, 0x0330, 0,
2928 1, 0x1E2D, 0x0069, 0x0330, 0,
2929 1, 0x1E2E, 0x00CF, 0x0301, 0,
2930 1, 0x1E2F, 0x00EF, 0x0301, 0,
2931 1, 0x1E30, 0x004B, 0x0301, 0,
2932 1, 0x1E31, 0x006B, 0x0301, 0,
2933 1, 0x1E32, 0x004B, 0x0323, 0,
2934 1, 0x1E33, 0x006B, 0x0323, 0,
2935 1, 0x1E34, 0x004B, 0x0331, 0,
2936 1, 0x1E35, 0x006B, 0x0331, 0,
2937 1, 0x1E36, 0x004C, 0x0323, 0,
2938 1, 0x1E37, 0x006C, 0x0323, 0,
2939 1, 0x1E38, 0x1E36, 0x0304, 0,
2940 1, 0x1E39, 0x1E37, 0x0304, 0,
2941 1, 0x1E3A, 0x004C, 0x0331, 0,
2942 1, 0x1E3B, 0x006C, 0x0331, 0,
2943 1, 0x1E3C, 0x004C, 0x032D, 0,
2944 1, 0x1E3D, 0x006C, 0x032D, 0,
2945 1, 0x1E3E, 0x004D, 0x0301, 0,
2946 1, 0x1E3F, 0x006D, 0x0301, 0,
2947 1, 0x1E40, 0x004D, 0x0307, 0,
2948 1, 0x1E41, 0x006D, 0x0307, 0,
2949 1, 0x1E42, 0x004D, 0x0323, 0,
2950 1, 0x1E43, 0x006D, 0x0323, 0,
2951 1, 0x1E44, 0x004E, 0x0307, 0,
2952 1, 0x1E45, 0x006E, 0x0307, 0,
2953 1, 0x1E46, 0x004E, 0x0323, 0,
2954 1, 0x1E47, 0x006E, 0x0323, 0,
2955 1, 0x1E48, 0x004E, 0x0331, 0,
2956 1, 0x1E49, 0x006E, 0x0331, 0,
2957 1, 0x1E4A, 0x004E, 0x032D, 0,
2958 1, 0x1E4B, 0x006E, 0x032D, 0,
2959 1, 0x1E4C, 0x00D5, 0x0301, 0,
2960 1, 0x1E4D, 0x00F5, 0x0301, 0,
2961 1, 0x1E4E, 0x00D5, 0x0308, 0,
2962 1, 0x1E4F, 0x00F5, 0x0308, 0,
2963 1, 0x1E50, 0x014C, 0x0300, 0,
2964 1, 0x1E51, 0x014D, 0x0300, 0,
2965 1, 0x1E52, 0x014C, 0x0301, 0,
2966 1, 0x1E53, 0x014D, 0x0301, 0,
2967 1, 0x1E54, 0x0050, 0x0301, 0,
2968 1, 0x1E55, 0x0070, 0x0301, 0,
2969 1, 0x1E56, 0x0050, 0x0307, 0,
2970 1, 0x1E57, 0x0070, 0x0307, 0,
2971 1, 0x1E58, 0x0052, 0x0307, 0,
2972 1, 0x1E59, 0x0072, 0x0307, 0,
2973 1, 0x1E5A, 0x0052, 0x0323, 0,
2974 1, 0x1E5B, 0x0072, 0x0323, 0,
2975 1, 0x1E5C, 0x1E5A, 0x0304, 0,
2976 1, 0x1E5D, 0x1E5B, 0x0304, 0,
2977 1, 0x1E5E, 0x0052, 0x0331, 0,
2978 1, 0x1E5F, 0x0072, 0x0331, 0,
2979 1, 0x1E60, 0x0053, 0x0307, 0,
2980 1, 0x1E61, 0x0073, 0x0307, 0,
2981 1, 0x1E62, 0x0053, 0x0323, 0,
2982 1, 0x1E63, 0x0073, 0x0323, 0,
2983 1, 0x1E64, 0x015A, 0x0307, 0,
2984 1, 0x1E65, 0x015B, 0x0307, 0,
2985 1, 0x1E66, 0x0160, 0x0307, 0,
2986 1, 0x1E67, 0x0161, 0x0307, 0,
2987 1, 0x1E68, 0x1E62, 0x0307, 0,
2988 1, 0x1E69, 0x1E63, 0x0307, 0,
2989 1, 0x1E6A, 0x0054, 0x0307, 0,
2990 1, 0x1E6B, 0x0074, 0x0307, 0,
2991 1, 0x1E6C, 0x0054, 0x0323, 0,
2992 1, 0x1E6D, 0x0074, 0x0323, 0,
2993 1, 0x1E6E, 0x0054, 0x0331, 0,
2994 1, 0x1E6F, 0x0074, 0x0331, 0,
2995 1, 0x1E70, 0x0054, 0x032D, 0,
2996 1, 0x1E71, 0x0074, 0x032D, 0,
2997 1, 0x1E72, 0x0055, 0x0324, 0,
2998 1, 0x1E73, 0x0075, 0x0324, 0,
2999 1, 0x1E74, 0x0055, 0x0330, 0,
3000 1, 0x1E75, 0x0075, 0x0330, 0,
3001 1, 0x1E76, 0x0055, 0x032D, 0,
3002 1, 0x1E77, 0x0075, 0x032D, 0,
3003 1, 0x1E78, 0x0168, 0x0301, 0,
3004 1, 0x1E79, 0x0169, 0x0301, 0,
3005 1, 0x1E7A, 0x016A, 0x0308, 0,
3006 1, 0x1E7B, 0x016B, 0x0308, 0,
3007 1, 0x1E7C, 0x0056, 0x0303, 0,
3008 1, 0x1E7D, 0x0076, 0x0303, 0,
3009 1, 0x1E7E, 0x0056, 0x0323, 0,
3010 1, 0x1E7F, 0x0076, 0x0323, 0,
3011 1, 0x1E80, 0x0057, 0x0300, 0,
3012 1, 0x1E81, 0x0077, 0x0300, 0,
3013 1, 0x1E82, 0x0057, 0x0301, 0,
3014 1, 0x1E83, 0x0077, 0x0301, 0,
3015 1, 0x1E84, 0x0057, 0x0308, 0,
3016 1, 0x1E85, 0x0077, 0x0308, 0,
3017 1, 0x1E86, 0x0057, 0x0307, 0,
3018 1, 0x1E87, 0x0077, 0x0307, 0,
3019 1, 0x1E88, 0x0057, 0x0323, 0,
3020 1, 0x1E89, 0x0077, 0x0323, 0,
3021 1, 0x1E8A, 0x0058, 0x0307, 0,
3022 1, 0x1E8B, 0x0078, 0x0307, 0,
3023 1, 0x1E8C, 0x0058, 0x0308, 0,
3024 1, 0x1E8D, 0x0078, 0x0308, 0,
3025 1, 0x1E8E, 0x0059, 0x0307, 0,
3026 1, 0x1E8F, 0x0079, 0x0307, 0,
3027 1, 0x1E90, 0x005A, 0x0302, 0,
3028 1, 0x1E91, 0x007A, 0x0302, 0,
3029 1, 0x1E92, 0x005A, 0x0323, 0,
3030 1, 0x1E93, 0x007A, 0x0323, 0,
3031 1, 0x1E94, 0x005A, 0x0331, 0,
3032 1, 0x1E95, 0x007A, 0x0331, 0,
3033 1, 0x1E96, 0x0068, 0x0331, 0,
3034 1, 0x1E97, 0x0074, 0x0308, 0,
3035 1, 0x1E98, 0x0077, 0x030A, 0,
3036 1, 0x1E99, 0x0079, 0x030A, 0,
3037 16, 0x1E9A, 0x0061, 0x02BE, 0,
3038 1, 0x1E9B, 0x017F, 0x0307, 0,
3039 1, 0x1EA0, 0x0041, 0x0323, 0,
3040 1, 0x1EA1, 0x0061, 0x0323, 0,
3041 1, 0x1EA2, 0x0041, 0x0309, 0,
3042 1, 0x1EA3, 0x0061, 0x0309, 0,
3043 1, 0x1EA4, 0x00C2, 0x0301, 0,
3044 1, 0x1EA5, 0x00E2, 0x0301, 0,
3045 1, 0x1EA6, 0x00C2, 0x0300, 0,
3046 1, 0x1EA7, 0x00E2, 0x0300, 0,
3047 1, 0x1EA8, 0x00C2, 0x0309, 0,
3048 1, 0x1EA9, 0x00E2, 0x0309, 0,
3049 1, 0x1EAA, 0x00C2, 0x0303, 0,
3050 1, 0x1EAB, 0x00E2, 0x0303, 0,
3051 1, 0x1EAC, 0x1EA0, 0x0302, 0,
3052 1, 0x1EAD, 0x1EA1, 0x0302, 0,
3053 1, 0x1EAE, 0x0102, 0x0301, 0,
3054 1, 0x1EAF, 0x0103, 0x0301, 0,
3055 1, 0x1EB0, 0x0102, 0x0300, 0,
3056 1, 0x1EB1, 0x0103, 0x0300, 0,
3057 1, 0x1EB2, 0x0102, 0x0309, 0,
3058 1, 0x1EB3, 0x0103, 0x0309, 0,
3059 1, 0x1EB4, 0x0102, 0x0303, 0,
3060 1, 0x1EB5, 0x0103, 0x0303, 0,
3061 1, 0x1EB6, 0x1EA0, 0x0306, 0,
3062 1, 0x1EB7, 0x1EA1, 0x0306, 0,
3063 1, 0x1EB8, 0x0045, 0x0323, 0,
3064 1, 0x1EB9, 0x0065, 0x0323, 0,
3065 1, 0x1EBA, 0x0045, 0x0309, 0,
3066 1, 0x1EBB, 0x0065, 0x0309, 0,
3067 1, 0x1EBC, 0x0045, 0x0303, 0,
3068 1, 0x1EBD, 0x0065, 0x0303, 0,
3069 1, 0x1EBE, 0x00CA, 0x0301, 0,
3070 1, 0x1EBF, 0x00EA, 0x0301, 0,
3071 1, 0x1EC0, 0x00CA, 0x0300, 0,
3072 1, 0x1EC1, 0x00EA, 0x0300, 0,
3073 1, 0x1EC2, 0x00CA, 0x0309, 0,
3074 1, 0x1EC3, 0x00EA, 0x0309, 0,
3075 1, 0x1EC4, 0x00CA, 0x0303, 0,
3076 1, 0x1EC5, 0x00EA, 0x0303, 0,
3077 1, 0x1EC6, 0x1EB8, 0x0302, 0,
3078 1, 0x1EC7, 0x1EB9, 0x0302, 0,
3079 1, 0x1EC8, 0x0049, 0x0309, 0,
3080 1, 0x1EC9, 0x0069, 0x0309, 0,
3081 1, 0x1ECA, 0x0049, 0x0323, 0,
3082 1, 0x1ECB, 0x0069, 0x0323, 0,
3083 1, 0x1ECC, 0x004F, 0x0323, 0,
3084 1, 0x1ECD, 0x006F, 0x0323, 0,
3085 1, 0x1ECE, 0x004F, 0x0309, 0,
3086 1, 0x1ECF, 0x006F, 0x0309, 0,
3087 1, 0x1ED0, 0x00D4, 0x0301, 0,
3088 1, 0x1ED1, 0x00F4, 0x0301, 0,
3089 1, 0x1ED2, 0x00D4, 0x0300, 0,
3090 1, 0x1ED3, 0x00F4, 0x0300, 0,
3091 1, 0x1ED4, 0x00D4, 0x0309, 0,
3092 1, 0x1ED5, 0x00F4, 0x0309, 0,
3093 1, 0x1ED6, 0x00D4, 0x0303, 0,
3094 1, 0x1ED7, 0x00F4, 0x0303, 0,
3095 1, 0x1ED8, 0x1ECC, 0x0302, 0,
3096 1, 0x1ED9, 0x1ECD, 0x0302, 0,
3097 1, 0x1EDA, 0x01A0, 0x0301, 0,
3098 1, 0x1EDB, 0x01A1, 0x0301, 0,
3099 1, 0x1EDC, 0x01A0, 0x0300, 0,
3100 1, 0x1EDD, 0x01A1, 0x0300, 0,
3101 1, 0x1EDE, 0x01A0, 0x0309, 0,
3102 1, 0x1EDF, 0x01A1, 0x0309, 0,
3103 1, 0x1EE0, 0x01A0, 0x0303, 0,
3104 1, 0x1EE1, 0x01A1, 0x0303, 0,
3105 1, 0x1EE2, 0x01A0, 0x0323, 0,
3106 1, 0x1EE3, 0x01A1, 0x0323, 0,
3107 1, 0x1EE4, 0x0055, 0x0323, 0,
3108 1, 0x1EE5, 0x0075, 0x0323, 0,
3109 1, 0x1EE6, 0x0055, 0x0309, 0,
3110 1, 0x1EE7, 0x0075, 0x0309, 0,
3111 1, 0x1EE8, 0x01AF, 0x0301, 0,
3112 1, 0x1EE9, 0x01B0, 0x0301, 0,
3113 1, 0x1EEA, 0x01AF, 0x0300, 0,
3114 1, 0x1EEB, 0x01B0, 0x0300, 0,
3115 1, 0x1EEC, 0x01AF, 0x0309, 0,
3116 1, 0x1EED, 0x01B0, 0x0309, 0,
3117 1, 0x1EEE, 0x01AF, 0x0303, 0,
3118 1, 0x1EEF, 0x01B0, 0x0303, 0,
3119 1, 0x1EF0, 0x01AF, 0x0323, 0,
3120 1, 0x1EF1, 0x01B0, 0x0323, 0,
3121 1, 0x1EF2, 0x0059, 0x0300, 0,
3122 1, 0x1EF3, 0x0079, 0x0300, 0,
3123 1, 0x1EF4, 0x0059, 0x0323, 0,
3124 1, 0x1EF5, 0x0079, 0x0323, 0,
3125 1, 0x1EF6, 0x0059, 0x0309, 0,
3126 1, 0x1EF7, 0x0079, 0x0309, 0,
3127 1, 0x1EF8, 0x0059, 0x0303, 0,
3128 1, 0x1EF9, 0x0079, 0x0303, 0,
3129 1, 0x1F00, 0x03B1, 0x0313, 0,
3130 1, 0x1F01, 0x03B1, 0x0314, 0,
3131 1, 0x1F02, 0x1F00, 0x0300, 0,
3132 1, 0x1F03, 0x1F01, 0x0300, 0,
3133 1, 0x1F04, 0x1F00, 0x0301, 0,
3134 1, 0x1F05, 0x1F01, 0x0301, 0,
3135 1, 0x1F06, 0x1F00, 0x0342, 0,
3136 1, 0x1F07, 0x1F01, 0x0342, 0,
3137 1, 0x1F08, 0x0391, 0x0313, 0,
3138 1, 0x1F09, 0x0391, 0x0314, 0,
3139 1, 0x1F0A, 0x1F08, 0x0300, 0,
3140 1, 0x1F0B, 0x1F09, 0x0300, 0,
3141 1, 0x1F0C, 0x1F08, 0x0301, 0,
3142 1, 0x1F0D, 0x1F09, 0x0301, 0,
3143 1, 0x1F0E, 0x1F08, 0x0342, 0,
3144 1, 0x1F0F, 0x1F09, 0x0342, 0,
3145 1, 0x1F10, 0x03B5, 0x0313, 0,
3146 1, 0x1F11, 0x03B5, 0x0314, 0,
3147 1, 0x1F12, 0x1F10, 0x0300, 0,
3148 1, 0x1F13, 0x1F11, 0x0300, 0,
3149 1, 0x1F14, 0x1F10, 0x0301, 0,
3150 1, 0x1F15, 0x1F11, 0x0301, 0,
3151 1, 0x1F18, 0x0395, 0x0313, 0,
3152 1, 0x1F19, 0x0395, 0x0314, 0,
3153 1, 0x1F1A, 0x1F18, 0x0300, 0,
3154 1, 0x1F1B, 0x1F19, 0x0300, 0,
3155 1, 0x1F1C, 0x1F18, 0x0301, 0,
3156 1, 0x1F1D, 0x1F19, 0x0301, 0,
3157 1, 0x1F20, 0x03B7, 0x0313, 0,
3158 1, 0x1F21, 0x03B7, 0x0314, 0,
3159 1, 0x1F22, 0x1F20, 0x0300, 0,
3160 1, 0x1F23, 0x1F21, 0x0300, 0,
3161 1, 0x1F24, 0x1F20, 0x0301, 0,
3162 1, 0x1F25, 0x1F21, 0x0301, 0,
3163 1, 0x1F26, 0x1F20, 0x0342, 0,
3164 1, 0x1F27, 0x1F21, 0x0342, 0,
3165 1, 0x1F28, 0x0397, 0x0313, 0,
3166 1, 0x1F29, 0x0397, 0x0314, 0,
3167 1, 0x1F2A, 0x1F28, 0x0300, 0,
3168 1, 0x1F2B, 0x1F29, 0x0300, 0,
3169 1, 0x1F2C, 0x1F28, 0x0301, 0,
3170 1, 0x1F2D, 0x1F29, 0x0301, 0,
3171 1, 0x1F2E, 0x1F28, 0x0342, 0,
3172 1, 0x1F2F, 0x1F29, 0x0342, 0,
3173 1, 0x1F30, 0x03B9, 0x0313, 0,
3174 1, 0x1F31, 0x03B9, 0x0314, 0,
3175 1, 0x1F32, 0x1F30, 0x0300, 0,
3176 1, 0x1F33, 0x1F31, 0x0300, 0,
3177 1, 0x1F34, 0x1F30, 0x0301, 0,
3178 1, 0x1F35, 0x1F31, 0x0301, 0,
3179 1, 0x1F36, 0x1F30, 0x0342, 0,
3180 1, 0x1F37, 0x1F31, 0x0342, 0,
3181 1, 0x1F38, 0x0399, 0x0313, 0,
3182 1, 0x1F39, 0x0399, 0x0314, 0,
3183 1, 0x1F3A, 0x1F38, 0x0300, 0,
3184 1, 0x1F3B, 0x1F39, 0x0300, 0,
3185 1, 0x1F3C, 0x1F38, 0x0301, 0,
3186 1, 0x1F3D, 0x1F39, 0x0301, 0,
3187 1, 0x1F3E, 0x1F38, 0x0342, 0,
3188 1, 0x1F3F, 0x1F39, 0x0342, 0,
3189 1, 0x1F40, 0x03BF, 0x0313, 0,
3190 1, 0x1F41, 0x03BF, 0x0314, 0,
3191 1, 0x1F42, 0x1F40, 0x0300, 0,
3192 1, 0x1F43, 0x1F41, 0x0300, 0,
3193 1, 0x1F44, 0x1F40, 0x0301, 0,
3194 1, 0x1F45, 0x1F41, 0x0301, 0,
3195 1, 0x1F48, 0x039F, 0x0313, 0,
3196 1, 0x1F49, 0x039F, 0x0314, 0,
3197 1, 0x1F4A, 0x1F48, 0x0300, 0,
3198 1, 0x1F4B, 0x1F49, 0x0300, 0,
3199 1, 0x1F4C, 0x1F48, 0x0301, 0,
3200 1, 0x1F4D, 0x1F49, 0x0301, 0,
3201 1, 0x1F50, 0x03C5, 0x0313, 0,
3202 1, 0x1F51, 0x03C5, 0x0314, 0,
3203 1, 0x1F52, 0x1F50, 0x0300, 0,
3204 1, 0x1F53, 0x1F51, 0x0300, 0,
3205 1, 0x1F54, 0x1F50, 0x0301, 0,
3206 1, 0x1F55, 0x1F51, 0x0301, 0,
3207 1, 0x1F56, 0x1F50, 0x0342, 0,
3208 1, 0x1F57, 0x1F51, 0x0342, 0,
3209 1, 0x1F59, 0x03A5, 0x0314, 0,
3210 1, 0x1F5B, 0x1F59, 0x0300, 0,
3211 1, 0x1F5D, 0x1F59, 0x0301, 0,
3212 1, 0x1F5F, 0x1F59, 0x0342, 0,
3213 1, 0x1F60, 0x03C9, 0x0313, 0,
3214 1, 0x1F61, 0x03C9, 0x0314, 0,
3215 1, 0x1F62, 0x1F60, 0x0300, 0,
3216 1, 0x1F63, 0x1F61, 0x0300, 0,
3217 1, 0x1F64, 0x1F60, 0x0301, 0,
3218 1, 0x1F65, 0x1F61, 0x0301, 0,
3219 1, 0x1F66, 0x1F60, 0x0342, 0,
3220 1, 0x1F67, 0x1F61, 0x0342, 0,
3221 1, 0x1F68, 0x03A9, 0x0313, 0,
3222 1, 0x1F69, 0x03A9, 0x0314, 0,
3223 1, 0x1F6A, 0x1F68, 0x0300, 0,
3224 1, 0x1F6B, 0x1F69, 0x0300, 0,
3225 1, 0x1F6C, 0x1F68, 0x0301, 0,
3226 1, 0x1F6D, 0x1F69, 0x0301, 0,
3227 1, 0x1F6E, 0x1F68, 0x0342, 0,
3228 1, 0x1F6F, 0x1F69, 0x0342, 0,
3229 1, 0x1F70, 0x03B1, 0x0300, 0,
3230 1, 0x1F71, 0x03AC, 0,
3231 1, 0x1F72, 0x03B5, 0x0300, 0,
3232 1, 0x1F73, 0x03AD, 0,
3233 1, 0x1F74, 0x03B7, 0x0300, 0,
3234 1, 0x1F75, 0x03AE, 0,
3235 1, 0x1F76, 0x03B9, 0x0300, 0,
3236 1, 0x1F77, 0x03AF, 0,
3237 1, 0x1F78, 0x03BF, 0x0300, 0,
3238 1, 0x1F79, 0x03CC, 0,
3239 1, 0x1F7A, 0x03C5, 0x0300, 0,
3240 1, 0x1F7B, 0x03CD, 0,
3241 1, 0x1F7C, 0x03C9, 0x0300, 0,
3242 1, 0x1F7D, 0x03CE, 0,
3243 1, 0x1F80, 0x1F00, 0x0345, 0,
3244 1, 0x1F81, 0x1F01, 0x0345, 0,
3245 1, 0x1F82, 0x1F02, 0x0345, 0,
3246 1, 0x1F83, 0x1F03, 0x0345, 0,
3247 1, 0x1F84, 0x1F04, 0x0345, 0,
3248 1, 0x1F85, 0x1F05, 0x0345, 0,
3249 1, 0x1F86, 0x1F06, 0x0345, 0,
3250 1, 0x1F87, 0x1F07, 0x0345, 0,
3251 1, 0x1F88, 0x1F08, 0x0345, 0,
3252 1, 0x1F89, 0x1F09, 0x0345, 0,
3253 1, 0x1F8A, 0x1F0A, 0x0345, 0,
3254 1, 0x1F8B, 0x1F0B, 0x0345, 0,
3255 1, 0x1F8C, 0x1F0C, 0x0345, 0,
3256 1, 0x1F8D, 0x1F0D, 0x0345, 0,
3257 1, 0x1F8E, 0x1F0E, 0x0345, 0,
3258 1, 0x1F8F, 0x1F0F, 0x0345, 0,
3259 1, 0x1F90, 0x1F20, 0x0345, 0,
3260 1, 0x1F91, 0x1F21, 0x0345, 0,
3261 1, 0x1F92, 0x1F22, 0x0345, 0,
3262 1, 0x1F93, 0x1F23, 0x0345, 0,
3263 1, 0x1F94, 0x1F24, 0x0345, 0,
3264 1, 0x1F95, 0x1F25, 0x0345, 0,
3265 1, 0x1F96, 0x1F26, 0x0345, 0,
3266 1, 0x1F97, 0x1F27, 0x0345, 0,
3267 1, 0x1F98, 0x1F28, 0x0345, 0,
3268 1, 0x1F99, 0x1F29, 0x0345, 0,
3269 1, 0x1F9A, 0x1F2A, 0x0345, 0,
3270 1, 0x1F9B, 0x1F2B, 0x0345, 0,
3271 1, 0x1F9C, 0x1F2C, 0x0345, 0,
3272 1, 0x1F9D, 0x1F2D, 0x0345, 0,
3273 1, 0x1F9E, 0x1F2E, 0x0345, 0,
3274 1, 0x1F9F, 0x1F2F, 0x0345, 0,
3275 1, 0x1FA0, 0x1F60, 0x0345, 0,
3276 1, 0x1FA1, 0x1F61, 0x0345, 0,
3277 1, 0x1FA2, 0x1F62, 0x0345, 0,
3278 1, 0x1FA3, 0x1F63, 0x0345, 0,
3279 1, 0x1FA4, 0x1F64, 0x0345, 0,
3280 1, 0x1FA5, 0x1F65, 0x0345, 0,
3281 1, 0x1FA6, 0x1F66, 0x0345, 0,
3282 1, 0x1FA7, 0x1F67, 0x0345, 0,
3283 1, 0x1FA8, 0x1F68, 0x0345, 0,
3284 1, 0x1FA9, 0x1F69, 0x0345, 0,
3285 1, 0x1FAA, 0x1F6A, 0x0345, 0,
3286 1, 0x1FAB, 0x1F6B, 0x0345, 0,
3287 1, 0x1FAC, 0x1F6C, 0x0345, 0,
3288 1, 0x1FAD, 0x1F6D, 0x0345, 0,
3289 1, 0x1FAE, 0x1F6E, 0x0345, 0,
3290 1, 0x1FAF, 0x1F6F, 0x0345, 0,
3291 1, 0x1FB0, 0x03B1, 0x0306, 0,
3292 1, 0x1FB1, 0x03B1, 0x0304, 0,
3293 1, 0x1FB2, 0x1F70, 0x0345, 0,
3294 1, 0x1FB3, 0x03B1, 0x0345, 0,
3295 1, 0x1FB4, 0x03AC, 0x0345, 0,
3296 1, 0x1FB6, 0x03B1, 0x0342, 0,
3297 1, 0x1FB7, 0x1FB6, 0x0345, 0,
3298 1, 0x1FB8, 0x0391, 0x0306, 0,
3299 1, 0x1FB9, 0x0391, 0x0304, 0,
3300 1, 0x1FBA, 0x0391, 0x0300, 0,
3301 1, 0x1FBB, 0x0386, 0,
3302 1, 0x1FBC, 0x0391, 0x0345, 0,
3303 16, 0x1FBD, 0x0020, 0x0313, 0,
3304 1, 0x1FBE, 0x03B9, 0,
3305 16, 0x1FBF, 0x0020, 0x0313, 0,
3306 16, 0x1FC0, 0x0020, 0x0342, 0,
3307 1, 0x1FC1, 0x00A8, 0x0342, 0,
3308 1, 0x1FC2, 0x1F74, 0x0345, 0,
3309 1, 0x1FC3, 0x03B7, 0x0345, 0,
3310 1, 0x1FC4, 0x03AE, 0x0345, 0,
3311 1, 0x1FC6, 0x03B7, 0x0342, 0,
3312 1, 0x1FC7, 0x1FC6, 0x0345, 0,
3313 1, 0x1FC8, 0x0395, 0x0300, 0,
3314 1, 0x1FC9, 0x0388, 0,
3315 1, 0x1FCA, 0x0397, 0x0300, 0,
3316 1, 0x1FCB, 0x0389, 0,
3317 1, 0x1FCC, 0x0397, 0x0345, 0,
3318 1, 0x1FCD, 0x1FBF, 0x0300, 0,
3319 1, 0x1FCE, 0x1FBF, 0x0301, 0,
3320 1, 0x1FCF, 0x1FBF, 0x0342, 0,
3321 1, 0x1FD0, 0x03B9, 0x0306, 0,
3322 1, 0x1FD1, 0x03B9, 0x0304, 0,
3323 1, 0x1FD2, 0x03CA, 0x0300, 0,
3324 1, 0x1FD3, 0x0390, 0,
3325 1, 0x1FD6, 0x03B9, 0x0342, 0,
3326 1, 0x1FD7, 0x03CA, 0x0342, 0,
3327 1, 0x1FD8, 0x0399, 0x0306, 0,
3328 1, 0x1FD9, 0x0399, 0x0304, 0,
3329 1, 0x1FDA, 0x0399, 0x0300, 0,
3330 1, 0x1FDB, 0x038A, 0,
3331 1, 0x1FDD, 0x1FFE, 0x0300, 0,
3332 1, 0x1FDE, 0x1FFE, 0x0301, 0,
3333 1, 0x1FDF, 0x1FFE, 0x0342, 0,
3334 1, 0x1FE0, 0x03C5, 0x0306, 0,
3335 1, 0x1FE1, 0x03C5, 0x0304, 0,
3336 1, 0x1FE2, 0x03CB, 0x0300, 0,
3337 1, 0x1FE3, 0x03B0, 0,
3338 1, 0x1FE4, 0x03C1, 0x0313, 0,
3339 1, 0x1FE5, 0x03C1, 0x0314, 0,
3340 1, 0x1FE6, 0x03C5, 0x0342, 0,
3341 1, 0x1FE7, 0x03CB, 0x0342, 0,
3342 1, 0x1FE8, 0x03A5, 0x0306, 0,
3343 1, 0x1FE9, 0x03A5, 0x0304, 0,
3344 1, 0x1FEA, 0x03A5, 0x0300, 0,
3345 1, 0x1FEB, 0x038E, 0,
3346 1, 0x1FEC, 0x03A1, 0x0314, 0,
3347 1, 0x1FED, 0x00A8, 0x0300, 0,
3348 1, 0x1FEE, 0x0385, 0,
3349 1, 0x1FEF, 0x0060, 0,
3350 1, 0x1FF2, 0x1F7C, 0x0345, 0,
3351 1, 0x1FF3, 0x03C9, 0x0345, 0,
3352 1, 0x1FF4, 0x03CE, 0x0345, 0,
3353 1, 0x1FF6, 0x03C9, 0x0342, 0,
3354 1, 0x1FF7, 0x1FF6, 0x0345, 0,
3355 1, 0x1FF8, 0x039F, 0x0300, 0,
3356 1, 0x1FF9, 0x038C, 0,
3357 1, 0x1FFA, 0x03A9, 0x0300, 0,
3358 1, 0x1FFB, 0x038F, 0,
3359 1, 0x1FFC, 0x03A9, 0x0345, 0,
3360 1, 0x1FFD, 0x00B4, 0,
3361 16, 0x1FFE, 0x0020, 0x0314, 0,
3362 1, 0x2000, 0x2002, 0,
3363 1, 0x2001, 0x2003, 0,
3364 16, 0x2002, 0x0020, 0,
3365 16, 0x2003, 0x0020, 0,
3366 16, 0x2004, 0x0020, 0,
3367 16, 0x2005, 0x0020, 0,
3368 16, 0x2006, 0x0020, 0,
3369 3, 0x2007, 0x0020, 0,
3370 16, 0x2008, 0x0020, 0,
3371 16, 0x2009, 0x0020, 0,
3372 16, 0x200A, 0x0020, 0,
3373 3, 0x2011, 0x2010, 0,
3374 16, 0x2017, 0x0020, 0x0333, 0,
3375 16, 0x2024, 0x002E, 0,
3376 16, 0x2025, 0x002E, 0x002E, 0,
3377 16, 0x2026, 0x002E, 0x002E, 0x002E, 0,
3378 3, 0x202F, 0x0020, 0,
3379 16, 0x2033, 0x2032, 0x2032, 0,
3380 16, 0x2034, 0x2032, 0x2032, 0x2032, 0,
3381 16, 0x2036, 0x2035, 0x2035, 0,
3382 16, 0x2037, 0x2035, 0x2035, 0x2035, 0,
3383 16, 0x203C, 0x0021, 0x0021, 0,
3384 16, 0x203E, 0x0020, 0x0305, 0,
3385 16, 0x2048, 0x003F, 0x0021, 0,
3386 16, 0x2049, 0x0021, 0x003F, 0,
3387 9, 0x2070, 0x0030, 0,
3388 9, 0x2074, 0x0034, 0,
3389 9, 0x2075, 0x0035, 0,
3390 9, 0x2076, 0x0036, 0,
3391 9, 0x2077, 0x0037, 0,
3392 9, 0x2078, 0x0038, 0,
3393 9, 0x2079, 0x0039, 0,
3394 9, 0x207A, 0x002B, 0,
3395 9, 0x207B, 0x2212, 0,
3396 9, 0x207C, 0x003D, 0,
3397 9, 0x207D, 0x0028, 0,
3398 9, 0x207E, 0x0029, 0,
3399 9, 0x207F, 0x006E, 0,
3400 10, 0x2080, 0x0030, 0,
3401 10, 0x2081, 0x0031, 0,
3402 10, 0x2082, 0x0032, 0,
3403 10, 0x2083, 0x0033, 0,
3404 10, 0x2084, 0x0034, 0,
3405 10, 0x2085, 0x0035, 0,
3406 10, 0x2086, 0x0036, 0,
3407 10, 0x2087, 0x0037, 0,
3408 10, 0x2088, 0x0038, 0,
3409 10, 0x2089, 0x0039, 0,
3410 10, 0x208A, 0x002B, 0,
3411 10, 0x208B, 0x2212, 0,
3412 10, 0x208C, 0x003D, 0,
3413 10, 0x208D, 0x0028, 0,
3414 10, 0x208E, 0x0029, 0,
3415 16, 0x20A8, 0x0052, 0x0073, 0,
3416 16, 0x2100, 0x0061, 0x002F, 0x0063, 0,
3417 16, 0x2101, 0x0061, 0x002F, 0x0073, 0,
3418 2, 0x2102, 0x0043, 0,
3419 16, 0x2103, 0x00B0, 0x0043, 0,
3420 16, 0x2105, 0x0063, 0x002F, 0x006F, 0,
3421 16, 0x2106, 0x0063, 0x002F, 0x0075, 0,
3422 16, 0x2107, 0x0190, 0,
3423 16, 0x2109, 0x00B0, 0x0046, 0,
3424 2, 0x210A, 0x0067, 0,
3425 2, 0x210B, 0x0048, 0,
3426 2, 0x210C, 0x0048, 0,
3427 2, 0x210D, 0x0048, 0,
3428 2, 0x210E, 0x0068, 0,
3429 2, 0x210F, 0x0127, 0,
3430 2, 0x2110, 0x0049, 0,
3431 2, 0x2111, 0x0049, 0,
3432 2, 0x2112, 0x004C, 0,
3433 2, 0x2113, 0x006C, 0,
3434 2, 0x2115, 0x004E, 0,
3435 16, 0x2116, 0x004E, 0x006F, 0,
3436 2, 0x2119, 0x0050, 0,
3437 2, 0x211A, 0x0051, 0,
3438 2, 0x211B, 0x0052, 0,
3439 2, 0x211C, 0x0052, 0,
3440 2, 0x211D, 0x0052, 0,
3441 9, 0x2120, 0x0053, 0x004D, 0,
3442 16, 0x2121, 0x0054, 0x0045, 0x004C, 0,
3443 9, 0x2122, 0x0054, 0x004D, 0,
3444 2, 0x2124, 0x005A, 0,
3445 1, 0x2126, 0x03A9, 0,
3446 2, 0x2128, 0x005A, 0,
3447 1, 0x212A, 0x004B, 0,
3448 1, 0x212B, 0x00C5, 0,
3449 2, 0x212C, 0x0042, 0,
3450 2, 0x212D, 0x0043, 0,
3451 2, 0x212F, 0x0065, 0,
3452 2, 0x2130, 0x0045, 0,
3453 2, 0x2131, 0x0046, 0,
3454 2, 0x2133, 0x004D, 0,
3455 2, 0x2134, 0x006F, 0,
3456 16, 0x2135, 0x05D0, 0,
3457 16, 0x2136, 0x05D1, 0,
3458 16, 0x2137, 0x05D2, 0,
3459 16, 0x2138, 0x05D3, 0,
3460 2, 0x2139, 0x0069, 0,
3461 17, 0x2153, 0x0031, 0x2044, 0x0033, 0,
3462 17, 0x2154, 0x0032, 0x2044, 0x0033, 0,
3463 17, 0x2155, 0x0031, 0x2044, 0x0035, 0,
3464 17, 0x2156, 0x0032, 0x2044, 0x0035, 0,
3465 17, 0x2157, 0x0033, 0x2044, 0x0035, 0,
3466 17, 0x2158, 0x0034, 0x2044, 0x0035, 0,
3467 17, 0x2159, 0x0031, 0x2044, 0x0036, 0,
3468 17, 0x215A, 0x0035, 0x2044, 0x0036, 0,
3469 17, 0x215B, 0x0031, 0x2044, 0x0038, 0,
3470 17, 0x215C, 0x0033, 0x2044, 0x0038, 0,
3471 17, 0x215D, 0x0035, 0x2044, 0x0038, 0,
3472 17, 0x215E, 0x0037, 0x2044, 0x0038, 0,
3473 17, 0x215F, 0x0031, 0x2044, 0,
3474 16, 0x2160, 0x0049, 0,
3475 16, 0x2161, 0x0049, 0x0049, 0,
3476 16, 0x2162, 0x0049, 0x0049, 0x0049, 0,
3477 16, 0x2163, 0x0049, 0x0056, 0,
3478 16, 0x2164, 0x0056, 0,
3479 16, 0x2165, 0x0056, 0x0049, 0,
3480 16, 0x2166, 0x0056, 0x0049, 0x0049, 0,
3481 16, 0x2167, 0x0056, 0x0049, 0x0049, 0x0049, 0,
3482 16, 0x2168, 0x0049, 0x0058, 0,
3483 16, 0x2169, 0x0058, 0,
3484 16, 0x216A, 0x0058, 0x0049, 0,
3485 16, 0x216B, 0x0058, 0x0049, 0x0049, 0,
3486 16, 0x216C, 0x004C, 0,
3487 16, 0x216D, 0x0043, 0,
3488 16, 0x216E, 0x0044, 0,
3489 16, 0x216F, 0x004D, 0,
3490 16, 0x2170, 0x0069, 0,
3491 16, 0x2171, 0x0069, 0x0069, 0,
3492 16, 0x2172, 0x0069, 0x0069, 0x0069, 0,
3493 16, 0x2173, 0x0069, 0x0076, 0,
3494 16, 0x2174, 0x0076, 0,
3495 16, 0x2175, 0x0076, 0x0069, 0,
3496 16, 0x2176, 0x0076, 0x0069, 0x0069, 0,
3497 16, 0x2177, 0x0076, 0x0069, 0x0069, 0x0069, 0,
3498 16, 0x2178, 0x0069, 0x0078, 0,
3499 16, 0x2179, 0x0078, 0,
3500 16, 0x217A, 0x0078, 0x0069, 0,
3501 16, 0x217B, 0x0078, 0x0069, 0x0069, 0,
3502 16, 0x217C, 0x006C, 0,
3503 16, 0x217D, 0x0063, 0,
3504 16, 0x217E, 0x0064, 0,
3505 16, 0x217F, 0x006D, 0,
3506 1, 0x219A, 0x2190, 0x0338, 0,
3507 1, 0x219B, 0x2192, 0x0338, 0,
3508 1, 0x21AE, 0x2194, 0x0338, 0,
3509 1, 0x21CD, 0x21D0, 0x0338, 0,
3510 1, 0x21CE, 0x21D4, 0x0338, 0,
3511 1, 0x21CF, 0x21D2, 0x0338, 0,
3512 1, 0x2204, 0x2203, 0x0338, 0,
3513 1, 0x2209, 0x2208, 0x0338, 0,
3514 1, 0x220C, 0x220B, 0x0338, 0,
3515 1, 0x2224, 0x2223, 0x0338, 0,
3516 1, 0x2226, 0x2225, 0x0338, 0,
3517 16, 0x222C, 0x222B, 0x222B, 0,
3518 16, 0x222D, 0x222B, 0x222B, 0x222B, 0,
3519 16, 0x222F, 0x222E, 0x222E, 0,
3520 16, 0x2230, 0x222E, 0x222E, 0x222E, 0,
3521 1, 0x2241, 0x223C, 0x0338, 0,
3522 1, 0x2244, 0x2243, 0x0338, 0,
3523 1, 0x2247, 0x2245, 0x0338, 0,
3524 1, 0x2249, 0x2248, 0x0338, 0,
3525 1, 0x2260, 0x003D, 0x0338, 0,
3526 1, 0x2262, 0x2261, 0x0338, 0,
3527 1, 0x226D, 0x224D, 0x0338, 0,
3528 1, 0x226E, 0x003C, 0x0338, 0,
3529 1, 0x226F, 0x003E, 0x0338, 0,
3530 1, 0x2270, 0x2264, 0x0338, 0,
3531 1, 0x2271, 0x2265, 0x0338, 0,
3532 1, 0x2274, 0x2272, 0x0338, 0,
3533 1, 0x2275, 0x2273, 0x0338, 0,
3534 1, 0x2278, 0x2276, 0x0338, 0,
3535 1, 0x2279, 0x2277, 0x0338, 0,
3536 1, 0x2280, 0x227A, 0x0338, 0,
3537 1, 0x2281, 0x227B, 0x0338, 0,
3538 1, 0x2284, 0x2282, 0x0338, 0,
3539 1, 0x2285, 0x2283, 0x0338, 0,
3540 1, 0x2288, 0x2286, 0x0338, 0,
3541 1, 0x2289, 0x2287, 0x0338, 0,
3542 1, 0x22AC, 0x22A2, 0x0338, 0,
3543 1, 0x22AD, 0x22A8, 0x0338, 0,
3544 1, 0x22AE, 0x22A9, 0x0338, 0,
3545 1, 0x22AF, 0x22AB, 0x0338, 0,
3546 1, 0x22E0, 0x227C, 0x0338, 0,
3547 1, 0x22E1, 0x227D, 0x0338, 0,
3548 1, 0x22E2, 0x2291, 0x0338, 0,
3549 1, 0x22E3, 0x2292, 0x0338, 0,
3550 1, 0x22EA, 0x22B2, 0x0338, 0,
3551 1, 0x22EB, 0x22B3, 0x0338, 0,
3552 1, 0x22EC, 0x22B4, 0x0338, 0,
3553 1, 0x22ED, 0x22B5, 0x0338, 0,
3554 1, 0x2329, 0x3008, 0,
3555 1, 0x232A, 0x3009, 0,
3556 8, 0x2460, 0x0031, 0,
3557 8, 0x2461, 0x0032, 0,
3558 8, 0x2462, 0x0033, 0,
3559 8, 0x2463, 0x0034, 0,
3560 8, 0x2464, 0x0035, 0,
3561 8, 0x2465, 0x0036, 0,
3562 8, 0x2466, 0x0037, 0,
3563 8, 0x2467, 0x0038, 0,
3564 8, 0x2468, 0x0039, 0,
3565 8, 0x2469, 0x0031, 0x0030, 0,
3566 8, 0x246A, 0x0031, 0x0031, 0,
3567 8, 0x246B, 0x0031, 0x0032, 0,
3568 8, 0x246C, 0x0031, 0x0033, 0,
3569 8, 0x246D, 0x0031, 0x0034, 0,
3570 8, 0x246E, 0x0031, 0x0035, 0,
3571 8, 0x246F, 0x0031, 0x0036, 0,
3572 8, 0x2470, 0x0031, 0x0037, 0,
3573 8, 0x2471, 0x0031, 0x0038, 0,
3574 8, 0x2472, 0x0031, 0x0039, 0,
3575 8, 0x2473, 0x0032, 0x0030, 0,
3576 16, 0x2474, 0x0028, 0x0031, 0x0029, 0,
3577 16, 0x2475, 0x0028, 0x0032, 0x0029, 0,
3578 16, 0x2476, 0x0028, 0x0033, 0x0029, 0,
3579 16, 0x2477, 0x0028, 0x0034, 0x0029, 0,
3580 16, 0x2478, 0x0028, 0x0035, 0x0029, 0,
3581 16, 0x2479, 0x0028, 0x0036, 0x0029, 0,
3582 16, 0x247A, 0x0028, 0x0037, 0x0029, 0,
3583 16, 0x247B, 0x0028, 0x0038, 0x0029, 0,
3584 16, 0x247C, 0x0028, 0x0039, 0x0029, 0,
3585 16, 0x247D, 0x0028, 0x0031, 0x0030, 0x0029, 0,
3586 16, 0x247E, 0x0028, 0x0031, 0x0031, 0x0029, 0,
3587 16, 0x247F, 0x0028, 0x0031, 0x0032, 0x0029, 0,
3588 16, 0x2480, 0x0028, 0x0031, 0x0033, 0x0029, 0,
3589 16, 0x2481, 0x0028, 0x0031, 0x0034, 0x0029, 0,
3590 16, 0x2482, 0x0028, 0x0031, 0x0035, 0x0029, 0,
3591 16, 0x2483, 0x0028, 0x0031, 0x0036, 0x0029, 0,
3592 16, 0x2484, 0x0028, 0x0031, 0x0037, 0x0029, 0,
3593 16, 0x2485, 0x0028, 0x0031, 0x0038, 0x0029, 0,
3594 16, 0x2486, 0x0028, 0x0031, 0x0039, 0x0029, 0,
3595 16, 0x2487, 0x0028, 0x0032, 0x0030, 0x0029, 0,
3596 16, 0x2488, 0x0031, 0x002E, 0,
3597 16, 0x2489, 0x0032, 0x002E, 0,
3598 16, 0x248A, 0x0033, 0x002E, 0,
3599 16, 0x248B, 0x0034, 0x002E, 0,
3600 16, 0x248C, 0x0035, 0x002E, 0,
3601 16, 0x248D, 0x0036, 0x002E, 0,
3602 16, 0x248E, 0x0037, 0x002E, 0,
3603 16, 0x248F, 0x0038, 0x002E, 0,
3604 16, 0x2490, 0x0039, 0x002E, 0,
3605 16, 0x2491, 0x0031, 0x0030, 0x002E, 0,
3606 16, 0x2492, 0x0031, 0x0031, 0x002E, 0,
3607 16, 0x2493, 0x0031, 0x0032, 0x002E, 0,
3608 16, 0x2494, 0x0031, 0x0033, 0x002E, 0,
3609 16, 0x2495, 0x0031, 0x0034, 0x002E, 0,
3610 16, 0x2496, 0x0031, 0x0035, 0x002E, 0,
3611 16, 0x2497, 0x0031, 0x0036, 0x002E, 0,
3612 16, 0x2498, 0x0031, 0x0037, 0x002E, 0,
3613 16, 0x2499, 0x0031, 0x0038, 0x002E, 0,
3614 16, 0x249A, 0x0031, 0x0039, 0x002E, 0,
3615 16, 0x249B, 0x0032, 0x0030, 0x002E, 0,
3616 16, 0x249C, 0x0028, 0x0061, 0x0029, 0,
3617 16, 0x249D, 0x0028, 0x0062, 0x0029, 0,
3618 16, 0x249E, 0x0028, 0x0063, 0x0029, 0,
3619 16, 0x249F, 0x0028, 0x0064, 0x0029, 0,
3620 16, 0x24A0, 0x0028, 0x0065, 0x0029, 0,
3621 16, 0x24A1, 0x0028, 0x0066, 0x0029, 0,
3622 16, 0x24A2, 0x0028, 0x0067, 0x0029, 0,
3623 16, 0x24A3, 0x0028, 0x0068, 0x0029, 0,
3624 16, 0x24A4, 0x0028, 0x0069, 0x0029, 0,
3625 16, 0x24A5, 0x0028, 0x006A, 0x0029, 0,
3626 16, 0x24A6, 0x0028, 0x006B, 0x0029, 0,
3627 16, 0x24A7, 0x0028, 0x006C, 0x0029, 0,
3628 16, 0x24A8, 0x0028, 0x006D, 0x0029, 0,
3629 16, 0x24A9, 0x0028, 0x006E, 0x0029, 0,
3630 16, 0x24AA, 0x0028, 0x006F, 0x0029, 0,
3631 16, 0x24AB, 0x0028, 0x0070, 0x0029, 0,
3632 16, 0x24AC, 0x0028, 0x0071, 0x0029, 0,
3633 16, 0x24AD, 0x0028, 0x0072, 0x0029, 0,
3634 16, 0x24AE, 0x0028, 0x0073, 0x0029, 0,
3635 16, 0x24AF, 0x0028, 0x0074, 0x0029, 0,
3636 16, 0x24B0, 0x0028, 0x0075, 0x0029, 0,
3637 16, 0x24B1, 0x0028, 0x0076, 0x0029, 0,
3638 16, 0x24B2, 0x0028, 0x0077, 0x0029, 0,
3639 16, 0x24B3, 0x0028, 0x0078, 0x0029, 0,
3640 16, 0x24B4, 0x0028, 0x0079, 0x0029, 0,
3641 16, 0x24B5, 0x0028, 0x007A, 0x0029, 0,
3642 8, 0x24B6, 0x0041, 0,
3643 8, 0x24B7, 0x0042, 0,
3644 8, 0x24B8, 0x0043, 0,
3645 8, 0x24B9, 0x0044, 0,
3646 8, 0x24BA, 0x0045, 0,
3647 8, 0x24BB, 0x0046, 0,
3648 8, 0x24BC, 0x0047, 0,
3649 8, 0x24BD, 0x0048, 0,
3650 8, 0x24BE, 0x0049, 0,
3651 8, 0x24BF, 0x004A, 0,
3652 8, 0x24C0, 0x004B, 0,
3653 8, 0x24C1, 0x004C, 0,
3654 8, 0x24C2, 0x004D, 0,
3655 8, 0x24C3, 0x004E, 0,
3656 8, 0x24C4, 0x004F, 0,
3657 8, 0x24C5, 0x0050, 0,
3658 8, 0x24C6, 0x0051, 0,
3659 8, 0x24C7, 0x0052, 0,
3660 8, 0x24C8, 0x0053, 0,
3661 8, 0x24C9, 0x0054, 0,
3662 8, 0x24CA, 0x0055, 0,
3663 8, 0x24CB, 0x0056, 0,
3664 8, 0x24CC, 0x0057, 0,
3665 8, 0x24CD, 0x0058, 0,
3666 8, 0x24CE, 0x0059, 0,
3667 8, 0x24CF, 0x005A, 0,
3668 8, 0x24D0, 0x0061, 0,
3669 8, 0x24D1, 0x0062, 0,
3670 8, 0x24D2, 0x0063, 0,
3671 8, 0x24D3, 0x0064, 0,
3672 8, 0x24D4, 0x0065, 0,
3673 8, 0x24D5, 0x0066, 0,
3674 8, 0x24D6, 0x0067, 0,
3675 8, 0x24D7, 0x0068, 0,
3676 8, 0x24D8, 0x0069, 0,
3677 8, 0x24D9, 0x006A, 0,
3678 8, 0x24DA, 0x006B, 0,
3679 8, 0x24DB, 0x006C, 0,
3680 8, 0x24DC, 0x006D, 0,
3681 8, 0x24DD, 0x006E, 0,
3682 8, 0x24DE, 0x006F, 0,
3683 8, 0x24DF, 0x0070, 0,
3684 8, 0x24E0, 0x0071, 0,
3685 8, 0x24E1, 0x0072, 0,
3686 8, 0x24E2, 0x0073, 0,
3687 8, 0x24E3, 0x0074, 0,
3688 8, 0x24E4, 0x0075, 0,
3689 8, 0x24E5, 0x0076, 0,
3690 8, 0x24E6, 0x0077, 0,
3691 8, 0x24E7, 0x0078, 0,
3692 8, 0x24E8, 0x0079, 0,
3693 8, 0x24E9, 0x007A, 0,
3694 8, 0x24EA, 0x0030, 0,
3695 16, 0x2E9F, 0x6BCD, 0,
3696 16, 0x2EF3, 0x9F9F, 0,
3697 16, 0x2F00, 0x4E00, 0,
3698 16, 0x2F01, 0x4E28, 0,
3699 16, 0x2F02, 0x4E36, 0,
3700 16, 0x2F03, 0x4E3F, 0,
3701 16, 0x2F04, 0x4E59, 0,
3702 16, 0x2F05, 0x4E85, 0,
3703 16, 0x2F06, 0x4E8C, 0,
3704 16, 0x2F07, 0x4EA0, 0,
3705 16, 0x2F08, 0x4EBA, 0,
3706 16, 0x2F09, 0x513F, 0,
3707 16, 0x2F0A, 0x5165, 0,
3708 16, 0x2F0B, 0x516B, 0,
3709 16, 0x2F0C, 0x5182, 0,
3710 16, 0x2F0D, 0x5196, 0,
3711 16, 0x2F0E, 0x51AB, 0,
3712 16, 0x2F0F, 0x51E0, 0,
3713 16, 0x2F10, 0x51F5, 0,
3714 16, 0x2F11, 0x5200, 0,
3715 16, 0x2F12, 0x529B, 0,
3716 16, 0x2F13, 0x52F9, 0,
3717 16, 0x2F14, 0x5315, 0,
3718 16, 0x2F15, 0x531A, 0,
3719 16, 0x2F16, 0x5338, 0,
3720 16, 0x2F17, 0x5341, 0,
3721 16, 0x2F18, 0x535C, 0,
3722 16, 0x2F19, 0x5369, 0,
3723 16, 0x2F1A, 0x5382, 0,
3724 16, 0x2F1B, 0x53B6, 0,
3725 16, 0x2F1C, 0x53C8, 0,
3726 16, 0x2F1D, 0x53E3, 0,
3727 16, 0x2F1E, 0x56D7, 0,
3728 16, 0x2F1F, 0x571F, 0,
3729 16, 0x2F20, 0x58EB, 0,
3730 16, 0x2F21, 0x5902, 0,
3731 16, 0x2F22, 0x590A, 0,
3732 16, 0x2F23, 0x5915, 0,
3733 16, 0x2F24, 0x5927, 0,
3734 16, 0x2F25, 0x5973, 0,
3735 16, 0x2F26, 0x5B50, 0,
3736 16, 0x2F27, 0x5B80, 0,
3737 16, 0x2F28, 0x5BF8, 0,
3738 16, 0x2F29, 0x5C0F, 0,
3739 16, 0x2F2A, 0x5C22, 0,
3740 16, 0x2F2B, 0x5C38, 0,
3741 16, 0x2F2C, 0x5C6E, 0,
3742 16, 0x2F2D, 0x5C71, 0,
3743 16, 0x2F2E, 0x5DDB, 0,
3744 16, 0x2F2F, 0x5DE5, 0,
3745 16, 0x2F30, 0x5DF1, 0,
3746 16, 0x2F31, 0x5DFE, 0,
3747 16, 0x2F32, 0x5E72, 0,
3748 16, 0x2F33, 0x5E7A, 0,
3749 16, 0x2F34, 0x5E7F, 0,
3750 16, 0x2F35, 0x5EF4, 0,
3751 16, 0x2F36, 0x5EFE, 0,
3752 16, 0x2F37, 0x5F0B, 0,
3753 16, 0x2F38, 0x5F13, 0,
3754 16, 0x2F39, 0x5F50, 0,
3755 16, 0x2F3A, 0x5F61, 0,
3756 16, 0x2F3B, 0x5F73, 0,
3757 16, 0x2F3C, 0x5FC3, 0,
3758 16, 0x2F3D, 0x6208, 0,
3759 16, 0x2F3E, 0x6236, 0,
3760 16, 0x2F3F, 0x624B, 0,
3761 16, 0x2F40, 0x652F, 0,
3762 16, 0x2F41, 0x6534, 0,
3763 16, 0x2F42, 0x6587, 0,
3764 16, 0x2F43, 0x6597, 0,
3765 16, 0x2F44, 0x65A4, 0,
3766 16, 0x2F45, 0x65B9, 0,
3767 16, 0x2F46, 0x65E0, 0,
3768 16, 0x2F47, 0x65E5, 0,
3769 16, 0x2F48, 0x66F0, 0,
3770 16, 0x2F49, 0x6708, 0,
3771 16, 0x2F4A, 0x6728, 0,
3772 16, 0x2F4B, 0x6B20, 0,
3773 16, 0x2F4C, 0x6B62, 0,
3774 16, 0x2F4D, 0x6B79, 0,
3775 16, 0x2F4E, 0x6BB3, 0,
3776 16, 0x2F4F, 0x6BCB, 0,
3777 16, 0x2F50, 0x6BD4, 0,
3778 16, 0x2F51, 0x6BDB, 0,
3779 16, 0x2F52, 0x6C0F, 0,
3780 16, 0x2F53, 0x6C14, 0,
3781 16, 0x2F54, 0x6C34, 0,
3782 16, 0x2F55, 0x706B, 0,
3783 16, 0x2F56, 0x722A, 0,
3784 16, 0x2F57, 0x7236, 0,
3785 16, 0x2F58, 0x723B, 0,
3786 16, 0x2F59, 0x723F, 0,
3787 16, 0x2F5A, 0x7247, 0,
3788 16, 0x2F5B, 0x7259, 0,
3789 16, 0x2F5C, 0x725B, 0,
3790 16, 0x2F5D, 0x72AC, 0,
3791 16, 0x2F5E, 0x7384, 0,
3792 16, 0x2F5F, 0x7389, 0,
3793 16, 0x2F60, 0x74DC, 0,
3794 16, 0x2F61, 0x74E6, 0,
3795 16, 0x2F62, 0x7518, 0,
3796 16, 0x2F63, 0x751F, 0,
3797 16, 0x2F64, 0x7528, 0,
3798 16, 0x2F65, 0x7530, 0,
3799 16, 0x2F66, 0x758B, 0,
3800 16, 0x2F67, 0x7592, 0,
3801 16, 0x2F68, 0x7676, 0,
3802 16, 0x2F69, 0x767D, 0,
3803 16, 0x2F6A, 0x76AE, 0,
3804 16, 0x2F6B, 0x76BF, 0,
3805 16, 0x2F6C, 0x76EE, 0,
3806 16, 0x2F6D, 0x77DB, 0,
3807 16, 0x2F6E, 0x77E2, 0,
3808 16, 0x2F6F, 0x77F3, 0,
3809 16, 0x2F70, 0x793A, 0,
3810 16, 0x2F71, 0x79B8, 0,
3811 16, 0x2F72, 0x79BE, 0,
3812 16, 0x2F73, 0x7A74, 0,
3813 16, 0x2F74, 0x7ACB, 0,
3814 16, 0x2F75, 0x7AF9, 0,
3815 16, 0x2F76, 0x7C73, 0,
3816 16, 0x2F77, 0x7CF8, 0,
3817 16, 0x2F78, 0x7F36, 0,
3818 16, 0x2F79, 0x7F51, 0,
3819 16, 0x2F7A, 0x7F8A, 0,
3820 16, 0x2F7B, 0x7FBD, 0,
3821 16, 0x2F7C, 0x8001, 0,
3822 16, 0x2F7D, 0x800C, 0,
3823 16, 0x2F7E, 0x8012, 0,
3824 16, 0x2F7F, 0x8033, 0,
3825 16, 0x2F80, 0x807F, 0,
3826 16, 0x2F81, 0x8089, 0,
3827 16, 0x2F82, 0x81E3, 0,
3828 16, 0x2F83, 0x81EA, 0,
3829 16, 0x2F84, 0x81F3, 0,
3830 16, 0x2F85, 0x81FC, 0,
3831 16, 0x2F86, 0x820C, 0,
3832 16, 0x2F87, 0x821B, 0,
3833 16, 0x2F88, 0x821F, 0,
3834 16, 0x2F89, 0x826E, 0,
3835 16, 0x2F8A, 0x8272, 0,
3836 16, 0x2F8B, 0x8278, 0,
3837 16, 0x2F8C, 0x864D, 0,
3838 16, 0x2F8D, 0x866B, 0,
3839 16, 0x2F8E, 0x8840, 0,
3840 16, 0x2F8F, 0x884C, 0,
3841 16, 0x2F90, 0x8863, 0,
3842 16, 0x2F91, 0x897E, 0,
3843 16, 0x2F92, 0x898B, 0,
3844 16, 0x2F93, 0x89D2, 0,
3845 16, 0x2F94, 0x8A00, 0,
3846 16, 0x2F95, 0x8C37, 0,
3847 16, 0x2F96, 0x8C46, 0,
3848 16, 0x2F97, 0x8C55, 0,
3849 16, 0x2F98, 0x8C78, 0,
3850 16, 0x2F99, 0x8C9D, 0,
3851 16, 0x2F9A, 0x8D64, 0,
3852 16, 0x2F9B, 0x8D70, 0,
3853 16, 0x2F9C, 0x8DB3, 0,
3854 16, 0x2F9D, 0x8EAB, 0,
3855 16, 0x2F9E, 0x8ECA, 0,
3856 16, 0x2F9F, 0x8F9B, 0,
3857 16, 0x2FA0, 0x8FB0, 0,
3858 16, 0x2FA1, 0x8FB5, 0,
3859 16, 0x2FA2, 0x9091, 0,
3860 16, 0x2FA3, 0x9149, 0,
3861 16, 0x2FA4, 0x91C6, 0,
3862 16, 0x2FA5, 0x91CC, 0,
3863 16, 0x2FA6, 0x91D1, 0,
3864 16, 0x2FA7, 0x9577, 0,
3865 16, 0x2FA8, 0x9580, 0,
3866 16, 0x2FA9, 0x961C, 0,
3867 16, 0x2FAA, 0x96B6, 0,
3868 16, 0x2FAB, 0x96B9, 0,
3869 16, 0x2FAC, 0x96E8, 0,
3870 16, 0x2FAD, 0x9751, 0,
3871 16, 0x2FAE, 0x975E, 0,
3872 16, 0x2FAF, 0x9762, 0,
3873 16, 0x2FB0, 0x9769, 0,
3874 16, 0x2FB1, 0x97CB, 0,
3875 16, 0x2FB2, 0x97ED, 0,
3876 16, 0x2FB3, 0x97F3, 0,
3877 16, 0x2FB4, 0x9801, 0,
3878 16, 0x2FB5, 0x98A8, 0,
3879 16, 0x2FB6, 0x98DB, 0,
3880 16, 0x2FB7, 0x98DF, 0,
3881 16, 0x2FB8, 0x9996, 0,
3882 16, 0x2FB9, 0x9999, 0,
3883 16, 0x2FBA, 0x99AC, 0,
3884 16, 0x2FBB, 0x9AA8, 0,
3885 16, 0x2FBC, 0x9AD8, 0,
3886 16, 0x2FBD, 0x9ADF, 0,
3887 16, 0x2FBE, 0x9B25, 0,
3888 16, 0x2FBF, 0x9B2F, 0,
3889 16, 0x2FC0, 0x9B32, 0,
3890 16, 0x2FC1, 0x9B3C, 0,
3891 16, 0x2FC2, 0x9B5A, 0,
3892 16, 0x2FC3, 0x9CE5, 0,
3893 16, 0x2FC4, 0x9E75, 0,
3894 16, 0x2FC5, 0x9E7F, 0,
3895 16, 0x2FC6, 0x9EA5, 0,
3896 16, 0x2FC7, 0x9EBB, 0,
3897 16, 0x2FC8, 0x9EC3, 0,
3898 16, 0x2FC9, 0x9ECD, 0,
3899 16, 0x2FCA, 0x9ED1, 0,
3900 16, 0x2FCB, 0x9EF9, 0,
3901 16, 0x2FCC, 0x9EFD, 0,
3902 16, 0x2FCD, 0x9F0E, 0,
3903 16, 0x2FCE, 0x9F13, 0,
3904 16, 0x2FCF, 0x9F20, 0,
3905 16, 0x2FD0, 0x9F3B, 0,
3906 16, 0x2FD1, 0x9F4A, 0,
3907 16, 0x2FD2, 0x9F52, 0,
3908 16, 0x2FD3, 0x9F8D, 0,
3909 16, 0x2FD4, 0x9F9C, 0,
3910 16, 0x2FD5, 0x9FA0, 0,
3911 12, 0x3000, 0x0020, 0,
3912 16, 0x3036, 0x3012, 0,
3913 16, 0x3038, 0x5341, 0,
3914 16, 0x3039, 0x5344, 0,
3915 16, 0x303A, 0x5345, 0,
3916 1, 0x304C, 0x304B, 0x3099, 0,
3917 1, 0x304E, 0x304D, 0x3099, 0,
3918 1, 0x3050, 0x304F, 0x3099, 0,
3919 1, 0x3052, 0x3051, 0x3099, 0,
3920 1, 0x3054, 0x3053, 0x3099, 0,
3921 1, 0x3056, 0x3055, 0x3099, 0,
3922 1, 0x3058, 0x3057, 0x3099, 0,
3923 1, 0x305A, 0x3059, 0x3099, 0,
3924 1, 0x305C, 0x305B, 0x3099, 0,
3925 1, 0x305E, 0x305D, 0x3099, 0,
3926 1, 0x3060, 0x305F, 0x3099, 0,
3927 1, 0x3062, 0x3061, 0x3099, 0,
3928 1, 0x3065, 0x3064, 0x3099, 0,
3929 1, 0x3067, 0x3066, 0x3099, 0,
3930 1, 0x3069, 0x3068, 0x3099, 0,
3931 1, 0x3070, 0x306F, 0x3099, 0,
3932 1, 0x3071, 0x306F, 0x309A, 0,
3933 1, 0x3073, 0x3072, 0x3099, 0,
3934 1, 0x3074, 0x3072, 0x309A, 0,
3935 1, 0x3076, 0x3075, 0x3099, 0,
3936 1, 0x3077, 0x3075, 0x309A, 0,
3937 1, 0x3079, 0x3078, 0x3099, 0,
3938 1, 0x307A, 0x3078, 0x309A, 0,
3939 1, 0x307C, 0x307B, 0x3099, 0,
3940 1, 0x307D, 0x307B, 0x309A, 0,
3941 1, 0x3094, 0x3046, 0x3099, 0,
3942 16, 0x309B, 0x0020, 0x3099, 0,
3943 16, 0x309C, 0x0020, 0x309A, 0,
3944 1, 0x309E, 0x309D, 0x3099, 0,
3945 1, 0x30AC, 0x30AB, 0x3099, 0,
3946 1, 0x30AE, 0x30AD, 0x3099, 0,
3947 1, 0x30B0, 0x30AF, 0x3099, 0,
3948 1, 0x30B2, 0x30B1, 0x3099, 0,
3949 1, 0x30B4, 0x30B3, 0x3099, 0,
3950 1, 0x30B6, 0x30B5, 0x3099, 0,
3951 1, 0x30B8, 0x30B7, 0x3099, 0,
3952 1, 0x30BA, 0x30B9, 0x3099, 0,
3953 1, 0x30BC, 0x30BB, 0x3099, 0,
3954 1, 0x30BE, 0x30BD, 0x3099, 0,
3955 1, 0x30C0, 0x30BF, 0x3099, 0,
3956 1, 0x30C2, 0x30C1, 0x3099, 0,
3957 1, 0x30C5, 0x30C4, 0x3099, 0,
3958 1, 0x30C7, 0x30C6, 0x3099, 0,
3959 1, 0x30C9, 0x30C8, 0x3099, 0,
3960 1, 0x30D0, 0x30CF, 0x3099, 0,
3961 1, 0x30D1, 0x30CF, 0x309A, 0,
3962 1, 0x30D3, 0x30D2, 0x3099, 0,
3963 1, 0x30D4, 0x30D2, 0x309A, 0,
3964 1, 0x30D6, 0x30D5, 0x3099, 0,
3965 1, 0x30D7, 0x30D5, 0x309A, 0,
3966 1, 0x30D9, 0x30D8, 0x3099, 0,
3967 1, 0x30DA, 0x30D8, 0x309A, 0,
3968 1, 0x30DC, 0x30DB, 0x3099, 0,
3969 1, 0x30DD, 0x30DB, 0x309A, 0,
3970 1, 0x30F4, 0x30A6, 0x3099, 0,
3971 1, 0x30F7, 0x30EF, 0x3099, 0,
3972 1, 0x30F8, 0x30F0, 0x3099, 0,
3973 1, 0x30F9, 0x30F1, 0x3099, 0,
3974 1, 0x30FA, 0x30F2, 0x3099, 0,
3975 1, 0x30FE, 0x30FD, 0x3099, 0,
3976 16, 0x3131, 0x1100, 0,
3977 16, 0x3132, 0x1101, 0,
3978 16, 0x3133, 0x11AA, 0,
3979 16, 0x3134, 0x1102, 0,
3980 16, 0x3135, 0x11AC, 0,
3981 16, 0x3136, 0x11AD, 0,
3982 16, 0x3137, 0x1103, 0,
3983 16, 0x3138, 0x1104, 0,
3984 16, 0x3139, 0x1105, 0,
3985 16, 0x313A, 0x11B0, 0,
3986 16, 0x313B, 0x11B1, 0,
3987 16, 0x313C, 0x11B2, 0,
3988 16, 0x313D, 0x11B3, 0,
3989 16, 0x313E, 0x11B4, 0,
3990 16, 0x313F, 0x11B5, 0,
3991 16, 0x3140, 0x111A, 0,
3992 16, 0x3141, 0x1106, 0,
3993 16, 0x3142, 0x1107, 0,
3994 16, 0x3143, 0x1108, 0,
3995 16, 0x3144, 0x1121, 0,
3996 16, 0x3145, 0x1109, 0,
3997 16, 0x3146, 0x110A, 0,
3998 16, 0x3147, 0x110B, 0,
3999 16, 0x3148, 0x110C, 0,
4000 16, 0x3149, 0x110D, 0,
4001 16, 0x314A, 0x110E, 0,
4002 16, 0x314B, 0x110F, 0,
4003 16, 0x314C, 0x1110, 0,
4004 16, 0x314D, 0x1111, 0,
4005 16, 0x314E, 0x1112, 0,
4006 16, 0x314F, 0x1161, 0,
4007 16, 0x3150, 0x1162, 0,
4008 16, 0x3151, 0x1163, 0,
4009 16, 0x3152, 0x1164, 0,
4010 16, 0x3153, 0x1165, 0,
4011 16, 0x3154, 0x1166, 0,
4012 16, 0x3155, 0x1167, 0,
4013 16, 0x3156, 0x1168, 0,
4014 16, 0x3157, 0x1169, 0,
4015 16, 0x3158, 0x116A, 0,
4016 16, 0x3159, 0x116B, 0,
4017 16, 0x315A, 0x116C, 0,
4018 16, 0x315B, 0x116D, 0,
4019 16, 0x315C, 0x116E, 0,
4020 16, 0x315D, 0x116F, 0,
4021 16, 0x315E, 0x1170, 0,
4022 16, 0x315F, 0x1171, 0,
4023 16, 0x3160, 0x1172, 0,
4024 16, 0x3161, 0x1173, 0,
4025 16, 0x3162, 0x1174, 0,
4026 16, 0x3163, 0x1175, 0,
4027 16, 0x3164, 0x1160, 0,
4028 16, 0x3165, 0x1114, 0,
4029 16, 0x3166, 0x1115, 0,
4030 16, 0x3167, 0x11C7, 0,
4031 16, 0x3168, 0x11C8, 0,
4032 16, 0x3169, 0x11CC, 0,
4033 16, 0x316A, 0x11CE, 0,
4034 16, 0x316B, 0x11D3, 0,
4035 16, 0x316C, 0x11D7, 0,
4036 16, 0x316D, 0x11D9, 0,
4037 16, 0x316E, 0x111C, 0,
4038 16, 0x316F, 0x11DD, 0,
4039 16, 0x3170, 0x11DF, 0,
4040 16, 0x3171, 0x111D, 0,
4041 16, 0x3172, 0x111E, 0,
4042 16, 0x3173, 0x1120, 0,
4043 16, 0x3174, 0x1122, 0,
4044 16, 0x3175, 0x1123, 0,
4045 16, 0x3176, 0x1127, 0,
4046 16, 0x3177, 0x1129, 0,
4047 16, 0x3178, 0x112B, 0,
4048 16, 0x3179, 0x112C, 0,
4049 16, 0x317A, 0x112D, 0,
4050 16, 0x317B, 0x112E, 0,
4051 16, 0x317C, 0x112F, 0,
4052 16, 0x317D, 0x1132, 0,
4053 16, 0x317E, 0x1136, 0,
4054 16, 0x317F, 0x1140, 0,
4055 16, 0x3180, 0x1147, 0,
4056 16, 0x3181, 0x114C, 0,
4057 16, 0x3182, 0x11F1, 0,
4058 16, 0x3183, 0x11F2, 0,
4059 16, 0x3184, 0x1157, 0,
4060 16, 0x3185, 0x1158, 0,
4061 16, 0x3186, 0x1159, 0,
4062 16, 0x3187, 0x1184, 0,
4063 16, 0x3188, 0x1185, 0,
4064 16, 0x3189, 0x1188, 0,
4065 16, 0x318A, 0x1191, 0,
4066 16, 0x318B, 0x1192, 0,
4067 16, 0x318C, 0x1194, 0,
4068 16, 0x318D, 0x119E, 0,
4069 16, 0x318E, 0x11A1, 0,
4070 9, 0x3192, 0x4E00, 0,
4071 9, 0x3193, 0x4E8C, 0,
4072 9, 0x3194, 0x4E09, 0,
4073 9, 0x3195, 0x56DB, 0,
4074 9, 0x3196, 0x4E0A, 0,
4075 9, 0x3197, 0x4E2D, 0,
4076 9, 0x3198, 0x4E0B, 0,
4077 9, 0x3199, 0x7532, 0,
4078 9, 0x319A, 0x4E59, 0,
4079 9, 0x319B, 0x4E19, 0,
4080 9, 0x319C, 0x4E01, 0,
4081 9, 0x319D, 0x5929, 0,
4082 9, 0x319E, 0x5730, 0,
4083 9, 0x319F, 0x4EBA, 0,
4084 16, 0x3200, 0x0028, 0x1100, 0x0029, 0,
4085 16, 0x3201, 0x0028, 0x1102, 0x0029, 0,
4086 16, 0x3202, 0x0028, 0x1103, 0x0029, 0,
4087 16, 0x3203, 0x0028, 0x1105, 0x0029, 0,
4088 16, 0x3204, 0x0028, 0x1106, 0x0029, 0,
4089 16, 0x3205, 0x0028, 0x1107, 0x0029, 0,
4090 16, 0x3206, 0x0028, 0x1109, 0x0029, 0,
4091 16, 0x3207, 0x0028, 0x110B, 0x0029, 0,
4092 16, 0x3208, 0x0028, 0x110C, 0x0029, 0,
4093 16, 0x3209, 0x0028, 0x110E, 0x0029, 0,
4094 16, 0x320A, 0x0028, 0x110F, 0x0029, 0,
4095 16, 0x320B, 0x0028, 0x1110, 0x0029, 0,
4096 16, 0x320C, 0x0028, 0x1111, 0x0029, 0,
4097 16, 0x320D, 0x0028, 0x1112, 0x0029, 0,
4098 16, 0x320E, 0x0028, 0x1100, 0x1161, 0x0029, 0,
4099 16, 0x320F, 0x0028, 0x1102, 0x1161, 0x0029, 0,
4100 16, 0x3210, 0x0028, 0x1103, 0x1161, 0x0029, 0,
4101 16, 0x3211, 0x0028, 0x1105, 0x1161, 0x0029, 0,
4102 16, 0x3212, 0x0028, 0x1106, 0x1161, 0x0029, 0,
4103 16, 0x3213, 0x0028, 0x1107, 0x1161, 0x0029, 0,
4104 16, 0x3214, 0x0028, 0x1109, 0x1161, 0x0029, 0,
4105 16, 0x3215, 0x0028, 0x110B, 0x1161, 0x0029, 0,
4106 16, 0x3216, 0x0028, 0x110C, 0x1161, 0x0029, 0,
4107 16, 0x3217, 0x0028, 0x110E, 0x1161, 0x0029, 0,
4108 16, 0x3218, 0x0028, 0x110F, 0x1161, 0x0029, 0,
4109 16, 0x3219, 0x0028, 0x1110, 0x1161, 0x0029, 0,
4110 16, 0x321A, 0x0028, 0x1111, 0x1161, 0x0029, 0,
4111 16, 0x321B, 0x0028, 0x1112, 0x1161, 0x0029, 0,
4112 16, 0x321C, 0x0028, 0x110C, 0x116E, 0x0029, 0,
4113 16, 0x3220, 0x0028, 0x4E00, 0x0029, 0,
4114 16, 0x3221, 0x0028, 0x4E8C, 0x0029, 0,
4115 16, 0x3222, 0x0028, 0x4E09, 0x0029, 0,
4116 16, 0x3223, 0x0028, 0x56DB, 0x0029, 0,
4117 16, 0x3224, 0x0028, 0x4E94, 0x0029, 0,
4118 16, 0x3225, 0x0028, 0x516D, 0x0029, 0,
4119 16, 0x3226, 0x0028, 0x4E03, 0x0029, 0,
4120 16, 0x3227, 0x0028, 0x516B, 0x0029, 0,
4121 16, 0x3228, 0x0028, 0x4E5D, 0x0029, 0,
4122 16, 0x3229, 0x0028, 0x5341, 0x0029, 0,
4123 16, 0x322A, 0x0028, 0x6708, 0x0029, 0,
4124 16, 0x322B, 0x0028, 0x706B, 0x0029, 0,
4125 16, 0x322C, 0x0028, 0x6C34, 0x0029, 0,
4126 16, 0x322D, 0x0028, 0x6728, 0x0029, 0,
4127 16, 0x322E, 0x0028, 0x91D1, 0x0029, 0,
4128 16, 0x322F, 0x0028, 0x571F, 0x0029, 0,
4129 16, 0x3230, 0x0028, 0x65E5, 0x0029, 0,
4130 16, 0x3231, 0x0028, 0x682A, 0x0029, 0,
4131 16, 0x3232, 0x0028, 0x6709, 0x0029, 0,
4132 16, 0x3233, 0x0028, 0x793E, 0x0029, 0,
4133 16, 0x3234, 0x0028, 0x540D, 0x0029, 0,
4134 16, 0x3235, 0x0028, 0x7279, 0x0029, 0,
4135 16, 0x3236, 0x0028, 0x8CA1, 0x0029, 0,
4136 16, 0x3237, 0x0028, 0x795D, 0x0029, 0,
4137 16, 0x3238, 0x0028, 0x52B4, 0x0029, 0,
4138 16, 0x3239, 0x0028, 0x4EE3, 0x0029, 0,
4139 16, 0x323A, 0x0028, 0x547C, 0x0029, 0,
4140 16, 0x323B, 0x0028, 0x5B66, 0x0029, 0,
4141 16, 0x323C, 0x0028, 0x76E3, 0x0029, 0,
4142 16, 0x323D, 0x0028, 0x4F01, 0x0029, 0,
4143 16, 0x323E, 0x0028, 0x8CC7, 0x0029, 0,
4144 16, 0x323F, 0x0028, 0x5354, 0x0029, 0,
4145 16, 0x3240, 0x0028, 0x796D, 0x0029, 0,
4146 16, 0x3241, 0x0028, 0x4F11, 0x0029, 0,
4147 16, 0x3242, 0x0028, 0x81EA, 0x0029, 0,
4148 16, 0x3243, 0x0028, 0x81F3, 0x0029, 0,
4149 8, 0x3260, 0x1100, 0,
4150 8, 0x3261, 0x1102, 0,
4151 8, 0x3262, 0x1103, 0,
4152 8, 0x3263, 0x1105, 0,
4153 8, 0x3264, 0x1106, 0,
4154 8, 0x3265, 0x1107, 0,
4155 8, 0x3266, 0x1109, 0,
4156 8, 0x3267, 0x110B, 0,
4157 8, 0x3268, 0x110C, 0,
4158 8, 0x3269, 0x110E, 0,
4159 8, 0x326A, 0x110F, 0,
4160 8, 0x326B, 0x1110, 0,
4161 8, 0x326C, 0x1111, 0,
4162 8, 0x326D, 0x1112, 0,
4163 8, 0x326E, 0x1100, 0x1161, 0,
4164 8, 0x326F, 0x1102, 0x1161, 0,
4165 8, 0x3270, 0x1103, 0x1161, 0,
4166 8, 0x3271, 0x1105, 0x1161, 0,
4167 8, 0x3272, 0x1106, 0x1161, 0,
4168 8, 0x3273, 0x1107, 0x1161, 0,
4169 8, 0x3274, 0x1109, 0x1161, 0,
4170 8, 0x3275, 0x110B, 0x1161, 0,
4171 8, 0x3276, 0x110C, 0x1161, 0,
4172 8, 0x3277, 0x110E, 0x1161, 0,
4173 8, 0x3278, 0x110F, 0x1161, 0,
4174 8, 0x3279, 0x1110, 0x1161, 0,
4175 8, 0x327A, 0x1111, 0x1161, 0,
4176 8, 0x327B, 0x1112, 0x1161, 0,
4177 8, 0x3280, 0x4E00, 0,
4178 8, 0x3281, 0x4E8C, 0,
4179 8, 0x3282, 0x4E09, 0,
4180 8, 0x3283, 0x56DB, 0,
4181 8, 0x3284, 0x4E94, 0,
4182 8, 0x3285, 0x516D, 0,
4183 8, 0x3286, 0x4E03, 0,
4184 8, 0x3287, 0x516B, 0,
4185 8, 0x3288, 0x4E5D, 0,
4186 8, 0x3289, 0x5341, 0,
4187 8, 0x328A, 0x6708, 0,
4188 8, 0x328B, 0x706B, 0,
4189 8, 0x328C, 0x6C34, 0,
4190 8, 0x328D, 0x6728, 0,
4191 8, 0x328E, 0x91D1, 0,
4192 8, 0x328F, 0x571F, 0,
4193 8, 0x3290, 0x65E5, 0,
4194 8, 0x3291, 0x682A, 0,
4195 8, 0x3292, 0x6709, 0,
4196 8, 0x3293, 0x793E, 0,
4197 8, 0x3294, 0x540D, 0,
4198 8, 0x3295, 0x7279, 0,
4199 8, 0x3296, 0x8CA1, 0,
4200 8, 0x3297, 0x795D, 0,
4201 8, 0x3298, 0x52B4, 0,
4202 8, 0x3299, 0x79D8, 0,
4203 8, 0x329A, 0x7537, 0,
4204 8, 0x329B, 0x5973, 0,
4205 8, 0x329C, 0x9069, 0,
4206 8, 0x329D, 0x512A, 0,
4207 8, 0x329E, 0x5370, 0,
4208 8, 0x329F, 0x6CE8, 0,
4209 8, 0x32A0, 0x9805, 0,
4210 8, 0x32A1, 0x4F11, 0,
4211 8, 0x32A2, 0x5199, 0,
4212 8, 0x32A3, 0x6B63, 0,
4213 8, 0x32A4, 0x4E0A, 0,
4214 8, 0x32A5, 0x4E2D, 0,
4215 8, 0x32A6, 0x4E0B, 0,
4216 8, 0x32A7, 0x5DE6, 0,
4217 8, 0x32A8, 0x53F3, 0,
4218 8, 0x32A9, 0x533B, 0,
4219 8, 0x32AA, 0x5B97, 0,
4220 8, 0x32AB, 0x5B66, 0,
4221 8, 0x32AC, 0x76E3, 0,
4222 8, 0x32AD, 0x4F01, 0,
4223 8, 0x32AE, 0x8CC7, 0,
4224 8, 0x32AF, 0x5354, 0,
4225 8, 0x32B0, 0x591C, 0,
4226 16, 0x32C0, 0x0031, 0x6708, 0,
4227 16, 0x32C1, 0x0032, 0x6708, 0,
4228 16, 0x32C2, 0x0033, 0x6708, 0,
4229 16, 0x32C3, 0x0034, 0x6708, 0,
4230 16, 0x32C4, 0x0035, 0x6708, 0,
4231 16, 0x32C5, 0x0036, 0x6708, 0,
4232 16, 0x32C6, 0x0037, 0x6708, 0,
4233 16, 0x32C7, 0x0038, 0x6708, 0,
4234 16, 0x32C8, 0x0039, 0x6708, 0,
4235 16, 0x32C9, 0x0031, 0x0030, 0x6708, 0,
4236 16, 0x32CA, 0x0031, 0x0031, 0x6708, 0,
4237 16, 0x32CB, 0x0031, 0x0032, 0x6708, 0,
4238 8, 0x32D0, 0x30A2, 0,
4239 8, 0x32D1, 0x30A4, 0,
4240 8, 0x32D2, 0x30A6, 0,
4241 8, 0x32D3, 0x30A8, 0,
4242 8, 0x32D4, 0x30AA, 0,
4243 8, 0x32D5, 0x30AB, 0,
4244 8, 0x32D6, 0x30AD, 0,
4245 8, 0x32D7, 0x30AF, 0,
4246 8, 0x32D8, 0x30B1, 0,
4247 8, 0x32D9, 0x30B3, 0,
4248 8, 0x32DA, 0x30B5, 0,
4249 8, 0x32DB, 0x30B7, 0,
4250 8, 0x32DC, 0x30B9, 0,
4251 8, 0x32DD, 0x30BB, 0,
4252 8, 0x32DE, 0x30BD, 0,
4253 8, 0x32DF, 0x30BF, 0,
4254 8, 0x32E0, 0x30C1, 0,
4255 8, 0x32E1, 0x30C4, 0,
4256 8, 0x32E2, 0x30C6, 0,
4257 8, 0x32E3, 0x30C8, 0,
4258 8, 0x32E4, 0x30CA, 0,
4259 8, 0x32E5, 0x30CB, 0,
4260 8, 0x32E6, 0x30CC, 0,
4261 8, 0x32E7, 0x30CD, 0,
4262 8, 0x32E8, 0x30CE, 0,
4263 8, 0x32E9, 0x30CF, 0,
4264 8, 0x32EA, 0x30D2, 0,
4265 8, 0x32EB, 0x30D5, 0,
4266 8, 0x32EC, 0x30D8, 0,
4267 8, 0x32ED, 0x30DB, 0,
4268 8, 0x32EE, 0x30DE, 0,
4269 8, 0x32EF, 0x30DF, 0,
4270 8, 0x32F0, 0x30E0, 0,
4271 8, 0x32F1, 0x30E1, 0,
4272 8, 0x32F2, 0x30E2, 0,
4273 8, 0x32F3, 0x30E4, 0,
4274 8, 0x32F4, 0x30E6, 0,
4275 8, 0x32F5, 0x30E8, 0,
4276 8, 0x32F6, 0x30E9, 0,
4277 8, 0x32F7, 0x30EA, 0,
4278 8, 0x32F8, 0x30EB, 0,
4279 8, 0x32F9, 0x30EC, 0,
4280 8, 0x32FA, 0x30ED, 0,
4281 8, 0x32FB, 0x30EF, 0,
4282 8, 0x32FC, 0x30F0, 0,
4283 8, 0x32FD, 0x30F1, 0,
4284 8, 0x32FE, 0x30F2, 0,
4285 15, 0x3300, 0x30A2, 0x30D1, 0x30FC, 0x30C8, 0,
4286 15, 0x3301, 0x30A2, 0x30EB, 0x30D5, 0x30A1, 0,
4287 15, 0x3302, 0x30A2, 0x30F3, 0x30DA, 0x30A2, 0,
4288 15, 0x3303, 0x30A2, 0x30FC, 0x30EB, 0,
4289 15, 0x3304, 0x30A4, 0x30CB, 0x30F3, 0x30B0, 0,
4290 15, 0x3305, 0x30A4, 0x30F3, 0x30C1, 0,
4291 15, 0x3306, 0x30A6, 0x30A9, 0x30F3, 0,
4292 15, 0x3307, 0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9, 0,
4293 15, 0x3308, 0x30A8, 0x30FC, 0x30AB, 0x30FC, 0,
4294 15, 0x3309, 0x30AA, 0x30F3, 0x30B9, 0,
4295 15, 0x330A, 0x30AA, 0x30FC, 0x30E0, 0,
4296 15, 0x330B, 0x30AB, 0x30A4, 0x30EA, 0,
4297 15, 0x330C, 0x30AB, 0x30E9, 0x30C3, 0x30C8, 0,
4298 15, 0x330D, 0x30AB, 0x30ED, 0x30EA, 0x30FC, 0,
4299 15, 0x330E, 0x30AC, 0x30ED, 0x30F3, 0,
4300 15, 0x330F, 0x30AC, 0x30F3, 0x30DE, 0,
4301 15, 0x3310, 0x30AE, 0x30AC, 0,
4302 15, 0x3311, 0x30AE, 0x30CB, 0x30FC, 0,
4303 15, 0x3312, 0x30AD, 0x30E5, 0x30EA, 0x30FC, 0,
4304 15, 0x3313, 0x30AE, 0x30EB, 0x30C0, 0x30FC, 0,
4305 15, 0x3314, 0x30AD, 0x30ED, 0,
4306 15, 0x3315, 0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0, 0,
4307 15, 0x3316, 0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB, 0,
4308 15, 0x3317, 0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8, 0,
4309 15, 0x3318, 0x30B0, 0x30E9, 0x30E0, 0,
4310 15, 0x3319, 0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3, 0,
4311 15, 0x331A, 0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED, 0,
4312 15, 0x331B, 0x30AF, 0x30ED, 0x30FC, 0x30CD, 0,
4313 15, 0x331C, 0x30B1, 0x30FC, 0x30B9, 0,
4314 15, 0x331D, 0x30B3, 0x30EB, 0x30CA, 0,
4315 15, 0x331E, 0x30B3, 0x30FC, 0x30DD, 0,
4316 15, 0x331F, 0x30B5, 0x30A4, 0x30AF, 0x30EB, 0,
4317 15, 0x3320, 0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0, 0,
4318 15, 0x3321, 0x30B7, 0x30EA, 0x30F3, 0x30B0, 0,
4319 15, 0x3322, 0x30BB, 0x30F3, 0x30C1, 0,
4320 15, 0x3323, 0x30BB, 0x30F3, 0x30C8, 0,
4321 15, 0x3324, 0x30C0, 0x30FC, 0x30B9, 0,
4322 15, 0x3325, 0x30C7, 0x30B7, 0,
4323 15, 0x3326, 0x30C9, 0x30EB, 0,
4324 15, 0x3327, 0x30C8, 0x30F3, 0,
4325 15, 0x3328, 0x30CA, 0x30CE, 0,
4326 15, 0x3329, 0x30CE, 0x30C3, 0x30C8, 0,
4327 15, 0x332A, 0x30CF, 0x30A4, 0x30C4, 0,
4328 15, 0x332B, 0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8, 0,
4329 15, 0x332C, 0x30D1, 0x30FC, 0x30C4, 0,
4330 15, 0x332D, 0x30D0, 0x30FC, 0x30EC, 0x30EB, 0,
4331 15, 0x332E, 0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB, 0,
4332 15, 0x332F, 0x30D4, 0x30AF, 0x30EB, 0,
4333 15, 0x3330, 0x30D4, 0x30B3, 0,
4334 15, 0x3331, 0x30D3, 0x30EB, 0,
4335 15, 0x3332, 0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9, 0,
4336 15, 0x3333, 0x30D5, 0x30A3, 0x30FC, 0x30C8, 0,
4337 15, 0x3334, 0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB, 0,
4338 15, 0x3335, 0x30D5, 0x30E9, 0x30F3, 0,
4339 15, 0x3336, 0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB, 0,
4340 15, 0x3337, 0x30DA, 0x30BD, 0,
4341 15, 0x3338, 0x30DA, 0x30CB, 0x30D2, 0,
4342 15, 0x3339, 0x30D8, 0x30EB, 0x30C4, 0,
4343 15, 0x333A, 0x30DA, 0x30F3, 0x30B9, 0,
4344 15, 0x333B, 0x30DA, 0x30FC, 0x30B8, 0,
4345 15, 0x333C, 0x30D9, 0x30FC, 0x30BF, 0,
4346 15, 0x333D, 0x30DD, 0x30A4, 0x30F3, 0x30C8, 0,
4347 15, 0x333E, 0x30DC, 0x30EB, 0x30C8, 0,
4348 15, 0x333F, 0x30DB, 0x30F3, 0,
4349 15, 0x3340, 0x30DD, 0x30F3, 0x30C9, 0,
4350 15, 0x3341, 0x30DB, 0x30FC, 0x30EB, 0,
4351 15, 0x3342, 0x30DB, 0x30FC, 0x30F3, 0,
4352 15, 0x3343, 0x30DE, 0x30A4, 0x30AF, 0x30ED, 0,
4353 15, 0x3344, 0x30DE, 0x30A4, 0x30EB, 0,
4354 15, 0x3345, 0x30DE, 0x30C3, 0x30CF, 0,
4355 15, 0x3346, 0x30DE, 0x30EB, 0x30AF, 0,
4356 15, 0x3347, 0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3, 0,
4357 15, 0x3348, 0x30DF, 0x30AF, 0x30ED, 0x30F3, 0,
4358 15, 0x3349, 0x30DF, 0x30EA, 0,
4359 15, 0x334A, 0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB, 0,
4360 15, 0x334B, 0x30E1, 0x30AC, 0,
4361 15, 0x334C, 0x30E1, 0x30AC, 0x30C8, 0x30F3, 0,
4362 15, 0x334D, 0x30E1, 0x30FC, 0x30C8, 0x30EB, 0,
4363 15, 0x334E, 0x30E4, 0x30FC, 0x30C9, 0,
4364 15, 0x334F, 0x30E4, 0x30FC, 0x30EB, 0,
4365 15, 0x3350, 0x30E6, 0x30A2, 0x30F3, 0,
4366 15, 0x3351, 0x30EA, 0x30C3, 0x30C8, 0x30EB, 0,
4367 15, 0x3352, 0x30EA, 0x30E9, 0,
4368 15, 0x3353, 0x30EB, 0x30D4, 0x30FC, 0,
4369 15, 0x3354, 0x30EB, 0x30FC, 0x30D6, 0x30EB, 0,
4370 15, 0x3355, 0x30EC, 0x30E0, 0,
4371 15, 0x3356, 0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3, 0,
4372 15, 0x3357, 0x30EF, 0x30C3, 0x30C8, 0,
4373 16, 0x3358, 0x0030, 0x70B9, 0,
4374 16, 0x3359, 0x0031, 0x70B9, 0,
4375 16, 0x335A, 0x0032, 0x70B9, 0,
4376 16, 0x335B, 0x0033, 0x70B9, 0,
4377 16, 0x335C, 0x0034, 0x70B9, 0,
4378 16, 0x335D, 0x0035, 0x70B9, 0,
4379 16, 0x335E, 0x0036, 0x70B9, 0,
4380 16, 0x335F, 0x0037, 0x70B9, 0,
4381 16, 0x3360, 0x0038, 0x70B9, 0,
4382 16, 0x3361, 0x0039, 0x70B9, 0,
4383 16, 0x3362, 0x0031, 0x0030, 0x70B9, 0,
4384 16, 0x3363, 0x0031, 0x0031, 0x70B9, 0,
4385 16, 0x3364, 0x0031, 0x0032, 0x70B9, 0,
4386 16, 0x3365, 0x0031, 0x0033, 0x70B9, 0,
4387 16, 0x3366, 0x0031, 0x0034, 0x70B9, 0,
4388 16, 0x3367, 0x0031, 0x0035, 0x70B9, 0,
4389 16, 0x3368, 0x0031, 0x0036, 0x70B9, 0,
4390 16, 0x3369, 0x0031, 0x0037, 0x70B9, 0,
4391 16, 0x336A, 0x0031, 0x0038, 0x70B9, 0,
4392 16, 0x336B, 0x0031, 0x0039, 0x70B9, 0,
4393 16, 0x336C, 0x0032, 0x0030, 0x70B9, 0,
4394 16, 0x336D, 0x0032, 0x0031, 0x70B9, 0,
4395 16, 0x336E, 0x0032, 0x0032, 0x70B9, 0,
4396 16, 0x336F, 0x0032, 0x0033, 0x70B9, 0,
4397 16, 0x3370, 0x0032, 0x0034, 0x70B9, 0,
4398 15, 0x3371, 0x0068, 0x0050, 0x0061, 0,
4399 15, 0x3372, 0x0064, 0x0061, 0,
4400 15, 0x3373, 0x0041, 0x0055, 0,
4401 15, 0x3374, 0x0062, 0x0061, 0x0072, 0,
4402 15, 0x3375, 0x006F, 0x0056, 0,
4403 15, 0x3376, 0x0070, 0x0063, 0,
4404 15, 0x337B, 0x5E73, 0x6210, 0,
4405 15, 0x337C, 0x662D, 0x548C, 0,
4406 15, 0x337D, 0x5927, 0x6B63, 0,
4407 15, 0x337E, 0x660E, 0x6CBB, 0,
4408 15, 0x337F, 0x682A, 0x5F0F, 0x4F1A, 0x793E, 0,
4409 15, 0x3380, 0x0070, 0x0041, 0,
4410 15, 0x3381, 0x006E, 0x0041, 0,
4411 15, 0x3382, 0x03BC, 0x0041, 0,
4412 15, 0x3383, 0x006D, 0x0041, 0,
4413 15, 0x3384, 0x006B, 0x0041, 0,
4414 15, 0x3385, 0x004B, 0x0042, 0,
4415 15, 0x3386, 0x004D, 0x0042, 0,
4416 15, 0x3387, 0x0047, 0x0042, 0,
4417 15, 0x3388, 0x0063, 0x0061, 0x006C, 0,
4418 15, 0x3389, 0x006B, 0x0063, 0x0061, 0x006C, 0,
4419 15, 0x338A, 0x0070, 0x0046, 0,
4420 15, 0x338B, 0x006E, 0x0046, 0,
4421 15, 0x338C, 0x03BC, 0x0046, 0,
4422 15, 0x338D, 0x03BC, 0x0067, 0,
4423 15, 0x338E, 0x006D, 0x0067, 0,
4424 15, 0x338F, 0x006B, 0x0067, 0,
4425 15, 0x3390, 0x0048, 0x007A, 0,
4426 15, 0x3391, 0x006B, 0x0048, 0x007A, 0,
4427 15, 0x3392, 0x004D, 0x0048, 0x007A, 0,
4428 15, 0x3393, 0x0047, 0x0048, 0x007A, 0,
4429 15, 0x3394, 0x0054, 0x0048, 0x007A, 0,
4430 15, 0x3395, 0x03BC, 0x2113, 0,
4431 15, 0x3396, 0x006D, 0x2113, 0,
4432 15, 0x3397, 0x0064, 0x2113, 0,
4433 15, 0x3398, 0x006B, 0x2113, 0,
4434 15, 0x3399, 0x0066, 0x006D, 0,
4435 15, 0x339A, 0x006E, 0x006D, 0,
4436 15, 0x339B, 0x03BC, 0x006D, 0,
4437 15, 0x339C, 0x006D, 0x006D, 0,
4438 15, 0x339D, 0x0063, 0x006D, 0,
4439 15, 0x339E, 0x006B, 0x006D, 0,
4440 15, 0x339F, 0x006D, 0x006D, 0x00B2, 0,
4441 15, 0x33A0, 0x0063, 0x006D, 0x00B2, 0,
4442 15, 0x33A1, 0x006D, 0x00B2, 0,
4443 15, 0x33A2, 0x006B, 0x006D, 0x00B2, 0,
4444 15, 0x33A3, 0x006D, 0x006D, 0x00B3, 0,
4445 15, 0x33A4, 0x0063, 0x006D, 0x00B3, 0,
4446 15, 0x33A5, 0x006D, 0x00B3, 0,
4447 15, 0x33A6, 0x006B, 0x006D, 0x00B3, 0,
4448 15, 0x33A7, 0x006D, 0x2215, 0x0073, 0,
4449 15, 0x33A8, 0x006D, 0x2215, 0x0073, 0x00B2, 0,
4450 15, 0x33A9, 0x0050, 0x0061, 0,
4451 15, 0x33AA, 0x006B, 0x0050, 0x0061, 0,
4452 15, 0x33AB, 0x004D, 0x0050, 0x0061, 0,
4453 15, 0x33AC, 0x0047, 0x0050, 0x0061, 0,
4454 15, 0x33AD, 0x0072, 0x0061, 0x0064, 0,
4455 15, 0x33AE, 0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0,
4456 15, 0x33AF, 0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x00B2, 0,
4457 15, 0x33B0, 0x0070, 0x0073, 0,
4458 15, 0x33B1, 0x006E, 0x0073, 0,
4459 15, 0x33B2, 0x03BC, 0x0073, 0,
4460 15, 0x33B3, 0x006D, 0x0073, 0,
4461 15, 0x33B4, 0x0070, 0x0056, 0,
4462 15, 0x33B5, 0x006E, 0x0056, 0,
4463 15, 0x33B6, 0x03BC, 0x0056, 0,
4464 15, 0x33B7, 0x006D, 0x0056, 0,
4465 15, 0x33B8, 0x006B, 0x0056, 0,
4466 15, 0x33B9, 0x004D, 0x0056, 0,
4467 15, 0x33BA, 0x0070, 0x0057, 0,
4468 15, 0x33BB, 0x006E, 0x0057, 0,
4469 15, 0x33BC, 0x03BC, 0x0057, 0,
4470 15, 0x33BD, 0x006D, 0x0057, 0,
4471 15, 0x33BE, 0x006B, 0x0057, 0,
4472 15, 0x33BF, 0x004D, 0x0057, 0,
4473 15, 0x33C0, 0x006B, 0x03A9, 0,
4474 15, 0x33C1, 0x004D, 0x03A9, 0,
4475 15, 0x33C2, 0x0061, 0x002E, 0x006D, 0x002E, 0,
4476 15, 0x33C3, 0x0042, 0x0071, 0,
4477 15, 0x33C4, 0x0063, 0x0063, 0,
4478 15, 0x33C5, 0x0063, 0x0064, 0,
4479 15, 0x33C6, 0x0043, 0x2215, 0x006B, 0x0067, 0,
4480 15, 0x33C7, 0x0043, 0x006F, 0x002E, 0,
4481 15, 0x33C8, 0x0064, 0x0042, 0,
4482 15, 0x33C9, 0x0047, 0x0079, 0,
4483 15, 0x33CA, 0x0068, 0x0061, 0,
4484 15, 0x33CB, 0x0048, 0x0050, 0,
4485 15, 0x33CC, 0x0069, 0x006E, 0,
4486 15, 0x33CD, 0x004B, 0x004B, 0,
4487 15, 0x33CE, 0x004B, 0x004D, 0,
4488 15, 0x33CF, 0x006B, 0x0074, 0,
4489 15, 0x33D0, 0x006C, 0x006D, 0,
4490 15, 0x33D1, 0x006C, 0x006E, 0,
4491 15, 0x33D2, 0x006C, 0x006F, 0x0067, 0,
4492 15, 0x33D3, 0x006C, 0x0078, 0,
4493 15, 0x33D4, 0x006D, 0x0062, 0,
4494 15, 0x33D5, 0x006D, 0x0069, 0x006C, 0,
4495 15, 0x33D6, 0x006D, 0x006F, 0x006C, 0,
4496 15, 0x33D7, 0x0050, 0x0048, 0,
4497 15, 0x33D8, 0x0070, 0x002E, 0x006D, 0x002E, 0,
4498 15, 0x33D9, 0x0050, 0x0050, 0x004D, 0,
4499 15, 0x33DA, 0x0050, 0x0052, 0,
4500 15, 0x33DB, 0x0073, 0x0072, 0,
4501 15, 0x33DC, 0x0053, 0x0076, 0,
4502 15, 0x33DD, 0x0057, 0x0062, 0,
4503 16, 0x33E0, 0x0031, 0x65E5, 0,
4504 16, 0x33E1, 0x0032, 0x65E5, 0,
4505 16, 0x33E2, 0x0033, 0x65E5, 0,
4506 16, 0x33E3, 0x0034, 0x65E5, 0,
4507 16, 0x33E4, 0x0035, 0x65E5, 0,
4508 16, 0x33E5, 0x0036, 0x65E5, 0,
4509 16, 0x33E6, 0x0037, 0x65E5, 0,
4510 16, 0x33E7, 0x0038, 0x65E5, 0,
4511 16, 0x33E8, 0x0039, 0x65E5, 0,
4512 16, 0x33E9, 0x0031, 0x0030, 0x65E5, 0,
4513 16, 0x33EA, 0x0031, 0x0031, 0x65E5, 0,
4514 16, 0x33EB, 0x0031, 0x0032, 0x65E5, 0,
4515 16, 0x33EC, 0x0031, 0x0033, 0x65E5, 0,
4516 16, 0x33ED, 0x0031, 0x0034, 0x65E5, 0,
4517 16, 0x33EE, 0x0031, 0x0035, 0x65E5, 0,
4518 16, 0x33EF, 0x0031, 0x0036, 0x65E5, 0,
4519 16, 0x33F0, 0x0031, 0x0037, 0x65E5, 0,
4520 16, 0x33F1, 0x0031, 0x0038, 0x65E5, 0,
4521 16, 0x33F2, 0x0031, 0x0039, 0x65E5, 0,
4522 16, 0x33F3, 0x0032, 0x0030, 0x65E5, 0,
4523 16, 0x33F4, 0x0032, 0x0031, 0x65E5, 0,
4524 16, 0x33F5, 0x0032, 0x0032, 0x65E5, 0,
4525 16, 0x33F6, 0x0032, 0x0033, 0x65E5, 0,
4526 16, 0x33F7, 0x0032, 0x0034, 0x65E5, 0,
4527 16, 0x33F8, 0x0032, 0x0035, 0x65E5, 0,
4528 16, 0x33F9, 0x0032, 0x0036, 0x65E5, 0,
4529 16, 0x33FA, 0x0032, 0x0037, 0x65E5, 0,
4530 16, 0x33FB, 0x0032, 0x0038, 0x65E5, 0,
4531 16, 0x33FC, 0x0032, 0x0039, 0x65E5, 0,
4532 16, 0x33FD, 0x0033, 0x0030, 0x65E5, 0,
4533 16, 0x33FE, 0x0033, 0x0031, 0x65E5, 0,
4534 1, 0xF900, 0x8C48, 0,
4535 1, 0xF901, 0x66F4, 0,
4536 1, 0xF902, 0x8ECA, 0,
4537 1, 0xF903, 0x8CC8, 0,
4538 1, 0xF904, 0x6ED1, 0,
4539 1, 0xF905, 0x4E32, 0,
4540 1, 0xF906, 0x53E5, 0,
4541 1, 0xF907, 0x9F9C, 0,
4542 1, 0xF908, 0x9F9C, 0,
4543 1, 0xF909, 0x5951, 0,
4544 1, 0xF90A, 0x91D1, 0,
4545 1, 0xF90B, 0x5587, 0,
4546 1, 0xF90C, 0x5948, 0,
4547 1, 0xF90D, 0x61F6, 0,
4548 1, 0xF90E, 0x7669, 0,
4549 1, 0xF90F, 0x7F85, 0,
4550 1, 0xF910, 0x863F, 0,
4551 1, 0xF911, 0x87BA, 0,
4552 1, 0xF912, 0x88F8, 0,
4553 1, 0xF913, 0x908F, 0,
4554 1, 0xF914, 0x6A02, 0,
4555 1, 0xF915, 0x6D1B, 0,
4556 1, 0xF916, 0x70D9, 0,
4557 1, 0xF917, 0x73DE, 0,
4558 1, 0xF918, 0x843D, 0,
4559 1, 0xF919, 0x916A, 0,
4560 1, 0xF91A, 0x99F1, 0,
4561 1, 0xF91B, 0x4E82, 0,
4562 1, 0xF91C, 0x5375, 0,
4563 1, 0xF91D, 0x6B04, 0,
4564 1, 0xF91E, 0x721B, 0,
4565 1, 0xF91F, 0x862D, 0,
4566 1, 0xF920, 0x9E1E, 0,
4567 1, 0xF921, 0x5D50, 0,
4568 1, 0xF922, 0x6FEB, 0,
4569 1, 0xF923, 0x85CD, 0,
4570 1, 0xF924, 0x8964, 0,
4571 1, 0xF925, 0x62C9, 0,
4572 1, 0xF926, 0x81D8, 0,
4573 1, 0xF927, 0x881F, 0,
4574 1, 0xF928, 0x5ECA, 0,
4575 1, 0xF929, 0x6717, 0,
4576 1, 0xF92A, 0x6D6A, 0,
4577 1, 0xF92B, 0x72FC, 0,
4578 1, 0xF92C, 0x90CE, 0,
4579 1, 0xF92D, 0x4F86, 0,
4580 1, 0xF92E, 0x51B7, 0,
4581 1, 0xF92F, 0x52DE, 0,
4582 1, 0xF930, 0x64C4, 0,
4583 1, 0xF931, 0x6AD3, 0,
4584 1, 0xF932, 0x7210, 0,
4585 1, 0xF933, 0x76E7, 0,
4586 1, 0xF934, 0x8001, 0,
4587 1, 0xF935, 0x8606, 0,
4588 1, 0xF936, 0x865C, 0,
4589 1, 0xF937, 0x8DEF, 0,
4590 1, 0xF938, 0x9732, 0,
4591 1, 0xF939, 0x9B6F, 0,
4592 1, 0xF93A, 0x9DFA, 0,
4593 1, 0xF93B, 0x788C, 0,
4594 1, 0xF93C, 0x797F, 0,
4595 1, 0xF93D, 0x7DA0, 0,
4596 1, 0xF93E, 0x83C9, 0,
4597 1, 0xF93F, 0x9304, 0,
4598 1, 0xF940, 0x9E7F, 0,
4599 1, 0xF941, 0x8AD6, 0,
4600 1, 0xF942, 0x58DF, 0,
4601 1, 0xF943, 0x5F04, 0,
4602 1, 0xF944, 0x7C60, 0,
4603 1, 0xF945, 0x807E, 0,
4604 1, 0xF946, 0x7262, 0,
4605 1, 0xF947, 0x78CA, 0,
4606 1, 0xF948, 0x8CC2, 0,
4607 1, 0xF949, 0x96F7, 0,
4608 1, 0xF94A, 0x58D8, 0,
4609 1, 0xF94B, 0x5C62, 0,
4610 1, 0xF94C, 0x6A13, 0,
4611 1, 0xF94D, 0x6DDA, 0,
4612 1, 0xF94E, 0x6F0F, 0,
4613 1, 0xF94F, 0x7D2F, 0,
4614 1, 0xF950, 0x7E37, 0,
4615 1, 0xF951, 0x96FB, 0,
4616 1, 0xF952, 0x52D2, 0,
4617 1, 0xF953, 0x808B, 0,
4618 1, 0xF954, 0x51DC, 0,
4619 1, 0xF955, 0x51CC, 0,
4620 1, 0xF956, 0x7A1C, 0,
4621 1, 0xF957, 0x7DBE, 0,
4622 1, 0xF958, 0x83F1, 0,
4623 1, 0xF959, 0x9675, 0,
4624 1, 0xF95A, 0x8B80, 0,
4625 1, 0xF95B, 0x62CF, 0,
4626 1, 0xF95C, 0x6A02, 0,
4627 1, 0xF95D, 0x8AFE, 0,
4628 1, 0xF95E, 0x4E39, 0,
4629 1, 0xF95F, 0x5BE7, 0,
4630 1, 0xF960, 0x6012, 0,
4631 1, 0xF961, 0x7387, 0,
4632 1, 0xF962, 0x7570, 0,
4633 1, 0xF963, 0x5317, 0,
4634 1, 0xF964, 0x78FB, 0,
4635 1, 0xF965, 0x4FBF, 0,
4636 1, 0xF966, 0x5FA9, 0,
4637 1, 0xF967, 0x4E0D, 0,
4638 1, 0xF968, 0x6CCC, 0,
4639 1, 0xF969, 0x6578, 0,
4640 1, 0xF96A, 0x7D22, 0,
4641 1, 0xF96B, 0x53C3, 0,
4642 1, 0xF96C, 0x585E, 0,
4643 1, 0xF96D, 0x7701, 0,
4644 1, 0xF96E, 0x8449, 0,
4645 1, 0xF96F, 0x8AAA, 0,
4646 1, 0xF970, 0x6BBA, 0,
4647 1, 0xF971, 0x8FB0, 0,
4648 1, 0xF972, 0x6C88, 0,
4649 1, 0xF973, 0x62FE, 0,
4650 1, 0xF974, 0x82E5, 0,
4651 1, 0xF975, 0x63A0, 0,
4652 1, 0xF976, 0x7565, 0,
4653 1, 0xF977, 0x4EAE, 0,
4654 1, 0xF978, 0x5169, 0,
4655 1, 0xF979, 0x51C9, 0,
4656 1, 0xF97A, 0x6881, 0,
4657 1, 0xF97B, 0x7CE7, 0,
4658 1, 0xF97C, 0x826F, 0,
4659 1, 0xF97D, 0x8AD2, 0,
4660 1, 0xF97E, 0x91CF, 0,
4661 1, 0xF97F, 0x52F5, 0,
4662 1, 0xF980, 0x5442, 0,
4663 1, 0xF981, 0x5973, 0,
4664 1, 0xF982, 0x5EEC, 0,
4665 1, 0xF983, 0x65C5, 0,
4666 1, 0xF984, 0x6FFE, 0,
4667 1, 0xF985, 0x792A, 0,
4668 1, 0xF986, 0x95AD, 0,
4669 1, 0xF987, 0x9A6A, 0,
4670 1, 0xF988, 0x9E97, 0,
4671 1, 0xF989, 0x9ECE, 0,
4672 1, 0xF98A, 0x529B, 0,
4673 1, 0xF98B, 0x66C6, 0,
4674 1, 0xF98C, 0x6B77, 0,
4675 1, 0xF98D, 0x8F62, 0,
4676 1, 0xF98E, 0x5E74, 0,
4677 1, 0xF98F, 0x6190, 0,
4678 1, 0xF990, 0x6200, 0,
4679 1, 0xF991, 0x649A, 0,
4680 1, 0xF992, 0x6F23, 0,
4681 1, 0xF993, 0x7149, 0,
4682 1, 0xF994, 0x7489, 0,
4683 1, 0xF995, 0x79CA, 0,
4684 1, 0xF996, 0x7DF4, 0,
4685 1, 0xF997, 0x806F, 0,
4686 1, 0xF998, 0x8F26, 0,
4687 1, 0xF999, 0x84EE, 0,
4688 1, 0xF99A, 0x9023, 0,
4689 1, 0xF99B, 0x934A, 0,
4690 1, 0xF99C, 0x5217, 0,
4691 1, 0xF99D, 0x52A3, 0,
4692 1, 0xF99E, 0x54BD, 0,
4693 1, 0xF99F, 0x70C8, 0,
4694 1, 0xF9A0, 0x88C2, 0,
4695 1, 0xF9A1, 0x8AAA, 0,
4696 1, 0xF9A2, 0x5EC9, 0,
4697 1, 0xF9A3, 0x5FF5, 0,
4698 1, 0xF9A4, 0x637B, 0,
4699 1, 0xF9A5, 0x6BAE, 0,
4700 1, 0xF9A6, 0x7C3E, 0,
4701 1, 0xF9A7, 0x7375, 0,
4702 1, 0xF9A8, 0x4EE4, 0,
4703 1, 0xF9A9, 0x56F9, 0,
4704 1, 0xF9AA, 0x5BE7, 0,
4705 1, 0xF9AB, 0x5DBA, 0,
4706 1, 0xF9AC, 0x601C, 0,
4707 1, 0xF9AD, 0x73B2, 0,
4708 1, 0xF9AE, 0x7469, 0,
4709 1, 0xF9AF, 0x7F9A, 0,
4710 1, 0xF9B0, 0x8046, 0,
4711 1, 0xF9B1, 0x9234, 0,
4712 1, 0xF9B2, 0x96F6, 0,
4713 1, 0xF9B3, 0x9748, 0,
4714 1, 0xF9B4, 0x9818, 0,
4715 1, 0xF9B5, 0x4F8B, 0,
4716 1, 0xF9B6, 0x79AE, 0,
4717 1, 0xF9B7, 0x91B4, 0,
4718 1, 0xF9B8, 0x96B8, 0,
4719 1, 0xF9B9, 0x60E1, 0,
4720 1, 0xF9BA, 0x4E86, 0,
4721 1, 0xF9BB, 0x50DA, 0,
4722 1, 0xF9BC, 0x5BEE, 0,
4723 1, 0xF9BD, 0x5C3F, 0,
4724 1, 0xF9BE, 0x6599, 0,
4725 1, 0xF9BF, 0x6A02, 0,
4726 1, 0xF9C0, 0x71CE, 0,
4727 1, 0xF9C1, 0x7642, 0,
4728 1, 0xF9C2, 0x84FC, 0,
4729 1, 0xF9C3, 0x907C, 0,
4730 1, 0xF9C4, 0x9F8D, 0,
4731 1, 0xF9C5, 0x6688, 0,
4732 1, 0xF9C6, 0x962E, 0,
4733 1, 0xF9C7, 0x5289, 0,
4734 1, 0xF9C8, 0x677B, 0,
4735 1, 0xF9C9, 0x67F3, 0,
4736 1, 0xF9CA, 0x6D41, 0,
4737 1, 0xF9CB, 0x6E9C, 0,
4738 1, 0xF9CC, 0x7409, 0,
4739 1, 0xF9CD, 0x7559, 0,
4740 1, 0xF9CE, 0x786B, 0,
4741 1, 0xF9CF, 0x7D10, 0,
4742 1, 0xF9D0, 0x985E, 0,
4743 1, 0xF9D1, 0x516D, 0,
4744 1, 0xF9D2, 0x622E, 0,
4745 1, 0xF9D3, 0x9678, 0,
4746 1, 0xF9D4, 0x502B, 0,
4747 1, 0xF9D5, 0x5D19, 0,
4748 1, 0xF9D6, 0x6DEA, 0,
4749 1, 0xF9D7, 0x8F2A, 0,
4750 1, 0xF9D8, 0x5F8B, 0,
4751 1, 0xF9D9, 0x6144, 0,
4752 1, 0xF9DA, 0x6817, 0,
4753 1, 0xF9DB, 0x7387, 0,
4754 1, 0xF9DC, 0x9686, 0,
4755 1, 0xF9DD, 0x5229, 0,
4756 1, 0xF9DE, 0x540F, 0,
4757 1, 0xF9DF, 0x5C65, 0,
4758 1, 0xF9E0, 0x6613, 0,
4759 1, 0xF9E1, 0x674E, 0,
4760 1, 0xF9E2, 0x68A8, 0,
4761 1, 0xF9E3, 0x6CE5, 0,
4762 1, 0xF9E4, 0x7406, 0,
4763 1, 0xF9E5, 0x75E2, 0,
4764 1, 0xF9E6, 0x7F79, 0,
4765 1, 0xF9E7, 0x88CF, 0,
4766 1, 0xF9E8, 0x88E1, 0,
4767 1, 0xF9E9, 0x91CC, 0,
4768 1, 0xF9EA, 0x96E2, 0,
4769 1, 0xF9EB, 0x533F, 0,
4770 1, 0xF9EC, 0x6EBA, 0,
4771 1, 0xF9ED, 0x541D, 0,
4772 1, 0xF9EE, 0x71D0, 0,
4773 1, 0xF9EF, 0x7498, 0,
4774 1, 0xF9F0, 0x85FA, 0,
4775 1, 0xF9F1, 0x96A3, 0,
4776 1, 0xF9F2, 0x9C57, 0,
4777 1, 0xF9F3, 0x9E9F, 0,
4778 1, 0xF9F4, 0x6797, 0,
4779 1, 0xF9F5, 0x6DCB, 0,
4780 1, 0xF9F6, 0x81E8, 0,
4781 1, 0xF9F7, 0x7ACB, 0,
4782 1, 0xF9F8, 0x7B20, 0,
4783 1, 0xF9F9, 0x7C92, 0,
4784 1, 0xF9FA, 0x72C0, 0,
4785 1, 0xF9FB, 0x7099, 0,
4786 1, 0xF9FC, 0x8B58, 0,
4787 1, 0xF9FD, 0x4EC0, 0,
4788 1, 0xF9FE, 0x8336, 0,
4789 1, 0xF9FF, 0x523A, 0,
4790 1, 0xFA00, 0x5207, 0,
4791 1, 0xFA01, 0x5EA6, 0,
4792 1, 0xFA02, 0x62D3, 0,
4793 1, 0xFA03, 0x7CD6, 0,
4794 1, 0xFA04, 0x5B85, 0,
4795 1, 0xFA05, 0x6D1E, 0,
4796 1, 0xFA06, 0x66B4, 0,
4797 1, 0xFA07, 0x8F3B, 0,
4798 1, 0xFA08, 0x884C, 0,
4799 1, 0xFA09, 0x964D, 0,
4800 1, 0xFA0A, 0x898B, 0,
4801 1, 0xFA0B, 0x5ED3, 0,
4802 1, 0xFA0C, 0x5140, 0,
4803 1, 0xFA0D, 0x55C0, 0,
4804 1, 0xFA10, 0x585A, 0,
4805 1, 0xFA12, 0x6674, 0,
4806 1, 0xFA15, 0x51DE, 0,
4807 1, 0xFA16, 0x732A, 0,
4808 1, 0xFA17, 0x76CA, 0,
4809 1, 0xFA18, 0x793C, 0,
4810 1, 0xFA19, 0x795E, 0,
4811 1, 0xFA1A, 0x7965, 0,
4812 1, 0xFA1B, 0x798F, 0,
4813 1, 0xFA1C, 0x9756, 0,
4814 1, 0xFA1D, 0x7CBE, 0,
4815 1, 0xFA1E, 0x7FBD, 0,
4816 1, 0xFA20, 0x8612, 0,
4817 1, 0xFA22, 0x8AF8, 0,
4818 1, 0xFA25, 0x9038, 0,
4819 1, 0xFA26, 0x90FD, 0,
4820 1, 0xFA2A, 0x98EF, 0,
4821 1, 0xFA2B, 0x98FC, 0,
4822 1, 0xFA2C, 0x9928, 0,
4823 1, 0xFA2D, 0x9DB4, 0,
4824 16, 0xFB00, 0x0066, 0x0066, 0,
4825 16, 0xFB01, 0x0066, 0x0069, 0,
4826 16, 0xFB02, 0x0066, 0x006C, 0,
4827 16, 0xFB03, 0x0066, 0x0066, 0x0069, 0,
4828 16, 0xFB04, 0x0066, 0x0066, 0x006C, 0,
4829 16, 0xFB05, 0x017F, 0x0074, 0,
4830 16, 0xFB06, 0x0073, 0x0074, 0,
4831 16, 0xFB13, 0x0574, 0x0576, 0,
4832 16, 0xFB14, 0x0574, 0x0565, 0,
4833 16, 0xFB15, 0x0574, 0x056B, 0,
4834 16, 0xFB16, 0x057E, 0x0576, 0,
4835 16, 0xFB17, 0x0574, 0x056D, 0,
4836 1, 0xFB1D, 0x05D9, 0x05B4, 0,
4837 1, 0xFB1F, 0x05F2, 0x05B7, 0,
4838 2, 0xFB20, 0x05E2, 0,
4839 2, 0xFB21, 0x05D0, 0,
4840 2, 0xFB22, 0x05D3, 0,
4841 2, 0xFB23, 0x05D4, 0,
4842 2, 0xFB24, 0x05DB, 0,
4843 2, 0xFB25, 0x05DC, 0,
4844 2, 0xFB26, 0x05DD, 0,
4845 2, 0xFB27, 0x05E8, 0,
4846 2, 0xFB28, 0x05EA, 0,
4847 2, 0xFB29, 0x002B, 0,
4848 1, 0xFB2A, 0x05E9, 0x05C1, 0,
4849 1, 0xFB2B, 0x05E9, 0x05C2, 0,
4850 1, 0xFB2C, 0xFB49, 0x05C1, 0,
4851 1, 0xFB2D, 0xFB49, 0x05C2, 0,
4852 1, 0xFB2E, 0x05D0, 0x05B7, 0,
4853 1, 0xFB2F, 0x05D0, 0x05B8, 0,
4854 1, 0xFB30, 0x05D0, 0x05BC, 0,
4855 1, 0xFB31, 0x05D1, 0x05BC, 0,
4856 1, 0xFB32, 0x05D2, 0x05BC, 0,
4857 1, 0xFB33, 0x05D3, 0x05BC, 0,
4858 1, 0xFB34, 0x05D4, 0x05BC, 0,
4859 1, 0xFB35, 0x05D5, 0x05BC, 0,
4860 1, 0xFB36, 0x05D6, 0x05BC, 0,
4861 1, 0xFB38, 0x05D8, 0x05BC, 0,
4862 1, 0xFB39, 0x05D9, 0x05BC, 0,
4863 1, 0xFB3A, 0x05DA, 0x05BC, 0,
4864 1, 0xFB3B, 0x05DB, 0x05BC, 0,
4865 1, 0xFB3C, 0x05DC, 0x05BC, 0,
4866 1, 0xFB3E, 0x05DE, 0x05BC, 0,
4867 1, 0xFB40, 0x05E0, 0x05BC, 0,
4868 1, 0xFB41, 0x05E1, 0x05BC, 0,
4869 1, 0xFB43, 0x05E3, 0x05BC, 0,
4870 1, 0xFB44, 0x05E4, 0x05BC, 0,
4871 1, 0xFB46, 0x05E6, 0x05BC, 0,
4872 1, 0xFB47, 0x05E7, 0x05BC, 0,
4873 1, 0xFB48, 0x05E8, 0x05BC, 0,
4874 1, 0xFB49, 0x05E9, 0x05BC, 0,
4875 1, 0xFB4A, 0x05EA, 0x05BC, 0,
4876 1, 0xFB4B, 0x05D5, 0x05B9, 0,
4877 1, 0xFB4C, 0x05D1, 0x05BF, 0,
4878 1, 0xFB4D, 0x05DB, 0x05BF, 0,
4879 1, 0xFB4E, 0x05E4, 0x05BF, 0,
4880 16, 0xFB4F, 0x05D0, 0x05DC, 0,
4881 7, 0xFB50, 0x0671, 0,
4882 6, 0xFB51, 0x0671, 0,
4883 7, 0xFB52, 0x067B, 0,
4884 6, 0xFB53, 0x067B, 0,
4885 4, 0xFB54, 0x067B, 0,
4886 5, 0xFB55, 0x067B, 0,
4887 7, 0xFB56, 0x067E, 0,
4888 6, 0xFB57, 0x067E, 0,
4889 4, 0xFB58, 0x067E, 0,
4890 5, 0xFB59, 0x067E, 0,
4891 7, 0xFB5A, 0x0680, 0,
4892 6, 0xFB5B, 0x0680, 0,
4893 4, 0xFB5C, 0x0680, 0,
4894 5, 0xFB5D, 0x0680, 0,
4895 7, 0xFB5E, 0x067A, 0,
4896 6, 0xFB5F, 0x067A, 0,
4897 4, 0xFB60, 0x067A, 0,
4898 5, 0xFB61, 0x067A, 0,
4899 7, 0xFB62, 0x067F, 0,
4900 6, 0xFB63, 0x067F, 0,
4901 4, 0xFB64, 0x067F, 0,
4902 5, 0xFB65, 0x067F, 0,
4903 7, 0xFB66, 0x0679, 0,
4904 6, 0xFB67, 0x0679, 0,
4905 4, 0xFB68, 0x0679, 0,
4906 5, 0xFB69, 0x0679, 0,
4907 7, 0xFB6A, 0x06A4, 0,
4908 6, 0xFB6B, 0x06A4, 0,
4909 4, 0xFB6C, 0x06A4, 0,
4910 5, 0xFB6D, 0x06A4, 0,
4911 7, 0xFB6E, 0x06A6, 0,
4912 6, 0xFB6F, 0x06A6, 0,
4913 4, 0xFB70, 0x06A6, 0,
4914 5, 0xFB71, 0x06A6, 0,
4915 7, 0xFB72, 0x0684, 0,
4916 6, 0xFB73, 0x0684, 0,
4917 4, 0xFB74, 0x0684, 0,
4918 5, 0xFB75, 0x0684, 0,
4919 7, 0xFB76, 0x0683, 0,
4920 6, 0xFB77, 0x0683, 0,
4921 4, 0xFB78, 0x0683, 0,
4922 5, 0xFB79, 0x0683, 0,
4923 7, 0xFB7A, 0x0686, 0,
4924 6, 0xFB7B, 0x0686, 0,
4925 4, 0xFB7C, 0x0686, 0,
4926 5, 0xFB7D, 0x0686, 0,
4927 7, 0xFB7E, 0x0687, 0,
4928 6, 0xFB7F, 0x0687, 0,
4929 4, 0xFB80, 0x0687, 0,
4930 5, 0xFB81, 0x0687, 0,
4931 7, 0xFB82, 0x068D, 0,
4932 6, 0xFB83, 0x068D, 0,
4933 7, 0xFB84, 0x068C, 0,
4934 6, 0xFB85, 0x068C, 0,
4935 7, 0xFB86, 0x068E, 0,
4936 6, 0xFB87, 0x068E, 0,
4937 7, 0xFB88, 0x0688, 0,
4938 6, 0xFB89, 0x0688, 0,
4939 7, 0xFB8A, 0x0698, 0,
4940 6, 0xFB8B, 0x0698, 0,
4941 7, 0xFB8C, 0x0691, 0,
4942 6, 0xFB8D, 0x0691, 0,
4943 7, 0xFB8E, 0x06A9, 0,
4944 6, 0xFB8F, 0x06A9, 0,
4945 4, 0xFB90, 0x06A9, 0,
4946 5, 0xFB91, 0x06A9, 0,
4947 7, 0xFB92, 0x06AF, 0,
4948 6, 0xFB93, 0x06AF, 0,
4949 4, 0xFB94, 0x06AF, 0,
4950 5, 0xFB95, 0x06AF, 0,
4951 7, 0xFB96, 0x06B3, 0,
4952 6, 0xFB97, 0x06B3, 0,
4953 4, 0xFB98, 0x06B3, 0,
4954 5, 0xFB99, 0x06B3, 0,
4955 7, 0xFB9A, 0x06B1, 0,
4956 6, 0xFB9B, 0x06B1, 0,
4957 4, 0xFB9C, 0x06B1, 0,
4958 5, 0xFB9D, 0x06B1, 0,
4959 7, 0xFB9E, 0x06BA, 0,
4960 6, 0xFB9F, 0x06BA, 0,
4961 7, 0xFBA0, 0x06BB, 0,
4962 6, 0xFBA1, 0x06BB, 0,
4963 4, 0xFBA2, 0x06BB, 0,
4964 5, 0xFBA3, 0x06BB, 0,
4965 7, 0xFBA4, 0x06C0, 0,
4966 6, 0xFBA5, 0x06C0, 0,
4967 7, 0xFBA6, 0x06C1, 0,
4968 6, 0xFBA7, 0x06C1, 0,
4969 4, 0xFBA8, 0x06C1, 0,
4970 5, 0xFBA9, 0x06C1, 0,
4971 7, 0xFBAA, 0x06BE, 0,
4972 6, 0xFBAB, 0x06BE, 0,
4973 4, 0xFBAC, 0x06BE, 0,
4974 5, 0xFBAD, 0x06BE, 0,
4975 7, 0xFBAE, 0x06D2, 0,
4976 6, 0xFBAF, 0x06D2, 0,
4977 7, 0xFBB0, 0x06D3, 0,
4978 6, 0xFBB1, 0x06D3, 0,
4979 7, 0xFBD3, 0x06AD, 0,
4980 6, 0xFBD4, 0x06AD, 0,
4981 4, 0xFBD5, 0x06AD, 0,
4982 5, 0xFBD6, 0x06AD, 0,
4983 7, 0xFBD7, 0x06C7, 0,
4984 6, 0xFBD8, 0x06C7, 0,
4985 7, 0xFBD9, 0x06C6, 0,
4986 6, 0xFBDA, 0x06C6, 0,
4987 7, 0xFBDB, 0x06C8, 0,
4988 6, 0xFBDC, 0x06C8, 0,
4989 7, 0xFBDD, 0x0677, 0,
4990 7, 0xFBDE, 0x06CB, 0,
4991 6, 0xFBDF, 0x06CB, 0,
4992 7, 0xFBE0, 0x06C5, 0,
4993 6, 0xFBE1, 0x06C5, 0,
4994 7, 0xFBE2, 0x06C9, 0,
4995 6, 0xFBE3, 0x06C9, 0,
4996 7, 0xFBE4, 0x06D0, 0,
4997 6, 0xFBE5, 0x06D0, 0,
4998 4, 0xFBE6, 0x06D0, 0,
4999 5, 0xFBE7, 0x06D0, 0,
5000 4, 0xFBE8, 0x0649, 0,
5001 5, 0xFBE9, 0x0649, 0,
5002 7, 0xFBEA, 0x0626, 0x0627, 0,
5003 6, 0xFBEB, 0x0626, 0x0627, 0,
5004 7, 0xFBEC, 0x0626, 0x06D5, 0,
5005 6, 0xFBED, 0x0626, 0x06D5, 0,
5006 7, 0xFBEE, 0x0626, 0x0648, 0,
5007 6, 0xFBEF, 0x0626, 0x0648, 0,
5008 7, 0xFBF0, 0x0626, 0x06C7, 0,
5009 6, 0xFBF1, 0x0626, 0x06C7, 0,
5010 7, 0xFBF2, 0x0626, 0x06C6, 0,
5011 6, 0xFBF3, 0x0626, 0x06C6, 0,
5012 7, 0xFBF4, 0x0626, 0x06C8, 0,
5013 6, 0xFBF5, 0x0626, 0x06C8, 0,
5014 7, 0xFBF6, 0x0626, 0x06D0, 0,
5015 6, 0xFBF7, 0x0626, 0x06D0, 0,
5016 4, 0xFBF8, 0x0626, 0x06D0, 0,
5017 7, 0xFBF9, 0x0626, 0x0649, 0,
5018 6, 0xFBFA, 0x0626, 0x0649, 0,
5019 4, 0xFBFB, 0x0626, 0x0649, 0,
5020 7, 0xFBFC, 0x06CC, 0,
5021 6, 0xFBFD, 0x06CC, 0,
5022 4, 0xFBFE, 0x06CC, 0,
5023 5, 0xFBFF, 0x06CC, 0,
5024 7, 0xFC00, 0x0626, 0x062C, 0,
5025 7, 0xFC01, 0x0626, 0x062D, 0,
5026 7, 0xFC02, 0x0626, 0x0645, 0,
5027 7, 0xFC03, 0x0626, 0x0649, 0,
5028 7, 0xFC04, 0x0626, 0x064A, 0,
5029 7, 0xFC05, 0x0628, 0x062C, 0,
5030 7, 0xFC06, 0x0628, 0x062D, 0,
5031 7, 0xFC07, 0x0628, 0x062E, 0,
5032 7, 0xFC08, 0x0628, 0x0645, 0,
5033 7, 0xFC09, 0x0628, 0x0649, 0,
5034 7, 0xFC0A, 0x0628, 0x064A, 0,
5035 7, 0xFC0B, 0x062A, 0x062C, 0,
5036 7, 0xFC0C, 0x062A, 0x062D, 0,
5037 7, 0xFC0D, 0x062A, 0x062E, 0,
5038 7, 0xFC0E, 0x062A, 0x0645, 0,
5039 7, 0xFC0F, 0x062A, 0x0649, 0,
5040 7, 0xFC10, 0x062A, 0x064A, 0,
5041 7, 0xFC11, 0x062B, 0x062C, 0,
5042 7, 0xFC12, 0x062B, 0x0645, 0,
5043 7, 0xFC13, 0x062B, 0x0649, 0,
5044 7, 0xFC14, 0x062B, 0x064A, 0,
5045 7, 0xFC15, 0x062C, 0x062D, 0,
5046 7, 0xFC16, 0x062C, 0x0645, 0,
5047 7, 0xFC17, 0x062D, 0x062C, 0,
5048 7, 0xFC18, 0x062D, 0x0645, 0,
5049 7, 0xFC19, 0x062E, 0x062C, 0,
5050 7, 0xFC1A, 0x062E, 0x062D, 0,
5051 7, 0xFC1B, 0x062E, 0x0645, 0,
5052 7, 0xFC1C, 0x0633, 0x062C, 0,
5053 7, 0xFC1D, 0x0633, 0x062D, 0,
5054 7, 0xFC1E, 0x0633, 0x062E, 0,
5055 7, 0xFC1F, 0x0633, 0x0645, 0,
5056 7, 0xFC20, 0x0635, 0x062D, 0,
5057 7, 0xFC21, 0x0635, 0x0645, 0,
5058 7, 0xFC22, 0x0636, 0x062C, 0,
5059 7, 0xFC23, 0x0636, 0x062D, 0,
5060 7, 0xFC24, 0x0636, 0x062E, 0,
5061 7, 0xFC25, 0x0636, 0x0645, 0,
5062 7, 0xFC26, 0x0637, 0x062D, 0,
5063 7, 0xFC27, 0x0637, 0x0645, 0,
5064 7, 0xFC28, 0x0638, 0x0645, 0,
5065 7, 0xFC29, 0x0639, 0x062C, 0,
5066 7, 0xFC2A, 0x0639, 0x0645, 0,
5067 7, 0xFC2B, 0x063A, 0x062C, 0,
5068 7, 0xFC2C, 0x063A, 0x0645, 0,
5069 7, 0xFC2D, 0x0641, 0x062C, 0,
5070 7, 0xFC2E, 0x0641, 0x062D, 0,
5071 7, 0xFC2F, 0x0641, 0x062E, 0,
5072 7, 0xFC30, 0x0641, 0x0645, 0,
5073 7, 0xFC31, 0x0641, 0x0649, 0,
5074 7, 0xFC32, 0x0641, 0x064A, 0,
5075 7, 0xFC33, 0x0642, 0x062D, 0,
5076 7, 0xFC34, 0x0642, 0x0645, 0,
5077 7, 0xFC35, 0x0642, 0x0649, 0,
5078 7, 0xFC36, 0x0642, 0x064A, 0,
5079 7, 0xFC37, 0x0643, 0x0627, 0,
5080 7, 0xFC38, 0x0643, 0x062C, 0,
5081 7, 0xFC39, 0x0643, 0x062D, 0,
5082 7, 0xFC3A, 0x0643, 0x062E, 0,
5083 7, 0xFC3B, 0x0643, 0x0644, 0,
5084 7, 0xFC3C, 0x0643, 0x0645, 0,
5085 7, 0xFC3D, 0x0643, 0x0649, 0,
5086 7, 0xFC3E, 0x0643, 0x064A, 0,
5087 7, 0xFC3F, 0x0644, 0x062C, 0,
5088 7, 0xFC40, 0x0644, 0x062D, 0,
5089 7, 0xFC41, 0x0644, 0x062E, 0,
5090 7, 0xFC42, 0x0644, 0x0645, 0,
5091 7, 0xFC43, 0x0644, 0x0649, 0,
5092 7, 0xFC44, 0x0644, 0x064A, 0,
5093 7, 0xFC45, 0x0645, 0x062C, 0,
5094 7, 0xFC46, 0x0645, 0x062D, 0,
5095 7, 0xFC47, 0x0645, 0x062E, 0,
5096 7, 0xFC48, 0x0645, 0x0645, 0,
5097 7, 0xFC49, 0x0645, 0x0649, 0,
5098 7, 0xFC4A, 0x0645, 0x064A, 0,
5099 7, 0xFC4B, 0x0646, 0x062C, 0,
5100 7, 0xFC4C, 0x0646, 0x062D, 0,
5101 7, 0xFC4D, 0x0646, 0x062E, 0,
5102 7, 0xFC4E, 0x0646, 0x0645, 0,
5103 7, 0xFC4F, 0x0646, 0x0649, 0,
5104 7, 0xFC50, 0x0646, 0x064A, 0,
5105 7, 0xFC51, 0x0647, 0x062C, 0,
5106 7, 0xFC52, 0x0647, 0x0645, 0,
5107 7, 0xFC53, 0x0647, 0x0649, 0,
5108 7, 0xFC54, 0x0647, 0x064A, 0,
5109 7, 0xFC55, 0x064A, 0x062C, 0,
5110 7, 0xFC56, 0x064A, 0x062D, 0,
5111 7, 0xFC57, 0x064A, 0x062E, 0,
5112 7, 0xFC58, 0x064A, 0x0645, 0,
5113 7, 0xFC59, 0x064A, 0x0649, 0,
5114 7, 0xFC5A, 0x064A, 0x064A, 0,
5115 7, 0xFC5B, 0x0630, 0x0670, 0,
5116 7, 0xFC5C, 0x0631, 0x0670, 0,
5117 7, 0xFC5D, 0x0649, 0x0670, 0,
5118 7, 0xFC5E, 0x0020, 0x064C, 0x0651, 0,
5119 7, 0xFC5F, 0x0020, 0x064D, 0x0651, 0,
5120 7, 0xFC60, 0x0020, 0x064E, 0x0651, 0,
5121 7, 0xFC61, 0x0020, 0x064F, 0x0651, 0,
5122 7, 0xFC62, 0x0020, 0x0650, 0x0651, 0,
5123 7, 0xFC63, 0x0020, 0x0651, 0x0670, 0,
5124 6, 0xFC64, 0x0626, 0x0631, 0,
5125 6, 0xFC65, 0x0626, 0x0632, 0,
5126 6, 0xFC66, 0x0626, 0x0645, 0,
5127 6, 0xFC67, 0x0626, 0x0646, 0,
5128 6, 0xFC68, 0x0626, 0x0649, 0,
5129 6, 0xFC69, 0x0626, 0x064A, 0,
5130 6, 0xFC6A, 0x0628, 0x0631, 0,
5131 6, 0xFC6B, 0x0628, 0x0632, 0,
5132 6, 0xFC6C, 0x0628, 0x0645, 0,
5133 6, 0xFC6D, 0x0628, 0x0646, 0,
5134 6, 0xFC6E, 0x0628, 0x0649, 0,
5135 6, 0xFC6F, 0x0628, 0x064A, 0,
5136 6, 0xFC70, 0x062A, 0x0631, 0,
5137 6, 0xFC71, 0x062A, 0x0632, 0,
5138 6, 0xFC72, 0x062A, 0x0645, 0,
5139 6, 0xFC73, 0x062A, 0x0646, 0,
5140 6, 0xFC74, 0x062A, 0x0649, 0,
5141 6, 0xFC75, 0x062A, 0x064A, 0,
5142 6, 0xFC76, 0x062B, 0x0631, 0,
5143 6, 0xFC77, 0x062B, 0x0632, 0,
5144 6, 0xFC78, 0x062B, 0x0645, 0,
5145 6, 0xFC79, 0x062B, 0x0646, 0,
5146 6, 0xFC7A, 0x062B, 0x0649, 0,
5147 6, 0xFC7B, 0x062B, 0x064A, 0,
5148 6, 0xFC7C, 0x0641, 0x0649, 0,
5149 6, 0xFC7D, 0x0641, 0x064A, 0,
5150 6, 0xFC7E, 0x0642, 0x0649, 0,
5151 6, 0xFC7F, 0x0642, 0x064A, 0,
5152 6, 0xFC80, 0x0643, 0x0627, 0,
5153 6, 0xFC81, 0x0643, 0x0644, 0,
5154 6, 0xFC82, 0x0643, 0x0645, 0,
5155 6, 0xFC83, 0x0643, 0x0649, 0,
5156 6, 0xFC84, 0x0643, 0x064A, 0,
5157 6, 0xFC85, 0x0644, 0x0645, 0,
5158 6, 0xFC86, 0x0644, 0x0649, 0,
5159 6, 0xFC87, 0x0644, 0x064A, 0,
5160 6, 0xFC88, 0x0645, 0x0627, 0,
5161 6, 0xFC89, 0x0645, 0x0645, 0,
5162 6, 0xFC8A, 0x0646, 0x0631, 0,
5163 6, 0xFC8B, 0x0646, 0x0632, 0,
5164 6, 0xFC8C, 0x0646, 0x0645, 0,
5165 6, 0xFC8D, 0x0646, 0x0646, 0,
5166 6, 0xFC8E, 0x0646, 0x0649, 0,
5167 6, 0xFC8F, 0x0646, 0x064A, 0,
5168 6, 0xFC90, 0x0649, 0x0670, 0,
5169 6, 0xFC91, 0x064A, 0x0631, 0,
5170 6, 0xFC92, 0x064A, 0x0632, 0,
5171 6, 0xFC93, 0x064A, 0x0645, 0,
5172 6, 0xFC94, 0x064A, 0x0646, 0,
5173 6, 0xFC95, 0x064A, 0x0649, 0,
5174 6, 0xFC96, 0x064A, 0x064A, 0,
5175 4, 0xFC97, 0x0626, 0x062C, 0,
5176 4, 0xFC98, 0x0626, 0x062D, 0,
5177 4, 0xFC99, 0x0626, 0x062E, 0,
5178 4, 0xFC9A, 0x0626, 0x0645, 0,
5179 4, 0xFC9B, 0x0626, 0x0647, 0,
5180 4, 0xFC9C, 0x0628, 0x062C, 0,
5181 4, 0xFC9D, 0x0628, 0x062D, 0,
5182 4, 0xFC9E, 0x0628, 0x062E, 0,
5183 4, 0xFC9F, 0x0628, 0x0645, 0,
5184 4, 0xFCA0, 0x0628, 0x0647, 0,
5185 4, 0xFCA1, 0x062A, 0x062C, 0,
5186 4, 0xFCA2, 0x062A, 0x062D, 0,
5187 4, 0xFCA3, 0x062A, 0x062E, 0,
5188 4, 0xFCA4, 0x062A, 0x0645, 0,
5189 4, 0xFCA5, 0x062A, 0x0647, 0,
5190 4, 0xFCA6, 0x062B, 0x0645, 0,
5191 4, 0xFCA7, 0x062C, 0x062D, 0,
5192 4, 0xFCA8, 0x062C, 0x0645, 0,
5193 4, 0xFCA9, 0x062D, 0x062C, 0,
5194 4, 0xFCAA, 0x062D, 0x0645, 0,
5195 4, 0xFCAB, 0x062E, 0x062C, 0,
5196 4, 0xFCAC, 0x062E, 0x0645, 0,
5197 4, 0xFCAD, 0x0633, 0x062C, 0,
5198 4, 0xFCAE, 0x0633, 0x062D, 0,
5199 4, 0xFCAF, 0x0633, 0x062E, 0,
5200 4, 0xFCB0, 0x0633, 0x0645, 0,
5201 4, 0xFCB1, 0x0635, 0x062D, 0,
5202 4, 0xFCB2, 0x0635, 0x062E, 0,
5203 4, 0xFCB3, 0x0635, 0x0645, 0,
5204 4, 0xFCB4, 0x0636, 0x062C, 0,
5205 4, 0xFCB5, 0x0636, 0x062D, 0,
5206 4, 0xFCB6, 0x0636, 0x062E, 0,
5207 4, 0xFCB7, 0x0636, 0x0645, 0,
5208 4, 0xFCB8, 0x0637, 0x062D, 0,
5209 4, 0xFCB9, 0x0638, 0x0645, 0,
5210 4, 0xFCBA, 0x0639, 0x062C, 0,
5211 4, 0xFCBB, 0x0639, 0x0645, 0,
5212 4, 0xFCBC, 0x063A, 0x062C, 0,
5213 4, 0xFCBD, 0x063A, 0x0645, 0,
5214 4, 0xFCBE, 0x0641, 0x062C, 0,
5215 4, 0xFCBF, 0x0641, 0x062D, 0,
5216 4, 0xFCC0, 0x0641, 0x062E, 0,
5217 4, 0xFCC1, 0x0641, 0x0645, 0,
5218 4, 0xFCC2, 0x0642, 0x062D, 0,
5219 4, 0xFCC3, 0x0642, 0x0645, 0,
5220 4, 0xFCC4, 0x0643, 0x062C, 0,
5221 4, 0xFCC5, 0x0643, 0x062D, 0,
5222 4, 0xFCC6, 0x0643, 0x062E, 0,
5223 4, 0xFCC7, 0x0643, 0x0644, 0,
5224 4, 0xFCC8, 0x0643, 0x0645, 0,
5225 4, 0xFCC9, 0x0644, 0x062C, 0,
5226 4, 0xFCCA, 0x0644, 0x062D, 0,
5227 4, 0xFCCB, 0x0644, 0x062E, 0,
5228 4, 0xFCCC, 0x0644, 0x0645, 0,
5229 4, 0xFCCD, 0x0644, 0x0647, 0,
5230 4, 0xFCCE, 0x0645, 0x062C, 0,
5231 4, 0xFCCF, 0x0645, 0x062D, 0,
5232 4, 0xFCD0, 0x0645, 0x062E, 0,
5233 4, 0xFCD1, 0x0645, 0x0645, 0,
5234 4, 0xFCD2, 0x0646, 0x062C, 0,
5235 4, 0xFCD3, 0x0646, 0x062D, 0,
5236 4, 0xFCD4, 0x0646, 0x062E, 0,
5237 4, 0xFCD5, 0x0646, 0x0645, 0,
5238 4, 0xFCD6, 0x0646, 0x0647, 0,
5239 4, 0xFCD7, 0x0647, 0x062C, 0,
5240 4, 0xFCD8, 0x0647, 0x0645, 0,
5241 4, 0xFCD9, 0x0647, 0x0670, 0,
5242 4, 0xFCDA, 0x064A, 0x062C, 0,
5243 4, 0xFCDB, 0x064A, 0x062D, 0,
5244 4, 0xFCDC, 0x064A, 0x062E, 0,
5245 4, 0xFCDD, 0x064A, 0x0645, 0,
5246 4, 0xFCDE, 0x064A, 0x0647, 0,
5247 5, 0xFCDF, 0x0626, 0x0645, 0,
5248 5, 0xFCE0, 0x0626, 0x0647, 0,
5249 5, 0xFCE1, 0x0628, 0x0645, 0,
5250 5, 0xFCE2, 0x0628, 0x0647, 0,
5251 5, 0xFCE3, 0x062A, 0x0645, 0,
5252 5, 0xFCE4, 0x062A, 0x0647, 0,
5253 5, 0xFCE5, 0x062B, 0x0645, 0,
5254 5, 0xFCE6, 0x062B, 0x0647, 0,
5255 5, 0xFCE7, 0x0633, 0x0645, 0,
5256 5, 0xFCE8, 0x0633, 0x0647, 0,
5257 5, 0xFCE9, 0x0634, 0x0645, 0,
5258 5, 0xFCEA, 0x0634, 0x0647, 0,
5259 5, 0xFCEB, 0x0643, 0x0644, 0,
5260 5, 0xFCEC, 0x0643, 0x0645, 0,
5261 5, 0xFCED, 0x0644, 0x0645, 0,
5262 5, 0xFCEE, 0x0646, 0x0645, 0,
5263 5, 0xFCEF, 0x0646, 0x0647, 0,
5264 5, 0xFCF0, 0x064A, 0x0645, 0,
5265 5, 0xFCF1, 0x064A, 0x0647, 0,
5266 5, 0xFCF2, 0x0640, 0x064E, 0x0651, 0,
5267 5, 0xFCF3, 0x0640, 0x064F, 0x0651, 0,
5268 5, 0xFCF4, 0x0640, 0x0650, 0x0651, 0,
5269 7, 0xFCF5, 0x0637, 0x0649, 0,
5270 7, 0xFCF6, 0x0637, 0x064A, 0,
5271 7, 0xFCF7, 0x0639, 0x0649, 0,
5272 7, 0xFCF8, 0x0639, 0x064A, 0,
5273 7, 0xFCF9, 0x063A, 0x0649, 0,
5274 7, 0xFCFA, 0x063A, 0x064A, 0,
5275 7, 0xFCFB, 0x0633, 0x0649, 0,
5276 7, 0xFCFC, 0x0633, 0x064A, 0,
5277 7, 0xFCFD, 0x0634, 0x0649, 0,
5278 7, 0xFCFE, 0x0634, 0x064A, 0,
5279 7, 0xFCFF, 0x062D, 0x0649, 0,
5280 7, 0xFD00, 0x062D, 0x064A, 0,
5281 7, 0xFD01, 0x062C, 0x0649, 0,
5282 7, 0xFD02, 0x062C, 0x064A, 0,
5283 7, 0xFD03, 0x062E, 0x0649, 0,
5284 7, 0xFD04, 0x062E, 0x064A, 0,
5285 7, 0xFD05, 0x0635, 0x0649, 0,
5286 7, 0xFD06, 0x0635, 0x064A, 0,
5287 7, 0xFD07, 0x0636, 0x0649, 0,
5288 7, 0xFD08, 0x0636, 0x064A, 0,
5289 7, 0xFD09, 0x0634, 0x062C, 0,
5290 7, 0xFD0A, 0x0634, 0x062D, 0,
5291 7, 0xFD0B, 0x0634, 0x062E, 0,
5292 7, 0xFD0C, 0x0634, 0x0645, 0,
5293 7, 0xFD0D, 0x0634, 0x0631, 0,
5294 7, 0xFD0E, 0x0633, 0x0631, 0,
5295 7, 0xFD0F, 0x0635, 0x0631, 0,
5296 7, 0xFD10, 0x0636, 0x0631, 0,
5297 6, 0xFD11, 0x0637, 0x0649, 0,
5298 6, 0xFD12, 0x0637, 0x064A, 0,
5299 6, 0xFD13, 0x0639, 0x0649, 0,
5300 6, 0xFD14, 0x0639, 0x064A, 0,
5301 6, 0xFD15, 0x063A, 0x0649, 0,
5302 6, 0xFD16, 0x063A, 0x064A, 0,
5303 6, 0xFD17, 0x0633, 0x0649, 0,
5304 6, 0xFD18, 0x0633, 0x064A, 0,
5305 6, 0xFD19, 0x0634, 0x0649, 0,
5306 6, 0xFD1A, 0x0634, 0x064A, 0,
5307 6, 0xFD1B, 0x062D, 0x0649, 0,
5308 6, 0xFD1C, 0x062D, 0x064A, 0,
5309 6, 0xFD1D, 0x062C, 0x0649, 0,
5310 6, 0xFD1E, 0x062C, 0x064A, 0,
5311 6, 0xFD1F, 0x062E, 0x0649, 0,
5312 6, 0xFD20, 0x062E, 0x064A, 0,
5313 6, 0xFD21, 0x0635, 0x0649, 0,
5314 6, 0xFD22, 0x0635, 0x064A, 0,
5315 6, 0xFD23, 0x0636, 0x0649, 0,
5316 6, 0xFD24, 0x0636, 0x064A, 0,
5317 6, 0xFD25, 0x0634, 0x062C, 0,
5318 6, 0xFD26, 0x0634, 0x062D, 0,
5319 6, 0xFD27, 0x0634, 0x062E, 0,
5320 6, 0xFD28, 0x0634, 0x0645, 0,
5321 6, 0xFD29, 0x0634, 0x0631, 0,
5322 6, 0xFD2A, 0x0633, 0x0631, 0,
5323 6, 0xFD2B, 0x0635, 0x0631, 0,
5324 6, 0xFD2C, 0x0636, 0x0631, 0,
5325 4, 0xFD2D, 0x0634, 0x062C, 0,
5326 4, 0xFD2E, 0x0634, 0x062D, 0,
5327 4, 0xFD2F, 0x0634, 0x062E, 0,
5328 4, 0xFD30, 0x0634, 0x0645, 0,
5329 4, 0xFD31, 0x0633, 0x0647, 0,
5330 4, 0xFD32, 0x0634, 0x0647, 0,
5331 4, 0xFD33, 0x0637, 0x0645, 0,
5332 5, 0xFD34, 0x0633, 0x062C, 0,
5333 5, 0xFD35, 0x0633, 0x062D, 0,
5334 5, 0xFD36, 0x0633, 0x062E, 0,
5335 5, 0xFD37, 0x0634, 0x062C, 0,
5336 5, 0xFD38, 0x0634, 0x062D, 0,
5337 5, 0xFD39, 0x0634, 0x062E, 0,
5338 5, 0xFD3A, 0x0637, 0x0645, 0,
5339 5, 0xFD3B, 0x0638, 0x0645, 0,
5340 6, 0xFD3C, 0x0627, 0x064B, 0,
5341 7, 0xFD3D, 0x0627, 0x064B, 0,
5342 4, 0xFD50, 0x062A, 0x062C, 0x0645, 0,
5343 6, 0xFD51, 0x062A, 0x062D, 0x062C, 0,
5344 4, 0xFD52, 0x062A, 0x062D, 0x062C, 0,
5345 4, 0xFD53, 0x062A, 0x062D, 0x0645, 0,
5346 4, 0xFD54, 0x062A, 0x062E, 0x0645, 0,
5347 4, 0xFD55, 0x062A, 0x0645, 0x062C, 0,
5348 4, 0xFD56, 0x062A, 0x0645, 0x062D, 0,
5349 4, 0xFD57, 0x062A, 0x0645, 0x062E, 0,
5350 6, 0xFD58, 0x062C, 0x0645, 0x062D, 0,
5351 4, 0xFD59, 0x062C, 0x0645, 0x062D, 0,
5352 6, 0xFD5A, 0x062D, 0x0645, 0x064A, 0,
5353 6, 0xFD5B, 0x062D, 0x0645, 0x0649, 0,
5354 4, 0xFD5C, 0x0633, 0x062D, 0x062C, 0,
5355 4, 0xFD5D, 0x0633, 0x062C, 0x062D, 0,
5356 6, 0xFD5E, 0x0633, 0x062C, 0x0649, 0,
5357 6, 0xFD5F, 0x0633, 0x0645, 0x062D, 0,
5358 4, 0xFD60, 0x0633, 0x0645, 0x062D, 0,
5359 4, 0xFD61, 0x0633, 0x0645, 0x062C, 0,
5360 6, 0xFD62, 0x0633, 0x0645, 0x0645, 0,
5361 4, 0xFD63, 0x0633, 0x0645, 0x0645, 0,
5362 6, 0xFD64, 0x0635, 0x062D, 0x062D, 0,
5363 4, 0xFD65, 0x0635, 0x062D, 0x062D, 0,
5364 6, 0xFD66, 0x0635, 0x0645, 0x0645, 0,
5365 6, 0xFD67, 0x0634, 0x062D, 0x0645, 0,
5366 4, 0xFD68, 0x0634, 0x062D, 0x0645, 0,
5367 6, 0xFD69, 0x0634, 0x062C, 0x064A, 0,
5368 6, 0xFD6A, 0x0634, 0x0645, 0x062E, 0,
5369 4, 0xFD6B, 0x0634, 0x0645, 0x062E, 0,
5370 6, 0xFD6C, 0x0634, 0x0645, 0x0645, 0,
5371 4, 0xFD6D, 0x0634, 0x0645, 0x0645, 0,
5372 6, 0xFD6E, 0x0636, 0x062D, 0x0649, 0,
5373 6, 0xFD6F, 0x0636, 0x062E, 0x0645, 0,
5374 4, 0xFD70, 0x0636, 0x062E, 0x0645, 0,
5375 6, 0xFD71, 0x0637, 0x0645, 0x062D, 0,
5376 4, 0xFD72, 0x0637, 0x0645, 0x062D, 0,
5377 4, 0xFD73, 0x0637, 0x0645, 0x0645, 0,
5378 6, 0xFD74, 0x0637, 0x0645, 0x064A, 0,
5379 6, 0xFD75, 0x0639, 0x062C, 0x0645, 0,
5380 6, 0xFD76, 0x0639, 0x0645, 0x0645, 0,
5381 4, 0xFD77, 0x0639, 0x0645, 0x0645, 0,
5382 6, 0xFD78, 0x0639, 0x0645, 0x0649, 0,
5383 6, 0xFD79, 0x063A, 0x0645, 0x0645, 0,
5384 6, 0xFD7A, 0x063A, 0x0645, 0x064A, 0,
5385 6, 0xFD7B, 0x063A, 0x0645, 0x0649, 0,
5386 6, 0xFD7C, 0x0641, 0x062E, 0x0645, 0,
5387 4, 0xFD7D, 0x0641, 0x062E, 0x0645, 0,
5388 6, 0xFD7E, 0x0642, 0x0645, 0x062D, 0,
5389 6, 0xFD7F, 0x0642, 0x0645, 0x0645, 0,
5390 6, 0xFD80, 0x0644, 0x062D, 0x0645, 0,
5391 6, 0xFD81, 0x0644, 0x062D, 0x064A, 0,
5392 6, 0xFD82, 0x0644, 0x062D, 0x0649, 0,
5393 4, 0xFD83, 0x0644, 0x062C, 0x062C, 0,
5394 6, 0xFD84, 0x0644, 0x062C, 0x062C, 0,
5395 6, 0xFD85, 0x0644, 0x062E, 0x0645, 0,
5396 4, 0xFD86, 0x0644, 0x062E, 0x0645, 0,
5397 6, 0xFD87, 0x0644, 0x0645, 0x062D, 0,
5398 4, 0xFD88, 0x0644, 0x0645, 0x062D, 0,
5399 4, 0xFD89, 0x0645, 0x062D, 0x062C, 0,
5400 4, 0xFD8A, 0x0645, 0x062D, 0x0645, 0,
5401 6, 0xFD8B, 0x0645, 0x062D, 0x064A, 0,
5402 4, 0xFD8C, 0x0645, 0x062C, 0x062D, 0,
5403 4, 0xFD8D, 0x0645, 0x062C, 0x0645, 0,
5404 4, 0xFD8E, 0x0645, 0x062E, 0x062C, 0,
5405 4, 0xFD8F, 0x0645, 0x062E, 0x0645, 0,
5406 4, 0xFD92, 0x0645, 0x062C, 0x062E, 0,
5407 4, 0xFD93, 0x0647, 0x0645, 0x062C, 0,
5408 4, 0xFD94, 0x0647, 0x0645, 0x0645, 0,
5409 4, 0xFD95, 0x0646, 0x062D, 0x0645, 0,
5410 6, 0xFD96, 0x0646, 0x062D, 0x0649, 0,
5411 6, 0xFD97, 0x0646, 0x062C, 0x0645, 0,
5412 4, 0xFD98, 0x0646, 0x062C, 0x0645, 0,
5413 6, 0xFD99, 0x0646, 0x062C, 0x0649, 0,
5414 6, 0xFD9A, 0x0646, 0x0645, 0x064A, 0,
5415 6, 0xFD9B, 0x0646, 0x0645, 0x0649, 0,
5416 6, 0xFD9C, 0x064A, 0x0645, 0x0645, 0,
5417 4, 0xFD9D, 0x064A, 0x0645, 0x0645, 0,
5418 6, 0xFD9E, 0x0628, 0x062E, 0x064A, 0,
5419 6, 0xFD9F, 0x062A, 0x062C, 0x064A, 0,
5420 6, 0xFDA0, 0x062A, 0x062C, 0x0649, 0,
5421 6, 0xFDA1, 0x062A, 0x062E, 0x064A, 0,
5422 6, 0xFDA2, 0x062A, 0x062E, 0x0649, 0,
5423 6, 0xFDA3, 0x062A, 0x0645, 0x064A, 0,
5424 6, 0xFDA4, 0x062A, 0x0645, 0x0649, 0,
5425 6, 0xFDA5, 0x062C, 0x0645, 0x064A, 0,
5426 6, 0xFDA6, 0x062C, 0x062D, 0x0649, 0,
5427 6, 0xFDA7, 0x062C, 0x0645, 0x0649, 0,
5428 6, 0xFDA8, 0x0633, 0x062E, 0x0649, 0,
5429 6, 0xFDA9, 0x0635, 0x062D, 0x064A, 0,
5430 6, 0xFDAA, 0x0634, 0x062D, 0x064A, 0,
5431 6, 0xFDAB, 0x0636, 0x062D, 0x064A, 0,
5432 6, 0xFDAC, 0x0644, 0x062C, 0x064A, 0,
5433 6, 0xFDAD, 0x0644, 0x0645, 0x064A, 0,
5434 6, 0xFDAE, 0x064A, 0x062D, 0x064A, 0,
5435 6, 0xFDAF, 0x064A, 0x062C, 0x064A, 0,
5436 6, 0xFDB0, 0x064A, 0x0645, 0x064A, 0,
5437 6, 0xFDB1, 0x0645, 0x0645, 0x064A, 0,
5438 6, 0xFDB2, 0x0642, 0x0645, 0x064A, 0,
5439 6, 0xFDB3, 0x0646, 0x062D, 0x064A, 0,
5440 4, 0xFDB4, 0x0642, 0x0645, 0x062D, 0,
5441 4, 0xFDB5, 0x0644, 0x062D, 0x0645, 0,
5442 6, 0xFDB6, 0x0639, 0x0645, 0x064A, 0,
5443 6, 0xFDB7, 0x0643, 0x0645, 0x064A, 0,
5444 4, 0xFDB8, 0x0646, 0x062C, 0x062D, 0,
5445 6, 0xFDB9, 0x0645, 0x062E, 0x064A, 0,
5446 4, 0xFDBA, 0x0644, 0x062C, 0x0645, 0,
5447 6, 0xFDBB, 0x0643, 0x0645, 0x0645, 0,
5448 6, 0xFDBC, 0x0644, 0x062C, 0x0645, 0,
5449 6, 0xFDBD, 0x0646, 0x062C, 0x062D, 0,
5450 6, 0xFDBE, 0x062C, 0x062D, 0x064A, 0,
5451 6, 0xFDBF, 0x062D, 0x062C, 0x064A, 0,
5452 6, 0xFDC0, 0x0645, 0x062C, 0x064A, 0,
5453 6, 0xFDC1, 0x0641, 0x0645, 0x064A, 0,
5454 6, 0xFDC2, 0x0628, 0x062D, 0x064A, 0,
5455 4, 0xFDC3, 0x0643, 0x0645, 0x0645, 0,
5456 4, 0xFDC4, 0x0639, 0x062C, 0x0645, 0,
5457 4, 0xFDC5, 0x0635, 0x0645, 0x0645, 0,
5458 6, 0xFDC6, 0x0633, 0x062E, 0x064A, 0,
5459 6, 0xFDC7, 0x0646, 0x062C, 0x064A, 0,
5460 7, 0xFDF0, 0x0635, 0x0644, 0x06D2, 0,
5461 7, 0xFDF1, 0x0642, 0x0644, 0x06D2, 0,
5462 7, 0xFDF2, 0x0627, 0x0644, 0x0644, 0x0647, 0,
5463 7, 0xFDF3, 0x0627, 0x0643, 0x0628, 0x0631, 0,
5464 7, 0xFDF4, 0x0645, 0x062D, 0x0645, 0x062F, 0,
5465 7, 0xFDF5, 0x0635, 0x0644, 0x0639, 0x0645, 0,
5466 7, 0xFDF6, 0x0631, 0x0633, 0x0648, 0x0644, 0,
5467 7, 0xFDF7, 0x0639, 0x0644, 0x064A, 0x0647, 0,
5468 7, 0xFDF8, 0x0648, 0x0633, 0x0644, 0x0645, 0,
5469 7, 0xFDF9, 0x0635, 0x0644, 0x0649, 0,
5470 7, 0xFDFA, 0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645, 0,
5471 7, 0xFDFB, 0x062C, 0x0644, 0x0020, 0x062C, 0x0644, 0x0627, 0x0644, 0x0647, 0,
5472 11, 0xFE30, 0x2025, 0,
5473 11, 0xFE31, 0x2014, 0,
5474 11, 0xFE32, 0x2013, 0,
5475 11, 0xFE33, 0x005F, 0,
5476 11, 0xFE34, 0x005F, 0,
5477 11, 0xFE35, 0x0028, 0,
5478 11, 0xFE36, 0x0029, 0,
5479 11, 0xFE37, 0x007B, 0,
5480 11, 0xFE38, 0x007D, 0,
5481 11, 0xFE39, 0x3014, 0,
5482 11, 0xFE3A, 0x3015, 0,
5483 11, 0xFE3B, 0x3010, 0,
5484 11, 0xFE3C, 0x3011, 0,
5485 11, 0xFE3D, 0x300A, 0,
5486 11, 0xFE3E, 0x300B, 0,
5487 11, 0xFE3F, 0x3008, 0,
5488 11, 0xFE40, 0x3009, 0,
5489 11, 0xFE41, 0x300C, 0,
5490 11, 0xFE42, 0x300D, 0,
5491 11, 0xFE43, 0x300E, 0,
5492 11, 0xFE44, 0x300F, 0,
5493 16, 0xFE49, 0x203E, 0,
5494 16, 0xFE4A, 0x203E, 0,
5495 16, 0xFE4B, 0x203E, 0,
5496 16, 0xFE4C, 0x203E, 0,
5497 16, 0xFE4D, 0x005F, 0,
5498 16, 0xFE4E, 0x005F, 0,
5499 16, 0xFE4F, 0x005F, 0,
5500 14, 0xFE50, 0x002C, 0,
5501 14, 0xFE51, 0x3001, 0,
5502 14, 0xFE52, 0x002E, 0,
5503 14, 0xFE54, 0x003B, 0,
5504 14, 0xFE55, 0x003A, 0,
5505 14, 0xFE56, 0x003F, 0,
5506 14, 0xFE57, 0x0021, 0,
5507 14, 0xFE58, 0x2014, 0,
5508 14, 0xFE59, 0x0028, 0,
5509 14, 0xFE5A, 0x0029, 0,
5510 14, 0xFE5B, 0x007B, 0,
5511 14, 0xFE5C, 0x007D, 0,
5512 14, 0xFE5D, 0x3014, 0,
5513 14, 0xFE5E, 0x3015, 0,
5514 14, 0xFE5F, 0x0023, 0,
5515 14, 0xFE60, 0x0026, 0,
5516 14, 0xFE61, 0x002A, 0,
5517 14, 0xFE62, 0x002B, 0,
5518 14, 0xFE63, 0x002D, 0,
5519 14, 0xFE64, 0x003C, 0,
5520 14, 0xFE65, 0x003E, 0,
5521 14, 0xFE66, 0x003D, 0,
5522 14, 0xFE68, 0x005C, 0,
5523 14, 0xFE69, 0x0024, 0,
5524 14, 0xFE6A, 0x0025, 0,
5525 14, 0xFE6B, 0x0040, 0,
5526 7, 0xFE70, 0x0020, 0x064B, 0,
5527 5, 0xFE71, 0x0640, 0x064B, 0,
5528 7, 0xFE72, 0x0020, 0x064C, 0,
5529 7, 0xFE74, 0x0020, 0x064D, 0,
5530 7, 0xFE76, 0x0020, 0x064E, 0,
5531 5, 0xFE77, 0x0640, 0x064E, 0,
5532 7, 0xFE78, 0x0020, 0x064F, 0,
5533 5, 0xFE79, 0x0640, 0x064F, 0,
5534 7, 0xFE7A, 0x0020, 0x0650, 0,
5535 5, 0xFE7B, 0x0640, 0x0650, 0,
5536 7, 0xFE7C, 0x0020, 0x0651, 0,
5537 5, 0xFE7D, 0x0640, 0x0651, 0,
5538 7, 0xFE7E, 0x0020, 0x0652, 0,
5539 5, 0xFE7F, 0x0640, 0x0652, 0,
5540 7, 0xFE80, 0x0621, 0,
5541 7, 0xFE81, 0x0622, 0,
5542 6, 0xFE82, 0x0622, 0,
5543 7, 0xFE83, 0x0623, 0,
5544 6, 0xFE84, 0x0623, 0,
5545 7, 0xFE85, 0x0624, 0,
5546 6, 0xFE86, 0x0624, 0,
5547 7, 0xFE87, 0x0625, 0,
5548 6, 0xFE88, 0x0625, 0,
5549 7, 0xFE89, 0x0626, 0,
5550 6, 0xFE8A, 0x0626, 0,
5551 4, 0xFE8B, 0x0626, 0,
5552 5, 0xFE8C, 0x0626, 0,
5553 7, 0xFE8D, 0x0627, 0,
5554 6, 0xFE8E, 0x0627, 0,
5555 7, 0xFE8F, 0x0628, 0,
5556 6, 0xFE90, 0x0628, 0,
5557 4, 0xFE91, 0x0628, 0,
5558 5, 0xFE92, 0x0628, 0,
5559 7, 0xFE93, 0x0629, 0,
5560 6, 0xFE94, 0x0629, 0,
5561 7, 0xFE95, 0x062A, 0,
5562 6, 0xFE96, 0x062A, 0,
5563 4, 0xFE97, 0x062A, 0,
5564 5, 0xFE98, 0x062A, 0,
5565 7, 0xFE99, 0x062B, 0,
5566 6, 0xFE9A, 0x062B, 0,
5567 4, 0xFE9B, 0x062B, 0,
5568 5, 0xFE9C, 0x062B, 0,
5569 7, 0xFE9D, 0x062C, 0,
5570 6, 0xFE9E, 0x062C, 0,
5571 4, 0xFE9F, 0x062C, 0,
5572 5, 0xFEA0, 0x062C, 0,
5573 7, 0xFEA1, 0x062D, 0,
5574 6, 0xFEA2, 0x062D, 0,
5575 4, 0xFEA3, 0x062D, 0,
5576 5, 0xFEA4, 0x062D, 0,
5577 7, 0xFEA5, 0x062E, 0,
5578 6, 0xFEA6, 0x062E, 0,
5579 4, 0xFEA7, 0x062E, 0,
5580 5, 0xFEA8, 0x062E, 0,
5581 7, 0xFEA9, 0x062F, 0,
5582 6, 0xFEAA, 0x062F, 0,
5583 7, 0xFEAB, 0x0630, 0,
5584 6, 0xFEAC, 0x0630, 0,
5585 7, 0xFEAD, 0x0631, 0,
5586 6, 0xFEAE, 0x0631, 0,
5587 7, 0xFEAF, 0x0632, 0,
5588 6, 0xFEB0, 0x0632, 0,
5589 7, 0xFEB1, 0x0633, 0,
5590 6, 0xFEB2, 0x0633, 0,
5591 4, 0xFEB3, 0x0633, 0,
5592 5, 0xFEB4, 0x0633, 0,
5593 7, 0xFEB5, 0x0634, 0,
5594 6, 0xFEB6, 0x0634, 0,
5595 4, 0xFEB7, 0x0634, 0,
5596 5, 0xFEB8, 0x0634, 0,
5597 7, 0xFEB9, 0x0635, 0,
5598 6, 0xFEBA, 0x0635, 0,
5599 4, 0xFEBB, 0x0635, 0,
5600 5, 0xFEBC, 0x0635, 0,
5601 7, 0xFEBD, 0x0636, 0,
5602 6, 0xFEBE, 0x0636, 0,
5603 4, 0xFEBF, 0x0636, 0,
5604 5, 0xFEC0, 0x0636, 0,
5605 7, 0xFEC1, 0x0637, 0,
5606 6, 0xFEC2, 0x0637, 0,
5607 4, 0xFEC3, 0x0637, 0,
5608 5, 0xFEC4, 0x0637, 0,
5609 7, 0xFEC5, 0x0638, 0,
5610 6, 0xFEC6, 0x0638, 0,
5611 4, 0xFEC7, 0x0638, 0,
5612 5, 0xFEC8, 0x0638, 0,
5613 7, 0xFEC9, 0x0639, 0,
5614 6, 0xFECA, 0x0639, 0,
5615 4, 0xFECB, 0x0639, 0,
5616 5, 0xFECC, 0x0639, 0,
5617 7, 0xFECD, 0x063A, 0,
5618 6, 0xFECE, 0x063A, 0,
5619 4, 0xFECF, 0x063A, 0,
5620 5, 0xFED0, 0x063A, 0,
5621 7, 0xFED1, 0x0641, 0,
5622 6, 0xFED2, 0x0641, 0,
5623 4, 0xFED3, 0x0641, 0,
5624 5, 0xFED4, 0x0641, 0,
5625 7, 0xFED5, 0x0642, 0,
5626 6, 0xFED6, 0x0642, 0,
5627 4, 0xFED7, 0x0642, 0,
5628 5, 0xFED8, 0x0642, 0,
5629 7, 0xFED9, 0x0643, 0,
5630 6, 0xFEDA, 0x0643, 0,
5631 4, 0xFEDB, 0x0643, 0,
5632 5, 0xFEDC, 0x0643, 0,
5633 7, 0xFEDD, 0x0644, 0,
5634 6, 0xFEDE, 0x0644, 0,
5635 4, 0xFEDF, 0x0644, 0,
5636 5, 0xFEE0, 0x0644, 0,
5637 7, 0xFEE1, 0x0645, 0,
5638 6, 0xFEE2, 0x0645, 0,
5639 4, 0xFEE3, 0x0645, 0,
5640 5, 0xFEE4, 0x0645, 0,
5641 7, 0xFEE5, 0x0646, 0,
5642 6, 0xFEE6, 0x0646, 0,
5643 4, 0xFEE7, 0x0646, 0,
5644 5, 0xFEE8, 0x0646, 0,
5645 7, 0xFEE9, 0x0647, 0,
5646 6, 0xFEEA, 0x0647, 0,
5647 4, 0xFEEB, 0x0647, 0,
5648 5, 0xFEEC, 0x0647, 0,
5649 7, 0xFEED, 0x0648, 0,
5650 6, 0xFEEE, 0x0648, 0,
5651 7, 0xFEEF, 0x0649, 0,
5652 6, 0xFEF0, 0x0649, 0,
5653 7, 0xFEF1, 0x064A, 0,
5654 6, 0xFEF2, 0x064A, 0,
5655 4, 0xFEF3, 0x064A, 0,
5656 5, 0xFEF4, 0x064A, 0,
5657 7, 0xFEF5, 0x0644, 0x0622, 0,
5658 6, 0xFEF6, 0x0644, 0x0622, 0,
5659 7, 0xFEF7, 0x0644, 0x0623, 0,
5660 6, 0xFEF8, 0x0644, 0x0623, 0,
5661 7, 0xFEF9, 0x0644, 0x0625, 0,
5662 6, 0xFEFA, 0x0644, 0x0625, 0,
5663 7, 0xFEFB, 0x0644, 0x0627, 0,
5664 6, 0xFEFC, 0x0644, 0x0627, 0,
5665 12, 0xFF01, 0x0021, 0,
5666 12, 0xFF02, 0x0022, 0,
5667 12, 0xFF03, 0x0023, 0,
5668 12, 0xFF04, 0x0024, 0,
5669 12, 0xFF05, 0x0025, 0,
5670 12, 0xFF06, 0x0026, 0,
5671 12, 0xFF07, 0x0027, 0,
5672 12, 0xFF08, 0x0028, 0,
5673 12, 0xFF09, 0x0029, 0,
5674 12, 0xFF0A, 0x002A, 0,
5675 12, 0xFF0B, 0x002B, 0,
5676 12, 0xFF0C, 0x002C, 0,
5677 12, 0xFF0D, 0x002D, 0,
5678 12, 0xFF0E, 0x002E, 0,
5679 12, 0xFF0F, 0x002F, 0,
5680 12, 0xFF10, 0x0030, 0,
5681 12, 0xFF11, 0x0031, 0,
5682 12, 0xFF12, 0x0032, 0,
5683 12, 0xFF13, 0x0033, 0,
5684 12, 0xFF14, 0x0034, 0,
5685 12, 0xFF15, 0x0035, 0,
5686 12, 0xFF16, 0x0036, 0,
5687 12, 0xFF17, 0x0037, 0,
5688 12, 0xFF18, 0x0038, 0,
5689 12, 0xFF19, 0x0039, 0,
5690 12, 0xFF1A, 0x003A, 0,
5691 12, 0xFF1B, 0x003B, 0,
5692 12, 0xFF1C, 0x003C, 0,
5693 12, 0xFF1D, 0x003D, 0,
5694 12, 0xFF1E, 0x003E, 0,
5695 12, 0xFF1F, 0x003F, 0,
5696 12, 0xFF20, 0x0040, 0,
5697 12, 0xFF21, 0x0041, 0,
5698 12, 0xFF22, 0x0042, 0,
5699 12, 0xFF23, 0x0043, 0,
5700 12, 0xFF24, 0x0044, 0,
5701 12, 0xFF25, 0x0045, 0,
5702 12, 0xFF26, 0x0046, 0,
5703 12, 0xFF27, 0x0047, 0,
5704 12, 0xFF28, 0x0048, 0,
5705 12, 0xFF29, 0x0049, 0,
5706 12, 0xFF2A, 0x004A, 0,
5707 12, 0xFF2B, 0x004B, 0,
5708 12, 0xFF2C, 0x004C, 0,
5709 12, 0xFF2D, 0x004D, 0,
5710 12, 0xFF2E, 0x004E, 0,
5711 12, 0xFF2F, 0x004F, 0,
5712 12, 0xFF30, 0x0050, 0,
5713 12, 0xFF31, 0x0051, 0,
5714 12, 0xFF32, 0x0052, 0,
5715 12, 0xFF33, 0x0053, 0,
5716 12, 0xFF34, 0x0054, 0,
5717 12, 0xFF35, 0x0055, 0,
5718 12, 0xFF36, 0x0056, 0,
5719 12, 0xFF37, 0x0057, 0,
5720 12, 0xFF38, 0x0058, 0,
5721 12, 0xFF39, 0x0059, 0,
5722 12, 0xFF3A, 0x005A, 0,
5723 12, 0xFF3B, 0x005B, 0,
5724 12, 0xFF3C, 0x005C, 0,
5725 12, 0xFF3D, 0x005D, 0,
5726 12, 0xFF3E, 0x005E, 0,
5727 12, 0xFF3F, 0x005F, 0,
5728 12, 0xFF40, 0x0060, 0,
5729 12, 0xFF41, 0x0061, 0,
5730 12, 0xFF42, 0x0062, 0,
5731 12, 0xFF43, 0x0063, 0,
5732 12, 0xFF44, 0x0064, 0,
5733 12, 0xFF45, 0x0065, 0,
5734 12, 0xFF46, 0x0066, 0,
5735 12, 0xFF47, 0x0067, 0,
5736 12, 0xFF48, 0x0068, 0,
5737 12, 0xFF49, 0x0069, 0,
5738 12, 0xFF4A, 0x006A, 0,
5739 12, 0xFF4B, 0x006B, 0,
5740 12, 0xFF4C, 0x006C, 0,
5741 12, 0xFF4D, 0x006D, 0,
5742 12, 0xFF4E, 0x006E, 0,
5743 12, 0xFF4F, 0x006F, 0,
5744 12, 0xFF50, 0x0070, 0,
5745 12, 0xFF51, 0x0071, 0,
5746 12, 0xFF52, 0x0072, 0,
5747 12, 0xFF53, 0x0073, 0,
5748 12, 0xFF54, 0x0074, 0,
5749 12, 0xFF55, 0x0075, 0,
5750 12, 0xFF56, 0x0076, 0,
5751 12, 0xFF57, 0x0077, 0,
5752 12, 0xFF58, 0x0078, 0,
5753 12, 0xFF59, 0x0079, 0,
5754 12, 0xFF5A, 0x007A, 0,
5755 12, 0xFF5B, 0x007B, 0,
5756 12, 0xFF5C, 0x007C, 0,
5757 12, 0xFF5D, 0x007D, 0,
5758 12, 0xFF5E, 0x007E, 0,
5759 13, 0xFF61, 0x3002, 0,
5760 13, 0xFF62, 0x300C, 0,
5761 13, 0xFF63, 0x300D, 0,
5762 13, 0xFF64, 0x3001, 0,
5763 13, 0xFF65, 0x30FB, 0,
5764 13, 0xFF66, 0x30F2, 0,
5765 13, 0xFF67, 0x30A1, 0,
5766 13, 0xFF68, 0x30A3, 0,
5767 13, 0xFF69, 0x30A5, 0,
5768 13, 0xFF6A, 0x30A7, 0,
5769 13, 0xFF6B, 0x30A9, 0,
5770 13, 0xFF6C, 0x30E3, 0,
5771 13, 0xFF6D, 0x30E5, 0,
5772 13, 0xFF6E, 0x30E7, 0,
5773 13, 0xFF6F, 0x30C3, 0,
5774 13, 0xFF70, 0x30FC, 0,
5775 13, 0xFF71, 0x30A2, 0,
5776 13, 0xFF72, 0x30A4, 0,
5777 13, 0xFF73, 0x30A6, 0,
5778 13, 0xFF74, 0x30A8, 0,
5779 13, 0xFF75, 0x30AA, 0,
5780 13, 0xFF76, 0x30AB, 0,
5781 13, 0xFF77, 0x30AD, 0,
5782 13, 0xFF78, 0x30AF, 0,
5783 13, 0xFF79, 0x30B1, 0,
5784 13, 0xFF7A, 0x30B3, 0,
5785 13, 0xFF7B, 0x30B5, 0,
5786 13, 0xFF7C, 0x30B7, 0,
5787 13, 0xFF7D, 0x30B9, 0,
5788 13, 0xFF7E, 0x30BB, 0,
5789 13, 0xFF7F, 0x30BD, 0,
5790 13, 0xFF80, 0x30BF, 0,
5791 13, 0xFF81, 0x30C1, 0,
5792 13, 0xFF82, 0x30C4, 0,
5793 13, 0xFF83, 0x30C6, 0,
5794 13, 0xFF84, 0x30C8, 0,
5795 13, 0xFF85, 0x30CA, 0,
5796 13, 0xFF86, 0x30CB, 0,
5797 13, 0xFF87, 0x30CC, 0,
5798 13, 0xFF88, 0x30CD, 0,
5799 13, 0xFF89, 0x30CE, 0,
5800 13, 0xFF8A, 0x30CF, 0,
5801 13, 0xFF8B, 0x30D2, 0,
5802 13, 0xFF8C, 0x30D5, 0,
5803 13, 0xFF8D, 0x30D8, 0,
5804 13, 0xFF8E, 0x30DB, 0,
5805 13, 0xFF8F, 0x30DE, 0,
5806 13, 0xFF90, 0x30DF, 0,
5807 13, 0xFF91, 0x30E0, 0,
5808 13, 0xFF92, 0x30E1, 0,
5809 13, 0xFF93, 0x30E2, 0,
5810 13, 0xFF94, 0x30E4, 0,
5811 13, 0xFF95, 0x30E6, 0,
5812 13, 0xFF96, 0x30E8, 0,
5813 13, 0xFF97, 0x30E9, 0,
5814 13, 0xFF98, 0x30EA, 0,
5815 13, 0xFF99, 0x30EB, 0,
5816 13, 0xFF9A, 0x30EC, 0,
5817 13, 0xFF9B, 0x30ED, 0,
5818 13, 0xFF9C, 0x30EF, 0,
5819 13, 0xFF9D, 0x30F3, 0,
5820 13, 0xFF9E, 0x3099, 0,
5821 13, 0xFF9F, 0x309A, 0,
5822 13, 0xFFA0, 0x3164, 0,
5823 13, 0xFFA1, 0x3131, 0,
5824 13, 0xFFA2, 0x3132, 0,
5825 13, 0xFFA3, 0x3133, 0,
5826 13, 0xFFA4, 0x3134, 0,
5827 13, 0xFFA5, 0x3135, 0,
5828 13, 0xFFA6, 0x3136, 0,
5829 13, 0xFFA7, 0x3137, 0,
5830 13, 0xFFA8, 0x3138, 0,
5831 13, 0xFFA9, 0x3139, 0,
5832 13, 0xFFAA, 0x313A, 0,
5833 13, 0xFFAB, 0x313B, 0,
5834 13, 0xFFAC, 0x313C, 0,
5835 13, 0xFFAD, 0x313D, 0,
5836 13, 0xFFAE, 0x313E, 0,
5837 13, 0xFFAF, 0x313F, 0,
5838 13, 0xFFB0, 0x3140, 0,
5839 13, 0xFFB1, 0x3141, 0,
5840 13, 0xFFB2, 0x3142, 0,
5841 13, 0xFFB3, 0x3143, 0,
5842 13, 0xFFB4, 0x3144, 0,
5843 13, 0xFFB5, 0x3145, 0,
5844 13, 0xFFB6, 0x3146, 0,
5845 13, 0xFFB7, 0x3147, 0,
5846 13, 0xFFB8, 0x3148, 0,
5847 13, 0xFFB9, 0x3149, 0,
5848 13, 0xFFBA, 0x314A, 0,
5849 13, 0xFFBB, 0x314B, 0,
5850 13, 0xFFBC, 0x314C, 0,
5851 13, 0xFFBD, 0x314D, 0,
5852 13, 0xFFBE, 0x314E, 0,
5853 13, 0xFFC2, 0x314F, 0,
5854 13, 0xFFC3, 0x3150, 0,
5855 13, 0xFFC4, 0x3151, 0,
5856 13, 0xFFC5, 0x3152, 0,
5857 13, 0xFFC6, 0x3153, 0,
5858 13, 0xFFC7, 0x3154, 0,
5859 13, 0xFFCA, 0x3155, 0,
5860 13, 0xFFCB, 0x3156, 0,
5861 13, 0xFFCC, 0x3157, 0,
5862 13, 0xFFCD, 0x3158, 0,
5863 13, 0xFFCE, 0x3159, 0,
5864 13, 0xFFCF, 0x315A, 0,
5865 13, 0xFFD2, 0x315B, 0,
5866 13, 0xFFD3, 0x315C, 0,
5867 13, 0xFFD4, 0x315D, 0,
5868 13, 0xFFD5, 0x315E, 0,
5869 13, 0xFFD6, 0x315F, 0,
5870 13, 0xFFD7, 0x3160, 0,
5871 13, 0xFFDA, 0x3161, 0,
5872 13, 0xFFDB, 0x3162, 0,
5873 13, 0xFFDC, 0x3163, 0,
5874 12, 0xFFE0, 0x00A2, 0,
5875 12, 0xFFE1, 0x00A3, 0,
5876 12, 0xFFE2, 0x00AC, 0,
5877 12, 0xFFE3, 0x00AF, 0,
5878 12, 0xFFE4, 0x00A6, 0,
5879 12, 0xFFE5, 0x00A5, 0,
5880 12, 0xFFE6, 0x20A9, 0,
5881 13, 0xFFE8, 0x2502, 0,
5882 13, 0xFFE9, 0x2190, 0,
5883 13, 0xFFEA, 0x2191, 0,
5884 13, 0xFFEB, 0x2192, 0,
5885 13, 0xFFEC, 0x2193, 0,
5886 13, 0xFFED, 0x25A0, 0,
5887 13, 0xFFEE, 0x25CB, 0,
5891 static const Q_UINT16 di_00[] = {
5892 0, 0, 0, 0, 0, 0, 0, 0,
5893 0, 0, 0, 0, 0, 0, 0, 0,
5894 0, 0, 0, 0, 0, 0, 0, 0,
5895 0, 0, 0, 0, 0, 0, 0, 0,
5896 0, 0, 0, 0, 0, 0, 0, 0,
5897 0, 0, 0, 0, 0, 0, 0, 0,
5898 0, 0, 0, 0, 0, 0, 0, 0,
5899 0, 0, 0, 0, 0, 0, 0, 0,
5900 0, 0, 0, 0, 0, 0, 0, 0,
5901 0, 0, 0, 0, 0, 0, 0, 0,
5902 0, 0, 0, 0, 0, 0, 0, 0,
5903 0, 0, 0, 0, 0, 0, 0, 0,
5904 0, 0, 0, 0, 0, 0, 0, 0,
5905 0, 0, 0, 0, 0, 0, 0, 0,
5906 0, 0, 0, 0, 0, 0, 0, 0,
5907 0, 0, 0, 0, 0, 0, 0, 0,
5908 0, 0, 0, 0, 0, 0, 0, 0,
5909 0, 0, 0, 0, 0, 0, 0, 0,
5910 0, 0, 0, 0, 0, 0, 0, 0,
5911 0, 0, 0, 0, 0, 0, 0, 0,
5912 1, 0, 0, 0, 0, 0, 0, 0,
5913 5, 0, 10, 0, 0, 0, 0, 14,
5914 0, 0, 19, 23, 27, 32, 0, 0,
5915 36, 41, 45, 0, 49, 55, 61, 0,
5916 67, 72, 77, 82, 87, 92, 0, 97,
5917 102, 107, 112, 117, 122, 127, 132, 137,
5918 0, 142, 147, 152, 157, 162, 167, 0,
5919 0, 172, 177, 182, 187, 192, 0, 0,
5920 197, 202, 207, 212, 217, 222, 0, 227,
5921 232, 237, 242, 247, 252, 257, 262, 267,
5922 0, 272, 277, 282, 287, 292, 297, 0,
5923 0, 302, 307, 312, 317, 322, 0, 327,
5926 static const Q_UINT16 di_01[] = {
5927 332, 337, 342, 347, 352, 357, 362, 367,
5928 372, 377, 382, 387, 392, 397, 402, 407,
5929 0, 0, 412, 417, 422, 427, 432, 437,
5930 442, 447, 452, 457, 462, 467, 472, 477,
5931 482, 487, 492, 497, 502, 507, 0, 0,
5932 512, 517, 522, 527, 532, 537, 542, 547,
5933 552, 0, 557, 562, 567, 572, 577, 582,
5934 0, 587, 592, 597, 602, 607, 612, 617,
5935 622, 0, 0, 627, 632, 637, 642, 647,
5936 652, 657, 0, 0, 662, 667, 672, 677,
5937 682, 687, 0, 0, 692, 697, 702, 707,
5938 712, 717, 722, 727, 732, 737, 742, 747,
5939 752, 757, 762, 767, 772, 777, 0, 0,
5940 782, 787, 792, 797, 802, 807, 812, 817,
5941 822, 827, 832, 837, 842, 847, 852, 857,
5942 862, 867, 872, 877, 882, 887, 892, 897,
5943 0, 0, 0, 0, 0, 0, 0, 0,
5944 0, 0, 0, 0, 0, 0, 0, 0,
5945 0, 0, 0, 0, 0, 0, 0, 0,
5946 0, 0, 0, 0, 0, 0, 0, 0,
5947 901, 906, 0, 0, 0, 0, 0, 0,
5948 0, 0, 0, 0, 0, 0, 0, 911,
5949 916, 0, 0, 0, 0, 0, 0, 0,
5950 0, 0, 0, 0, 0, 0, 0, 0,
5951 0, 0, 0, 0, 921, 926, 931, 936,
5952 941, 946, 951, 956, 961, 966, 971, 976,
5953 981, 986, 991, 996, 1001, 1006, 1011, 1016,
5954 1021, 1026, 1031, 1036, 1041, 0, 1046, 1051,
5955 1056, 1061, 1066, 1071, 0, 0, 1076, 1081,
5956 1086, 1091, 1096, 1101, 1106, 1111, 1116, 1121,
5957 1126, 1131, 1136, 1141, 1146, 1151, 0, 0,
5958 1156, 1161, 1166, 1171, 1176, 1181, 1186, 1191,
5961 static const Q_UINT16 di_02[] = {
5962 1196, 1201, 1206, 1211, 1216, 1221, 1226, 1231,
5963 1236, 1241, 1246, 1251, 1256, 1261, 1266, 1271,
5964 1276, 1281, 1286, 1291, 1296, 1301, 1306, 1311,
5965 1316, 1321, 1326, 1331, 0, 0, 1336, 1341,
5966 0, 0, 0, 0, 0, 0, 1346, 1351,
5967 1356, 1361, 1366, 1371, 1376, 1381, 1386, 1391,
5968 1396, 1401, 1406, 1411, 0, 0, 0, 0,
5969 0, 0, 0, 0, 0, 0, 0, 0,
5970 0, 0, 0, 0, 0, 0, 0, 0,
5971 0, 0, 0, 0, 0, 0, 0, 0,
5972 0, 0, 0, 0, 0, 0, 0, 0,
5973 0, 0, 0, 0, 0, 0, 0, 0,
5974 0, 0, 0, 0, 0, 0, 0, 0,
5975 0, 0, 0, 0, 0, 0, 0, 0,
5976 0, 0, 0, 0, 0, 0, 0, 0,
5977 0, 0, 0, 0, 0, 0, 0, 0,
5978 0, 0, 0, 0, 0, 0, 0, 0,
5979 0, 0, 0, 0, 0, 0, 0, 0,
5980 0, 0, 0, 0, 0, 0, 0, 0,
5981 0, 0, 0, 0, 0, 0, 0, 0,
5982 0, 0, 0, 0, 0, 0, 0, 0,
5983 0, 0, 0, 0, 0, 0, 0, 0,
5984 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444,
5985 1448, 0, 0, 0, 0, 0, 0, 0,
5986 0, 0, 0, 0, 0, 0, 0, 0,
5987 0, 0, 0, 0, 0, 0, 0, 0,
5988 0, 0, 0, 0, 0, 0, 0, 0,
5989 1452, 1457, 1462, 1467, 1472, 1477, 0, 0,
5990 1482, 1486, 1490, 1494, 1498, 0, 0, 0,
5991 0, 0, 0, 0, 0, 0, 0, 0,
5992 0, 0, 0, 0, 0, 0, 0, 0,
5993 0, 0, 0, 0, 0, 0, 0, 0,
5996 static const Q_UINT16 di_03[] = {
5997 0, 0, 0, 0, 0, 0, 0, 0,
5998 0, 0, 0, 0, 0, 0, 0, 0,
5999 0, 0, 0, 0, 0, 0, 0, 0,
6000 0, 0, 0, 0, 0, 0, 0, 0,
6001 0, 0, 0, 0, 0, 0, 0, 0,
6002 0, 0, 0, 0, 0, 0, 0, 0,
6003 0, 0, 0, 0, 0, 0, 0, 0,
6004 0, 0, 0, 0, 0, 0, 0, 0,
6005 1502, 1506, 0, 1510, 1514, 0, 0, 0,
6006 0, 0, 0, 0, 0, 0, 0, 0,
6007 0, 0, 0, 0, 0, 0, 0, 0,
6008 0, 0, 0, 0, 0, 0, 0, 0,
6009 0, 0, 0, 0, 0, 0, 0, 0,
6010 0, 0, 0, 0, 0, 0, 0, 0,
6011 0, 0, 0, 0, 1519, 0, 0, 0,
6012 0, 0, 1523, 0, 0, 0, 1528, 0,
6013 0, 0, 0, 0, 1532, 1537, 1542, 1547,
6014 1551, 1556, 1561, 0, 1566, 0, 1571, 1576,
6015 1581, 0, 0, 0, 0, 0, 0, 0,
6016 0, 0, 0, 0, 0, 0, 0, 0,
6017 0, 0, 0, 0, 0, 0, 0, 0,
6018 0, 0, 1586, 1591, 1596, 1601, 1606, 1611,
6019 1616, 0, 0, 0, 0, 0, 0, 0,
6020 0, 0, 0, 0, 0, 0, 0, 0,
6021 0, 0, 0, 0, 0, 0, 0, 0,
6022 0, 0, 1621, 1626, 1631, 1636, 1641, 0,
6023 1646, 1650, 1654, 1658, 1663, 1668, 1672, 0,
6024 0, 0, 0, 0, 0, 0, 0, 0,
6025 0, 0, 0, 0, 0, 0, 0, 0,
6026 0, 0, 0, 0, 0, 0, 0, 0,
6027 1676, 1680, 1684, 0, 0, 0, 0, 0,
6028 0, 0, 0, 0, 0, 0, 0, 0,
6031 static const Q_UINT16 di_04[] = {
6032 1688, 1693, 0, 1698, 0, 0, 0, 1703,
6033 0, 0, 0, 0, 1708, 1713, 1718, 0,
6034 0, 0, 0, 0, 0, 0, 0, 0,
6035 0, 1723, 0, 0, 0, 0, 0, 0,
6036 0, 0, 0, 0, 0, 0, 0, 0,
6037 0, 0, 0, 0, 0, 0, 0, 0,
6038 0, 0, 0, 0, 0, 0, 0, 0,
6039 0, 1728, 0, 0, 0, 0, 0, 0,
6040 0, 0, 0, 0, 0, 0, 0, 0,
6041 0, 0, 0, 0, 0, 0, 0, 0,
6042 1733, 1738, 0, 1743, 0, 0, 0, 1748,
6043 0, 0, 0, 0, 1753, 1758, 1763, 0,
6044 0, 0, 0, 0, 0, 0, 0, 0,
6045 0, 0, 0, 0, 0, 0, 0, 0,
6046 0, 0, 0, 0, 0, 0, 1768, 1773,
6047 0, 0, 0, 0, 0, 0, 0, 0,
6048 0, 0, 0, 0, 0, 0, 0, 0,
6049 0, 0, 0, 0, 0, 0, 0, 0,
6050 0, 0, 0, 0, 0, 0, 0, 0,
6051 0, 0, 0, 0, 0, 0, 0, 0,
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, 1778, 1783, 0, 0, 0, 0, 0,
6057 0, 0, 0, 0, 0, 0, 0, 0,
6058 1788, 1793, 1798, 1803, 0, 0, 1808, 1813,
6059 0, 0, 1818, 1823, 1828, 1833, 1838, 1843,
6060 0, 0, 1848, 1853, 1858, 1863, 1868, 1873,
6061 0, 0, 1878, 1883, 1888, 1893, 1898, 1903,
6062 1908, 1913, 1918, 1923, 1928, 1933, 0, 0,
6063 1938, 1943, 0, 0, 0, 0, 0, 0,
6066 static const Q_UINT16 di_05[] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
6073 0, 0, 0, 0, 0, 0, 0, 0,
6074 0, 0, 0, 0, 0, 0, 0, 0,
6075 0, 0, 0, 0, 0, 0, 0, 0,
6076 0, 0, 0, 0, 0, 0, 0, 0,
6077 0, 0, 0, 0, 0, 0, 0, 0,
6078 0, 0, 0, 0, 0, 0, 0, 0,
6079 0, 0, 0, 0, 0, 0, 0, 0,
6080 0, 0, 0, 0, 0, 0, 0, 0,
6081 0, 0, 0, 0, 0, 0, 0, 0,
6082 0, 0, 0, 0, 0, 0, 0, 0,
6083 0, 0, 0, 0, 0, 0, 0, 1948,
6084 0, 0, 0, 0, 0, 0, 0, 0,
6085 0, 0, 0, 0, 0, 0, 0, 0,
6086 0, 0, 0, 0, 0, 0, 0, 0,
6087 0, 0, 0, 0, 0, 0, 0, 0,
6088 0, 0, 0, 0, 0, 0, 0, 0,
6089 0, 0, 0, 0, 0, 0, 0, 0,
6090 0, 0, 0, 0, 0, 0, 0, 0,
6091 0, 0, 0, 0, 0, 0, 0, 0,
6092 0, 0, 0, 0, 0, 0, 0, 0,
6093 0, 0, 0, 0, 0, 0, 0, 0,
6094 0, 0, 0, 0, 0, 0, 0, 0,
6095 0, 0, 0, 0, 0, 0, 0, 0,
6096 0, 0, 0, 0, 0, 0, 0, 0,
6097 0, 0, 0, 0, 0, 0, 0, 0,
6098 0, 0, 0, 0, 0, 0, 0, 0,
6101 static const Q_UINT16 di_06[] = {
6102 0, 0, 0, 0, 0, 0, 0, 0,
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, 1953, 1958, 1963, 1968, 1973, 0,
6107 0, 0, 0, 0, 0, 0, 0, 0,
6108 0, 0, 0, 0, 0, 0, 0, 0,
6109 0, 0, 0, 0, 0, 0, 0, 0,
6110 0, 0, 0, 0, 0, 0, 0, 0,
6111 0, 0, 0, 0, 0, 0, 0, 0,
6112 0, 0, 0, 0, 0, 0, 0, 0,
6113 0, 0, 0, 0, 0, 0, 0, 0,
6114 0, 0, 0, 0, 0, 0, 0, 0,
6115 0, 0, 0, 0, 0, 0, 0, 0,
6116 0, 0, 0, 0, 0, 1978, 1983, 1988,
6117 1993, 0, 0, 0, 0, 0, 0, 0,
6118 0, 0, 0, 0, 0, 0, 0, 0,
6119 0, 0, 0, 0, 0, 0, 0, 0,
6120 0, 0, 0, 0, 0, 0, 0, 0,
6121 0, 0, 0, 0, 0, 0, 0, 0,
6122 0, 0, 0, 0, 0, 0, 0, 0,
6123 0, 0, 0, 0, 0, 0, 0, 0,
6124 0, 0, 0, 0, 0, 0, 0, 0,
6125 0, 0, 0, 0, 0, 0, 0, 0,
6126 1998, 0, 2003, 0, 0, 0, 0, 0,
6127 0, 0, 0, 0, 0, 0, 0, 0,
6128 0, 0, 0, 2008, 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,
6136 static const Q_UINT16 di_07[] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
6145 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
6150 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
6155 0, 0, 0, 0, 0, 0, 0, 0,
6156 0, 0, 0, 0, 0, 0, 0, 0,
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 0, 0, 0, 0, 0, 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,
6171 static const Q_UINT16 di_09[] = {
6172 0, 0, 0, 0, 0, 0, 0, 0,
6173 0, 0, 0, 0, 0, 0, 0, 0,
6174 0, 0, 0, 0, 0, 0, 0, 0,
6175 0, 0, 0, 0, 0, 0, 0, 0,
6176 0, 0, 0, 0, 0, 0, 0, 0,
6177 0, 2013, 0, 0, 0, 0, 0, 0,
6178 0, 2018, 0, 0, 2023, 0, 0, 0,
6179 0, 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, 0, 0, 0, 0, 0, 0,
6183 2028, 2033, 2038, 2043, 2048, 2053, 2058, 2063,
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 0, 0, 0, 0, 0, 0, 0, 0,
6188 0, 0, 0, 0, 0, 0, 0, 0,
6189 0, 0, 0, 0, 0, 0, 0, 0,
6190 0, 0, 0, 0, 0, 0, 0, 0,
6191 0, 0, 0, 0, 0, 0, 0, 0,
6192 0, 0, 0, 0, 0, 0, 0, 0,
6193 0, 0, 0, 0, 0, 0, 0, 0,
6194 0, 0, 0, 0, 0, 0, 0, 0,
6195 0, 0, 0, 0, 0, 0, 0, 0,
6196 0, 0, 0, 0, 0, 0, 0, 0,
6197 0, 0, 0, 2068, 2073, 0, 0, 0,
6198 0, 0, 0, 0, 0, 0, 0, 0,
6199 0, 0, 0, 0, 2078, 2083, 0, 2088,
6200 0, 0, 0, 0, 0, 0, 0, 0,
6201 0, 0, 0, 0, 0, 0, 0, 0,
6202 0, 0, 0, 0, 0, 0, 0, 0,
6203 0, 0, 0, 0, 0, 0, 0, 0,
6206 static const Q_UINT16 di_0A[] = {
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, 2093, 0, 0, 2098, 0,
6214 0, 0, 0, 0, 0, 0, 0, 0,
6215 0, 0, 0, 0, 0, 0, 0, 0,
6216 0, 0, 0, 0, 0, 0, 0, 0,
6217 0, 0, 0, 0, 0, 0, 0, 0,
6218 0, 2103, 2108, 2113, 0, 0, 2118, 0,
6219 0, 0, 0, 0, 0, 0, 0, 0,
6220 0, 0, 0, 0, 0, 0, 0, 0,
6221 0, 0, 0, 0, 0, 0, 0, 0,
6222 0, 0, 0, 0, 0, 0, 0, 0,
6223 0, 0, 0, 0, 0, 0, 0, 0,
6224 0, 0, 0, 0, 0, 0, 0, 0,
6225 0, 0, 0, 0, 0, 0, 0, 0,
6226 0, 0, 0, 0, 0, 0, 0, 0,
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,
6241 static const Q_UINT16 di_0B[] = {
6242 0, 0, 0, 0, 0, 0, 0, 0,
6243 0, 0, 0, 0, 0, 0, 0, 0,
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 2123, 0, 0, 2128, 2133, 0, 0, 0,
6252 0, 0, 0, 0, 0, 0, 0, 0,
6253 0, 0, 0, 0, 2138, 2143, 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 0, 0, 0, 0, 0, 0, 0, 0,
6260 0, 0, 0, 0, 2148, 0, 0, 0,
6261 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0,
6267 0, 0, 2153, 2158, 2163, 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,
6276 static const Q_UINT16 di_0C[] = {
6277 0, 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 2168, 0, 0, 0, 0, 0, 0, 0,
6287 0, 0, 0, 0, 0, 0, 0, 0,
6288 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
6295 0, 0, 0, 0, 0, 0, 0, 0,
6296 0, 0, 0, 0, 0, 0, 0, 0,
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 2173, 0, 0, 0, 0, 0, 0, 2178,
6302 2183, 0, 2188, 2193, 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,
6311 static const Q_UINT16 di_0D[] = {
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, 2198, 2203, 2208, 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 0, 0, 0, 0, 0, 0, 0, 0,
6330 0, 0, 0, 0, 0, 0, 0, 0,
6331 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0, 0,
6338 0, 0, 0, 0, 0, 0, 0, 0,
6339 0, 0, 2213, 0, 2218, 2223, 2228, 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 0, 0, 0, 0, 0, 0, 0, 0,
6346 static const Q_UINT16 di_0E[] = {
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, 2233, 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, 0, 0, 0, 0, 0,
6358 0, 0, 0, 0, 0, 0, 0, 0,
6359 0, 0, 0, 0, 0, 0, 0, 0,
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 0, 0, 0, 0, 0, 0, 0, 0,
6365 0, 0, 0, 0, 0, 0, 0, 0,
6366 0, 0, 0, 0, 0, 0, 0, 0,
6367 0, 0, 0, 0, 0, 0, 0, 0,
6368 0, 0, 0, 0, 0, 0, 0, 0,
6369 0, 0, 0, 2238, 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, 0, 0, 0, 0, 0,
6374 0, 0, 0, 0, 2243, 2248, 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, 0, 0, 0, 0, 0, 0, 0,
6381 static const Q_UINT16 di_0F[] = {
6382 0, 0, 0, 0, 0, 0, 0, 0,
6383 0, 0, 0, 0, 2253, 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, 2257, 0, 0, 0, 0,
6391 0, 0, 0, 0, 0, 2262, 0, 0,
6392 0, 0, 2267, 0, 0, 0, 0, 2272,
6393 0, 0, 0, 0, 2277, 0, 0, 0,
6394 0, 0, 0, 0, 0, 0, 0, 0,
6395 0, 2282, 0, 0, 0, 0, 0, 0,
6396 0, 0, 0, 2287, 0, 2292, 2297, 2302,
6397 2307, 2312, 0, 0, 0, 0, 0, 0,
6398 0, 2317, 0, 0, 0, 0, 0, 0,
6399 0, 0, 0, 0, 0, 0, 0, 0,
6400 0, 0, 0, 2322, 0, 0, 0, 0,
6401 0, 0, 0, 0, 0, 2327, 0, 0,
6402 0, 0, 2332, 0, 0, 0, 0, 2337,
6403 0, 0, 0, 0, 2342, 0, 0, 0,
6404 0, 0, 0, 0, 0, 0, 0, 0,
6405 0, 2347, 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 0, 0, 0, 0, 0, 0, 0, 0,
6412 0, 0, 0, 0, 0, 0, 0, 0,
6413 0, 0, 0, 0, 0, 0, 0, 0,
6416 static const Q_UINT16 di_10[] = {
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, 0, 0, 0, 0,
6421 0, 0, 0, 0, 0, 0, 2352, 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, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
6435 0, 0, 0, 0, 0, 0, 0, 0,
6436 0, 0, 0, 0, 0, 0, 0, 0,
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 0, 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,
6451 static const Q_UINT16 di_1E[] = {
6452 2357, 2362, 2367, 2372, 2377, 2382, 2387, 2392,
6453 2397, 2402, 2407, 2412, 2417, 2422, 2427, 2432,
6454 2437, 2442, 2447, 2452, 2457, 2462, 2467, 2472,
6455 2477, 2482, 2487, 2492, 2497, 2502, 2507, 2512,
6456 2517, 2522, 2527, 2532, 2537, 2542, 2547, 2552,
6457 2557, 2562, 2567, 2572, 2577, 2582, 2587, 2592,
6458 2597, 2602, 2607, 2612, 2617, 2622, 2627, 2632,
6459 2637, 2642, 2647, 2652, 2657, 2662, 2667, 2672,
6460 2677, 2682, 2687, 2692, 2697, 2702, 2707, 2712,
6461 2717, 2722, 2727, 2732, 2737, 2742, 2747, 2752,
6462 2757, 2762, 2767, 2772, 2777, 2782, 2787, 2792,
6463 2797, 2802, 2807, 2812, 2817, 2822, 2827, 2832,
6464 2837, 2842, 2847, 2852, 2857, 2862, 2867, 2872,
6465 2877, 2882, 2887, 2892, 2897, 2902, 2907, 2912,
6466 2917, 2922, 2927, 2932, 2937, 2942, 2947, 2952,
6467 2957, 2962, 2967, 2972, 2977, 2982, 2987, 2992,
6468 2997, 3002, 3007, 3012, 3017, 3022, 3027, 3032,
6469 3037, 3042, 3047, 3052, 3057, 3062, 3067, 3072,
6470 3077, 3082, 3087, 3092, 3097, 3102, 3107, 3112,
6471 3117, 3122, 3127, 3132, 0, 0, 0, 0,
6472 3137, 3142, 3147, 3152, 3157, 3162, 3167, 3172,
6473 3177, 3182, 3187, 3192, 3197, 3202, 3207, 3212,
6474 3217, 3222, 3227, 3232, 3237, 3242, 3247, 3252,
6475 3257, 3262, 3267, 3272, 3277, 3282, 3287, 3292,
6476 3297, 3302, 3307, 3312, 3317, 3322, 3327, 3332,
6477 3337, 3342, 3347, 3352, 3357, 3362, 3367, 3372,
6478 3377, 3382, 3387, 3392, 3397, 3402, 3407, 3412,
6479 3417, 3422, 3427, 3432, 3437, 3442, 3447, 3452,
6480 3457, 3462, 3467, 3472, 3477, 3482, 3487, 3492,
6481 3497, 3502, 3507, 3512, 3517, 3522, 3527, 3532,
6482 3537, 3542, 3547, 3552, 3557, 3562, 3567, 3572,
6483 3577, 3582, 0, 0, 0, 0, 0, 0,
6486 static const Q_UINT16 di_1F[] = {
6487 3587, 3592, 3597, 3602, 3607, 3612, 3617, 3622,
6488 3627, 3632, 3637, 3642, 3647, 3652, 3657, 3662,
6489 3667, 3672, 3677, 3682, 3687, 3692, 0, 0,
6490 3697, 3702, 3707, 3712, 3717, 3722, 0, 0,
6491 3727, 3732, 3737, 3742, 3747, 3752, 3757, 3762,
6492 3767, 3772, 3777, 3782, 3787, 3792, 3797, 3802,
6493 3807, 3812, 3817, 3822, 3827, 3832, 3837, 3842,
6494 3847, 3852, 3857, 3862, 3867, 3872, 3877, 3882,
6495 3887, 3892, 3897, 3902, 3907, 3912, 0, 0,
6496 3917, 3922, 3927, 3932, 3937, 3942, 0, 0,
6497 3947, 3952, 3957, 3962, 3967, 3972, 3977, 3982,
6498 0, 3987, 0, 3992, 0, 3997, 0, 4002,
6499 4007, 4012, 4017, 4022, 4027, 4032, 4037, 4042,
6500 4047, 4052, 4057, 4062, 4067, 4072, 4077, 4082,
6501 4087, 4092, 4096, 4101, 4105, 4110, 4114, 4119,
6502 4123, 4128, 4132, 4137, 4141, 4146, 0, 0,
6503 4150, 4155, 4160, 4165, 4170, 4175, 4180, 4185,
6504 4190, 4195, 4200, 4205, 4210, 4215, 4220, 4225,
6505 4230, 4235, 4240, 4245, 4250, 4255, 4260, 4265,
6506 4270, 4275, 4280, 4285, 4290, 4295, 4300, 4305,
6507 4310, 4315, 4320, 4325, 4330, 4335, 4340, 4345,
6508 4350, 4355, 4360, 4365, 4370, 4375, 4380, 4385,
6509 4390, 4395, 4400, 4405, 4410, 0, 4415, 4420,
6510 4425, 4430, 4435, 4440, 4444, 4449, 4454, 4458,
6511 4463, 4468, 4473, 4478, 4483, 0, 4488, 4493,
6512 4498, 4503, 4507, 4512, 4516, 4521, 4526, 4531,
6513 4536, 4541, 4546, 4551, 0, 0, 4555, 4560,
6514 4565, 4570, 4575, 4580, 0, 4584, 4589, 4594,
6515 4599, 4604, 4609, 4614, 4618, 4623, 4628, 4633,
6516 4638, 4643, 4648, 4653, 4657, 4662, 4667, 4671,
6517 0, 0, 4675, 4680, 4685, 0, 4690, 4695,
6518 4700, 4705, 4709, 4714, 4718, 4723, 4727, 0,
6521 static const Q_UINT16 di_20[] = {
6522 4732, 4736, 4740, 4744, 4748, 4752, 4756, 4760,
6523 4764, 4768, 4772, 0, 0, 0, 0, 0,
6524 0, 4776, 0, 0, 0, 0, 0, 4780,
6525 0, 0, 0, 0, 0, 0, 0, 0,
6526 0, 0, 0, 0, 4785, 4789, 4794, 0,
6527 0, 0, 0, 0, 0, 0, 0, 4800,
6528 0, 0, 0, 4804, 4809, 0, 4815, 4820,
6529 0, 0, 0, 0, 4826, 0, 4831, 0,
6530 0, 0, 0, 0, 0, 0, 0, 0,
6531 4836, 4841, 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, 0, 0, 0, 0,
6535 0, 0, 0, 0, 0, 0, 0, 0,
6536 4846, 0, 0, 0, 4850, 4854, 4858, 4862,
6537 4866, 4870, 4874, 4878, 4882, 4886, 4890, 4894,
6538 4898, 4902, 4906, 4910, 4914, 4918, 4922, 4926,
6539 4930, 4934, 4938, 4942, 4946, 4950, 4954, 0,
6540 0, 0, 0, 0, 0, 0, 0, 0,
6541 0, 0, 0, 0, 0, 0, 0, 0,
6542 0, 0, 0, 0, 0, 0, 0, 0,
6543 4958, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
6551 0, 0, 0, 0, 0, 0, 0, 0,
6552 0, 0, 0, 0, 0, 0, 0, 0,
6553 0, 0, 0, 0, 0, 0, 0, 0,
6556 static const Q_UINT16 di_21[] = {
6557 4963, 4969, 4975, 4979, 0, 4984, 4990, 4996,
6558 0, 5000, 5005, 5009, 5013, 5017, 5021, 5025,
6559 5029, 5033, 5037, 5041, 0, 5045, 5049, 0,
6560 0, 5054, 5058, 5062, 5066, 5070, 0, 0,
6561 5074, 5079, 5085, 0, 5090, 0, 5094, 0,
6562 5098, 0, 5102, 5106, 5110, 5114, 0, 5118,
6563 5122, 5126, 0, 5130, 5134, 5138, 5142, 5146,
6564 5150, 5154, 0, 0, 0, 0, 0, 0,
6565 0, 0, 0, 0, 0, 0, 0, 0,
6566 0, 0, 0, 0, 0, 0, 0, 0,
6567 0, 0, 0, 5158, 5164, 5170, 5176, 5182,
6568 5188, 5194, 5200, 5206, 5212, 5218, 5224, 5230,
6569 5235, 5239, 5244, 5250, 5255, 5259, 5264, 5270,
6570 5277, 5282, 5286, 5291, 5297, 5301, 5305, 5309,
6571 5313, 5317, 5322, 5328, 5333, 5337, 5342, 5348,
6572 5355, 5360, 5364, 5369, 5375, 5379, 5383, 5387,
6573 0, 0, 0, 0, 0, 0, 0, 0,
6574 0, 0, 0, 0, 0, 0, 0, 0,
6575 0, 0, 0, 0, 0, 0, 0, 0,
6576 0, 0, 5391, 5396, 0, 0, 0, 0,
6577 0, 0, 0, 0, 0, 0, 0, 0,
6578 0, 0, 0, 0, 0, 0, 5401, 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, 0, 0,
6582 0, 0, 0, 0, 0, 5406, 5411, 5416,
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,
6591 static const Q_UINT16 di_22[] = {
6592 0, 0, 0, 0, 5421, 0, 0, 0,
6593 0, 5426, 0, 0, 5431, 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, 5436, 0, 5441, 0,
6597 0, 0, 0, 0, 5446, 5451, 0, 5457,
6598 5462, 0, 0, 0, 0, 0, 0, 0,
6599 0, 0, 0, 0, 0, 0, 0, 0,
6600 0, 5468, 0, 0, 5473, 0, 0, 5478,
6601 0, 5483, 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 5488, 0, 5493, 0, 0, 0, 0, 0,
6605 0, 0, 0, 0, 0, 5498, 5503, 5508,
6606 5513, 5518, 0, 0, 5523, 5528, 0, 0,
6607 5533, 5538, 0, 0, 0, 0, 0, 0,
6608 5543, 5548, 0, 0, 5553, 5558, 0, 0,
6609 5563, 5568, 0, 0, 0, 0, 0, 0,
6610 0, 0, 0, 0, 0, 0, 0, 0,
6611 0, 0, 0, 0, 0, 0, 0, 0,
6612 0, 0, 0, 0, 0, 0, 0, 0,
6613 0, 0, 0, 0, 5573, 5578, 5583, 5588,
6614 0, 0, 0, 0, 0, 0, 0, 0,
6615 0, 0, 0, 0, 0, 0, 0, 0,
6616 0, 0, 0, 0, 0, 0, 0, 0,
6617 0, 0, 0, 0, 0, 0, 0, 0,
6618 0, 0, 0, 0, 0, 0, 0, 0,
6619 0, 0, 0, 0, 0, 0, 0, 0,
6620 5593, 5598, 5603, 5608, 0, 0, 0, 0,
6621 0, 0, 5613, 5618, 5623, 5628, 0, 0,
6622 0, 0, 0, 0, 0, 0, 0, 0,
6623 0, 0, 0, 0, 0, 0, 0, 0,
6626 static const Q_UINT16 di_23[] = {
6627 0, 0, 0, 0, 0, 0, 0, 0,
6628 0, 0, 0, 0, 0, 0, 0, 0,
6629 0, 0, 0, 0, 0, 0, 0, 0,
6630 0, 0, 0, 0, 0, 0, 0, 0,
6631 0, 0, 0, 0, 0, 0, 0, 0,
6632 0, 5633, 5637, 0, 0, 0, 0, 0,
6633 0, 0, 0, 0, 0, 0, 0, 0,
6634 0, 0, 0, 0, 0, 0, 0, 0,
6635 0, 0, 0, 0, 0, 0, 0, 0,
6636 0, 0, 0, 0, 0, 0, 0, 0,
6637 0, 0, 0, 0, 0, 0, 0, 0,
6638 0, 0, 0, 0, 0, 0, 0, 0,
6639 0, 0, 0, 0, 0, 0, 0, 0,
6640 0, 0, 0, 0, 0, 0, 0, 0,
6641 0, 0, 0, 0, 0, 0, 0, 0,
6642 0, 0, 0, 0, 0, 0, 0, 0,
6643 0, 0, 0, 0, 0, 0, 0, 0,
6644 0, 0, 0, 0, 0, 0, 0, 0,
6645 0, 0, 0, 0, 0, 0, 0, 0,
6646 0, 0, 0, 0, 0, 0, 0, 0,
6647 0, 0, 0, 0, 0, 0, 0, 0,
6648 0, 0, 0, 0, 0, 0, 0, 0,
6649 0, 0, 0, 0, 0, 0, 0, 0,
6650 0, 0, 0, 0, 0, 0, 0, 0,
6651 0, 0, 0, 0, 0, 0, 0, 0,
6652 0, 0, 0, 0, 0, 0, 0, 0,
6653 0, 0, 0, 0, 0, 0, 0, 0,
6654 0, 0, 0, 0, 0, 0, 0, 0,
6655 0, 0, 0, 0, 0, 0, 0, 0,
6656 0, 0, 0, 0, 0, 0, 0, 0,
6657 0, 0, 0, 0, 0, 0, 0, 0,
6658 0, 0, 0, 0, 0, 0, 0, 0,
6661 static const Q_UINT16 di_24[] = {
6662 0, 0, 0, 0, 0, 0, 0, 0,
6663 0, 0, 0, 0, 0, 0, 0, 0,
6664 0, 0, 0, 0, 0, 0, 0, 0,
6665 0, 0, 0, 0, 0, 0, 0, 0,
6666 0, 0, 0, 0, 0, 0, 0, 0,
6667 0, 0, 0, 0, 0, 0, 0, 0,
6668 0, 0, 0, 0, 0, 0, 0, 0,
6669 0, 0, 0, 0, 0, 0, 0, 0,
6670 0, 0, 0, 0, 0, 0, 0, 0,
6671 0, 0, 0, 0, 0, 0, 0, 0,
6672 0, 0, 0, 0, 0, 0, 0, 0,
6673 0, 0, 0, 0, 0, 0, 0, 0,
6674 5641, 5645, 5649, 5653, 5657, 5661, 5665, 5669,
6675 5673, 5677, 5682, 5687, 5692, 5697, 5702, 5707,
6676 5712, 5717, 5722, 5727, 5732, 5738, 5744, 5750,
6677 5756, 5762, 5768, 5774, 5780, 5786, 5793, 5800,
6678 5807, 5814, 5821, 5828, 5835, 5842, 5849, 5856,
6679 5863, 5868, 5873, 5878, 5883, 5888, 5893, 5898,
6680 5903, 5908, 5914, 5920, 5926, 5932, 5938, 5944,
6681 5950, 5956, 5962, 5968, 5974, 5980, 5986, 5992,
6682 5998, 6004, 6010, 6016, 6022, 6028, 6034, 6040,
6683 6046, 6052, 6058, 6064, 6070, 6076, 6082, 6088,
6684 6094, 6100, 6106, 6112, 6118, 6124, 6130, 6134,
6685 6138, 6142, 6146, 6150, 6154, 6158, 6162, 6166,
6686 6170, 6174, 6178, 6182, 6186, 6190, 6194, 6198,
6687 6202, 6206, 6210, 6214, 6218, 6222, 6226, 6230,
6688 6234, 6238, 6242, 6246, 6250, 6254, 6258, 6262,
6689 6266, 6270, 6274, 6278, 6282, 6286, 6290, 6294,
6690 6298, 6302, 6306, 6310, 6314, 6318, 6322, 6326,
6691 6330, 6334, 6338, 0, 0, 0, 0, 0,
6692 0, 0, 0, 0, 0, 0, 0, 0,
6693 0, 0, 0, 0, 0, 0, 0, 0,
6696 static const Q_UINT16 di_2E[] = {
6697 0, 0, 0, 0, 0, 0, 0, 0,
6698 0, 0, 0, 0, 0, 0, 0, 0,
6699 0, 0, 0, 0, 0, 0, 0, 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 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
6715 0, 0, 0, 0, 0, 0, 0, 0,
6716 0, 0, 0, 0, 0, 0, 0, 6342,
6717 0, 0, 0, 0, 0, 0, 0, 0,
6718 0, 0, 0, 0, 0, 0, 0, 0,
6719 0, 0, 0, 0, 0, 0, 0, 0,
6720 0, 0, 0, 0, 0, 0, 0, 0,
6721 0, 0, 0, 0, 0, 0, 0, 0,
6722 0, 0, 0, 0, 0, 0, 0, 0,
6723 0, 0, 0, 0, 0, 0, 0, 0,
6724 0, 0, 0, 0, 0, 0, 0, 0,
6725 0, 0, 0, 0, 0, 0, 0, 0,
6726 0, 0, 0, 0, 0, 0, 0, 0,
6727 0, 0, 0, 6346, 0, 0, 0, 0,
6728 0, 0, 0, 0, 0, 0, 0, 0,
6731 static const Q_UINT16 di_2F[] = {
6732 6350, 6354, 6358, 6362, 6366, 6370, 6374, 6378,
6733 6382, 6386, 6390, 6394, 6398, 6402, 6406, 6410,
6734 6414, 6418, 6422, 6426, 6430, 6434, 6438, 6442,
6735 6446, 6450, 6454, 6458, 6462, 6466, 6470, 6474,
6736 6478, 6482, 6486, 6490, 6494, 6498, 6502, 6506,
6737 6510, 6514, 6518, 6522, 6526, 6530, 6534, 6538,
6738 6542, 6546, 6550, 6554, 6558, 6562, 6566, 6570,
6739 6574, 6578, 6582, 6586, 6590, 6594, 6598, 6602,
6740 6606, 6610, 6614, 6618, 6622, 6626, 6630, 6634,
6741 6638, 6642, 6646, 6650, 6654, 6658, 6662, 6666,
6742 6670, 6674, 6678, 6682, 6686, 6690, 6694, 6698,
6743 6702, 6706, 6710, 6714, 6718, 6722, 6726, 6730,
6744 6734, 6738, 6742, 6746, 6750, 6754, 6758, 6762,
6745 6766, 6770, 6774, 6778, 6782, 6786, 6790, 6794,
6746 6798, 6802, 6806, 6810, 6814, 6818, 6822, 6826,
6747 6830, 6834, 6838, 6842, 6846, 6850, 6854, 6858,
6748 6862, 6866, 6870, 6874, 6878, 6882, 6886, 6890,
6749 6894, 6898, 6902, 6906, 6910, 6914, 6918, 6922,
6750 6926, 6930, 6934, 6938, 6942, 6946, 6950, 6954,
6751 6958, 6962, 6966, 6970, 6974, 6978, 6982, 6986,
6752 6990, 6994, 6998, 7002, 7006, 7010, 7014, 7018,
6753 7022, 7026, 7030, 7034, 7038, 7042, 7046, 7050,
6754 7054, 7058, 7062, 7066, 7070, 7074, 7078, 7082,
6755 7086, 7090, 7094, 7098, 7102, 7106, 7110, 7114,
6756 7118, 7122, 7126, 7130, 7134, 7138, 7142, 7146,
6757 7150, 7154, 7158, 7162, 7166, 7170, 7174, 7178,
6758 7182, 7186, 7190, 7194, 7198, 7202, 0, 0,
6759 0, 0, 0, 0, 0, 0, 0, 0,
6760 0, 0, 0, 0, 0, 0, 0, 0,
6761 0, 0, 0, 0, 0, 0, 0, 0,
6762 0, 0, 0, 0, 0, 0, 0, 0,
6763 0, 0, 0, 0, 0, 0, 0, 0,
6766 static const Q_UINT16 di_30[] = {
6767 7206, 0, 0, 0, 0, 0, 0, 0,
6768 0, 0, 0, 0, 0, 0, 0, 0,
6769 0, 0, 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, 0, 0, 7210, 0,
6774 7214, 7218, 7222, 0, 0, 0, 0, 0,
6775 0, 0, 0, 0, 0, 0, 0, 0,
6776 0, 0, 0, 0, 7226, 0, 7231, 0,
6777 7236, 0, 7241, 0, 7246, 0, 7251, 0,
6778 7256, 0, 7261, 0, 7266, 0, 7271, 0,
6779 7276, 0, 7281, 0, 0, 7286, 0, 7291,
6780 0, 7296, 0, 0, 0, 0, 0, 0,
6781 7301, 7306, 0, 7311, 7316, 0, 7321, 7326,
6782 0, 7331, 7336, 0, 7341, 7346, 0, 0,
6783 0, 0, 0, 0, 0, 0, 0, 0,
6784 0, 0, 0, 0, 0, 0, 0, 0,
6785 0, 0, 0, 0, 7351, 0, 0, 0,
6786 0, 0, 0, 7356, 7361, 0, 7366, 0,
6787 0, 0, 0, 0, 0, 0, 0, 0,
6788 0, 0, 0, 0, 7371, 0, 7376, 0,
6789 7381, 0, 7386, 0, 7391, 0, 7396, 0,
6790 7401, 0, 7406, 0, 7411, 0, 7416, 0,
6791 7421, 0, 7426, 0, 0, 7431, 0, 7436,
6792 0, 7441, 0, 0, 0, 0, 0, 0,
6793 7446, 7451, 0, 7456, 7461, 0, 7466, 7471,
6794 0, 7476, 7481, 0, 7486, 7491, 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, 7496, 0, 0, 7501,
6798 7506, 7511, 7516, 0, 0, 0, 7521, 0,
6801 static const Q_UINT16 di_31[] = {
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, 7526, 7530, 7534, 7538, 7542, 7546, 7550,
6809 7554, 7558, 7562, 7566, 7570, 7574, 7578, 7582,
6810 7586, 7590, 7594, 7598, 7602, 7606, 7610, 7614,
6811 7618, 7622, 7626, 7630, 7634, 7638, 7642, 7646,
6812 7650, 7654, 7658, 7662, 7666, 7670, 7674, 7678,
6813 7682, 7686, 7690, 7694, 7698, 7702, 7706, 7710,
6814 7714, 7718, 7722, 7726, 7730, 7734, 7738, 7742,
6815 7746, 7750, 7754, 7758, 7762, 7766, 7770, 7774,
6816 7778, 7782, 7786, 7790, 7794, 7798, 7802, 7806,
6817 7810, 7814, 7818, 7822, 7826, 7830, 7834, 7838,
6818 7842, 7846, 7850, 7854, 7858, 7862, 7866, 7870,
6819 7874, 7878, 7882, 7886, 7890, 7894, 7898, 0,
6820 0, 0, 7902, 7906, 7910, 7914, 7918, 7922,
6821 7926, 7930, 7934, 7938, 7942, 7946, 7950, 7954,
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,
6836 static const Q_UINT16 di_32[] = {
6837 7958, 7964, 7970, 7976, 7982, 7988, 7994, 8000,
6838 8006, 8012, 8018, 8024, 8030, 8036, 8042, 8049,
6839 8056, 8063, 8070, 8077, 8084, 8091, 8098, 8105,
6840 8112, 8119, 8126, 8133, 8140, 0, 0, 0,
6841 8147, 8153, 8159, 8165, 8171, 8177, 8183, 8189,
6842 8195, 8201, 8207, 8213, 8219, 8225, 8231, 8237,
6843 8243, 8249, 8255, 8261, 8267, 8273, 8279, 8285,
6844 8291, 8297, 8303, 8309, 8315, 8321, 8327, 8333,
6845 8339, 8345, 8351, 8357, 0, 0, 0, 0,
6846 0, 0, 0, 0, 0, 0, 0, 0,
6847 0, 0, 0, 0, 0, 0, 0, 0,
6848 0, 0, 0, 0, 0, 0, 0, 0,
6849 8363, 8367, 8371, 8375, 8379, 8383, 8387, 8391,
6850 8395, 8399, 8403, 8407, 8411, 8415, 8419, 8424,
6851 8429, 8434, 8439, 8444, 8449, 8454, 8459, 8464,
6852 8469, 8474, 8479, 8484, 0, 0, 0, 0,
6853 8489, 8493, 8497, 8501, 8505, 8509, 8513, 8517,
6854 8521, 8525, 8529, 8533, 8537, 8541, 8545, 8549,
6855 8553, 8557, 8561, 8565, 8569, 8573, 8577, 8581,
6856 8585, 8589, 8593, 8597, 8601, 8605, 8609, 8613,
6857 8617, 8621, 8625, 8629, 8633, 8637, 8641, 8645,
6858 8649, 8653, 8657, 8661, 8665, 8669, 8673, 8677,
6859 8681, 0, 0, 0, 0, 0, 0, 0,
6860 0, 0, 0, 0, 0, 0, 0, 0,
6861 8685, 8690, 8695, 8700, 8705, 8710, 8715, 8720,
6862 8725, 8730, 8736, 8742, 0, 0, 0, 0,
6863 8748, 8752, 8756, 8760, 8764, 8768, 8772, 8776,
6864 8780, 8784, 8788, 8792, 8796, 8800, 8804, 8808,
6865 8812, 8816, 8820, 8824, 8828, 8832, 8836, 8840,
6866 8844, 8848, 8852, 8856, 8860, 8864, 8868, 8872,
6867 8876, 8880, 8884, 8888, 8892, 8896, 8900, 8904,
6868 8908, 8912, 8916, 8920, 8924, 8928, 8932, 0,
6871 static const Q_UINT16 di_33[] = {
6872 8936, 8943, 8950, 8957, 8963, 8970, 8976, 8982,
6873 8990, 8997, 9003, 9009, 9015, 9022, 9029, 9035,
6874 9041, 9046, 9052, 9059, 9066, 9071, 9079, 9088,
6875 9096, 9102, 9110, 9118, 9125, 9131, 9137, 9143,
6876 9150, 9158, 9165, 9171, 9177, 9183, 9188, 9193,
6877 9198, 9203, 9209, 9215, 9223, 9229, 9236, 9244,
6878 9250, 9255, 9260, 9268, 9275, 9283, 9289, 9297,
6879 9302, 9308, 9314, 9320, 9326, 9332, 9339, 9345,
6880 9350, 9356, 9362, 9368, 9375, 9381, 9387, 9393,
6881 9401, 9408, 9413, 9421, 9426, 9433, 9440, 9446,
6882 9452, 9458, 9465, 9470, 9476, 9483, 9488, 9496,
6883 9502, 9507, 9512, 9517, 9522, 9527, 9532, 9537,
6884 9542, 9547, 9552, 9558, 9564, 9570, 9576, 9582,
6885 9588, 9594, 9600, 9606, 9612, 9618, 9624, 9630,
6886 9636, 9642, 9648, 9653, 9658, 9664, 9669, 0,
6887 0, 0, 0, 9674, 9679, 9684, 9689, 9694,
6888 9701, 9706, 9711, 9716, 9721, 9726, 9731, 9736,
6889 9741, 9747, 9754, 9759, 9764, 9769, 9774, 9779,
6890 9784, 9789, 9795, 9801, 9807, 9813, 9818, 9823,
6891 9828, 9833, 9838, 9843, 9848, 9853, 9858, 9863,
6892 9869, 9875, 9880, 9886, 9892, 9898, 9903, 9909,
6893 9915, 9922, 9927, 9933, 9939, 9945, 9951, 9959,
6894 9968, 9973, 9978, 9983, 9988, 9993, 9998, 10003,
6895 10008, 10013, 10018, 10023, 10028, 10033, 10038, 10043,
6896 10048, 10053, 10058, 10065, 10070, 10075, 10080, 10087,
6897 10093, 10098, 10103, 10108, 10113, 10118, 10123, 10128,
6898 10133, 10138, 10143, 10149, 10154, 10159, 10165, 10171,
6899 10176, 10183, 10189, 10194, 10199, 10204, 0, 0,
6900 10209, 10214, 10219, 10224, 10229, 10234, 10239, 10244,
6901 10249, 10254, 10260, 10266, 10272, 10278, 10284, 10290,
6902 10296, 10302, 10308, 10314, 10320, 10326, 10332, 10338,
6903 10344, 10350, 10356, 10362, 10368, 10374, 10380, 0,
6906 static const Q_UINT16 di_F9[] = {
6907 10386, 10390, 10394, 10398, 10402, 10406, 10410, 10414,
6908 10418, 10422, 10426, 10430, 10434, 10438, 10442, 10446,
6909 10450, 10454, 10458, 10462, 10466, 10470, 10474, 10478,
6910 10482, 10486, 10490, 10494, 10498, 10502, 10506, 10510,
6911 10514, 10518, 10522, 10526, 10530, 10534, 10538, 10542,
6912 10546, 10550, 10554, 10558, 10562, 10566, 10570, 10574,
6913 10578, 10582, 10586, 10590, 10594, 10598, 10602, 10606,
6914 10610, 10614, 10618, 10622, 10626, 10630, 10634, 10638,
6915 10642, 10646, 10650, 10654, 10658, 10662, 10666, 10670,
6916 10674, 10678, 10682, 10686, 10690, 10694, 10698, 10702,
6917 10706, 10710, 10714, 10718, 10722, 10726, 10730, 10734,
6918 10738, 10742, 10746, 10750, 10754, 10758, 10762, 10766,
6919 10770, 10774, 10778, 10782, 10786, 10790, 10794, 10798,
6920 10802, 10806, 10810, 10814, 10818, 10822, 10826, 10830,
6921 10834, 10838, 10842, 10846, 10850, 10854, 10858, 10862,
6922 10866, 10870, 10874, 10878, 10882, 10886, 10890, 10894,
6923 10898, 10902, 10906, 10910, 10914, 10918, 10922, 10926,
6924 10930, 10934, 10938, 10942, 10946, 10950, 10954, 10958,
6925 10962, 10966, 10970, 10974, 10978, 10982, 10986, 10990,
6926 10994, 10998, 11002, 11006, 11010, 11014, 11018, 11022,
6927 11026, 11030, 11034, 11038, 11042, 11046, 11050, 11054,
6928 11058, 11062, 11066, 11070, 11074, 11078, 11082, 11086,
6929 11090, 11094, 11098, 11102, 11106, 11110, 11114, 11118,
6930 11122, 11126, 11130, 11134, 11138, 11142, 11146, 11150,
6931 11154, 11158, 11162, 11166, 11170, 11174, 11178, 11182,
6932 11186, 11190, 11194, 11198, 11202, 11206, 11210, 11214,
6933 11218, 11222, 11226, 11230, 11234, 11238, 11242, 11246,
6934 11250, 11254, 11258, 11262, 11266, 11270, 11274, 11278,
6935 11282, 11286, 11290, 11294, 11298, 11302, 11306, 11310,
6936 11314, 11318, 11322, 11326, 11330, 11334, 11338, 11342,
6937 11346, 11350, 11354, 11358, 11362, 11366, 11370, 11374,
6938 11378, 11382, 11386, 11390, 11394, 11398, 11402, 11406,
6941 static const Q_UINT16 di_FA[] = {
6942 11410, 11414, 11418, 11422, 11426, 11430, 11434, 11438,
6943 11442, 11446, 11450, 11454, 11458, 11462, 0, 0,
6944 11466, 0, 11470, 0, 0, 11474, 11478, 11482,
6945 11486, 11490, 11494, 11498, 11502, 11506, 11510, 0,
6946 11514, 0, 11518, 0, 0, 11522, 11526, 0,
6947 0, 0, 11530, 11534, 11538, 11542, 0, 0,
6948 0, 0, 0, 0, 0, 0, 0, 0,
6949 0, 0, 0, 0, 0, 0, 0, 0,
6950 0, 0, 0, 0, 0, 0, 0, 0,
6951 0, 0, 0, 0, 0, 0, 0, 0,
6952 0, 0, 0, 0, 0, 0, 0, 0,
6953 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
6960 0, 0, 0, 0, 0, 0, 0, 0,
6961 0, 0, 0, 0, 0, 0, 0, 0,
6962 0, 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, 0, 0,
6969 0, 0, 0, 0, 0, 0, 0, 0,
6970 0, 0, 0, 0, 0, 0, 0, 0,
6971 0, 0, 0, 0, 0, 0, 0, 0,
6972 0, 0, 0, 0, 0, 0, 0, 0,
6973 0, 0, 0, 0, 0, 0, 0, 0,
6976 static const Q_UINT16 di_FB[] = {
6977 11546, 11551, 11556, 11561, 11567, 11573, 11578, 0,
6978 0, 0, 0, 0, 0, 0, 0, 0,
6979 0, 0, 0, 11583, 11588, 11593, 11598, 11603,
6980 0, 0, 0, 0, 0, 11608, 0, 11613,
6981 11618, 11622, 11626, 11630, 11634, 11638, 11642, 11646,
6982 11650, 11654, 11658, 11663, 11668, 11673, 11678, 11683,
6983 11688, 11693, 11698, 11703, 11708, 11713, 11718, 0,
6984 11723, 11728, 11733, 11738, 11743, 0, 11748, 0,
6985 11753, 11758, 0, 11763, 11768, 0, 11773, 11778,
6986 11783, 11788, 11793, 11798, 11803, 11808, 11813, 11818,
6987 11823, 11827, 11831, 11835, 11839, 11843, 11847, 11851,
6988 11855, 11859, 11863, 11867, 11871, 11875, 11879, 11883,
6989 11887, 11891, 11895, 11899, 11903, 11907, 11911, 11915,
6990 11919, 11923, 11927, 11931, 11935, 11939, 11943, 11947,
6991 11951, 11955, 11959, 11963, 11967, 11971, 11975, 11979,
6992 11983, 11987, 11991, 11995, 11999, 12003, 12007, 12011,
6993 12015, 12019, 12023, 12027, 12031, 12035, 12039, 12043,
6994 12047, 12051, 12055, 12059, 12063, 12067, 12071, 12075,
6995 12079, 12083, 12087, 12091, 12095, 12099, 12103, 12107,
6996 12111, 12115, 12119, 12123, 12127, 12131, 12135, 12139,
6997 12143, 12147, 12151, 12155, 12159, 12163, 12167, 12171,
6998 12175, 12179, 12183, 12187, 12191, 12195, 12199, 12203,
6999 12207, 12211, 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, 0, 0, 12215, 12219, 12223, 12227, 12231,
7004 12235, 12239, 12243, 12247, 12251, 12255, 12259, 12263,
7005 12267, 12271, 12275, 12279, 12283, 12287, 12291, 12295,
7006 12299, 12303, 12307, 12312, 12317, 12322, 12327, 12332,
7007 12337, 12342, 12347, 12352, 12357, 12362, 12367, 12372,
7008 12377, 12382, 12387, 12392, 12397, 12401, 12405, 12409,
7011 static const Q_UINT16 di_FC[] = {
7012 12413, 12418, 12423, 12428, 12433, 12438, 12443, 12448,
7013 12453, 12458, 12463, 12468, 12473, 12478, 12483, 12488,
7014 12493, 12498, 12503, 12508, 12513, 12518, 12523, 12528,
7015 12533, 12538, 12543, 12548, 12553, 12558, 12563, 12568,
7016 12573, 12578, 12583, 12588, 12593, 12598, 12603, 12608,
7017 12613, 12618, 12623, 12628, 12633, 12638, 12643, 12648,
7018 12653, 12658, 12663, 12668, 12673, 12678, 12683, 12688,
7019 12693, 12698, 12703, 12708, 12713, 12718, 12723, 12728,
7020 12733, 12738, 12743, 12748, 12753, 12758, 12763, 12768,
7021 12773, 12778, 12783, 12788, 12793, 12798, 12803, 12808,
7022 12813, 12818, 12823, 12828, 12833, 12838, 12843, 12848,
7023 12853, 12858, 12863, 12868, 12873, 12878, 12883, 12889,
7024 12895, 12901, 12907, 12913, 12919, 12924, 12929, 12934,
7025 12939, 12944, 12949, 12954, 12959, 12964, 12969, 12974,
7026 12979, 12984, 12989, 12994, 12999, 13004, 13009, 13014,
7027 13019, 13024, 13029, 13034, 13039, 13044, 13049, 13054,
7028 13059, 13064, 13069, 13074, 13079, 13084, 13089, 13094,
7029 13099, 13104, 13109, 13114, 13119, 13124, 13129, 13134,
7030 13139, 13144, 13149, 13154, 13159, 13164, 13169, 13174,
7031 13179, 13184, 13189, 13194, 13199, 13204, 13209, 13214,
7032 13219, 13224, 13229, 13234, 13239, 13244, 13249, 13254,
7033 13259, 13264, 13269, 13274, 13279, 13284, 13289, 13294,
7034 13299, 13304, 13309, 13314, 13319, 13324, 13329, 13334,
7035 13339, 13344, 13349, 13354, 13359, 13364, 13369, 13374,
7036 13379, 13384, 13389, 13394, 13399, 13404, 13409, 13414,
7037 13419, 13424, 13429, 13434, 13439, 13444, 13449, 13454,
7038 13459, 13464, 13469, 13474, 13479, 13484, 13489, 13494,
7039 13499, 13504, 13509, 13514, 13519, 13524, 13529, 13534,
7040 13539, 13544, 13549, 13554, 13559, 13564, 13569, 13574,
7041 13579, 13584, 13589, 13594, 13599, 13604, 13609, 13614,
7042 13619, 13624, 13629, 13635, 13641, 13647, 13652, 13657,
7043 13662, 13667, 13672, 13677, 13682, 13687, 13692, 13697,
7046 static const Q_UINT16 di_FD[] = {
7047 13702, 13707, 13712, 13717, 13722, 13727, 13732, 13737,
7048 13742, 13747, 13752, 13757, 13762, 13767, 13772, 13777,
7049 13782, 13787, 13792, 13797, 13802, 13807, 13812, 13817,
7050 13822, 13827, 13832, 13837, 13842, 13847, 13852, 13857,
7051 13862, 13867, 13872, 13877, 13882, 13887, 13892, 13897,
7052 13902, 13907, 13912, 13917, 13922, 13927, 13932, 13937,
7053 13942, 13947, 13952, 13957, 13962, 13967, 13972, 13977,
7054 13982, 13987, 13992, 13997, 14002, 14007, 0, 0,
7055 0, 0, 0, 0, 0, 0, 0, 0,
7056 0, 0, 0, 0, 0, 0, 0, 0,
7057 14012, 14018, 14024, 14030, 14036, 14042, 14048, 14054,
7058 14060, 14066, 14072, 14078, 14084, 14090, 14096, 14102,
7059 14108, 14114, 14120, 14126, 14132, 14138, 14144, 14150,
7060 14156, 14162, 14168, 14174, 14180, 14186, 14192, 14198,
7061 14204, 14210, 14216, 14222, 14228, 14234, 14240, 14246,
7062 14252, 14258, 14264, 14270, 14276, 14282, 14288, 14294,
7063 14300, 14306, 14312, 14318, 14324, 14330, 14336, 14342,
7064 14348, 14354, 14360, 14366, 14372, 14378, 14384, 14390,
7065 0, 0, 14396, 14402, 14408, 14414, 14420, 14426,
7066 14432, 14438, 14444, 14450, 14456, 14462, 14468, 14474,
7067 14480, 14486, 14492, 14498, 14504, 14510, 14516, 14522,
7068 14528, 14534, 14540, 14546, 14552, 14558, 14564, 14570,
7069 14576, 14582, 14588, 14594, 14600, 14606, 14612, 14618,
7070 14624, 14630, 14636, 14642, 14648, 14654, 14660, 14666,
7071 14672, 14678, 14684, 14690, 14696, 14702, 14708, 14714,
7072 0, 0, 0, 0, 0, 0, 0, 0,
7073 0, 0, 0, 0, 0, 0, 0, 0,
7074 0, 0, 0, 0, 0, 0, 0, 0,
7075 0, 0, 0, 0, 0, 0, 0, 0,
7076 0, 0, 0, 0, 0, 0, 0, 0,
7077 14720, 14726, 14732, 14739, 14746, 14753, 14760, 14767,
7078 14774, 14781, 14787, 14808, 0, 0, 0, 0,
7081 static const Q_UINT16 di_FE[] = {
7082 0, 0, 0, 0, 0, 0, 0, 0,
7083 0, 0, 0, 0, 0, 0, 0, 0,
7084 0, 0, 0, 0, 0, 0, 0, 0,
7085 0, 0, 0, 0, 0, 0, 0, 0,
7086 0, 0, 0, 0, 0, 0, 0, 0,
7087 0, 0, 0, 0, 0, 0, 0, 0,
7088 14819, 14823, 14827, 14831, 14835, 14839, 14843, 14847,
7089 14851, 14855, 14859, 14863, 14867, 14871, 14875, 14879,
7090 14883, 14887, 14891, 14895, 14899, 0, 0, 0,
7091 0, 14903, 14907, 14911, 14915, 14919, 14923, 14927,
7092 14931, 14935, 14939, 0, 14943, 14947, 14951, 14955,
7093 14959, 14963, 14967, 14971, 14975, 14979, 14983, 14987,
7094 14991, 14995, 14999, 15003, 15007, 15011, 15015, 0,
7095 15019, 15023, 15027, 15031, 0, 0, 0, 0,
7096 15035, 15040, 15045, 0, 15050, 0, 15055, 15060,
7097 15065, 15070, 15075, 15080, 15085, 15090, 15095, 15100,
7098 15105, 15109, 15113, 15117, 15121, 15125, 15129, 15133,
7099 15137, 15141, 15145, 15149, 15153, 15157, 15161, 15165,
7100 15169, 15173, 15177, 15181, 15185, 15189, 15193, 15197,
7101 15201, 15205, 15209, 15213, 15217, 15221, 15225, 15229,
7102 15233, 15237, 15241, 15245, 15249, 15253, 15257, 15261,
7103 15265, 15269, 15273, 15277, 15281, 15285, 15289, 15293,
7104 15297, 15301, 15305, 15309, 15313, 15317, 15321, 15325,
7105 15329, 15333, 15337, 15341, 15345, 15349, 15353, 15357,
7106 15361, 15365, 15369, 15373, 15377, 15381, 15385, 15389,
7107 15393, 15397, 15401, 15405, 15409, 15413, 15417, 15421,
7108 15425, 15429, 15433, 15437, 15441, 15445, 15449, 15453,
7109 15457, 15461, 15465, 15469, 15473, 15477, 15481, 15485,
7110 15489, 15493, 15497, 15501, 15505, 15509, 15513, 15517,
7111 15521, 15525, 15529, 15533, 15537, 15541, 15545, 15549,
7112 15553, 15557, 15561, 15565, 15569, 15573, 15578, 15583,
7113 15588, 15593, 15598, 15603, 15608, 0, 0, 0,
7116 static const Q_UINT16 di_FF[] = {
7117 0, 15613, 15617, 15621, 15625, 15629, 15633, 15637,
7118 15641, 15645, 15649, 15653, 15657, 15661, 15665, 15669,
7119 15673, 15677, 15681, 15685, 15689, 15693, 15697, 15701,
7120 15705, 15709, 15713, 15717, 15721, 15725, 15729, 15733,
7121 15737, 15741, 15745, 15749, 15753, 15757, 15761, 15765,
7122 15769, 15773, 15777, 15781, 15785, 15789, 15793, 15797,
7123 15801, 15805, 15809, 15813, 15817, 15821, 15825, 15829,
7124 15833, 15837, 15841, 15845, 15849, 15853, 15857, 15861,
7125 15865, 15869, 15873, 15877, 15881, 15885, 15889, 15893,
7126 15897, 15901, 15905, 15909, 15913, 15917, 15921, 15925,
7127 15929, 15933, 15937, 15941, 15945, 15949, 15953, 15957,
7128 15961, 15965, 15969, 15973, 15977, 15981, 15985, 0,
7129 0, 15989, 15993, 15997, 16001, 16005, 16009, 16013,
7130 16017, 16021, 16025, 16029, 16033, 16037, 16041, 16045,
7131 16049, 16053, 16057, 16061, 16065, 16069, 16073, 16077,
7132 16081, 16085, 16089, 16093, 16097, 16101, 16105, 16109,
7133 16113, 16117, 16121, 16125, 16129, 16133, 16137, 16141,
7134 16145, 16149, 16153, 16157, 16161, 16165, 16169, 16173,
7135 16177, 16181, 16185, 16189, 16193, 16197, 16201, 16205,
7136 16209, 16213, 16217, 16221, 16225, 16229, 16233, 16237,
7137 16241, 16245, 16249, 16253, 16257, 16261, 16265, 16269,
7138 16273, 16277, 16281, 16285, 16289, 16293, 16297, 16301,
7139 16305, 16309, 16313, 16317, 16321, 16325, 16329, 16333,
7140 16337, 16341, 16345, 16349, 16353, 16357, 16361, 0,
7141 0, 0, 16365, 16369, 16373, 16377, 16381, 16385,
7142 0, 0, 16389, 16393, 16397, 16401, 16405, 16409,
7143 0, 0, 16413, 16417, 16421, 16425, 16429, 16433,
7144 0, 0, 16437, 16441, 16445, 0, 0, 0,
7145 16449, 16453, 16457, 16461, 16465, 16469, 16473, 0,
7146 16477, 16481, 16485, 16489, 16493, 16497, 16501, 0,
7147 0, 0, 0, 0, 0, 0, 0, 0,
7148 0, 0, 0, 0, 0, 0, 0, 0,
7151 static const Q_UINT16 * const decomposition_info[256] = {
7152 di_00, di_01, di_02, di_03, di_04, di_05, di_06, di_07,
7153 di_07, di_09, di_0A, di_0B, di_0C, di_0D, di_0E, di_0F,
7154 di_10, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7155 di_07, di_07, di_07, di_07, di_07, di_07, di_1E, di_1F,
7156 di_20, di_21, di_22, di_23, di_24, di_07, di_07, di_07,
7157 di_07, di_07, di_07, di_07, di_07, di_07, di_2E, di_2F,
7158 di_30, di_31, di_32, di_33, di_07, di_07, di_07, di_07,
7159 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7160 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7161 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7162 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7163 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7164 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7165 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7166 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7167 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7168 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7169 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7170 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7171 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7172 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7173 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7174 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7175 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7176 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7177 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7178 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7179 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7180 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7181 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7182 di_07, di_07, di_07, di_07, di_07, di_07, di_07, di_07,
7183 di_07, di_F9, di_FA, di_FB, di_FC, di_FD, di_FE, di_FF,
7187 static const Q_UINT16 ligature_map [] = {
7189 12883, 12889, 12895, 12901, 12907, 12913, 15035, 15045, 15050, 15055, 15065, 15075, 15085, 15095, 0,
7193 67, 72, 77, 82, 87, 92, 332, 342, 352, 966, 1196, 1206, 1346, 2357, 3137, 3147, 0,
7194 2367, 2377, 2387, 0,
7195 97, 362, 372, 382, 392, 0,
7196 402, 2407, 2417, 2427, 2437, 2447, 0,
7197 102, 107, 112, 117, 412, 422, 432, 442, 452, 1216, 1226, 1356, 2477, 2487, 3257, 3267, 3277, 0,
7199 462, 472, 482, 492, 1076, 1146, 2517, 0,
7200 502, 1336, 2527, 2537, 2547, 2557, 2567, 0,
7201 122, 127, 132, 137, 512, 522, 532, 542, 552, 976, 1236, 1246, 2577, 3337, 3347, 0,
7203 577, 1086, 2597, 2607, 2617, 0,
7204 587, 597, 607, 2627, 2647, 2657, 0,
7205 2667, 2677, 2687, 0,
7206 142, 627, 637, 647, 1156, 2697, 2707, 2717, 2727, 0,
7207 147, 152, 157, 162, 167, 662, 672, 682, 901, 986, 1096, 1256, 1266, 1386, 3357, 3367, 0,
7209 692, 702, 712, 1276, 1286, 2797, 2807, 2827, 0,
7210 722, 732, 742, 752, 1316, 2837, 2847, 0,
7211 762, 772, 1326, 2887, 2897, 2907, 2917, 0,
7212 172, 177, 182, 187, 782, 792, 802, 812, 822, 832, 911, 996, 1296, 1306, 2927, 2937, 2947, 3477, 3487, 0,
7214 842, 2997, 3007, 3017, 3027, 3037, 0,
7216 192, 852, 862, 1406, 3067, 3547, 3557, 3567, 3577, 0,
7217 867, 877, 887, 3077, 3087, 3097, 0,
7218 197, 202, 207, 212, 217, 222, 337, 347, 357, 971, 1201, 1211, 1351, 2362, 3142, 3152, 0,
7219 2372, 2382, 2392, 0,
7220 227, 367, 377, 387, 397, 0,
7221 407, 2412, 2422, 2432, 2442, 2452, 0,
7222 232, 237, 242, 247, 417, 427, 437, 447, 457, 1221, 1231, 1361, 2482, 2492, 3262, 3272, 3282, 0,
7224 467, 477, 487, 497, 1081, 1151, 2522, 0,
7225 507, 1341, 2532, 2542, 2552, 2562, 2572, 3107, 0,
7226 252, 257, 262, 267, 517, 527, 537, 547, 981, 1241, 1251, 2582, 3342, 3352, 0,
7228 582, 1091, 2602, 2612, 2622, 0,
7229 592, 602, 612, 2632, 2652, 2662, 0,
7230 2672, 2682, 2692, 0,
7231 272, 632, 642, 652, 1161, 2702, 2712, 2722, 2732, 0,
7232 277, 282, 287, 292, 297, 667, 677, 687, 906, 991, 1101, 1261, 1271, 1391, 3362, 3372, 0,
7234 697, 707, 717, 1281, 1291, 2802, 2812, 2832, 0,
7235 727, 737, 747, 757, 1321, 2842, 2852, 0,
7236 767, 777, 1331, 2892, 2902, 2912, 2922, 3112, 0,
7237 302, 307, 312, 317, 787, 797, 807, 817, 827, 837, 916, 1001, 1301, 1311, 2932, 2942, 2952, 3482, 3492, 0,
7239 847, 3002, 3012, 3022, 3032, 3042, 3117, 0,
7241 322, 327, 857, 1411, 3072, 3122, 3552, 3562, 3572, 3582, 0,
7242 872, 882, 892, 3082, 3092, 3102, 0,
7243 1537, 4468, 4662, 0,
7244 3157, 3167, 3177, 3187, 0,
7249 3287, 3297, 3307, 3317, 0,
7251 3377, 3387, 3397, 3407, 0,
7252 1376, 2737, 2747, 0,
7255 1006, 1016, 1026, 1036, 0,
7256 3162, 3172, 3182, 3192, 0,
7261 3292, 3302, 3312, 3322, 0,
7263 3382, 3392, 3402, 3412, 0,
7264 1381, 2742, 2752, 0,
7267 1011, 1021, 1031, 1041, 0,
7268 3207, 3217, 3227, 3237, 0,
7269 3212, 3222, 3232, 3242, 0,
7283 3427, 3437, 3447, 3457, 3467, 0,
7284 3432, 3442, 3452, 3462, 3472, 0,
7285 3497, 3507, 3517, 3527, 3537, 0,
7286 3502, 3512, 3522, 3532, 3542, 0,
7298 1542, 3627, 3632, 4425, 4430, 4435, 4444, 0,
7299 1551, 3697, 3702, 4498, 0,
7300 1556, 3767, 3772, 4507, 4516, 0,
7301 1561, 1586, 3847, 3852, 4565, 4570, 4575, 0,
7302 1566, 3917, 3922, 4700, 0,
7304 1571, 1591, 3987, 4638, 4643, 4648, 0,
7305 1576, 4047, 4052, 4709, 4718, 0,
7308 1596, 3587, 3592, 4087, 4390, 4395, 4405, 4415, 0,
7309 1601, 3667, 3672, 4096, 0,
7310 1606, 3727, 3732, 4105, 4478, 4488, 0,
7311 1611, 1621, 3807, 3812, 4114, 4536, 4541, 4555, 0,
7312 1631, 3887, 3892, 4123, 0,
7314 1626, 1636, 3947, 3952, 4132, 4599, 4604, 4628, 0,
7315 1641, 4007, 4012, 4141, 4680, 4690, 0,
7316 1581, 4546, 4560, 0,
7317 1616, 4609, 4633, 0,
7323 1688, 1693, 1808, 0,
7326 1713, 1723, 1848, 1858, 0,
7329 1718, 1898, 1908, 1918, 0,
7335 1733, 1738, 1813, 0,
7338 1728, 1758, 1853, 1863, 0,
7341 1763, 1903, 1913, 1923, 0,
7352 11678, 11683, 11688, 0,
7372 11658, 11663, 11788, 0,
7380 12307, 12312, 12317, 12322, 12327, 12332, 12337, 12342, 12347, 12352, 12357, 12362, 12367, 12372, 12377, 12382, 12387, 12392, 12413, 12418, 12423, 12428, 12433, 12919, 12924, 12929, 12934, 12939, 12944, 13174, 13179, 13184, 13189, 13194, 13534, 13539, 15141, 15145, 15149, 15153, 0,
7381 14732, 14739, 1958, 1968, 14007, 14002, 1953, 15157, 15161, 0,
7382 14468, 14684, 12448, 12453, 12458, 12463, 12949, 12954, 12959, 12964, 12969, 12974, 13199, 13204, 13209, 13214, 13219, 13544, 13549, 12438, 12443, 15165, 15169, 15173, 15177, 0,
7384 14012, 14018, 14024, 14030, 14036, 14042, 14048, 14054, 14474, 14480, 14486, 14492, 14498, 14504, 13229, 13234, 13239, 13244, 13559, 13554, 12468, 12473, 12478, 12483, 12488, 12493, 12979, 12984, 12989, 12994, 12999, 13004, 13224, 15189, 15193, 15197, 15201, 0,
7385 12498, 12503, 12508, 12513, 13009, 13014, 13019, 13024, 13029, 13034, 13249, 13564, 13569, 15205, 15209, 15213, 15217, 0,
7386 14808, 14660, 14060, 14066, 14510, 14516, 14522, 12518, 12523, 13254, 13259, 13707, 13712, 13847, 13852, 15221, 15225, 15229, 15233, 0,
7387 14072, 14078, 14666, 13264, 13269, 13697, 13702, 13842, 13837, 12528, 12533, 15237, 15241, 15245, 15249, 0,
7388 12538, 12543, 12548, 13274, 13279, 13717, 13722, 13857, 13862, 15253, 15257, 15261, 15265, 0,
7390 12868, 15277, 15281, 0,
7391 14760, 12873, 15285, 15289, 0,
7393 14084, 14090, 14096, 14102, 14108, 14114, 14120, 14126, 14528, 14708, 13677, 13682, 13772, 13817, 13822, 13912, 13947, 13962, 13967, 13972, 12553, 12558, 12563, 12568, 13284, 13289, 13294, 13299, 13574, 13579, 15301, 15305, 15309, 15313, 0,
7394 14150, 14156, 14162, 14168, 14174, 14180, 14186, 14540, 13767, 13827, 13832, 13887, 13892, 13897, 13902, 13907, 13927, 13932, 13937, 13942, 13952, 13977, 13982, 13987, 13584, 13589, 13687, 13692, 13747, 13752, 13757, 13762, 15317, 15321, 15325, 15329, 0,
7395 14787, 14753, 14781, 14138, 14132, 14144, 14534, 14702, 14720, 12573, 12578, 13304, 13309, 13314, 13727, 13732, 13777, 13872, 13917, 13867, 15333, 15337, 15341, 15345, 0,
7396 14192, 14198, 14204, 14546, 13319, 13324, 13329, 13334, 13737, 13742, 13782, 13877, 13882, 13922, 12583, 12588, 12593, 12598, 15349, 15353, 15357, 15361, 0,
7397 14210, 14216, 14222, 14228, 13647, 13652, 13787, 13792, 13992, 13957, 12603, 12608, 13339, 15365, 15369, 15373, 15377, 0,
7398 12613, 13344, 13997, 15381, 15385, 15389, 15393, 0,
7399 14767, 14696, 14234, 14240, 14246, 14252, 14612, 12618, 12623, 13349, 13354, 13657, 13662, 13797, 13802, 15397, 15401, 15405, 15409, 0,
7400 14258, 14264, 14270, 13359, 13364, 13667, 13672, 13812, 13807, 12628, 12633, 15413, 15417, 15421, 15425, 0,
7401 13629, 13635, 13641, 15040, 15060, 15070, 15080, 15090, 15100, 0,
7402 14276, 14282, 14678, 12653, 12658, 12663, 13039, 13044, 13369, 13374, 13379, 13384, 12638, 12643, 12648, 15429, 15433, 15437, 15441, 0,
7403 14600, 14726, 14294, 14288, 14588, 12668, 12673, 12678, 12683, 13049, 13054, 13389, 13394, 15445, 15449, 15453, 15457, 0,
7404 14618, 14642, 14690, 12703, 12708, 12713, 12718, 12723, 13059, 13064, 13069, 13074, 13079, 13399, 13404, 13409, 13414, 13419, 13594, 13599, 12688, 12693, 12698, 15461, 15465, 15469, 15473, 0,
7405 14648, 14300, 14306, 14312, 14318, 14324, 14330, 14336, 14342, 14348, 14552, 14558, 14606, 14636, 12728, 12733, 12738, 12743, 12748, 12753, 13084, 13089, 13094, 13424, 13429, 13434, 13439, 13444, 13604, 15573, 15578, 15583, 15588, 15593, 15598, 15603, 15608, 15477, 15481, 15485, 15489, 0,
7406 14746, 14354, 14360, 14366, 14372, 14378, 14384, 14390, 14396, 14582, 14630, 14672, 12758, 12763, 12768, 12773, 12778, 12783, 13099, 13104, 13449, 13454, 13459, 13464, 15493, 15497, 15501, 15505, 0,
7407 14414, 14420, 14426, 14432, 14438, 14444, 14450, 14594, 14624, 14654, 14714, 13134, 13469, 13474, 13479, 13484, 13489, 13609, 13614, 12788, 12793, 12798, 12803, 12808, 12813, 13109, 13114, 13119, 13124, 13129, 15509, 15513, 15517, 15521, 0,
7408 14402, 14408, 12823, 12828, 12833, 13494, 13504, 13499, 12818, 15525, 15529, 15533, 15537, 0,
7409 14774, 1963, 15541, 15545, 0,
7410 12878, 13139, 12299, 12303, 15549, 15553, 0,
7411 14456, 14462, 14564, 14570, 14576, 12858, 12863, 13144, 13149, 13154, 13159, 13164, 13169, 13509, 13514, 13519, 13524, 13529, 13619, 13624, 1973, 12838, 12843, 12848, 12853, 15557, 15561, 15565, 15569, 0,
7414 11911, 11915, 11919, 11923, 0,
7415 11879, 11883, 11887, 11891, 0,
7416 11831, 11835, 11839, 11843, 0,
7417 11847, 11851, 11855, 11859, 0,
7418 11895, 11899, 11903, 11907, 0,
7419 11863, 11867, 11871, 11875, 0,
7420 11975, 11979, 11983, 11987, 0,
7421 11959, 11963, 11967, 11971, 0,
7422 11991, 11995, 11999, 12003, 0,
7423 12007, 12011, 12015, 12019, 0,
7430 11927, 11931, 11935, 11939, 0,
7431 11943, 11947, 11951, 11955, 0,
7432 12071, 12075, 12079, 12083, 0,
7433 12215, 12219, 12223, 12227, 0,
7434 12087, 12091, 12095, 12099, 0,
7435 12119, 12123, 12127, 12131, 0,
7436 12103, 12107, 12111, 12115, 0,
7438 12143, 12147, 12151, 12155, 0,
7439 12183, 12187, 12191, 12195, 0,
7441 2003, 12167, 12171, 12175, 12179, 0,
7448 12397, 12401, 12405, 12409, 0,
7449 12283, 12287, 12291, 12295, 0,
7450 2008, 12199, 12203, 0,
7476 2123, 2128, 2133, 0,
7482 2178, 2183, 2188, 0,
7486 2213, 2218, 2228, 0,
7494 2287, 2292, 2317, 0,
7516 3597, 3607, 3617, 4150, 0,
7517 3602, 3612, 3622, 4155, 0,
7524 3637, 3647, 3657, 4190, 0,
7525 3642, 3652, 3662, 4195, 0,
7536 3737, 3747, 3757, 4230, 0,
7537 3742, 3752, 3762, 4235, 0,
7544 3777, 3787, 3797, 4270, 0,
7545 3782, 3792, 3802, 4275, 0,
7552 3817, 3827, 3837, 0,
7553 3822, 3832, 3842, 0,
7554 3857, 3867, 3877, 0,
7555 3862, 3872, 3882, 0,
7560 3957, 3967, 3977, 0,
7561 3962, 3972, 3982, 0,
7562 3992, 3997, 4002, 0,
7563 4017, 4027, 4037, 4310, 0,
7564 4022, 4032, 4042, 4315, 0,
7571 4057, 4067, 4077, 4350, 0,
7572 4062, 4072, 4082, 4355, 0,
7583 4521, 4526, 4531, 0,
7586 4584, 4589, 4594, 0,
7680 static const Q_UINT16 li_00[] = {
7681 0, 0, 0, 0, 0, 0, 0, 0,
7682 0, 0, 0, 0, 0, 0, 0, 0,
7683 0, 0, 0, 0, 0, 0, 0, 0,
7684 0, 0, 0, 0, 0, 0, 0, 0,
7685 1, 0, 0, 0, 0, 0, 0, 0,
7686 0, 0, 0, 0, 0, 0, 0, 0,
7687 0, 0, 0, 0, 0, 0, 0, 0,
7688 0, 0, 0, 0, 16, 18, 20, 0,
7689 0, 22, 39, 43, 49, 56, 74, 76,
7690 84, 92, 108, 110, 116, 123, 127, 137,
7691 154, 0, 157, 166, 174, 182, 202, 205,
7692 212, 215, 225, 0, 0, 0, 0, 0,
7693 0, 232, 249, 253, 259, 266, 284, 286,
7694 294, 303, 318, 321, 327, 334, 338, 348,
7695 365, 0, 368, 377, 385, 394, 414, 417,
7696 425, 428, 439, 0, 0, 0, 0, 0,
7697 0, 0, 0, 0, 0, 0, 0, 0,
7698 0, 0, 0, 0, 0, 0, 0, 0,
7699 0, 0, 0, 0, 0, 0, 0, 0,
7700 0, 0, 0, 0, 0, 0, 0, 0,
7701 0, 0, 0, 0, 0, 0, 0, 0,
7702 446, 0, 0, 0, 0, 0, 0, 0,
7703 0, 0, 0, 0, 0, 0, 0, 0,
7704 0, 0, 0, 0, 0, 0, 0, 0,
7705 0, 0, 450, 0, 455, 457, 459, 462,
7706 0, 0, 464, 0, 0, 0, 0, 469,
7707 0, 0, 0, 0, 471, 476, 480, 0,
7708 482, 0, 0, 0, 484, 0, 0, 0,
7709 0, 0, 489, 0, 494, 496, 498, 501,
7710 0, 0, 503, 0, 0, 0, 0, 508,
7711 0, 0, 0, 0, 510, 515, 519, 0,
7712 521, 0, 0, 0, 523, 0, 0, 0,
7715 static const Q_UINT16 li_01[] = {
7716 0, 0, 528, 533, 0, 0, 0, 0,
7717 0, 0, 0, 0, 0, 0, 0, 0,
7718 0, 0, 538, 541, 0, 0, 0, 0,
7719 0, 0, 0, 0, 0, 0, 0, 0,
7720 0, 0, 0, 0, 0, 0, 0, 0,
7721 0, 0, 0, 0, 0, 0, 0, 0,
7722 0, 0, 0, 0, 0, 0, 0, 0,
7723 0, 0, 0, 0, 0, 0, 0, 0,
7724 0, 0, 0, 0, 0, 0, 0, 0,
7725 0, 0, 0, 0, 544, 547, 0, 0,
7726 0, 0, 0, 0, 0, 0, 0, 0,
7727 0, 0, 550, 552, 0, 0, 0, 0,
7728 554, 556, 0, 0, 0, 0, 0, 0,
7729 558, 560, 562, 564, 0, 0, 0, 0,
7730 0, 0, 0, 0, 0, 0, 0, 0,
7731 0, 0, 0, 0, 0, 0, 0, 566,
7732 0, 0, 0, 0, 0, 0, 0, 0,
7733 0, 0, 0, 0, 0, 0, 0, 0,
7734 0, 0, 0, 0, 0, 0, 0, 0,
7735 0, 0, 0, 0, 0, 0, 0, 0,
7736 568, 574, 0, 0, 0, 0, 0, 0,
7737 0, 0, 0, 0, 0, 0, 0, 580,
7738 586, 0, 0, 0, 0, 0, 0, 592,
7739 0, 0, 0, 0, 0, 0, 0, 0,
7740 0, 0, 0, 0, 0, 0, 0, 0,
7741 0, 0, 0, 0, 0, 0, 0, 0,
7742 0, 0, 0, 0, 0, 0, 0, 0,
7743 0, 0, 0, 0, 0, 0, 0, 0,
7744 0, 0, 0, 0, 0, 0, 0, 0,
7745 0, 0, 594, 596, 0, 0, 0, 0,
7746 0, 0, 0, 0, 0, 0, 0, 0,
7747 0, 0, 0, 0, 0, 0, 0, 0,
7750 static const Q_UINT16 li_02[] = {
7751 0, 0, 0, 0, 0, 0, 0, 0,
7752 0, 0, 0, 0, 0, 0, 0, 0,
7753 0, 0, 0, 0, 0, 0, 0, 0,
7754 0, 0, 0, 0, 0, 0, 0, 0,
7755 0, 0, 0, 0, 0, 0, 598, 600,
7756 602, 604, 0, 0, 0, 0, 606, 608,
7757 0, 0, 0, 0, 0, 0, 0, 0,
7758 0, 0, 0, 0, 0, 0, 0, 0,
7759 0, 0, 0, 0, 0, 0, 0, 0,
7760 0, 0, 0, 0, 0, 0, 0, 0,
7761 0, 0, 0, 0, 0, 0, 0, 0,
7762 0, 0, 0, 0, 0, 0, 0, 0,
7763 0, 0, 0, 0, 0, 0, 0, 0,
7764 0, 0, 0, 0, 0, 0, 0, 0,
7765 0, 0, 0, 0, 0, 0, 0, 0,
7766 0, 0, 0, 0, 0, 0, 0, 0,
7767 0, 0, 0, 0, 0, 0, 0, 0,
7768 0, 0, 0, 0, 0, 0, 0, 0,
7769 0, 0, 610, 0, 0, 0, 0, 0,
7770 0, 0, 0, 0, 0, 0, 0, 0,
7771 0, 0, 0, 0, 0, 0, 0, 0,
7772 0, 0, 0, 0, 0, 0, 0, 0,
7773 0, 0, 0, 0, 0, 0, 0, 0,
7774 0, 0, 0, 0, 0, 0, 0, 0,
7775 0, 0, 0, 0, 0, 0, 0, 0,
7776 0, 0, 0, 0, 0, 0, 0, 0,
7777 0, 0, 0, 0, 0, 0, 0, 0,
7778 0, 0, 0, 0, 0, 0, 0, 0,
7779 0, 0, 0, 0, 0, 0, 0, 0,
7780 0, 0, 0, 0, 0, 0, 0, 0,
7781 0, 0, 0, 0, 0, 0, 0, 0,
7782 0, 0, 0, 0, 0, 0, 0, 0,
7785 static const Q_UINT16 li_03[] = {
7786 0, 0, 0, 0, 0, 0, 0, 0,
7787 612, 0, 0, 0, 0, 0, 0, 0,
7788 0, 0, 0, 0, 0, 0, 0, 0,
7789 0, 0, 0, 0, 0, 0, 0, 0,
7790 0, 0, 0, 0, 0, 0, 0, 0,
7791 0, 0, 0, 0, 0, 0, 0, 0,
7792 0, 0, 0, 0, 0, 0, 0, 0,
7793 0, 0, 0, 0, 0, 0, 0, 0,
7794 0, 0, 0, 0, 0, 0, 0, 0,
7795 0, 0, 0, 0, 0, 0, 0, 0,
7796 0, 0, 0, 0, 0, 0, 0, 0,
7797 0, 0, 0, 0, 0, 0, 0, 0,
7798 0, 0, 0, 0, 0, 0, 0, 0,
7799 0, 0, 0, 0, 0, 0, 0, 0,
7800 0, 0, 0, 0, 0, 0, 0, 0,
7801 0, 0, 0, 0, 0, 0, 0, 0,
7802 0, 0, 0, 0, 0, 0, 0, 0,
7803 0, 0, 0, 0, 0, 0, 0, 0,
7804 0, 614, 0, 0, 0, 622, 0, 627,
7805 0, 633, 0, 0, 0, 0, 0, 641,
7806 0, 646, 0, 0, 0, 648, 0, 0,
7807 0, 655, 0, 0, 661, 0, 663, 0,
7808 0, 665, 0, 0, 0, 674, 0, 679,
7809 0, 686, 0, 0, 0, 0, 0, 695,
7810 0, 700, 0, 0, 0, 703, 0, 0,
7811 0, 712, 719, 723, 0, 0, 727, 0,
7812 0, 0, 729, 0, 0, 0, 0, 0,
7813 0, 0, 0, 0, 0, 0, 0, 0,
7814 0, 0, 0, 0, 0, 0, 0, 0,
7815 0, 0, 0, 0, 0, 0, 0, 0,
7816 0, 0, 0, 0, 0, 0, 0, 0,
7817 0, 0, 0, 0, 0, 0, 0, 0,
7820 static const Q_UINT16 li_04[] = {
7821 0, 0, 0, 0, 0, 0, 732, 0,
7822 0, 0, 0, 0, 0, 0, 0, 0,
7823 734, 0, 0, 737, 0, 739, 743, 746,
7824 748, 0, 753, 0, 0, 0, 755, 0,
7825 0, 0, 0, 757, 0, 0, 0, 762,
7826 0, 0, 0, 764, 0, 766, 0, 0,
7827 768, 0, 0, 771, 0, 773, 777, 780,
7828 782, 0, 787, 0, 0, 0, 789, 0,
7829 0, 0, 0, 791, 0, 0, 0, 796,
7830 0, 0, 0, 798, 0, 800, 0, 0,
7831 0, 0, 0, 0, 0, 0, 802, 0,
7832 0, 0, 0, 0, 0, 0, 0, 0,
7833 0, 0, 0, 0, 0, 0, 0, 0,
7834 0, 0, 0, 0, 0, 0, 0, 0,
7835 0, 0, 0, 0, 804, 806, 0, 0,
7836 0, 0, 0, 0, 0, 0, 0, 0,
7837 0, 0, 0, 0, 0, 0, 0, 0,
7838 0, 0, 0, 0, 0, 0, 0, 0,
7839 0, 0, 0, 0, 0, 0, 0, 0,
7840 0, 0, 0, 0, 0, 0, 0, 0,
7841 0, 0, 0, 0, 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 808, 810, 0, 0, 0, 0, 0, 0,
7849 0, 0, 0, 0, 0, 0, 0, 0,
7850 812, 814, 0, 0, 0, 0, 0, 0,
7851 0, 0, 0, 0, 0, 0, 0, 0,
7852 0, 0, 0, 0, 0, 0, 0, 0,
7855 static const Q_UINT16 li_05[] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
7860 0, 0, 0, 0, 0, 0, 0, 0,
7861 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0,
7869 0, 0, 0, 0, 0, 0, 0, 0,
7870 0, 0, 0, 0, 0, 0, 0, 0,
7871 0, 0, 0, 0, 0, 0, 0, 0,
7872 0, 0, 0, 0, 0, 0, 0, 0,
7873 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0,
7879 0, 0, 0, 0, 0, 0, 0, 0,
7880 0, 0, 0, 0, 0, 0, 0, 0,
7881 0, 0, 0, 0, 0, 0, 0, 0,
7882 816, 820, 823, 825, 827, 829, 832, 0,
7883 834, 836, 839, 841, 844, 0, 846, 0,
7884 848, 850, 0, 852, 854, 0, 857, 859,
7885 861, 863, 867, 0, 0, 0, 0, 0,
7886 0, 0, 869, 0, 0, 0, 0, 0,
7887 0, 0, 0, 0, 0, 0, 0, 0,
7890 static const Q_UINT16 li_06[] = {
7891 0, 0, 0, 0, 0, 0, 0, 0,
7892 0, 0, 0, 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, 871, 873, 876, 879, 882, 885, 926,
7896 936, 962, 965, 1003, 1021, 1041, 1057, 1071,
7897 1074, 1078, 1083, 1086, 1121, 1158, 1183, 1206,
7898 1224, 1232, 1252, 0, 0, 0, 0, 0,
7899 1268, 1278, 1298, 1316, 1344, 1386, 1415, 1450,
7900 1464, 1469, 1476, 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, 1506, 0, 0, 0, 0, 0, 1509,
7906 0, 1511, 1516, 1521, 0, 0, 1526, 1531,
7907 1536, 0, 0, 1541, 1546, 0, 1551, 1556,
7908 1561, 0, 0, 0, 1564, 1567, 1570, 0,
7909 0, 1573, 0, 0, 0, 0, 0, 0,
7910 1576, 0, 0, 0, 0, 0, 0, 0,
7911 0, 0, 0, 0, 1579, 0, 1584, 0,
7912 0, 1589, 0, 0, 0, 1594, 0, 1599,
7913 0, 1604, 0, 1609, 0, 0, 0, 0,
7914 0, 0, 1614, 1617, 0, 0, 1622, 0,
7915 1627, 1630, 0, 0, 0, 1636, 1639, 1642,
7916 1645, 1648, 0, 1651, 1654, 0, 0, 0,
7917 1659, 0, 1664, 1668, 0, 1671, 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,
7925 static const Q_UINT16 li_07[] = {
7926 0, 0, 0, 0, 0, 0, 0, 0,
7927 0, 0, 0, 0, 0, 0, 0, 0,
7928 0, 0, 0, 0, 0, 0, 0, 0,
7929 0, 0, 0, 0, 0, 0, 0, 0,
7930 0, 0, 0, 0, 0, 0, 0, 0,
7931 0, 0, 0, 0, 0, 0, 0, 0,
7932 0, 0, 0, 0, 0, 0, 0, 0,
7933 0, 0, 0, 0, 0, 0, 0, 0,
7934 0, 0, 0, 0, 0, 0, 0, 0,
7935 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
7942 0, 0, 0, 0, 0, 0, 0, 0,
7943 0, 0, 0, 0, 0, 0, 0, 0,
7944 0, 0, 0, 0, 0, 0, 0, 0,
7945 0, 0, 0, 0, 0, 0, 0, 0,
7946 0, 0, 0, 0, 0, 0, 0, 0,
7947 0, 0, 0, 0, 0, 0, 0, 0,
7948 0, 0, 0, 0, 0, 0, 0, 0,
7949 0, 0, 0, 0, 0, 0, 0, 0,
7950 0, 0, 0, 0, 0, 0, 0, 0,
7951 0, 0, 0, 0, 0, 0, 0, 0,
7952 0, 0, 0, 0, 0, 0, 0, 0,
7953 0, 0, 0, 0, 0, 0, 0, 0,
7954 0, 0, 0, 0, 0, 0, 0, 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,
7960 static const Q_UINT16 li_09[] = {
7961 0, 0, 0, 0, 0, 0, 0, 0,
7962 0, 0, 0, 0, 0, 0, 0, 0,
7963 0, 0, 0, 0, 0, 1673, 1675, 1677,
7964 0, 0, 0, 0, 1679, 0, 0, 0,
7965 0, 1681, 1683, 0, 0, 0, 0, 0,
7966 1685, 0, 0, 1687, 0, 0, 0, 1689,
7967 1691, 0, 0, 1693, 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 0, 0, 0, 0, 0, 0, 0, 0,
7972 0, 0, 0, 0, 0, 0, 0, 0,
7973 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
7977 0, 0, 0, 0, 0, 0, 0, 0,
7978 0, 0, 0, 0, 0, 0, 0, 0,
7979 0, 0, 0, 0, 0, 0, 0, 0,
7980 0, 0, 0, 0, 0, 0, 0, 0,
7981 0, 1695, 1697, 0, 0, 0, 0, 0,
7982 0, 0, 0, 0, 0, 0, 0, 1699,
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, 1701,
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,
7995 static const Q_UINT16 li_0A[] = {
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, 1704, 1706,
7999 0, 0, 0, 0, 1708, 0, 0, 0,
8000 0, 0, 0, 0, 0, 0, 0, 0,
8001 0, 0, 0, 1710, 0, 0, 0, 0,
8002 0, 0, 1712, 0, 0, 0, 0, 0,
8003 1714, 0, 0, 0, 0, 0, 0, 0,
8004 0, 0, 0, 0, 0, 0, 0, 0,
8005 0, 0, 0, 0, 0, 0, 0, 0,
8006 0, 0, 0, 0, 0, 0, 0, 0,
8007 0, 0, 0, 0, 0, 0, 0, 0,
8008 0, 0, 0, 0, 0, 0, 0, 0,
8009 0, 0, 0, 0, 0, 0, 0, 0,
8010 0, 0, 0, 0, 0, 0, 0, 0,
8011 0, 0, 0, 0, 0, 0, 0, 0,
8012 0, 0, 0, 0, 0, 0, 0, 0,
8013 0, 0, 0, 0, 0, 0, 0, 0,
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, 0,
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 0, 0, 0, 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,
8030 static const Q_UINT16 li_0B[] = {
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, 1716, 1718, 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, 0, 0, 0, 0, 0, 0, 0,
8039 0, 0, 0, 0, 0, 0, 0, 1720,
8040 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
8047 0, 0, 0, 0, 0, 0, 0, 0,
8048 0, 0, 0, 0, 0, 0, 0, 0,
8049 0, 0, 1724, 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, 1726, 1729,
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,
8065 static const Q_UINT16 li_0C[] = {
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, 1731, 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 0, 0, 0, 0, 0, 0, 0, 0,
8082 0, 0, 0, 0, 0, 0, 0, 0,
8083 0, 0, 0, 0, 0, 0, 0, 0,
8084 0, 0, 0, 0, 0, 0, 0, 0,
8085 0, 0, 0, 0, 0, 0, 0, 0,
8086 0, 0, 0, 0, 0, 0, 0, 0,
8087 0, 0, 0, 0, 0, 0, 0, 0,
8088 0, 0, 0, 0, 0, 0, 0, 0,
8089 0, 0, 0, 0, 0, 0, 0, 1733,
8090 0, 0, 0, 0, 0, 0, 1735, 0,
8091 0, 0, 1739, 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,
8100 static const Q_UINT16 li_0D[] = {
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, 0, 0, 0, 0, 0, 0, 0,
8105 0, 0, 0, 0, 0, 0, 0, 0,
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, 0,
8109 0, 0, 0, 0, 0, 0, 1741, 1744,
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 0, 0, 0, 0, 0, 0, 0, 0,
8117 0, 0, 0, 0, 0, 0, 0, 0,
8118 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0,
8122 0, 0, 0, 0, 0, 0, 0, 0,
8123 0, 0, 0, 0, 0, 0, 0, 0,
8124 0, 0, 0, 0, 0, 0, 0, 0,
8125 0, 0, 0, 0, 0, 0, 0, 0,
8126 0, 0, 0, 0, 0, 0, 0, 0,
8127 0, 0, 0, 0, 0, 0, 0, 0,
8128 0, 1746, 0, 0, 1750, 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,
8135 static const Q_UINT16 li_0F[] = {
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 1752, 0, 1754, 0, 0, 0, 0, 0,
8145 0, 0, 0, 0, 1756, 0, 0, 0,
8146 0, 1758, 0, 0, 0, 0, 1760, 0,
8147 0, 0, 0, 1762, 0, 0, 0, 0,
8148 0, 0, 0, 0, 0, 0, 0, 0,
8149 0, 0, 0, 0, 0, 0, 0, 0,
8150 0, 1764, 0, 0, 0, 0, 0, 0,
8151 0, 0, 0, 0, 0, 0, 0, 0,
8152 0, 0, 0, 0, 0, 0, 0, 0,
8153 0, 0, 0, 0, 0, 0, 0, 0,
8154 1768, 0, 1770, 0, 0, 0, 0, 0,
8155 0, 0, 0, 0, 1772, 0, 0, 0,
8156 0, 1774, 0, 0, 0, 0, 1776, 0,
8157 0, 0, 0, 1778, 0, 0, 0, 0,
8158 0, 0, 1780, 1782, 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, 0,
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,
8170 static const Q_UINT16 li_10[] = {
8171 0, 0, 0, 0, 0, 0, 0, 0,
8172 0, 0, 0, 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, 1784, 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, 0, 0,
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 0, 0, 0, 0, 0, 0, 0, 0,
8187 0, 0, 0, 0, 0, 0, 0, 0,
8188 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 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,
8205 static const Q_UINT16 li_1E[] = {
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, 1786, 1788,
8213 0, 0, 0, 0, 0, 0, 0, 0,
8214 0, 0, 0, 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, 1790, 1792, 0, 0, 0, 0,
8218 0, 0, 1794, 1796, 0, 0, 0, 0,
8219 0, 0, 0, 0, 0, 0, 0, 0,
8220 0, 0, 0, 0, 0, 0, 0, 0,
8221 0, 0, 0, 0, 0, 0, 0, 0,
8222 0, 0, 0, 0, 0, 0, 0, 0,
8223 0, 0, 0, 0, 0, 0, 0, 0,
8224 0, 0, 0, 0, 0, 0, 0, 0,
8225 0, 0, 0, 0, 0, 0, 0, 0,
8226 1798, 1801, 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 1804, 1806, 0, 0, 0, 0, 0, 0,
8230 0, 0, 0, 0, 0, 0, 0, 0,
8231 0, 0, 0, 0, 1808, 1810, 0, 0,
8232 0, 0, 0, 0, 0, 0, 0, 0,
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,
8240 static const Q_UINT16 li_1F[] = {
8241 1812, 1817, 1822, 1824, 1826, 1828, 1830, 1832,
8242 1834, 1839, 1844, 1846, 1848, 1850, 1852, 1854,
8243 1856, 1859, 0, 0, 0, 0, 0, 0,
8244 1862, 1865, 0, 0, 0, 0, 0, 0,
8245 1868, 1873, 1878, 1880, 1882, 1884, 1886, 1888,
8246 1890, 1895, 1900, 1902, 1904, 1906, 1908, 1910,
8247 1912, 1916, 0, 0, 0, 0, 0, 0,
8248 1920, 1924, 0, 0, 0, 0, 0, 0,
8249 1928, 1931, 0, 0, 0, 0, 0, 0,
8250 1934, 1937, 0, 0, 0, 0, 0, 0,
8251 1940, 1944, 0, 0, 0, 0, 0, 0,
8252 0, 1948, 0, 0, 0, 0, 0, 0,
8253 1952, 1957, 1962, 1964, 1966, 1968, 1970, 1972,
8254 1974, 1979, 1984, 1986, 1988, 1990, 1992, 1994,
8255 1996, 0, 0, 0, 1998, 0, 0, 0,
8256 0, 0, 0, 0, 2000, 0, 0, 0,
8257 0, 0, 0, 0, 0, 0, 0, 0,
8258 0, 0, 0, 0, 0, 0, 0, 0,
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, 2002, 0,
8264 0, 0, 0, 0, 0, 0, 0, 2004,
8265 0, 0, 0, 0, 0, 0, 2008, 0,
8266 0, 0, 0, 0, 0, 0, 0, 0,
8267 0, 0, 0, 0, 0, 0, 0, 0,
8268 0, 0, 0, 0, 0, 0, 0, 0,
8269 0, 0, 0, 0, 0, 0, 0, 0,
8270 0, 0, 0, 0, 0, 0, 0, 0,
8271 0, 0, 0, 0, 0, 0, 2010, 0,
8272 0, 0, 0, 0, 0, 0, 2012, 0,
8275 static const Q_UINT16 li_21[] = {
8276 0, 0, 0, 0, 0, 0, 0, 0,
8277 0, 0, 0, 0, 0, 0, 0, 0,
8278 0, 0, 0, 0, 0, 0, 0, 0,
8279 0, 0, 0, 0, 0, 0, 0, 0,
8280 0, 0, 0, 0, 0, 0, 0, 0,
8281 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
8292 0, 0, 0, 0, 0, 0, 0, 0,
8293 0, 0, 0, 0, 0, 0, 0, 0,
8294 2016, 0, 2018, 0, 2020, 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, 0, 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 2022, 0, 2024, 0, 2026, 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,
8310 static const Q_UINT16 li_22[] = {
8311 0, 0, 0, 2028, 0, 0, 0, 0,
8312 2030, 0, 0, 2032, 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, 2034, 0, 2036, 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, 2038, 0, 0, 0,
8319 0, 0, 0, 2040, 0, 2042, 0, 0,
8320 2044, 0, 0, 0, 0, 2046, 0, 0,
8321 0, 0, 0, 0, 0, 0, 0, 0,
8322 0, 0, 0, 0, 0, 0, 0, 0,
8323 0, 2048, 0, 0, 2050, 2052, 0, 0,
8324 0, 0, 0, 0, 0, 0, 0, 0,
8325 0, 0, 2054, 2056, 0, 0, 2058, 2060,
8326 0, 0, 2062, 2064, 2066, 2068, 0, 0,
8327 0, 0, 2070, 2072, 0, 0, 2074, 2076,
8328 0, 0, 0, 0, 0, 0, 0, 0,
8329 0, 2078, 2080, 0, 0, 0, 0, 0,
8330 0, 0, 0, 0, 0, 0, 0, 0,
8331 0, 0, 2082, 0, 0, 0, 0, 0,
8332 2084, 2086, 0, 2088, 0, 0, 0, 0,
8333 0, 0, 2090, 2092, 2094, 2096, 0, 0,
8334 0, 0, 0, 0, 0, 0, 0, 0,
8335 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0,
8341 0, 0, 0, 0, 0, 0, 0, 0,
8342 0, 0, 0, 0, 0, 0, 0, 0,
8345 static const Q_UINT16 li_30[] = {
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 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
8353 0, 0, 0, 0, 0, 0, 0, 0,
8354 0, 0, 0, 0, 0, 0, 2098, 0,
8355 0, 0, 0, 2100, 0, 2102, 0, 2104,
8356 0, 2106, 0, 2108, 0, 2110, 0, 2112,
8357 0, 2114, 0, 2116, 0, 2118, 0, 2120,
8358 0, 2122, 0, 0, 2124, 0, 2126, 0,
8359 2128, 0, 0, 0, 0, 0, 0, 2130,
8360 0, 0, 2133, 0, 0, 2136, 0, 0,
8361 2139, 0, 0, 2142, 0, 0, 0, 0,
8362 0, 0, 0, 0, 0, 0, 0, 0,
8363 0, 0, 0, 0, 0, 0, 0, 0,
8364 0, 0, 0, 0, 0, 0, 0, 0,
8365 0, 0, 0, 0, 0, 2145, 0, 0,
8366 0, 0, 0, 0, 0, 0, 2147, 0,
8367 0, 0, 0, 2149, 0, 2151, 0, 2153,
8368 0, 2155, 0, 2157, 0, 2159, 0, 2161,
8369 0, 2163, 0, 2165, 0, 2167, 0, 2169,
8370 0, 2171, 0, 0, 2173, 0, 2175, 0,
8371 2177, 0, 0, 0, 0, 0, 0, 2179,
8372 0, 0, 2182, 0, 0, 2185, 0, 0,
8373 2188, 0, 0, 2191, 0, 0, 0, 0,
8374 0, 0, 0, 0, 0, 0, 0, 0,
8375 0, 0, 0, 0, 0, 0, 0, 2194,
8376 2196, 2198, 2200, 0, 0, 0, 0, 0,
8377 0, 0, 0, 0, 0, 2202, 0, 0,
8380 static const Q_UINT16 li_FB[] = {
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, 0, 0,
8387 0, 0, 0, 0, 0, 0, 0, 0,
8388 0, 0, 0, 0, 0, 0, 0, 0,
8389 0, 0, 0, 0, 0, 0, 0, 0,
8390 0, 2204, 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, 0, 0,
8395 0, 0, 0, 0, 0, 0, 0, 0,
8396 0, 0, 0, 0, 0, 0, 0, 0,
8397 0, 0, 0, 0, 0, 0, 0, 0,
8398 0, 0, 0, 0, 0, 0, 0, 0,
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,
8415 static const Q_UINT16 * const ligature_info[256] = {
8416 li_00, li_01, li_02, li_03, li_04, li_05, li_06, li_07,
8417 li_07, li_09, li_0A, li_0B, li_0C, li_0D, li_07, li_0F,
8418 li_10, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8419 li_07, li_07, li_07, li_07, li_07, li_07, li_1E, li_1F,
8420 li_07, li_21, li_22, li_07, li_07, li_07, li_07, li_07,
8421 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8422 li_30, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8423 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8424 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8425 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8426 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8427 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8428 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8429 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8430 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8431 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8432 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8433 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8434 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8435 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8436 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8437 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8438 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8439 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8440 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8441 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8442 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8443 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8444 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8445 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8446 li_07, li_07, li_07, li_07, li_07, li_07, li_07, li_07,
8447 li_07, li_07, li_07, li_FB, li_07, li_07, li_07, li_07,
8451 static const Q_UINT8 dir_00[] = {
8452 18, 18, 18, 18, 18, 18, 18, 18,
8453 18, 8, 7, 8, 9, 7, 18, 18,
8454 18, 18, 18, 18, 18, 18, 18, 18,
8455 18, 18, 18, 18, 7, 7, 7, 8,
8456 9, 10, 10, 4, 4, 4, 10, 10,
8457 138, 138, 10, 4, 6, 4, 6, 3,
8458 2, 2, 2, 2, 2, 2, 2, 2,
8459 2, 2, 6, 10, 138, 10, 138, 10,
8460 10, 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, 138, 10, 138, 10, 10,
8464 10, 0, 0, 0, 0, 0, 0, 0,
8465 0, 0, 0, 0, 0, 0, 0, 0,
8466 0, 0, 0, 0, 0, 0, 0, 0,
8467 0, 0, 0, 138, 10, 138, 10, 18,
8468 18, 18, 18, 18, 18, 7, 18, 18,
8469 18, 18, 18, 18, 18, 18, 18, 18,
8470 18, 18, 18, 18, 18, 18, 18, 18,
8471 18, 18, 18, 18, 18, 18, 18, 18,
8472 6, 10, 4, 4, 4, 4, 10, 10,
8473 10, 10, 0, 138, 10, 10, 10, 10,
8474 4, 4, 2, 2, 10, 0, 10, 10,
8475 10, 2, 0, 138, 10, 10, 10, 10,
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, 10,
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, 10,
8483 0, 0, 0, 0, 0, 0, 0, 0,
8486 static const Q_UINT8 dir_01[] = {
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, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
8502 0, 0, 0, 0, 0, 0, 0, 0,
8503 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0,
8513 0, 0, 0, 0, 0, 0, 0, 0,
8514 0, 0, 0, 0, 0, 0, 0, 0,
8515 0, 0, 0, 0, 0, 0, 0, 0,
8516 0, 0, 0, 0, 0, 0, 0, 0,
8517 0, 0, 0, 0, 0, 0, 0, 0,
8518 0, 0, 0, 0, 0, 0, 0, 0,
8521 static const Q_UINT8 dir_02[] = {
8522 0, 0, 0, 0, 0, 0, 0, 0,
8523 0, 0, 0, 0, 0, 0, 0, 0,
8524 0, 0, 0, 0, 0, 0, 0, 0,
8525 0, 0, 0, 0, 0, 0, 0, 0,
8526 0, 0, 0, 0, 0, 0, 0, 0,
8527 0, 0, 0, 0, 0, 0, 0, 0,
8528 0, 0, 0, 0, 0, 0, 0, 0,
8529 0, 0, 0, 0, 0, 0, 0, 0,
8530 0, 0, 0, 0, 0, 0, 0, 0,
8531 0, 0, 0, 0, 0, 0, 0, 0,
8532 0, 0, 0, 0, 0, 0, 0, 0,
8533 0, 0, 0, 0, 0, 0, 0, 0,
8534 0, 0, 0, 0, 0, 0, 0, 0,
8535 0, 0, 0, 0, 0, 0, 0, 0,
8536 0, 0, 0, 0, 0, 0, 0, 0,
8537 0, 0, 0, 0, 0, 0, 0, 0,
8538 0, 0, 0, 0, 0, 0, 0, 0,
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, 10, 10, 0, 0, 0, 0, 0,
8546 0, 0, 10, 10, 10, 10, 10, 10,
8547 10, 10, 10, 10, 10, 10, 10, 10,
8548 0, 0, 10, 10, 10, 10, 10, 10,
8549 10, 10, 10, 10, 10, 10, 10, 10,
8550 0, 0, 0, 0, 0, 10, 10, 10,
8551 10, 10, 10, 10, 10, 10, 0, 0,
8552 0, 0, 0, 0, 0, 0, 0, 0,
8553 0, 0, 0, 0, 0, 0, 0, 0,
8556 static const Q_UINT8 dir_03[] = {
8557 17, 17, 17, 17, 17, 17, 17, 17,
8558 17, 17, 17, 17, 17, 17, 17, 17,
8559 17, 17, 17, 17, 17, 17, 17, 17,
8560 17, 17, 17, 17, 17, 17, 17, 17,
8561 17, 17, 17, 17, 17, 17, 17, 17,
8562 17, 17, 17, 17, 17, 17, 17, 17,
8563 17, 17, 17, 17, 17, 17, 17, 17,
8564 17, 17, 17, 17, 17, 17, 17, 17,
8565 17, 17, 17, 17, 17, 17, 17, 17,
8566 17, 17, 17, 17, 17, 17, 17, 0,
8567 0, 0, 0, 0, 0, 0, 0, 0,
8568 0, 0, 0, 0, 0, 0, 0, 0,
8569 17, 17, 17, 0, 0, 0, 0, 0,
8570 0, 0, 0, 0, 0, 0, 0, 0,
8571 0, 0, 0, 0, 10, 10, 0, 0,
8572 0, 0, 0, 0, 0, 0, 10, 0,
8573 0, 0, 0, 0, 10, 10, 0, 10,
8574 0, 0, 0, 0, 0, 0, 0, 0,
8575 0, 0, 0, 0, 0, 0, 0, 0,
8576 0, 0, 0, 0, 0, 0, 0, 0,
8577 0, 0, 0, 0, 0, 0, 0, 0,
8578 0, 0, 0, 0, 0, 0, 0, 0,
8579 0, 0, 0, 0, 0, 0, 0, 0,
8580 0, 0, 0, 0, 0, 0, 0, 0,
8581 0, 0, 0, 0, 0, 0, 0, 0,
8582 0, 0, 0, 0, 0, 0, 0, 0,
8583 0, 0, 0, 0, 0, 0, 0, 0,
8584 0, 0, 0, 0, 0, 0, 0, 0,
8585 0, 0, 0, 0, 0, 0, 0, 0,
8586 0, 0, 0, 0, 0, 0, 0, 0,
8587 0, 0, 0, 0, 0, 0, 0, 0,
8588 0, 0, 0, 0, 0, 0, 0, 0,
8591 static const Q_UINT8 dir_04[] = {
8592 0, 0, 0, 0, 0, 0, 0, 0,
8593 0, 0, 0, 0, 0, 0, 0, 0,
8594 0, 0, 0, 0, 0, 0, 0, 0,
8595 0, 0, 0, 0, 0, 0, 0, 0,
8596 0, 0, 0, 0, 0, 0, 0, 0,
8597 0, 0, 0, 0, 0, 0, 0, 0,
8598 0, 0, 0, 0, 0, 0, 0, 0,
8599 0, 0, 0, 0, 0, 0, 0, 0,
8600 0, 0, 0, 0, 0, 0, 0, 0,
8601 0, 0, 0, 0, 0, 0, 0, 0,
8602 0, 0, 0, 0, 0, 0, 0, 0,
8603 0, 0, 0, 0, 0, 0, 0, 0,
8604 0, 0, 0, 0, 0, 0, 0, 0,
8605 0, 0, 0, 0, 0, 0, 0, 0,
8606 0, 0, 0, 0, 0, 0, 0, 0,
8607 0, 0, 0, 0, 0, 0, 0, 0,
8608 0, 0, 0, 17, 17, 17, 17, 0,
8609 17, 17, 0, 0, 0, 0, 0, 0,
8610 0, 0, 0, 0, 0, 0, 0, 0,
8611 0, 0, 0, 0, 0, 0, 0, 0,
8612 0, 0, 0, 0, 0, 0, 0, 0,
8613 0, 0, 0, 0, 0, 0, 0, 0,
8614 0, 0, 0, 0, 0, 0, 0, 0,
8615 0, 0, 0, 0, 0, 0, 0, 0,
8616 0, 0, 0, 0, 0, 0, 0, 0,
8617 0, 0, 0, 0, 0, 0, 0, 0,
8618 0, 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, 0, 0, 0, 0, 0,
8622 0, 0, 0, 0, 0, 0, 0, 0,
8623 0, 0, 0, 0, 0, 0, 0, 0,
8626 static const Q_UINT8 dir_05[] = {
8627 0, 0, 0, 0, 0, 0, 0, 0,
8628 0, 0, 0, 0, 0, 0, 0, 0,
8629 0, 0, 0, 0, 0, 0, 0, 0,
8630 0, 0, 0, 0, 0, 0, 0, 0,
8631 0, 0, 0, 0, 0, 0, 0, 0,
8632 0, 0, 0, 0, 0, 0, 0, 0,
8633 0, 0, 0, 0, 0, 0, 0, 0,
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, 0,
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, 0,
8641 0, 0, 0, 0, 0, 0, 0, 0,
8642 0, 0, 0, 0, 0, 0, 0, 0,
8643 0, 0, 0, 0, 0, 0, 0, 0,
8644 0, 0, 10, 0, 0, 0, 0, 0,
8645 0, 17, 17, 17, 17, 17, 17, 17,
8646 17, 17, 17, 17, 17, 17, 17, 17,
8647 17, 17, 0, 17, 17, 17, 17, 17,
8648 17, 17, 17, 17, 17, 17, 17, 17,
8649 17, 17, 17, 17, 17, 17, 17, 17,
8650 17, 17, 0, 17, 17, 17, 1, 17,
8651 1, 17, 17, 1, 17, 0, 0, 0,
8652 0, 0, 0, 0, 0, 0, 0, 0,
8653 1, 1, 1, 1, 1, 1, 1, 1,
8654 1, 1, 1, 1, 1, 1, 1, 1,
8655 1, 1, 1, 1, 1, 1, 1, 1,
8656 1, 1, 1, 0, 0, 0, 0, 0,
8657 1, 1, 1, 1, 1, 0, 0, 0,
8658 0, 0, 0, 0, 0, 0, 0, 0,
8661 static const Q_UINT8 dir_06[] = {
8662 0, 0, 0, 0, 0, 0, 0, 0,
8663 0, 0, 0, 0, 6, 0, 0, 0,
8664 0, 0, 0, 0, 0, 0, 0, 0,
8665 0, 0, 0, 13, 0, 0, 0, 13,
8666 0, 13, 77, 77, 77, 77, 45, 77,
8667 45, 77, 45, 45, 45, 45, 45, 77,
8668 77, 77, 77, 45, 45, 45, 45, 45,
8669 45, 45, 45, 0, 0, 0, 0, 0,
8670 109, 45, 45, 45, 45, 45, 45, 45,
8671 77, 77, 45, 17, 17, 17, 17, 17,
8672 17, 17, 17, 17, 17, 17, 0, 0,
8673 0, 0, 0, 0, 0, 0, 0, 0,
8674 5, 5, 5, 5, 5, 5, 5, 5,
8675 5, 5, 4, 5, 5, 13, 0, 0,
8676 17, 13, 77, 77, 13, 77, 77, 77,
8677 45, 45, 45, 45, 45, 45, 45, 45,
8678 45, 45, 45, 45, 45, 45, 45, 45,
8679 77, 77, 77, 77, 77, 77, 77, 77,
8680 77, 77, 77, 77, 77, 77, 77, 77,
8681 77, 77, 45, 45, 45, 45, 45, 45,
8682 45, 45, 45, 45, 45, 45, 45, 45,
8683 45, 45, 45, 45, 45, 45, 45, 45,
8684 45, 45, 45, 45, 45, 45, 45, 45,
8685 45, 45, 45, 45, 45, 45, 45, 45,
8686 77, 45, 77, 77, 77, 77, 77, 77,
8687 77, 77, 77, 77, 45, 77, 45, 77,
8688 45, 45, 77, 77, 13, 13, 17, 17,
8689 17, 17, 17, 17, 17, 17, 17, 17,
8690 17, 17, 17, 17, 17, 13, 13, 17,
8691 17, 10, 17, 17, 17, 17, 0, 0,
8692 2, 2, 2, 2, 2, 2, 2, 2,
8693 2, 2, 45, 45, 45, 13, 13, 0,
8696 static const Q_UINT8 dir_07[] = {
8697 13, 13, 13, 13, 13, 13, 13, 13,
8698 13, 13, 13, 13, 13, 13, 0, 18,
8699 77, 17, 45, 45, 45, 77, 77, 77,
8700 77, 77, 45, 45, 45, 45, 77, 45,
8701 45, 45, 45, 45, 45, 45, 45, 45,
8702 77, 45, 77, 45, 77, 0, 0, 0,
8703 17, 17, 17, 17, 17, 17, 17, 17,
8704 17, 17, 17, 17, 17, 17, 17, 17,
8705 17, 17, 17, 17, 17, 17, 17, 17,
8706 17, 17, 17, 0, 0, 0, 0, 0,
8707 0, 0, 0, 0, 0, 0, 0, 0,
8708 0, 0, 0, 0, 0, 0, 0, 0,
8709 0, 0, 0, 0, 0, 0, 0, 0,
8710 0, 0, 0, 0, 0, 0, 0, 0,
8711 0, 0, 0, 0, 0, 0, 0, 0,
8712 0, 0, 0, 0, 0, 0, 0, 0,
8713 13, 13, 13, 13, 13, 13, 13, 13,
8714 13, 13, 13, 13, 13, 13, 13, 13,
8715 13, 13, 13, 13, 13, 13, 13, 13,
8716 13, 13, 13, 13, 13, 13, 13, 13,
8717 13, 13, 13, 13, 13, 13, 17, 17,
8718 17, 17, 17, 17, 17, 17, 17, 17,
8719 17, 0, 0, 0, 0, 0, 0, 0,
8720 0, 0, 0, 0, 0, 0, 0, 0,
8721 0, 0, 0, 0, 0, 0, 0, 0,
8722 0, 0, 0, 0, 0, 0, 0, 0,
8723 0, 0, 0, 0, 0, 0, 0, 0,
8724 0, 0, 0, 0, 0, 0, 0, 0,
8725 0, 0, 0, 0, 0, 0, 0, 0,
8726 0, 0, 0, 0, 0, 0, 0, 0,
8727 0, 0, 0, 0, 0, 0, 0, 0,
8728 0, 0, 0, 0, 0, 0, 0, 0,
8731 static const Q_UINT8 dir_09[] = {
8732 0, 17, 17, 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, 17, 0, 0, 0,
8740 0, 17, 17, 17, 17, 17, 17, 17,
8741 17, 0, 0, 0, 0, 17, 0, 0,
8742 0, 17, 17, 17, 17, 0, 0, 0,
8743 0, 0, 0, 0, 0, 0, 0, 0,
8744 0, 0, 17, 17, 0, 0, 0, 0,
8745 0, 0, 0, 0, 0, 0, 0, 0,
8746 0, 0, 0, 0, 0, 0, 0, 0,
8747 0, 0, 0, 0, 0, 0, 0, 0,
8748 0, 17, 0, 0, 0, 0, 0, 0,
8749 0, 0, 0, 0, 0, 0, 0, 0,
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, 17, 0, 0, 0,
8756 0, 17, 17, 17, 17, 0, 0, 0,
8757 0, 0, 0, 0, 0, 17, 0, 0,
8758 0, 0, 0, 0, 0, 0, 0, 0,
8759 0, 0, 0, 0, 0, 0, 0, 0,
8760 0, 0, 17, 17, 0, 0, 0, 0,
8761 0, 0, 0, 0, 0, 0, 0, 0,
8762 0, 0, 4, 4, 0, 0, 0, 0,
8763 0, 0, 0, 0, 0, 0, 0, 0,
8766 static const Q_UINT8 dir_0A[] = {
8767 0, 0, 17, 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, 17, 0, 0, 0,
8775 0, 17, 17, 0, 0, 0, 0, 17,
8776 17, 0, 0, 17, 17, 17, 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 17, 17, 0, 0, 0, 0, 0, 0,
8782 0, 0, 0, 0, 0, 0, 0, 0,
8783 0, 17, 17, 0, 0, 0, 0, 0,
8784 0, 0, 0, 0, 0, 0, 0, 0,
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, 17, 0, 0, 0,
8791 0, 17, 17, 17, 17, 17, 0, 17,
8792 17, 0, 0, 0, 0, 17, 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,
8801 static const Q_UINT8 dir_0B[] = {
8802 0, 17, 0, 0, 0, 0, 0, 0,
8803 0, 0, 0, 0, 0, 0, 0, 0,
8804 0, 0, 0, 0, 0, 0, 0, 0,
8805 0, 0, 0, 0, 0, 0, 0, 0,
8806 0, 0, 0, 0, 0, 0, 0, 0,
8807 0, 0, 0, 0, 0, 0, 0, 0,
8808 0, 0, 0, 0, 0, 0, 0, 0,
8809 0, 0, 0, 0, 17, 0, 0, 17,
8810 0, 17, 17, 17, 0, 0, 0, 0,
8811 0, 0, 0, 0, 0, 17, 0, 0,
8812 0, 0, 0, 0, 0, 0, 17, 0,
8813 0, 0, 0, 0, 0, 0, 0, 0,
8814 0, 0, 0, 0, 0, 0, 0, 0,
8815 0, 0, 0, 0, 0, 0, 0, 0,
8816 0, 0, 0, 0, 0, 0, 0, 0,
8817 0, 0, 0, 0, 0, 0, 0, 0,
8818 0, 0, 17, 0, 0, 0, 0, 0,
8819 0, 0, 0, 0, 0, 0, 0, 0,
8820 0, 0, 0, 0, 0, 0, 0, 0,
8821 0, 0, 0, 0, 0, 0, 0, 0,
8822 0, 0, 0, 0, 0, 0, 0, 0,
8823 0, 0, 0, 0, 0, 0, 0, 0,
8824 0, 0, 0, 0, 0, 0, 0, 0,
8825 0, 0, 0, 0, 0, 0, 0, 0,
8826 17, 0, 0, 0, 0, 0, 0, 0,
8827 0, 0, 0, 0, 0, 17, 0, 0,
8828 0, 0, 0, 0, 0, 0, 0, 0,
8829 0, 0, 0, 0, 0, 0, 0, 0,
8830 0, 0, 0, 0, 0, 0, 0, 0,
8831 0, 0, 0, 0, 0, 0, 0, 0,
8832 0, 0, 0, 0, 0, 0, 0, 0,
8833 0, 0, 0, 0, 0, 0, 0, 0,
8836 static const Q_UINT8 dir_0C[] = {
8837 0, 0, 0, 0, 0, 0, 0, 0,
8838 0, 0, 0, 0, 0, 0, 0, 0,
8839 0, 0, 0, 0, 0, 0, 0, 0,
8840 0, 0, 0, 0, 0, 0, 0, 0,
8841 0, 0, 0, 0, 0, 0, 0, 0,
8842 0, 0, 0, 0, 0, 0, 0, 0,
8843 0, 0, 0, 0, 0, 0, 0, 0,
8844 0, 0, 0, 0, 0, 0, 17, 17,
8845 17, 0, 0, 0, 0, 0, 17, 17,
8846 17, 0, 17, 17, 17, 17, 0, 0,
8847 0, 0, 0, 0, 0, 17, 17, 0,
8848 0, 0, 0, 0, 0, 0, 0, 0,
8849 0, 0, 0, 0, 0, 0, 0, 0,
8850 0, 0, 0, 0, 0, 0, 0, 0,
8851 0, 0, 0, 0, 0, 0, 0, 0,
8852 0, 0, 0, 0, 0, 0, 0, 0,
8853 0, 0, 0, 0, 0, 0, 0, 0,
8854 0, 0, 0, 0, 0, 0, 0, 0,
8855 0, 0, 0, 0, 0, 0, 0, 0,
8856 0, 0, 0, 0, 0, 0, 0, 0,
8857 0, 0, 0, 0, 0, 0, 0, 0,
8858 0, 0, 0, 0, 0, 0, 0, 0,
8859 0, 0, 0, 0, 0, 0, 0, 0,
8860 0, 0, 0, 0, 0, 0, 0, 17,
8861 0, 0, 0, 0, 0, 0, 17, 0,
8862 0, 0, 0, 0, 17, 17, 0, 0,
8863 0, 0, 0, 0, 0, 0, 0, 0,
8864 0, 0, 0, 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,
8871 static const Q_UINT8 dir_0D[] = {
8872 0, 0, 0, 0, 0, 0, 0, 0,
8873 0, 0, 0, 0, 0, 0, 0, 0,
8874 0, 0, 0, 0, 0, 0, 0, 0,
8875 0, 0, 0, 0, 0, 0, 0, 0,
8876 0, 0, 0, 0, 0, 0, 0, 0,
8877 0, 0, 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, 17, 17, 17, 0, 0, 0, 0,
8881 0, 0, 0, 0, 0, 17, 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 0, 0, 0, 0, 0, 0, 0, 0,
8888 0, 0, 0, 0, 0, 0, 0, 0,
8889 0, 0, 0, 0, 0, 0, 0, 0,
8890 0, 0, 0, 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, 17, 0, 0, 0, 0, 0,
8898 0, 0, 17, 17, 17, 0, 17, 0,
8899 0, 0, 0, 0, 0, 0, 0, 0,
8900 0, 0, 0, 0, 0, 0, 0, 0,
8901 0, 0, 0, 0, 0, 0, 0, 0,
8902 0, 0, 0, 0, 0, 0, 0, 0,
8903 0, 0, 0, 0, 0, 0, 0, 0,
8906 static const Q_UINT8 dir_0E[] = {
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, 17, 0, 0, 17, 17, 17, 17,
8914 17, 17, 17, 0, 0, 0, 0, 4,
8915 0, 0, 0, 0, 0, 0, 0, 17,
8916 17, 17, 17, 17, 17, 17, 17, 0,
8917 0, 0, 0, 0, 0, 0, 0, 0,
8918 0, 0, 0, 0, 0, 0, 0, 0,
8919 0, 0, 0, 0, 0, 0, 0, 0,
8920 0, 0, 0, 0, 0, 0, 0, 0,
8921 0, 0, 0, 0, 0, 0, 0, 0,
8922 0, 0, 0, 0, 0, 0, 0, 0,
8923 0, 0, 0, 0, 0, 0, 0, 0,
8924 0, 0, 0, 0, 0, 0, 0, 0,
8925 0, 0, 0, 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, 17, 0, 0, 17, 17, 17, 17,
8930 17, 17, 0, 17, 17, 0, 0, 0,
8931 0, 0, 0, 0, 0, 0, 0, 0,
8932 17, 17, 17, 17, 17, 17, 0, 0,
8933 0, 0, 0, 0, 0, 0, 0, 0,
8934 0, 0, 0, 0, 0, 0, 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,
8941 static const Q_UINT8 dir_0F[] = {
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 17, 17, 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, 0, 17, 0, 17,
8949 0, 17, 10, 10, 10, 10, 0, 0,
8950 0, 0, 0, 0, 0, 0, 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, 17, 17, 17, 17, 17, 17, 17,
8957 17, 17, 17, 17, 17, 17, 17, 0,
8958 17, 17, 17, 17, 17, 0, 17, 17,
8959 0, 0, 0, 0, 0, 0, 0, 0,
8960 17, 17, 17, 17, 17, 17, 17, 17,
8961 0, 17, 17, 17, 17, 17, 17, 17,
8962 17, 17, 17, 17, 17, 17, 17, 17,
8963 17, 17, 17, 17, 17, 17, 17, 17,
8964 17, 17, 17, 17, 17, 17, 17, 17,
8965 17, 17, 17, 17, 17, 0, 0, 0,
8966 0, 0, 0, 0, 0, 0, 17, 0,
8967 0, 0, 0, 0, 0, 0, 0, 0,
8968 0, 0, 0, 0, 0, 0, 0, 0,
8969 0, 0, 0, 0, 0, 0, 0, 0,
8970 0, 0, 0, 0, 0, 0, 0, 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,
8976 static const Q_UINT8 dir_10[] = {
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, 17, 17, 17,
8983 17, 0, 17, 0, 0, 0, 17, 17,
8984 0, 17, 0, 0, 0, 0, 0, 0,
8985 0, 0, 0, 0, 0, 0, 0, 0,
8986 0, 0, 0, 0, 0, 0, 0, 0,
8987 0, 0, 0, 0, 0, 0, 0, 0,
8988 17, 17, 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 0, 0, 0, 0, 0, 0, 0, 0,
8993 0, 0, 0, 0, 0, 0, 0, 0,
8994 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0,
9003 0, 0, 0, 0, 0, 0, 0, 0,
9004 0, 0, 0, 0, 0, 0, 0, 0,
9005 0, 0, 0, 0, 0, 0, 0, 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,
9011 static const Q_UINT8 dir_16[] = {
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, 0,
9019 0, 0, 0, 0, 0, 0, 0, 0,
9020 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
9028 9, 0, 0, 0, 0, 0, 0, 0,
9029 0, 0, 0, 0, 0, 0, 0, 0,
9030 0, 0, 0, 0, 0, 0, 0, 0,
9031 0, 0, 0, 10, 10, 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, 0, 0, 0, 0, 0, 0, 0,
9039 0, 0, 0, 0, 0, 0, 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,
9046 static const Q_UINT8 dir_17[] = {
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, 0, 0, 0, 0, 0, 0,
9056 0, 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
9063 0, 0, 0, 0, 0, 0, 0, 0,
9064 0, 0, 0, 0, 0, 0, 0, 0,
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, 17,
9070 17, 17, 17, 17, 17, 17, 0, 0,
9071 0, 0, 0, 0, 0, 0, 17, 0,
9072 0, 17, 17, 17, 17, 17, 17, 17,
9073 17, 17, 17, 17, 0, 0, 0, 0,
9074 0, 0, 0, 4, 0, 0, 0, 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,
9081 static const Q_UINT8 dir_18[] = {
9082 10, 10, 10, 10, 10, 10, 10, 10,
9083 10, 10, 10, 18, 18, 18, 18, 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, 0, 0, 0, 0, 0, 0, 0,
9088 0, 0, 0, 0, 0, 0, 0, 0,
9089 0, 0, 0, 0, 0, 0, 0, 0,
9090 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
9098 0, 0, 0, 0, 0, 0, 0, 0,
9099 0, 0, 0, 0, 0, 0, 0, 0,
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 0, 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, 0, 0, 0,
9107 0, 0, 0, 0, 0, 0, 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,
9116 static const Q_UINT8 dir_1F[] = {
9117 0, 0, 0, 0, 0, 0, 0, 0,
9118 0, 0, 0, 0, 0, 0, 0, 0,
9119 0, 0, 0, 0, 0, 0, 0, 0,
9120 0, 0, 0, 0, 0, 0, 0, 0,
9121 0, 0, 0, 0, 0, 0, 0, 0,
9122 0, 0, 0, 0, 0, 0, 0, 0,
9123 0, 0, 0, 0, 0, 0, 0, 0,
9124 0, 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
9133 0, 0, 0, 0, 0, 0, 0, 0,
9134 0, 0, 0, 0, 0, 0, 0, 0,
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, 10, 0, 10,
9141 10, 10, 0, 0, 0, 0, 0, 0,
9142 0, 0, 0, 0, 0, 10, 10, 10,
9143 0, 0, 0, 0, 0, 0, 0, 0,
9144 0, 0, 0, 0, 0, 10, 10, 10,
9145 0, 0, 0, 0, 0, 0, 0, 0,
9146 0, 0, 0, 0, 0, 10, 10, 10,
9147 0, 0, 0, 0, 0, 0, 0, 0,
9148 0, 0, 0, 0, 0, 10, 10, 0,
9151 static const Q_UINT8 dir_20[] = {
9152 9, 9, 9, 9, 9, 9, 9, 9,
9153 9, 9, 9, 18, 18, 18, 0, 1,
9154 10, 10, 10, 10, 10, 10, 10, 10,
9155 10, 10, 10, 10, 10, 10, 10, 10,
9156 10, 10, 10, 10, 10, 10, 10, 10,
9157 9, 7, 11, 14, 16, 12, 15, 9,
9158 4, 4, 4, 4, 4, 10, 10, 10,
9159 10, 138, 138, 10, 10, 10, 10, 10,
9160 10, 10, 10, 10, 10, 138, 138, 0,
9161 10, 10, 10, 10, 10, 10, 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, 18, 18, 18, 18, 18, 18,
9166 2, 0, 0, 0, 2, 2, 2, 2,
9167 2, 2, 4, 4, 10, 138, 138, 0,
9168 2, 2, 2, 2, 2, 2, 2, 2,
9169 2, 2, 4, 4, 10, 138, 138, 0,
9170 0, 0, 0, 0, 0, 0, 0, 0,
9171 0, 0, 0, 0, 0, 0, 0, 0,
9172 4, 4, 4, 4, 4, 4, 4, 4,
9173 4, 4, 4, 4, 4, 4, 4, 4,
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 17, 17, 17, 17, 17, 17, 17, 17,
9179 17, 17, 17, 17, 17, 17, 17, 17,
9180 17, 17, 17, 17, 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,
9186 static const Q_UINT8 dir_21[] = {
9187 10, 10, 0, 10, 10, 10, 10, 0,
9188 10, 10, 0, 0, 0, 0, 0, 0,
9189 0, 0, 0, 0, 10, 0, 10, 10,
9190 10, 0, 0, 0, 0, 0, 10, 10,
9191 10, 10, 10, 10, 0, 10, 0, 10,
9192 0, 10, 0, 0, 0, 0, 4, 0,
9193 0, 0, 10, 0, 0, 0, 0, 0,
9194 0, 0, 10, 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, 10, 10, 10, 10, 10,
9198 10, 10, 10, 10, 10, 10, 10, 10,
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 0, 0, 0, 0, 0, 0, 0, 0,
9203 0, 0, 0, 0, 0, 0, 0, 0,
9204 0, 0, 0, 0, 0, 0, 0, 0,
9205 10, 10, 10, 10, 10, 10, 10, 10,
9206 10, 10, 10, 10, 10, 10, 10, 10,
9207 10, 10, 10, 10, 10, 10, 10, 10,
9208 10, 10, 10, 10, 10, 10, 10, 10,
9209 10, 10, 10, 10, 10, 10, 10, 10,
9210 10, 10, 10, 10, 10, 10, 10, 10,
9211 10, 10, 10, 10, 10, 10, 10, 10,
9212 10, 10, 10, 10, 10, 10, 10, 10,
9213 10, 10, 10, 10, 10, 10, 10, 10,
9214 10, 10, 10, 10, 10, 10, 10, 10,
9215 10, 10, 10, 10, 10, 10, 10, 10,
9216 10, 10, 10, 10, 10, 10, 10, 10,
9217 10, 10, 10, 10, 0, 0, 0, 0,
9218 0, 0, 0, 0, 0, 0, 0, 0,
9221 static const Q_UINT8 dir_22[] = {
9222 10, 138, 138, 138, 138, 10, 10, 10,
9223 138, 138, 138, 138, 138, 138, 10, 10,
9224 10, 138, 4, 4, 10, 138, 138, 10,
9225 10, 10, 138, 138, 138, 138, 10, 138,
9226 138, 138, 138, 10, 138, 10, 138, 10,
9227 10, 10, 10, 138, 138, 138, 138, 138,
9228 138, 138, 138, 138, 10, 10, 10, 10,
9229 10, 138, 10, 138, 138, 138, 138, 138,
9230 138, 138, 138, 138, 138, 138, 138, 138,
9231 138, 138, 138, 138, 138, 10, 10, 10,
9232 10, 10, 138, 138, 138, 138, 10, 10,
9233 10, 10, 10, 10, 10, 10, 10, 138,
9234 138, 10, 138, 10, 138, 138, 138, 138,
9235 138, 138, 138, 138, 10, 10, 138, 138,
9236 138, 138, 138, 138, 138, 138, 138, 138,
9237 138, 138, 138, 138, 138, 138, 138, 138,
9238 138, 138, 138, 138, 138, 138, 138, 138,
9239 138, 138, 138, 138, 138, 10, 10, 138,
9240 138, 138, 138, 10, 10, 10, 10, 10,
9241 138, 10, 10, 10, 10, 10, 10, 10,
9242 10, 10, 138, 138, 10, 10, 138, 138,
9243 138, 138, 138, 138, 138, 138, 138, 138,
9244 138, 138, 138, 138, 138, 138, 138, 138,
9245 138, 10, 10, 10, 10, 10, 138, 138,
9246 10, 10, 10, 10, 10, 10, 10, 10,
9247 10, 138, 138, 138, 138, 138, 10, 10,
9248 138, 138, 10, 10, 10, 10, 138, 138,
9249 138, 138, 138, 138, 138, 138, 138, 138,
9250 138, 138, 138, 138, 138, 138, 138, 138,
9251 138, 138, 138, 138, 138, 138, 10, 10,
9252 138, 138, 0, 0, 0, 0, 0, 0,
9253 0, 0, 0, 0, 0, 0, 0, 0,
9256 static const Q_UINT8 dir_23[] = {
9257 10, 10, 10, 10, 10, 10, 10, 10,
9258 138, 138, 138, 138, 10, 10, 10, 10,
9259 10, 10, 10, 10, 10, 10, 10, 10,
9260 10, 10, 10, 10, 10, 10, 10, 10,
9261 138, 138, 10, 10, 10, 10, 10, 10,
9262 10, 138, 138, 10, 10, 10, 10, 10,
9263 10, 10, 10, 10, 10, 10, 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 0, 0, 0, 10, 0, 10, 10, 10,
9273 10, 10, 10, 10, 10, 10, 10, 10,
9274 10, 10, 10, 10, 10, 10, 10, 10,
9275 10, 10, 10, 10, 10, 0, 10, 10,
9276 10, 10, 10, 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,
9291 static const Q_UINT8 dir_24[] = {
9292 10, 10, 10, 10, 10, 10, 10, 10,
9293 10, 10, 10, 10, 10, 10, 10, 10,
9294 10, 10, 10, 10, 10, 10, 10, 10,
9295 10, 10, 10, 10, 10, 10, 10, 10,
9296 10, 10, 10, 10, 10, 10, 10, 0,
9297 0, 0, 0, 0, 0, 0, 0, 0,
9298 0, 0, 0, 0, 0, 0, 0, 0,
9299 0, 0, 0, 0, 0, 0, 0, 0,
9300 10, 10, 10, 10, 10, 10, 10, 10,
9301 10, 10, 10, 0, 0, 0, 0, 0,
9302 0, 0, 0, 0, 0, 0, 0, 0,
9303 0, 0, 0, 0, 0, 0, 0, 0,
9304 2, 2, 2, 2, 2, 2, 2, 2,
9305 2, 2, 2, 2, 2, 2, 2, 2,
9306 2, 2, 2, 2, 2, 2, 2, 2,
9307 2, 2, 2, 2, 2, 2, 2, 2,
9308 2, 2, 2, 2, 2, 2, 2, 2,
9309 2, 2, 2, 2, 2, 2, 2, 2,
9310 2, 2, 2, 2, 2, 2, 2, 2,
9311 2, 2, 2, 2, 0, 0, 0, 0,
9312 0, 0, 0, 0, 0, 0, 0, 0,
9313 0, 0, 0, 0, 0, 0, 0, 0,
9314 0, 0, 0, 0, 0, 0, 0, 0,
9315 0, 0, 0, 0, 0, 0, 0, 0,
9316 0, 0, 0, 0, 0, 0, 0, 0,
9317 0, 0, 0, 0, 0, 0, 0, 0,
9318 0, 0, 0, 0, 0, 0, 0, 0,
9319 0, 0, 0, 0, 0, 0, 0, 0,
9320 0, 0, 0, 0, 0, 0, 0, 0,
9321 0, 0, 2, 0, 0, 0, 0, 0,
9322 0, 0, 0, 0, 0, 0, 0, 0,
9323 0, 0, 0, 0, 0, 0, 0, 0,
9326 static const Q_UINT8 dir_25[] = {
9327 10, 10, 10, 10, 10, 10, 10, 10,
9328 10, 10, 10, 10, 10, 10, 10, 10,
9329 10, 10, 10, 10, 10, 10, 10, 10,
9330 10, 10, 10, 10, 10, 10, 10, 10,
9331 10, 10, 10, 10, 10, 10, 10, 10,
9332 10, 10, 10, 10, 10, 10, 10, 10,
9333 10, 10, 10, 10, 10, 10, 10, 10,
9334 10, 10, 10, 10, 10, 10, 10, 10,
9335 10, 10, 10, 10, 10, 10, 10, 10,
9336 10, 10, 10, 10, 10, 10, 10, 10,
9337 10, 10, 10, 10, 10, 10, 10, 10,
9338 10, 10, 10, 10, 10, 10, 10, 10,
9339 10, 10, 10, 10, 10, 10, 10, 10,
9340 10, 10, 10, 10, 10, 10, 10, 10,
9341 10, 10, 10, 10, 10, 10, 10, 10,
9342 10, 10, 10, 10, 10, 10, 10, 10,
9343 10, 10, 10, 10, 10, 10, 10, 10,
9344 10, 10, 10, 10, 10, 10, 10, 10,
9345 10, 10, 10, 10, 10, 10, 0, 0,
9346 0, 0, 0, 0, 0, 0, 0, 0,
9347 10, 10, 10, 10, 10, 10, 10, 10,
9348 10, 10, 10, 10, 10, 10, 10, 10,
9349 10, 10, 10, 10, 10, 10, 10, 10,
9350 10, 10, 10, 10, 10, 10, 10, 10,
9351 10, 10, 10, 10, 10, 10, 10, 10,
9352 10, 10, 10, 10, 10, 10, 10, 10,
9353 10, 10, 10, 10, 10, 10, 10, 10,
9354 10, 10, 10, 10, 10, 10, 10, 10,
9355 10, 10, 10, 10, 10, 10, 10, 10,
9356 10, 10, 10, 10, 10, 10, 10, 10,
9357 10, 10, 10, 10, 10, 10, 10, 10,
9358 0, 0, 0, 0, 0, 0, 0, 0,
9361 static const Q_UINT8 dir_26[] = {
9362 10, 10, 10, 10, 10, 10, 10, 10,
9363 10, 10, 10, 10, 10, 10, 10, 10,
9364 10, 10, 10, 10, 0, 0, 0, 0,
9365 0, 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, 0, 0, 0, 0, 0, 0,
9377 0, 0, 0, 0, 0, 0, 0, 0,
9378 0, 0, 0, 0, 0, 0, 0, 0,
9379 0, 0, 0, 0, 0, 0, 0, 0,
9380 0, 0, 0, 0, 0, 0, 0, 0,
9381 0, 0, 0, 0, 0, 0, 0, 0,
9382 0, 0, 0, 0, 0, 0, 0, 0,
9383 0, 0, 0, 0, 0, 0, 0, 0,
9384 0, 0, 0, 0, 0, 0, 0, 0,
9385 0, 0, 0, 0, 0, 0, 0, 0,
9386 0, 0, 0, 0, 0, 0, 0, 0,
9387 0, 0, 0, 0, 0, 0, 0, 0,
9388 0, 0, 0, 0, 0, 0, 0, 0,
9389 0, 0, 0, 0, 0, 0, 0, 0,
9390 0, 0, 0, 0, 0, 0, 0, 0,
9391 0, 0, 0, 0, 0, 0, 0, 0,
9392 0, 0, 0, 0, 0, 0, 0, 0,
9393 0, 0, 0, 0, 0, 0, 0, 0,
9396 static const Q_UINT8 dir_27[] = {
9397 0, 10, 10, 10, 10, 0, 10, 10,
9398 10, 10, 0, 0, 10, 10, 10, 10,
9399 10, 10, 10, 10, 10, 10, 10, 10,
9400 10, 10, 10, 10, 10, 10, 10, 10,
9401 10, 10, 10, 10, 10, 10, 10, 10,
9402 0, 10, 10, 10, 10, 10, 10, 10,
9403 10, 10, 10, 10, 10, 10, 10, 10,
9404 10, 10, 10, 10, 10, 10, 10, 10,
9405 10, 10, 10, 10, 10, 10, 10, 10,
9406 10, 10, 10, 10, 0, 10, 0, 10,
9407 10, 10, 10, 0, 0, 0, 10, 0,
9408 10, 10, 10, 10, 10, 10, 10, 0,
9409 0, 10, 10, 10, 10, 10, 10, 10,
9410 0, 0, 0, 0, 0, 0, 0, 0,
9411 0, 0, 0, 0, 0, 0, 10, 10,
9412 10, 10, 10, 10, 10, 10, 10, 10,
9413 10, 10, 10, 10, 10, 10, 10, 10,
9414 10, 10, 10, 10, 10, 10, 10, 10,
9415 10, 10, 10, 10, 10, 0, 0, 0,
9416 10, 10, 10, 10, 10, 10, 10, 10,
9417 10, 10, 10, 10, 10, 10, 10, 10,
9418 10, 10, 10, 10, 10, 10, 10, 10,
9419 0, 10, 10, 10, 10, 10, 10, 10,
9420 10, 10, 10, 10, 10, 10, 10, 0,
9421 0, 0, 0, 0, 0, 0, 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,
9431 static const Q_UINT8 dir_28[] = {
9432 10, 10, 10, 10, 10, 10, 10, 10,
9433 10, 10, 10, 10, 10, 10, 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, 10,
9441 10, 10, 10, 10, 10, 10, 10, 10,
9442 10, 10, 10, 10, 10, 10, 10, 10,
9443 10, 10, 10, 10, 10, 10, 10, 10,
9444 10, 10, 10, 10, 10, 10, 10, 10,
9445 10, 10, 10, 10, 10, 10, 10, 10,
9446 10, 10, 10, 10, 10, 10, 10, 10,
9447 10, 10, 10, 10, 10, 10, 10, 10,
9448 10, 10, 10, 10, 10, 10, 10, 10,
9449 10, 10, 10, 10, 10, 10, 10, 10,
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, 10,
9455 10, 10, 10, 10, 10, 10, 10, 10,
9456 10, 10, 10, 10, 10, 10, 10, 10,
9457 10, 10, 10, 10, 10, 10, 10, 10,
9458 10, 10, 10, 10, 10, 10, 10, 10,
9459 10, 10, 10, 10, 10, 10, 10, 10,
9460 10, 10, 10, 10, 10, 10, 10, 10,
9461 10, 10, 10, 10, 10, 10, 10, 10,
9462 10, 10, 10, 10, 10, 10, 10, 10,
9463 10, 10, 10, 10, 10, 10, 10, 10,
9466 static const Q_UINT8 dir_2E[] = {
9467 0, 0, 0, 0, 0, 0, 0, 0,
9468 0, 0, 0, 0, 0, 0, 0, 0,
9469 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,
9480 0, 0, 0, 0, 0, 0, 0, 0,
9481 0, 0, 0, 0, 0, 0, 0, 0,
9482 0, 0, 0, 0, 0, 0, 0, 0,
9483 10, 10, 10, 10, 10, 10, 10, 10,
9484 10, 10, 10, 10, 10, 10, 10, 10,
9485 10, 10, 10, 10, 10, 10, 10, 10,
9486 10, 10, 0, 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, 0, 0, 0, 0,
9498 0, 0, 0, 0, 0, 0, 0, 0,
9501 static const Q_UINT8 dir_2F[] = {
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 10, 10, 10, 10, 10, 10, 10, 10,
9518 10, 10, 10, 10, 10, 10, 10, 10,
9519 10, 10, 10, 10, 10, 10, 10, 10,
9520 10, 10, 10, 10, 10, 10, 10, 10,
9521 10, 10, 10, 10, 10, 10, 10, 10,
9522 10, 10, 10, 10, 10, 10, 10, 10,
9523 10, 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, 0, 0,
9529 0, 0, 0, 0, 0, 0, 0, 0,
9530 0, 0, 0, 0, 0, 0, 0, 0,
9531 0, 0, 0, 0, 0, 0, 0, 0,
9532 10, 10, 10, 10, 10, 10, 10, 10,
9533 10, 10, 10, 10, 0, 0, 0, 0,
9536 static const Q_UINT8 dir_30[] = {
9537 9, 10, 10, 10, 10, 0, 0, 0,
9538 138, 138, 138, 138, 138, 138, 138, 138,
9539 138, 138, 10, 10, 138, 138, 138, 138,
9540 138, 138, 138, 138, 10, 10, 10, 10,
9541 10, 0, 0, 0, 0, 0, 0, 0,
9542 0, 0, 17, 17, 17, 17, 17, 17,
9543 10, 0, 0, 0, 0, 0, 10, 10,
9544 0, 0, 0, 0, 0, 0, 10, 10,
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 0, 0, 0, 0, 0, 0, 0, 0,
9553 0, 0, 0, 0, 0, 0, 0, 0,
9554 0, 0, 0, 0, 0, 0, 0, 0,
9555 0, 0, 0, 0, 0, 0, 0, 0,
9556 0, 17, 17, 10, 10, 0, 0, 0,
9557 0, 0, 0, 0, 0, 0, 0, 0,
9558 0, 0, 0, 0, 0, 0, 0, 0,
9559 0, 0, 0, 0, 0, 0, 0, 0,
9560 0, 0, 0, 0, 0, 0, 0, 0,
9561 0, 0, 0, 0, 0, 0, 0, 0,
9562 0, 0, 0, 0, 0, 0, 0, 0,
9563 0, 0, 0, 0, 0, 0, 0, 0,
9564 0, 0, 0, 0, 0, 0, 0, 0,
9565 0, 0, 0, 0, 0, 0, 0, 0,
9566 0, 0, 0, 0, 0, 0, 0, 0,
9567 0, 0, 0, 0, 0, 0, 0, 0,
9568 0, 0, 0, 10, 0, 0, 0, 0,
9571 static const Q_UINT8 dir_A4[] = {
9572 0, 0, 0, 0, 0, 0, 0, 0,
9573 0, 0, 0, 0, 0, 0, 0, 0,
9574 0, 0, 0, 0, 0, 0, 0, 0,
9575 0, 0, 0, 0, 0, 0, 0, 0,
9576 0, 0, 0, 0, 0, 0, 0, 0,
9577 0, 0, 0, 0, 0, 0, 0, 0,
9578 0, 0, 0, 0, 0, 0, 0, 0,
9579 0, 0, 0, 0, 0, 0, 0, 0,
9580 0, 0, 0, 0, 0, 0, 0, 0,
9581 0, 0, 0, 0, 0, 0, 0, 0,
9582 0, 0, 0, 0, 0, 0, 0, 0,
9583 0, 0, 0, 0, 0, 0, 0, 0,
9584 0, 0, 0, 0, 0, 0, 0, 0,
9585 0, 0, 0, 0, 0, 0, 0, 0,
9586 0, 0, 0, 0, 0, 0, 0, 0,
9587 0, 0, 0, 0, 0, 0, 0, 0,
9588 0, 0, 0, 0, 0, 0, 0, 0,
9589 0, 0, 0, 0, 0, 0, 0, 0,
9590 10, 10, 10, 10, 10, 10, 10, 10,
9591 10, 10, 10, 10, 10, 10, 10, 10,
9592 10, 10, 0, 0, 10, 10, 10, 10,
9593 10, 10, 10, 10, 10, 10, 10, 10,
9594 10, 10, 10, 10, 0, 10, 10, 10,
9595 10, 10, 10, 10, 10, 10, 10, 10,
9596 10, 0, 10, 10, 10, 0, 10, 0,
9597 0, 0, 0, 0, 0, 0, 0, 0,
9598 0, 0, 0, 0, 0, 0, 0, 0,
9599 0, 0, 0, 0, 0, 0, 0, 0,
9600 0, 0, 0, 0, 0, 0, 0, 0,
9601 0, 0, 0, 0, 0, 0, 0, 0,
9602 0, 0, 0, 0, 0, 0, 0, 0,
9603 0, 0, 0, 0, 0, 0, 0, 0,
9606 static const Q_UINT8 dir_FB[] = {
9607 0, 0, 0, 0, 0, 0, 0, 0,
9608 0, 0, 0, 0, 0, 0, 0, 0,
9609 0, 0, 0, 0, 0, 0, 0, 0,
9610 0, 0, 0, 0, 0, 1, 17, 1,
9611 1, 1, 1, 1, 1, 1, 1, 1,
9612 1, 4, 1, 1, 1, 1, 1, 1,
9613 1, 1, 1, 1, 1, 1, 1, 0,
9614 1, 1, 1, 1, 1, 0, 1, 0,
9615 1, 1, 0, 1, 1, 0, 1, 1,
9616 1, 1, 1, 1, 1, 1, 1, 1,
9617 13, 13, 13, 13, 13, 13, 13, 13,
9618 13, 13, 13, 13, 13, 13, 13, 13,
9619 13, 13, 13, 13, 13, 13, 13, 13,
9620 13, 13, 13, 13, 13, 13, 13, 13,
9621 13, 13, 13, 13, 13, 13, 13, 13,
9622 13, 13, 13, 13, 13, 13, 13, 13,
9623 13, 13, 13, 13, 13, 13, 13, 13,
9624 13, 13, 13, 13, 13, 13, 13, 13,
9625 13, 13, 13, 13, 13, 13, 13, 13,
9626 13, 13, 13, 13, 13, 13, 13, 13,
9627 13, 13, 13, 13, 13, 13, 13, 13,
9628 13, 13, 13, 13, 13, 13, 13, 13,
9629 13, 13, 0, 0, 0, 0, 0, 0,
9630 0, 0, 0, 0, 0, 0, 0, 0,
9631 0, 0, 0, 0, 0, 0, 0, 0,
9632 0, 0, 0, 0, 0, 0, 0, 0,
9633 0, 0, 0, 13, 13, 13, 13, 13,
9634 13, 13, 13, 13, 13, 13, 13, 13,
9635 13, 13, 13, 13, 13, 13, 13, 13,
9636 13, 13, 13, 13, 13, 13, 13, 13,
9637 13, 13, 13, 13, 13, 13, 13, 13,
9638 13, 13, 13, 13, 13, 13, 13, 13,
9641 static const Q_UINT8 dir_FC[] = {
9642 13, 13, 13, 13, 13, 13, 13, 13,
9643 13, 13, 13, 13, 13, 13, 13, 13,
9644 13, 13, 13, 13, 13, 13, 13, 13,
9645 13, 13, 13, 13, 13, 13, 13, 13,
9646 13, 13, 13, 13, 13, 13, 13, 13,
9647 13, 13, 13, 13, 13, 13, 13, 13,
9648 13, 13, 13, 13, 13, 13, 13, 13,
9649 13, 13, 13, 13, 13, 13, 13, 13,
9650 13, 13, 13, 13, 13, 13, 13, 13,
9651 13, 13, 13, 13, 13, 13, 13, 13,
9652 13, 13, 13, 13, 13, 13, 13, 13,
9653 13, 13, 13, 13, 13, 13, 13, 13,
9654 13, 13, 13, 13, 13, 13, 13, 13,
9655 13, 13, 13, 13, 13, 13, 13, 13,
9656 13, 13, 13, 13, 13, 13, 13, 13,
9657 13, 13, 13, 13, 13, 13, 13, 13,
9658 13, 13, 13, 13, 13, 13, 13, 13,
9659 13, 13, 13, 13, 13, 13, 13, 13,
9660 13, 13, 13, 13, 13, 13, 13, 13,
9661 13, 13, 13, 13, 13, 13, 13, 13,
9662 13, 13, 13, 13, 13, 13, 13, 13,
9663 13, 13, 13, 13, 13, 13, 13, 13,
9664 13, 13, 13, 13, 13, 13, 13, 13,
9665 13, 13, 13, 13, 13, 13, 13, 13,
9666 13, 13, 13, 13, 13, 13, 13, 13,
9667 13, 13, 13, 13, 13, 13, 13, 13,
9668 13, 13, 13, 13, 13, 13, 13, 13,
9669 13, 13, 13, 13, 13, 13, 13, 13,
9670 13, 13, 13, 13, 13, 13, 13, 13,
9671 13, 13, 13, 13, 13, 13, 13, 13,
9672 13, 13, 13, 13, 13, 13, 13, 13,
9673 13, 13, 13, 13, 13, 13, 13, 13,
9676 static const Q_UINT8 dir_FD[] = {
9677 13, 13, 13, 13, 13, 13, 13, 13,
9678 13, 13, 13, 13, 13, 13, 13, 13,
9679 13, 13, 13, 13, 13, 13, 13, 13,
9680 13, 13, 13, 13, 13, 13, 13, 13,
9681 13, 13, 13, 13, 13, 13, 13, 13,
9682 13, 13, 13, 13, 13, 13, 13, 13,
9683 13, 13, 13, 13, 13, 13, 13, 13,
9684 13, 13, 13, 13, 13, 13, 10, 10,
9685 0, 0, 0, 0, 0, 0, 0, 0,
9686 0, 0, 0, 0, 0, 0, 0, 0,
9687 13, 13, 13, 13, 13, 13, 13, 13,
9688 13, 13, 13, 13, 13, 13, 13, 13,
9689 13, 13, 13, 13, 13, 13, 13, 13,
9690 13, 13, 13, 13, 13, 13, 13, 13,
9691 13, 13, 13, 13, 13, 13, 13, 13,
9692 13, 13, 13, 13, 13, 13, 13, 13,
9693 13, 13, 13, 13, 13, 13, 13, 13,
9694 13, 13, 13, 13, 13, 13, 13, 13,
9695 0, 0, 13, 13, 13, 13, 13, 13,
9696 13, 13, 13, 13, 13, 13, 13, 13,
9697 13, 13, 13, 13, 13, 13, 13, 13,
9698 13, 13, 13, 13, 13, 13, 13, 13,
9699 13, 13, 13, 13, 13, 13, 13, 13,
9700 13, 13, 13, 13, 13, 13, 13, 13,
9701 13, 13, 13, 13, 13, 13, 13, 13,
9702 0, 0, 0, 0, 0, 0, 0, 0,
9703 0, 0, 0, 0, 0, 0, 0, 0,
9704 0, 0, 0, 0, 0, 0, 0, 0,
9705 0, 0, 0, 0, 0, 0, 0, 0,
9706 0, 0, 0, 0, 0, 0, 0, 0,
9707 13, 13, 13, 13, 13, 13, 13, 13,
9708 13, 13, 13, 13, 0, 0, 0, 0,
9711 static const Q_UINT8 dir_FE[] = {
9712 0, 0, 0, 0, 0, 0, 0, 0,
9713 0, 0, 0, 0, 0, 0, 0, 0,
9714 0, 0, 0, 0, 0, 0, 0, 0,
9715 0, 0, 0, 0, 0, 0, 0, 0,
9716 17, 17, 17, 17, 0, 0, 0, 0,
9717 0, 0, 0, 0, 0, 0, 0, 0,
9718 10, 10, 10, 10, 10, 10, 10, 10,
9719 10, 10, 10, 10, 10, 10, 10, 10,
9720 10, 10, 10, 10, 10, 0, 0, 0,
9721 0, 10, 10, 10, 10, 10, 10, 10,
9722 6, 10, 6, 0, 10, 6, 10, 10,
9723 10, 10, 10, 10, 10, 10, 10, 4,
9724 10, 10, 4, 4, 10, 10, 10, 0,
9725 10, 4, 4, 10, 0, 0, 0, 0,
9726 13, 13, 13, 0, 13, 0, 13, 13,
9727 13, 13, 13, 13, 13, 13, 13, 13,
9728 13, 13, 13, 13, 13, 13, 13, 13,
9729 13, 13, 13, 13, 13, 13, 13, 13,
9730 13, 13, 13, 13, 13, 13, 13, 13,
9731 13, 13, 13, 13, 13, 13, 13, 13,
9732 13, 13, 13, 13, 13, 13, 13, 13,
9733 13, 13, 13, 13, 13, 13, 13, 13,
9734 13, 13, 13, 13, 13, 13, 13, 13,
9735 13, 13, 13, 13, 13, 13, 13, 13,
9736 13, 13, 13, 13, 13, 13, 13, 13,
9737 13, 13, 13, 13, 13, 13, 13, 13,
9738 13, 13, 13, 13, 13, 13, 13, 13,
9739 13, 13, 13, 13, 13, 13, 13, 13,
9740 13, 13, 13, 13, 13, 13, 13, 13,
9741 13, 13, 13, 13, 13, 13, 13, 13,
9742 13, 13, 13, 13, 13, 13, 13, 13,
9743 13, 13, 13, 13, 13, 0, 0, 18,
9746 static const Q_UINT8 dir_FF[] = {
9747 0, 10, 10, 4, 4, 4, 10, 10,
9748 10, 10, 10, 4, 6, 4, 6, 3,
9749 2, 2, 2, 2, 2, 2, 2, 2,
9750 2, 2, 6, 10, 10, 10, 10, 10,
9751 10, 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, 10, 10, 10, 10, 10,
9755 10, 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, 10, 10, 10, 10, 0,
9759 0, 10, 10, 10, 10, 10, 0, 0,
9760 0, 0, 0, 0, 0, 0, 0, 0,
9761 0, 0, 0, 0, 0, 0, 0, 0,
9762 0, 0, 0, 0, 0, 0, 0, 0,
9763 0, 0, 0, 0, 0, 0, 0, 0,
9764 0, 0, 0, 0, 0, 0, 0, 0,
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 4, 4, 10, 10, 10, 4, 4, 0,
9776 10, 10, 10, 10, 10, 10, 10, 0,
9777 0, 0, 0, 0, 0, 0, 0, 0,
9778 0, 18, 18, 18, 10, 10, 0, 0,
9781 static const Q_UINT8 * const direction_info[256] = {
9782 dir_00, dir_01, dir_02, dir_03, dir_04, dir_05, dir_06, dir_07,
9783 dir_01, dir_09, dir_0A, dir_0B, dir_0C, dir_0D, dir_0E, dir_0F,
9784 dir_10, dir_01, dir_01, dir_01, dir_01, dir_01, dir_16, dir_17,
9785 dir_18, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_1F,
9786 dir_20, dir_21, dir_22, dir_23, dir_24, dir_25, dir_26, dir_27,
9787 dir_28, dir_01, dir_01, dir_01, dir_01, dir_01, dir_2E, dir_2F,
9788 dir_30, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9789 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9790 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9791 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9792 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9793 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9794 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9795 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9796 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9797 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9798 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9799 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9800 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9801 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9802 dir_01, dir_01, dir_01, dir_01, dir_A4, dir_01, dir_01, dir_01,
9803 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9804 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9805 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9806 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9807 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9808 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9809 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9810 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9811 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9812 dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01, dir_01,
9813 dir_01, dir_01, dir_01, dir_FB, dir_FC, dir_FD, dir_FE, dir_FF,
9819 // END OF GENERATED DATA
9821 // This is generated too. Script?
9823 #ifndef QT_NO_UNICODETABLES
9825 static const Q_UINT16 case_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 0, 0, 0, 0, 0, 0, 0, 0,
9833 0, 0, 0, 0, 0, 0, 0, 0,
9834 0, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
9835 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
9836 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
9837 0x78, 0x79, 0x7a, 0, 0, 0, 0, 0,
9838 0, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
9839 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
9840 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
9841 0x58, 0x59, 0x5a, 0, 0, 0, 0, 0,
9842 0, 0, 0, 0, 0, 0, 0, 0,
9843 0, 0, 0, 0, 0, 0, 0, 0,
9844 0, 0, 0, 0, 0, 0, 0, 0,
9845 0, 0, 0, 0, 0, 0, 0, 0,
9846 0, 0, 0, 0, 0, 0, 0, 0,
9847 0, 0, 0x0, 0, 0, 0, 0, 0,
9848 0, 0, 0, 0, 0, 0x0, 0, 0,
9849 0, 0, 0x0, 0, 0, 0, 0, 0,
9850 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
9851 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
9852 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0,
9853 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x0,
9854 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
9855 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
9856 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0,
9857 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0x178,
9860 static const Q_UINT16 case_1 [] = {
9861 0x101, 0x100, 0x103, 0x102, 0x105, 0x104, 0x107, 0x106,
9862 0x109, 0x108, 0x10b, 0x10a, 0x10d, 0x10c, 0x10f, 0x10e,
9863 0x111, 0x110, 0x113, 0x112, 0x115, 0x114, 0x117, 0x116,
9864 0x119, 0x118, 0x11b, 0x11a, 0x11d, 0x11c, 0x11f, 0x11e,
9865 0x121, 0x120, 0x123, 0x122, 0x125, 0x124, 0x127, 0x126,
9866 0x129, 0x128, 0x12b, 0x12a, 0x12d, 0x12c, 0x12f, 0x12e,
9867 0x69, 0x49, 0x133, 0x132, 0x135, 0x134, 0x137, 0x136,
9868 0x0, 0x13a, 0x139, 0x13c, 0x13b, 0x13e, 0x13d, 0x140,
9869 0x13f, 0x142, 0x141, 0x144, 0x143, 0x146, 0x145, 0x148,
9870 0x147, 0x0, 0x14b, 0x14a, 0x14d, 0x14c, 0x14f, 0x14e,
9871 0x151, 0x150, 0x153, 0x152, 0x155, 0x154, 0x157, 0x156,
9872 0x159, 0x158, 0x15b, 0x15a, 0x15d, 0x15c, 0x15f, 0x15e,
9873 0x161, 0x160, 0x163, 0x162, 0x165, 0x164, 0x167, 0x166,
9874 0x169, 0x168, 0x16b, 0x16a, 0x16d, 0x16c, 0x16f, 0x16e,
9875 0x171, 0x170, 0x173, 0x172, 0x175, 0x174, 0x177, 0x176,
9876 0xff, 0x17a, 0x179, 0x17c, 0x17b, 0x17e, 0x17d, 0x53,
9877 0x0, 0x253, 0x183, 0x182, 0x185, 0x184, 0x254, 0x188,
9878 0x187, 0x256, 0x257, 0x18c, 0x18b, 0x0, 0x1dd, 0x259,
9879 0x25b, 0x192, 0x191, 0x260, 0x263, 0x3d9, 0x269, 0x268,
9880 0x199, 0x198, 0x51, 0x0, 0x26f, 0x272, 0x0, 0x275,
9881 0x1a1, 0x1a0, 0x1a3, 0x1a2, 0x1a5, 0x1a4, 0x280, 0x1a8,
9882 0x1a7, 0x283, 0, 0x0, 0x1ad, 0x1ac, 0x288, 0x1b0,
9883 0x1af, 0x28a, 0x28b, 0x1b4, 0x1b3, 0x1b6, 0x1b5, 0x292,
9884 0x1b9, 0x1b8, 0x0, 0, 0x1bd, 0x1bc, 0, 0,
9885 0, 0, 0, 0, 0x1c6, 0, 0x1c4, 0x1c9,
9886 0, 0x1c7, 0x1cc, 0, 0x1ca, 0x1ce, 0x1cd, 0x1d0,
9887 0x1cf, 0x1d2, 0x1d1, 0x1d4, 0x1d3, 0x1d6, 0x1d5, 0x1d8,
9888 0x1d7, 0x1da, 0x1d9, 0x1dc, 0x1db, 0x18e, 0x1df, 0x1de,
9889 0x1e1, 0x1e0, 0x1e3, 0x1e2, 0x1e5, 0x1e4, 0x1e7, 0x1e6,
9890 0x1e9, 0x1e8, 0x1eb, 0x1ea, 0x1ed, 0x1ec, 0x1ef, 0x1ee,
9891 0x0, 0x1f3, 0, 0x1f1, 0x1f5, 0x1f4, 0, 0,
9892 0, 0, 0x1fb, 0x1fa, 0x1fd, 0x1fc, 0x1ff, 0x1fe,
9895 static const Q_UINT16 case_2 [] = {
9896 0x201, 0x200, 0x203, 0x202, 0x205, 0x204, 0x207, 0x206,
9897 0x209, 0x208, 0x20b, 0x20a, 0x20d, 0x20c, 0x20f, 0x20e,
9898 0x211, 0x210, 0x213, 0x212, 0x215, 0x214, 0x217, 0x216,
9899 0, 0, 0, 0, 0, 0, 0, 0,
9900 0, 0, 0, 0, 0, 0, 0, 0,
9901 0, 0, 0, 0, 0, 0, 0, 0,
9902 0, 0, 0, 0, 0, 0, 0, 0,
9903 0, 0, 0, 0, 0, 0, 0, 0,
9904 0, 0, 0, 0, 0, 0, 0, 0,
9905 0, 0, 0, 0, 0, 0, 0, 0,
9906 0x0, 0x0, 0x0, 0x181, 0x186, 0x0, 0x189, 0x18a,
9907 0x0, 0x18f, 0x0, 0x190, 0x0, 0x0, 0x0, 0x0,
9908 0x193, 0x0, 0x0, 0x194, 0x0, 0x0, 0x631, 0x579,
9909 0x197, 0x196, 0x0, 0x0, 0x0, 0x0, 0x0, 0x19c,
9910 0x0, 0x0, 0x19d, 0x0, 0x0, 0x19f, 0x0, 0x0,
9911 0x0, 0x0, 0x7e1, 0x0, 0x0, 0x0, 0x0, 0x0,
9912 0x1a6, 0x0, 0x0, 0x1a9, 0x0, 0x0, 0x0, 0x0,
9913 0x1ae, 0x0, 0x1b1, 0x1b2, 0x0, 0xa21, 0x971, 0x0,
9914 0x0, 0x0, 0x1b7, 0x0, 0x0, 0x0, 0x0, 0x0,
9915 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
9916 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
9917 0x0, 0, 0, 0, 0, 0, 0, 0,
9918 0, 0, 0, 0, 0, 0, 0, 0,
9919 0, 0, 0, 0, 0, 0, 0, 0,
9920 0, 0, 0, 0, 0, 0, 0, 0,
9921 0, 0, 0, 0, 0, 0, 0, 0,
9922 0, 0, 0, 0, 0, 0, 0, 0,
9923 0, 0, 0, 0, 0, 0, 0, 0,
9924 0, 0, 0, 0, 0, 0, 0, 0,
9925 0, 0, 0, 0, 0, 0, 0, 0,
9926 0, 0, 0, 0, 0, 0, 0, 0,
9927 0, 0, 0, 0, 0, 0, 0, 0,
9930 static const Q_UINT16 case_3 [] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
9936 0, 0, 0, 0, 0, 0, 0, 0,
9937 0, 0, 0, 0, 0, 0, 0, 0,
9938 0, 0, 0, 0, 0, 0, 0, 0,
9939 0, 0, 0, 0, 0, 0, 0, 0,
9940 0, 0, 0, 0, 0, 0, 0, 0,
9941 0, 0, 0, 0, 0, 0, 0, 0,
9942 0, 0, 0, 0, 0, 0, 0, 0,
9943 0, 0, 0, 0, 0, 0, 0, 0,
9944 0, 0, 0, 0, 0, 0, 0, 0,
9945 0, 0, 0, 0, 0, 0, 0, 0,
9946 0, 0, 0, 0, 0, 0, 0, 0,
9947 0, 0, 0, 0, 0, 0, 0x3ac, 0,
9948 0x3ad, 0x3ae, 0x3af, 0, 0x3cc, 0, 0x3cd, 0x3ce,
9949 0x0, 0x3b1, 0x3b2, 0x3b3, 0x3b4, 0x3b5, 0x3b6, 0x3b7,
9950 0x3b8, 0x3b9, 0x3ba, 0x3bb, 0x3bc, 0x3bd, 0x3be, 0x3bf,
9951 0x3c0, 0x3c1, 0, 0x3c3, 0x3c4, 0x3c5, 0x3c6, 0x3c7,
9952 0x3c8, 0x3c9, 0x3ca, 0x3cb, 0x386, 0x388, 0x389, 0x38a,
9953 0x0, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397,
9954 0x398, 0x399, 0x39a, 0x39b, 0x39c, 0x39d, 0x39e, 0x39f,
9955 0x3a0, 0x3a1, 0x3a3, 0x3a3, 0x3a4, 0x3a5, 0x3a6, 0x3a7,
9956 0x3a8, 0x3a9, 0x3aa, 0x3ab, 0x38c, 0x38e, 0x38f, 0,
9957 0x392, 0x398, 0x0, 0x0, 0x0, 0x3a6, 0x3a0, 0,
9958 0, 0, 0x0, 0, 0x0, 0, 0x0, 0,
9959 0x0, 0, 0x3e3, 0x3e2, 0x3e5, 0x3e4, 0x3e7, 0x3e6,
9960 0x3e9, 0x3e8, 0x3eb, 0x3ea, 0x3ed, 0x3ec, 0x3ef, 0x3ee,
9961 0x39a, 0x3a1, 0x3a3, 0, 0, 0, 0, 0,
9962 0, 0, 0, 0, 0, 0, 0, 0,
9965 static const Q_UINT16 case_4 [] = {
9966 0, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457,
9967 0x458, 0x459, 0x45a, 0x45b, 0x45c, 0, 0x45e, 0x45f,
9968 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436, 0x437,
9969 0x438, 0x439, 0x43a, 0x43b, 0x43c, 0x43d, 0x43e, 0x43f,
9970 0x440, 0x441, 0x442, 0x443, 0x444, 0x445, 0x446, 0x447,
9971 0x448, 0x449, 0x44a, 0x44b, 0x44c, 0x44d, 0x44e, 0x44f,
9972 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417,
9973 0x418, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x41f,
9974 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427,
9975 0x428, 0x429, 0x42a, 0x42b, 0x42c, 0x42d, 0x42e, 0x42f,
9976 0, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407,
9977 0x408, 0x409, 0x40a, 0x40b, 0x40c, 0, 0x40e, 0x40f,
9978 0x461, 0x460, 0x463, 0x462, 0x465, 0x464, 0x467, 0x466,
9979 0x469, 0x468, 0x46b, 0x46a, 0x46d, 0x46c, 0x46f, 0x46e,
9980 0x471, 0x470, 0x473, 0x472, 0x475, 0x474, 0x477, 0x476,
9981 0x479, 0x478, 0x47b, 0x47a, 0x47d, 0x47c, 0x47f, 0x47e,
9982 0x481, 0x480, 0, 0, 0, 0, 0, 0,
9983 0, 0, 0, 0, 0, 0, 0, 0,
9984 0x491, 0x490, 0x493, 0x492, 0x495, 0x494, 0x497, 0x496,
9985 0x499, 0x498, 0x49b, 0x49a, 0x49d, 0x49c, 0x49f, 0x49e,
9986 0x4a1, 0x4a0, 0x4a3, 0x4a2, 0x4a5, 0x4a4, 0x4a7, 0x4a6,
9987 0x4a9, 0x4a8, 0x4ab, 0x4aa, 0x4ad, 0x4ac, 0x4af, 0x4ae,
9988 0x4b1, 0x4b0, 0x4b3, 0x4b2, 0x4b5, 0x4b4, 0x4b7, 0x4b6,
9989 0x4b9, 0x4b8, 0x4bb, 0x4ba, 0x4bd, 0x4bc, 0x4bf, 0x4be,
9990 0, 0x4c2, 0x4c1, 0x4c4, 0x4c3, 0, 0, 0x4c8,
9991 0x4c7, 0, 0, 0x4cc, 0x4cb, 0, 0, 0,
9992 0x4d1, 0x4d0, 0x4d3, 0x4d2, 0x4d5, 0x4d4, 0x4d7, 0x4d6,
9993 0x4d9, 0x4d8, 0x4db, 0x4da, 0x4dd, 0x4dc, 0x4df, 0x4de,
9994 0x4e1, 0x4e0, 0x4e3, 0x4e2, 0x4e5, 0x4e4, 0x4e7, 0x4e6,
9995 0x4e9, 0x4e8, 0x4eb, 0x4ea, 0, 0, 0x4ef, 0x4ee,
9996 0x4f1, 0x4f0, 0x4f3, 0x4f2, 0x4f5, 0x4f4, 0, 0,
9997 0x4f9, 0x4f8, 0, 0, 0, 0, 0, 0,
10000 static const Q_UINT16 case_5 [] = {
10001 0, 0, 0, 0, 0, 0, 0, 0,
10002 0, 0, 0, 0, 0, 0, 0, 0,
10003 0, 0, 0, 0, 0, 0, 0, 0,
10004 0, 0, 0, 0, 0, 0, 0, 0,
10005 0, 0, 0, 0, 0, 0, 0, 0,
10006 0, 0, 0, 0, 0, 0, 0, 0,
10007 0, 0x561, 0x562, 0x563, 0x564, 0x565, 0x566, 0x567,
10008 0x568, 0x569, 0x56a, 0x56b, 0x56c, 0x56d, 0x56e, 0x56f,
10009 0x570, 0x571, 0x572, 0x573, 0x574, 0x575, 0x576, 0x577,
10010 0x578, 0x579, 0x57a, 0x57b, 0x57c, 0x57d, 0x57e, 0x57f,
10011 0x580, 0x581, 0x582, 0x583, 0x584, 0x585, 0x586, 0,
10012 0, 0, 0, 0, 0, 0, 0, 0,
10013 0, 0x531, 0x532, 0x533, 0x534, 0x535, 0x536, 0x537,
10014 0x538, 0x539, 0x53a, 0x53b, 0x53c, 0x53d, 0x53e, 0x53f,
10015 0x540, 0x541, 0x542, 0x543, 0x544, 0x545, 0x546, 0x547,
10016 0x548, 0x549, 0x54a, 0x54b, 0x54c, 0x54d, 0x54e, 0x54f,
10017 0x550, 0x551, 0x552, 0x553, 0x554, 0x555, 0x556, 0x0,
10018 0, 0, 0, 0, 0, 0, 0, 0,
10019 0, 0, 0, 0, 0, 0, 0, 0,
10020 0, 0, 0, 0, 0, 0, 0, 0,
10021 0, 0, 0, 0, 0, 0, 0, 0,
10022 0, 0, 0, 0, 0, 0, 0, 0,
10023 0, 0, 0, 0, 0, 0, 0, 0,
10024 0, 0, 0, 0, 0, 0, 0, 0,
10025 0, 0, 0, 0, 0, 0, 0, 0,
10026 0, 0, 0, 0, 0, 0, 0, 0,
10027 0, 0, 0, 0, 0, 0, 0, 0,
10028 0, 0, 0, 0, 0, 0, 0, 0,
10029 0, 0, 0, 0, 0, 0, 0, 0,
10030 0, 0, 0, 0, 0, 0, 0, 0,
10031 0, 0, 0, 0, 0, 0, 0, 0,
10032 0, 0, 0, 0, 0, 0, 0, 0,
10035 static const Q_UINT16 case_10 [] = {
10036 0, 0, 0, 0, 0, 0, 0, 0,
10037 0, 0, 0, 0, 0, 0, 0, 0,
10038 0, 0, 0, 0, 0, 0, 0, 0,
10039 0, 0, 0, 0, 0, 0, 0, 0,
10040 0, 0, 0, 0, 0, 0, 0, 0,
10041 0, 0, 0, 0, 0, 0, 0, 0,
10042 0, 0, 0, 0, 0, 0, 0, 0,
10043 0, 0, 0, 0, 0, 0, 0, 0,
10044 0, 0, 0, 0, 0, 0, 0, 0,
10045 0, 0, 0, 0, 0, 0, 0, 0,
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 0x10d0, 0x10d1, 0x10d2, 0x10d3, 0x10d4, 0x10d5, 0x10d6, 0x10d7,
10057 0x10d8, 0x10d9, 0x10da, 0x10db, 0x10dc, 0x10dd, 0x10de, 0x10df,
10058 0x10e0, 0x10e1, 0x10e2, 0x10e3, 0x10e4, 0x10e5, 0x10e6, 0x10e7,
10059 0x10e8, 0x10e9, 0x10ea, 0x10eb, 0x10ec, 0x10ed, 0x10ee, 0x10ef,
10060 0x10f0, 0x10f1, 0x10f2, 0x10f3, 0x10f4, 0x10f5, 0, 0,
10061 0, 0, 0, 0, 0, 0, 0, 0,
10062 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
10063 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
10064 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
10065 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
10066 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0,
10067 0, 0, 0, 0, 0, 0, 0, 0,
10070 static const Q_UINT16 case_1e [] = {
10071 0x1e01, 0x1e00, 0x1e03, 0x1e02, 0x1e05, 0x1e04, 0x1e07, 0x1e06,
10072 0x1e09, 0x1e08, 0x1e0b, 0x1e0a, 0x1e0d, 0x1e0c, 0x1e0f, 0x1e0e,
10073 0x1e11, 0x1e10, 0x1e13, 0x1e12, 0x1e15, 0x1e14, 0x1e17, 0x1e16,
10074 0x1e19, 0x1e18, 0x1e1b, 0x1e1a, 0x1e1d, 0x1e1c, 0x1e1f, 0x1e1e,
10075 0x1e21, 0x1e20, 0x1e23, 0x1e22, 0x1e25, 0x1e24, 0x1e27, 0x1e26,
10076 0x1e29, 0x1e28, 0x1e2b, 0x1e2a, 0x1e2d, 0x1e2c, 0x1e2f, 0x1e2e,
10077 0x1e31, 0x1e30, 0x1e33, 0x1e32, 0x1e35, 0x1e34, 0x1e37, 0x1e36,
10078 0x1e39, 0x1e38, 0x1e3b, 0x1e3a, 0x1e3d, 0x1e3c, 0x1e3f, 0x1e3e,
10079 0x1e41, 0x1e40, 0x1e43, 0x1e42, 0x1e45, 0x1e44, 0x1e47, 0x1e46,
10080 0x1e49, 0x1e48, 0x1e4b, 0x1e4a, 0x1e4d, 0x1e4c, 0x1e4f, 0x1e4e,
10081 0x1e51, 0x1e50, 0x1e53, 0x1e52, 0x1e55, 0x1e54, 0x1e57, 0x1e56,
10082 0x1e59, 0x1e58, 0x1e5b, 0x1e5a, 0x1e5d, 0x1e5c, 0x1e5f, 0x1e5e,
10083 0x1e61, 0x1e60, 0x1e63, 0x1e62, 0x1e65, 0x1e64, 0x1e67, 0x1e66,
10084 0x1e69, 0x1e68, 0x1e6b, 0x1e6a, 0x1e6d, 0x1e6c, 0x1e6f, 0x1e6e,
10085 0x1e71, 0x1e70, 0x1e73, 0x1e72, 0x1e75, 0x1e74, 0x1e77, 0x1e76,
10086 0x1e79, 0x1e78, 0x1e7b, 0x1e7a, 0x1e7d, 0x1e7c, 0x1e7f, 0x1e7e,
10087 0x1e81, 0x1e80, 0x1e83, 0x1e82, 0x1e85, 0x1e84, 0x1e87, 0x1e86,
10088 0x1e89, 0x1e88, 0x1e8b, 0x1e8a, 0x1e8d, 0x1e8c, 0x1e8f, 0x1e8e,
10089 0x1e91, 0x1e90, 0x1e93, 0x1e92, 0x1e95, 0x1e94, 0x0, 0x0,
10090 0x0, 0x0, 0x0, 0x1e60, 0, 0, 0, 0,
10091 0x1ea1, 0x1ea0, 0x1ea3, 0x1ea2, 0x1ea5, 0x1ea4, 0x1ea7, 0x1ea6,
10092 0x1ea9, 0x1ea8, 0x1eab, 0x1eaa, 0x1ead, 0x1eac, 0x1eaf, 0x1eae,
10093 0x1eb1, 0x1eb0, 0x1eb3, 0x1eb2, 0x1eb5, 0x1eb4, 0x1eb7, 0x1eb6,
10094 0x1eb9, 0x1eb8, 0x1ebb, 0x1eba, 0x1ebd, 0x1ebc, 0x1ebf, 0x1ebe,
10095 0x1ec1, 0x1ec0, 0x1ec3, 0x1ec2, 0x1ec5, 0x1ec4, 0x1ec7, 0x1ec6,
10096 0x1ec9, 0x1ec8, 0x1ecb, 0x1eca, 0x1ecd, 0x1ecc, 0x1ecf, 0x1ece,
10097 0x1ed1, 0x1ed0, 0x1ed3, 0x1ed2, 0x1ed5, 0x1ed4, 0x1ed7, 0x1ed6,
10098 0x1ed9, 0x1ed8, 0x1edb, 0x1eda, 0x1edd, 0x1edc, 0x1edf, 0x1ede,
10099 0x1ee1, 0x1ee0, 0x1ee3, 0x1ee2, 0x1ee5, 0x1ee4, 0x1ee7, 0x1ee6,
10100 0x1ee9, 0x1ee8, 0x1eeb, 0x1eea, 0x1eed, 0x1eec, 0x1eef, 0x1eee,
10101 0x1ef1, 0x1ef0, 0x1ef3, 0x1ef2, 0x1ef5, 0x1ef4, 0x1ef7, 0x1ef6,
10102 0x1ef9, 0x1ef8, 0, 0, 0, 0, 0, 0,
10105 static const Q_UINT16 case_1f [] = {
10106 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c, 0x1f0d, 0x1f0e, 0x1f0f,
10107 0x1f00, 0x1f01, 0x1f02, 0x1f03, 0x1f04, 0x1f05, 0x1f06, 0x1f07,
10108 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c, 0x1f1d, 0, 0,
10109 0x1f10, 0x1f11, 0x1f12, 0x1f13, 0x1f14, 0x1f15, 0, 0,
10110 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e, 0x1f2f,
10111 0x1f20, 0x1f21, 0x1f22, 0x1f23, 0x1f24, 0x1f25, 0x1f26, 0x1f27,
10112 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e, 0x1f3f,
10113 0x1f30, 0x1f31, 0x1f32, 0x1f33, 0x1f34, 0x1f35, 0x1f36, 0x1f37,
10114 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0, 0,
10115 0x1f40, 0x1f41, 0x1f42, 0x1f43, 0x1f44, 0x1f45, 0, 0,
10116 0x0, 0x1f59, 0x0, 0x1f5b, 0x0, 0x1f5d, 0x0, 0x1f5f,
10117 0, 0x1f51, 0, 0x1f53, 0, 0x1f55, 0, 0x1f57,
10118 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c, 0x1f6d, 0x1f6e, 0x1f6f,
10119 0x1f60, 0x1f61, 0x1f62, 0x1f63, 0x1f64, 0x1f65, 0x1f66, 0x1f67,
10120 0x1fba, 0x1fbb, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fda, 0x1fdb,
10121 0x1ff8, 0x1ff9, 0x1fea, 0x1feb, 0x1ffa, 0x1ffb, 0, 0,
10122 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
10123 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
10124 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
10125 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
10126 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
10127 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
10128 0x1fb8, 0x1fb9, 0x0, 0x1fbc, 0x0, 0, 0x0, 0x0,
10129 0x1fb0, 0x1fb1, 0x1f70, 0x1f71, 0x1fb3, 0, 0x399, 0,
10130 0, 0, 0x0, 0x1fcc, 0x0, 0, 0x0, 0x0,
10131 0x1f72, 0x1f73, 0x1f74, 0x1f75, 0x1fc3, 0, 0, 0,
10132 0x1fd8, 0x1fd9, 0x0, 0x0, 0, 0, 0x0, 0x0,
10133 0x1fd0, 0x1fd1, 0x1f76, 0x1f77, 0, 0, 0, 0,
10134 0x1fe8, 0x1fe9, 0x0, 0x0, 0x0, 0x1fec, 0x0, 0x0,
10135 0x1fe0, 0x1fe1, 0x1f7a, 0x1f7b, 0x1fe5, 0, 0, 0,
10136 0, 0, 0x0, 0x1ffc, 0x0, 0, 0x0, 0x0,
10137 0x1f78, 0x1f79, 0x1f7c, 0x1f7d, 0x1ff3, 0, 0, 0,
10140 static const Q_UINT16 case_20 [] = {
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 0, 0, 0, 0, 0, 0, 0, 0,
10149 0, 0, 0, 0, 0, 0, 0, 0,
10150 0, 0, 0, 0, 0, 0, 0, 0,
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, 0x0,
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, 0, 0, 0, 0, 0, 0, 0,
10170 0, 0, 0, 0, 0, 0, 0, 0,
10171 0, 0, 0, 0, 0, 0, 0, 0,
10172 0, 0, 0, 0, 0, 0, 0, 0,
10175 static const Q_UINT16 case_21 [] = {
10176 0, 0, 0x0, 0, 0, 0, 0, 0x0,
10177 0, 0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
10178 0x0, 0x0, 0x0, 0x0, 0, 0x0, 0, 0,
10179 0x761, 0x0, 0x0, 0x0, 0x0, 0x0, 0, 0,
10180 0, 0, 0, 0, 0x0, 0, 0x0, 0,
10181 0x0, 0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
10182 0x0, 0x0, 0, 0x0, 0x0, 0, 0, 0,
10183 0, 0, 0, 0, 0, 0, 0, 0,
10184 0, 0, 0, 0, 0, 0, 0, 0,
10185 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0,
10196 0, 0, 0, 0, 0, 0, 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 0, 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,
10210 static const Q_UINT16 case_fb [] = {
10211 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0,
10212 0, 0, 0, 0, 0, 0, 0, 0,
10213 0, 0, 0, 0x0, 0x0, 0x0, 0x0, 0x0,
10214 0, 0, 0, 0, 0, 0, 0, 0,
10215 0, 0, 0, 0, 0, 0, 0, 0,
10216 0, 0, 0, 0, 0, 0, 0, 0,
10217 0, 0, 0, 0, 0, 0, 0, 0,
10218 0, 0, 0, 0, 0, 0, 0, 0,
10219 0, 0, 0, 0, 0, 0, 0, 0,
10220 0, 0, 0, 0, 0, 0, 0, 0,
10221 0, 0, 0, 0, 0, 0, 0, 0,
10222 0, 0, 0, 0, 0, 0, 0, 0,
10223 0, 0, 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 0, 0, 0, 0, 0, 0, 0, 0,
10228 0, 0, 0, 0, 0, 0, 0, 0,
10229 0, 0, 0, 0, 0, 0, 0, 0,
10230 0, 0, 0, 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,
10245 static const Q_UINT16 case_ff [] = {
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, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
10251 0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
10252 0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
10253 0xff58, 0xff59, 0xff5a, 0, 0, 0, 0, 0,
10254 0, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
10255 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
10256 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
10257 0xff38, 0xff39, 0xff3a, 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, 0, 0, 0, 0,
10264 0, 0, 0, 0, 0, 0, 0, 0,
10265 0, 0, 0, 0, 0, 0, 0, 0,
10266 0, 0, 0, 0, 0, 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,
10280 static const Q_UINT16 * const case_info[256] = {
10282 case_0, case_1, case_2, case_3, case_4, case_5, 0, 0,
10283 0, 0, 0, 0, 0, 0, 0, 0,
10284 case_10, 0, 0, 0, 0, 0, 0, 0,
10285 0, 0, 0, 0, 0, 0, case_1e, case_1f,
10286 case_20, case_21, 0, 0, 0, 0, 0, 0,
10287 0, 0, 0, 0, 0, 0, 0, 0,
10288 0, 0, 0, 0, 0, 0, 0, 0,
10289 0, 0, 0, 0, 0, 0, 0, 0,
10290 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0,
10299 0, 0, 0, 0, 0, 0, 0, 0,
10300 0, 0, 0, 0, 0, 0, 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, case_fb, 0, 0, 0, case_ff,
10316 static const Q_INT8 num_0 [] = {
10317 -1, -1, -1, -1, -1, -1, -1, -1,
10318 -1, -1, -1, -1, -1, -1, -1, -1,
10319 -1, -1, -1, -1, -1, -1, -1, -1,
10320 -1, -1, -1, -1, -1, -1, -1, -1,
10321 -1, -1, -1, -1, -1, -1, -1, -1,
10322 -1, -1, -1, -1, -1, -1, -1, -1,
10323 0, 1, 2, 3, 4, 5, 6, 7,
10324 8, 9, -1, -1, -1, -1, -1, -1,
10325 -1, -1, -1, -1, -1, -1, -1, -1,
10326 -1, -1, -1, -1, -1, -1, -1, -1,
10327 -1, -1, -1, -1, -1, -1, -1, -1,
10328 -1, -1, -1, -1, -1, -1, -1, -1,
10329 -1, -1, -1, -1, -1, -1, -1, -1,
10330 -1, -1, -1, -1, -1, -1, -1, -1,
10331 -1, -1, -1, -1, -1, -1, -1, -1,
10332 -1, -1, -1, -1, -1, -1, -1, -1,
10333 -1, -1, -1, -1, -1, -1, -1, -1,
10334 -1, -1, -1, -1, -1, -1, -1, -1,
10335 -1, -1, -1, -1, -1, -1, -1, -1,
10336 -1, -1, -1, -1, -1, -1, -1, -1,
10337 -1, -1, -1, -1, -1, -1, -1, -1,
10338 -1, -1, -1, -1, -1, -1, -1, -1,
10339 -1, -1, 2, 3, -1, -1, -1, -1,
10340 -1, 1, -1, -1, -1, -1, -1, -1,
10341 -1, -1, -1, -1, -1, -1, -1, -1,
10342 -1, -1, -1, -1, -1, -1, -1, -1,
10343 -1, -1, -1, -1, -1, -1, -1, -1,
10344 -1, -1, -1, -1, -1, -1, -1, -1,
10345 -1, -1, -1, -1, -1, -1, -1, -1,
10346 -1, -1, -1, -1, -1, -1, -1, -1,
10347 -1, -1, -1, -1, -1, -1, -1, -1,
10348 -1, -1, -1, -1, -1, -1, -1, -1,
10351 static const Q_INT8 num_6 [] = {
10352 -1, -1, -1, -1, -1, -1, -1, -1,
10353 -1, -1, -1, -1, -1, -1, -1, -1,
10354 -1, -1, -1, -1, -1, -1, -1, -1,
10355 -1, -1, -1, -1, -1, -1, -1, -1,
10356 -1, -1, -1, -1, -1, -1, -1, -1,
10357 -1, -1, -1, -1, -1, -1, -1, -1,
10358 -1, -1, -1, -1, -1, -1, -1, -1,
10359 -1, -1, -1, -1, -1, -1, -1, -1,
10360 -1, -1, -1, -1, -1, -1, -1, -1,
10361 -1, -1, -1, -1, -1, -1, -1, -1,
10362 -1, -1, -1, -1, -1, -1, -1, -1,
10363 -1, -1, -1, -1, -1, -1, -1, -1,
10364 0, 1, 2, 3, 4, 5, 6, 7,
10365 8, 9, -1, -1, -1, -1, -1, -1,
10366 -1, -1, -1, -1, -1, -1, -1, -1,
10367 -1, -1, -1, -1, -1, -1, -1, -1,
10368 -1, -1, -1, -1, -1, -1, -1, -1,
10369 -1, -1, -1, -1, -1, -1, -1, -1,
10370 -1, -1, -1, -1, -1, -1, -1, -1,
10371 -1, -1, -1, -1, -1, -1, -1, -1,
10372 -1, -1, -1, -1, -1, -1, -1, -1,
10373 -1, -1, -1, -1, -1, -1, -1, -1,
10374 -1, -1, -1, -1, -1, -1, -1, -1,
10375 -1, -1, -1, -1, -1, -1, -1, -1,
10376 -1, -1, -1, -1, -1, -1, -1, -1,
10377 -1, -1, -1, -1, -1, -1, -1, -1,
10378 -1, -1, -1, -1, -1, -1, -1, -1,
10379 -1, -1, -1, -1, -1, -1, -1, -1,
10380 -1, -1, -1, -1, -1, -1, -1, -1,
10381 -1, -1, -1, -1, -1, -1, -1, -1,
10382 0, 1, 2, 3, 4, 5, 6, 7,
10383 8, 9, -1, -1, -1, -1, -1, -1,
10386 static const Q_INT8 num_9 [] = {
10387 -1, -1, -1, -1, -1, -1, -1, -1,
10388 -1, -1, -1, -1, -1, -1, -1, -1,
10389 -1, -1, -1, -1, -1, -1, -1, -1,
10390 -1, -1, -1, -1, -1, -1, -1, -1,
10391 -1, -1, -1, -1, -1, -1, -1, -1,
10392 -1, -1, -1, -1, -1, -1, -1, -1,
10393 -1, -1, -1, -1, -1, -1, -1, -1,
10394 -1, -1, -1, -1, -1, -1, -1, -1,
10395 -1, -1, -1, -1, -1, -1, -1, -1,
10396 -1, -1, -1, -1, -1, -1, -1, -1,
10397 -1, -1, -1, -1, -1, -1, -1, -1,
10398 -1, -1, -1, -1, -1, -1, -1, -1,
10399 -1, -1, -1, -1, -1, -1, 0, 1,
10400 2, 3, 4, 5, 6, 7, 8, 9,
10401 -1, -1, -1, -1, -1, -1, -1, -1,
10402 -1, -1, -1, -1, -1, -1, -1, -1,
10403 -1, -1, -1, -1, -1, -1, -1, -1,
10404 -1, -1, -1, -1, -1, -1, -1, -1,
10405 -1, -1, -1, -1, -1, -1, -1, -1,
10406 -1, -1, -1, -1, -1, -1, -1, -1,
10407 -1, -1, -1, -1, -1, -1, -1, -1,
10408 -1, -1, -1, -1, -1, -1, -1, -1,
10409 -1, -1, -1, -1, -1, -1, -1, -1,
10410 -1, -1, -1, -1, -1, -1, -1, -1,
10411 -1, -1, -1, -1, -1, -1, -1, -1,
10412 -1, -1, -1, -1, -1, -1, -1, -1,
10413 -1, -1, -1, -1, -1, -1, -1, -1,
10414 -1, -1, -1, -1, -1, -1, -1, -1,
10415 -1, -1, -1, -1, -1, -1, 0, 1,
10416 2, 3, 4, 5, 6, 7, 8, 9,
10417 -1, -1, -1, -1, -1, -1, -1, -1,
10418 -1, -1, -1, -1, -1, -1, -1, -1,
10421 static const Q_INT8 num_b [] = {
10422 -1, -1, -1, -1, -1, -1, -1, -1,
10423 -1, -1, -1, -1, -1, -1, -1, -1,
10424 -1, -1, -1, -1, -1, -1, -1, -1,
10425 -1, -1, -1, -1, -1, -1, -1, -1,
10426 -1, -1, -1, -1, -1, -1, -1, -1,
10427 -1, -1, -1, -1, -1, -1, -1, -1,
10428 -1, -1, -1, -1, -1, -1, -1, -1,
10429 -1, -1, -1, -1, -1, -1, -1, -1,
10430 -1, -1, -1, -1, -1, -1, -1, -1,
10431 -1, -1, -1, -1, -1, -1, -1, -1,
10432 -1, -1, -1, -1, -1, -1, -1, -1,
10433 -1, -1, -1, -1, -1, -1, -1, -1,
10434 -1, -1, -1, -1, -1, -1, 0, 1,
10435 2, 3, 4, 5, 6, 7, 8, 9,
10436 -1, -1, -1, -1, -1, -1, -1, -1,
10437 -1, -1, -1, -1, -1, -1, -1, -1,
10438 -1, -1, -1, -1, -1, -1, -1, -1,
10439 -1, -1, -1, -1, -1, -1, -1, -1,
10440 -1, -1, -1, -1, -1, -1, -1, -1,
10441 -1, -1, -1, -1, -1, -1, -1, -1,
10442 -1, -1, -1, -1, -1, -1, -1, -1,
10443 -1, -1, -1, -1, -1, -1, -1, -1,
10444 -1, -1, -1, -1, -1, -1, -1, -1,
10445 -1, -1, -1, -1, -1, -1, -1, -1,
10446 -1, -1, -1, -1, -1, -1, -1, -1,
10447 -1, -1, -1, -1, -1, -1, -1, -1,
10448 -1, -1, -1, -1, -1, -1, -1, -1,
10449 -1, -1, -1, -1, -1, -1, -1, -1,
10450 -1, -1, -1, -1, -1, -1, -1, 1,
10451 2, 3, 4, 5, 6, 7, 8, 9,
10452 -1, -1, -1, -1, -1, -1, -1, -1,
10453 -1, -1, -1, -1, -1, -1, -1, -1,
10456 static const Q_INT8 num_d [] = {
10457 -1, -1, -1, -1, -1, -1, -1, -1,
10458 -1, -1, -1, -1, -1, -1, -1, -1,
10459 -1, -1, -1, -1, -1, -1, -1, -1,
10460 -1, -1, -1, -1, -1, -1, -1, -1,
10461 -1, -1, -1, -1, -1, -1, -1, -1,
10462 -1, -1, -1, -1, -1, -1, -1, -1,
10463 -1, -1, -1, -1, -1, -1, -1, -1,
10464 -1, -1, -1, -1, -1, -1, -1, -1,
10465 -1, -1, -1, -1, -1, -1, -1, -1,
10466 -1, -1, -1, -1, -1, -1, -1, -1,
10467 -1, -1, -1, -1, -1, -1, -1, -1,
10468 -1, -1, -1, -1, -1, -1, -1, -1,
10469 -1, -1, -1, -1, -1, -1, 0, 1,
10470 2, 3, 4, 5, 6, 7, 8, 9,
10471 -1, -1, -1, -1, -1, -1, -1, -1,
10472 -1, -1, -1, -1, -1, -1, -1, -1,
10473 -1, -1, -1, -1, -1, -1, -1, -1,
10474 -1, -1, -1, -1, -1, -1, -1, -1,
10475 -1, -1, -1, -1, -1, -1, -1, -1,
10476 -1, -1, -1, -1, -1, -1, -1, -1,
10477 -1, -1, -1, -1, -1, -1, -1, -1,
10478 -1, -1, -1, -1, -1, -1, -1, -1,
10479 -1, -1, -1, -1, -1, -1, -1, -1,
10480 -1, -1, -1, -1, -1, -1, -1, -1,
10481 -1, -1, -1, -1, -1, -1, -1, -1,
10482 -1, -1, -1, -1, -1, -1, -1, -1,
10483 -1, -1, -1, -1, -1, -1, -1, -1,
10484 -1, -1, -1, -1, -1, -1, -1, -1,
10485 -1, -1, -1, -1, -1, -1, -1, -1,
10486 -1, -1, -1, -1, -1, -1, -1, -1,
10487 -1, -1, -1, -1, -1, -1, -1, -1,
10488 -1, -1, -1, -1, -1, -1, -1, -1,
10491 static const Q_INT8 num_e [] = {
10492 -1, -1, -1, -1, -1, -1, -1, -1,
10493 -1, -1, -1, -1, -1, -1, -1, -1,
10494 -1, -1, -1, -1, -1, -1, -1, -1,
10495 -1, -1, -1, -1, -1, -1, -1, -1,
10496 -1, -1, -1, -1, -1, -1, -1, -1,
10497 -1, -1, -1, -1, -1, -1, -1, -1,
10498 -1, -1, -1, -1, -1, -1, -1, -1,
10499 -1, -1, -1, -1, -1, -1, -1, -1,
10500 -1, -1, -1, -1, -1, -1, -1, -1,
10501 -1, -1, -1, -1, -1, -1, -1, -1,
10502 0, 1, 2, 3, 4, 5, 6, 7,
10503 8, 9, -1, -1, -1, -1, -1, -1,
10504 -1, -1, -1, -1, -1, -1, -1, -1,
10505 -1, -1, -1, -1, -1, -1, -1, -1,
10506 -1, -1, -1, -1, -1, -1, -1, -1,
10507 -1, -1, -1, -1, -1, -1, -1, -1,
10508 -1, -1, -1, -1, -1, -1, -1, -1,
10509 -1, -1, -1, -1, -1, -1, -1, -1,
10510 -1, -1, -1, -1, -1, -1, -1, -1,
10511 -1, -1, -1, -1, -1, -1, -1, -1,
10512 -1, -1, -1, -1, -1, -1, -1, -1,
10513 -1, -1, -1, -1, -1, -1, -1, -1,
10514 -1, -1, -1, -1, -1, -1, -1, -1,
10515 -1, -1, -1, -1, -1, -1, -1, -1,
10516 -1, -1, -1, -1, -1, -1, -1, -1,
10517 -1, -1, -1, -1, -1, -1, -1, -1,
10518 0, 1, 2, 3, 4, 5, 6, 7,
10519 8, 9, -1, -1, -1, -1, -1, -1,
10520 -1, -1, -1, -1, -1, -1, -1, -1,
10521 -1, -1, -1, -1, -1, -1, -1, -1,
10522 -1, -1, -1, -1, -1, -1, -1, -1,
10523 -1, -1, -1, -1, -1, -1, -1, -1,
10526 static const Q_INT8 num_f [] = {
10527 -1, -1, -1, -1, -1, -1, -1, -1,
10528 -1, -1, -1, -1, -1, -1, -1, -1,
10529 -1, -1, -1, -1, -1, -1, -1, -1,
10530 -1, -1, -1, -1, -1, -1, -1, -1,
10531 0, 1, 2, 3, 4, 5, 6, 7,
10532 8, 9, -1, -1, -1, -1, -1, -1,
10533 -1, -1, -1, -1, -1, -1, -1, -1,
10534 -1, -1, -1, -1, -1, -1, -1, -1,
10535 -1, -1, -1, -1, -1, -1, -1, -1,
10536 -1, -1, -1, -1, -1, -1, -1, -1,
10537 -1, -1, -1, -1, -1, -1, -1, -1,
10538 -1, -1, -1, -1, -1, -1, -1, -1,
10539 -1, -1, -1, -1, -1, -1, -1, -1,
10540 -1, -1, -1, -1, -1, -1, -1, -1,
10541 -1, -1, -1, -1, -1, -1, -1, -1,
10542 -1, -1, -1, -1, -1, -1, -1, -1,
10543 -1, -1, -1, -1, -1, -1, -1, -1,
10544 -1, -1, -1, -1, -1, -1, -1, -1,
10545 -1, -1, -1, -1, -1, -1, -1, -1,
10546 -1, -1, -1, -1, -1, -1, -1, -1,
10547 -1, -1, -1, -1, -1, -1, -1, -1,
10548 -1, -1, -1, -1, -1, -1, -1, -1,
10549 -1, -1, -1, -1, -1, -1, -1, -1,
10550 -1, -1, -1, -1, -1, -1, -1, -1,
10551 -1, -1, -1, -1, -1, -1, -1, -1,
10552 -1, -1, -1, -1, -1, -1, -1, -1,
10553 -1, -1, -1, -1, -1, -1, -1, -1,
10554 -1, -1, -1, -1, -1, -1, -1, -1,
10555 -1, -1, -1, -1, -1, -1, -1, -1,
10556 -1, -1, -1, -1, -1, -1, -1, -1,
10557 -1, -1, -1, -1, -1, -1, -1, -1,
10558 -1, -1, -1, -1, -1, -1, -1, -1,
10561 static const Q_INT8 num_20 [] = {
10562 -1, -1, -1, -1, -1, -1, -1, -1,
10563 -1, -1, -1, -1, -1, -1, -1, -1,
10564 -1, -1, -1, -1, -1, -1, -1, -1,
10565 -1, -1, -1, -1, -1, -1, -1, -1,
10566 -1, -1, -1, -1, -1, -1, -1, -1,
10567 -1, -1, -1, -1, -1, -1, -1, -1,
10568 -1, -1, -1, -1, -1, -1, -1, -1,
10569 -1, -1, -1, -1, -1, -1, -1, -1,
10570 -1, -1, -1, -1, -1, -1, -1, -1,
10571 -1, -1, -1, -1, -1, -1, -1, -1,
10572 -1, -1, -1, -1, -1, -1, -1, -1,
10573 -1, -1, -1, -1, -1, -1, -1, -1,
10574 -1, -1, -1, -1, -1, -1, -1, -1,
10575 -1, -1, -1, -1, -1, -1, -1, -1,
10576 0, -1, -1, -1, 4, 5, 6, 7,
10577 8, 9, -1, -1, -1, -1, -1, -1,
10578 0, 1, 2, 3, 4, 5, 6, 7,
10579 8, 9, -1, -1, -1, -1, -1, -1,
10580 -1, -1, -1, -1, -1, -1, -1, -1,
10581 -1, -1, -1, -1, -1, -1, -1, -1,
10582 -1, -1, -1, -1, -1, -1, -1, -1,
10583 -1, -1, -1, -1, -1, -1, -1, -1,
10584 -1, -1, -1, -1, -1, -1, -1, -1,
10585 -1, -1, -1, -1, -1, -1, -1, -1,
10586 -1, -1, -1, -1, -1, -1, -1, -1,
10587 -1, -1, -1, -1, -1, -1, -1, -1,
10588 -1, -1, -1, -1, -1, -1, -1, -1,
10589 -1, -1, -1, -1, -1, -1, -1, -1,
10590 -1, -1, -1, -1, -1, -1, -1, -1,
10591 -1, -1, -1, -1, -1, -1, -1, -1,
10592 -1, -1, -1, -1, -1, -1, -1, -1,
10593 -1, -1, -1, -1, -1, -1, -1, -1,
10596 static const Q_INT8 num_ff [] = {
10597 -1, -1, -1, -1, -1, -1, -1, -1,
10598 -1, -1, -1, -1, -1, -1, -1, -1,
10599 0, 1, 2, 3, 4, 5, 6, 7,
10600 8, 9, -1, -1, -1, -1, -1, -1,
10601 -1, -1, -1, -1, -1, -1, -1, -1,
10602 -1, -1, -1, -1, -1, -1, -1, -1,
10603 -1, -1, -1, -1, -1, -1, -1, -1,
10604 -1, -1, -1, -1, -1, -1, -1, -1,
10605 -1, -1, -1, -1, -1, -1, -1, -1,
10606 -1, -1, -1, -1, -1, -1, -1, -1,
10607 -1, -1, -1, -1, -1, -1, -1, -1,
10608 -1, -1, -1, -1, -1, -1, -1, -1,
10609 -1, -1, -1, -1, -1, -1, -1, -1,
10610 -1, -1, -1, -1, -1, -1, -1, -1,
10611 -1, -1, -1, -1, -1, -1, -1, -1,
10612 -1, -1, -1, -1, -1, -1, -1, -1,
10613 -1, -1, -1, -1, -1, -1, -1, -1,
10614 -1, -1, -1, -1, -1, -1, -1, -1,
10615 -1, -1, -1, -1, -1, -1, -1, -1,
10616 -1, -1, -1, -1, -1, -1, -1, -1,
10617 -1, -1, -1, -1, -1, -1, -1, -1,
10618 -1, -1, -1, -1, -1, -1, -1, -1,
10619 -1, -1, -1, -1, -1, -1, -1, -1,
10620 -1, -1, -1, -1, -1, -1, -1, -1,
10621 -1, -1, -1, -1, -1, -1, -1, -1,
10622 -1, -1, -1, -1, -1, -1, -1, -1,
10623 -1, -1, -1, -1, -1, -1, -1, -1,
10624 -1, -1, -1, -1, -1, -1, -1, -1,
10625 -1, -1, -1, -1, -1, -1, -1, -1,
10626 -1, -1, -1, -1, -1, -1, -1, -1,
10627 -1, -1, -1, -1, -1, -1, -1, -1,
10628 -1, -1, -1, -1, -1, -1, -1, -1,
10631 static const Q_INT8 * const decimal_info[256] = {
10632 num_0, 0, 0, 0, 0, 0, num_6, 0,
10633 0, num_9, num_9, num_b, num_9, num_d, num_e, num_f,
10634 0, 0, 0, 0, 0, 0, 0, 0,
10635 0, 0, 0, 0, 0, 0, 0, 0,
10636 num_20, 0, 0, 0, 0, 0, 0, 0,
10637 0, 0, 0, 0, 0, 0, 0, 0,
10638 0, 0, 0, 0, 0, 0, 0, 0,
10639 0, 0, 0, 0, 0, 0, 0, 0,
10640 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0,
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, 0, 0, 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, num_ff,
10666 static const Q_UINT16 symmetricPairs[] = {
10667 0x0028, 0x0029, 0x0029, 0x0028, 0x003C, 0x003E, 0x003E, 0x003C,
10668 0x005B, 0x005D, 0x005D, 0x005B, 0x007B, 0x007D, 0x007D, 0x007B,
10669 0x2045, 0x2046, 0x2046, 0x2045, 0x207D, 0x207E, 0x207E, 0x207D,
10670 0x208D, 0x208E, 0x208E, 0x208D, 0x3008, 0x3009, 0x3009, 0x3008,
10671 0x300A, 0x300B, 0x300B, 0x300A, 0x300C, 0x300D, 0x300D, 0x300C,
10672 0x300E, 0x300F, 0x300F, 0x300E, 0x3010, 0x3011, 0x3011, 0x3010,
10673 0x3014, 0x3015, 0x3015, 0x3014, 0x3016, 0x3017, 0x3017, 0x3016,
10674 0x3018, 0x3019, 0x3019, 0x3018, 0x301A, 0x301B, 0x301B, 0x301A,
10675 0xFD3E, 0xFD3F, 0xFD3F, 0xFD3E, 0xFE59, 0xFE5A, 0xFE5A, 0xFE59,
10676 0xFE5B, 0xFE5C, 0xFE5C, 0xFE5B, 0xFE5D, 0xFE5E, 0xFE5E, 0xFE5D,
10677 0xFF08, 0xFF09, 0xFF09, 0xFF08, 0xFF3B, 0xFF3D, 0xFF3D, 0xFF3B,
10678 0xFF5B, 0xFF5D, 0xFF5D, 0xFF5B, 0xFF62, 0xFF63, 0xFF63, 0xFF62,
10681 static int symmetricPairsSize =
10682 sizeof(symmetricPairs)/sizeof(symmetricPairs[0]);
10685 * ----------------------------------------------------------------------
10686 * End of unicode tables
10687 * ----------------------------------------------------------------------
10693 static int ucstrcmp( const QString &as, const QString &bs )
10695 const QChar *a = as.unicode();
10696 const QChar *b = bs.unicode();
10703 int l=QMIN(as.length(),bs.length());
10704 while ( l-- && *a == *b )
10707 return ( as.length()-bs.length() );
10708 return a->unicode() - b->unicode();
10711 static int ucstrncmp( const QChar *a, const QChar *b, int l )
10713 while ( l-- && *a == *b )
10717 return a->unicode() - b->unicode();
10720 static int ucstrnicmp( const QChar *a, const QChar *b, int l )
10722 while ( l-- && a->lower() == b->lower() )
10726 QChar al = a->lower();
10727 QChar bl = b->lower();
10728 return al.unicode() - bl.unicode();
10732 /*! \class QCharRef qstring.h
10733 \brief The QCharRef class is a helper class for QString.
10735 It provides the ability to work on characters in a QString in a natural
10738 When you get an object of type QCharRef, you can assign to it, which
10739 will operate on the string from which you got it. That is its whole
10740 purpose in life. It becomes invalid once further modifications are
10741 made to the string: If you want to keep it, copy it into a QChar.
10743 Most of the QChar member functions also exist in QCharRef. However,
10744 they are not explicitly documented here.
10746 \sa QString::operator[]() QString::at() QChar
10749 /*! \class QChar qstring.h
10751 \brief The QChar class provides a light-weight Unicode character.
10753 Unicode characters are (so far) 16-bit entities without any markup or
10754 structure. This class represents such an entity. It is rather
10755 light-weight, so it can be used everywhere. Most compilers treat it
10756 approximately like "short int". (In a few years, it may be necessary
10757 to make QChar 32-bit, once more than 65536 Unicode code points have
10758 been defined and come into use.)
10760 QChar provides a full complement of testing/classification functions,
10761 conversion to and from other formats, from composed to decomposed
10762 unicode, and will try to compare and case-convert if you ask it to.
10764 The classification functions include functions like those in ctype.h,
10765 but operating on the full range of unicode characters. They all
10766 return TRUE if the character is a certain type of character, and FALSE
10769 These functions are: isNull() (returns TRUE if the character is
10770 U+0000), isPrint() (TRUE if the character is any sort of printable
10771 character, including whitespace), isPunct() (any sort of punctuation),
10772 isMark() (Unicode Marks), isLetter (letters), isNumber() (any sort of
10773 numeric characters), isLetterOrNumber(), and isDigit() (decimal digits).
10774 All of these are wrappers around category(), which returns the
10775 unicode-defined category of each character.
10777 QChar further provides direction(), which indicates the "natural"
10778 writing direction of this character, joining(), which indicates how
10779 this character joins with its neighbors (needed mostly for Arabic)
10780 and finally mirrored(), which indicates whether this character needs
10781 to be mirrored when it is printed in its unnatural writing
10784 Composed Unicode characters (like å) can be converted to
10785 decomposed Unicode ("a" followed by "ring above") using
10788 In Unicode, comparison is not necessarily possible, and case
10789 conversion is at best very hard. Unicode, covering the "entire"
10790 globe, also includes a globe-sized collection of case and sorting
10791 problems. Qt tries, but not very hard: operator== and friends will do
10792 comparison based purely on the numeric Unicode value (code point) of
10793 the characters, and upper() and lower() will do case changes when the
10794 character has a well-defined upper/lower-case equivalent. There is no
10795 provision for locale-dependent case folding rules or comparison: These
10796 functions are meant to be fast, so they can be used unambiguously in
10799 The conversion functions include unicode() (to a scalar), latin1() (to
10800 scalar, but converts all non-Latin1 characters to 0), row() (gives the
10801 Unicode row), cell() (gives the unicode cell), digitValue() (gives the
10802 integer value of any of the numerous digit characters), and a host of
10805 \sa QString QCharRef \link unicode.html About Unicode \endlink
10808 /*! \enum QChar::Category
10810 This enum maps the Unicode character categories. The currently known
10811 categories are: <ul>
10813 <li> \c NoCategory - used when Qt is dazed and confused and cannot
10814 make sense of anything.
10816 <li> \c Mark_NonSpacing - (Mn) -
10818 <li> \c Mark_SpacingCombining - (Mc) -
10820 <li> \c Mark_Enclosing - (Me) -
10822 <li> \c Number_DecimalDigit - (Nd) -
10824 <li> \c Number_Letter - (Nl) -
10826 <li> \c Number_Other - (No) -
10828 <li> \c Separator_Space - (Zs) -
10830 <li> \c Separator_Line - (Zl) -
10832 <li> \c Separator_Paragraph - (Zp) -
10834 <li> \c Other_Control - (Cc) -
10836 <li> \c Other_Format - (Cf) -
10838 <li> \c Other_Surrogate - (Cs) -
10840 <li> \c Other_PrivateUse - (Co) -
10842 <li> \c Other_NotAssigned - (Cn) -
10844 <li> \c Letter_Uppercase - (Lu) -
10846 <li> \c Letter_Lowercase - (Ll) -
10848 <li> \c Letter_Titlecase - (Lt) -
10850 <li> \c Letter_Modifier - (Lm) -
10852 <li> \c Letter_Other - (Lo) -
10854 <li> \c Punctuation_Connector - (Pc) -
10856 <li> \c Punctuation_Dask - (Pd) -
10858 <li> \c Punctuation_Open - (Ps) -
10860 <li> \c Punctuation_Close - (Pe) -
10862 <li> \c Punctuation_InitialQuote - (Pi) -
10864 <li> \c Punctuation_FinalQuote - (Pf) -
10866 <li> \c Punctuation_Other - (Po) -
10868 <li> \c Symbol_Math - (Sm) -
10870 <li> \c Symbol_Currency - (Sc) -
10872 <li> \c Symbol_Modifier - (Sk) -
10874 <li> \c Symbol_Other - (So) -
10879 /*! \enum QChar::Direction
10881 This enum type defines the Unicode direction attributes.
10882 See <a href="http://www.unicode.org">the Unicode Standard</a>
10883 for a description of the values.
10885 In order to conform to C/C++ naming conventions "Dir" is
10886 prepended to the codes used in The Unicode Standard.
10889 /*! \enum QChar::Decomposition
10891 This enum type defines the Unicode decomposition attributes.
10892 See <a href="http://www.unicode.org">the Unicode Standard</a>
10893 for a description of the values.
10896 /*! \enum QChar::Joining
10898 This enum type defines the Unicode decomposition attributes.
10899 See <a href="http://www.unicode.org">the Unicode Standard</a>
10900 for a description of the values.
10905 /*! \fn QChar::QChar()
10907 Constructs a null QChar (one that isNull()).
10911 /*! \fn QChar::QChar( char c )
10913 Constructs a QChar corresponding to ASCII/Latin1 character \a c.
10917 /*! \fn QChar::QChar( uchar c )
10919 Constructs a QChar corresponding to ASCII/Latin1 character \a c.
10923 /*! \fn QChar::QChar( uchar c, uchar r )
10925 Constructs a QChar for Unicode cell \a c in row \a r.
10929 /*! \fn QChar::QChar( const QChar& c )
10931 Constructs a copy of \a c. This is a deep copy, if such a
10932 light-weight object can be said to have deep copies.
10936 /*! \fn QChar::QChar( ushort rc )
10938 Constructs a QChar for the character with Unicode code point \a rc.
10942 /*! \fn QChar::QChar( short rc )
10944 Constructs a QChar for the character with Unicode code point \a rc.
10948 /*! \fn QChar::QChar( uint rc )
10950 Constructs a QChar for the character with Unicode code point \a rc.
10954 /*! \fn QChar::QChar( int rc )
10956 Constructs a QChar for the character with Unicode code point \a rc.
10960 /*! \fn bool QChar::networkOrdered ()
10962 Returns TRUE if this character is in network byte order (MSB first),
10963 and FALSE if it is not. This is a platform-dependent property, so
10964 we strongly advise against using this function in portable code.
10969 \fn bool QChar::isNull() const
10970 Returns TRUE if the characters is the unicode character 0x0000,
10975 \fn uchar QChar::cell () const
10976 Returns the cell (least significant byte) of the Unicode character.
10979 \fn uchar QChar::row () const
10980 Returns the row (most significant byte) of the Unicode character.
10983 \fn uchar& QChar::cell ()
10984 Returns a reference to the cell (least significant byte) of the Unicode character.
10987 \fn uchar& QChar::row ()
10988 Returns a reference to the row (most significant byte) of the Unicode character.
10992 Returns whether the character is a printable character. This is
10993 any character not of category Cc or Cn. Note that this gives no indication
10994 of whether the character is available in some font.
10996 bool QChar::isPrint() const
10998 Category c = category();
10999 return !(c == Other_Control || c == Other_NotAssigned);
11003 Returns whether the character is a separator
11004 character (Separator_* categories).
11006 bool QChar::isSpace() const
11009 if( cell() >= 9 && cell() <=13 ) return TRUE;
11010 Category c = category();
11011 return c >= Separator_Space && c <= Separator_Paragraph;
11015 Returns whether the character is a mark (Mark_* categories).
11017 bool QChar::isMark() const
11019 Category c = category();
11020 return c >= Mark_NonSpacing && c <= Mark_Enclosing;
11024 Returns whether the character is punctuation (Punctuation_* categories).
11026 bool QChar::isPunct() const
11028 Category c = category();
11029 return (c >= Punctuation_Connector && c <= Punctuation_Other);
11033 Returns whether the character is a letter (Letter_* categories).
11035 bool QChar::isLetter() const
11037 Category c = category();
11038 return (c >= Letter_Uppercase && c <= Letter_Other);
11042 Returns whether the character is a number (of any sort - Number_* categories).
11046 bool QChar::isNumber() const
11048 Category c = category();
11049 return c >= Number_DecimalDigit && c <= Number_Other;
11053 Returns whether the character is a letter or number (Letter_* or Number_* categories).
11055 bool QChar::isLetterOrNumber() const
11057 Category c = category();
11058 return (c >= Letter_Uppercase && c <= Letter_Other)
11059 || (c >= Number_DecimalDigit && c <= Number_Other);
11064 Returns whether the character is a decimal digit (Number_DecimalDigit).
11066 bool QChar::isDigit() const
11068 return (category() == Number_DecimalDigit);
11072 Returns the numeric value of the digit, or -1 if the character is not
11075 int QChar::digitValue() const
11077 #ifndef QT_NO_UNICODETABLES
11078 const Q_INT8 *dec_row = decimal_info[row()];
11081 return decimal_info[row()][cell()];
11083 // ##### just latin1
11084 if ( rw != 0 || cl < '0' || cl > '9' )
11092 Returns the character category.
11096 QChar::Category QChar::category() const
11098 #ifndef QT_NO_UNICODETABLES
11099 return (Category)(unicode_info[row()][cell()]);
11103 return (Category)(ui_00[cell()]);
11105 return Letter_Uppercase; //#######
11110 Returns the characters directionality.
11114 QChar::Direction QChar::direction() const
11116 #ifndef QT_NO_UNICODETABLES
11117 const Q_UINT8 *rowp = direction_info[row()];
11118 if(!rowp) return QChar::DirL;
11119 return (Direction) ( *(rowp+cell()) &0x1f );
11126 This function is not supported (it may change to use Unicode
11127 character classes).
11129 Returns information about the joining properties of the
11130 character (needed for arabic).
11132 QChar::Joining QChar::joining() const
11134 #ifndef QT_NO_UNICODETABLES
11135 const Q_UINT8 *rowp = direction_info[row()];
11137 return QChar::OtherJoining;
11138 return (Joining) ((*(rowp+cell()) >> 5) &0x3);
11140 return OtherJoining;
11146 Returns whether the character is a mirrored character (one that
11147 should be reversed if the text direction is reversed).
11149 bool QChar::mirrored() const
11151 #ifndef QT_NO_UNICODETABLES
11152 const Q_UINT8 *rowp = direction_info[row()];
11155 return *(rowp+cell())>128;
11162 Returns the mirrored char if this character is a mirrored char, the char
11165 QChar QChar::mirroredChar() const
11167 #ifndef QT_NO_UNICODETABLES
11168 if(!mirrored()) return *this;
11172 for (i = 0; i < symmetricPairsSize; i += 2) {
11173 if (symmetricPairs[i] == c)
11174 return symmetricPairs[i+1];
11183 Decomposes a character into its parts. Returns QString::null if
11184 no decomposition exists.
11186 QString QChar::decomposition() const
11188 #ifndef QT_NO_UNICODETABLES
11189 const Q_UINT16 *r = decomposition_info[row()];
11190 if(!r) return QString::null;
11192 Q_UINT16 pos = r[cell()];
11193 if(!pos) return QString::null;
11198 while((c = decomposition_map[pos++]) != 0) s += QChar(c);
11207 Returns the tag defining the composition of the character.
11208 Returns QChar::Single if no decomposition exists.
11210 QChar::Decomposition QChar::decompositionTag() const
11212 #ifndef QT_NO_UNICODETABLES
11213 const Q_UINT16 *r = decomposition_info[row()];
11214 if(!r) return QChar::Single;
11216 Q_UINT16 pos = r[cell()];
11217 if(!pos) return QChar::Single;
11219 return (QChar::Decomposition) decomposition_map[pos];
11221 return Single; // ########### FIX eg. just latin1
11226 Returns the lowercase equivalent if the character is uppercase,
11227 or the character itself otherwise.
11229 QChar QChar::lower() const
11231 #ifndef QT_NO_UNICODETABLES
11232 if(category() != Letter_Uppercase) return *this;
11233 Q_UINT16 lower = *(case_info[row()]+cell());
11234 if(lower == 0) return *this;
11240 return QChar(tolower(latin1()));
11245 Returns the uppercase equivalent if the character is lowercase,
11246 or the character itself otherwise.
11248 QChar QChar::upper() const
11250 #ifndef QT_NO_UNICODETABLES
11251 if(category() != Letter_Lowercase) return *this;
11252 Q_UINT16 upper = *(case_info[row()]+cell());
11253 if(upper == 0) return *this;
11259 return QChar(toupper(latin1()));
11264 \fn QChar::operator char() const
11266 Returns the Latin1 character equivalent to the QChar,
11267 or 0. This is mainly useful for non-internationalized software.
11273 \fn ushort QChar::unicode() const
11275 Returns the numeric Unicode value equal to the QChar. Normally, you
11276 should use QChar objects as they are equivalent, but for some low-level
11277 tasks (eg. indexing into an array of Unicode information), this function
11281 /*****************************************************************************
11282 Documentation of QChar related functions
11283 *****************************************************************************/
11286 \fn int operator==( QChar c1, QChar c2 )
11289 Returns TRUE if \a c1 and \a c2 are the same Unicode character.
11293 \fn int operator==( char ch, QChar c )
11296 Returns TRUE if \a c is the ASCII/Latin1 character \a ch.
11300 \fn int operator==( QChar c, char ch )
11303 Returns TRUE if \a c is the ASCII/Latin1 character \a ch.
11307 \fn int operator!=( QChar c1, QChar c2 )
11310 Returns TRUE if \a c1 and \a c2 are not the same Unicode character.
11314 \fn int operator!=( char ch, QChar c )
11317 Returns TRUE if \a c is not the ASCII/Latin1 character \a ch.
11321 \fn int operator!=( QChar c, char ch )
11324 Returns TRUE if \a c is not the ASCII/Latin1 character \a ch.
11328 \fn int operator<=( QChar c1, QChar c2 )
11331 Returns TRUE if the numeric Unicode value of \a c1 is less than that
11332 of \a c2, or they are the same Unicode character.
11336 \fn int operator<=( QChar c, char ch )
11339 Returns TRUE if the numeric Unicode value of \a c is less than or
11340 equal to that of the ASCII/Latin1 character \a ch.
11344 \fn int operator<=( char ch, QChar c )
11347 Returns TRUE if the numeric Unicode value of the ASCII/Latin1
11348 character \a ch is less than or equal to that of \a c.
11352 \fn int operator>=( QChar c1, QChar c2 )
11355 Returns TRUE if the numeric Unicode value of \a c1 is greater than that
11356 of \a c2, or they are the same Unicode character.
11360 \fn int operator>=( QChar c, char ch )
11363 Returns TRUE if the numeric Unicode value of \a c is greater than or
11364 equal to that of the ASCII/Latin1 character \a ch.
11368 \fn int operator>=( char ch, QChar c )
11371 Returns TRUE if the numeric Unicode value of the ASCII/Latin1
11372 character \a ch is greater than or equal to that of \a c.
11376 \fn int operator<( QChar c1, QChar c2 )
11379 Returns TRUE if the numeric Unicode value of \a c1 is less than that
11384 \fn int operator<( QChar c, char ch )
11387 Returns TRUE if the numeric Unicode value of \a c is less than that
11388 of the ASCII/Latin1 character \a ch.
11392 \fn int operator<( char ch, QChar c )
11395 Returns TRUE if the numeric Unicode value of the ASCII/Latin1
11396 character \a ch is less than that of \a c.
11400 \fn int operator>( QChar c1, QChar c2 )
11403 Returns TRUE if the numeric Unicode value of \a c1 is greater than
11408 \fn int operator>( QChar c, char ch )
11411 Returns TRUE if the numeric Unicode value of \a c is greater than
11412 that of the ASCII/Latin1 character \a ch.
11416 \fn int operator>( char ch, QChar c )
11419 Returns TRUE if the numeric Unicode value of the ASCII/Latin1
11420 character \a ch is greater than that of \a c.
11423 #ifndef QT_NO_UNICODETABLES
11425 // small class used internally in QString::Compose()
11429 QLigature( QChar c );
11431 Q_UINT16 first() { cur = ligatures; return cur ? *cur : 0; }
11432 Q_UINT16 next() { return cur && *cur ? *(cur++) : 0; }
11433 Q_UINT16 current() { return cur ? *cur : 0; }
11435 int match(QString & str, unsigned int index);
11437 QChar::Decomposition tag();
11440 Q_UINT16 *ligatures;
11444 QLigature::QLigature( QChar c )
11446 const Q_UINT16 *r = ligature_info[c.row()];
11451 const Q_UINT16 pos = r[c.cell()];
11452 ligatures = (Q_UINT16 *)&(ligature_map[pos]);
11457 QChar QLigature::head()
11460 return QChar(decomposition_map[current()+1]);
11462 return QChar::null;
11465 QChar::Decomposition QLigature::tag()
11468 return (QChar::Decomposition) decomposition_map[current()];
11470 return QChar::Canonical;
11473 int QLigature::match(QString & str, unsigned int index)
11475 unsigned int i=index;
11477 if(!current()) return 0;
11479 Q_UINT16 lig = current() + 2;
11482 while ((i < str.length()) && (ch = decomposition_map[lig])) {
11483 if (str[(int)i] != QChar(ch))
11488 if (!decomposition_map[lig])
11495 // this function is just used in QString::compose()
11496 static inline bool format(QChar::Decomposition tag, QString & str,
11497 int index, int len)
11499 unsigned int l = index + len;
11500 unsigned int r = index;
11502 bool right = FALSE;
11504 bool left = ((l < str.length()) &&
11505 ((str[(int)l].joining() == QChar::Dual) ||
11506 (str[(int)l].joining() == QChar::Right)));
11509 //printf("joining(right) = %d\n", str[(int)r].joining());
11510 right = (str[(int)r].joining() == QChar::Dual);
11515 case QChar::Medial:
11516 return (left && right);
11517 case QChar::Initial:
11518 return (left && !right);
11520 return (right);// && !left);
11521 case QChar::Isolated:
11523 return (!right && !left);
11529 QString::compose() and visual() were developed by Gordon Tisher
11530 <tisher@uniserve.ca>, with input from Lars Knoll <knoll@mpi-hd.mpg.de>,
11531 who developed the unicode data tables.
11534 Note that this function is not supported in Qt 2.0, and is merely
11535 for experimental and illustrative purposes. It is mainly of interest
11536 to those experimenting with Arabic and other composition-rich texts.
11538 Applies possible ligatures to a QString, useful when composition-rich
11539 text requires rendering with glyph-poor fonts, but also
11540 makes compositions such as QChar(0x0041) ('A') and QChar(0x0308)
11541 (Unicode accent diaresis) giving QChar(0x00c4) (German A Umlaut).
11543 void QString::compose()
11545 #ifndef QT_NO_UNICODETABLES
11546 unsigned int index=0, len;
11547 unsigned int cindex = 0;
11553 QString composed = *this;
11555 while (index < length()) {
11557 //printf("\n\nligature for 0x%x:\n", code.unicode());
11558 QLigature ligature(code);
11560 while(ligature.current()) {
11561 if ((len = ligature.match(*this, index)) != 0) {
11562 head = ligature.head();
11563 unsigned short code = head.unicode();
11564 // we exclude Arabic presentation forms A and a few
11565 // other ligatures, which are undefined in most fonts
11566 if(!(code > 0xfb50 && code < 0xfe80) &&
11567 !(code > 0xfb00 && code < 0xfb2a)) {
11568 // joining info is only needed for arabic
11569 if (format(ligature.tag(), *this, index, len)) {
11570 //printf("using ligature 0x%x, len=%d\n",code,len);
11572 composed.replace(cindex, len, QChar(head));
11574 // we continue searching in case we have a final
11575 // form because medial ones are preferred.
11576 if ( len != 1 || ligature.tag() !=QChar::Final )
11590 static QChar LRM ((ushort)0x200e);
11591 static QChar RLM ((ushort)0x200f);
11592 static QChar LRE ((ushort)0x202a);
11593 static QChar RLE ((ushort)0x202b);
11594 static QChar RLO ((ushort)0x202e);
11595 static QChar LRO ((ushort)0x202d);
11596 static QChar PDF ((ushort)0x202c);
11599 static inline bool is_arabic(unsigned short x) {
11600 return (((x >= 0x0600) && (x <= 0x07bf)) ||
11601 ((x >= 0xfb50) && (x <= 0xfdff)) ||
11602 ((x >= 0xfe70) && (x <= 0xfeff)));
11606 #ifndef QT_NO_UNICODETABLES
11607 static inline bool is_neutral(unsigned short dir) {
11608 return ((dir == QChar::DirB) ||
11609 (dir == QChar::DirS) ||
11610 (dir == QChar::DirWS) ||
11611 (dir == QChar::DirON) ||
11612 (dir == QChar::DirNSM));
11617 This function returns the directionality of the string.
11619 \returns a value of DirLTR, DirRTL, DirMixed or DirNeutral that indicates
11620 if the entire text represented by this text is unidirectional,
11621 and which direction, or if it is mixed-directional or all characters are neutral.
11623 QString::Direction QString::direction() const
11625 #ifndef QT_NO_UNICODETABLES
11627 unsigned char resultDir = DirNeutral;
11628 for (unsigned int pos = 0; pos < length(); pos++)
11630 if ((at(pos) != RLE) &&
11631 (at(pos) != LRE) &&
11632 (at(pos) != RLO) &&
11633 (at(pos) != LRO) &&
11634 (at(pos).direction() > 1) &&
11635 (at(pos).direction() != QChar::DirAL)) // not R and not L
11638 if ((at(pos).direction() == QChar::DirR) ||
11639 (at(pos).direction() == QChar::DirAL) ||
11640 (at(pos) == RLE) ||
11642 resultDir |= DirRTL;
11644 resultDir |= DirLTR;
11645 if (resultDir == DirMixed)
11648 return static_cast<Direction>(resultDir);
11655 This function returns the basic directionality of the string. Useful to find the right
11658 The base direction is derived from the first character in the string
11659 with bidirectional character type L, R, or AL.
11660 If the first such character has type L, DirLTR is returned.
11661 If the first such character has type R or AL, DirRTL is returned.
11662 If the string does not contain any character of these types, then DirNeutral is returned.
11663 This is a lightweight function for use when only the base direction is needed and
11664 no further bidi processing of the text is needed.
11666 \returns DirRTL, DirLTR or DirNeutral
11668 QString::Direction QString::basicDirection() const
11670 #ifndef QT_NO_UNICODETABLES
11671 // find base direction
11672 unsigned int pos = 0;
11673 while ((pos < length()) &&
11674 (at(pos) != RLE) &&
11675 (at(pos) != LRE) &&
11676 (at(pos) != RLO) &&
11677 (at(pos) != LRO) &&
11678 (at(pos).direction() > 1) &&
11679 (at(pos).direction() != QChar::DirAL)) // not R and not L
11682 if (pos == length())
11685 if ((at(pos).direction() == QChar::DirR) ||
11686 (at(pos).direction() == QChar::DirAL) ||
11687 (at(pos) == RLE) ||
11696 #ifndef QT_NO_UNICODETABLES
11697 // reverses part of the QChar array to get visual ordering
11698 // called from QString::visual()
11700 static unsigned int reverse( QString &chars, unsigned char *level,
11701 unsigned int a, unsigned int b)
11703 unsigned int c = a;
11704 unsigned char lev = level[c];
11706 while ((c < b) && (level[c] >= lev)) {
11707 if (level[c] > lev)
11708 c = reverse(chars, level, c, b);
11714 unsigned int d = a, e = c-1;
11716 temp = chars[(int)d];
11717 chars[(int)d] = chars[(int)e];
11718 chars[(int)e] = temp;
11727 // small class used for the ordering algorithm in QString::visual()
11730 unsigned char level;
11731 signed char override;
11733 QBidiState(unsigned char l, signed char o) : level(l), override(o) {};
11736 // matrix for resolving neutral types
11738 #define NEG1 (QChar::Direction)(-1)
11740 static QChar::Direction resolv[5][5] =
11742 { NEG1, QChar::DirR, QChar::DirL, QChar::DirEN, QChar::DirAN },
11743 { QChar::DirR, QChar::DirR, NEG1, QChar::DirR, QChar::DirR },
11744 { QChar::DirL, NEG1, QChar::DirL, QChar::DirL, NEG1 },
11745 { QChar::DirEN, QChar::DirR, QChar::DirL, QChar::DirEN, QChar::DirR },
11746 { QChar::DirAN, QChar::DirR, NEG1, NEG1, QChar::DirAN }
11752 This function returns the QString ordered visually. Useful for
11753 painting the string or when transforming to a visually ordered
11756 QString QString::visual(int index, int len)
11758 #ifndef QT_NO_UNICODETABLES
11759 // #### This needs much more optimizing - it is called for
11760 // #### every text operation.
11762 unsigned char *level;
11763 QChar::Direction *dir;
11764 unsigned char base = 0;
11766 unsigned int l = length();
11770 len = length()-index;
11771 if ((uint)index > l)
11772 return QString::null;
11774 // find base direction
11775 unsigned int pos = 0;
11776 while ((pos < length()) &&
11777 (at(pos) != RLE) &&
11778 (at(pos) != LRE) &&
11779 (at(pos) != RLO) &&
11780 (at(pos) != LRO) &&
11781 (at(pos).direction() > 1) &&
11782 (at(pos).direction() != QChar::DirAL)
11783 ) // not R and not L
11786 if ((pos < length()) &&
11787 ((at(pos).direction() == QChar::DirR) ||
11788 (at(pos).direction() == QChar::DirAL) ||
11789 (at(pos) == RLE) ||
11793 // is there any BiDi char at all?
11794 if ( base == 0 && pos == l ) {
11795 return mid(index, len);
11799 level = new uchar[l];
11800 dir = new QChar::Direction[l];
11802 // explicit override pass
11803 //unsigned int code_count = 0;
11805 QStack<QBidiState> stack;
11806 stack.setAutoDelete(TRUE);
11808 unsigned char clevel = base;
11809 signed char override = -1;
11811 for (pos = 0; pos < l; pos++) {
11813 if (at(pos) == RLE) {
11815 stack.push(new QBidiState(clevel, override));
11817 clevel += 1 + clevel % 2;
11820 else if (at(pos) == LRE) {
11822 stack.push(new QBidiState(clevel, override));
11824 clevel += 2 - clevel % 2;
11827 else if (at(pos) == RLO) {
11829 stack.push(new QBidiState(clevel, override));
11831 clevel += 1 + clevel % 2;
11832 override = QChar::DirR;
11834 else if (at(pos) == LRO) {
11836 stack.push(new QBidiState(clevel, override));
11838 clevel += 2 - clevel % 2;
11839 override = QChar::DirL;
11841 else if (at(pos) == PDF) {
11843 if (!stack.isEmpty()) {
11844 override = stack.top()->override;
11845 clevel = stack.top()->level;
11850 // TODO: catch block separators (newlines, paras, etc.)
11852 level[pos] = clevel;
11853 if (override != -1)
11854 dir[pos] = (QChar::Direction) override;
11856 dir[pos] = at(pos).direction();
11860 for (pos = 0; pos < l; pos++) {
11864 switch (at(pos).direction()) {
11868 !(at(i).direction() == QChar::DirAN) &&
11869 !(at(i).direction() == QChar::DirAL) &&
11870 !(at(i).direction() == QChar::DirB))
11874 ((at(i).direction() == QChar::DirAN) ||
11875 (at(i).direction() == QChar::DirAL)))
11876 dir[pos] = QChar::DirAN;
11881 if ((pos > 0) && (pos < l-1) &&
11882 (dir[pos-1] == dir[pos+1]))
11883 dir[pos] = dir[pos-1];
11885 dir[pos] = QChar::DirON;
11889 if (((pos > 0) && (dir[pos-1] == QChar::DirEN)) ||
11890 ((pos < l-1) && (dir[pos+1] == QChar::DirEN)))
11891 dir[pos] = QChar::DirEN;
11893 dir[pos] = QChar::DirON;
11897 dir[pos] = QChar::DirR;
11904 // neutral type pass
11905 for (pos = 0; pos < l; pos++) {
11906 QChar::Direction left,right; // declaring l here shadowed previous l
11908 if (is_neutral(dir[pos])) {
11912 left = (base == 0 ? QChar::DirL : QChar::DirR);
11916 while ((i < (int)l-1) && is_neutral(dir[i+1]))
11922 right = (base == 0 ? QChar::DirL : QChar::DirR);
11924 for (int j=pos; j <= i; j++) {
11926 while ((a < 5) && (left != resolv[0][a]))
11928 while ((b < 5) && (right != resolv[0][b]))
11930 if ((a == 5) || (b == 5))
11931 dir[j] = (base == 0 ? QChar::DirL : QChar::DirR);
11933 dir[j] = resolv[a][b];
11935 if (dir[j] == (QChar::Direction)(-1))
11936 dir[j] = (base == 0 ? QChar::DirL : QChar::DirR);
11941 // implicit level pass
11942 QChar::Direction prec = (base == 0 ? QChar::DirL : QChar::DirR);
11944 for (pos = 0; pos < l; pos++) {
11945 if (level[pos] % 2) {
11946 switch (dir[pos]) {
11956 switch (dir[pos]) {
11964 if (prec == QChar::DirL)
11978 // now do the work!
11979 QString ret(*this);
11980 reverse(ret, level, index, index+len);
11987 return mid(index,len);
11993 // These macros are used for efficient allocation of QChar strings.
11994 // IMPORTANT! If you change these, make sure you also change the
11995 // "delete unicode" statement in ~QStringData() in qstring.h correspondingly!
11997 #define QT_ALLOC_QCHAR_VEC( N ) (QChar*) new char[ sizeof(QChar)*( N ) ]
11998 #define QT_DELETE_QCHAR_VEC( P ) delete[] ((char*)( P ))
12002 This utility function converts the 8-bit string
12003 \a ba to Unicode, returning the result.
12005 The caller is responsible for deleting the return value with delete[].
12008 QChar* QString::asciiToUnicode( const QByteArray& ba, uint* len )
12010 if ( ba.isNull() ) {
12016 while ( l < (int)ba.size() && ba[l] )
12018 const char* str = ba.data();
12019 QChar *uc = new QChar[ l ]; // Can't use macro, since function is public
12020 QChar *result = uc;
12028 static QChar* internalAsciiToUnicode( const QByteArray& ba, uint* len )
12030 if ( ba.isNull() ) {
12036 while ( l < (int)ba.size() && ba[l] )
12038 const char* str = ba.data();
12039 QChar *uc = QT_ALLOC_QCHAR_VEC( l );
12040 QChar *result = uc;
12049 This utility function converts the NUL-terminated 8-bit string
12050 \a str to Unicode, returning the result and setting \a len to
12051 the length of the Unicode string.
12053 The caller is responsible for deleting the return value with delete[].
12056 QChar* QString::asciiToUnicode( const char *str, uint* len, uint maxlen )
12061 if ( maxlen != (uint)-1 ) {
12062 while ( l < maxlen && str[l] )
12068 QChar *uc = new QChar[ l ]; // Can't use macro since function is public
12079 static QChar* internalAsciiToUnicode( const char *str, uint* len,
12080 uint maxlen = (uint)-1 )
12085 if ( maxlen != (uint)-1 ) {
12086 while ( l < maxlen && str[l] )
12092 QChar *uc = QT_ALLOC_QCHAR_VEC( l );
12104 This utility function converts \a l 16-bit characters from
12105 \a uc to ASCII, returning a NUL-terminated string.
12107 The caller is responsible for deleting the string with delete[].
12109 char* QString::unicodeToAscii(const QChar *uc, uint l)
12114 char *a = new char[l+1];
12122 static uint computeNewMax( uint len )
12124 if (len >= 0x80000000)
12128 while ( newMax < len )
12130 // try to save some memory
12131 if ( newMax >= 1024 * 1024 && len <= newMax - (newMax >> 2) )
12132 newMax -= newMax >> 2;
12137 Returns the QString as a zero terminated array of unsigned shorts
12138 if the string is not null; otherwise returns zero.
12140 The result remains valid so long as one unmodified
12141 copy of the source string exists.
12143 const unsigned short *QString::ucs2() const
12145 if ( ! d->unicode )
12147 unsigned int len = d->len;
12148 if ( d->maxl < len + 1 ) {
12149 // detach, grow or shrink
12150 uint newMax = computeNewMax( len + 1 );
12151 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
12154 memcpy( nd, d->unicode, sizeof(QChar)*len );
12155 ((QString *)this)->deref();
12156 ((QString *)this)->d = new QStringData( nd, len, newMax );
12159 d->unicode[len] = 0;
12160 return (unsigned short *) d->unicode;
12164 Constructs a string that is a deep copy of \a str, interpreted as a
12165 UCS2 encoded, zero terminated, Unicode string.
12167 If \a str is 0, then a null string is created.
12170 QString QString::fromUcs2( const unsigned short *str )
12173 return QString::null;
12176 while ( str[length] != 0 )
12178 QChar* uc = QT_ALLOC_QCHAR_VEC( length );
12179 memcpy( uc, str, length*sizeof(QChar) );
12180 return QString( new QStringData( uc, length, length ), TRUE );
12185 /*****************************************************************************
12186 QString member functions
12187 *****************************************************************************/
12190 \class QString qstring.h
12192 \brief The QString class provides an abstraction of Unicode text and
12193 the classic C null-terminated char array (<var>char*</var>).
12198 QString uses \link shclass.html implicit sharing\endlink, and so it
12199 is very efficient and easy to use.
12201 In all QString methods that take <var>const char*</var> parameters,
12202 the <var>const char*</var> is interpreted as a classic C-style
12203 0-terminated ASCII string. It is legal for the <var>const
12204 char*</var> parameter to be 0. The results are undefined if the
12205 <var>const char*</var> string is not 0-terminated. Functions that
12206 copy classic C strings into a QString will not copy the terminating
12207 0-character. The QChar array of the QString (as returned by
12208 unicode()) is not terminated by a null.
12210 A QString that has not been assigned to anything is \a null, i.e. both
12211 the length and data pointer is 0. A QString that references the empty
12212 string ("", a single '\0' char) is \a empty. Both null and empty
12213 QStrings are legal parameters to the methods. Assigning <var>const char
12214 * 0</var> to QString gives a null QString.
12216 Note that if you find that you are mixing usage of QCString, QString,
12217 and QByteArray, this causes lots of unnecessary copying and might
12218 indicate that the true nature of the data you are dealing with is
12219 uncertain. If the data is NUL-terminated 8-bit data, use QCString;
12220 if it is unterminated (ie. contains NULs) 8-bit data, use QByteArray;
12221 if it is text, use QString.
12223 \sa QChar \link shclass.html Shared classes\endlink
12226 Q_EXPORT QStringData *QString::shared_null = 0;
12227 //QT_STATIC_CONST_IMPL QString QString::null;
12228 QT_STATIC_CONST_IMPL QChar QChar::null;
12229 QT_STATIC_CONST_IMPL QChar QChar::replacement((ushort)0xfffd);
12230 QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff);
12231 QT_STATIC_CONST_IMPL QChar QChar::byteOrderSwapped((ushort)0xfffe);
12232 QT_STATIC_CONST_IMPL QChar QChar::nbsp((ushort)0x00a0);
12234 #if defined(_CC_MSVC_) && _MSC_VER <= 1300
12235 const QString::Null QString::null;
12237 const QString::Null QString::null = { };
12241 QStringData* QString::makeSharedNull()
12243 return shared_null=new QStringData;
12246 // Uncomment this to get some useful statistics.
12247 // #define Q2HELPER(x) x
12250 static int stat_construct_charstar=0;
12251 static int stat_construct_charstar_size=0;
12252 static int stat_construct_null=0;
12253 static int stat_construct_int=0;
12254 static int stat_construct_int_size=0;
12255 static int stat_construct_ba=0;
12256 static int stat_get_ascii=0;
12257 static int stat_get_ascii_size=0;
12258 static int stat_copy_on_write=0;
12259 static int stat_copy_on_write_size=0;
12260 static int stat_fast_copy=0;
12261 Q_EXPORT void qt_qstring_stats()
12263 qDebug("construct_charstar = %d (%d chars)", stat_construct_charstar, stat_construct_charstar_size);
12264 qDebug("construct_null = %d", stat_construct_null);
12265 qDebug("construct_int = %d (%d chars)", stat_construct_int, stat_construct_int_size);
12266 qDebug("construct_ba = %d", stat_construct_ba);
12267 qDebug("get_ascii = %d (%d chars)", stat_get_ascii, stat_get_ascii_size);
12268 qDebug("copy_on_write = %d (%d chars)", stat_copy_on_write, stat_copy_on_write_size);
12269 qDebug("fast_copy = %d", stat_fast_copy);
12272 #define Q2HELPER(x)
12276 \fn QString::QString()
12278 Constructs a null string.
12283 Constructs a string containing the one character \a ch.
12285 QString::QString( QChar ch )
12287 d = new QStringData( QT_ALLOC_QCHAR_VEC( 1 ), 1, 1 );
12288 d->unicode[0] = ch;
12292 Constructs an implicitly-shared copy of \a s.
12294 QString::QString( const QString &s ) :
12297 Q2HELPER(stat_fast_copy++)
12304 Constructs a string with preallocated space for \a size characters.
12306 The string is empty.
12311 QString::QString( int size, bool /*dummy*/ )
12314 Q2HELPER(stat_construct_int++)
12316 Q2HELPER(stat_construct_int_size+=l)
12317 QChar* uc = QT_ALLOC_QCHAR_VEC( l );
12318 d = new QStringData( uc, 0, l );
12320 Q2HELPER(stat_construct_null++)
12321 d = shared_null ? shared_null : (shared_null=new QStringData);
12327 Constructs a string that is a deep copy of \a ba interpreted as
12328 a classic C string.
12331 QString::QString( const QByteArray& ba )
12333 Q2HELPER(stat_construct_ba++)
12335 QChar *uc = internalAsciiToUnicode(ba,&l);
12336 d = new QStringData(uc,l,l);
12339 QString::QString( const QCString& ba )
12341 //Q2HELPER(stat_construct_ba++)
12343 //QChar *uc = internalAsciiToUnicode(ba,&l);
12344 //d = new QStringData(uc,l,l);
12345 Q2HELPER(stat_fast_copy++)
12346 QString s = QString::fromUtf8(ba.data(),ba.length());
12352 Constructs a string that is a deep copy of the
12353 first \a length QChar in the array \a unicode.
12355 If \a unicode and \a length are 0, a null string is created.
12357 If only \a unicode is 0, the string is empty, but has
12358 \a length characters of space preallocated - QString expands
12359 automatically anyway, but this may speed some cases up a little.
12364 QString::QString( const QChar* unicode, uint length )
12366 if ( !unicode && !length ) {
12367 d = shared_null ? shared_null : makeSharedNull();
12370 QChar* uc = QT_ALLOC_QCHAR_VEC( length );
12372 memcpy(uc, unicode, length*sizeof(QChar));
12373 d = new QStringData(uc,unicode ? length : 0,length);
12378 Constructs a string that is a deep copy of \a str, interpreted as a
12381 If \a str is 0 a null string is created.
12383 This is a cast constructor, but it is perfectly safe: converting a Latin1
12384 const char* to QString preserves all the information.
12385 You can disable this constructor by
12386 defining QT_NO_CAST_ASCII when you compile your applications.
12387 You can also make QString objects by using setLatin1()/fromLatin1(), or
12388 fromLocal8Bit(), fromUtf8(), or whatever encoding is appropriate for
12389 the 8-bit data you have.
12394 QString::QString( const char *str )
12396 //Q2HELPER(stat_construct_charstar++)
12398 //QChar *uc = internalAsciiToUnicode(str,&l);
12399 //Q2HELPER(stat_construct_charstar_size+=l)
12400 //d = new QStringData(uc,l,l);
12401 Q2HELPER(stat_fast_copy++)
12402 QString s = QString::fromUtf8(str);
12408 /*! \fn QString::~QString()
12410 Destroys the string and frees the "real" string, if this was the last
12411 copy of that string.
12416 Deallocates any space reserved solely by this QString.
12419 void QString::real_detach()
12421 setLength( length() );
12424 void QString::deref()
12426 if ( d->deref() ) {
12427 if ( d == shared_null )
12430 d = 0; // helps debugging
12434 void QStringData::deleteSelf()
12440 \fn QString& QString::operator=( QChar c )
12441 Sets the string to contain just the single character \a c.
12445 \fn QString& QString::operator=( char c )
12446 Sets the string to contain just the single character \a c.
12450 Assigns a shallow copy of \a s to this string and returns a
12451 reference to this string.
12453 QString &QString::operator=( const QString &s )
12455 Q2HELPER(stat_fast_copy++)
12463 Assigns a deep copy of \a cs, interpreted as a classic C string, to
12464 this string and returns a reference to this string.
12466 QString &QString::operator=( const QCString& cs )
12468 return setLatin1(cs);
12473 Assigns a deep copy of \a str, interpreted as a classic C string,
12474 to this string and returns a reference to this string.
12476 If \a str is 0 a null string is created.
12480 QString &QString::operator=( const char *str )
12482 return setLatin1(str);
12487 \fn bool QString::isNull() const
12489 Returns TRUE if the string is null.
12490 A null string is also an empty string.
12494 QString a; // a.unicode() == 0, a.length() == 0
12495 QString b = ""; // b.unicode() == "", b.length() == 0
12496 a.isNull(); // TRUE, because a.unicode() == 0
12497 a.isEmpty(); // TRUE, because a.length() == 0
12498 b.isNull(); // FALSE, because b.unicode() != 0
12499 b.isEmpty(); // TRUE, because b.length() == 0
12502 \sa isEmpty(), length()
12506 \fn bool QString::isEmpty() const
12508 Returns TRUE if the string is empty, i.e. if length() == 0.
12509 An empty string is not always a null string.
12511 See example in isNull().
12513 \sa isNull(), length()
12517 \fn uint QString::length() const
12519 Returns the length of the string.
12521 Null strings and empty strings have zero length.
12523 \sa isNull(), isEmpty()
12527 Truncates the string at position \a newLen if newLen is less than the
12528 current length . Otherwise, nothing happens.
12532 QString s = "truncate this string";
12533 s.truncate( 5 ); // s == "trunc"
12536 In Qt 1.x, it was possible to "truncate" a string to a longer
12537 length. This is no longer possible.
12541 void QString::truncate( uint newLen )
12543 if ( newLen < d->len )
12544 setLength( newLen );
12547 /*### Make this public in 3.0
12548 Ensures that at least \a newLen characters are allocated, and
12549 sets the length to \a newLen. This function always detaches the
12550 string from other references to the same data. Any new space
12551 allocated is \e not defined.
12553 If \a newLen is 0, this string becomes empty, unless this string is
12554 null, in which case it remains null.
12556 \sa truncate(), isNull(), isEmpty()
12559 void QString::setLength( uint newLen )
12561 if ( d->count != 1 || newLen > d->maxl || // detach, grow, or
12562 ( newLen*4 < d->maxl && d->maxl > 4 ) ) { // shrink
12563 Q2HELPER(stat_copy_on_write++)
12564 Q2HELPER(stat_copy_on_write_size+=d->len)
12566 while ( newMax < newLen )
12568 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
12569 uint len = QMIN( d->len, newLen );
12571 memcpy( nd, d->unicode, sizeof(QChar)*len );
12573 d = new QStringData( nd, newLen, newMax );
12580 /*! Returns a string equal to this one, but with the lowest-numbered
12581 occurrence of \c %i (for a positive integer i) replaced by \a a.
12584 label.setText( tr("Rename %1 to %2?").arg(oldName).arg(newName) );
12587 \a fieldwidth is the minimum amount of space \a a is padded to. A
12588 positive value produces right-aligned text, while a negative value
12589 produces left aligned text.
12591 \warning Using arg() for constructing "real" sentences
12592 programmatically is likely to lead to translation problems.
12593 Inserting objects like numbers or file names is fairly safe.
12595 \warning Relying on spaces to create alignment is prone to lead to
12596 translation problems.
12598 If there is no \c %i pattern, a warning message (qWarning()) is
12599 printed and the text as appended at the end of the string. This is
12600 error recovery and should not occur in correct code.
12604 QString QString::arg(const QString& a, int fieldwidth) const
12609 if ( !findArg( pos, len ) ) {
12610 qWarning( "QString::arg(): Argument missing: %s, %s",
12611 (const char *)ascii(), (const char *)ascii() );
12612 // Make sure the text at least appears SOMEWHERE
12618 r.replace( pos, len, a );
12619 if ( fieldwidth < 0 ) {
12621 while ( (uint)-fieldwidth > a.length() ) {
12625 r.insert( pos + a.length(), s );
12626 } else if ( fieldwidth ) {
12628 while ( (uint)fieldwidth > a.length() ) {
12632 r.insert( pos, s );
12641 \a a is expressed in to \a base notation, which is decimal by
12642 default and must be in the range 2-36 inclusive.
12644 QString QString::arg(long a, int fieldwidth, int base) const
12646 return arg( QString::number( a, base ), fieldwidth );
12651 \a a is expressed in to \a base notation, which is decimal by
12652 default and must be in the range 2-36 inclusive.
12654 QString QString::arg(ulong a, int fieldwidth, int base) const
12656 return arg( QString::number( a, base ), fieldwidth );
12660 \overload QString QString::arg(int a, int fieldwidth, int base) const
12662 \a a is expressed in to \a base notation, which is decimal by
12663 default and must be in the range 2-36 inclusive.
12668 \overload QString QString::arg(uint a, int fieldwidth, int base) const
12670 \a a is expressed in to \a base notation, which is decimal by
12671 default and must be in the range 2-36 inclusive.
12675 \overload QString QString::arg(short a, int fieldwidth, int base) const
12677 \a a is expressed in to \a base notation, which is decimal by
12678 default and must be in the range 2-36 inclusive.
12682 \overload QString QString::arg(ushort a, int fieldwidth, int base) const
12684 \a a is expressed in to \a base notation, which is decimal by
12685 default and must be in the range 2-36 inclusive.
12691 \a a is assumed to be in the Latin1 character set.
12693 QString QString::arg(char a, int fieldwidth) const
12697 return arg( c, fieldwidth );
12702 QString QString::arg(QChar a, int fieldwidth) const
12706 return arg( c, fieldwidth );
12711 \a is formatted according to the \a fmt format specified, which is
12712 'g' by default and can be any of 'f', 'F', 'e', 'E', 'g' or 'G', all
12713 of which have the same meaning as for sprintf(). \a prec determines
12714 the precision, just as for number() and sprintf().
12716 QString QString::arg(double a, int fieldwidth, char fmt, int prec) const
12718 return arg( QString::number( a, fmt, prec ), fieldwidth );
12723 Just 1-digit arguments.
12725 bool QString::findArg(int& pos, int& len) const
12728 for (uint i=0; i<length(); i++) {
12729 if ( at(i) == '%' && i+1<length() ) {
12730 char dig = at(i+1);
12731 if ( dig >= '0' && dig <= '9' ) {
12732 if ( !lowest || dig < lowest ) {
12740 return lowest != 0;
12744 Safely builds a formatted string from a format string and an
12745 arbitrary list of arguments. The format string supports all
12746 the escape sequences of printf() in the standard C library.
12748 The %s escape sequence expects a utf8() encoded string.
12749 The format string \e cformat is expected to be in latin1. If you need a unicode
12750 format string, use QString::arg() instead. For typesafe
12751 string building, with full Unicode support, you can use QTextOStream
12758 QTextOStream(&str) << s << " : " << x;
12761 For \link QObject::tr() translations,\endlink especially if the
12762 strings contains more than one escape sequence, you should consider
12763 using the arg() function instead. This allows the order of the
12764 replacements to be controlled by the translator, and has Unicode
12770 QString &QString::sprintf( const char* cformat, ... )
12773 va_start( ap, cformat );
12775 if ( !cformat || !*cformat ) {
12777 *this = QString::fromLatin1( "" );
12780 QString format = QString::fromLatin1( cformat );
12782 static QRegExp *escape = 0;
12784 escape = new QRegExp( "%#?0?-? ?\\+?'?[0-9*]*\\.?[0-9*]*h?l?L?q?Z?" );
12792 pos = escape->match( cformat, last, &len );
12793 // Non-escaped text
12794 if ( pos > (int)last )
12795 result += format.mid(last,pos-last);
12798 if ( last < format.length() )
12799 result += format.mid(last);
12802 last = pos + len + 1;
12805 QString f = format.mid( pos, len );
12806 uint width, decimals;
12808 int wpos = f.find('*');
12811 width = va_arg( ap, int );
12812 if ( f.find('*', wpos + 1) >= 0 ) {
12813 decimals = va_arg( ap, int );
12819 decimals = width = 0;
12821 QString replacement;
12822 if ( format[pos+len] == 's' ||
12823 format[pos+len] == 'S' ||
12824 format[pos+len] == 'c' )
12826 bool rightjust = ( f.find('-') < 0 );
12827 // Yes, %-5s really means left adjust in sprintf
12830 QRegExp num( "[0-9]+" );
12831 QRegExp dot( "\\." );
12833 int p = num.match( f.data(), 0, &nlen );
12834 int q = dot.match( f.data(), 0 );
12835 if ( q < 0 || (p < q && p >= 0) )
12836 width = f.mid( p, nlen ).toInt();
12838 p = num.match( f.data(), q );
12839 // "decimals" is used to specify string truncation
12841 decimals = f.mid( p, nlen ).toInt();
12845 if ( format[pos+len] == 's' ) {
12846 #ifndef QT_NO_TEXTCODEC
12847 QString s = QString::fromUtf8(va_arg(ap, char*));
12849 QString s = QString::fromLatin1(va_arg(ap, char*));
12851 if ( decimals <= 0 )
12854 replacement = s.left(decimals);
12856 int ch = va_arg(ap, int);
12857 replacement = QChar((ushort)ch);
12859 if ( replacement.length() < width ) {
12860 replacement = rightjust
12861 ? replacement.rightJustify(width)
12862 : replacement.leftJustify(width);
12864 } else if ( format[pos+len] == '%' ) {
12866 } else if ( format[pos+len] == 'n' ) {
12867 int* n = va_arg(ap, int*);
12868 *n = result.length();
12870 char in[64], out[330] = "";
12871 strncpy(in,f.latin1(),63);
12872 char fch = format[pos+len].latin1();
12873 in[f.length()] = fch;
12875 case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': {
12876 int value = va_arg(ap, int);
12878 case 0: ::sprintf( out, in, value ); break;
12879 case 1: ::sprintf( out, in, width, value ); break;
12880 case 2: ::sprintf( out, in, width, decimals, value ); break;
12883 case 'e': case 'E': case 'f': case 'g': case 'G': {
12884 double value = va_arg(ap, double);
12886 case 0: ::sprintf( out, in, value ); break;
12887 case 1: ::sprintf( out, in, width, value ); break;
12888 case 2: ::sprintf( out, in, width, decimals, value ); break;
12892 void* value = va_arg(ap, void*);
12894 case 0: ::sprintf( out, in, value ); break;
12895 case 1: ::sprintf( out, in, width, value ); break;
12896 case 2: ::sprintf( out, in, width, decimals, value ); break;
12900 replacement = QString::fromLatin1(out);
12902 result += replacement;
12911 Fills the string with \a len characters of value \a c.
12913 If \a len is negative, the current string length is used.
12916 void QString::fill( QChar c, int len )
12924 QChar * nd = QT_ALLOC_QCHAR_VEC( len );
12925 d = new QStringData(nd,len,len);
12926 while (len--) *nd++ = c;
12932 \fn QString QString::copy() const
12936 Returns a deep copy of this string.
12938 Doing this is redundant in Qt 2.x, since QString is implicitly
12939 shared, and so will automatically be deeply copied as necessary.
12943 Finds the first occurrence of the character \a c, starting at
12944 position \a index. If \a index is -1, the search starts at the
12945 last character; if -2, at the next to last character; etc.
12947 The search is case sensitive if \a cs is TRUE, or case insensitive
12950 Returns the position of \a c, or -1 if \a c could not be found.
12953 int QString::find( QChar c, int index, bool cs ) const
12957 if ( (uint)index >= length() ) // index outside string
12960 uc = unicode()+index;
12961 int n = length()-index;
12963 while ( n-- && *uc != c )
12967 while ( n-- && uc->lower() != c )
12970 if ( uint(uc - unicode()) >= length() )
12972 return (int)(uc - unicode());
12976 Finds the first occurrence of the string \a str, starting at position
12977 \a index. If \a index is -1, the search starts at the last character;
12978 if -2, at the next to last character; etc.
12980 The search is case sensitive if \a cs is TRUE, or case insensitive if
12983 Returns the position of \a str, or -1 if \a str could not be found.
12986 int QString::find( const QString& str, int index, bool cs ) const
12989 We use some weird hashing for efficiency's sake. Instead of
12990 comparing strings, we compare the hash value of str with that of
12991 a part of this QString. Only if that matches, we call ucstrncmp
12994 The hash value of a string is the sum of the cells of its
12999 int lstr = str.length();
13000 int lthis = length() - index;
13001 if ( (uint)lthis > length() )
13003 int delta = lthis - lstr;
13007 const QChar *uthis = unicode() + index;
13008 const QChar *ustr = str.unicode();
13013 for ( i = 0; i < lstr; i++ ) {
13014 hthis += uthis[i].cell();
13015 hstr += ustr[i].cell();
13019 if ( hthis == hstr && ucstrncmp(uthis + i, ustr, lstr) == 0 )
13023 hthis += uthis[i + lstr].cell();
13024 hthis -= uthis[i].cell();
13028 for ( i = 0; i < lstr; i++ ) {
13029 hthis += uthis[i].lower().cell();
13030 hstr += ustr[i].lower().cell();
13034 if ( hthis == hstr && ucstrnicmp(uthis + i, ustr, lstr) == 0 )
13038 hthis += uthis[i + lstr].lower().cell();
13039 hthis -= uthis[i].lower().cell();
13043 #if defined(Q_SPURIOUS_NON_VOID_WARNING)
13049 \fn int QString::findRev( const char* str, int index ) const
13051 Equivalent to findRev(QString(str), index).
13055 \fn int QString::find( const char* str, int index ) const
13057 Equivalent to find(QString(str), index).
13061 Finds the first occurrence of the character \a c, starting at
13062 position \a index and searching backwards. If \a index is -1,
13063 the search starts at the last character; if -2, at the next to
13064 last character; etc.
13066 The search is case sensitive if \a cs is TRUE, or case insensitive if \a
13069 Returns the position of \a c, or -1 if \a c could not be found.
13072 int QString::findRev( QChar c, int index, bool cs ) const
13075 return findRev( t, index, cs );
13079 Finds the first occurrence of the string \a str, starting at
13080 position \a index and searching backwards. If \a index is -1,
13081 the search starts at the last character; -2, at the next to last
13084 The search is case sensitive if \a cs is TRUE, or case insensitive if \e
13087 Returns the position of \a str, or -1 if \a str could not be found.
13090 int QString::findRev( const QString& str, int index, bool cs ) const
13093 See QString::find() for explanations.
13095 int lthis = length();
13099 int lstr = str.length();
13100 int delta = lthis - lstr;
13101 if ( index < 0 || index > lthis || delta < 0 )
13103 if ( index > delta )
13106 const QChar *uthis = unicode();
13107 const QChar *ustr = str.unicode();
13112 for ( i = 0; i < lstr; i++ ) {
13113 hthis += uthis[index + i].cell();
13114 hstr += ustr[i].cell();
13118 if ( hthis == hstr && ucstrncmp(uthis + i, ustr, lstr) == 0 )
13123 hthis -= uthis[i + lstr].cell();
13124 hthis += uthis[i].cell();
13127 for ( i = 0; i < lstr; i++ ) {
13128 hthis += uthis[index + i].lower().cell();
13129 hstr += ustr[i].lower().cell();
13133 if ( hthis == hstr && ucstrnicmp(uthis + i, ustr, lstr) == 0 )
13138 hthis -= uthis[i + lstr].lower().cell();
13139 hthis += uthis[i].lower().cell();
13142 #if defined(Q_SPURIOUS_NON_VOID_WARNING)
13149 Returns the number of times the character \a c occurs in the string.
13151 The match is case sensitive if \a cs is TRUE, or case insensitive if \a cs
13155 int QString::contains( QChar c, bool cs ) const
13158 const QChar *uc = unicode();
13162 if ( cs ) { // case sensitive
13166 } else { // case insensitive
13169 if ( uc->lower() == c )
13180 int QString::contains( const char* str, bool cs ) const
13182 return contains(QString(str),cs);
13186 \overload int QString::contains (char c, bool cs) const
13190 \overload int QString::find (char c, int index, bool cs) const
13195 \overload int QString::findRev (char c, int index, bool cs) const
13200 Returns the number of times \a str occurs in the string.
13202 The match is case sensitive if \a cs is TRUE, or case insensitive if \e
13205 This function counts overlapping substrings, for example, "banana"
13206 contains two occurrences of "ana".
13211 int QString::contains( const QString &str, bool cs ) const
13214 const QChar *uc = unicode();
13217 int len = str.length();
13219 while ( n-- ) { // counts overlapping strings
13220 // ### Doesn't account for length of this - searches over "end"
13222 if ( ucstrncmp( uc, str.unicode(), len ) == 0 )
13225 if ( ucstrnicmp(uc, str.unicode(), len) == 0 )
13234 Returns a substring that contains the \a len leftmost characters
13237 The whole string is returned if \a len exceeds the length of the
13243 QString s = "Pineapple";
13244 QString t = s.left( 4 ); // t == "Pine"
13247 \sa right(), mid(), isEmpty()
13250 QString QString::left( uint len ) const
13254 } else if ( len == 0 ) { // ## just for 1.x compat:
13255 return QString::fromLatin1("");
13256 } else if ( len > length() ) {
13259 QString s( len, TRUE );
13260 memcpy( s.d->unicode, d->unicode, len*sizeof(QChar) );
13267 Returns a substring that contains the \a len rightmost characters
13270 The whole string is returned if \a len exceeds the length of the
13275 QString s = "Pineapple";
13276 QString t = s.right( 5 ); // t == "apple"
13279 \sa left(), mid(), isEmpty()
13282 QString QString::right( uint len ) const
13286 } else if ( len == 0 ) { // ## just for 1.x compat:
13287 return QString::fromLatin1("");
13292 QString s( len, TRUE );
13293 memcpy( s.d->unicode, d->unicode+(l-len), len*sizeof(QChar) );
13300 Returns a substring that contains the \a len characters of this
13301 string, starting at position \a index.
13303 Returns a null string if the string is empty or \a index is out
13304 of range. Returns the whole string from \a index if \a index+len exceeds
13305 the length of the string.
13309 QString s = "Five pineapples";
13310 QString t = s.mid( 5, 4 ); // t == "pine"
13313 \sa left(), right()
13316 QString QString::mid( uint index, uint len ) const
13318 uint slen = length();
13319 if ( isEmpty() || index >= slen ) {
13321 } else if ( len == 0 ) { // ## just for 1.x compat:
13322 return QString::fromLatin1("");
13324 if ( len > slen-index )
13325 len = slen - index;
13326 if ( index == 0 && len == length() )
13328 const QChar *p = unicode()+index;
13329 QString s( len, TRUE );
13330 memcpy( s.d->unicode, p, len*sizeof(QChar) );
13337 Returns a string of length \a width that contains this
13338 string and padded by the \a fill character.
13340 If the length of the string exceeds \a width and \a truncate is FALSE,
13341 then the returned string is a copy of the string.
13342 If the length of the string exceeds \a width and \a truncate is TRUE,
13343 then the returned string is a left(\a width).
13347 QString s("apple");
13348 QString t = s.leftJustify(8, '.'); // t == "apple..."
13354 QString QString::leftJustify( uint width, QChar fill, bool truncate ) const
13357 int len = length();
13358 int padlen = width - len;
13359 if ( padlen > 0 ) {
13360 result.setLength(len+padlen);
13362 memcpy( result.d->unicode, unicode(), sizeof(QChar)*len );
13363 QChar* uc = result.d->unicode + len;
13368 result = left( width );
13376 Returns a string of length \a width that contains pad
13377 characters followed by the string.
13379 If the length of the string exceeds \a width and \a truncate is FALSE,
13380 then the returned string is a copy of the string.
13381 If the length of the string exceeds \a width and \a truncate is TRUE,
13382 then the returned string is a left(\a width).
13387 QString t = s.rightJustify(8, '.'); // t == ".....pie"
13393 QString QString::rightJustify( uint width, QChar fill, bool truncate ) const
13396 int len = length();
13397 int padlen = width - len;
13398 if ( padlen > 0 ) {
13399 result.setLength( len+padlen );
13400 QChar* uc = result.d->unicode;
13404 memcpy( uc, unicode(), sizeof(QChar)*len );
13407 result = left( width );
13415 Returns a new string that is the string converted to lower case.
13420 QString t = s.lower(); // t == "tex"
13426 QString QString::lower() const
13431 s.real_detach(); // could do this only when we find a change
13432 QChar *p=s.d->unicode;
13444 Returns a new string that is the string converted to upper case.
13449 QString t = s.upper(); // t == "TEX"
13455 QString QString::upper() const
13460 s.real_detach(); // could do this only when we find a change
13461 QChar *p=s.d->unicode;
13474 Returns a new string that has white space removed from the start and the end.
13476 White space means any character for which QChar::isSpace() returns
13477 TRUE. This includes ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12
13478 (FF), 13 (CR), and 32 (Space).
13482 QString s = " space ";
13483 QString t = s.stripWhiteSpace(); // t == "space"
13486 \sa simplifyWhiteSpace()
13489 QString QString::stripWhiteSpace() const
13491 if ( isEmpty() ) // nothing to do
13493 if ( !at(0).isSpace() && !at(length()-1).isSpace() )
13496 const QChar *s = unicode();
13497 QString result = fromLatin1("");
13500 int end = length() - 1;
13501 while ( start<=end && s[start].isSpace() ) // skip white space from start
13503 if ( start > end ) { // only white space
13506 while ( end && s[end].isSpace() ) // skip white space from end
13508 int l = end - start + 1;
13509 result.setLength( l );
13511 memcpy( result.d->unicode, &s[start], sizeof(QChar)*l );
13517 Returns a new string that has white space removed from the start and the end,
13518 plus any sequence of internal white space replaced with a single space
13521 White space means any character for which QChar::isSpace() returns
13522 TRUE. This includes ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12
13523 (FF), 13 (CR), and 32 (Space).
13526 QString s = " lots\t of\nwhite space ";
13527 QString t = s.simplifyWhiteSpace(); // t == "lots of white space"
13530 \sa stripWhiteSpace()
13533 QString QString::simplifyWhiteSpace() const
13535 if ( isEmpty() ) // nothing to do
13538 result.setLength( length() );
13539 const QChar *from = unicode();
13540 const QChar *fromend = from+length();
13542 QChar *to = result.d->unicode;
13544 while ( from!=fromend && from->isSpace() )
13546 while ( from!=fromend && !from->isSpace() )
13547 to[outc++] = *from++;
13548 if ( from!=fromend )
13553 if ( outc > 0 && to[outc-1] == ' ' )
13555 result.truncate( outc );
13561 Insert \a s into the string before position \a index.
13563 If \a index is beyond the end of the string, the string is extended with
13564 spaces (ASCII 32) to length \a index and \a s is then appended.
13567 QString s = "I like fish";
13568 s.insert( 2, "don't "); // s == "I don't like fish"
13570 s.insert( 3, "yz" ); // s == "x yz"
13574 QString &QString::insert( uint index, const QString &s )
13576 // the sub function takes care of &s == this case.
13577 return insert( index, s.unicode(), s.length() );
13581 Insert \a len units of QChar data from \a s into the string before
13585 QString &QString::insert( uint index, const QChar* s, uint len )
13589 uint olen = length();
13590 int nlen = olen + len;
13592 int df = (int)(s - d->unicode); // ### pointer subtraction, cast down to int
13593 if ( df >= 0 && (uint)df < d->maxl ) {
13594 // Part of me - take a copy.
13595 QChar *tmp = QT_ALLOC_QCHAR_VEC( len );
13596 memcpy(tmp,s,len*sizeof(QChar));
13597 insert(index,tmp,len);
13598 QT_DELETE_QCHAR_VEC( tmp );
13602 if ( index >= olen ) { // insert after end of string
13603 setLength( len+index );
13604 int n = index-olen;
13605 QChar* uc = d->unicode+olen;
13608 memcpy( d->unicode+index, s, sizeof(QChar)*len );
13609 } else { // normal insert
13611 memmove( d->unicode+index+len, unicode()+index,
13612 sizeof(QChar)*(olen-index) );
13613 memcpy( d->unicode+index, s, sizeof(QChar)*len );
13619 Insert \a c into the string at (before) position \a index and returns
13620 a reference to the string.
13622 If \a index is beyond the end of the string, the string is extended with
13623 spaces (ASCII 32) to length \a index and \a c is then appended.
13628 s.insert( 1, 'e' ); // s == "Yes"
13629 s.insert( 3, '!'); // s == "Yes!"
13632 \sa remove(), replace()
13635 QString &QString::insert( uint index, QChar c ) // insert char
13638 return insert( index, s );
13642 \overload QString& QString::insert( uint index, char c )
13646 \fn QString &QString::prepend( const QString &s )
13648 Prepend \a s to the string. Equivalent to insert(0,s).
13654 \fn QString& QString::prepend( char ch )
13655 Prepends \a ch to the string and returns a reference to the result.
13661 \fn QString& QString::prepend( QChar ch )
13662 Prepends \a ch to the string and returns a reference to the result.
13669 Removes \a len characters starting at position \a index from the
13670 string and returns a reference to the string.
13672 If \a index is too big, nothing happens. If \a index is valid, but
13673 \a len is too large, the rest of the string is removed.
13676 QString s = "Montreal";
13681 \sa insert(), replace()
13684 QString &QString::remove( uint index, uint len )
13686 uint olen = length();
13687 if ( index + len >= olen ) { // range problems
13688 if ( index < olen ) { // index ok
13689 setLength( index );
13691 } else if ( len != 0 ) {
13693 memmove( d->unicode+index, d->unicode+index+len,
13694 sizeof(QChar)*(olen-index-len) );
13695 setLength( olen-len );
13701 Replaces \a len characters starting at position \a index from the
13702 string with \a s, and returns a reference to the string.
13704 If \a index is too big, nothing is deleted and \a s is inserted at the
13705 end of the string. If \a index is valid, but \a len is too large, \e
13706 str replaces the rest of the string.
13709 QString s = "Say yes!";
13710 s.replace( 4, 3, "NO" ); // s == "Say NO!"
13713 \sa insert(), remove()
13716 QString &QString::replace( uint index, uint len, const QString &s )
13718 return replace( index, len, s.unicode(), s.length() );
13723 Replaces \a len characters starting at position \a index by
13724 \a slen units to QChar data from \a s, and returns a reference to the string.
13726 \sa insert(), remove()
13729 QString &QString::replace( uint index, uint len, const QChar* s, uint slen )
13731 if ( len == slen && index + len <= length() ) {
13732 // Optimized common case: replace without size change
13734 memcpy( d->unicode+index, s, len*sizeof(QChar) );
13736 int df = (int)(s - d->unicode); // ### pointer subtraction, cast down to int
13737 if ( df >= 0 && (uint)df < d->maxl ) {
13738 // Part of me - take a copy.
13739 QChar *tmp = QT_ALLOC_QCHAR_VEC( slen );
13740 memcpy(tmp,s,slen*sizeof(QChar));
13741 replace(index,len,tmp,slen);
13742 QT_DELETE_QCHAR_VEC( tmp );
13746 remove( index, len );
13747 insert( index, s, slen );
13755 Finds the first occurrence of the regular expression \a rx, starting at
13756 position \a index. If \a index is -1, the search starts at the last
13757 character; if -2, at the next to last character; etc.
13759 Returns the position of the next match, or -1 if \a rx was not found.
13761 \sa findRev() replace() contains()
13764 int QString::find( const QRegExp &rx, int index ) const
13768 return rx.match( data(), index );
13772 Finds the first occurrence of the regular expression \a rx, starting at
13773 position \a index and searching backwards. If \a index is -1, the
13774 search starts at the last character; if -2, at the next to last
13777 Returns the position of the next match (backwards), or -1 if \a rx was not
13783 int QString::findRev( const QRegExp &rx, int index ) const
13785 if ( index < 0 ) // neg index ==> start from end
13787 if ( (uint)index > length() ) // bad index
13789 while( index >= 0 ) {
13790 if ( rx.match( data(), index ) == index )
13798 Counts the number of overlapping occurrences of \a rx in the string.
13802 QString s = "banana and panama";
13803 QRegExp r = QRegExp("a[nm]a", TRUE, FALSE);
13804 s.contains( r ); // 4 matches
13807 \sa find() findRev()
13810 int QString::contains( const QRegExp &rx ) const
13813 return rx.match( data() ) < 0 ? 0 : 1;
13816 int len = length();
13817 while ( index < len-1 ) { // count overlapping matches
13818 index = rx.match( data(), index+1 );
13828 Replaces every occurrence of \a rx in the string with \a str.
13829 Returns a reference to the string.
13833 QString s = "banana";
13834 s.replace( QRegExp("a.*a"), "" ); // becomes "b"
13836 QString s = "banana";
13837 s.replace( QRegExp("^[bn]a"), " " ); // becomes " nana"
13839 QString s = "banana";
13840 s.replace( QRegExp("^[bn]a"), "" ); // NOTE! becomes ""
13843 \sa find() findRev()
13846 QString &QString::replace( const QRegExp &rx, const QString &str )
13851 int slen = str.length();
13853 while ( index < (int)length() ) {
13854 index = rx.match( data(), index, &len, FALSE );
13855 if ( index >= 0 ) {
13856 replace( index, len, str );
13859 break; // Avoid infinite loop on 0-length matches, e.g. [a-z]*
13868 ok_in_base( QChar c, int base )
13871 return c.isDigit() && c.digitValue() < base;
13873 return c.isDigit() || (c >= 'a' && c < char('a'+base-10))
13874 || (c >= 'A' && c < char('A'+base-10));
13878 Returns the string converted to a <code>long</code> value.
13880 If \a ok is non-null, \a *ok is set to TRUE if there are no
13881 conceivable errors, and FALSE if the string is not a number at all, or if
13882 it has trailing garbage.
13885 long QString::toLong( bool *ok, int base ) const
13887 const QChar *p = unicode();
13890 const long max_mult = INT_MAX / base;
13891 bool is_ok = FALSE;
13895 while ( l && p->isSpace() ) // skip leading space
13897 if ( l && *p == '-' ) {
13901 } else if ( *p == '+' ) {
13906 // NOTE: toULong() code is similar
13907 if ( !l || !ok_in_base(*p,base) )
13909 while ( l && ok_in_base(*p,base) ) {
13912 if ( p->isDigit() ) {
13913 dv = p->digitValue();
13915 if ( *p >= 'a' && *p <= 'z' )
13916 dv = *p - 'a' + 10;
13918 dv = *p - 'A' + 10;
13920 if ( val > max_mult || (val == max_mult && dv > (INT_MAX%base)+neg) )
13922 val = base*val + dv;
13927 while ( l && p->isSpace() ) // skip trailing space
13934 return is_ok ? val : 0;
13938 Returns the string converted to an <code>unsigned long</code>
13941 If \a ok is non-null, \a *ok is set to TRUE if there are no
13942 conceivable errors, and FALSE if the string is not a number at all,
13943 or if it has trailing garbage.
13946 ulong QString::toULong( bool *ok, int base ) const
13948 const QChar *p = unicode();
13951 const ulong max_mult = 429496729; // UINT_MAX/10, rounded down
13952 bool is_ok = FALSE;
13955 while ( l && p->isSpace() ) // skip leading space
13960 // NOTE: toLong() code is similar
13961 if ( !l || !ok_in_base(*p,base) )
13963 while ( l && ok_in_base(*p,base) ) {
13966 if ( p->isDigit() ) {
13967 dv = p->digitValue();
13969 if ( *p >= 'a' && *p <= 'z' )
13970 dv = *p - 'a' + 10;
13972 dv = *p - 'A' + 10;
13974 if ( val > max_mult || (val == max_mult && dv > (UINT_MAX%base)) )
13976 val = base*val + dv;
13980 while ( l && p->isSpace() ) // skip trailing space
13987 return is_ok ? val : 0;
13991 Returns the string converted to an <code>unsigned long</code>
13994 If \a ok is non-null, \a *ok is set to TRUE if there are no
13995 conceivable errors, and FALSE if the string is not a number at all,
13996 or if it has trailing garbage.
13999 uint64 QString::toUInt64( bool *ok, int base ) const
14001 const QChar *p = unicode();
14004 const uint64 max_mult = 1844674407370955161ULL; // ULLONG_MAX/10, rounded down
14005 bool is_ok = FALSE;
14008 while ( l && p->isSpace() ) // skip leading space
14013 // NOTE: toULong() code is similar
14014 if ( !l || !ok_in_base(*p,base) )
14016 while ( l && ok_in_base(*p,base) ) {
14019 if ( p->isDigit() ) {
14020 dv = p->digitValue();
14022 if ( *p >= 'a' && *p <= 'z' )
14023 dv = *p - 'a' + 10;
14025 dv = *p - 'A' + 10;
14027 if ( val > max_mult || (val == max_mult && dv > (ULLONG_MAX%base)) )
14029 val = base*val + dv;
14033 while ( l && p->isSpace() ) // skip trailing space
14040 return is_ok ? val : 0;
14045 Returns the string converted to a <code>short</code> value.
14047 If \a ok is non-null, \a *ok is set to TRUE if there are no
14048 conceivable errors, and FALSE if the string is not a number at all, or if
14049 it has trailing garbage.
14052 short QString::toShort( bool *ok, int base ) const
14054 long v = toLong( ok, base );
14055 if ( ok && *ok && (v < -32768 || v > 32767) ) {
14063 Returns the string converted to an <code>unsigned short</code> value.
14065 If \a ok is non-null, \a *ok is set to TRUE if there are no
14066 conceivable errors, and FALSE if the string is not a number at all, or if
14067 it has trailing garbage.
14070 ushort QString::toUShort( bool *ok, int base ) const
14072 ulong v = toULong( ok, base );
14073 if ( ok && *ok && (v > 65535) ) {
14082 Returns the string converted to a <code>int</code> value.
14087 int hex = str.toInt( &ok, 16 ); // will return 255, and ok set to TRUE
14088 int dec = str.toInt( &ok, 10 ); // will return 0, and ok set to FALSE
14091 If \a ok is non-null, \a *ok is set to TRUE if there are no
14092 conceivable errors, and FALSE if the string is not a number at all,
14093 or if it has trailing garbage.
14096 int QString::toInt( bool *ok, int base ) const
14098 return (int)toLong( ok, base );
14102 Returns the string converted to an <code>unsigned int</code> value.
14104 If \a ok is non-null, \a *ok is set to TRUE if there are no
14105 conceivable errors, and FALSE if the string is not a number at all,
14106 or if it has trailing garbage.
14109 uint QString::toUInt( bool *ok, int base ) const
14111 return (uint)toULong( ok, base );
14115 Returns the string converted to a <code>double</code> value.
14117 If \a ok is non-null, \a *ok is set to TRUE if there are no conceivable
14118 errors, and FALSE if the string is not a number at all, or if it has
14122 double QString::toDouble( bool *ok ) const
14126 QCString a = latin1();
14127 // Just latin1() is not sufficient, since U0131 would look like '1'.
14128 for (uint i=0; i<d->len; i++)
14129 if ( d->unicode[i].row() )
14132 double val = strtod( a.data() ? a.data() : "", &end );
14134 *ok = ( a && *a && ( end == 0 || *end == '\0' ) );
14139 Returns the string converted to a <code>float</code> value.
14141 If \a ok is non-null, \a *ok is set to TRUE if there are no
14142 conceivable errors, and FALSE if the string is not a number at all,
14143 or if it has trailing garbage.
14146 float QString::toFloat( bool *ok ) const
14148 return (float)toDouble( ok );
14153 Sets the string to the printed value of \a n and returns a
14154 reference to the string.
14156 The value is converted to \a base notation (default is decimal).
14157 The base must be a value from 2 to 36.
14160 QString &QString::setNum( long n, int base )
14162 #if defined(CHECK_RANGE)
14163 if ( base < 2 || base > 36 ) {
14164 qWarning( "QString::setNum: Invalid base %d", base );
14168 char charbuf[65*sizeof(QChar)];
14169 QChar *buf = (QChar*)charbuf;
14170 QChar *p = &buf[64];
14175 if ( n == INT_MIN ) {
14176 // Cannot always negate this special case
14179 s2.setNum((-(n+base))%base);
14188 *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))];
14196 return setUnicode( p, len );
14200 Sets the string to the printed unsigned value of \a n and
14201 returns a reference to the string.
14203 The value is converted to \a base notation (default is decimal).
14204 The base must be a value from 2 to 36.
14207 QString &QString::setNum( ulong n, int base )
14209 #if defined(CHECK_RANGE)
14210 if ( base < 2 || base > 36 ) {
14211 qWarning( "QString::setNum: Invalid base %d", base );
14215 char charbuf[65*sizeof(QChar)];
14216 QChar *buf = (QChar*)charbuf;
14217 QChar *p = &buf[64];
14220 *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))];
14224 return setUnicode(p,len);
14228 \fn QString &QString::setNum( int n, int base )
14229 Sets the string to the printed value of \a n and returns a reference
14234 \fn QString &QString::setNum( uint n, int base )
14235 Sets the string to the printed unsigned value of \a n and returns a
14236 reference to the string.
14240 \fn QString &QString::setNum( short n, int base )
14241 Sets the string to the printed value of \a n and returns a reference
14246 \fn QString &QString::setNum( ushort n, int base )
14247 Sets the string to the printed unsigned value of \a n and returns a
14248 reference to the string.
14251 /*! Sets the string to the printed value of \a n, formatted in the \a f
14252 format with \a prec precision, and returns a reference to the
14255 \a f can be 'f', 'F', 'e', 'E', 'g' or 'G', all of which have the
14256 same meaning as for sprintf().
14259 QString &QString::setNum( double n, char f, int prec )
14261 #if defined(CHECK_RANGE)
14262 if ( !(f=='f' || f=='F' || f=='e' || f=='E' || f=='g' || f=='G') ) {
14263 qWarning( "QString::setNum: Invalid format char '%c'", f );
14268 char buf[120]; // enough for 99 precision?
14269 char *fs = format; // generate format string
14270 *fs++ = '%'; // "%.<prec>l<f>"
14272 if ( prec > 99 ) // buf big enough for precision?
14275 if ( prec >= 10 ) {
14276 *fs++ = prec / 10 + '0';
14277 *fs++ = prec % 10 + '0';
14279 *fs++ = prec + '0';
14285 ::sprintf( buf, format, n );
14286 return setLatin1(buf);
14290 \overload QString &QString::setNum( float n, char f, int prec )
14295 A convenience factory function that returns a string representation
14296 of the number \a n.
14300 QString QString::number( long n, int base )
14303 s.setNum( n, base );
14308 A convenience factory function that returns a string representation
14309 of the number \a n.
14313 QString QString::number( ulong n, int base )
14316 s.setNum( n, base );
14321 A convenience factory function that returns a string representation
14322 of the number \a n.
14326 QString QString::number( int n, int base )
14329 s.setNum( n, base );
14334 A convenience factory function that returns a string representation
14335 of the number \a n.
14339 QString QString::number( uint n, int base )
14342 s.setNum( n, base );
14347 This static function returns the printed value of \a n, formatted in the
14348 \a f format with \a prec precision.
14350 \a f can be 'f', 'F', 'e', 'E', 'g' or 'G', all of which have the
14351 same meaning as for sprintf().
14355 QString QString::number( double n, char f, int prec )
14358 s.setNum( n, f, prec );
14365 Sets the character at position \a index to \a c and expands the
14366 string if necessary, filling with spaces.
14368 This method is redundant in Qt 2.x, because operator[] will expand
14369 the string as necessary.
14372 void QString::setExpand( uint index, QChar c )
14374 int spaces = index - d->len;
14377 d->unicode[--index]=' ';
14382 \fn const char* QString::data() const
14386 Returns a pointer to a 0-terminated classic C string.
14388 In Qt 1.x, this returned a char* allowing direct manipulation of the
14389 string as a sequence of bytes. In Qt 2.x where QString is a Unicode
14390 string, char* conversion constructs a temporary string, and hence
14391 direct character operations are meaningless.
14395 \fn bool QString::operator!() const
14396 Returns TRUE if it is a null string, otherwise FALSE. Thus
14400 QString name = getName();
14405 Note that if you say:
14408 QString name = getName();
14410 doSomethingWith(name);
14413 Then this will call <tt>operator const char*()</tt>, which will do what
14414 you want, but rather inefficiently - you may wish to define the macro
14415 QT_NO_ASCII_CAST when writing code which you wish to strictly remain
14418 When you want the above semantics, use <tt>!isNull()</tt>
14419 or even <tt>!!</tt>:
14422 QString name = getName();
14424 doSomethingWith(name);
14430 \fn QString& QString::append( const QString& str )
14431 Appends \a str to the string and returns a reference to the result.
14432 Equivalent to operator+=().
14436 \fn QString& QString::append( char ch )
14437 Appends \a ch to the string and returns a reference to the result.
14438 Equivalent to operator+=().
14442 \fn QString& QString::append( QChar ch )
14443 Appends \a ch to the string and returns a reference to the result.
14444 Equivalent to operator+=().
14448 Appends \a str to the string and returns a reference to the string.
14450 QString& QString::operator+=( const QString &str )
14452 uint len1 = length();
14453 uint len2 = str.length();
14455 setLength(len1+len2);
14456 memcpy( d->unicode+len1, str.unicode(), sizeof(QChar)*len2 );
14457 } else if ( isNull() && !str.isNull() ) { // ## just for 1.x compat:
14458 *this = fromLatin1("");
14464 Appends \a c to the string and returns a reference to the string.
14467 QString &QString::operator+=( QChar c )
14469 setLength(length()+1);
14470 d->unicode[length()-1] = c;
14475 Appends \a c to the string and returns a reference to the string.
14478 QString &QString::operator+=( char c )
14480 setLength(length()+1);
14481 d->unicode[length()-1] = c;
14487 /*! \fn char QChar::latin1() const
14489 Returns a latin-1 copy of this character, if this character is in
14490 the latin-1 character set. If not, this function returns 0.
14495 Returns a Latin-1 representation of the string. Note that the returned
14496 value is undefined if the string contains non-Latin-1 characters. If you
14497 want to convert strings into formats other than Unicode, see the
14498 QTextCodec classes.
14500 This function is mainly useful for boot-strapping legacy code to
14503 The result remains valid so long as one unmodified
14504 copy of the source string exists.
14506 \sa utf8(), local8Bit()
14508 const char* QString::latin1() const
14511 if ( d->dirtyascii )
14512 delete [] d->ascii;
14516 Q2HELPER(stat_get_ascii++)
14517 Q2HELPER(stat_get_ascii_size+=d->len)
14518 static QTextCodec* codec = QTextCodec::codecForMib(106);
14519 if (codec) // we use utf8 coding also for latin1 if possible
14521 QCString utf8str(codec->fromUnicode(*this));
14522 d->ascii = new char[utf8str.length()+1];
14523 if (utf8str.isEmpty())
14525 d->ascii[0]='\0'; // make empty string
14527 else // copy string
14529 qstrcpy(d->ascii,utf8str.data());
14532 else // fall back to latin1
14534 d->ascii = unicodeToAscii( d->unicode, d->len );
14536 QCString utf8str(utf8());
14543 This functions simply calls latin1() and returns the result.
14545 const char* QString::ascii() const
14550 #ifndef QT_NO_TEXTCODEC
14552 Returns the string encoded in UTF8 format.
14554 See QTextCodec for more diverse coding/decoding of Unicode strings.
14556 \sa QString::fromUtf8(), local8Bit(), latin1()
14558 QCString QString::utf8() const
14560 static QTextCodec* codec = QTextCodec::codecForMib(106);
14562 ? codec->fromUnicode(*this)
14563 : QCString(latin1());
14567 Returns the unicode string decoded from the
14568 first \a len bytes of \a utf8. If \a len is -1 (the default), the
14569 length of \a utf8 is used. If trailing partial characters are in
14570 \a utf8, they are ignored.
14572 See QTextCodec for more diverse coding/decoding of Unicode strings.
14574 QString QString::fromUtf8(const char* utf8, int len)
14576 static QTextCodec* codec = QTextCodec::codecForMib(106);
14577 if ( len < 0 ) len = qstrlen(utf8);
14579 ? codec->toUnicode(utf8, len)
14580 : QString::fromLatin1(utf8, len);
14582 #endif // QT_NO_TEXTCODEC
14584 Creates a QString from Latin1 text. This is the same as the
14585 QString(const char*) constructor, but you can make that constructor
14586 invisible if you compile with the define QT_NO_CAST_ASCII, in which
14587 case you can explicitly create a QString from Latin-1 text using
14590 QString QString::fromLatin1(const char* chars, int len)
14595 uc = internalAsciiToUnicode(chars,&l);
14597 uc = internalAsciiToUnicode(chars,&l,len);
14599 return QString(new QStringData(uc,l,l), TRUE);
14603 \fn const QChar* QString::unicode() const
14605 Returns the Unicode representation of the string. The result
14606 remains valid until the string is modified.
14610 Returns the string encoded in a locale-specific format. On X11, this
14611 is the QTextCodec::codecForLocale(). On Windows, it is a system-defined
14614 See QTextCodec for more diverse coding/decoding of Unicode strings.
14616 \sa QString::fromLocal8Bit(), latin1(), utf8()
14620 QCString QString::local8Bit() const
14622 #ifdef QT_NO_TEXTCODEC
14626 static QTextCodec* codec = QTextCodec::codecForLocale();
14628 ? codec->fromUnicode(*this)
14629 : QCString(latin1());
14632 static QTextCodec* codec = QTextCodec::codecForLocale();
14634 ? codec->fromUnicode(*this)
14635 : QCString(latin1());
14638 return qt_winQString2MB( *this );
14641 return utf8(); // ##### if there is ANY 8 bit format supported?
14647 Returns the unicode string decoded from the
14648 first \a len bytes of \a local8Bit. If \a len is -1 (the default), the
14649 length of \a local8Bit is used. If trailing partial characters are in
14650 \a local8Bit, they are ignored.
14652 \a local8Bit is assumed to be encoded in a locale-specific format.
14654 See QTextCodec for more diverse coding/decoding of Unicode strings.
14656 QString QString::fromLocal8Bit(const char* local8Bit, int len)
14658 #ifdef QT_NO_TEXTCODEC
14659 return fromLatin1( local8Bit, len );
14663 return QString::null;
14665 static QTextCodec* codec = QTextCodec::codecForLocale();
14666 if ( len < 0 ) len = qstrlen(local8Bit);
14668 ? codec->toUnicode(local8Bit, len)
14669 : QString::fromLatin1(local8Bit,len);
14672 static QTextCodec* codec = QTextCodec::codecForLocale();
14673 if ( len < 0 ) len = qstrlen(local8Bit);
14675 ? codec->toUnicode(local8Bit, len)
14676 : QString::fromLatin1(local8Bit,len);
14678 // Should this be OS_WIN32?
14681 QCString s(local8Bit,len+1);
14682 return qt_winMB2QString(s);
14684 return qt_winMB2QString( local8Bit );
14687 return fromUtf8(local8Bit,len);
14689 #endif // QT_NO_TEXTCODEC
14693 \fn QString::operator const char *() const
14695 Returns latin1(). Be sure to see the warnings documented there.
14696 Note that for new code which you wish to be strictly Unicode-clean,
14697 you can define the macro QT_NO_ASCII_CAST when compiling your code
14698 to hide this function so that automatic casts are not done. This
14699 has the added advantage that you catch the programming error
14700 described under operator!().
14704 \fn QChar QString::at( uint ) const
14706 Returns the character at \a i, or 0 if \a i is beyond the length
14709 Note: If this QString is not const or const&, the non-const at()
14710 will be used instead, which will expand the string if \a i is beyond
14711 the length of the string.
14715 \fn QChar QString::constref(uint i) const
14716 Equivalent to at(i), this returns the QChar at \a i by value.
14722 \fn QChar& QString::ref(uint i)
14723 Returns the QChar at \a i by reference.
14729 \fn QChar QString::operator[](int) const
14731 Returns the character at \a i, or QChar::null if \a i is beyond the
14732 length of the string.
14734 Note: If this QString is not const or const&, the non-const operator[]
14735 will be used instead, which will expand the string if \a i is beyond
14736 the length of the string.
14740 \fn QCharRef QString::operator[](int)
14742 Returns an object that references the character at \a i.
14744 can then be assigned to, or otherwise used immediately, but
14745 becomes invalid once further modifications are made to the string.
14746 The QCharRef internal class can be used much like a constant QChar, but
14747 if you assign to it, you change the original string (which enlarges
14748 and detaches itself). You will get compilation errors if you try to
14749 use the result as anything but a QChar.
14753 \fn QCharRef QString::at( uint i )
14754 Returns a reference to the character at \a i, expanding
14755 the string with QChar::null if necessary. The resulting reference
14756 can then be assigned to, or otherwise used immediately, but
14757 becomes invalid once further modifications are made to the string.
14761 Internal chunk of code to handle the
14762 uncommon cases of at() above.
14764 void QString::subat( uint i )
14766 uint olen = d->len;
14768 setLength( i+1 ); // i is index; i+1 is needed length
14769 for ( uint j=olen; j<=i; j++ )
14770 d->unicode[j] = QChar::null;
14772 // Just be sure to detach
14779 Resizes the string to \a len unicode characters and copies \a unicode
14780 into the string. If \a unicode is null, nothing is copied, but the
14781 string is resized to \a len anyway. If \a len is zero, the string
14782 becomes a \link isNull() null\endlink string.
14784 \sa setLatin1(), isNull()
14787 QString& QString::setUnicode( const QChar *unicode, uint len )
14789 if ( len == 0 ) { // set to null string
14790 if ( d != shared_null ) { // beware of nullstring being set to nullstring
14792 d = shared_null ? shared_null : makeSharedNull();
14795 } else if ( d->count != 1 || len > d->maxl ||
14796 ( len*4 < d->maxl && d->maxl > 4 ) ) { // detach, grown or shrink
14797 Q2HELPER(stat_copy_on_write++)
14798 Q2HELPER(stat_copy_on_write_size+=d->len)
14800 while ( newMax < len )
14802 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
14804 memcpy( nd, unicode, sizeof(QChar)*len );
14806 d = new QStringData( nd, len, newMax );
14811 memcpy( d->unicode, unicode, sizeof(QChar)*len );
14817 Resizes the string to \a len unicode characters and copies
14818 \a unicode_as_ushorts into the string (on some X11 client
14819 platforms this will involve a byte-swapping pass).
14821 If \a unicode is null, nothing is copied, but the
14822 string is resized to \a len anyway. If \a len is zero, the string
14823 becomes a \link isNull() null\endlink string.
14825 \sa setLatin1(), isNull()
14827 QString& QString::setUnicodeCodes( const ushort* unicode_as_ushorts, uint len )
14829 setUnicode((const QChar*)unicode_as_ushorts, len);
14831 if ( unicode_as_ushorts && *((ushort*)&t) == 0x3412 ) {
14832 // Need to byteswap
14833 char* b = (char*)d->unicode;
14838 b += sizeof(QChar);
14846 Sets this string to \a str, interpreted as a classic Latin 1 C string.
14847 If the \a len argument is negative (default), it is set to strlen(str).
14849 If \a str is 0 a null string is created. If \a str is "" an empty
14852 \sa isNull(), isEmpty()
14855 QString &QString::setLatin1( const char *str, int len )
14858 return setUnicode(0,0);
14860 len = qstrlen(str);
14861 if ( len == 0 ) { // won't make a null string
14864 QChar *uc = internalAsciiToUnicode(str,&l);
14865 d = new QStringData(uc,l,l);
14867 setUnicode( 0, len ); // resize but not copy
14868 QChar *p = d->unicode;
14877 \fn int QString::compare (const QString & s1, const QString & s2)
14879 Compare \a s1 to \a s2 returning an integer less than, equal to, or
14880 greater than zero if s1 is, respectively, lexically less than, equal to,
14881 or greater than s2.
14885 Compares this string to \a s, returning an integer less than, equal to, or
14886 greater than zero if it is, respectively, lexically less than, equal to,
14887 or greater than \a s.
14889 int QString::compare( const QString& s ) const
14891 return ucstrcmp(*this,s);
14894 bool operator==( const QString &s1, const QString &s2 )
14896 return (s1.length() == s2.length()) && s1.isNull() == s2.isNull() &&
14897 (memcmp((char*)s1.unicode(),(char*)s2.unicode(),
14898 s1.length()*sizeof(QChar)) ==0);
14901 bool operator!=( const QString &s1, const QString &s2 )
14902 { return !(s1==s2); }
14904 bool operator<( const QString &s1, const QString &s2 )
14905 { return ucstrcmp(s1,s2) < 0; }
14907 bool operator<=( const QString &s1, const QString &s2 )
14908 { return ucstrcmp(s1,s2) <= 0; }
14910 bool operator>( const QString &s1, const QString &s2 )
14911 { return ucstrcmp(s1,s2) > 0; }
14913 bool operator>=( const QString &s1, const QString &s2 )
14914 { return ucstrcmp(s1,s2) >= 0; }
14917 bool operator==( const QString &s1, const char *s2 )
14918 { return s1==QString(s2); }
14920 bool operator==( const char *s1, const QString &s2 )
14921 { return QString(s1)==s2; }
14923 bool operator!=( const QString &s1, const char *s2 )
14924 { return !(s1==s2); }
14926 bool operator!=( const char *s1, const QString &s2 )
14927 { return !(s1==s2); }
14929 bool operator<( const QString &s1, const char *s2 )
14930 { return ucstrcmp(s1,s2) < 0; }
14932 bool operator<( const char *s1, const QString &s2 )
14933 { return ucstrcmp(s1,s2) < 0; }
14935 bool operator<=( const QString &s1, const char *s2 )
14936 { return ucstrcmp(s1,s2) <= 0; }
14938 bool operator<=( const char *s1, const QString &s2 )
14939 { return ucstrcmp(s1,s2) <= 0; }
14941 bool operator>( const QString &s1, const char *s2 )
14942 { return ucstrcmp(s1,s2) > 0; }
14944 bool operator>( const char *s1, const QString &s2 )
14945 { return ucstrcmp(s1,s2) > 0; }
14947 bool operator>=( const QString &s1, const char *s2 )
14948 { return ucstrcmp(s1,s2) >= 0; }
14950 bool operator>=( const char *s1, const QString &s2 )
14951 { return ucstrcmp(s1,s2) >= 0; }
14954 /*****************************************************************************
14955 Documentation for QString related functions
14956 *****************************************************************************/
14959 \fn bool operator==( const QString &s1, const QString &s2 )
14961 Returns TRUE if the two strings are equal, or FALSE if they are different.
14962 A null string is different from an empty, non-null string.
14964 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14968 \fn bool operator==( const QString &s1, const char *s2 )
14970 Returns TRUE if the two strings are equal, or FALSE if they are different.
14972 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14976 \fn bool operator==( const char *s1, const QString &s2 )
14978 Returns TRUE if the two strings are equal, or FALSE if they are different.
14980 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14984 \fn bool operator!=( const QString &s1, const QString &s2 )
14986 Returns TRUE if the two strings are different, or FALSE if they are equal.
14988 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14992 \fn bool operator!=( const QString &s1, const char *s2 )
14994 Returns TRUE if the two strings are different, or FALSE if they are equal.
14996 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
15000 \fn bool operator!=( const char *s1, const QString &s2 )
15002 Returns TRUE if the two strings are different, or FALSE if they are equal.
15004 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
15008 \fn bool operator<( const QString &s1, const char *s2 )
15010 Returns TRUE if \a s1 is alphabetically less than \a s2, otherwise FALSE.
15012 Equivalent to <code>qstrcmp(s1,s2) \< 0</code>.
15016 \fn bool operator<( const char *s1, const QString &s2 )
15018 Returns TRUE if \a s1 is alphabetically less than \a s2, otherwise FALSE.
15020 Equivalent to <code>qstrcmp(s1,s2) \< 0</code>.
15024 \fn bool operator<=( const QString &s1, const char *s2 )
15026 Returns TRUE if \a s1 is alphabetically less than or equal to \a s2,
15029 Equivalent to <code>qstrcmp(s1,s2) \<= 0</code>.
15033 \fn bool operator<=( const char *s1, const QString &s2 )
15035 Returns TRUE if \a s1 is alphabetically less than or equal to \a s2,
15038 Equivalent to <code>qstrcmp(s1,s2) \<= 0</code>.
15042 \fn bool operator>( const QString &s1, const char *s2 )
15044 Returns TRUE if \a s1 is alphabetically greater than \a s2, otherwise FALSE.
15046 Equivalent to <code>qstrcmp(s1,s2) \> 0</code>.
15050 \fn bool operator>( const char *s1, const QString &s2 )
15052 Returns TRUE if \a s1 is alphabetically greater than \a s2, otherwise FALSE.
15054 Equivalent to <code>qstrcmp(s1,s2) \> 0</code>.
15058 \fn bool operator>=( const QString &s1, const char *s2 )
15060 Returns TRUE if \a s1 is alphabetically greater than or equal to \a s2,
15063 Equivalent to <code>qstrcmp(s1,s2) \>= 0</code>.
15067 \fn bool operator>=( const char *s1, const QString &s2 )
15069 Returns TRUE if \a s1 is alphabetically greater than or equal to \a s2,
15072 Equivalent to <code>qstrcmp(s1,s2) \>= 0</code>.
15076 \fn QString operator+( const QString &s1, const QString &s2 )
15078 Returns the concatenated string of s1 and s2.
15082 \fn QString operator+( const QString &s1, const char *s2 )
15084 Returns the concatenated string of s1 and s2.
15088 \fn QString operator+( const char *s1, const QString &s2 )
15090 Returns the concatenated string of s1 and s2.
15094 \fn QString operator+( const QString &s, char c )
15096 Returns the concatenated string of s and c.
15100 \fn QString operator+( char c, const QString &s )
15102 Returns the concatenated string of c and s.
15106 /*****************************************************************************
15107 QString stream functions
15108 *****************************************************************************/
15109 #ifndef QT_NO_DATASTREAM
15112 Writes a string to the stream.
15114 \sa \link datastreamformat.html Format of the QDataStream operators \endlink
15117 QDataStream &operator<<( QDataStream &s, const QString &str )
15119 if ( s.version() == 1 ) {
15120 QCString l( str.latin1() );
15124 const char* ub = (const char*)str.unicode();
15125 if ( ub || s.version() < 3 ) {
15126 if ( QChar::networkOrdered() ==
15127 (s.byteOrder()==QDataStream::BigEndian) ) {
15128 s.writeBytes( ub, (int)sizeof(QChar)*str.length() );
15130 static const uint auto_size = 1024;
15133 if ( str.length()*sizeof(QChar) > auto_size ) {
15134 b = new char[str.length()*sizeof(QChar)];
15138 int l = str.length();
15145 s.writeBytes( b, (int)sizeof(QChar)*str.length() );
15146 if ( str.length()*sizeof(QChar) > auto_size )
15150 // write null marker
15151 s << (Q_UINT32)0xffffffff;
15159 Reads a string from the stream.
15161 \sa \link datastreamformat.html Format of the QDataStream operators \endlink
15164 QDataStream &operator>>( QDataStream &s, QString &str )
15166 #ifdef QT_QSTRING_UCS_4
15167 #if defined(_CC_GNU_)
15168 #warning "operator>> not working properly"
15171 if ( s.version() == 1 ) {
15174 str = QString( l );
15178 s >> bytes; // read size of string
15179 if ( bytes == 0xffffffff ) { // null string
15180 str = QString::null;
15181 } else if ( bytes > 0 ) { // not empty
15182 str.setLength( bytes/2 );
15183 char* b = (char*)str.d->unicode;
15184 s.readRawBytes( b, bytes );
15185 if ( QChar::networkOrdered() !=
15186 (s.byteOrder()==QDataStream::BigEndian) ) {
15188 while ( bytes-- ) {
15201 #endif // QT_NO_DATASTREAM
15203 /*****************************************************************************
15204 QConstString member functions
15205 *****************************************************************************/
15208 \class QConstString qstring.h
15209 \brief A QString which uses constant Unicode data.
15211 In order to minimize copying, highly optimized applications can use
15212 QConstString to provide a QString-compatible object from existing
15213 Unicode data. It is then the user's responsibility to make sure
15214 that the Unicode data must exist for the entire lifetime of the
15215 QConstString object.
15219 Constructs a QConstString that uses the first \a length Unicode
15220 characters in the array \a unicode. Any attempt to modify
15221 copies of the string will cause it to create a copy of the
15222 data, thus it remains forever unmodified.
15224 Note that \a unicode is \e not \e copied. The caller \e must be
15225 able to guarantee that \a unicode will not be deleted or
15226 modified. Since that is generally not the case with \c const strings
15227 (they are references), this constructor demands a non-const pointer
15228 even though it never modifies \a unicode.
15230 QConstString::QConstString( QChar* unicode, uint length ) :
15231 QString(new QStringData(unicode, length, length),TRUE)
15236 Destroys the QConstString, creating a copy of the data if
15237 other strings are still using it.
15239 QConstString::~QConstString()
15241 if ( d->count > 1 ) {
15242 QChar* cp = QT_ALLOC_QCHAR_VEC( d->len );
15243 memcpy( cp, d->unicode, d->len*sizeof(QChar) );
15249 // The original d->unicode is now unlinked.
15253 \fn const QString& QConstString::string() const
15255 Returns a constant string referencing the data passed during
15260 Returns whether the strings starts with \a s, or not.
15262 bool QString::startsWith( const QString& s ) const
15264 for ( int i =0; i < (int) s.length(); i++ ) {
15265 if ( i >= (int) length() || d->unicode[i] != s[i] )
15273 #if defined(_OS_WIN32_)
15275 #include <windows.h>
15278 Returns a static Windows TCHAR* from a QString, possibly adding NUL.
15280 The lifetime of the return value is until the next call to this function.
15282 const void* qt_winTchar(const QString& str_in, bool addnul)
15284 // So that the return value lives long enough.
15285 static QString str;
15289 static uint buflen = 256;
15290 static TCHAR *buf = new TCHAR[buflen];
15292 const QChar* uc = str.unicode();
15294 #define EXTEND if (str.length() > buflen) { delete buf; buf = new TCHAR[buflen=str.length()+1]; }
15296 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_)
15298 for ( int i=str.length(); i--; )
15299 buf[i] = uc[i].row() << 8 | uc[i].cell();
15301 buf[str.length()] = 0;
15303 // Same endianness of TCHAR
15306 memcpy(buf,uc,sizeof(TCHAR)*str.length());
15307 buf[str.length()] = 0;
15316 return str.latin1();
15321 Makes a new null terminated Windows TCHAR* from a QString.
15323 void* qt_winTchar_new(const QString& str)
15325 TCHAR* result = new TCHAR[str.length()+1];
15326 memcpy(result, qt_winTchar(str,FALSE), sizeof(TCHAR)*str.length());
15327 result[str.length()] = 0;
15332 Makes a QString from a Windows TCHAR*.
15334 QString qt_winQString(void* tc)
15339 while ( ((TCHAR*)tc)[len] )
15341 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_)
15343 for ( int i=0; i<len; i++ )
15344 r += QChar(((TCHAR*)tc)[i]&0xff,((TCHAR*)tc)[i]>>8);
15347 // Same endianness of TCHAR
15348 return QString((QChar*)tc,len);
15356 QCString qt_winQString2MB( const QString& s, int uclen )
15359 uclen = s.length();
15364 QCString mb(bufSize);
15366 while ( !(len=WideCharToMultiByte(CP_ACP, 0, (const WCHAR*)s.unicode(), uclen,
15367 mb.rawData(), bufSize-1, 0, &used_def)) )
15369 int r = GetLastError();
15370 if ( r == ERROR_INSUFFICIENT_BUFFER ) {
15371 bufSize=1+WideCharToMultiByte( CP_ACP, 0,
15372 (const WCHAR*)s.unicode(), uclen,
15373 0, 0, 0, &used_def);
15374 mb.resize(bufSize);
15375 // and try again...
15378 qWarning("WideCharToMultiByte cannot convert multibyte text (error %d): %s (UTF8)",
15379 r, s.utf8().data());
15387 // WATCH OUT: mblen must include the NUL (or just use -1)
15388 QString qt_winMB2QString( const char* mb, int mblen )
15390 if ( !mb || !mblen )
15391 return QString::null;
15392 const int wclen_auto = 4096;
15393 WCHAR wc_auto[wclen_auto];
15394 int wclen = wclen_auto;
15395 WCHAR *wc = wc_auto;
15397 while ( !(len=MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED,
15398 mb, mblen, wc, wclen )) )
15400 int r = GetLastError();
15401 if ( r == ERROR_INSUFFICIENT_BUFFER ) {
15402 if ( wc != wc_auto ) {
15403 qWarning("Size changed in MultiByteToWideChar");
15406 wclen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED,
15408 wc = new WCHAR[wclen];
15409 // and try again...
15413 qWarning("MultiByteToWideChar cannot convert multibyte text");
15418 return QString::null;
15419 QString s( (QChar*)wc, len-1 ); // len-1: we don't want terminator
15420 if ( wc != wc_auto )
15426 #endif // _OS_WIN32_