8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 18:03:02 +01:00

New charsets (....)

This commit is contained in:
brodsom 2003-01-25 03:12:46 +00:00
parent fa5aacb08c
commit 03a2badde5
6 changed files with 155 additions and 74 deletions

View File

@ -24,7 +24,7 @@
* *
*/ */
/* /*
$Id: restore.epp,v 1.18 2002-12-29 01:45:24 nmcc Exp $ $Id: restore.epp,v 1.19 2003-01-25 03:12:46 brodsom Exp $
*/ */
#include "firebird.h" #include "firebird.h"
@ -99,21 +99,21 @@ static CONST struct s_t_cvtbl {
{160, CS_DOS_850, 0}, /* codepoint collation */ {160, CS_DOS_850, 0}, /* codepoint collation */
{107, CS_DOS_865, 0}, /* codepoint collation */ {107, CS_DOS_865, 0}, /* codepoint collation */
{105, CS_DOS_865, 1}, /* PDOX_NORDAN4 */ {105, CS_DOS_865, 1}, /* PDOX_NORDAN4 */
{139, CS_LATIN1, 1}, /* DA_DA */ {139, CS_ISO8859_1, 1}, /* DA_DA */
{140, CS_LATIN1, 2}, /* DU_NL */ {140, CS_ISO8859_1, 2}, /* DU_NL */
{141, CS_LATIN1, 3}, /* FI_FI */ {141, CS_ISO8859_1, 3}, /* FI_FI */
{142, CS_LATIN1, 4}, /* FR_FR */ {142, CS_ISO8859_1, 4}, /* FR_FR */
{143, CS_LATIN1, 5}, /* FR_CA */ {143, CS_ISO8859_1, 5}, /* FR_CA */
{144, CS_LATIN1, 6}, /* DE_DE */ {144, CS_ISO8859_1, 6}, /* DE_DE */
{145, CS_LATIN1, 7}, /* IS_IS */ {145, CS_ISO8859_1, 7}, /* IS_IS */
{146, CS_LATIN1, 8}, /* IT_IT */ {146, CS_ISO8859_1, 8}, /* IT_IT */
{148, CS_LATIN1, 9}, /* NO_NO */ {148, CS_ISO8859_1, 9}, /* NO_NO */
{149, CS_LATIN1, 10}, /* ES_ES */ {149, CS_ISO8859_1, 10}, /* ES_ES */
{151, CS_LATIN1, 11}, /* SV_SV */ {151, CS_ISO8859_1, 11}, /* SV_SV */
{152, CS_LATIN1, 12}, /* EN_UK */ {152, CS_ISO8859_1, 12}, /* EN_UK */
{153, CS_LATIN1, 14}, /* EN_US */ {153, CS_ISO8859_1, 14}, /* EN_US */
{154, CS_LATIN1, 15}, /* PT_PT */ {154, CS_ISO8859_1, 15}, /* PT_PT */
{160, CS_LATIN2, 1}, /* CS_CZ */ {160, CS_ISO8859_2, 1}, /* CS_CZ */
{180, CS_NEXT, 1}, /* NXT_US */ {180, CS_NEXT, 1}, /* NXT_US */
{181, CS_NEXT, 2}, /* NXT_GERMANY */ {181, CS_NEXT, 2}, /* NXT_GERMANY */
{182, CS_NEXT, 3}, /* NXT_FRANCE */ {182, CS_NEXT, 3}, /* NXT_FRANCE */

View File

@ -725,11 +725,11 @@ STATUS filter_transliterate_text(USHORT action, CTL control)
if (action == ACTION_open) { if (action == ACTION_open) {
aux->ctlaux_obj1 = aux->ctlaux_obj1 =
INTL_convert_lookup(tdbb, dest_cs, CS_UNICODE101); INTL_convert_lookup(tdbb, dest_cs, CS_UNICODE_UCS2);
} }
else { else {
aux->ctlaux_obj1 = aux->ctlaux_obj1 =
INTL_convert_lookup(tdbb, CS_UNICODE101, source_cs); INTL_convert_lookup(tdbb, CS_UNICODE_UCS2, source_cs);
} }
if (!aux->ctlaux_obj1) { if (!aux->ctlaux_obj1) {
@ -754,12 +754,12 @@ STATUS filter_transliterate_text(USHORT action, CTL control)
source = control->ctl_source_handle; source = control->ctl_source_handle;
if (action == ACTION_open) { if (action == ACTION_open) {
control->ctl_from_sub_type = CS_UNICODE101; control->ctl_from_sub_type = CS_UNICODE_UCS2;
aux->ctlaux_subfilter->ctl_to_sub_type = CS_UNICODE101; aux->ctlaux_subfilter->ctl_to_sub_type = CS_UNICODE_UCS2;
} }
else { else {
control->ctl_to_sub_type = CS_UNICODE101; control->ctl_to_sub_type = CS_UNICODE_UCS2;
aux->ctlaux_subfilter->ctl_from_sub_type = CS_UNICODE101; aux->ctlaux_subfilter->ctl_from_sub_type = CS_UNICODE_UCS2;
} }

View File

@ -536,7 +536,7 @@ CHARSET_ID src_type, BYTE * src_ptr, USHORT src_len, FPTR_VOID err)
if (err_code && if (err_code &&
!((err_code == CS_TRUNCATION_ERROR) && !((err_code == CS_TRUNCATION_ERROR) &&
all_spaces(tdbb, CS_UNICODE101, tmp_buffer, len, err_position))) { all_spaces(tdbb, CS_UNICODE_UCS2, tmp_buffer, len, err_position))) {
delete [] tmp_buffer; delete [] tmp_buffer;
if (err_code == CS_TRUNCATION_ERROR) if (err_code == CS_TRUNCATION_ERROR)
reinterpret_cast < void (*) (...) > (*err) (gds_arith_except, reinterpret_cast < void (*) (...) > (*err) (gds_arith_except,
@ -594,10 +594,10 @@ CsConvert* DLL_EXPORT INTL_convert_lookup(TDBB tdbb,
if (charset->findConverter(to_cs, &converter)) if (charset->findConverter(to_cs, &converter))
return converter; return converter;
if (to_cs == CS_UNICODE101) { if (to_cs == CS_UNICODE_UCS2) {
converter = charset->getCharSet()->getConvToUnicode(); converter = charset->getCharSet()->getConvToUnicode();
} }
else if (from_cs == CS_UNICODE101) { else if (from_cs == CS_UNICODE_UCS2) {
CharSet* charset2; CharSet* charset2;
charset2 = INTL_charset_lookup(tdbb, to_cs, NULL); charset2 = INTL_charset_lookup(tdbb, to_cs, NULL);
if (charset2 == NULL) if (charset2 == NULL)

View File

@ -37,7 +37,7 @@
* *
* NATIONAL_CHARACTER_SET is used for SQL's NATIONAL character type. * NATIONAL_CHARACTER_SET is used for SQL's NATIONAL character type.
*/ */
#define DEFAULT_CHARACTER_SET_NAME "ISO_8859_1" #define DEFAULT_CHARACTER_SET_NAME "ISO8859_1"
#define NATIONAL_CHARACTER_SET DEFAULT_CHARACTER_SET_NAME #define NATIONAL_CHARACTER_SET DEFAULT_CHARACTER_SET_NAME
#define DEFAULT_DB_CHARACTER_SET_NAME "NONE" #define DEFAULT_DB_CHARACTER_SET_NAME "NONE"

View File

@ -250,7 +250,7 @@ class CsConvert_None_Unicode : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_None_Unicode; } { return FB_NEW(p) CsConvert_None_Unicode; }
CsConvert_None_Unicode() : CsConvert(0, "DIRECT", CS_NONE, CS_UNICODE101) CsConvert_None_Unicode() : CsConvert(0, "DIRECT", CS_NONE, CS_UNICODE_UCS2)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -265,7 +265,7 @@ class CsConvert_Unicode_None : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_Unicode_None; } { return FB_NEW(p) CsConvert_Unicode_None; }
CsConvert_Unicode_None() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_NONE) CsConvert_Unicode_None() : CsConvert(0, "DIRECT", CS_UNICODE_UCS2, CS_NONE)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -280,7 +280,7 @@ class CsConvert_ASCII_Unicode : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_ASCII_Unicode; } { return FB_NEW(p) CsConvert_ASCII_Unicode; }
CsConvert_ASCII_Unicode() : CsConvert(0, "DIRECT", CS_ASCII, CS_UNICODE101) CsConvert_ASCII_Unicode() : CsConvert(0, "DIRECT", CS_ASCII, CS_UNICODE_UCS2)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -295,7 +295,7 @@ class CsConvert_Unicode_ASCII : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_Unicode_ASCII; } { return FB_NEW(p) CsConvert_Unicode_ASCII; }
CsConvert_Unicode_ASCII() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_ASCII) CsConvert_Unicode_ASCII() : CsConvert(0, "DIRECT", CS_UNICODE_UCS2, CS_ASCII)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -310,7 +310,7 @@ class CsConvert_UFSS_Unicode : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_UFSS_Unicode; } { return FB_NEW(p) CsConvert_UFSS_Unicode; }
CsConvert_UFSS_Unicode() : CsConvert(0, "DIRECT", CS_UNICODE_FSS, CS_UNICODE101) CsConvert_UFSS_Unicode() : CsConvert(0, "DIRECT", CS_UNICODE_FSS, CS_UNICODE_UCS2)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -325,7 +325,7 @@ class CsConvert_Unicode_UFSS : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_Unicode_UFSS; } { return FB_NEW(p) CsConvert_Unicode_UFSS; }
CsConvert_Unicode_UFSS() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_UNICODE_FSS) CsConvert_Unicode_UFSS() : CsConvert(0, "DIRECT", CS_UNICODE_UCS2, CS_UNICODE_FSS)
{} {}
unsigned short convert(unsigned char *a, unsigned short convert(unsigned char *a,
unsigned short b, unsigned short b,
@ -341,7 +341,7 @@ class CsConvert_Binary_Unicode : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_Binary_Unicode; } { return FB_NEW(p) CsConvert_Binary_Unicode; }
CsConvert_Binary_Unicode() : CsConvert(0, "DIRECT", CS_BINARY, CS_UNICODE101) CsConvert_Binary_Unicode() : CsConvert(0, "DIRECT", CS_BINARY, CS_UNICODE_UCS2)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -356,7 +356,7 @@ class CsConvert_Unicode_Binary : public CsConvert
public: public:
static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2) static CsConvert *object_factory(MemoryPool& p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CsConvert_Unicode_Binary; } { return FB_NEW(p) CsConvert_Unicode_Binary; }
CsConvert_Unicode_Binary() : CsConvert(0, "DIRECT", CS_UNICODE101, CS_BINARY) CsConvert_Unicode_Binary() : CsConvert(0, "DIRECT", CS_UNICODE_UCS2, CS_BINARY)
{} {}
unsigned short convert(unsigned char*, unsigned short convert(unsigned char*,
unsigned short, unsigned short,
@ -407,7 +407,7 @@ class CharSet_Unicode : public CharSet
public: public:
static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2) static CharSet *object_factory(MemoryPool &p, CHARSET_ID u1, CHARSET_ID u2)
{ return FB_NEW(p) CharSet_Unicode(p); } { return FB_NEW(p) CharSet_Unicode(p); }
CharSet_Unicode(MemoryPool &p) : CharSet(CS_UNICODE101, "UNICODE101", 2, 2, 2, 0) CharSet_Unicode(MemoryPool &p) : CharSet(CS_UNICODE_UCS2, "UNICODE_UCS2", 2, 2, 2, 0)
{ {
static CONST WCHAR space = 0x0020; static CONST WCHAR space = 0x0020;
charset_space_character = (const char *) & space; /* 0x0020 */ charset_space_character = (const char *) & space; /* 0x0020 */
@ -1248,7 +1248,7 @@ CharSetAllocFunc INTL_charset_alloc_func(short charset)
return CharSet_ASCII::object_factory; return CharSet_ASCII::object_factory;
case CS_UNICODE_FSS: case CS_UNICODE_FSS:
return CharSet_Unicode_FSS::object_factory; return CharSet_Unicode_FSS::object_factory;
case CS_UNICODE101: case CS_UNICODE_UCS2:
return CharSet_Unicode::object_factory; return CharSet_Unicode::object_factory;
case CS_BINARY: case CS_BINARY:
return CharSet_Binary::object_factory; return CharSet_Binary::object_factory;
@ -1454,9 +1454,9 @@ static USHORT cs_ascii_init(CHARSET csptr, USHORT cs_id, USHORT dummy)
************************************* *************************************
common_8bit_init(csptr, CS_ASCII, (ASCII *) "ASCII", NULL, NULL, NULL); common_8bit_init(csptr, CS_ASCII, (ASCII *) "ASCII", NULL, NULL, NULL);
common_convert_init(&csptr->charset_to_unicode, CS_UNICODE101, CS_ASCII, common_convert_init(&csptr->charset_to_unicode, CS_UNICODE_UCS2, CS_ASCII,
(FPTR_SHORT) cvt_ascii_to_unicode, NULL, NULL); (FPTR_SHORT) cvt_ascii_to_unicode, NULL, NULL);
common_convert_init(&csptr->charset_from_unicode, CS_ASCII, CS_UNICODE101, common_convert_init(&csptr->charset_from_unicode, CS_ASCII, CS_UNICODE_UCS2,
(FPTR_SHORT) cvt_unicode_to_ascii, NULL, NULL); (FPTR_SHORT) cvt_unicode_to_ascii, NULL, NULL);
CHARSET_RETURN; CHARSET_RETURN;
} }
@ -1476,12 +1476,12 @@ static USHORT cs_none_init(CHARSET csptr, USHORT cs_id, USHORT dummy)
common_8bit_init(csptr, CS_NONE, (ASCII *) "NONE", NULL, NULL, NULL); common_8bit_init(csptr, CS_NONE, (ASCII *) "NONE", NULL, NULL, NULL);
/* /*
common_convert_init (&csptr->charset_to_unicode, CS_UNICODE101, id, common_convert_init (&csptr->charset_to_unicode, CS_UNICODE_UCS2, id,
nc_to_wc, to_unicode_tbl, NULL); nc_to_wc, to_unicode_tbl, NULL);
* *
common_convert_init(&csptr->charset_to_unicode, CS_UNICODE101, CS_NONE, common_convert_init(&csptr->charset_to_unicode, CS_UNICODE_UCS2, CS_NONE,
(FPTR_SHORT) cvt_none_to_unicode, NULL, NULL); (FPTR_SHORT) cvt_none_to_unicode, NULL, NULL);
common_convert_init(&csptr->charset_from_unicode, CS_NONE, CS_UNICODE101, common_convert_init(&csptr->charset_from_unicode, CS_NONE, CS_UNICODE_UCS2,
(FPTR_SHORT) wc_to_nc, NULL, NULL); (FPTR_SHORT) wc_to_nc, NULL, NULL);
CHARSET_RETURN; CHARSET_RETURN;
} }
@ -1501,17 +1501,17 @@ static USHORT cs_unicode_fss_init(CHARSET csptr, USHORT cs_id, USHORT dummy)
common_8bit_init(csptr, CS_UNICODE_FSS, (ASCII *) "UNICODE_FSS", NULL, common_8bit_init(csptr, CS_UNICODE_FSS, (ASCII *) "UNICODE_FSS", NULL,
NULL, NULL); NULL, NULL);
common_convert_init(&csptr->charset_to_unicode, CS_UNICODE101, common_convert_init(&csptr->charset_to_unicode, CS_UNICODE_UCS2,
CS_UNICODE_FSS, (FPTR_SHORT) INTL_fss_to_unicode, CS_UNICODE_FSS, (FPTR_SHORT) INTL_fss_to_unicode,
NULL, NULL); NULL, NULL);
common_convert_init(&csptr->charset_from_unicode, CS_UNICODE_FSS, common_convert_init(&csptr->charset_from_unicode, CS_UNICODE_FSS,
CS_UNICODE101, (FPTR_SHORT) INTL_unicode_to_fss, NULL, CS_UNICODE_UCS2, (FPTR_SHORT) INTL_unicode_to_fss, NULL,
NULL); NULL);
CHARSET_RETURN; CHARSET_RETURN;
} }
static USHORT cs_unicode_init(CHARSET csptr, USHORT cs_id, USHORT dummy) static USHORT cs_unicode_ucs2_init(CHARSET csptr, USHORT cs_id, USHORT dummy)
{ {
/************************************** /**************************************
* *
@ -1525,8 +1525,8 @@ static USHORT cs_unicode_init(CHARSET csptr, USHORT cs_id, USHORT dummy)
static CONST WCHAR space = 0x0020; static CONST WCHAR space = 0x0020;
csptr->charset_version = 40; csptr->charset_version = 40;
csptr->charset_id = CS_UNICODE101; csptr->charset_id = CS_UNICODE;
csptr->charset_name = ( /*CONST* ASCII *) "UNICODE101"; csptr->charset_name = ( /*CONST* ASCII *) "UNICODE_UCS2";
csptr->charset_flags = 0; csptr->charset_flags = 0;
csptr->charset_min_bytes_per_char = 2; csptr->charset_min_bytes_per_char = 2;
csptr->charset_max_bytes_per_char = 2; csptr->charset_max_bytes_per_char = 2;
@ -1551,10 +1551,10 @@ static USHORT cs_binary_init(CHARSET csptr, USHORT cs_id, USHORT dummy)
common_8bit_init(csptr, CS_BINARY, (ASCII *) "BINARY", NULL, NULL, NULL); common_8bit_init(csptr, CS_BINARY, (ASCII *) "BINARY", NULL, NULL, NULL);
csptr->charset_space_character = (BYTE *) "\0"; csptr->charset_space_character = (BYTE *) "\0";
common_convert_init(&csptr->charset_to_unicode, CS_UNICODE101, CS_BINARY, common_convert_init(&csptr->charset_to_unicode, CS_UNICODE_UCS2, CS_BINARY,
(FPTR_SHORT) mb_to_wc, NULL, NULL); (FPTR_SHORT) mb_to_wc, NULL, NULL);
common_convert_init(&csptr->charset_from_unicode, CS_BINARY, common_convert_init(&csptr->charset_from_unicode, CS_BINARY,
CS_UNICODE101, (FPTR_SHORT) wc_to_mb, NULL, NULL); CS_UNICODE_UCS2, (FPTR_SHORT) wc_to_mb, NULL, NULL);
CHARSET_RETURN; CHARSET_RETURN;
} }

View File

@ -114,47 +114,96 @@ CSALIAS("DOS_437", CS_DOS_437)
COLLATION("DB_DAN865", CC_DENMARK, CS_DOS_865, 2, DOS107_c2_init) COLLATION("DB_DAN865", CC_DENMARK, CS_DOS_865, 2, DOS107_c2_init)
COLLATION("DB_NOR865", CC_NORWAY, CS_DOS_865, 3, DOS107_c3_init) COLLATION("DB_NOR865", CC_NORWAY, CS_DOS_865, 3, DOS107_c3_init)
END_CHARSET END_CHARSET
CHARSET("ISO8859_1", CS_LATIN1, 0, 1, 256, CS_iso_latin1, LATIN1_cp_init)
CSALIAS("ISO_8859_1", CS_LATIN1) CHARSET("ISO8859_1", CS_ISO8859_1, 0, 1, 256, CS_iso_ISO8859_1, ISO88591_cp_init)
CSALIAS("ISO88591", CS_LATIN1) CSALIAS("ISO8859_1", CS_ISO8859_1)
CSALIAS("LATIN1", CS_LATIN1) CSALIAS("ISO88591", CS_ISO8859_1)
CSALIAS("ANSI", CS_LATIN1) CSALIAS("LATIN1", CS_ISO8859_1)
CSALIAS("ANSI", CS_ISO8859_1)
/* V3 SUB_TYPE 139 */ /* V3 SUB_TYPE 139 */
COLLATION("DA_DA", CC_DENMARK, CS_LATIN1, 1, LAT139_init) COLLATION("DA_DA", CC_DENMARK, CS_ISO8859_1, 1, ISO88591_39_init)
/* V3 SUB_TYPE 140 */ /* V3 SUB_TYPE 140 */
COLLATION("DU_NL", CC_NEDERLANDS, CS_LATIN1, 2, LAT140_init) COLLATION("DU_NL", CC_NEDERLANDS, CS_ISO8859_1, 2, ISO88591_40_init)
/* V3 SUB_TYPE 141 */ /* V3 SUB_TYPE 141 */
COLLATION("FI_FI", CC_FINLAND, CS_LATIN1, 3, LAT141_init) COLLATION("FI_FI", CC_FINLAND, CS_ISO8859_1, 3, ISO88591_41_init)
/* V3 SUB_TYPE 142 */ /* V3 SUB_TYPE 142 */
COLLATION("FR_FR", CC_FRANCE, CS_LATIN1, 4, LAT142_init) COLLATION("FR_FR", CC_FRANCE, CS_ISO8859_1, 4, ISO88591_42_init)
/* V3 SUB_TYPE 143 */ /* V3 SUB_TYPE 143 */
COLLATION("FR_CA", CC_FRENCHCAN, CS_LATIN1, 5, LAT143_init) COLLATION("FR_CA", CC_FRENCHCAN, CS_ISO8859_1, 5, ISO88591_43_init)
/* V3 SUB_TYPE 144 */ /* V3 SUB_TYPE 144 */
COLLATION("DE_DE", CC_GERMANY, CS_LATIN1, 6, LAT144_init) COLLATION("DE_DE", CC_GERMANY, CS_ISO8859_1, 6, ISO88591_44_init)
/* V3 SUB_TYPE 145 */ /* V3 SUB_TYPE 145 */
COLLATION("IS_IS", CC_ICELAND, CS_LATIN1, 7, LAT145_init) COLLATION("IS_IS", CC_ICELAND, CS_ISO8859_1, 7, ISO88591_45_init)
/* V3 SUB_TYPE 146 */ /* V3 SUB_TYPE 146 */
COLLATION("IT_IT", CC_ITALY, CS_LATIN1, 8, LAT146_init) COLLATION("IT_IT", CC_ITALY, CS_ISO8859_1, 8, ISO88591_46_init)
/* V3 SUB_TYPE 148 */ /* V3 SUB_TYPE 148 */
COLLATION("NO_NO", CC_NORWAY, CS_LATIN1, 9, LAT148_init) COLLATION("NO_NO", CC_NORWAY, CS_ISO8859_1, 9, ISO88591_48_init)
/* V3 SUB_TYPE 149 */ /* V3 SUB_TYPE 149 */
COLLATION("ES_ES", CC_SPAIN, CS_LATIN1, 10, LAT149_init) COLLATION("ES_ES", CC_SPAIN, CS_ISO8859_1, 10, ISO88591_49_init)
/* V3 SUB_TYPE 151 */ /* V3 SUB_TYPE 151 */
COLLATION("SV_SV", CC_SWEDEN, CS_LATIN1, 11, LAT151_init) COLLATION("SV_SV", CC_SWEDEN, CS_ISO8859_1, 11, ISO88591_51_init)
/* V3 SUB_TYPE 152 */ /* V3 SUB_TYPE 152 */
COLLATION("EN_UK", CC_UK, CS_LATIN1, 12, LAT152_init) COLLATION("EN_UK", CC_UK, CS_ISO8859_1, 12, ISO88591_52_init)
/* V3 SUB_TYPE 153 */ /* V3 SUB_TYPE 153 */
COLLATION("EN_US", CC_US, CS_LATIN1, 14, LAT153_init) COLLATION("EN_US", CC_US, CS_ISO8859_1, 14, ISO88591_53_init)
/* V3 SUB_TYPE 154 */ /* V3 SUB_TYPE 154 */
COLLATION("PT_PT", CC_PORTUGAL, CS_LATIN1, 15, LAT154_init) COLLATION("PT_PT", CC_PORTUGAL, CS_ISO8859_1, 15, ISO88591_54_init)
END_CHARSET END_CHARSET
CHARSET("ISO8859_2", CS_LATIN2, 0, 1, 256, CS_iso_latin2, LATIN2_cp_init) CHARSET("ISO8859_2", CS_ISO8859_2, 0, 1, 256, CS_iso_ISO8859_2, ISO88592_cp_init)
CSALIAS("ISO_8859_2", CS_LATIN2) CSALIAS("ISO8859_2", CS_ISO8859_2)
CSALIAS("ISO88592", CS_LATIN2) CSALIAS("ISO88592", CS_ISO8859_2)
CSALIAS("LATIN2", CS_LATIN2) CSALIAS("LATIN2", CS_ISO8859_2)
CSALIAS("ISO-8859-2", CS_LATIN2) /* Prefered MIME name */ CSALIAS("ISO-8859-2", CS_ISO8859_2) /* Prefered MIME name */
/* Czech national collation */ /* Czech national collation */
COLLATION("CS_CZ", CC_CZECH, CS_LATIN2, 1, ISO88592_c1_init) COLLATION("CS_CZ", CC_CZECH, CS_ISO8859_2, 1, ISO88592_c1_init)
END_CHARSET
CHARSET("ISO8859_3", CS_ISO8859_3, 0, 1, 256, CS_iso_ISO8859_3, ISO88593_cp_init)
CSALIAS("ISO8859_3", CS_ISO8859_3)
CSALIAS("ISO88593", CS_ISO8859_3)
CSALIAS("LATIN3", CS_ISO8859_3)
CSALIAS("ISO-8859-3", CS_ISO8859_3) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_4", CS_ISO8859_4, 0, 1, 256, CS_iso_ISO8859_4, ISO88594_cp_init)
CSALIAS("ISO8859_4", CS_ISO8859_4)
CSALIAS("ISO88594", CS_ISO8859_4)
CSALIAS("LATIN4", CS_ISO8859_4)
CSALIAS("ISO-8859-4", CS_ISO8859_4) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_5", CS_ISO8859_5, 0, 1, 256, CS_iso_ISO8859_5, ISO88595_cp_init)
CSALIAS("ISO8859_5", CS_ISO8859_5)
CSALIAS("ISO88595", CS_ISO8859_5)
CSALIAS("LATIN5", CS_ISO8859_5)
CSALIAS("ISO-8859-5", CS_ISO8859_5) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_6", CS_ISO8859_6, 0, 1, 256, CS_iso_ISO8859_6, ISO88596_cp_init)
CSALIAS("ISO8859_6", CS_ISO8859_6)
CSALIAS("ISO88596", CS_ISO8859_6)
CSALIAS("LATIN6", CS_ISO8859_6)
CSALIAS("ISO-8859-6", CS_ISO8859_6) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_7", CS_ISO8859_7, 0, 1, 256, CS_iso_ISO8859_7, ISO88597_cp_init)
CSALIAS("ISO8859_7", CS_ISO8859_7)
CSALIAS("ISO88597", CS_ISO8859_7)
CSALIAS("LATIN7", CS_ISO8859_7)
CSALIAS("ISO-8859-7", CS_ISO8859_7) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_8", CS_ISO8859_8, 0, 1, 256, CS_iso_ISO8859_8, ISO88598_cp_init)
CSALIAS("ISO8859_8", CS_ISO8859_8)
CSALIAS("ISO88598", CS_ISO8859_8)
CSALIAS("LATIN8", CS_ISO8859_8)
CSALIAS("ISO-8859-8", CS_ISO8859_8) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_9", CS_ISO8859_9, 0, 1, 256, CS_iso_ISO8859_9, ISO88599_cp_init)
CSALIAS("ISO8859_9", CS_ISO8859_9)
CSALIAS("ISO88599", CS_ISO8859_9)
CSALIAS("LATIN9", CS_ISO8859_9)
CSALIAS("ISO-8859-9", CS_ISO8859_9) /* Prefered MIME name */
END_CHARSET
CHARSET("ISO8859_13", CS_ISO8859_13, 0, 1, 256, CS_iso_ISO8859_13, ISO885913_cp_init)
CSALIAS("ISO8859_13", CS_ISO8859_13)
CSALIAS("ISO885913", CS_ISO8859_13)
CSALIAS("LATIN13", CS_ISO8859_13)
CSALIAS("ISO-8859-13", CS_ISO8859_13) /* Prefered MIME name */
END_CHARSET END_CHARSET
CHARSET("DOS852", CS_DOS_852, 0, 1, 256, CS_dos_852, DOS852_c0_init) CHARSET("DOS852", CS_DOS_852, 0, 1, 256, CS_dos_852, DOS852_c0_init)
CSALIAS("DOS_852", CS_DOS_852) CSALIAS("DOS_852", CS_DOS_852)
@ -191,6 +240,28 @@ CSALIAS("DOS_863", CS_DOS_863)
COLLATION("DB_RUS", CC_RUSSIA, CS_CYRL, 1, CYRL_c1_init) COLLATION("DB_RUS", CC_RUSSIA, CS_CYRL, 1, CYRL_c1_init)
COLLATION("PDOX_CYRL", CC_RUSSIA, CS_CYRL, 2, CYRL_c2_init) COLLATION("PDOX_CYRL", CC_RUSSIA, CS_CYRL, 2, CYRL_c2_init)
END_CHARSET END_CHARSET
CHARSET("DOS737", CS_DOS_737, 0, 1, 256, CS_dos_737, DOS737_c0_init)
CSALIAS("DOS_737", CS_DOS_737)
END_CHARSET
CHARSET("DOS775", CS_DOS_775, 0, 1, 256, CS_dos_775, DOS775_c0_init)
CSALIAS("DOS_775", CS_DOS_775)
END_CHARSET
CHARSET("DOS858", CS_DOS_858, 0, 1, 256, CS_dos_858, DOS858_c0_init)
CSALIAS("DOS_858", CS_DOS_858)
END_CHARSET
CHARSET("DOS862", CS_DOS_862, 0, 1, 256, CS_dos_862, DOS862_c0_init)
CSALIAS("DOS_862", CS_DOS_862)
END_CHARSET
CHARSET("DOS864", CS_DOS_864, 0, 1, 256, CS_dos_864, DOS864_c0_init)
CSALIAS("DOS_864", CS_DOS_864)
END_CHARSET
CHARSET("DOS866", CS_DOS_866, 0, 1, 256, CS_dos_866, DOS866_c0_init)
CSALIAS("DOS_866", CS_DOS_866)
END_CHARSET
CHARSET("DOS869", CS_DOS_869, 0, 1, 256, CS_dos_869, DOS869_c0_init)
CSALIAS("DOS_869", CS_DOS_869)
END_CHARSET
CHARSET("WIN1250", CS_WIN1250, 0, 1, 256, CS_win1250, WIN1250_c0_init) CHARSET("WIN1250", CS_WIN1250, 0, 1, 256, CS_win1250, WIN1250_c0_init)
CSALIAS("WIN_1250", CS_WIN1250) CSALIAS("WIN_1250", CS_WIN1250)
COLLATION("PXW_CSY", CC_CZECH, CS_WIN1250, 1, WIN1250_c1_init) COLLATION("PXW_CSY", CC_CZECH, CS_WIN1250, 1, WIN1250_c1_init)
@ -219,7 +290,8 @@ CSALIAS("WIN_1253", CS_WIN1253)
CHARSET("WIN1254", CS_WIN1254, 0, 1, 256, CS_win1254, WIN1254_c0_init) CHARSET("WIN1254", CS_WIN1254, 0, 1, 256, CS_win1254, WIN1254_c0_init)
CSALIAS("WIN_1254", CS_WIN1254) CSALIAS("WIN_1254", CS_WIN1254)
COLLATION("PXW_TURK", CC_TURKEY, CS_WIN1254, 1, WIN1254_c1_init) COLLATION("PXW_TURK", CC_TURKEY, CS_WIN1254, 1, WIN1254_c1_init)
END_CHARSET CHARSET("NEXT", CS_NEXT, 0, 1, 256, CS_next, NEXT_c0_init) END_CHARSET
CHARSET("NEXT", CS_NEXT, 0, 1, 256, CS_next, NEXT_c0_init)
/* V3 SUB_TYPE 180 */ /* V3 SUB_TYPE 180 */
COLLATION("NXT_US", CC_US, CS_NEXT, 1, NEXT_c1_init) COLLATION("NXT_US", CC_US, CS_NEXT, 1, NEXT_c1_init)
/* V3 SUB_TYPE 181 */ /* V3 SUB_TYPE 181 */
@ -231,6 +303,15 @@ CSALIAS("WIN_1254", CS_WIN1254)
/* V3 SUB_TYPE 184 */ /* V3 SUB_TYPE 184 */
COLLATION("NXT_ESP", CC_SPAIN, CS_NEXT, 5, NEXT_c0_init) COLLATION("NXT_ESP", CC_SPAIN, CS_NEXT, 5, NEXT_c0_init)
END_CHARSET END_CHARSET
CHARSET("WIN1255", CS_WIN1255, 0, 1, 256, CS_win1255, WIN1255_c0_init)
CSALIAS("WIN_1255", CS_WIN1255)
END_CHARSET
CHARSET("WIN1256", CS_WIN1256, 0, 1, 256, CS_win1256, WIN1256_c0_init)
CSALIAS("WIN_1256", CS_WIN1256)
END_CHARSET
CHARSET("WIN1257", CS_WIN1257, 0, 1, 256, CS_win1257, WIN1257_c0_init)
CSALIAS("WIN_1257", CS_WIN1257)
END_CHARSET
CHARSET("KSC_5601", CS_KSC5601, 0, 2, 4888, CS_ksc_5601, KSC_5601_init) CHARSET("KSC_5601", CS_KSC5601, 0, 2, 4888, CS_ksc_5601, KSC_5601_init)
CSALIAS("KSC5601", CS_KSC5601) CSALIAS("KSC5601", CS_KSC5601)
CSALIAS("DOS_949", CS_KSC5601) CSALIAS("DOS_949", CS_KSC5601)