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])
11497 // this function is just used in QString::compose()
11498 static inline bool format(QChar::Decomposition tag, QString & str,
11499 int index, int len)
11501 unsigned int l = index + len;
11502 unsigned int r = index;
11504 bool left = FALSE, right = FALSE;
11506 left = ((l < str.length()) &&
11507 ((str[(int)l].joining() == QChar::Dual) ||
11508 (str[(int)l].joining() == QChar::Right)));
11511 //printf("joining(right) = %d\n", str[(int)r].joining());
11512 right = (str[(int)r].joining() == QChar::Dual);
11517 case QChar::Medial:
11518 return (left & right);
11519 case QChar::Initial:
11520 return (left && !right);
11522 return (right);// && !left);
11523 case QChar::Isolated:
11525 return (!right && !left);
11530 QString::compose() and visual() were developed by Gordon Tisher
11531 <tisher@uniserve.ca>, with input from Lars Knoll <knoll@mpi-hd.mpg.de>,
11532 who developed the unicode data tables.
11535 Note that this function is not supported in Qt 2.0, and is merely
11536 for experimental and illustrative purposes. It is mainly of interest
11537 to those experimenting with Arabic and other composition-rich texts.
11539 Applies possible ligatures to a QString, useful when composition-rich
11540 text requires rendering with glyph-poor fonts, but also
11541 makes compositions such as QChar(0x0041) ('A') and QChar(0x0308)
11542 (Unicode accent diaresis) giving QChar(0x00c4) (German A Umlaut).
11544 void QString::compose()
11546 #ifndef QT_NO_UNICODETABLES
11547 unsigned int index=0, len;
11548 unsigned int cindex = 0;
11554 QString composed = *this;
11556 while (index < length()) {
11558 //printf("\n\nligature for 0x%x:\n", code.unicode());
11559 QLigature ligature(code);
11561 while(ligature.current()) {
11562 if ((len = ligature.match(*this, index)) != 0) {
11563 head = ligature.head();
11564 unsigned short code = head.unicode();
11565 // we exclude Arabic presentation forms A and a few
11566 // other ligatures, which are undefined in most fonts
11567 if(!(code > 0xfb50 && code < 0xfe80) &&
11568 !(code > 0xfb00 && code < 0xfb2a)) {
11569 // joining info is only needed for arabic
11570 if (format(ligature.tag(), *this, index, len)) {
11571 //printf("using ligature 0x%x, len=%d\n",code,len);
11573 composed.replace(cindex, len, QChar(head));
11575 // we continue searching in case we have a final
11576 // form because medial ones are preferred.
11577 if ( len != 1 || ligature.tag() !=QChar::Final )
11591 static QChar LRM ((ushort)0x200e);
11592 static QChar RLM ((ushort)0x200f);
11593 static QChar LRE ((ushort)0x202a);
11594 static QChar RLE ((ushort)0x202b);
11595 static QChar RLO ((ushort)0x202e);
11596 static QChar LRO ((ushort)0x202d);
11597 static QChar PDF ((ushort)0x202c);
11600 static inline bool is_arabic(unsigned short x) {
11601 return (((x >= 0x0600) && (x <= 0x07bf)) ||
11602 ((x >= 0xfb50) && (x <= 0xfdff)) ||
11603 ((x >= 0xfe70) && (x <= 0xfeff)));
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));
11616 This function returns the basic directionality of the string (QChar::DirR for
11617 right to left and QChar::DirL for left to right). Useful to find the right
11620 QChar::Direction QString::basicDirection()
11622 #ifndef QT_NO_UNICODETABLES
11623 // find base direction
11624 unsigned int pos = 0;
11625 while ((pos < length()) &&
11626 (at(pos) != RLE) &&
11627 (at(pos) != LRE) &&
11628 (at(pos) != RLO) &&
11629 (at(pos) != LRO) &&
11630 (at(pos).direction() > 1) &&
11631 (at(pos).direction() != QChar::DirAL)) // not R and not L
11634 if ((at(pos).direction() == QChar::DirR) ||
11635 (at(pos).direction() == QChar::DirAL) ||
11636 (at(pos) == RLE) ||
11638 return QChar::DirR;
11641 return QChar::DirL;
11644 #ifndef QT_NO_UNICODETABLES
11645 // reverses part of the QChar array to get visual ordering
11646 // called from QString::visual()
11648 static unsigned int reverse( QString &chars, unsigned char *level,
11649 unsigned int a, unsigned int b)
11651 unsigned int c = a;
11652 unsigned char lev = level[c];
11654 while ((c < b) && (level[c] >= lev)) {
11655 if (level[c] > lev)
11656 c = reverse(chars, level, c, b);
11662 unsigned int d = a, e = c-1;
11664 temp = chars[(int)d];
11665 chars[(int)d] = chars[(int)e];
11666 chars[(int)e] = temp;
11675 // small class used for the ordering algorithm in QString::visual()
11678 unsigned char level;
11679 signed char override;
11681 QBidiState(unsigned char l, signed char o) : level(l), override(o) {};
11684 // matrix for resolving neutral types
11686 #define NEG1 (QChar::Direction)(-1)
11688 static QChar::Direction resolv[5][5] =
11690 { NEG1, QChar::DirR, QChar::DirL, QChar::DirEN, QChar::DirAN },
11691 { QChar::DirR, QChar::DirR, NEG1, QChar::DirR, QChar::DirR },
11692 { QChar::DirL, NEG1, QChar::DirL, QChar::DirL, NEG1 },
11693 { QChar::DirEN, QChar::DirR, QChar::DirL, QChar::DirEN, QChar::DirR },
11694 { QChar::DirAN, QChar::DirR, NEG1, NEG1, QChar::DirAN }
11700 This function returns the QString ordered visually. Useful for
11701 painting the string or when transforming to a visually ordered
11704 QString QString::visual(int index, int len)
11706 #ifndef QT_NO_UNICODETABLES
11707 // #### This needs much more optimizing - it is called for
11708 // #### every text operation.
11710 unsigned char *level;
11711 QChar::Direction *dir;
11712 unsigned char base = 0;
11714 unsigned int l = length();
11718 len = length()-index;
11719 if ((uint)index > l)
11720 return QString::null;
11722 // find base direction
11723 unsigned int pos = 0;
11724 while ((pos < length()) &&
11725 (at(pos) != RLE) &&
11726 (at(pos) != LRE) &&
11727 (at(pos) != RLO) &&
11728 (at(pos) != LRO) &&
11729 (at(pos).direction() > 1) &&
11730 (at(pos).direction() != QChar::DirAL)
11731 ) // not R and not L
11734 if ((pos < length()) &&
11735 ((at(pos).direction() == QChar::DirR) ||
11736 (at(pos).direction() == QChar::DirAL) ||
11737 (at(pos) == RLE) ||
11741 // is there any BiDi char at all?
11742 if ( base == 0 && pos == l ) {
11743 return mid(index, len);
11747 level = new uchar[l];
11748 dir = new QChar::Direction[l];
11750 // explicit override pass
11751 //unsigned int code_count = 0;
11753 QStack<QBidiState> stack;
11754 stack.setAutoDelete(TRUE);
11756 unsigned char clevel = base;
11757 signed char override = -1;
11759 for (pos = 0; pos < l; pos++) {
11761 if (at(pos) == RLE) {
11763 stack.push(new QBidiState(clevel, override));
11765 clevel += 1 + clevel % 2;
11768 else if (at(pos) == LRE) {
11770 stack.push(new QBidiState(clevel, override));
11772 clevel += 2 - clevel % 2;
11775 else if (at(pos) == RLO) {
11777 stack.push(new QBidiState(clevel, override));
11779 clevel += 1 + clevel % 2;
11780 override = QChar::DirR;
11782 else if (at(pos) == LRO) {
11784 stack.push(new QBidiState(clevel, override));
11786 clevel += 2 - clevel % 2;
11787 override = QChar::DirL;
11789 else if (at(pos) == PDF) {
11791 if (!stack.isEmpty()) {
11792 override = stack.top()->override;
11793 clevel = stack.top()->level;
11798 // TODO: catch block separators (newlines, paras, etc.)
11800 level[pos] = clevel;
11801 if (override != -1)
11802 dir[pos] = (QChar::Direction) override;
11804 dir[pos] = at(pos).direction();
11808 for (pos = 0; pos < l; pos++) {
11812 switch (at(pos).direction()) {
11816 !(at(i).direction() == QChar::DirAN) &&
11817 !(at(i).direction() == QChar::DirAL) &&
11818 !(at(i).direction() == QChar::DirB))
11822 ((at(i).direction() == QChar::DirAN) ||
11823 (at(i).direction() == QChar::DirAL)))
11824 dir[pos] = QChar::DirAN;
11829 if ((pos > 0) && (pos < l-1) &&
11830 (dir[pos-1] == dir[pos+1]))
11831 dir[pos] = dir[pos-1];
11833 dir[pos] = QChar::DirON;
11837 if (((pos > 0) && (dir[pos-1] == QChar::DirEN)) ||
11838 ((pos < l-1) && (dir[pos+1] == QChar::DirEN)))
11839 dir[pos] = QChar::DirEN;
11841 dir[pos] = QChar::DirON;
11845 dir[pos] = QChar::DirR;
11852 // neutral type pass
11853 for (pos = 0; pos < l; pos++) {
11854 QChar::Direction left,right; // declaring l here shadowed previous l
11856 if (is_neutral(dir[pos])) {
11860 left = (base == 0 ? QChar::DirL : QChar::DirR);
11864 while ((i < (int)l-1) && is_neutral(dir[i+1]))
11870 right = (base == 0 ? QChar::DirL : QChar::DirR);
11872 for (int j=pos; j <= i; j++) {
11874 while ((a < 5) && (left != resolv[0][a]))
11876 while ((b < 5) && (right != resolv[0][b]))
11878 if ((a == 5) || (b == 5))
11879 dir[j] = (base == 0 ? QChar::DirL : QChar::DirR);
11881 dir[j] = resolv[a][b];
11883 if (dir[j] == (QChar::Direction)(-1))
11884 dir[j] = (base == 0 ? QChar::DirL : QChar::DirR);
11889 // implicit level pass
11890 QChar::Direction prec = (base == 0 ? QChar::DirL : QChar::DirR);
11892 for (pos = 0; pos < l; pos++) {
11893 if (level[pos] % 2) {
11894 switch (dir[pos]) {
11904 switch (dir[pos]) {
11912 if (prec == QChar::DirL)
11926 // now do the work!
11927 QString ret(*this);
11928 reverse(ret, level, index, index+len);
11935 return mid(index,len);
11941 // These macros are used for efficient allocation of QChar strings.
11942 // IMPORTANT! If you change these, make sure you also change the
11943 // "delete unicode" statement in ~QStringData() in qstring.h correspondingly!
11945 #define QT_ALLOC_QCHAR_VEC( N ) (QChar*) new char[ sizeof(QChar)*( N ) ]
11946 #define QT_DELETE_QCHAR_VEC( P ) delete[] ((char*)( P ))
11950 This utility function converts the 8-bit string
11951 \a ba to Unicode, returning the result.
11953 The caller is responsible for deleting the return value with delete[].
11956 QChar* QString::asciiToUnicode( const QByteArray& ba, uint* len )
11958 if ( ba.isNull() ) {
11963 while ( l < (int)ba.size() && ba[l] )
11965 char* str = ba.data();
11966 QChar *uc = new QChar[ l ]; // Can't use macro, since function is public
11967 QChar *result = uc;
11975 static QChar* internalAsciiToUnicode( const QByteArray& ba, uint* len )
11977 if ( ba.isNull() ) {
11982 while ( l < (int)ba.size() && ba[l] )
11984 char* str = ba.data();
11985 QChar *uc = QT_ALLOC_QCHAR_VEC( l );
11986 QChar *result = uc;
11995 This utility function converts the NUL-terminated 8-bit string
11996 \a str to Unicode, returning the result and setting \a len to
11997 the length of the Unicode string.
11999 The caller is responsible for deleting the return value with delete[].
12002 QChar* QString::asciiToUnicode( const char *str, uint* len, uint maxlen )
12007 if ( maxlen != (uint)-1 ) {
12008 while ( l < maxlen && str[l] )
12014 QChar *uc = new QChar[ l ]; // Can't use macro since function is public
12025 static QChar* internalAsciiToUnicode( const char *str, uint* len,
12026 uint maxlen = (uint)-1 )
12031 if ( maxlen != (uint)-1 ) {
12032 while ( l < maxlen && str[l] )
12038 QChar *uc = QT_ALLOC_QCHAR_VEC( l );
12050 This utility function converts \a l 16-bit characters from
12051 \a uc to ASCII, returning a NUL-terminated string.
12053 The caller is responsible for deleting the string with delete[].
12055 char* QString::unicodeToAscii(const QChar *uc, uint l)
12060 char *a = new char[l+1];
12068 static uint computeNewMax( uint len )
12070 if (len >= 0x80000000)
12074 while ( newMax < len )
12076 // try to save some memory
12077 if ( newMax >= 1024 * 1024 && len <= newMax - (newMax >> 2) )
12078 newMax -= newMax >> 2;
12083 Returns the QString as a zero terminated array of unsigned shorts
12084 if the string is not null; otherwise returns zero.
12086 The result remains valid so long as one unmodified
12087 copy of the source string exists.
12089 const unsigned short *QString::ucs2() const
12091 if ( ! d->unicode )
12093 unsigned int len = d->len;
12094 if ( d->maxl < len + 1 ) {
12095 // detach, grow or shrink
12096 uint newMax = computeNewMax( len + 1 );
12097 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
12100 memcpy( nd, d->unicode, sizeof(QChar)*len );
12101 ((QString *)this)->deref();
12102 ((QString *)this)->d = new QStringData( nd, len, newMax );
12105 d->unicode[len] = 0;
12106 return (unsigned short *) d->unicode;
12110 Constructs a string that is a deep copy of \a str, interpreted as a
12111 UCS2 encoded, zero terminated, Unicode string.
12113 If \a str is 0, then a null string is created.
12116 QString QString::fromUcs2( const unsigned short *str )
12119 return QString::null;
12122 while ( str[length] != 0 )
12124 QChar* uc = QT_ALLOC_QCHAR_VEC( length );
12125 memcpy( uc, str, length*sizeof(QChar) );
12126 return QString( new QStringData( uc, length, length ), TRUE );
12131 /*****************************************************************************
12132 QString member functions
12133 *****************************************************************************/
12136 \class QString qstring.h
12138 \brief The QString class provides an abstraction of Unicode text and
12139 the classic C null-terminated char array (<var>char*</var>).
12144 QString uses \link shclass.html implicit sharing\endlink, and so it
12145 is very efficient and easy to use.
12147 In all QString methods that take <var>const char*</var> parameters,
12148 the <var>const char*</var> is interpreted as a classic C-style
12149 0-terminated ASCII string. It is legal for the <var>const
12150 char*</var> parameter to be 0. The results are undefined if the
12151 <var>const char*</var> string is not 0-terminated. Functions that
12152 copy classic C strings into a QString will not copy the terminating
12153 0-character. The QChar array of the QString (as returned by
12154 unicode()) is not terminated by a null.
12156 A QString that has not been assigned to anything is \a null, i.e. both
12157 the length and data pointer is 0. A QString that references the empty
12158 string ("", a single '\0' char) is \a empty. Both null and empty
12159 QStrings are legal parameters to the methods. Assigning <var>const char
12160 * 0</var> to QString gives a null QString.
12162 Note that if you find that you are mixing usage of QCString, QString,
12163 and QByteArray, this causes lots of unnecessary copying and might
12164 indicate that the true nature of the data you are dealing with is
12165 uncertain. If the data is NUL-terminated 8-bit data, use QCString;
12166 if it is unterminated (ie. contains NULs) 8-bit data, use QByteArray;
12167 if it is text, use QString.
12169 \sa QChar \link shclass.html Shared classes\endlink
12172 Q_EXPORT QStringData *QString::shared_null = 0;
12173 //QT_STATIC_CONST_IMPL QString QString::null;
12174 QT_STATIC_CONST_IMPL QChar QChar::null;
12175 QT_STATIC_CONST_IMPL QChar QChar::replacement((ushort)0xfffd);
12176 QT_STATIC_CONST_IMPL QChar QChar::byteOrderMark((ushort)0xfeff);
12177 QT_STATIC_CONST_IMPL QChar QChar::byteOrderSwapped((ushort)0xfffe);
12178 QT_STATIC_CONST_IMPL QChar QChar::nbsp((ushort)0x00a0);
12180 #if defined(_CC_MSVC_) && _MSC_VER <= 1300
12181 const QString::Null QString::null;
12183 const QString::Null QString::null = { };
12187 QStringData* QString::makeSharedNull()
12189 return shared_null=new QStringData;
12192 // Uncomment this to get some useful statistics.
12193 // #define Q2HELPER(x) x
12196 static int stat_construct_charstar=0;
12197 static int stat_construct_charstar_size=0;
12198 static int stat_construct_null=0;
12199 static int stat_construct_int=0;
12200 static int stat_construct_int_size=0;
12201 static int stat_construct_ba=0;
12202 static int stat_get_ascii=0;
12203 static int stat_get_ascii_size=0;
12204 static int stat_copy_on_write=0;
12205 static int stat_copy_on_write_size=0;
12206 static int stat_fast_copy=0;
12207 Q_EXPORT void qt_qstring_stats()
12209 qDebug("construct_charstar = %d (%d chars)", stat_construct_charstar, stat_construct_charstar_size);
12210 qDebug("construct_null = %d", stat_construct_null);
12211 qDebug("construct_int = %d (%d chars)", stat_construct_int, stat_construct_int_size);
12212 qDebug("construct_ba = %d", stat_construct_ba);
12213 qDebug("get_ascii = %d (%d chars)", stat_get_ascii, stat_get_ascii_size);
12214 qDebug("copy_on_write = %d (%d chars)", stat_copy_on_write, stat_copy_on_write_size);
12215 qDebug("fast_copy = %d", stat_fast_copy);
12218 #define Q2HELPER(x)
12222 \fn QString::QString()
12224 Constructs a null string.
12229 Constructs a string containing the one character \a ch.
12231 QString::QString( QChar ch )
12233 d = new QStringData( QT_ALLOC_QCHAR_VEC( 1 ), 1, 1 );
12234 d->unicode[0] = ch;
12238 Constructs an implicitly-shared copy of \a s.
12240 QString::QString( const QString &s ) :
12243 Q2HELPER(stat_fast_copy++)
12250 Constructs a string with preallocated space for \a size characters.
12252 The string is empty.
12257 QString::QString( int size, bool /*dummy*/ )
12260 Q2HELPER(stat_construct_int++)
12262 Q2HELPER(stat_construct_int_size+=l)
12263 QChar* uc = QT_ALLOC_QCHAR_VEC( l );
12264 d = new QStringData( uc, 0, l );
12266 Q2HELPER(stat_construct_null++)
12267 d = shared_null ? shared_null : (shared_null=new QStringData);
12273 Constructs a string that is a deep copy of \a ba interpreted as
12274 a classic C string.
12277 QString::QString( const QByteArray& ba )
12279 Q2HELPER(stat_construct_ba++)
12281 QChar *uc = internalAsciiToUnicode(ba,&l);
12282 d = new QStringData(uc,l,l);
12285 QString::QString( const QCString& ba )
12287 //Q2HELPER(stat_construct_ba++)
12289 //QChar *uc = internalAsciiToUnicode(ba,&l);
12290 //d = new QStringData(uc,l,l);
12291 Q2HELPER(stat_fast_copy++)
12292 QString s = QString::fromUtf8(ba.data(),ba.length());
12298 Constructs a string that is a deep copy of the
12299 first \a length QChar in the array \a unicode.
12301 If \a unicode and \a length are 0, a null string is created.
12303 If only \a unicode is 0, the string is empty, but has
12304 \a length characters of space preallocated - QString expands
12305 automatically anyway, but this may speed some cases up a little.
12310 QString::QString( const QChar* unicode, uint length )
12312 if ( !unicode && !length ) {
12313 d = shared_null ? shared_null : makeSharedNull();
12316 QChar* uc = QT_ALLOC_QCHAR_VEC( length );
12318 memcpy(uc, unicode, length*sizeof(QChar));
12319 d = new QStringData(uc,unicode ? length : 0,length);
12324 Constructs a string that is a deep copy of \a str, interpreted as a
12327 If \a str is 0 a null string is created.
12329 This is a cast constructor, but it is perfectly safe: converting a Latin1
12330 const char* to QString preserves all the information.
12331 You can disable this constructor by
12332 defining QT_NO_CAST_ASCII when you compile your applications.
12333 You can also make QString objects by using setLatin1()/fromLatin1(), or
12334 fromLocal8Bit(), fromUtf8(), or whatever encoding is appropriate for
12335 the 8-bit data you have.
12340 QString::QString( const char *str )
12342 //Q2HELPER(stat_construct_charstar++)
12344 //QChar *uc = internalAsciiToUnicode(str,&l);
12345 //Q2HELPER(stat_construct_charstar_size+=l)
12346 //d = new QStringData(uc,l,l);
12347 Q2HELPER(stat_fast_copy++)
12348 QString s = QString::fromUtf8(str);
12354 /*! \fn QString::~QString()
12356 Destroys the string and frees the "real" string, if this was the last
12357 copy of that string.
12362 Deallocates any space reserved solely by this QString.
12365 void QString::real_detach()
12367 setLength( length() );
12370 void QString::deref()
12372 if ( d->deref() ) {
12373 if ( d == shared_null )
12376 d = 0; // helps debugging
12380 void QStringData::deleteSelf()
12386 \fn QString& QString::operator=( QChar c )
12387 Sets the string to contain just the single character \a c.
12391 \fn QString& QString::operator=( char c )
12392 Sets the string to contain just the single character \a c.
12396 Assigns a shallow copy of \a s to this string and returns a
12397 reference to this string.
12399 QString &QString::operator=( const QString &s )
12401 Q2HELPER(stat_fast_copy++)
12409 Assigns a deep copy of \a cs, interpreted as a classic C string, to
12410 this string and returns a reference to this string.
12412 QString &QString::operator=( const QCString& cs )
12414 return setLatin1(cs);
12419 Assigns a deep copy of \a str, interpreted as a classic C string,
12420 to this string and returns a reference to this string.
12422 If \a str is 0 a null string is created.
12426 QString &QString::operator=( const char *str )
12428 return setLatin1(str);
12433 \fn bool QString::isNull() const
12435 Returns TRUE if the string is null.
12436 A null string is also an empty string.
12440 QString a; // a.unicode() == 0, a.length() == 0
12441 QString b = ""; // b.unicode() == "", b.length() == 0
12442 a.isNull(); // TRUE, because a.unicode() == 0
12443 a.isEmpty(); // TRUE, because a.length() == 0
12444 b.isNull(); // FALSE, because b.unicode() != 0
12445 b.isEmpty(); // TRUE, because b.length() == 0
12448 \sa isEmpty(), length()
12452 \fn bool QString::isEmpty() const
12454 Returns TRUE if the string is empty, i.e. if length() == 0.
12455 An empty string is not always a null string.
12457 See example in isNull().
12459 \sa isNull(), length()
12463 \fn uint QString::length() const
12465 Returns the length of the string.
12467 Null strings and empty strings have zero length.
12469 \sa isNull(), isEmpty()
12473 Truncates the string at position \a newLen if newLen is less than the
12474 current length . Otherwise, nothing happens.
12478 QString s = "truncate this string";
12479 s.truncate( 5 ); // s == "trunc"
12482 In Qt 1.x, it was possible to "truncate" a string to a longer
12483 length. This is no longer possible.
12487 void QString::truncate( uint newLen )
12489 if ( newLen < d->len )
12490 setLength( newLen );
12493 /*### Make this public in 3.0
12494 Ensures that at least \a newLen characters are allocated, and
12495 sets the length to \a newLen. This function always detaches the
12496 string from other references to the same data. Any new space
12497 allocated is \e not defined.
12499 If \a newLen is 0, this string becomes empty, unless this string is
12500 null, in which case it remains null.
12502 \sa truncate(), isNull(), isEmpty()
12505 void QString::setLength( uint newLen )
12507 if ( d->count != 1 || newLen > d->maxl || // detach, grow, or
12508 ( newLen*4 < d->maxl && d->maxl > 4 ) ) { // shrink
12509 Q2HELPER(stat_copy_on_write++)
12510 Q2HELPER(stat_copy_on_write_size+=d->len)
12512 while ( newMax < newLen )
12514 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
12515 uint len = QMIN( d->len, newLen );
12517 memcpy( nd, d->unicode, sizeof(QChar)*len );
12519 d = new QStringData( nd, newLen, newMax );
12526 /*! Returns a string equal to this one, but with the lowest-numbered
12527 occurrence of \c %i (for a positive integer i) replaced by \a a.
12530 label.setText( tr("Rename %1 to %2?").arg(oldName).arg(newName) );
12533 \a fieldwidth is the minimum amount of space \a a is padded to. A
12534 positive value produces right-aligned text, while a negative value
12535 produces left aligned text.
12537 \warning Using arg() for constructing "real" sentences
12538 programmatically is likely to lead to translation problems.
12539 Inserting objects like numbers or file names is fairly safe.
12541 \warning Relying on spaces to create alignment is prone to lead to
12542 translation problems.
12544 If there is no \c %i pattern, a warning message (qWarning()) is
12545 printed and the text as appended at the end of the string. This is
12546 error recovery and should not occur in correct code.
12550 QString QString::arg(const QString& a, int fieldwidth) const
12555 if ( !findArg( pos, len ) ) {
12556 qWarning( "QString::arg(): Argument missing: %s, %s",
12557 (const char *)ascii(), (const char *)ascii() );
12558 // Make sure the text at least appears SOMEWHERE
12564 r.replace( pos, len, a );
12565 if ( fieldwidth < 0 ) {
12567 while ( (uint)-fieldwidth > a.length() ) {
12571 r.insert( pos + a.length(), s );
12572 } else if ( fieldwidth ) {
12574 while ( (uint)fieldwidth > a.length() ) {
12578 r.insert( pos, s );
12587 \a a is expressed in to \a base notation, which is decimal by
12588 default and must be in the range 2-36 inclusive.
12590 QString QString::arg(long a, int fieldwidth, int base) const
12592 return arg( QString::number( a, base ), fieldwidth );
12597 \a a is expressed in to \a base notation, which is decimal by
12598 default and must be in the range 2-36 inclusive.
12600 QString QString::arg(ulong a, int fieldwidth, int base) const
12602 return arg( QString::number( a, base ), fieldwidth );
12606 \overload QString QString::arg(int a, int fieldwidth, int base) const
12608 \a a is expressed in to \a base notation, which is decimal by
12609 default and must be in the range 2-36 inclusive.
12614 \overload QString QString::arg(uint a, int fieldwidth, int base) const
12616 \a a is expressed in to \a base notation, which is decimal by
12617 default and must be in the range 2-36 inclusive.
12621 \overload QString QString::arg(short a, int fieldwidth, int base) const
12623 \a a is expressed in to \a base notation, which is decimal by
12624 default and must be in the range 2-36 inclusive.
12628 \overload QString QString::arg(ushort a, int fieldwidth, int base) const
12630 \a a is expressed in to \a base notation, which is decimal by
12631 default and must be in the range 2-36 inclusive.
12637 \a a is assumed to be in the Latin1 character set.
12639 QString QString::arg(char a, int fieldwidth) const
12643 return arg( c, fieldwidth );
12648 QString QString::arg(QChar a, int fieldwidth) const
12652 return arg( c, fieldwidth );
12657 \a is formatted according to the \a fmt format specified, which is
12658 'g' by default and can be any of 'f', 'F', 'e', 'E', 'g' or 'G', all
12659 of which have the same meaning as for sprintf(). \a prec determines
12660 the precision, just as for number() and sprintf().
12662 QString QString::arg(double a, int fieldwidth, char fmt, int prec) const
12664 return arg( QString::number( a, fmt, prec ), fieldwidth );
12669 Just 1-digit arguments.
12671 bool QString::findArg(int& pos, int& len) const
12674 for (uint i=0; i<length(); i++) {
12675 if ( at(i) == '%' && i+1<length() ) {
12676 char dig = at(i+1);
12677 if ( dig >= '0' && dig <= '9' ) {
12678 if ( !lowest || dig < lowest ) {
12686 return lowest != 0;
12690 Safely builds a formatted string from a format string and an
12691 arbitrary list of arguments. The format string supports all
12692 the escape sequences of printf() in the standard C library.
12694 The %s escape sequence expects a utf8() encoded string.
12695 The format string \e cformat is expected to be in latin1. If you need a unicode
12696 format string, use QString::arg() instead. For typesafe
12697 string building, with full Unicode support, you can use QTextOStream
12704 QTextOStream(&str) << s << " : " << x;
12707 For \link QObject::tr() translations,\endlink especially if the
12708 strings contains more than one escape sequence, you should consider
12709 using the arg() function instead. This allows the order of the
12710 replacements to be controlled by the translator, and has Unicode
12716 QString &QString::sprintf( const char* cformat, ... )
12719 va_start( ap, cformat );
12721 if ( !cformat || !*cformat ) {
12723 *this = QString::fromLatin1( "" );
12726 QString format = QString::fromLatin1( cformat );
12728 static QRegExp *escape = 0;
12730 escape = new QRegExp( "%#?0?-? ?\\+?'?[0-9*]*\\.?[0-9*]*h?l?L?q?Z?" );
12738 pos = escape->match( cformat, last, &len );
12739 // Non-escaped text
12740 if ( pos > (int)last )
12741 result += format.mid(last,pos-last);
12744 if ( last < format.length() )
12745 result += format.mid(last);
12748 last = pos + len + 1;
12751 QString f = format.mid( pos, len );
12752 uint width, decimals;
12754 int wpos = f.find('*');
12757 width = va_arg( ap, int );
12758 if ( f.find('*', wpos + 1) >= 0 ) {
12759 decimals = va_arg( ap, int );
12765 decimals = width = 0;
12767 QString replacement;
12768 if ( format[pos+len] == 's' ||
12769 format[pos+len] == 'S' ||
12770 format[pos+len] == 'c' )
12772 bool rightjust = ( f.find('-') < 0 );
12773 // Yes, %-5s really means left adjust in sprintf
12776 QRegExp num( "[0-9]+" );
12777 QRegExp dot( "\\." );
12779 int p = num.match( f.data(), 0, &nlen );
12780 int q = dot.match( f.data(), 0 );
12781 if ( q < 0 || (p < q && p >= 0) )
12782 width = f.mid( p, nlen ).toInt();
12784 p = num.match( f.data(), q );
12785 // "decimals" is used to specify string truncation
12787 decimals = f.mid( p, nlen ).toInt();
12791 if ( format[pos+len] == 's' ) {
12792 #ifndef QT_NO_TEXTCODEC
12793 QString s = QString::fromUtf8(va_arg(ap, char*));
12795 QString s = QString::fromLatin1(va_arg(ap, char*));
12797 if ( decimals <= 0 )
12800 replacement = s.left(decimals);
12802 int ch = va_arg(ap, int);
12803 replacement = QChar((ushort)ch);
12805 if ( replacement.length() < width ) {
12806 replacement = rightjust
12807 ? replacement.rightJustify(width)
12808 : replacement.leftJustify(width);
12810 } else if ( format[pos+len] == '%' ) {
12812 } else if ( format[pos+len] == 'n' ) {
12813 int* n = va_arg(ap, int*);
12814 *n = result.length();
12816 char in[64], out[330] = "";
12817 strncpy(in,f.latin1(),63);
12818 char fch = format[pos+len].latin1();
12819 in[f.length()] = fch;
12821 case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': {
12822 int value = va_arg(ap, int);
12824 case 0: ::sprintf( out, in, value ); break;
12825 case 1: ::sprintf( out, in, width, value ); break;
12826 case 2: ::sprintf( out, in, width, decimals, value ); break;
12829 case 'e': case 'E': case 'f': case 'g': case 'G': {
12830 double value = va_arg(ap, double);
12832 case 0: ::sprintf( out, in, value ); break;
12833 case 1: ::sprintf( out, in, width, value ); break;
12834 case 2: ::sprintf( out, in, width, decimals, value ); break;
12838 void* value = va_arg(ap, void*);
12840 case 0: ::sprintf( out, in, value ); break;
12841 case 1: ::sprintf( out, in, width, value ); break;
12842 case 2: ::sprintf( out, in, width, decimals, value ); break;
12846 replacement = QString::fromLatin1(out);
12848 result += replacement;
12857 Fills the string with \a len characters of value \a c.
12859 If \a len is negative, the current string length is used.
12862 void QString::fill( QChar c, int len )
12870 QChar * nd = QT_ALLOC_QCHAR_VEC( len );
12871 d = new QStringData(nd,len,len);
12872 while (len--) *nd++ = c;
12878 \fn QString QString::copy() const
12882 Returns a deep copy of this string.
12884 Doing this is redundant in Qt 2.x, since QString is implicitly
12885 shared, and so will automatically be deeply copied as necessary.
12889 Finds the first occurrence of the character \a c, starting at
12890 position \a index. If \a index is -1, the search starts at the
12891 last character; if -2, at the next to last character; etc.
12893 The search is case sensitive if \a cs is TRUE, or case insensitive
12896 Returns the position of \a c, or -1 if \a c could not be found.
12899 int QString::find( QChar c, int index, bool cs ) const
12903 if ( (uint)index >= length() ) // index outside string
12905 register const QChar *uc;
12906 uc = unicode()+index;
12907 int n = length()-index;
12909 while ( n-- && *uc != c )
12913 while ( n-- && uc->lower() != c )
12916 if ( uint(uc - unicode()) >= length() )
12918 return (int)(uc - unicode());
12922 Finds the first occurrence of the string \a str, starting at position
12923 \a index. If \a index is -1, the search starts at the last character;
12924 if -2, at the next to last character; etc.
12926 The search is case sensitive if \a cs is TRUE, or case insensitive if
12929 Returns the position of \a str, or -1 if \a str could not be found.
12932 int QString::find( const QString& str, int index, bool cs ) const
12935 We use some weird hashing for efficiency's sake. Instead of
12936 comparing strings, we compare the hash value of str with that of
12937 a part of this QString. Only if that matches, we call ucstrncmp
12940 The hash value of a string is the sum of the cells of its
12945 int lstr = str.length();
12946 int lthis = length() - index;
12947 if ( (uint)lthis > length() )
12949 int delta = lthis - lstr;
12953 const QChar *uthis = unicode() + index;
12954 const QChar *ustr = str.unicode();
12959 for ( i = 0; i < lstr; i++ ) {
12960 hthis += uthis[i].cell();
12961 hstr += ustr[i].cell();
12965 if ( hthis == hstr && ucstrncmp(uthis + i, ustr, lstr) == 0 )
12969 hthis += uthis[i + lstr].cell();
12970 hthis -= uthis[i].cell();
12974 for ( i = 0; i < lstr; i++ ) {
12975 hthis += uthis[i].lower().cell();
12976 hstr += ustr[i].lower().cell();
12980 if ( hthis == hstr && ucstrnicmp(uthis + i, ustr, lstr) == 0 )
12984 hthis += uthis[i + lstr].lower().cell();
12985 hthis -= uthis[i].lower().cell();
12989 #if defined(Q_SPURIOUS_NON_VOID_WARNING)
12995 \fn int QString::findRev( const char* str, int index ) const
12997 Equivalent to findRev(QString(str), index).
13001 \fn int QString::find( const char* str, int index ) const
13003 Equivalent to find(QString(str), index).
13007 Finds the first occurrence of the character \a c, starting at
13008 position \a index and searching backwards. If \a index is -1,
13009 the search starts at the last character; if -2, at the next to
13010 last character; etc.
13012 The search is case sensitive if \a cs is TRUE, or case insensitive if \a
13015 Returns the position of \a c, or -1 if \a c could not be found.
13018 int QString::findRev( QChar c, int index, bool cs ) const
13021 return findRev( t, index, cs );
13025 Finds the first occurrence of the string \a str, starting at
13026 position \a index and searching backwards. If \a index is -1,
13027 the search starts at the last character; -2, at the next to last
13030 The search is case sensitive if \a cs is TRUE, or case insensitive if \e
13033 Returns the position of \a str, or -1 if \a str could not be found.
13036 int QString::findRev( const QString& str, int index, bool cs ) const
13039 See QString::find() for explanations.
13041 int lthis = length();
13045 int lstr = str.length();
13046 int delta = lthis - lstr;
13047 if ( index < 0 || index > lthis || delta < 0 )
13049 if ( index > delta )
13052 const QChar *uthis = unicode();
13053 const QChar *ustr = str.unicode();
13058 for ( i = 0; i < lstr; i++ ) {
13059 hthis += uthis[index + i].cell();
13060 hstr += ustr[i].cell();
13064 if ( hthis == hstr && ucstrncmp(uthis + i, ustr, lstr) == 0 )
13069 hthis -= uthis[i + lstr].cell();
13070 hthis += uthis[i].cell();
13073 for ( i = 0; i < lstr; i++ ) {
13074 hthis += uthis[index + i].lower().cell();
13075 hstr += ustr[i].lower().cell();
13079 if ( hthis == hstr && ucstrnicmp(uthis + i, ustr, lstr) == 0 )
13084 hthis -= uthis[i + lstr].lower().cell();
13085 hthis += uthis[i].lower().cell();
13088 #if defined(Q_SPURIOUS_NON_VOID_WARNING)
13095 Returns the number of times the character \a c occurs in the string.
13097 The match is case sensitive if \a cs is TRUE, or case insensitive if \a cs
13101 int QString::contains( QChar c, bool cs ) const
13104 const QChar *uc = unicode();
13108 if ( cs ) { // case sensitive
13112 } else { // case insensitive
13115 if ( uc->lower() == c )
13126 int QString::contains( const char* str, bool cs ) const
13128 return contains(QString(str),cs);
13132 \overload int QString::contains (char c, bool cs) const
13136 \overload int QString::find (char c, int index, bool cs) const
13141 \overload int QString::findRev (char c, int index, bool cs) const
13146 Returns the number of times \a str occurs in the string.
13148 The match is case sensitive if \a cs is TRUE, or case insensitive if \e
13151 This function counts overlapping substrings, for example, "banana"
13152 contains two occurrences of "ana".
13157 int QString::contains( const QString &str, bool cs ) const
13160 const QChar *uc = unicode();
13163 int len = str.length();
13165 while ( n-- ) { // counts overlapping strings
13166 // ### Doesn't account for length of this - searches over "end"
13168 if ( ucstrncmp( uc, str.unicode(), len ) == 0 )
13171 if ( ucstrnicmp(uc, str.unicode(), len) == 0 )
13180 Returns a substring that contains the \a len leftmost characters
13183 The whole string is returned if \a len exceeds the length of the
13189 QString s = "Pineapple";
13190 QString t = s.left( 4 ); // t == "Pine"
13193 \sa right(), mid(), isEmpty()
13196 QString QString::left( uint len ) const
13200 } else if ( len == 0 ) { // ## just for 1.x compat:
13201 return QString::fromLatin1("");
13202 } else if ( len > length() ) {
13205 QString s( len, TRUE );
13206 memcpy( s.d->unicode, d->unicode, len*sizeof(QChar) );
13213 Returns a substring that contains the \a len rightmost characters
13216 The whole string is returned if \a len exceeds the length of the
13221 QString s = "Pineapple";
13222 QString t = s.right( 5 ); // t == "apple"
13225 \sa left(), mid(), isEmpty()
13228 QString QString::right( uint len ) const
13232 } else if ( len == 0 ) { // ## just for 1.x compat:
13233 return QString::fromLatin1("");
13238 QString s( len, TRUE );
13239 memcpy( s.d->unicode, d->unicode+(l-len), len*sizeof(QChar) );
13246 Returns a substring that contains the \a len characters of this
13247 string, starting at position \a index.
13249 Returns a null string if the string is empty or \a index is out
13250 of range. Returns the whole string from \a index if \a index+len exceeds
13251 the length of the string.
13255 QString s = "Five pineapples";
13256 QString t = s.mid( 5, 4 ); // t == "pine"
13259 \sa left(), right()
13262 QString QString::mid( uint index, uint len ) const
13264 uint slen = length();
13265 if ( isEmpty() || index >= slen ) {
13267 } else if ( len == 0 ) { // ## just for 1.x compat:
13268 return QString::fromLatin1("");
13270 if ( len > slen-index )
13271 len = slen - index;
13272 if ( index == 0 && len == length() )
13274 register const QChar *p = unicode()+index;
13275 QString s( len, TRUE );
13276 memcpy( s.d->unicode, p, len*sizeof(QChar) );
13283 Returns a string of length \a width that contains this
13284 string and padded by the \a fill character.
13286 If the length of the string exceeds \a width and \a truncate is FALSE,
13287 then the returned string is a copy of the string.
13288 If the length of the string exceeds \a width and \a truncate is TRUE,
13289 then the returned string is a left(\a width).
13293 QString s("apple");
13294 QString t = s.leftJustify(8, '.'); // t == "apple..."
13300 QString QString::leftJustify( uint width, QChar fill, bool truncate ) const
13303 int len = length();
13304 int padlen = width - len;
13305 if ( padlen > 0 ) {
13306 result.setLength(len+padlen);
13308 memcpy( result.d->unicode, unicode(), sizeof(QChar)*len );
13309 QChar* uc = result.d->unicode + len;
13314 result = left( width );
13322 Returns a string of length \a width that contains pad
13323 characters followed by the string.
13325 If the length of the string exceeds \a width and \a truncate is FALSE,
13326 then the returned string is a copy of the string.
13327 If the length of the string exceeds \a width and \a truncate is TRUE,
13328 then the returned string is a left(\a width).
13333 QString t = s.rightJustify(8, '.'); // t == ".....pie"
13339 QString QString::rightJustify( uint width, QChar fill, bool truncate ) const
13342 int len = length();
13343 int padlen = width - len;
13344 if ( padlen > 0 ) {
13345 result.setLength( len+padlen );
13346 QChar* uc = result.d->unicode;
13350 memcpy( uc, unicode(), sizeof(QChar)*len );
13353 result = left( width );
13361 Returns a new string that is the string converted to lower case.
13366 QString t = s.lower(); // t == "tex"
13372 QString QString::lower() const
13377 s.real_detach(); // could do this only when we find a change
13378 register QChar *p=s.d->unicode;
13390 Returns a new string that is the string converted to upper case.
13395 QString t = s.upper(); // t == "TEX"
13401 QString QString::upper() const
13406 s.real_detach(); // could do this only when we find a change
13407 register QChar *p=s.d->unicode;
13420 Returns a new string that has white space removed from the start and the end.
13422 White space means any character for which QChar::isSpace() returns
13423 TRUE. This includes ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12
13424 (FF), 13 (CR), and 32 (Space).
13428 QString s = " space ";
13429 QString t = s.stripWhiteSpace(); // t == "space"
13432 \sa simplifyWhiteSpace()
13435 QString QString::stripWhiteSpace() const
13437 if ( isEmpty() ) // nothing to do
13439 if ( !at(0).isSpace() && !at(length()-1).isSpace() )
13442 register const QChar *s = unicode();
13443 QString result = fromLatin1("");
13446 int end = length() - 1;
13447 while ( start<=end && s[start].isSpace() ) // skip white space from start
13449 if ( start > end ) { // only white space
13452 while ( end && s[end].isSpace() ) // skip white space from end
13454 int l = end - start + 1;
13455 result.setLength( l );
13457 memcpy( result.d->unicode, &s[start], sizeof(QChar)*l );
13463 Returns a new string that has white space removed from the start and the end,
13464 plus any sequence of internal white space replaced with a single space
13467 White space means any character for which QChar::isSpace() returns
13468 TRUE. This includes ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12
13469 (FF), 13 (CR), and 32 (Space).
13472 QString s = " lots\t of\nwhite space ";
13473 QString t = s.simplifyWhiteSpace(); // t == "lots of white space"
13476 \sa stripWhiteSpace()
13479 QString QString::simplifyWhiteSpace() const
13481 if ( isEmpty() ) // nothing to do
13484 result.setLength( length() );
13485 const QChar *from = unicode();
13486 const QChar *fromend = from+length();
13488 QChar *to = result.d->unicode;
13490 while ( from!=fromend && from->isSpace() )
13492 while ( from!=fromend && !from->isSpace() )
13493 to[outc++] = *from++;
13494 if ( from!=fromend )
13499 if ( outc > 0 && to[outc-1] == ' ' )
13501 result.truncate( outc );
13507 Insert \a s into the string before position \a index.
13509 If \a index is beyond the end of the string, the string is extended with
13510 spaces (ASCII 32) to length \a index and \a s is then appended.
13513 QString s = "I like fish";
13514 s.insert( 2, "don't "); // s == "I don't like fish"
13516 s.insert( 3, "yz" ); // s == "x yz"
13520 QString &QString::insert( uint index, const QString &s )
13522 // the sub function takes care of &s == this case.
13523 return insert( index, s.unicode(), s.length() );
13527 Insert \a len units of QChar data from \a s into the string before
13531 QString &QString::insert( uint index, const QChar* s, uint len )
13535 uint olen = length();
13536 int nlen = olen + len;
13538 int df = (int)(s - d->unicode); // ### pointer subtraction, cast down to int
13539 if ( df >= 0 && (uint)df < d->maxl ) {
13540 // Part of me - take a copy.
13541 QChar *tmp = QT_ALLOC_QCHAR_VEC( len );
13542 memcpy(tmp,s,len*sizeof(QChar));
13543 insert(index,tmp,len);
13544 QT_DELETE_QCHAR_VEC( tmp );
13548 if ( index >= olen ) { // insert after end of string
13549 setLength( len+index );
13550 int n = index-olen;
13551 QChar* uc = d->unicode+olen;
13554 memcpy( d->unicode+index, s, sizeof(QChar)*len );
13555 } else { // normal insert
13557 memmove( d->unicode+index+len, unicode()+index,
13558 sizeof(QChar)*(olen-index) );
13559 memcpy( d->unicode+index, s, sizeof(QChar)*len );
13565 Insert \a c into the string at (before) position \a index and returns
13566 a reference to the string.
13568 If \a index is beyond the end of the string, the string is extended with
13569 spaces (ASCII 32) to length \a index and \a c is then appended.
13574 s.insert( 1, 'e' ); // s == "Yes"
13575 s.insert( 3, '!'); // s == "Yes!"
13578 \sa remove(), replace()
13581 QString &QString::insert( uint index, QChar c ) // insert char
13584 return insert( index, s );
13588 \overload QString& QString::insert( uint index, char c )
13592 \fn QString &QString::prepend( const QString &s )
13594 Prepend \a s to the string. Equivalent to insert(0,s).
13600 \fn QString& QString::prepend( char ch )
13601 Prepends \a ch to the string and returns a reference to the result.
13607 \fn QString& QString::prepend( QChar ch )
13608 Prepends \a ch to the string and returns a reference to the result.
13615 Removes \a len characters starting at position \a index from the
13616 string and returns a reference to the string.
13618 If \a index is too big, nothing happens. If \a index is valid, but
13619 \a len is too large, the rest of the string is removed.
13622 QString s = "Montreal";
13627 \sa insert(), replace()
13630 QString &QString::remove( uint index, uint len )
13632 uint olen = length();
13633 if ( index + len >= olen ) { // range problems
13634 if ( index < olen ) { // index ok
13635 setLength( index );
13637 } else if ( len != 0 ) {
13639 memmove( d->unicode+index, d->unicode+index+len,
13640 sizeof(QChar)*(olen-index-len) );
13641 setLength( olen-len );
13647 Replaces \a len characters starting at position \a index from the
13648 string with \a s, and returns a reference to the string.
13650 If \a index is too big, nothing is deleted and \a s is inserted at the
13651 end of the string. If \a index is valid, but \a len is too large, \e
13652 str replaces the rest of the string.
13655 QString s = "Say yes!";
13656 s.replace( 4, 3, "NO" ); // s == "Say NO!"
13659 \sa insert(), remove()
13662 QString &QString::replace( uint index, uint len, const QString &s )
13664 return replace( index, len, s.unicode(), s.length() );
13669 Replaces \a len characters starting at position \a index by
13670 \a slen units ot QChar data from \a s, and returns a reference to the string.
13672 \sa insert(), remove()
13675 QString &QString::replace( uint index, uint len, const QChar* s, uint slen )
13677 if ( len == slen && index + len <= length() ) {
13678 // Optimized common case: replace without size change
13680 memcpy( d->unicode+index, s, len*sizeof(QChar) );
13682 int df = (int)(s - d->unicode); // ### pointer subtraction, cast down to int
13683 if ( df >= 0 && (uint)df < d->maxl ) {
13684 // Part of me - take a copy.
13685 QChar *tmp = QT_ALLOC_QCHAR_VEC( slen );
13686 memcpy(tmp,s,slen*sizeof(QChar));
13687 replace(index,len,tmp,slen);
13688 QT_DELETE_QCHAR_VEC( tmp );
13692 remove( index, len );
13693 insert( index, s, slen );
13701 Finds the first occurrence of the regular expression \a rx, starting at
13702 position \a index. If \a index is -1, the search starts at the last
13703 character; if -2, at the next to last character; etc.
13705 Returns the position of the next match, or -1 if \a rx was not found.
13707 \sa findRev() replace() contains()
13710 int QString::find( const QRegExp &rx, int index ) const
13714 return rx.match( data(), index );
13718 Finds the first occurrence of the regular expression \a rx, starting at
13719 position \a index and searching backwards. If \a index is -1, the
13720 search starts at the last character; if -2, at the next to last
13723 Returns the position of the next match (backwards), or -1 if \a rx was not
13729 int QString::findRev( const QRegExp &rx, int index ) const
13731 if ( index < 0 ) // neg index ==> start from end
13733 if ( (uint)index > length() ) // bad index
13735 while( index >= 0 ) {
13736 if ( rx.match( data(), index ) == index )
13744 Counts the number of overlapping occurrences of \a rx in the string.
13748 QString s = "banana and panama";
13749 QRegExp r = QRegExp("a[nm]a", TRUE, FALSE);
13750 s.contains( r ); // 4 matches
13753 \sa find() findRev()
13756 int QString::contains( const QRegExp &rx ) const
13759 return rx.match( data() ) < 0 ? 0 : 1;
13762 int len = length();
13763 while ( index < len-1 ) { // count overlapping matches
13764 index = rx.match( data(), index+1 );
13774 Replaces every occurrence of \a rx in the string with \a str.
13775 Returns a reference to the string.
13779 QString s = "banana";
13780 s.replace( QRegExp("a.*a"), "" ); // becomes "b"
13782 QString s = "banana";
13783 s.replace( QRegExp("^[bn]a"), " " ); // becomes " nana"
13785 QString s = "banana";
13786 s.replace( QRegExp("^[bn]a"), "" ); // NOTE! becomes ""
13789 \sa find() findRev()
13792 QString &QString::replace( const QRegExp &rx, const QString &str )
13797 int slen = str.length();
13799 while ( index < (int)length() ) {
13800 index = rx.match( data(), index, &len, FALSE );
13801 if ( index >= 0 ) {
13802 replace( index, len, str );
13805 break; // Avoid infinite loop on 0-length matches, e.g. [a-z]*
13814 ok_in_base( QChar c, int base )
13817 return c.isDigit() && c.digitValue() < base;
13819 return c.isDigit() || (c >= 'a' && c < char('a'+base-10))
13820 || (c >= 'A' && c < char('A'+base-10));
13824 Returns the string converted to a <code>long</code> value.
13826 If \a ok is non-null, \a *ok is set to TRUE if there are no
13827 conceivable errors, and FALSE if the string is not a number at all, or if
13828 it has trailing garbage.
13831 long QString::toLong( bool *ok, int base ) const
13833 const QChar *p = unicode();
13836 const long max_mult = INT_MAX / base;
13837 bool is_ok = FALSE;
13841 while ( l && p->isSpace() ) // skip leading space
13843 if ( l && *p == '-' ) {
13847 } else if ( *p == '+' ) {
13852 // NOTE: toULong() code is similar
13853 if ( !l || !ok_in_base(*p,base) )
13855 while ( l && ok_in_base(*p,base) ) {
13858 if ( p->isDigit() ) {
13859 dv = p->digitValue();
13861 if ( *p >= 'a' && *p <= 'z' )
13862 dv = *p - 'a' + 10;
13864 dv = *p - 'A' + 10;
13866 if ( val > max_mult || (val == max_mult && dv > (INT_MAX%base)+neg) )
13868 val = base*val + dv;
13873 while ( l && p->isSpace() ) // skip trailing space
13880 return is_ok ? val : 0;
13884 Returns the string converted to an <code>unsigned long</code>
13887 If \a ok is non-null, \a *ok is set to TRUE if there are no
13888 conceivable errors, and FALSE if the string is not a number at all,
13889 or if it has trailing garbage.
13892 ulong QString::toULong( bool *ok, int base ) const
13894 const QChar *p = unicode();
13897 const ulong max_mult = 429496729; // UINT_MAX/10, rounded down
13898 bool is_ok = FALSE;
13901 while ( l && p->isSpace() ) // skip leading space
13906 // NOTE: toLong() code is similar
13907 if ( !l || !ok_in_base(*p,base) )
13909 while ( l && ok_in_base(*p,base) ) {
13912 if ( p->isDigit() ) {
13913 dv = p->digitValue();
13915 if ( *p >= 'a' && *p <= 'z' )
13916 dv = *p - 'a' + 10;
13918 dv = *p - 'A' + 10;
13920 if ( val > max_mult || (val == max_mult && dv > (UINT_MAX%base)) )
13922 val = base*val + dv;
13926 while ( l && p->isSpace() ) // skip trailing space
13933 return is_ok ? val : 0;
13937 Returns the string converted to a <code>short</code> value.
13939 If \a ok is non-null, \a *ok is set to TRUE if there are no
13940 conceivable errors, and FALSE if the string is not a number at all, or if
13941 it has trailing garbage.
13944 short QString::toShort( bool *ok, int base ) const
13946 long v = toLong( ok, base );
13947 if ( ok && *ok && (v < -32768 || v > 32767) ) {
13955 Returns the string converted to an <code>unsigned short</code> value.
13957 If \a ok is non-null, \a *ok is set to TRUE if there are no
13958 conceivable errors, and FALSE if the string is not a number at all, or if
13959 it has trailing garbage.
13962 ushort QString::toUShort( bool *ok, int base ) const
13964 ulong v = toULong( ok, base );
13965 if ( ok && *ok && (v > 65535) ) {
13974 Returns the string converted to a <code>int</code> value.
13979 int hex = str.toInt( &ok, 16 ); // will return 255, and ok set to TRUE
13980 int dec = str.toInt( &ok, 10 ); // will return 0, and ok set to FALSE
13983 If \a ok is non-null, \a *ok is set to TRUE if there are no
13984 conceivable errors, and FALSE if the string is not a number at all,
13985 or if it has trailing garbage.
13988 int QString::toInt( bool *ok, int base ) const
13990 return (int)toLong( ok, base );
13994 Returns the string converted to an <code>unsigned int</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,
13998 or if it has trailing garbage.
14001 uint QString::toUInt( bool *ok, int base ) const
14003 return (uint)toULong( ok, base );
14007 Returns the string converted to a <code>double</code> value.
14009 If \a ok is non-null, \a *ok is set to TRUE if there are no conceivable
14010 errors, and FALSE if the string is not a number at all, or if it has
14014 double QString::toDouble( bool *ok ) const
14018 QCString a = latin1();
14019 // Just latin1() is not sufficient, since U0131 would look like '1'.
14020 for (uint i=0; i<d->len; i++)
14021 if ( d->unicode[i].row() )
14024 double val = strtod( a.data() ? a.data() : "", &end );
14026 *ok = ( a && *a && ( end == 0 || *end == '\0' ) );
14031 Returns the string converted to a <code>float</code> value.
14033 If \a ok is non-null, \a *ok is set to TRUE if there are no
14034 conceivable errors, and FALSE if the string is not a number at all,
14035 or if it has trailing garbage.
14038 float QString::toFloat( bool *ok ) const
14040 return (float)toDouble( ok );
14045 Sets the string to the printed value of \a n and returns a
14046 reference to the string.
14048 The value is converted to \a base notation (default is decimal).
14049 The base must be a value from 2 to 36.
14052 QString &QString::setNum( long n, int base )
14054 #if defined(CHECK_RANGE)
14055 if ( base < 2 || base > 36 ) {
14056 qWarning( "QString::setNum: Invalid base %d", base );
14060 char charbuf[65*sizeof(QChar)];
14061 QChar *buf = (QChar*)charbuf;
14062 QChar *p = &buf[64];
14067 if ( n == INT_MIN ) {
14068 // Cannot always negate this special case
14071 s2.setNum((-(n+base))%base);
14080 *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))];
14088 return setUnicode( p, len );
14092 Sets the string to the printed unsigned value of \a n and
14093 returns a reference to the string.
14095 The value is converted to \a base notation (default is decimal).
14096 The base must be a value from 2 to 36.
14099 QString &QString::setNum( ulong n, int base )
14101 #if defined(CHECK_RANGE)
14102 if ( base < 2 || base > 36 ) {
14103 qWarning( "QString::setNum: Invalid base %d", base );
14107 char charbuf[65*sizeof(QChar)];
14108 QChar *buf = (QChar*)charbuf;
14109 QChar *p = &buf[64];
14112 *--p = "0123456789abcdefghijklmnopqrstuvwxyz"[((int)(n%base))];
14116 return setUnicode(p,len);
14120 \fn QString &QString::setNum( int n, int base )
14121 Sets the string to the printed value of \a n and returns a reference
14126 \fn QString &QString::setNum( uint n, int base )
14127 Sets the string to the printed unsigned value of \a n and returns a
14128 reference to the string.
14132 \fn QString &QString::setNum( short n, int base )
14133 Sets the string to the printed value of \a n and returns a reference
14138 \fn QString &QString::setNum( ushort n, int base )
14139 Sets the string to the printed unsigned value of \a n and returns a
14140 reference to the string.
14143 /*! Sets the string to the printed value of \a n, formatted in the \a f
14144 format with \a prec precision, and returns a reference to the
14147 \a f can be 'f', 'F', 'e', 'E', 'g' or 'G', all of which have the
14148 same meaning as for sprintf().
14151 QString &QString::setNum( double n, char f, int prec )
14153 #if defined(CHECK_RANGE)
14154 if ( !(f=='f' || f=='F' || f=='e' || f=='E' || f=='g' || f=='G') ) {
14155 qWarning( "QString::setNum: Invalid format char '%c'", f );
14160 char buf[120]; // enough for 99 precision?
14161 char *fs = format; // generate format string
14162 *fs++ = '%'; // "%.<prec>l<f>"
14164 if ( prec > 99 ) // buf big enough for precision?
14167 if ( prec >= 10 ) {
14168 *fs++ = prec / 10 + '0';
14169 *fs++ = prec % 10 + '0';
14171 *fs++ = prec + '0';
14177 ::sprintf( buf, format, n );
14178 return setLatin1(buf);
14182 \overload QString &QString::setNum( float n, char f, int prec )
14187 A convenience factory function that returns a string representation
14188 of the number \a n.
14192 QString QString::number( long n, int base )
14195 s.setNum( n, base );
14200 A convenience factory function that returns a string representation
14201 of the number \a n.
14205 QString QString::number( ulong n, int base )
14208 s.setNum( n, base );
14213 A convenience factory function that returns a string representation
14214 of the number \a n.
14218 QString QString::number( int n, int base )
14221 s.setNum( n, base );
14226 A convenience factory function that returns a string representation
14227 of the number \a n.
14231 QString QString::number( uint n, int base )
14234 s.setNum( n, base );
14239 This static function returns the printed value of \a n, formatted in the
14240 \a f format with \a prec precision.
14242 \a f can be 'f', 'F', 'e', 'E', 'g' or 'G', all of which have the
14243 same meaning as for sprintf().
14247 QString QString::number( double n, char f, int prec )
14250 s.setNum( n, f, prec );
14257 Sets the character at position \a index to \a c and expands the
14258 string if necessary, filling with spaces.
14260 This method is redundant in Qt 2.x, because operator[] will expand
14261 the string as necessary.
14264 void QString::setExpand( uint index, QChar c )
14266 int spaces = index - d->len;
14269 d->unicode[--index]=' ';
14274 \fn const char* QString::data() const
14278 Returns a pointer to a 0-terminated classic C string.
14280 In Qt 1.x, this returned a char* allowing direct manipulation of the
14281 string as a sequence of bytes. In Qt 2.x where QString is a Unicode
14282 string, char* conversion constructs a temporary string, and hence
14283 direct character operations are meaningless.
14287 \fn bool QString::operator!() const
14288 Returns TRUE if it is a null string, otherwise FALSE. Thus
14292 QString name = getName();
14297 Note that if you say:
14300 QString name = getName();
14302 doSomethingWith(name);
14305 Then this will call <tt>operator const char*()</tt>, which will do what
14306 you want, but rather inefficiently - you may wish to define the macro
14307 QT_NO_ASCII_CAST when writing code which you wish to strictly remain
14310 When you want the above semantics, use <tt>!isNull()</tt>
14311 or even <tt>!!</tt>:
14314 QString name = getName();
14316 doSomethingWith(name);
14322 \fn QString& QString::append( const QString& str )
14323 Appends \a str to the string and returns a reference to the result.
14324 Equivalent to operator+=().
14328 \fn QString& QString::append( char ch )
14329 Appends \a ch to the string and returns a reference to the result.
14330 Equivalent to operator+=().
14334 \fn QString& QString::append( QChar ch )
14335 Appends \a ch to the string and returns a reference to the result.
14336 Equivalent to operator+=().
14340 Appends \a str to the string and returns a reference to the string.
14342 QString& QString::operator+=( const QString &str )
14344 uint len1 = length();
14345 uint len2 = str.length();
14347 setLength(len1+len2);
14348 memcpy( d->unicode+len1, str.unicode(), sizeof(QChar)*len2 );
14349 } else if ( isNull() && !str.isNull() ) { // ## just for 1.x compat:
14350 *this = fromLatin1("");
14356 Appends \a c to the string and returns a reference to the string.
14359 QString &QString::operator+=( QChar c )
14361 setLength(length()+1);
14362 d->unicode[length()-1] = c;
14367 Appends \a c to the string and returns a reference to the string.
14370 QString &QString::operator+=( char c )
14372 setLength(length()+1);
14373 d->unicode[length()-1] = c;
14379 /*! \fn char QChar::latin1() const
14381 Returns a latin-1 copy of this character, if this character is in
14382 the latin-1 character set. If not, this function returns 0.
14387 Returns a Latin-1 representation of the string. Note that the returned
14388 value is undefined if the string contains non-Latin-1 characters. If you
14389 want to convert strings into formats other than Unicode, see the
14390 QTextCodec classes.
14392 This function is mainly useful for boot-strapping legacy code to
14395 The result remains valid so long as one unmodified
14396 copy of the source string exists.
14398 \sa utf8(), local8Bit()
14400 const char* QString::latin1() const
14403 if ( d->dirtyascii )
14404 delete [] d->ascii;
14408 Q2HELPER(stat_get_ascii++)
14409 Q2HELPER(stat_get_ascii_size+=d->len)
14410 static QTextCodec* codec = QTextCodec::codecForMib(106);
14411 if (codec) // we use utf8 coding also for latin1 if possible
14413 QCString utf8str(codec->fromUnicode(*this));
14414 d->ascii = new char[utf8str.length()+1];
14415 if (utf8str.isEmpty())
14417 d->ascii[0]='\0'; // make empty string
14419 else // copy string
14421 qstrcpy(d->ascii,utf8str.data());
14424 else // fall back to latin1
14426 d->ascii = unicodeToAscii( d->unicode, d->len );
14428 QCString utf8str(utf8());
14435 This functions simply calls latin1() and returns the result.
14437 const char* QString::ascii() const
14442 #ifndef QT_NO_TEXTCODEC
14444 Returns the string encoded in UTF8 format.
14446 See QTextCodec for more diverse coding/decoding of Unicode strings.
14448 \sa QString::fromUtf8(), local8Bit(), latin1()
14450 QCString QString::utf8() const
14452 static QTextCodec* codec = QTextCodec::codecForMib(106);
14454 ? codec->fromUnicode(*this)
14455 : QCString(latin1());
14459 Returns the unicode string decoded from the
14460 first \a len bytes of \a utf8. If \a len is -1 (the default), the
14461 length of \a utf8 is used. If trailing partial characters are in
14462 \a utf8, they are ignored.
14464 See QTextCodec for more diverse coding/decoding of Unicode strings.
14466 QString QString::fromUtf8(const char* utf8, int len)
14468 static QTextCodec* codec = QTextCodec::codecForMib(106);
14469 if ( len < 0 ) len = qstrlen(utf8);
14471 ? codec->toUnicode(utf8, len)
14472 : QString::fromLatin1(utf8, len);
14474 #endif // QT_NO_TEXTCODEC
14476 Creates a QString from Latin1 text. This is the same as the
14477 QString(const char*) constructor, but you can make that constructor
14478 invisible if you compile with the define QT_NO_CAST_ASCII, in which
14479 case you can explicitly create a QString from Latin-1 text using
14482 QString QString::fromLatin1(const char* chars, int len)
14487 uc = internalAsciiToUnicode(chars,&l);
14489 uc = internalAsciiToUnicode(chars,&l,len);
14491 return QString(new QStringData(uc,l,l), TRUE);
14495 \fn const QChar* QString::unicode() const
14497 Returns the Unicode representation of the string. The result
14498 remains valid until the string is modified.
14502 Returns the string encoded in a locale-specific format. On X11, this
14503 is the QTextCodec::codecForLocale(). On Windows, it is a system-defined
14506 See QTextCodec for more diverse coding/decoding of Unicode strings.
14508 \sa QString::fromLocal8Bit(), latin1(), utf8()
14512 QCString QString::local8Bit() const
14514 #ifdef QT_NO_TEXTCODEC
14518 static QTextCodec* codec = QTextCodec::codecForLocale();
14520 ? codec->fromUnicode(*this)
14521 : QCString(latin1());
14524 static QTextCodec* codec = QTextCodec::codecForLocale();
14526 ? codec->fromUnicode(*this)
14527 : QCString(latin1());
14530 return qt_winQString2MB( *this );
14533 return utf8(); // ##### if there is ANY 8 bit format supported?
14539 Returns the unicode string decoded from the
14540 first \a len bytes of \a local8Bit. If \a len is -1 (the default), the
14541 length of \a local8Bit is used. If trailing partial characters are in
14542 \a local8Bit, they are ignored.
14544 \a local8Bit is assumed to be encoded in a locale-specific format.
14546 See QTextCodec for more diverse coding/decoding of Unicode strings.
14548 QString QString::fromLocal8Bit(const char* local8Bit, int len)
14550 #ifdef QT_NO_TEXTCODEC
14551 return fromLatin1( local8Bit, len );
14555 return QString::null;
14557 static QTextCodec* codec = QTextCodec::codecForLocale();
14558 if ( len < 0 ) len = qstrlen(local8Bit);
14560 ? codec->toUnicode(local8Bit, len)
14561 : QString::fromLatin1(local8Bit,len);
14564 static QTextCodec* codec = QTextCodec::codecForLocale();
14565 if ( len < 0 ) len = qstrlen(local8Bit);
14567 ? codec->toUnicode(local8Bit, len)
14568 : QString::fromLatin1(local8Bit,len);
14570 // Should this be OS_WIN32?
14573 QCString s(local8Bit,len+1);
14574 return qt_winMB2QString(s);
14576 return qt_winMB2QString( local8Bit );
14579 return fromUtf8(local8Bit,len);
14581 #endif // QT_NO_TEXTCODEC
14585 \fn QString::operator const char *() const
14587 Returns latin1(). Be sure to see the warnings documented there.
14588 Note that for new code which you wish to be strictly Unicode-clean,
14589 you can define the macro QT_NO_ASCII_CAST when compiling your code
14590 to hide this function so that automatic casts are not done. This
14591 has the added advantage that you catch the programming error
14592 described under operator!().
14596 \fn QChar QString::at( uint ) const
14598 Returns the character at \a i, or 0 if \a i is beyond the length
14601 Note: If this QString is not const or const&, the non-const at()
14602 will be used instead, which will expand the string if \a i is beyond
14603 the length of the string.
14607 \fn QChar QString::constref(uint i) const
14608 Equivalent to at(i), this returns the QChar at \a i by value.
14614 \fn QChar& QString::ref(uint i)
14615 Returns the QChar at \a i by reference.
14621 \fn QChar QString::operator[](int) const
14623 Returns the character at \a i, or QChar::null if \a i is beyond the
14624 length of the string.
14626 Note: If this QString is not const or const&, the non-const operator[]
14627 will be used instead, which will expand the string if \a i is beyond
14628 the length of the string.
14632 \fn QCharRef QString::operator[](int)
14634 Returns an object that references the character at \a i.
14636 can then be assigned to, or otherwise used immediately, but
14637 becomes invalid once further modifications are made to the string.
14638 The QCharRef internal class can be used much like a constant QChar, but
14639 if you assign to it, you change the original string (which enlarges
14640 and detaches itself). You will get compilation errors if you try to
14641 use the result as anything but a QChar.
14645 \fn QCharRef QString::at( uint i )
14646 Returns a reference to the character at \a i, expanding
14647 the string with QChar::null if necessary. The resulting reference
14648 can then be assigned to, or otherwise used immediately, but
14649 becomes invalid once further modifications are made to the string.
14653 Internal chunk of code to handle the
14654 uncommon cases of at() above.
14656 void QString::subat( uint i )
14658 uint olen = d->len;
14660 setLength( i+1 ); // i is index; i+1 is needed length
14661 for ( uint j=olen; j<=i; j++ )
14662 d->unicode[j] = QChar::null;
14664 // Just be sure to detach
14671 Resizes the string to \a len unicode characters and copies \a unicode
14672 into the string. If \a unicode is null, nothing is copied, but the
14673 string is resized to \a len anyway. If \a len is zero, the string
14674 becomes a \link isNull() null\endlink string.
14676 \sa setLatin1(), isNull()
14679 QString& QString::setUnicode( const QChar *unicode, uint len )
14681 if ( len == 0 ) { // set to null string
14682 if ( d != shared_null ) { // beware of nullstring being set to nullstring
14684 d = shared_null ? shared_null : makeSharedNull();
14687 } else if ( d->count != 1 || len > d->maxl ||
14688 ( len*4 < d->maxl && d->maxl > 4 ) ) { // detach, grown or shrink
14689 Q2HELPER(stat_copy_on_write++)
14690 Q2HELPER(stat_copy_on_write_size+=d->len)
14692 while ( newMax < len )
14694 QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
14696 memcpy( nd, unicode, sizeof(QChar)*len );
14698 d = new QStringData( nd, len, newMax );
14703 memcpy( d->unicode, unicode, sizeof(QChar)*len );
14709 Resizes the string to \a len unicode characters and copies
14710 \a unicode_as_ushorts into the string (on some X11 client
14711 platforms this will involve a byte-swapping pass).
14713 If \a unicode is null, nothing is copied, but the
14714 string is resized to \a len anyway. If \a len is zero, the string
14715 becomes a \link isNull() null\endlink string.
14717 \sa setLatin1(), isNull()
14719 QString& QString::setUnicodeCodes( const ushort* unicode_as_ushorts, uint len )
14721 setUnicode((const QChar*)unicode_as_ushorts, len);
14723 if ( unicode_as_ushorts && *((ushort*)&t) == 0x3412 ) {
14724 // Need to byteswap
14725 char* b = (char*)d->unicode;
14730 b += sizeof(QChar);
14738 Sets this string to \a str, interpreted as a classic Latin 1 C string.
14739 If the \a len argument is negative (default), it is set to strlen(str).
14741 If \a str is 0 a null string is created. If \a str is "" an empty
14744 \sa isNull(), isEmpty()
14747 QString &QString::setLatin1( const char *str, int len )
14750 return setUnicode(0,0);
14752 len = qstrlen(str);
14753 if ( len == 0 ) { // won't make a null string
14756 QChar *uc = internalAsciiToUnicode(str,&l);
14757 d = new QStringData(uc,l,l);
14759 setUnicode( 0, len ); // resize but not copy
14760 QChar *p = d->unicode;
14769 \fn int QString::compare (const QString & s1, const QString & s2)
14771 Compare \a s1 to \a s2 returning an integer less than, equal to, or
14772 greater than zero if s1 is, respectively, lexically less than, equal to,
14773 or greater than s2.
14777 Compares this string to \a s, returning an integer less than, equal to, or
14778 greater than zero if it is, respectively, lexically less than, equal to,
14779 or greater than \a s.
14781 int QString::compare( const QString& s ) const
14783 return ucstrcmp(*this,s);
14786 bool operator==( const QString &s1, const QString &s2 )
14788 return (s1.length() == s2.length()) && s1.isNull() == s2.isNull() &&
14789 (memcmp((char*)s1.unicode(),(char*)s2.unicode(),
14790 s1.length()*sizeof(QChar)) ==0);
14793 bool operator!=( const QString &s1, const QString &s2 )
14794 { return !(s1==s2); }
14796 bool operator<( const QString &s1, const QString &s2 )
14797 { return ucstrcmp(s1,s2) < 0; }
14799 bool operator<=( const QString &s1, const QString &s2 )
14800 { return ucstrcmp(s1,s2) <= 0; }
14802 bool operator>( const QString &s1, const QString &s2 )
14803 { return ucstrcmp(s1,s2) > 0; }
14805 bool operator>=( const QString &s1, const QString &s2 )
14806 { return ucstrcmp(s1,s2) >= 0; }
14809 bool operator==( const QString &s1, const char *s2 )
14810 { return s1==QString(s2); }
14812 bool operator==( const char *s1, const QString &s2 )
14813 { return QString(s1)==s2; }
14815 bool operator!=( const QString &s1, const char *s2 )
14816 { return !(s1==s2); }
14818 bool operator!=( const char *s1, const QString &s2 )
14819 { return !(s1==s2); }
14821 bool operator<( const QString &s1, const char *s2 )
14822 { return ucstrcmp(s1,s2) < 0; }
14824 bool operator<( const char *s1, const QString &s2 )
14825 { return ucstrcmp(s1,s2) < 0; }
14827 bool operator<=( const QString &s1, const char *s2 )
14828 { return ucstrcmp(s1,s2) <= 0; }
14830 bool operator<=( const char *s1, const QString &s2 )
14831 { return ucstrcmp(s1,s2) <= 0; }
14833 bool operator>( const QString &s1, const char *s2 )
14834 { return ucstrcmp(s1,s2) > 0; }
14836 bool operator>( const char *s1, const QString &s2 )
14837 { return ucstrcmp(s1,s2) > 0; }
14839 bool operator>=( const QString &s1, const char *s2 )
14840 { return ucstrcmp(s1,s2) >= 0; }
14842 bool operator>=( const char *s1, const QString &s2 )
14843 { return ucstrcmp(s1,s2) >= 0; }
14846 /*****************************************************************************
14847 Documentation for QString related functions
14848 *****************************************************************************/
14851 \fn bool operator==( const QString &s1, const QString &s2 )
14853 Returns TRUE if the two strings are equal, or FALSE if they are different.
14854 A null string is different from an empty, non-null string.
14856 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14860 \fn bool operator==( const QString &s1, const char *s2 )
14862 Returns TRUE if the two strings are equal, or FALSE if they are different.
14864 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14868 \fn bool operator==( const char *s1, const QString &s2 )
14870 Returns TRUE if the two strings are equal, or FALSE if they are different.
14872 Equivalent to <code>qstrcmp(s1,s2) == 0</code>.
14876 \fn bool operator!=( const QString &s1, const QString &s2 )
14878 Returns TRUE if the two strings are different, or FALSE if they are equal.
14880 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14884 \fn bool operator!=( const QString &s1, const char *s2 )
14886 Returns TRUE if the two strings are different, or FALSE if they are equal.
14888 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14892 \fn bool operator!=( const char *s1, const QString &s2 )
14894 Returns TRUE if the two strings are different, or FALSE if they are equal.
14896 Equivalent to <code>qstrcmp(s1,s2) != 0</code>.
14900 \fn bool operator<( const QString &s1, const char *s2 )
14902 Returns TRUE if \a s1 is alphabetically less than \a s2, otherwise FALSE.
14904 Equivalent to <code>qstrcmp(s1,s2) \< 0</code>.
14908 \fn bool operator<( const char *s1, const QString &s2 )
14910 Returns TRUE if \a s1 is alphabetically less than \a s2, otherwise FALSE.
14912 Equivalent to <code>qstrcmp(s1,s2) \< 0</code>.
14916 \fn bool operator<=( const QString &s1, const char *s2 )
14918 Returns TRUE if \a s1 is alphabetically less than or equal to \a s2,
14921 Equivalent to <code>qstrcmp(s1,s2) \<= 0</code>.
14925 \fn bool operator<=( const char *s1, const QString &s2 )
14927 Returns TRUE if \a s1 is alphabetically less than or equal to \a s2,
14930 Equivalent to <code>qstrcmp(s1,s2) \<= 0</code>.
14934 \fn bool operator>( const QString &s1, const char *s2 )
14936 Returns TRUE if \a s1 is alphabetically greater than \a s2, otherwise FALSE.
14938 Equivalent to <code>qstrcmp(s1,s2) \> 0</code>.
14942 \fn bool operator>( const char *s1, const QString &s2 )
14944 Returns TRUE if \a s1 is alphabetically greater than \a s2, otherwise FALSE.
14946 Equivalent to <code>qstrcmp(s1,s2) \> 0</code>.
14950 \fn bool operator>=( const QString &s1, const char *s2 )
14952 Returns TRUE if \a s1 is alphabetically greater than or equal to \a s2,
14955 Equivalent to <code>qstrcmp(s1,s2) \>= 0</code>.
14959 \fn bool operator>=( const char *s1, const QString &s2 )
14961 Returns TRUE if \a s1 is alphabetically greater than or equal to \a s2,
14964 Equivalent to <code>qstrcmp(s1,s2) \>= 0</code>.
14968 \fn QString operator+( const QString &s1, const QString &s2 )
14970 Returns the concatenated string of s1 and s2.
14974 \fn QString operator+( const QString &s1, const char *s2 )
14976 Returns the concatenated string of s1 and s2.
14980 \fn QString operator+( const char *s1, const QString &s2 )
14982 Returns the concatenated string of s1 and s2.
14986 \fn QString operator+( const QString &s, char c )
14988 Returns the concatenated string of s and c.
14992 \fn QString operator+( char c, const QString &s )
14994 Returns the concatenated string of c and s.
14998 /*****************************************************************************
14999 QString stream functions
15000 *****************************************************************************/
15001 #ifndef QT_NO_DATASTREAM
15004 Writes a string to the stream.
15006 \sa \link datastreamformat.html Format of the QDataStream operators \endlink
15009 QDataStream &operator<<( QDataStream &s, const QString &str )
15011 if ( s.version() == 1 ) {
15012 QCString l( str.latin1() );
15016 const char* ub = (const char*)str.unicode();
15017 if ( ub || s.version() < 3 ) {
15018 if ( QChar::networkOrdered() ==
15019 (s.byteOrder()==QDataStream::BigEndian) ) {
15020 s.writeBytes( ub, (int)sizeof(QChar)*str.length() );
15022 static const uint auto_size = 1024;
15025 if ( str.length()*sizeof(QChar) > auto_size ) {
15026 b = new char[str.length()*sizeof(QChar)];
15030 int l = str.length();
15037 s.writeBytes( b, (int)sizeof(QChar)*str.length() );
15038 if ( str.length()*sizeof(QChar) > auto_size )
15042 // write null marker
15043 s << (Q_UINT32)0xffffffff;
15051 Reads a string from the stream.
15053 \sa \link datastreamformat.html Format of the QDataStream operators \endlink
15056 QDataStream &operator>>( QDataStream &s, QString &str )
15058 #ifdef QT_QSTRING_UCS_4
15059 #if defined(_CC_GNU_)
15060 #warning "operator>> not working properly"
15063 if ( s.version() == 1 ) {
15066 str = QString( l );
15070 s >> bytes; // read size of string
15071 if ( bytes == 0xffffffff ) { // null string
15072 str = QString::null;
15073 } else if ( bytes > 0 ) { // not empty
15074 str.setLength( bytes/2 );
15075 char* b = (char*)str.d->unicode;
15076 s.readRawBytes( b, bytes );
15077 if ( QChar::networkOrdered() !=
15078 (s.byteOrder()==QDataStream::BigEndian) ) {
15080 while ( bytes-- ) {
15093 #endif // QT_NO_DATASTREAM
15095 /*****************************************************************************
15096 QConstString member functions
15097 *****************************************************************************/
15100 \class QConstString qstring.h
15101 \brief A QString which uses constant Unicode data.
15103 In order to minimize copying, highly optimized applications can use
15104 QConstString to provide a QString-compatible object from existing
15105 Unicode data. It is then the user's responsibility to make sure
15106 that the Unicode data must exist for the entire lifetime of the
15107 QConstString object.
15111 Constructs a QConstString that uses the first \a length Unicode
15112 characters in the array \a unicode. Any attempt to modify
15113 copies of the string will cause it to create a copy of the
15114 data, thus it remains forever unmodified.
15116 Note that \a unicode is \e not \e copied. The caller \e must be
15117 able to guarantee that \a unicode will not be deleted or
15118 modified. Since that is generally not the case with \c const strings
15119 (they are references), this constructor demands a non-const pointer
15120 even though it never modifies \a unicode.
15122 QConstString::QConstString( QChar* unicode, uint length ) :
15123 QString(new QStringData(unicode, length, length),TRUE)
15128 Destroys the QConstString, creating a copy of the data if
15129 other strings are still using it.
15131 QConstString::~QConstString()
15133 if ( d->count > 1 ) {
15134 QChar* cp = QT_ALLOC_QCHAR_VEC( d->len );
15135 memcpy( cp, d->unicode, d->len*sizeof(QChar) );
15141 // The original d->unicode is now unlinked.
15145 \fn const QString& QConstString::string() const
15147 Returns a constant string referencing the data passed during
15152 Returns whether the strings starts with \a s, or not.
15154 bool QString::startsWith( const QString& s ) const
15156 for ( int i =0; i < (int) s.length(); i++ ) {
15157 if ( i >= (int) length() || d->unicode[i] != s[i] )
15165 #if defined(_OS_WIN32_)
15167 #include <windows.h>
15170 Returns a static Windows TCHAR* from a QString, possibly adding NUL.
15172 The lifetime of the return value is until the next call to this function.
15174 const void* qt_winTchar(const QString& str_in, bool addnul)
15176 // So that the return value lives long enough.
15177 static QString str;
15181 static uint buflen = 256;
15182 static TCHAR *buf = new TCHAR[buflen];
15184 const QChar* uc = str.unicode();
15186 #define EXTEND if (str.length() > buflen) { delete buf; buf = new TCHAR[buflen=str.length()+1]; }
15188 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_)
15190 for ( int i=str.length(); i--; )
15191 buf[i] = uc[i].row() << 8 | uc[i].cell();
15193 buf[str.length()] = 0;
15195 // Same endianness of TCHAR
15198 memcpy(buf,uc,sizeof(TCHAR)*str.length());
15199 buf[str.length()] = 0;
15208 return str.latin1();
15213 Makes a new null terminated Windows TCHAR* from a QString.
15215 void* qt_winTchar_new(const QString& str)
15217 TCHAR* result = new TCHAR[str.length()+1];
15218 memcpy(result, qt_winTchar(str,FALSE), sizeof(TCHAR)*str.length());
15219 result[str.length()] = 0;
15224 Makes a QString from a Windows TCHAR*.
15226 QString qt_winQString(void* tc)
15231 while ( ((TCHAR*)tc)[len] )
15233 #if defined(_WS_X11_) || defined(_OS_WIN32_BYTESWAP_)
15235 for ( int i=0; i<len; i++ )
15236 r += QChar(((TCHAR*)tc)[i]&0xff,((TCHAR*)tc)[i]>>8);
15239 // Same endianness of TCHAR
15240 return QString((QChar*)tc,len);
15248 QCString qt_winQString2MB( const QString& s, int uclen )
15251 uclen = s.length();
15256 QCString mb(bufSize);
15258 while ( !(len=WideCharToMultiByte(CP_ACP, 0, (const WCHAR*)s.unicode(), uclen,
15259 mb.data(), bufSize-1, 0, &used_def)) )
15261 int r = GetLastError();
15262 if ( r == ERROR_INSUFFICIENT_BUFFER ) {
15263 bufSize=1+WideCharToMultiByte( CP_ACP, 0,
15264 (const WCHAR*)s.unicode(), uclen,
15265 0, 0, 0, &used_def);
15266 mb.resize(bufSize);
15267 // and try again...
15270 qWarning("WideCharToMultiByte cannot convert multibyte text (error %d): %s (UTF8)",
15271 r, s.utf8().data());
15279 // WATCH OUT: mblen must include the NUL (or just use -1)
15280 QString qt_winMB2QString( const char* mb, int mblen )
15282 if ( !mb || !mblen )
15283 return QString::null;
15284 const int wclen_auto = 4096;
15285 WCHAR wc_auto[wclen_auto];
15286 int wclen = wclen_auto;
15287 WCHAR *wc = wc_auto;
15289 while ( !(len=MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED,
15290 mb, mblen, wc, wclen )) )
15292 int r = GetLastError();
15293 if ( r == ERROR_INSUFFICIENT_BUFFER ) {
15294 if ( wc != wc_auto ) {
15295 qWarning("Size changed in MultiByteToWideChar");
15298 wclen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED,
15300 wc = new WCHAR[wclen];
15301 // and try again...
15305 qWarning("MultiByteToWideChar cannot convert multibyte text");
15310 return QString::null;
15311 QString s( (QChar*)wc, len-1 ); // len-1: we don't want terminator
15312 if ( wc != wc_auto )
15318 #endif // _OS_WIN32_