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 \ ...@@ -52,10 +52,8 @@ SPECIALMAPS = euc_cn_to_utf8.map utf8_to_euc_cn.map \
big5_to_utf8.map utf8_to_big5.map \ big5_to_utf8.map utf8_to_big5.map \
johab_to_utf8.map utf8_to_johab.map \ johab_to_utf8.map utf8_to_johab.map \
uhc_to_utf8.map utf8_to_uhc.map \ uhc_to_utf8.map utf8_to_uhc.map \
euc_jis_2004_to_utf8.map euc_jis_2004_to_utf8_combined.map \ euc_jis_2004_to_utf8.map utf8_to_euc_jis_2004.map \
utf8_to_euc_jis_2004.map utf8_to_euc_jis_2004_combined.map \ shift_jis_2004_to_utf8.map utf8_to_shift_jis_2004.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
MAPS = $(GENERICMAPS) $(SPECIALMAPS) MAPS = $(GENERICMAPS) $(SPECIALMAPS)
...@@ -104,10 +102,10 @@ gb18030_to_utf8.map utf8_to_gb18030.map: UCS_to_GB18030.pl gb-18030-2000.xml ...@@ -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 big5_to_utf8.map utf8_to_big5.map: UCS_to_BIG5.pl BIG5.TXT CP950.TXT
$(PERL) $< $(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) $< $(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) $< $(PERL) $<
distclean: clean distclean: clean
......
...@@ -25,7 +25,9 @@ ...@@ -25,7 +25,9 @@
# # and Unicode name (not used in this script) # # and Unicode name (not used in this script)
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Load BIG5.TXT # Load BIG5.TXT
my $all = &read_source("BIG5.TXT"); my $all = &read_source("BIG5.TXT");
...@@ -47,7 +49,9 @@ foreach my $i (@$cp950txt) { ...@@ -47,7 +49,9 @@ foreach my $i (@$cp950txt) {
push @$all, {code => $code, push @$all, {code => $code,
ucs => $ucs, ucs => $ucs,
comment => $i->{comment}, comment => $i->{comment},
direction => "both"}; direction => BOTH,
f => $i->{f},
l => $i->{l} };
} }
} }
...@@ -60,9 +64,9 @@ foreach my $i (@$all) { ...@@ -60,9 +64,9 @@ foreach my $i (@$all) {
# but for historical reasons, we map the first one of them. # but for historical reasons, we map the first one of them.
if ($i->{ucs} == 0xFFFD && $i->{code} != 0xA15A) if ($i->{ucs} == 0xFFFD && $i->{code} != 0xA15A)
{ {
$i->{direction} = "to_unicode"; $i->{direction} = TO_UNICODE;
} }
} }
# Output # Output
print_tables("BIG5", $all); print_conversion_tables($this_script, "BIG5", $all);
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
# and the "b" field is the hex byte sequence for GB18030 # and the "b" field is the hex byte sequence for GB18030
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Read the input # Read the input
...@@ -68,9 +70,11 @@ while (<$in>) ...@@ -68,9 +70,11 @@ while (<$in>)
push @mapping, { push @mapping, {
ucs => $ucs, ucs => $ucs,
code => $code, code => $code,
direction => 'both' direction => BOTH,
f => $in_file,
l => $.
}; };
} }
close($in); close($in);
print_tables("EUC_CN", \@mapping); print_conversion_tables($this_script, "EUC_CN", \@mapping);
...@@ -8,7 +8,9 @@ ...@@ -8,7 +8,9 @@
# "euc-jis-2004-std.txt" (http://x0213.org) # "euc-jis-2004-std.txt" (http://x0213.org)
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# first generate UTF-8 --> EUC_JIS_2004 table # first generate UTF-8 --> EUC_JIS_2004 table
...@@ -29,12 +31,14 @@ while (my $line = <$in>) ...@@ -29,12 +31,14 @@ while (my $line = <$in>)
my $ucs1 = hex($u1); my $ucs1 = hex($u1);
my $ucs2 = hex($u2); my $ucs2 = hex($u2);
push @all, { direction => 'both', push @all, { direction => BOTH,
ucs => $ucs1, ucs => $ucs1,
ucs_second => $ucs2, ucs_second => $ucs2,
code => $code, code => $code,
comment => $rest }; comment => $rest,
next; f => $in_file,
l => $.
};
} }
elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/) elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/)
{ {
...@@ -45,9 +49,15 @@ while (my $line = <$in>) ...@@ -45,9 +49,15 @@ while (my $line = <$in>)
next if ($code < 0x80 && $ucs < 0x80); 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); close($in);
print_tables("EUC_JIS_2004", \@all, 1); print_conversion_tables($this_script, "EUC_JIS_2004", \@all);
...@@ -12,7 +12,9 @@ ...@@ -12,7 +12,9 @@
# organization's ftp site. # organization's ftp site.
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Load JIS0212.TXT # Load JIS0212.TXT
my $jis0212 = &read_source("JIS0212.TXT"); my $jis0212 = &read_source("JIS0212.TXT");
...@@ -23,12 +25,12 @@ foreach my $i (@$jis0212) { ...@@ -23,12 +25,12 @@ foreach my $i (@$jis0212) {
# We have a different mapping for this in the EUC_JP to UTF-8 direction. # We have a different mapping for this in the EUC_JP to UTF-8 direction.
if ($i->{code} == 0x2243) if ($i->{code} == 0x2243)
{ {
$i->{direction} = "from_unicode"; $i->{direction} = FROM_UNICODE;
} }
if ($i->{code} == 0x2271) if ($i->{code} == 0x2271)
{ {
$i->{direction} = "to_unicode"; $i->{direction} = TO_UNICODE;
} }
if ($i->{ucs} >= 0x080) if ($i->{ucs} >= 0x080)
...@@ -79,14 +81,14 @@ foreach my $i (@mapping) { ...@@ -79,14 +81,14 @@ foreach my $i (@mapping) {
$sjis >= 0xfa54 && $sjis <= 0xfa56 || $sjis >= 0xfa54 && $sjis <= 0xfa56 ||
$sjis >= 0xfa58 && $sjis <= 0xfc4b) $sjis >= 0xfa58 && $sjis <= 0xfc4b)
{ {
$i->{direction} = "none"; $i->{direction} = NONE;
next; next;
} }
# These SJIS characters are only in the UTF-8 to EUC_JP table # These SJIS characters are only in the UTF-8 to EUC_JP table
if ($sjis == 0xeefa || $sjis == 0xeefb || $sjis == 0xeefc) if ($sjis == 0xeefa || $sjis == 0xeefb || $sjis == 0xeefc)
{ {
$i->{direction} = "from_unicode"; $i->{direction} = FROM_UNICODE;
next; next;
} }
...@@ -95,103 +97,104 @@ foreach my $i (@mapping) { ...@@ -95,103 +97,104 @@ foreach my $i (@mapping) {
$sjis == 0x879a || $sjis == 0x879b || $sjis == 0x879c || $sjis == 0x879a || $sjis == 0x879b || $sjis == 0x879c ||
($sjis >= 0xfa4a && $sjis <= 0xfa53)) ($sjis >= 0xfa4a && $sjis <= 0xfa53))
{ {
$i->{direction} = "to_unicode"; $i->{direction} = TO_UNICODE;
next; next;
} }
} }
push @mapping, ( push @mapping, (
{direction => 'both', ucs => 0x4efc, code => 0x8ff4af, comment => '# CJK(4EFC)'}, {direction => BOTH, ucs => 0x4efc, code => 0x8ff4af, comment => '# CJK(4EFC)'},
{direction => 'both', ucs => 0x50f4, code => 0x8ff4b0, comment => '# CJK(50F4)'}, {direction => BOTH, ucs => 0x50f4, code => 0x8ff4b0, comment => '# CJK(50F4)'},
{direction => 'both', ucs => 0x51EC, code => 0x8ff4b1, comment => '# CJK(51EC)'}, {direction => BOTH, ucs => 0x51EC, code => 0x8ff4b1, comment => '# CJK(51EC)'},
{direction => 'both', ucs => 0x5307, code => 0x8ff4b2, comment => '# CJK(5307)'}, {direction => BOTH, ucs => 0x5307, code => 0x8ff4b2, comment => '# CJK(5307)'},
{direction => 'both', ucs => 0x5324, code => 0x8ff4b3, comment => '# CJK(5324)'}, {direction => BOTH, ucs => 0x5324, code => 0x8ff4b3, comment => '# CJK(5324)'},
{direction => 'both', ucs => 0x548A, code => 0x8ff4b5, comment => '# CJK(548A)'}, {direction => BOTH, ucs => 0x548A, code => 0x8ff4b5, comment => '# CJK(548A)'},
{direction => 'both', ucs => 0x5759, code => 0x8ff4b6, comment => '# CJK(5759)'}, {direction => BOTH, ucs => 0x5759, code => 0x8ff4b6, comment => '# CJK(5759)'},
{direction => 'both', ucs => 0x589E, code => 0x8ff4b9, comment => '# CJK(589E)'}, {direction => BOTH, ucs => 0x589E, code => 0x8ff4b9, comment => '# CJK(589E)'},
{direction => 'both', ucs => 0x5BEC, code => 0x8ff4ba, comment => '# CJK(5BEC)'}, {direction => BOTH, ucs => 0x5BEC, code => 0x8ff4ba, comment => '# CJK(5BEC)'},
{direction => 'both', ucs => 0x5CF5, code => 0x8ff4bb, comment => '# CJK(5CF5)'}, {direction => BOTH, ucs => 0x5CF5, code => 0x8ff4bb, comment => '# CJK(5CF5)'},
{direction => 'both', ucs => 0x5D53, code => 0x8ff4bc, comment => '# CJK(5D53)'}, {direction => BOTH, ucs => 0x5D53, code => 0x8ff4bc, comment => '# CJK(5D53)'},
{direction => 'both', ucs => 0x5FB7, code => 0x8ff4be, comment => '# CJK(5FB7)'}, {direction => BOTH, ucs => 0x5FB7, code => 0x8ff4be, comment => '# CJK(5FB7)'},
{direction => 'both', ucs => 0x6085, code => 0x8ff4bf, comment => '# CJK(6085)'}, {direction => BOTH, ucs => 0x6085, code => 0x8ff4bf, comment => '# CJK(6085)'},
{direction => 'both', ucs => 0x6120, code => 0x8ff4c0, comment => '# CJK(6120)'}, {direction => BOTH, ucs => 0x6120, code => 0x8ff4c0, comment => '# CJK(6120)'},
{direction => 'both', ucs => 0x654E, code => 0x8ff4c1, comment => '# CJK(654E)'}, {direction => BOTH, ucs => 0x654E, code => 0x8ff4c1, comment => '# CJK(654E)'},
{direction => 'both', ucs => 0x663B, code => 0x8ff4c2, comment => '# CJK(663B)'}, {direction => BOTH, ucs => 0x663B, code => 0x8ff4c2, comment => '# CJK(663B)'},
{direction => 'both', ucs => 0x6665, code => 0x8ff4c3, comment => '# CJK(6665)'}, {direction => BOTH, ucs => 0x6665, code => 0x8ff4c3, comment => '# CJK(6665)'},
{direction => 'both', ucs => 0x6801, code => 0x8ff4c6, comment => '# CJK(6801)'}, {direction => BOTH, ucs => 0x6801, code => 0x8ff4c6, comment => '# CJK(6801)'},
{direction => 'both', ucs => 0x6A6B, code => 0x8ff4c9, comment => '# CJK(6A6B)'}, {direction => BOTH, ucs => 0x6A6B, code => 0x8ff4c9, comment => '# CJK(6A6B)'},
{direction => 'both', ucs => 0x6AE2, code => 0x8ff4ca, comment => '# CJK(6AE2)'}, {direction => BOTH, ucs => 0x6AE2, code => 0x8ff4ca, comment => '# CJK(6AE2)'},
{direction => 'both', ucs => 0x6DF2, code => 0x8ff4cc, comment => '# CJK(6DF2)'}, {direction => BOTH, ucs => 0x6DF2, code => 0x8ff4cc, comment => '# CJK(6DF2)'},
{direction => 'both', ucs => 0x6DF8, code => 0x8ff4cb, comment => '# CJK(6DF8)'}, {direction => BOTH, ucs => 0x6DF8, code => 0x8ff4cb, comment => '# CJK(6DF8)'},
{direction => 'both', ucs => 0x7028, code => 0x8ff4cd, comment => '# CJK(7028)'}, {direction => BOTH, ucs => 0x7028, code => 0x8ff4cd, comment => '# CJK(7028)'},
{direction => 'both', ucs => 0x70BB, code => 0x8ff4ae, comment => '# CJK(70BB)'}, {direction => BOTH, ucs => 0x70BB, code => 0x8ff4ae, comment => '# CJK(70BB)'},
{direction => 'both', ucs => 0x7501, code => 0x8ff4d0, comment => '# CJK(7501)'}, {direction => BOTH, ucs => 0x7501, code => 0x8ff4d0, comment => '# CJK(7501)'},
{direction => 'both', ucs => 0x7682, code => 0x8ff4d1, comment => '# CJK(7682)'}, {direction => BOTH, ucs => 0x7682, code => 0x8ff4d1, comment => '# CJK(7682)'},
{direction => 'both', ucs => 0x769E, code => 0x8ff4d2, comment => '# CJK(769E)'}, {direction => BOTH, ucs => 0x769E, code => 0x8ff4d2, comment => '# CJK(769E)'},
{direction => 'both', ucs => 0x7930, code => 0x8ff4d4, comment => '# CJK(7930)'}, {direction => BOTH, ucs => 0x7930, code => 0x8ff4d4, comment => '# CJK(7930)'},
{direction => 'both', ucs => 0x7AE7, code => 0x8ff4d9, comment => '# CJK(7AE7)'}, {direction => BOTH, ucs => 0x7AE7, code => 0x8ff4d9, comment => '# CJK(7AE7)'},
{direction => 'both', ucs => 0x7DA0, code => 0x8ff4dc, comment => '# CJK(7DA0)'}, {direction => BOTH, ucs => 0x7DA0, code => 0x8ff4dc, comment => '# CJK(7DA0)'},
{direction => 'both', ucs => 0x7DD6, code => 0x8ff4dd, comment => '# CJK(7DD6)'}, {direction => BOTH, ucs => 0x7DD6, code => 0x8ff4dd, comment => '# CJK(7DD6)'},
{direction => 'both', ucs => 0x8362, code => 0x8ff4df, comment => '# CJK(8362)'}, {direction => BOTH, ucs => 0x8362, code => 0x8ff4df, comment => '# CJK(8362)'},
{direction => 'both', ucs => 0x85B0, code => 0x8ff4e1, comment => '# CJK(85B0)'}, {direction => BOTH, ucs => 0x85B0, code => 0x8ff4e1, comment => '# CJK(85B0)'},
{direction => 'both', ucs => 0x8807, code => 0x8ff4e4, comment => '# CJK(8807)'}, {direction => BOTH, ucs => 0x8807, code => 0x8ff4e4, comment => '# CJK(8807)'},
{direction => 'both', ucs => 0x8B7F, code => 0x8ff4e6, comment => '# CJK(8B7F)'}, {direction => BOTH, ucs => 0x8B7F, code => 0x8ff4e6, comment => '# CJK(8B7F)'},
{direction => 'both', ucs => 0x8CF4, code => 0x8ff4e7, comment => '# CJK(8CF4)'}, {direction => BOTH, ucs => 0x8CF4, code => 0x8ff4e7, comment => '# CJK(8CF4)'},
{direction => 'both', ucs => 0x8D76, code => 0x8ff4e8, comment => '# CJK(8D76)'}, {direction => BOTH, ucs => 0x8D76, code => 0x8ff4e8, comment => '# CJK(8D76)'},
{direction => 'both', ucs => 0x90DE, code => 0x8ff4ec, comment => '# CJK(90DE)'}, {direction => BOTH, ucs => 0x90DE, code => 0x8ff4ec, comment => '# CJK(90DE)'},
{direction => 'both', ucs => 0x9115, code => 0x8ff4ee, comment => '# CJK(9115)'}, {direction => BOTH, ucs => 0x9115, code => 0x8ff4ee, comment => '# CJK(9115)'},
{direction => 'both', ucs => 0x9592, code => 0x8ff4f1, comment => '# CJK(9592)'}, {direction => BOTH, ucs => 0x9592, code => 0x8ff4f1, comment => '# CJK(9592)'},
{direction => 'both', ucs => 0x973B, code => 0x8ff4f4, comment => '# CJK(973B)'}, {direction => BOTH, ucs => 0x973B, code => 0x8ff4f4, comment => '# CJK(973B)'},
{direction => 'both', ucs => 0x974D, code => 0x8ff4f5, comment => '# CJK(974D)'}, {direction => BOTH, ucs => 0x974D, code => 0x8ff4f5, comment => '# CJK(974D)'},
{direction => 'both', ucs => 0x9751, code => 0x8ff4f6, comment => '# CJK(9751)'}, {direction => BOTH, ucs => 0x9751, code => 0x8ff4f6, comment => '# CJK(9751)'},
{direction => 'both', ucs => 0x999E, code => 0x8ff4fa, comment => '# CJK(999E)'}, {direction => BOTH, ucs => 0x999E, code => 0x8ff4fa, comment => '# CJK(999E)'},
{direction => 'both', ucs => 0x9AD9, code => 0x8ff4fb, comment => '# CJK(9AD9)'}, {direction => BOTH, ucs => 0x9AD9, code => 0x8ff4fb, comment => '# CJK(9AD9)'},
{direction => 'both', ucs => 0x9B72, code => 0x8ff4fc, comment => '# CJK(9B72)'}, {direction => BOTH, ucs => 0x9B72, code => 0x8ff4fc, comment => '# CJK(9B72)'},
{direction => 'both', ucs => 0x9ED1, code => 0x8ff4fe, comment => '# CJK(9ED1)'}, {direction => BOTH, ucs => 0x9ED1, code => 0x8ff4fe, comment => '# CJK(9ED1)'},
{direction => 'both', ucs => 0xF929, code => 0x8ff4c5, comment => '# CJK COMPATIBILITY IDEOGRAPH-F929'}, {direction => BOTH, ucs => 0xF929, code => 0x8ff4c5, comment => '# CJK COMPATIBILITY IDEOGRAPH-F929'},
{direction => 'both', ucs => 0xF9DC, code => 0x8ff4f2, comment => '# CJK COMPATIBILITY IDEOGRAPH-F9DC'}, {direction => BOTH, ucs => 0xF9DC, code => 0x8ff4f2, comment => '# CJK COMPATIBILITY IDEOGRAPH-F9DC'},
{direction => 'both', ucs => 0xFA0E, code => 0x8ff4b4, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA0E'}, {direction => BOTH, ucs => 0xFA0E, code => 0x8ff4b4, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA0E'},
{direction => 'both', ucs => 0xFA0F, code => 0x8ff4b7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA0F'}, {direction => BOTH, ucs => 0xFA0F, code => 0x8ff4b7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA0F'},
{direction => 'both', ucs => 0xFA10, code => 0x8ff4b8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA10'}, {direction => BOTH, ucs => 0xFA10, code => 0x8ff4b8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA10'},
{direction => 'both', ucs => 0xFA11, code => 0x8ff4bd, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA11'}, {direction => BOTH, ucs => 0xFA11, code => 0x8ff4bd, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA11'},
{direction => 'both', ucs => 0xFA12, code => 0x8ff4c4, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA12'}, {direction => BOTH, ucs => 0xFA12, code => 0x8ff4c4, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA12'},
{direction => 'both', ucs => 0xFA13, code => 0x8ff4c7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA13'}, {direction => BOTH, ucs => 0xFA13, code => 0x8ff4c7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA13'},
{direction => 'both', ucs => 0xFA14, code => 0x8ff4c8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA14'}, {direction => BOTH, ucs => 0xFA14, code => 0x8ff4c8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA14'},
{direction => 'both', ucs => 0xFA15, code => 0x8ff4ce, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA15'}, {direction => BOTH, ucs => 0xFA15, code => 0x8ff4ce, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA15'},
{direction => 'both', ucs => 0xFA16, code => 0x8ff4cf, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA16'}, {direction => BOTH, ucs => 0xFA16, code => 0x8ff4cf, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA16'},
{direction => 'both', ucs => 0xFA17, code => 0x8ff4d3, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA17'}, {direction => BOTH, ucs => 0xFA17, code => 0x8ff4d3, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA17'},
{direction => 'both', ucs => 0xFA18, code => 0x8ff4d5, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA18'}, {direction => BOTH, ucs => 0xFA18, code => 0x8ff4d5, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA18'},
{direction => 'both', ucs => 0xFA19, code => 0x8ff4d6, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA19'}, {direction => BOTH, ucs => 0xFA19, code => 0x8ff4d6, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA19'},
{direction => 'both', ucs => 0xFA1A, code => 0x8ff4d7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1A'}, {direction => BOTH, ucs => 0xFA1A, code => 0x8ff4d7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1A'},
{direction => 'both', ucs => 0xFA1B, code => 0x8ff4d8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1B'}, {direction => BOTH, ucs => 0xFA1B, code => 0x8ff4d8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1B'},
{direction => 'both', ucs => 0xFA1C, code => 0x8ff4da, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1C'}, {direction => BOTH, ucs => 0xFA1C, code => 0x8ff4da, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1C'},
{direction => 'both', ucs => 0xFA1D, code => 0x8ff4db, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1D'}, {direction => BOTH, ucs => 0xFA1D, code => 0x8ff4db, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1D'},
{direction => 'both', ucs => 0xFA1E, code => 0x8ff4de, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1E'}, {direction => BOTH, ucs => 0xFA1E, code => 0x8ff4de, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1E'},
{direction => 'both', ucs => 0xFA1F, code => 0x8ff4e0, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1F'}, {direction => BOTH, ucs => 0xFA1F, code => 0x8ff4e0, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA1F'},
{direction => 'both', ucs => 0xFA20, code => 0x8ff4e2, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA20'}, {direction => BOTH, ucs => 0xFA20, code => 0x8ff4e2, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA20'},
{direction => 'both', ucs => 0xFA21, code => 0x8ff4e3, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA21'}, {direction => BOTH, ucs => 0xFA21, code => 0x8ff4e3, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA21'},
{direction => 'both', ucs => 0xFA22, code => 0x8ff4e5, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA22'}, {direction => BOTH, ucs => 0xFA22, code => 0x8ff4e5, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA22'},
{direction => 'both', ucs => 0xFA23, code => 0x8ff4e9, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA23'}, {direction => BOTH, ucs => 0xFA23, code => 0x8ff4e9, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA23'},
{direction => 'both', ucs => 0xFA24, code => 0x8ff4ea, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA24'}, {direction => BOTH, ucs => 0xFA24, code => 0x8ff4ea, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA24'},
{direction => 'both', ucs => 0xFA25, code => 0x8ff4eb, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA25'}, {direction => BOTH, ucs => 0xFA25, code => 0x8ff4eb, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA25'},
{direction => 'both', ucs => 0xFA26, code => 0x8ff4ed, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA26'}, {direction => BOTH, ucs => 0xFA26, code => 0x8ff4ed, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA26'},
{direction => 'both', ucs => 0xFA27, code => 0x8ff4ef, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA27'}, {direction => BOTH, ucs => 0xFA27, code => 0x8ff4ef, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA27'},
{direction => 'both', ucs => 0xFA28, code => 0x8ff4f0, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA28'}, {direction => BOTH, ucs => 0xFA28, code => 0x8ff4f0, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA28'},
{direction => 'both', ucs => 0xFA29, code => 0x8ff4f3, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA29'}, {direction => BOTH, ucs => 0xFA29, code => 0x8ff4f3, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA29'},
{direction => 'both', ucs => 0xFA2A, code => 0x8ff4f7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2A'}, {direction => BOTH, ucs => 0xFA2A, code => 0x8ff4f7, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2A'},
{direction => 'both', ucs => 0xFA2B, code => 0x8ff4f8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2B'}, {direction => BOTH, ucs => 0xFA2B, code => 0x8ff4f8, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2B'},
{direction => 'both', ucs => 0xFA2C, code => 0x8ff4f9, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2C'}, {direction => BOTH, ucs => 0xFA2C, code => 0x8ff4f9, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2C'},
{direction => 'both', ucs => 0xFA2D, code => 0x8ff4fd, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2D'}, {direction => BOTH, ucs => 0xFA2D, code => 0x8ff4fd, comment => '# CJK COMPATIBILITY IDEOGRAPH-FA2D'},
{direction => 'both', ucs => 0xFF07, code => 0x8ff4a9, comment => '# FULLWIDTH APOSTROPHE'}, {direction => BOTH, ucs => 0xFF07, code => 0x8ff4a9, comment => '# FULLWIDTH APOSTROPHE'},
{direction => 'both', ucs => 0xFFE4, code => 0x8fa2c3, comment => '# FULLWIDTH BROKEN BAR'}, {direction => BOTH, ucs => 0xFFE4, code => 0x8fa2c3, comment => '# FULLWIDTH BROKEN BAR'},
# additional conversions for EUC_JP -> UTF-8 conversion # additional conversions for EUC_JP -> UTF-8 conversion
{direction => 'to_unicode', ucs => 0x2116, code => 0x8ff4ac, comment => '# NUMERO SIGN'}, {direction => TO_UNICODE, ucs => 0x2116, code => 0x8ff4ac, comment => '# NUMERO SIGN'},
{direction => 'to_unicode', ucs => 0x2121, code => 0x8ff4ad, comment => '# TELEPHONE SIGN'}, {direction => TO_UNICODE, ucs => 0x2121, code => 0x8ff4ad, comment => '# TELEPHONE SIGN'},
{direction => 'to_unicode', ucs => 0x3231, code => 0x8ff4ab, comment => '# PARENTHESIZED IDEOGRAPH STOCK'} {direction => TO_UNICODE, ucs => 0x3231, code => 0x8ff4ab, comment => '# PARENTHESIZED IDEOGRAPH STOCK'}
); );
print_tables("EUC_JP", \@mapping); print_conversion_tables($this_script, "EUC_JP", \@mapping);
####################################################################### #######################################################################
# sjis2jis ; SJIS => JIS conversion # sjis2jis ; SJIS => JIS conversion
......
...@@ -17,7 +17,9 @@ ...@@ -17,7 +17,9 @@
# # and Unicode name (not used in this script) # # and Unicode name (not used in this script)
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Load the source file. # Load the source file.
...@@ -29,10 +31,10 @@ foreach my $i (@$mapping) ...@@ -29,10 +31,10 @@ foreach my $i (@$mapping)
} }
# Some extra characters that are not in KSX1001.TXT # Some extra characters that are not in KSX1001.TXT
push @$mapping, ( push @$mapping,(
{direction => 'both', ucs => 0x20AC, code => 0xa2e6, comment => '# EURO SIGN'}, {direction => BOTH, ucs => 0x20AC, code => 0xa2e6, comment => '# EURO SIGN', f => $this_script, l => __LINE__},
{direction => 'both', ucs => 0x00AE, code => 0xa2e7, comment => '# REGISTERED SIGN'}, {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'} {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 @@ ...@@ -18,7 +18,9 @@
# # and Unicode name (not used in this script) # # and Unicode name (not used in this script)
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
my $mapping = &read_source("CNS11643.TXT"); my $mapping = &read_source("CNS11643.TXT");
...@@ -54,11 +56,13 @@ foreach my $i (@$mapping) ...@@ -54,11 +56,13 @@ foreach my $i (@$mapping)
ucs => $i->{ucs}, ucs => $i->{ucs},
code => ($i->{code} + 0x8ea10000), code => ($i->{code} + 0x8ea10000),
rest => $i->{rest}, rest => $i->{rest},
direction => 'to_unicode' direction => TO_UNICODE,
f => $i->{f},
l => $i->{l}
}; };
} }
} }
push @$mapping, @extras; push @$mapping, @extras;
print_tables("EUC_TW", $mapping); print_conversion_tables($this_script, "EUC_TW", $mapping);
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
# and the "b" field is the hex byte sequence for GB18030 # and the "b" field is the hex byte sequence for GB18030
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Read the input # Read the input
...@@ -36,10 +38,12 @@ while (<$in>) ...@@ -36,10 +38,12 @@ while (<$in>)
push @mapping, { push @mapping, {
ucs => $ucs, ucs => $ucs,
code => $code, code => $code,
direction => 'both' direction => BOTH,
f => $in_file,
l => $.
}; };
} }
} }
close($in); close($in);
print_tables("GB18030", \@mapping); print_conversion_tables($this_script, "GB18030", \@mapping);
...@@ -16,7 +16,9 @@ ...@@ -16,7 +16,9 @@
# # and Unicode name (not used in this script) # # and Unicode name (not used in this script)
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Load the source file. # Load the source file.
...@@ -24,9 +26,9 @@ my $mapping = &read_source("JOHAB.TXT"); ...@@ -24,9 +26,9 @@ my $mapping = &read_source("JOHAB.TXT");
# Some extra characters that are not in JOHAB.TXT # Some extra characters that are not in JOHAB.TXT
push @$mapping, ( push @$mapping, (
{direction => 'both', ucs => 0x20AC, code => 0xd9e6, comment => '# EURO SIGN'}, {direction => BOTH, ucs => 0x20AC, code => 0xd9e6, comment => '# EURO SIGN', f => $this_script, l => __LINE__ },
{direction => 'both', ucs => 0x00AE, code => 0xd9e7, comment => '# REGISTERED SIGN'}, {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'} {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 @@ ...@@ -8,10 +8,12 @@
# "sjis-0213-2004-std.txt" (http://x0213.org) # "sjis-0213-2004-std.txt" (http://x0213.org)
use strict; use strict;
require convutils; use convutils;
# first generate UTF-8 --> SHIFT_JIS_2004 table # first generate UTF-8 --> SHIFT_JIS_2004 table
my $this_script = $0;
my $in_file = "sjis-0213-2004-std.txt"; my $in_file = "sjis-0213-2004-std.txt";
open(my $in, '<', $in_file) || die("cannot open $in_file"); open(my $in, '<', $in_file) || die("cannot open $in_file");
...@@ -34,9 +36,10 @@ while (my $line = <$in>) ...@@ -34,9 +36,10 @@ while (my $line = <$in>)
ucs => $ucs1, ucs => $ucs1,
ucs_second => $ucs2, ucs_second => $ucs2,
comment => $rest, comment => $rest,
direction => 'both' direction => BOTH,
f => $in_file,
l => $.
}; };
next;
} }
elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/) elsif ($line =~ /^0x(.*)[ \t]*U\+(.*)[ \t]*#(.*)$/)
{ {
...@@ -52,25 +55,27 @@ while (my $line = <$in>) ...@@ -52,25 +55,27 @@ while (my $line = <$in>)
} }
elsif ($code < 0x80) elsif ($code < 0x80)
{ {
$direction = 'from_unicode'; $direction = FROM_UNICODE;
} }
elsif ($ucs < 0x80) elsif ($ucs < 0x80)
{ {
$direction = 'to_unicode'; $direction = TO_UNICODE;
} }
else else
{ {
$direction = 'both'; $direction = BOTH;
} }
push @mapping, { push @mapping, {
code => $code, code => $code,
ucs => $ucs, ucs => $ucs,
comment => $rest, comment => $rest,
direction => $direction direction => $direction,
f => $in_file,
l => $.
}; };
} }
} }
close($in); close($in);
print_tables("SHIFT_JIS_2004", \@mapping, 1); print_conversion_tables($this_script, "SHIFT_JIS_2004", \@mapping);
...@@ -11,9 +11,11 @@ ...@@ -11,9 +11,11 @@
# ftp site. # ftp site.
use strict; 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 # Drop these SJIS codes from the source for UTF8=>SJIS conversion
my @reject_sjis =( my @reject_sjis =(
...@@ -22,27 +24,27 @@ my @reject_sjis =( ...@@ -22,27 +24,27 @@ my @reject_sjis =(
0x879a..0x879c 0x879a..0x879c
); );
foreach my $i (@$charset) foreach my $i (@$mapping)
{ {
my $code = $i->{code}; my $code = $i->{code};
my $ucs = $i->{ucs}; my $ucs = $i->{ucs};
if (grep {$code == $_} @reject_sjis) if (grep {$code == $_} @reject_sjis)
{ {
$i->{direction} = "to_unicode"; $i->{direction} = TO_UNICODE;
} }
} }
# Add these UTF8->SJIS pairs to the table. # Add these UTF8->SJIS pairs to the table.
push @$charset, ( push @$mapping, (
{direction => "from_unicode", ucs => 0x00a2, code => 0x8191, comment => '# CENT SIGN'}, {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'}, {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'}, {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'}, {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'}, {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'}, {direction => FROM_UNICODE, ucs => 0x203e, code => 0x7e, comment => '# OVERLINE', f => $this_script, l => __LINE__ },
{direction => "from_unicode", ucs => 0x2212, code => 0x817c, comment => '# MINUS SIGN'}, {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'} {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 @@ ...@@ -14,7 +14,9 @@
# and the "b" field is the hex byte sequence for UHC # and the "b" field is the hex byte sequence for UHC
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
# Read the input # Read the input
...@@ -39,13 +41,15 @@ while (<$in>) ...@@ -39,13 +41,15 @@ while (<$in>)
push @mapping, { push @mapping, {
ucs => $ucs, ucs => $ucs,
code => $code, code => $code,
direction => 'both' direction => BOTH,
f => $in_file,
l => $.
}; };
} }
} }
close($in); close($in);
# One extra character that's not in the source file. # 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 @@ ...@@ -16,7 +16,9 @@
# # and Unicode name (not used in this script) # # and Unicode name (not used in this script)
use strict; use strict;
require convutils; use convutils;
my $this_script = $0;
my %filename = ( my %filename = (
'WIN866' => 'CP866.TXT', 'WIN866' => 'CP866.TXT',
...@@ -54,5 +56,5 @@ foreach my $charset (@charsets) ...@@ -54,5 +56,5 @@ foreach my $charset (@charsets)
{ {
my $mapping = &read_source($filename{$charset}); my $mapping = &read_source($filename{$charset});
print_tables($charset, $mapping); print_conversion_tables($this_script, $charset, $mapping);
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,44 +3,27 @@ ...@@ -3,44 +3,27 @@
# #
# src/backend/utils/mb/Unicode/convutils.pm # src/backend/utils/mb/Unicode/convutils.pm
package convutils;
use strict; use strict;
####################################################################### use Exporter 'import';
# convert UCS-4 to UTF-8
#
sub ucs2utf
{
my ($ucs) = @_;
my $utf;
if ($ucs <= 0x007f) our @EXPORT = qw( NONE TO_UNICODE FROM_UNICODE BOTH read_source print_conversion_tables);
{
$utf = $ucs; # Constants used in the 'direction' field of the character maps
} use constant {
elsif ($ucs > 0x007f && $ucs <= 0x07ff) NONE => 0,
{ TO_UNICODE => 1,
$utf = (($ucs & 0x003f) | 0x80) | ((($ucs >> 6) | 0xc0) << 8); FROM_UNICODE => 2,
} BOTH => 3
elsif ($ucs > 0x07ff && $ucs <= 0xffff) };
{
$utf =
((($ucs >> 12) | 0xe0) << 16) |
(((($ucs & 0x0fc0) >> 6) | 0x80) << 8) | (($ucs & 0x003f) | 0x80);
}
else
{
$utf =
((($ucs >> 18) | 0xf0) << 24) |
(((($ucs & 0x3ffff) >> 12) | 0x80) << 16) |
(((($ucs & 0x0fc0) >> 6) | 0x80) << 8) | (($ucs & 0x003f) | 0x80);
}
return ($utf);
}
####################################################################### #######################################################################
# read_source - common routine to read source file # read_source - common routine to read source file
# #
# fname ; input file name # fname ; input file name
#
sub read_source sub read_source
{ {
my ($fname) = @_; my ($fname) = @_;
...@@ -70,7 +53,9 @@ sub read_source ...@@ -70,7 +53,9 @@ sub read_source
code => hex($1), code => hex($1),
ucs => hex($2), ucs => hex($2),
comment => $4, comment => $4,
direction => "both" direction => BOTH,
f => $fname,
l => $.
}; };
# Ignore pure ASCII mappings. PostgreSQL character conversion code # Ignore pure ASCII mappings. PostgreSQL character conversion code
...@@ -85,20 +70,18 @@ sub read_source ...@@ -85,20 +70,18 @@ sub read_source
} }
################################################################## ##################################################################
# print_tables : output mapping tables # print_conversion_tables - output mapping tables
# #
# Arguments: # print_conversion_tables($this_script, $csname, \%charset)
# charset - string name of the character set.
# table - mapping table (see format below)
# verbose - if 1, output comment on each line,
# if 2, also output source file name and number
# #
# this_script - the name of the *caller script* of this feature
# csname - character set name other than ucs
# charset - ref to character set array
# #
# Input character set array format:
# #
# Mapping table format: # Each element in the character set array is a hash. Each hash has the following fields:
# # direction - BOTH, TO_UNICODE, or FROM_UNICODE (or NONE, to ignore the entry altogether)
# Mapping table is a list of hashes. Each hash has the following fields:
# direction - Direction: 'both', 'from_unicode' or 'to_unicode'
# ucs - Unicode code point # ucs - Unicode code point
# ucs_second - Second Unicode code point, if this is a "combined" character. # ucs_second - Second Unicode code point, if this is a "combined" character.
# code - Byte sequence in the "other" character set, as an integer # code - Byte sequence in the "other" character set, as an integer
...@@ -106,180 +89,703 @@ sub read_source ...@@ -106,180 +89,703 @@ sub read_source
# f - Source filename # f - Source filename
# l - Line number in source file # l - Line number in source file
# #
# sub print_conversion_tables
sub print_tables
{ {
my ($charset, $table, $verbose) = @_; my ($this_script, $csname, $charset) = @_;
# Build an array with only the to-UTF8 direction mappings print_conversion_tables_direction($this_script, $csname, FROM_UNICODE, $charset);
my @to_unicode; print_conversion_tables_direction($this_script, $csname, TO_UNICODE, $charset);
my @to_unicode_combined; }
my @from_unicode;
my @from_unicode_combined;
foreach my $i (@$table) #############################################################################
{ # INTERNAL ROUTINES
if (defined $i->{ucs_second})
{ #######################################################################
my $entry = {utf8 => ucs2utf($i->{ucs}), # print_conversion_tables_direction - write the whole content of C source of radix tree
utf8_second => ucs2utf($i->{ucs_second}), #
code => $i->{code}, # print_conversion_tables_direction($this_script, $csname, $direction, \%charset, $tblwidth)
comment => $i->{comment}, #
f => $i->{f}, l => $i->{l}}; # this_script - the name of the *caller script* of this feature
if ($i->{direction} eq "both" || $i->{direction} eq "to_unicode") # csname - character set name other than ucs
# direction - desired direction, TO_UNICODE or FROM_UNICODE
# charset - ref to character set array
#
sub print_conversion_tables_direction
{
my ($this_script, $csname, $direction, $charset) = @_;
my $fname;
my $tblname;
if ($direction == TO_UNICODE)
{ {
push @to_unicode_combined, $entry; $fname = lc("${csname}_to_utf8.map");
$tblname = lc("${csname}_to_unicode_tree");
print "- Writing ${csname}=>UTF8 conversion table: $fname\n";
} }
if ($i->{direction} eq "both" || $i->{direction} eq "from_unicode") else
{ {
push @from_unicode_combined, $entry; $fname = lc("utf8_to_${csname}.map");
} $tblname = lc("${csname}_from_unicode_tree");
print "- Writing UTF8=>${csname} conversion table: $fname\n";
} }
else
open(my $out, '>', $fname) || die("cannot open $fname");
print $out "/* src/backend/utils/mb/Unicode/$fname */\n";
print $out "/* This file is generated by $this_script */\n\n";
# Collect regular, non-combined, mappings, and create the radix tree from them.
my $charmap = &make_charmap($out, $charset, $direction, 0);
print_radix_table($out, $tblname, $charmap);
# Collect combined characters, and create combined character table (if any)
my $charmap_combined = &make_charmap_combined($charset, $direction);
if (scalar @{$charmap_combined} > 0)
{ {
my $entry = {utf8 => ucs2utf($i->{ucs}), if ($direction == TO_UNICODE)
code => $i->{code},
comment => $i->{comment},
f => $i->{f}, l => $i->{l}};
if ($i->{direction} eq "both" || $i->{direction} eq "to_unicode")
{ {
push @to_unicode, $entry; print_to_utf8_combined_map($out, $csname,
$charmap_combined, 1);
} }
if ($i->{direction} eq "both" || $i->{direction} eq "from_unicode") else
{ {
push @from_unicode, $entry; print_from_utf8_combined_map($out, $csname,
} $charmap_combined, 1);
} }
} }
print_to_utf8_map($charset, \@to_unicode, $verbose); close($out);
print_to_utf8_combined_map($charset, \@to_unicode_combined, $verbose) if (scalar @to_unicode_combined > 0);
print_from_utf8_map($charset, \@from_unicode, $verbose);
print_from_utf8_combined_map($charset, \@from_unicode_combined, $verbose) if (scalar @from_unicode_combined > 0);
} }
sub print_from_utf8_map sub print_from_utf8_combined_map
{ {
my ($charset, $table, $verbose) = @_; my ($out, $charset, $table, $verbose) = @_;
my $last_comment = ""; my $last_comment = "";
my $fname = lc("utf8_to_${charset}.map"); printf $out "\n/* Combined character map */\n";
print "- Writing UTF8=>${charset} conversion table: $fname\n"; printf $out "static const pg_utf_to_local_combined ULmap${charset}_combined[ %d ] = {",
open(my $out, '>', $fname) || die "cannot open output file : $fname\n"; scalar(@$table);
printf($out "/* src/backend/utils/mb/Unicode/$fname */\n\n".
"static const pg_utf_to_local ULmap${charset}[ %d ] = {",
scalar(@$table));
my $first = 1; my $first = 1;
foreach my $i (sort {$a->{utf8} <=> $b->{utf8}} @$table) foreach my $i (sort {$a->{utf8} <=> $b->{utf8}} @$table)
{ {
print($out ",") if (!$first); print($out ",") if (!$first);
$first = 0; $first = 0;
print($out "\t/* $last_comment */") if ($verbose); print $out "\t/* $last_comment */" if ($verbose && $last_comment ne "");
printf($out "\n {0x%04x, 0x%04x}", $i->{utf8}, $i->{code}); printf $out "\n {0x%08x, 0x%08x, 0x%04x}",
$i->{utf8}, $i->{utf8_second}, $i->{code};
if ($verbose >= 2) if ($verbose >= 2)
{ {
$last_comment = "$i->{f}:$i->{l} $i->{comment}"; $last_comment =
sprintf("%s:%d %s", $i->{f}, $i->{l}, $i->{comment});
} }
else elsif ($verbose >= 1)
{ {
$last_comment = $i->{comment}; $last_comment = $i->{comment};
} }
} }
print($out "\t/* $last_comment */") if ($verbose); print $out "\t/* $last_comment */" if ($verbose && $last_comment ne "");
print $out "\n};\n"; print $out "\n};\n";
close($out);
} }
sub print_from_utf8_combined_map sub print_to_utf8_combined_map
{ {
my ($charset, $table, $verbose) = @_; my ($out, $charset, $table, $verbose) = @_;
my $last_comment = ""; my $last_comment = "";
my $fname = lc("utf8_to_${charset}_combined.map"); printf $out "\n/* Combined character map */\n";
print "- Writing UTF8=>${charset} conversion table: $fname\n"; printf $out "static const pg_local_to_utf_combined LUmap${charset}_combined[ %d ] = {",
open(my $out, '>', $fname) || die "cannot open output file : $fname\n"; scalar(@$table);
printf($out "/* src/backend/utils/mb/Unicode/$fname */\n\n".
"static const pg_utf_to_local_combined ULmap${charset}_combined[ %d ] = {",
scalar(@$table));
my $first = 1; my $first = 1;
foreach my $i (sort {$a->{utf8} <=> $b->{utf8}} @$table) foreach my $i (sort {$a->{code} <=> $b->{code}} @$table)
{ {
print($out ",") if (!$first); print($out ",") if (!$first);
$first = 0; $first = 0;
print($out "\t/* $last_comment */") if ($verbose); print $out "\t/* $last_comment */" if ($verbose && $last_comment ne "");
printf($out "\n {0x%08x, 0x%08x, 0x%04x}", $i->{utf8}, $i->{utf8_second}, $i->{code}); printf $out "\n {0x%04x, 0x%08x, 0x%08x}",
$last_comment = "$i->{comment}"; $i->{code}, $i->{utf8}, $i->{utf8_second};
if ($verbose >= 2)
{
$last_comment =
sprintf("%s:%d %s", $i->{f}, $i->{l}, $i->{comment});
} }
print($out "\t/* $last_comment */") if ($verbose); elsif ($verbose >= 1)
{
$last_comment = $i->{comment};
}
}
print $out "\t/* $last_comment */" if ($verbose && $last_comment ne "");
print $out "\n};\n"; print $out "\n};\n";
close($out);
} }
sub print_to_utf8_map #######################################################################
# print_radix_table(<output handle>, <table name>, <charmap hash ref>)
#
# Input: A hash, mapping an input character to an output character.
#
# Constructs a radix tree from the hash, and prints it out as a C-struct.
#
sub print_radix_table
{ {
my ($charset, $table, $verbose) = @_; my ($out, $tblname, $c) = @_;
###
### Build radix trees in memory, for 1-, 2-, 3- and 4-byte inputs. Each
### radix tree is represented as a nested hash, each hash indexed by
### input byte
###
my %b1map;
my %b2map;
my %b3map;
my %b4map;
foreach my $in (keys %$c)
{
my $out = $c->{$in};
my $last_comment = ""; if ($in < 0x100)
{
$b1map{$in} = $out;
}
elsif ($in < 0x10000)
{
my $b1 = $in >> 8;
my $b2 = $in & 0xff;
my $fname = lc("${charset}_to_utf8.map"); $b2map{$b1}{$b2} = $out;
}
elsif ($in < 0x1000000)
{
my $b1 = $in >> 16;
my $b2 = ($in >> 8) & 0xff;
my $b3 = $in & 0xff;
print "- Writing ${charset}=>UTF8 conversion table: $fname\n"; $b3map{$b1}{$b2}{$b3} = $out;
open(my $out, '>', $fname) || die "cannot open output file : $fname\n"; }
printf($out "/* src/backend/utils/mb/Unicode/${fname} */\n\n". elsif ($in < 0x100000000)
"static const pg_local_to_utf LUmap${charset}[ %d ] = {",
scalar(@$table));
my $first = 1;
foreach my $i (sort {$a->{code} <=> $b->{code}} @$table)
{ {
print($out ",") if (!$first); my $b1 = $in >> 24;
$first = 0; my $b2 = ($in >> 16) & 0xff;
print($out "\t/* $last_comment */") if ($verbose); my $b3 = ($in >> 8) & 0xff;
my $b4 = $in & 0xff;
printf($out "\n {0x%04x, 0x%x}", $i->{code}, $i->{utf8}); $b4map{$b1}{$b2}{$b3}{$b4} = $out;
if ($verbose >= 2) }
else
{
die sprintf("up to 4 byte code is supported: %x", $in);
}
}
my @segments;
###
### Build a linear list of "segments", from the nested hashes.
###
### Each segment is a lookup table, keyed by the next byte in the input.
### The segments are written out physically to one big array in the final
### step, but logically, they form a radix tree. Or rather, four radix
### trees: one for 1-byte inputs, another for 2-byte inputs, 3-byte
### inputs, and 4-byte inputs.
###
### Each segment is represented by a hash with following fields:
###
### comment => <string to output as a comment>
### label => <label that can be used to refer to this segment from elsewhere>
### values => <a hash, keyed by byte, 0-0xff>
###
### Entries in 'values' can be integers (for leaf-level segments), or
### string labels, pointing to a segment with that label. Any missing
### values are treated as zeros. If 'values' hash is missing altogether,
### it's treated as all-zeros.
###
### Subsequent steps will enrich the segments with more fields.
###
# Add the segments for the radix trees themselves.
push @segments, build_segments_from_tree("Single byte table", "1-byte", 1, \%b1map);
push @segments, build_segments_from_tree("Two byte table", "2-byte", 2, \%b2map);
push @segments, build_segments_from_tree("Three byte table", "3-byte", 3, \%b3map);
push @segments, build_segments_from_tree("Four byte table", "4-byte", 4, \%b4map);
###
### Find min and max index used in each level of each tree.
###
### These are stored separately, and we can then leave out the unused
### parts of every segment. (When using the resulting tree, you must
### check each input byte against the min and max.)
###
my %min_idx;
my %max_idx;
foreach my $seg (@segments)
{
my $this_min = $min_idx{$seg->{depth}}->{$seg->{level}};
my $this_max = $max_idx{$seg->{depth}}->{$seg->{level}};
foreach my $i (keys %{$seg->{values}})
{ {
$last_comment = "$i->{f}:$i->{l} $i->{comment}"; $this_min = $i if (!defined $this_min || $i < $this_min);
$this_max = $i if (!defined $this_max || $i > $this_max);
}
$min_idx{$seg->{depth}}{$seg->{level}} = $this_min;
$max_idx{$seg->{depth}}{$seg->{level}} = $this_max;
}
# Copy the mins and max's back to every segment, for convenience.
foreach my $seg (@segments)
{
$seg->{min_idx} = $min_idx{$seg->{depth}}{$seg->{level}};
$seg->{max_idx} = $max_idx{$seg->{depth}}{$seg->{level}};
}
###
### Prepend a dummy all-zeros map to the beginning.
###
### A 0 is an invalid value anywhere in the table, and this allows us to
### point to 0 offset from any table, to get a 0 result.
###
# Find the max range between min and max indexes in any of the segments.
my $widest_range = 0;
foreach my $seg (@segments)
{
my $this_range = $seg->{max_idx} - $seg->{min_idx};
$widest_range = $this_range if ($this_range > $widest_range);
}
unshift @segments, {
header => "Dummy map, for invalid values",
min_idx => 0,
max_idx => $widest_range
};
###
### Eliminate overlapping zeros
###
### For each segment, if there are zero values at the end of, and there
### are also zero values at the beginning of the next segment, we can
### overlay the tail of this segment with the head of next segment, to
### save space.
###
### To achieve that, we subtract the 'max_idx' of each segment with the
### amount of zeros that can be overlaid.
###
for (my $j = 0; $j < $#segments - 1; $j++)
{
my $seg = $segments[$j];
my $nextseg = $segments[$j + 1];
# Count the number of zero values at the end of this segment.
my $this_trail_zeros = 0;
for (my $i = $seg->{max_idx}; $i >= $seg->{min_idx} && !$seg->{values}->{$i}; $i--)
{
$this_trail_zeros++;
}
# Count the number of zeros at the beginning of next segment.
my $next_lead_zeros = 0;
for (my $i = $nextseg->{min_idx}; $i <= $nextseg->{max_idx} && !$nextseg->{values}->{$i}; $i++)
{
$next_lead_zeros++;
}
# How many zeros in common?
my $overlaid_trail_zeros =
($this_trail_zeros > $next_lead_zeros) ? $next_lead_zeros : $this_trail_zeros;
$seg->{overlaid_trail_zeros} = $overlaid_trail_zeros;
$seg->{max_idx} = $seg->{max_idx} - $overlaid_trail_zeros;
}
###
### Replace label references with real offsets.
###
### So far, the non-leaf segments have referred to other segments by
### their labels. Replace them with numerical offsets from the beginning
### of the final array. You cannot move, add, or remove segments after
### this step, as that would invalidate the offsets calculated here!
###
my $flatoff = 0;
my %segmap;
# First pass: assign offsets to each segment, and build hash
# of label => offset.
foreach my $seg (@segments)
{
$seg->{offset} = $flatoff;
$segmap{$seg->{label}} = $flatoff;
$flatoff += $seg->{max_idx} - $seg->{min_idx} + 1;
}
my $tblsize = $flatoff;
# Second pass: look up the offset of each label reference in the hash.
foreach my $seg (@segments)
{
while (my ($i, $val) = each %{$seg->{values}})
{
if (!($val =~ /^[0-9,.E]+$/ ))
{
my $segoff = $segmap{$val};
if ($segoff)
{
$seg->{values}->{$i} = $segoff;
} }
else else
{ {
$last_comment = $i->{comment}; die "no segment with label $val";
} }
} }
print($out "\t/* $last_comment */") if ($verbose); }
print $out "\n};\n"; }
close($out);
# Also look up the positions of the roots in the table.
my $b1root = $segmap{"1-byte"};
my $b2root = $segmap{"2-byte"};
my $b3root = $segmap{"3-byte"};
my $b4root = $segmap{"4-byte"};
# And the lower-upper values of each level in each radix tree.
my $b1_lower = $min_idx{1}{1};
my $b1_upper = $max_idx{1}{1};
my $b2_1_lower = $min_idx{2}{1};
my $b2_1_upper = $max_idx{2}{1};
my $b2_2_lower = $min_idx{2}{2};
my $b2_2_upper = $max_idx{2}{2};
my $b3_1_lower = $min_idx{3}{1};
my $b3_1_upper = $max_idx{3}{1};
my $b3_2_lower = $min_idx{3}{2};
my $b3_2_upper = $max_idx{3}{2};
my $b3_3_lower = $min_idx{3}{3};
my $b3_3_upper = $max_idx{3}{3};
my $b4_1_lower = $min_idx{4}{1};
my $b4_1_upper = $max_idx{4}{1};
my $b4_2_lower = $min_idx{4}{2};
my $b4_2_upper = $max_idx{4}{2};
my $b4_3_lower = $min_idx{4}{3};
my $b4_3_upper = $max_idx{4}{3};
my $b4_4_lower = $min_idx{4}{4};
my $b4_4_upper = $max_idx{4}{4};
###
### Find the maximum value in the whole table, to determine if we can
### use uint16 or if we need to use uint32.
###
my $max_val = 0;
foreach my $seg (@segments)
{
foreach my $val (values %{$seg->{values}})
{
$max_val = $val if ($val > $max_val);
}
}
my $datatype = ($max_val <= 0xffff) ? "uint16" : "uint32";
# For formatting, determine how many values we can fit on a single
# line, and how wide each value needs to be to align nicely.
my $vals_per_line;
my $colwidth;
if ($max_val <= 0xffff)
{
$vals_per_line = 8;
$colwidth = 4;
}
elsif ($max_val <= 0xffffff)
{
$vals_per_line = 4;
$colwidth = 6;
}
else
{
$vals_per_line = 4;
$colwidth = 8;
}
###
### Print the struct and array.
###
printf $out "static const $datatype ${tblname}_table[];\n";
printf $out "\n";
printf $out "static const pg_mb_radix_tree $tblname =\n";
printf $out "{\n";
if ($datatype eq "uint16")
{
print $out " ${tblname}_table,\n";
print $out " NULL, /* 32-bit table not used */\n";
}
if ($datatype eq "uint32")
{
print $out " NULL, /* 16-bit table not used */\n";
print $out " ${tblname}_table,\n";
}
printf $out "\n";
printf $out " 0x%04x, /* offset of table for 1-byte inputs */\n", $b1root;
printf $out " 0x%02x, /* b1_lower */\n", $b1_lower;
printf $out " 0x%02x, /* b1_upper */\n", $b1_upper;
printf $out "\n";
printf $out " 0x%04x, /* offset of table for 2-byte inputs */\n", $b2root;
printf $out " 0x%02x, /* b2_1_lower */\n", $b2_1_lower;
printf $out " 0x%02x, /* b2_1_upper */\n", $b2_1_upper;
printf $out " 0x%02x, /* b2_2_lower */\n", $b2_2_lower;
printf $out " 0x%02x, /* b2_2_upper */\n", $b2_2_upper;
printf $out "\n";
printf $out " 0x%04x, /* offset of table for 3-byte inputs */\n", $b3root;
printf $out " 0x%02x, /* b3_1_lower */\n", $b3_1_lower;
printf $out " 0x%02x, /* b3_1_upper */\n", $b3_1_upper;
printf $out " 0x%02x, /* b3_2_lower */\n", $b3_2_lower;
printf $out " 0x%02x, /* b3_2_upper */\n", $b3_2_upper;
printf $out " 0x%02x, /* b3_3_lower */\n", $b3_3_lower;
printf $out " 0x%02x, /* b3_3_upper */\n", $b3_3_upper;
printf $out "\n";
printf $out " 0x%04x, /* offset of table for 3-byte inputs */\n", $b4root;
printf $out " 0x%02x, /* b4_1_lower */\n", $b4_1_lower;
printf $out " 0x%02x, /* b4_1_upper */\n", $b4_1_upper;
printf $out " 0x%02x, /* b4_2_lower */\n", $b4_2_lower;
printf $out " 0x%02x, /* b4_2_upper */\n", $b4_2_upper;
printf $out " 0x%02x, /* b4_3_lower */\n", $b4_3_lower;
printf $out " 0x%02x, /* b4_3_upper */\n", $b4_3_upper;
printf $out " 0x%02x, /* b4_4_lower */\n", $b4_4_lower;
printf $out " 0x%02x /* b4_4_upper */\n", $b4_4_upper;
print $out "};\n";
print $out "\n";
print $out "static const $datatype ${tblname}_table[$tblsize] =\n";
print $out "{";
my $off = 0;
foreach my $seg (@segments)
{
printf $out "\n";
printf $out " /*** %s - offset 0x%05x ***/\n", $seg->{header}, $off;
printf $out "\n";
for (my $i=$seg->{min_idx}; $i <= $seg->{max_idx};)
{
# Print the next line's worth of values.
# XXX pad to begin at a nice boundary
printf $out " /* %02x */ ", $i;
for (my $j = 0; $j < $vals_per_line && $i <= $seg->{max_idx}; $j++)
{
my $val = $seg->{values}->{$i};
printf $out " 0x%0*x", $colwidth, $val;
$off++;
if ($off != $tblsize)
{
print $out ",";
}
$i++;
}
print $out "\n";
}
if ($seg->{overlaid_trail_zeros})
{
printf $out " /* $seg->{overlaid_trail_zeros} trailing zero values shared with next segment */\n";
}
}
# Sanity check.
if ($off != $tblsize) { die "table size didn't match!"; }
print $out "};\n";
} }
sub print_to_utf8_combined_map ###
sub build_segments_from_tree
{ {
my ($charset, $table, $verbose) = @_; my ($header, $rootlabel, $depth, $map) = @_;
my $last_comment = ""; my @segments;
my $fname = lc("${charset}_to_utf8_combined.map"); if (%{$map})
{
@segments = build_segments_recurse($header, $rootlabel, "", 1, $depth, $map);
print "- Writing ${charset}=>UTF8 conversion table: $fname\n"; # Sort the segments into "breadth-first" order. Not strictly required,
open(my $out, '>', $fname) || die "cannot open output file : $fname\n"; # but makes the maps nicer to read.
printf($out "/* src/backend/utils/mb/Unicode/${fname} */\n\n". @segments = sort { $a->{level} cmp $b->{level} or
"static const pg_local_to_utf_combined LUmap${charset}_combined[ %d ] = {", $a->{path} cmp $b->{path}}
scalar(@$table)); @segments;
my $first = 1; }
foreach my $i (sort {$a->{code} <=> $b->{code}} @$table)
return @segments;
}
###
sub build_segments_recurse
{
my ($header, $label, $path, $level, $depth, $map) = @_;
my @segments;
if ($level == $depth)
{ {
print($out ",") if (!$first); push @segments, {
$first = 0; header => $header . ", leaf: ${path}xx",
print($out "\t/* $last_comment */") if ($verbose); label => $label,
level => $level,
depth => $depth,
path => $path,
values => $map
};
}
else
{
my %children;
printf($out "\n {0x%04x, 0x%08x, 0x%08x}", $i->{code}, $i->{utf8}, $i->{utf8_second}); while (my ($i, $val) = each %$map)
$last_comment = "$i->{comment}"; {
my $childpath = $path . sprintf("%02x", $i);
my $childlabel = "$depth-level-$level-$childpath";
push @segments, build_segments_recurse($header, $childlabel, $childpath,
$level + 1, $depth, $val);
$children{$i} = $childlabel;
} }
print($out "\t/* $last_comment */") if ($verbose);
print $out "\n};\n"; push @segments, {
close($out); header => $header . ", byte #$level: ${path}xx",
label => $label,
level => $level,
depth => $depth,
path => $path,
values => \%children
};
}
return @segments;
}
#######################################################################
# make_charmap - convert charset table to charmap hash
#
# make_charmap(\@charset, $direction)
# charset - ref to charset table : see print_conversion_tables
# direction - conversion direction
#
sub make_charmap
{
my ($out, $charset, $direction, $verbose) = @_;
die "unacceptable direction : $direction"
if ($direction != TO_UNICODE && $direction != FROM_UNICODE);
# In verbose mode, print a large comment with the source and comment of
# each character
if ($verbose)
{
print $out "/*\n";
print $out "<src> <dst> <file>:<lineno> <comment>\n";
}
my %charmap;
foreach my $c (@$charset)
{
# combined characters are handled elsewhere
next if (defined $c->{ucs_second});
next if ($c->{direction} != $direction && $c->{direction} != BOTH);
my ($src, $dst) =
$direction == TO_UNICODE
? ($c->{code}, ucs2utf($c->{ucs}))
: (ucs2utf($c->{ucs}), $c->{code});
# check for duplicate source codes
if (defined $charmap{$src})
{
printf STDERR
"Error: duplicate source code on %s:%d: 0x%04x => 0x%04x, 0x%04x\n",
$c->{f}, $c->{l}, $src, $charmap{$src}, $dst;
exit;
}
$charmap{$src} = $dst;
if ($verbose)
{
printf $out "0x%04x 0x%04x %s:%d %s\n", $src, $dst, $c->{f}, $c->{l}, $c->{comment};
}
}
if ($verbose)
{
print $out "*/\n\n";
}
return \%charmap;
}
#######################################################################
# make_charmap_combined - convert charset table to charmap hash
# with checking duplicate source code
#
# make_charmap_combined(\@charset, $direction)
# charset - ref to charset table : see print_conversion_tables
# direction - conversion direction
#
sub make_charmap_combined
{
my ($charset, $direction) = @_;
die "unacceptable direction : $direction"
if ($direction != TO_UNICODE && $direction != FROM_UNICODE);
my @combined;
foreach my $c (@$charset)
{
next if ($c->{direction} != $direction && $c->{direction} != BOTH);
if (defined $c->{ucs_second})
{
my $entry = {utf8 => ucs2utf($c->{ucs}),
utf8_second => ucs2utf($c->{ucs_second}),
code => $c->{code},
comment => $c->{comment},
f => $c->{f}, l => $c->{l}};
push @combined, $entry;
}
}
return \@combined;
}
#######################################################################
# convert UCS-4 to UTF-8
#
sub ucs2utf
{
my ($ucs) = @_;
my $utf;
if ($ucs <= 0x007f)
{
$utf = $ucs;
}
elsif ($ucs > 0x007f && $ucs <= 0x07ff)
{
$utf = (($ucs & 0x003f) | 0x80) | ((($ucs >> 6) | 0xc0) << 8);
}
elsif ($ucs > 0x07ff && $ucs <= 0xffff)
{
$utf =
((($ucs >> 12) | 0xe0) << 16) |
(((($ucs & 0x0fc0) >> 6) | 0x80) << 8) | (($ucs & 0x003f) | 0x80);
}
else
{
$utf =
((($ucs >> 18) | 0xf0) << 24) |
(((($ucs & 0x3ffff) >> 12) | 0x80) << 16) |
(((($ucs & 0x0fc0) >> 6) | 0x80) << 8) | (($ucs & 0x003f) | 0x80);
}
return ($utf);
} }
1; 1;
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/* 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] */
};
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/* src/backend/utils/mb/Unicode/iso8859_10_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_10_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_10_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_10_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc484}, };
{0x00a2, 0xc492},
{0x00a3, 0xc4a2}, static const uint32 iso8859_10_to_unicode_tree_table[256] =
{0x00a4, 0xc4aa}, {
{0x00a5, 0xc4a8}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc4b6},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xc4bb}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc490}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xc5a0}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc5a6}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc5bd}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc5aa}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc58a}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc485}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc493}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc4a3}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc4ab}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc4a9}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc4b7}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc4bc}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc491}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc5a1}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc5a7}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc5be}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xe28095}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc5ab}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc58b}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc480}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc383}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc4ae},
{0x00c8, 0xc48c}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xc389},
{0x00ca, 0xc498}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cb, 0xc38b}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cc, 0xc496}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00cd, 0xc38d}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ce, 0xc38e}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00cf, 0xc38f}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d0, 0xc390}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d1, 0xc585}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d2, 0xc58c}, /* a0 */ 0x00c2a0, 0x00c484, 0x00c492, 0x00c4a2,
{0x00d3, 0xc393}, /* a4 */ 0x00c4aa, 0x00c4a8, 0x00c4b6, 0x00c2a7,
{0x00d4, 0xc394}, /* a8 */ 0x00c4bb, 0x00c490, 0x00c5a0, 0x00c5a6,
{0x00d5, 0xc395}, /* ac */ 0x00c5bd, 0x00c2ad, 0x00c5aa, 0x00c58a,
{0x00d6, 0xc396}, /* b0 */ 0x00c2b0, 0x00c485, 0x00c493, 0x00c4a3,
{0x00d7, 0xc5a8}, /* b4 */ 0x00c4ab, 0x00c4a9, 0x00c4b7, 0x00c2b7,
{0x00d8, 0xc398}, /* b8 */ 0x00c4bc, 0x00c491, 0x00c5a1, 0x00c5a7,
{0x00d9, 0xc5b2}, /* bc */ 0x00c5be, 0xe28095, 0x00c5ab, 0x00c58b,
{0x00da, 0xc39a}, /* c0 */ 0x00c480, 0x00c381, 0x00c382, 0x00c383,
{0x00db, 0xc39b}, /* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c4ae,
{0x00dc, 0xc39c}, /* c8 */ 0x00c48c, 0x00c389, 0x00c498, 0x00c38b,
{0x00dd, 0xc39d}, /* cc */ 0x00c496, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00de, 0xc39e}, /* d0 */ 0x00c390, 0x00c585, 0x00c58c, 0x00c393,
{0x00df, 0xc39f}, /* d4 */ 0x00c394, 0x00c395, 0x00c396, 0x00c5a8,
{0x00e0, 0xc481}, /* d8 */ 0x00c398, 0x00c5b2, 0x00c39a, 0x00c39b,
{0x00e1, 0xc3a1}, /* dc */ 0x00c39c, 0x00c39d, 0x00c39e, 0x00c39f,
{0x00e2, 0xc3a2}, /* e0 */ 0x00c481, 0x00c3a1, 0x00c3a2, 0x00c3a3,
{0x00e3, 0xc3a3}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c4af,
{0x00e4, 0xc3a4}, /* e8 */ 0x00c48d, 0x00c3a9, 0x00c499, 0x00c3ab,
{0x00e5, 0xc3a5}, /* ec */ 0x00c497, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00e6, 0xc3a6}, /* f0 */ 0x00c3b0, 0x00c586, 0x00c58d, 0x00c3b3,
{0x00e7, 0xc4af}, /* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0x00c5a9,
{0x00e8, 0xc48d}, /* f8 */ 0x00c3b8, 0x00c5b3, 0x00c3ba, 0x00c3bb,
{0x00e9, 0xc3a9}, /* fc */ 0x00c3bc, 0x00c3bd, 0x00c3be, 0x00c4b8
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_13_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_13_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_13_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_13_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xe2809d}, };
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3}, static const uint32 iso8859_13_to_unicode_tree_table[256] =
{0x00a4, 0xc2a4}, {
{0x00a5, 0xe2809e}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xc398}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xc596}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc2ac}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc386}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xe2809c}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc3b8}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc597}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc3a6}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc484}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc4ae}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc480}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc486}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc498}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc492},
{0x00c8, 0xc48c}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xc389},
{0x00ca, 0xc5b9}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cb, 0xc496}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cc, 0xc4a2}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00cd, 0xc4b6}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ce, 0xc4aa}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00cf, 0xc4bb}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d0, 0xc5a0}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d1, 0xc583}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d2, 0xc585}, /* a0 */ 0x00c2a0, 0xe2809d, 0x00c2a2, 0x00c2a3,
{0x00d3, 0xc393}, /* a4 */ 0x00c2a4, 0xe2809e, 0x00c2a6, 0x00c2a7,
{0x00d4, 0xc58c}, /* a8 */ 0x00c398, 0x00c2a9, 0x00c596, 0x00c2ab,
{0x00d5, 0xc395}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c386,
{0x00d6, 0xc396}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00d7, 0xc397}, /* b4 */ 0xe2809c, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00d8, 0xc5b2}, /* b8 */ 0x00c3b8, 0x00c2b9, 0x00c597, 0x00c2bb,
{0x00d9, 0xc581}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c3a6,
{0x00da, 0xc59a}, /* c0 */ 0x00c484, 0x00c4ae, 0x00c480, 0x00c486,
{0x00db, 0xc5aa}, /* c4 */ 0x00c384, 0x00c385, 0x00c498, 0x00c492,
{0x00dc, 0xc39c}, /* c8 */ 0x00c48c, 0x00c389, 0x00c5b9, 0x00c496,
{0x00dd, 0xc5bb}, /* cc */ 0x00c4a2, 0x00c4b6, 0x00c4aa, 0x00c4bb,
{0x00de, 0xc5bd}, /* d0 */ 0x00c5a0, 0x00c583, 0x00c585, 0x00c393,
{0x00df, 0xc39f}, /* d4 */ 0x00c58c, 0x00c395, 0x00c396, 0x00c397,
{0x00e0, 0xc485}, /* d8 */ 0x00c5b2, 0x00c581, 0x00c59a, 0x00c5aa,
{0x00e1, 0xc4af}, /* dc */ 0x00c39c, 0x00c5bb, 0x00c5bd, 0x00c39f,
{0x00e2, 0xc481}, /* e0 */ 0x00c485, 0x00c4af, 0x00c481, 0x00c487,
{0x00e3, 0xc487}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c499, 0x00c493,
{0x00e4, 0xc3a4}, /* e8 */ 0x00c48d, 0x00c3a9, 0x00c5ba, 0x00c497,
{0x00e5, 0xc3a5}, /* ec */ 0x00c4a3, 0x00c4b7, 0x00c4ab, 0x00c4bc,
{0x00e6, 0xc499}, /* f0 */ 0x00c5a1, 0x00c584, 0x00c586, 0x00c3b3,
{0x00e7, 0xc493}, /* f4 */ 0x00c58d, 0x00c3b5, 0x00c3b6, 0x00c3b7,
{0x00e8, 0xc48d}, /* f8 */ 0x00c5b3, 0x00c582, 0x00c59b, 0x00c5ab,
{0x00e9, 0xc3a9}, /* fc */ 0x00c3bc, 0x00c5bc, 0x00c5be, 0xe28099
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_14_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_14_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_14_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_14_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xe1b882}, };
{0x00a2, 0xe1b883},
{0x00a3, 0xc2a3}, static const uint32 iso8859_14_to_unicode_tree_table[256] =
{0x00a4, 0xc48a}, {
{0x00a5, 0xc48b}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xe1b88a},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xe1ba80}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xe1ba82}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xe1b88b}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xe1bbb2}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc5b8}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xe1b89e}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xe1b89f}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc4a0}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc4a1}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xe1b980}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xe1b981}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xe1b996}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xe1ba81}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xe1b997}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xe1ba83}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xe1b9a0}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xe1bbb3}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xe1ba84}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xe1ba85}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xe1b9a1}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc380}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc383}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387},
{0x00c8, 0xc388}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xc389},
{0x00ca, 0xc38a}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cb, 0xc38b}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cc, 0xc38c}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00cd, 0xc38d}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ce, 0xc38e}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00cf, 0xc38f}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d0, 0xc5b4}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d1, 0xc391}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d2, 0xc392}, /* a0 */ 0x00c2a0, 0xe1b882, 0xe1b883, 0x00c2a3,
{0x00d3, 0xc393}, /* a4 */ 0x00c48a, 0x00c48b, 0xe1b88a, 0x00c2a7,
{0x00d4, 0xc394}, /* a8 */ 0xe1ba80, 0x00c2a9, 0xe1ba82, 0xe1b88b,
{0x00d5, 0xc395}, /* ac */ 0xe1bbb2, 0x00c2ad, 0x00c2ae, 0x00c5b8,
{0x00d6, 0xc396}, /* b0 */ 0xe1b89e, 0xe1b89f, 0x00c4a0, 0x00c4a1,
{0x00d7, 0xe1b9aa}, /* b4 */ 0xe1b980, 0xe1b981, 0x00c2b6, 0xe1b996,
{0x00d8, 0xc398}, /* b8 */ 0xe1ba81, 0xe1b997, 0xe1ba83, 0xe1b9a0,
{0x00d9, 0xc399}, /* bc */ 0xe1bbb3, 0xe1ba84, 0xe1ba85, 0xe1b9a1,
{0x00da, 0xc39a}, /* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c383,
{0x00db, 0xc39b}, /* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
{0x00dc, 0xc39c}, /* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
{0x00dd, 0xc39d}, /* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00de, 0xc5b6}, /* d0 */ 0x00c5b4, 0x00c391, 0x00c392, 0x00c393,
{0x00df, 0xc39f}, /* d4 */ 0x00c394, 0x00c395, 0x00c396, 0xe1b9aa,
{0x00e0, 0xc3a0}, /* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
{0x00e1, 0xc3a1}, /* dc */ 0x00c39c, 0x00c39d, 0x00c5b6, 0x00c39f,
{0x00e2, 0xc3a2}, /* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c3a3,
{0x00e3, 0xc3a3}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
{0x00e4, 0xc3a4}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00e5, 0xc3a5}, /* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00e6, 0xc3a6}, /* f0 */ 0x00c5b5, 0x00c3b1, 0x00c3b2, 0x00c3b3,
{0x00e7, 0xc3a7}, /* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0xe1b9ab,
{0x00e8, 0xc3a8}, /* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
{0x00e9, 0xc3a9}, /* fc */ 0x00c3bc, 0x00c3bd, 0x00c5b7, 0x00c3bf
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_15_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_15_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_15_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_15_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc2a1}, };
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3}, static const uint32 iso8859_15_to_unicode_tree_table[256] =
{0x00a4, 0xe282ac}, {
{0x00a5, 0xc2a5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc5a0},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xc5a1}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xc2aa}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc2ac}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc2af}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc5bd}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc5be}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc2ba}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc592}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc593}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc5b8}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2bf}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc380}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc383}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387},
{0x00c8, 0xc388}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xc389},
{0x00ca, 0xc38a}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cb, 0xc38b}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cc, 0xc38c}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00cd, 0xc38d}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ce, 0xc38e}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00cf, 0xc38f}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d0, 0xc390}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d1, 0xc391}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d2, 0xc392}, /* a0 */ 0x00c2a0, 0x00c2a1, 0x00c2a2, 0x00c2a3,
{0x00d3, 0xc393}, /* a4 */ 0xe282ac, 0x00c2a5, 0x00c5a0, 0x00c2a7,
{0x00d4, 0xc394}, /* a8 */ 0x00c5a1, 0x00c2a9, 0x00c2aa, 0x00c2ab,
{0x00d5, 0xc395}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00d6, 0xc396}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00d7, 0xc397}, /* b4 */ 0x00c5bd, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00d8, 0xc398}, /* b8 */ 0x00c5be, 0x00c2b9, 0x00c2ba, 0x00c2bb,
{0x00d9, 0xc399}, /* bc */ 0x00c592, 0x00c593, 0x00c5b8, 0x00c2bf,
{0x00da, 0xc39a}, /* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c383,
{0x00db, 0xc39b}, /* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
{0x00dc, 0xc39c}, /* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
{0x00dd, 0xc39d}, /* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00de, 0xc39e}, /* d0 */ 0x00c390, 0x00c391, 0x00c392, 0x00c393,
{0x00df, 0xc39f}, /* d4 */ 0x00c394, 0x00c395, 0x00c396, 0x00c397,
{0x00e0, 0xc3a0}, /* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
{0x00e1, 0xc3a1}, /* dc */ 0x00c39c, 0x00c39d, 0x00c39e, 0x00c39f,
{0x00e2, 0xc3a2}, /* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c3a3,
{0x00e3, 0xc3a3}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
{0x00e4, 0xc3a4}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00e5, 0xc3a5}, /* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00e6, 0xc3a6}, /* f0 */ 0x00c3b0, 0x00c3b1, 0x00c3b2, 0x00c3b3,
{0x00e7, 0xc3a7}, /* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0x00c3b7,
{0x00e8, 0xc3a8}, /* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
{0x00e9, 0xc3a9}, /* fc */ 0x00c3bc, 0x00c3bd, 0x00c3be, 0x00c3bf
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_16_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_16_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_16_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_16_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc484}, };
{0x00a2, 0xc485},
{0x00a3, 0xc581}, static const uint32 iso8859_16_to_unicode_tree_table[256] =
{0x00a4, 0xe282ac}, {
{0x00a5, 0xe2809e}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc5a0},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xc5a1}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xc898}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc5b9}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc5ba}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc5bb}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc48c}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc582}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc5bd}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xe2809d}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc5be}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc48d}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc899}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc592}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc593}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc5b8}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc5bc}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc380}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc482}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc486}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387},
{0x00c8, 0xc388}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xc389},
{0x00ca, 0xc38a}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cb, 0xc38b}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cc, 0xc38c}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00cd, 0xc38d}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ce, 0xc38e}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00cf, 0xc38f}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d0, 0xc490}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d1, 0xc583}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d2, 0xc392}, /* a0 */ 0x00c2a0, 0x00c484, 0x00c485, 0x00c581,
{0x00d3, 0xc393}, /* a4 */ 0xe282ac, 0xe2809e, 0x00c5a0, 0x00c2a7,
{0x00d4, 0xc394}, /* a8 */ 0x00c5a1, 0x00c2a9, 0x00c898, 0x00c2ab,
{0x00d5, 0xc590}, /* ac */ 0x00c5b9, 0x00c2ad, 0x00c5ba, 0x00c5bb,
{0x00d6, 0xc396}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c48c, 0x00c582,
{0x00d7, 0xc59a}, /* b4 */ 0x00c5bd, 0xe2809d, 0x00c2b6, 0x00c2b7,
{0x00d8, 0xc5b0}, /* b8 */ 0x00c5be, 0x00c48d, 0x00c899, 0x00c2bb,
{0x00d9, 0xc399}, /* bc */ 0x00c592, 0x00c593, 0x00c5b8, 0x00c5bc,
{0x00da, 0xc39a}, /* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c482,
{0x00db, 0xc39b}, /* c4 */ 0x00c384, 0x00c486, 0x00c386, 0x00c387,
{0x00dc, 0xc39c}, /* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
{0x00dd, 0xc498}, /* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00de, 0xc89a}, /* d0 */ 0x00c490, 0x00c583, 0x00c392, 0x00c393,
{0x00df, 0xc39f}, /* d4 */ 0x00c394, 0x00c590, 0x00c396, 0x00c59a,
{0x00e0, 0xc3a0}, /* d8 */ 0x00c5b0, 0x00c399, 0x00c39a, 0x00c39b,
{0x00e1, 0xc3a1}, /* dc */ 0x00c39c, 0x00c498, 0x00c89a, 0x00c39f,
{0x00e2, 0xc3a2}, /* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c483,
{0x00e3, 0xc483}, /* e4 */ 0x00c3a4, 0x00c487, 0x00c3a6, 0x00c3a7,
{0x00e4, 0xc3a4}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00e5, 0xc487}, /* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00e6, 0xc3a6}, /* f0 */ 0x00c491, 0x00c584, 0x00c3b2, 0x00c3b3,
{0x00e7, 0xc3a7}, /* f4 */ 0x00c3b4, 0x00c591, 0x00c3b6, 0x00c59b,
{0x00e8, 0xc3a8}, /* f8 */ 0x00c5b1, 0x00c3b9, 0x00c3ba, 0x00c3bb,
{0x00e9, 0xc3a9}, /* fc */ 0x00c3bc, 0x00c499, 0x00c89b, 0x00c3bf
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_2_to_utf8.map */ /* 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 ] = { static const uint16 iso8859_2_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_2_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, iso8859_2_to_unicode_tree_table,
{0x0084, 0xc284}, NULL, /* 32-bit table not used */
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc484}, };
{0x00a2, 0xcb98},
{0x00a3, 0xc581}, static const uint16 iso8859_2_to_unicode_tree_table[256] =
{0x00a4, 0xc2a4}, {
{0x00a5, 0xc4bd}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc59a},
{0x00a7, 0xc2a7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a8, 0xc2a8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a9, 0xc5a0}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00aa, 0xc59e}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ab, 0xc5a4}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ac, 0xc5b9}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ad, 0xc2ad}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ae, 0xc5bd}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00af, 0xc5bb}, /* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b0, 0xc2b0}, /* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b1, 0xc485}, /* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b2, 0xcb9b}, /* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b3, 0xc582}, /* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b4, 0xc2b4}, /* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b5, 0xc4be}, /* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b6, 0xc59b}, /* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b7, 0xcb87},
{0x00b8, 0xc2b8}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00b9, 0xc5a1},
{0x00ba, 0xc59f}, /* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
{0x00bb, 0xc5a5}, /* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
{0x00bc, 0xc5ba}, /* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
{0x00bd, 0xcb9d}, /* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
{0x00be, 0xc5be}, /* a0 */ 0xc2a0, 0xc484, 0xcb98, 0xc581, 0xc2a4, 0xc4bd, 0xc59a, 0xc2a7,
{0x00bf, 0xc5bc}, /* a8 */ 0xc2a8, 0xc5a0, 0xc59e, 0xc5a4, 0xc5b9, 0xc2ad, 0xc5bd, 0xc5bb,
{0x00c0, 0xc594}, /* b0 */ 0xc2b0, 0xc485, 0xcb9b, 0xc582, 0xc2b4, 0xc4be, 0xc59b, 0xcb87,
{0x00c1, 0xc381}, /* b8 */ 0xc2b8, 0xc5a1, 0xc59f, 0xc5a5, 0xc5ba, 0xcb9d, 0xc5be, 0xc5bc,
{0x00c2, 0xc382}, /* c0 */ 0xc594, 0xc381, 0xc382, 0xc482, 0xc384, 0xc4b9, 0xc486, 0xc387,
{0x00c3, 0xc482}, /* c8 */ 0xc48c, 0xc389, 0xc498, 0xc38b, 0xc49a, 0xc38d, 0xc38e, 0xc48e,
{0x00c4, 0xc384}, /* d0 */ 0xc490, 0xc583, 0xc587, 0xc393, 0xc394, 0xc590, 0xc396, 0xc397,
{0x00c5, 0xc4b9}, /* d8 */ 0xc598, 0xc5ae, 0xc39a, 0xc5b0, 0xc39c, 0xc39d, 0xc5a2, 0xc39f,
{0x00c6, 0xc486}, /* e0 */ 0xc595, 0xc3a1, 0xc3a2, 0xc483, 0xc3a4, 0xc4ba, 0xc487, 0xc3a7,
{0x00c7, 0xc387}, /* e8 */ 0xc48d, 0xc3a9, 0xc499, 0xc3ab, 0xc49b, 0xc3ad, 0xc3ae, 0xc48f,
{0x00c8, 0xc48c}, /* f0 */ 0xc491, 0xc584, 0xc588, 0xc3b3, 0xc3b4, 0xc591, 0xc3b6, 0xc3b7,
{0x00c9, 0xc389}, /* f8 */ 0xc599, 0xc5af, 0xc3ba, 0xc5b1, 0xc3bc, 0xc3bd, 0xc5a3, 0xcb99
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_3_to_utf8.map */ /* 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 ] = { static const uint16 iso8859_3_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_3_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, iso8859_3_to_unicode_tree_table,
{0x0084, 0xc284}, NULL, /* 32-bit table not used */
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc4a6}, };
{0x00a2, 0xcb98},
{0x00a3, 0xc2a3}, static const uint16 iso8859_3_to_unicode_tree_table[256] =
{0x00a4, 0xc2a4}, {
{0x00a6, 0xc4a4}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a9, 0xc4b0}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00aa, 0xc59e}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ab, 0xc49e}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ac, 0xc4b4}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ad, 0xc2ad}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00af, 0xc5bb}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b0, 0xc2b0}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b1, 0xc4a7}, /* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b2, 0xc2b2}, /* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b3, 0xc2b3}, /* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b4, 0xc2b4}, /* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b5, 0xc2b5}, /* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b6, 0xc4a5}, /* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b7, 0xc2b7}, /* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b8, 0xc2b8}, /* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b9, 0xc4b1},
{0x00ba, 0xc59f}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00bb, 0xc49f},
{0x00bc, 0xc4b5}, /* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
{0x00bd, 0xc2bd}, /* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
{0x00bf, 0xc5bc}, /* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
{0x00c0, 0xc380}, /* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
{0x00c1, 0xc381}, /* a0 */ 0xc2a0, 0xc4a6, 0xcb98, 0xc2a3, 0xc2a4, 0x0000, 0xc4a4, 0xc2a7,
{0x00c2, 0xc382}, /* a8 */ 0xc2a8, 0xc4b0, 0xc59e, 0xc49e, 0xc4b4, 0xc2ad, 0x0000, 0xc5bb,
{0x00c4, 0xc384}, /* b0 */ 0xc2b0, 0xc4a7, 0xc2b2, 0xc2b3, 0xc2b4, 0xc2b5, 0xc4a5, 0xc2b7,
{0x00c5, 0xc48a}, /* b8 */ 0xc2b8, 0xc4b1, 0xc59f, 0xc49f, 0xc4b5, 0xc2bd, 0x0000, 0xc5bc,
{0x00c6, 0xc488}, /* c0 */ 0xc380, 0xc381, 0xc382, 0x0000, 0xc384, 0xc48a, 0xc488, 0xc387,
{0x00c7, 0xc387}, /* c8 */ 0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,
{0x00c8, 0xc388}, /* d0 */ 0x0000, 0xc391, 0xc392, 0xc393, 0xc394, 0xc4a0, 0xc396, 0xc397,
{0x00c9, 0xc389}, /* d8 */ 0xc49c, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc5ac, 0xc59c, 0xc39f,
{0x00ca, 0xc38a}, /* e0 */ 0xc3a0, 0xc3a1, 0xc3a2, 0x0000, 0xc3a4, 0xc48b, 0xc489, 0xc3a7,
{0x00cb, 0xc38b}, /* e8 */ 0xc3a8, 0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af,
{0x00cc, 0xc38c}, /* f0 */ 0x0000, 0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc4a1, 0xc3b6, 0xc3b7,
{0x00cd, 0xc38d}, /* f8 */ 0xc49d, 0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc5ad, 0xc59d, 0xcb99
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_4_to_utf8.map */ /* 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 ] = { static const uint16 iso8859_4_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_4_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, iso8859_4_to_unicode_tree_table,
{0x0084, 0xc284}, NULL, /* 32-bit table not used */
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc484}, };
{0x00a2, 0xc4b8},
{0x00a3, 0xc596}, static const uint16 iso8859_4_to_unicode_tree_table[256] =
{0x00a4, 0xc2a4}, {
{0x00a5, 0xc4a8}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc4bb},
{0x00a7, 0xc2a7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a8, 0xc2a8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a9, 0xc5a0}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00aa, 0xc492}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ab, 0xc4a2}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ac, 0xc5a6}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ad, 0xc2ad}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ae, 0xc5bd}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00af, 0xc2af}, /* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b0, 0xc2b0}, /* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b1, 0xc485}, /* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b2, 0xcb9b}, /* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b3, 0xc597}, /* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b4, 0xc2b4}, /* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b5, 0xc4a9}, /* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b6, 0xc4bc}, /* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b7, 0xcb87},
{0x00b8, 0xc2b8}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00b9, 0xc5a1},
{0x00ba, 0xc493}, /* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
{0x00bb, 0xc4a3}, /* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
{0x00bc, 0xc5a7}, /* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
{0x00bd, 0xc58a}, /* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
{0x00be, 0xc5be}, /* a0 */ 0xc2a0, 0xc484, 0xc4b8, 0xc596, 0xc2a4, 0xc4a8, 0xc4bb, 0xc2a7,
{0x00bf, 0xc58b}, /* a8 */ 0xc2a8, 0xc5a0, 0xc492, 0xc4a2, 0xc5a6, 0xc2ad, 0xc5bd, 0xc2af,
{0x00c0, 0xc480}, /* b0 */ 0xc2b0, 0xc485, 0xcb9b, 0xc597, 0xc2b4, 0xc4a9, 0xc4bc, 0xcb87,
{0x00c1, 0xc381}, /* b8 */ 0xc2b8, 0xc5a1, 0xc493, 0xc4a3, 0xc5a7, 0xc58a, 0xc5be, 0xc58b,
{0x00c2, 0xc382}, /* c0 */ 0xc480, 0xc381, 0xc382, 0xc383, 0xc384, 0xc385, 0xc386, 0xc4ae,
{0x00c3, 0xc383}, /* c8 */ 0xc48c, 0xc389, 0xc498, 0xc38b, 0xc496, 0xc38d, 0xc38e, 0xc4aa,
{0x00c4, 0xc384}, /* d0 */ 0xc490, 0xc585, 0xc58c, 0xc4b6, 0xc394, 0xc395, 0xc396, 0xc397,
{0x00c5, 0xc385}, /* d8 */ 0xc398, 0xc5b2, 0xc39a, 0xc39b, 0xc39c, 0xc5a8, 0xc5aa, 0xc39f,
{0x00c6, 0xc386}, /* e0 */ 0xc481, 0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc4af,
{0x00c7, 0xc4ae}, /* e8 */ 0xc48d, 0xc3a9, 0xc499, 0xc3ab, 0xc497, 0xc3ad, 0xc3ae, 0xc4ab,
{0x00c8, 0xc48c}, /* f0 */ 0xc491, 0xc586, 0xc58d, 0xc4b7, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7,
{0x00c9, 0xc389}, /* f8 */ 0xc3b8, 0xc5b3, 0xc3ba, 0xc3bb, 0xc3bc, 0xc5a9, 0xc5ab, 0xcb99
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_5_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_5_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_5_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_5_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xd081}, };
{0x00a2, 0xd082},
{0x00a3, 0xd083}, static const uint32 iso8859_5_to_unicode_tree_table[256] =
{0x00a4, 0xd084}, {
{0x00a5, 0xd085}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xd086},
{0x00a7, 0xd087}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xd088}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xd089}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xd08a}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xd08b}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xd08c}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xd08e}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xd08f}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xd090}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xd091}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xd092}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xd093}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xd094}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xd095}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xd096}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xd097}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xd098}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xd099}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xd09a}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xd09b}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xd09c}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xd09d}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xd09e}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xd09f}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xd0a0}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xd0a1}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xd0a2}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xd0a3}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xd0a4}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xd0a5}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xd0a6}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xd0a7},
{0x00c8, 0xd0a8}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xd0a9},
{0x00ca, 0xd0aa}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cb, 0xd0ab}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cc, 0xd0ac}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00cd, 0xd0ad}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ce, 0xd0ae}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00cf, 0xd0af}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d0, 0xd0b0}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d1, 0xd0b1}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d2, 0xd0b2}, /* a0 */ 0x00c2a0, 0x00d081, 0x00d082, 0x00d083,
{0x00d3, 0xd0b3}, /* a4 */ 0x00d084, 0x00d085, 0x00d086, 0x00d087,
{0x00d4, 0xd0b4}, /* a8 */ 0x00d088, 0x00d089, 0x00d08a, 0x00d08b,
{0x00d5, 0xd0b5}, /* ac */ 0x00d08c, 0x00c2ad, 0x00d08e, 0x00d08f,
{0x00d6, 0xd0b6}, /* b0 */ 0x00d090, 0x00d091, 0x00d092, 0x00d093,
{0x00d7, 0xd0b7}, /* b4 */ 0x00d094, 0x00d095, 0x00d096, 0x00d097,
{0x00d8, 0xd0b8}, /* b8 */ 0x00d098, 0x00d099, 0x00d09a, 0x00d09b,
{0x00d9, 0xd0b9}, /* bc */ 0x00d09c, 0x00d09d, 0x00d09e, 0x00d09f,
{0x00da, 0xd0ba}, /* c0 */ 0x00d0a0, 0x00d0a1, 0x00d0a2, 0x00d0a3,
{0x00db, 0xd0bb}, /* c4 */ 0x00d0a4, 0x00d0a5, 0x00d0a6, 0x00d0a7,
{0x00dc, 0xd0bc}, /* c8 */ 0x00d0a8, 0x00d0a9, 0x00d0aa, 0x00d0ab,
{0x00dd, 0xd0bd}, /* cc */ 0x00d0ac, 0x00d0ad, 0x00d0ae, 0x00d0af,
{0x00de, 0xd0be}, /* d0 */ 0x00d0b0, 0x00d0b1, 0x00d0b2, 0x00d0b3,
{0x00df, 0xd0bf}, /* d4 */ 0x00d0b4, 0x00d0b5, 0x00d0b6, 0x00d0b7,
{0x00e0, 0xd180}, /* d8 */ 0x00d0b8, 0x00d0b9, 0x00d0ba, 0x00d0bb,
{0x00e1, 0xd181}, /* dc */ 0x00d0bc, 0x00d0bd, 0x00d0be, 0x00d0bf,
{0x00e2, 0xd182}, /* e0 */ 0x00d180, 0x00d181, 0x00d182, 0x00d183,
{0x00e3, 0xd183}, /* e4 */ 0x00d184, 0x00d185, 0x00d186, 0x00d187,
{0x00e4, 0xd184}, /* e8 */ 0x00d188, 0x00d189, 0x00d18a, 0x00d18b,
{0x00e5, 0xd185}, /* ec */ 0x00d18c, 0x00d18d, 0x00d18e, 0x00d18f,
{0x00e6, 0xd186}, /* f0 */ 0xe28496, 0x00d191, 0x00d192, 0x00d193,
{0x00e7, 0xd187}, /* f4 */ 0x00d194, 0x00d195, 0x00d196, 0x00d197,
{0x00e8, 0xd188}, /* f8 */ 0x00d198, 0x00d199, 0x00d19a, 0x00d19b,
{0x00e9, 0xd189}, /* fc */ 0x00d19c, 0x00c2a7, 0x00d19e, 0x00d19f
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map */ /* 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 ] = { static const uint16 iso8859_6_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_6_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, iso8859_6_to_unicode_tree_table,
{0x0084, 0xc284}, NULL, /* 32-bit table not used */
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0073, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xf2, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a4, 0xc2a4}, };
{0x00ac, 0xd88c},
{0x00ad, 0xc2ad}, static const uint16 iso8859_6_to_unicode_tree_table[230] =
{0x00bb, 0xd89b}, {
{0x00bf, 0xd89f}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00c1, 0xd8a1},
{0x00c2, 0xd8a2}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c3, 0xd8a3}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c4, 0xd8a4}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c5, 0xd8a5}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c6, 0xd8a6}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c7, 0xd8a7}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c8, 0xd8a8}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00c9, 0xd8a9}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ca, 0xd8aa}, /* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00cb, 0xd8ab}, /* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00cc, 0xd8ac}, /* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00cd, 0xd8ad}, /* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ce, 0xd8ae}, /* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00cf, 0xd8af}, /* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00d0, 0xd8b0}, /* 70 */ 0x0000, 0x0000, 0x0000,
{0x00d1, 0xd8b1},
{0x00d2, 0xd8b2}, /*** Single byte table, leaf: xx - offset 0x00073 ***/
{0x00d3, 0xd8b3},
{0x00d4, 0xd8b4}, /* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
{0x00d5, 0xd8b5}, /* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
{0x00d6, 0xd8b6}, /* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
{0x00d7, 0xd8b7}, /* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
{0x00d8, 0xd8b8}, /* a0 */ 0xc2a0, 0x0000, 0x0000, 0x0000, 0xc2a4, 0x0000, 0x0000, 0x0000,
{0x00d9, 0xd8b9}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0xd88c, 0xc2ad, 0x0000, 0x0000,
{0x00da, 0xd8ba}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00e0, 0xd980}, /* b8 */ 0x0000, 0x0000, 0x0000, 0xd89b, 0x0000, 0x0000, 0x0000, 0xd89f,
{0x00e1, 0xd981}, /* c0 */ 0x0000, 0xd8a1, 0xd8a2, 0xd8a3, 0xd8a4, 0xd8a5, 0xd8a6, 0xd8a7,
{0x00e2, 0xd982}, /* c8 */ 0xd8a8, 0xd8a9, 0xd8aa, 0xd8ab, 0xd8ac, 0xd8ad, 0xd8ae, 0xd8af,
{0x00e3, 0xd983}, /* d0 */ 0xd8b0, 0xd8b1, 0xd8b2, 0xd8b3, 0xd8b4, 0xd8b5, 0xd8b6, 0xd8b7,
{0x00e4, 0xd984}, /* d8 */ 0xd8b8, 0xd8b9, 0xd8ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00e5, 0xd985}, /* e0 */ 0xd980, 0xd981, 0xd982, 0xd983, 0xd984, 0xd985, 0xd986, 0xd987,
{0x00e6, 0xd986}, /* e8 */ 0xd988, 0xd989, 0xd98a, 0xd98b, 0xd98c, 0xd98d, 0xd98e, 0xd98f,
{0x00e7, 0xd987}, /* f0 */ 0xd990, 0xd991, 0xd992
{0x00e8, 0xd988},
{0x00e9, 0xd989},
{0x00ea, 0xd98a},
{0x00eb, 0xd98b},
{0x00ec, 0xd98c},
{0x00ed, 0xd98d},
{0x00ee, 0xd98e},
{0x00ef, 0xd98f},
{0x00f0, 0xd990},
{0x00f1, 0xd991},
{0x00f2, 0xd992}
}; };
/* src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_7_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_7_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_7_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x007f, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xfe, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xe28098}, };
{0x00a2, 0xe28099},
{0x00a3, 0xc2a3}, static const uint32 iso8859_7_to_unicode_tree_table[254] =
{0x00a4, 0xe282ac}, {
{0x00a5, 0xe282af}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xc2a8}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xcdba}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc2ac}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xe28095}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xce84}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xce85}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xce86}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xce88}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xce89}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xce8a}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xce8c}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xce8e}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xce8f}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xce90}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xce91}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xce92}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xce93}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xce94}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xce95}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xce96}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xce97}, /* 7c */ 0x000000, 0x000000, 0x000000,
{0x00c8, 0xce98},
{0x00c9, 0xce99}, /*** Single byte table, leaf: xx - offset 0x0007f ***/
{0x00ca, 0xce9a},
{0x00cb, 0xce9b}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00cc, 0xce9c}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00cd, 0xce9d}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00ce, 0xce9e}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00cf, 0xce9f}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00d0, 0xcea0}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00d1, 0xcea1}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00d3, 0xcea3}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00d4, 0xcea4}, /* a0 */ 0x00c2a0, 0xe28098, 0xe28099, 0x00c2a3,
{0x00d5, 0xcea5}, /* a4 */ 0xe282ac, 0xe282af, 0x00c2a6, 0x00c2a7,
{0x00d6, 0xcea6}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00cdba, 0x00c2ab,
{0x00d7, 0xcea7}, /* ac */ 0x00c2ac, 0x00c2ad, 0x000000, 0xe28095,
{0x00d8, 0xcea8}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00d9, 0xcea9}, /* b4 */ 0x00ce84, 0x00ce85, 0x00ce86, 0x00c2b7,
{0x00da, 0xceaa}, /* b8 */ 0x00ce88, 0x00ce89, 0x00ce8a, 0x00c2bb,
{0x00db, 0xceab}, /* bc */ 0x00ce8c, 0x00c2bd, 0x00ce8e, 0x00ce8f,
{0x00dc, 0xceac}, /* c0 */ 0x00ce90, 0x00ce91, 0x00ce92, 0x00ce93,
{0x00dd, 0xcead}, /* c4 */ 0x00ce94, 0x00ce95, 0x00ce96, 0x00ce97,
{0x00de, 0xceae}, /* c8 */ 0x00ce98, 0x00ce99, 0x00ce9a, 0x00ce9b,
{0x00df, 0xceaf}, /* cc */ 0x00ce9c, 0x00ce9d, 0x00ce9e, 0x00ce9f,
{0x00e0, 0xceb0}, /* d0 */ 0x00cea0, 0x00cea1, 0x000000, 0x00cea3,
{0x00e1, 0xceb1}, /* d4 */ 0x00cea4, 0x00cea5, 0x00cea6, 0x00cea7,
{0x00e2, 0xceb2}, /* d8 */ 0x00cea8, 0x00cea9, 0x00ceaa, 0x00ceab,
{0x00e3, 0xceb3}, /* dc */ 0x00ceac, 0x00cead, 0x00ceae, 0x00ceaf,
{0x00e4, 0xceb4}, /* e0 */ 0x00ceb0, 0x00ceb1, 0x00ceb2, 0x00ceb3,
{0x00e5, 0xceb5}, /* e4 */ 0x00ceb4, 0x00ceb5, 0x00ceb6, 0x00ceb7,
{0x00e6, 0xceb6}, /* e8 */ 0x00ceb8, 0x00ceb9, 0x00ceba, 0x00cebb,
{0x00e7, 0xceb7}, /* ec */ 0x00cebc, 0x00cebd, 0x00cebe, 0x00cebf,
{0x00e8, 0xceb8}, /* f0 */ 0x00cf80, 0x00cf81, 0x00cf82, 0x00cf83,
{0x00e9, 0xceb9}, /* f4 */ 0x00cf84, 0x00cf85, 0x00cf86, 0x00cf87,
{0x00ea, 0xceba}, /* f8 */ 0x00cf88, 0x00cf89, 0x00cf8a, 0x00cf8b,
{0x00eb, 0xcebb}, /* fc */ 0x00cf8c, 0x00cf8d, 0x00cf8e
{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}
}; };
/* src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map */ /* 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 ] = { static const uint32 iso8859_8_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_8_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, NULL, /* 16-bit table not used */
{0x0084, 0xc284}, iso8859_8_to_unicode_tree_table,
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x007f, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xfe, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a2, 0xc2a2}, };
{0x00a3, 0xc2a3},
{0x00a4, 0xc2a4}, static const uint32 iso8859_8_to_unicode_tree_table[254] =
{0x00a5, 0xc2a5}, {
{0x00a6, 0xc2a6}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xc397}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc2ac}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc2af}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc3b7}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00df, 0xe28097}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e0, 0xd790}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e1, 0xd791}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e2, 0xd792}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e3, 0xd793}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e4, 0xd794}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e5, 0xd795}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e6, 0xd796}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e7, 0xd797}, /* 7c */ 0x000000, 0x000000, 0x000000,
{0x00e8, 0xd798},
{0x00e9, 0xd799}, /*** Single byte table, leaf: xx - offset 0x0007f ***/
{0x00ea, 0xd79a},
{0x00eb, 0xd79b}, /* 80 */ 0x00c280, 0x00c281, 0x00c282, 0x00c283,
{0x00ec, 0xd79c}, /* 84 */ 0x00c284, 0x00c285, 0x00c286, 0x00c287,
{0x00ed, 0xd79d}, /* 88 */ 0x00c288, 0x00c289, 0x00c28a, 0x00c28b,
{0x00ee, 0xd79e}, /* 8c */ 0x00c28c, 0x00c28d, 0x00c28e, 0x00c28f,
{0x00ef, 0xd79f}, /* 90 */ 0x00c290, 0x00c291, 0x00c292, 0x00c293,
{0x00f0, 0xd7a0}, /* 94 */ 0x00c294, 0x00c295, 0x00c296, 0x00c297,
{0x00f1, 0xd7a1}, /* 98 */ 0x00c298, 0x00c299, 0x00c29a, 0x00c29b,
{0x00f2, 0xd7a2}, /* 9c */ 0x00c29c, 0x00c29d, 0x00c29e, 0x00c29f,
{0x00f3, 0xd7a3}, /* a0 */ 0x00c2a0, 0x000000, 0x00c2a2, 0x00c2a3,
{0x00f4, 0xd7a4}, /* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00f5, 0xd7a5}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00c397, 0x00c2ab,
{0x00f6, 0xd7a6}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00f7, 0xd7a7}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00f8, 0xd7a8}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00f9, 0xd7a9}, /* b8 */ 0x00c2b8, 0x00c2b9, 0x00c3b7, 0x00c2bb,
{0x00fa, 0xd7aa}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x000000,
{0x00fd, 0xe2808e}, /* c0 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00fe, 0xe2808f} /* 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 */ /* 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 ] = { static const uint16 iso8859_9_to_unicode_tree_table[];
{0x0080, 0xc280},
{0x0081, 0xc281}, static const pg_mb_radix_tree iso8859_9_to_unicode_tree =
{0x0082, 0xc282}, {
{0x0083, 0xc283}, iso8859_9_to_unicode_tree_table,
{0x0084, 0xc284}, NULL, /* 32-bit table not used */
{0x0085, 0xc285},
{0x0086, 0xc286}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xc287}, 0x80, /* b1_lower */
{0x0088, 0xc288}, 0xff, /* b1_upper */
{0x0089, 0xc289},
{0x008a, 0xc28a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xc28b}, 0x00, /* b2_1_lower */
{0x008c, 0xc28c}, 0x00, /* b2_1_upper */
{0x008d, 0xc28d}, 0x00, /* b2_2_lower */
{0x008e, 0xc28e}, 0x00, /* b2_2_upper */
{0x008f, 0xc28f},
{0x0090, 0xc290}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xc291}, 0x00, /* b3_1_lower */
{0x0092, 0xc292}, 0x00, /* b3_1_upper */
{0x0093, 0xc293}, 0x00, /* b3_2_lower */
{0x0094, 0xc294}, 0x00, /* b3_2_upper */
{0x0095, 0xc295}, 0x00, /* b3_3_lower */
{0x0096, 0xc296}, 0x00, /* b3_3_upper */
{0x0097, 0xc297},
{0x0098, 0xc298}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xc299}, 0x00, /* b4_1_lower */
{0x009a, 0xc29a}, 0x00, /* b4_1_upper */
{0x009b, 0xc29b}, 0x00, /* b4_2_lower */
{0x009c, 0xc29c}, 0x00, /* b4_2_upper */
{0x009d, 0xc29d}, 0x00, /* b4_3_lower */
{0x009e, 0xc29e}, 0x00, /* b4_3_upper */
{0x009f, 0xc29f}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xc2a1}, };
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3}, static const uint16 iso8859_9_to_unicode_tree_table[256] =
{0x00a4, 0xc2a4}, {
{0x00a5, 0xc2a5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a8, 0xc2a8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00a9, 0xc2a9}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00aa, 0xc2aa}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ab, 0xc2ab}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ac, 0xc2ac}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ad, 0xc2ad}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00ae, 0xc2ae}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00af, 0xc2af}, /* 40 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b0, 0xc2b0}, /* 48 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b1, 0xc2b1}, /* 50 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b2, 0xc2b2}, /* 58 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b3, 0xc2b3}, /* 60 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b4, 0xc2b4}, /* 68 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b5, 0xc2b5}, /* 70 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b6, 0xc2b6}, /* 78 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0x00b7, 0xc2b7},
{0x00b8, 0xc2b8}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00b9, 0xc2b9},
{0x00ba, 0xc2ba}, /* 80 */ 0xc280, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285, 0xc286, 0xc287,
{0x00bb, 0xc2bb}, /* 88 */ 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
{0x00bc, 0xc2bc}, /* 90 */ 0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297,
{0x00bd, 0xc2bd}, /* 98 */ 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f,
{0x00be, 0xc2be}, /* a0 */ 0xc2a0, 0xc2a1, 0xc2a2, 0xc2a3, 0xc2a4, 0xc2a5, 0xc2a6, 0xc2a7,
{0x00bf, 0xc2bf}, /* a8 */ 0xc2a8, 0xc2a9, 0xc2aa, 0xc2ab, 0xc2ac, 0xc2ad, 0xc2ae, 0xc2af,
{0x00c0, 0xc380}, /* b0 */ 0xc2b0, 0xc2b1, 0xc2b2, 0xc2b3, 0xc2b4, 0xc2b5, 0xc2b6, 0xc2b7,
{0x00c1, 0xc381}, /* b8 */ 0xc2b8, 0xc2b9, 0xc2ba, 0xc2bb, 0xc2bc, 0xc2bd, 0xc2be, 0xc2bf,
{0x00c2, 0xc382}, /* c0 */ 0xc380, 0xc381, 0xc382, 0xc383, 0xc384, 0xc385, 0xc386, 0xc387,
{0x00c3, 0xc383}, /* c8 */ 0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,
{0x00c4, 0xc384}, /* d0 */ 0xc49e, 0xc391, 0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc397,
{0x00c5, 0xc385}, /* d8 */ 0xc398, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc4b0, 0xc59e, 0xc39f,
{0x00c6, 0xc386}, /* e0 */ 0xc3a0, 0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc3a7,
{0x00c7, 0xc387}, /* e8 */ 0xc3a8, 0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af,
{0x00c8, 0xc388}, /* f0 */ 0xc49f, 0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7,
{0x00c9, 0xc389}, /* f8 */ 0xc3b8, 0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc4b1, 0xc59f, 0xc3bf
{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}
}; };
This source diff could not be displayed because it is too large. You can view the blob instead.
/* src/backend/utils/mb/Unicode/koi8r_to_utf8.map */ /* 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 ] = { static const uint32 koi8r_to_unicode_tree_table[];
{0x0080, 0xe29480},
{0x0081, 0xe29482}, static const pg_mb_radix_tree koi8r_to_unicode_tree =
{0x0082, 0xe2948c}, {
{0x0083, 0xe29490}, NULL, /* 16-bit table not used */
{0x0084, 0xe29494}, koi8r_to_unicode_tree_table,
{0x0085, 0xe29498},
{0x0086, 0xe2949c}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xe294a4}, 0x80, /* b1_lower */
{0x0088, 0xe294ac}, 0xff, /* b1_upper */
{0x0089, 0xe294b4},
{0x008a, 0xe294bc}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xe29680}, 0x00, /* b2_1_lower */
{0x008c, 0xe29684}, 0x00, /* b2_1_upper */
{0x008d, 0xe29688}, 0x00, /* b2_2_lower */
{0x008e, 0xe2968c}, 0x00, /* b2_2_upper */
{0x008f, 0xe29690},
{0x0090, 0xe29691}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xe29692}, 0x00, /* b3_1_lower */
{0x0092, 0xe29693}, 0x00, /* b3_1_upper */
{0x0093, 0xe28ca0}, 0x00, /* b3_2_lower */
{0x0094, 0xe296a0}, 0x00, /* b3_2_upper */
{0x0095, 0xe28899}, 0x00, /* b3_3_lower */
{0x0096, 0xe2889a}, 0x00, /* b3_3_upper */
{0x0097, 0xe28988},
{0x0098, 0xe289a4}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xe289a5}, 0x00, /* b4_1_lower */
{0x009a, 0xc2a0}, 0x00, /* b4_1_upper */
{0x009b, 0xe28ca1}, 0x00, /* b4_2_lower */
{0x009c, 0xc2b0}, 0x00, /* b4_2_upper */
{0x009d, 0xc2b2}, 0x00, /* b4_3_lower */
{0x009e, 0xc2b7}, 0x00, /* b4_3_upper */
{0x009f, 0xc3b7}, 0x00, /* b4_4_lower */
{0x00a0, 0xe29590}, 0x00 /* b4_4_upper */
{0x00a1, 0xe29591}, };
{0x00a2, 0xe29592},
{0x00a3, 0xd191}, static const uint32 koi8r_to_unicode_tree_table[256] =
{0x00a4, 0xe29593}, {
{0x00a5, 0xe29594}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xe29595},
{0x00a7, 0xe29596}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xe29597}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xe29598}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xe29599}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xe2959a}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xe2959b}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xe2959c}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xe2959d}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xe2959e}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xe2959f}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xe295a0}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xe295a1}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xd081}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xe295a2}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xe295a3}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xe295a4}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xe295a5}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xe295a6}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xe295a7}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xe295a8}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xe295a9}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xe295aa}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xe295ab}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xe295ac}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2a9}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xd18e}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xd0b0}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xd0b1}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xd186}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xd0b4}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xd0b5}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xd184}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xd0b3},
{0x00c8, 0xd185}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xd0b8},
{0x00ca, 0xd0b9}, /* 80 */ 0xe29480, 0xe29482, 0xe2948c, 0xe29490,
{0x00cb, 0xd0ba}, /* 84 */ 0xe29494, 0xe29498, 0xe2949c, 0xe294a4,
{0x00cc, 0xd0bb}, /* 88 */ 0xe294ac, 0xe294b4, 0xe294bc, 0xe29680,
{0x00cd, 0xd0bc}, /* 8c */ 0xe29684, 0xe29688, 0xe2968c, 0xe29690,
{0x00ce, 0xd0bd}, /* 90 */ 0xe29691, 0xe29692, 0xe29693, 0xe28ca0,
{0x00cf, 0xd0be}, /* 94 */ 0xe296a0, 0xe28899, 0xe2889a, 0xe28988,
{0x00d0, 0xd0bf}, /* 98 */ 0xe289a4, 0xe289a5, 0x00c2a0, 0xe28ca1,
{0x00d1, 0xd18f}, /* 9c */ 0x00c2b0, 0x00c2b2, 0x00c2b7, 0x00c3b7,
{0x00d2, 0xd180}, /* a0 */ 0xe29590, 0xe29591, 0xe29592, 0x00d191,
{0x00d3, 0xd181}, /* a4 */ 0xe29593, 0xe29594, 0xe29595, 0xe29596,
{0x00d4, 0xd182}, /* a8 */ 0xe29597, 0xe29598, 0xe29599, 0xe2959a,
{0x00d5, 0xd183}, /* ac */ 0xe2959b, 0xe2959c, 0xe2959d, 0xe2959e,
{0x00d6, 0xd0b6}, /* b0 */ 0xe2959f, 0xe295a0, 0xe295a1, 0x00d081,
{0x00d7, 0xd0b2}, /* b4 */ 0xe295a2, 0xe295a3, 0xe295a4, 0xe295a5,
{0x00d8, 0xd18c}, /* b8 */ 0xe295a6, 0xe295a7, 0xe295a8, 0xe295a9,
{0x00d9, 0xd18b}, /* bc */ 0xe295aa, 0xe295ab, 0xe295ac, 0x00c2a9,
{0x00da, 0xd0b7}, /* c0 */ 0x00d18e, 0x00d0b0, 0x00d0b1, 0x00d186,
{0x00db, 0xd188}, /* c4 */ 0x00d0b4, 0x00d0b5, 0x00d184, 0x00d0b3,
{0x00dc, 0xd18d}, /* c8 */ 0x00d185, 0x00d0b8, 0x00d0b9, 0x00d0ba,
{0x00dd, 0xd189}, /* cc */ 0x00d0bb, 0x00d0bc, 0x00d0bd, 0x00d0be,
{0x00de, 0xd187}, /* d0 */ 0x00d0bf, 0x00d18f, 0x00d180, 0x00d181,
{0x00df, 0xd18a}, /* d4 */ 0x00d182, 0x00d183, 0x00d0b6, 0x00d0b2,
{0x00e0, 0xd0ae}, /* d8 */ 0x00d18c, 0x00d18b, 0x00d0b7, 0x00d188,
{0x00e1, 0xd090}, /* dc */ 0x00d18d, 0x00d189, 0x00d187, 0x00d18a,
{0x00e2, 0xd091}, /* e0 */ 0x00d0ae, 0x00d090, 0x00d091, 0x00d0a6,
{0x00e3, 0xd0a6}, /* e4 */ 0x00d094, 0x00d095, 0x00d0a4, 0x00d093,
{0x00e4, 0xd094}, /* e8 */ 0x00d0a5, 0x00d098, 0x00d099, 0x00d09a,
{0x00e5, 0xd095}, /* ec */ 0x00d09b, 0x00d09c, 0x00d09d, 0x00d09e,
{0x00e6, 0xd0a4}, /* f0 */ 0x00d09f, 0x00d0af, 0x00d0a0, 0x00d0a1,
{0x00e7, 0xd093}, /* f4 */ 0x00d0a2, 0x00d0a3, 0x00d096, 0x00d092,
{0x00e8, 0xd0a5}, /* f8 */ 0x00d0ac, 0x00d0ab, 0x00d097, 0x00d0a8,
{0x00e9, 0xd098}, /* fc */ 0x00d0ad, 0x00d0a9, 0x00d0a7, 0x00d0aa
{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}
}; };
/* src/backend/utils/mb/Unicode/koi8u_to_utf8.map */ /* 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 ] = { static const uint32 koi8u_to_unicode_tree_table[];
{0x0080, 0xe29480},
{0x0081, 0xe29482}, static const pg_mb_radix_tree koi8u_to_unicode_tree =
{0x0082, 0xe2948c}, {
{0x0083, 0xe29490}, NULL, /* 16-bit table not used */
{0x0084, 0xe29494}, koi8u_to_unicode_tree_table,
{0x0085, 0xe29498},
{0x0086, 0xe2949c}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xe294a4}, 0x80, /* b1_lower */
{0x0088, 0xe294ac}, 0xff, /* b1_upper */
{0x0089, 0xe294b4},
{0x008a, 0xe294bc}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xe29680}, 0x00, /* b2_1_lower */
{0x008c, 0xe29684}, 0x00, /* b2_1_upper */
{0x008d, 0xe29688}, 0x00, /* b2_2_lower */
{0x008e, 0xe2968c}, 0x00, /* b2_2_upper */
{0x008f, 0xe29690},
{0x0090, 0xe29691}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xe29692}, 0x00, /* b3_1_lower */
{0x0092, 0xe29693}, 0x00, /* b3_1_upper */
{0x0093, 0xe28ca0}, 0x00, /* b3_2_lower */
{0x0094, 0xe296a0}, 0x00, /* b3_2_upper */
{0x0095, 0xe28899}, 0x00, /* b3_3_lower */
{0x0096, 0xe2889a}, 0x00, /* b3_3_upper */
{0x0097, 0xe28988},
{0x0098, 0xe289a4}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xe289a5}, 0x00, /* b4_1_lower */
{0x009a, 0xc2a0}, 0x00, /* b4_1_upper */
{0x009b, 0xe28ca1}, 0x00, /* b4_2_lower */
{0x009c, 0xc2b0}, 0x00, /* b4_2_upper */
{0x009d, 0xc2b2}, 0x00, /* b4_3_lower */
{0x009e, 0xc2b7}, 0x00, /* b4_3_upper */
{0x009f, 0xc3b7}, 0x00, /* b4_4_lower */
{0x00a0, 0xe29590}, 0x00 /* b4_4_upper */
{0x00a1, 0xe29591}, };
{0x00a2, 0xe29592},
{0x00a3, 0xd191}, static const uint32 koi8u_to_unicode_tree_table[256] =
{0x00a4, 0xd194}, {
{0x00a5, 0xe29594}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xd196},
{0x00a7, 0xd197}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xe29597}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xe29598}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xe29599}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xe2959a}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xe2959b}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xd291}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xe2959d}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xe2959e}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xe2959f}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xe295a0}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xe295a1}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xd081}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xd084}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xe295a3}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xd086}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xd087}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xe295a6}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xe295a7}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xe295a8}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xe295a9}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xe295aa}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xd290}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xe295ac}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2a9}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xd18e}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xd0b0}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xd0b1}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xd186}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xd0b4}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xd0b5}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xd184}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xd0b3},
{0x00c8, 0xd185}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xd0b8},
{0x00ca, 0xd0b9}, /* 80 */ 0xe29480, 0xe29482, 0xe2948c, 0xe29490,
{0x00cb, 0xd0ba}, /* 84 */ 0xe29494, 0xe29498, 0xe2949c, 0xe294a4,
{0x00cc, 0xd0bb}, /* 88 */ 0xe294ac, 0xe294b4, 0xe294bc, 0xe29680,
{0x00cd, 0xd0bc}, /* 8c */ 0xe29684, 0xe29688, 0xe2968c, 0xe29690,
{0x00ce, 0xd0bd}, /* 90 */ 0xe29691, 0xe29692, 0xe29693, 0xe28ca0,
{0x00cf, 0xd0be}, /* 94 */ 0xe296a0, 0xe28899, 0xe2889a, 0xe28988,
{0x00d0, 0xd0bf}, /* 98 */ 0xe289a4, 0xe289a5, 0x00c2a0, 0xe28ca1,
{0x00d1, 0xd18f}, /* 9c */ 0x00c2b0, 0x00c2b2, 0x00c2b7, 0x00c3b7,
{0x00d2, 0xd180}, /* a0 */ 0xe29590, 0xe29591, 0xe29592, 0x00d191,
{0x00d3, 0xd181}, /* a4 */ 0x00d194, 0xe29594, 0x00d196, 0x00d197,
{0x00d4, 0xd182}, /* a8 */ 0xe29597, 0xe29598, 0xe29599, 0xe2959a,
{0x00d5, 0xd183}, /* ac */ 0xe2959b, 0x00d291, 0xe2959d, 0xe2959e,
{0x00d6, 0xd0b6}, /* b0 */ 0xe2959f, 0xe295a0, 0xe295a1, 0x00d081,
{0x00d7, 0xd0b2}, /* b4 */ 0x00d084, 0xe295a3, 0x00d086, 0x00d087,
{0x00d8, 0xd18c}, /* b8 */ 0xe295a6, 0xe295a7, 0xe295a8, 0xe295a9,
{0x00d9, 0xd18b}, /* bc */ 0xe295aa, 0x00d290, 0xe295ac, 0x00c2a9,
{0x00da, 0xd0b7}, /* c0 */ 0x00d18e, 0x00d0b0, 0x00d0b1, 0x00d186,
{0x00db, 0xd188}, /* c4 */ 0x00d0b4, 0x00d0b5, 0x00d184, 0x00d0b3,
{0x00dc, 0xd18d}, /* c8 */ 0x00d185, 0x00d0b8, 0x00d0b9, 0x00d0ba,
{0x00dd, 0xd189}, /* cc */ 0x00d0bb, 0x00d0bc, 0x00d0bd, 0x00d0be,
{0x00de, 0xd187}, /* d0 */ 0x00d0bf, 0x00d18f, 0x00d180, 0x00d181,
{0x00df, 0xd18a}, /* d4 */ 0x00d182, 0x00d183, 0x00d0b6, 0x00d0b2,
{0x00e0, 0xd0ae}, /* d8 */ 0x00d18c, 0x00d18b, 0x00d0b7, 0x00d188,
{0x00e1, 0xd090}, /* dc */ 0x00d18d, 0x00d189, 0x00d187, 0x00d18a,
{0x00e2, 0xd091}, /* e0 */ 0x00d0ae, 0x00d090, 0x00d091, 0x00d0a6,
{0x00e3, 0xd0a6}, /* e4 */ 0x00d094, 0x00d095, 0x00d0a4, 0x00d093,
{0x00e4, 0xd094}, /* e8 */ 0x00d0a5, 0x00d098, 0x00d099, 0x00d09a,
{0x00e5, 0xd095}, /* ec */ 0x00d09b, 0x00d09c, 0x00d09d, 0x00d09e,
{0x00e6, 0xd0a4}, /* f0 */ 0x00d09f, 0x00d0af, 0x00d0a0, 0x00d0a1,
{0x00e7, 0xd093}, /* f4 */ 0x00d0a2, 0x00d0a3, 0x00d096, 0x00d092,
{0x00e8, 0xd0a5}, /* f8 */ 0x00d0ac, 0x00d0ab, 0x00d097, 0x00d0a8,
{0x00e9, 0xd098}, /* fc */ 0x00d0ad, 0x00d0a9, 0x00d0a7, 0x00d0aa
{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}
}; };
This source diff could not be displayed because it is too large. You can view the blob instead.
/* 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] */
};
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/* 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] */
};
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_10.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_10.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_10[ 128 ] = { static const uint16 iso8859_10_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_10_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_10_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003f, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xc5, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbe, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x013c, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x80, /* b3_2_lower */
{0xc294, 0x0094}, 0x80, /* b3_2_upper */
{0xc295, 0x0095}, 0x95, /* b3_3_lower */
{0xc296, 0x0096}, 0x95, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a7, 0x00a7}, };
{0xc2ad, 0x00ad},
{0xc2b0, 0x00b0}, static const uint16 iso8859_10_from_unicode_tree_table[319] =
{0xc2b7, 0x00b7}, {
{0xc381, 0x00c1}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc382, 0x00c2},
{0xc383, 0x00c3}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc384, 0x00c4}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc385, 0x00c5}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc386, 0x00c6}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc389, 0x00c9}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38b, 0x00cb}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38d, 0x00cd}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38e, 0x00ce}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38f, 0x00cf},
{0xc390, 0x00d0}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xc393, 0x00d3},
{0xc394, 0x00d4}, /* c2 */ 0x0043, 0x0081, 0x00c0, 0x00fd,
{0xc395, 0x00d5},
{0xc396, 0x00d6}, /*** Two byte table, leaf: c2xx - offset 0x00043 ***/
{0xc398, 0x00d8},
{0xc39a, 0x00da}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc39b, 0x00db}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc39c, 0x00dc}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc39d, 0x00dd}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc39e, 0x00de}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a7,
{0xc39f, 0x00df}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ad, 0x0000, 0x0000,
{0xc3a1, 0x00e1}, /* b0 */ 0x00b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b7,
{0xc3a2, 0x00e2}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a3, 0x00e3}, /* 1 trailing zero values shared with next segment */
{0xc3a4, 0x00e4},
{0xc3a5, 0x00e5}, /*** Two byte table, leaf: c3xx - offset 0x00081 ***/
{0xc3a6, 0x00e6},
{0xc3a9, 0x00e9}, /* 80 */ 0x0000, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x0000,
{0xc3ab, 0x00eb}, /* 88 */ 0x0000, 0x00c9, 0x0000, 0x00cb, 0x0000, 0x00cd, 0x00ce, 0x00cf,
{0xc3ad, 0x00ed}, /* 90 */ 0x00d0, 0x0000, 0x0000, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0000,
{0xc3ae, 0x00ee}, /* 98 */ 0x00d8, 0x0000, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xc3af, 0x00ef}, /* a0 */ 0x0000, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x0000,
{0xc3b0, 0x00f0}, /* a8 */ 0x0000, 0x00e9, 0x0000, 0x00eb, 0x0000, 0x00ed, 0x00ee, 0x00ef,
{0xc3b3, 0x00f3}, /* b0 */ 0x00f0, 0x0000, 0x0000, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0000,
{0xc3b4, 0x00f4}, /* b8 */ 0x00f8, 0x0000, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe,
{0xc3b5, 0x00f5},
{0xc3b6, 0x00f6}, /*** Two byte table, leaf: c4xx - offset 0x000c0 ***/
{0xc3b8, 0x00f8},
{0xc3ba, 0x00fa}, /* 80 */ 0x00c0, 0x00e0, 0x0000, 0x0000, 0x00a1, 0x00b1, 0x0000, 0x0000,
{0xc3bb, 0x00fb}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x00e8, 0x0000, 0x0000,
{0xc3bc, 0x00fc}, /* 90 */ 0x00a9, 0x00b9, 0x00a2, 0x00b2, 0x0000, 0x0000, 0x00cc, 0x00ec,
{0xc3bd, 0x00fd}, /* 98 */ 0x00ca, 0x00ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3be, 0x00fe}, /* a0 */ 0x0000, 0x0000, 0x00a3, 0x00b3, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc480, 0x00c0}, /* a8 */ 0x00a5, 0x00b5, 0x00a4, 0x00b4, 0x0000, 0x0000, 0x00c7, 0x00e7,
{0xc481, 0x00e0}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a6, 0x00b6,
{0xc484, 0x00a1}, /* b8 */ 0x00ff, 0x0000, 0x0000, 0x00a8, 0x00b8,
{0xc485, 0x00b1}, /* 2 trailing zero values shared with next segment */
{0xc48c, 0x00c8},
{0xc48d, 0x00e8}, /*** Two byte table, leaf: c5xx - offset 0x000fd ***/
{0xc490, 0x00a9},
{0xc491, 0x00b9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d1, 0x00f1, 0x0000,
{0xc492, 0x00a2}, /* 88 */ 0x0000, 0x0000, 0x00af, 0x00bf, 0x00d2, 0x00f2, 0x0000, 0x0000,
{0xc493, 0x00b2}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc496, 0x00cc}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc497, 0x00ec}, /* a0 */ 0x00aa, 0x00ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ab, 0x00bb,
{0xc498, 0x00ca}, /* a8 */ 0x00d7, 0x00f7, 0x00ae, 0x00be, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc499, 0x00ea}, /* b0 */ 0x0000, 0x0000, 0x00d9, 0x00f9, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a2, 0x00a3}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ac, 0x00bc,
{0xc4a3, 0x00b3},
{0xc4a8, 0x00a5}, /*** Three byte table, byte #1: xx - offset 0x0013c ***/
{0xc4a9, 0x00b5},
{0xc4aa, 0x00a4}, /* e2 */ 0x013d,
{0xc4ab, 0x00b4},
{0xc4ae, 0x00c7}, /*** Three byte table, byte #2: e2xx - offset 0x0013d ***/
{0xc4af, 0x00e7},
{0xc4b6, 0x00a6}, /* 80 */ 0x013e,
{0xc4b7, 0x00b6},
{0xc4b8, 0x00ff}, /*** Three byte table, leaf: e280xx - offset 0x0013e ***/
{0xc4bb, 0x00a8},
{0xc4bc, 0x00b8}, /* 95 */ 0x00bd
{0xc585, 0x00d1},
{0xc586, 0x00f1},
{0xc58a, 0x00af},
{0xc58b, 0x00bf},
{0xc58c, 0x00d2},
{0xc58d, 0x00f2},
{0xc5a0, 0x00aa},
{0xc5a1, 0x00ba},
{0xc5a6, 0x00ab},
{0xc5a7, 0x00bb},
{0xc5a8, 0x00d7},
{0xc5a9, 0x00f7},
{0xc5aa, 0x00ae},
{0xc5ab, 0x00be},
{0xc5b2, 0x00d9},
{0xc5b3, 0x00f9},
{0xc5bd, 0x00ac},
{0xc5be, 0x00bc},
{0xe28095, 0x00bd}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_13.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_13.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_13[ 128 ] = { static const uint16 iso8859_13_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_13_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_13_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003f, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xc5, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbe, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x013e, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x80, /* b3_2_lower */
{0xc294, 0x0094}, 0x80, /* b3_2_upper */
{0xc295, 0x0095}, 0x99, /* b3_3_lower */
{0xc296, 0x0096}, 0x9e, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a2, 0x00a2}, };
{0xc2a3, 0x00a3},
{0xc2a4, 0x00a4}, static const uint16 iso8859_13_from_unicode_tree_table[326] =
{0xc2a6, 0x00a6}, {
{0xc2a7, 0x00a7}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2a9, 0x00a9},
{0xc2ab, 0x00ab}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ac, 0x00ac}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ad, 0x00ad}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ae, 0x00ae}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b0, 0x00b0}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b1, 0x00b1}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b2, 0x00b2}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b3, 0x00b3}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b5, 0x00b5},
{0xc2b6, 0x00b6}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xc2b7, 0x00b7},
{0xc2b9, 0x00b9}, /* c2 */ 0x0043, 0x0082, 0x00c1, 0x00ff,
{0xc2bb, 0x00bb},
{0xc2bc, 0x00bc}, /*** Two byte table, leaf: c2xx - offset 0x00043 ***/
{0xc2bd, 0x00bd},
{0xc2be, 0x00be}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc384, 0x00c4}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc385, 0x00c5}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc386, 0x00af}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc389, 0x00c9}, /* a0 */ 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x0000, 0x00a6, 0x00a7,
{0xc393, 0x00d3}, /* a8 */ 0x0000, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0000,
{0xc395, 0x00d5}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0000, 0x00b5, 0x00b6, 0x00b7,
{0xc396, 0x00d6}, /* b8 */ 0x0000, 0x00b9, 0x0000, 0x00bb, 0x00bc, 0x00bd, 0x00be,
{0xc397, 0x00d7},
{0xc398, 0x00a8}, /*** Two byte table, leaf: c3xx - offset 0x00082 ***/
{0xc39c, 0x00dc},
{0xc39f, 0x00df}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c4, 0x00c5, 0x00af, 0x0000,
{0xc3a4, 0x00e4}, /* 88 */ 0x0000, 0x00c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a5, 0x00e5}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x00d3, 0x0000, 0x00d5, 0x00d6, 0x00d7,
{0xc3a6, 0x00bf}, /* 98 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc3a9, 0x00e9}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00e4, 0x00e5, 0x00bf, 0x0000,
{0xc3b3, 0x00f3}, /* a8 */ 0x0000, 0x00e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b5, 0x00f5}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x00f3, 0x0000, 0x00f5, 0x00f6, 0x00f7,
{0xc3b6, 0x00f6}, /* b8 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x00fc, 0x0000, 0x0000,
{0xc3b7, 0x00f7},
{0xc3b8, 0x00b8}, /*** Two byte table, leaf: c4xx - offset 0x000c1 ***/
{0xc3bc, 0x00fc},
{0xc480, 0x00c2}, /* 80 */ 0x00c2, 0x00e2, 0x0000, 0x0000, 0x00c0, 0x00e0, 0x00c3, 0x00e3,
{0xc481, 0x00e2}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x00e8, 0x0000, 0x0000,
{0xc484, 0x00c0}, /* 90 */ 0x0000, 0x0000, 0x00c7, 0x00e7, 0x0000, 0x0000, 0x00cb, 0x00eb,
{0xc485, 0x00e0}, /* 98 */ 0x00c6, 0x00e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc486, 0x00c3}, /* a0 */ 0x0000, 0x0000, 0x00cc, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc487, 0x00e3}, /* a8 */ 0x0000, 0x0000, 0x00ce, 0x00ee, 0x0000, 0x0000, 0x00c1, 0x00e1,
{0xc48c, 0x00c8}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00cd, 0x00ed,
{0xc48d, 0x00e8}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00cf, 0x00ef, 0x0000,
{0xc492, 0x00c7}, /* 1 trailing zero values shared with next segment */
{0xc493, 0x00e7},
{0xc496, 0x00cb}, /*** Two byte table, leaf: c5xx - offset 0x000ff ***/
{0xc497, 0x00eb},
{0xc498, 0x00c6}, /* 80 */ 0x0000, 0x00d9, 0x00f9, 0x00d1, 0x00f1, 0x00d2, 0x00f2, 0x0000,
{0xc499, 0x00e6}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00d4, 0x00f4, 0x0000, 0x0000,
{0xc4a2, 0x00cc}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00aa, 0x00ba,
{0xc4a3, 0x00ec}, /* 98 */ 0x0000, 0x0000, 0x00da, 0x00fa, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4aa, 0x00ce}, /* a0 */ 0x00d0, 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4ab, 0x00ee}, /* a8 */ 0x0000, 0x0000, 0x00db, 0x00fb, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4ae, 0x00c1}, /* b0 */ 0x0000, 0x0000, 0x00d8, 0x00f8, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4af, 0x00e1}, /* b8 */ 0x0000, 0x00ca, 0x00ea, 0x00dd, 0x00fd, 0x00de, 0x00fe,
{0xc4b6, 0x00cd},
{0xc4b7, 0x00ed}, /*** Three byte table, byte #1: xx - offset 0x0013e ***/
{0xc4bb, 0x00cf},
{0xc4bc, 0x00ef}, /* e2 */ 0x013f,
{0xc581, 0x00d9},
{0xc582, 0x00f9}, /*** Three byte table, byte #2: e2xx - offset 0x0013f ***/
{0xc583, 0x00d1},
{0xc584, 0x00f1}, /* 80 */ 0x0140,
{0xc585, 0x00d2},
{0xc586, 0x00f2}, /*** Three byte table, leaf: e280xx - offset 0x00140 ***/
{0xc58c, 0x00d4},
{0xc58d, 0x00f4}, /* 99 */ 0x00ff, 0x0000, 0x0000, 0x00b4, 0x00a1, 0x00a5
{0xc596, 0x00aa},
{0xc597, 0x00ba},
{0xc59a, 0x00da},
{0xc59b, 0x00fa},
{0xc5a0, 0x00d0},
{0xc5a1, 0x00f0},
{0xc5aa, 0x00db},
{0xc5ab, 0x00fb},
{0xc5b2, 0x00d8},
{0xc5b3, 0x00f8},
{0xc5b9, 0x00ca},
{0xc5ba, 0x00ea},
{0xc5bb, 0x00dd},
{0xc5bc, 0x00fd},
{0xc5bd, 0x00de},
{0xc5be, 0x00fe},
{0xe28099, 0x00ff},
{0xe2809c, 0x00b4},
{0xe2809d, 0x00a1},
{0xe2809e, 0x00a5}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_14.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_14.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_14[ 128 ] = { static const uint16 iso8859_14_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_14_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_14_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x0040, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xc5, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbf, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0126, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe1, /* b3_1_lower */
{0xc292, 0x0092}, 0xe1, /* b3_1_upper */
{0xc293, 0x0093}, 0xb8, /* b3_2_lower */
{0xc294, 0x0094}, 0xbb, /* b3_2_upper */
{0xc295, 0x0095}, 0x80, /* b3_3_lower */
{0xc296, 0x0096}, 0xb3, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a3, 0x00a3}, };
{0xc2a7, 0x00a7},
{0xc2a9, 0x00a9}, static const uint16 iso8859_14_from_unicode_tree_table[507] =
{0xc2ad, 0x00ad}, {
{0xc2ae, 0x00ae}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2b6, 0x00b6},
{0xc380, 0x00c0}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc381, 0x00c1}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc382, 0x00c2}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc383, 0x00c3}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc384, 0x00c4}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc385, 0x00c5}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc386, 0x00c6}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc387, 0x00c7}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc388, 0x00c8},
{0xc389, 0x00c9}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc38a, 0x00ca},
{0xc38b, 0x00cb}, /* c2 */ 0x0044, 0x0084, 0x00c4, 0x00e6,
{0xc38c, 0x00cc},
{0xc38d, 0x00cd}, /*** Two byte table, leaf: c2xx - offset 0x00044 ***/
{0xc38e, 0x00ce},
{0xc38f, 0x00cf}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc391, 0x00d1}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc392, 0x00d2}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc393, 0x00d3}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc394, 0x00d4}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x00a3, 0x0000, 0x0000, 0x0000, 0x00a7,
{0xc395, 0x00d5}, /* a8 */ 0x0000, 0x00a9, 0x0000, 0x0000, 0x0000, 0x00ad, 0x00ae, 0x0000,
{0xc396, 0x00d6}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b6, 0x0000,
{0xc398, 0x00d8}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc399, 0x00d9},
{0xc39a, 0x00da}, /*** Two byte table, leaf: c3xx - offset 0x00084 ***/
{0xc39b, 0x00db},
{0xc39c, 0x00dc}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xc39d, 0x00dd}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc39f, 0x00df}, /* 90 */ 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0000,
{0xc3a0, 0x00e0}, /* 98 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0000, 0x00df,
{0xc3a1, 0x00e1}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xc3a2, 0x00e2}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc3a3, 0x00e3}, /* b0 */ 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0000,
{0xc3a4, 0x00e4}, /* b8 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0000, 0x00ff,
{0xc3a5, 0x00e5},
{0xc3a6, 0x00e6}, /*** Two byte table, leaf: c4xx - offset 0x000c4 ***/
{0xc3a7, 0x00e7},
{0xc3a8, 0x00e8}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a9, 0x00e9}, /* 88 */ 0x0000, 0x0000, 0x00a4, 0x00a5, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3aa, 0x00ea}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ab, 0x00eb}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ac, 0x00ec}, /* a0 */ 0x00b2, 0x00b3,
{0xc3ad, 0x00ed}, /* 30 trailing zero values shared with next segment */
{0xc3ae, 0x00ee},
{0xc3af, 0x00ef}, /*** Two byte table, leaf: c5xx - offset 0x000e6 ***/
{0xc3b1, 0x00f1},
{0xc3b2, 0x00f2}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b3, 0x00f3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b4, 0x00f4}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b5, 0x00f5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b6, 0x00f6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b8, 0x00f8}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b9, 0x00f9}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00d0, 0x00f0, 0x00de, 0x00fe,
{0xc3ba, 0x00fa}, /* b8 */ 0x00af, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bb, 0x00fb},
{0xc3bc, 0x00fc}, /*** Three byte table, byte #1: xx - offset 0x00126 ***/
{0xc3bd, 0x00fd},
{0xc3bf, 0x00ff}, /* e1 */ 0x0127,
{0xc48a, 0x00a4},
{0xc48b, 0x00a5}, /*** Three byte table, byte #2: e1xx - offset 0x00127 ***/
{0xc4a0, 0x00b2},
{0xc4a1, 0x00b3}, /* b8 */ 0x012b, 0x015f, 0x0193, 0x01c7,
{0xc5b4, 0x00d0},
{0xc5b5, 0x00f0}, /*** Three byte table, leaf: e1b8xx - offset 0x0012b ***/
{0xc5b6, 0x00de},
{0xc5b7, 0x00fe}, /* 80 */ 0x0000, 0x0000, 0x00a1, 0x00a2, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5b8, 0x00af}, /* 88 */ 0x0000, 0x0000, 0x00a6, 0x00ab, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b882, 0x00a1}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b883, 0x00a2}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b0, 0x00b1,
{0xe1b88a, 0x00a6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b88b, 0x00ab}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b89e, 0x00b0}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b89f, 0x00b1},
{0xe1b980, 0x00b4}, /*** Three byte table, leaf: e1b9xx - offset 0x0015f ***/
{0xe1b981, 0x00b5},
{0xe1b996, 0x00b7}, /* 80 */ 0x00b4, 0x00b5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b997, 0x00b9}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b9a0, 0x00bb}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b7, 0x00b9,
{0xe1b9a1, 0x00bf}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b9aa, 0x00d7}, /* a0 */ 0x00bb, 0x00bf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1b9ab, 0x00f7}, /* a8 */ 0x0000, 0x0000, 0x00d7, 0x00f7, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1ba80, 0x00a8}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1ba81, 0x00b8},
{0xe1ba82, 0x00aa}, /*** Three byte table, leaf: e1baxx - offset 0x00193 ***/
{0xe1ba83, 0x00ba},
{0xe1ba84, 0x00bd}, /* 80 */ 0x00a8, 0x00b8, 0x00aa, 0x00ba, 0x00bd, 0x00be, 0x0000, 0x0000,
{0xe1ba85, 0x00be}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1bbb2, 0x00ac}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe1bbb3, 0x00bc} /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e1bbxx - offset 0x001c7 ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x00ac, 0x00bc
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_15.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_15.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_15[ 128 ] = { static const uint16 iso8859_15_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_15_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_15_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x0040, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xc5, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbf, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0104, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x82, /* b3_2_lower */
{0xc294, 0x0094}, 0x82, /* b3_2_upper */
{0xc295, 0x0095}, 0xac, /* b3_3_lower */
{0xc296, 0x0096}, 0xac, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a1, 0x00a1}, };
{0xc2a2, 0x00a2},
{0xc2a3, 0x00a3}, static const uint16 iso8859_15_from_unicode_tree_table[263] =
{0xc2a5, 0x00a5}, {
{0xc2a7, 0x00a7}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2a9, 0x00a9},
{0xc2aa, 0x00aa}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ab, 0x00ab}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ac, 0x00ac}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ad, 0x00ad}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ae, 0x00ae}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2af, 0x00af}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b0, 0x00b0}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b1, 0x00b1}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b2, 0x00b2},
{0xc2b3, 0x00b3}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc2b5, 0x00b5},
{0xc2b6, 0x00b6}, /* c2 */ 0x0044, 0x0084, 0x0000, 0x00c4,
{0xc2b7, 0x00b7},
{0xc2b9, 0x00b9}, /*** Two byte table, leaf: c2xx - offset 0x00044 ***/
{0xc2ba, 0x00ba},
{0xc2bb, 0x00bb}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc2bf, 0x00bf}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc380, 0x00c0}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc381, 0x00c1}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc382, 0x00c2}, /* a0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x0000, 0x00a5, 0x0000, 0x00a7,
{0xc383, 0x00c3}, /* a8 */ 0x0000, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xc384, 0x00c4}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0000, 0x00b5, 0x00b6, 0x00b7,
{0xc385, 0x00c5}, /* b8 */ 0x0000, 0x00b9, 0x00ba, 0x00bb, 0x0000, 0x0000, 0x0000, 0x00bf,
{0xc386, 0x00c6},
{0xc387, 0x00c7}, /*** Two byte table, leaf: c3xx - offset 0x00084 ***/
{0xc388, 0x00c8},
{0xc389, 0x00c9}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xc38a, 0x00ca}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc38b, 0x00cb}, /* 90 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xc38c, 0x00cc}, /* 98 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xc38d, 0x00cd}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xc38e, 0x00ce}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc38f, 0x00cf}, /* b0 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xc390, 0x00d0}, /* b8 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
{0xc391, 0x00d1},
{0xc392, 0x00d2}, /*** Two byte table, leaf: c5xx - offset 0x000c4 ***/
{0xc393, 0x00d3},
{0xc394, 0x00d4}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc395, 0x00d5}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc396, 0x00d6}, /* 90 */ 0x0000, 0x0000, 0x00bc, 0x00bd, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc397, 0x00d7}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc398, 0x00d8}, /* a0 */ 0x00a6, 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc399, 0x00d9}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39a, 0x00da}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39b, 0x00db}, /* b8 */ 0x00be, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b4, 0x00b8, 0x0000,
{0xc39c, 0x00dc},
{0xc39d, 0x00dd}, /*** Three byte table, byte #1: xx - offset 0x00104 ***/
{0xc39e, 0x00de},
{0xc39f, 0x00df}, /* e2 */ 0x0105,
{0xc3a0, 0x00e0},
{0xc3a1, 0x00e1}, /*** Three byte table, byte #2: e2xx - offset 0x00105 ***/
{0xc3a2, 0x00e2},
{0xc3a3, 0x00e3}, /* 82 */ 0x0106,
{0xc3a4, 0x00e4},
{0xc3a5, 0x00e5}, /*** Three byte table, leaf: e282xx - offset 0x00106 ***/
{0xc3a6, 0x00e6},
{0xc3a7, 0x00e7}, /* ac */ 0x00a4
{0xc3a8, 0x00e8},
{0xc3a9, 0x00e9},
{0xc3aa, 0x00ea},
{0xc3ab, 0x00eb},
{0xc3ac, 0x00ec},
{0xc3ad, 0x00ed},
{0xc3ae, 0x00ee},
{0xc3af, 0x00ef},
{0xc3b0, 0x00f0},
{0xc3b1, 0x00f1},
{0xc3b2, 0x00f2},
{0xc3b3, 0x00f3},
{0xc3b4, 0x00f4},
{0xc3b5, 0x00f5},
{0xc3b6, 0x00f6},
{0xc3b7, 0x00f7},
{0xc3b8, 0x00f8},
{0xc3b9, 0x00f9},
{0xc3ba, 0x00fa},
{0xc3bb, 0x00fb},
{0xc3bc, 0x00fc},
{0xc3bd, 0x00fd},
{0xc3be, 0x00fe},
{0xc3bf, 0x00ff},
{0xc592, 0x00bc},
{0xc593, 0x00bd},
{0xc5a0, 0x00a6},
{0xc5a1, 0x00a8},
{0xc5b8, 0x00be},
{0xc5bd, 0x00b4},
{0xc5be, 0x00b8},
{0xe282ac, 0x00a4}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_16.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_16.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_16[ 128 ] = { static const uint16 iso8859_16_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_16_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_16_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x0040, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xc8, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbf, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0185, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x80, /* b3_2_lower */
{0xc294, 0x0094}, 0x82, /* b3_2_upper */
{0xc295, 0x0095}, 0x9d, /* b3_3_lower */
{0xc296, 0x0096}, 0xac, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a7, 0x00a7}, };
{0xc2a9, 0x00a9},
{0xc2ab, 0x00ab}, static const uint16 iso8859_16_from_unicode_tree_table[425] =
{0xc2ad, 0x00ad}, {
{0xc2b0, 0x00b0}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2b1, 0x00b1},
{0xc2b6, 0x00b6}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b7, 0x00b7}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2bb, 0x00bb}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc380, 0x00c0}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc381, 0x00c1}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc382, 0x00c2}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc384, 0x00c4}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc386, 0x00c6}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc387, 0x00c7},
{0xc388, 0x00c8}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc389, 0x00c9},
{0xc38a, 0x00ca}, /* c2 */ 0x0047, 0x0087, 0x00c7, 0x0106, 0x0000, 0x0000, 0x0145,
{0xc38b, 0x00cb},
{0xc38c, 0x00cc}, /*** Two byte table, leaf: c2xx - offset 0x00047 ***/
{0xc38d, 0x00cd},
{0xc38e, 0x00ce}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc38f, 0x00cf}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc392, 0x00d2}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc393, 0x00d3}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc394, 0x00d4}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a7,
{0xc396, 0x00d6}, /* a8 */ 0x0000, 0x00a9, 0x0000, 0x00ab, 0x0000, 0x00ad, 0x0000, 0x0000,
{0xc399, 0x00d9}, /* b0 */ 0x00b0, 0x00b1, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b6, 0x00b7,
{0xc39a, 0x00da}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00bb, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39b, 0x00db},
{0xc39c, 0x00dc}, /*** Two byte table, leaf: c3xx - offset 0x00087 ***/
{0xc39f, 0x00df},
{0xc3a0, 0x00e0}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x0000, 0x00c6, 0x00c7,
{0xc3a1, 0x00e1}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc3a2, 0x00e2}, /* 90 */ 0x0000, 0x0000, 0x00d2, 0x00d3, 0x00d4, 0x0000, 0x00d6, 0x0000,
{0xc3a4, 0x00e4}, /* 98 */ 0x0000, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc3a6, 0x00e6}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x0000, 0x00e6, 0x00e7,
{0xc3a7, 0x00e7}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc3a8, 0x00e8}, /* b0 */ 0x0000, 0x0000, 0x00f2, 0x00f3, 0x00f4, 0x0000, 0x00f6, 0x0000,
{0xc3a9, 0x00e9}, /* b8 */ 0x0000, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0000, 0x0000, 0x00ff,
{0xc3aa, 0x00ea},
{0xc3ab, 0x00eb}, /*** Two byte table, leaf: c4xx - offset 0x000c7 ***/
{0xc3ac, 0x00ec},
{0xc3ad, 0x00ed}, /* 80 */ 0x0000, 0x0000, 0x00c3, 0x00e3, 0x00a1, 0x00a2, 0x00c5, 0x00e5,
{0xc3ae, 0x00ee}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00b2, 0x00b9, 0x0000, 0x0000,
{0xc3af, 0x00ef}, /* 90 */ 0x00d0, 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b2, 0x00f2}, /* 98 */ 0x00dd, 0x00fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b3, 0x00f3}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b4, 0x00f4}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b6, 0x00f6}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b9, 0x00f9}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ba, 0x00fa}, /* 1 trailing zero values shared with next segment */
{0xc3bb, 0x00fb},
{0xc3bc, 0x00fc}, /*** Two byte table, leaf: c5xx - offset 0x00106 ***/
{0xc3bf, 0x00ff},
{0xc482, 0x00c3}, /* 80 */ 0x0000, 0x00a3, 0x00b3, 0x00d1, 0x00f1, 0x0000, 0x0000, 0x0000,
{0xc483, 0x00e3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc484, 0x00a1}, /* 90 */ 0x00d5, 0x00f5, 0x00bc, 0x00bd, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc485, 0x00a2}, /* 98 */ 0x0000, 0x0000, 0x00d7, 0x00f7, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc486, 0x00c5}, /* a0 */ 0x00a6, 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc487, 0x00e5}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48c, 0x00b2}, /* b0 */ 0x00d8, 0x00f8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48d, 0x00b9}, /* b8 */ 0x00be, 0x00ac, 0x00ae, 0x00af, 0x00bf, 0x00b4, 0x00b8,
{0xc490, 0x00d0}, /* 1 trailing zero values shared with next segment */
{0xc491, 0x00f0},
{0xc498, 0x00dd}, /*** Two byte table, leaf: c8xx - offset 0x00145 ***/
{0xc499, 0x00fd},
{0xc581, 0x00a3}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc582, 0x00b3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc583, 0x00d1}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc584, 0x00f1}, /* 98 */ 0x00aa, 0x00ba, 0x00de, 0x00fe, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc590, 0x00d5}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc591, 0x00f5}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc592, 0x00bc}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc593, 0x00bd}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59a, 0x00d7},
{0xc59b, 0x00f7}, /*** Three byte table, byte #1: xx - offset 0x00185 ***/
{0xc5a0, 0x00a6},
{0xc5a1, 0x00a8}, /* e2 */ 0x0186,
{0xc5b0, 0x00d8},
{0xc5b1, 0x00f8}, /*** Three byte table, byte #2: e2xx - offset 0x00186 ***/
{0xc5b8, 0x00be},
{0xc5b9, 0x00ac}, /* 80 */ 0x0189, 0x0000, 0x0199,
{0xc5ba, 0x00ae},
{0xc5bb, 0x00af}, /*** Three byte table, leaf: e280xx - offset 0x00189 ***/
{0xc5bc, 0x00bf},
{0xc5bd, 0x00b4}, /* 9d */ 0x00b5, 0x00a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5be, 0x00b8}, /* a5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc898, 0x00aa},
{0xc899, 0x00ba}, /*** Three byte table, leaf: e282xx - offset 0x00199 ***/
{0xc89a, 0x00de},
{0xc89b, 0x00fe}, /* 9d */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809d, 0x00b5}, /* a5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a4
{0xe2809e, 0x00a5},
{0xe282ac, 0x00a4}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_2.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_2.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_2[ 128 ] = { static const uint16 iso8859_2_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_2_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_2_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003f, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xcb, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbe, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0000, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0x00, /* b3_1_lower */
{0xc292, 0x0092}, 0x00, /* b3_1_upper */
{0xc293, 0x0093}, 0x00, /* b3_2_lower */
{0xc294, 0x0094}, 0x00, /* b3_2_upper */
{0xc295, 0x0095}, 0x00, /* b3_3_lower */
{0xc296, 0x0096}, 0x00, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a4, 0x00a4}, };
{0xc2a7, 0x00a7},
{0xc2a8, 0x00a8}, static const uint16 iso8859_2_from_unicode_tree_table[386] =
{0xc2ad, 0x00ad}, {
{0xc2b0, 0x00b0}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2b4, 0x00b4},
{0xc2b8, 0x00b8}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc381, 0x00c1}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc382, 0x00c2}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc384, 0x00c4}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc387, 0x00c7}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc389, 0x00c9}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38b, 0x00cb}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38d, 0x00cd}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38e, 0x00ce},
{0xc393, 0x00d3}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xc394, 0x00d4},
{0xc396, 0x00d6}, /* c2 */ 0x0049, 0x0087, 0x00c5, 0x0104, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc397, 0x00d7}, /* ca */ 0x0000, 0x0143,
{0xc39a, 0x00da},
{0xc39c, 0x00dc}, /*** Two byte table, leaf: c2xx - offset 0x00049 ***/
{0xc39d, 0x00dd},
{0xc39f, 0x00df}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc3a1, 0x00e1}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc3a2, 0x00e2}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc3a4, 0x00e4}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc3a7, 0x00e7}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x00a7,
{0xc3a9, 0x00e9}, /* a8 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ad, 0x0000, 0x0000,
{0xc3ab, 0x00eb}, /* b0 */ 0x00b0, 0x0000, 0x0000, 0x0000, 0x00b4, 0x0000, 0x0000, 0x0000,
{0xc3ad, 0x00ed}, /* b8 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ae, 0x00ee}, /* 1 trailing zero values shared with next segment */
{0xc3b3, 0x00f3},
{0xc3b4, 0x00f4}, /*** Two byte table, leaf: c3xx - offset 0x00087 ***/
{0xc3b6, 0x00f6},
{0xc3b7, 0x00f7}, /* 80 */ 0x0000, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x0000, 0x0000, 0x00c7,
{0xc3ba, 0x00fa}, /* 88 */ 0x0000, 0x00c9, 0x0000, 0x00cb, 0x0000, 0x00cd, 0x00ce, 0x0000,
{0xc3bc, 0x00fc}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x00d3, 0x00d4, 0x0000, 0x00d6, 0x00d7,
{0xc3bd, 0x00fd}, /* 98 */ 0x0000, 0x0000, 0x00da, 0x0000, 0x00dc, 0x00dd, 0x0000, 0x00df,
{0xc482, 0x00c3}, /* a0 */ 0x0000, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x0000, 0x0000, 0x00e7,
{0xc483, 0x00e3}, /* a8 */ 0x0000, 0x00e9, 0x0000, 0x00eb, 0x0000, 0x00ed, 0x00ee, 0x0000,
{0xc484, 0x00a1}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x00f3, 0x00f4, 0x0000, 0x00f6, 0x00f7,
{0xc485, 0x00b1}, /* b8 */ 0x0000, 0x0000, 0x00fa, 0x0000, 0x00fc, 0x00fd,
{0xc486, 0x00c6}, /* 1 trailing zero values shared with next segment */
{0xc487, 0x00e6},
{0xc48c, 0x00c8}, /*** Two byte table, leaf: c4xx - offset 0x000c5 ***/
{0xc48d, 0x00e8},
{0xc48e, 0x00cf}, /* 80 */ 0x0000, 0x0000, 0x00c3, 0x00e3, 0x00a1, 0x00b1, 0x00c6, 0x00e6,
{0xc48f, 0x00ef}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x00e8, 0x00cf, 0x00ef,
{0xc490, 0x00d0}, /* 90 */ 0x00d0, 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc491, 0x00f0}, /* 98 */ 0x00ca, 0x00ea, 0x00cc, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc498, 0x00ca}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc499, 0x00ea}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc49a, 0x00cc}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc49b, 0x00ec}, /* b8 */ 0x0000, 0x00c5, 0x00e5, 0x0000, 0x0000, 0x00a5, 0x00b5,
{0xc4b9, 0x00c5},
{0xc4ba, 0x00e5}, /*** Two byte table, leaf: c5xx - offset 0x00104 ***/
{0xc4bd, 0x00a5},
{0xc4be, 0x00b5}, /* 80 */ 0x0000, 0x00a3, 0x00b3, 0x00d1, 0x00f1, 0x0000, 0x0000, 0x00d2,
{0xc581, 0x00a3}, /* 88 */ 0x00f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc582, 0x00b3}, /* 90 */ 0x00d5, 0x00f5, 0x0000, 0x0000, 0x00c0, 0x00e0, 0x0000, 0x0000,
{0xc583, 0x00d1}, /* 98 */ 0x00d8, 0x00f8, 0x00a6, 0x00b6, 0x0000, 0x0000, 0x00aa, 0x00ba,
{0xc584, 0x00f1}, /* a0 */ 0x00a9, 0x00b9, 0x00de, 0x00fe, 0x00ab, 0x00bb, 0x0000, 0x0000,
{0xc587, 0x00d2}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d9, 0x00f9,
{0xc588, 0x00f2}, /* b0 */ 0x00db, 0x00fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc590, 0x00d5}, /* b8 */ 0x0000, 0x00ac, 0x00bc, 0x00af, 0x00bf, 0x00ae, 0x00be,
{0xc591, 0x00f5},
{0xc594, 0x00c0}, /*** Two byte table, leaf: cbxx - offset 0x00143 ***/
{0xc595, 0x00e0},
{0xc598, 0x00d8}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b7,
{0xc599, 0x00f8}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59a, 0x00a6}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59b, 0x00b6}, /* 98 */ 0x00a2, 0x00ff, 0x0000, 0x00b2, 0x0000, 0x00bd, 0x0000, 0x0000,
{0xc59e, 0x00aa}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59f, 0x00ba}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5a0, 0x00a9}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5a1, 0x00b9}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
{0xc5a2, 0x00de},
{0xc5a3, 0x00fe},
{0xc5a4, 0x00ab},
{0xc5a5, 0x00bb},
{0xc5ae, 0x00d9},
{0xc5af, 0x00f9},
{0xc5b0, 0x00db},
{0xc5b1, 0x00fb},
{0xc5b9, 0x00ac},
{0xc5ba, 0x00bc},
{0xc5bb, 0x00af},
{0xc5bc, 0x00bf},
{0xc5bd, 0x00ae},
{0xc5be, 0x00be},
{0xcb87, 0x00b7},
{0xcb98, 0x00a2},
{0xcb99, 0x00ff},
{0xcb9b, 0x00b2},
{0xcb9d, 0x00bd}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_3.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_3.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_3[ 121 ] = { static const uint16 iso8859_3_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_3_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_3_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003e, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xcb, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbd, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0000, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0x00, /* b3_1_lower */
{0xc292, 0x0092}, 0x00, /* b3_1_upper */
{0xc293, 0x0093}, 0x00, /* b3_2_lower */
{0xc294, 0x0094}, 0x00, /* b3_2_upper */
{0xc295, 0x0095}, 0x00, /* b3_3_lower */
{0xc296, 0x0096}, 0x00, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a3, 0x00a3}, };
{0xc2a4, 0x00a4},
{0xc2a7, 0x00a7}, static const uint16 iso8859_3_from_unicode_tree_table[373] =
{0xc2a8, 0x00a8}, {
{0xc2ad, 0x00ad}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2b0, 0x00b0},
{0xc2b2, 0x00b2}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b3, 0x00b3}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b4, 0x00b4}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b5, 0x00b5}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b7, 0x00b7}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b8, 0x00b8}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2bd, 0x00bd}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc380, 0x00c0}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc381, 0x00c1},
{0xc382, 0x00c2}, /*** Two byte table, byte #1: xx - offset 0x0003e ***/
{0xc384, 0x00c4},
{0xc387, 0x00c7}, /* c2 */ 0x0048, 0x0086, 0x00c3, 0x00f9, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc388, 0x00c8}, /* ca */ 0x0000, 0x0137,
{0xc389, 0x00c9},
{0xc38a, 0x00ca}, /*** Two byte table, leaf: c2xx - offset 0x00048 ***/
{0xc38b, 0x00cb},
{0xc38c, 0x00cc}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc38d, 0x00cd}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc38e, 0x00ce}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc38f, 0x00cf}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc391, 0x00d1}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x00a3, 0x00a4, 0x0000, 0x0000, 0x00a7,
{0xc392, 0x00d2}, /* a8 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ad, 0x0000, 0x0000,
{0xc393, 0x00d3}, /* b0 */ 0x00b0, 0x0000, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0000, 0x00b7,
{0xc394, 0x00d4}, /* b8 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x00bd,
{0xc396, 0x00d6},
{0xc397, 0x00d7}, /*** Two byte table, leaf: c3xx - offset 0x00086 ***/
{0xc399, 0x00d9},
{0xc39a, 0x00da}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x0000, 0x0000, 0x00c7,
{0xc39b, 0x00db}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc39c, 0x00dc}, /* 90 */ 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0000, 0x00d6, 0x00d7,
{0xc39f, 0x00df}, /* 98 */ 0x0000, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc3a0, 0x00e0}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x0000, 0x0000, 0x00e7,
{0xc3a1, 0x00e1}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc3a2, 0x00e2}, /* b0 */ 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0000, 0x00f6, 0x00f7,
{0xc3a4, 0x00e4}, /* b8 */ 0x0000, 0x00f9, 0x00fa, 0x00fb, 0x00fc,
{0xc3a7, 0x00e7}, /* 1 trailing zero values shared with next segment */
{0xc3a8, 0x00e8},
{0xc3a9, 0x00e9}, /*** Two byte table, leaf: c4xx - offset 0x000c3 ***/
{0xc3aa, 0x00ea},
{0xc3ab, 0x00eb}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ac, 0x00ec}, /* 88 */ 0x00c6, 0x00e6, 0x00c5, 0x00e5, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ad, 0x00ed}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ae, 0x00ee}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00d8, 0x00f8, 0x00ab, 0x00bb,
{0xc3af, 0x00ef}, /* a0 */ 0x00d5, 0x00f5, 0x0000, 0x0000, 0x00a6, 0x00b6, 0x00a1, 0x00b1,
{0xc3b1, 0x00f1}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b2, 0x00f2}, /* b0 */ 0x00a9, 0x00b9, 0x0000, 0x0000, 0x00ac, 0x00bc,
{0xc3b3, 0x00f3}, /* 8 trailing zero values shared with next segment */
{0xc3b4, 0x00f4},
{0xc3b6, 0x00f6}, /*** Two byte table, leaf: c5xx - offset 0x000f9 ***/
{0xc3b7, 0x00f7},
{0xc3b9, 0x00f9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ba, 0x00fa}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bb, 0x00fb}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bc, 0x00fc}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00de, 0x00fe, 0x00aa, 0x00ba,
{0xc488, 0x00c6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc489, 0x00e6}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00dd, 0x00fd, 0x0000, 0x0000,
{0xc48a, 0x00c5}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48b, 0x00e5}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00af, 0x00bf, 0x0000,
{0xc49c, 0x00d8},
{0xc49d, 0x00f8}, /*** Two byte table, leaf: cbxx - offset 0x00137 ***/
{0xc49e, 0x00ab},
{0xc49f, 0x00bb}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a0, 0x00d5}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a1, 0x00f5}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a4, 0x00a6}, /* 98 */ 0x00a2, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a5, 0x00b6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a6, 0x00a1}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a7, 0x00b1}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4b0, 0x00a9}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
{0xc4b1, 0x00b9},
{0xc4b4, 0x00ac},
{0xc4b5, 0x00bc},
{0xc59c, 0x00de},
{0xc59d, 0x00fe},
{0xc59e, 0x00aa},
{0xc59f, 0x00ba},
{0xc5ac, 0x00dd},
{0xc5ad, 0x00fd},
{0xc5bb, 0x00af},
{0xc5bc, 0x00bf},
{0xcb98, 0x00a2},
{0xcb99, 0x00ff}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_4.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_4.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_4[ 128 ] = { static const uint16 iso8859_4_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_4_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_4_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003f, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xcb, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbe, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0000, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0x00, /* b3_1_lower */
{0xc292, 0x0092}, 0x00, /* b3_1_upper */
{0xc293, 0x0093}, 0x00, /* b3_2_lower */
{0xc294, 0x0094}, 0x00, /* b3_2_upper */
{0xc295, 0x0095}, 0x00, /* b3_3_lower */
{0xc296, 0x0096}, 0x00, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a4, 0x00a4}, };
{0xc2a7, 0x00a7},
{0xc2a8, 0x00a8}, static const uint16 iso8859_4_from_unicode_tree_table[385] =
{0xc2ad, 0x00ad}, {
{0xc2af, 0x00af}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2b0, 0x00b0},
{0xc2b4, 0x00b4}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b8, 0x00b8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc381, 0x00c1}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc382, 0x00c2}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc383, 0x00c3}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc384, 0x00c4}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc385, 0x00c5}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc386, 0x00c6}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc389, 0x00c9},
{0xc38b, 0x00cb}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xc38d, 0x00cd},
{0xc38e, 0x00ce}, /* c2 */ 0x0049, 0x0087, 0x00c6, 0x0103, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc394, 0x00d4}, /* ca */ 0x0000, 0x0142,
{0xc395, 0x00d5},
{0xc396, 0x00d6}, /*** Two byte table, leaf: c2xx - offset 0x00049 ***/
{0xc397, 0x00d7},
{0xc398, 0x00d8}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc39a, 0x00da}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc39b, 0x00db}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc39c, 0x00dc}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc39f, 0x00df}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x00a7,
{0xc3a1, 0x00e1}, /* a8 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ad, 0x0000, 0x00af,
{0xc3a2, 0x00e2}, /* b0 */ 0x00b0, 0x0000, 0x0000, 0x0000, 0x00b4, 0x0000, 0x0000, 0x0000,
{0xc3a3, 0x00e3}, /* b8 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a4, 0x00e4}, /* 1 trailing zero values shared with next segment */
{0xc3a5, 0x00e5},
{0xc3a6, 0x00e6}, /*** Two byte table, leaf: c3xx - offset 0x00087 ***/
{0xc3a9, 0x00e9},
{0xc3ab, 0x00eb}, /* 80 */ 0x0000, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x0000,
{0xc3ad, 0x00ed}, /* 88 */ 0x0000, 0x00c9, 0x0000, 0x00cb, 0x0000, 0x00cd, 0x00ce, 0x0000,
{0xc3ae, 0x00ee}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xc3b4, 0x00f4}, /* 98 */ 0x00d8, 0x0000, 0x00da, 0x00db, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc3b5, 0x00f5}, /* a0 */ 0x0000, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x0000,
{0xc3b6, 0x00f6}, /* a8 */ 0x0000, 0x00e9, 0x0000, 0x00eb, 0x0000, 0x00ed, 0x00ee, 0x0000,
{0xc3b7, 0x00f7}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xc3b8, 0x00f8}, /* b8 */ 0x00f8, 0x0000, 0x00fa, 0x00fb, 0x00fc, 0x0000, 0x0000,
{0xc3ba, 0x00fa},
{0xc3bb, 0x00fb}, /*** Two byte table, leaf: c4xx - offset 0x000c6 ***/
{0xc3bc, 0x00fc},
{0xc480, 0x00c0}, /* 80 */ 0x00c0, 0x00e0, 0x0000, 0x0000, 0x00a1, 0x00b1, 0x0000, 0x0000,
{0xc481, 0x00e0}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x00e8, 0x0000, 0x0000,
{0xc484, 0x00a1}, /* 90 */ 0x00d0, 0x00f0, 0x00aa, 0x00ba, 0x0000, 0x0000, 0x00cc, 0x00ec,
{0xc485, 0x00b1}, /* 98 */ 0x00ca, 0x00ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48c, 0x00c8}, /* a0 */ 0x0000, 0x0000, 0x00ab, 0x00bb, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48d, 0x00e8}, /* a8 */ 0x00a5, 0x00b5, 0x00cf, 0x00ef, 0x0000, 0x0000, 0x00c7, 0x00e7,
{0xc490, 0x00d0}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d3, 0x00f3,
{0xc491, 0x00f0}, /* b8 */ 0x00a2, 0x0000, 0x0000, 0x00a6, 0x00b6,
{0xc492, 0x00aa}, /* 2 trailing zero values shared with next segment */
{0xc493, 0x00ba},
{0xc496, 0x00cc}, /*** Two byte table, leaf: c5xx - offset 0x00103 ***/
{0xc497, 0x00ec},
{0xc498, 0x00ca}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d1, 0x00f1, 0x0000,
{0xc499, 0x00ea}, /* 88 */ 0x0000, 0x0000, 0x00bd, 0x00bf, 0x00d2, 0x00f2, 0x0000, 0x0000,
{0xc4a2, 0x00ab}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0x00b3,
{0xc4a3, 0x00bb}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4a8, 0x00a5}, /* a0 */ 0x00a9, 0x00b9, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ac, 0x00bc,
{0xc4a9, 0x00b5}, /* a8 */ 0x00dd, 0x00fd, 0x00de, 0x00fe, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4aa, 0x00cf}, /* b0 */ 0x0000, 0x0000, 0x00d9, 0x00f9, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4ab, 0x00ef}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ae, 0x00be,
{0xc4ae, 0x00c7},
{0xc4af, 0x00e7}, /*** Two byte table, leaf: cbxx - offset 0x00142 ***/
{0xc4b6, 0x00d3},
{0xc4b7, 0x00f3}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00b7,
{0xc4b8, 0x00a2}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4bb, 0x00a6}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4bc, 0x00b6}, /* 98 */ 0x0000, 0x00ff, 0x0000, 0x00b2, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc585, 0x00d1}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc586, 0x00f1}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc58a, 0x00bd}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc58b, 0x00bf}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
{0xc58c, 0x00d2},
{0xc58d, 0x00f2},
{0xc596, 0x00a3},
{0xc597, 0x00b3},
{0xc5a0, 0x00a9},
{0xc5a1, 0x00b9},
{0xc5a6, 0x00ac},
{0xc5a7, 0x00bc},
{0xc5a8, 0x00dd},
{0xc5a9, 0x00fd},
{0xc5aa, 0x00de},
{0xc5ab, 0x00fe},
{0xc5b2, 0x00d9},
{0xc5b3, 0x00f9},
{0xc5bd, 0x00ae},
{0xc5be, 0x00be},
{0xcb87, 0x00b7},
{0xcb99, 0x00ff},
{0xcb9b, 0x00b2}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_5.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_5.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_5[ 128 ] = { static const uint16 iso8859_5_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_5_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_5_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x0040, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xd1, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbf, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x010f, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x84, /* b3_2_lower */
{0xc294, 0x0094}, 0x84, /* b3_2_upper */
{0xc295, 0x0095}, 0x96, /* b3_3_lower */
{0xc296, 0x0096}, 0x96, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a7, 0x00fd}, };
{0xc2ad, 0x00ad},
{0xd081, 0x00a1}, static const uint16 iso8859_5_from_unicode_tree_table[274] =
{0xd082, 0x00a2}, {
{0xd083, 0x00a3}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd084, 0x00a4},
{0xd085, 0x00a5}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd086, 0x00a6}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd087, 0x00a7}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd088, 0x00a8}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd089, 0x00a9}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd08a, 0x00aa}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd08b, 0x00ab}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd08c, 0x00ac}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd08e, 0x00ae},
{0xd08f, 0x00af}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xd090, 0x00b0},
{0xd091, 0x00b1}, /* c2 */ 0x0050, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd092, 0x00b2}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008f, 0x00cf,
{0xd093, 0x00b3},
{0xd094, 0x00b4}, /*** Two byte table, leaf: c2xx - offset 0x00050 ***/
{0xd095, 0x00b5},
{0xd096, 0x00b6}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xd097, 0x00b7}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xd098, 0x00b8}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xd099, 0x00b9}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xd09a, 0x00ba}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00fd,
{0xd09b, 0x00bb}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ad, 0x0000, 0x0000,
{0xd09c, 0x00bc}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09d, 0x00bd}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09e, 0x00be}, /* 1 trailing zero values shared with next segment */
{0xd09f, 0x00bf},
{0xd0a0, 0x00c0}, /*** Two byte table, leaf: d0xx - offset 0x0008f ***/
{0xd0a1, 0x00c1},
{0xd0a2, 0x00c2}, /* 80 */ 0x0000, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xd0a3, 0x00c3}, /* 88 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x0000, 0x00ae, 0x00af,
{0xd0a4, 0x00c4}, /* 90 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xd0a5, 0x00c5}, /* 98 */ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xd0a6, 0x00c6}, /* a0 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xd0a7, 0x00c7}, /* a8 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xd0a8, 0x00c8}, /* b0 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xd0a9, 0x00c9}, /* b8 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xd0aa, 0x00ca},
{0xd0ab, 0x00cb}, /*** Two byte table, leaf: d1xx - offset 0x000cf ***/
{0xd0ac, 0x00cc},
{0xd0ad, 0x00cd}, /* 80 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xd0ae, 0x00ce}, /* 88 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xd0af, 0x00cf}, /* 90 */ 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xd0b0, 0x00d0}, /* 98 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0000, 0x00fe, 0x00ff,
{0xd0b1, 0x00d1}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b2, 0x00d2}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b3, 0x00d3}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b4, 0x00d4}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b5, 0x00d5},
{0xd0b6, 0x00d6}, /*** Three byte table, byte #1: xx - offset 0x0010f ***/
{0xd0b7, 0x00d7},
{0xd0b8, 0x00d8}, /* e2 */ 0x0110,
{0xd0b9, 0x00d9},
{0xd0ba, 0x00da}, /*** Three byte table, byte #2: e2xx - offset 0x00110 ***/
{0xd0bb, 0x00db},
{0xd0bc, 0x00dc}, /* 84 */ 0x0111,
{0xd0bd, 0x00dd},
{0xd0be, 0x00de}, /*** Three byte table, leaf: e284xx - offset 0x00111 ***/
{0xd0bf, 0x00df},
{0xd180, 0x00e0}, /* 96 */ 0x00f0
{0xd181, 0x00e1},
{0xd182, 0x00e2},
{0xd183, 0x00e3},
{0xd184, 0x00e4},
{0xd185, 0x00e5},
{0xd186, 0x00e6},
{0xd187, 0x00e7},
{0xd188, 0x00e8},
{0xd189, 0x00e9},
{0xd18a, 0x00ea},
{0xd18b, 0x00eb},
{0xd18c, 0x00ec},
{0xd18d, 0x00ed},
{0xd18e, 0x00ee},
{0xd18f, 0x00ef},
{0xd191, 0x00f1},
{0xd192, 0x00f2},
{0xd193, 0x00f3},
{0xd194, 0x00f4},
{0xd195, 0x00f5},
{0xd196, 0x00f6},
{0xd197, 0x00f7},
{0xd198, 0x00f8},
{0xd199, 0x00f9},
{0xd19a, 0x00fa},
{0xd19b, 0x00fb},
{0xd19c, 0x00fc},
{0xd19e, 0x00fe},
{0xd19f, 0x00ff},
{0xe28496, 0x00f0}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_6[ 83 ] = { static const uint16 iso8859_6_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_6_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_6_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003b, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xd9, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xba, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0000, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0x00, /* b3_1_lower */
{0xc292, 0x0092}, 0x00, /* b3_1_upper */
{0xc293, 0x0093}, 0x00, /* b3_2_lower */
{0xc294, 0x0094}, 0x00, /* b3_2_upper */
{0xc295, 0x0095}, 0x00, /* b3_3_lower */
{0xc296, 0x0096}, 0x00, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a4, 0x00a4}, };
{0xc2ad, 0x00ad},
{0xd88c, 0x00ac}, static const uint16 iso8859_6_from_unicode_tree_table[248] =
{0xd89b, 0x00bb}, {
{0xd89f, 0x00bf}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd8a1, 0x00c1},
{0xd8a2, 0x00c2}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a3, 0x00c3}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a4, 0x00c4}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a5, 0x00c5}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a6, 0x00c6}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a7, 0x00c7}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a8, 0x00c8}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a9, 0x00c9}, /* 38 */ 0x0000, 0x0000, 0x0000,
{0xd8aa, 0x00ca},
{0xd8ab, 0x00cb}, /*** Two byte table, byte #1: xx - offset 0x0003b ***/
{0xd8ac, 0x00cc},
{0xd8ad, 0x00cd}, /* c2 */ 0x0053, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8ae, 0x00ce}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8af, 0x00cf}, /* d2 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x00bd,
{0xd8b0, 0x00d0},
{0xd8b1, 0x00d1}, /*** Two byte table, leaf: c2xx - offset 0x00053 ***/
{0xd8b2, 0x00d2},
{0xd8b3, 0x00d3}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xd8b4, 0x00d4}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xd8b5, 0x00d5}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xd8b6, 0x00d6}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xd8b7, 0x00d7}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x0000,
{0xd8b8, 0x00d8}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ad, 0x0000,
{0xd8b9, 0x00d9}, /* 12 trailing zero values shared with next segment */
{0xd8ba, 0x00da},
{0xd980, 0x00e0}, /*** Two byte table, leaf: d8xx - offset 0x00082 ***/
{0xd981, 0x00e1},
{0xd982, 0x00e2}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd983, 0x00e3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00ac, 0x0000, 0x0000, 0x0000,
{0xd984, 0x00e4}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd985, 0x00e5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x00bb, 0x0000, 0x0000, 0x0000, 0x00bf,
{0xd986, 0x00e6}, /* a0 */ 0x0000, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xd987, 0x00e7}, /* a8 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xd988, 0x00e8}, /* b0 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xd989, 0x00e9}, /* b8 */ 0x00d8, 0x00d9, 0x00da,
{0xd98a, 0x00ea},
{0xd98b, 0x00eb}, /*** Two byte table, leaf: d9xx - offset 0x000bd ***/
{0xd98c, 0x00ec},
{0xd98d, 0x00ed}, /* 80 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xd98e, 0x00ee}, /* 88 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xd98f, 0x00ef}, /* 90 */ 0x00f0, 0x00f1, 0x00f2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd990, 0x00f0}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd991, 0x00f1}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd992, 0x00f2} /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_7[ 125 ] = { static const uint16 iso8859_7_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_7_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_7_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x0040, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xcf, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbf, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0148, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x80, /* b3_2_lower */
{0xc294, 0x0094}, 0x82, /* b3_2_upper */
{0xc295, 0x0095}, 0x95, /* b3_3_lower */
{0xc296, 0x0096}, 0xaf, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a3, 0x00a3}, };
{0xc2a6, 0x00a6},
{0xc2a7, 0x00a7}, static const uint16 iso8859_7_from_unicode_tree_table[386] =
{0xc2a8, 0x00a8}, {
{0xc2a9, 0x00a9}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2ab, 0x00ab},
{0xc2ac, 0x00ac}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ad, 0x00ad}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b0, 0x00b0}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b1, 0x00b1}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b2, 0x00b2}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b3, 0x00b3}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b7, 0x00b7}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2bb, 0x00bb}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2bd, 0x00bd},
{0xcdba, 0x00aa}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xce84, 0x00b4},
{0xce85, 0x00b5}, /* c2 */ 0x004e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce86, 0x00b6}, /* ca */ 0x0000, 0x0000, 0x0000, 0x008c, 0x00c8, 0x0108,
{0xce88, 0x00b8},
{0xce89, 0x00b9}, /*** Two byte table, leaf: c2xx - offset 0x0004e ***/
{0xce8a, 0x00ba},
{0xce8c, 0x00bc}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xce8e, 0x00be}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xce8f, 0x00bf}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xce90, 0x00c0}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xce91, 0x00c1}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x00a3, 0x0000, 0x0000, 0x00a6, 0x00a7,
{0xce92, 0x00c2}, /* a8 */ 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x0000, 0x0000,
{0xce93, 0x00c3}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0000, 0x0000, 0x0000, 0x00b7,
{0xce94, 0x00c4}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00bb, 0x0000, 0x00bd,
{0xce95, 0x00c5}, /* 2 trailing zero values shared with next segment */
{0xce96, 0x00c6},
{0xce97, 0x00c7}, /*** Two byte table, leaf: cdxx - offset 0x0008c ***/
{0xce98, 0x00c8},
{0xce99, 0x00c9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9a, 0x00ca}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9b, 0x00cb}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9c, 0x00cc}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9d, 0x00cd}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9e, 0x00ce}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9f, 0x00cf}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcea0, 0x00d0}, /* b8 */ 0x0000, 0x0000, 0x00aa, 0x0000,
{0xcea1, 0x00d1}, /* 4 trailing zero values shared with next segment */
{0xcea3, 0x00d3},
{0xcea4, 0x00d4}, /*** Two byte table, leaf: cexx - offset 0x000c8 ***/
{0xcea5, 0x00d5},
{0xcea6, 0x00d6}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00b4, 0x00b5, 0x00b6, 0x0000,
{0xcea7, 0x00d7}, /* 88 */ 0x00b8, 0x00b9, 0x00ba, 0x0000, 0x00bc, 0x0000, 0x00be, 0x00bf,
{0xcea8, 0x00d8}, /* 90 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xcea9, 0x00d9}, /* 98 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xceaa, 0x00da}, /* a0 */ 0x00d0, 0x00d1, 0x0000, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xceab, 0x00db}, /* a8 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xceac, 0x00dc}, /* b0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xcead, 0x00dd}, /* b8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xceae, 0x00de},
{0xceaf, 0x00df}, /*** Two byte table, leaf: cfxx - offset 0x00108 ***/
{0xceb0, 0x00e0},
{0xceb1, 0x00e1}, /* 80 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xceb2, 0x00e2}, /* 88 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0000,
{0xceb3, 0x00e3}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb4, 0x00e4}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb5, 0x00e5}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb6, 0x00e6}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb7, 0x00e7}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb8, 0x00e8}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb9, 0x00e9},
{0xceba, 0x00ea}, /*** Three byte table, byte #1: xx - offset 0x00148 ***/
{0xcebb, 0x00eb},
{0xcebc, 0x00ec}, /* e2 */ 0x0149,
{0xcebd, 0x00ed},
{0xcebe, 0x00ee}, /*** Three byte table, byte #2: e2xx - offset 0x00149 ***/
{0xcebf, 0x00ef},
{0xcf80, 0x00f0}, /* 80 */ 0x014c, 0x0000, 0x0167,
{0xcf81, 0x00f1},
{0xcf82, 0x00f2}, /*** Three byte table, leaf: e280xx - offset 0x0014c ***/
{0xcf83, 0x00f3},
{0xcf84, 0x00f4}, /* 95 */ 0x00af, 0x0000, 0x0000, 0x00a1, 0x00a2, 0x0000, 0x0000, 0x0000,
{0xcf85, 0x00f5}, /* 9d */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcf86, 0x00f6}, /* a5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcf87, 0x00f7}, /* ad */ 0x0000, 0x0000, 0x0000,
{0xcf88, 0x00f8},
{0xcf89, 0x00f9}, /*** Three byte table, leaf: e282xx - offset 0x00167 ***/
{0xcf8a, 0x00fa},
{0xcf8b, 0x00fb}, /* 95 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcf8c, 0x00fc}, /* 9d */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcf8d, 0x00fd}, /* a5 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a4,
{0xcf8e, 0x00fe}, /* ad */ 0x0000, 0x0000, 0x00a5
{0xe28095, 0x00af},
{0xe28098, 0x00a1},
{0xe28099, 0x00a2},
{0xe282ac, 0x00a4},
{0xe282af, 0x00a5}
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_8[ 92 ] = { static const uint16 iso8859_8_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_8_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_8_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x003f, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xd7, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbe, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x010b, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0xe2, /* b3_1_lower */
{0xc292, 0x0092}, 0xe2, /* b3_1_upper */
{0xc293, 0x0093}, 0x80, /* b3_2_lower */
{0xc294, 0x0094}, 0x80, /* b3_2_upper */
{0xc295, 0x0095}, 0x8e, /* b3_3_lower */
{0xc296, 0x0096}, 0x97, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a2, 0x00a2}, };
{0xc2a3, 0x00a3},
{0xc2a4, 0x00a4}, static const uint16 iso8859_8_from_unicode_tree_table[279] =
{0xc2a5, 0x00a5}, {
{0xc2a6, 0x00a6}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2a7, 0x00a7},
{0xc2a8, 0x00a8}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2a9, 0x00a9}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ab, 0x00ab}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ac, 0x00ac}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ad, 0x00ad}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ae, 0x00ae}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2af, 0x00af}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b0, 0x00b0}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b1, 0x00b1},
{0xc2b2, 0x00b2}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xc2b3, 0x00b3},
{0xc2b4, 0x00b4}, /* c2 */ 0x0055, 0x0094, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b5, 0x00b5}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2b6, 0x00b6}, /* d2 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00cc,
{0xc2b7, 0x00b7},
{0xc2b8, 0x00b8}, /*** Two byte table, leaf: c2xx - offset 0x00055 ***/
{0xc2b9, 0x00b9},
{0xc2bb, 0x00bb}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc2bc, 0x00bc}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc2bd, 0x00bd}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc2be, 0x00be}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc397, 0x00aa}, /* a0 */ 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xc3b7, 0x00ba}, /* a8 */ 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xd790, 0x00e0}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xd791, 0x00e1}, /* b8 */ 0x00b8, 0x00b9, 0x0000, 0x00bb, 0x00bc, 0x00bd, 0x00be,
{0xd792, 0x00e2},
{0xd793, 0x00e3}, /*** Two byte table, leaf: c3xx - offset 0x00094 ***/
{0xd794, 0x00e4},
{0xd795, 0x00e5}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd796, 0x00e6}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd797, 0x00e7}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00aa,
{0xd798, 0x00e8}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd799, 0x00e9}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd79a, 0x00ea}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd79b, 0x00eb}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ba,
{0xd79c, 0x00ec}, /* 7 trailing zero values shared with next segment */
{0xd79d, 0x00ed},
{0xd79e, 0x00ee}, /*** Two byte table, leaf: d7xx - offset 0x000cc ***/
{0xd79f, 0x00ef},
{0xd7a0, 0x00f0}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a1, 0x00f1}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a2, 0x00f2}, /* 90 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xd7a3, 0x00f3}, /* 98 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xd7a4, 0x00f4}, /* a0 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xd7a5, 0x00f5}, /* a8 */ 0x00f8, 0x00f9, 0x00fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a6, 0x00f6}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a7, 0x00f7}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a8, 0x00f8},
{0xd7a9, 0x00f9}, /*** Three byte table, byte #1: xx - offset 0x0010b ***/
{0xd7aa, 0x00fa},
{0xe2808e, 0x00fd}, /* e2 */ 0x010c,
{0xe2808f, 0x00fe},
{0xe28097, 0x00df} /*** Three byte table, byte #2: e2xx - offset 0x0010c ***/
/* 80 */ 0x010d,
/*** Three byte table, leaf: e280xx - offset 0x0010d ***/
/* 8e */ 0x00fd, 0x00fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 96 */ 0x0000, 0x00df
}; };
/* src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map */ /* src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapISO8859_9[ 128 ] = { static const uint16 iso8859_9_from_unicode_tree_table[];
{0xc280, 0x0080},
{0xc281, 0x0081}, static const pg_mb_radix_tree iso8859_9_from_unicode_tree =
{0xc282, 0x0082}, {
{0xc283, 0x0083}, iso8859_9_from_unicode_tree_table,
{0xc284, 0x0084}, NULL, /* 32-bit table not used */
{0xc285, 0x0085},
{0xc286, 0x0086}, 0x0000, /* offset of table for 1-byte inputs */
{0xc287, 0x0087}, 0x00, /* b1_lower */
{0xc288, 0x0088}, 0x00, /* b1_upper */
{0xc289, 0x0089},
{0xc28a, 0x008a}, 0x0040, /* offset of table for 2-byte inputs */
{0xc28b, 0x008b}, 0xc2, /* b2_1_lower */
{0xc28c, 0x008c}, 0xc5, /* b2_1_upper */
{0xc28d, 0x008d}, 0x80, /* b2_2_lower */
{0xc28e, 0x008e}, 0xbf, /* b2_2_upper */
{0xc28f, 0x008f},
{0xc290, 0x0090}, 0x0000, /* offset of table for 3-byte inputs */
{0xc291, 0x0091}, 0x00, /* b3_1_lower */
{0xc292, 0x0092}, 0x00, /* b3_1_upper */
{0xc293, 0x0093}, 0x00, /* b3_2_lower */
{0xc294, 0x0094}, 0x00, /* b3_2_upper */
{0xc295, 0x0095}, 0x00, /* b3_3_lower */
{0xc296, 0x0096}, 0x00, /* b3_3_upper */
{0xc297, 0x0097},
{0xc298, 0x0098}, 0x0000, /* offset of table for 3-byte inputs */
{0xc299, 0x0099}, 0x00, /* b4_1_lower */
{0xc29a, 0x009a}, 0x00, /* b4_1_upper */
{0xc29b, 0x009b}, 0x00, /* b4_2_lower */
{0xc29c, 0x009c}, 0x00, /* b4_2_upper */
{0xc29d, 0x009d}, 0x00, /* b4_3_lower */
{0xc29e, 0x009e}, 0x00, /* b4_3_upper */
{0xc29f, 0x009f}, 0x00, /* b4_4_lower */
{0xc2a0, 0x00a0}, 0x00 /* b4_4_upper */
{0xc2a1, 0x00a1}, };
{0xc2a2, 0x00a2},
{0xc2a3, 0x00a3}, static const uint16 iso8859_9_from_unicode_tree_table[324] =
{0xc2a4, 0x00a4}, {
{0xc2a5, 0x00a5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc2a6, 0x00a6},
{0xc2a7, 0x00a7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2a8, 0x00a8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2a9, 0x00a9}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2aa, 0x00aa}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ab, 0x00ab}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ac, 0x00ac}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ad, 0x00ad}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2ae, 0x00ae}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc2af, 0x00af},
{0xc2b0, 0x00b0}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc2b1, 0x00b1},
{0xc2b2, 0x00b2}, /* c2 */ 0x0044, 0x0084, 0x00c4, 0x0104,
{0xc2b3, 0x00b3},
{0xc2b4, 0x00b4}, /*** Two byte table, leaf: c2xx - offset 0x00044 ***/
{0xc2b5, 0x00b5},
{0xc2b6, 0x00b6}, /* 80 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xc2b7, 0x00b7}, /* 88 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xc2b8, 0x00b8}, /* 90 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xc2b9, 0x00b9}, /* 98 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xc2ba, 0x00ba}, /* a0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xc2bb, 0x00bb}, /* a8 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xc2bc, 0x00bc}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xc2bd, 0x00bd}, /* b8 */ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xc2be, 0x00be},
{0xc2bf, 0x00bf}, /*** Two byte table, leaf: c3xx - offset 0x00084 ***/
{0xc380, 0x00c0},
{0xc381, 0x00c1}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xc382, 0x00c2}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc383, 0x00c3}, /* 90 */ 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xc384, 0x00c4}, /* 98 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc385, 0x00c5}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xc386, 0x00c6}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc387, 0x00c7}, /* b0 */ 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xc388, 0x00c8}, /* b8 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0000, 0x0000, 0x00ff,
{0xc389, 0x00c9},
{0xc38a, 0x00ca}, /*** Two byte table, leaf: c4xx - offset 0x000c4 ***/
{0xc38b, 0x00cb},
{0xc38c, 0x00cc}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38d, 0x00cd}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38e, 0x00ce}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38f, 0x00cf}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d0, 0x00f0,
{0xc391, 0x00d1}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc392, 0x00d2}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc393, 0x00d3}, /* b0 */ 0x00dd, 0x00fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc394, 0x00d4}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc395, 0x00d5},
{0xc396, 0x00d6}, /*** Two byte table, leaf: c5xx - offset 0x00104 ***/
{0xc397, 0x00d7},
{0xc398, 0x00d8}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc399, 0x00d9}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39a, 0x00da}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39b, 0x00db}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00de, 0x00fe,
{0xc39c, 0x00dc}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39f, 0x00df}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a0, 0x00e0}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a1, 0x00e1}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
{0xc3a2, 0x00e2},
{0xc3a3, 0x00e3},
{0xc3a4, 0x00e4},
{0xc3a5, 0x00e5},
{0xc3a6, 0x00e6},
{0xc3a7, 0x00e7},
{0xc3a8, 0x00e8},
{0xc3a9, 0x00e9},
{0xc3aa, 0x00ea},
{0xc3ab, 0x00eb},
{0xc3ac, 0x00ec},
{0xc3ad, 0x00ed},
{0xc3ae, 0x00ee},
{0xc3af, 0x00ef},
{0xc3b1, 0x00f1},
{0xc3b2, 0x00f2},
{0xc3b3, 0x00f3},
{0xc3b4, 0x00f4},
{0xc3b5, 0x00f5},
{0xc3b6, 0x00f6},
{0xc3b7, 0x00f7},
{0xc3b8, 0x00f8},
{0xc3b9, 0x00f9},
{0xc3ba, 0x00fa},
{0xc3bb, 0x00fb},
{0xc3bc, 0x00fc},
{0xc3bf, 0x00ff},
{0xc49e, 0x00d0},
{0xc49f, 0x00f0},
{0xc4b0, 0x00dd},
{0xc4b1, 0x00fd},
{0xc59e, 0x00de},
{0xc59f, 0x00fe}
}; };
This source diff could not be displayed because it is too large. You can view the blob instead.
/* src/backend/utils/mb/Unicode/utf8_to_koi8r.map */ /* src/backend/utils/mb/Unicode/utf8_to_koi8r.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapKOI8R[ 128 ] = { static const uint16 koi8r_from_unicode_tree_table[];
{0xc2a0, 0x009a},
{0xc2a9, 0x00bf}, static const pg_mb_radix_tree koi8r_from_unicode_tree =
{0xc2b0, 0x009c}, {
{0xc2b2, 0x009d}, koi8r_from_unicode_tree_table,
{0xc2b7, 0x009e}, NULL, /* 32-bit table not used */
{0xc3b7, 0x009f},
{0xd081, 0x00b3}, 0x0000, /* offset of table for 1-byte inputs */
{0xd090, 0x00e1}, 0x00, /* b1_lower */
{0xd091, 0x00e2}, 0x00, /* b1_upper */
{0xd092, 0x00f7},
{0xd093, 0x00e7}, 0x0040, /* offset of table for 2-byte inputs */
{0xd094, 0x00e4}, 0xc2, /* b2_1_lower */
{0xd095, 0x00e5}, 0xd1, /* b2_1_upper */
{0xd096, 0x00f6}, 0x80, /* b2_2_lower */
{0xd097, 0x00fa}, 0xbf, /* b2_2_upper */
{0xd098, 0x00e9},
{0xd099, 0x00ea}, 0x0147, /* offset of table for 3-byte inputs */
{0xd09a, 0x00eb}, 0xe2, /* b3_1_lower */
{0xd09b, 0x00ec}, 0xe2, /* b3_1_upper */
{0xd09c, 0x00ed}, 0x88, /* b3_2_lower */
{0xd09d, 0x00ee}, 0x96, /* b3_2_upper */
{0xd09e, 0x00ef}, 0x80, /* b3_3_lower */
{0xd09f, 0x00f0}, 0xbc, /* b3_3_upper */
{0xd0a0, 0x00f2},
{0xd0a1, 0x00f3}, 0x0000, /* offset of table for 3-byte inputs */
{0xd0a2, 0x00f4}, 0x00, /* b4_1_lower */
{0xd0a3, 0x00f5}, 0x00, /* b4_1_upper */
{0xd0a4, 0x00e6}, 0x00, /* b4_2_lower */
{0xd0a5, 0x00e8}, 0x00, /* b4_2_upper */
{0xd0a6, 0x00e3}, 0x00, /* b4_3_lower */
{0xd0a7, 0x00fe}, 0x00, /* b4_3_upper */
{0xd0a8, 0x00fb}, 0x00, /* b4_4_lower */
{0xd0a9, 0x00fd}, 0x00 /* b4_4_upper */
{0xd0aa, 0x00ff}, };
{0xd0ab, 0x00f9},
{0xd0ac, 0x00f8}, static const uint16 koi8r_from_unicode_tree_table[678] =
{0xd0ad, 0x00fc}, {
{0xd0ae, 0x00e0}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd0af, 0x00f1},
{0xd0b0, 0x00c1}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b1, 0x00c2}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b2, 0x00d7}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b3, 0x00c7}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b4, 0x00c4}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b5, 0x00c5}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b6, 0x00d6}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b7, 0x00da}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b8, 0x00c9},
{0xd0b9, 0x00ca}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xd0ba, 0x00cb},
{0xd0bb, 0x00cc}, /* c2 */ 0x0050, 0x0088, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0bc, 0x00cd}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c7, 0x0107,
{0xd0bd, 0x00ce},
{0xd0be, 0x00cf}, /*** Two byte table, leaf: c2xx - offset 0x00050 ***/
{0xd0bf, 0x00d0},
{0xd180, 0x00d2}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd181, 0x00d3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd182, 0x00d4}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd183, 0x00d5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd184, 0x00c6}, /* a0 */ 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd185, 0x00c8}, /* a8 */ 0x0000, 0x00bf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd186, 0x00c3}, /* b0 */ 0x009c, 0x0000, 0x009d, 0x0000, 0x0000, 0x0000, 0x0000, 0x009e,
{0xd187, 0x00de}, /* 8 trailing zero values shared with next segment */
{0xd188, 0x00db},
{0xd189, 0x00dd}, /*** Two byte table, leaf: c3xx - offset 0x00088 ***/
{0xd18a, 0x00df},
{0xd18b, 0x00d9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18c, 0x00d8}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18d, 0x00dc}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18e, 0x00c0}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18f, 0x00d1}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd191, 0x00a3}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28899, 0x0095}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f,
{0xe2889a, 0x0096}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28988, 0x0097}, /* 1 trailing zero values shared with next segment */
{0xe289a4, 0x0098},
{0xe289a5, 0x0099}, /*** Two byte table, leaf: d0xx - offset 0x000c7 ***/
{0xe28ca0, 0x0093},
{0xe28ca1, 0x009b}, /* 80 */ 0x0000, 0x00b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29480, 0x0080}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29482, 0x0081}, /* 90 */ 0x00e1, 0x00e2, 0x00f7, 0x00e7, 0x00e4, 0x00e5, 0x00f6, 0x00fa,
{0xe2948c, 0x0082}, /* 98 */ 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x00f0,
{0xe29490, 0x0083}, /* a0 */ 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00e6, 0x00e8, 0x00e3, 0x00fe,
{0xe29494, 0x0084}, /* a8 */ 0x00fb, 0x00fd, 0x00ff, 0x00f9, 0x00f8, 0x00fc, 0x00e0, 0x00f1,
{0xe29498, 0x0085}, /* b0 */ 0x00c1, 0x00c2, 0x00d7, 0x00c7, 0x00c4, 0x00c5, 0x00d6, 0x00da,
{0xe2949c, 0x0086}, /* b8 */ 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x00d0,
{0xe294a4, 0x0087},
{0xe294ac, 0x0088}, /*** Two byte table, leaf: d1xx - offset 0x00107 ***/
{0xe294b4, 0x0089},
{0xe294bc, 0x008a}, /* 80 */ 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00c6, 0x00c8, 0x00c3, 0x00de,
{0xe29590, 0x00a0}, /* 88 */ 0x00db, 0x00dd, 0x00df, 0x00d9, 0x00d8, 0x00dc, 0x00c0, 0x00d1,
{0xe29591, 0x00a1}, /* 90 */ 0x0000, 0x00a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29592, 0x00a2}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29593, 0x00a4}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29594, 0x00a5}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29595, 0x00a6}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29596, 0x00a7}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29597, 0x00a8},
{0xe29598, 0x00a9}, /*** Three byte table, byte #1: xx - offset 0x00147 ***/
{0xe29599, 0x00aa},
{0xe2959a, 0x00ab}, /* e2 */ 0x0148,
{0xe2959b, 0x00ac},
{0xe2959c, 0x00ad}, /*** Three byte table, byte #2: e2xx - offset 0x00148 ***/
{0xe2959d, 0x00ae},
{0xe2959e, 0x00af}, /* 88 */ 0x0157, 0x018c, 0x0000, 0x0000, 0x01b2, 0x0000, 0x0000, 0x0000,
{0xe2959f, 0x00b0}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x01ef, 0x022c, 0x0269,
{0xe295a0, 0x00b1},
{0xe295a1, 0x00b2}, /*** Three byte table, leaf: e288xx - offset 0x00157 ***/
{0xe295a2, 0x00b4},
{0xe295a3, 0x00b5}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a4, 0x00b6}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a5, 0x00b7}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a6, 0x00b8}, /* 98 */ 0x0000, 0x0095, 0x0096, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a7, 0x00b9}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a8, 0x00ba}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a9, 0x00bb}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295aa, 0x00bc}, /* 8 trailing zero values shared with next segment */
{0xe295ab, 0x00bd},
{0xe295ac, 0x00be}, /*** Three byte table, leaf: e289xx - offset 0x0018c ***/
{0xe29680, 0x008b},
{0xe29684, 0x008c}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29688, 0x008d}, /* 88 */ 0x0097, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2968c, 0x008e}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29690, 0x008f}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29691, 0x0090}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0x0099,
{0xe29692, 0x0091}, /* 23 trailing zero values shared with next segment */
{0xe29693, 0x0092},
{0xe296a0, 0x0094} /*** Three byte table, leaf: e28cxx - offset 0x001b2 ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0093, 0x009b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e294xx - offset 0x001ef ***/
/* 80 */ 0x0080, 0x0000, 0x0081, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0083, 0x0000, 0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0085, 0x0000, 0x0000, 0x0000, 0x0086, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0087, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x008a,
/*** Three byte table, leaf: e295xx - offset 0x0022c ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x00a0, 0x00a1, 0x00a2, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00a8,
/* 98 */ 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, 0x00b0,
/* a0 */ 0x00b1, 0x00b2, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9,
/* a8 */ 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e296xx - offset 0x00269 ***/
/* 80 */ 0x008b, 0x0000, 0x0000, 0x0000, 0x008c, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x008d, 0x0000, 0x0000, 0x0000, 0x008e, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x008f, 0x0090, 0x0091, 0x0092, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0094, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_koi8u.map */ /* src/backend/utils/mb/Unicode/utf8_to_koi8u.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapKOI8U[ 128 ] = { static const uint16 koi8u_from_unicode_tree_table[];
{0xc2a0, 0x009a},
{0xc2a9, 0x00bf}, static const pg_mb_radix_tree koi8u_from_unicode_tree =
{0xc2b0, 0x009c}, {
{0xc2b2, 0x009d}, koi8u_from_unicode_tree_table,
{0xc2b7, 0x009e}, NULL, /* 32-bit table not used */
{0xc3b7, 0x009f},
{0xd081, 0x00b3}, 0x0000, /* offset of table for 1-byte inputs */
{0xd084, 0x00b4}, 0x00, /* b1_lower */
{0xd086, 0x00b6}, 0x00, /* b1_upper */
{0xd087, 0x00b7},
{0xd090, 0x00e1}, 0x0040, /* offset of table for 2-byte inputs */
{0xd091, 0x00e2}, 0xc2, /* b2_1_lower */
{0xd092, 0x00f7}, 0xd2, /* b2_1_upper */
{0xd093, 0x00e7}, 0x80, /* b2_2_lower */
{0xd094, 0x00e4}, 0xbf, /* b2_2_upper */
{0xd095, 0x00e5},
{0xd096, 0x00f6}, 0x0178, /* offset of table for 3-byte inputs */
{0xd097, 0x00fa}, 0xe2, /* b3_1_lower */
{0xd098, 0x00e9}, 0xe2, /* b3_1_upper */
{0xd099, 0x00ea}, 0x88, /* b3_2_lower */
{0xd09a, 0x00eb}, 0x96, /* b3_2_upper */
{0xd09b, 0x00ec}, 0x80, /* b3_3_lower */
{0xd09c, 0x00ed}, 0xbc, /* b3_3_upper */
{0xd09d, 0x00ee},
{0xd09e, 0x00ef}, 0x0000, /* offset of table for 3-byte inputs */
{0xd09f, 0x00f0}, 0x00, /* b4_1_lower */
{0xd0a0, 0x00f2}, 0x00, /* b4_1_upper */
{0xd0a1, 0x00f3}, 0x00, /* b4_2_lower */
{0xd0a2, 0x00f4}, 0x00, /* b4_2_upper */
{0xd0a3, 0x00f5}, 0x00, /* b4_3_lower */
{0xd0a4, 0x00e6}, 0x00, /* b4_3_upper */
{0xd0a5, 0x00e8}, 0x00, /* b4_4_lower */
{0xd0a6, 0x00e3}, 0x00 /* b4_4_upper */
{0xd0a7, 0x00fe}, };
{0xd0a8, 0x00fb},
{0xd0a9, 0x00fd}, static const uint16 koi8u_from_unicode_tree_table[727] =
{0xd0aa, 0x00ff}, {
{0xd0ab, 0x00f9}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd0ac, 0x00f8},
{0xd0ad, 0x00fc}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0ae, 0x00e0}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0af, 0x00f1}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b0, 0x00c1}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b1, 0x00c2}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b2, 0x00d7}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b3, 0x00c7}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b4, 0x00c4}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b5, 0x00c5},
{0xd0b6, 0x00d6}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xd0b7, 0x00da},
{0xd0b8, 0x00c9}, /* c2 */ 0x0051, 0x0089, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b9, 0x00ca}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x0108,
{0xd0ba, 0x00cb}, /* d2 */ 0x0138,
{0xd0bb, 0x00cc},
{0xd0bc, 0x00cd}, /*** Two byte table, leaf: c2xx - offset 0x00051 ***/
{0xd0bd, 0x00ce},
{0xd0be, 0x00cf}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0bf, 0x00d0}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd180, 0x00d2}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd181, 0x00d3}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd182, 0x00d4}, /* a0 */ 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd183, 0x00d5}, /* a8 */ 0x0000, 0x00bf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd184, 0x00c6}, /* b0 */ 0x009c, 0x0000, 0x009d, 0x0000, 0x0000, 0x0000, 0x0000, 0x009e,
{0xd185, 0x00c8}, /* 8 trailing zero values shared with next segment */
{0xd186, 0x00c3},
{0xd187, 0x00de}, /*** Two byte table, leaf: c3xx - offset 0x00089 ***/
{0xd188, 0x00db},
{0xd189, 0x00dd}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18a, 0x00df}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18b, 0x00d9}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18c, 0x00d8}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18d, 0x00dc}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18e, 0x00c0}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18f, 0x00d1}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f,
{0xd191, 0x00a3}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd194, 0x00a4}, /* 1 trailing zero values shared with next segment */
{0xd196, 0x00a6},
{0xd197, 0x00a7}, /*** Two byte table, leaf: d0xx - offset 0x000c8 ***/
{0xd290, 0x00bd},
{0xd291, 0x00ad}, /* 80 */ 0x0000, 0x00b3, 0x0000, 0x0000, 0x00b4, 0x0000, 0x00b6, 0x00b7,
{0xe28899, 0x0095}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2889a, 0x0096}, /* 90 */ 0x00e1, 0x00e2, 0x00f7, 0x00e7, 0x00e4, 0x00e5, 0x00f6, 0x00fa,
{0xe28988, 0x0097}, /* 98 */ 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x00f0,
{0xe289a4, 0x0098}, /* a0 */ 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00e6, 0x00e8, 0x00e3, 0x00fe,
{0xe289a5, 0x0099}, /* a8 */ 0x00fb, 0x00fd, 0x00ff, 0x00f9, 0x00f8, 0x00fc, 0x00e0, 0x00f1,
{0xe28ca0, 0x0093}, /* b0 */ 0x00c1, 0x00c2, 0x00d7, 0x00c7, 0x00c4, 0x00c5, 0x00d6, 0x00da,
{0xe28ca1, 0x009b}, /* b8 */ 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x00d0,
{0xe29480, 0x0080},
{0xe29482, 0x0081}, /*** Two byte table, leaf: d1xx - offset 0x00108 ***/
{0xe2948c, 0x0082},
{0xe29490, 0x0083}, /* 80 */ 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00c6, 0x00c8, 0x00c3, 0x00de,
{0xe29494, 0x0084}, /* 88 */ 0x00db, 0x00dd, 0x00df, 0x00d9, 0x00d8, 0x00dc, 0x00c0, 0x00d1,
{0xe29498, 0x0085}, /* 90 */ 0x0000, 0x00a3, 0x0000, 0x0000, 0x00a4, 0x0000, 0x00a6, 0x00a7,
{0xe2949c, 0x0086}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe294a4, 0x0087}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe294ac, 0x0088}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe294b4, 0x0089}, /* 16 trailing zero values shared with next segment */
{0xe294bc, 0x008a},
{0xe29590, 0x00a0}, /*** Two byte table, leaf: d2xx - offset 0x00138 ***/
{0xe29591, 0x00a1},
{0xe29592, 0x00a2}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29594, 0x00a5}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29597, 0x00a8}, /* 90 */ 0x00bd, 0x00ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29598, 0x00a9}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29599, 0x00aa}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959a, 0x00ab}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959b, 0x00ac}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959d, 0x00ae}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959e, 0x00af},
{0xe2959f, 0x00b0}, /*** Three byte table, byte #1: xx - offset 0x00178 ***/
{0xe295a0, 0x00b1},
{0xe295a1, 0x00b2}, /* e2 */ 0x0179,
{0xe295a3, 0x00b5},
{0xe295a6, 0x00b8}, /*** Three byte table, byte #2: e2xx - offset 0x00179 ***/
{0xe295a7, 0x00b9},
{0xe295a8, 0x00ba}, /* 88 */ 0x0188, 0x01bd, 0x0000, 0x0000, 0x01e3, 0x0000, 0x0000, 0x0000,
{0xe295a9, 0x00bb}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0220, 0x025d, 0x029a,
{0xe295aa, 0x00bc},
{0xe295ac, 0x00be}, /*** Three byte table, leaf: e288xx - offset 0x00188 ***/
{0xe29680, 0x008b},
{0xe29684, 0x008c}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29688, 0x008d}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2968c, 0x008e}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29690, 0x008f}, /* 98 */ 0x0000, 0x0095, 0x0096, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29691, 0x0090}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29692, 0x0091}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29693, 0x0092}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe296a0, 0x0094} /* 8 trailing zero values shared with next segment */
/*** Three byte table, leaf: e289xx - offset 0x001bd ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0097, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0x0099,
/* 23 trailing zero values shared with next segment */
/*** Three byte table, leaf: e28cxx - offset 0x001e3 ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0093, 0x009b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e294xx - offset 0x00220 ***/
/* 80 */ 0x0080, 0x0000, 0x0081, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0083, 0x0000, 0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0085, 0x0000, 0x0000, 0x0000, 0x0086, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0087, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x008a,
/*** Three byte table, leaf: e295xx - offset 0x0025d ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x00a0, 0x00a1, 0x00a2, 0x0000, 0x00a5, 0x0000, 0x0000, 0x00a8,
/* 98 */ 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x0000, 0x00ae, 0x00af, 0x00b0,
/* a0 */ 0x00b1, 0x00b2, 0x0000, 0x00b5, 0x0000, 0x0000, 0x00b8, 0x00b9,
/* a8 */ 0x00ba, 0x00bb, 0x00bc, 0x0000, 0x00be, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e296xx - offset 0x0029a ***/
/* 80 */ 0x008b, 0x0000, 0x0000, 0x0000, 0x008c, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x008d, 0x0000, 0x0000, 0x0000, 0x008e, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x008f, 0x0090, 0x0091, 0x0092, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0094, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
This source diff could not be displayed because it is too large. You can view the blob instead.
/* 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 source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/* src/backend/utils/mb/Unicode/utf8_to_win1250.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1250.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1250[ 123 ] = { static const uint16 win1250_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a4, 0x00a4}, static const pg_mb_radix_tree win1250_from_unicode_tree =
{0xc2a6, 0x00a6}, {
{0xc2a7, 0x00a7}, win1250_from_unicode_tree_table,
{0xc2a8, 0x00a8}, NULL, /* 32-bit table not used */
{0xc2a9, 0x00a9},
{0xc2ab, 0x00ab}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2ac, 0x00ac}, 0x00, /* b1_lower */
{0xc2ad, 0x00ad}, 0x00, /* b1_upper */
{0xc2ae, 0x00ae},
{0xc2b0, 0x00b0}, 0x003e, /* offset of table for 2-byte inputs */
{0xc2b1, 0x00b1}, 0xc2, /* b2_1_lower */
{0xc2b4, 0x00b4}, 0xcb, /* b2_1_upper */
{0xc2b5, 0x00b5}, 0x81, /* b2_2_lower */
{0xc2b6, 0x00b6}, 0xbe, /* b2_2_upper */
{0xc2b7, 0x00b7},
{0xc2b8, 0x00b8}, 0x017d, /* offset of table for 3-byte inputs */
{0xc2bb, 0x00bb}, 0xe2, /* b3_1_lower */
{0xc381, 0x00c1}, 0xe2, /* b3_1_upper */
{0xc382, 0x00c2}, 0x80, /* b3_2_lower */
{0xc384, 0x00c4}, 0x84, /* b3_2_upper */
{0xc387, 0x00c7}, 0x93, /* b3_3_lower */
{0xc389, 0x00c9}, 0xba, /* b3_3_upper */
{0xc38b, 0x00cb},
{0xc38d, 0x00cd}, 0x0000, /* offset of table for 3-byte inputs */
{0xc38e, 0x00ce}, 0x00, /* b4_1_lower */
{0xc393, 0x00d3}, 0x00, /* b4_1_upper */
{0xc394, 0x00d4}, 0x00, /* b4_2_lower */
{0xc396, 0x00d6}, 0x00, /* b4_2_upper */
{0xc397, 0x00d7}, 0x00, /* b4_3_lower */
{0xc39a, 0x00da}, 0x00, /* b4_3_upper */
{0xc39c, 0x00dc}, 0x00, /* b4_4_lower */
{0xc39d, 0x00dd}, 0x00 /* b4_4_upper */
{0xc39f, 0x00df}, };
{0xc3a1, 0x00e1},
{0xc3a2, 0x00e2}, static const uint16 win1250_from_unicode_tree_table[507] =
{0xc3a4, 0x00e4}, {
{0xc3a7, 0x00e7}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc3a9, 0x00e9},
{0xc3ab, 0x00eb}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ad, 0x00ed}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ae, 0x00ee}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b3, 0x00f3}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b4, 0x00f4}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b6, 0x00f6}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b7, 0x00f7}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ba, 0x00fa}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bc, 0x00fc},
{0xc3bd, 0x00fd}, /*** Two byte table, byte #1: xx - offset 0x0003e ***/
{0xc482, 0x00c3},
{0xc483, 0x00e3}, /* c2 */ 0x0048, 0x0086, 0x00c3, 0x0101, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc484, 0x00a5}, /* ca */ 0x0000, 0x013f,
{0xc485, 0x00b9},
{0xc486, 0x00c6}, /*** Two byte table, leaf: c2xx - offset 0x00048 ***/
{0xc487, 0x00e6},
{0xc48c, 0x00c8}, /* 81 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48d, 0x00e8}, /* 89 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48e, 0x00cf}, /* 91 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc48f, 0x00ef}, /* 99 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a0,
{0xc490, 0x00d0}, /* a1 */ 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x00a6, 0x00a7, 0x00a8,
{0xc491, 0x00f0}, /* a9 */ 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0000, 0x00b0,
{0xc498, 0x00ca}, /* b1 */ 0x00b1, 0x0000, 0x0000, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8,
{0xc499, 0x00ea}, /* b9 */ 0x0000, 0x0000, 0x00bb, 0x0000, 0x0000, 0x0000,
{0xc49a, 0x00cc},
{0xc49b, 0x00ec}, /*** Two byte table, leaf: c3xx - offset 0x00086 ***/
{0xc4b9, 0x00c5},
{0xc4ba, 0x00e5}, /* 81 */ 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x0000, 0x0000, 0x00c7, 0x0000,
{0xc4bd, 0x00bc}, /* 89 */ 0x00c9, 0x0000, 0x00cb, 0x0000, 0x00cd, 0x00ce, 0x0000, 0x0000,
{0xc4be, 0x00be}, /* 91 */ 0x0000, 0x0000, 0x00d3, 0x00d4, 0x0000, 0x00d6, 0x00d7, 0x0000,
{0xc581, 0x00a3}, /* 99 */ 0x0000, 0x00da, 0x0000, 0x00dc, 0x00dd, 0x0000, 0x00df, 0x0000,
{0xc582, 0x00b3}, /* a1 */ 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x0000, 0x0000, 0x00e7, 0x0000,
{0xc583, 0x00d1}, /* a9 */ 0x00e9, 0x0000, 0x00eb, 0x0000, 0x00ed, 0x00ee, 0x0000, 0x0000,
{0xc584, 0x00f1}, /* b1 */ 0x0000, 0x0000, 0x00f3, 0x00f4, 0x0000, 0x00f6, 0x00f7, 0x0000,
{0xc587, 0x00d2}, /* b9 */ 0x0000, 0x00fa, 0x0000, 0x00fc, 0x00fd,
{0xc588, 0x00f2}, /* 1 trailing zero values shared with next segment */
{0xc590, 0x00d5},
{0xc591, 0x00f5}, /*** Two byte table, leaf: c4xx - offset 0x000c3 ***/
{0xc594, 0x00c0},
{0xc595, 0x00e0}, /* 81 */ 0x0000, 0x00c3, 0x00e3, 0x00a5, 0x00b9, 0x00c6, 0x00e6, 0x0000,
{0xc598, 0x00d8}, /* 89 */ 0x0000, 0x0000, 0x0000, 0x00c8, 0x00e8, 0x00cf, 0x00ef, 0x00d0,
{0xc599, 0x00f8}, /* 91 */ 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ca,
{0xc59a, 0x008c}, /* 99 */ 0x00ea, 0x00cc, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59b, 0x009c}, /* a1 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59e, 0x00aa}, /* a9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59f, 0x00ba}, /* b1 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5a0, 0x008a}, /* b9 */ 0x00c5, 0x00e5, 0x0000, 0x0000, 0x00bc, 0x00be,
{0xc5a1, 0x009a},
{0xc5a2, 0x00de}, /*** Two byte table, leaf: c5xx - offset 0x00101 ***/
{0xc5a3, 0x00fe},
{0xc5a4, 0x008d}, /* 81 */ 0x00a3, 0x00b3, 0x00d1, 0x00f1, 0x0000, 0x0000, 0x00d2, 0x00f2,
{0xc5a5, 0x009d}, /* 89 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d5,
{0xc5ae, 0x00d9}, /* 91 */ 0x00f5, 0x0000, 0x0000, 0x00c0, 0x00e0, 0x0000, 0x0000, 0x00d8,
{0xc5af, 0x00f9}, /* 99 */ 0x00f8, 0x008c, 0x009c, 0x0000, 0x0000, 0x00aa, 0x00ba, 0x008a,
{0xc5b0, 0x00db}, /* a1 */ 0x009a, 0x00de, 0x00fe, 0x008d, 0x009d, 0x0000, 0x0000, 0x0000,
{0xc5b1, 0x00fb}, /* a9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d9, 0x00f9, 0x00db,
{0xc5b9, 0x008f}, /* b1 */ 0x00fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5ba, 0x009f}, /* b9 */ 0x008f, 0x009f, 0x00af, 0x00bf, 0x008e, 0x009e,
{0xc5bb, 0x00af},
{0xc5bc, 0x00bf}, /*** Two byte table, leaf: cbxx - offset 0x0013f ***/
{0xc5bd, 0x008e},
{0xc5be, 0x009e}, /* 81 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a1, 0x0000,
{0xcb87, 0x00a1}, /* 89 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb98, 0x00a2}, /* 91 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a2,
{0xcb99, 0x00ff}, /* 99 */ 0x00ff, 0x0000, 0x00b2, 0x0000, 0x00bd, 0x0000, 0x0000, 0x0000,
{0xcb9b, 0x00b2}, /* a1 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb9d, 0x00bd}, /* a9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28093, 0x0096}, /* b1 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28094, 0x0097}, /* b9 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28098, 0x0091},
{0xe28099, 0x0092}, /*** Three byte table, byte #1: xx - offset 0x0017d ***/
{0xe2809a, 0x0082},
{0xe2809c, 0x0093}, /* e2 */ 0x017e,
{0xe2809d, 0x0094},
{0xe2809e, 0x0084}, /*** Three byte table, byte #2: e2xx - offset 0x0017e ***/
{0xe280a0, 0x0086},
{0xe280a1, 0x0087}, /* 80 */ 0x0183, 0x0000, 0x01ab, 0x0000, 0x01d3,
{0xe280a2, 0x0095},
{0xe280a6, 0x0085}, /*** Three byte table, leaf: e280xx - offset 0x00183 ***/
{0xe280b0, 0x0089},
{0xe280b9, 0x008b}, /* 93 */ 0x0096, 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
{0xe280ba, 0x009b}, /* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
{0xe282ac, 0x0080}, /* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe284a2, 0x0099} /* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x001ab ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x001d3 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1251.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1251.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1251[ 127 ] = { static const uint16 win1251_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a4, 0x00a4}, static const pg_mb_radix_tree win1251_from_unicode_tree =
{0xc2a6, 0x00a6}, {
{0xc2a7, 0x00a7}, win1251_from_unicode_tree_table,
{0xc2a9, 0x00a9}, NULL, /* 32-bit table not used */
{0xc2ab, 0x00ab},
{0xc2ac, 0x00ac}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2ad, 0x00ad}, 0x00, /* b1_lower */
{0xc2ae, 0x00ae}, 0x00, /* b1_upper */
{0xc2b0, 0x00b0},
{0xc2b1, 0x00b1}, 0x0040, /* offset of table for 2-byte inputs */
{0xc2b5, 0x00b5}, 0xc2, /* b2_1_lower */
{0xc2b6, 0x00b6}, 0xd2, /* b2_1_upper */
{0xc2b7, 0x00b7}, 0x80, /* b2_2_lower */
{0xc2bb, 0x00bb}, 0xbf, /* b2_2_upper */
{0xd081, 0x00a8},
{0xd082, 0x0080}, 0x0140, /* offset of table for 3-byte inputs */
{0xd083, 0x0081}, 0xe2, /* b3_1_lower */
{0xd084, 0x00aa}, 0xe2, /* b3_1_upper */
{0xd085, 0x00bd}, 0x80, /* b3_2_lower */
{0xd086, 0x00b2}, 0x84, /* b3_2_upper */
{0xd087, 0x00af}, 0x93, /* b3_3_lower */
{0xd088, 0x00a3}, 0xba, /* b3_3_upper */
{0xd089, 0x008a},
{0xd08a, 0x008c}, 0x0000, /* offset of table for 3-byte inputs */
{0xd08b, 0x008e}, 0x00, /* b4_1_lower */
{0xd08c, 0x008d}, 0x00, /* b4_1_upper */
{0xd08e, 0x00a1}, 0x00, /* b4_2_lower */
{0xd08f, 0x008f}, 0x00, /* b4_2_upper */
{0xd090, 0x00c0}, 0x00, /* b4_3_lower */
{0xd091, 0x00c1}, 0x00, /* b4_3_upper */
{0xd092, 0x00c2}, 0x00, /* b4_4_lower */
{0xd093, 0x00c3}, 0x00 /* b4_4_upper */
{0xd094, 0x00c4}, };
{0xd095, 0x00c5},
{0xd096, 0x00c6}, static const uint16 win1251_from_unicode_tree_table[446] =
{0xd097, 0x00c7}, {
{0xd098, 0x00c8}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd099, 0x00c9},
{0xd09a, 0x00ca}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09b, 0x00cb}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09c, 0x00cc}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09d, 0x00cd}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09e, 0x00ce}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd09f, 0x00cf}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0a0, 0x00d0}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0a1, 0x00d1}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0a2, 0x00d2},
{0xd0a3, 0x00d3}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xd0a4, 0x00d4},
{0xd0a5, 0x00d5}, /* c2 */ 0x0051, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0a6, 0x00d6}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x00d0,
{0xd0a7, 0x00d7}, /* d2 */ 0x0100,
{0xd0a8, 0x00d8},
{0xd0a9, 0x00d9}, /*** Two byte table, leaf: c2xx - offset 0x00051 ***/
{0xd0aa, 0x00da},
{0xd0ab, 0x00db}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0ac, 0x00dc}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0ad, 0x00dd}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0ae, 0x00de}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0af, 0x00df}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x00a6, 0x00a7,
{0xd0b0, 0x00e0}, /* a8 */ 0x0000, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0000,
{0xd0b1, 0x00e1}, /* b0 */ 0x00b0, 0x00b1, 0x0000, 0x0000, 0x0000, 0x00b5, 0x00b6, 0x00b7,
{0xd0b2, 0x00e2}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00bb, 0x0000, 0x0000, 0x0000,
{0xd0b3, 0x00e3}, /* 1 trailing zero values shared with next segment */
{0xd0b4, 0x00e4},
{0xd0b5, 0x00e5}, /*** Two byte table, leaf: d0xx - offset 0x00090 ***/
{0xd0b6, 0x00e6},
{0xd0b7, 0x00e7}, /* 80 */ 0x0000, 0x00a8, 0x0080, 0x0081, 0x00aa, 0x00bd, 0x00b2, 0x00af,
{0xd0b8, 0x00e8}, /* 88 */ 0x00a3, 0x008a, 0x008c, 0x008e, 0x008d, 0x0000, 0x00a1, 0x008f,
{0xd0b9, 0x00e9}, /* 90 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xd0ba, 0x00ea}, /* 98 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xd0bb, 0x00eb}, /* a0 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xd0bc, 0x00ec}, /* a8 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xd0bd, 0x00ed}, /* b0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xd0be, 0x00ee}, /* b8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xd0bf, 0x00ef},
{0xd180, 0x00f0}, /*** Two byte table, leaf: d1xx - offset 0x000d0 ***/
{0xd181, 0x00f1},
{0xd182, 0x00f2}, /* 80 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xd183, 0x00f3}, /* 88 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
{0xd184, 0x00f4}, /* 90 */ 0x0000, 0x00b8, 0x0090, 0x0083, 0x00ba, 0x00be, 0x00b3, 0x00bf,
{0xd185, 0x00f5}, /* 98 */ 0x00bc, 0x009a, 0x009c, 0x009e, 0x009d, 0x0000, 0x00a2, 0x009f,
{0xd186, 0x00f6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd187, 0x00f7}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd188, 0x00f8}, /* 16 trailing zero values shared with next segment */
{0xd189, 0x00f9},
{0xd18a, 0x00fa}, /*** Two byte table, leaf: d2xx - offset 0x00100 ***/
{0xd18b, 0x00fb},
{0xd18c, 0x00fc}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18d, 0x00fd}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18e, 0x00fe}, /* 90 */ 0x00a5, 0x00b4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd18f, 0x00ff}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd191, 0x00b8}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd192, 0x0090}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd193, 0x0083}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd194, 0x00ba}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd195, 0x00be},
{0xd196, 0x00b3}, /*** Three byte table, byte #1: xx - offset 0x00140 ***/
{0xd197, 0x00bf},
{0xd198, 0x00bc}, /* e2 */ 0x0141,
{0xd199, 0x009a},
{0xd19a, 0x009c}, /*** Three byte table, byte #2: e2xx - offset 0x00141 ***/
{0xd19b, 0x009e},
{0xd19c, 0x009d}, /* 80 */ 0x0146, 0x0000, 0x016e, 0x0000, 0x0196,
{0xd19e, 0x00a2},
{0xd19f, 0x009f}, /*** Three byte table, leaf: e280xx - offset 0x00146 ***/
{0xd290, 0x00a5},
{0xd291, 0x00b4}, /* 93 */ 0x0096, 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
{0xe28093, 0x0096}, /* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
{0xe28094, 0x0097}, /* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28098, 0x0091}, /* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
{0xe28099, 0x0092}, /* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
{0xe2809a, 0x0082},
{0xe2809c, 0x0093}, /*** Three byte table, leaf: e282xx - offset 0x0016e ***/
{0xe2809d, 0x0094},
{0xe2809e, 0x0084}, /* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a0, 0x0086}, /* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a1, 0x0087}, /* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a2, 0x0095}, /* ab */ 0x0000, 0x0088, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a6, 0x0085}, /* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280b0, 0x0089},
{0xe280b9, 0x008b}, /*** Three byte table, leaf: e284xx - offset 0x00196 ***/
{0xe280ba, 0x009b},
{0xe282ac, 0x0088}, /* 93 */ 0x0000, 0x0000, 0x0000, 0x00b9, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28496, 0x00b9}, /* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
{0xe284a2, 0x0099} /* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1252.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1252.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1252[ 123 ] = { static const uint16 win1252_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a1, 0x00a1}, static const pg_mb_radix_tree win1252_from_unicode_tree =
{0xc2a2, 0x00a2}, {
{0xc2a3, 0x00a3}, win1252_from_unicode_tree_table,
{0xc2a4, 0x00a4}, NULL, /* 32-bit table not used */
{0xc2a5, 0x00a5},
{0xc2a6, 0x00a6}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a7, 0x00a7}, 0x00, /* b1_lower */
{0xc2a8, 0x00a8}, 0x00, /* b1_upper */
{0xc2a9, 0x00a9},
{0xc2aa, 0x00aa}, 0x0040, /* offset of table for 2-byte inputs */
{0xc2ab, 0x00ab}, 0xc2, /* b2_1_lower */
{0xc2ac, 0x00ac}, 0xcb, /* b2_1_upper */
{0xc2ad, 0x00ad}, 0x80, /* b2_2_lower */
{0xc2ae, 0x00ae}, 0xbf, /* b2_2_upper */
{0xc2af, 0x00af},
{0xc2b0, 0x00b0}, 0x0183, /* offset of table for 3-byte inputs */
{0xc2b1, 0x00b1}, 0xe2, /* b3_1_lower */
{0xc2b2, 0x00b2}, 0xe2, /* b3_1_upper */
{0xc2b3, 0x00b3}, 0x80, /* b3_2_lower */
{0xc2b4, 0x00b4}, 0x84, /* b3_2_upper */
{0xc2b5, 0x00b5}, 0x93, /* b3_3_lower */
{0xc2b6, 0x00b6}, 0xba, /* b3_3_upper */
{0xc2b7, 0x00b7},
{0xc2b8, 0x00b8}, 0x0000, /* offset of table for 3-byte inputs */
{0xc2b9, 0x00b9}, 0x00, /* b4_1_lower */
{0xc2ba, 0x00ba}, 0x00, /* b4_1_upper */
{0xc2bb, 0x00bb}, 0x00, /* b4_2_lower */
{0xc2bc, 0x00bc}, 0x00, /* b4_2_upper */
{0xc2bd, 0x00bd}, 0x00, /* b4_3_lower */
{0xc2be, 0x00be}, 0x00, /* b4_3_upper */
{0xc2bf, 0x00bf}, 0x00, /* b4_4_lower */
{0xc380, 0x00c0}, 0x00 /* b4_4_upper */
{0xc381, 0x00c1}, };
{0xc382, 0x00c2},
{0xc383, 0x00c3}, static const uint16 win1252_from_unicode_tree_table[513] =
{0xc384, 0x00c4}, {
{0xc385, 0x00c5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc386, 0x00c6},
{0xc387, 0x00c7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc388, 0x00c8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc389, 0x00c9}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38a, 0x00ca}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38b, 0x00cb}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38c, 0x00cc}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38d, 0x00cd}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38e, 0x00ce}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38f, 0x00cf},
{0xc390, 0x00d0}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc391, 0x00d1},
{0xc392, 0x00d2}, /* c2 */ 0x004a, 0x008a, 0x0000, 0x00ca, 0x0109, 0x0000, 0x0000, 0x0000,
{0xc393, 0x00d3}, /* ca */ 0x0000, 0x0143,
{0xc394, 0x00d4},
{0xc395, 0x00d5}, /*** Two byte table, leaf: c2xx - offset 0x0004a ***/
{0xc396, 0x00d6},
{0xc397, 0x00d7}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc398, 0x00d8}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc399, 0x00d9}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39a, 0x00da}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39b, 0x00db}, /* a0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xc39c, 0x00dc}, /* a8 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xc39d, 0x00dd}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xc39e, 0x00de}, /* b8 */ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xc39f, 0x00df},
{0xc3a0, 0x00e0}, /*** Two byte table, leaf: c3xx - offset 0x0008a ***/
{0xc3a1, 0x00e1},
{0xc3a2, 0x00e2}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xc3a3, 0x00e3}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc3a4, 0x00e4}, /* 90 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xc3a5, 0x00e5}, /* 98 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xc3a6, 0x00e6}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xc3a7, 0x00e7}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc3a8, 0x00e8}, /* b0 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xc3a9, 0x00e9}, /* b8 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff,
{0xc3aa, 0x00ea},
{0xc3ab, 0x00eb}, /*** Two byte table, leaf: c5xx - offset 0x000ca ***/
{0xc3ac, 0x00ec},
{0xc3ad, 0x00ed}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ae, 0x00ee}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3af, 0x00ef}, /* 90 */ 0x0000, 0x0000, 0x008c, 0x009c, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b0, 0x00f0}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b1, 0x00f1}, /* a0 */ 0x008a, 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b2, 0x00f2}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b3, 0x00f3}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b4, 0x00f4}, /* b8 */ 0x009f, 0x0000, 0x0000, 0x0000, 0x0000, 0x008e, 0x009e,
{0xc3b5, 0x00f5}, /* 1 trailing zero values shared with next segment */
{0xc3b6, 0x00f6},
{0xc3b7, 0x00f7}, /*** Two byte table, leaf: c6xx - offset 0x00109 ***/
{0xc3b8, 0x00f8},
{0xc3b9, 0x00f9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ba, 0x00fa}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bb, 0x00fb}, /* 90 */ 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bc, 0x00fc}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bd, 0x00fd}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3be, 0x00fe}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bf, 0x00ff}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc592, 0x008c}, /* b8 */ 0x0000, 0x0000,
{0xc593, 0x009c}, /* 6 trailing zero values shared with next segment */
{0xc5a0, 0x008a},
{0xc5a1, 0x009a}, /*** Two byte table, leaf: cbxx - offset 0x00143 ***/
{0xc5b8, 0x009f},
{0xc5bd, 0x008e}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000,
{0xc5be, 0x009e}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc692, 0x0083}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb86, 0x0088}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0x0000, 0x0000, 0x0000,
{0xcb9c, 0x0098}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28093, 0x0096}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28094, 0x0097}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28098, 0x0091}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28099, 0x0092},
{0xe2809a, 0x0082}, /*** Three byte table, byte #1: xx - offset 0x00183 ***/
{0xe2809c, 0x0093},
{0xe2809d, 0x0094}, /* e2 */ 0x0184,
{0xe2809e, 0x0084},
{0xe280a0, 0x0086}, /*** Three byte table, byte #2: e2xx - offset 0x00184 ***/
{0xe280a1, 0x0087},
{0xe280a2, 0x0095}, /* 80 */ 0x0189, 0x0000, 0x01b1, 0x0000, 0x01d9,
{0xe280a6, 0x0085},
{0xe280b0, 0x0089}, /*** Three byte table, leaf: e280xx - offset 0x00189 ***/
{0xe280b9, 0x008b},
{0xe280ba, 0x009b}, /* 93 */ 0x0096, 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
{0xe282ac, 0x0080}, /* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
{0xe284a2, 0x0099} /* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x001b1 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x001d9 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1253.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1253.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1253[ 111 ] = { static const uint16 win1253_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a3, 0x00a3}, static const pg_mb_radix_tree win1253_from_unicode_tree =
{0xc2a4, 0x00a4}, {
{0xc2a5, 0x00a5}, win1253_from_unicode_tree_table,
{0xc2a6, 0x00a6}, NULL, /* 32-bit table not used */
{0xc2a7, 0x00a7},
{0xc2a8, 0x00a8}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a9, 0x00a9}, 0x00, /* b1_lower */
{0xc2ab, 0x00ab}, 0x00, /* b1_upper */
{0xc2ac, 0x00ac},
{0xc2ad, 0x00ad}, 0x0040, /* offset of table for 2-byte inputs */
{0xc2ae, 0x00ae}, 0xc2, /* b2_1_lower */
{0xc2b0, 0x00b0}, 0xcf, /* b2_1_upper */
{0xc2b1, 0x00b1}, 0x80, /* b2_2_lower */
{0xc2b2, 0x00b2}, 0xbf, /* b2_2_upper */
{0xc2b3, 0x00b3},
{0xc2b5, 0x00b5}, 0x0148, /* offset of table for 3-byte inputs */
{0xc2b6, 0x00b6}, 0xe2, /* b3_1_lower */
{0xc2b7, 0x00b7}, 0xe2, /* b3_1_upper */
{0xc2bb, 0x00bb}, 0x80, /* b3_2_lower */
{0xc2bd, 0x00bd}, 0x84, /* b3_2_upper */
{0xc692, 0x0083}, 0x93, /* b3_3_lower */
{0xce84, 0x00b4}, 0xba, /* b3_3_upper */
{0xce85, 0x00a1},
{0xce86, 0x00a2}, 0x0000, /* offset of table for 3-byte inputs */
{0xce88, 0x00b8}, 0x00, /* b4_1_lower */
{0xce89, 0x00b9}, 0x00, /* b4_1_upper */
{0xce8a, 0x00ba}, 0x00, /* b4_2_lower */
{0xce8c, 0x00bc}, 0x00, /* b4_2_upper */
{0xce8e, 0x00be}, 0x00, /* b4_3_lower */
{0xce8f, 0x00bf}, 0x00, /* b4_3_upper */
{0xce90, 0x00c0}, 0x00, /* b4_4_lower */
{0xce91, 0x00c1}, 0x00 /* b4_4_upper */
{0xce92, 0x00c2}, };
{0xce93, 0x00c3},
{0xce94, 0x00c4}, static const uint16 win1253_from_unicode_tree_table[454] =
{0xce95, 0x00c5}, {
{0xce96, 0x00c6}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xce97, 0x00c7},
{0xce98, 0x00c8}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce99, 0x00c9}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9a, 0x00ca}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9b, 0x00cb}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9c, 0x00cc}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9d, 0x00cd}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9e, 0x00ce}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xce9f, 0x00cf}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcea0, 0x00d0},
{0xcea1, 0x00d1}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xcea3, 0x00d3},
{0xcea4, 0x00d4}, /* c2 */ 0x004e, 0x0000, 0x0000, 0x0000, 0x008c, 0x0000, 0x0000, 0x0000,
{0xcea5, 0x00d5}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x0108,
{0xcea6, 0x00d6},
{0xcea7, 0x00d7}, /*** Two byte table, leaf: c2xx - offset 0x0004e ***/
{0xcea8, 0x00d8},
{0xcea9, 0x00d9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceaa, 0x00da}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceab, 0x00db}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceac, 0x00dc}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcead, 0x00dd}, /* a0 */ 0x00a0, 0x0000, 0x0000, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xceae, 0x00de}, /* a8 */ 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0000,
{0xceaf, 0x00df}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0000, 0x00b5, 0x00b6, 0x00b7,
{0xceb0, 0x00e0}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00bb, 0x0000, 0x00bd,
{0xceb1, 0x00e1}, /* 2 trailing zero values shared with next segment */
{0xceb2, 0x00e2},
{0xceb3, 0x00e3}, /*** Two byte table, leaf: c6xx - offset 0x0008c ***/
{0xceb4, 0x00e4},
{0xceb5, 0x00e5}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb6, 0x00e6}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb7, 0x00e7}, /* 90 */ 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb8, 0x00e8}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceb9, 0x00e9}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xceba, 0x00ea}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcebb, 0x00eb}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcebc, 0x00ec}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000,
{0xcebd, 0x00ed}, /* 4 trailing zero values shared with next segment */
{0xcebe, 0x00ee},
{0xcebf, 0x00ef}, /*** Two byte table, leaf: cexx - offset 0x000c8 ***/
{0xcf80, 0x00f0},
{0xcf81, 0x00f1}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00b4, 0x00a1, 0x00a2, 0x0000,
{0xcf82, 0x00f2}, /* 88 */ 0x00b8, 0x00b9, 0x00ba, 0x0000, 0x00bc, 0x0000, 0x00be, 0x00bf,
{0xcf83, 0x00f3}, /* 90 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xcf84, 0x00f4}, /* 98 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xcf85, 0x00f5}, /* a0 */ 0x00d0, 0x00d1, 0x0000, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xcf86, 0x00f6}, /* a8 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
{0xcf87, 0x00f7}, /* b0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xcf88, 0x00f8}, /* b8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xcf89, 0x00f9},
{0xcf8a, 0x00fa}, /*** Two byte table, leaf: cfxx - offset 0x00108 ***/
{0xcf8b, 0x00fb},
{0xcf8c, 0x00fc}, /* 80 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xcf8d, 0x00fd}, /* 88 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0000,
{0xcf8e, 0x00fe}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28093, 0x0096}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28094, 0x0097}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28095, 0x00af}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28098, 0x0091}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28099, 0x0092}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809a, 0x0082},
{0xe2809c, 0x0093}, /*** Three byte table, byte #1: xx - offset 0x00148 ***/
{0xe2809d, 0x0094},
{0xe2809e, 0x0084}, /* e2 */ 0x0149,
{0xe280a0, 0x0086},
{0xe280a1, 0x0087}, /*** Three byte table, byte #2: e2xx - offset 0x00149 ***/
{0xe280a2, 0x0095},
{0xe280a6, 0x0085}, /* 80 */ 0x014e, 0x0000, 0x0176, 0x0000, 0x019e,
{0xe280b0, 0x0089},
{0xe280b9, 0x008b}, /*** Three byte table, leaf: e280xx - offset 0x0014e ***/
{0xe280ba, 0x009b},
{0xe282ac, 0x0080}, /* 93 */ 0x0096, 0x0097, 0x00af, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
{0xe284a2, 0x0099} /* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x00176 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x0019e ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1254.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1254.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1254[ 121 ] = { static const uint16 win1254_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a1, 0x00a1}, static const pg_mb_radix_tree win1254_from_unicode_tree =
{0xc2a2, 0x00a2}, {
{0xc2a3, 0x00a3}, win1254_from_unicode_tree_table,
{0xc2a4, 0x00a4}, NULL, /* 32-bit table not used */
{0xc2a5, 0x00a5},
{0xc2a6, 0x00a6}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a7, 0x00a7}, 0x00, /* b1_lower */
{0xc2a8, 0x00a8}, 0x00, /* b1_upper */
{0xc2a9, 0x00a9},
{0xc2aa, 0x00aa}, 0x0040, /* offset of table for 2-byte inputs */
{0xc2ab, 0x00ab}, 0xc2, /* b2_1_lower */
{0xc2ac, 0x00ac}, 0xcb, /* b2_1_upper */
{0xc2ad, 0x00ad}, 0x80, /* b2_2_lower */
{0xc2ae, 0x00ae}, 0xbf, /* b2_2_upper */
{0xc2af, 0x00af},
{0xc2b0, 0x00b0}, 0x01af, /* offset of table for 3-byte inputs */
{0xc2b1, 0x00b1}, 0xe2, /* b3_1_lower */
{0xc2b2, 0x00b2}, 0xe2, /* b3_1_upper */
{0xc2b3, 0x00b3}, 0x80, /* b3_2_lower */
{0xc2b4, 0x00b4}, 0x84, /* b3_2_upper */
{0xc2b5, 0x00b5}, 0x93, /* b3_3_lower */
{0xc2b6, 0x00b6}, 0xba, /* b3_3_upper */
{0xc2b7, 0x00b7},
{0xc2b8, 0x00b8}, 0x0000, /* offset of table for 3-byte inputs */
{0xc2b9, 0x00b9}, 0x00, /* b4_1_lower */
{0xc2ba, 0x00ba}, 0x00, /* b4_1_upper */
{0xc2bb, 0x00bb}, 0x00, /* b4_2_lower */
{0xc2bc, 0x00bc}, 0x00, /* b4_2_upper */
{0xc2bd, 0x00bd}, 0x00, /* b4_3_lower */
{0xc2be, 0x00be}, 0x00, /* b4_3_upper */
{0xc2bf, 0x00bf}, 0x00, /* b4_4_lower */
{0xc380, 0x00c0}, 0x00 /* b4_4_upper */
{0xc381, 0x00c1}, };
{0xc382, 0x00c2},
{0xc383, 0x00c3}, static const uint16 win1254_from_unicode_tree_table[557] =
{0xc384, 0x00c4}, {
{0xc385, 0x00c5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc386, 0x00c6},
{0xc387, 0x00c7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc388, 0x00c8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc389, 0x00c9}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38a, 0x00ca}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38b, 0x00cb}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38c, 0x00cc}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38d, 0x00cd}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38e, 0x00ce}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38f, 0x00cf},
{0xc391, 0x00d1}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc392, 0x00d2},
{0xc393, 0x00d3}, /* c2 */ 0x004a, 0x008a, 0x00ca, 0x00fc, 0x0135, 0x0000, 0x0000, 0x0000,
{0xc394, 0x00d4}, /* ca */ 0x0000, 0x016f,
{0xc395, 0x00d5},
{0xc396, 0x00d6}, /*** Two byte table, leaf: c2xx - offset 0x0004a ***/
{0xc397, 0x00d7},
{0xc398, 0x00d8}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc399, 0x00d9}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39a, 0x00da}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39b, 0x00db}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39c, 0x00dc}, /* a0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xc39f, 0x00df}, /* a8 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xc3a0, 0x00e0}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xc3a1, 0x00e1}, /* b8 */ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xc3a2, 0x00e2},
{0xc3a3, 0x00e3}, /*** Two byte table, leaf: c3xx - offset 0x0008a ***/
{0xc3a4, 0x00e4},
{0xc3a5, 0x00e5}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xc3a6, 0x00e6}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xc3a7, 0x00e7}, /* 90 */ 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xc3a8, 0x00e8}, /* 98 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc3a9, 0x00e9}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xc3aa, 0x00ea}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xc3ab, 0x00eb}, /* b0 */ 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
{0xc3ac, 0x00ec}, /* b8 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0000, 0x0000, 0x00ff,
{0xc3ad, 0x00ed},
{0xc3ae, 0x00ee}, /*** Two byte table, leaf: c4xx - offset 0x000ca ***/
{0xc3af, 0x00ef},
{0xc3b1, 0x00f1}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b2, 0x00f2}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b3, 0x00f3}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b4, 0x00f4}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d0, 0x00f0,
{0xc3b5, 0x00f5}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b6, 0x00f6}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b7, 0x00f7}, /* b0 */ 0x00dd, 0x00fd,
{0xc3b8, 0x00f8}, /* 14 trailing zero values shared with next segment */
{0xc3b9, 0x00f9},
{0xc3ba, 0x00fa}, /*** Two byte table, leaf: c5xx - offset 0x000fc ***/
{0xc3bb, 0x00fb},
{0xc3bc, 0x00fc}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bf, 0x00ff}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc49e, 0x00d0}, /* 90 */ 0x0000, 0x0000, 0x008c, 0x009c, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc49f, 0x00f0}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00de, 0x00fe,
{0xc4b0, 0x00dd}, /* a0 */ 0x008a, 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4b1, 0x00fd}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc592, 0x008c}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc593, 0x009c}, /* b8 */ 0x009f,
{0xc59e, 0x00de}, /* 7 trailing zero values shared with next segment */
{0xc59f, 0x00fe},
{0xc5a0, 0x008a}, /*** Two byte table, leaf: c6xx - offset 0x00135 ***/
{0xc5a1, 0x009a},
{0xc5b8, 0x009f}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc692, 0x0083}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb86, 0x0088}, /* 90 */ 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb9c, 0x0098}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28093, 0x0096}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28094, 0x0097}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28098, 0x0091}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28099, 0x0092}, /* b8 */ 0x0000, 0x0000,
{0xe2809a, 0x0082}, /* 6 trailing zero values shared with next segment */
{0xe2809c, 0x0093},
{0xe2809d, 0x0094}, /*** Two byte table, leaf: cbxx - offset 0x0016f ***/
{0xe2809e, 0x0084},
{0xe280a0, 0x0086}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000,
{0xe280a1, 0x0087}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a2, 0x0095}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a6, 0x0085}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0x0000, 0x0000, 0x0000,
{0xe280b0, 0x0089}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280b9, 0x008b}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280ba, 0x009b}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe282ac, 0x0080}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe284a2, 0x0099}
/*** Three byte table, byte #1: xx - offset 0x001af ***/
/* e2 */ 0x01b0,
/*** Three byte table, byte #2: e2xx - offset 0x001b0 ***/
/* 80 */ 0x01b5, 0x0000, 0x01dd, 0x0000, 0x0205,
/*** Three byte table, leaf: e280xx - offset 0x001b5 ***/
/* 93 */ 0x0096, 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
/* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x001dd ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x00205 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1255.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1255.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1255[ 105 ] = { static const uint16 win1255_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a1, 0x00a1}, static const pg_mb_radix_tree win1255_from_unicode_tree =
{0xc2a2, 0x00a2}, {
{0xc2a3, 0x00a3}, win1255_from_unicode_tree_table,
{0xc2a5, 0x00a5}, NULL, /* 32-bit table not used */
{0xc2a6, 0x00a6},
{0xc2a7, 0x00a7}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a8, 0x00a8}, 0x00, /* b1_lower */
{0xc2a9, 0x00a9}, 0x00, /* b1_upper */
{0xc2ab, 0x00ab},
{0xc2ac, 0x00ac}, 0x0040, /* offset of table for 2-byte inputs */
{0xc2ad, 0x00ad}, 0xc2, /* b2_1_lower */
{0xc2ae, 0x00ae}, 0xd7, /* b2_1_upper */
{0xc2af, 0x00af}, 0x80, /* b2_2_lower */
{0xc2b0, 0x00b0}, 0xbf, /* b2_2_upper */
{0xc2b1, 0x00b1},
{0xc2b2, 0x00b2}, 0x01a5, /* offset of table for 3-byte inputs */
{0xc2b3, 0x00b3}, 0xe2, /* b3_1_lower */
{0xc2b4, 0x00b4}, 0xe2, /* b3_1_upper */
{0xc2b5, 0x00b5}, 0x80, /* b3_2_lower */
{0xc2b6, 0x00b6}, 0x84, /* b3_2_upper */
{0xc2b7, 0x00b7}, 0x8e, /* b3_3_lower */
{0xc2b8, 0x00b8}, 0xba, /* b3_3_upper */
{0xc2b9, 0x00b9},
{0xc2bb, 0x00bb}, 0x0000, /* offset of table for 3-byte inputs */
{0xc2bc, 0x00bc}, 0x00, /* b4_1_lower */
{0xc2bd, 0x00bd}, 0x00, /* b4_1_upper */
{0xc2be, 0x00be}, 0x00, /* b4_2_lower */
{0xc2bf, 0x00bf}, 0x00, /* b4_2_upper */
{0xc397, 0x00aa}, 0x00, /* b4_3_lower */
{0xc3b7, 0x00ba}, 0x00, /* b4_3_upper */
{0xc692, 0x0083}, 0x00, /* b4_4_lower */
{0xcb86, 0x0088}, 0x00 /* b4_4_upper */
{0xcb9c, 0x0098}, };
{0xd6b0, 0x00c0},
{0xd6b1, 0x00c1}, static const uint16 win1255_from_unicode_tree_table[562] =
{0xd6b2, 0x00c2}, {
{0xd6b3, 0x00c3}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd6b4, 0x00c4},
{0xd6b5, 0x00c5}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6b6, 0x00c6}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6b7, 0x00c7}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6b8, 0x00c8}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6b9, 0x00c9}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6bb, 0x00cb}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6bc, 0x00cc}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6bd, 0x00cd}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd6be, 0x00ce},
{0xd6bf, 0x00cf}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xd780, 0x00d0},
{0xd781, 0x00d1}, /* c2 */ 0x0056, 0x0096, 0x0000, 0x0000, 0x00ce, 0x0000, 0x0000, 0x0000,
{0xd782, 0x00d2}, /* ca */ 0x0000, 0x0108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd783, 0x00d3}, /* d2 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0125, 0x0165,
{0xd790, 0x00e0},
{0xd791, 0x00e1}, /*** Two byte table, leaf: c2xx - offset 0x00056 ***/
{0xd792, 0x00e2},
{0xd793, 0x00e3}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd794, 0x00e4}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd795, 0x00e5}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd796, 0x00e6}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd797, 0x00e7}, /* a0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x0000, 0x00a5, 0x00a6, 0x00a7,
{0xd798, 0x00e8}, /* a8 */ 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xd799, 0x00e9}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xd79a, 0x00ea}, /* b8 */ 0x00b8, 0x00b9, 0x0000, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xd79b, 0x00eb},
{0xd79c, 0x00ec}, /*** Two byte table, leaf: c3xx - offset 0x00096 ***/
{0xd79d, 0x00ed},
{0xd79e, 0x00ee}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd79f, 0x00ef}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a0, 0x00f0}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00aa,
{0xd7a1, 0x00f1}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a2, 0x00f2}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a3, 0x00f3}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7a4, 0x00f4}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ba,
{0xd7a5, 0x00f5}, /* 8 trailing zero values shared with next segment */
{0xd7a6, 0x00f6},
{0xd7a7, 0x00f7}, /*** Two byte table, leaf: c6xx - offset 0x000ce ***/
{0xd7a8, 0x00f8},
{0xd7a9, 0x00f9}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7aa, 0x00fa}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7b0, 0x00d4}, /* 90 */ 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7b1, 0x00d5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7b2, 0x00d6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7b3, 0x00d7}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd7b4, 0x00d8}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2808e, 0x00fd}, /* b8 */ 0x0000, 0x0000,
{0xe2808f, 0x00fe}, /* 6 trailing zero values shared with next segment */
{0xe28093, 0x0096},
{0xe28094, 0x0097}, /*** Two byte table, leaf: cbxx - offset 0x00108 ***/
{0xe28098, 0x0091},
{0xe28099, 0x0092}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000,
{0xe2809a, 0x0082}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809c, 0x0093}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809d, 0x0094}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0098,
{0xe2809e, 0x0084}, /* 35 trailing zero values shared with next segment */
{0xe280a0, 0x0086},
{0xe280a1, 0x0087}, /*** Two byte table, leaf: d6xx - offset 0x00125 ***/
{0xe280a2, 0x0095},
{0xe280a6, 0x0085}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280b0, 0x0089}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280b9, 0x008b}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280ba, 0x009b}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe282aa, 0x00a4}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe282ac, 0x0080}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe284a2, 0x0099} /* b0 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
/* b8 */ 0x00c8, 0x00c9, 0x0000, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
/*** Two byte table, leaf: d7xx - offset 0x00165 ***/
/* 80 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
/* 98 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
/* a0 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
/* a8 */ 0x00f8, 0x00f9, 0x00fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x00d4, 0x00d5, 0x00d6, 0x00d7, 0x00d8, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, byte #1: xx - offset 0x001a5 ***/
/* e2 */ 0x01a6,
/*** Three byte table, byte #2: e2xx - offset 0x001a6 ***/
/* 80 */ 0x01ab, 0x0000, 0x01d8, 0x0000, 0x0205,
/*** Three byte table, leaf: e280xx - offset 0x001ab ***/
/* 8e */ 0x00fd, 0x00fe, 0x0000, 0x0000, 0x0000, 0x0096, 0x0097, 0x0000,
/* 96 */ 0x0000, 0x0000, 0x0091, 0x0092, 0x0082, 0x0000, 0x0093, 0x0094,
/* 9e */ 0x0084, 0x0000, 0x0086, 0x0087, 0x0095, 0x0000, 0x0000, 0x0000,
/* a6 */ 0x0085, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ae */ 0x0000, 0x0000, 0x0089, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b6 */ 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x001d8 ***/
/* 8e */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 96 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9e */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0080, 0x0000,
/* ae */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x00205 ***/
/* 8e */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 96 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9e */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x0000, 0x0000, 0x0000,
/* a6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ae */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b6 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1256.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1256.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1256[ 128 ] = { static const uint16 win1256_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a2, 0x00a2}, static const pg_mb_radix_tree win1256_from_unicode_tree =
{0xc2a3, 0x00a3}, {
{0xc2a4, 0x00a4}, win1256_from_unicode_tree_table,
{0xc2a5, 0x00a5}, NULL, /* 32-bit table not used */
{0xc2a6, 0x00a6},
{0xc2a7, 0x00a7}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a8, 0x00a8}, 0x00, /* b1_lower */
{0xc2a9, 0x00a9}, 0x00, /* b1_upper */
{0xc2ab, 0x00ab},
{0xc2ac, 0x00ac}, 0x003f, /* offset of table for 2-byte inputs */
{0xc2ad, 0x00ad}, 0xc2, /* b2_1_lower */
{0xc2ae, 0x00ae}, 0xdb, /* b2_1_upper */
{0xc2af, 0x00af}, 0x80, /* b2_2_lower */
{0xc2b0, 0x00b0}, 0xbe, /* b2_2_upper */
{0xc2b1, 0x00b1},
{0xc2b2, 0x00b2}, 0x026a, /* offset of table for 3-byte inputs */
{0xc2b3, 0x00b3}, 0xe2, /* b3_1_lower */
{0xc2b4, 0x00b4}, 0xe2, /* b3_1_upper */
{0xc2b5, 0x00b5}, 0x80, /* b3_2_lower */
{0xc2b6, 0x00b6}, 0x84, /* b3_2_upper */
{0xc2b7, 0x00b7}, 0x8c, /* b3_3_lower */
{0xc2b8, 0x00b8}, 0xba, /* b3_3_upper */
{0xc2b9, 0x00b9},
{0xc2bb, 0x00bb}, 0x0000, /* offset of table for 3-byte inputs */
{0xc2bc, 0x00bc}, 0x00, /* b4_1_lower */
{0xc2bd, 0x00bd}, 0x00, /* b4_1_upper */
{0xc2be, 0x00be}, 0x00, /* b4_2_lower */
{0xc397, 0x00d7}, 0x00, /* b4_2_upper */
{0xc3a0, 0x00e0}, 0x00, /* b4_3_lower */
{0xc3a2, 0x00e2}, 0x00, /* b4_3_upper */
{0xc3a7, 0x00e7}, 0x00, /* b4_4_lower */
{0xc3a8, 0x00e8}, 0x00 /* b4_4_upper */
{0xc3a9, 0x00e9}, };
{0xc3aa, 0x00ea},
{0xc3ab, 0x00eb}, static const uint16 win1256_from_unicode_tree_table[765] =
{0xc3ae, 0x00ee}, {
{0xc3af, 0x00ef}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc3b4, 0x00f4},
{0xc3b7, 0x00f7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b9, 0x00f9}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bb, 0x00fb}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bc, 0x00fc}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc592, 0x008c}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc593, 0x009c}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc692, 0x0083}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb86, 0x0088}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd88c, 0x00a1},
{0xd89b, 0x00ba}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xd89f, 0x00bf},
{0xd8a1, 0x00c1}, /* c2 */ 0x0059, 0x0098, 0x0000, 0x00d5, 0x0102, 0x0000, 0x0000, 0x0000,
{0xd8a2, 0x00c2}, /* ca */ 0x0000, 0x013b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a3, 0x00c3}, /* d2 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x016e, 0x01ad,
{0xd8a4, 0x00c4}, /* da */ 0x01ec, 0x022b,
{0xd8a5, 0x00c5},
{0xd8a6, 0x00c6}, /*** Two byte table, leaf: c2xx - offset 0x00059 ***/
{0xd8a7, 0x00c7},
{0xd8a8, 0x00c8}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8a9, 0x00c9}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8aa, 0x00ca}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8ab, 0x00cb}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8ac, 0x00cc}, /* a0 */ 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xd8ad, 0x00cd}, /* a8 */ 0x00a8, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xd8ae, 0x00ce}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xd8af, 0x00cf}, /* b8 */ 0x00b8, 0x00b9, 0x0000, 0x00bb, 0x00bc, 0x00bd, 0x00be,
{0xd8b0, 0x00d0},
{0xd8b1, 0x00d1}, /*** Two byte table, leaf: c3xx - offset 0x00098 ***/
{0xd8b2, 0x00d2},
{0xd8b3, 0x00d3}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8b4, 0x00d4}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8b5, 0x00d5}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d7,
{0xd8b6, 0x00d6}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd8b7, 0x00d8}, /* a0 */ 0x00e0, 0x0000, 0x00e2, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e7,
{0xd8b8, 0x00d9}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0000, 0x0000, 0x00ee, 0x00ef,
{0xd8b9, 0x00da}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00f4, 0x0000, 0x0000, 0x00f7,
{0xd8ba, 0x00db}, /* b8 */ 0x0000, 0x00f9, 0x0000, 0x00fb, 0x00fc,
{0xd980, 0x00dc}, /* 2 trailing zero values shared with next segment */
{0xd981, 0x00dd},
{0xd982, 0x00de}, /*** Two byte table, leaf: c5xx - offset 0x000d5 ***/
{0xd983, 0x00df},
{0xd984, 0x00e1}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd985, 0x00e3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd986, 0x00e4}, /* 90 */ 0x0000, 0x0000, 0x008c, 0x009c, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd987, 0x00e5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd988, 0x00e6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd989, 0x00ec}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd98a, 0x00ed}, /* 18 trailing zero values shared with next segment */
{0xd98b, 0x00f0},
{0xd98c, 0x00f1}, /*** Two byte table, leaf: c6xx - offset 0x00102 ***/
{0xd98d, 0x00f2},
{0xd98e, 0x00f3}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd98f, 0x00f5}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd990, 0x00f6}, /* 90 */ 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd991, 0x00f8}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd992, 0x00fa}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd9b9, 0x008a}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd9be, 0x0081}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xda86, 0x008d}, /* b8 */ 0x0000,
{0xda88, 0x008f}, /* 6 trailing zero values shared with next segment */
{0xda91, 0x009a},
{0xda98, 0x008e}, /*** Two byte table, leaf: cbxx - offset 0x0013b ***/
{0xdaa9, 0x0098},
{0xdaaf, 0x0090}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000,
{0xdaba, 0x009f}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xdabe, 0x00aa}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xdb81, 0x00c0}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xdb92, 0x00ff}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2808c, 0x009d}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2808d, 0x009e}, /* b0 */ 0x0000, 0x0000, 0x0000,
{0xe2808e, 0x00fd}, /* 12 trailing zero values shared with next segment */
{0xe2808f, 0x00fe},
{0xe28093, 0x0096}, /*** Two byte table, leaf: d8xx - offset 0x0016e ***/
{0xe28094, 0x0097},
{0xe28098, 0x0091}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28099, 0x0092}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00a1, 0x0000, 0x0000, 0x0000,
{0xe2809a, 0x0082}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809c, 0x0093}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x00ba, 0x0000, 0x0000, 0x0000, 0x00bf,
{0xe2809d, 0x0094}, /* a0 */ 0x0000, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xe2809e, 0x0084}, /* a8 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xe280a0, 0x0086}, /* b0 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d8,
{0xe280a1, 0x0087}, /* b8 */ 0x00d9, 0x00da, 0x00db, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a2, 0x0095},
{0xe280a6, 0x0085}, /*** Two byte table, leaf: d9xx - offset 0x001ad ***/
{0xe280b0, 0x0089},
{0xe280b9, 0x008b}, /* 80 */ 0x00dc, 0x00dd, 0x00de, 0x00df, 0x00e1, 0x00e3, 0x00e4, 0x00e5,
{0xe280ba, 0x009b}, /* 88 */ 0x00e6, 0x00ec, 0x00ed, 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f5,
{0xe282ac, 0x0080}, /* 90 */ 0x00f6, 0x00f8, 0x00fa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe284a2, 0x0099} /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x008a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0081,
/*** Two byte table, leaf: daxx - offset 0x001ec ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008d, 0x0000,
/* 88 */ 0x008f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x009a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x008e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0098, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x009f, 0x0000, 0x0000, 0x0000, 0x00aa,
/*** Two byte table, leaf: dbxx - offset 0x0022b ***/
/* 80 */ 0x0000, 0x00c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, byte #1: xx - offset 0x0026a ***/
/* e2 */ 0x026b,
/*** Three byte table, byte #2: e2xx - offset 0x0026b ***/
/* 80 */ 0x0270, 0x0000, 0x029f, 0x0000, 0x02ce,
/*** Three byte table, leaf: e280xx - offset 0x00270 ***/
/* 8c */ 0x009d, 0x009e, 0x00fd, 0x00fe, 0x0000, 0x0000, 0x0000, 0x0096,
/* 94 */ 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082, 0x0000,
/* 9c */ 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095, 0x0000,
/* a4 */ 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ac */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000, 0x0000,
/* b4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x0029f ***/
/* 8c */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 94 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9c */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ac */ 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x002ce ***/
/* 8c */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 94 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9c */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x0000,
/* a4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ac */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b4 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1257.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1257.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1257[ 116 ] = { static const uint16 win1257_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a2, 0x00a2}, static const pg_mb_radix_tree win1257_from_unicode_tree =
{0xc2a3, 0x00a3}, {
{0xc2a4, 0x00a4}, win1257_from_unicode_tree_table,
{0xc2a6, 0x00a6}, NULL, /* 32-bit table not used */
{0xc2a7, 0x00a7},
{0xc2a8, 0x008d}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a9, 0x00a9}, 0x00, /* b1_lower */
{0xc2ab, 0x00ab}, 0x00, /* b1_upper */
{0xc2ac, 0x00ac},
{0xc2ad, 0x00ad}, 0x003f, /* offset of table for 2-byte inputs */
{0xc2ae, 0x00ae}, 0xc2, /* b2_1_lower */
{0xc2af, 0x009d}, 0xcb, /* b2_1_upper */
{0xc2b0, 0x00b0}, 0x80, /* b2_2_lower */
{0xc2b1, 0x00b1}, 0xbe, /* b2_2_upper */
{0xc2b2, 0x00b2},
{0xc2b3, 0x00b3}, 0x0183, /* offset of table for 3-byte inputs */
{0xc2b4, 0x00b4}, 0xe2, /* b3_1_lower */
{0xc2b5, 0x00b5}, 0xe2, /* b3_1_upper */
{0xc2b6, 0x00b6}, 0x80, /* b3_2_lower */
{0xc2b7, 0x00b7}, 0x84, /* b3_2_upper */
{0xc2b8, 0x008f}, 0x93, /* b3_3_lower */
{0xc2b9, 0x00b9}, 0xba, /* b3_3_upper */
{0xc2bb, 0x00bb},
{0xc2bc, 0x00bc}, 0x0000, /* offset of table for 3-byte inputs */
{0xc2bd, 0x00bd}, 0x00, /* b4_1_lower */
{0xc2be, 0x00be}, 0x00, /* b4_1_upper */
{0xc384, 0x00c4}, 0x00, /* b4_2_lower */
{0xc385, 0x00c5}, 0x00, /* b4_2_upper */
{0xc386, 0x00af}, 0x00, /* b4_3_lower */
{0xc389, 0x00c9}, 0x00, /* b4_3_upper */
{0xc393, 0x00d3}, 0x00, /* b4_4_lower */
{0xc395, 0x00d5}, 0x00 /* b4_4_upper */
{0xc396, 0x00d6}, };
{0xc397, 0x00d7},
{0xc398, 0x00a8}, static const uint16 win1257_from_unicode_tree_table[513] =
{0xc39c, 0x00dc}, {
{0xc39f, 0x00df}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc3a4, 0x00e4},
{0xc3a5, 0x00e5}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a6, 0x00bf}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a9, 0x00e9}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b3, 0x00f3}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b5, 0x00f5}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b6, 0x00f6}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b7, 0x00f7}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3b8, 0x00b8}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bc, 0x00fc},
{0xc480, 0x00c2}, /*** Two byte table, byte #1: xx - offset 0x0003f ***/
{0xc481, 0x00e2},
{0xc484, 0x00c0}, /* c2 */ 0x0049, 0x0088, 0x00c7, 0x0105, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc485, 0x00e0}, /* ca */ 0x0000, 0x0144,
{0xc486, 0x00c3},
{0xc487, 0x00e3}, /*** Two byte table, leaf: c2xx - offset 0x00049 ***/
{0xc48c, 0x00c8},
{0xc48d, 0x00e8}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc492, 0x00c7}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc493, 0x00e7}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc496, 0x00cb}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc497, 0x00eb}, /* a0 */ 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x0000, 0x00a6, 0x00a7,
{0xc498, 0x00c6}, /* a8 */ 0x008d, 0x00a9, 0x0000, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x009d,
{0xc499, 0x00e6}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xc4a2, 0x00cc}, /* b8 */ 0x008f, 0x00b9, 0x0000, 0x00bb, 0x00bc, 0x00bd, 0x00be,
{0xc4a3, 0x00ec},
{0xc4aa, 0x00ce}, /*** Two byte table, leaf: c3xx - offset 0x00088 ***/
{0xc4ab, 0x00ee},
{0xc4ae, 0x00c1}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c4, 0x00c5, 0x00af, 0x0000,
{0xc4af, 0x00e1}, /* 88 */ 0x0000, 0x00c9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc4b6, 0x00cd}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x00d3, 0x0000, 0x00d5, 0x00d6, 0x00d7,
{0xc4b7, 0x00ed}, /* 98 */ 0x00a8, 0x0000, 0x0000, 0x0000, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc4bb, 0x00cf}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00e4, 0x00e5, 0x00bf, 0x0000,
{0xc4bc, 0x00ef}, /* a8 */ 0x0000, 0x00e9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc581, 0x00d9}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x00f3, 0x0000, 0x00f5, 0x00f6, 0x00f7,
{0xc582, 0x00f9}, /* b8 */ 0x00b8, 0x0000, 0x0000, 0x0000, 0x00fc, 0x0000, 0x0000,
{0xc583, 0x00d1},
{0xc584, 0x00f1}, /*** Two byte table, leaf: c4xx - offset 0x000c7 ***/
{0xc585, 0x00d2},
{0xc586, 0x00f2}, /* 80 */ 0x00c2, 0x00e2, 0x0000, 0x0000, 0x00c0, 0x00e0, 0x00c3, 0x00e3,
{0xc58c, 0x00d4}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c8, 0x00e8, 0x0000, 0x0000,
{0xc58d, 0x00f4}, /* 90 */ 0x0000, 0x0000, 0x00c7, 0x00e7, 0x0000, 0x0000, 0x00cb, 0x00eb,
{0xc596, 0x00aa}, /* 98 */ 0x00c6, 0x00e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc597, 0x00ba}, /* a0 */ 0x0000, 0x0000, 0x00cc, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc59a, 0x00da}, /* a8 */ 0x0000, 0x0000, 0x00ce, 0x00ee, 0x0000, 0x0000, 0x00c1, 0x00e1,
{0xc59b, 0x00fa}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00cd, 0x00ed,
{0xc5a0, 0x00d0}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x00cf, 0x00ef, 0x0000,
{0xc5a1, 0x00f0}, /* 1 trailing zero values shared with next segment */
{0xc5aa, 0x00db},
{0xc5ab, 0x00fb}, /*** Two byte table, leaf: c5xx - offset 0x00105 ***/
{0xc5b2, 0x00d8},
{0xc5b3, 0x00f8}, /* 80 */ 0x0000, 0x00d9, 0x00f9, 0x00d1, 0x00f1, 0x00d2, 0x00f2, 0x0000,
{0xc5b9, 0x00ca}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00d4, 0x00f4, 0x0000, 0x0000,
{0xc5ba, 0x00ea}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00aa, 0x00ba,
{0xc5bb, 0x00dd}, /* 98 */ 0x0000, 0x0000, 0x00da, 0x00fa, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5bc, 0x00fd}, /* a0 */ 0x00d0, 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5bd, 0x00de}, /* a8 */ 0x0000, 0x0000, 0x00db, 0x00fb, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5be, 0x00fe}, /* b0 */ 0x0000, 0x0000, 0x00d8, 0x00f8, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb87, 0x008e}, /* b8 */ 0x0000, 0x00ca, 0x00ea, 0x00dd, 0x00fd, 0x00de, 0x00fe,
{0xcb99, 0x00ff},
{0xcb9b, 0x009e}, /*** Two byte table, leaf: cbxx - offset 0x00144 ***/
{0xe28093, 0x0096},
{0xe28094, 0x0097}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008e,
{0xe28098, 0x0091}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28099, 0x0092}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809a, 0x0082}, /* 98 */ 0x0000, 0x00ff, 0x0000, 0x009e, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809c, 0x0093}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809d, 0x0094}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809e, 0x0084}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a0, 0x0086}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280a1, 0x0087},
{0xe280a2, 0x0095}, /*** Three byte table, byte #1: xx - offset 0x00183 ***/
{0xe280a6, 0x0085},
{0xe280b0, 0x0089}, /* e2 */ 0x0184,
{0xe280b9, 0x008b},
{0xe280ba, 0x009b}, /*** Three byte table, byte #2: e2xx - offset 0x00184 ***/
{0xe282ac, 0x0080},
{0xe284a2, 0x0099} /* 80 */ 0x0189, 0x0000, 0x01b1, 0x0000, 0x01d9,
/*** Three byte table, leaf: e280xx - offset 0x00189 ***/
/* 93 */ 0x0096, 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
/* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x001b1 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x001d9 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win1258.map */ /* src/backend/utils/mb/Unicode/utf8_to_win1258.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN1258[ 119 ] = { static const uint16 win1258_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xc2a1, 0x00a1}, static const pg_mb_radix_tree win1258_from_unicode_tree =
{0xc2a2, 0x00a2}, {
{0xc2a3, 0x00a3}, win1258_from_unicode_tree_table,
{0xc2a4, 0x00a4}, NULL, /* 32-bit table not used */
{0xc2a5, 0x00a5},
{0xc2a6, 0x00a6}, 0x0000, /* offset of table for 1-byte inputs */
{0xc2a7, 0x00a7}, 0x00, /* b1_lower */
{0xc2a8, 0x00a8}, 0x00, /* b1_upper */
{0xc2a9, 0x00a9},
{0xc2aa, 0x00aa}, 0x0040, /* offset of table for 2-byte inputs */
{0xc2ab, 0x00ab}, 0xc2, /* b2_1_lower */
{0xc2ac, 0x00ac}, 0xcc, /* b2_1_upper */
{0xc2ad, 0x00ad}, 0x80, /* b2_2_lower */
{0xc2ae, 0x00ae}, 0xbf, /* b2_2_upper */
{0xc2af, 0x00af},
{0xc2b0, 0x00b0}, 0x01ec, /* offset of table for 3-byte inputs */
{0xc2b1, 0x00b1}, 0xe2, /* b3_1_lower */
{0xc2b2, 0x00b2}, 0xe2, /* b3_1_upper */
{0xc2b3, 0x00b3}, 0x80, /* b3_2_lower */
{0xc2b4, 0x00b4}, 0x84, /* b3_2_upper */
{0xc2b5, 0x00b5}, 0x93, /* b3_3_lower */
{0xc2b6, 0x00b6}, 0xba, /* b3_3_upper */
{0xc2b7, 0x00b7},
{0xc2b8, 0x00b8}, 0x0000, /* offset of table for 3-byte inputs */
{0xc2b9, 0x00b9}, 0x00, /* b4_1_lower */
{0xc2ba, 0x00ba}, 0x00, /* b4_1_upper */
{0xc2bb, 0x00bb}, 0x00, /* b4_2_lower */
{0xc2bc, 0x00bc}, 0x00, /* b4_2_upper */
{0xc2bd, 0x00bd}, 0x00, /* b4_3_lower */
{0xc2be, 0x00be}, 0x00, /* b4_3_upper */
{0xc2bf, 0x00bf}, 0x00, /* b4_4_lower */
{0xc380, 0x00c0}, 0x00 /* b4_4_upper */
{0xc381, 0x00c1}, };
{0xc382, 0x00c2},
{0xc384, 0x00c4}, static const uint16 win1258_from_unicode_tree_table[618] =
{0xc385, 0x00c5}, {
{0xc386, 0x00c6}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xc387, 0x00c7},
{0xc388, 0x00c8}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc389, 0x00c9}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38a, 0x00ca}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38b, 0x00cb}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38d, 0x00cd}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38e, 0x00ce}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc38f, 0x00cf}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc391, 0x00d1}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc393, 0x00d3},
{0xc394, 0x00d4}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xc396, 0x00d6},
{0xc397, 0x00d7}, /* c2 */ 0x004b, 0x008b, 0x00cb, 0x00f9, 0x0132, 0x0000, 0x0000, 0x0000,
{0xc398, 0x00d8}, /* ca */ 0x0000, 0x016c, 0x01ac,
{0xc399, 0x00d9},
{0xc39a, 0x00da}, /*** Two byte table, leaf: c2xx - offset 0x0004b ***/
{0xc39b, 0x00db},
{0xc39c, 0x00dc}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc39f, 0x00df}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a0, 0x00e0}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a1, 0x00e1}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3a2, 0x00e2}, /* a0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xc3a4, 0x00e4}, /* a8 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xc3a5, 0x00e5}, /* b0 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xc3a6, 0x00e6}, /* b8 */ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xc3a7, 0x00e7},
{0xc3a8, 0x00e8}, /*** Two byte table, leaf: c3xx - offset 0x0008b ***/
{0xc3a9, 0x00e9},
{0xc3aa, 0x00ea}, /* 80 */ 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xc3ab, 0x00eb}, /* 88 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0000, 0x00cd, 0x00ce, 0x00cf,
{0xc3ad, 0x00ed}, /* 90 */ 0x0000, 0x00d1, 0x0000, 0x00d3, 0x00d4, 0x0000, 0x00d6, 0x00d7,
{0xc3ae, 0x00ee}, /* 98 */ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0000, 0x0000, 0x00df,
{0xc3af, 0x00ef}, /* a0 */ 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xc3b1, 0x00f1}, /* a8 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0000, 0x00ed, 0x00ee, 0x00ef,
{0xc3b3, 0x00f3}, /* b0 */ 0x0000, 0x00f1, 0x0000, 0x00f3, 0x00f4, 0x0000, 0x00f6, 0x00f7,
{0xc3b4, 0x00f4}, /* b8 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0000, 0x0000, 0x00ff,
{0xc3b6, 0x00f6},
{0xc3b7, 0x00f7}, /*** Two byte table, leaf: c4xx - offset 0x000cb ***/
{0xc3b8, 0x00f8},
{0xc3b9, 0x00f9}, /* 80 */ 0x0000, 0x0000, 0x00c3, 0x00e3, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3ba, 0x00fa}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bb, 0x00fb}, /* 90 */ 0x00d0, 0x00f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bc, 0x00fc}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc3bf, 0x00ff}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc482, 0x00c3}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc483, 0x00e3}, /* 18 trailing zero values shared with next segment */
{0xc490, 0x00d0},
{0xc491, 0x00f0}, /*** Two byte table, leaf: c5xx - offset 0x000f9 ***/
{0xc592, 0x008c},
{0xc593, 0x009c}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc5b8, 0x009f}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc692, 0x0083}, /* 90 */ 0x0000, 0x0000, 0x008c, 0x009c, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc6a0, 0x00d5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc6a1, 0x00f5}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc6af, 0x00dd}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xc6b0, 0x00fd}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcb86, 0x0088}, /* b8 */ 0x009f,
{0xcb9c, 0x0098}, /* 7 trailing zero values shared with next segment */
{0xcc80, 0x00cc},
{0xcc81, 0x00ec}, /*** Two byte table, leaf: c6xx - offset 0x00132 ***/
{0xcc83, 0x00de},
{0xcc89, 0x00d2}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xcca3, 0x00f2}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28093, 0x0096}, /* 90 */ 0x0000, 0x0000, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28094, 0x0097}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28098, 0x0091}, /* a0 */ 0x00d5, 0x00f5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe28099, 0x0092}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00dd,
{0xe2809a, 0x0082}, /* b0 */ 0x00fd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2809c, 0x0093}, /* b8 */ 0x0000, 0x0000,
{0xe2809d, 0x0094}, /* 6 trailing zero values shared with next segment */
{0xe2809e, 0x0084},
{0xe280a0, 0x0086}, /*** Two byte table, leaf: cbxx - offset 0x0016c ***/
{0xe280a1, 0x0087},
{0xe280a2, 0x0095}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0000,
{0xe280a6, 0x0085}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280b0, 0x0089}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe280b9, 0x008b}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0x0000, 0x0000, 0x0000,
{0xe280ba, 0x009b}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe282ab, 0x00fe}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe282ac, 0x0080}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe284a2, 0x0099} /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Two byte table, leaf: ccxx - offset 0x001ac ***/
/* 80 */ 0x00cc, 0x00ec, 0x0000, 0x00de, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x00d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x00f2, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, byte #1: xx - offset 0x001ec ***/
/* e2 */ 0x01ed,
/*** Three byte table, byte #2: e2xx - offset 0x001ed ***/
/* 80 */ 0x01f2, 0x0000, 0x021a, 0x0000, 0x0242,
/*** Three byte table, leaf: e280xx - offset 0x001f2 ***/
/* 93 */ 0x0096, 0x0097, 0x0000, 0x0000, 0x0000, 0x0091, 0x0092, 0x0082,
/* 9b */ 0x0000, 0x0093, 0x0094, 0x0084, 0x0000, 0x0086, 0x0087, 0x0095,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0089, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008b, 0x009b,
/*** Three byte table, leaf: e282xx - offset 0x0021a ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x00fe, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e284xx - offset 0x00242 ***/
/* 93 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 9b */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099,
/* a3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* ab */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b3 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win866.map */ /* src/backend/utils/mb/Unicode/utf8_to_win866.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN866[ 128 ] = { static const uint16 win866_from_unicode_tree_table[];
{0xc2a0, 0x00ff},
{0xc2a4, 0x00fd}, static const pg_mb_radix_tree win866_from_unicode_tree =
{0xc2b0, 0x00f8}, {
{0xc2b7, 0x00fa}, win866_from_unicode_tree_table,
{0xd081, 0x00f0}, NULL, /* 32-bit table not used */
{0xd084, 0x00f2},
{0xd087, 0x00f4}, 0x0000, /* offset of table for 1-byte inputs */
{0xd08e, 0x00f6}, 0x00, /* b1_lower */
{0xd090, 0x0080}, 0x00, /* b1_upper */
{0xd091, 0x0081},
{0xd092, 0x0082}, 0x0040, /* offset of table for 2-byte inputs */
{0xd093, 0x0083}, 0xc2, /* b2_1_lower */
{0xd094, 0x0084}, 0xd1, /* b2_1_upper */
{0xd095, 0x0085}, 0x80, /* b2_2_lower */
{0xd096, 0x0086}, 0xbf, /* b2_2_upper */
{0xd097, 0x0087},
{0xd098, 0x0088}, 0x010f, /* offset of table for 3-byte inputs */
{0xd099, 0x0089}, 0xe2, /* b3_1_lower */
{0xd09a, 0x008a}, 0xe2, /* b3_1_upper */
{0xd09b, 0x008b}, 0x84, /* b3_2_lower */
{0xd09c, 0x008c}, 0x96, /* b3_2_upper */
{0xd09d, 0x008d}, 0x80, /* b3_3_lower */
{0xd09e, 0x008e}, 0xbc, /* b3_3_upper */
{0xd09f, 0x008f},
{0xd0a0, 0x0090}, 0x0000, /* offset of table for 3-byte inputs */
{0xd0a1, 0x0091}, 0x00, /* b4_1_lower */
{0xd0a2, 0x0092}, 0x00, /* b4_1_upper */
{0xd0a3, 0x0093}, 0x00, /* b4_2_lower */
{0xd0a4, 0x0094}, 0x00, /* b4_2_upper */
{0xd0a5, 0x0095}, 0x00, /* b4_3_lower */
{0xd0a6, 0x0096}, 0x00, /* b4_3_upper */
{0xd0a7, 0x0097}, 0x00, /* b4_4_lower */
{0xd0a8, 0x0098}, 0x00 /* b4_4_upper */
{0xd0a9, 0x0099}, };
{0xd0aa, 0x009a},
{0xd0ab, 0x009b}, static const uint16 win866_from_unicode_tree_table[571] =
{0xd0ac, 0x009c}, {
{0xd0ad, 0x009d}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xd0ae, 0x009e},
{0xd0af, 0x009f}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b0, 0x00a0}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b1, 0x00a1}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b2, 0x00a2}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b3, 0x00a3}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b4, 0x00a4}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b5, 0x00a5}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b6, 0x00a6}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0b7, 0x00a7},
{0xd0b8, 0x00a8}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xd0b9, 0x00a9},
{0xd0ba, 0x00aa}, /* c2 */ 0x0050, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd0bb, 0x00ab}, /* ca */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x008f, 0x00cf,
{0xd0bc, 0x00ac},
{0xd0bd, 0x00ad}, /*** Two byte table, leaf: c2xx - offset 0x00050 ***/
{0xd0be, 0x00ae},
{0xd0bf, 0x00af}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd180, 0x00e0}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd181, 0x00e1}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd182, 0x00e2}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd183, 0x00e3}, /* a0 */ 0x00ff, 0x0000, 0x0000, 0x0000, 0x00fd, 0x0000, 0x0000, 0x0000,
{0xd184, 0x00e4}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd185, 0x00e5}, /* b0 */ 0x00f8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00fa,
{0xd186, 0x00e6}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xd187, 0x00e7}, /* 1 trailing zero values shared with next segment */
{0xd188, 0x00e8},
{0xd189, 0x00e9}, /*** Two byte table, leaf: d0xx - offset 0x0008f ***/
{0xd18a, 0x00ea},
{0xd18b, 0x00eb}, /* 80 */ 0x0000, 0x00f0, 0x0000, 0x0000, 0x00f2, 0x0000, 0x0000, 0x00f4,
{0xd18c, 0x00ec}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f6, 0x0000,
{0xd18d, 0x00ed}, /* 90 */ 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
{0xd18e, 0x00ee}, /* 98 */ 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
{0xd18f, 0x00ef}, /* a0 */ 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
{0xd191, 0x00f1}, /* a8 */ 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
{0xd194, 0x00f3}, /* b0 */ 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xd197, 0x00f5}, /* b8 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xd19e, 0x00f7},
{0xe28496, 0x00fc}, /*** Two byte table, leaf: d1xx - offset 0x000cf ***/
{0xe28899, 0x00f9},
{0xe2889a, 0x00fb}, /* 80 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
{0xe29480, 0x00c4}, /* 88 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
{0xe29482, 0x00b3}, /* 90 */ 0x0000, 0x00f1, 0x0000, 0x0000, 0x00f3, 0x0000, 0x0000, 0x00f5,
{0xe2948c, 0x00da}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00f7, 0x0000,
{0xe29490, 0x00bf}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29494, 0x00c0}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29498, 0x00d9}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2949c, 0x00c3}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe294a4, 0x00b4},
{0xe294ac, 0x00c2}, /*** Three byte table, byte #1: xx - offset 0x0010f ***/
{0xe294b4, 0x00c1},
{0xe294bc, 0x00c5}, /* e2 */ 0x0110,
{0xe29590, 0x00cd},
{0xe29591, 0x00ba}, /*** Three byte table, byte #2: e2xx - offset 0x00110 ***/
{0xe29592, 0x00d5},
{0xe29593, 0x00d6}, /* 84 */ 0x0123, 0x0000, 0x0000, 0x0000, 0x0147, 0x0000, 0x0000, 0x0000,
{0xe29594, 0x00c9}, /* 8c */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29595, 0x00b8}, /* 94 */ 0x0184, 0x01c1, 0x01fe,
{0xe29596, 0x00b7},
{0xe29597, 0x00bb}, /*** Three byte table, leaf: e284xx - offset 0x00123 ***/
{0xe29598, 0x00d4},
{0xe29599, 0x00d3}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959a, 0x00c8}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959b, 0x00be}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00fc, 0x0000,
{0xe2959c, 0x00bd}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959d, 0x00bc}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000,
{0xe2959e, 0x00c6}, /* 25 trailing zero values shared with next segment */
{0xe2959f, 0x00c7},
{0xe295a0, 0x00cc}, /*** Three byte table, leaf: e288xx - offset 0x00147 ***/
{0xe295a1, 0x00b5},
{0xe295a2, 0x00b6}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a3, 0x00b9}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a4, 0x00d1}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a5, 0x00d2}, /* 98 */ 0x0000, 0x00f9, 0x00fb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a6, 0x00cb}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a7, 0x00cf}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a8, 0x00d0}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295a9, 0x00ca}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe295aa, 0x00d8},
{0xe295ab, 0x00d7}, /*** Three byte table, leaf: e294xx - offset 0x00184 ***/
{0xe295ac, 0x00ce},
{0xe29680, 0x00df}, /* 80 */ 0x00c4, 0x0000, 0x00b3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe29684, 0x00dc}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00da, 0x0000, 0x0000, 0x0000,
{0xe29688, 0x00db}, /* 90 */ 0x00bf, 0x0000, 0x0000, 0x0000, 0x00c0, 0x0000, 0x0000, 0x0000,
{0xe2968c, 0x00dd}, /* 98 */ 0x00d9, 0x0000, 0x0000, 0x0000, 0x00c3, 0x0000, 0x0000, 0x0000,
{0xe29690, 0x00de}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00b4, 0x0000, 0x0000, 0x0000,
{0xe29691, 0x00b0}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c2, 0x0000, 0x0000, 0x0000,
{0xe29692, 0x00b1}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c1, 0x0000, 0x0000, 0x0000,
{0xe29693, 0x00b2}, /* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x00c5,
{0xe296a0, 0x00fe}
/*** Three byte table, leaf: e295xx - offset 0x001c1 ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x00cd, 0x00ba, 0x00d5, 0x00d6, 0x00c9, 0x00b8, 0x00b7, 0x00bb,
/* 98 */ 0x00d4, 0x00d3, 0x00c8, 0x00be, 0x00bd, 0x00bc, 0x00c6, 0x00c7,
/* a0 */ 0x00cc, 0x00b5, 0x00b6, 0x00b9, 0x00d1, 0x00d2, 0x00cb, 0x00cf,
/* a8 */ 0x00d0, 0x00ca, 0x00d8, 0x00d7, 0x00ce, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e296xx - offset 0x001fe ***/
/* 80 */ 0x00df, 0x0000, 0x0000, 0x0000, 0x00dc, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x00db, 0x0000, 0x0000, 0x0000, 0x00dd, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x00de, 0x00b0, 0x00b1, 0x00b2, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x00fe, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/utf8_to_win874.map */ /* src/backend/utils/mb/Unicode/utf8_to_win874.map */
/* This file is generated by UCS_to_most.pl */
static const pg_utf_to_local ULmapWIN874[ 97 ] = { static const uint16 win874_from_unicode_tree_table[];
{0xc2a0, 0x00a0},
{0xe0b881, 0x00a1}, static const pg_mb_radix_tree win874_from_unicode_tree =
{0xe0b882, 0x00a2}, {
{0xe0b883, 0x00a3}, win874_from_unicode_tree_table,
{0xe0b884, 0x00a4}, NULL, /* 32-bit table not used */
{0xe0b885, 0x00a5},
{0xe0b886, 0x00a6}, 0x0000, /* offset of table for 1-byte inputs */
{0xe0b887, 0x00a7}, 0x00, /* b1_lower */
{0xe0b888, 0x00a8}, 0x00, /* b1_upper */
{0xe0b889, 0x00a9},
{0xe0b88a, 0x00aa}, 0x0040, /* offset of table for 2-byte inputs */
{0xe0b88b, 0x00ab}, 0xc2, /* b2_1_lower */
{0xe0b88c, 0x00ac}, 0xc2, /* b2_1_upper */
{0xe0b88d, 0x00ad}, 0xa0, /* b2_2_lower */
{0xe0b88e, 0x00ae}, 0xa0, /* b2_2_upper */
{0xe0b88f, 0x00af},
{0xe0b890, 0x00b0}, 0x0042, /* offset of table for 3-byte inputs */
{0xe0b891, 0x00b1}, 0xe0, /* b3_1_lower */
{0xe0b892, 0x00b2}, 0xe2, /* b3_1_upper */
{0xe0b893, 0x00b3}, 0x80, /* b3_2_lower */
{0xe0b894, 0x00b4}, 0xb9, /* b3_2_upper */
{0xe0b895, 0x00b5}, 0x80, /* b3_3_lower */
{0xe0b896, 0x00b6}, 0xbf, /* b3_3_upper */
{0xe0b897, 0x00b7},
{0xe0b898, 0x00b8}, 0x0000, /* offset of table for 3-byte inputs */
{0xe0b899, 0x00b9}, 0x00, /* b4_1_lower */
{0xe0b89a, 0x00ba}, 0x00, /* b4_1_upper */
{0xe0b89b, 0x00bb}, 0x00, /* b4_2_lower */
{0xe0b89c, 0x00bc}, 0x00, /* b4_2_upper */
{0xe0b89d, 0x00bd}, 0x00, /* b4_3_lower */
{0xe0b89e, 0x00be}, 0x00, /* b4_3_upper */
{0xe0b89f, 0x00bf}, 0x00, /* b4_4_lower */
{0xe0b8a0, 0x00c0}, 0x00 /* b4_4_upper */
{0xe0b8a1, 0x00c1}, };
{0xe0b8a2, 0x00c2},
{0xe0b8a3, 0x00c3}, static const uint16 win874_from_unicode_tree_table[421] =
{0xe0b8a4, 0x00c4}, {
{0xe0b8a5, 0x00c5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0xe0b8a6, 0x00c6},
{0xe0b8a7, 0x00c7}, /* 00 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8a8, 0x00c8}, /* 08 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8a9, 0x00c9}, /* 10 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8aa, 0x00ca}, /* 18 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8ab, 0x00cb}, /* 20 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8ac, 0x00cc}, /* 28 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8ad, 0x00cd}, /* 30 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8ae, 0x00ce}, /* 38 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b8af, 0x00cf},
{0xe0b8b0, 0x00d0}, /*** Two byte table, byte #1: xx - offset 0x00040 ***/
{0xe0b8b1, 0x00d1},
{0xe0b8b2, 0x00d2}, /* c2 */ 0x0041,
{0xe0b8b3, 0x00d3},
{0xe0b8b4, 0x00d4}, /*** Two byte table, leaf: c2xx - offset 0x00041 ***/
{0xe0b8b5, 0x00d5},
{0xe0b8b6, 0x00d6}, /* a0 */ 0x00a0,
{0xe0b8b7, 0x00d7},
{0xe0b8b8, 0x00d8}, /*** Three byte table, byte #1: xx - offset 0x00042 ***/
{0xe0b8b9, 0x00d9},
{0xe0b8ba, 0x00da}, /* e0 */ 0x0045, 0x0000, 0x007f,
{0xe0b8bf, 0x00df},
{0xe0b980, 0x00e0}, /*** Three byte table, byte #2: e0xx - offset 0x00045 ***/
{0xe0b981, 0x00e1},
{0xe0b982, 0x00e2}, /* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b983, 0x00e3}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b984, 0x00e4}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b985, 0x00e5}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b986, 0x00e6}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b987, 0x00e7}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b988, 0x00e8}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b989, 0x00e9}, /* b8 */ 0x00b8, 0x00f8,
{0xe0b98a, 0x00ea},
{0xe0b98b, 0x00eb}, /*** Three byte table, byte #2: e2xx - offset 0x0007f ***/
{0xe0b98c, 0x00ec},
{0xe0b98d, 0x00ed}, /* 80 */ 0x0125, 0x0000, 0x0165, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b98e, 0x00ee}, /* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b98f, 0x00ef}, /* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b990, 0x00f0}, /* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b991, 0x00f1}, /* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b992, 0x00f2}, /* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b993, 0x00f3}, /* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
{0xe0b994, 0x00f4}, /* b8 */ 0x0000,
{0xe0b995, 0x00f5}, /* 1 trailing zero values shared with next segment */
{0xe0b996, 0x00f6},
{0xe0b997, 0x00f7}, /*** Three byte table, leaf: e0b8xx - offset 0x000b8 ***/
{0xe0b998, 0x00f8},
{0xe0b999, 0x00f9}, /* 80 */ 0x0000, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
{0xe0b99a, 0x00fa}, /* 88 */ 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
{0xe0b99b, 0x00fb}, /* 90 */ 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
{0xe28093, 0x0096}, /* 98 */ 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
{0xe28094, 0x0097}, /* a0 */ 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
{0xe28098, 0x0091}, /* a8 */ 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
{0xe28099, 0x0092}, /* b0 */ 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
{0xe2809c, 0x0093}, /* b8 */ 0x00d8, 0x00d9, 0x00da, 0x0000, 0x0000, 0x0000, 0x0000, 0x00df,
{0xe2809d, 0x0094},
{0xe280a2, 0x0095}, /*** Three byte table, leaf: e0b9xx - offset 0x000f8 ***/
{0xe280a6, 0x0085},
{0xe282ac, 0x0080} /* 80 */ 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
/* 88 */ 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
/* 90 */ 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
/* 98 */ 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 19 trailing zero values shared with next segment */
/*** Three byte table, leaf: e280xx - offset 0x00125 ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0096, 0x0097, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0091, 0x0092, 0x0000, 0x0000, 0x0093, 0x0094, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0095, 0x0000, 0x0000, 0x0000, 0x0085, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/*** Three byte table, leaf: e282xx - offset 0x00165 ***/
/* 80 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 88 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 90 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* 98 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* a8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
/* b0 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
/* b8 */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
}; };
/* src/backend/utils/mb/Unicode/win1250_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1250_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1250[ 123 ] = { static const uint32 win1250_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1250_to_unicode_tree =
{0x0084, 0xe2809e}, {
{0x0085, 0xe280a6}, NULL, /* 16-bit table not used */
{0x0086, 0xe280a0}, win1250_to_unicode_tree_table,
{0x0087, 0xe280a1},
{0x0089, 0xe280b0}, 0x0080, /* offset of table for 1-byte inputs */
{0x008a, 0xc5a0}, 0x80, /* b1_lower */
{0x008b, 0xe280b9}, 0xff, /* b1_upper */
{0x008c, 0xc59a},
{0x008d, 0xc5a4}, 0x0000, /* offset of table for 2-byte inputs */
{0x008e, 0xc5bd}, 0x00, /* b2_1_lower */
{0x008f, 0xc5b9}, 0x00, /* b2_1_upper */
{0x0091, 0xe28098}, 0x00, /* b2_2_lower */
{0x0092, 0xe28099}, 0x00, /* b2_2_upper */
{0x0093, 0xe2809c},
{0x0094, 0xe2809d}, 0x0000, /* offset of table for 3-byte inputs */
{0x0095, 0xe280a2}, 0x00, /* b3_1_lower */
{0x0096, 0xe28093}, 0x00, /* b3_1_upper */
{0x0097, 0xe28094}, 0x00, /* b3_2_lower */
{0x0099, 0xe284a2}, 0x00, /* b3_2_upper */
{0x009a, 0xc5a1}, 0x00, /* b3_3_lower */
{0x009b, 0xe280ba}, 0x00, /* b3_3_upper */
{0x009c, 0xc59b},
{0x009d, 0xc5a5}, 0x0000, /* offset of table for 3-byte inputs */
{0x009e, 0xc5be}, 0x00, /* b4_1_lower */
{0x009f, 0xc5ba}, 0x00, /* b4_1_upper */
{0x00a0, 0xc2a0}, 0x00, /* b4_2_lower */
{0x00a1, 0xcb87}, 0x00, /* b4_2_upper */
{0x00a2, 0xcb98}, 0x00, /* b4_3_lower */
{0x00a3, 0xc581}, 0x00, /* b4_3_upper */
{0x00a4, 0xc2a4}, 0x00, /* b4_4_lower */
{0x00a5, 0xc484}, 0x00 /* b4_4_upper */
{0x00a6, 0xc2a6}, };
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8}, static const uint32 win1250_to_unicode_tree_table[256] =
{0x00a9, 0xc2a9}, {
{0x00aa, 0xc59e}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc5bb}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xcb9b}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc582}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc485}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc59f}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc4bd}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xcb9d}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc4be}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc5bc}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc594}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc482}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc4b9}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc486}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xc48c}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xc389}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xc498}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xc38b}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xc49a},
{0x00cd, 0xc38d}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00ce, 0xc38e},
{0x00cf, 0xc48e}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x000000,
{0x00d0, 0xc490}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00d1, 0xc583}, /* 88 */ 0x000000, 0xe280b0, 0x00c5a0, 0xe280b9,
{0x00d2, 0xc587}, /* 8c */ 0x00c59a, 0x00c5a4, 0x00c5bd, 0x00c5b9,
{0x00d3, 0xc393}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00d4, 0xc394}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00d5, 0xc590}, /* 98 */ 0x000000, 0xe284a2, 0x00c5a1, 0xe280ba,
{0x00d6, 0xc396}, /* 9c */ 0x00c59b, 0x00c5a5, 0x00c5be, 0x00c5ba,
{0x00d7, 0xc397}, /* a0 */ 0x00c2a0, 0x00cb87, 0x00cb98, 0x00c581,
{0x00d8, 0xc598}, /* a4 */ 0x00c2a4, 0x00c484, 0x00c2a6, 0x00c2a7,
{0x00d9, 0xc5ae}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00c59e, 0x00c2ab,
{0x00da, 0xc39a}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c5bb,
{0x00db, 0xc5b0}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00cb9b, 0x00c582,
{0x00dc, 0xc39c}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00dd, 0xc39d}, /* b8 */ 0x00c2b8, 0x00c485, 0x00c59f, 0x00c2bb,
{0x00de, 0xc5a2}, /* bc */ 0x00c4bd, 0x00cb9d, 0x00c4be, 0x00c5bc,
{0x00df, 0xc39f}, /* c0 */ 0x00c594, 0x00c381, 0x00c382, 0x00c482,
{0x00e0, 0xc595}, /* c4 */ 0x00c384, 0x00c4b9, 0x00c486, 0x00c387,
{0x00e1, 0xc3a1}, /* c8 */ 0x00c48c, 0x00c389, 0x00c498, 0x00c38b,
{0x00e2, 0xc3a2}, /* cc */ 0x00c49a, 0x00c38d, 0x00c38e, 0x00c48e,
{0x00e3, 0xc483}, /* d0 */ 0x00c490, 0x00c583, 0x00c587, 0x00c393,
{0x00e4, 0xc3a4}, /* d4 */ 0x00c394, 0x00c590, 0x00c396, 0x00c397,
{0x00e5, 0xc4ba}, /* d8 */ 0x00c598, 0x00c5ae, 0x00c39a, 0x00c5b0,
{0x00e6, 0xc487}, /* dc */ 0x00c39c, 0x00c39d, 0x00c5a2, 0x00c39f,
{0x00e7, 0xc3a7}, /* e0 */ 0x00c595, 0x00c3a1, 0x00c3a2, 0x00c483,
{0x00e8, 0xc48d}, /* e4 */ 0x00c3a4, 0x00c4ba, 0x00c487, 0x00c3a7,
{0x00e9, 0xc3a9}, /* e8 */ 0x00c48d, 0x00c3a9, 0x00c499, 0x00c3ab,
{0x00ea, 0xc499}, /* ec */ 0x00c49b, 0x00c3ad, 0x00c3ae, 0x00c48f,
{0x00eb, 0xc3ab}, /* f0 */ 0x00c491, 0x00c584, 0x00c588, 0x00c3b3,
{0x00ec, 0xc49b}, /* f4 */ 0x00c3b4, 0x00c591, 0x00c3b6, 0x00c3b7,
{0x00ed, 0xc3ad}, /* f8 */ 0x00c599, 0x00c5af, 0x00c3ba, 0x00c5b1,
{0x00ee, 0xc3ae}, /* fc */ 0x00c3bc, 0x00c3bd, 0x00c5a3, 0x00cb99
{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}
}; };
/* src/backend/utils/mb/Unicode/win1251_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1251_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1251[ 127 ] = { static const uint32 win1251_to_unicode_tree_table[];
{0x0080, 0xd082},
{0x0081, 0xd083}, static const pg_mb_radix_tree win1251_to_unicode_tree =
{0x0082, 0xe2809a}, {
{0x0083, 0xd193}, NULL, /* 16-bit table not used */
{0x0084, 0xe2809e}, win1251_to_unicode_tree_table,
{0x0085, 0xe280a6},
{0x0086, 0xe280a0}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xe280a1}, 0x80, /* b1_lower */
{0x0088, 0xe282ac}, 0xff, /* b1_upper */
{0x0089, 0xe280b0},
{0x008a, 0xd089}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xe280b9}, 0x00, /* b2_1_lower */
{0x008c, 0xd08a}, 0x00, /* b2_1_upper */
{0x008d, 0xd08c}, 0x00, /* b2_2_lower */
{0x008e, 0xd08b}, 0x00, /* b2_2_upper */
{0x008f, 0xd08f},
{0x0090, 0xd192}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xe28098}, 0x00, /* b3_1_lower */
{0x0092, 0xe28099}, 0x00, /* b3_1_upper */
{0x0093, 0xe2809c}, 0x00, /* b3_2_lower */
{0x0094, 0xe2809d}, 0x00, /* b3_2_upper */
{0x0095, 0xe280a2}, 0x00, /* b3_3_lower */
{0x0096, 0xe28093}, 0x00, /* b3_3_upper */
{0x0097, 0xe28094},
{0x0099, 0xe284a2}, 0x0000, /* offset of table for 3-byte inputs */
{0x009a, 0xd199}, 0x00, /* b4_1_lower */
{0x009b, 0xe280ba}, 0x00, /* b4_1_upper */
{0x009c, 0xd19a}, 0x00, /* b4_2_lower */
{0x009d, 0xd19c}, 0x00, /* b4_2_upper */
{0x009e, 0xd19b}, 0x00, /* b4_3_lower */
{0x009f, 0xd19f}, 0x00, /* b4_3_upper */
{0x00a0, 0xc2a0}, 0x00, /* b4_4_lower */
{0x00a1, 0xd08e}, 0x00 /* b4_4_upper */
{0x00a2, 0xd19e}, };
{0x00a3, 0xd088},
{0x00a4, 0xc2a4}, static const uint32 win1251_to_unicode_tree_table[256] =
{0x00a5, 0xd290}, {
{0x00a6, 0xc2a6}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a7, 0xc2a7},
{0x00a8, 0xd081}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xd084}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc2ac}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xd087}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xd086}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xd196}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xd291}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xd191}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xe28496}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xd194}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xd198}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xd085}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xd195}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xd197}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xd090}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xd091}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xd092}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xd093}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xd094}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xd095}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xd096}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xd097}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xd098},
{0x00c9, 0xd099}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00ca, 0xd09a},
{0x00cb, 0xd09b}, /* 80 */ 0x00d082, 0x00d083, 0xe2809a, 0x00d193,
{0x00cc, 0xd09c}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00cd, 0xd09d}, /* 88 */ 0xe282ac, 0xe280b0, 0x00d089, 0xe280b9,
{0x00ce, 0xd09e}, /* 8c */ 0x00d08a, 0x00d08c, 0x00d08b, 0x00d08f,
{0x00cf, 0xd09f}, /* 90 */ 0x00d192, 0xe28098, 0xe28099, 0xe2809c,
{0x00d0, 0xd0a0}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00d1, 0xd0a1}, /* 98 */ 0x000000, 0xe284a2, 0x00d199, 0xe280ba,
{0x00d2, 0xd0a2}, /* 9c */ 0x00d19a, 0x00d19c, 0x00d19b, 0x00d19f,
{0x00d3, 0xd0a3}, /* a0 */ 0x00c2a0, 0x00d08e, 0x00d19e, 0x00d088,
{0x00d4, 0xd0a4}, /* a4 */ 0x00c2a4, 0x00d290, 0x00c2a6, 0x00c2a7,
{0x00d5, 0xd0a5}, /* a8 */ 0x00d081, 0x00c2a9, 0x00d084, 0x00c2ab,
{0x00d6, 0xd0a6}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00d087,
{0x00d7, 0xd0a7}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00d086, 0x00d196,
{0x00d8, 0xd0a8}, /* b4 */ 0x00d291, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00d9, 0xd0a9}, /* b8 */ 0x00d191, 0xe28496, 0x00d194, 0x00c2bb,
{0x00da, 0xd0aa}, /* bc */ 0x00d198, 0x00d085, 0x00d195, 0x00d197,
{0x00db, 0xd0ab}, /* c0 */ 0x00d090, 0x00d091, 0x00d092, 0x00d093,
{0x00dc, 0xd0ac}, /* c4 */ 0x00d094, 0x00d095, 0x00d096, 0x00d097,
{0x00dd, 0xd0ad}, /* c8 */ 0x00d098, 0x00d099, 0x00d09a, 0x00d09b,
{0x00de, 0xd0ae}, /* cc */ 0x00d09c, 0x00d09d, 0x00d09e, 0x00d09f,
{0x00df, 0xd0af}, /* d0 */ 0x00d0a0, 0x00d0a1, 0x00d0a2, 0x00d0a3,
{0x00e0, 0xd0b0}, /* d4 */ 0x00d0a4, 0x00d0a5, 0x00d0a6, 0x00d0a7,
{0x00e1, 0xd0b1}, /* d8 */ 0x00d0a8, 0x00d0a9, 0x00d0aa, 0x00d0ab,
{0x00e2, 0xd0b2}, /* dc */ 0x00d0ac, 0x00d0ad, 0x00d0ae, 0x00d0af,
{0x00e3, 0xd0b3}, /* e0 */ 0x00d0b0, 0x00d0b1, 0x00d0b2, 0x00d0b3,
{0x00e4, 0xd0b4}, /* e4 */ 0x00d0b4, 0x00d0b5, 0x00d0b6, 0x00d0b7,
{0x00e5, 0xd0b5}, /* e8 */ 0x00d0b8, 0x00d0b9, 0x00d0ba, 0x00d0bb,
{0x00e6, 0xd0b6}, /* ec */ 0x00d0bc, 0x00d0bd, 0x00d0be, 0x00d0bf,
{0x00e7, 0xd0b7}, /* f0 */ 0x00d180, 0x00d181, 0x00d182, 0x00d183,
{0x00e8, 0xd0b8}, /* f4 */ 0x00d184, 0x00d185, 0x00d186, 0x00d187,
{0x00e9, 0xd0b9}, /* f8 */ 0x00d188, 0x00d189, 0x00d18a, 0x00d18b,
{0x00ea, 0xd0ba}, /* fc */ 0x00d18c, 0x00d18d, 0x00d18e, 0x00d18f
{0x00eb, 0xd0bb},
{0x00ec, 0xd0bc},
{0x00ed, 0xd0bd},
{0x00ee, 0xd0be},
{0x00ef, 0xd0bf},
{0x00f0, 0xd180},
{0x00f1, 0xd181},
{0x00f2, 0xd182},
{0x00f3, 0xd183},
{0x00f4, 0xd184},
{0x00f5, 0xd185},
{0x00f6, 0xd186},
{0x00f7, 0xd187},
{0x00f8, 0xd188},
{0x00f9, 0xd189},
{0x00fa, 0xd18a},
{0x00fb, 0xd18b},
{0x00fc, 0xd18c},
{0x00fd, 0xd18d},
{0x00fe, 0xd18e},
{0x00ff, 0xd18f}
}; };
/* src/backend/utils/mb/Unicode/win1252_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1252_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1252[ 123 ] = { static const uint32 win1252_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1252_to_unicode_tree =
{0x0083, 0xc692}, {
{0x0084, 0xe2809e}, NULL, /* 16-bit table not used */
{0x0085, 0xe280a6}, win1252_to_unicode_tree_table,
{0x0086, 0xe280a0},
{0x0087, 0xe280a1}, 0x0080, /* offset of table for 1-byte inputs */
{0x0088, 0xcb86}, 0x80, /* b1_lower */
{0x0089, 0xe280b0}, 0xff, /* b1_upper */
{0x008a, 0xc5a0},
{0x008b, 0xe280b9}, 0x0000, /* offset of table for 2-byte inputs */
{0x008c, 0xc592}, 0x00, /* b2_1_lower */
{0x008e, 0xc5bd}, 0x00, /* b2_1_upper */
{0x0091, 0xe28098}, 0x00, /* b2_2_lower */
{0x0092, 0xe28099}, 0x00, /* b2_2_upper */
{0x0093, 0xe2809c},
{0x0094, 0xe2809d}, 0x0000, /* offset of table for 3-byte inputs */
{0x0095, 0xe280a2}, 0x00, /* b3_1_lower */
{0x0096, 0xe28093}, 0x00, /* b3_1_upper */
{0x0097, 0xe28094}, 0x00, /* b3_2_lower */
{0x0098, 0xcb9c}, 0x00, /* b3_2_upper */
{0x0099, 0xe284a2}, 0x00, /* b3_3_lower */
{0x009a, 0xc5a1}, 0x00, /* b3_3_upper */
{0x009b, 0xe280ba},
{0x009c, 0xc593}, 0x0000, /* offset of table for 3-byte inputs */
{0x009e, 0xc5be}, 0x00, /* b4_1_lower */
{0x009f, 0xc5b8}, 0x00, /* b4_1_upper */
{0x00a0, 0xc2a0}, 0x00, /* b4_2_lower */
{0x00a1, 0xc2a1}, 0x00, /* b4_2_upper */
{0x00a2, 0xc2a2}, 0x00, /* b4_3_lower */
{0x00a3, 0xc2a3}, 0x00, /* b4_3_upper */
{0x00a4, 0xc2a4}, 0x00, /* b4_4_lower */
{0x00a5, 0xc2a5}, 0x00 /* b4_4_upper */
{0x00a6, 0xc2a6}, };
{0x00a7, 0xc2a7},
{0x00a8, 0xc2a8}, static const uint32 win1252_to_unicode_tree_table[256] =
{0x00a9, 0xc2a9}, {
{0x00aa, 0xc2aa}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc2af}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc2ba}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2bf}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc380}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc383}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xc388}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xc389}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xc38a}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xc38b}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xc38c},
{0x00cd, 0xc38d}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00ce, 0xc38e},
{0x00cf, 0xc38f}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x00c692,
{0x00d0, 0xc390}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00d1, 0xc391}, /* 88 */ 0x00cb86, 0xe280b0, 0x00c5a0, 0xe280b9,
{0x00d2, 0xc392}, /* 8c */ 0x00c592, 0x000000, 0x00c5bd, 0x000000,
{0x00d3, 0xc393}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00d4, 0xc394}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00d5, 0xc395}, /* 98 */ 0x00cb9c, 0xe284a2, 0x00c5a1, 0xe280ba,
{0x00d6, 0xc396}, /* 9c */ 0x00c593, 0x000000, 0x00c5be, 0x00c5b8,
{0x00d7, 0xc397}, /* a0 */ 0x00c2a0, 0x00c2a1, 0x00c2a2, 0x00c2a3,
{0x00d8, 0xc398}, /* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00d9, 0xc399}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00c2aa, 0x00c2ab,
{0x00da, 0xc39a}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00db, 0xc39b}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00dc, 0xc39c}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00dd, 0xc39d}, /* b8 */ 0x00c2b8, 0x00c2b9, 0x00c2ba, 0x00c2bb,
{0x00de, 0xc39e}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c2bf,
{0x00df, 0xc39f}, /* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c383,
{0x00e0, 0xc3a0}, /* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
{0x00e1, 0xc3a1}, /* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
{0x00e2, 0xc3a2}, /* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00e3, 0xc3a3}, /* d0 */ 0x00c390, 0x00c391, 0x00c392, 0x00c393,
{0x00e4, 0xc3a4}, /* d4 */ 0x00c394, 0x00c395, 0x00c396, 0x00c397,
{0x00e5, 0xc3a5}, /* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
{0x00e6, 0xc3a6}, /* dc */ 0x00c39c, 0x00c39d, 0x00c39e, 0x00c39f,
{0x00e7, 0xc3a7}, /* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c3a3,
{0x00e8, 0xc3a8}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
{0x00e9, 0xc3a9}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00ea, 0xc3aa}, /* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00eb, 0xc3ab}, /* f0 */ 0x00c3b0, 0x00c3b1, 0x00c3b2, 0x00c3b3,
{0x00ec, 0xc3ac}, /* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0x00c3b7,
{0x00ed, 0xc3ad}, /* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
{0x00ee, 0xc3ae}, /* fc */ 0x00c3bc, 0x00c3bd, 0x00c3be, 0x00c3bf
{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}
}; };
/* src/backend/utils/mb/Unicode/win1253_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1253_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1253[ 111 ] = { static const uint32 win1253_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1253_to_unicode_tree =
{0x0083, 0xc692}, {
{0x0084, 0xe2809e}, NULL, /* 16-bit table not used */
{0x0085, 0xe280a6}, win1253_to_unicode_tree_table,
{0x0086, 0xe280a0},
{0x0087, 0xe280a1}, 0x007f, /* offset of table for 1-byte inputs */
{0x0089, 0xe280b0}, 0x80, /* b1_lower */
{0x008b, 0xe280b9}, 0xfe, /* b1_upper */
{0x0091, 0xe28098},
{0x0092, 0xe28099}, 0x0000, /* offset of table for 2-byte inputs */
{0x0093, 0xe2809c}, 0x00, /* b2_1_lower */
{0x0094, 0xe2809d}, 0x00, /* b2_1_upper */
{0x0095, 0xe280a2}, 0x00, /* b2_2_lower */
{0x0096, 0xe28093}, 0x00, /* b2_2_upper */
{0x0097, 0xe28094},
{0x0099, 0xe284a2}, 0x0000, /* offset of table for 3-byte inputs */
{0x009b, 0xe280ba}, 0x00, /* b3_1_lower */
{0x00a0, 0xc2a0}, 0x00, /* b3_1_upper */
{0x00a1, 0xce85}, 0x00, /* b3_2_lower */
{0x00a2, 0xce86}, 0x00, /* b3_2_upper */
{0x00a3, 0xc2a3}, 0x00, /* b3_3_lower */
{0x00a4, 0xc2a4}, 0x00, /* b3_3_upper */
{0x00a5, 0xc2a5},
{0x00a6, 0xc2a6}, 0x0000, /* offset of table for 3-byte inputs */
{0x00a7, 0xc2a7}, 0x00, /* b4_1_lower */
{0x00a8, 0xc2a8}, 0x00, /* b4_1_upper */
{0x00a9, 0xc2a9}, 0x00, /* b4_2_lower */
{0x00ab, 0xc2ab}, 0x00, /* b4_2_upper */
{0x00ac, 0xc2ac}, 0x00, /* b4_3_lower */
{0x00ad, 0xc2ad}, 0x00, /* b4_3_upper */
{0x00ae, 0xc2ae}, 0x00, /* b4_4_lower */
{0x00af, 0xe28095}, 0x00 /* b4_4_upper */
{0x00b0, 0xc2b0}, };
{0x00b1, 0xc2b1},
{0x00b2, 0xc2b2}, static const uint32 win1253_to_unicode_tree_table[254] =
{0x00b3, 0xc2b3}, {
{0x00b4, 0xce84}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00b5, 0xc2b5},
{0x00b6, 0xc2b6}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xce88}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xce89}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xce8a}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xce8c}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xce8e}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xce8f}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xce90}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xce91}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xce92}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xce93}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xce94}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xce95}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xce96}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xce97}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xce98}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xce99}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xce9a}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xce9b}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xce9c}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cd, 0xce9d}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ce, 0xce9e}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cf, 0xce9f}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d0, 0xcea0}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d1, 0xcea1}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d3, 0xcea3}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d4, 0xcea4}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d5, 0xcea5}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d6, 0xcea6}, /* 7c */ 0x000000, 0x000000, 0x000000,
{0x00d7, 0xcea7},
{0x00d8, 0xcea8}, /*** Single byte table, leaf: xx - offset 0x0007f ***/
{0x00d9, 0xcea9},
{0x00da, 0xceaa}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x00c692,
{0x00db, 0xceab}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00dc, 0xceac}, /* 88 */ 0x000000, 0xe280b0, 0x000000, 0xe280b9,
{0x00dd, 0xcead}, /* 8c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00de, 0xceae}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00df, 0xceaf}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00e0, 0xceb0}, /* 98 */ 0x000000, 0xe284a2, 0x000000, 0xe280ba,
{0x00e1, 0xceb1}, /* 9c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e2, 0xceb2}, /* a0 */ 0x00c2a0, 0x00ce85, 0x00ce86, 0x00c2a3,
{0x00e3, 0xceb3}, /* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00e4, 0xceb4}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x000000, 0x00c2ab,
{0x00e5, 0xceb5}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0xe28095,
{0x00e6, 0xceb6}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00e7, 0xceb7}, /* b4 */ 0x00ce84, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00e8, 0xceb8}, /* b8 */ 0x00ce88, 0x00ce89, 0x00ce8a, 0x00c2bb,
{0x00e9, 0xceb9}, /* bc */ 0x00ce8c, 0x00c2bd, 0x00ce8e, 0x00ce8f,
{0x00ea, 0xceba}, /* c0 */ 0x00ce90, 0x00ce91, 0x00ce92, 0x00ce93,
{0x00eb, 0xcebb}, /* c4 */ 0x00ce94, 0x00ce95, 0x00ce96, 0x00ce97,
{0x00ec, 0xcebc}, /* c8 */ 0x00ce98, 0x00ce99, 0x00ce9a, 0x00ce9b,
{0x00ed, 0xcebd}, /* cc */ 0x00ce9c, 0x00ce9d, 0x00ce9e, 0x00ce9f,
{0x00ee, 0xcebe}, /* d0 */ 0x00cea0, 0x00cea1, 0x000000, 0x00cea3,
{0x00ef, 0xcebf}, /* d4 */ 0x00cea4, 0x00cea5, 0x00cea6, 0x00cea7,
{0x00f0, 0xcf80}, /* d8 */ 0x00cea8, 0x00cea9, 0x00ceaa, 0x00ceab,
{0x00f1, 0xcf81}, /* dc */ 0x00ceac, 0x00cead, 0x00ceae, 0x00ceaf,
{0x00f2, 0xcf82}, /* e0 */ 0x00ceb0, 0x00ceb1, 0x00ceb2, 0x00ceb3,
{0x00f3, 0xcf83}, /* e4 */ 0x00ceb4, 0x00ceb5, 0x00ceb6, 0x00ceb7,
{0x00f4, 0xcf84}, /* e8 */ 0x00ceb8, 0x00ceb9, 0x00ceba, 0x00cebb,
{0x00f5, 0xcf85}, /* ec */ 0x00cebc, 0x00cebd, 0x00cebe, 0x00cebf,
{0x00f6, 0xcf86}, /* f0 */ 0x00cf80, 0x00cf81, 0x00cf82, 0x00cf83,
{0x00f7, 0xcf87}, /* f4 */ 0x00cf84, 0x00cf85, 0x00cf86, 0x00cf87,
{0x00f8, 0xcf88}, /* f8 */ 0x00cf88, 0x00cf89, 0x00cf8a, 0x00cf8b,
{0x00f9, 0xcf89}, /* fc */ 0x00cf8c, 0x00cf8d, 0x00cf8e
{0x00fa, 0xcf8a},
{0x00fb, 0xcf8b},
{0x00fc, 0xcf8c},
{0x00fd, 0xcf8d},
{0x00fe, 0xcf8e}
}; };
/* src/backend/utils/mb/Unicode/win1254_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1254_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1254[ 121 ] = { static const uint32 win1254_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1254_to_unicode_tree =
{0x0083, 0xc692}, {
{0x0084, 0xe2809e}, NULL, /* 16-bit table not used */
{0x0085, 0xe280a6}, win1254_to_unicode_tree_table,
{0x0086, 0xe280a0},
{0x0087, 0xe280a1}, 0x0080, /* offset of table for 1-byte inputs */
{0x0088, 0xcb86}, 0x80, /* b1_lower */
{0x0089, 0xe280b0}, 0xff, /* b1_upper */
{0x008a, 0xc5a0},
{0x008b, 0xe280b9}, 0x0000, /* offset of table for 2-byte inputs */
{0x008c, 0xc592}, 0x00, /* b2_1_lower */
{0x0091, 0xe28098}, 0x00, /* b2_1_upper */
{0x0092, 0xe28099}, 0x00, /* b2_2_lower */
{0x0093, 0xe2809c}, 0x00, /* b2_2_upper */
{0x0094, 0xe2809d},
{0x0095, 0xe280a2}, 0x0000, /* offset of table for 3-byte inputs */
{0x0096, 0xe28093}, 0x00, /* b3_1_lower */
{0x0097, 0xe28094}, 0x00, /* b3_1_upper */
{0x0098, 0xcb9c}, 0x00, /* b3_2_lower */
{0x0099, 0xe284a2}, 0x00, /* b3_2_upper */
{0x009a, 0xc5a1}, 0x00, /* b3_3_lower */
{0x009b, 0xe280ba}, 0x00, /* b3_3_upper */
{0x009c, 0xc593},
{0x009f, 0xc5b8}, 0x0000, /* offset of table for 3-byte inputs */
{0x00a0, 0xc2a0}, 0x00, /* b4_1_lower */
{0x00a1, 0xc2a1}, 0x00, /* b4_1_upper */
{0x00a2, 0xc2a2}, 0x00, /* b4_2_lower */
{0x00a3, 0xc2a3}, 0x00, /* b4_2_upper */
{0x00a4, 0xc2a4}, 0x00, /* b4_3_lower */
{0x00a5, 0xc2a5}, 0x00, /* b4_3_upper */
{0x00a6, 0xc2a6}, 0x00, /* b4_4_lower */
{0x00a7, 0xc2a7}, 0x00 /* b4_4_upper */
{0x00a8, 0xc2a8}, };
{0x00a9, 0xc2a9},
{0x00aa, 0xc2aa}, static const uint32 win1254_to_unicode_tree_table[256] =
{0x00ab, 0xc2ab}, {
{0x00ac, 0xc2ac}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00ad, 0xc2ad},
{0x00ae, 0xc2ae}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc2af}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc2ba}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2bf}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc380}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc383}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xc388}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xc389}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xc38a}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xc38b}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xc38c}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cd, 0xc38d}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ce, 0xc38e},
{0x00cf, 0xc38f}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00d0, 0xc49e},
{0x00d1, 0xc391}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x00c692,
{0x00d2, 0xc392}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00d3, 0xc393}, /* 88 */ 0x00cb86, 0xe280b0, 0x00c5a0, 0xe280b9,
{0x00d4, 0xc394}, /* 8c */ 0x00c592, 0x000000, 0x000000, 0x000000,
{0x00d5, 0xc395}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00d6, 0xc396}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00d7, 0xc397}, /* 98 */ 0x00cb9c, 0xe284a2, 0x00c5a1, 0xe280ba,
{0x00d8, 0xc398}, /* 9c */ 0x00c593, 0x000000, 0x000000, 0x00c5b8,
{0x00d9, 0xc399}, /* a0 */ 0x00c2a0, 0x00c2a1, 0x00c2a2, 0x00c2a3,
{0x00da, 0xc39a}, /* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00db, 0xc39b}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00c2aa, 0x00c2ab,
{0x00dc, 0xc39c}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00dd, 0xc4b0}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00de, 0xc59e}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00df, 0xc39f}, /* b8 */ 0x00c2b8, 0x00c2b9, 0x00c2ba, 0x00c2bb,
{0x00e0, 0xc3a0}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c2bf,
{0x00e1, 0xc3a1}, /* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c383,
{0x00e2, 0xc3a2}, /* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
{0x00e3, 0xc3a3}, /* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
{0x00e4, 0xc3a4}, /* cc */ 0x00c38c, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00e5, 0xc3a5}, /* d0 */ 0x00c49e, 0x00c391, 0x00c392, 0x00c393,
{0x00e6, 0xc3a6}, /* d4 */ 0x00c394, 0x00c395, 0x00c396, 0x00c397,
{0x00e7, 0xc3a7}, /* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
{0x00e8, 0xc3a8}, /* dc */ 0x00c39c, 0x00c4b0, 0x00c59e, 0x00c39f,
{0x00e9, 0xc3a9}, /* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c3a3,
{0x00ea, 0xc3aa}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
{0x00eb, 0xc3ab}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00ec, 0xc3ac}, /* ec */ 0x00c3ac, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00ed, 0xc3ad}, /* f0 */ 0x00c49f, 0x00c3b1, 0x00c3b2, 0x00c3b3,
{0x00ee, 0xc3ae}, /* f4 */ 0x00c3b4, 0x00c3b5, 0x00c3b6, 0x00c3b7,
{0x00ef, 0xc3af}, /* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
{0x00f0, 0xc49f}, /* fc */ 0x00c3bc, 0x00c4b1, 0x00c59f, 0x00c3bf
{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}
}; };
/* src/backend/utils/mb/Unicode/win1255_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1255_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1255[ 105 ] = { static const uint32 win1255_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1255_to_unicode_tree =
{0x0083, 0xc692}, {
{0x0084, 0xe2809e}, NULL, /* 16-bit table not used */
{0x0085, 0xe280a6}, win1255_to_unicode_tree_table,
{0x0086, 0xe280a0},
{0x0087, 0xe280a1}, 0x007f, /* offset of table for 1-byte inputs */
{0x0088, 0xcb86}, 0x80, /* b1_lower */
{0x0089, 0xe280b0}, 0xfe, /* b1_upper */
{0x008b, 0xe280b9},
{0x0091, 0xe28098}, 0x0000, /* offset of table for 2-byte inputs */
{0x0092, 0xe28099}, 0x00, /* b2_1_lower */
{0x0093, 0xe2809c}, 0x00, /* b2_1_upper */
{0x0094, 0xe2809d}, 0x00, /* b2_2_lower */
{0x0095, 0xe280a2}, 0x00, /* b2_2_upper */
{0x0096, 0xe28093},
{0x0097, 0xe28094}, 0x0000, /* offset of table for 3-byte inputs */
{0x0098, 0xcb9c}, 0x00, /* b3_1_lower */
{0x0099, 0xe284a2}, 0x00, /* b3_1_upper */
{0x009b, 0xe280ba}, 0x00, /* b3_2_lower */
{0x00a0, 0xc2a0}, 0x00, /* b3_2_upper */
{0x00a1, 0xc2a1}, 0x00, /* b3_3_lower */
{0x00a2, 0xc2a2}, 0x00, /* b3_3_upper */
{0x00a3, 0xc2a3},
{0x00a4, 0xe282aa}, 0x0000, /* offset of table for 3-byte inputs */
{0x00a5, 0xc2a5}, 0x00, /* b4_1_lower */
{0x00a6, 0xc2a6}, 0x00, /* b4_1_upper */
{0x00a7, 0xc2a7}, 0x00, /* b4_2_lower */
{0x00a8, 0xc2a8}, 0x00, /* b4_2_upper */
{0x00a9, 0xc2a9}, 0x00, /* b4_3_lower */
{0x00aa, 0xc397}, 0x00, /* b4_3_upper */
{0x00ab, 0xc2ab}, 0x00, /* b4_4_lower */
{0x00ac, 0xc2ac}, 0x00 /* b4_4_upper */
{0x00ad, 0xc2ad}, };
{0x00ae, 0xc2ae},
{0x00af, 0xc2af}, static const uint32 win1255_to_unicode_tree_table[254] =
{0x00b0, 0xc2b0}, {
{0x00b1, 0xc2b1}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc3b7}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2bf}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xd6b0}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xd6b1}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xd6b2}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xd6b3}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xd6b4}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xd6b5}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xd6b6}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xd6b7}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xd6b8}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xd6b9}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xd6bb}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xd6bc}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cd, 0xd6bd}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ce, 0xd6be}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cf, 0xd6bf}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d0, 0xd780}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d1, 0xd781}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d2, 0xd782}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d3, 0xd783}, /* 7c */ 0x000000, 0x000000, 0x000000,
{0x00d4, 0xd7b0},
{0x00d5, 0xd7b1}, /*** Single byte table, leaf: xx - offset 0x0007f ***/
{0x00d6, 0xd7b2},
{0x00d7, 0xd7b3}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x00c692,
{0x00d8, 0xd7b4}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00e0, 0xd790}, /* 88 */ 0x00cb86, 0xe280b0, 0x000000, 0xe280b9,
{0x00e1, 0xd791}, /* 8c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e2, 0xd792}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00e3, 0xd793}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00e4, 0xd794}, /* 98 */ 0x00cb9c, 0xe284a2, 0x000000, 0xe280ba,
{0x00e5, 0xd795}, /* 9c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e6, 0xd796}, /* a0 */ 0x00c2a0, 0x00c2a1, 0x00c2a2, 0x00c2a3,
{0x00e7, 0xd797}, /* a4 */ 0xe282aa, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00e8, 0xd798}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00c397, 0x00c2ab,
{0x00e9, 0xd799}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00ea, 0xd79a}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00eb, 0xd79b}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00ec, 0xd79c}, /* b8 */ 0x00c2b8, 0x00c2b9, 0x00c3b7, 0x00c2bb,
{0x00ed, 0xd79d}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c2bf,
{0x00ee, 0xd79e}, /* c0 */ 0x00d6b0, 0x00d6b1, 0x00d6b2, 0x00d6b3,
{0x00ef, 0xd79f}, /* c4 */ 0x00d6b4, 0x00d6b5, 0x00d6b6, 0x00d6b7,
{0x00f0, 0xd7a0}, /* c8 */ 0x00d6b8, 0x00d6b9, 0x000000, 0x00d6bb,
{0x00f1, 0xd7a1}, /* cc */ 0x00d6bc, 0x00d6bd, 0x00d6be, 0x00d6bf,
{0x00f2, 0xd7a2}, /* d0 */ 0x00d780, 0x00d781, 0x00d782, 0x00d783,
{0x00f3, 0xd7a3}, /* d4 */ 0x00d7b0, 0x00d7b1, 0x00d7b2, 0x00d7b3,
{0x00f4, 0xd7a4}, /* d8 */ 0x00d7b4, 0x000000, 0x000000, 0x000000,
{0x00f5, 0xd7a5}, /* dc */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00f6, 0xd7a6}, /* e0 */ 0x00d790, 0x00d791, 0x00d792, 0x00d793,
{0x00f7, 0xd7a7}, /* e4 */ 0x00d794, 0x00d795, 0x00d796, 0x00d797,
{0x00f8, 0xd7a8}, /* e8 */ 0x00d798, 0x00d799, 0x00d79a, 0x00d79b,
{0x00f9, 0xd7a9}, /* ec */ 0x00d79c, 0x00d79d, 0x00d79e, 0x00d79f,
{0x00fa, 0xd7aa}, /* f0 */ 0x00d7a0, 0x00d7a1, 0x00d7a2, 0x00d7a3,
{0x00fd, 0xe2808e}, /* f4 */ 0x00d7a4, 0x00d7a5, 0x00d7a6, 0x00d7a7,
{0x00fe, 0xe2808f} /* f8 */ 0x00d7a8, 0x00d7a9, 0x00d7aa, 0x000000,
/* fc */ 0x000000, 0xe2808e, 0xe2808f
}; };
/* src/backend/utils/mb/Unicode/win1256_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1256_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1256[ 128 ] = { static const uint32 win1256_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0081, 0xd9be}, static const pg_mb_radix_tree win1256_to_unicode_tree =
{0x0082, 0xe2809a}, {
{0x0083, 0xc692}, NULL, /* 16-bit table not used */
{0x0084, 0xe2809e}, win1256_to_unicode_tree_table,
{0x0085, 0xe280a6},
{0x0086, 0xe280a0}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xe280a1}, 0x80, /* b1_lower */
{0x0088, 0xcb86}, 0xff, /* b1_upper */
{0x0089, 0xe280b0},
{0x008a, 0xd9b9}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xe280b9}, 0x00, /* b2_1_lower */
{0x008c, 0xc592}, 0x00, /* b2_1_upper */
{0x008d, 0xda86}, 0x00, /* b2_2_lower */
{0x008e, 0xda98}, 0x00, /* b2_2_upper */
{0x008f, 0xda88},
{0x0090, 0xdaaf}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xe28098}, 0x00, /* b3_1_lower */
{0x0092, 0xe28099}, 0x00, /* b3_1_upper */
{0x0093, 0xe2809c}, 0x00, /* b3_2_lower */
{0x0094, 0xe2809d}, 0x00, /* b3_2_upper */
{0x0095, 0xe280a2}, 0x00, /* b3_3_lower */
{0x0096, 0xe28093}, 0x00, /* b3_3_upper */
{0x0097, 0xe28094},
{0x0098, 0xdaa9}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xe284a2}, 0x00, /* b4_1_lower */
{0x009a, 0xda91}, 0x00, /* b4_1_upper */
{0x009b, 0xe280ba}, 0x00, /* b4_2_lower */
{0x009c, 0xc593}, 0x00, /* b4_2_upper */
{0x009d, 0xe2808c}, 0x00, /* b4_3_lower */
{0x009e, 0xe2808d}, 0x00, /* b4_3_upper */
{0x009f, 0xdaba}, 0x00, /* b4_4_lower */
{0x00a0, 0xc2a0}, 0x00 /* b4_4_upper */
{0x00a1, 0xd88c}, };
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3}, static const uint32 win1256_to_unicode_tree_table[256] =
{0x00a4, 0xc2a4}, {
{0x00a5, 0xc2a5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xc2a6},
{0x00a7, 0xc2a7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xc2a8}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xc2a9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xdabe}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xc2ab}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xc2ac}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xc2ad}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xc2ae}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xc2af}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xc2b0}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xd89b}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xd89f}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xdb81}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xd8a1}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xd8a2}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xd8a3}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xd8a4}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xd8a5}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xd8a6}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xd8a7},
{0x00c8, 0xd8a8}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xd8a9},
{0x00ca, 0xd8aa}, /* 80 */ 0xe282ac, 0x00d9be, 0xe2809a, 0x00c692,
{0x00cb, 0xd8ab}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00cc, 0xd8ac}, /* 88 */ 0x00cb86, 0xe280b0, 0x00d9b9, 0xe280b9,
{0x00cd, 0xd8ad}, /* 8c */ 0x00c592, 0x00da86, 0x00da98, 0x00da88,
{0x00ce, 0xd8ae}, /* 90 */ 0x00daaf, 0xe28098, 0xe28099, 0xe2809c,
{0x00cf, 0xd8af}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00d0, 0xd8b0}, /* 98 */ 0x00daa9, 0xe284a2, 0x00da91, 0xe280ba,
{0x00d1, 0xd8b1}, /* 9c */ 0x00c593, 0xe2808c, 0xe2808d, 0x00daba,
{0x00d2, 0xd8b2}, /* a0 */ 0x00c2a0, 0x00d88c, 0x00c2a2, 0x00c2a3,
{0x00d3, 0xd8b3}, /* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00d4, 0xd8b4}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00dabe, 0x00c2ab,
{0x00d5, 0xd8b5}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00d6, 0xd8b6}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00d7, 0xc397}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00d8, 0xd8b7}, /* b8 */ 0x00c2b8, 0x00c2b9, 0x00d89b, 0x00c2bb,
{0x00d9, 0xd8b8}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00d89f,
{0x00da, 0xd8b9}, /* c0 */ 0x00db81, 0x00d8a1, 0x00d8a2, 0x00d8a3,
{0x00db, 0xd8ba}, /* c4 */ 0x00d8a4, 0x00d8a5, 0x00d8a6, 0x00d8a7,
{0x00dc, 0xd980}, /* c8 */ 0x00d8a8, 0x00d8a9, 0x00d8aa, 0x00d8ab,
{0x00dd, 0xd981}, /* cc */ 0x00d8ac, 0x00d8ad, 0x00d8ae, 0x00d8af,
{0x00de, 0xd982}, /* d0 */ 0x00d8b0, 0x00d8b1, 0x00d8b2, 0x00d8b3,
{0x00df, 0xd983}, /* d4 */ 0x00d8b4, 0x00d8b5, 0x00d8b6, 0x00c397,
{0x00e0, 0xc3a0}, /* d8 */ 0x00d8b7, 0x00d8b8, 0x00d8b9, 0x00d8ba,
{0x00e1, 0xd984}, /* dc */ 0x00d980, 0x00d981, 0x00d982, 0x00d983,
{0x00e2, 0xc3a2}, /* e0 */ 0x00c3a0, 0x00d984, 0x00c3a2, 0x00d985,
{0x00e3, 0xd985}, /* e4 */ 0x00d986, 0x00d987, 0x00d988, 0x00c3a7,
{0x00e4, 0xd986}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00e5, 0xd987}, /* ec */ 0x00d989, 0x00d98a, 0x00c3ae, 0x00c3af,
{0x00e6, 0xd988}, /* f0 */ 0x00d98b, 0x00d98c, 0x00d98d, 0x00d98e,
{0x00e7, 0xc3a7}, /* f4 */ 0x00c3b4, 0x00d98f, 0x00d990, 0x00c3b7,
{0x00e8, 0xc3a8}, /* f8 */ 0x00d991, 0x00c3b9, 0x00d992, 0x00c3bb,
{0x00e9, 0xc3a9}, /* fc */ 0x00c3bc, 0xe2808e, 0xe2808f, 0x00db92
{0x00ea, 0xc3aa},
{0x00eb, 0xc3ab},
{0x00ec, 0xd989},
{0x00ed, 0xd98a},
{0x00ee, 0xc3ae},
{0x00ef, 0xc3af},
{0x00f0, 0xd98b},
{0x00f1, 0xd98c},
{0x00f2, 0xd98d},
{0x00f3, 0xd98e},
{0x00f4, 0xc3b4},
{0x00f5, 0xd98f},
{0x00f6, 0xd990},
{0x00f7, 0xc3b7},
{0x00f8, 0xd991},
{0x00f9, 0xc3b9},
{0x00fa, 0xd992},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xe2808e},
{0x00fe, 0xe2808f},
{0x00ff, 0xdb92}
}; };
/* src/backend/utils/mb/Unicode/win1257_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1257_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1257[ 116 ] = { static const uint32 win1257_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1257_to_unicode_tree =
{0x0084, 0xe2809e}, {
{0x0085, 0xe280a6}, NULL, /* 16-bit table not used */
{0x0086, 0xe280a0}, win1257_to_unicode_tree_table,
{0x0087, 0xe280a1},
{0x0089, 0xe280b0}, 0x0080, /* offset of table for 1-byte inputs */
{0x008b, 0xe280b9}, 0x80, /* b1_lower */
{0x008d, 0xc2a8}, 0xff, /* b1_upper */
{0x008e, 0xcb87},
{0x008f, 0xc2b8}, 0x0000, /* offset of table for 2-byte inputs */
{0x0091, 0xe28098}, 0x00, /* b2_1_lower */
{0x0092, 0xe28099}, 0x00, /* b2_1_upper */
{0x0093, 0xe2809c}, 0x00, /* b2_2_lower */
{0x0094, 0xe2809d}, 0x00, /* b2_2_upper */
{0x0095, 0xe280a2},
{0x0096, 0xe28093}, 0x0000, /* offset of table for 3-byte inputs */
{0x0097, 0xe28094}, 0x00, /* b3_1_lower */
{0x0099, 0xe284a2}, 0x00, /* b3_1_upper */
{0x009b, 0xe280ba}, 0x00, /* b3_2_lower */
{0x009d, 0xc2af}, 0x00, /* b3_2_upper */
{0x009e, 0xcb9b}, 0x00, /* b3_3_lower */
{0x00a0, 0xc2a0}, 0x00, /* b3_3_upper */
{0x00a2, 0xc2a2},
{0x00a3, 0xc2a3}, 0x0000, /* offset of table for 3-byte inputs */
{0x00a4, 0xc2a4}, 0x00, /* b4_1_lower */
{0x00a6, 0xc2a6}, 0x00, /* b4_1_upper */
{0x00a7, 0xc2a7}, 0x00, /* b4_2_lower */
{0x00a8, 0xc398}, 0x00, /* b4_2_upper */
{0x00a9, 0xc2a9}, 0x00, /* b4_3_lower */
{0x00aa, 0xc596}, 0x00, /* b4_3_upper */
{0x00ab, 0xc2ab}, 0x00, /* b4_4_lower */
{0x00ac, 0xc2ac}, 0x00 /* b4_4_upper */
{0x00ad, 0xc2ad}, };
{0x00ae, 0xc2ae},
{0x00af, 0xc386}, static const uint32 win1257_to_unicode_tree_table[256] =
{0x00b0, 0xc2b0}, {
{0x00b1, 0xc2b1}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00b2, 0xc2b2},
{0x00b3, 0xc2b3}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc3b8}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc597}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc3a6}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc484}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc4ae}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc480}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc486}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc498}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc492}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xc48c}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xc389}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xc5b9}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xc496}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xc4a2}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cd, 0xc4b6}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ce, 0xc4aa}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cf, 0xc4bb}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d0, 0xc5a0}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d1, 0xc583}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d2, 0xc585}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d3, 0xc393},
{0x00d4, 0xc58c}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00d5, 0xc395},
{0x00d6, 0xc396}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x000000,
{0x00d7, 0xc397}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00d8, 0xc5b2}, /* 88 */ 0x000000, 0xe280b0, 0x000000, 0xe280b9,
{0x00d9, 0xc581}, /* 8c */ 0x000000, 0x00c2a8, 0x00cb87, 0x00c2b8,
{0x00da, 0xc59a}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00db, 0xc5aa}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00dc, 0xc39c}, /* 98 */ 0x000000, 0xe284a2, 0x000000, 0xe280ba,
{0x00dd, 0xc5bb}, /* 9c */ 0x000000, 0x00c2af, 0x00cb9b, 0x000000,
{0x00de, 0xc5bd}, /* a0 */ 0x00c2a0, 0x000000, 0x00c2a2, 0x00c2a3,
{0x00df, 0xc39f}, /* a4 */ 0x00c2a4, 0x000000, 0x00c2a6, 0x00c2a7,
{0x00e0, 0xc485}, /* a8 */ 0x00c398, 0x00c2a9, 0x00c596, 0x00c2ab,
{0x00e1, 0xc4af}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c386,
{0x00e2, 0xc481}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00e3, 0xc487}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00e4, 0xc3a4}, /* b8 */ 0x00c3b8, 0x00c2b9, 0x00c597, 0x00c2bb,
{0x00e5, 0xc3a5}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c3a6,
{0x00e6, 0xc499}, /* c0 */ 0x00c484, 0x00c4ae, 0x00c480, 0x00c486,
{0x00e7, 0xc493}, /* c4 */ 0x00c384, 0x00c385, 0x00c498, 0x00c492,
{0x00e8, 0xc48d}, /* c8 */ 0x00c48c, 0x00c389, 0x00c5b9, 0x00c496,
{0x00e9, 0xc3a9}, /* cc */ 0x00c4a2, 0x00c4b6, 0x00c4aa, 0x00c4bb,
{0x00ea, 0xc5ba}, /* d0 */ 0x00c5a0, 0x00c583, 0x00c585, 0x00c393,
{0x00eb, 0xc497}, /* d4 */ 0x00c58c, 0x00c395, 0x00c396, 0x00c397,
{0x00ec, 0xc4a3}, /* d8 */ 0x00c5b2, 0x00c581, 0x00c59a, 0x00c5aa,
{0x00ed, 0xc4b7}, /* dc */ 0x00c39c, 0x00c5bb, 0x00c5bd, 0x00c39f,
{0x00ee, 0xc4ab}, /* e0 */ 0x00c485, 0x00c4af, 0x00c481, 0x00c487,
{0x00ef, 0xc4bc}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c499, 0x00c493,
{0x00f0, 0xc5a1}, /* e8 */ 0x00c48d, 0x00c3a9, 0x00c5ba, 0x00c497,
{0x00f1, 0xc584}, /* ec */ 0x00c4a3, 0x00c4b7, 0x00c4ab, 0x00c4bc,
{0x00f2, 0xc586}, /* f0 */ 0x00c5a1, 0x00c584, 0x00c586, 0x00c3b3,
{0x00f3, 0xc3b3}, /* f4 */ 0x00c58d, 0x00c3b5, 0x00c3b6, 0x00c3b7,
{0x00f4, 0xc58d}, /* f8 */ 0x00c5b3, 0x00c582, 0x00c59b, 0x00c5ab,
{0x00f5, 0xc3b5}, /* fc */ 0x00c3bc, 0x00c5bc, 0x00c5be, 0x00cb99
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc5b3},
{0x00f9, 0xc582},
{0x00fa, 0xc59b},
{0x00fb, 0xc5ab},
{0x00fc, 0xc3bc},
{0x00fd, 0xc5bc},
{0x00fe, 0xc5be},
{0x00ff, 0xcb99}
}; };
/* src/backend/utils/mb/Unicode/win1258_to_utf8.map */ /* src/backend/utils/mb/Unicode/win1258_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN1258[ 119 ] = { static const uint32 win1258_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0082, 0xe2809a}, static const pg_mb_radix_tree win1258_to_unicode_tree =
{0x0083, 0xc692}, {
{0x0084, 0xe2809e}, NULL, /* 16-bit table not used */
{0x0085, 0xe280a6}, win1258_to_unicode_tree_table,
{0x0086, 0xe280a0},
{0x0087, 0xe280a1}, 0x0080, /* offset of table for 1-byte inputs */
{0x0088, 0xcb86}, 0x80, /* b1_lower */
{0x0089, 0xe280b0}, 0xff, /* b1_upper */
{0x008b, 0xe280b9},
{0x008c, 0xc592}, 0x0000, /* offset of table for 2-byte inputs */
{0x0091, 0xe28098}, 0x00, /* b2_1_lower */
{0x0092, 0xe28099}, 0x00, /* b2_1_upper */
{0x0093, 0xe2809c}, 0x00, /* b2_2_lower */
{0x0094, 0xe2809d}, 0x00, /* b2_2_upper */
{0x0095, 0xe280a2},
{0x0096, 0xe28093}, 0x0000, /* offset of table for 3-byte inputs */
{0x0097, 0xe28094}, 0x00, /* b3_1_lower */
{0x0098, 0xcb9c}, 0x00, /* b3_1_upper */
{0x0099, 0xe284a2}, 0x00, /* b3_2_lower */
{0x009b, 0xe280ba}, 0x00, /* b3_2_upper */
{0x009c, 0xc593}, 0x00, /* b3_3_lower */
{0x009f, 0xc5b8}, 0x00, /* b3_3_upper */
{0x00a0, 0xc2a0},
{0x00a1, 0xc2a1}, 0x0000, /* offset of table for 3-byte inputs */
{0x00a2, 0xc2a2}, 0x00, /* b4_1_lower */
{0x00a3, 0xc2a3}, 0x00, /* b4_1_upper */
{0x00a4, 0xc2a4}, 0x00, /* b4_2_lower */
{0x00a5, 0xc2a5}, 0x00, /* b4_2_upper */
{0x00a6, 0xc2a6}, 0x00, /* b4_3_lower */
{0x00a7, 0xc2a7}, 0x00, /* b4_3_upper */
{0x00a8, 0xc2a8}, 0x00, /* b4_4_lower */
{0x00a9, 0xc2a9}, 0x00 /* b4_4_upper */
{0x00aa, 0xc2aa}, };
{0x00ab, 0xc2ab},
{0x00ac, 0xc2ac}, static const uint32 win1258_to_unicode_tree_table[256] =
{0x00ad, 0xc2ad}, {
{0x00ae, 0xc2ae}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00af, 0xc2af},
{0x00b0, 0xc2b0}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xc2b1}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xc2b2}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xc2b3}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xc2b4}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xc2b5}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xc2b6}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xc2b7}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xc2b8}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xc2b9}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xc2ba}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xc2bb}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xc2bc}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xc2bd}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xc2be}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xc2bf}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xc380}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xc381}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xc382}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xc482}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xc384}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xc385}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xc386}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xc387}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xc388}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xc389}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xc38a}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xc38b}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xcc80}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cd, 0xc38d}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ce, 0xc38e}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cf, 0xc38f}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d0, 0xc490},
{0x00d1, 0xc391}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00d2, 0xcc89},
{0x00d3, 0xc393}, /* 80 */ 0xe282ac, 0x000000, 0xe2809a, 0x00c692,
{0x00d4, 0xc394}, /* 84 */ 0xe2809e, 0xe280a6, 0xe280a0, 0xe280a1,
{0x00d5, 0xc6a0}, /* 88 */ 0x00cb86, 0xe280b0, 0x000000, 0xe280b9,
{0x00d6, 0xc396}, /* 8c */ 0x00c592, 0x000000, 0x000000, 0x000000,
{0x00d7, 0xc397}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00d8, 0xc398}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00d9, 0xc399}, /* 98 */ 0x00cb9c, 0xe284a2, 0x000000, 0xe280ba,
{0x00da, 0xc39a}, /* 9c */ 0x00c593, 0x000000, 0x000000, 0x00c5b8,
{0x00db, 0xc39b}, /* a0 */ 0x00c2a0, 0x00c2a1, 0x00c2a2, 0x00c2a3,
{0x00dc, 0xc39c}, /* a4 */ 0x00c2a4, 0x00c2a5, 0x00c2a6, 0x00c2a7,
{0x00dd, 0xc6af}, /* a8 */ 0x00c2a8, 0x00c2a9, 0x00c2aa, 0x00c2ab,
{0x00de, 0xcc83}, /* ac */ 0x00c2ac, 0x00c2ad, 0x00c2ae, 0x00c2af,
{0x00df, 0xc39f}, /* b0 */ 0x00c2b0, 0x00c2b1, 0x00c2b2, 0x00c2b3,
{0x00e0, 0xc3a0}, /* b4 */ 0x00c2b4, 0x00c2b5, 0x00c2b6, 0x00c2b7,
{0x00e1, 0xc3a1}, /* b8 */ 0x00c2b8, 0x00c2b9, 0x00c2ba, 0x00c2bb,
{0x00e2, 0xc3a2}, /* bc */ 0x00c2bc, 0x00c2bd, 0x00c2be, 0x00c2bf,
{0x00e3, 0xc483}, /* c0 */ 0x00c380, 0x00c381, 0x00c382, 0x00c482,
{0x00e4, 0xc3a4}, /* c4 */ 0x00c384, 0x00c385, 0x00c386, 0x00c387,
{0x00e5, 0xc3a5}, /* c8 */ 0x00c388, 0x00c389, 0x00c38a, 0x00c38b,
{0x00e6, 0xc3a6}, /* cc */ 0x00cc80, 0x00c38d, 0x00c38e, 0x00c38f,
{0x00e7, 0xc3a7}, /* d0 */ 0x00c490, 0x00c391, 0x00cc89, 0x00c393,
{0x00e8, 0xc3a8}, /* d4 */ 0x00c394, 0x00c6a0, 0x00c396, 0x00c397,
{0x00e9, 0xc3a9}, /* d8 */ 0x00c398, 0x00c399, 0x00c39a, 0x00c39b,
{0x00ea, 0xc3aa}, /* dc */ 0x00c39c, 0x00c6af, 0x00cc83, 0x00c39f,
{0x00eb, 0xc3ab}, /* e0 */ 0x00c3a0, 0x00c3a1, 0x00c3a2, 0x00c483,
{0x00ec, 0xcc81}, /* e4 */ 0x00c3a4, 0x00c3a5, 0x00c3a6, 0x00c3a7,
{0x00ed, 0xc3ad}, /* e8 */ 0x00c3a8, 0x00c3a9, 0x00c3aa, 0x00c3ab,
{0x00ee, 0xc3ae}, /* ec */ 0x00cc81, 0x00c3ad, 0x00c3ae, 0x00c3af,
{0x00ef, 0xc3af}, /* f0 */ 0x00c491, 0x00c3b1, 0x00cca3, 0x00c3b3,
{0x00f0, 0xc491}, /* f4 */ 0x00c3b4, 0x00c6a1, 0x00c3b6, 0x00c3b7,
{0x00f1, 0xc3b1}, /* f8 */ 0x00c3b8, 0x00c3b9, 0x00c3ba, 0x00c3bb,
{0x00f2, 0xcca3}, /* fc */ 0x00c3bc, 0x00c6b0, 0xe282ab, 0x00c3bf
{0x00f3, 0xc3b3},
{0x00f4, 0xc3b4},
{0x00f5, 0xc6a1},
{0x00f6, 0xc3b6},
{0x00f7, 0xc3b7},
{0x00f8, 0xc3b8},
{0x00f9, 0xc3b9},
{0x00fa, 0xc3ba},
{0x00fb, 0xc3bb},
{0x00fc, 0xc3bc},
{0x00fd, 0xc6b0},
{0x00fe, 0xe282ab},
{0x00ff, 0xc3bf}
}; };
/* src/backend/utils/mb/Unicode/win866_to_utf8.map */ /* src/backend/utils/mb/Unicode/win866_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN866[ 128 ] = { static const uint32 win866_to_unicode_tree_table[];
{0x0080, 0xd090},
{0x0081, 0xd091}, static const pg_mb_radix_tree win866_to_unicode_tree =
{0x0082, 0xd092}, {
{0x0083, 0xd093}, NULL, /* 16-bit table not used */
{0x0084, 0xd094}, win866_to_unicode_tree_table,
{0x0085, 0xd095},
{0x0086, 0xd096}, 0x0080, /* offset of table for 1-byte inputs */
{0x0087, 0xd097}, 0x80, /* b1_lower */
{0x0088, 0xd098}, 0xff, /* b1_upper */
{0x0089, 0xd099},
{0x008a, 0xd09a}, 0x0000, /* offset of table for 2-byte inputs */
{0x008b, 0xd09b}, 0x00, /* b2_1_lower */
{0x008c, 0xd09c}, 0x00, /* b2_1_upper */
{0x008d, 0xd09d}, 0x00, /* b2_2_lower */
{0x008e, 0xd09e}, 0x00, /* b2_2_upper */
{0x008f, 0xd09f},
{0x0090, 0xd0a0}, 0x0000, /* offset of table for 3-byte inputs */
{0x0091, 0xd0a1}, 0x00, /* b3_1_lower */
{0x0092, 0xd0a2}, 0x00, /* b3_1_upper */
{0x0093, 0xd0a3}, 0x00, /* b3_2_lower */
{0x0094, 0xd0a4}, 0x00, /* b3_2_upper */
{0x0095, 0xd0a5}, 0x00, /* b3_3_lower */
{0x0096, 0xd0a6}, 0x00, /* b3_3_upper */
{0x0097, 0xd0a7},
{0x0098, 0xd0a8}, 0x0000, /* offset of table for 3-byte inputs */
{0x0099, 0xd0a9}, 0x00, /* b4_1_lower */
{0x009a, 0xd0aa}, 0x00, /* b4_1_upper */
{0x009b, 0xd0ab}, 0x00, /* b4_2_lower */
{0x009c, 0xd0ac}, 0x00, /* b4_2_upper */
{0x009d, 0xd0ad}, 0x00, /* b4_3_lower */
{0x009e, 0xd0ae}, 0x00, /* b4_3_upper */
{0x009f, 0xd0af}, 0x00, /* b4_4_lower */
{0x00a0, 0xd0b0}, 0x00 /* b4_4_upper */
{0x00a1, 0xd0b1}, };
{0x00a2, 0xd0b2},
{0x00a3, 0xd0b3}, static const uint32 win866_to_unicode_tree_table[256] =
{0x00a4, 0xd0b4}, {
{0x00a5, 0xd0b5}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00a6, 0xd0b6},
{0x00a7, 0xd0b7}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a8, 0xd0b8}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00a9, 0xd0b9}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00aa, 0xd0ba}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ab, 0xd0bb}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ac, 0xd0bc}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ad, 0xd0bd}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ae, 0xd0be}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00af, 0xd0bf}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b0, 0xe29691}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b1, 0xe29692}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b2, 0xe29693}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b3, 0xe29482}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b4, 0xe294a4}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b5, 0xe295a1}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b6, 0xe295a2}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b7, 0xe29596}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b8, 0xe29595}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00b9, 0xe295a3}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ba, 0xe29591}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bb, 0xe29597}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bc, 0xe2959d}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bd, 0xe2959c}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00be, 0xe2959b}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xe29490}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xe29494}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xe294b4}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xe294ac}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xe2949c}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xe29480}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xe294bc}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xe2959e}, /* 7c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xe2959f},
{0x00c8, 0xe2959a}, /*** Single byte table, leaf: xx - offset 0x00080 ***/
{0x00c9, 0xe29594},
{0x00ca, 0xe295a9}, /* 80 */ 0x00d090, 0x00d091, 0x00d092, 0x00d093,
{0x00cb, 0xe295a6}, /* 84 */ 0x00d094, 0x00d095, 0x00d096, 0x00d097,
{0x00cc, 0xe295a0}, /* 88 */ 0x00d098, 0x00d099, 0x00d09a, 0x00d09b,
{0x00cd, 0xe29590}, /* 8c */ 0x00d09c, 0x00d09d, 0x00d09e, 0x00d09f,
{0x00ce, 0xe295ac}, /* 90 */ 0x00d0a0, 0x00d0a1, 0x00d0a2, 0x00d0a3,
{0x00cf, 0xe295a7}, /* 94 */ 0x00d0a4, 0x00d0a5, 0x00d0a6, 0x00d0a7,
{0x00d0, 0xe295a8}, /* 98 */ 0x00d0a8, 0x00d0a9, 0x00d0aa, 0x00d0ab,
{0x00d1, 0xe295a4}, /* 9c */ 0x00d0ac, 0x00d0ad, 0x00d0ae, 0x00d0af,
{0x00d2, 0xe295a5}, /* a0 */ 0x00d0b0, 0x00d0b1, 0x00d0b2, 0x00d0b3,
{0x00d3, 0xe29599}, /* a4 */ 0x00d0b4, 0x00d0b5, 0x00d0b6, 0x00d0b7,
{0x00d4, 0xe29598}, /* a8 */ 0x00d0b8, 0x00d0b9, 0x00d0ba, 0x00d0bb,
{0x00d5, 0xe29592}, /* ac */ 0x00d0bc, 0x00d0bd, 0x00d0be, 0x00d0bf,
{0x00d6, 0xe29593}, /* b0 */ 0xe29691, 0xe29692, 0xe29693, 0xe29482,
{0x00d7, 0xe295ab}, /* b4 */ 0xe294a4, 0xe295a1, 0xe295a2, 0xe29596,
{0x00d8, 0xe295aa}, /* b8 */ 0xe29595, 0xe295a3, 0xe29591, 0xe29597,
{0x00d9, 0xe29498}, /* bc */ 0xe2959d, 0xe2959c, 0xe2959b, 0xe29490,
{0x00da, 0xe2948c}, /* c0 */ 0xe29494, 0xe294b4, 0xe294ac, 0xe2949c,
{0x00db, 0xe29688}, /* c4 */ 0xe29480, 0xe294bc, 0xe2959e, 0xe2959f,
{0x00dc, 0xe29684}, /* c8 */ 0xe2959a, 0xe29594, 0xe295a9, 0xe295a6,
{0x00dd, 0xe2968c}, /* cc */ 0xe295a0, 0xe29590, 0xe295ac, 0xe295a7,
{0x00de, 0xe29690}, /* d0 */ 0xe295a8, 0xe295a4, 0xe295a5, 0xe29599,
{0x00df, 0xe29680}, /* d4 */ 0xe29598, 0xe29592, 0xe29593, 0xe295ab,
{0x00e0, 0xd180}, /* d8 */ 0xe295aa, 0xe29498, 0xe2948c, 0xe29688,
{0x00e1, 0xd181}, /* dc */ 0xe29684, 0xe2968c, 0xe29690, 0xe29680,
{0x00e2, 0xd182}, /* e0 */ 0x00d180, 0x00d181, 0x00d182, 0x00d183,
{0x00e3, 0xd183}, /* e4 */ 0x00d184, 0x00d185, 0x00d186, 0x00d187,
{0x00e4, 0xd184}, /* e8 */ 0x00d188, 0x00d189, 0x00d18a, 0x00d18b,
{0x00e5, 0xd185}, /* ec */ 0x00d18c, 0x00d18d, 0x00d18e, 0x00d18f,
{0x00e6, 0xd186}, /* f0 */ 0x00d081, 0x00d191, 0x00d084, 0x00d194,
{0x00e7, 0xd187}, /* f4 */ 0x00d087, 0x00d197, 0x00d08e, 0x00d19e,
{0x00e8, 0xd188}, /* f8 */ 0x00c2b0, 0xe28899, 0x00c2b7, 0xe2889a,
{0x00e9, 0xd189}, /* fc */ 0xe28496, 0x00c2a4, 0xe296a0, 0x00c2a0
{0x00ea, 0xd18a},
{0x00eb, 0xd18b},
{0x00ec, 0xd18c},
{0x00ed, 0xd18d},
{0x00ee, 0xd18e},
{0x00ef, 0xd18f},
{0x00f0, 0xd081},
{0x00f1, 0xd191},
{0x00f2, 0xd084},
{0x00f3, 0xd194},
{0x00f4, 0xd087},
{0x00f5, 0xd197},
{0x00f6, 0xd08e},
{0x00f7, 0xd19e},
{0x00f8, 0xc2b0},
{0x00f9, 0xe28899},
{0x00fa, 0xc2b7},
{0x00fb, 0xe2889a},
{0x00fc, 0xe28496},
{0x00fd, 0xc2a4},
{0x00fe, 0xe296a0},
{0x00ff, 0xc2a0}
}; };
/* src/backend/utils/mb/Unicode/win874_to_utf8.map */ /* src/backend/utils/mb/Unicode/win874_to_utf8.map */
/* This file is generated by UCS_to_most.pl */
static const pg_local_to_utf LUmapWIN874[ 97 ] = { static const uint32 win874_to_unicode_tree_table[];
{0x0080, 0xe282ac},
{0x0085, 0xe280a6}, static const pg_mb_radix_tree win874_to_unicode_tree =
{0x0091, 0xe28098}, {
{0x0092, 0xe28099}, NULL, /* 16-bit table not used */
{0x0093, 0xe2809c}, win874_to_unicode_tree_table,
{0x0094, 0xe2809d},
{0x0095, 0xe280a2}, 0x007c, /* offset of table for 1-byte inputs */
{0x0096, 0xe28093}, 0x80, /* b1_lower */
{0x0097, 0xe28094}, 0xfb, /* b1_upper */
{0x00a0, 0xc2a0},
{0x00a1, 0xe0b881}, 0x0000, /* offset of table for 2-byte inputs */
{0x00a2, 0xe0b882}, 0x00, /* b2_1_lower */
{0x00a3, 0xe0b883}, 0x00, /* b2_1_upper */
{0x00a4, 0xe0b884}, 0x00, /* b2_2_lower */
{0x00a5, 0xe0b885}, 0x00, /* b2_2_upper */
{0x00a6, 0xe0b886},
{0x00a7, 0xe0b887}, 0x0000, /* offset of table for 3-byte inputs */
{0x00a8, 0xe0b888}, 0x00, /* b3_1_lower */
{0x00a9, 0xe0b889}, 0x00, /* b3_1_upper */
{0x00aa, 0xe0b88a}, 0x00, /* b3_2_lower */
{0x00ab, 0xe0b88b}, 0x00, /* b3_2_upper */
{0x00ac, 0xe0b88c}, 0x00, /* b3_3_lower */
{0x00ad, 0xe0b88d}, 0x00, /* b3_3_upper */
{0x00ae, 0xe0b88e},
{0x00af, 0xe0b88f}, 0x0000, /* offset of table for 3-byte inputs */
{0x00b0, 0xe0b890}, 0x00, /* b4_1_lower */
{0x00b1, 0xe0b891}, 0x00, /* b4_1_upper */
{0x00b2, 0xe0b892}, 0x00, /* b4_2_lower */
{0x00b3, 0xe0b893}, 0x00, /* b4_2_upper */
{0x00b4, 0xe0b894}, 0x00, /* b4_3_lower */
{0x00b5, 0xe0b895}, 0x00, /* b4_3_upper */
{0x00b6, 0xe0b896}, 0x00, /* b4_4_lower */
{0x00b7, 0xe0b897}, 0x00 /* b4_4_upper */
{0x00b8, 0xe0b898}, };
{0x00b9, 0xe0b899},
{0x00ba, 0xe0b89a}, static const uint32 win874_to_unicode_tree_table[248] =
{0x00bb, 0xe0b89b}, {
{0x00bc, 0xe0b89c}, /*** Dummy map, for invalid values - offset 0x00000 ***/
{0x00bd, 0xe0b89d},
{0x00be, 0xe0b89e}, /* 00 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00bf, 0xe0b89f}, /* 04 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c0, 0xe0b8a0}, /* 08 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c1, 0xe0b8a1}, /* 0c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c2, 0xe0b8a2}, /* 10 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c3, 0xe0b8a3}, /* 14 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c4, 0xe0b8a4}, /* 18 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c5, 0xe0b8a5}, /* 1c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c6, 0xe0b8a6}, /* 20 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c7, 0xe0b8a7}, /* 24 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c8, 0xe0b8a8}, /* 28 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00c9, 0xe0b8a9}, /* 2c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ca, 0xe0b8aa}, /* 30 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cb, 0xe0b8ab}, /* 34 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cc, 0xe0b8ac}, /* 38 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cd, 0xe0b8ad}, /* 3c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ce, 0xe0b8ae}, /* 40 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00cf, 0xe0b8af}, /* 44 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d0, 0xe0b8b0}, /* 48 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d1, 0xe0b8b1}, /* 4c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d2, 0xe0b8b2}, /* 50 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d3, 0xe0b8b3}, /* 54 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d4, 0xe0b8b4}, /* 58 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d5, 0xe0b8b5}, /* 5c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d6, 0xe0b8b6}, /* 60 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d7, 0xe0b8b7}, /* 64 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d8, 0xe0b8b8}, /* 68 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00d9, 0xe0b8b9}, /* 6c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00da, 0xe0b8ba}, /* 70 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00df, 0xe0b8bf}, /* 74 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e0, 0xe0b980}, /* 78 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e1, 0xe0b981},
{0x00e2, 0xe0b982}, /*** Single byte table, leaf: xx - offset 0x0007c ***/
{0x00e3, 0xe0b983},
{0x00e4, 0xe0b984}, /* 80 */ 0xe282ac, 0x000000, 0x000000, 0x000000,
{0x00e5, 0xe0b985}, /* 84 */ 0x000000, 0xe280a6, 0x000000, 0x000000,
{0x00e6, 0xe0b986}, /* 88 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e7, 0xe0b987}, /* 8c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00e8, 0xe0b988}, /* 90 */ 0x000000, 0xe28098, 0xe28099, 0xe2809c,
{0x00e9, 0xe0b989}, /* 94 */ 0xe2809d, 0xe280a2, 0xe28093, 0xe28094,
{0x00ea, 0xe0b98a}, /* 98 */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00eb, 0xe0b98b}, /* 9c */ 0x000000, 0x000000, 0x000000, 0x000000,
{0x00ec, 0xe0b98c}, /* a0 */ 0x00c2a0, 0xe0b881, 0xe0b882, 0xe0b883,
{0x00ed, 0xe0b98d}, /* a4 */ 0xe0b884, 0xe0b885, 0xe0b886, 0xe0b887,
{0x00ee, 0xe0b98e}, /* a8 */ 0xe0b888, 0xe0b889, 0xe0b88a, 0xe0b88b,
{0x00ef, 0xe0b98f}, /* ac */ 0xe0b88c, 0xe0b88d, 0xe0b88e, 0xe0b88f,
{0x00f0, 0xe0b990}, /* b0 */ 0xe0b890, 0xe0b891, 0xe0b892, 0xe0b893,
{0x00f1, 0xe0b991}, /* b4 */ 0xe0b894, 0xe0b895, 0xe0b896, 0xe0b897,
{0x00f2, 0xe0b992}, /* b8 */ 0xe0b898, 0xe0b899, 0xe0b89a, 0xe0b89b,
{0x00f3, 0xe0b993}, /* bc */ 0xe0b89c, 0xe0b89d, 0xe0b89e, 0xe0b89f,
{0x00f4, 0xe0b994}, /* c0 */ 0xe0b8a0, 0xe0b8a1, 0xe0b8a2, 0xe0b8a3,
{0x00f5, 0xe0b995}, /* c4 */ 0xe0b8a4, 0xe0b8a5, 0xe0b8a6, 0xe0b8a7,
{0x00f6, 0xe0b996}, /* c8 */ 0xe0b8a8, 0xe0b8a9, 0xe0b8aa, 0xe0b8ab,
{0x00f7, 0xe0b997}, /* cc */ 0xe0b8ac, 0xe0b8ad, 0xe0b8ae, 0xe0b8af,
{0x00f8, 0xe0b998}, /* d0 */ 0xe0b8b0, 0xe0b8b1, 0xe0b8b2, 0xe0b8b3,
{0x00f9, 0xe0b999}, /* d4 */ 0xe0b8b4, 0xe0b8b5, 0xe0b8b6, 0xe0b8b7,
{0x00fa, 0xe0b99a}, /* d8 */ 0xe0b8b8, 0xe0b8b9, 0xe0b8ba, 0x000000,
{0x00fb, 0xe0b99b} /* dc */ 0x000000, 0x000000, 0x000000, 0xe0b8bf,
/* e0 */ 0xe0b980, 0xe0b981, 0xe0b982, 0xe0b983,
/* e4 */ 0xe0b984, 0xe0b985, 0xe0b986, 0xe0b987,
/* e8 */ 0xe0b988, 0xe0b989, 0xe0b98a, 0xe0b98b,
/* ec */ 0xe0b98c, 0xe0b98d, 0xe0b98e, 0xe0b98f,
/* f0 */ 0xe0b990, 0xe0b991, 0xe0b992, 0xe0b993,
/* f4 */ 0xe0b994, 0xe0b995, 0xe0b996, 0xe0b997,
/* f8 */ 0xe0b998, 0xe0b999, 0xe0b99a, 0xe0b99b
}; };
...@@ -282,36 +282,6 @@ mic2latin_with_table(const unsigned char *mic, ...@@ -282,36 +282,6 @@ mic2latin_with_table(const unsigned char *mic,
*p = '\0'; *p = '\0';
} }
/*
* comparison routine for bsearch()
* this routine is intended for UTF8 -> local code
*/
static int
compare1(const void *p1, const void *p2)
{
uint32 v1,
v2;
v1 = *(const uint32 *) p1;
v2 = ((const pg_utf_to_local *) p2)->utf;
return (v1 > v2) ? 1 : ((v1 == v2) ? 0 : -1);
}
/*
* comparison routine for bsearch()
* this routine is intended for local code -> UTF8
*/
static int
compare2(const void *p1, const void *p2)
{
uint32 v1,
v2;
v1 = *(const uint32 *) p1;
v2 = ((const pg_local_to_utf *) p2)->code;
return (v1 > v2) ? 1 : ((v1 == v2) ? 0 : -1);
}
/* /*
* comparison routine for bsearch() * comparison routine for bsearch()
* this routine is intended for combined UTF8 -> local code * this routine is intended for combined UTF8 -> local code
...@@ -363,6 +333,121 @@ store_coded_char(unsigned char *dest, uint32 code) ...@@ -363,6 +333,121 @@ store_coded_char(unsigned char *dest, uint32 code)
return dest; return dest;
} }
/*
* Convert a character using a conversion radix tree.
*
* 'l' is the length of the input character in bytes, and b1-b4 are
* the input character's bytes.
*/
static inline uint32
pg_mb_radix_conv(const pg_mb_radix_tree *rt,
int l,
unsigned char b1,
unsigned char b2,
unsigned char b3,
unsigned char b4)
{
if (l == 4)
{
/* 4-byte code */
/* check code validity */
if (b1 < rt->b4_1_lower || b1 > rt->b4_1_upper ||
b2 < rt->b4_2_lower || b2 > rt->b4_2_upper ||
b3 < rt->b4_3_lower || b3 > rt->b4_3_upper ||
b4 < rt->b4_4_lower || b4 > rt->b4_4_upper)
return 0;
/* perform lookup */
if (rt->chars32)
{
uint32 idx = rt->b4root;
idx = rt->chars32[b1 + idx - rt->b4_1_lower];
idx = rt->chars32[b2 + idx - rt->b4_2_lower];
idx = rt->chars32[b3 + idx - rt->b4_3_lower];
return rt->chars32[b4 + idx - rt->b4_4_lower];
}
else
{
uint16 idx = rt->b4root;
idx = rt->chars16[b1 + idx - rt->b4_1_lower];
idx = rt->chars16[b2 + idx - rt->b4_2_lower];
idx = rt->chars16[b3 + idx - rt->b4_3_lower];
return rt->chars16[b4 + idx - rt->b4_4_lower];
}
}
else if (l == 3)
{
/* 3-byte code */
/* check code validity */
if (b2 < rt->b3_1_lower || b2 > rt->b3_1_upper ||
b3 < rt->b3_2_lower || b3 > rt->b3_2_upper ||
b4 < rt->b3_3_lower || b4 > rt->b3_3_upper)
return 0;
/* perform lookup */
if (rt->chars32)
{
uint32 idx = rt->b3root;
idx = rt->chars32[b2 + idx - rt->b3_1_lower];
idx = rt->chars32[b3 + idx - rt->b3_2_lower];
return rt->chars32[b4 + idx - rt->b3_3_lower];
}
else
{
uint16 idx = rt->b3root;
idx = rt->chars16[b2 + idx - rt->b3_1_lower];
idx = rt->chars16[b3 + idx - rt->b3_2_lower];
return rt->chars16[b4 + idx - rt->b3_3_lower];
}
}
else if (l == 2)
{
/* 2-byte code */
/* check code validity - first byte */
if (b3 < rt->b2_1_lower || b3 > rt->b2_1_upper ||
b4 < rt->b2_2_lower || b4 > rt->b2_2_upper)
return 0;
/* perform lookup */
if (rt->chars32)
{
uint32 idx = rt->b2root;
idx = rt->chars32[b3 + idx - rt->b2_1_lower];
return rt->chars32[b4 + idx - rt->b2_2_lower];
}
else
{
uint16 idx = rt->b2root;
idx = rt->chars16[b3 + idx - rt->b2_1_lower];
return rt->chars16[b4 + idx - rt->b2_2_lower];
}
}
else if (l == 1)
{
/* 1-byte code */
/* check code validity - first byte */
if (b4 < rt->b1_lower || b4 > rt->b1_upper)
return 0;
/* perform lookup */
if (rt->chars32)
return rt->chars32[b4 + rt->b1root - rt->b1_lower];
else
return rt->chars16[b4 + rt->b1root - rt->b1_lower];
}
return 0; /* shouldn't happen */
}
/* /*
* UTF8 ---> local code * UTF8 ---> local code
* *
...@@ -371,7 +456,6 @@ store_coded_char(unsigned char *dest, uint32 code) ...@@ -371,7 +456,6 @@ store_coded_char(unsigned char *dest, uint32 code)
* iso: pointer to the output area (must be large enough!) * iso: pointer to the output area (must be large enough!)
(output string will be null-terminated) (output string will be null-terminated)
* map: conversion map for single characters * map: conversion map for single characters
* mapsize: number of entries in the conversion map
* cmap: conversion map for combined characters * cmap: conversion map for combined characters
* (optional, pass NULL if none) * (optional, pass NULL if none)
* cmapsize: number of entries in the conversion map for combined characters * cmapsize: number of entries in the conversion map for combined characters
...@@ -389,14 +473,13 @@ store_coded_char(unsigned char *dest, uint32 code) ...@@ -389,14 +473,13 @@ store_coded_char(unsigned char *dest, uint32 code)
void void
UtfToLocal(const unsigned char *utf, int len, UtfToLocal(const unsigned char *utf, int len,
unsigned char *iso, unsigned char *iso,
const pg_utf_to_local *map, int mapsize, const pg_mb_radix_tree *map,
const pg_utf_to_local_combined *cmap, int cmapsize, const pg_utf_to_local_combined *cmap, int cmapsize,
utf_local_conversion_func conv_func, utf_local_conversion_func conv_func,
int encoding) int encoding)
{ {
uint32 iutf; uint32 iutf;
int l; int l;
const pg_utf_to_local *p;
const pg_utf_to_local_combined *cp; const pg_utf_to_local_combined *cp;
if (!PG_VALID_ENCODING(encoding)) if (!PG_VALID_ENCODING(encoding))
...@@ -406,6 +489,11 @@ UtfToLocal(const unsigned char *utf, int len, ...@@ -406,6 +489,11 @@ UtfToLocal(const unsigned char *utf, int len,
for (; len > 0; len -= l) for (; len > 0; len -= l)
{ {
unsigned char b1 = 0;
unsigned char b2 = 0;
unsigned char b3 = 0;
unsigned char b4 = 0;
/* "break" cases all represent errors */ /* "break" cases all represent errors */
if (*utf == '\0') if (*utf == '\0')
break; break;
...@@ -427,27 +515,28 @@ UtfToLocal(const unsigned char *utf, int len, ...@@ -427,27 +515,28 @@ UtfToLocal(const unsigned char *utf, int len,
/* collect coded char of length l */ /* collect coded char of length l */
if (l == 2) if (l == 2)
{ {
iutf = *utf++ << 8; b3 = *utf++;
iutf |= *utf++; b4 = *utf++;
} }
else if (l == 3) else if (l == 3)
{ {
iutf = *utf++ << 16; b2 = *utf++;
iutf |= *utf++ << 8; b3 = *utf++;
iutf |= *utf++; b4 = *utf++;
} }
else if (l == 4) else if (l == 4)
{ {
iutf = *utf++ << 24; b1 = *utf++;
iutf |= *utf++ << 16; b2 = *utf++;
iutf |= *utf++ << 8; b3 = *utf++;
iutf |= *utf++; b4 = *utf++;
} }
else else
{ {
elog(ERROR, "unsupported character length %d", l); elog(ERROR, "unsupported character length %d", l);
iutf = 0; /* keep compiler quiet */ iutf = 0; /* keep compiler quiet */
} }
iutf = (b1 << 24 | b2 << 16 | b3 << 8 | b4);
/* First, try with combined map if possible */ /* First, try with combined map if possible */
if (cmap && len > l) if (cmap && len > l)
...@@ -516,14 +605,15 @@ UtfToLocal(const unsigned char *utf, int len, ...@@ -516,14 +605,15 @@ UtfToLocal(const unsigned char *utf, int len,
} }
/* Now check ordinary map */ /* Now check ordinary map */
p = bsearch(&iutf, map, mapsize, if (map)
sizeof(pg_utf_to_local), compare1); {
uint32 converted = pg_mb_radix_conv(map, l, b1, b2, b3, b4);
if (p) if (converted)
{ {
iso = store_coded_char(iso, p->code); iso = store_coded_char(iso, converted);
continue; continue;
} }
}
/* if there's a conversion function, try that */ /* if there's a conversion function, try that */
if (conv_func) if (conv_func)
...@@ -557,7 +647,6 @@ UtfToLocal(const unsigned char *utf, int len, ...@@ -557,7 +647,6 @@ UtfToLocal(const unsigned char *utf, int len,
* utf: pointer to the output area (must be large enough!) * utf: pointer to the output area (must be large enough!)
(output string will be null-terminated) (output string will be null-terminated)
* map: conversion map for single characters * map: conversion map for single characters
* mapsize: number of entries in the conversion map
* cmap: conversion map for combined characters * cmap: conversion map for combined characters
* (optional, pass NULL if none) * (optional, pass NULL if none)
* cmapsize: number of entries in the conversion map for combined characters * cmapsize: number of entries in the conversion map for combined characters
...@@ -575,14 +664,13 @@ UtfToLocal(const unsigned char *utf, int len, ...@@ -575,14 +664,13 @@ UtfToLocal(const unsigned char *utf, int len,
void void
LocalToUtf(const unsigned char *iso, int len, LocalToUtf(const unsigned char *iso, int len,
unsigned char *utf, unsigned char *utf,
const pg_local_to_utf *map, int mapsize, const pg_mb_radix_tree *map,
const pg_local_to_utf_combined *cmap, int cmapsize, const pg_local_to_utf_combined *cmap, int cmapsize,
utf_local_conversion_func conv_func, utf_local_conversion_func conv_func,
int encoding) int encoding)
{ {
uint32 iiso; uint32 iiso;
int l; int l;
const pg_local_to_utf *p;
const pg_local_to_utf_combined *cp; const pg_local_to_utf_combined *cp;
if (!PG_VALID_ENCODING(encoding)) if (!PG_VALID_ENCODING(encoding))
...@@ -592,6 +680,11 @@ LocalToUtf(const unsigned char *iso, int len, ...@@ -592,6 +680,11 @@ LocalToUtf(const unsigned char *iso, int len,
for (; len > 0; len -= l) for (; len > 0; len -= l)
{ {
unsigned char b1 = 0;
unsigned char b2 = 0;
unsigned char b3 = 0;
unsigned char b4 = 0;
/* "break" cases all represent errors */ /* "break" cases all represent errors */
if (*iso == '\0') if (*iso == '\0')
break; break;
...@@ -610,38 +703,39 @@ LocalToUtf(const unsigned char *iso, int len, ...@@ -610,38 +703,39 @@ LocalToUtf(const unsigned char *iso, int len,
/* collect coded char of length l */ /* collect coded char of length l */
if (l == 1) if (l == 1)
iiso = *iso++; b4 = *iso++;
else if (l == 2) else if (l == 2)
{ {
iiso = *iso++ << 8; b3 = *iso++;
iiso |= *iso++; b4 = *iso++;
} }
else if (l == 3) else if (l == 3)
{ {
iiso = *iso++ << 16; b2 = *iso++;
iiso |= *iso++ << 8; b3 = *iso++;
iiso |= *iso++; b4 = *iso++;
} }
else if (l == 4) else if (l == 4)
{ {
iiso = *iso++ << 24; b1 = *iso++;
iiso |= *iso++ << 16; b2 = *iso++;
iiso |= *iso++ << 8; b3 = *iso++;
iiso |= *iso++; b4 = *iso++;
} }
else else
{ {
elog(ERROR, "unsupported character length %d", l); elog(ERROR, "unsupported character length %d", l);
iiso = 0; /* keep compiler quiet */ iiso = 0; /* keep compiler quiet */
} }
iiso = (b1 << 24 | b2 << 16 | b3 << 8 | b4);
/* First check ordinary map */ if (map)
p = bsearch(&iiso, map, mapsize, {
sizeof(pg_local_to_utf), compare2); uint32 converted = pg_mb_radix_conv(map, l, b1, b2, b3, b4);
if (p) if (converted)
{ {
utf = store_coded_char(utf, p->utf); utf = store_coded_char(utf, converted);
continue; continue;
} }
...@@ -658,6 +752,7 @@ LocalToUtf(const unsigned char *iso, int len, ...@@ -658,6 +752,7 @@ LocalToUtf(const unsigned char *iso, int len,
continue; continue;
} }
} }
}
/* if there's a conversion function, try that */ /* if there's a conversion function, try that */
if (conv_func) if (conv_func)
......
...@@ -42,7 +42,7 @@ big5_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ big5_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_BIG5, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_BIG5, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapBIG5, lengthof(LUmapBIG5), &big5_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_BIG5); PG_BIG5);
...@@ -60,7 +60,7 @@ utf8_to_big5(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_big5(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_BIG5); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_BIG5);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapBIG5, lengthof(ULmapBIG5), &big5_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_BIG5); PG_BIG5);
......
...@@ -48,7 +48,7 @@ utf8_to_koi8r(PG_FUNCTION_ARGS) ...@@ -48,7 +48,7 @@ utf8_to_koi8r(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_KOI8R); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_KOI8R);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapKOI8R, lengthof(ULmapKOI8R), &koi8r_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_KOI8R); PG_KOI8R);
...@@ -66,7 +66,7 @@ koi8r_to_utf8(PG_FUNCTION_ARGS) ...@@ -66,7 +66,7 @@ koi8r_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_KOI8R, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_KOI8R, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapKOI8R, lengthof(LUmapKOI8R), &koi8r_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_KOI8R); PG_KOI8R);
...@@ -84,7 +84,7 @@ utf8_to_koi8u(PG_FUNCTION_ARGS) ...@@ -84,7 +84,7 @@ utf8_to_koi8u(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_KOI8U); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_KOI8U);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapKOI8U, lengthof(ULmapKOI8U), &koi8u_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_KOI8U); PG_KOI8U);
...@@ -102,7 +102,7 @@ koi8u_to_utf8(PG_FUNCTION_ARGS) ...@@ -102,7 +102,7 @@ koi8u_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_KOI8U, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_KOI8U, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapKOI8U, lengthof(LUmapKOI8U), &koi8u_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_KOI8U); PG_KOI8U);
......
...@@ -16,8 +16,6 @@ ...@@ -16,8 +16,6 @@
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
#include "../../Unicode/euc_jis_2004_to_utf8.map" #include "../../Unicode/euc_jis_2004_to_utf8.map"
#include "../../Unicode/utf8_to_euc_jis_2004.map" #include "../../Unicode/utf8_to_euc_jis_2004.map"
#include "../../Unicode/euc_jis_2004_to_utf8_combined.map"
#include "../../Unicode/utf8_to_euc_jis_2004_combined.map"
PG_MODULE_MAGIC; PG_MODULE_MAGIC;
...@@ -44,7 +42,7 @@ euc_jis_2004_to_utf8(PG_FUNCTION_ARGS) ...@@ -44,7 +42,7 @@ euc_jis_2004_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JIS_2004, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JIS_2004, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapEUC_JIS_2004, lengthof(LUmapEUC_JIS_2004), &euc_jis_2004_to_unicode_tree,
LUmapEUC_JIS_2004_combined, lengthof(LUmapEUC_JIS_2004_combined), LUmapEUC_JIS_2004_combined, lengthof(LUmapEUC_JIS_2004_combined),
NULL, NULL,
PG_EUC_JIS_2004); PG_EUC_JIS_2004);
...@@ -62,7 +60,7 @@ utf8_to_euc_jis_2004(PG_FUNCTION_ARGS) ...@@ -62,7 +60,7 @@ utf8_to_euc_jis_2004(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_JIS_2004); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_JIS_2004);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapEUC_JIS_2004, lengthof(ULmapEUC_JIS_2004), &euc_jis_2004_from_unicode_tree,
ULmapEUC_JIS_2004_combined, lengthof(ULmapEUC_JIS_2004_combined), ULmapEUC_JIS_2004_combined, lengthof(ULmapEUC_JIS_2004_combined),
NULL, NULL,
PG_EUC_JIS_2004); PG_EUC_JIS_2004);
......
...@@ -42,7 +42,7 @@ euc_cn_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ euc_cn_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_CN, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_CN, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapEUC_CN, lengthof(LUmapEUC_CN), &euc_cn_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_CN); PG_EUC_CN);
...@@ -60,7 +60,7 @@ utf8_to_euc_cn(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_euc_cn(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_CN); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_CN);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapEUC_CN, lengthof(ULmapEUC_CN), &euc_cn_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_CN); PG_EUC_CN);
......
...@@ -42,7 +42,7 @@ euc_jp_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ euc_jp_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JP, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JP, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapEUC_JP, lengthof(LUmapEUC_JP), &euc_jp_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_JP); PG_EUC_JP);
...@@ -60,7 +60,7 @@ utf8_to_euc_jp(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_euc_jp(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_JP); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_JP);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapEUC_JP, lengthof(ULmapEUC_JP), &euc_jp_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_JP); PG_EUC_JP);
......
...@@ -42,7 +42,7 @@ euc_kr_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ euc_kr_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_KR, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_KR, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapEUC_KR, lengthof(LUmapEUC_KR), &euc_kr_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_KR); PG_EUC_KR);
...@@ -60,7 +60,7 @@ utf8_to_euc_kr(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_euc_kr(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_KR); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_KR);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapEUC_KR, lengthof(ULmapEUC_KR), &euc_kr_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_KR); PG_EUC_KR);
......
...@@ -42,7 +42,7 @@ euc_tw_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ euc_tw_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_TW, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_TW, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapEUC_TW, lengthof(LUmapEUC_TW), &euc_tw_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_TW); PG_EUC_TW);
...@@ -60,7 +60,7 @@ utf8_to_euc_tw(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_euc_tw(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_TW); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_EUC_TW);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapEUC_TW, lengthof(ULmapEUC_TW), &euc_tw_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_EUC_TW); PG_EUC_TW);
......
...@@ -197,7 +197,7 @@ gb18030_to_utf8(PG_FUNCTION_ARGS) ...@@ -197,7 +197,7 @@ gb18030_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_GB18030, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_GB18030, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapGB18030, lengthof(LUmapGB18030), &gb18030_to_unicode_tree,
NULL, 0, NULL, 0,
conv_18030_to_utf8, conv_18030_to_utf8,
PG_GB18030); PG_GB18030);
...@@ -215,7 +215,7 @@ utf8_to_gb18030(PG_FUNCTION_ARGS) ...@@ -215,7 +215,7 @@ utf8_to_gb18030(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_GB18030); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_GB18030);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapGB18030, lengthof(ULmapGB18030), &gb18030_from_unicode_tree,
NULL, 0, NULL, 0,
conv_utf8_to_18030, conv_utf8_to_18030,
PG_GB18030); PG_GB18030);
......
...@@ -42,7 +42,7 @@ gbk_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ gbk_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_GBK, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_GBK, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapGBK, lengthof(LUmapGBK), &gbk_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_GBK); PG_GBK);
...@@ -60,7 +60,7 @@ utf8_to_gbk(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_gbk(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_GBK); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_GBK);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapGBK, lengthof(ULmapGBK), &gbk_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_GBK); PG_GBK);
......
...@@ -60,52 +60,37 @@ PG_FUNCTION_INFO_V1(utf8_to_iso8859); ...@@ -60,52 +60,37 @@ PG_FUNCTION_INFO_V1(utf8_to_iso8859);
typedef struct typedef struct
{ {
pg_enc encoding; pg_enc encoding;
const pg_local_to_utf *map1; /* to UTF8 map name */ const pg_mb_radix_tree *map1; /* to UTF8 map name */
const pg_utf_to_local *map2; /* from UTF8 map name */ const pg_mb_radix_tree *map2; /* from UTF8 map name */
int size1; /* size of map1 */
int size2; /* size of map2 */
} pg_conv_map; } pg_conv_map;
static const pg_conv_map maps[] = { static const pg_conv_map maps[] = {
{PG_LATIN2, LUmapISO8859_2, ULmapISO8859_2, {PG_LATIN2, &iso8859_2_to_unicode_tree,
lengthof(LUmapISO8859_2), &iso8859_2_from_unicode_tree}, /* ISO-8859-2 Latin 2 */
lengthof(ULmapISO8859_2)}, /* ISO-8859-2 Latin 2 */ {PG_LATIN3, &iso8859_3_to_unicode_tree,
{PG_LATIN3, LUmapISO8859_3, ULmapISO8859_3, &iso8859_3_from_unicode_tree}, /* ISO-8859-3 Latin 3 */
lengthof(LUmapISO8859_3), {PG_LATIN4, &iso8859_4_to_unicode_tree,
lengthof(ULmapISO8859_3)}, /* ISO-8859-3 Latin 3 */ &iso8859_4_from_unicode_tree}, /* ISO-8859-4 Latin 4 */
{PG_LATIN4, LUmapISO8859_4, ULmapISO8859_4, {PG_LATIN5, &iso8859_9_to_unicode_tree,
lengthof(LUmapISO8859_4), &iso8859_9_from_unicode_tree}, /* ISO-8859-9 Latin 5 */
lengthof(ULmapISO8859_4)}, /* ISO-8859-4 Latin 4 */ {PG_LATIN6, &iso8859_10_to_unicode_tree,
{PG_LATIN5, LUmapISO8859_9, ULmapISO8859_9, &iso8859_10_from_unicode_tree}, /* ISO-8859-10 Latin 6 */
lengthof(LUmapISO8859_9), {PG_LATIN7, &iso8859_13_to_unicode_tree,
lengthof(ULmapISO8859_9)}, /* ISO-8859-9 Latin 5 */ &iso8859_13_from_unicode_tree}, /* ISO-8859-13 Latin 7 */
{PG_LATIN6, LUmapISO8859_10, ULmapISO8859_10, {PG_LATIN8, &iso8859_14_to_unicode_tree,
lengthof(LUmapISO8859_10), &iso8859_14_from_unicode_tree}, /* ISO-8859-14 Latin 8 */
lengthof(ULmapISO8859_10)}, /* ISO-8859-10 Latin 6 */ {PG_LATIN9, &iso8859_15_to_unicode_tree,
{PG_LATIN7, LUmapISO8859_13, ULmapISO8859_13, &iso8859_15_from_unicode_tree}, /* ISO-8859-15 Latin 9 */
lengthof(LUmapISO8859_13), {PG_LATIN10, &iso8859_16_to_unicode_tree,
lengthof(ULmapISO8859_13)}, /* ISO-8859-13 Latin 7 */ &iso8859_16_from_unicode_tree}, /* ISO-8859-16 Latin 10 */
{PG_LATIN8, LUmapISO8859_14, ULmapISO8859_14, {PG_ISO_8859_5, &iso8859_5_to_unicode_tree,
lengthof(LUmapISO8859_14), &iso8859_5_from_unicode_tree}, /* ISO-8859-5 */
lengthof(ULmapISO8859_14)}, /* ISO-8859-14 Latin 8 */ {PG_ISO_8859_6, &iso8859_6_to_unicode_tree,
{PG_LATIN9, LUmapISO8859_15, ULmapISO8859_15, &iso8859_6_from_unicode_tree}, /* ISO-8859-6 */
lengthof(LUmapISO8859_15), {PG_ISO_8859_7, &iso8859_7_to_unicode_tree,
lengthof(ULmapISO8859_15)}, /* ISO-8859-15 Latin 9 */ &iso8859_7_from_unicode_tree}, /* ISO-8859-7 */
{PG_LATIN10, LUmapISO8859_16, ULmapISO8859_16, {PG_ISO_8859_8, &iso8859_8_to_unicode_tree,
lengthof(LUmapISO8859_16), &iso8859_8_from_unicode_tree}, /* ISO-8859-8 */
lengthof(ULmapISO8859_16)}, /* ISO-8859-16 Latin 10 */
{PG_ISO_8859_5, LUmapISO8859_5, ULmapISO8859_5,
lengthof(LUmapISO8859_5),
lengthof(ULmapISO8859_5)}, /* ISO-8859-5 */
{PG_ISO_8859_6, LUmapISO8859_6, ULmapISO8859_6,
lengthof(LUmapISO8859_6),
lengthof(ULmapISO8859_6)}, /* ISO-8859-6 */
{PG_ISO_8859_7, LUmapISO8859_7, ULmapISO8859_7,
lengthof(LUmapISO8859_7),
lengthof(ULmapISO8859_7)}, /* ISO-8859-7 */
{PG_ISO_8859_8, LUmapISO8859_8, ULmapISO8859_8,
lengthof(LUmapISO8859_8),
lengthof(ULmapISO8859_8)}, /* ISO-8859-8 */
}; };
Datum Datum
...@@ -124,7 +109,7 @@ iso8859_to_utf8(PG_FUNCTION_ARGS) ...@@ -124,7 +109,7 @@ iso8859_to_utf8(PG_FUNCTION_ARGS)
if (encoding == maps[i].encoding) if (encoding == maps[i].encoding)
{ {
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
maps[i].map1, maps[i].size1, maps[i].map1,
NULL, 0, NULL, 0,
NULL, NULL,
encoding); encoding);
...@@ -156,7 +141,7 @@ utf8_to_iso8859(PG_FUNCTION_ARGS) ...@@ -156,7 +141,7 @@ utf8_to_iso8859(PG_FUNCTION_ARGS)
if (encoding == maps[i].encoding) if (encoding == maps[i].encoding)
{ {
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
maps[i].map2, maps[i].size2, maps[i].map2,
NULL, 0, NULL, 0,
NULL, NULL,
encoding); encoding);
......
...@@ -42,7 +42,7 @@ johab_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ johab_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_JOHAB, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_JOHAB, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapJOHAB, lengthof(LUmapJOHAB), &johab_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_JOHAB); PG_JOHAB);
...@@ -60,7 +60,7 @@ utf8_to_johab(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_johab(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_JOHAB); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_JOHAB);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapJOHAB, lengthof(ULmapJOHAB), &johab_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_JOHAB); PG_JOHAB);
......
...@@ -42,7 +42,7 @@ sjis_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ sjis_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_SJIS, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_SJIS, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapSJIS, lengthof(LUmapSJIS), &sjis_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_SJIS); PG_SJIS);
...@@ -60,7 +60,7 @@ utf8_to_sjis(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_sjis(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_SJIS); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_SJIS);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapSJIS, lengthof(ULmapSJIS), &sjis_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_SJIS); PG_SJIS);
......
...@@ -16,8 +16,6 @@ ...@@ -16,8 +16,6 @@
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
#include "../../Unicode/shift_jis_2004_to_utf8.map" #include "../../Unicode/shift_jis_2004_to_utf8.map"
#include "../../Unicode/utf8_to_shift_jis_2004.map" #include "../../Unicode/utf8_to_shift_jis_2004.map"
#include "../../Unicode/shift_jis_2004_to_utf8_combined.map"
#include "../../Unicode/utf8_to_shift_jis_2004_combined.map"
PG_MODULE_MAGIC; PG_MODULE_MAGIC;
...@@ -44,7 +42,7 @@ shift_jis_2004_to_utf8(PG_FUNCTION_ARGS) ...@@ -44,7 +42,7 @@ shift_jis_2004_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_SHIFT_JIS_2004, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_SHIFT_JIS_2004, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapSHIFT_JIS_2004, lengthof(LUmapSHIFT_JIS_2004), &shift_jis_2004_to_unicode_tree,
LUmapSHIFT_JIS_2004_combined, lengthof(LUmapSHIFT_JIS_2004_combined), LUmapSHIFT_JIS_2004_combined, lengthof(LUmapSHIFT_JIS_2004_combined),
NULL, NULL,
PG_SHIFT_JIS_2004); PG_SHIFT_JIS_2004);
...@@ -62,7 +60,7 @@ utf8_to_shift_jis_2004(PG_FUNCTION_ARGS) ...@@ -62,7 +60,7 @@ utf8_to_shift_jis_2004(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_SHIFT_JIS_2004); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_SHIFT_JIS_2004);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapSHIFT_JIS_2004, lengthof(ULmapSHIFT_JIS_2004), &shift_jis_2004_from_unicode_tree,
ULmapSHIFT_JIS_2004_combined, lengthof(ULmapSHIFT_JIS_2004_combined), ULmapSHIFT_JIS_2004_combined, lengthof(ULmapSHIFT_JIS_2004_combined),
NULL, NULL,
PG_SHIFT_JIS_2004); PG_SHIFT_JIS_2004);
......
...@@ -42,7 +42,7 @@ uhc_to_utf8(PG_FUNCTION_ARGS) ...@@ -42,7 +42,7 @@ uhc_to_utf8(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UHC, PG_UTF8); CHECK_ENCODING_CONVERSION_ARGS(PG_UHC, PG_UTF8);
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
LUmapUHC, lengthof(LUmapUHC), &uhc_to_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_UHC); PG_UHC);
...@@ -60,7 +60,7 @@ utf8_to_uhc(PG_FUNCTION_ARGS) ...@@ -60,7 +60,7 @@ utf8_to_uhc(PG_FUNCTION_ARGS)
CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_UHC); CHECK_ENCODING_CONVERSION_ARGS(PG_UTF8, PG_UHC);
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
ULmapUHC, lengthof(ULmapUHC), &uhc_from_unicode_tree,
NULL, 0, NULL, 0,
NULL, NULL,
PG_UHC); PG_UHC);
......
...@@ -56,46 +56,22 @@ PG_FUNCTION_INFO_V1(utf8_to_win); ...@@ -56,46 +56,22 @@ PG_FUNCTION_INFO_V1(utf8_to_win);
typedef struct typedef struct
{ {
pg_enc encoding; pg_enc encoding;
const pg_local_to_utf *map1; /* to UTF8 map name */ const pg_mb_radix_tree *map1; /* to UTF8 map name */
const pg_utf_to_local *map2; /* from UTF8 map name */ const pg_mb_radix_tree *map2; /* from UTF8 map name */
int size1; /* size of map1 */
int size2; /* size of map2 */
} pg_conv_map; } pg_conv_map;
static const pg_conv_map maps[] = { static const pg_conv_map maps[] = {
{PG_WIN866, LUmapWIN866, ULmapWIN866, {PG_WIN866, &win866_to_unicode_tree, &win866_from_unicode_tree},
lengthof(LUmapWIN866), {PG_WIN874, &win874_to_unicode_tree, &win874_from_unicode_tree},
lengthof(ULmapWIN866)}, {PG_WIN1250, &win1250_to_unicode_tree, &win1250_from_unicode_tree},
{PG_WIN874, LUmapWIN874, ULmapWIN874, {PG_WIN1251, &win1251_to_unicode_tree, &win1251_from_unicode_tree},
lengthof(LUmapWIN874), {PG_WIN1252, &win1252_to_unicode_tree, &win1252_from_unicode_tree},
lengthof(ULmapWIN874)}, {PG_WIN1253, &win1253_to_unicode_tree, &win1253_from_unicode_tree},
{PG_WIN1250, LUmapWIN1250, ULmapWIN1250, {PG_WIN1254, &win1254_to_unicode_tree, &win1254_from_unicode_tree},
lengthof(LUmapWIN1250), {PG_WIN1255, &win1255_to_unicode_tree, &win1255_from_unicode_tree},
lengthof(ULmapWIN1250)}, {PG_WIN1256, &win1256_to_unicode_tree, &win1256_from_unicode_tree},
{PG_WIN1251, LUmapWIN1251, ULmapWIN1251, {PG_WIN1257, &win1257_to_unicode_tree, &win1257_from_unicode_tree},
lengthof(LUmapWIN1251), {PG_WIN1258, &win1258_to_unicode_tree, &win1258_from_unicode_tree},
lengthof(ULmapWIN1251)},
{PG_WIN1252, LUmapWIN1252, ULmapWIN1252,
lengthof(LUmapWIN1252),
lengthof(ULmapWIN1252)},
{PG_WIN1253, LUmapWIN1253, ULmapWIN1253,
lengthof(LUmapWIN1253),
lengthof(ULmapWIN1253)},
{PG_WIN1254, LUmapWIN1254, ULmapWIN1254,
lengthof(LUmapWIN1254),
lengthof(ULmapWIN1254)},
{PG_WIN1255, LUmapWIN1255, ULmapWIN1255,
lengthof(LUmapWIN1255),
lengthof(ULmapWIN1255)},
{PG_WIN1256, LUmapWIN1256, ULmapWIN1256,
lengthof(LUmapWIN1256),
lengthof(ULmapWIN1256)},
{PG_WIN1257, LUmapWIN1257, ULmapWIN1257,
lengthof(LUmapWIN1257),
lengthof(ULmapWIN1257)},
{PG_WIN1258, LUmapWIN1258, ULmapWIN1258,
lengthof(LUmapWIN1258),
lengthof(ULmapWIN1258)},
}; };
Datum Datum
...@@ -114,7 +90,7 @@ win_to_utf8(PG_FUNCTION_ARGS) ...@@ -114,7 +90,7 @@ win_to_utf8(PG_FUNCTION_ARGS)
if (encoding == maps[i].encoding) if (encoding == maps[i].encoding)
{ {
LocalToUtf(src, len, dest, LocalToUtf(src, len, dest,
maps[i].map1, maps[i].size1, maps[i].map1,
NULL, 0, NULL, 0,
NULL, NULL,
encoding); encoding);
...@@ -146,7 +122,7 @@ utf8_to_win(PG_FUNCTION_ARGS) ...@@ -146,7 +122,7 @@ utf8_to_win(PG_FUNCTION_ARGS)
if (encoding == maps[i].encoding) if (encoding == maps[i].encoding)
{ {
UtfToLocal(src, len, dest, UtfToLocal(src, len, dest,
maps[i].map2, maps[i].size2, maps[i].map2,
NULL, 0, NULL, 0,
NULL, NULL,
encoding); encoding);
......
...@@ -372,25 +372,81 @@ extern const pg_wchar_tbl pg_wchar_table[]; ...@@ -372,25 +372,81 @@ extern const pg_wchar_tbl pg_wchar_table[];
* characters up to 4 bytes long. For example, the byte sequence 0xC2 0x89 * characters up to 4 bytes long. For example, the byte sequence 0xC2 0x89
* would be represented by 0x0000C289, and 0xE8 0xA2 0xB4 by 0x00E8A2B4. * would be represented by 0x0000C289, and 0xE8 0xA2 0xB4 by 0x00E8A2B4.
* *
* Maps are arrays of these structs, which must be in order by the lookup key * There are three possible ways a character can be mapped:
* (so that bsearch() can be used).
* *
* UTF-8 to local code conversion map * 1. Using a radix tree, from source to destination code.
* 2. Using a sorted array of source -> destination code pairs. This
* method is used for "combining" characters. There are so few of
* them that building a radix tree would be wasteful.
* 3. Using a conversion function.
*/ */
typedef struct
{
uint32 utf; /* UTF-8 */
uint32 code; /* local code */
} pg_utf_to_local;
/* /*
* local code to UTF-8 conversion map * Radix tree for character conversion.
*
* Logically, this is actually four different radix trees, for 1-byte,
* 2-byte, 3-byte and 4-byte inputs. The 1-byte tree is a simple lookup
* table from source to target code. The 2-byte tree consists of two levels:
* one lookup table for the first byte, where the value in the lookup table
* points to a lookup table for the second byte. And so on.
*
* Physically, all the trees are stored in one big array, in 'chars16' or
* 'chars32', depending on the maximum value that needs to be reprented. For
* each level in each tree, we also store lower and upper bound of allowed
* values - values outside those bounds are considered invalid, and are left
* out of the tables.
*
* In the intermediate levels of the trees, the values stored are offsets
* into the chars[16|32] array.
*
* In the beginning of the chars[16|32] array, there is always a number of
* zeros, so that you safely follow an index from an intermediate table
* without explicitly checking for a zero. Following a zero any number of
* times will always bring you to the dummy, all-zeros table in the
* beginning. This helps to shave some cycles when looking up values.
*/ */
typedef struct typedef struct
{ {
uint32 code; /* local code */ /*
uint32 utf; /* UTF-8 */ * Array containing all the values. Only one of chars16 or chars32 is
} pg_local_to_utf; * used, depending on how wide the values we need to represent are.
*/
const uint16 *chars16;
const uint32 *chars32;
/* Radix tree for 1-byte inputs */
uint32 b1root; /* offset of table in the chars[16|32] array */
uint8 b1_lower; /* min allowed value for a single byte input */
uint8 b1_upper; /* max allowed value for a single byte input */
/* Radix tree for 2-byte inputs */
uint32 b2root; /* offset of 1st byte's table */
uint8 b2_1_lower; /* min/max allowed value for 1st input byte */
uint8 b2_1_upper;
uint8 b2_2_lower; /* min/max allowed value for 2nd input byte */
uint8 b2_2_upper;
/* Radix tree for 3-byte inputs */
uint32 b3root; /* offset of 1st byte's table */
uint8 b3_1_lower; /* min/max allowed value for 1st input byte */
uint8 b3_1_upper;
uint8 b3_2_lower; /* min/max allowed value for 2nd input byte */
uint8 b3_2_upper;
uint8 b3_3_lower; /* min/max allowed value for 3rd input byte */
uint8 b3_3_upper;
/* Radix tree for 4-byte inputs */
uint32 b4root; /* offset of 1st byte's table */
uint8 b4_1_lower; /* min/max allowed value for 1st input byte */
uint8 b4_1_upper;
uint8 b4_2_lower; /* min/max allowed value for 2nd input byte */
uint8 b4_2_upper;
uint8 b4_3_lower; /* min/max allowed value for 3rd input byte */
uint8 b4_3_upper;
uint8 b4_4_lower; /* min/max allowed value for 4th input byte */
uint8 b4_4_upper;
} pg_mb_radix_tree;
/* /*
* UTF-8 to local code conversion map (for combined characters) * UTF-8 to local code conversion map (for combined characters)
...@@ -510,13 +566,13 @@ extern unsigned short CNStoBIG5(unsigned short cns, unsigned char lc); ...@@ -510,13 +566,13 @@ extern unsigned short CNStoBIG5(unsigned short cns, unsigned char lc);
extern void UtfToLocal(const unsigned char *utf, int len, extern void UtfToLocal(const unsigned char *utf, int len,
unsigned char *iso, unsigned char *iso,
const pg_utf_to_local *map, int mapsize, const pg_mb_radix_tree *map,
const pg_utf_to_local_combined *cmap, int cmapsize, const pg_utf_to_local_combined *cmap, int cmapsize,
utf_local_conversion_func conv_func, utf_local_conversion_func conv_func,
int encoding); int encoding);
extern void LocalToUtf(const unsigned char *iso, int len, extern void LocalToUtf(const unsigned char *iso, int len,
unsigned char *utf, unsigned char *utf,
const pg_local_to_utf *map, int mapsize, const pg_mb_radix_tree *map,
const pg_local_to_utf_combined *cmap, int cmapsize, const pg_local_to_utf_combined *cmap, int cmapsize,
utf_local_conversion_func conv_func, utf_local_conversion_func conv_func,
int encoding); int encoding);
......
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