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 punctation),
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 basic directionality of the string (QChar::DirR for
11618 right to left and QChar::DirL for left to right). Useful to find the right
11621 QChar::Direction QString::basicDirection()
11623 #ifndef QT_NO_UNICODETABLES
11624 // find base direction
11625 unsigned int pos = 0;
11626 while ((pos < length()) &&
11627 (at(pos) != RLE) &&
11628 (at(pos) != LRE) &&
11629 (at(pos) != RLO) &&
11630 (at(pos) != LRO) &&
11631 (at(pos).direction() > 1) &&
11632 (at(pos).direction() != QChar::DirAL)) // not R and not L
11635 if ((at(pos).direction() == QChar::DirR) ||
11636 (at(pos).direction() == QChar::DirAL) ||
11637 (at(pos) == RLE) ||
11639 return QChar::DirR;
11642 return QChar::DirL;
11645 #ifndef QT_NO_UNICODETABLES
11646 // reverses part of the QChar array to get visual ordering
11647 // called from QString::visual()
11649 static unsigned int reverse( QString &chars, unsigned char *level,
11650 unsigned int a, unsigned int b)
11652 unsigned int c = a;
11653 unsigned char lev = level[c];
11655 while ((c < b) && (level[c] >= lev)) {
11656 if (level[c] > lev)
11657 c = reverse(chars, level, c, b);
11663 unsigned int d = a, e = c-1;
11665 temp = chars[(int)d];
11666 chars[(int)d] = chars[(int)e];
11667 chars[(int)e] = temp;
11676 // small class used for the ordering algorithm in QString::visual()
11679 unsigned char level;
11680 signed char override;
11682 QBidiState(unsigned char l, signed char o) : level(l), override(o) {};
11685 // matrix for resolving neutral types
11687 #define NEG1 (QChar::Direction)(-1)
11689 static QChar::Direction resolv[5][5] =
11691 { NEG1, QChar::DirR, QChar::DirL, QChar::DirEN, QChar::DirAN },
11692 { QChar::DirR, QChar::DirR, NEG1, QChar::DirR, QChar::DirR },
11693 { QChar::DirL, NEG1, QChar::DirL, QChar::DirL, NEG1 },
11694 { QChar::DirEN, QChar::DirR, QChar::DirL, QChar::DirEN, QChar::DirR },
11695 { QChar::DirAN, QChar::DirR, NEG1, NEG1, QChar::DirAN }
11701 This function returns the QString ordered visually. Useful for
11702 painting the string or when transforming to a visually ordered
11705 QString QString::visual(int index, int len)
11707 #ifndef QT_NO_UNICODETABLES
11708 // #### This needs much more optimizing - it is called for
11709 // #### every text operation.
11711 unsigned char *level;
11712 QChar::Direction *dir;
11713 unsigned char base = 0;
11715 unsigned int l = length();
11719 len = length()-index;
11720 if ((uint)index > l)
11721 return QString::null;
11723 // find base direction
11724 unsigned int pos = 0;
11725 while ((pos < length()) &&
11726 (at(pos) != RLE) &&
11727 (at(pos) != LRE) &&
11728 (at(pos) != RLO) &&
11729 (at(pos) != LRO) &&
11730 (at(pos).direction() > 1) &&
11731 (at(pos).direction() != QChar::DirAL)
11732 ) // not R and not L
11735 if ((pos < length()) &&
11736 ((at(pos).direction() == QChar::DirR) ||
11737 (at(pos).direction() == QChar::DirAL) ||
11738 (at(pos) == RLE) ||
11742 // is there any BiDi char at all?
11743 if ( base == 0 && pos == l ) {
11744 return mid(index, len);
11748 level = new uchar[l];
11749 dir = new QChar::Direction[l];
11751 // explicit override pass
11752 //unsigned int code_count = 0;
11754 QStack<QBidiState> stack;
11755 stack.setAutoDelete(TRUE);
11757 unsigned char clevel = base;
11758 signed char override = -1;
11760 for (pos = 0; pos < l; pos++) {
11762 if (at(pos) == RLE) {
11764 stack.push(new QBidiState(clevel, override));
11766 clevel += 1 + clevel % 2;
11769 else if (at(pos) == LRE) {
11771 stack.push(new QBidiState(clevel, override));
11773 clevel += 2 - clevel % 2;
11776 else if (at(pos) == RLO) {
11778 stack.push(new QBidiState(clevel, override));
11780 clevel += 1 + clevel % 2;
11781 override = QChar::DirR;
11783 else if (at(pos) == LRO) {
11785 stack.push(new QBidiState(clevel, override));
11787 clevel += 2 - clevel % 2;
11788 override = QChar::DirL;
11790 else if (at(pos) == PDF) {
11792 if (!stack.isEmpty()) {
11793 override = stack.top()->override;
11794 clevel = stack.top()->level;
11799 // TODO: catch block separators (newlines, paras, etc.)
11801 level[pos] = clevel;
11802 if (override != -1)
11803 dir[pos] = (QChar::Direction) override;
11805 dir[pos] = at(pos).direction();
11809 for (pos = 0; pos < l; pos++) {
11813 switch (at(pos).direction()) {
11817 !(at(i).direction() == QChar::DirAN) &&
11818 !(at(i).direction() == QChar::DirAL) &&
11819 !(at(i).direction() == QChar::DirB))
11823 ((at(i).direction() == QChar::DirAN) ||
11824 (at(i).direction() == QChar::DirAL)))
11825 dir[pos] = QChar::DirAN;
11830 if ((pos > 0) && (pos < l-1) &&
11831 (dir[pos-1] == dir[pos+1]))
11832 dir[pos] = dir[pos-1];
11834 dir[pos] = QChar::DirON;
11838 if (((pos > 0) && (dir[pos-1] == QChar::DirEN)) ||
11839 ((pos < l-1) && (dir[pos+1] == QChar::DirEN)))
11840 dir[pos] = QChar::DirEN;
11842 dir[pos] = QChar::DirON;
11846 dir[pos] = QChar::DirR;
11853 // neutral type pass
11854 for (pos = 0; pos < l; pos++) {
11855 QChar::Direction left,right; // declaring l here shadowed previous l
11857 if (is_neutral(dir[pos])) {
11861 left = (base == 0 ? QChar::DirL : QChar::DirR);
11865 while ((i < (int)l-1) && is_neutral(dir[i+1]))
11871 right = (base == 0 ? QChar::DirL : QChar::DirR);
11873 for (int j=pos; j <= i; j++) {
11875 while ((a < 5) && (left != resolv[0][a]))
11877 while ((b < 5) && (right != resolv[0][b]))
11879 if ((a == 5) || (b == 5))
11880 dir[j] = (base == 0 ? QChar::DirL : QChar::DirR);
11882 dir[j] = resolv[a][b];
11884 if (dir[j] == (QChar::Direction)(-1))
11885 dir[j] = (base == 0 ? QChar::DirL : QChar::DirR);
11890 // implicit level pass
11891 QChar::Direction prec = (base == 0 ? QChar::DirL : QChar::DirR);
11893 for (pos = 0; pos < l; pos++) {
11894 if (level[pos] % 2) {
11895 switch (dir[pos]) {
11905 switch (dir[pos]) {
11913 if (prec == QChar::DirL)
11927 // now do the work!
11928 QString ret(*this);
11929 reverse(ret, level, index, index+len);
11936 return mid(index,len);
11942 // These macros are used for efficient allocation of QChar strings.
11943 // IMPORTANT! If you change these, make sure you also change the
11944 // "delete unicode" statement in ~QStringData() in qstring.h correspondingly!
11946 #define QT_ALLOC_QCHAR_VEC( N ) (QChar*) new char[ sizeof(QChar)*( N ) ]
11947 #define QT_DELETE_QCHAR_VEC( P ) delete[] ((char*)( P ))
11951 This utility function converts the 8-bit string
11952 \a ba to Unicode, returning the result.
11954 The caller is responsible for deleting the return value with delete[].
11957 QChar* QString::asciiToUnicode( const QByteArray& ba, uint* len )
11959 if ( ba.isNull() ) {
11965 while ( l < (int)ba.size() && ba[l] )
11967 const char* str = ba.data();
11968 QChar *uc = new QChar[ l ]; // Can't use macro, since function is public
11969 QChar *result = uc;
11977 static QChar* internalAsciiToUnicode( const QByteArray& ba, uint* len )
11979 if ( ba.isNull() ) {
11985 while ( l < (int)ba.size() && ba[l] )
11987 const char* str = ba.data();
11988 QChar *uc = QT_ALLOC_QCHAR_VEC( l );
11989 QChar *result = uc;
11998 This utility function converts the NUL-terminated 8-bit string
11999 \a str to Unicode, returning the result and setting \a len to
12000 the length of the Unicode string.
12002 The caller is responsible for deleting the return value with delete[].
12005 QChar* QString::asciiToUnicode( const char *str, uint* len, uint maxlen )
12010 if ( maxlen != (uint)-1 ) {
12011 while ( l < maxlen && str[l] )
12017 QChar *uc = new QChar[ l ]; // Can't use macro since function is public
12028 static QChar* internalAsciiToUnicode( const char *str, uint* len,
12029 uint maxlen = (uint)-1 )
12034 if ( maxlen != (uint)-1 ) {
12035 while ( l < maxlen && str[l] )
12041 QChar *uc = QT_ALLOC_QCHAR_VEC( l );
12053 This utility function converts \a l 16-bit characters from
12054 \a uc to ASCII, returning a NUL-terminated string.
12056 The caller is responsible for deleting the string with delete[].
12058 char* QString::unicodeToAscii(const QChar *uc, uint l)
12063 char *a = new char[l+1];
12071 static uint computeNewMax( uint len )
12073 if (len >= 0x80000000)
12077 while ( newMax < len )
12079 // try to save some memory
12080 if ( newMax >= 1024 * 1024 && len <= newMax - (newMax >> 2) )
12081 newMax -= newMax >> 2;
12086 Returns the QString as a zero terminated array of unsigned shorts
12087 if the string is not null; otherwise returns zero.
12089 The result remains valid so long as one unmodified
12090 copy of the source string exists.
12092 const unsigned short *QString::ucs2() const
12094 if ( ! d->unicode )
12096 unsigned int len = d->len;
12097 if ( d->maxl < len + 1 ) {
12098 // detach, grow or shrink
12099 uint newMax = computeNewMax( len + 1 );
12100 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
12103 memcpy( nd, d->unicode, sizeof(QChar)*len );
12104 ((QString *)this)->deref();
12105 ((QString *)this)->d = new QStringData( nd, len, newMax );
12108 d->unicode[len] = 0;
12109 return (unsigned short *) d->unicode;
12113 Constructs a string that is a deep copy of \a str, interpreted as a
12114 UCS2 encoded, zero terminated, Unicode string.
12116 If \a str is 0, then a null string is created.
12119 QString QString::fromUcs2( const unsigned short *str )
12122 return QString::null;
12125 while ( str[length] != 0 )
12127 QChar* uc = QT_ALLOC_QCHAR_VEC( length );
12128 memcpy( uc, str, length*sizeof(QChar) );
12129 return QString( new QStringData( uc, length, length ), TRUE );
12134 /*****************************************************************************
12135 QString member functions
12136 *****************************************************************************/
12139 \class QString qstring.h
12141 \brief The QString class provides an abstraction of Unicode text and
12142 the classic C null-terminated char array (<var>char*</var>).
12147 QString uses \link shclass.html implicit sharing\endlink, and so it
12148 is very efficient and easy to use.
12150 In all QString methods that take <var>const char*</var> parameters,
12151 the <var>const char*</var> is interpreted as a classic C-style
12152 0-terminated ASCII string. It is legal for the <var>const
12153 char*</var> parameter to be 0. The results are undefined if the
12154 <var>const char*</var> string is not 0-terminated. Functions that
12155 copy classic C strings into a QString will not copy the terminating
12156 0-character. The QChar array of the QString (as returned by
12157 unicode()) is not terminated by a null.
12159 A QString that has not been assigned to anything is \a null, i.e. both
12160 the length and data pointer is 0. A QString that references the empty
12161 string ("", a single '\0' char) is \a empty. Both null and empty
12162 QStrings are legal parameters to the methods. Assigning <var>const char
12163 * 0</var> to QString gives a null QString.
12165 Note that if you find that you are mixing usage of QCString, QString,
12166 and QByteArray, this causes lots of unnecessary copying and might
12167 indicate that the true nature of the data you are dealing with is
12168 uncertain. If the data is NUL-terminated 8-bit data, use QCString;
12169 if it is unterminated (ie. contains NULs) 8-bit data, use QByteArray;
12170 if it is text, use QString.
12172 \sa QChar \link shclass.html Shared classes\endlink
12175 Q_EXPORT QStringData *QString::shared_null = 0;
12176 //QT_STATIC_CONST_IMPL QString QString::null;
12177 QT_STATIC_CONST_IMPL QChar QChar::null;
12178 QT_STATIC_CONST_IMPL QChar QChar::replacement((ushort)0xfffd);
12179 QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff);
12180 QT_STATIC_CONST_IMPL QChar QChar::byteOrderSwapped((ushort)0xfffe);
12181 QT_STATIC_CONST_IMPL QChar QChar::nbsp((ushort)0x00a0);
12183 #if defined(_CC_MSVC_) && _MSC_VER <= 1300
12184 const QString::Null QString::null;
12186 const QString::Null QString::null = { };
12190 QStringData* QString::makeSharedNull()
12192 return shared_null=new QStringData;
12195 // Uncomment this to get some useful statistics.
12196 // #define Q2HELPER(x) x
12199 static int stat_construct_charstar=0;
12200 static int stat_construct_charstar_size=0;
12201 static int stat_construct_null=0;
12202 static int stat_construct_int=0;
12203 static int stat_construct_int_size=0;
12204 static int stat_construct_ba=0;
12205 static int stat_get_ascii=0;
12206 static int stat_get_ascii_size=0;
12207 static int stat_copy_on_write=0;
12208 static int stat_copy_on_write_size=0;
12209 static int stat_fast_copy=0;
12210 Q_EXPORT void qt_qstring_stats()
12212 qDebug("construct_charstar = %d (%d chars)", stat_construct_charstar, stat_construct_charstar_size);
12213 qDebug("construct_null = %d", stat_construct_null);
12214 qDebug("construct_int = %d (%d chars)", stat_construct_int, stat_construct_int_size);
12215 qDebug("construct_ba = %d", stat_construct_ba);
12216 qDebug("get_ascii = %d (%d chars)", stat_get_ascii, stat_get_ascii_size);
12217 qDebug("copy_on_write = %d (%d chars)", stat_copy_on_write, stat_copy_on_write_size);
12218 qDebug("fast_copy = %d", stat_fast_copy);
12221 #define Q2HELPER(x)
12225 \fn QString::QString()
12227 Constructs a null string.
12232 Constructs a string containing the one character \a ch.
12234 QString::QString( QChar ch )
12236 d = new QStringData( QT_ALLOC_QCHAR_VEC( 1 ), 1, 1 );
12237 d->unicode[0] = ch;
12241 Constructs an implicitly-shared copy of \a s.
12243 QString::QString( const QString &s ) :
12246 Q2HELPER(stat_fast_copy++)
12253 Constructs a string with preallocated space for \a size characters.
12255 The string is empty.
12260 QString::QString( int size, bool /*dummy*/ )
12263 Q2HELPER(stat_construct_int++)
12265 Q2HELPER(stat_construct_int_size+=l)
12266 QChar* uc = QT_ALLOC_QCHAR_VEC( l );
12267 d = new QStringData( uc, 0, l );
12269 Q2HELPER(stat_construct_null++)
12270 d = shared_null ? shared_null : (shared_null=new QStringData);
12276 Constructs a string that is a deep copy of \a ba interpreted as
12277 a classic C string.
12280 QString::QString( const QByteArray& ba )
12282 Q2HELPER(stat_construct_ba++)
12284 QChar *uc = internalAsciiToUnicode(ba,&l);
12285 d = new QStringData(uc,l,l);
12288 QString::QString( const QCString& ba )
12290 //Q2HELPER(stat_construct_ba++)
12292 //QChar *uc = internalAsciiToUnicode(ba,&l);
12293 //d = new QStringData(uc,l,l);
12294 Q2HELPER(stat_fast_copy++)
12295 QString s = QString::fromUtf8(ba.data(),ba.length());
12301 Constructs a string that is a deep copy of the
12302 first \a length QChar in the array \a unicode.
12304 If \a unicode and \a length are 0, a null string is created.
12306 If only \a unicode is 0, the string is empty, but has
12307 \a length characters of space preallocated - QString expands
12308 automatically anyway, but this may speed some cases up a little.
12313 QString::QString( const QChar* unicode, uint length )
12315 if ( !unicode && !length ) {
12316 d = shared_null ? shared_null : makeSharedNull();
12319 QChar* uc = QT_ALLOC_QCHAR_VEC( length );
12321 memcpy(uc, unicode, length*sizeof(QChar));
12322 d = new QStringData(uc,unicode ? length : 0,length);
12327 Constructs a string that is a deep copy of \a str, interpreted as a
12330 If \a str is 0 a null string is created.
12332 This is a cast constructor, but it is perfectly safe: converting a Latin1
12333 const char* to QString preserves all the information.
12334 You can disable this constructor by
12335 defining QT_NO_CAST_ASCII when you compile your applications.
12336 You can also make QString objects by using setLatin1()/fromLatin1(), or
12337 fromLocal8Bit(), fromUtf8(), or whatever encoding is appropriate for
12338 the 8-bit data you have.
12343 QString::QString( const char *str )
12345 //Q2HELPER(stat_construct_charstar++)
12347 //QChar *uc = internalAsciiToUnicode(str,&l);
12348 //Q2HELPER(stat_construct_charstar_size+=l)
12349 //d = new QStringData(uc,l,l);
12350 Q2HELPER(stat_fast_copy++)
12351 QString s = QString::fromUtf8(str);
12357 /*! \fn QString::~QString()
12359 Destroys the string and frees the "real" string, if this was the last
12360 copy of that string.
12365 Deallocates any space reserved solely by this QString.
12368 void QString::real_detach()
12370 setLength( length() );
12373 void QString::deref()
12375 if ( d->deref() ) {
12376 if ( d == shared_null )
12379 d = 0; // helps debugging
12383 void QStringData::deleteSelf()
12389 \fn QString& QString::operator=( QChar c )
12390 Sets the string to contain just the single character \a c.
12394 \fn QString& QString::operator=( char c )
12395 Sets the string to contain just the single character \a c.
12399 Assigns a shallow copy of \a s to this string and returns a
12400 reference to this string.
12402 QString &QString::operator=( const QString &s )
12404 Q2HELPER(stat_fast_copy++)
12412 Assigns a deep copy of \a cs, interpreted as a classic C string, to
12413 this string and returns a reference to this string.
12415 QString &QString::operator=( const QCString& cs )
12417 return setLatin1(cs);
12422 Assigns a deep copy of \a str, interpreted as a classic C string,
12423 to this string and returns a reference to this string.
12425 If \a str is 0 a null string is created.
12429 QString &QString::operator=( const char *str )
12431 return setLatin1(str);
12436 \fn bool QString::isNull() const
12438 Returns TRUE if the string is null.
12439 A null string is also an empty string.
12443 QString a; // a.unicode() == 0, a.length() == 0
12444 QString b = ""; // b.unicode() == "", b.length() == 0
12445 a.isNull(); // TRUE, because a.unicode() == 0
12446 a.isEmpty(); // TRUE, because a.length() == 0
12447 b.isNull(); // FALSE, because b.unicode() != 0
12448 b.isEmpty(); // TRUE, because b.length() == 0
12451 \sa isEmpty(), length()
12455 \fn bool QString::isEmpty() const
12457 Returns TRUE if the string is empty, i.e. if length() == 0.
12458 An empty string is not always a null string.
12460 See example in isNull().
12462 \sa isNull(), length()
12466 \fn uint QString::length() const
12468 Returns the length of the string.
12470 Null strings and empty strings have zero length.
12472 \sa isNull(), isEmpty()
12476 Truncates the string at position \a newLen if newLen is less than the
12477 current length . Otherwise, nothing happens.
12481 QString s = "truncate this string";
12482 s.truncate( 5 ); // s == "trunc"
12485 In Qt 1.x, it was possible to "truncate" a string to a longer
12486 length. This is no longer possible.
12490 void QString::truncate( uint newLen )
12492 if ( newLen < d->len )
12493 setLength( newLen );
12496 /*### Make this public in 3.0
12497 Ensures that at least \a newLen characters are allocated, and
12498 sets the length to \a newLen. This function always detaches the
12499 string from other references to the same data. Any new space
12500 allocated is \e not defined.
12502 If \a newLen is 0, this string becomes empty, unless this string is
12503 null, in which case it remains null.
12505 \sa truncate(), isNull(), isEmpty()
12508 void QString::setLength( uint newLen )
12510 if ( d->count != 1 || newLen > d->maxl || // detach, grow, or
12511 ( newLen*4 < d->maxl && d->maxl > 4 ) ) { // shrink
12512 Q2HELPER(stat_copy_on_write++)
12513 Q2HELPER(stat_copy_on_write_size+=d->len)
12515 while ( newMax < newLen )
12517 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
12518 uint len = QMIN( d->len, newLen );
12520 memcpy( nd, d->unicode, sizeof(QChar)*len );
12522 d = new QStringData( nd, newLen, newMax );
12529 /*! Returns a string equal to this one, but with the lowest-numbered
12530 occurrence of \c %i (for a positive integer i) replaced by \a a.
12533 label.setText( tr("Rename %1 to %2?").arg(oldName).arg(newName) );
12536 \a fieldwidth is the minimum amount of space \a a is padded to. A
12537 positive value produces right-aligned text, while a negative value
12538 produces left aligned text.
12540 \warning Using arg() for constructing "real" sentences
12541 programmatically is likely to lead to translation problems.
12542 Inserting objects like numbers or file names is fairly safe.
12544 \warning Relying on spaces to create alignment is prone to lead to
12545 translation problems.
12547 If there is no \c %i pattern, a warning message (qWarning()) is
12548 printed and the text as appended at the end of the string. This is
12549 error recovery and should not occur in correct code.
12553 QString QString::arg(const QString& a, int fieldwidth) const
12558 if ( !findArg( pos, len ) ) {
12559 qWarning( "QString::arg(): Argument missing: %s, %s",
12560 (const char *)ascii(), (const char *)ascii() );
12561 // Make sure the text at least appears SOMEWHERE
12567 r.replace( pos, len, a );
12568 if ( fieldwidth < 0 ) {
12570 while ( (uint)-fieldwidth > a.length() ) {
12574 r.insert( pos + a.length(), s );
12575 } else if ( fieldwidth ) {
12577 while ( (uint)fieldwidth > a.length() ) {
12581 r.insert( pos, s );
12590 \a a is expressed in to \a base notation, which is decimal by
12591 default and must be in the range 2-36 inclusive.
12593 QString QString::arg(long a, int fieldwidth, int base) const
12595 return arg( QString::number( a, base ), fieldwidth );
12600 \a a is expressed in to \a base notation, which is decimal by
12601 default and must be in the range 2-36 inclusive.
12603 QString QString::arg(ulong a, int fieldwidth, int base) const
12605 return arg( QString::number( a, base ), fieldwidth );
12609 \overload QString QString::arg(int a, int fieldwidth, int base) const
12611 \a a is expressed in to \a base notation, which is decimal by
12612 default and must be in the range 2-36 inclusive.
12617 \overload QString QString::arg(uint a, int fieldwidth, int base) const
12619 \a a is expressed in to \a base notation, which is decimal by
12620 default and must be in the range 2-36 inclusive.
12624 \overload QString QString::arg(short a, int fieldwidth, int base) const
12626 \a a is expressed in to \a base notation, which is decimal by
12627 default and must be in the range 2-36 inclusive.
12631 \overload QString QString::arg(ushort a, int fieldwidth, int base) const
12633 \a a is expressed in to \a base notation, which is decimal by
12634 default and must be in the range 2-36 inclusive.
12640 \a a is assumed to be in the Latin1 character set.
12642 QString QString::arg(char a, int fieldwidth) const
12646 return arg( c, fieldwidth );
12651 QString QString::arg(QChar a, int fieldwidth) const
12655 return arg( c, fieldwidth );
12660 \a is formatted according to the \a fmt format specified, which is
12661 'g' by default and can be any of 'f', 'F', 'e', 'E', 'g' or 'G', all
12662 of which have the same meaning as for sprintf(). \a prec determines
12663 the precision, just as for number() and sprintf().
12665 QString QString::arg(double a, int fieldwidth, char fmt, int prec) const
12667 return arg( QString::number( a, fmt, prec ), fieldwidth );
12672 Just 1-digit arguments.
12674 bool QString::findArg(int& pos, int& len) const
12677 for (uint i=0; i<length(); i++) {
12678 if ( at(i) == '%' && i+1<length() ) {
12679 char dig = at(i+1);
12680 if ( dig >= '0' && dig <= '9' ) {
12681 if ( !lowest || dig < lowest ) {
12689 return lowest != 0;
12693 Safely builds a formatted string from a format string and an
12694 arbitrary list of arguments. The format string supports all
12695 the escape sequences of printf() in the standard C library.
12697 The %s escape sequence expects a utf8() encoded string.
12698 The format string \e cformat is expected to be in latin1. If you need a unicode
12699 format string, use QString::arg() instead. For typesafe
12700 string building, with full Unicode support, you can use QTextOStream
12707 QTextOStream(&str) << s << " : " << x;
12710 For \link QObject::tr() translations,\endlink especially if the
12711 strings contains more than one escape sequence, you should consider
12712 using the arg() function instead. This allows the order of the
12713 replacements to be controlled by the translator, and has Unicode
12719 QString &QString::sprintf( const char* cformat, ... )
12722 va_start( ap, cformat );
12724 if ( !cformat || !*cformat ) {
12726 *this = QString::fromLatin1( "" );
12729 QString format = QString::fromLatin1( cformat );
12731 static QRegExp *escape = 0;
12733 escape = new QRegExp( "%#?0?-? ?\\+?'?[0-9*]*\\.?[0-9*]*h?l?L?q?Z?" );
12741 pos = escape->match( cformat, last, &len );
12742 // Non-escaped text
12743 if ( pos > (int)last )
12744 result += format.mid(last,pos-last);
12747 if ( last < format.length() )
12748 result += format.mid(last);
12751 last = pos + len + 1;
12754 QString f = format.mid( pos, len );
12755 uint width, decimals;
12757 int wpos = f.find('*');
12760 width = va_arg( ap, int );
12761 if ( f.find('*', wpos + 1) >= 0 ) {
12762 decimals = va_arg( ap, int );
12768 decimals = width = 0;
12770 QString replacement;
12771 if ( format[pos+len] == 's' ||
12772 format[pos+len] == 'S' ||
12773 format[pos+len] == 'c' )
12775 bool rightjust = ( f.find('-') < 0 );
12776 // Yes, %-5s really means left adjust in sprintf
12779 QRegExp num( "[0-9]+" );
12780 QRegExp dot( "\\." );
12782 int p = num.match( f.data(), 0, &nlen );
12783 int q = dot.match( f.data(), 0 );
12784 if ( q < 0 || (p < q && p >= 0) )
12785 width = f.mid( p, nlen ).toInt();
12787 p = num.match( f.data(), q );
12788 // "decimals" is used to specify string truncation
12790 decimals = f.mid( p, nlen ).toInt();
12794 if ( format[pos+len] == 's' ) {
12795 #ifndef QT_NO_TEXTCODEC
12796 QString s = QString::fromUtf8(va_arg(ap, char*));
12798 QString s = QString::fromLatin1(va_arg(ap, char*));
12800 if ( decimals <= 0 )
12803 replacement = s.left(decimals);
12805 int ch = va_arg(ap, int);
12806 replacement = QChar((ushort)ch);
12808 if ( replacement.length() < width ) {
12809 replacement = rightjust
12810 ? replacement.rightJustify(width)
12811 : replacement.leftJustify(width);
12813 } else if ( format[pos+len] == '%' ) {
12815 } else if ( format[pos+len] == 'n' ) {
12816 int* n = va_arg(ap, int*);
12817 *n = result.length();
12819 char in[64], out[330] = "";
12820 strncpy(in,f.latin1(),63);
12821 char fch = format[pos+len].latin1();
12822 in[f.length()] = fch;
12824 case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': {
12825 int value = va_arg(ap, int);
12827 case 0: ::sprintf( out, in, value ); break;
12828 case 1: ::sprintf( out, in, width, value ); break;
12829 case 2: ::sprintf( out, in, width, decimals, value ); break;
12832 case 'e': case 'E': case 'f': case 'g': case 'G': {
12833 double value = va_arg(ap, double);
12835 case 0: ::sprintf( out, in, value ); break;
12836 case 1: ::sprintf( out, in, width, value ); break;
12837 case 2: ::sprintf( out, in, width, decimals, value ); break;
12841 void* value = va_arg(ap, void*);
12843 case 0: ::sprintf( out, in, value ); break;
12844 case 1: ::sprintf( out, in, width, value ); break;
12845 case 2: ::sprintf( out, in, width, decimals, value ); break;
12849 replacement = QString::fromLatin1(out);
12851 result += replacement;
12860 Fills the string with \a len characters of value \a c.
12862 If \a len is negative, the current string length is used.
12865 void QString::fill( QChar c, int len )
12873 QChar * nd = QT_ALLOC_QCHAR_VEC( len );
12874 d = new QStringData(nd,len,len);
12875 while (len--) *nd++ = c;
12881 \fn QString QString::copy() const
12885 Returns a deep copy of this string.
12887 Doing this is redundant in Qt 2.x, since QString is implicitly
12888 shared, and so will automatically be deeply copied as necessary.
12892 Finds the first occurrence of the character \a c, starting at
12893 position \a index. If \a index is -1, the search starts at the
12894 last character; if -2, at the next to last character; etc.
12896 The search is case sensitive if \a cs is TRUE, or case insensitive
12899 Returns the position of \a c, or -1 if \a c could not be found.
12902 int QString::find( QChar c, int index, bool cs ) const
12906 if ( (uint)index >= length() ) // index outside string
12908 register const QChar *uc;
12909 uc = unicode()+index;
12910 int n = length()-index;
12912 while ( n-- && *uc != c )
12916 while ( n-- && uc->lower() != c )
12919 if ( uint(uc - unicode()) >= length() )
12921 return (int)(uc - unicode());
12925 Finds the first occurrence of the string \a str, starting at position
12926 \a index. If \a index is -1, the search starts at the last character;
12927 if -2, at the next to last character; etc.
12929 The search is case sensitive if \a cs is TRUE, or case insensitive if
12932 Returns the position of \a str, or -1 if \a str could not be found.
12935 int QString::find( const QString& str, int index, bool cs ) const
12938 We use some weird hashing for efficiency's sake. Instead of
12939 comparing strings, we compare the hash value of str with that of
12940 a part of this QString. Only if that matches, we call ucstrncmp
12943 The hash value of a string is the sum of the cells of its
12948 int lstr = str.length();
12949 int lthis = length() - index;
12950 if ( (uint)lthis > length() )
12952 int delta = lthis - lstr;
12956 const QChar *uthis = unicode() + index;
12957 const QChar *ustr = str.unicode();
12962 for ( i = 0; i < lstr; i++ ) {
12963 hthis += uthis[i].cell();
12964 hstr += ustr[i].cell();
12968 if ( hthis == hstr && ucstrncmp(uthis + i, ustr, lstr) == 0 )
12972 hthis += uthis[i + lstr].cell();
12973 hthis -= uthis[i].cell();
12977 for ( i = 0; i < lstr; i++ ) {
12978 hthis += uthis[i].lower().cell();
12979 hstr += ustr[i].lower().cell();
12983 if ( hthis == hstr && ucstrnicmp(uthis + i, ustr, lstr) == 0 )
12987 hthis += uthis[i + lstr].lower().cell();
12988 hthis -= uthis[i].lower().cell();
12992 #if defined(Q_SPURIOUS_NON_VOID_WARNING)
12998 \fn int QString::findRev( const char* str, int index ) const
13000 Equivalent to findRev(QString(str), index).
13004 \fn int QString::find( const char* str, int index ) const
13006 Equivalent to find(QString(str), index).
13010 Finds the first occurrence of the character \a c, starting at
13011 position \a index and searching backwards. If \a index is -1,
13012 the search starts at the last character; if -2, at the next to
13013 last character; etc.
13015 The search is case sensitive if \a cs is TRUE, or case insensitive if \a
13018 Returns the position of \a c, or -1 if \a c could not be found.
13021 int QString::findRev( QChar c, int index, bool cs ) const
13024 return findRev( t, index, cs );
13028 Finds the first occurrence of the string \a str, starting at
13029 position \a index and searching backwards. If \a index is -1,
13030 the search starts at the last character; -2, at the next to last
13033 The search is case sensitive if \a cs is TRUE, or case insensitive if \e
13036 Returns the position of \a str, or -1 if \a str could not be found.
13039 int QString::findRev( const QString& str, int index, bool cs ) const
13042 See QString::find() for explanations.
13044 int lthis = length();
13048 int lstr = str.length();
13049 int delta = lthis - lstr;
13050 if ( index < 0 || index > lthis || delta < 0 )
13052 if ( index > delta )
13055 const QChar *uthis = unicode();
13056 const QChar *ustr = str.unicode();
13061 for ( i = 0; i < lstr; i++ ) {
13062 hthis += uthis[index + i].cell();
13063 hstr += ustr[i].cell();
13067 if ( hthis == hstr && ucstrncmp(uthis + i, ustr, lstr) == 0 )
13072 hthis -= uthis[i + lstr].cell();
13073 hthis += uthis[i].cell();
13076 for ( i = 0; i < lstr; i++ ) {
13077 hthis += uthis[index + i].lower().cell();
13078 hstr += ustr[i].lower().cell();
13082 if ( hthis == hstr && ucstrnicmp(uthis + i, ustr, lstr) == 0 )
13087 hthis -= uthis[i + lstr].lower().cell();
13088 hthis += uthis[i].lower().cell();
13091 #if defined(Q_SPURIOUS_NON_VOID_WARNING)
13098 Returns the number of times the character \a c occurs in the string.
13100 The match is case sensitive if \a cs is TRUE, or case insensitive if \a cs
13104 int QString::contains( QChar c, bool cs ) const
13107 const QChar *uc = unicode();
13111 if ( cs ) { // case sensitive
13115 } else { // case insensitive
13118 if ( uc->lower() == c )
13129 int QString::contains( const char* str, bool cs ) const
13131 return contains(QString(str),cs);
13135 \overload int QString::contains (char c, bool cs) const
13139 \overload int QString::find (char c, int index, bool cs) const
13144 \overload int QString::findRev (char c, int index, bool cs) const
13149 Returns the number of times \a str occurs in the string.
13151 The match is case sensitive if \a cs is TRUE, or case insensitive if \e
13154 This function counts overlapping substrings, for example, "banana"
13155 contains two occurrences of "ana".
13160 int QString::contains( const QString &str, bool cs ) const
13163 const QChar *uc = unicode();
13166 int len = str.length();
13168 while ( n-- ) { // counts overlapping strings
13169 // ### Doesn't account for length of this - searches over "end"
13171 if ( ucstrncmp( uc, str.unicode(), len ) == 0 )
13174 if ( ucstrnicmp(uc, str.unicode(), len) == 0 )
13183 Returns a substring that contains the \a len leftmost characters
13186 The whole string is returned if \a len exceeds the length of the
13192 QString s = "Pineapple";
13193 QString t = s.left( 4 ); // t == "Pine"
13196 \sa right(), mid(), isEmpty()
13199 QString QString::left( uint len ) const
13203 } else if ( len == 0 ) { // ## just for 1.x compat:
13204 return QString::fromLatin1("");
13205 } else if ( len > length() ) {
13208 QString s( len, TRUE );
13209 memcpy( s.d->unicode, d->unicode, len*sizeof(QChar) );
13216 Returns a substring that contains the \a len rightmost characters
13219 The whole string is returned if \a len exceeds the length of the
13224 QString s = "Pineapple";
13225 QString t = s.right( 5 ); // t == "apple"
13228 \sa left(), mid(), isEmpty()
13231 QString QString::right( uint len ) const
13235 } else if ( len == 0 ) { // ## just for 1.x compat:
13236 return QString::fromLatin1("");
13241 QString s( len, TRUE );
13242 memcpy( s.d->unicode, d->unicode+(l-len), len*sizeof(QChar) );
13249 Returns a substring that contains the \a len characters of this
13250 string, starting at position \a index.
13252 Returns a null string if the string is empty or \a index is out
13253 of range. Returns the whole string from \a index if \a index+len exceeds
13254 the length of the string.
13258 QString s = "Five pineapples";
13259 QString t = s.mid( 5, 4 ); // t == "pine"
13262 \sa left(), right()
13265 QString QString::mid( uint index, uint len ) const
13267 uint slen = length();
13268 if ( isEmpty() || index >= slen ) {
13270 } else if ( len == 0 ) { // ## just for 1.x compat:
13271 return QString::fromLatin1("");
13273 if ( len > slen-index )
13274 len = slen - index;
13275 if ( index == 0 && len == length() )
13277 register const QChar *p = unicode()+index;
13278 QString s( len, TRUE );
13279 memcpy( s.d->unicode, p, len*sizeof(QChar) );
13286 Returns a string of length \a width that contains this
13287 string and padded by the \a fill character.
13289 If the length of the string exceeds \a width and \a truncate is FALSE,
13290 then the returned string is a copy of the string.
13291 If the length of the string exceeds \a width and \a truncate is TRUE,
13292 then the returned string is a left(\a width).
13296 QString s("apple");
13297 QString t = s.leftJustify(8, '.'); // t == "apple..."
13303 QString QString::leftJustify( uint width, QChar fill, bool truncate ) const
13306 int len = length();
13307 int padlen = width - len;
13308 if ( padlen > 0 ) {
13309 result.setLength(len+padlen);
13311 memcpy( result.d->unicode, unicode(), sizeof(QChar)*len );
13312 QChar* uc = result.d->unicode + len;
13317 result = left( width );
13325 Returns a string of length \a width that contains pad
13326 characters followed by the string.
13328 If the length of the string exceeds \a width and \a truncate is FALSE,
13329 then the returned string is a copy of the string.
13330 If the length of the string exceeds \a width and \a truncate is TRUE,
13331 then the returned string is a left(\a width).
13336 QString t = s.rightJustify(8, '.'); // t == ".....pie"
13342 QString QString::rightJustify( uint width, QChar fill, bool truncate ) const
13345 int len = length();
13346 int padlen = width - len;
13347 if ( padlen > 0 ) {
13348 result.setLength( len+padlen );
13349 QChar* uc = result.d->unicode;
13353 memcpy( uc, unicode(), sizeof(QChar)*len );
13356 result = left( width );
13364 Returns a new string that is the string converted to lower case.
13369 QString t = s.lower(); // t == "tex"
13375 QString QString::lower() const
13380 s.real_detach(); // could do this only when we find a change
13381 register QChar *p=s.d->unicode;
13393 Returns a new string that is the string converted to upper case.
13398 QString t = s.upper(); // t == "TEX"
13404 QString QString::upper() const
13409 s.real_detach(); // could do this only when we find a change
13410 register QChar *p=s.d->unicode;
13423 Returns a new string that has white space removed from the start and the end.
13425 White space means any character for which QChar::isSpace() returns
13426 TRUE. This includes ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12
13427 (FF), 13 (CR), and 32 (Space).
13431 QString s = " space ";
13432 QString t = s.stripWhiteSpace(); // t == "space"
13435 \sa simplifyWhiteSpace()
13438 QString QString::stripWhiteSpace() const
13440 if ( isEmpty() ) // nothing to do
13442 if ( !at(0).isSpace() && !at(length()-1).isSpace() )
13445 register const QChar *s = unicode();
13446 QString result = fromLatin1("");
13449 int end = length() - 1;
13450 while ( start<=end && s[start].isSpace() ) // skip white space from start
13452 if ( start > end ) { // only white space
13455 while ( end && s[end].isSpace() ) // skip white space from end
13457 int l = end - start + 1;
13458 result.setLength( l );
13460 memcpy( result.d->unicode, &s[start], sizeof(QChar)*l );
13466 Returns a new string that has white space removed from the start and the end,
13467 plus any sequence of internal white space replaced with a single space
13470 White space means any character for which QChar::isSpace() returns
13471 TRUE. This includes ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12
13472 (FF), 13 (CR), and 32 (Space).
13475 QString s = " lots\t of\nwhite space ";
13476 QString t = s.simplifyWhiteSpace(); // t == "lots of white space"
13479 \sa stripWhiteSpace()
13482 QString QString::simplifyWhiteSpace() const
13484 if ( isEmpty() ) // nothing to do
13487 result.setLength( length() );
13488 const QChar *from = unicode();
13489 const QChar *fromend = from+length();
13491 QChar *to = result.d->unicode;
13493 while ( from!=fromend && from->isSpace() )
13495 while ( from!=fromend && !from->isSpace() )
13496 to[outc++] = *from++;
13497 if ( from!=fromend )
13502 if ( outc > 0 && to[outc-1] == ' ' )
13504 result.truncate( outc );
13510 Insert \a s into the string before position \a index.
13512 If \a index is beyond the end of the string, the string is extended with
13513 spaces (ASCII 32) to length \a index and \a s is then appended.
13516 QString s = "I like fish";
13517 s.insert( 2, "don't "); // s == "I don't like fish"
13519 s.insert( 3, "yz" ); // s == "x yz"
13523 QString &QString::insert( uint index, const QString &s )
13525 // the sub function takes care of &s == this case.
13526 return insert( index, s.unicode(), s.length() );
13530 Insert \a len units of QChar data from \a s into the string before
13534 QString &QString::insert( uint index, const QChar* s, uint len )
13538 uint olen = length();
13539 int nlen = olen + len;
13541 int df = (int)(s - d->unicode); // ### pointer subtraction, cast down to int
13542 if ( df >= 0 && (uint)df < d->maxl ) {
13543 // Part of me - take a copy.
13544 QChar *tmp = QT_ALLOC_QCHAR_VEC( len );
13545 memcpy(tmp,s,len*sizeof(QChar));
13546 insert(index,tmp,len);
13547 QT_DELETE_QCHAR_VEC( tmp );
13551 if ( index >= olen ) { // insert after end of string
13552 setLength( len+index );
13553 int n = index-olen;
13554 QChar* uc = d->unicode+olen;
13557 memcpy( d->unicode+index, s, sizeof(QChar)*len );
13558 } else { // normal insert
13560 memmove( d->unicode+index+len, unicode()+index,
13561 sizeof(QChar)*(olen-index) );
13562 memcpy( d->unicode+index, s, sizeof(QChar)*len );
13568 Insert \a c into the string at (before) position \a index and returns
13569 a reference to the string.
13571 If \a index is beyond the end of the string, the string is extended with
13572 spaces (ASCII 32) to length \a index and \a c is then appended.
13577 s.insert( 1, 'e' ); // s == "Yes"
13578 s.insert( 3, '!'); // s == "Yes!"
13581 \sa remove(), replace()
13584 QString &QString::insert( uint index, QChar c ) // insert char
13587 return insert( index, s );
13591 \overload QString& QString::insert( uint index, char c )
13595 \fn QString &QString::prepend( const QString &s )
13597 Prepend \a s to the string. Equivalent to insert(0,s).
13603 \fn QString& QString::prepend( char ch )
13604 Prepends \a ch to the string and returns a reference to the result.
13610 \fn QString& QString::prepend( QChar ch )
13611 Prepends \a ch to the string and returns a reference to the result.
13618 Removes \a len characters starting at position \a index from the
13619 string and returns a reference to the string.
13621 If \a index is too big, nothing happens. If \a index is valid, but
13622 \a len is too large, the rest of the string is removed.
13625 QString s = "Montreal";
13630 \sa insert(), replace()
13633 QString &QString::remove( uint index, uint len )
13635 uint olen = length();
13636 if ( index + len >= olen ) { // range problems
13637 if ( index < olen ) { // index ok
13638 setLength( index );
13640 } else if ( len != 0 ) {
13642 memmove( d->unicode+index, d->unicode+index+len,
13643 sizeof(QChar)*(olen-index-len) );
13644 setLength( olen-len );
13650 Replaces \a len characters starting at position \a index from the
13651 string with \a s, and returns a reference to the string.
13653 If \a index is too big, nothing is deleted and \a s is inserted at the
13654 end of the string. If \a index is valid, but \a len is too large, \e
13655 str replaces the rest of the string.
13658 QString s = "Say yes!";
13659 s.replace( 4, 3, "NO" ); // s == "Say NO!"
13662 \sa insert(), remove()
13665 QString &QString::replace( uint index, uint len, const QString &s )
13667 return replace( index, len, s.unicode(), s.length() );
13672 Replaces \a len characters starting at position \a index by
13673 \a slen units to QChar data from \a s, and returns a reference to the string.
13675 \sa insert(), remove()
13678 QString &QString::replace( uint index, uint len, const QChar* s, uint slen )
13680 if ( len == slen && index + len <= length() ) {
13681 // Optimized common case: replace without size change
13683 memcpy( d->unicode+index, s, len*sizeof(QChar) );
13685 int df = (int)(s - d->unicode); // ### pointer subtraction, cast down to int
13686 if ( df >= 0 && (uint)df < d->maxl ) {
13687 // Part of me - take a copy.
13688 QChar *tmp = QT_ALLOC_QCHAR_VEC( slen );
13689 memcpy(tmp,s,slen*sizeof(QChar));
13690 replace(index,len,tmp,slen);
13691 QT_DELETE_QCHAR_VEC( tmp );
13695 remove( index, len );
13696 insert( index, s, slen );
13704 Finds the first occurrence of the regular expression \a rx, starting at
13705 position \a index. If \a index is -1, the search starts at the last
13706 character; if -2, at the next to last character; etc.
13708 Returns the position of the next match, or -1 if \a rx was not found.
13710 \sa findRev() replace() contains()
13713 int QString::find( const QRegExp &rx, int index ) const
13717 return rx.match( data(), index );
13721 Finds the first occurrence of the regular expression \a rx, starting at
13722 position \a index and searching backwards. If \a index is -1, the
13723 search starts at the last character; if -2, at the next to last
13726 Returns the position of the next match (backwards), or -1 if \a rx was not
13732 int QString::findRev( const QRegExp &rx, int index ) const
13734 if ( index < 0 ) // neg index ==> start from end
13736 if ( (uint)index > length() ) // bad index
13738 while( index >= 0 ) {
13739 if ( rx.match( data(), index ) == index )
13747 Counts the number of overlapping occurrences of \a rx in the string.
13751 QString s = "banana and panama";
13752 QRegExp r = QRegExp("a[nm]a", TRUE, FALSE);
13753 s.contains( r ); // 4 matches
13756 \sa find() findRev()
13759 int QString::contains( const QRegExp &rx ) const
13762 return rx.match( data() ) < 0 ? 0 : 1;
13765 int len = length();
13766 while ( index < len-1 ) { // count overlapping matches
13767 index = rx.match( data(), index+1 );
13777 Replaces every occurrence of \a rx in the string with \a str.
13778 Returns a reference to the string.
13782 QString s = "banana";
13783 s.replace( QRegExp("a.*a"), "" ); // becomes "b"
13785 QString s = "banana";
13786 s.replace( QRegExp("^[bn]a"), " " ); // becomes " nana"
13788 QString s = "banana";
13789 s.replace( QRegExp("^[bn]a"), "" ); // NOTE! becomes ""
13792 \sa find() findRev()
13795 QString &QString::replace( const QRegExp &rx, const QString &str )
13800 int slen = str.length();
13802 while ( index < (int)length() ) {
13803 index = rx.match( data(), index, &len, FALSE );
13804 if ( index >= 0 ) {
13805 replace( index, len, str );
13808 break; // Avoid infinite loop on 0-length matches, e.g. [a-z]*
13817 ok_in_base( QChar c, int base )
13820 return c.isDigit() && c.digitValue() < base;
13822 return c.isDigit() || (c >= 'a' && c < char('a'+base-10))
13823 || (c >= 'A' && c < char('A'+base-10));
13827 Returns the string converted to a <code>long</code> value.
13829 If \a ok is non-null, \a *ok is set to TRUE if there are no
13830 conceivable errors, and FALSE if the string is not a number at all, or if
13831 it has trailing garbage.
13834 long QString::toLong( bool *ok, int base ) const
13836 const QChar *p = unicode();
13839 const long max_mult = INT_MAX / base;
13840 bool is_ok = FALSE;
13844 while ( l && p->isSpace() ) // skip leading space
13846 if ( l && *p == '-' ) {
13850 } else if ( *p == '+' ) {
13855 // NOTE: toULong() code is similar
13856 if ( !l || !ok_in_base(*p,base) )
13858 while ( l && ok_in_base(*p,base) ) {
13861 if ( p->isDigit() ) {
13862 dv = p->digitValue();
13864 if ( *p >= 'a' && *p <= 'z' )
13865 dv = *p - 'a' + 10;
13867 dv = *p - 'A' + 10;
13869 if ( val > max_mult || (val == max_mult && dv > (INT_MAX%base)+neg) )
13871 val = base*val + dv;
13876 while ( l && p->isSpace() ) // skip trailing space
13883 return is_ok ? val : 0;
13887 Returns the string converted to an <code>unsigned long</code>
13890 If \a ok is non-null, \a *ok is set to TRUE if there are no
13891 conceivable errors, and FALSE if the string is not a number at all,
13892 or if it has trailing garbage.
13895 ulong QString::toULong( bool *ok, int base ) const
13897 const QChar *p = unicode();
13900 const ulong max_mult = 429496729; // UINT_MAX/10, rounded down
13901 bool is_ok = FALSE;
13904 while ( l && p->isSpace() ) // skip leading space
13909 // NOTE: toLong() code is similar
13910 if ( !l || !ok_in_base(*p,base) )
13912 while ( l && ok_in_base(*p,base) ) {
13915 if ( p->isDigit() ) {
13916 dv = p->digitValue();
13918 if ( *p >= 'a' && *p <= 'z' )
13919 dv = *p - 'a' + 10;
13921 dv = *p - 'A' + 10;
13923 if ( val > max_mult || (val == max_mult && dv > (UINT_MAX%base)) )
13925 val = base*val + dv;
13929 while ( l && p->isSpace() ) // skip trailing space
13936 return is_ok ? val : 0;
13940 Returns the string converted to an <code>unsigned long</code>
13943 If \a ok is non-null, \a *ok is set to TRUE if there are no
13944 conceivable errors, and FALSE if the string is not a number at all,
13945 or if it has trailing garbage.
13948 uint64 QString::toUInt64( bool *ok, int base ) const
13950 const QChar *p = unicode();
13953 const uint64 max_mult = 1844674407370955161ULL; // ULLONG_MAX/10, rounded down
13954 bool is_ok = FALSE;
13957 while ( l && p->isSpace() ) // skip leading space
13962 // NOTE: toULong() code is similar
13963 if ( !l || !ok_in_base(*p,base) )
13965 while ( l && ok_in_base(*p,base) ) {
13968 if ( p->isDigit() ) {
13969 dv = p->digitValue();
13971 if ( *p >= 'a' && *p <= 'z' )
13972 dv = *p - 'a' + 10;
13974 dv = *p - 'A' + 10;
13976 if ( val > max_mult || (val == max_mult && dv > (ULLONG_MAX%base)) )
13978 val = base*val + dv;
13982 while ( l && p->isSpace() ) // skip trailing space
13989 return is_ok ? val : 0;
13994 Returns the string converted to a <code>short</code> value.
13996 If \a ok is non-null, \a *ok is set to TRUE if there are no
13997 conceivable errors, and FALSE if the string is not a number at all, or if
13998 it has trailing garbage.
14001 short QString::toShort( bool *ok, int base ) const
14003 long v = toLong( ok, base );
14004 if ( ok && *ok && (v < -32768 || v > 32767) ) {
14012 Returns the string converted to an <code>unsigned short</code> value.
14014 If \a ok is non-null, \a *ok is set to TRUE if there are no
14015 conceivable errors, and FALSE if the string is not a number at all, or if
14016 it has trailing garbage.
14019 ushort QString::toUShort( bool *ok, int base ) const
14021 ulong v = toULong( ok, base );
14022 if ( ok && *ok && (v > 65535) ) {
14031 Returns the string converted to a <code>int</code> value.
14036 int hex = str.toInt( &ok, 16 ); // will return 255, and ok set to TRUE
14037 int dec = str.toInt( &ok, 10 ); // will return 0, and ok set to FALSE
14040 If \a ok is non-null, \a *ok is set to TRUE if there are no
14041 conceivable errors, and FALSE if the string is not a number at all,
14042 or if it has trailing garbage.
14045 int QString::toInt( bool *ok, int base ) const
14047 return (int)toLong( ok, base );
14051 Returns the string converted to an <code>unsigned int</code> value.
14053 If \a ok is non-null, \a *ok is set to TRUE if there are no
14054 conceivable errors, and FALSE if the string is not a number at all,
14055 or if it has trailing garbage.
14058 uint QString::toUInt( bool *ok, int base ) const
14060 return (uint)toULong( ok, base );
14064 Returns the string converted to a <code>double</code> value.
14066 If \a ok is non-null, \a *ok is set to TRUE if there are no conceivable
14067 errors, and FALSE if the string is not a number at all, or if it has
14071 double QString::toDouble( bool *ok ) const
14075 QCString a = latin1();
14076 // Just latin1() is not sufficient, since U0131 would look like '1'.
14077 for (uint i=0; i<d->len; i++)
14078 if ( d->unicode[i].row() )
14081 double val = strtod( a.data() ? a.data() : "", &end );
14083 *ok = ( a && *a && ( end == 0 || *end == '\0' ) );
14088 Returns the string converted to a <code>float</code> value.
14090 If \a ok is non-null, \a *ok is set to TRUE if there are no
14091 conceivable errors, and FALSE if the string is not a number at all,
14092 or if it has trailing garbage.
14095 float QString::toFloat( bool *ok ) const
14097 return (float)toDouble( ok );
14102 Sets the string to the printed value of \a n and returns a
14103 reference to the string.
14105 The value is converted to \a base notation (default is decimal).
14106 The base must be a value from 2 to 36.
14109 QString &QString::setNum( long n, int base )
14111 #if defined(CHECK_RANGE)
14112 if ( base < 2 || base > 36 ) {
14113 qWarning( "QString::setNum: Invalid base %d", base );
14117 char charbuf[65*sizeof(QChar)];
14118 QChar *buf = (QChar*)charbuf;
14119 QChar *p = &buf[64];
14124 if ( n == INT_MIN ) {
14125 // Cannot always negate this special case
14128 s2.setNum((-(n+base))%base);
14137 *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))];
14145 return setUnicode( p, len );
14149 Sets the string to the printed unsigned value of \a n and
14150 returns a reference to the string.
14152 The value is converted to \a base notation (default is decimal).
14153 The base must be a value from 2 to 36.
14156 QString &QString::setNum( ulong n, int base )
14158 #if defined(CHECK_RANGE)
14159 if ( base < 2 || base > 36 ) {
14160 qWarning( "QString::setNum: Invalid base %d", base );
14164 char charbuf[65*sizeof(QChar)];
14165 QChar *buf = (QChar*)charbuf;
14166 QChar *p = &buf[64];
14169 *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))];
14173 return setUnicode(p,len);
14177 \fn QString &QString::setNum( int n, int base )
14178 Sets the string to the printed value of \a n and returns a reference
14183 \fn QString &QString::setNum( uint n, int base )
14184 Sets the string to the printed unsigned value of \a n and returns a
14185 reference to the string.
14189 \fn QString &QString::setNum( short n, int base )
14190 Sets the string to the printed value of \a n and returns a reference
14195 \fn QString &QString::setNum( ushort n, int base )
14196 Sets the string to the printed unsigned value of \a n and returns a
14197 reference to the string.
14200 /*! Sets the string to the printed value of \a n, formatted in the \a f
14201 format with \a prec precision, and returns a reference to the
14204 \a f can be 'f', 'F', 'e', 'E', 'g' or 'G', all of which have the
14205 same meaning as for sprintf().
14208 QString &QString::setNum( double n, char f, int prec )
14210 #if defined(CHECK_RANGE)
14211 if ( !(f=='f' || f=='F' || f=='e' || f=='E' || f=='g' || f=='G') ) {
14212 qWarning( "QString::setNum: Invalid format char '%c'", f );
14217 char buf[120]; // enough for 99 precision?
14218 char *fs = format; // generate format string
14219 *fs++ = '%'; // "%.<prec>l<f>"
14221 if ( prec > 99 ) // buf big enough for precision?
14224 if ( prec >= 10 ) {
14225 *fs++ = prec / 10 + '0';
14226 *fs++ = prec % 10 + '0';
14228 *fs++ = prec + '0';
14234 ::sprintf( buf, format, n );
14235 return setLatin1(buf);
14239 \overload QString &QString::setNum( float n, char f, int prec )
14244 A convenience factory function that returns a string representation
14245 of the number \a n.
14249 QString QString::number( long n, int base )
14252 s.setNum( n, base );
14257 A convenience factory function that returns a string representation
14258 of the number \a n.
14262 QString QString::number( ulong n, int base )
14265 s.setNum( n, base );
14270 A convenience factory function that returns a string representation
14271 of the number \a n.
14275 QString QString::number( int n, int base )
14278 s.setNum( n, base );
14283 A convenience factory function that returns a string representation
14284 of the number \a n.
14288 QString QString::number( uint n, int base )
14291 s.setNum( n, base );
14296 This static function returns the printed value of \a n, formatted in the
14297 \a f format with \a prec precision.
14299 \a f can be 'f', 'F', 'e', 'E', 'g' or 'G', all of which have the
14300 same meaning as for sprintf().
14304 QString QString::number( double n, char f, int prec )
14307 s.setNum( n, f, prec );
14314 Sets the character at position \a index to \a c and expands the
14315 string if necessary, filling with spaces.
14317 This method is redundant in Qt 2.x, because operator[] will expand
14318 the string as necessary.
14321 void QString::setExpand( uint index, QChar c )
14323 int spaces = index - d->len;
14326 d->unicode[--index]=' ';
14331 \fn const char* QString::data() const
14335 Returns a pointer to a 0-terminated classic C string.
14337 In Qt 1.x, this returned a char* allowing direct manipulation of the
14338 string as a sequence of bytes. In Qt 2.x where QString is a Unicode
14339 string, char* conversion constructs a temporary string, and hence
14340 direct character operations are meaningless.
14344 \fn bool QString::operator!() const
14345 Returns TRUE if it is a null string, otherwise FALSE. Thus
14349 QString name = getName();
14354 Note that if you say:
14357 QString name = getName();
14359 doSomethingWith(name);
14362 Then this will call <tt>operator const char*()</tt>, which will do what
14363 you want, but rather inefficiently - you may wish to define the macro
14364 QT_NO_ASCII_CAST when writing code which you wish to strictly remain
14367 When you want the above semantics, use <tt>!isNull()</tt>
14368 or even <tt>!!</tt>:
14371 QString name = getName();
14373 doSomethingWith(name);
14379 \fn QString& QString::append( const QString& str )
14380 Appends \a str to the string and returns a reference to the result.
14381 Equivalent to operator+=().
14385 \fn QString& QString::append( char ch )
14386 Appends \a ch to the string and returns a reference to the result.
14387 Equivalent to operator+=().
14391 \fn QString& QString::append( QChar ch )
14392 Appends \a ch to the string and returns a reference to the result.
14393 Equivalent to operator+=().
14397 Appends \a str to the string and returns a reference to the string.
14399 QString& QString::operator+=( const QString &str )
14401 uint len1 = length();
14402 uint len2 = str.length();
14404 setLength(len1+len2);
14405 memcpy( d->unicode+len1, str.unicode(), sizeof(QChar)*len2 );
14406 } else if ( isNull() && !str.isNull() ) { // ## just for 1.x compat:
14407 *this = fromLatin1("");
14413 Appends \a c to the string and returns a reference to the string.
14416 QString &QString::operator+=( QChar c )
14418 setLength(length()+1);
14419 d->unicode[length()-1] = c;
14424 Appends \a c to the string and returns a reference to the string.
14427 QString &QString::operator+=( char c )
14429 setLength(length()+1);
14430 d->unicode[length()-1] = c;
14436 /*! \fn char QChar::latin1() const
14438 Returns a latin-1 copy of this character, if this character is in
14439 the latin-1 character set. If not, this function returns 0.
14444 Returns a Latin-1 representation of the string. Note that the returned
14445 value is undefined if the string contains non-Latin-1 characters. If you
14446 want to convert strings into formats other than Unicode, see the
14447 QTextCodec classes.
14449 This function is mainly useful for boot-strapping legacy code to
14452 The result remains valid so long as one unmodified
14453 copy of the source string exists.
14455 \sa utf8(), local8Bit()
14457 const char* QString::latin1() const
14460 if ( d->dirtyascii )
14461 delete [] d->ascii;
14465 Q2HELPER(stat_get_ascii++)
14466 Q2HELPER(stat_get_ascii_size+=d->len)
14467 static QTextCodec* codec = QTextCodec::codecForMib(106);
14468 if (codec) // we use utf8 coding also for latin1 if possible
14470 QCString utf8str(codec->fromUnicode(*this));
14471 d->ascii = new char[utf8str.length()+1];
14472 if (utf8str.isEmpty())
14474 d->ascii[0]='\0'; // make empty string
14476 else // copy string
14478 qstrcpy(d->ascii,utf8str.data());
14481 else // fall back to latin1
14483 d->ascii = unicodeToAscii( d->unicode, d->len );
14485 QCString utf8str(utf8());
14492 This functions simply calls latin1() and returns the result.
14494 const char* QString::ascii() const
14499 #ifndef QT_NO_TEXTCODEC
14501 Returns the string encoded in UTF8 format.
14503 See QTextCodec for more diverse coding/decoding of Unicode strings.
14505 \sa QString::fromUtf8(), local8Bit(), latin1()
14507 QCString QString::utf8() const
14509 static QTextCodec* codec = QTextCodec::codecForMib(106);
14511 ? codec->fromUnicode(*this)
14512 : QCString(latin1());
14516 Returns the unicode string decoded from the
14517 first \a len bytes of \a utf8. If \a len is -1 (the default), the
14518 length of \a utf8 is used. If trailing partial characters are in
14519 \a utf8, they are ignored.
14521 See QTextCodec for more diverse coding/decoding of Unicode strings.
14523 QString QString::fromUtf8(const char* utf8, int len)
14525 static QTextCodec* codec = QTextCodec::codecForMib(106);
14526 if ( len < 0 ) len = qstrlen(utf8);
14528 ? codec->toUnicode(utf8, len)
14529 : QString::fromLatin1(utf8, len);
14531 #endif // QT_NO_TEXTCODEC
14533 Creates a QString from Latin1 text. This is the same as the
14534 QString(const char*) constructor, but you can make that constructor
14535 invisible if you compile with the define QT_NO_CAST_ASCII, in which
14536 case you can explicitly create a QString from Latin-1 text using
14539 QString QString::fromLatin1(const char* chars, int len)
14544 uc = internalAsciiToUnicode(chars,&l);
14546 uc = internalAsciiToUnicode(chars,&l,len);
14548 return QString(new QStringData(uc,l,l), TRUE);
14552 \fn const QChar* QString::unicode() const
14554 Returns the Unicode representation of the string. The result
14555 remains valid until the string is modified.
14559 Returns the string encoded in a locale-specific format. On X11, this
14560 is the QTextCodec::codecForLocale(). On Windows, it is a system-defined
14563 See QTextCodec for more diverse coding/decoding of Unicode strings.
14565 \sa QString::fromLocal8Bit(), latin1(), utf8()
14569 QCString QString::local8Bit() const
14571 #ifdef QT_NO_TEXTCODEC
14575 static QTextCodec* codec = QTextCodec::codecForLocale();
14577 ? codec->fromUnicode(*this)
14578 : QCString(latin1());
14581 static QTextCodec* codec = QTextCodec::codecForLocale();
14583 ? codec->fromUnicode(*this)
14584 : QCString(latin1());
14587 return qt_winQString2MB( *this );
14590 return utf8(); // ##### if there is ANY 8 bit format supported?
14596 Returns the unicode string decoded from the
14597 first \a len bytes of \a local8Bit. If \a len is -1 (the default), the
14598 length of \a local8Bit is used. If trailing partial characters are in
14599 \a local8Bit, they are ignored.
14601 \a local8Bit is assumed to be encoded in a locale-specific format.
14603 See QTextCodec for more diverse coding/decoding of Unicode strings.
14605 QString QString::fromLocal8Bit(const char* local8Bit, int len)
14607 #ifdef QT_NO_TEXTCODEC
14608 return fromLatin1( local8Bit, len );
14612 return QString::null;
14614 static QTextCodec* codec = QTextCodec::codecForLocale();
14615 if ( len < 0 ) len = qstrlen(local8Bit);
14617 ? codec->toUnicode(local8Bit, len)
14618 : QString::fromLatin1(local8Bit,len);
14621 static QTextCodec* codec = QTextCodec::codecForLocale();
14622 if ( len < 0 ) len = qstrlen(local8Bit);
14624 ? codec->toUnicode(local8Bit, len)
14625 : QString::fromLatin1(local8Bit,len);
14627 // Should this be OS_WIN32?
14630 QCString s(local8Bit,len+1);
14631 return qt_winMB2QString(s);
14633 return qt_winMB2QString( local8Bit );
14636 return fromUtf8(local8Bit,len);
14638 #endif // QT_NO_TEXTCODEC
14642 \fn QString::operator const char *() const
14644 Returns latin1(). Be sure to see the warnings documented there.
14645 Note that for new code which you wish to be strictly Unicode-clean,
14646 you can define the macro QT_NO_ASCII_CAST when compiling your code
14647 to hide this function so that automatic casts are not done. This
14648 has the added advantage that you catch the programming error
14649 described under operator!().
14653 \fn QChar QString::at( uint ) const
14655 Returns the character at \a i, or 0 if \a i is beyond the length
14658 Note: If this QString is not const or const&, the non-const at()
14659 will be used instead, which will expand the string if \a i is beyond
14660 the length of the string.
14664 \fn QChar QString::constref(uint i) const
14665 Equivalent to at(i), this returns the QChar at \a i by value.
14671 \fn QChar& QString::ref(uint i)
14672 Returns the QChar at \a i by reference.
14678 \fn QChar QString::operator[](int) const
14680 Returns the character at \a i, or QChar::null if \a i is beyond the
14681 length of the string.
14683 Note: If this QString is not const or const&, the non-const operator[]
14684 will be used instead, which will expand the string if \a i is beyond
14685 the length of the string.
14689 \fn QCharRef QString::operator[](int)
14691 Returns an object that references the character at \a i.
14693 can then be assigned to, or otherwise used immediately, but
14694 becomes invalid once further modifications are made to the string.
14695 The QCharRef internal class can be used much like a constant QChar, but
14696 if you assign to it, you change the original string (which enlarges
14697 and detaches itself). You will get compilation errors if you try to
14698 use the result as anything but a QChar.
14702 \fn QCharRef QString::at( uint i )
14703 Returns a reference to the character at \a i, expanding
14704 the string with QChar::null if necessary. The resulting reference
14705 can then be assigned to, or otherwise used immediately, but
14706 becomes invalid once further modifications are made to the string.
14710 Internal chunk of code to handle the
14711 uncommon cases of at() above.
14713 void QString::subat( uint i )
14715 uint olen = d->len;
14717 setLength( i+1 ); // i is index; i+1 is needed length
14718 for ( uint j=olen; j<=i; j++ )
14719 d->unicode[j] = QChar::null;
14721 // Just be sure to detach
14728 Resizes the string to \a len unicode characters and copies \a unicode
14729 into the string. If \a unicode is null, nothing is copied, but the
14730 string is resized to \a len anyway. If \a len is zero, the string
14731 becomes a \link isNull() null\endlink string.
14733 \sa setLatin1(), isNull()
14736 QString& QString::setUnicode( const QChar *unicode, uint len )
14738 if ( len == 0 ) { // set to null string
14739 if ( d != shared_null ) { // beware of nullstring being set to nullstring
14741 d = shared_null ? shared_null : makeSharedNull();
14744 } else if ( d->count != 1 || len > d->maxl ||
14745 ( len*4 < d->maxl && d->maxl > 4 ) ) { // detach, grown or shrink
14746 Q2HELPER(stat_copy_on_write++)
14747 Q2HELPER(stat_copy_on_write_size+=d->len)
14749 while ( newMax < len )
14751 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
14753 memcpy( nd, unicode, sizeof(QChar)*len );
14755 d = new QStringData( nd, len, newMax );
14760 memcpy( d->unicode, unicode, sizeof(QChar)*len );
14766 Resizes the string to \a len unicode characters and copies
14767 \a unicode_as_ushorts into the string (on some X11 client
14768 platforms this will involve a byte-swapping pass).
14770 If \a unicode is null, nothing is copied, but the
14771 string is resized to \a len anyway. If \a len is zero, the string
14772 becomes a \link isNull() null\endlink string.
14774 \sa setLatin1(), isNull()
14776 QString& QString::setUnicodeCodes( const ushort* unicode_as_ushorts, uint len )
14778 setUnicode((const QChar*)unicode_as_ushorts, len);
14780 if ( unicode_as_ushorts && *((ushort*)&t) == 0x3412 ) {
14781 // Need to byteswap
14782 char* b = (char*)d->unicode;
14787 b += sizeof(QChar);
14795 Sets this string to \a str, interpreted as a classic Latin 1 C string.
14796 If the \a len argument is negative (default), it is set to strlen(str).
14798 If \a str is 0 a null string is created. If \a str is "" an empty
14801 \sa isNull(), isEmpty()
14804 QString &QString::setLatin1( const char *str, int len )
14807 return setUnicode(0,0);
14809 len = qstrlen(str);
14810 if ( len == 0 ) { // won't make a null string
14813 QChar *uc = internalAsciiToUnicode(str,&l);
14814 d = new QStringData(uc,l,l);
14816 setUnicode( 0, len ); // resize but not copy
14817 QChar *p = d->unicode;
14826 \fn int QString::compare (const QString & s1, const QString & s2)
14828 Compare \a s1 to \a s2 returning an integer less than, equal to, or
14829 greater than zero if s1 is, respectively, lexically less than, equal to,
14830 or greater than s2.
14834 Compares this string to \a s, returning an integer less than, equal to, or
14835 greater than zero if it is, respectively, lexically less than, equal to,
14836 or greater than \a s.
14838 int QString::compare( const QString& s ) const
14840 return ucstrcmp(*this,s);
14843 bool operator==( const QString &s1, const QString &s2 )
14845 return (s1.length() == s2.length()) && s1.isNull() == s2.isNull() &&
14846 (memcmp((char*)s1.unicode(),(char*)s2.unicode(),
14847 s1.length()*sizeof(QChar)) ==0);
14850 bool operator!=( const QString &s1, const QString &s2 )
14851 { return !(s1==s2); }
14853 bool operator<( const QString &s1, const QString &s2 )
14854 { return ucstrcmp(s1,s2) < 0; }
14856 bool operator<=( const QString &s1, const QString &s2 )
14857 { return ucstrcmp(s1,s2) <= 0; }
14859 bool operator>( const QString &s1, const QString &s2 )
14860 { return ucstrcmp(s1,s2) > 0; }
14862 bool operator>=( const QString &s1, const QString &s2 )
14863 { return ucstrcmp(s1,s2) >= 0; }
14866 bool operator==( const QString &s1, const char *s2 )
14867 { return s1==QString(s2); }
14869 bool operator==( const char *s1, const QString &s2 )
14870 { return QString(s1)==s2; }
14872 bool operator!=( const QString &s1, const char *s2 )
14873 { return !(s1==s2); }
14875 bool operator!=( const char *s1, const QString &s2 )
14876 { return !(s1==s2); }
14878 bool operator<( const QString &s1, const char *s2 )
14879 { return ucstrcmp(s1,s2) < 0; }
14881 bool operator<( const char *s1, const QString &s2 )
14882 { return ucstrcmp(s1,s2) < 0; }
14884 bool operator<=( const QString &s1, const char *s2 )
14885 { return ucstrcmp(s1,s2) <= 0; }
14887 bool operator<=( const char *s1, const QString &s2 )
14888 { return ucstrcmp(s1,s2) <= 0; }
14890 bool operator>( const QString &s1, const char *s2 )
14891 { return ucstrcmp(s1,s2) > 0; }
14893 bool operator>( const char *s1, const QString &s2 )
14894 { return ucstrcmp(s1,s2) > 0; }
14896 bool operator>=( const QString &s1, const char *s2 )
14897 { return ucstrcmp(s1,s2) >= 0; }
14899 bool operator>=( const char *s1, const QString &s2 )
14900 { return ucstrcmp(s1,s2) >= 0; }
14903 /*****************************************************************************
14904 Documentation for QString related functions
14905 *****************************************************************************/
14908 \fn bool operator==( const QString &s1, const QString &s2 )
14910 Returns TRUE if the two strings are equal, or FALSE if they are different.
14911 A null string is different from an empty, non-null string.
14913 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14917 \fn bool operator==( const QString &s1, const char *s2 )
14919 Returns TRUE if the two strings are equal, or FALSE if they are different.
14921 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14925 \fn bool operator==( const char *s1, const QString &s2 )
14927 Returns TRUE if the two strings are equal, or FALSE if they are different.
14929 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14933 \fn bool operator!=( const QString &s1, const QString &s2 )
14935 Returns TRUE if the two strings are different, or FALSE if they are equal.
14937 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14941 \fn bool operator!=( const QString &s1, const char *s2 )
14943 Returns TRUE if the two strings are different, or FALSE if they are equal.
14945 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14949 \fn bool operator!=( const char *s1, const QString &s2 )
14951 Returns TRUE if the two strings are different, or FALSE if they are equal.
14953 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14957 \fn bool operator<( const QString &s1, const char *s2 )
14959 Returns TRUE if \a s1 is alphabetically less than \a s2, otherwise FALSE.
14961 Equivalent to <code>qstrcmp(s1,s2) \< 0</code>.
14965 \fn bool operator<( const char *s1, const QString &s2 )
14967 Returns TRUE if \a s1 is alphabetically less than \a s2, otherwise FALSE.
14969 Equivalent to <code>qstrcmp(s1,s2) \< 0</code>.
14973 \fn bool operator<=( const QString &s1, const char *s2 )
14975 Returns TRUE if \a s1 is alphabetically less than or equal to \a s2,
14978 Equivalent to <code>qstrcmp(s1,s2) \<= 0</code>.
14982 \fn bool operator<=( const char *s1, const QString &s2 )
14984 Returns TRUE if \a s1 is alphabetically less than or equal to \a s2,
14987 Equivalent to <code>qstrcmp(s1,s2) \<= 0</code>.
14991 \fn bool operator>( const QString &s1, const char *s2 )
14993 Returns TRUE if \a s1 is alphabetically greater than \a s2, otherwise FALSE.
14995 Equivalent to <code>qstrcmp(s1,s2) \> 0</code>.
14999 \fn bool operator>( const char *s1, const QString &s2 )
15001 Returns TRUE if \a s1 is alphabetically greater than \a s2, otherwise FALSE.
15003 Equivalent to <code>qstrcmp(s1,s2) \> 0</code>.
15007 \fn bool operator>=( const QString &s1, const char *s2 )
15009 Returns TRUE if \a s1 is alphabetically greater than or equal to \a s2,
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 greater than or equal to \a s2,
15021 Equivalent to <code>qstrcmp(s1,s2) \>= 0</code>.
15025 \fn QString operator+( const QString &s1, const QString &s2 )
15027 Returns the concatenated string of s1 and s2.
15031 \fn QString operator+( const QString &s1, const char *s2 )
15033 Returns the concatenated string of s1 and s2.
15037 \fn QString operator+( const char *s1, const QString &s2 )
15039 Returns the concatenated string of s1 and s2.
15043 \fn QString operator+( const QString &s, char c )
15045 Returns the concatenated string of s and c.
15049 \fn QString operator+( char c, const QString &s )
15051 Returns the concatenated string of c and s.
15055 /*****************************************************************************
15056 QString stream functions
15057 *****************************************************************************/
15058 #ifndef QT_NO_DATASTREAM
15061 Writes a string to the stream.
15063 \sa \link datastreamformat.html Format of the QDataStream operators \endlink
15066 QDataStream &operator<<( QDataStream &s, const QString &str )
15068 if ( s.version() == 1 ) {
15069 QCString l( str.latin1() );
15073 const char* ub = (const char*)str.unicode();
15074 if ( ub || s.version() < 3 ) {
15075 if ( QChar::networkOrdered() ==
15076 (s.byteOrder()==QDataStream::BigEndian) ) {
15077 s.writeBytes( ub, (int)sizeof(QChar)*str.length() );
15079 static const uint auto_size = 1024;
15082 if ( str.length()*sizeof(QChar) > auto_size ) {
15083 b = new char[str.length()*sizeof(QChar)];
15087 int l = str.length();
15094 s.writeBytes( b, (int)sizeof(QChar)*str.length() );
15095 if ( str.length()*sizeof(QChar) > auto_size )
15099 // write null marker
15100 s << (Q_UINT32)0xffffffff;
15108 Reads a string from the stream.
15110 \sa \link datastreamformat.html Format of the QDataStream operators \endlink
15113 QDataStream &operator>>( QDataStream &s, QString &str )
15115 #ifdef QT_QSTRING_UCS_4
15116 #if defined(_CC_GNU_)
15117 #warning "operator>> not working properly"
15120 if ( s.version() == 1 ) {
15123 str = QString( l );
15127 s >> bytes; // read size of string
15128 if ( bytes == 0xffffffff ) { // null string
15129 str = QString::null;
15130 } else if ( bytes > 0 ) { // not empty
15131 str.setLength( bytes/2 );
15132 char* b = (char*)str.d->unicode;
15133 s.readRawBytes( b, bytes );
15134 if ( QChar::networkOrdered() !=
15135 (s.byteOrder()==QDataStream::BigEndian) ) {
15137 while ( bytes-- ) {
15150 #endif // QT_NO_DATASTREAM
15152 /*****************************************************************************
15153 QConstString member functions
15154 *****************************************************************************/
15157 \class QConstString qstring.h
15158 \brief A QString which uses constant Unicode data.
15160 In order to minimize copying, highly optimized applications can use
15161 QConstString to provide a QString-compatible object from existing
15162 Unicode data. It is then the user's responsibility to make sure
15163 that the Unicode data must exist for the entire lifetime of the
15164 QConstString object.
15168 Constructs a QConstString that uses the first \a length Unicode
15169 characters in the array \a unicode. Any attempt to modify
15170 copies of the string will cause it to create a copy of the
15171 data, thus it remains forever unmodified.
15173 Note that \a unicode is \e not \e copied. The caller \e must be
15174 able to guarantee that \a unicode will not be deleted or
15175 modified. Since that is generally not the case with \c const strings
15176 (they are references), this constructor demands a non-const pointer
15177 even though it never modifies \a unicode.
15179 QConstString::QConstString( QChar* unicode, uint length ) :
15180 QString(new QStringData(unicode, length, length),TRUE)
15185 Destroys the QConstString, creating a copy of the data if
15186 other strings are still using it.
15188 QConstString::~QConstString()
15190 if ( d->count > 1 ) {
15191 QChar* cp = QT_ALLOC_QCHAR_VEC( d->len );
15192 memcpy( cp, d->unicode, d->len*sizeof(QChar) );
15198 // The original d->unicode is now unlinked.
15202 \fn const QString& QConstString::string() const
15204 Returns a constant string referencing the data passed during
15209 Returns whether the strings starts with \a s, or not.
15211 bool QString::startsWith( const QString& s ) const
15213 for ( int i =0; i < (int) s.length(); i++ ) {
15214 if ( i >= (int) length() || d->unicode[i] != s[i] )
15222 #if defined(_OS_WIN32_)
15224 #include <windows.h>
15227 Returns a static Windows TCHAR* from a QString, possibly adding NUL.
15229 The lifetime of the return value is until the next call to this function.
15231 const void* qt_winTchar(const QString& str_in, bool addnul)
15233 // So that the return value lives long enough.
15234 static QString str;
15238 static uint buflen = 256;
15239 static TCHAR *buf = new TCHAR[buflen];
15241 const QChar* uc = str.unicode();
15243 #define EXTEND if (str.length() > buflen) { delete buf; buf = new TCHAR[buflen=str.length()+1]; }
15245 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_)
15247 for ( int i=str.length(); i--; )
15248 buf[i] = uc[i].row() << 8 | uc[i].cell();
15250 buf[str.length()] = 0;
15252 // Same endianness of TCHAR
15255 memcpy(buf,uc,sizeof(TCHAR)*str.length());
15256 buf[str.length()] = 0;
15265 return str.latin1();
15270 Makes a new null terminated Windows TCHAR* from a QString.
15272 void* qt_winTchar_new(const QString& str)
15274 TCHAR* result = new TCHAR[str.length()+1];
15275 memcpy(result, qt_winTchar(str,FALSE), sizeof(TCHAR)*str.length());
15276 result[str.length()] = 0;
15281 Makes a QString from a Windows TCHAR*.
15283 QString qt_winQString(void* tc)
15288 while ( ((TCHAR*)tc)[len] )
15290 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_)
15292 for ( int i=0; i<len; i++ )
15293 r += QChar(((TCHAR*)tc)[i]&0xff,((TCHAR*)tc)[i]>>8);
15296 // Same endianness of TCHAR
15297 return QString((QChar*)tc,len);
15305 QCString qt_winQString2MB( const QString& s, int uclen )
15308 uclen = s.length();
15313 QCString mb(bufSize);
15315 while ( !(len=WideCharToMultiByte(CP_ACP, 0, (const WCHAR*)s.unicode(), uclen,
15316 mb.rawData(), bufSize-1, 0, &used_def)) )
15318 int r = GetLastError();
15319 if ( r == ERROR_INSUFFICIENT_BUFFER ) {
15320 bufSize=1+WideCharToMultiByte( CP_ACP, 0,
15321 (const WCHAR*)s.unicode(), uclen,
15322 0, 0, 0, &used_def);
15323 mb.resize(bufSize);
15324 // and try again...
15327 qWarning("WideCharToMultiByte cannot convert multibyte text (error %d): %s (UTF8)",
15328 r, s.utf8().data());
15336 // WATCH OUT: mblen must include the NUL (or just use -1)
15337 QString qt_winMB2QString( const char* mb, int mblen )
15339 if ( !mb || !mblen )
15340 return QString::null;
15341 const int wclen_auto = 4096;
15342 WCHAR wc_auto[wclen_auto];
15343 int wclen = wclen_auto;
15344 WCHAR *wc = wc_auto;
15346 while ( !(len=MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED,
15347 mb, mblen, wc, wclen )) )
15349 int r = GetLastError();
15350 if ( r == ERROR_INSUFFICIENT_BUFFER ) {
15351 if ( wc != wc_auto ) {
15352 qWarning("Size changed in MultiByteToWideChar");
15355 wclen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED,
15357 wc = new WCHAR[wclen];
15358 // and try again...
15362 qWarning("MultiByteToWideChar cannot convert multibyte text");
15367 return QString::null;
15368 QString s( (QChar*)wc, len-1 ); // len-1: we don't want terminator
15369 if ( wc != wc_auto )
15375 #endif // _OS_WIN32_