Commit aeed17d0 authored by Heikki Linnakangas's avatar Heikki Linnakangas

Use radix tree for character encoding conversions.

Replace the mapping tables used to convert between UTF-8 and other
character encodings with new radix tree-based maps. Looking up an entry in
a radix tree is much faster than a binary search in the old maps. As a
bonus, the radix tree representation is also more compact, making the
binaries slightly smaller.

The "combined" maps work the same as before, with binary search. They are
much smaller than the main tables, so it doesn't matter so much. However,
the "combined" maps are now stored in the same .map files as the main
tables. This seems more clear, since they're always used together, and
generated from the same source files.

Patch by Kyotaro Horiguchi, with lot of hacking by me at various stages.
Reviewed by Michael Paquier and Daniel Gustafsson.

Discussion: https://www.postgresql.org/message-id/20170306.171609.204324917.horiguchi.kyotaro%40lab.ntt.co.jp
parent 84892692
......@@ -52,10 +52,8 @@ SPECIALMAPS = euc_cn_to_utf8.map utf8_to_euc_cn.map \
big5_to_utf8.map utf8_to_big5.map \
johab_to_utf8.map utf8_to_johab.map \
uhc_to_utf8.map utf8_to_uhc.map \
euc_jis_2004_to_utf8.map euc_jis_2004_to_utf8_combined.map \
utf8_to_euc_jis_2004.map utf8_to_euc_jis_2004_combined.map \
shift_jis_2004_to_utf8.map shift_jis_2004_to_utf8_combined.map \
utf8_to_shift_jis_2004.map utf8_to_shift_jis_2004_combined.map
euc_jis_2004_to_utf8.map utf8_to_euc_jis_2004.map \
shift_jis_2004_to_utf8.map utf8_to_shift_jis_2004.map
MAPS = $(GENERICMAPS) $(SPECIALMAPS)
......@@ -104,10 +102,10 @@ gb18030_to_utf8.map utf8_to_gb18030.map: UCS_to_GB18030.pl gb-18030-2000.xml
big5_to_utf8.map utf8_to_big5.map: UCS_to_BIG5.pl BIG5.TXT CP950.TXT
$(PERL) $<
euc_jis_2004_to_utf8.map euc_jis_2004_to_utf8_combined.map utf8_to_euc_jis_2004.map utf8_to_euc_jis_2004_combined.map: UCS_to_EUC_JIS_2004.pl euc-jis-2004-std.txt
euc_jis_2004_to_utf8.map utf8_to_euc_jis_2004.map: UCS_to_EUC_JIS_2004.pl euc-jis-2004-std.txt
$(PERL) $<
shift_jis_2004_to_utf8.map shift_jis_2004_to_utf8_combined.map utf8_to_shift_jis_2004.map utf8_to_shift_jis_2004_combined.map: UCS_to_SHIFT_JIS_2004.pl sjis-0213-2004-std.txt
shift_jis_2004_to_utf8.map utf8_to_shift_jis_2004.map: UCS_to_SHIFT_JIS_2004.pl sjis-0213-2004-std.txt
$(PERL) $<
distclean: clean
......
......@@ -25,7 +25,9 @@
# # and Unicode name (not used in this script)
use strict;
require convutils;
use convutils;
my $this_script = $0;
# Load BIG5.TXT
my $all = &read_source("BIG5.TXT");
......@@ -47,7 +49,9 @@ foreach my $i (@$cp950txt) {
push @$all, {code => $code,
ucs => $ucs,
comment => $i->{comment},
direction => "both"};
direction => BOTH,
f => $i->{f},
l => $i->{l} };
}
}
......@@ -60,9 +64,9 @@ foreach my $i (@$all) {
# but for historical reasons, we map the first one of them.
if ($i->{ucs} == 0xFFFD && $i->{code} != 0xA15A)
{
$i->{direction} = "to_unicode";
$i->{direction} = TO_UNICODE;
}
}
# Output
print_tables("BIG5", $all);
print_conversion_tables($this_script, "BIG5", $all);
......@@ -14,7 +14,9 @@
# and the "b" field is the hex byte sequence for GB18030
use strict;
require convutils;
use convutils;
my $this_script = $0;
# Read the input
......@@ -68,9 +70,11 @@ while (<$in>)
push @mapping, {
ucs => $ucs,
code => $code,
direction => 'both'
direction => BOTH,
f => $in_file,
l => $.
};
}
close($in);
print_tables("EUC_CN", \@mapping);
print_conversion_tables($this_script, "EUC_CN", \@mapping);
......@@ -8,7 +8,9 @@
# "euc-jis-2004-std.txt" (http://x0213.org)
use strict;
require convutils;
use convutils;
my $this_script = $0;
# first generate UTF-8 --> EUC_JIS_2004 table
......@@ -29,12 +31,14 @@ while (my $line = <$in>)
my $ucs1 = hex($u1);
my $ucs2 = hex($u2);
push @all, { direction => 'both',
push @all, { direction => BOTH,
ucs => $ucs1,
ucs_second => $ucs2,
code => $code,
comment => $rest };
next;
comment => $rest,
f => $in_file,
l => $.
};
}
elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/)
{
......@@ -45,9 +49,15 @@ while (my $line = <$in>)
next if ($code < 0x80 && $ucs < 0x80);
push @all, { direction => 'both', ucs => $ucs, code => $code, comment => $rest };
push @all, { direction => BOTH,
ucs => $ucs,
code => $code,
comment => $rest,
f => $in_file,
l => $.
};
}
}
close($in);
print_tables("EUC_JIS_2004", \@all, 1);
print_conversion_tables($this_script, "EUC_JIS_2004", \@all);
......@@ -17,7 +17,9 @@
# # and Unicode name (not used in this script)
use strict;
require convutils;
use convutils;
my $this_script = $0;
# Load the source file.
......@@ -29,10 +31,10 @@ foreach my $i (@$mapping)
}
# Some extra characters that are not in KSX1001.TXT
push @$mapping, (
{direction => 'both', ucs => 0x20AC, code => 0xa2e6, comment => '# EURO SIGN'},
{direction => 'both', ucs => 0x00AE, code => 0xa2e7, comment => '# REGISTERED SIGN'},
{direction => 'both', ucs => 0x327E, code => 0xa2e8, comment => '# CIRCLED HANGUL IEUNG U'}
push @$mapping,(
{direction => BOTH, ucs => 0x20AC, code => 0xa2e6, comment => '# EURO SIGN', f => $this_script, l => __LINE__},
{direction => BOTH, ucs => 0x00AE, code => 0xa2e7, comment => '# REGISTERED SIGN', f => $this_script, l => __LINE__ },
{direction => BOTH, ucs => 0x327E, code => 0xa2e8, comment => '# CIRCLED HANGUL IEUNG U', f => $this_script, l => __LINE__ }
);
print_tables("EUC_KR", $mapping);
print_conversion_tables($this_script, "EUC_KR", $mapping);
......@@ -18,7 +18,9 @@
# # and Unicode name (not used in this script)
use strict;
require convutils;
use convutils;
my $this_script = $0;
my $mapping = &read_source("CNS11643.TXT");
......@@ -54,11 +56,13 @@ foreach my $i (@$mapping)
ucs => $i->{ucs},
code => ($i->{code} + 0x8ea10000),
rest => $i->{rest},
direction => 'to_unicode'
direction => TO_UNICODE,
f => $i->{f},
l => $i->{l}
};
}
}
push @$mapping, @extras;
print_tables("EUC_TW", $mapping);
print_conversion_tables($this_script, "EUC_TW", $mapping);
......@@ -14,7 +14,9 @@
# and the "b" field is the hex byte sequence for GB18030
use strict;
require convutils;
use convutils;
my $this_script = $0;
# Read the input
......@@ -36,10 +38,12 @@ while (<$in>)
push @mapping, {
ucs => $ucs,
code => $code,
direction => 'both'
direction => BOTH,
f => $in_file,
l => $.
};
}
}
close($in);
print_tables("GB18030", \@mapping);
print_conversion_tables($this_script, "GB18030", \@mapping);
......@@ -16,7 +16,9 @@
# # and Unicode name (not used in this script)
use strict;
require convutils;
use convutils;
my $this_script = $0;
# Load the source file.
......@@ -24,9 +26,9 @@ my $mapping = &read_source("JOHAB.TXT");
# Some extra characters that are not in JOHAB.TXT
push @$mapping, (
{direction => 'both', ucs => 0x20AC, code => 0xd9e6, comment => '# EURO SIGN'},
{direction => 'both', ucs => 0x00AE, code => 0xd9e7, comment => '# REGISTERED SIGN'},
{direction => 'both', ucs => 0x327E, code => 0xd9e8, comment => '# CIRCLED HANGUL IEUNG U'}
{direction => BOTH, ucs => 0x20AC, code => 0xd9e6, comment => '# EURO SIGN', f => $this_script, l => __LINE__ },
{direction => BOTH, ucs => 0x00AE, code => 0xd9e7, comment => '# REGISTERED SIGN', f => $this_script, l => __LINE__ },
{direction => BOTH, ucs => 0x327E, code => 0xd9e8, comment => '# CIRCLED HANGUL IEUNG U', f => $this_script, l => __LINE__ }
);
print_tables("JOHAB", $mapping);
print_conversion_tables($this_script, "JOHAB", $mapping);
......@@ -8,10 +8,12 @@
# "sjis-0213-2004-std.txt" (http://x0213.org)
use strict;
require convutils;
use convutils;
# first generate UTF-8 --> SHIFT_JIS_2004 table
my $this_script = $0;
my $in_file = "sjis-0213-2004-std.txt";
open(my $in, '<', $in_file) || die("cannot open $in_file");
......@@ -34,9 +36,10 @@ while (my $line = <$in>)
ucs => $ucs1,
ucs_second => $ucs2,
comment => $rest,
direction => 'both'
direction => BOTH,
f => $in_file,
l => $.
};
next;
}
elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/)
{
......@@ -52,25 +55,27 @@ while (my $line = <$in>)
}
elsif ($code < 0x80)
{
$direction = 'from_unicode';
$direction = FROM_UNICODE;
}
elsif ($ucs < 0x80)
{
$direction = 'to_unicode';
$direction = TO_UNICODE;
}
else
{
$direction = 'both';
$direction = BOTH;
}
push @mapping, {
code => $code,
ucs => $ucs,
comment => $rest,
direction => $direction
direction => $direction,
f => $in_file,
l => $.
};
}
}
close($in);
print_tables("SHIFT_JIS_2004", \@mapping, 1);
print_conversion_tables($this_script, "SHIFT_JIS_2004", \@mapping);
......@@ -11,9 +11,11 @@
# ftp site.
use strict;
require convutils;
use convutils;
my $charset = read_source("CP932.TXT");
my $this_script = $0;
my $mapping = read_source("CP932.TXT");
# Drop these SJIS codes from the source for UTF8=>SJIS conversion
my @reject_sjis =(
......@@ -22,27 +24,27 @@ my @reject_sjis =(
0x879a..0x879c
);
foreach my $i (@$charset)
foreach my $i (@$mapping)
{
my $code = $i->{code};
my $ucs = $i->{ucs};
if (grep {$code == $_} @reject_sjis)
{
$i->{direction} = "to_unicode";
$i->{direction} = TO_UNICODE;
}
}
# Add these UTF8->SJIS pairs to the table.
push @$charset, (
{direction => "from_unicode", ucs => 0x00a2, code => 0x8191, comment => '# CENT SIGN'},
{direction => "from_unicode", ucs => 0x00a3, code => 0x8192, comment => '# POUND SIGN'},
{direction => "from_unicode", ucs => 0x00a5, code => 0x5c, comment => '# YEN SIGN'},
{direction => "from_unicode", ucs => 0x00ac, code => 0x81ca, comment => '# NOT SIGN'},
{direction => "from_unicode", ucs => 0x2016, code => 0x8161, comment => '# DOUBLE VERTICAL LINE'},
{direction => "from_unicode", ucs => 0x203e, code => 0x7e, comment => '# OVERLINE'},
{direction => "from_unicode", ucs => 0x2212, code => 0x817c, comment => '# MINUS SIGN'},
{direction => "from_unicode", ucs => 0x301c, code => 0x8160, comment => '# WAVE DASH'}
);
push @$mapping, (
{direction => FROM_UNICODE, ucs => 0x00a2, code => 0x8191, comment => '# CENT SIGN', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x00a3, code => 0x8192, comment => '# POUND SIGN', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x00a5, code => 0x5c, comment => '# YEN SIGN', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x00ac, code => 0x81ca, comment => '# NOT SIGN', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x2016, code => 0x8161, comment => '# DOUBLE VERTICAL LINE', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x203e, code => 0x7e, comment => '# OVERLINE', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x2212, code => 0x817c, comment => '# MINUS SIGN', f => $this_script, l => __LINE__ },
{direction => FROM_UNICODE, ucs => 0x301c, code => 0x8160, comment => '# WAVE DASH', f => $this_script, l => __LINE__ }
);
print_tables("SJIS", $charset);
print_conversion_tables($this_script, "SJIS", $mapping);
......@@ -14,7 +14,9 @@
# and the "b" field is the hex byte sequence for UHC
use strict;
require convutils;
use convutils;
my $this_script = $0;
# Read the input
......@@ -39,13 +41,15 @@ while (<$in>)
push @mapping, {
ucs => $ucs,
code => $code,
direction => 'both'
direction => BOTH,
f => $in_file,
l => $.
};
}
}
close($in);
# One extra character that's not in the source file.
push @mapping, { direction => 'both', code => 0xa2e8, ucs => 0x327e, comment => 'CIRCLED HANGUL IEUNG U' };
push @mapping, { direction => BOTH, code => 0xa2e8, ucs => 0x327e, comment => 'CIRCLED HANGUL IEUNG U', f => $this_script, l => __LINE__ };
print_tables("UHC", \@mapping);
print_conversion_tables($this_script, "UHC", \@mapping);
......@@ -16,7 +16,9 @@
# # and Unicode name (not used in this script)
use strict;
require convutils;
use convutils;
my $this_script = $0;
my %filename = (
'WIN866' => 'CP866.TXT',
......@@ -54,5 +56,5 @@ foreach my $charset (@charsets)
{
my $mapping = &read_source($filename{$charset});
print_tables($charset, $mapping);
print_conversion_tables($this_script, $charset, $mapping);
}
This diff is collapsed.
/* src/backend/utils/mb/Unicode/euc_jis_2004_to_utf8_combined.map */
static const pg_local_to_utf_combined LUmapEUC_JIS_2004_combined[ 25 ] = { /* */
{0xa4f7, 0x00e3818b, 0x00e3829a}, /* U+304B+309A [2000] */
{0xa4f8, 0x00e3818d, 0x00e3829a}, /* U+304D+309A [2000] */
{0xa4f9, 0x00e3818f, 0x00e3829a}, /* U+304F+309A [2000] */
{0xa4fa, 0x00e38191, 0x00e3829a}, /* U+3051+309A [2000] */
{0xa4fb, 0x00e38193, 0x00e3829a}, /* U+3053+309A [2000] */
{0xa5f7, 0x00e382ab, 0x00e3829a}, /* U+30AB+309A [2000] */
{0xa5f8, 0x00e382ad, 0x00e3829a}, /* U+30AD+309A [2000] */
{0xa5f9, 0x00e382af, 0x00e3829a}, /* U+30AF+309A [2000] */
{0xa5fa, 0x00e382b1, 0x00e3829a}, /* U+30B1+309A [2000] */
{0xa5fb, 0x00e382b3, 0x00e3829a}, /* U+30B3+309A [2000] */
{0xa5fc, 0x00e382bb, 0x00e3829a}, /* U+30BB+309A [2000] */
{0xa5fd, 0x00e38384, 0x00e3829a}, /* U+30C4+309A [2000] */
{0xa5fe, 0x00e38388, 0x00e3829a}, /* U+30C8+309A [2000] */
{0xa6f8, 0x00e387b7, 0x00e3829a}, /* U+31F7+309A [2000] */
{0xabc4, 0x0000c3a6, 0x0000cc80}, /* U+00E6+0300 [2000] */
{0xabc8, 0x0000c994, 0x0000cc80}, /* U+0254+0300 [2000] */
{0xabc9, 0x0000c994, 0x0000cc81}, /* U+0254+0301 [2000] */
{0xabca, 0x0000ca8c, 0x0000cc80}, /* U+028C+0300 [2000] */
{0xabcb, 0x0000ca8c, 0x0000cc81}, /* U+028C+0301 [2000] */
{0xabcc, 0x0000c999, 0x0000cc80}, /* U+0259+0300 [2000] */
{0xabcd, 0x0000c999, 0x0000cc81}, /* U+0259+0301 [2000] */
{0xabce, 0x0000c99a, 0x0000cc80}, /* U+025A+0300 [2000] */
{0xabcf, 0x0000c99a, 0x0000cc81}, /* U+025A+0301 [2000] */
{0xabe5, 0x0000cba9, 0x0000cba5}, /* U+02E9+02E5 [2000] */
{0xabe6, 0x0000cba5, 0x0000cba9} /* U+02E5+02E9 [2000] */
};
/* src/backend/utils/mb/Unicode/iso8859_10_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_10[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc484},
{0x00a2, 0xc492},
{0x00a3, 0xc4a2},
{0x00a4, 0xc4aa},
{0x00a5, 0xc4a8},
{0x00a6, 0xc4b6},
{0x00a7, 0xc2a7},
{0x00a8, 0xc4bb},
{0x00a9, 0xc490},
{0x00aa, 0xc5a0},
{0x00ab, 0xc5a6},
{0x00ac, 0xc5bd},
{0x00ad, 0xc2ad},
{0x00ae, 0xc5aa},
{0x00af, 0xc58a},
{0x00b0, 0xc2b0},
{0x00b1, 0xc485},
{0x00b2, 0xc493},
{0x00b3, 0xc4a3},
{0x00b4, 0xc4ab},
{0x00b5, 0xc4a9},
{0x00b6, 0xc4b7},
{0x00b7, 0xc2b7},
{0x00b8, 0xc4bc},
{0x00b9, 0xc491},
{0x00ba, 0xc5a1},
{0x00bb, 0xc5a7},
{0x00bc, 0xc5be},
{0x00bd, 0xe28095},
{0x00be, 0xc5ab},
{0x00bf, 0xc58b},
{0x00c0, 0xc480},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc383},
{0x00c4, 0xc384},
{0x00c5, 0xc385},
{0x00c6, 0xc386},
{0x00c7, 0xc4ae},
{0x00c8, 0xc48c},
{0x00c9, 0xc389},
{0x00ca, 0xc498},
{0x00cb, 0xc38b},
{0x00cc, 0xc496},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc38f},
{0x00d0, 0xc390},
{0x00d1, 0xc585},
{0x00d2, 0xc58c},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc395},
{0x00d6, 0xc396},
{0x00d7, 0xc5a8},
{0x00d8, 0xc398},
{0x00d9, 0xc5b2},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc39d},
{0x00de, 0xc39e},
{0x00df, 0xc39f},
{0x00e0, 0xc481},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc3a3},
{0x00e4, 0xc3a4},
{0x00e5, 0xc3a5},
{0x00e6, 0xc3a6},
{0x00e7, 0xc4af},
{0x00e8, 0xc48d},
{0x00e9, 0xc3a9},
{0x00ea, 0xc499},
{0x00eb, 0xc3ab},
{0x00ec, 0xc497},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f0, 0xc3b0},
{0x00f1, 0xc586},
{0x00f2, 0xc58d},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc3b5},
{0x00f6, 0xc3b6},
{0x00f7, 0xc5a9},
{0x00f8, 0xc3b8},
{0x00f9, 0xc5b3},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc3bd},
{0x00fe, 0xc3be},
{0x00ff, 0xc4b8}
static const uint32 iso8859_10_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_10_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_10_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_10_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0x00c484, 0x00c492, 0x00c4a2,
/* a4 */ 0x00c4aa, 0x00c4a8, 0x00c4b6, 0x00c2a7,
/* a8 */ 0x00c4bb, 0x00c490, 0x00c5a0, 0x00c5a6,
/* ac */ 0x00c5bd, 0x00c2ad, 0x00c5aa, 0x00c58a,
/* b0 */ 0x00c2b0, 0x00c485, 0x00c493, 0x00c4a3,
/* b4 */ 0x00c4ab, 0x00c4a9, 0x00c4b7, 0x00c2b7,
/* b8 */ 0x00c4bc, 0x00c491, 0x00c5a1, 0x00c5a7,
/* bc */ 0x00c5be, 0xe28095, 0x00c5ab, 0x00c58b,
/* c0 */ 0x00c480, 0x00c381, 0x00c382, 0x00c383,
/* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c4ae,
/* c8 */ 0x00c48c, 0x00c389, 0x00c498, 0x00c38b,
/* cc */ 0x00c496, 0x00c38d, 0x00c38e, 0x00c38f,
/* d0 */ 0x00c390, 0x00c585, 0x00c58c, 0x00c393,
/* d4 */ 0x00c394, 0x00c395, 0x00c396, 0x00c5a8,
/* d8 */ 0x00c398, 0x00c5b2, 0x00c39a, 0x00c39b,
/* dc */ 0x00c39c, 0x00c39d, 0x00c39e, 0x00c39f,
/* e0 */ 0x00c481, 0x00c3a1, 0x00c3a2, 0x00c3a3,
/* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c4af,
/* e8 */ 0x00c48d, 0x00c3a9, 0x00c499, 0x00c3ab,
/* ec */ 0x00c497, 0x00c3ad, 0x00c3ae, 0x00c3af,
/* f0 */ 0x00c3b0, 0x00c586, 0x00c58d, 0x00c3b3,
/* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0x00c5a9,
/* f8 */ 0x00c3b8, 0x00c5b3, 0x00c3ba, 0x00c3bb,
/* fc */ 0x00c3bc, 0x00c3bd, 0x00c3be, 0x00c4b8
};
/* src/backend/utils/mb/Unicode/iso8859_13_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_13[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xe2809d},
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3},
{0x00a4, 0xc2a4},
{0x00a5, 0xe2809e},
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7},
{0x00a8, 0xc398},
{0x00a9, 0xc2a9},
{0x00aa, 0xc596},
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac},
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae},
{0x00af, 0xc386},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3},
{0x00b4, 0xe2809c},
{0x00b5, 0xc2b5},
{0x00b6, 0xc2b6},
{0x00b7, 0xc2b7},
{0x00b8, 0xc3b8},
{0x00b9, 0xc2b9},
{0x00ba, 0xc597},
{0x00bb, 0xc2bb},
{0x00bc, 0xc2bc},
{0x00bd, 0xc2bd},
{0x00be, 0xc2be},
{0x00bf, 0xc3a6},
{0x00c0, 0xc484},
{0x00c1, 0xc4ae},
{0x00c2, 0xc480},
{0x00c3, 0xc486},
{0x00c4, 0xc384},
{0x00c5, 0xc385},
{0x00c6, 0xc498},
{0x00c7, 0xc492},
{0x00c8, 0xc48c},
{0x00c9, 0xc389},
{0x00ca, 0xc5b9},
{0x00cb, 0xc496},
{0x00cc, 0xc4a2},
{0x00cd, 0xc4b6},
{0x00ce, 0xc4aa},
{0x00cf, 0xc4bb},
{0x00d0, 0xc5a0},
{0x00d1, 0xc583},
{0x00d2, 0xc585},
{0x00d3, 0xc393},
{0x00d4, 0xc58c},
{0x00d5, 0xc395},
{0x00d6, 0xc396},
{0x00d7, 0xc397},
{0x00d8, 0xc5b2},
{0x00d9, 0xc581},
{0x00da, 0xc59a},
{0x00db, 0xc5aa},
{0x00dc, 0xc39c},
{0x00dd, 0xc5bb},
{0x00de, 0xc5bd},
{0x00df, 0xc39f},
{0x00e0, 0xc485},
{0x00e1, 0xc4af},
{0x00e2, 0xc481},
{0x00e3, 0xc487},
{0x00e4, 0xc3a4},
{0x00e5, 0xc3a5},
{0x00e6, 0xc499},
{0x00e7, 0xc493},
{0x00e8, 0xc48d},
{0x00e9, 0xc3a9},
{0x00ea, 0xc5ba},
{0x00eb, 0xc497},
{0x00ec, 0xc4a3},
{0x00ed, 0xc4b7},
{0x00ee, 0xc4ab},
{0x00ef, 0xc4bc},
{0x00f0, 0xc5a1},
{0x00f1, 0xc584},
{0x00f2, 0xc586},
{0x00f3, 0xc3b3},
{0x00f4, 0xc58d},
{0x00f5, 0xc3b5},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc5b3},
{0x00f9, 0xc582},
{0x00fa, 0xc59b},
{0x00fb, 0xc5ab},
{0x00fc, 0xc3bc},
{0x00fd, 0xc5bc},
{0x00fe, 0xc5be},
{0x00ff, 0xe28099}
static const uint32 iso8859_13_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_13_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_13_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_13_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0xe2809d, 0x00c2a2, 0x00c2a3,
/* a4 */ 0x00c2a4, 0xe2809e, 0x00c2a6, 0x00c2a7,
/* a8 */ 0x00c398, 0x00c2a9, 0x00c596, 0x00c2ab,
/* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c386,
/* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
/* b4 */ 0xe2809c, 0x00c2b5, 0x00c2b6, 0x00c2b7,
/* b8 */ 0x00c3b8, 0x00c2b9, 0x00c597, 0x00c2bb,
/* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c3a6,
/* c0 */ 0x00c484, 0x00c4ae, 0x00c480, 0x00c486,
/* c4 */ 0x00c384, 0x00c385, 0x00c498, 0x00c492,
/* c8 */ 0x00c48c, 0x00c389, 0x00c5b9, 0x00c496,
/* cc */ 0x00c4a2, 0x00c4b6, 0x00c4aa, 0x00c4bb,
/* d0 */ 0x00c5a0, 0x00c583, 0x00c585, 0x00c393,
/* d4 */ 0x00c58c, 0x00c395, 0x00c396, 0x00c397,
/* d8 */ 0x00c5b2, 0x00c581, 0x00c59a, 0x00c5aa,
/* dc */ 0x00c39c, 0x00c5bb, 0x00c5bd, 0x00c39f,
/* e0 */ 0x00c485, 0x00c4af, 0x00c481, 0x00c487,
/* e4 */ 0x00c3a4, 0x00c3a5, 0x00c499, 0x00c493,
/* e8 */ 0x00c48d, 0x00c3a9, 0x00c5ba, 0x00c497,
/* ec */ 0x00c4a3, 0x00c4b7, 0x00c4ab, 0x00c4bc,
/* f0 */ 0x00c5a1, 0x00c584, 0x00c586, 0x00c3b3,
/* f4 */ 0x00c58d, 0x00c3b5, 0x00c3b6, 0x00c3b7,
/* f8 */ 0x00c5b3, 0x00c582, 0x00c59b, 0x00c5ab,
/* fc */ 0x00c3bc, 0x00c5bc, 0x00c5be, 0xe28099
};
/* src/backend/utils/mb/Unicode/iso8859_14_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_14[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xe1b882},
{0x00a2, 0xe1b883},
{0x00a3, 0xc2a3},
{0x00a4, 0xc48a},
{0x00a5, 0xc48b},
{0x00a6, 0xe1b88a},
{0x00a7, 0xc2a7},
{0x00a8, 0xe1ba80},
{0x00a9, 0xc2a9},
{0x00aa, 0xe1ba82},
{0x00ab, 0xe1b88b},
{0x00ac, 0xe1bbb2},
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae},
{0x00af, 0xc5b8},
{0x00b0, 0xe1b89e},
{0x00b1, 0xe1b89f},
{0x00b2, 0xc4a0},
{0x00b3, 0xc4a1},
{0x00b4, 0xe1b980},
{0x00b5, 0xe1b981},
{0x00b6, 0xc2b6},
{0x00b7, 0xe1b996},
{0x00b8, 0xe1ba81},
{0x00b9, 0xe1b997},
{0x00ba, 0xe1ba83},
{0x00bb, 0xe1b9a0},
{0x00bc, 0xe1bbb3},
{0x00bd, 0xe1ba84},
{0x00be, 0xe1ba85},
{0x00bf, 0xe1b9a1},
{0x00c0, 0xc380},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc383},
{0x00c4, 0xc384},
{0x00c5, 0xc385},
{0x00c6, 0xc386},
{0x00c7, 0xc387},
{0x00c8, 0xc388},
{0x00c9, 0xc389},
{0x00ca, 0xc38a},
{0x00cb, 0xc38b},
{0x00cc, 0xc38c},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc38f},
{0x00d0, 0xc5b4},
{0x00d1, 0xc391},
{0x00d2, 0xc392},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc395},
{0x00d6, 0xc396},
{0x00d7, 0xe1b9aa},
{0x00d8, 0xc398},
{0x00d9, 0xc399},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc39d},
{0x00de, 0xc5b6},
{0x00df, 0xc39f},
{0x00e0, 0xc3a0},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc3a3},
{0x00e4, 0xc3a4},
{0x00e5, 0xc3a5},
{0x00e6, 0xc3a6},
{0x00e7, 0xc3a7},
{0x00e8, 0xc3a8},
{0x00e9, 0xc3a9},
{0x00ea, 0xc3aa},
{0x00eb, 0xc3ab},
{0x00ec, 0xc3ac},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f0, 0xc5b5},
{0x00f1, 0xc3b1},
{0x00f2, 0xc3b2},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc3b5},
{0x00f6, 0xc3b6},
{0x00f7, 0xe1b9ab},
{0x00f8, 0xc3b8},
{0x00f9, 0xc3b9},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc3bd},
{0x00fe, 0xc5b7},
{0x00ff, 0xc3bf}
static const uint32 iso8859_14_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_14_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_14_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_14_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0xe1b882, 0xe1b883, 0x00c2a3,
/* a4 */ 0x00c48a, 0x00c48b, 0xe1b88a, 0x00c2a7,
/* a8 */ 0xe1ba80, 0x00c2a9, 0xe1ba82, 0xe1b88b,
/* ac */ 0xe1bbb2, 0x00c2ad, 0x00c2ae, 0x00c5b8,
/* b0 */ 0xe1b89e, 0xe1b89f, 0x00c4a0, 0x00c4a1,
/* b4 */ 0xe1b980, 0xe1b981, 0x00c2b6, 0xe1b996,
/* b8 */ 0xe1ba81, 0xe1b997, 0xe1ba83, 0xe1b9a0,
/* bc */ 0xe1bbb3, 0xe1ba84, 0xe1ba85, 0xe1b9a1,
/* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c383,
/* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
/* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
/* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
/* d0 */ 0x00c5b4, 0x00c391, 0x00c392, 0x00c393,
/* d4 */ 0x00c394, 0x00c395, 0x00c396, 0xe1b9aa,
/* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
/* dc */ 0x00c39c, 0x00c39d, 0x00c5b6, 0x00c39f,
/* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c3a3,
/* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
/* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
/* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
/* f0 */ 0x00c5b5, 0x00c3b1, 0x00c3b2, 0x00c3b3,
/* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0xe1b9ab,
/* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
/* fc */ 0x00c3bc, 0x00c3bd, 0x00c5b7, 0x00c3bf
};
/* src/backend/utils/mb/Unicode/iso8859_15_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_15[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc2a1},
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3},
{0x00a4, 0xe282ac},
{0x00a5, 0xc2a5},
{0x00a6, 0xc5a0},
{0x00a7, 0xc2a7},
{0x00a8, 0xc5a1},
{0x00a9, 0xc2a9},
{0x00aa, 0xc2aa},
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac},
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae},
{0x00af, 0xc2af},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3},
{0x00b4, 0xc5bd},
{0x00b5, 0xc2b5},
{0x00b6, 0xc2b6},
{0x00b7, 0xc2b7},
{0x00b8, 0xc5be},
{0x00b9, 0xc2b9},
{0x00ba, 0xc2ba},
{0x00bb, 0xc2bb},
{0x00bc, 0xc592},
{0x00bd, 0xc593},
{0x00be, 0xc5b8},
{0x00bf, 0xc2bf},
{0x00c0, 0xc380},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc383},
{0x00c4, 0xc384},
{0x00c5, 0xc385},
{0x00c6, 0xc386},
{0x00c7, 0xc387},
{0x00c8, 0xc388},
{0x00c9, 0xc389},
{0x00ca, 0xc38a},
{0x00cb, 0xc38b},
{0x00cc, 0xc38c},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc38f},
{0x00d0, 0xc390},
{0x00d1, 0xc391},
{0x00d2, 0xc392},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc395},
{0x00d6, 0xc396},
{0x00d7, 0xc397},
{0x00d8, 0xc398},
{0x00d9, 0xc399},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc39d},
{0x00de, 0xc39e},
{0x00df, 0xc39f},
{0x00e0, 0xc3a0},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc3a3},
{0x00e4, 0xc3a4},
{0x00e5, 0xc3a5},
{0x00e6, 0xc3a6},
{0x00e7, 0xc3a7},
{0x00e8, 0xc3a8},
{0x00e9, 0xc3a9},
{0x00ea, 0xc3aa},
{0x00eb, 0xc3ab},
{0x00ec, 0xc3ac},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f0, 0xc3b0},
{0x00f1, 0xc3b1},
{0x00f2, 0xc3b2},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc3b5},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc3b8},
{0x00f9, 0xc3b9},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc3bd},
{0x00fe, 0xc3be},
{0x00ff, 0xc3bf}
static const uint32 iso8859_15_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_15_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_15_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_15_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0x00c2a1, 0x00c2a2, 0x00c2a3,
/* a4 */ 0xe282ac, 0x00c2a5, 0x00c5a0, 0x00c2a7,
/* a8 */ 0x00c5a1, 0x00c2a9, 0x00c2aa, 0x00c2ab,
/* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
/* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
/* b4 */ 0x00c5bd, 0x00c2b5, 0x00c2b6, 0x00c2b7,
/* b8 */ 0x00c5be, 0x00c2b9, 0x00c2ba, 0x00c2bb,
/* bc */ 0x00c592, 0x00c593, 0x00c5b8, 0x00c2bf,
/* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c383,
/* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
/* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
/* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
/* d0 */ 0x00c390, 0x00c391, 0x00c392, 0x00c393,
/* d4 */ 0x00c394, 0x00c395, 0x00c396, 0x00c397,
/* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
/* dc */ 0x00c39c, 0x00c39d, 0x00c39e, 0x00c39f,
/* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c3a3,
/* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
/* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
/* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
/* f0 */ 0x00c3b0, 0x00c3b1, 0x00c3b2, 0x00c3b3,
/* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0x00c3b7,
/* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
/* fc */ 0x00c3bc, 0x00c3bd, 0x00c3be, 0x00c3bf
};
/* src/backend/utils/mb/Unicode/iso8859_16_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_16[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc484},
{0x00a2, 0xc485},
{0x00a3, 0xc581},
{0x00a4, 0xe282ac},
{0x00a5, 0xe2809e},
{0x00a6, 0xc5a0},
{0x00a7, 0xc2a7},
{0x00a8, 0xc5a1},
{0x00a9, 0xc2a9},
{0x00aa, 0xc898},
{0x00ab, 0xc2ab},
{0x00ac, 0xc5b9},
{0x00ad, 0xc2ad},
{0x00ae, 0xc5ba},
{0x00af, 0xc5bb},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xc48c},
{0x00b3, 0xc582},
{0x00b4, 0xc5bd},
{0x00b5, 0xe2809d},
{0x00b6, 0xc2b6},
{0x00b7, 0xc2b7},
{0x00b8, 0xc5be},
{0x00b9, 0xc48d},
{0x00ba, 0xc899},
{0x00bb, 0xc2bb},
{0x00bc, 0xc592},
{0x00bd, 0xc593},
{0x00be, 0xc5b8},
{0x00bf, 0xc5bc},
{0x00c0, 0xc380},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc482},
{0x00c4, 0xc384},
{0x00c5, 0xc486},
{0x00c6, 0xc386},
{0x00c7, 0xc387},
{0x00c8, 0xc388},
{0x00c9, 0xc389},
{0x00ca, 0xc38a},
{0x00cb, 0xc38b},
{0x00cc, 0xc38c},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc38f},
{0x00d0, 0xc490},
{0x00d1, 0xc583},
{0x00d2, 0xc392},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc590},
{0x00d6, 0xc396},
{0x00d7, 0xc59a},
{0x00d8, 0xc5b0},
{0x00d9, 0xc399},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc498},
{0x00de, 0xc89a},
{0x00df, 0xc39f},
{0x00e0, 0xc3a0},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc483},
{0x00e4, 0xc3a4},
{0x00e5, 0xc487},
{0x00e6, 0xc3a6},
{0x00e7, 0xc3a7},
{0x00e8, 0xc3a8},
{0x00e9, 0xc3a9},
{0x00ea, 0xc3aa},
{0x00eb, 0xc3ab},
{0x00ec, 0xc3ac},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f0, 0xc491},
{0x00f1, 0xc584},
{0x00f2, 0xc3b2},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc591},
{0x00f6, 0xc3b6},
{0x00f7, 0xc59b},
{0x00f8, 0xc5b1},
{0x00f9, 0xc3b9},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc499},
{0x00fe, 0xc89b},
{0x00ff, 0xc3bf}
static const uint32 iso8859_16_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_16_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_16_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_16_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0x00c484, 0x00c485, 0x00c581,
/* a4 */ 0xe282ac, 0xe2809e, 0x00c5a0, 0x00c2a7,
/* a8 */ 0x00c5a1, 0x00c2a9, 0x00c898, 0x00c2ab,
/* ac */ 0x00c5b9, 0x00c2ad, 0x00c5ba, 0x00c5bb,
/* b0 */ 0x00c2b0, 0x00c2b1, 0x00c48c, 0x00c582,
/* b4 */ 0x00c5bd, 0xe2809d, 0x00c2b6, 0x00c2b7,
/* b8 */ 0x00c5be, 0x00c48d, 0x00c899, 0x00c2bb,
/* bc */ 0x00c592, 0x00c593, 0x00c5b8, 0x00c5bc,
/* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c482,
/* c4 */ 0x00c384, 0x00c486, 0x00c386, 0x00c387,
/* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
/* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
/* d0 */ 0x00c490, 0x00c583, 0x00c392, 0x00c393,
/* d4 */ 0x00c394, 0x00c590, 0x00c396, 0x00c59a,
/* d8 */ 0x00c5b0, 0x00c399, 0x00c39a, 0x00c39b,
/* dc */ 0x00c39c, 0x00c498, 0x00c89a, 0x00c39f,
/* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c483,
/* e4 */ 0x00c3a4, 0x00c487, 0x00c3a6, 0x00c3a7,
/* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
/* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
/* f0 */ 0x00c491, 0x00c584, 0x00c3b2, 0x00c3b3,
/* f4 */ 0x00c3b4, 0x00c591, 0x00c3b6, 0x00c59b,
/* f8 */ 0x00c5b1, 0x00c3b9, 0x00c3ba, 0x00c3bb,
/* fc */ 0x00c3bc, 0x00c499, 0x00c89b, 0x00c3bf
};
/* src/backend/utils/mb/Unicode/iso8859_2_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_2[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc484},
{0x00a2, 0xcb98},
{0x00a3, 0xc581},
{0x00a4, 0xc2a4},
{0x00a5, 0xc4bd},
{0x00a6, 0xc59a},
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8},
{0x00a9, 0xc5a0},
{0x00aa, 0xc59e},
{0x00ab, 0xc5a4},
{0x00ac, 0xc5b9},
{0x00ad, 0xc2ad},
{0x00ae, 0xc5bd},
{0x00af, 0xc5bb},
{0x00b0, 0xc2b0},
{0x00b1, 0xc485},
{0x00b2, 0xcb9b},
{0x00b3, 0xc582},
{0x00b4, 0xc2b4},
{0x00b5, 0xc4be},
{0x00b6, 0xc59b},
{0x00b7, 0xcb87},
{0x00b8, 0xc2b8},
{0x00b9, 0xc5a1},
{0x00ba, 0xc59f},
{0x00bb, 0xc5a5},
{0x00bc, 0xc5ba},
{0x00bd, 0xcb9d},
{0x00be, 0xc5be},
{0x00bf, 0xc5bc},
{0x00c0, 0xc594},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc482},
{0x00c4, 0xc384},
{0x00c5, 0xc4b9},
{0x00c6, 0xc486},
{0x00c7, 0xc387},
{0x00c8, 0xc48c},
{0x00c9, 0xc389},
{0x00ca, 0xc498},
{0x00cb, 0xc38b},
{0x00cc, 0xc49a},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc48e},
{0x00d0, 0xc490},
{0x00d1, 0xc583},
{0x00d2, 0xc587},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc590},
{0x00d6, 0xc396},
{0x00d7, 0xc397},
{0x00d8, 0xc598},
{0x00d9, 0xc5ae},
{0x00da, 0xc39a},
{0x00db, 0xc5b0},
{0x00dc, 0xc39c},
{0x00dd, 0xc39d},
{0x00de, 0xc5a2},
{0x00df, 0xc39f},
{0x00e0, 0xc595},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc483},
{0x00e4, 0xc3a4},
{0x00e5, 0xc4ba},
{0x00e6, 0xc487},
{0x00e7, 0xc3a7},
{0x00e8, 0xc48d},
{0x00e9, 0xc3a9},
{0x00ea, 0xc499},
{0x00eb, 0xc3ab},
{0x00ec, 0xc49b},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc48f},
{0x00f0, 0xc491},
{0x00f1, 0xc584},
{0x00f2, 0xc588},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc591},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc599},
{0x00f9, 0xc5af},
{0x00fa, 0xc3ba},
{0x00fb, 0xc5b1},
{0x00fc, 0xc3bc},
{0x00fd, 0xc3bd},
{0x00fe, 0xc5a3},
{0x00ff, 0xcb99}
static const uint16 iso8859_2_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_2_to_unicode_tree =
{
iso8859_2_to_unicode_tree_table,
NULL, /* 32-bit table not used */
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint16 iso8859_2_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
/* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
/* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
/* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
/* a0 */ 0xc2a0, 0xc484, 0xcb98, 0xc581, 0xc2a4, 0xc4bd, 0xc59a, 0xc2a7,
/* a8 */ 0xc2a8, 0xc5a0, 0xc59e, 0xc5a4, 0xc5b9, 0xc2ad, 0xc5bd, 0xc5bb,
/* b0 */ 0xc2b0, 0xc485, 0xcb9b, 0xc582, 0xc2b4, 0xc4be, 0xc59b, 0xcb87,
/* b8 */ 0xc2b8, 0xc5a1, 0xc59f, 0xc5a5, 0xc5ba, 0xcb9d, 0xc5be, 0xc5bc,
/* c0 */ 0xc594, 0xc381, 0xc382, 0xc482, 0xc384, 0xc4b9, 0xc486, 0xc387,
/* c8 */ 0xc48c, 0xc389, 0xc498, 0xc38b, 0xc49a, 0xc38d, 0xc38e, 0xc48e,
/* d0 */ 0xc490, 0xc583, 0xc587, 0xc393, 0xc394, 0xc590, 0xc396, 0xc397,
/* d8 */ 0xc598, 0xc5ae, 0xc39a, 0xc5b0, 0xc39c, 0xc39d, 0xc5a2, 0xc39f,
/* e0 */ 0xc595, 0xc3a1, 0xc3a2, 0xc483, 0xc3a4, 0xc4ba, 0xc487, 0xc3a7,
/* e8 */ 0xc48d, 0xc3a9, 0xc499, 0xc3ab, 0xc49b, 0xc3ad, 0xc3ae, 0xc48f,
/* f0 */ 0xc491, 0xc584, 0xc588, 0xc3b3, 0xc3b4, 0xc591, 0xc3b6, 0xc3b7,
/* f8 */ 0xc599, 0xc5af, 0xc3ba, 0xc5b1, 0xc3bc, 0xc3bd, 0xc5a3, 0xcb99
};
/* src/backend/utils/mb/Unicode/iso8859_3_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_3[ 121 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc4a6},
{0x00a2, 0xcb98},
{0x00a3, 0xc2a3},
{0x00a4, 0xc2a4},
{0x00a6, 0xc4a4},
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8},
{0x00a9, 0xc4b0},
{0x00aa, 0xc59e},
{0x00ab, 0xc49e},
{0x00ac, 0xc4b4},
{0x00ad, 0xc2ad},
{0x00af, 0xc5bb},
{0x00b0, 0xc2b0},
{0x00b1, 0xc4a7},
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3},
{0x00b4, 0xc2b4},
{0x00b5, 0xc2b5},
{0x00b6, 0xc4a5},
{0x00b7, 0xc2b7},
{0x00b8, 0xc2b8},
{0x00b9, 0xc4b1},
{0x00ba, 0xc59f},
{0x00bb, 0xc49f},
{0x00bc, 0xc4b5},
{0x00bd, 0xc2bd},
{0x00bf, 0xc5bc},
{0x00c0, 0xc380},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c4, 0xc384},
{0x00c5, 0xc48a},
{0x00c6, 0xc488},
{0x00c7, 0xc387},
{0x00c8, 0xc388},
{0x00c9, 0xc389},
{0x00ca, 0xc38a},
{0x00cb, 0xc38b},
{0x00cc, 0xc38c},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc38f},
{0x00d1, 0xc391},
{0x00d2, 0xc392},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc4a0},
{0x00d6, 0xc396},
{0x00d7, 0xc397},
{0x00d8, 0xc49c},
{0x00d9, 0xc399},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc5ac},
{0x00de, 0xc59c},
{0x00df, 0xc39f},
{0x00e0, 0xc3a0},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e4, 0xc3a4},
{0x00e5, 0xc48b},
{0x00e6, 0xc489},
{0x00e7, 0xc3a7},
{0x00e8, 0xc3a8},
{0x00e9, 0xc3a9},
{0x00ea, 0xc3aa},
{0x00eb, 0xc3ab},
{0x00ec, 0xc3ac},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f1, 0xc3b1},
{0x00f2, 0xc3b2},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc4a1},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc49d},
{0x00f9, 0xc3b9},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc5ad},
{0x00fe, 0xc59d},
{0x00ff, 0xcb99}
static const uint16 iso8859_3_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_3_to_unicode_tree =
{
iso8859_3_to_unicode_tree_table,
NULL, /* 32-bit table not used */
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint16 iso8859_3_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
/* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
/* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
/* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
/* a0 */ 0xc2a0, 0xc4a6, 0xcb98, 0xc2a3, 0xc2a4, 0x0000, 0xc4a4, 0xc2a7,
/* a8 */ 0xc2a8, 0xc4b0, 0xc59e, 0xc49e, 0xc4b4, 0xc2ad, 0x0000, 0xc5bb,
/* b0 */ 0xc2b0, 0xc4a7, 0xc2b2, 0xc2b3, 0xc2b4, 0xc2b5, 0xc4a5, 0xc2b7,
/* b8 */ 0xc2b8, 0xc4b1, 0xc59f, 0xc49f, 0xc4b5, 0xc2bd, 0x0000, 0xc5bc,
/* c0 */ 0xc380, 0xc381, 0xc382, 0x0000, 0xc384, 0xc48a, 0xc488, 0xc387,
/* c8 */ 0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,
/* d0 */ 0x0000, 0xc391, 0xc392, 0xc393, 0xc394, 0xc4a0, 0xc396, 0xc397,
/* d8 */ 0xc49c, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc5ac, 0xc59c, 0xc39f,
/* e0 */ 0xc3a0, 0xc3a1, 0xc3a2, 0x0000, 0xc3a4, 0xc48b, 0xc489, 0xc3a7,
/* e8 */ 0xc3a8, 0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af,
/* f0 */ 0x0000, 0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc4a1, 0xc3b6, 0xc3b7,
/* f8 */ 0xc49d, 0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc5ad, 0xc59d, 0xcb99
};
/* src/backend/utils/mb/Unicode/iso8859_4_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_4[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc484},
{0x00a2, 0xc4b8},
{0x00a3, 0xc596},
{0x00a4, 0xc2a4},
{0x00a5, 0xc4a8},
{0x00a6, 0xc4bb},
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8},
{0x00a9, 0xc5a0},
{0x00aa, 0xc492},
{0x00ab, 0xc4a2},
{0x00ac, 0xc5a6},
{0x00ad, 0xc2ad},
{0x00ae, 0xc5bd},
{0x00af, 0xc2af},
{0x00b0, 0xc2b0},
{0x00b1, 0xc485},
{0x00b2, 0xcb9b},
{0x00b3, 0xc597},
{0x00b4, 0xc2b4},
{0x00b5, 0xc4a9},
{0x00b6, 0xc4bc},
{0x00b7, 0xcb87},
{0x00b8, 0xc2b8},
{0x00b9, 0xc5a1},
{0x00ba, 0xc493},
{0x00bb, 0xc4a3},
{0x00bc, 0xc5a7},
{0x00bd, 0xc58a},
{0x00be, 0xc5be},
{0x00bf, 0xc58b},
{0x00c0, 0xc480},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc383},
{0x00c4, 0xc384},
{0x00c5, 0xc385},
{0x00c6, 0xc386},
{0x00c7, 0xc4ae},
{0x00c8, 0xc48c},
{0x00c9, 0xc389},
{0x00ca, 0xc498},
{0x00cb, 0xc38b},
{0x00cc, 0xc496},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc4aa},
{0x00d0, 0xc490},
{0x00d1, 0xc585},
{0x00d2, 0xc58c},
{0x00d3, 0xc4b6},
{0x00d4, 0xc394},
{0x00d5, 0xc395},
{0x00d6, 0xc396},
{0x00d7, 0xc397},
{0x00d8, 0xc398},
{0x00d9, 0xc5b2},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc5a8},
{0x00de, 0xc5aa},
{0x00df, 0xc39f},
{0x00e0, 0xc481},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc3a3},
{0x00e4, 0xc3a4},
{0x00e5, 0xc3a5},
{0x00e6, 0xc3a6},
{0x00e7, 0xc4af},
{0x00e8, 0xc48d},
{0x00e9, 0xc3a9},
{0x00ea, 0xc499},
{0x00eb, 0xc3ab},
{0x00ec, 0xc497},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc4ab},
{0x00f0, 0xc491},
{0x00f1, 0xc586},
{0x00f2, 0xc58d},
{0x00f3, 0xc4b7},
{0x00f4, 0xc3b4},
{0x00f5, 0xc3b5},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc3b8},
{0x00f9, 0xc5b3},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc5a9},
{0x00fe, 0xc5ab},
{0x00ff, 0xcb99}
static const uint16 iso8859_4_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_4_to_unicode_tree =
{
iso8859_4_to_unicode_tree_table,
NULL, /* 32-bit table not used */
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint16 iso8859_4_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
/* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
/* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
/* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
/* a0 */ 0xc2a0, 0xc484, 0xc4b8, 0xc596, 0xc2a4, 0xc4a8, 0xc4bb, 0xc2a7,
/* a8 */ 0xc2a8, 0xc5a0, 0xc492, 0xc4a2, 0xc5a6, 0xc2ad, 0xc5bd, 0xc2af,
/* b0 */ 0xc2b0, 0xc485, 0xcb9b, 0xc597, 0xc2b4, 0xc4a9, 0xc4bc, 0xcb87,
/* b8 */ 0xc2b8, 0xc5a1, 0xc493, 0xc4a3, 0xc5a7, 0xc58a, 0xc5be, 0xc58b,
/* c0 */ 0xc480, 0xc381, 0xc382, 0xc383, 0xc384, 0xc385, 0xc386, 0xc4ae,
/* c8 */ 0xc48c, 0xc389, 0xc498, 0xc38b, 0xc496, 0xc38d, 0xc38e, 0xc4aa,
/* d0 */ 0xc490, 0xc585, 0xc58c, 0xc4b6, 0xc394, 0xc395, 0xc396, 0xc397,
/* d8 */ 0xc398, 0xc5b2, 0xc39a, 0xc39b, 0xc39c, 0xc5a8, 0xc5aa, 0xc39f,
/* e0 */ 0xc481, 0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc4af,
/* e8 */ 0xc48d, 0xc3a9, 0xc499, 0xc3ab, 0xc497, 0xc3ad, 0xc3ae, 0xc4ab,
/* f0 */ 0xc491, 0xc586, 0xc58d, 0xc4b7, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7,
/* f8 */ 0xc3b8, 0xc5b3, 0xc3ba, 0xc3bb, 0xc3bc, 0xc5a9, 0xc5ab, 0xcb99
};
/* src/backend/utils/mb/Unicode/iso8859_5_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_5[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xd081},
{0x00a2, 0xd082},
{0x00a3, 0xd083},
{0x00a4, 0xd084},
{0x00a5, 0xd085},
{0x00a6, 0xd086},
{0x00a7, 0xd087},
{0x00a8, 0xd088},
{0x00a9, 0xd089},
{0x00aa, 0xd08a},
{0x00ab, 0xd08b},
{0x00ac, 0xd08c},
{0x00ad, 0xc2ad},
{0x00ae, 0xd08e},
{0x00af, 0xd08f},
{0x00b0, 0xd090},
{0x00b1, 0xd091},
{0x00b2, 0xd092},
{0x00b3, 0xd093},
{0x00b4, 0xd094},
{0x00b5, 0xd095},
{0x00b6, 0xd096},
{0x00b7, 0xd097},
{0x00b8, 0xd098},
{0x00b9, 0xd099},
{0x00ba, 0xd09a},
{0x00bb, 0xd09b},
{0x00bc, 0xd09c},
{0x00bd, 0xd09d},
{0x00be, 0xd09e},
{0x00bf, 0xd09f},
{0x00c0, 0xd0a0},
{0x00c1, 0xd0a1},
{0x00c2, 0xd0a2},
{0x00c3, 0xd0a3},
{0x00c4, 0xd0a4},
{0x00c5, 0xd0a5},
{0x00c6, 0xd0a6},
{0x00c7, 0xd0a7},
{0x00c8, 0xd0a8},
{0x00c9, 0xd0a9},
{0x00ca, 0xd0aa},
{0x00cb, 0xd0ab},
{0x00cc, 0xd0ac},
{0x00cd, 0xd0ad},
{0x00ce, 0xd0ae},
{0x00cf, 0xd0af},
{0x00d0, 0xd0b0},
{0x00d1, 0xd0b1},
{0x00d2, 0xd0b2},
{0x00d3, 0xd0b3},
{0x00d4, 0xd0b4},
{0x00d5, 0xd0b5},
{0x00d6, 0xd0b6},
{0x00d7, 0xd0b7},
{0x00d8, 0xd0b8},
{0x00d9, 0xd0b9},
{0x00da, 0xd0ba},
{0x00db, 0xd0bb},
{0x00dc, 0xd0bc},
{0x00dd, 0xd0bd},
{0x00de, 0xd0be},
{0x00df, 0xd0bf},
{0x00e0, 0xd180},
{0x00e1, 0xd181},
{0x00e2, 0xd182},
{0x00e3, 0xd183},
{0x00e4, 0xd184},
{0x00e5, 0xd185},
{0x00e6, 0xd186},
{0x00e7, 0xd187},
{0x00e8, 0xd188},
{0x00e9, 0xd189},
{0x00ea, 0xd18a},
{0x00eb, 0xd18b},
{0x00ec, 0xd18c},
{0x00ed, 0xd18d},
{0x00ee, 0xd18e},
{0x00ef, 0xd18f},
{0x00f0, 0xe28496},
{0x00f1, 0xd191},
{0x00f2, 0xd192},
{0x00f3, 0xd193},
{0x00f4, 0xd194},
{0x00f5, 0xd195},
{0x00f6, 0xd196},
{0x00f7, 0xd197},
{0x00f8, 0xd198},
{0x00f9, 0xd199},
{0x00fa, 0xd19a},
{0x00fb, 0xd19b},
{0x00fc, 0xd19c},
{0x00fd, 0xc2a7},
{0x00fe, 0xd19e},
{0x00ff, 0xd19f}
static const uint32 iso8859_5_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_5_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_5_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_5_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0x00d081, 0x00d082, 0x00d083,
/* a4 */ 0x00d084, 0x00d085, 0x00d086, 0x00d087,
/* a8 */ 0x00d088, 0x00d089, 0x00d08a, 0x00d08b,
/* ac */ 0x00d08c, 0x00c2ad, 0x00d08e, 0x00d08f,
/* b0 */ 0x00d090, 0x00d091, 0x00d092, 0x00d093,
/* b4 */ 0x00d094, 0x00d095, 0x00d096, 0x00d097,
/* b8 */ 0x00d098, 0x00d099, 0x00d09a, 0x00d09b,
/* bc */ 0x00d09c, 0x00d09d, 0x00d09e, 0x00d09f,
/* c0 */ 0x00d0a0, 0x00d0a1, 0x00d0a2, 0x00d0a3,
/* c4 */ 0x00d0a4, 0x00d0a5, 0x00d0a6, 0x00d0a7,
/* c8 */ 0x00d0a8, 0x00d0a9, 0x00d0aa, 0x00d0ab,
/* cc */ 0x00d0ac, 0x00d0ad, 0x00d0ae, 0x00d0af,
/* d0 */ 0x00d0b0, 0x00d0b1, 0x00d0b2, 0x00d0b3,
/* d4 */ 0x00d0b4, 0x00d0b5, 0x00d0b6, 0x00d0b7,
/* d8 */ 0x00d0b8, 0x00d0b9, 0x00d0ba, 0x00d0bb,
/* dc */ 0x00d0bc, 0x00d0bd, 0x00d0be, 0x00d0bf,
/* e0 */ 0x00d180, 0x00d181, 0x00d182, 0x00d183,
/* e4 */ 0x00d184, 0x00d185, 0x00d186, 0x00d187,
/* e8 */ 0x00d188, 0x00d189, 0x00d18a, 0x00d18b,
/* ec */ 0x00d18c, 0x00d18d, 0x00d18e, 0x00d18f,
/* f0 */ 0xe28496, 0x00d191, 0x00d192, 0x00d193,
/* f4 */ 0x00d194, 0x00d195, 0x00d196, 0x00d197,
/* f8 */ 0x00d198, 0x00d199, 0x00d19a, 0x00d19b,
/* fc */ 0x00d19c, 0x00c2a7, 0x00d19e, 0x00d19f
};
/* src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_6[ 83 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a4, 0xc2a4},
{0x00ac, 0xd88c},
{0x00ad, 0xc2ad},
{0x00bb, 0xd89b},
{0x00bf, 0xd89f},
{0x00c1, 0xd8a1},
{0x00c2, 0xd8a2},
{0x00c3, 0xd8a3},
{0x00c4, 0xd8a4},
{0x00c5, 0xd8a5},
{0x00c6, 0xd8a6},
{0x00c7, 0xd8a7},
{0x00c8, 0xd8a8},
{0x00c9, 0xd8a9},
{0x00ca, 0xd8aa},
{0x00cb, 0xd8ab},
{0x00cc, 0xd8ac},
{0x00cd, 0xd8ad},
{0x00ce, 0xd8ae},
{0x00cf, 0xd8af},
{0x00d0, 0xd8b0},
{0x00d1, 0xd8b1},
{0x00d2, 0xd8b2},
{0x00d3, 0xd8b3},
{0x00d4, 0xd8b4},
{0x00d5, 0xd8b5},
{0x00d6, 0xd8b6},
{0x00d7, 0xd8b7},
{0x00d8, 0xd8b8},
{0x00d9, 0xd8b9},
{0x00da, 0xd8ba},
{0x00e0, 0xd980},
{0x00e1, 0xd981},
{0x00e2, 0xd982},
{0x00e3, 0xd983},
{0x00e4, 0xd984},
{0x00e5, 0xd985},
{0x00e6, 0xd986},
{0x00e7, 0xd987},
{0x00e8, 0xd988},
{0x00e9, 0xd989},
{0x00ea, 0xd98a},
{0x00eb, 0xd98b},
{0x00ec, 0xd98c},
{0x00ed, 0xd98d},
{0x00ee, 0xd98e},
{0x00ef, 0xd98f},
{0x00f0, 0xd990},
{0x00f1, 0xd991},
{0x00f2, 0xd992}
static const uint16 iso8859_6_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_6_to_unicode_tree =
{
iso8859_6_to_unicode_tree_table,
NULL, /* 32-bit table not used */
0x0073, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xf2, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint16 iso8859_6_to_unicode_tree_table[230] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 70 */ 0x0000, 0x0000, 0x0000,
/*** Single byte table, leaf: xx - offset 0x00073 ***/
/* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
/* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
/* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
/* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
/* a0 */ 0xc2a0, 0x0000, 0x0000, 0x0000, 0xc2a4, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0xd88c, 0xc2ad, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0xd89b, 0x0000, 0x0000, 0x0000, 0xd89f,
/* c0 */ 0x0000, 0xd8a1, 0xd8a2, 0xd8a3, 0xd8a4, 0xd8a5, 0xd8a6, 0xd8a7,
/* c8 */ 0xd8a8, 0xd8a9, 0xd8aa, 0xd8ab, 0xd8ac, 0xd8ad, 0xd8ae, 0xd8af,
/* d0 */ 0xd8b0, 0xd8b1, 0xd8b2, 0xd8b3, 0xd8b4, 0xd8b5, 0xd8b6, 0xd8b7,
/* d8 */ 0xd8b8, 0xd8b9, 0xd8ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* e0 */ 0xd980, 0xd981, 0xd982, 0xd983, 0xd984, 0xd985, 0xd986, 0xd987,
/* e8 */ 0xd988, 0xd989, 0xd98a, 0xd98b, 0xd98c, 0xd98d, 0xd98e, 0xd98f,
/* f0 */ 0xd990, 0xd991, 0xd992
};
/* src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_7[ 125 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xe28098},
{0x00a2, 0xe28099},
{0x00a3, 0xc2a3},
{0x00a4, 0xe282ac},
{0x00a5, 0xe282af},
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8},
{0x00a9, 0xc2a9},
{0x00aa, 0xcdba},
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac},
{0x00ad, 0xc2ad},
{0x00af, 0xe28095},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3},
{0x00b4, 0xce84},
{0x00b5, 0xce85},
{0x00b6, 0xce86},
{0x00b7, 0xc2b7},
{0x00b8, 0xce88},
{0x00b9, 0xce89},
{0x00ba, 0xce8a},
{0x00bb, 0xc2bb},
{0x00bc, 0xce8c},
{0x00bd, 0xc2bd},
{0x00be, 0xce8e},
{0x00bf, 0xce8f},
{0x00c0, 0xce90},
{0x00c1, 0xce91},
{0x00c2, 0xce92},
{0x00c3, 0xce93},
{0x00c4, 0xce94},
{0x00c5, 0xce95},
{0x00c6, 0xce96},
{0x00c7, 0xce97},
{0x00c8, 0xce98},
{0x00c9, 0xce99},
{0x00ca, 0xce9a},
{0x00cb, 0xce9b},
{0x00cc, 0xce9c},
{0x00cd, 0xce9d},
{0x00ce, 0xce9e},
{0x00cf, 0xce9f},
{0x00d0, 0xcea0},
{0x00d1, 0xcea1},
{0x00d3, 0xcea3},
{0x00d4, 0xcea4},
{0x00d5, 0xcea5},
{0x00d6, 0xcea6},
{0x00d7, 0xcea7},
{0x00d8, 0xcea8},
{0x00d9, 0xcea9},
{0x00da, 0xceaa},
{0x00db, 0xceab},
{0x00dc, 0xceac},
{0x00dd, 0xcead},
{0x00de, 0xceae},
{0x00df, 0xceaf},
{0x00e0, 0xceb0},
{0x00e1, 0xceb1},
{0x00e2, 0xceb2},
{0x00e3, 0xceb3},
{0x00e4, 0xceb4},
{0x00e5, 0xceb5},
{0x00e6, 0xceb6},
{0x00e7, 0xceb7},
{0x00e8, 0xceb8},
{0x00e9, 0xceb9},
{0x00ea, 0xceba},
{0x00eb, 0xcebb},
{0x00ec, 0xcebc},
{0x00ed, 0xcebd},
{0x00ee, 0xcebe},
{0x00ef, 0xcebf},
{0x00f0, 0xcf80},
{0x00f1, 0xcf81},
{0x00f2, 0xcf82},
{0x00f3, 0xcf83},
{0x00f4, 0xcf84},
{0x00f5, 0xcf85},
{0x00f6, 0xcf86},
{0x00f7, 0xcf87},
{0x00f8, 0xcf88},
{0x00f9, 0xcf89},
{0x00fa, 0xcf8a},
{0x00fb, 0xcf8b},
{0x00fc, 0xcf8c},
{0x00fd, 0xcf8d},
{0x00fe, 0xcf8e}
static const uint32 iso8859_7_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_7_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_7_to_unicode_tree_table,
0x007f, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xfe, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_7_to_unicode_tree_table[254] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x0007f ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0xe28098, 0xe28099, 0x00c2a3,
/* a4 */ 0xe282ac, 0xe282af, 0x00c2a6, 0x00c2a7,
/* a8 */ 0x00c2a8, 0x00c2a9, 0x00cdba, 0x00c2ab,
/* ac */ 0x00c2ac, 0x00c2ad, 0x000000, 0xe28095,
/* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
/* b4 */ 0x00ce84, 0x00ce85, 0x00ce86, 0x00c2b7,
/* b8 */ 0x00ce88, 0x00ce89, 0x00ce8a, 0x00c2bb,
/* bc */ 0x00ce8c, 0x00c2bd, 0x00ce8e, 0x00ce8f,
/* c0 */ 0x00ce90, 0x00ce91, 0x00ce92, 0x00ce93,
/* c4 */ 0x00ce94, 0x00ce95, 0x00ce96, 0x00ce97,
/* c8 */ 0x00ce98, 0x00ce99, 0x00ce9a, 0x00ce9b,
/* cc */ 0x00ce9c, 0x00ce9d, 0x00ce9e, 0x00ce9f,
/* d0 */ 0x00cea0, 0x00cea1, 0x000000, 0x00cea3,
/* d4 */ 0x00cea4, 0x00cea5, 0x00cea6, 0x00cea7,
/* d8 */ 0x00cea8, 0x00cea9, 0x00ceaa, 0x00ceab,
/* dc */ 0x00ceac, 0x00cead, 0x00ceae, 0x00ceaf,
/* e0 */ 0x00ceb0, 0x00ceb1, 0x00ceb2, 0x00ceb3,
/* e4 */ 0x00ceb4, 0x00ceb5, 0x00ceb6, 0x00ceb7,
/* e8 */ 0x00ceb8, 0x00ceb9, 0x00ceba, 0x00cebb,
/* ec */ 0x00cebc, 0x00cebd, 0x00cebe, 0x00cebf,
/* f0 */ 0x00cf80, 0x00cf81, 0x00cf82, 0x00cf83,
/* f4 */ 0x00cf84, 0x00cf85, 0x00cf86, 0x00cf87,
/* f8 */ 0x00cf88, 0x00cf89, 0x00cf8a, 0x00cf8b,
/* fc */ 0x00cf8c, 0x00cf8d, 0x00cf8e
};
/* src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_8[ 92 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3},
{0x00a4, 0xc2a4},
{0x00a5, 0xc2a5},
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8},
{0x00a9, 0xc2a9},
{0x00aa, 0xc397},
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac},
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae},
{0x00af, 0xc2af},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3},
{0x00b4, 0xc2b4},
{0x00b5, 0xc2b5},
{0x00b6, 0xc2b6},
{0x00b7, 0xc2b7},
{0x00b8, 0xc2b8},
{0x00b9, 0xc2b9},
{0x00ba, 0xc3b7},
{0x00bb, 0xc2bb},
{0x00bc, 0xc2bc},
{0x00bd, 0xc2bd},
{0x00be, 0xc2be},
{0x00df, 0xe28097},
{0x00e0, 0xd790},
{0x00e1, 0xd791},
{0x00e2, 0xd792},
{0x00e3, 0xd793},
{0x00e4, 0xd794},
{0x00e5, 0xd795},
{0x00e6, 0xd796},
{0x00e7, 0xd797},
{0x00e8, 0xd798},
{0x00e9, 0xd799},
{0x00ea, 0xd79a},
{0x00eb, 0xd79b},
{0x00ec, 0xd79c},
{0x00ed, 0xd79d},
{0x00ee, 0xd79e},
{0x00ef, 0xd79f},
{0x00f0, 0xd7a0},
{0x00f1, 0xd7a1},
{0x00f2, 0xd7a2},
{0x00f3, 0xd7a3},
{0x00f4, 0xd7a4},
{0x00f5, 0xd7a5},
{0x00f6, 0xd7a6},
{0x00f7, 0xd7a7},
{0x00f8, 0xd7a8},
{0x00f9, 0xd7a9},
{0x00fa, 0xd7aa},
{0x00fd, 0xe2808e},
{0x00fe, 0xe2808f}
static const uint32 iso8859_8_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_8_to_unicode_tree =
{
NULL, /* 16-bit table not used */
iso8859_8_to_unicode_tree_table,
0x007f, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xfe, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 iso8859_8_to_unicode_tree_table[254] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x0007f ***/
/* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
/* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
/* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
/* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
/* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
/* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
/* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
/* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
/* a0 */ 0x00c2a0, 0x000000, 0x00c2a2, 0x00c2a3,
/* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
/* a8 */ 0x00c2a8, 0x00c2a9, 0x00c397, 0x00c2ab,
/* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
/* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
/* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
/* b8 */ 0x00c2b8, 0x00c2b9, 0x00c3b7, 0x00c2bb,
/* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x000000,
/* c0 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* c4 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* c8 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* cc */ 0x000000, 0x000000, 0x000000, 0x000000,
/* d0 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* d4 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* d8 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* dc */ 0x000000, 0x000000, 0x000000, 0xe28097,
/* e0 */ 0x00d790, 0x00d791, 0x00d792, 0x00d793,
/* e4 */ 0x00d794, 0x00d795, 0x00d796, 0x00d797,
/* e8 */ 0x00d798, 0x00d799, 0x00d79a, 0x00d79b,
/* ec */ 0x00d79c, 0x00d79d, 0x00d79e, 0x00d79f,
/* f0 */ 0x00d7a0, 0x00d7a1, 0x00d7a2, 0x00d7a3,
/* f4 */ 0x00d7a4, 0x00d7a5, 0x00d7a6, 0x00d7a7,
/* f8 */ 0x00d7a8, 0x00d7a9, 0x00d7aa, 0x000000,
/* fc */ 0x000000, 0xe2808e, 0xe2808f
};
/* src/backend/utils/mb/Unicode/iso8859_9_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapISO8859_9[ 128 ] = {
{0x0080, 0xc280},
{0x0081, 0xc281},
{0x0082, 0xc282},
{0x0083, 0xc283},
{0x0084, 0xc284},
{0x0085, 0xc285},
{0x0086, 0xc286},
{0x0087, 0xc287},
{0x0088, 0xc288},
{0x0089, 0xc289},
{0x008a, 0xc28a},
{0x008b, 0xc28b},
{0x008c, 0xc28c},
{0x008d, 0xc28d},
{0x008e, 0xc28e},
{0x008f, 0xc28f},
{0x0090, 0xc290},
{0x0091, 0xc291},
{0x0092, 0xc292},
{0x0093, 0xc293},
{0x0094, 0xc294},
{0x0095, 0xc295},
{0x0096, 0xc296},
{0x0097, 0xc297},
{0x0098, 0xc298},
{0x0099, 0xc299},
{0x009a, 0xc29a},
{0x009b, 0xc29b},
{0x009c, 0xc29c},
{0x009d, 0xc29d},
{0x009e, 0xc29e},
{0x009f, 0xc29f},
{0x00a0, 0xc2a0},
{0x00a1, 0xc2a1},
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3},
{0x00a4, 0xc2a4},
{0x00a5, 0xc2a5},
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8},
{0x00a9, 0xc2a9},
{0x00aa, 0xc2aa},
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac},
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae},
{0x00af, 0xc2af},
{0x00b0, 0xc2b0},
{0x00b1, 0xc2b1},
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3},
{0x00b4, 0xc2b4},
{0x00b5, 0xc2b5},
{0x00b6, 0xc2b6},
{0x00b7, 0xc2b7},
{0x00b8, 0xc2b8},
{0x00b9, 0xc2b9},
{0x00ba, 0xc2ba},
{0x00bb, 0xc2bb},
{0x00bc, 0xc2bc},
{0x00bd, 0xc2bd},
{0x00be, 0xc2be},
{0x00bf, 0xc2bf},
{0x00c0, 0xc380},
{0x00c1, 0xc381},
{0x00c2, 0xc382},
{0x00c3, 0xc383},
{0x00c4, 0xc384},
{0x00c5, 0xc385},
{0x00c6, 0xc386},
{0x00c7, 0xc387},
{0x00c8, 0xc388},
{0x00c9, 0xc389},
{0x00ca, 0xc38a},
{0x00cb, 0xc38b},
{0x00cc, 0xc38c},
{0x00cd, 0xc38d},
{0x00ce, 0xc38e},
{0x00cf, 0xc38f},
{0x00d0, 0xc49e},
{0x00d1, 0xc391},
{0x00d2, 0xc392},
{0x00d3, 0xc393},
{0x00d4, 0xc394},
{0x00d5, 0xc395},
{0x00d6, 0xc396},
{0x00d7, 0xc397},
{0x00d8, 0xc398},
{0x00d9, 0xc399},
{0x00da, 0xc39a},
{0x00db, 0xc39b},
{0x00dc, 0xc39c},
{0x00dd, 0xc4b0},
{0x00de, 0xc59e},
{0x00df, 0xc39f},
{0x00e0, 0xc3a0},
{0x00e1, 0xc3a1},
{0x00e2, 0xc3a2},
{0x00e3, 0xc3a3},
{0x00e4, 0xc3a4},
{0x00e5, 0xc3a5},
{0x00e6, 0xc3a6},
{0x00e7, 0xc3a7},
{0x00e8, 0xc3a8},
{0x00e9, 0xc3a9},
{0x00ea, 0xc3aa},
{0x00eb, 0xc3ab},
{0x00ec, 0xc3ac},
{0x00ed, 0xc3ad},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f0, 0xc49f},
{0x00f1, 0xc3b1},
{0x00f2, 0xc3b2},
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc3b5},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc3b8},
{0x00f9, 0xc3b9},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc4b1},
{0x00fe, 0xc59f},
{0x00ff, 0xc3bf}
static const uint16 iso8859_9_to_unicode_tree_table[];
static const pg_mb_radix_tree iso8859_9_to_unicode_tree =
{
iso8859_9_to_unicode_tree_table,
NULL, /* 32-bit table not used */
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint16 iso8859_9_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
/* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
/* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
/* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
/* a0 */ 0xc2a0, 0xc2a1, 0xc2a2, 0xc2a3, 0xc2a4, 0xc2a5, 0xc2a6, 0xc2a7,
/* a8 */ 0xc2a8, 0xc2a9, 0xc2aa, 0xc2ab, 0xc2ac, 0xc2ad, 0xc2ae, 0xc2af,
/* b0 */ 0xc2b0, 0xc2b1, 0xc2b2, 0xc2b3, 0xc2b4, 0xc2b5, 0xc2b6, 0xc2b7,
/* b8 */ 0xc2b8, 0xc2b9, 0xc2ba, 0xc2bb, 0xc2bc, 0xc2bd, 0xc2be, 0xc2bf,
/* c0 */ 0xc380, 0xc381, 0xc382, 0xc383, 0xc384, 0xc385, 0xc386, 0xc387,
/* c8 */ 0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,
/* d0 */ 0xc49e, 0xc391, 0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc397,
/* d8 */ 0xc398, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc4b0, 0xc59e, 0xc39f,
/* e0 */ 0xc3a0, 0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc3a7,
/* e8 */ 0xc3a8, 0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af,
/* f0 */ 0xc49f, 0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7,
/* f8 */ 0xc3b8, 0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc4b1, 0xc59f, 0xc3bf
};
/* src/backend/utils/mb/Unicode/koi8r_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapKOI8R[ 128 ] = {
{0x0080, 0xe29480},
{0x0081, 0xe29482},
{0x0082, 0xe2948c},
{0x0083, 0xe29490},
{0x0084, 0xe29494},
{0x0085, 0xe29498},
{0x0086, 0xe2949c},
{0x0087, 0xe294a4},
{0x0088, 0xe294ac},
{0x0089, 0xe294b4},
{0x008a, 0xe294bc},
{0x008b, 0xe29680},
{0x008c, 0xe29684},
{0x008d, 0xe29688},
{0x008e, 0xe2968c},
{0x008f, 0xe29690},
{0x0090, 0xe29691},
{0x0091, 0xe29692},
{0x0092, 0xe29693},
{0x0093, 0xe28ca0},
{0x0094, 0xe296a0},
{0x0095, 0xe28899},
{0x0096, 0xe2889a},
{0x0097, 0xe28988},
{0x0098, 0xe289a4},
{0x0099, 0xe289a5},
{0x009a, 0xc2a0},
{0x009b, 0xe28ca1},
{0x009c, 0xc2b0},
{0x009d, 0xc2b2},
{0x009e, 0xc2b7},
{0x009f, 0xc3b7},
{0x00a0, 0xe29590},
{0x00a1, 0xe29591},
{0x00a2, 0xe29592},
{0x00a3, 0xd191},
{0x00a4, 0xe29593},
{0x00a5, 0xe29594},
{0x00a6, 0xe29595},
{0x00a7, 0xe29596},
{0x00a8, 0xe29597},
{0x00a9, 0xe29598},
{0x00aa, 0xe29599},
{0x00ab, 0xe2959a},
{0x00ac, 0xe2959b},
{0x00ad, 0xe2959c},
{0x00ae, 0xe2959d},
{0x00af, 0xe2959e},
{0x00b0, 0xe2959f},
{0x00b1, 0xe295a0},
{0x00b2, 0xe295a1},
{0x00b3, 0xd081},
{0x00b4, 0xe295a2},
{0x00b5, 0xe295a3},
{0x00b6, 0xe295a4},
{0x00b7, 0xe295a5},
{0x00b8, 0xe295a6},
{0x00b9, 0xe295a7},
{0x00ba, 0xe295a8},
{0x00bb, 0xe295a9},
{0x00bc, 0xe295aa},
{0x00bd, 0xe295ab},
{0x00be, 0xe295ac},
{0x00bf, 0xc2a9},
{0x00c0, 0xd18e},
{0x00c1, 0xd0b0},
{0x00c2, 0xd0b1},
{0x00c3, 0xd186},
{0x00c4, 0xd0b4},
{0x00c5, 0xd0b5},
{0x00c6, 0xd184},
{0x00c7, 0xd0b3},
{0x00c8, 0xd185},
{0x00c9, 0xd0b8},
{0x00ca, 0xd0b9},
{0x00cb, 0xd0ba},
{0x00cc, 0xd0bb},
{0x00cd, 0xd0bc},
{0x00ce, 0xd0bd},
{0x00cf, 0xd0be},
{0x00d0, 0xd0bf},
{0x00d1, 0xd18f},
{0x00d2, 0xd180},
{0x00d3, 0xd181},
{0x00d4, 0xd182},
{0x00d5, 0xd183},
{0x00d6, 0xd0b6},
{0x00d7, 0xd0b2},
{0x00d8, 0xd18c},
{0x00d9, 0xd18b},
{0x00da, 0xd0b7},
{0x00db, 0xd188},
{0x00dc, 0xd18d},
{0x00dd, 0xd189},
{0x00de, 0xd187},
{0x00df, 0xd18a},
{0x00e0, 0xd0ae},
{0x00e1, 0xd090},
{0x00e2, 0xd091},
{0x00e3, 0xd0a6},
{0x00e4, 0xd094},
{0x00e5, 0xd095},
{0x00e6, 0xd0a4},
{0x00e7, 0xd093},
{0x00e8, 0xd0a5},
{0x00e9, 0xd098},
{0x00ea, 0xd099},
{0x00eb, 0xd09a},
{0x00ec, 0xd09b},
{0x00ed, 0xd09c},
{0x00ee, 0xd09d},
{0x00ef, 0xd09e},
{0x00f0, 0xd09f},
{0x00f1, 0xd0af},
{0x00f2, 0xd0a0},
{0x00f3, 0xd0a1},
{0x00f4, 0xd0a2},
{0x00f5, 0xd0a3},
{0x00f6, 0xd096},
{0x00f7, 0xd092},
{0x00f8, 0xd0ac},
{0x00f9, 0xd0ab},
{0x00fa, 0xd097},
{0x00fb, 0xd0a8},
{0x00fc, 0xd0ad},
{0x00fd, 0xd0a9},
{0x00fe, 0xd0a7},
{0x00ff, 0xd0aa}
static const uint32 koi8r_to_unicode_tree_table[];
static const pg_mb_radix_tree koi8r_to_unicode_tree =
{
NULL, /* 16-bit table not used */
koi8r_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 koi8r_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0xe29480, 0xe29482, 0xe2948c, 0xe29490,
/* 84 */ 0xe29494, 0xe29498, 0xe2949c, 0xe294a4,
/* 88 */ 0xe294ac, 0xe294b4, 0xe294bc, 0xe29680,
/* 8c */ 0xe29684, 0xe29688, 0xe2968c, 0xe29690,
/* 90 */ 0xe29691, 0xe29692, 0xe29693, 0xe28ca0,
/* 94 */ 0xe296a0, 0xe28899, 0xe2889a, 0xe28988,
/* 98 */ 0xe289a4, 0xe289a5, 0x00c2a0, 0xe28ca1,
/* 9c */ 0x00c2b0, 0x00c2b2, 0x00c2b7, 0x00c3b7,
/* a0 */ 0xe29590, 0xe29591, 0xe29592, 0x00d191,
/* a4 */ 0xe29593, 0xe29594, 0xe29595, 0xe29596,
/* a8 */ 0xe29597, 0xe29598, 0xe29599, 0xe2959a,
/* ac */ 0xe2959b, 0xe2959c, 0xe2959d, 0xe2959e,
/* b0 */ 0xe2959f, 0xe295a0, 0xe295a1, 0x00d081,
/* b4 */ 0xe295a2, 0xe295a3, 0xe295a4, 0xe295a5,
/* b8 */ 0xe295a6, 0xe295a7, 0xe295a8, 0xe295a9,
/* bc */ 0xe295aa, 0xe295ab, 0xe295ac, 0x00c2a9,
/* c0 */ 0x00d18e, 0x00d0b0, 0x00d0b1, 0x00d186,
/* c4 */ 0x00d0b4, 0x00d0b5, 0x00d184, 0x00d0b3,
/* c8 */ 0x00d185, 0x00d0b8, 0x00d0b9, 0x00d0ba,
/* cc */ 0x00d0bb, 0x00d0bc, 0x00d0bd, 0x00d0be,
/* d0 */ 0x00d0bf, 0x00d18f, 0x00d180, 0x00d181,
/* d4 */ 0x00d182, 0x00d183, 0x00d0b6, 0x00d0b2,
/* d8 */ 0x00d18c, 0x00d18b, 0x00d0b7, 0x00d188,
/* dc */ 0x00d18d, 0x00d189, 0x00d187, 0x00d18a,
/* e0 */ 0x00d0ae, 0x00d090, 0x00d091, 0x00d0a6,
/* e4 */ 0x00d094, 0x00d095, 0x00d0a4, 0x00d093,
/* e8 */ 0x00d0a5, 0x00d098, 0x00d099, 0x00d09a,
/* ec */ 0x00d09b, 0x00d09c, 0x00d09d, 0x00d09e,
/* f0 */ 0x00d09f, 0x00d0af, 0x00d0a0, 0x00d0a1,
/* f4 */ 0x00d0a2, 0x00d0a3, 0x00d096, 0x00d092,
/* f8 */ 0x00d0ac, 0x00d0ab, 0x00d097, 0x00d0a8,
/* fc */ 0x00d0ad, 0x00d0a9, 0x00d0a7, 0x00d0aa
};
/* src/backend/utils/mb/Unicode/koi8u_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapKOI8U[ 128 ] = {
{0x0080, 0xe29480},
{0x0081, 0xe29482},
{0x0082, 0xe2948c},
{0x0083, 0xe29490},
{0x0084, 0xe29494},
{0x0085, 0xe29498},
{0x0086, 0xe2949c},
{0x0087, 0xe294a4},
{0x0088, 0xe294ac},
{0x0089, 0xe294b4},
{0x008a, 0xe294bc},
{0x008b, 0xe29680},
{0x008c, 0xe29684},
{0x008d, 0xe29688},
{0x008e, 0xe2968c},
{0x008f, 0xe29690},
{0x0090, 0xe29691},
{0x0091, 0xe29692},
{0x0092, 0xe29693},
{0x0093, 0xe28ca0},
{0x0094, 0xe296a0},
{0x0095, 0xe28899},
{0x0096, 0xe2889a},
{0x0097, 0xe28988},
{0x0098, 0xe289a4},
{0x0099, 0xe289a5},
{0x009a, 0xc2a0},
{0x009b, 0xe28ca1},
{0x009c, 0xc2b0},
{0x009d, 0xc2b2},
{0x009e, 0xc2b7},
{0x009f, 0xc3b7},
{0x00a0, 0xe29590},
{0x00a1, 0xe29591},
{0x00a2, 0xe29592},
{0x00a3, 0xd191},
{0x00a4, 0xd194},
{0x00a5, 0xe29594},
{0x00a6, 0xd196},
{0x00a7, 0xd197},
{0x00a8, 0xe29597},
{0x00a9, 0xe29598},
{0x00aa, 0xe29599},
{0x00ab, 0xe2959a},
{0x00ac, 0xe2959b},
{0x00ad, 0xd291},
{0x00ae, 0xe2959d},
{0x00af, 0xe2959e},
{0x00b0, 0xe2959f},
{0x00b1, 0xe295a0},
{0x00b2, 0xe295a1},
{0x00b3, 0xd081},
{0x00b4, 0xd084},
{0x00b5, 0xe295a3},
{0x00b6, 0xd086},
{0x00b7, 0xd087},
{0x00b8, 0xe295a6},
{0x00b9, 0xe295a7},
{0x00ba, 0xe295a8},
{0x00bb, 0xe295a9},
{0x00bc, 0xe295aa},
{0x00bd, 0xd290},
{0x00be, 0xe295ac},
{0x00bf, 0xc2a9},
{0x00c0, 0xd18e},
{0x00c1, 0xd0b0},
{0x00c2, 0xd0b1},
{0x00c3, 0xd186},
{0x00c4, 0xd0b4},
{0x00c5, 0xd0b5},
{0x00c6, 0xd184},
{0x00c7, 0xd0b3},
{0x00c8, 0xd185},
{0x00c9, 0xd0b8},
{0x00ca, 0xd0b9},
{0x00cb, 0xd0ba},
{0x00cc, 0xd0bb},
{0x00cd, 0xd0bc},
{0x00ce, 0xd0bd},
{0x00cf, 0xd0be},
{0x00d0, 0xd0bf},
{0x00d1, 0xd18f},
{0x00d2, 0xd180},
{0x00d3, 0xd181},
{0x00d4, 0xd182},
{0x00d5, 0xd183},
{0x00d6, 0xd0b6},
{0x00d7, 0xd0b2},
{0x00d8, 0xd18c},
{0x00d9, 0xd18b},
{0x00da, 0xd0b7},
{0x00db, 0xd188},
{0x00dc, 0xd18d},
{0x00dd, 0xd189},
{0x00de, 0xd187},
{0x00df, 0xd18a},
{0x00e0, 0xd0ae},
{0x00e1, 0xd090},
{0x00e2, 0xd091},
{0x00e3, 0xd0a6},
{0x00e4, 0xd094},
{0x00e5, 0xd095},
{0x00e6, 0xd0a4},
{0x00e7, 0xd093},
{0x00e8, 0xd0a5},
{0x00e9, 0xd098},
{0x00ea, 0xd099},
{0x00eb, 0xd09a},
{0x00ec, 0xd09b},
{0x00ed, 0xd09c},
{0x00ee, 0xd09d},
{0x00ef, 0xd09e},
{0x00f0, 0xd09f},
{0x00f1, 0xd0af},
{0x00f2, 0xd0a0},
{0x00f3, 0xd0a1},
{0x00f4, 0xd0a2},
{0x00f5, 0xd0a3},
{0x00f6, 0xd096},
{0x00f7, 0xd092},
{0x00f8, 0xd0ac},
{0x00f9, 0xd0ab},
{0x00fa, 0xd097},
{0x00fb, 0xd0a8},
{0x00fc, 0xd0ad},
{0x00fd, 0xd0a9},
{0x00fe, 0xd0a7},
{0x00ff, 0xd0aa}
static const uint32 koi8u_to_unicode_tree_table[];
static const pg_mb_radix_tree koi8u_to_unicode_tree =
{
NULL, /* 16-bit table not used */
koi8u_to_unicode_tree_table,
0x0080, /* offset of table for 1-byte inputs */
0x80, /* b1_lower */
0xff, /* b1_upper */
0x0000, /* offset of table for 2-byte inputs */
0x00, /* b2_1_lower */
0x00, /* b2_1_upper */
0x00, /* b2_2_lower */
0x00, /* b2_2_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b3_1_lower */
0x00, /* b3_1_upper */
0x00, /* b3_2_lower */
0x00, /* b3_2_upper */
0x00, /* b3_3_lower */
0x00, /* b3_3_upper */
0x0000, /* offset of table for 3-byte inputs */
0x00, /* b4_1_lower */
0x00, /* b4_1_upper */
0x00, /* b4_2_lower */
0x00, /* b4_2_upper */
0x00, /* b4_3_lower */
0x00, /* b4_3_upper */
0x00, /* b4_4_lower */
0x00 /* b4_4_upper */
};
static const uint32 koi8u_to_unicode_tree_table[256] =
{
/*** Dummy map, for invalid values - offset 0x00000 ***/
/* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
/* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
/*** Single byte table, leaf: xx - offset 0x00080 ***/
/* 80 */ 0xe29480, 0xe29482, 0xe2948c, 0xe29490,
/* 84 */ 0xe29494, 0xe29498, 0xe2949c, 0xe294a4,
/* 88 */ 0xe294ac, 0xe294b4, 0xe294bc, 0xe29680,
/* 8c */ 0xe29684, 0xe29688, 0xe2968c, 0xe29690,
/* 90 */ 0xe29691, 0xe29692, 0xe29693, 0xe28ca0,
/* 94 */ 0xe296a0, 0xe28899, 0xe2889a, 0xe28988,
/* 98 */ 0xe289a4, 0xe289a5, 0x00c2a0, 0xe28ca1,
/* 9c */ 0x00c2b0, 0x00c2b2, 0x00c2b7, 0x00c3b7,
/* a0 */ 0xe29590, 0xe29591, 0xe29592, 0x00d191,
/* a4 */ 0x00d194, 0xe29594, 0x00d196, 0x00d197,
/* a8 */ 0xe29597, 0xe29598, 0xe29599, 0xe2959a,
/* ac */ 0xe2959b, 0x00d291, 0xe2959d, 0xe2959e,
/* b0 */ 0xe2959f, 0xe295a0, 0xe295a1, 0x00d081,
/* b4 */ 0x00d084, 0xe295a3, 0x00d086, 0x00d087,
/* b8 */ 0xe295a6, 0xe295a7, 0xe295a8, 0xe295a9,
/* bc */ 0xe295aa, 0x00d290, 0xe295ac, 0x00c2a9,
/* c0 */ 0x00d18e, 0x00d0b0, 0x00d0b1, 0x00d186,
/* c4 */ 0x00d0b4, 0x00d0b5, 0x00d184, 0x00d0b3,
/* c8 */ 0x00d185, 0x00d0b8, 0x00d0b9, 0x00d0ba,
/* cc */ 0x00d0bb, 0x00d0bc, 0x00d0bd, 0x00d0be,
/* d0 */ 0x00d0bf, 0x00d18f, 0x00d180, 0x00d181,
/* d4 */ 0x00d182, 0x00d183, 0x00d0b6, 0x00d0b2,
/* d8 */ 0x00d18c, 0x00d18b, 0x00d0b7, 0x00d188,
/* dc */ 0x00d18d, 0x00d189, 0x00d187, 0x00d18a,
/* e0 */ 0x00d0ae, 0x00d090, 0x00d091, 0x00d0a6,
/* e4 */ 0x00d094, 0x00d095, 0x00d0a4, 0x00d093,
/* e8 */ 0x00d0a5, 0x00d098, 0x00d099, 0x00d09a,
/* ec */ 0x00d09b, 0x00d09c, 0x00d09d, 0x00d09e,
/* f0 */ 0x00d09f, 0x00d0af, 0x00d0a0, 0x00d0a1,
/* f4 */ 0x00d0a2, 0x00d0a3, 0x00d096, 0x00d092,
/* f8 */ 0x00d0ac, 0x00d0ab, 0x00d097, 0x00d0a8,
/* fc */ 0x00d0ad, 0x00d0a9, 0x00d0a7, 0x00d0aa
};
/* src/backend/utils/mb/Unicode/shift_jis_2004_to_utf8_combined.map */
static const pg_local_to_utf_combined LUmapSHIFT_JIS_2004_combined[ 25 ] = { /* */
{0x82f5, 0x00e3818b, 0x00e3829a}, /* U+304B+309A [2000] */
{0x82f6, 0x00e3818d, 0x00e3829a}, /* U+304D+309A [2000] */
{0x82f7, 0x00e3818f, 0x00e3829a}, /* U+304F+309A [2000] */
{0x82f8, 0x00e38191, 0x00e3829a}, /* U+3051+309A [2000] */
{0x82f9, 0x00e38193, 0x00e3829a}, /* U+3053+309A [2000] */
{0x8397, 0x00e382ab, 0x00e3829a}, /* U+30AB+309A [2000] */
{0x8398, 0x00e382ad, 0x00e3829a}, /* U+30AD+309A [2000] */
{0x8399, 0x00e382af, 0x00e3829a}, /* U+30AF+309A [2000] */
{0x839a, 0x00e382b1, 0x00e3829a}, /* U+30B1+309A [2000] */
{0x839b, 0x00e382b3, 0x00e3829a}, /* U+30B3+309A [2000] */
{0x839c, 0x00e382bb, 0x00e3829a}, /* U+30BB+309A [2000] */
{0x839d, 0x00e38384, 0x00e3829a}, /* U+30C4+309A [2000] */
{0x839e, 0x00e38388, 0x00e3829a}, /* U+30C8+309A [2000] */
{0x83f6, 0x00e387b7, 0x00e3829a}, /* U+31F7+309A [2000] */
{0x8663, 0x0000c3a6, 0x0000cc80}, /* U+00E6+0300 [2000] */
{0x8667, 0x0000c994, 0x0000cc80}, /* U+0254+0300 [2000] */
{0x8668, 0x0000c994, 0x0000cc81}, /* U+0254+0301 [2000] */
{0x8669, 0x0000ca8c, 0x0000cc80}, /* U+028C+0300 [2000] */
{0x866a, 0x0000ca8c, 0x0000cc81}, /* U+028C+0301 [2000] */
{0x866b, 0x0000c999, 0x0000cc80}, /* U+0259+0300 [2000] */
{0x866c, 0x0000c999, 0x0000cc81}, /* U+0259+0301 [2000] */
{0x866d, 0x0000c99a, 0x0000cc80}, /* U+025A+0300 [2000] */
{0x866e, 0x0000c99a, 0x0000cc81}, /* U+025A+0301 [2000] */
{0x8685, 0x0000cba9, 0x0000cba5}, /* U+02E9+02E5 [2000] */
{0x8686, 0x0000cba5, 0x0000cba9} /* U+02E5+02E9 [2000] */
};
/* src/backend/utils/mb/Unicode/utf8_to_euc_jis_2004_combined.map */
static const pg_utf_to_local_combined ULmapEUC_JIS_2004_combined[ 25 ] = { /* */
{0x0000c3a6, 0x0000cc80, 0xabc4}, /* U+00E6+0300 [2000] */
{0x0000c994, 0x0000cc80, 0xabc8}, /* U+0254+0300 [2000] */
{0x0000c994, 0x0000cc81, 0xabc9}, /* U+0254+0301 [2000] */
{0x0000c999, 0x0000cc80, 0xabcc}, /* U+0259+0300 [2000] */
{0x0000c999, 0x0000cc81, 0xabcd}, /* U+0259+0301 [2000] */
{0x0000c99a, 0x0000cc80, 0xabce}, /* U+025A+0300 [2000] */
{0x0000c99a, 0x0000cc81, 0xabcf}, /* U+025A+0301 [2000] */
{0x0000ca8c, 0x0000cc80, 0xabca}, /* U+028C+0300 [2000] */
{0x0000ca8c, 0x0000cc81, 0xabcb}, /* U+028C+0301 [2000] */
{0x0000cba5, 0x0000cba9, 0xabe6}, /* U+02E5+02E9 [2000] */
{0x0000cba9, 0x0000cba5, 0xabe5}, /* U+02E9+02E5 [2000] */
{0x00e3818b, 0x00e3829a, 0xa4f7}, /* U+304B+309A [2000] */
{0x00e3818d, 0x00e3829a, 0xa4f8}, /* U+304D+309A [2000] */
{0x00e3818f, 0x00e3829a, 0xa4f9}, /* U+304F+309A [2000] */
{0x00e38191, 0x00e3829a, 0xa4fa}, /* U+3051+309A [2000] */
{0x00e38193, 0x00e3829a, 0xa4fb}, /* U+3053+309A [2000] */
{0x00e382ab, 0x00e3829a, 0xa5f7}, /* U+30AB+309A [2000] */
{0x00e382ad, 0x00e3829a, 0xa5f8}, /* U+30AD+309A [2000] */
{0x00e382af, 0x00e3829a, 0xa5f9}, /* U+30AF+309A [2000] */
{0x00e382b1, 0x00e3829a, 0xa5fa}, /* U+30B1+309A [2000] */
{0x00e382b3, 0x00e3829a, 0xa5fb}, /* U+30B3+309A [2000] */
{0x00e382bb, 0x00e3829a, 0xa5fc}, /* U+30BB+309A [2000] */
{0x00e38384, 0x00e3829a, 0xa5fd}, /* U+30C4+309A [2000] */
{0x00e38388, 0x00e3829a, 0xa5fe}, /* U+30C8+309A [2000] */
{0x00e387b7, 0x00e3829a, 0xa6f8} /* U+31F7+309A [2000] */
};
/* src/backend/utils/mb/Unicode/utf8_to_shift_jis_2004_combined.map */
static const pg_utf_to_local_combined ULmapSHIFT_JIS_2004_combined[ 25 ] = { /* */
{0x0000c3a6, 0x0000cc80, 0x8663}, /* U+00E6+0300 [2000] */
{0x0000c994, 0x0000cc80, 0x8667}, /* U+0254+0300 [2000] */
{0x0000c994, 0x0000cc81, 0x8668}, /* U+0254+0301 [2000] */
{0x0000c999, 0x0000cc80, 0x866b}, /* U+0259+0300 [2000] */
{0x0000c999, 0x0000cc81, 0x866c}, /* U+0259+0301 [2000] */
{0x0000c99a, 0x0000cc80, 0x866d}, /* U+025A+0300 [2000] */
{0x0000c99a, 0x0000cc81, 0x866e}, /* U+025A+0301 [2000] */
{0x0000ca8c, 0x0000cc80, 0x8669}, /* U+028C+0300 [2000] */
{0x0000ca8c, 0x0000cc81, 0x866a}, /* U+028C+0301 [2000] */
{0x0000cba5, 0x0000cba9, 0x8686}, /* U+02E5+02E9 [2000] */
{0x0000cba9, 0x0000cba5, 0x8685}, /* U+02E9+02E5 [2000] */
{0x00e3818b, 0x00e3829a, 0x82f5}, /* U+304B+309A [2000] */
{0x00e3818d, 0x00e3829a, 0x82f6}, /* U+304D+309A [2000] */
{0x00e3818f, 0x00e3829a, 0x82f7}, /* U+304F+309A [2000] */
{0x00e38191, 0x00e3829a, 0x82f8}, /* U+3051+309A [2000] */
{0x00e38193, 0x00e3829a, 0x82f9}, /* U+3053+309A [2000] */
{0x00e382ab, 0x00e3829a, 0x8397}, /* U+30AB+309A [2000] */
{0x00e382ad, 0x00e3829a, 0x8398}, /* U+30AD+309A [2000] */
{0x00e382af, 0x00e3829a, 0x8399}, /* U+30AF+309A [2000] */
{0x00e382b1, 0x00e3829a, 0x839a}, /* U+30B1+309A [2000] */
{0x00e382b3, 0x00e3829a, 0x839b}, /* U+30B3+309A [2000] */
{0x00e382bb, 0x00e3829a, 0x839c}, /* U+30BB+309A [2000] */
{0x00e38384, 0x00e3829a, 0x839d}, /* U+30C4+309A [2000] */
{0x00e38388, 0x00e3829a, 0x839e}, /* U+30C8+309A [2000] */
{0x00e387b7, 0x00e3829a, 0x83f6} /* U+31F7+309A [2000] */
};
This diff is collapsed.
......@@ -42,7 +42,7 @@ big5_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_BIG5, PG_UTF8);
LocalToUtf(src, len, dest,
LUmapBIG5, lengthof(LUmapBIG5),
&big5_to_unicode_tree,
NULL, 0,
NULL,
PG_BIG5);
......@@ -60,7 +60,7 @@ utf8_to_big5(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_BIG5);
UtfToLocal(src, len, dest,
ULmapBIG5, lengthof(ULmapBIG5),
&big5_from_unicode_tree,
NULL, 0,
NULL,
PG_BIG5);
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment