diff options
Diffstat (limited to 'src')
23 files changed, 2382 insertions, 32 deletions
diff --git a/src/backend/utils/mb/Unicode/UCS_to_8859.pl b/src/backend/utils/mb/Unicode/UCS_to_8859.pl index 3d546a58e76..a0ed7b88766 100755 --- a/src/backend/utils/mb/Unicode/UCS_to_8859.pl +++ b/src/backend/utils/mb/Unicode/UCS_to_8859.pl @@ -2,13 +2,13 @@ # # Copyright 2001 by PostgreSQL Global Development Group # -# $Id: UCS_to_8859.pl,v 1.2 2000/11/26 10:40:43 ishii Exp $ +# $Id: UCS_to_8859.pl,v 1.3 2001/10/11 14:20:35 ishii Exp $ # # Generate UTF-8 <--> ISO8859 code conversion tables from # map files provided by Unicode organization. # Unfortunately it is prohibited by the organization # to distribute the map files. So if you try to use this script, -# you have to obtain "8859-[2-5].TXT" from the organization's ftp site. +# you have to obtain "8859-[2-16].TXT" from the organization's ftp site. # We assume the file include three tab-separated columns: # ISO/IEC 8859 code in hex # UCS-2 code in hex @@ -16,7 +16,7 @@ require "ucs2utf.pl"; -@charsets = (2,3,4,5); +@charsets = (2,3,4,5,6,7,8,9,10,13,14,15,16); foreach $charset (@charsets) { # diff --git a/src/backend/utils/mb/Unicode/iso8859_10_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_10_to_utf8.map new file mode 100644 index 00000000000..fd0a0a36769 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_10_to_utf8.map @@ -0,0 +1,130 @@ +static pg_local_to_utf LUmapISO8859_10[ 128 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xc484}, + {0x00a2, 0xc492}, + {0x00a3, 0xc4a2}, + {0x00a4, 0xc4aa}, + {0x00a5, 0xc4a8}, + {0x00a6, 0xc4b6}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc4bb}, + {0x00a9, 0xc490}, + {0x00aa, 0xc5a0}, + {0x00ab, 0xc5a6}, + {0x00ac, 0xc5bd}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc5aa}, + {0x00af, 0xc58a}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc485}, + {0x00b2, 0xc493}, + {0x00b3, 0xc4a3}, + {0x00b4, 0xc4ab}, + {0x00b5, 0xc4a9}, + {0x00b6, 0xc4b7}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xc4bc}, + {0x00b9, 0xc491}, + {0x00ba, 0xc5a1}, + {0x00bb, 0xc5a7}, + {0x00bc, 0xc5be}, + {0x00bd, 0xe28095}, + {0x00be, 0xc5ab}, + {0x00bf, 0xc58b}, + {0x00c0, 0xc480}, + {0x00c1, 0xc381}, + {0x00c2, 0xc382}, + {0x00c3, 0xc383}, + {0x00c4, 0xc384}, + {0x00c5, 0xc385}, + {0x00c6, 0xc386}, + {0x00c7, 0xc4ae}, + {0x00c8, 0xc48c}, + {0x00c9, 0xc389}, + {0x00ca, 0xc498}, + {0x00cb, 0xc38b}, + {0x00cc, 0xc496}, + {0x00cd, 0xc38d}, + {0x00ce, 0xc38e}, + {0x00cf, 0xc38f}, + {0x00d0, 0xc390}, + {0x00d1, 0xc585}, + {0x00d2, 0xc58c}, + {0x00d3, 0xc393}, + {0x00d4, 0xc394}, + {0x00d5, 0xc395}, + {0x00d6, 0xc396}, + {0x00d7, 0xc5a8}, + {0x00d8, 0xc398}, + {0x00d9, 0xc5b2}, + {0x00da, 0xc39a}, + {0x00db, 0xc39b}, + {0x00dc, 0xc39c}, + {0x00dd, 0xc39d}, + {0x00de, 0xc39e}, + {0x00df, 0xc39f}, + {0x00e0, 0xc481}, + {0x00e1, 0xc3a1}, + {0x00e2, 0xc3a2}, + {0x00e3, 0xc3a3}, + {0x00e4, 0xc3a4}, + {0x00e5, 0xc3a5}, + {0x00e6, 0xc3a6}, + {0x00e7, 0xc4af}, + {0x00e8, 0xc48d}, + {0x00e9, 0xc3a9}, + {0x00ea, 0xc499}, + {0x00eb, 0xc3ab}, + {0x00ec, 0xc497}, + {0x00ed, 0xc3ad}, + {0x00ee, 0xc3ae}, + {0x00ef, 0xc3af}, + {0x00f0, 0xc3b0}, + {0x00f1, 0xc586}, + {0x00f2, 0xc58d}, + {0x00f3, 0xc3b3}, + {0x00f4, 0xc3b4}, + {0x00f5, 0xc3b5}, + {0x00f6, 0xc3b6}, + {0x00f7, 0xc5a9}, + {0x00f8, 0xc3b8}, + {0x00f9, 0xc5b3}, + {0x00fa, 0xc3ba}, + {0x00fb, 0xc3bb}, + {0x00fc, 0xc3bc}, + {0x00fd, 0xc3bd}, + {0x00fe, 0xc3be}, + {0x00ff, 0xc4b8} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_13_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_13_to_utf8.map new file mode 100644 index 00000000000..77bc5aeac5d --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_13_to_utf8.map @@ -0,0 +1,130 @@ +static pg_local_to_utf LUmapISO8859_13[ 128 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xe2809d}, + {0x00a2, 0xc2a2}, + {0x00a3, 0xc2a3}, + {0x00a4, 0xc2a4}, + {0x00a5, 0xe2809e}, + {0x00a6, 0xc2a6}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc398}, + {0x00a9, 0xc2a9}, + {0x00aa, 0xc596}, + {0x00ab, 0xc2ab}, + {0x00ac, 0xc2ac}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc2ae}, + {0x00af, 0xc386}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc2b1}, + {0x00b2, 0xc2b2}, + {0x00b3, 0xc2b3}, + {0x00b4, 0xe2809c}, + {0x00b5, 0xc2b5}, + {0x00b6, 0xc2b6}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xc3b8}, + {0x00b9, 0xc2b9}, + {0x00ba, 0xc597}, + {0x00bb, 0xc2bb}, + {0x00bc, 0xc2bc}, + {0x00bd, 0xc2bd}, + {0x00be, 0xc2be}, + {0x00bf, 0xc3a6}, + {0x00c0, 0xc484}, + {0x00c1, 0xc4ae}, + {0x00c2, 0xc480}, + {0x00c3, 0xc486}, + {0x00c4, 0xc384}, + {0x00c5, 0xc385}, + {0x00c6, 0xc498}, + {0x00c7, 0xc492}, + {0x00c8, 0xc48c}, + {0x00c9, 0xc389}, + {0x00ca, 0xc5b9}, + {0x00cb, 0xc496}, + {0x00cc, 0xc4a2}, + {0x00cd, 0xc4b6}, + {0x00ce, 0xc4aa}, + {0x00cf, 0xc4bb}, + {0x00d0, 0xc5a0}, + {0x00d1, 0xc583}, + {0x00d2, 0xc585}, + {0x00d3, 0xc393}, + {0x00d4, 0xc58c}, + {0x00d5, 0xc395}, + {0x00d6, 0xc396}, + {0x00d7, 0xc397}, + {0x00d8, 0xc5b2}, + {0x00d9, 0xc581}, + {0x00da, 0xc59a}, + {0x00db, 0xc5aa}, + {0x00dc, 0xc39c}, + {0x00dd, 0xc5bb}, + {0x00de, 0xc5bd}, + {0x00df, 0xc39f}, + {0x00e0, 0xc485}, + {0x00e1, 0xc4af}, + {0x00e2, 0xc481}, + {0x00e3, 0xc487}, + {0x00e4, 0xc3a4}, + {0x00e5, 0xc3a5}, + {0x00e6, 0xc499}, + {0x00e7, 0xc493}, + {0x00e8, 0xc48d}, + {0x00e9, 0xc3a9}, + {0x00ea, 0xc5ba}, + {0x00eb, 0xc497}, + {0x00ec, 0xc4a3}, + {0x00ed, 0xc4b7}, + {0x00ee, 0xc4ab}, + {0x00ef, 0xc4bc}, + {0x00f0, 0xc5a1}, + {0x00f1, 0xc584}, + {0x00f2, 0xc586}, + {0x00f3, 0xc3b3}, + {0x00f4, 0xc58d}, + {0x00f5, 0xc3b5}, + {0x00f6, 0xc3b6}, + {0x00f7, 0xc3b7}, + {0x00f8, 0xc5b3}, + {0x00f9, 0xc582}, + {0x00fa, 0xc59b}, + {0x00fb, 0xc5ab}, + {0x00fc, 0xc3bc}, + {0x00fd, 0xc5bc}, + {0x00fe, 0xc5be}, + {0x00ff, 0xe28099} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_14_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_14_to_utf8.map new file mode 100644 index 00000000000..d3f2054bbb7 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_14_to_utf8.map @@ -0,0 +1,130 @@ +static pg_local_to_utf LUmapISO8859_14[ 128 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xe1b882}, + {0x00a2, 0xe1b883}, + {0x00a3, 0xc2a3}, + {0x00a4, 0xc48a}, + {0x00a5, 0xc48b}, + {0x00a6, 0xe1b88a}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xe1ba80}, + {0x00a9, 0xc2a9}, + {0x00aa, 0xe1ba82}, + {0x00ab, 0xe1b88b}, + {0x00ac, 0xe1bbb2}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc2ae}, + {0x00af, 0xc5b8}, + {0x00b0, 0xe1b89e}, + {0x00b1, 0xe1b89f}, + {0x00b2, 0xc4a0}, + {0x00b3, 0xc4a1}, + {0x00b4, 0xe1b980}, + {0x00b5, 0xe1b981}, + {0x00b6, 0xc2b6}, + {0x00b7, 0xe1b996}, + {0x00b8, 0xe1ba81}, + {0x00b9, 0xe1b997}, + {0x00ba, 0xe1ba83}, + {0x00bb, 0xe1b9a0}, + {0x00bc, 0xe1bbb3}, + {0x00bd, 0xe1ba84}, + {0x00be, 0xe1ba85}, + {0x00bf, 0xe1b9a1}, + {0x00c0, 0xc380}, + {0x00c1, 0xc381}, + {0x00c2, 0xc382}, + {0x00c3, 0xc383}, + {0x00c4, 0xc384}, + {0x00c5, 0xc385}, + {0x00c6, 0xc386}, + {0x00c7, 0xc387}, + {0x00c8, 0xc388}, + {0x00c9, 0xc389}, + {0x00ca, 0xc38a}, + {0x00cb, 0xc38b}, + {0x00cc, 0xc38c}, + {0x00cd, 0xc38d}, + {0x00ce, 0xc38e}, + {0x00cf, 0xc38f}, + {0x00d0, 0xc5b4}, + {0x00d1, 0xc391}, + {0x00d2, 0xc392}, + {0x00d3, 0xc393}, + {0x00d4, 0xc394}, + {0x00d5, 0xc395}, + {0x00d6, 0xc396}, + {0x00d7, 0xe1b9aa}, + {0x00d8, 0xc398}, + {0x00d9, 0xc399}, + {0x00da, 0xc39a}, + {0x00db, 0xc39b}, + {0x00dc, 0xc39c}, + {0x00dd, 0xc39d}, + {0x00de, 0xc5b6}, + {0x00df, 0xc39f}, + {0x00e0, 0xc3a0}, + {0x00e1, 0xc3a1}, + {0x00e2, 0xc3a2}, + {0x00e3, 0xc3a3}, + {0x00e4, 0xc3a4}, + {0x00e5, 0xc3a5}, + {0x00e6, 0xc3a6}, + {0x00e7, 0xc3a7}, + {0x00e8, 0xc3a8}, + {0x00e9, 0xc3a9}, + {0x00ea, 0xc3aa}, + {0x00eb, 0xc3ab}, + {0x00ec, 0xc3ac}, + {0x00ed, 0xc3ad}, + {0x00ee, 0xc3ae}, + {0x00ef, 0xc3af}, + {0x00f0, 0xc5b5}, + {0x00f1, 0xc3b1}, + {0x00f2, 0xc3b2}, + {0x00f3, 0xc3b3}, + {0x00f4, 0xc3b4}, + {0x00f5, 0xc3b5}, + {0x00f6, 0xc3b6}, + {0x00f7, 0xe1b9ab}, + {0x00f8, 0xc3b8}, + {0x00f9, 0xc3b9}, + {0x00fa, 0xc3ba}, + {0x00fb, 0xc3bb}, + {0x00fc, 0xc3bc}, + {0x00fd, 0xc3bd}, + {0x00fe, 0xc5b7}, + {0x00ff, 0xc3bf} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_15_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_15_to_utf8.map new file mode 100644 index 00000000000..594e22338f6 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_15_to_utf8.map @@ -0,0 +1,130 @@ +static pg_local_to_utf LUmapISO8859_15[ 128 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xc2a1}, + {0x00a2, 0xc2a2}, + {0x00a3, 0xc2a3}, + {0x00a4, 0xe282ac}, + {0x00a5, 0xc2a5}, + {0x00a6, 0xc5a0}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc5a1}, + {0x00a9, 0xc2a9}, + {0x00aa, 0xc2aa}, + {0x00ab, 0xc2ab}, + {0x00ac, 0xc2ac}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc2ae}, + {0x00af, 0xc2af}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc2b1}, + {0x00b2, 0xc2b2}, + {0x00b3, 0xc2b3}, + {0x00b4, 0xc5bd}, + {0x00b5, 0xc2b5}, + {0x00b6, 0xc2b6}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xc5be}, + {0x00b9, 0xc2b9}, + {0x00ba, 0xc2ba}, + {0x00bb, 0xc2bb}, + {0x00bc, 0xc592}, + {0x00bd, 0xc593}, + {0x00be, 0xc5b8}, + {0x00bf, 0xc2bf}, + {0x00c0, 0xc380}, + {0x00c1, 0xc381}, + {0x00c2, 0xc382}, + {0x00c3, 0xc383}, + {0x00c4, 0xc384}, + {0x00c5, 0xc385}, + {0x00c6, 0xc386}, + {0x00c7, 0xc387}, + {0x00c8, 0xc388}, + {0x00c9, 0xc389}, + {0x00ca, 0xc38a}, + {0x00cb, 0xc38b}, + {0x00cc, 0xc38c}, + {0x00cd, 0xc38d}, + {0x00ce, 0xc38e}, + {0x00cf, 0xc38f}, + {0x00d0, 0xc390}, + {0x00d1, 0xc391}, + {0x00d2, 0xc392}, + {0x00d3, 0xc393}, + {0x00d4, 0xc394}, + {0x00d5, 0xc395}, + {0x00d6, 0xc396}, + {0x00d7, 0xc397}, + {0x00d8, 0xc398}, + {0x00d9, 0xc399}, + {0x00da, 0xc39a}, + {0x00db, 0xc39b}, + {0x00dc, 0xc39c}, + {0x00dd, 0xc39d}, + {0x00de, 0xc39e}, + {0x00df, 0xc39f}, + {0x00e0, 0xc3a0}, + {0x00e1, 0xc3a1}, + {0x00e2, 0xc3a2}, + {0x00e3, 0xc3a3}, + {0x00e4, 0xc3a4}, + {0x00e5, 0xc3a5}, + {0x00e6, 0xc3a6}, + {0x00e7, 0xc3a7}, + {0x00e8, 0xc3a8}, + {0x00e9, 0xc3a9}, + {0x00ea, 0xc3aa}, + {0x00eb, 0xc3ab}, + {0x00ec, 0xc3ac}, + {0x00ed, 0xc3ad}, + {0x00ee, 0xc3ae}, + {0x00ef, 0xc3af}, + {0x00f0, 0xc3b0}, + {0x00f1, 0xc3b1}, + {0x00f2, 0xc3b2}, + {0x00f3, 0xc3b3}, + {0x00f4, 0xc3b4}, + {0x00f5, 0xc3b5}, + {0x00f6, 0xc3b6}, + {0x00f7, 0xc3b7}, + {0x00f8, 0xc3b8}, + {0x00f9, 0xc3b9}, + {0x00fa, 0xc3ba}, + {0x00fb, 0xc3bb}, + {0x00fc, 0xc3bc}, + {0x00fd, 0xc3bd}, + {0x00fe, 0xc3be}, + {0x00ff, 0xc3bf} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_16_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_16_to_utf8.map new file mode 100644 index 00000000000..ac3d8d1b8a6 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_16_to_utf8.map @@ -0,0 +1,130 @@ +static pg_local_to_utf LUmapISO8859_16[ 128 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xc484}, + {0x00a2, 0xc485}, + {0x00a3, 0xc581}, + {0x00a4, 0xe282ac}, + {0x00a5, 0xe2809e}, + {0x00a6, 0xc5a0}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc5a1}, + {0x00a9, 0xc2a9}, + {0x00aa, 0xc898}, + {0x00ab, 0xc2ab}, + {0x00ac, 0xc5b9}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc5ba}, + {0x00af, 0xc5bb}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc2b1}, + {0x00b2, 0xc48c}, + {0x00b3, 0xc582}, + {0x00b4, 0xc5bd}, + {0x00b5, 0xe2809d}, + {0x00b6, 0xc2b6}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xc5be}, + {0x00b9, 0xc48d}, + {0x00ba, 0xc899}, + {0x00bb, 0xc2bb}, + {0x00bc, 0xc592}, + {0x00bd, 0xc593}, + {0x00be, 0xc5b8}, + {0x00bf, 0xc5bc}, + {0x00c0, 0xc380}, + {0x00c1, 0xc381}, + {0x00c2, 0xc382}, + {0x00c3, 0xc482}, + {0x00c4, 0xc384}, + {0x00c5, 0xc486}, + {0x00c6, 0xc386}, + {0x00c7, 0xc387}, + {0x00c8, 0xc388}, + {0x00c9, 0xc389}, + {0x00ca, 0xc38a}, + {0x00cb, 0xc38b}, + {0x00cc, 0xc38c}, + {0x00cd, 0xc38d}, + {0x00ce, 0xc38e}, + {0x00cf, 0xc38f}, + {0x00d0, 0xc490}, + {0x00d1, 0xc583}, + {0x00d2, 0xc392}, + {0x00d3, 0xc393}, + {0x00d4, 0xc394}, + {0x00d5, 0xc590}, + {0x00d6, 0xc396}, + {0x00d7, 0xc59a}, + {0x00d8, 0xc5b0}, + {0x00d9, 0xc399}, + {0x00da, 0xc39a}, + {0x00db, 0xc39b}, + {0x00dc, 0xc39c}, + {0x00dd, 0xc498}, + {0x00de, 0xc89a}, + {0x00df, 0xc39f}, + {0x00e0, 0xc3a0}, + {0x00e1, 0xc3a1}, + {0x00e2, 0xc3a2}, + {0x00e3, 0xc483}, + {0x00e4, 0xc3a4}, + {0x00e5, 0xc487}, + {0x00e6, 0xc3a6}, + {0x00e7, 0xc3a7}, + {0x00e8, 0xc3a8}, + {0x00e9, 0xc3a9}, + {0x00ea, 0xc3aa}, + {0x00eb, 0xc3ab}, + {0x00ec, 0xc3ac}, + {0x00ed, 0xc3ad}, + {0x00ee, 0xc3ae}, + {0x00ef, 0xc3af}, + {0x00f0, 0xc491}, + {0x00f1, 0xc584}, + {0x00f2, 0xc3b2}, + {0x00f3, 0xc3b3}, + {0x00f4, 0xc3b4}, + {0x00f5, 0xc591}, + {0x00f6, 0xc3b6}, + {0x00f7, 0xc59b}, + {0x00f8, 0xc5b1}, + {0x00f9, 0xc3b9}, + {0x00fa, 0xc3ba}, + {0x00fb, 0xc3bb}, + {0x00fc, 0xc3bc}, + {0x00fd, 0xc499}, + {0x00fe, 0xc89b}, + {0x00ff, 0xc3bf} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map new file mode 100644 index 00000000000..f847f7f2088 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map @@ -0,0 +1,85 @@ +static pg_local_to_utf LUmapISO8859_6[ 83 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a4, 0xc2a4}, + {0x00ac, 0xd88c}, + {0x00ad, 0xc2ad}, + {0x00bb, 0xd89b}, + {0x00bf, 0xd89f}, + {0x00c1, 0xd8a1}, + {0x00c2, 0xd8a2}, + {0x00c3, 0xd8a3}, + {0x00c4, 0xd8a4}, + {0x00c5, 0xd8a5}, + {0x00c6, 0xd8a6}, + {0x00c7, 0xd8a7}, + {0x00c8, 0xd8a8}, + {0x00c9, 0xd8a9}, + {0x00ca, 0xd8aa}, + {0x00cb, 0xd8ab}, + {0x00cc, 0xd8ac}, + {0x00cd, 0xd8ad}, + {0x00ce, 0xd8ae}, + {0x00cf, 0xd8af}, + {0x00d0, 0xd8b0}, + {0x00d1, 0xd8b1}, + {0x00d2, 0xd8b2}, + {0x00d3, 0xd8b3}, + {0x00d4, 0xd8b4}, + {0x00d5, 0xd8b5}, + {0x00d6, 0xd8b6}, + {0x00d7, 0xd8b7}, + {0x00d8, 0xd8b8}, + {0x00d9, 0xd8b9}, + {0x00da, 0xd8ba}, + {0x00e0, 0xd980}, + {0x00e1, 0xd981}, + {0x00e2, 0xd982}, + {0x00e3, 0xd983}, + {0x00e4, 0xd984}, + {0x00e5, 0xd985}, + {0x00e6, 0xd986}, + {0x00e7, 0xd987}, + {0x00e8, 0xd988}, + {0x00e9, 0xd989}, + {0x00ea, 0xd98a}, + {0x00eb, 0xd98b}, + {0x00ec, 0xd98c}, + {0x00ed, 0xd98d}, + {0x00ee, 0xd98e}, + {0x00ef, 0xd98f}, + {0x00f0, 0xd990}, + {0x00f1, 0xd991}, + {0x00f2, 0xd992} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map new file mode 100644 index 00000000000..36b966dca4b --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map @@ -0,0 +1,124 @@ +static pg_local_to_utf LUmapISO8859_7[ 122 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xe28098}, + {0x00a2, 0xe28099}, + {0x00a3, 0xc2a3}, + {0x00a6, 0xc2a6}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc2a8}, + {0x00a9, 0xc2a9}, + {0x00ab, 0xc2ab}, + {0x00ac, 0xc2ac}, + {0x00ad, 0xc2ad}, + {0x00af, 0xe28095}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc2b1}, + {0x00b2, 0xc2b2}, + {0x00b3, 0xc2b3}, + {0x00b4, 0xce84}, + {0x00b5, 0xce85}, + {0x00b6, 0xce86}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xce88}, + {0x00b9, 0xce89}, + {0x00ba, 0xce8a}, + {0x00bb, 0xc2bb}, + {0x00bc, 0xce8c}, + {0x00bd, 0xc2bd}, + {0x00be, 0xce8e}, + {0x00bf, 0xce8f}, + {0x00c0, 0xce90}, + {0x00c1, 0xce91}, + {0x00c2, 0xce92}, + {0x00c3, 0xce93}, + {0x00c4, 0xce94}, + {0x00c5, 0xce95}, + {0x00c6, 0xce96}, + {0x00c7, 0xce97}, + {0x00c8, 0xce98}, + {0x00c9, 0xce99}, + {0x00ca, 0xce9a}, + {0x00cb, 0xce9b}, + {0x00cc, 0xce9c}, + {0x00cd, 0xce9d}, + {0x00ce, 0xce9e}, + {0x00cf, 0xce9f}, + {0x00d0, 0xcea0}, + {0x00d1, 0xcea1}, + {0x00d3, 0xcea3}, + {0x00d4, 0xcea4}, + {0x00d5, 0xcea5}, + {0x00d6, 0xcea6}, + {0x00d7, 0xcea7}, + {0x00d8, 0xcea8}, + {0x00d9, 0xcea9}, + {0x00da, 0xceaa}, + {0x00db, 0xceab}, + {0x00dc, 0xceac}, + {0x00dd, 0xcead}, + {0x00de, 0xceae}, + {0x00df, 0xceaf}, + {0x00e0, 0xceb0}, + {0x00e1, 0xceb1}, + {0x00e2, 0xceb2}, + {0x00e3, 0xceb3}, + {0x00e4, 0xceb4}, + {0x00e5, 0xceb5}, + {0x00e6, 0xceb6}, + {0x00e7, 0xceb7}, + {0x00e8, 0xceb8}, + {0x00e9, 0xceb9}, + {0x00ea, 0xceba}, + {0x00eb, 0xcebb}, + {0x00ec, 0xcebc}, + {0x00ed, 0xcebd}, + {0x00ee, 0xcebe}, + {0x00ef, 0xcebf}, + {0x00f0, 0xcf80}, + {0x00f1, 0xcf81}, + {0x00f2, 0xcf82}, + {0x00f3, 0xcf83}, + {0x00f4, 0xcf84}, + {0x00f5, 0xcf85}, + {0x00f6, 0xcf86}, + {0x00f7, 0xcf87}, + {0x00f8, 0xcf88}, + {0x00f9, 0xcf89}, + {0x00fa, 0xcf8a}, + {0x00fb, 0xcf8b}, + {0x00fc, 0xcf8c}, + {0x00fd, 0xcf8d}, + {0x00fe, 0xcf8e} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map new file mode 100644 index 00000000000..a47af895140 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map @@ -0,0 +1,94 @@ +static pg_local_to_utf LUmapISO8859_8[ 92 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a2, 0xc2a2}, + {0x00a3, 0xc2a3}, + {0x00a4, 0xc2a4}, + {0x00a5, 0xc2a5}, + {0x00a6, 0xc2a6}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc2a8}, + {0x00a9, 0xc2a9}, + {0x00aa, 0xc397}, + {0x00ab, 0xc2ab}, + {0x00ac, 0xc2ac}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc2ae}, + {0x00af, 0xc2af}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc2b1}, + {0x00b2, 0xc2b2}, + {0x00b3, 0xc2b3}, + {0x00b4, 0xc2b4}, + {0x00b5, 0xc2b5}, + {0x00b6, 0xc2b6}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xc2b8}, + {0x00b9, 0xc2b9}, + {0x00ba, 0xc3b7}, + {0x00bb, 0xc2bb}, + {0x00bc, 0xc2bc}, + {0x00bd, 0xc2bd}, + {0x00be, 0xc2be}, + {0x00df, 0xe28097}, + {0x00e0, 0xd790}, + {0x00e1, 0xd791}, + {0x00e2, 0xd792}, + {0x00e3, 0xd793}, + {0x00e4, 0xd794}, + {0x00e5, 0xd795}, + {0x00e6, 0xd796}, + {0x00e7, 0xd797}, + {0x00e8, 0xd798}, + {0x00e9, 0xd799}, + {0x00ea, 0xd79a}, + {0x00eb, 0xd79b}, + {0x00ec, 0xd79c}, + {0x00ed, 0xd79d}, + {0x00ee, 0xd79e}, + {0x00ef, 0xd79f}, + {0x00f0, 0xd7a0}, + {0x00f1, 0xd7a1}, + {0x00f2, 0xd7a2}, + {0x00f3, 0xd7a3}, + {0x00f4, 0xd7a4}, + {0x00f5, 0xd7a5}, + {0x00f6, 0xd7a6}, + {0x00f7, 0xd7a7}, + {0x00f8, 0xd7a8}, + {0x00f9, 0xd7a9}, + {0x00fa, 0xd7aa}, + {0x00fd, 0xe2808e}, + {0x00fe, 0xe2808f} +}; diff --git a/src/backend/utils/mb/Unicode/iso8859_9_to_utf8.map b/src/backend/utils/mb/Unicode/iso8859_9_to_utf8.map new file mode 100644 index 00000000000..9e002adb845 --- /dev/null +++ b/src/backend/utils/mb/Unicode/iso8859_9_to_utf8.map @@ -0,0 +1,130 @@ +static pg_local_to_utf LUmapISO8859_9[ 128 ] = { + {0x0080, 0xc280}, + {0x0081, 0xc281}, + {0x0082, 0xc282}, + {0x0083, 0xc283}, + {0x0084, 0xc284}, + {0x0085, 0xc285}, + {0x0086, 0xc286}, + {0x0087, 0xc287}, + {0x0088, 0xc288}, + {0x0089, 0xc289}, + {0x008a, 0xc28a}, + {0x008b, 0xc28b}, + {0x008c, 0xc28c}, + {0x008d, 0xc28d}, + {0x008e, 0xc28e}, + {0x008f, 0xc28f}, + {0x0090, 0xc290}, + {0x0091, 0xc291}, + {0x0092, 0xc292}, + {0x0093, 0xc293}, + {0x0094, 0xc294}, + {0x0095, 0xc295}, + {0x0096, 0xc296}, + {0x0097, 0xc297}, + {0x0098, 0xc298}, + {0x0099, 0xc299}, + {0x009a, 0xc29a}, + {0x009b, 0xc29b}, + {0x009c, 0xc29c}, + {0x009d, 0xc29d}, + {0x009e, 0xc29e}, + {0x009f, 0xc29f}, + {0x00a0, 0xc2a0}, + {0x00a1, 0xc2a1}, + {0x00a2, 0xc2a2}, + {0x00a3, 0xc2a3}, + {0x00a4, 0xc2a4}, + {0x00a5, 0xc2a5}, + {0x00a6, 0xc2a6}, + {0x00a7, 0xc2a7}, + {0x00a8, 0xc2a8}, + {0x00a9, 0xc2a9}, + {0x00aa, 0xc2aa}, + {0x00ab, 0xc2ab}, + {0x00ac, 0xc2ac}, + {0x00ad, 0xc2ad}, + {0x00ae, 0xc2ae}, + {0x00af, 0xc2af}, + {0x00b0, 0xc2b0}, + {0x00b1, 0xc2b1}, + {0x00b2, 0xc2b2}, + {0x00b3, 0xc2b3}, + {0x00b4, 0xc2b4}, + {0x00b5, 0xc2b5}, + {0x00b6, 0xc2b6}, + {0x00b7, 0xc2b7}, + {0x00b8, 0xc2b8}, + {0x00b9, 0xc2b9}, + {0x00ba, 0xc2ba}, + {0x00bb, 0xc2bb}, + {0x00bc, 0xc2bc}, + {0x00bd, 0xc2bd}, + {0x00be, 0xc2be}, + {0x00bf, 0xc2bf}, + {0x00c0, 0xc380}, + {0x00c1, 0xc381}, + {0x00c2, 0xc382}, + {0x00c3, 0xc383}, + {0x00c4, 0xc384}, + {0x00c5, 0xc385}, + {0x00c6, 0xc386}, + {0x00c7, 0xc387}, + {0x00c8, 0xc388}, + {0x00c9, 0xc389}, + {0x00ca, 0xc38a}, + {0x00cb, 0xc38b}, + {0x00cc, 0xc38c}, + {0x00cd, 0xc38d}, + {0x00ce, 0xc38e}, + {0x00cf, 0xc38f}, + {0x00d0, 0xc49e}, + {0x00d1, 0xc391}, + {0x00d2, 0xc392}, + {0x00d3, 0xc393}, + {0x00d4, 0xc394}, + {0x00d5, 0xc395}, + {0x00d6, 0xc396}, + {0x00d7, 0xc397}, + {0x00d8, 0xc398}, + {0x00d9, 0xc399}, + {0x00da, 0xc39a}, + {0x00db, 0xc39b}, + {0x00dc, 0xc39c}, + {0x00dd, 0xc4b0}, + {0x00de, 0xc59e}, + {0x00df, 0xc39f}, + {0x00e0, 0xc3a0}, + {0x00e1, 0xc3a1}, + {0x00e2, 0xc3a2}, + {0x00e3, 0xc3a3}, + {0x00e4, 0xc3a4}, + {0x00e5, 0xc3a5}, + {0x00e6, 0xc3a6}, + {0x00e7, 0xc3a7}, + {0x00e8, 0xc3a8}, + {0x00e9, 0xc3a9}, + {0x00ea, 0xc3aa}, + {0x00eb, 0xc3ab}, + {0x00ec, 0xc3ac}, + {0x00ed, 0xc3ad}, + {0x00ee, 0xc3ae}, + {0x00ef, 0xc3af}, + {0x00f0, 0xc49f}, + {0x00f1, 0xc3b1}, + {0x00f2, 0xc3b2}, + {0x00f3, 0xc3b3}, + {0x00f4, 0xc3b4}, + {0x00f5, 0xc3b5}, + {0x00f6, 0xc3b6}, + {0x00f7, 0xc3b7}, + {0x00f8, 0xc3b8}, + {0x00f9, 0xc3b9}, + {0x00fa, 0xc3ba}, + {0x00fb, 0xc3bb}, + {0x00fc, 0xc3bc}, + {0x00fd, 0xc4b1}, + {0x00fe, 0xc59f}, + {0x00ff, 0xc3bf} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_10.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_10.map new file mode 100644 index 00000000000..b4aeafee2ba --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_10.map @@ -0,0 +1,130 @@ +static pg_utf_to_local ULmapISO8859_10[ 128 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a7, 0x00a7}, + {0xc2ad, 0x00ad}, + {0xc2b0, 0x00b0}, + {0xc2b7, 0x00b7}, + {0xc381, 0x00c1}, + {0xc382, 0x00c2}, + {0xc383, 0x00c3}, + {0xc384, 0x00c4}, + {0xc385, 0x00c5}, + {0xc386, 0x00c6}, + {0xc389, 0x00c9}, + {0xc38b, 0x00cb}, + {0xc38d, 0x00cd}, + {0xc38e, 0x00ce}, + {0xc38f, 0x00cf}, + {0xc390, 0x00d0}, + {0xc393, 0x00d3}, + {0xc394, 0x00d4}, + {0xc395, 0x00d5}, + {0xc396, 0x00d6}, + {0xc398, 0x00d8}, + {0xc39a, 0x00da}, + {0xc39b, 0x00db}, + {0xc39c, 0x00dc}, + {0xc39d, 0x00dd}, + {0xc39e, 0x00de}, + {0xc39f, 0x00df}, + {0xc3a1, 0x00e1}, + {0xc3a2, 0x00e2}, + {0xc3a3, 0x00e3}, + {0xc3a4, 0x00e4}, + {0xc3a5, 0x00e5}, + {0xc3a6, 0x00e6}, + {0xc3a9, 0x00e9}, + {0xc3ab, 0x00eb}, + {0xc3ad, 0x00ed}, + {0xc3ae, 0x00ee}, + {0xc3af, 0x00ef}, + {0xc3b0, 0x00f0}, + {0xc3b3, 0x00f3}, + {0xc3b4, 0x00f4}, + {0xc3b5, 0x00f5}, + {0xc3b6, 0x00f6}, + {0xc3b8, 0x00f8}, + {0xc3ba, 0x00fa}, + {0xc3bb, 0x00fb}, + {0xc3bc, 0x00fc}, + {0xc3bd, 0x00fd}, + {0xc3be, 0x00fe}, + {0xc480, 0x00c0}, + {0xc481, 0x00e0}, + {0xc484, 0x00a1}, + {0xc485, 0x00b1}, + {0xc48c, 0x00c8}, + {0xc48d, 0x00e8}, + {0xc490, 0x00a9}, + {0xc491, 0x00b9}, + {0xc492, 0x00a2}, + {0xc493, 0x00b2}, + {0xc496, 0x00cc}, + {0xc497, 0x00ec}, + {0xc498, 0x00ca}, + {0xc499, 0x00ea}, + {0xc4a2, 0x00a3}, + {0xc4a3, 0x00b3}, + {0xc4a8, 0x00a5}, + {0xc4a9, 0x00b5}, + {0xc4aa, 0x00a4}, + {0xc4ab, 0x00b4}, + {0xc4ae, 0x00c7}, + {0xc4af, 0x00e7}, + {0xc4b6, 0x00a6}, + {0xc4b7, 0x00b6}, + {0xc4b8, 0x00ff}, + {0xc4bb, 0x00a8}, + {0xc4bc, 0x00b8}, + {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} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_13.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_13.map new file mode 100644 index 00000000000..eca37849248 --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_13.map @@ -0,0 +1,130 @@ +static pg_utf_to_local ULmapISO8859_13[ 128 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a2, 0x00a2}, + {0xc2a3, 0x00a3}, + {0xc2a4, 0x00a4}, + {0xc2a6, 0x00a6}, + {0xc2a7, 0x00a7}, + {0xc2a9, 0x00a9}, + {0xc2ab, 0x00ab}, + {0xc2ac, 0x00ac}, + {0xc2ad, 0x00ad}, + {0xc2ae, 0x00ae}, + {0xc2b0, 0x00b0}, + {0xc2b1, 0x00b1}, + {0xc2b2, 0x00b2}, + {0xc2b3, 0x00b3}, + {0xc2b5, 0x00b5}, + {0xc2b6, 0x00b6}, + {0xc2b7, 0x00b7}, + {0xc2b9, 0x00b9}, + {0xc2bb, 0x00bb}, + {0xc2bc, 0x00bc}, + {0xc2bd, 0x00bd}, + {0xc2be, 0x00be}, + {0xc384, 0x00c4}, + {0xc385, 0x00c5}, + {0xc386, 0x00af}, + {0xc389, 0x00c9}, + {0xc393, 0x00d3}, + {0xc395, 0x00d5}, + {0xc396, 0x00d6}, + {0xc397, 0x00d7}, + {0xc398, 0x00a8}, + {0xc39c, 0x00dc}, + {0xc39f, 0x00df}, + {0xc3a4, 0x00e4}, + {0xc3a5, 0x00e5}, + {0xc3a6, 0x00bf}, + {0xc3a9, 0x00e9}, + {0xc3b3, 0x00f3}, + {0xc3b5, 0x00f5}, + {0xc3b6, 0x00f6}, + {0xc3b7, 0x00f7}, + {0xc3b8, 0x00b8}, + {0xc3bc, 0x00fc}, + {0xc480, 0x00c2}, + {0xc481, 0x00e2}, + {0xc484, 0x00c0}, + {0xc485, 0x00e0}, + {0xc486, 0x00c3}, + {0xc487, 0x00e3}, + {0xc48c, 0x00c8}, + {0xc48d, 0x00e8}, + {0xc492, 0x00c7}, + {0xc493, 0x00e7}, + {0xc496, 0x00cb}, + {0xc497, 0x00eb}, + {0xc498, 0x00c6}, + {0xc499, 0x00e6}, + {0xc4a2, 0x00cc}, + {0xc4a3, 0x00ec}, + {0xc4aa, 0x00ce}, + {0xc4ab, 0x00ee}, + {0xc4ae, 0x00c1}, + {0xc4af, 0x00e1}, + {0xc4b6, 0x00cd}, + {0xc4b7, 0x00ed}, + {0xc4bb, 0x00cf}, + {0xc4bc, 0x00ef}, + {0xc581, 0x00d9}, + {0xc582, 0x00f9}, + {0xc583, 0x00d1}, + {0xc584, 0x00f1}, + {0xc585, 0x00d2}, + {0xc586, 0x00f2}, + {0xc58c, 0x00d4}, + {0xc58d, 0x00f4}, + {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} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_14.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_14.map new file mode 100644 index 00000000000..bef24578eaa --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_14.map @@ -0,0 +1,130 @@ +static pg_utf_to_local ULmapISO8859_14[ 128 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a3, 0x00a3}, + {0xc2a7, 0x00a7}, + {0xc2a9, 0x00a9}, + {0xc2ad, 0x00ad}, + {0xc2ae, 0x00ae}, + {0xc2b6, 0x00b6}, + {0xc380, 0x00c0}, + {0xc381, 0x00c1}, + {0xc382, 0x00c2}, + {0xc383, 0x00c3}, + {0xc384, 0x00c4}, + {0xc385, 0x00c5}, + {0xc386, 0x00c6}, + {0xc387, 0x00c7}, + {0xc388, 0x00c8}, + {0xc389, 0x00c9}, + {0xc38a, 0x00ca}, + {0xc38b, 0x00cb}, + {0xc38c, 0x00cc}, + {0xc38d, 0x00cd}, + {0xc38e, 0x00ce}, + {0xc38f, 0x00cf}, + {0xc391, 0x00d1}, + {0xc392, 0x00d2}, + {0xc393, 0x00d3}, + {0xc394, 0x00d4}, + {0xc395, 0x00d5}, + {0xc396, 0x00d6}, + {0xc398, 0x00d8}, + {0xc399, 0x00d9}, + {0xc39a, 0x00da}, + {0xc39b, 0x00db}, + {0xc39c, 0x00dc}, + {0xc39d, 0x00dd}, + {0xc39f, 0x00df}, + {0xc3a0, 0x00e0}, + {0xc3a1, 0x00e1}, + {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}, + {0xc3b8, 0x00f8}, + {0xc3b9, 0x00f9}, + {0xc3ba, 0x00fa}, + {0xc3bb, 0x00fb}, + {0xc3bc, 0x00fc}, + {0xc3bd, 0x00fd}, + {0xc3bf, 0x00ff}, + {0xc48a, 0x00a4}, + {0xc48b, 0x00a5}, + {0xc4a0, 0x00b2}, + {0xc4a1, 0x00b3}, + {0xc5b4, 0x00d0}, + {0xc5b5, 0x00f0}, + {0xc5b6, 0x00de}, + {0xc5b7, 0x00fe}, + {0xc5b8, 0x00af}, + {0xe1b882, 0x00a1}, + {0xe1b883, 0x00a2}, + {0xe1b88a, 0x00a6}, + {0xe1b88b, 0x00ab}, + {0xe1b89e, 0x00b0}, + {0xe1b89f, 0x00b1}, + {0xe1b980, 0x00b4}, + {0xe1b981, 0x00b5}, + {0xe1b996, 0x00b7}, + {0xe1b997, 0x00b9}, + {0xe1b9a0, 0x00bb}, + {0xe1b9a1, 0x00bf}, + {0xe1b9aa, 0x00d7}, + {0xe1b9ab, 0x00f7}, + {0xe1ba80, 0x00a8}, + {0xe1ba81, 0x00b8}, + {0xe1ba82, 0x00aa}, + {0xe1ba83, 0x00ba}, + {0xe1ba84, 0x00bd}, + {0xe1ba85, 0x00be}, + {0xe1bbb2, 0x00ac}, + {0xe1bbb3, 0x00bc} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_15.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_15.map new file mode 100644 index 00000000000..e1e098865c6 --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_15.map @@ -0,0 +1,130 @@ +static pg_utf_to_local ULmapISO8859_15[ 128 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a1, 0x00a1}, + {0xc2a2, 0x00a2}, + {0xc2a3, 0x00a3}, + {0xc2a5, 0x00a5}, + {0xc2a7, 0x00a7}, + {0xc2a9, 0x00a9}, + {0xc2aa, 0x00aa}, + {0xc2ab, 0x00ab}, + {0xc2ac, 0x00ac}, + {0xc2ad, 0x00ad}, + {0xc2ae, 0x00ae}, + {0xc2af, 0x00af}, + {0xc2b0, 0x00b0}, + {0xc2b1, 0x00b1}, + {0xc2b2, 0x00b2}, + {0xc2b3, 0x00b3}, + {0xc2b5, 0x00b5}, + {0xc2b6, 0x00b6}, + {0xc2b7, 0x00b7}, + {0xc2b9, 0x00b9}, + {0xc2ba, 0x00ba}, + {0xc2bb, 0x00bb}, + {0xc2bf, 0x00bf}, + {0xc380, 0x00c0}, + {0xc381, 0x00c1}, + {0xc382, 0x00c2}, + {0xc383, 0x00c3}, + {0xc384, 0x00c4}, + {0xc385, 0x00c5}, + {0xc386, 0x00c6}, + {0xc387, 0x00c7}, + {0xc388, 0x00c8}, + {0xc389, 0x00c9}, + {0xc38a, 0x00ca}, + {0xc38b, 0x00cb}, + {0xc38c, 0x00cc}, + {0xc38d, 0x00cd}, + {0xc38e, 0x00ce}, + {0xc38f, 0x00cf}, + {0xc390, 0x00d0}, + {0xc391, 0x00d1}, + {0xc392, 0x00d2}, + {0xc393, 0x00d3}, + {0xc394, 0x00d4}, + {0xc395, 0x00d5}, + {0xc396, 0x00d6}, + {0xc397, 0x00d7}, + {0xc398, 0x00d8}, + {0xc399, 0x00d9}, + {0xc39a, 0x00da}, + {0xc39b, 0x00db}, + {0xc39c, 0x00dc}, + {0xc39d, 0x00dd}, + {0xc39e, 0x00de}, + {0xc39f, 0x00df}, + {0xc3a0, 0x00e0}, + {0xc3a1, 0x00e1}, + {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}, + {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} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_16.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_16.map new file mode 100644 index 00000000000..63ba6bdafaf --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_16.map @@ -0,0 +1,130 @@ +static pg_utf_to_local ULmapISO8859_16[ 128 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a7, 0x00a7}, + {0xc2a9, 0x00a9}, + {0xc2ab, 0x00ab}, + {0xc2ad, 0x00ad}, + {0xc2b0, 0x00b0}, + {0xc2b1, 0x00b1}, + {0xc2b6, 0x00b6}, + {0xc2b7, 0x00b7}, + {0xc2bb, 0x00bb}, + {0xc380, 0x00c0}, + {0xc381, 0x00c1}, + {0xc382, 0x00c2}, + {0xc384, 0x00c4}, + {0xc386, 0x00c6}, + {0xc387, 0x00c7}, + {0xc388, 0x00c8}, + {0xc389, 0x00c9}, + {0xc38a, 0x00ca}, + {0xc38b, 0x00cb}, + {0xc38c, 0x00cc}, + {0xc38d, 0x00cd}, + {0xc38e, 0x00ce}, + {0xc38f, 0x00cf}, + {0xc392, 0x00d2}, + {0xc393, 0x00d3}, + {0xc394, 0x00d4}, + {0xc396, 0x00d6}, + {0xc399, 0x00d9}, + {0xc39a, 0x00da}, + {0xc39b, 0x00db}, + {0xc39c, 0x00dc}, + {0xc39f, 0x00df}, + {0xc3a0, 0x00e0}, + {0xc3a1, 0x00e1}, + {0xc3a2, 0x00e2}, + {0xc3a4, 0x00e4}, + {0xc3a6, 0x00e6}, + {0xc3a7, 0x00e7}, + {0xc3a8, 0x00e8}, + {0xc3a9, 0x00e9}, + {0xc3aa, 0x00ea}, + {0xc3ab, 0x00eb}, + {0xc3ac, 0x00ec}, + {0xc3ad, 0x00ed}, + {0xc3ae, 0x00ee}, + {0xc3af, 0x00ef}, + {0xc3b2, 0x00f2}, + {0xc3b3, 0x00f3}, + {0xc3b4, 0x00f4}, + {0xc3b6, 0x00f6}, + {0xc3b9, 0x00f9}, + {0xc3ba, 0x00fa}, + {0xc3bb, 0x00fb}, + {0xc3bc, 0x00fc}, + {0xc3bf, 0x00ff}, + {0xc482, 0x00c3}, + {0xc483, 0x00e3}, + {0xc484, 0x00a1}, + {0xc485, 0x00a2}, + {0xc486, 0x00c5}, + {0xc487, 0x00e5}, + {0xc48c, 0x00b2}, + {0xc48d, 0x00b9}, + {0xc490, 0x00d0}, + {0xc491, 0x00f0}, + {0xc498, 0x00dd}, + {0xc499, 0x00fd}, + {0xc581, 0x00a3}, + {0xc582, 0x00b3}, + {0xc583, 0x00d1}, + {0xc584, 0x00f1}, + {0xc590, 0x00d5}, + {0xc591, 0x00f5}, + {0xc592, 0x00bc}, + {0xc593, 0x00bd}, + {0xc59a, 0x00d7}, + {0xc59b, 0x00f7}, + {0xc5a0, 0x00a6}, + {0xc5a1, 0x00a8}, + {0xc5b0, 0x00d8}, + {0xc5b1, 0x00f8}, + {0xc5b8, 0x00be}, + {0xc5b9, 0x00ac}, + {0xc5ba, 0x00ae}, + {0xc5bb, 0x00af}, + {0xc5bc, 0x00bf}, + {0xc5bd, 0x00b4}, + {0xc5be, 0x00b8}, + {0xc898, 0x00aa}, + {0xc899, 0x00ba}, + {0xc89a, 0x00de}, + {0xc89b, 0x00fe}, + {0xe2809d, 0x00b5}, + {0xe2809e, 0x00a5}, + {0xe282ac, 0x00a4} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map new file mode 100644 index 00000000000..291f7cf5da1 --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map @@ -0,0 +1,85 @@ +static pg_utf_to_local ULmapISO8859_6[ 83 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a4, 0x00a4}, + {0xc2ad, 0x00ad}, + {0xd88c, 0x00ac}, + {0xd89b, 0x00bb}, + {0xd89f, 0x00bf}, + {0xd8a1, 0x00c1}, + {0xd8a2, 0x00c2}, + {0xd8a3, 0x00c3}, + {0xd8a4, 0x00c4}, + {0xd8a5, 0x00c5}, + {0xd8a6, 0x00c6}, + {0xd8a7, 0x00c7}, + {0xd8a8, 0x00c8}, + {0xd8a9, 0x00c9}, + {0xd8aa, 0x00ca}, + {0xd8ab, 0x00cb}, + {0xd8ac, 0x00cc}, + {0xd8ad, 0x00cd}, + {0xd8ae, 0x00ce}, + {0xd8af, 0x00cf}, + {0xd8b0, 0x00d0}, + {0xd8b1, 0x00d1}, + {0xd8b2, 0x00d2}, + {0xd8b3, 0x00d3}, + {0xd8b4, 0x00d4}, + {0xd8b5, 0x00d5}, + {0xd8b6, 0x00d6}, + {0xd8b7, 0x00d7}, + {0xd8b8, 0x00d8}, + {0xd8b9, 0x00d9}, + {0xd8ba, 0x00da}, + {0xd980, 0x00e0}, + {0xd981, 0x00e1}, + {0xd982, 0x00e2}, + {0xd983, 0x00e3}, + {0xd984, 0x00e4}, + {0xd985, 0x00e5}, + {0xd986, 0x00e6}, + {0xd987, 0x00e7}, + {0xd988, 0x00e8}, + {0xd989, 0x00e9}, + {0xd98a, 0x00ea}, + {0xd98b, 0x00eb}, + {0xd98c, 0x00ec}, + {0xd98d, 0x00ed}, + {0xd98e, 0x00ee}, + {0xd98f, 0x00ef}, + {0xd990, 0x00f0}, + {0xd991, 0x00f1}, + {0xd992, 0x00f2} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map new file mode 100644 index 00000000000..e46ebe18b03 --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map @@ -0,0 +1,124 @@ +static pg_utf_to_local ULmapISO8859_7[ 122 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a3, 0x00a3}, + {0xc2a6, 0x00a6}, + {0xc2a7, 0x00a7}, + {0xc2a8, 0x00a8}, + {0xc2a9, 0x00a9}, + {0xc2ab, 0x00ab}, + {0xc2ac, 0x00ac}, + {0xc2ad, 0x00ad}, + {0xc2b0, 0x00b0}, + {0xc2b1, 0x00b1}, + {0xc2b2, 0x00b2}, + {0xc2b3, 0x00b3}, + {0xc2b7, 0x00b7}, + {0xc2bb, 0x00bb}, + {0xc2bd, 0x00bd}, + {0xce84, 0x00b4}, + {0xce85, 0x00b5}, + {0xce86, 0x00b6}, + {0xce88, 0x00b8}, + {0xce89, 0x00b9}, + {0xce8a, 0x00ba}, + {0xce8c, 0x00bc}, + {0xce8e, 0x00be}, + {0xce8f, 0x00bf}, + {0xce90, 0x00c0}, + {0xce91, 0x00c1}, + {0xce92, 0x00c2}, + {0xce93, 0x00c3}, + {0xce94, 0x00c4}, + {0xce95, 0x00c5}, + {0xce96, 0x00c6}, + {0xce97, 0x00c7}, + {0xce98, 0x00c8}, + {0xce99, 0x00c9}, + {0xce9a, 0x00ca}, + {0xce9b, 0x00cb}, + {0xce9c, 0x00cc}, + {0xce9d, 0x00cd}, + {0xce9e, 0x00ce}, + {0xce9f, 0x00cf}, + {0xcea0, 0x00d0}, + {0xcea1, 0x00d1}, + {0xcea3, 0x00d3}, + {0xcea4, 0x00d4}, + {0xcea5, 0x00d5}, + {0xcea6, 0x00d6}, + {0xcea7, 0x00d7}, + {0xcea8, 0x00d8}, + {0xcea9, 0x00d9}, + {0xceaa, 0x00da}, + {0xceab, 0x00db}, + {0xceac, 0x00dc}, + {0xcead, 0x00dd}, + {0xceae, 0x00de}, + {0xceaf, 0x00df}, + {0xceb0, 0x00e0}, + {0xceb1, 0x00e1}, + {0xceb2, 0x00e2}, + {0xceb3, 0x00e3}, + {0xceb4, 0x00e4}, + {0xceb5, 0x00e5}, + {0xceb6, 0x00e6}, + {0xceb7, 0x00e7}, + {0xceb8, 0x00e8}, + {0xceb9, 0x00e9}, + {0xceba, 0x00ea}, + {0xcebb, 0x00eb}, + {0xcebc, 0x00ec}, + {0xcebd, 0x00ed}, + {0xcebe, 0x00ee}, + {0xcebf, 0x00ef}, + {0xcf80, 0x00f0}, + {0xcf81, 0x00f1}, + {0xcf82, 0x00f2}, + {0xcf83, 0x00f3}, + {0xcf84, 0x00f4}, + {0xcf85, 0x00f5}, + {0xcf86, 0x00f6}, + {0xcf87, 0x00f7}, + {0xcf88, 0x00f8}, + {0xcf89, 0x00f9}, + {0xcf8a, 0x00fa}, + {0xcf8b, 0x00fb}, + {0xcf8c, 0x00fc}, + {0xcf8d, 0x00fd}, + {0xcf8e, 0x00fe}, + {0xe28095, 0x00af}, + {0xe28098, 0x00a1}, + {0xe28099, 0x00a2} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map new file mode 100644 index 00000000000..62095e54f48 --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map @@ -0,0 +1,94 @@ +static pg_utf_to_local ULmapISO8859_8[ 92 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a2, 0x00a2}, + {0xc2a3, 0x00a3}, + {0xc2a4, 0x00a4}, + {0xc2a5, 0x00a5}, + {0xc2a6, 0x00a6}, + {0xc2a7, 0x00a7}, + {0xc2a8, 0x00a8}, + {0xc2a9, 0x00a9}, + {0xc2ab, 0x00ab}, + {0xc2ac, 0x00ac}, + {0xc2ad, 0x00ad}, + {0xc2ae, 0x00ae}, + {0xc2af, 0x00af}, + {0xc2b0, 0x00b0}, + {0xc2b1, 0x00b1}, + {0xc2b2, 0x00b2}, + {0xc2b3, 0x00b3}, + {0xc2b4, 0x00b4}, + {0xc2b5, 0x00b5}, + {0xc2b6, 0x00b6}, + {0xc2b7, 0x00b7}, + {0xc2b8, 0x00b8}, + {0xc2b9, 0x00b9}, + {0xc2bb, 0x00bb}, + {0xc2bc, 0x00bc}, + {0xc2bd, 0x00bd}, + {0xc2be, 0x00be}, + {0xc397, 0x00aa}, + {0xc3b7, 0x00ba}, + {0xd790, 0x00e0}, + {0xd791, 0x00e1}, + {0xd792, 0x00e2}, + {0xd793, 0x00e3}, + {0xd794, 0x00e4}, + {0xd795, 0x00e5}, + {0xd796, 0x00e6}, + {0xd797, 0x00e7}, + {0xd798, 0x00e8}, + {0xd799, 0x00e9}, + {0xd79a, 0x00ea}, + {0xd79b, 0x00eb}, + {0xd79c, 0x00ec}, + {0xd79d, 0x00ed}, + {0xd79e, 0x00ee}, + {0xd79f, 0x00ef}, + {0xd7a0, 0x00f0}, + {0xd7a1, 0x00f1}, + {0xd7a2, 0x00f2}, + {0xd7a3, 0x00f3}, + {0xd7a4, 0x00f4}, + {0xd7a5, 0x00f5}, + {0xd7a6, 0x00f6}, + {0xd7a7, 0x00f7}, + {0xd7a8, 0x00f8}, + {0xd7a9, 0x00f9}, + {0xd7aa, 0x00fa}, + {0xe2808e, 0x00fd}, + {0xe2808f, 0x00fe}, + {0xe28097, 0x00df} +}; diff --git a/src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map b/src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map new file mode 100644 index 00000000000..baff0f0319f --- /dev/null +++ b/src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map @@ -0,0 +1,130 @@ +static pg_utf_to_local ULmapISO8859_9[ 128 ] = { + {0xc280, 0x0080}, + {0xc281, 0x0081}, + {0xc282, 0x0082}, + {0xc283, 0x0083}, + {0xc284, 0x0084}, + {0xc285, 0x0085}, + {0xc286, 0x0086}, + {0xc287, 0x0087}, + {0xc288, 0x0088}, + {0xc289, 0x0089}, + {0xc28a, 0x008a}, + {0xc28b, 0x008b}, + {0xc28c, 0x008c}, + {0xc28d, 0x008d}, + {0xc28e, 0x008e}, + {0xc28f, 0x008f}, + {0xc290, 0x0090}, + {0xc291, 0x0091}, + {0xc292, 0x0092}, + {0xc293, 0x0093}, + {0xc294, 0x0094}, + {0xc295, 0x0095}, + {0xc296, 0x0096}, + {0xc297, 0x0097}, + {0xc298, 0x0098}, + {0xc299, 0x0099}, + {0xc29a, 0x009a}, + {0xc29b, 0x009b}, + {0xc29c, 0x009c}, + {0xc29d, 0x009d}, + {0xc29e, 0x009e}, + {0xc29f, 0x009f}, + {0xc2a0, 0x00a0}, + {0xc2a1, 0x00a1}, + {0xc2a2, 0x00a2}, + {0xc2a3, 0x00a3}, + {0xc2a4, 0x00a4}, + {0xc2a5, 0x00a5}, + {0xc2a6, 0x00a6}, + {0xc2a7, 0x00a7}, + {0xc2a8, 0x00a8}, + {0xc2a9, 0x00a9}, + {0xc2aa, 0x00aa}, + {0xc2ab, 0x00ab}, + {0xc2ac, 0x00ac}, + {0xc2ad, 0x00ad}, + {0xc2ae, 0x00ae}, + {0xc2af, 0x00af}, + {0xc2b0, 0x00b0}, + {0xc2b1, 0x00b1}, + {0xc2b2, 0x00b2}, + {0xc2b3, 0x00b3}, + {0xc2b4, 0x00b4}, + {0xc2b5, 0x00b5}, + {0xc2b6, 0x00b6}, + {0xc2b7, 0x00b7}, + {0xc2b8, 0x00b8}, + {0xc2b9, 0x00b9}, + {0xc2ba, 0x00ba}, + {0xc2bb, 0x00bb}, + {0xc2bc, 0x00bc}, + {0xc2bd, 0x00bd}, + {0xc2be, 0x00be}, + {0xc2bf, 0x00bf}, + {0xc380, 0x00c0}, + {0xc381, 0x00c1}, + {0xc382, 0x00c2}, + {0xc383, 0x00c3}, + {0xc384, 0x00c4}, + {0xc385, 0x00c5}, + {0xc386, 0x00c6}, + {0xc387, 0x00c7}, + {0xc388, 0x00c8}, + {0xc389, 0x00c9}, + {0xc38a, 0x00ca}, + {0xc38b, 0x00cb}, + {0xc38c, 0x00cc}, + {0xc38d, 0x00cd}, + {0xc38e, 0x00ce}, + {0xc38f, 0x00cf}, + {0xc391, 0x00d1}, + {0xc392, 0x00d2}, + {0xc393, 0x00d3}, + {0xc394, 0x00d4}, + {0xc395, 0x00d5}, + {0xc396, 0x00d6}, + {0xc397, 0x00d7}, + {0xc398, 0x00d8}, + {0xc399, 0x00d9}, + {0xc39a, 0x00da}, + {0xc39b, 0x00db}, + {0xc39c, 0x00dc}, + {0xc39f, 0x00df}, + {0xc3a0, 0x00e0}, + {0xc3a1, 0x00e1}, + {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} +}; diff --git a/src/backend/utils/mb/conv.c b/src/backend/utils/mb/conv.c index 959d5fc5de5..f6c0ac090a6 100644 --- a/src/backend/utils/mb/conv.c +++ b/src/backend/utils/mb/conv.c @@ -6,7 +6,7 @@ * WIN1250 client encoding support contributed by Pavel Behal * SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya * - * $Id: conv.c,v 1.30 2001/09/25 01:27:03 ishii Exp $ + * $Id: conv.c,v 1.31 2001/10/11 14:20:35 ishii Exp $ * * */ @@ -22,10 +22,28 @@ #include "Unicode/utf8_to_iso8859_3.map" #include "Unicode/utf8_to_iso8859_4.map" #include "Unicode/utf8_to_iso8859_5.map" +#include "Unicode/utf8_to_iso8859_6.map" +#include "Unicode/utf8_to_iso8859_7.map" +#include "Unicode/utf8_to_iso8859_8.map" +#include "Unicode/utf8_to_iso8859_9.map" +#include "Unicode/utf8_to_iso8859_10.map" +#include "Unicode/utf8_to_iso8859_13.map" +#include "Unicode/utf8_to_iso8859_14.map" +#include "Unicode/utf8_to_iso8859_15.map" +#include "Unicode/utf8_to_iso8859_16.map" #include "Unicode/iso8859_2_to_utf8.map" #include "Unicode/iso8859_3_to_utf8.map" #include "Unicode/iso8859_4_to_utf8.map" #include "Unicode/iso8859_5_to_utf8.map" +#include "Unicode/iso8859_6_to_utf8.map" +#include "Unicode/iso8859_7_to_utf8.map" +#include "Unicode/iso8859_8_to_utf8.map" +#include "Unicode/iso8859_9_to_utf8.map" +#include "Unicode/iso8859_10_to_utf8.map" +#include "Unicode/iso8859_13_to_utf8.map" +#include "Unicode/iso8859_14_to_utf8.map" +#include "Unicode/iso8859_15_to_utf8.map" +#include "Unicode/iso8859_16_to_utf8.map" #include "Unicode/utf8_to_euc_jp.map" #include "Unicode/euc_jp_to_utf8.map" #include "Unicode/utf8_to_euc_cn.map" @@ -1168,7 +1186,7 @@ utf2ascii(unsigned char *utf, unsigned char *ascii, int len) * ISO8859-1 ---> UTF-8 */ static void -latin1_to_utf(unsigned char *iso, unsigned char *utf, int len) +iso8859_1_to_utf(unsigned char *iso, unsigned char *utf, int len) { unsigned short c; @@ -1189,7 +1207,7 @@ latin1_to_utf(unsigned char *iso, unsigned char *utf, int len) * UTF-8 ---> ISO8859-1 */ static void -utf_to_latin1(unsigned char *utf, unsigned char *iso, int len) +utf_to_iso8859_1(unsigned char *utf, unsigned char *iso, int len) { unsigned short c, c1, @@ -1301,6 +1319,7 @@ utf_to_local(unsigned char *utf, unsigned char *iso, *iso = '\0'; } +#ifdef NOT_USED /* * UTF-8 ---> ISO8859-2 */ @@ -1333,10 +1352,11 @@ utf_to_latin4(unsigned char *utf, unsigned char *iso, int len) */ static void utf_to_latin5(unsigned char *utf, unsigned char *iso, int len) - { utf_to_local(utf, iso, ULmapISO8859_5, sizeof(ULmapISO8859_5) / sizeof(pg_utf_to_local), len); } +#endif /* NOT_USED */ + /* * Cyrillic charsets */ @@ -1436,6 +1456,7 @@ local_to_utf(unsigned char *iso, unsigned char *utf, *utf = '\0'; } +#ifdef NOT_USED /* * ISO-8859-2 ---> UTF-8 */ @@ -1471,6 +1492,33 @@ latin5_to_utf(unsigned char *iso, unsigned char *utf, int len) { local_to_utf(iso, utf, LUmapISO8859_5, sizeof(LUmapISO8859_5) / sizeof(pg_local_to_utf), PG_LATIN5, len); } +#endif /* NOT_USED */ + +#define UTF_ISO8859(_id_) \ +static void \ +utf_to_iso8859_##_id_(unsigned char *utf, unsigned char *iso, int len) \ +{ \ + utf_to_local(utf, iso, ULmapISO8859_##_id_, sizeof(ULmapISO8859_##_id_) / sizeof(pg_utf_to_local), len); \ +} \ +static void \ +iso8859_##_id_##_to_utf(unsigned char *iso, unsigned char *utf, int len) \ +{ \ + local_to_utf(iso, utf, LUmapISO8859_##_id_, sizeof(LUmapISO8859_##_id_) / sizeof(pg_local_to_utf), PG_LATIN1, len); \ +} + +UTF_ISO8859(2); +UTF_ISO8859(3); +UTF_ISO8859(4); +UTF_ISO8859(5); +UTF_ISO8859(6); +UTF_ISO8859(7); +UTF_ISO8859(8); +UTF_ISO8859(9); +UTF_ISO8859(10); +UTF_ISO8859(13); +UTF_ISO8859(14); +UTF_ISO8859(15); +UTF_ISO8859(16); /* * KOI8-R ---> UTF-8 @@ -1639,14 +1687,23 @@ pg_enconv pg_enconv_tbl[] = { PG_EUC_TW, euc_tw2mic, mic2euc_tw, euc_tw_to_utf, utf_to_euc_tw}, { PG_UTF8, 0, 0, 0, 0}, { PG_MULE_INTERNAL, 0, 0, 0, 0}, - { PG_LATIN1, latin12mic, mic2latin1, latin1_to_utf, utf_to_latin1}, - { PG_LATIN2, latin22mic, mic2latin2, latin2_to_utf, utf_to_latin2}, - { PG_LATIN3, latin32mic, mic2latin3, latin3_to_utf, utf_to_latin3}, - { PG_LATIN4, latin42mic, mic2latin4, latin4_to_utf, utf_to_latin4}, - { PG_LATIN5, iso2mic, mic2iso, latin5_to_utf, utf_to_latin5}, + { PG_LATIN1, latin12mic, mic2latin1, iso8859_1_to_utf, utf_to_iso8859_1}, + { PG_LATIN2, latin22mic, mic2latin2, iso8859_2_to_utf, utf_to_iso8859_2}, + { PG_LATIN3, latin32mic, mic2latin3, iso8859_3_to_utf, utf_to_iso8859_3}, + { PG_LATIN4, latin42mic, mic2latin4, iso8859_4_to_utf, utf_to_iso8859_4}, + { PG_LATIN5, iso2mic, mic2iso, iso8859_9_to_utf, utf_to_iso8859_9}, { PG_KOI8R, koi8r2mic, mic2koi8r, KOI8R_to_utf, utf_to_KOI8R}, { PG_WIN1251, win12512mic, mic2win1251, WIN1251_to_utf, utf_to_WIN1251}, { PG_ALT, alt2mic, mic2alt, ALT_to_utf, utf_to_ALT}, + { PG_ISO_8859_5, 0, 0, iso8859_5_to_utf, utf_to_iso8859_5}, + { PG_ISO_8859_6, 0, 0, iso8859_6_to_utf, utf_to_iso8859_6}, + { PG_ISO_8859_7, 0, 0, iso8859_7_to_utf, utf_to_iso8859_7}, + { PG_ISO_8859_8, 0, 0, iso8859_8_to_utf, utf_to_iso8859_8}, + { PG_ISO_8859_10, 0, 0, iso8859_10_to_utf, utf_to_iso8859_10}, + { PG_ISO_8859_13, 0, 0, iso8859_13_to_utf, utf_to_iso8859_13}, + { PG_ISO_8859_14, 0, 0, iso8859_14_to_utf, utf_to_iso8859_14}, + { PG_ISO_8859_15, 0, 0, iso8859_15_to_utf, utf_to_iso8859_15}, + { PG_ISO_8859_16, 0, 0, iso8859_16_to_utf, utf_to_iso8859_16}, { PG_SJIS, sjis2mic, mic2sjis, sjis_to_utf, utf_to_sjis}, { PG_BIG5, big52mic, mic2big5, big5_to_utf, utf_to_big5}, { PG_WIN1250, win12502mic, mic2win1250, 0, 0}, @@ -1671,6 +1728,15 @@ pg_enconv pg_enconv_tbl[] = { PG_KOI8R, koi8r2mic, mic2koi8r, 0, 0}, { PG_WIN1251, win12512mic, mic2win1251, 0, 0}, { PG_ALT, alt2mic, mic2alt, 0, 0}, + { PG_ISO_8859_5, 0, 0, 0, 0}, + { PG_ISO_8859_6, 0, 0, 0, 0}, + { PG_ISO_8859_7, 0, 0, 0, 0}, + { PG_ISO_8859_8, 0, 0, 0, 0}, + { PG_ISO_8859_10, 0, 0, 0, 0}, + { PG_ISO_8859_13, 0, 0, 0, 0}, + { PG_ISO_8859_14, 0, 0, 0, 0}, + { PG_ISO_8859_15, 0, 0, 0, 0}, + { PG_ISO_8859_16, 0, 0, 0, 0}, { PG_SJIS, sjis2mic, mic2sjis, 0, 0}, { PG_BIG5, big52mic, mic2big5, 0, 0}, { PG_WIN1250, win12502mic, mic2win1250, 0, 0}, diff --git a/src/backend/utils/mb/encnames.c b/src/backend/utils/mb/encnames.c index cb31379a501..51fc8bd61cb 100644 --- a/src/backend/utils/mb/encnames.c +++ b/src/backend/utils/mb/encnames.c @@ -2,7 +2,7 @@ * Encoding names and routines for work with it. All * in this file is shared bedween FE and BE. * - * $Id: encnames.c,v 1.2 2001/09/07 15:01:45 momjian Exp $ + * $Id: encnames.c,v 1.3 2001/10/11 14:20:35 ishii Exp $ */ #ifdef FRONTEND #include "postgres_fe.h" @@ -43,17 +43,30 @@ pg_encname pg_encname_tbl[] = { "euckr", PG_EUC_KR }, /* EUC-KR; RFC1557,Choi */ { "euctw", PG_EUC_TW }, /* EUC-TW; ??? */ { "iso88591", PG_LATIN1 }, /* ISO-8859-1; RFC1345,KXS2 */ + { "iso885910", PG_ISO_8859_10 }, /* ISO-8859-10; RFC1345,KXS2 */ + { "iso885913", PG_ISO_8859_13 }, /* ISO-8859-13; RFC1345,KXS2 */ + { "iso885914", PG_ISO_8859_14 }, /* ISO-8859-14; RFC1345,KXS2 */ + { "iso885915", PG_ISO_8859_15 }, /* ISO-8859-15; RFC1345,KXS2 */ + { "iso885916", PG_ISO_8859_16 }, /* ISO-8859-15; RFC1345,KXS2 */ { "iso88592", PG_LATIN2 }, /* ISO-8859-2; RFC1345,KXS2 */ { "iso88593", PG_LATIN3 }, /* ISO-8859-3; RFC1345,KXS2 */ { "iso88594", PG_LATIN4 }, /* ISO-8859-4; RFC1345,KXS2 */ - { "iso88595", PG_LATIN5 }, /* ISO-8859-5; RFC1345,KXS2 */ - { "koi8", PG_KOI8R }, /* _dirty_ alias for KOI8-R (back compatibility) */ + { "iso88595", PG_ISO_8859_5 }, /* ISO-8859-5; RFC1345,KXS2 */ + { "iso88596", PG_ISO_8859_6 }, /* ISO-8859-6; RFC1345,KXS2 */ + { "iso88597", PG_ISO_8859_7 }, /* ISO-8859-7; RFC1345,KXS2 */ + { "iso88598", PG_ISO_8859_8 }, /* ISO-8859-8; RFC1345,KXS2 */ + { "iso88599", PG_LATIN5 }, /* ISO-8859-9; RFC1345,KXS2 */ + { "koi8", PG_KOI8R }, /* _dirty_ alias for KOI8-R (backward compatibility) */ { "koi8r", PG_KOI8R }, /* KOI8-R; RFC1489 */ { "latin1", PG_LATIN1 }, /* alias for ISO-8859-1 */ { "latin2", PG_LATIN2 }, /* alias for ISO-8859-2 */ { "latin3", PG_LATIN3 }, /* alias for ISO-8859-3 */ { "latin4", PG_LATIN4 }, /* alias for ISO-8859-4 */ - { "latin5", PG_LATIN5 }, /* alias for ISO-8859-5 */ + { "latin5", PG_LATIN5 }, /* alias for ISO-8859-9 */ + { "latin6", PG_ISO_8859_10}, /* alias for ISO-8859-10 */ + { "latin7", PG_ISO_8859_13}, /* alias for ISO-8859-13 */ + { "latin8", PG_ISO_8859_14}, /* alias for ISO-8859-14 */ + { "latin9", PG_ISO_8859_15}, /* alias for ISO-8859-15 */ { "mskanji", PG_SJIS }, /* alias for Shift_JIS */ { "muleinternal",PG_MULE_INTERNAL }, { "shiftjis", PG_SJIS }, /* Shift_JIS; JIS X 0202-1991 */ @@ -61,7 +74,7 @@ pg_encname pg_encname_tbl[] = { "sqlascii", PG_SQL_ASCII }, { "unicode", PG_UTF8 }, /* alias for UTF-8 */ { "utf8", PG_UTF8 }, /* UTF-8; RFC2279 */ - { "win", PG_WIN1251 }, /* _dirty_ alias for windows-1251 (back compatibility) */ + { "win", PG_WIN1251 }, /* _dirty_ alias for windows-1251 (backward compatibility) */ { "win1250", PG_WIN1250 }, /* alias for Windows-1250 */ { "win1251", PG_WIN1251 }, /* alias for Windows-1251 */ { "windows1250",PG_WIN1250 }, /* Windows-1251; Microsoft */ @@ -94,6 +107,15 @@ pg_enc2name pg_enc2name_tbl[] = { "KOI8", PG_KOI8R }, { "WIN", PG_WIN1251 }, { "ALT", PG_ALT }, + { "ISO_8859_5", PG_ISO_8859_5 }, + { "ISO_8859_6", PG_ISO_8859_6 }, + { "ISO_8859_7", PG_ISO_8859_7 }, + { "ISO_8859_8", PG_ISO_8859_8 }, + { "ISO_8859_10", PG_ISO_8859_10 }, + { "ISO_8859_13", PG_ISO_8859_13 }, + { "ISO_8859_14", PG_ISO_8859_14 }, + { "ISO_8859_15", PG_ISO_8859_15 }, + { "ISO_8859_16", PG_ISO_8859_16 }, { "SJIS", PG_SJIS }, { "BIG5", PG_BIG5 }, { "WIN1250", PG_WIN1250 } diff --git a/src/backend/utils/mb/wchar.c b/src/backend/utils/mb/wchar.c index 445e0e503aa..e819d5ffeae 100644 --- a/src/backend/utils/mb/wchar.c +++ b/src/backend/utils/mb/wchar.c @@ -1,7 +1,7 @@ /* * conversion functions between pg_wchar and multi-byte streams. * Tatsuo Ishii - * $Id: wchar.c,v 1.22 2001/09/23 10:59:45 ishii Exp $ + * $Id: wchar.c,v 1.23 2001/10/11 14:20:35 ishii Exp $ * * WIN1250 client encoding updated by Pavel Behal * @@ -473,9 +473,18 @@ pg_wchar_tbl pg_wchar_table[] = { {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 12; PG_KOI8 */ {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 13; PG_WIN1251 */ {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 14; PG_ALT */ - {0, pg_sjis_mblen, 2}, /* 15; PG_SJIS */ - {0, pg_big5_mblen, 2}, /* 17; PG_BIG5 */ - {pg_latin12wchar_with_len, pg_latin1_mblen, 1} /* 18; PG_WIN1250 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 15; ISO-8859-5 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 16; ISO-8859-6 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 17; ISO-8859-7 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 18; ISO-8859-8 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 19; ISO-8859-10 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 20; ISO-8859-13 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 21; ISO-8859-14 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 22; ISO-8859-15 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1}, /* 23; ISO-8859-16 */ + {0, pg_sjis_mblen, 2}, /* 24; PG_SJIS */ + {0, pg_big5_mblen, 2}, /* 25; PG_BIG5 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, 1} /* 26; PG_WIN1250 */ }; /* returns the byte length of a word for mule internal code */ diff --git a/src/include/mb/pg_wchar.h b/src/include/mb/pg_wchar.h index eb8bf54e646..38d06661d5e 100644 --- a/src/include/mb/pg_wchar.h +++ b/src/include/mb/pg_wchar.h @@ -1,4 +1,4 @@ -/* $Id: pg_wchar.h,v 1.32 2001/09/23 10:59:45 ishii Exp $ */ +/* $Id: pg_wchar.h,v 1.33 2001/10/11 14:20:35 ishii Exp $ */ #ifndef PG_WCHAR_H #define PG_WCHAR_H @@ -28,36 +28,114 @@ typedef unsigned int pg_wchar; #define SS3 0x8f /* single shift 3 (JIS0212) */ /* - * various definitions for mule internal code + * Leading byte types or leading prefix byte for MULE internal code. + * See http://www.xemacs.org for more details. (there is a doc titled + * "XEmacs Internals Manual", "MULE Character Sets and Encodings" + * section. + */ +/* + * Is a leading byte for "official" single byte encodings? + */ +#define IS_LC1(c) ((unsigned char)(c) >= 0x81 && (unsigned char)(c) <= 0x8d) +/* + * Is a prefix byte for "private" single byte encodings? */ -#define IS_LC1(c) ((unsigned char)(c) >= 0x81 && (unsigned char)(c) <= 0x8f) #define IS_LCPRV1(c) ((unsigned char)(c) == 0x9a || (unsigned char)(c) == 0x9b) +/* + * Is a leading byte for "official" multi byte encodings? + */ #define IS_LC2(c) ((unsigned char)(c) >= 0x90 && (unsigned char)(c) <= 0x99) +/* + * Is a prefix byte for "private" multi byte encodings? + */ #define IS_LCPRV2(c) ((unsigned char)(c) == 0x9c || (unsigned char)(c) == 0x9d) -/* +/*---------------------------------------------------- * leading characters + *---------------------------------------------------- + */ + +/* + * Official single byte encodings (0x81-0x8e) */ #define LC_ISO8859_1 0x81 /* ISO8859 Latin 1 */ #define LC_ISO8859_2 0x82 /* ISO8859 Latin 2 */ #define LC_ISO8859_3 0x83 /* ISO8859 Latin 3 */ #define LC_ISO8859_4 0x84 /* ISO8859 Latin 4 */ -#define LC_ISO8859_5 0x8d /* ISO8859 Latin 5 */ +#define LC_TIS620 0x85 /* Thai (not supported yet) */ +#define LC_ISO8859_7 0x86 /* Greek (not supported yet) */ +#define LC_ISO8859_6 0x87 /* Arabic (not supported yet) */ +#define LC_ISO8859_8 0x88 /* Hebrew (not supported yet) */ #define LC_JISX0201K 0x89 /* Japanese 1 byte kana */ #define LC_JISX0201R 0x8a /* Japanese 1 byte Roman */ -#define LC_KOI8_R 0x8c /* Cyrillic KOI8-R */ -#define LC_KOI8_U 0x8c /* Cyrillic KOI8-U */ +/* Note that 0x8b seems to be unused in as of Emacs 20.7. + * However, there might be a chance that 0x8b could be used + * in later version of Emacs. + */ +#define LC_KOI8_R 0x8b /* Cyrillic KOI8-R */ +#define LC_KOI8_U 0x8b /* Cyrillic KOI8-U */ +#define LC_ISO8859_5 0x8c /* ISO8859 Cyrillic */ +#define LC_ISO8859_9 0x8d /* ISO8859 Latin 5 (not supported yet) */ +/* #define FREE 0x8e free (unused) */ + +/* + * Unused + */ +#define CONTROL_1 0x8f /* control characters (unused) */ + +/* + * Official multibyte byte encodings (0x90-0x99) + * 0x9a-0x9d are free. 0x9e and 0x9f are reserved. + */ +#define LC_JISX0208_1978 0x90 /* Japanese Kanji, old JIS (not supported) */ +/* #define FREE 0x90 free (unused) */ #define LC_GB2312_80 0x91 /* Chinese */ -#define LC_JISX0208 0x92 /* Japanese Kanji */ +#define LC_JISX0208 0x92 /* Japanese Kanji (JIS X 0208) */ #define LC_KS5601 0x93 /* Korean */ -#define LC_JISX0212 0x94 /* Japanese Kanji (JISX0212) */ +#define LC_JISX0212 0x94 /* Japanese Kanji (JIS X 0212) */ #define LC_CNS11643_1 0x95 /* CNS 11643-1992 Plane 1 */ #define LC_CNS11643_2 0x96 /* CNS 11643-1992 Plane 2 */ +/* #define FREE 0x97 free (unused) */ +#define LC_BIG5_1 0x98 /* Plane 1 Chinese traditional (not supported) */ +#define LC_BIG5_2 0x99 /* Plane 1 Chinese traditional (not supported) */ + +/* + * Private single byte encodings (0xa0-0xef) + */ +#define LC_SISHENG 0xa0 /* Chinese SiSheng characters for PinYin/ZhuYin + (not supported) */ +#define LC_IPA 0xa1 /* IPA (International Phonetic Association) + (not supported) */ +#define LC_VISCII_LOWER 0xa2 /* Vietnamese VISCII1.1 lower-case (not supported) */ +#define LC_VISCII_UPPER 0xa3 /* Vietnamese VISCII1.1 upper-case (not supported) */ +#define LC_ARABIC_DIGIT 0xa4 /* Arabic digit (not supported) */ +#define LC_ARABIC_1_COLUMN 0xa5 /* Arabic 1-column (not supported) */ +#define LC_ASCII_RIGHT_TO_LEFT 0xa6 /* ASCII (left half of ISO8859-1) + with right-to-left direction + (not supported) */ +#define LC_LAO 0xa7 /* Lao characters (ISO10646 0E80..0EDF) + (not supported) */ +#define LC_ARABIC_2_COLUMN 0xa8 /* Arabic 1-column (not supported) */ + +/* + * Private multi byte encodings (0xf0-0xff) + */ +#define LC_INDIAN_1_COLUMN 0xf0 /* Indian charset for 1-column + width glypps (not supported) */ +#define LC_TIBETAN_1_COLUMN 0xf1 /* Tibetan 1 column glyph + (not supported) */ +#define LC_ETHIOPIC 0xf5 /* Ethiopic characters (not supported) */ #define LC_CNS11643_3 0xf6 /* CNS 11643-1992 Plane 3 */ #define LC_CNS11643_4 0xf7 /* CNS 11643-1992 Plane 4 */ #define LC_CNS11643_5 0xf8 /* CNS 11643-1992 Plane 5 */ #define LC_CNS11643_6 0xf9 /* CNS 11643-1992 Plane 6 */ #define LC_CNS11643_7 0xfa /* CNS 11643-1992 Plane 7 */ +#define LC_INDIAN_2_COLUMN 0xfb /* Indian charset for 2-column + width glypps (not supported) */ +#define LC_TIBETAN 0xfc /* Tibetan (not supported) */ +/* #define FREE 0xfd free (unused) */ +/* #define FREE 0xfe free (unused) */ +/* #define FREE 0xff free (unused) */ /* * Encoding numeral identificators @@ -83,10 +161,19 @@ typedef enum pg_enc PG_LATIN2, /* ISO-8859 Latin 2 */ PG_LATIN3, /* ISO-8859 Latin 3 */ PG_LATIN4, /* ISO-8859 Latin 4 */ - PG_LATIN5, /* ISO-8859 Latin 5 */ + PG_LATIN5, /* ISO-8859-9 Latin 5 */ PG_KOI8R, /* KOI8-R */ PG_WIN1251, /* windows-1251 (was: WIN) */ PG_ALT, /* (MS-DOS CP866) */ + PG_ISO_8859_5, /* ISO-8859-5 */ + PG_ISO_8859_6, /* ISO-8859-6 */ + PG_ISO_8859_7, /* ISO-8859-7 */ + PG_ISO_8859_8, /* ISO-8859-8 */ + PG_ISO_8859_10, /* ISO-8859-10 Latin6 */ + PG_ISO_8859_13, /* ISO-8859-13 Latin7 */ + PG_ISO_8859_14, /* ISO-8859-14 Latin8 */ + PG_ISO_8859_15, /* ISO-8859-15 Latin9 */ + PG_ISO_8859_16, /* ISO-8859-16 */ /* followings are for client encoding only */ PG_SJIS, /* Shift JIS */ @@ -97,7 +184,7 @@ typedef enum pg_enc } pg_enc; -#define PG_ENCODING_BE_LAST PG_ALT +#define PG_ENCODING_BE_LAST PG_ISO_8859_16 #define PG_ENCODING_FE_LAST PG_WIN1250 |