diff options
-rwxr-xr-x | src/gentables | 307 | ||||
-rw-r--r-- | src/table/big5.h | 2436 | ||||
-rw-r--r-- | src/table/gb2312_1980_0.h | 2229 | ||||
-rw-r--r-- | src/table/iso8859_8.h | 31 | ||||
-rw-r--r-- | src/table/jis0201_1976_0.h | 20 | ||||
-rw-r--r-- | src/table/ksc5601_1987_0.h | 3494 |
6 files changed, 8517 insertions, 0 deletions
diff --git a/src/gentables b/src/gentables new file mode 100755 index 0000000..262169d --- /dev/null +++ b/src/gentables @@ -0,0 +1,307 @@ +#!/opt/bin/perl + +# the generated tables mostly have NOT been checked so far! + +use v5.8.2; +use utf8; +use Encode; +use Encode::JP; +use Encode::CN; +use Encode::KR; +use Encode::HanExtra; +use Encode::JIS2K; + +my $gen; + +$TO_UNICODE = 0; # also generate to_unicode tables + +sub linear { + my ($a, $l, $h, $b) = @_; + for ($l .. $h) { + return unless defined $a->[$_] && $a->[$_] == $_ + ($b - $l); + } + 1; +} + +sub wrap { + my $res = " "; + $res .= "$1\n " while $_[0] =~ /\G(.{90}\S*?)\s+/gc; + $res .= "$1" if $_[0] =~ /\G(.*)$/; + $res; +} + +my $last_tab_full; # hack + +sub gentab { + my ($enc, $l, $h, $f, $rep) = @_; + $last_tab_full = 0; + + " = {\n" + . (wrap join ", ", + map +(sprintf "0x$f", + defined $enc->[$_] ? $enc->[$_] : $last_tab_full++ * 0 + $rep + ), $l..$h) + . "\n};\n"; +} + +sub gen { + my ($enc, $base, $ch) = @_; + + my ($fun, $tab); + my (@t1, @t2); + + for (255, 159, 127, 126, 125) { + if (linear $enc, 0, $_, 0) { + undef $enc->[$_] for 0..$_; + $fun .= sprintf "if (· <= 0x%04x) return ·;\n", $_; + } + } + + for (126, 127, 128) { + if (linear $enc, $_, 159, $_) { + undef $enc->[$_] for $_..159; + $fun .= sprintf "if (0x%04x <= · && · <= 0x%04x) return ·;\n", $_, 159; + } + } + + for (126, 127) { + next unless defined $enc->[$_]; + $fun .= sprintf "if (· == 0x%04x) return 0x%04x;\n", $_, delete $enc->[$_]; + } + + my @map; + my @map2; + + for (0 .. $#$enc) { + if (defined $enc->[$_]) { + $map[$_] = $enc->[$_]; + $map2[$_ >> 8]++; + } + } + + for my $p (0..255) { + if ($map2[$p]) { + my $b = $p << 8; + + my ($l, $h); + for my $i (0..255) { $l = $i, last if defined $map[$b + $i]; } + for my $i (0..255) { $h = 255 - $i, last if defined $map[$b + 255 - $i]; } + + if ($map2[$p] <= 5) { + for ($l .. $h) { + next unless defined $enc->[$b + $_]; + $fun .= sprintf "if (· == 0x%04x) return 0x%04x;\n", $b + $_, $enc->[$b + $_]; + } + } elsif (linear $enc, $b + $l, $b + $h, $enc->[$b + $l]) { + my $dif = $enc->[$b + $l] - ($b + $l); + $dif = $dif < 0 ? sprintf "- 0x%04x", -$dif : sprintf "+ 0x%04x", $dif; + $fun .= sprintf "if (· >= 0x%04x && 0x%04x >= ·) return · %s;\n", $b + $l, $b + $h, $dif; + } elsif ($map2[$p] <= 5) { # defunct + $fun .= "switch (·)\n {\n"; + for ($l .. $h) { + next unless defined $enc->[$b + $_]; + $fun .= sprintf " case 0x%04x: return 0x%04x;\n", $b + $_, $enc->[$b + $_]; + } + $fun .= " }\n"; + } else { + my ($i, $t, $f) = (0, "uint8_t", "%02x"); + for ($l .. $h) { + if ($enc->[$b + $_] > 255) { + ($i, $t, $f) = (1, "uint16_t", "%04x"); + last; + } + } + + $i ? push @t2, [$p, $l, $h, $t, $f] + : push @t1, [$b, $l, $h, $t, $f]; + } + + } + } + + if (@t2 <= 3) { + push @t1, @t2; + @t2 = (); + } + + for (@t1) { + my ($b, $l, $h, $t, $f) = @$_; + my $rep = $b + $l == 0 ? 128 : 0; + $tab .= "static const $t $base\_$b\[]" . gentab $enc, $b + $l, $b + $h, $f; + $fun .= sprintf "if (0x%04x <= · && · <= 0x%04x)\n" + . " return %s$base\_$b\[· - 0x%04x];\n", + $b + $l, $b + $h, + ($last_tab_full ? sprintf "$base\_$b\[· - 0x%04x] == $rep ? NOCHAR : ", $b + $l : ""), + $b + $l; + } + + if (@t2) { + my ($min, $max) = (255, 0); + my ($l, $h) = (255, 0); + for (@t2) { + my ($p, $L, $H, $t, $f) = @$_; + $max = $p if $p > $max; + $min = $p if $p < $min; + $l = $L if $L < $l; + $h = $H if $H > $h; + } + + $fun .= "uint8_t l = ·;\n"; + $fun .= "uint16_t h = · >> 8;\n"; + + if ($h - $l < 200) { + my $d = $h - $l + 1; + + my @enc; + for $p ($min .. $max) { + for $i ($l .. $h) { + $enc[($p - $min) * $d + $i - $l] = $enc->[$p * 256 + $i]; + } + } + $tab .= "static const uint16_t $base\_m[]" . gentab \@enc, 0, $#enc, "%04x"; + + if ($last_tab_full) { + $fun .= sprintf "if (0x%02x <= h && h <= 0x%02x\n" + . " && 0x%02x <= l && l <= 0x%02x)\n" + . " return $base\_m\[h * 0x%02x + l - 0x%04x]\n" + . " ? $base\_m\[h * 0x%02x + l - 0x%04x]\n" + . " : NOCHAR;\n", + $min, $max, $l, $h, + ($d, $min * $d + $l) x 2; + } else { + $fun .= sprintf "if (0x%02x <= h && h <= 0x%02x\n" + . " && 0x%02x <= l && l <= 0x%02x)\n" + . " return $base\_m\[h * 0x%02x + l - 0x%04x];\n", + $min, $max, $l, $h, + $d, + $min * $d + $l; + } + } else { + my @tab = (0) x ($max - $min); + for (@t2) { + my ($p, undef, undef, $t, $f) = @$_; + $tab .= "static const $t $base\_$p\[]" . gentab $enc, $p * 256 + $l, $p * 256 + $h, $f, 0; + $tab[$p - $min] = "$base\_$p"; + } + + $tab .= "const uint16_t *$base\_i[] = {\n" + . (wrap join ", ", @tab) + . "\n};\n\n"; + + $fun .= sprintf "if (0x%02x <= h && h <= 0x%02x\n" + . " && 0x%02x <= l && l <= 0x%02x\n" + . " && $base\_i[h - 0x%02x])\n" + . " return $base\_i\[h - 0x%02x][l - 0x%02x]\n" + . " ? $base\_i\[h - 0x%02x][l - 0x%02x]\n" + . " : NOCHAR;\n", + $min, $max, $l, $h, + $min, ($min, $l) x 2; + } + } + + $fun .= "return NOCHAR;\n"; + + $fun =~ s/·/$ch/g; + + ($tab, $fun); +} + +while (<DATA>) { + my ($group, $base, $cs, $type) = split /\s+/; + + my @enc1; + my @enc2; + + for (0 .. 65535) { + my $enc = encode $cs, (chr $_), Encode::FB_QUIET; + + if (length $enc) { + my $code = hex unpack "H*", $enc; + $enc1[$_] = $code; + $enc2[$code] = $_ unless defined $enc2[$code]; + } + } + + my ($tab1, $fun1); + my ($tab2, $fun2); + + ($tab1, $fun1) = gen \@enc1, "$base\_f", "unicode"; + ($tab2, $fun2) = gen \@enc2, "$base\_t", "enc" if $TO_UNICODE; + + $fun1 =~ s/^/ /gm; + $fun2 =~ s/^/ /gm; + + print "$base\n"; + open OUT, ">table/$base.h" or die; + + print OUT <<EOF; +// +// AUTOMATICALLLY GENERATED by gentables +// +#ifdef ENCODING_$group + +$tab1$tab2 +static uint32_t cs_$base\_from_unicode (unicode_t unicode) { +$fun1} +EOF + +if ($TO_UNICODE) { + print OUT <<EOF +#if ENCODING_TO_UNICODE +static unicode_t cs_$base\_to_unicode (uint32_t enc) { +$fun2} +#endif +EOF +} + +print OUT <<EOF; + +#else + +#define cs_$base\_from_unicode cs_unknown_from_unicode +#define cs_$base\_to_unicode cs_unknown_to_unicode + +#endif +EOF + + close OUT; +} + +__DATA__ +VN viscii viscii +KR ksc5601_1987_0 ksc5601-raw +ZH gb2312_1980_0 gb2312-raw +ZH gbk_0 gbk +ZH_EXT cns11643_1992_1 cns11643-1 +ZH_EXT cns11643_1992_2 cns11643-2 +ZH_EXT cns11643_1992_3 cns11643-3 +ZH_EXT cns11643_1992_4 cns11643-4 +ZH_EXT cns11643_1992_5 cns11643-5 +ZH_EXT cns11643_1992_6 cns11643-6 +ZH_EXT cns11643_1992_7 cns11643-7 +ZH_EXT cns11643_1992_f cns11643-f +ZH big5 big5 +ZH_EXT big5_ext big5ext +ZH_EXT big5_plus big5plus +EU koi8_r koi8-r +EU koi8_u koi8-u +DEFAULT iso8859_1 iso-8859-1 +EU iso8859_2 iso-8859-2 +EU iso8859_3 iso-8859-3 +EU iso8859_4 iso-8859-4 +EU iso8859_5 iso-8859-5 +EU iso8859_6 iso-8859-6 +EU iso8859_7 iso-8859-7 +EU iso8859_8 iso-8859-8 +EU iso8859_9 iso-8859-9 +EU iso8859_10 iso-8859-10 +EU iso8859_11 iso-8859-11 +EU iso8859_13 iso-8859-13 +EU iso8859_14 iso-8859-14 +DEFAULT iso8859_15 iso-8859-15 +EU iso8859_16 iso-8859-16 +JP jis0201_1976_0 jis0201-raw +JP jis0208_1990_0 jis0208-raw +JP jis0212_1990_0 jis0212-raw +JP_EXT jis0213_1 jis0213-1-raw +JP_EXT jis0213_2 jis0213-2-raw diff --git a/src/table/big5.h b/src/table/big5.h new file mode 100644 index 0000000..38ff49a --- /dev/null +++ b/src/table/big5.h @@ -0,0 +1,2436 @@ +// +// AUTOMATICALLLY GENERATED by gentables +// +#ifdef ENCODING_ZH + +static const uint16_t big5_f_0[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1b1, + 0xc6d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1c2, 0xa258, 0xa1d3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xa150, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1d1, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1d2, 0xc8fb, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_2[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8f6, 0x0000, 0x0000, 0x0000, + 0xc8f8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8f7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8fe, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8f9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8f5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6d9, 0xa3be, 0x0000, 0xa3bc, 0xa3bd, 0xa3bf, + 0x0000, 0xa1c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa3bb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_3[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa344, 0xa345, 0xa346, 0xa347, 0xa348, 0xa349, 0xa34a, 0xa34b, 0xa34c, 0xa34d, 0xa34e, + 0xa34f, 0xa350, 0xa351, 0xa352, 0xa353, 0xa354, 0x0000, 0xa355, 0xa356, 0xa357, 0xa358, 0xa359, + 0xa35a, 0xa35b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa35c, 0xa35d, 0xa35e, + 0xa35f, 0xa360, 0xa361, 0xa362, 0xa363, 0xa364, 0xa365, 0xa366, 0xa367, 0xa368, 0xa369, 0xa36a, + 0xa36b, 0xa36c, 0x0000, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371, 0xa372, 0xa373, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_4[] = { + 0x0000, 0xc7f9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xc7f3, 0xc7f4, 0xc7f5, 0xc7f6, 0xc7f7, 0xc7f8, 0xc7fa, 0xc7fb, + 0xc7fc, 0xc7fd, 0xc7fe, 0xc840, 0xc841, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846, 0xc847, 0xc848, + 0xc849, 0xc84a, 0xc84b, 0xc84c, 0xc84d, 0xc84e, 0xc84f, 0xc850, 0xc851, 0xc852, 0xc853, 0xc854, + 0xc855, 0xc856, 0xc857, 0xc858, 0xc859, 0xc85a, 0xc85c, 0xc85d, 0xc85e, 0xc85f, 0xc860, 0xc861, + 0xc862, 0xc863, 0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869, 0xc86a, 0xc86b, 0xc86c, 0xc86d, + 0xc86e, 0xc86f, 0xc870, 0xc871, 0xc872, 0xc873, 0xc874, 0xc875, 0x0000, 0xc85b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_32[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa156, 0xa158, 0x0000, 0x0000, 0x0000, + 0xa1a5, 0xa1a6, 0x0000, 0x0000, 0xa1a7, 0xa1a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xa14c, 0xa14b, 0xa145, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xa1ac, 0x0000, 0x0000, 0xa1ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1b0, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa3e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_33[] = { + 0x0000, 0x0000, 0x0000, 0xa24a, 0x0000, 0xa1c1, 0x0000, 0x0000, 0x0000, 0xa24b, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8d2, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8d3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0, 0xa2c1, 0xa2c2, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xc6b5, 0xc6b6, 0xc6b7, 0xc6b8, 0xc6b9, 0xc6ba, 0xc6bb, 0xc6bc, + 0xc6bd, 0xc6be, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0x0000, 0x0000, 0xa1f8, 0xa1f9, 0xa1fb, 0xa1fa, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xc877, 0xc878, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc876, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_34[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa241, 0x0000, 0x0000, + 0x0000, 0x0000, 0xa1d4, 0x0000, 0x0000, 0x0000, 0xa1db, 0xa1e8, 0xa1e7, 0x0000, 0x0000, 0xa1fd, + 0x0000, 0xa1fc, 0x0000, 0x0000, 0x0000, 0xa1e4, 0xa1e5, 0xa1ec, 0x0000, 0x0000, 0xa1ed, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa1ef, 0xa1ee, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1dc, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa1da, 0xa1dd, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1d8, 0xa1d9, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1f2, 0x0000, 0x0000, 0x0000, 0xa1f3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1e6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1e9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_36[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xc6a1, 0xc6a2, 0xc6a3, 0xc6a4, 0xc6a5, 0xc6a6, 0xc6a7, 0xc6a8, 0xc6a9, 0xc6aa, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6ab, 0xc6ac, 0xc6ad, 0xc6ae, + 0xc6af, 0xc6b0, 0xc6b1, 0xc6b2, 0xc6b3, 0xc6b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_37[] = { + 0xa277, 0x0000, 0xa278, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa27a, 0x0000, 0x0000, 0x0000, 0xa27b, 0x0000, 0x0000, 0x0000, 0xa27c, 0x0000, 0x0000, 0x0000, + 0xa27d, 0x0000, 0x0000, 0x0000, 0xa275, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa274, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa273, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa272, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa271, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf9f9, 0xf9f8, 0xf9e6, 0xf9ef, + 0xf9dd, 0xf9e8, 0xf9f1, 0xf9df, 0xf9ec, 0xf9f5, 0xf9e3, 0xf9ee, 0xf9f7, 0xf9e5, 0xf9e9, 0xf9f2, + 0xf9e0, 0xf9eb, 0xf9f4, 0xf9e2, 0xf9e7, 0xf9f0, 0xf9de, 0xf9ed, 0xf9f6, 0xf9e4, 0xf9ea, 0xf9f3, + 0xf9e1, 0xa27e, 0xa2a1, 0xa2a3, 0xa2a2, 0xa2ac, 0xa2ad, 0xa2ae, 0xa15a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa262, 0xa263, 0xa264, + 0xa265, 0xa266, 0xa267, 0xa268, 0xa269, 0xa270, 0xa26f, 0xa26e, 0xa26d, 0xa26c, 0xa26b, 0xa26a, + 0x0000, 0x0000, 0x0000, 0xf9fe, 0xa276, 0xa279, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa1bd, 0xa1bc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1b6, 0xa1b5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1bf, 0xa1be, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1bb, 0xa1ba, 0x0000, 0x0000, 0x0000, 0xa1b3, + 0x0000, 0x0000, 0xa1b7, 0xa1b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa2a8, 0xa2a9, + 0xa2ab, 0xa2aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_46[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8d6, 0x0000, 0x0000, 0x0000, + 0xc8d7, 0x0000, 0xc8d8, 0xc8d9, 0xc8da, 0x0000, 0xc8db, 0x0000, 0xc8dc, 0xc8dd, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8de, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xc8df, 0xc8e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8e1, 0x0000, 0xc8e2, + 0x0000, 0x0000, 0xc8e3, 0x0000, 0xc8e4, 0x0000, 0xc8e5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xc8e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8e7, 0x0000, 0xc8e8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8e9, 0x0000, 0x0000, 0x0000, 0xc8ea, 0x0000, + 0xc8eb, 0xc8ec, 0x0000, 0xc8ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8ee, 0xc8ef, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8f0, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8f1, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_47[] = { + 0x0000, 0x0000, 0xc6bf, 0xc6c0, 0x0000, 0xc6c1, 0x0000, 0xc6c2, 0x0000, 0x0000, 0x0000, 0x0000, + 0xc6c3, 0xc6c4, 0xc6c5, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6c6, 0x0000, 0x0000, 0xc6c7, 0x0000, + 0x0000, 0xc6c8, 0x0000, 0xc6c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6ca, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc6cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6cc, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc6cd, 0xc6ce, 0xc6cf, 0x0000, 0x0000, 0x0000, 0xc6d0, 0xc6d1, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6d2, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6d3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6d4, 0xc6d5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xc6d7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_48[] = { + 0xa140, 0xa142, 0xa143, 0xa1b2, 0x0000, 0xc6e0, 0xc6e1, 0xc6e2, 0xa171, 0xa172, 0xa16d, 0xa16e, + 0xa175, 0xa176, 0xa179, 0xa17a, 0xa169, 0xa16a, 0xa245, 0x0000, 0xa165, 0xa166, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa1a9, 0xa1aa, 0x0000, 0x0000, 0xa2c3, 0xa2c4, 0xa2c5, + 0xa2c6, 0xa2c7, 0xa2c8, 0xa2c9, 0xa2ca, 0xa2cb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa2cc, 0xa2cd, 0xa2ce, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc6e7, 0xc6e8, 0xc6e9, 0xc6ea, 0xc6eb, 0xc6ec, 0xc6ed, + 0xc6ee, 0xc6ef, 0xc6f0, 0xc6f1, 0xc6f2, 0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6, 0xc6f7, 0xc6f8, 0xc6f9, + 0xc6fa, 0xc6fb, 0xc6fc, 0xc6fd, 0xc6fe, 0xc740, 0xc741, 0xc742, 0xc743, 0xc744, 0xc745, 0xc746, + 0xc747, 0xc748, 0xc749, 0xc74a, 0xc74b, 0xc74c, 0xc74d, 0xc74e, 0xc74f, 0xc750, 0xc751, 0xc752, + 0xc753, 0xc754, 0xc755, 0xc756, 0xc757, 0xc758, 0xc759, 0xc75a, 0xc75b, 0xc75c, 0xc75d, 0xc75e, + 0xc75f, 0xc760, 0xc761, 0xc762, 0xc763, 0xc764, 0xc765, 0xc766, 0xc767, 0xc768, 0xc769, 0xc76a, + 0xc76b, 0xc76c, 0xc76d, 0xc76e, 0xc76f, 0xc770, 0xc771, 0xc772, 0xc773, 0xc774, 0xc775, 0xc776, + 0xc777, 0xc778, 0xc779, 0xc77a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc8d4, + 0xc8d5, 0xc6dc, 0xc6dd, 0x0000, 0x0000, 0xc77b, 0xc77c, 0xc77d, 0xc77e, 0xc7a1, 0xc7a2, 0xc7a3, + 0xc7a4, 0xc7a5, 0xc7a6, 0xc7a7, 0xc7a8, 0xc7a9, 0xc7aa, 0xc7ab, 0xc7ac, 0xc7ad, 0xc7ae, 0xc7af, + 0xc7b0, 0xc7b1, 0xc7b2, 0xc7b3, 0xc7b4, 0xc7b5, 0xc7b6, 0xc7b7, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, + 0xc7bc, 0xc7bd, 0xc7be, 0xc7bf, 0xc7c0, 0xc7c1, 0xc7c2, 0xc7c3, 0xc7c4, 0xc7c5, 0xc7c6, 0xc7c7, + 0xc7c8, 0xc7c9, 0xc7ca, 0xc7cb, 0xc7cc, 0xc7cd, 0xc7ce, 0xc7cf, 0xc7d0, 0xc7d1, 0xc7d2, 0xc7d3, + 0xc7d4, 0xc7d5, 0xc7d6, 0xc7d7, 0xc7d8, 0xc7d9, 0xc7da, 0xc7db, 0xc7dc, 0xc7dd, 0xc7de, 0xc7df, + 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e4, 0xc7e5, 0xc7e6, 0xc7e7, 0xc7e8, 0xc7e9, 0xc7ea, 0xc7eb, + 0xc7ec, 0xc7ed, 0xc7ee, 0xc7ef, 0xc7f0, 0xc7f1, 0xc7f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xc6e3, 0xc6da, 0xc6db, 0x0000 +}; +static const uint16_t big5_f_49[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa374, 0xa375, 0xa376, 0xa377, 0xa378, 0xa379, 0xa37a, + 0xa37b, 0xa37c, 0xa37d, 0xa37e, 0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7, 0xa3a8, + 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af, 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, + 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa3ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_51[] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa255, 0xa256, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa250, 0xa251, 0xa252, 0x0000, 0x0000, 0xa254, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa257, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xa253, 0x0000, 0x0000, 0xa1eb, 0xa1ea, 0x0000, 0x0000, 0xa24f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000 +}; +static const uint16_t big5_f_78[] = { + 0xa440, 0xa442, 0x0000, 0xa443, 0x0000, 0x0000, 0x0000, 0xc945, 0xa456, 0xa454, 0xa457, 0xa455, + 0xc946, 0xa4a3, 0xc94f, 0xc94d, 0xa4a2, 0xa4a1, 0x0000, 0x0000, 0xa542, 0xa541, 0xa540, 0x0000, + 0xa543, 0xa4fe, 0x0000, 0x0000, 0x0000, 0x0000, 0xa5e0, 0xa5e1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xa8c3, 0x0000, 0x0000, 0x0000, 0x0000, 0xa458, 0x0000, 0xa4a4, 0xc950, 0x0000, + 0xa4a5, 0xc963, 0xa6ea, 0xcbb1, 0x0000, 0x0000, 0x0000, 0x0000, 0xa459, 0xa4a6, 0x0000, 0xa544, + 0xc964, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc940, 0xa444, 0x0000, 0xa45b, 0x0000, 0xc947, + 0xa45c, 0x0000, 0x0000, 0xa4a7, 0x0000, 0xa545, 0xa547, 0xa546, 0x0000, 0x0000, 0xa5e2, 0xa5e3, + 0x0000, 0x0000, 0xa8c4, 0x0000, 0xadbc, 0xa441, 0xc87b, 0x0000, 0xc941, 0xa445, 0xa45e, 0xa45d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa5e4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa8c5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb0ae, 0xd44b, 0x0000, 0x0000, 0xb6c3, 0xdcb1, + 0xdcb2, 0x0000, 0xa446, 0x0000, 0xa4a9, 0x0000, 0x0000, 0xa8c6, 0xa447, 0xc948, 0xa45f, 0x0000, + 0x0000, 0xa4aa, 0xa4ac, 0xc951, 0xa4ad, 0xa4ab, 0x0000, 0x0000, 0x0000, 0xa5e5, 0x0000, 0xa8c7, + 0x0000, 0x0000, 0xa8c8, 0xab45, 0x0000, 0xa460, 0xa4ae, 0x0000, 0xa5e6, 0xa5e8, 0xa5e7, 0x0000, + 0xa6eb, 0x0000, 0x0000, 0xa8c9, 0xa8ca, 0xab46, 0xab47, 0x0000, 0x0000, 0x0000, 0x0000, 0xadbd, + 0x0000, 0x0000, 0xdcb3, 0x0000, 0x0000, 0xf6d6, 0xa448, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa4b0, 0xa4af, 0xc952, 0xa4b1, 0xa4b7, 0x0000, 0xa4b2, 0xa4b3, 0xc954, 0xc953, 0xa4b5, 0xa4b6, + 0x0000, 0xa4b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa54a, 0xa54b, 0xa54c, 0xa54d, + 0xa549, 0xa550, 0xc96a, 0x0000, 0xc966, 0xc969, 0xa551, 0xa561, 0x0000, 0xc968, 0x0000, 0xa54e, + 0xa54f, 0xa548, 0x0000, 0x0000, 0xc965, 0xc967, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xa5f5, 0xc9b0, 0xa5f2, 0xa5f6, 0xc9ba, 0xc9ae, 0xa5f3, 0xc9b2, 0x0000, 0x0000, 0x0000, 0xa5f4, + 0x0000, 0xa5f7, 0x0000, 0xa5e9 +}; +static const uint16_t big5_f_79[] = { + 0xc9b1, 0xa5f8, 0xc9b5, 0x0000, 0xc9b9, 0xc9b6, 0x0000, 0x0000, 0xc9b3, 0xa5ea, 0xa5ec, 0xa5f9, + 0x0000, 0xa5ee, 0xc9ab, 0xa5f1, 0xa5ef, 0xa5f0, 0xc9bb, 0xc9b8, 0xc9af, 0xa5ed, 0x0000, 0x0000, + 0xc9ac, 0xa5eb, 0x0000, 0x0000, 0x0000, 0xc9b4, 0x0000, 0x0000, 0x0000, 0x0000, 0xc9b7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc9ad, 0xca66, 0x0000, 0xa742, + 0xa6f4, 0x0000, 0x0000, 0xca67, 0xa6f1, 0x0000, 0xa744, 0x0000, 0xa6f9, 0x0000, 0xa6f8, 0xca5b, + 0xa6fc, 0xa6f7, 0xca60, 0xca68, 0x0000, 0xca64, 0x0000, 0xa6fa, 0x0000, 0x0000, 0xa6fd, 0xa6ee, + 0xa747, 0xca5d, 0x0000, 0x0000, 0xcbbd, 0xa6ec, 0xa743, 0xa6ed, 0xa6f5, 0xa6f6, 0xca62, 0xca5e, + 0xa6fb, 0xa6f3, 0xca5a, 0xa6ef, 0xca65, 0xa745, 0xa748, 0xa6f2, 0xa740, 0xa746, 0xa6f0, 0xca63, + 0xa741, 0xca69, 0xca5c, 0xa6fe, 0xca5f, 0x0000, 0x0000, 0xca61, 0x0000, 0xa8d8, 0xcbbf, 0xcbcb, + 0xa8d0, 0x0000, 0xcbcc, 0xa8cb, 0xa8d5, 0x0000, 0x0000, 0xa8ce, 0xcbb9, 0xa8d6, 0xcbb8, 0xcbbc, + 0xcbc3, 0xcbc1, 0xa8de, 0xa8d9, 0xcbb3, 0xcbb5, 0xa8db, 0xa8cf, 0xcbb6, 0xcbc2, 0xcbc9, 0xa8d4, + 0xcbbb, 0xcbb4, 0xa8d3, 0xcbb7, 0xa8d7, 0xcbba, 0x0000, 0xa8d2, 0x0000, 0xa8cd, 0x0000, 0xa8dc, |