Commit 4fd893e5 authored by unknown's avatar unknown

charset<->unicode conversion tables and routines

some warnings fixes


include/m_ctype.h:
  New charset conversion fields in CHARSET_INFO
mysys/hash.c:
  Fix for "unused argument" warning
strings/ctype-big5.c:
  Fix for "unused argument" warning
strings/ctype-czech.c:
  Fix for "unused argument" warning
strings/ctype-euc_kr.c:
  Fix for "unused argument" warning
strings/ctype-gb2312.c:
  Fix for "unused argument" warning
strings/ctype-gbk.c:
  Fix for "unused argument" warning
strings/ctype-latin1_de.c:
  Fix for "unused argument" warning
strings/ctype-simple.c:
  8bit<->unicode convertion routines
strings/ctype-sjis.c:
  Fix for "unused argument" warning
strings/ctype-tis620.c:
  Fix for "unused argument" warning
strings/ctype-ujis.c:
  Fix for "unused argument" warning
strings/ctype-utf8.c:
  Fix for "unused argument" warning
strings/ctype.c:
  8bit <-> unicode conversion tables
parent 48f99348
......@@ -42,7 +42,11 @@ typedef struct unicase_info_st {
#define MY_CS_TOOSMALL -1
#define MY_CS_TOOFEW(n) (-1-(n))
typedef struct my_uni_idx_st {
uint16 from;
uint16 to;
uchar *tab;
} MY_UNI_IDX;
typedef struct charset_info_st
......@@ -53,7 +57,10 @@ typedef struct charset_info_st
uchar *to_lower;
uchar *to_upper;
uchar *sort_order;
uint16 *tab_to_uni;
MY_UNI_IDX *tab_from_uni;
/* Collation routines */
uint strxfrm_multiply;
int (*strnncoll)(struct charset_info_st *,
const uchar *, uint, const uchar *, uint);
......@@ -62,12 +69,19 @@ typedef struct charset_info_st
my_bool (*like_range)(struct charset_info_st *,
const char *, uint, pchar, uint,
char *, char *, uint *, uint *);
/* Multibyte routines */
uint mbmaxlen;
int (*ismbchar)(struct charset_info_st *, const char *, const char *);
my_bool (*ismbhead)(struct charset_info_st *, uint);
int (*mbcharlen)(struct charset_info_st *, uint);
/* Unicode convertion */
int (*mb_wc)(struct charset_info_st *cs,my_wc_t *wc,
const unsigned char *s,const unsigned char *e);
int (*wc_mb)(struct charset_info_st *cs,my_wc_t wc,
unsigned char *s,unsigned char *e);
/* Functions for case convertion */
void (*caseup_str)(struct charset_info_st *, char *);
void (*casedn_str)(struct charset_info_st *, char *);
......@@ -106,6 +120,12 @@ extern void my_casedn_8bit(CHARSET_INFO *, char *, uint);
extern int my_strcasecmp_8bit(CHARSET_INFO * cs, const char *, const char *);
extern int my_strncasecmp_8bit(CHARSET_INFO * cs, const char *, const char *, uint);
int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc,
const unsigned char *s,const unsigned char *e);
int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc,
unsigned char *s, unsigned char *e);
#ifdef USE_MB
/* Functions for multibyte charsets */
extern void my_caseup_str_mb(CHARSET_INFO *, char *);
......@@ -229,7 +249,7 @@ int my_strcasecmp_utf8(CHARSET_INFO *cs, const char *s, const char *t);
int my_strncasecmp_utf8(CHARSET_INFO *cs, const char *s,const char *t,uint l);
int my_utf8_uni (CHARSET_INFO *cs, my_wc_t *p, const uchar *s, const uchar *e);
int my_uni_utf8 (CHARSET_INFO *cs, my_wc_t pwc , uchar *b, uchar *e);
int my_uni_utf8 (CHARSET_INFO *cs, my_wc_t wc, uchar *b, uchar *e);
#endif
#define _U 01 /* Upper case */
......
......@@ -114,7 +114,8 @@ static uint hash_rec_mask(HASH *hash,HASH_LINK *pos,uint buffmax,
/* Calc hashvalue for a key */
static uint calc_hashnr(CHARSET_INFO *cs, const byte *key,uint length)
static uint calc_hashnr(CHARSET_INFO *cs __attribute__((unused)),
const byte *key,uint length)
{
register uint nr=1, nr2=4;
while (length--)
......
......@@ -215,7 +215,7 @@ static uint16 big5strokexfrm(uint16 i)
return 0xA140;
}
int my_strnncoll_big5(CHARSET_INFO *cs,
int my_strnncoll_big5(CHARSET_INFO *cs __attribute__((unused)),
const uchar * s1, uint len1,
const uchar * s2, uint len2)
{
......@@ -239,7 +239,7 @@ int my_strnncoll_big5(CHARSET_INFO *cs,
return (int) (len1-len2);
}
int my_strnxfrm_big5(CHARSET_INFO *cs,
int my_strnxfrm_big5(CHARSET_INFO *cs __attribute__((unused)),
uchar * dest, uint len,
const uchar * src, uint srclen)
{
......@@ -328,7 +328,7 @@ int my_strxfrm_big5(uchar * dest, const uchar * src, int len)
#define wild_one '_'
#define wild_many '%'
my_bool my_like_range_big5(CHARSET_INFO *cs,
my_bool my_like_range_big5(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
......@@ -378,17 +378,18 @@ my_bool my_like_range_big5(CHARSET_INFO *cs,
return 0;
}
int ismbchar_big5(CHARSET_INFO *cs,const char* p, const char *e)
int ismbchar_big5(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
{
return (isbig5head(*(p)) && (e)-(p)>1 && isbig5tail(*((p)+1))? 2: 0);
}
my_bool ismbhead_big5(CHARSET_INFO *cs, uint c)
my_bool ismbhead_big5(CHARSET_INFO *cs __attribute__((unused)), uint c)
{
return isbig5head(c);
}
int mbcharlen_big5(CHARSET_INFO *cs, uint c)
int mbcharlen_big5(CHARSET_INFO *cs __attribute__((unused)), uint c)
{
return (isbig5head(c)? 2: 0);
}
......
......@@ -282,7 +282,7 @@ int my_strxfrm_czech(uchar * dest, const uchar * src, int len)
/* Function strnncoll, actually strcoll, with Czech sorting, which expect
the length of the strings being specified */
int my_strnncoll_czech(CHARSET_INFO *cs,
int my_strnncoll_czech(CHARSET_INFO *cs __attribute__((unused)),
const uchar * s1, uint len1,
const uchar * s2, uint len2)
{
......@@ -308,7 +308,7 @@ int my_strnncoll_czech(CHARSET_INFO *cs,
/* Function strnxfrm, actually strxfrm, with Czech sorting, which expect
the length of the strings being specified */
int my_strnxfrm_czech(CHARSET_INFO *cs,
int my_strnxfrm_czech(CHARSET_INFO *cs __attribute__((unused)),
uchar * dest, uint len,
const uchar * src, uint srclen)
{
......@@ -378,7 +378,7 @@ int my_strnxfrm_czech(CHARSET_INFO *cs,
#define EXAMPLE
my_bool my_like_range_czech(CHARSET_INFO *cs,
my_bool my_like_range_czech(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
......
......@@ -183,19 +183,20 @@ uchar NEAR sort_order_euc_kr[]=
#define iseuc_kr(c) ((0xa1<=(uchar)(c) && (uchar)(c)<=0xfe))
int ismbchar_euc_kr(CHARSET_INFO *cs,const char* p, const char *e)
int ismbchar_euc_kr(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
{
return ((*(uchar*)(p)<0x80)? 0:\
iseuc_kr(*(p)) && (e)-(p)>1 && iseuc_kr(*((p)+1))? 2:\
0);
}
my_bool ismbhead_euc_kr(CHARSET_INFO *cs,uint c)
my_bool ismbhead_euc_kr(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (iseuc_kr(c));
}
int mbcharlen_euc_kr(CHARSET_INFO *cs,uint c)
int mbcharlen_euc_kr(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (iseuc_kr(c) ? 2 : 0);
}
......
......@@ -166,17 +166,18 @@ uchar NEAR sort_order_gb2312[]=
#define isgb2312tail(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xfe)
int ismbchar_gb2312(CHARSET_INFO *cs,const char* p, const char *e)
int ismbchar_gb2312(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
{
return (isgb2312head(*(p)) && (e)-(p)>1 && isgb2312tail(*((p)+1))? 2: 0);
}
my_bool ismbhead_gb2312(CHARSET_INFO *cs,uint c)
my_bool ismbhead_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return isgb2312head(c);
}
int mbcharlen_gb2312(CHARSET_INFO *cs,uint c)
int mbcharlen_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isgb2312head(c)? 2:0);
}
......
......@@ -2582,7 +2582,7 @@ static uint16 gbksortorder(uint16 i)
}
int my_strnncoll_gbk(CHARSET_INFO *cs,
int my_strnncoll_gbk(CHARSET_INFO *cs __attribute__((unused)),
const uchar * s1, uint len1,
const uchar * s2, uint len2)
{
......@@ -2609,7 +2609,7 @@ int my_strnncoll_gbk(CHARSET_INFO *cs,
}
int my_strnxfrm_gbk(CHARSET_INFO *cs,
int my_strnxfrm_gbk(CHARSET_INFO *cs __attribute__((unused)),
uchar * dest, uint len,
const uchar * src, uint srclen)
{
......@@ -2653,7 +2653,7 @@ int my_strnxfrm_gbk(CHARSET_INFO *cs,
#define wild_one '_'
#define wild_many '%'
extern my_bool my_like_range_gbk(CHARSET_INFO *cs,
extern my_bool my_like_range_gbk(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
......@@ -2704,17 +2704,18 @@ extern my_bool my_like_range_gbk(CHARSET_INFO *cs,
}
int ismbchar_gbk(CHARSET_INFO *cs,const char* p, const char *e)
int ismbchar_gbk(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
{
return (isgbkhead(*(p)) && (e)-(p)>1 && isgbktail(*((p)+1))? 2: 0);
}
my_bool ismbhead_gbk(CHARSET_INFO *cs,uint c)
my_bool ismbhead_gbk(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return isgbkhead(c);
}
int mbcharlen_gbk(CHARSET_INFO *cs,uint c)
int mbcharlen_gbk(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isgbkhead(c)? 2:0);
}
......
......@@ -164,7 +164,7 @@ uchar sort_order_latin1_de[] = {
}
int my_strnncoll_latin1_de(CHARSET_INFO *cs,
int my_strnncoll_latin1_de(CHARSET_INFO *cs __attribute__((unused)),
const uchar * s1, uint len1,
const uchar * s2, uint len2)
{
......@@ -238,7 +238,7 @@ int my_strnncoll_latin1_de(CHARSET_INFO *cs,
}
int my_strnxfrm_latin1_de(CHARSET_INFO *cs,
int my_strnxfrm_latin1_de(CHARSET_INFO *cs __attribute__((unused)),
uchar * dest, uint len,
const uchar * src, uint srclen)
{
......@@ -303,7 +303,7 @@ int my_strnxfrm_latin1_de(CHARSET_INFO *cs,
#define wild_one '_'
#define wild_many '%'
my_bool my_like_range_latin1_de(CHARSET_INFO *cs,
my_bool my_like_range_latin1_de(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr, uint ptr_length,
pchar escape, uint res_length,
char *min_str, char *max_str,
......
......@@ -85,3 +85,26 @@ int my_strncasecmp_8bit(CHARSET_INFO * cs,
while (len-- != 0 && my_toupper(cs,(uchar)*s++) == my_toupper(cs,(uchar)*t++)) ;
return (int) len+1;
}
int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc,
const unsigned char *str,
const unsigned char *end __attribute__((unused)))
{
*wc=cs->tab_to_uni[*str];
return (!wc[0] && str[0]) ? MY_CS_ILSEQ : 1;
}
int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc,
unsigned char *s,
unsigned char *e __attribute__((unused)))
{
MY_UNI_IDX *idx;
for(idx=cs->tab_from_uni; idx->tab ; idx++){
if(idx->from<=wc && idx->to>=wc){
s[0]=idx->tab[wc-idx->from];
return (!s[0] && wc) ? MY_CS_ILUNI : 1;
}
}
return MY_CS_ILUNI;
}
......@@ -183,17 +183,18 @@ uchar NEAR sort_order_sjis[]=
(0x80<=(c) && (c)<=0xfc))
int ismbchar_sjis(CHARSET_INFO *cs,const char* p, const char *e)
int ismbchar_sjis(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
{
return (issjishead((uchar) *p) && (e-p)>1 && issjistail((uchar)p[1]) ? 2: 0);
}
my_bool ismbhead_sjis(CHARSET_INFO *cs,uint c)
my_bool ismbhead_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return issjishead((uchar) c);
}
int mbcharlen_sjis(CHARSET_INFO *cs,uint c)
int mbcharlen_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (issjishead((uchar) c) ? 2: 0);
}
......@@ -201,7 +202,7 @@ int mbcharlen_sjis(CHARSET_INFO *cs,uint c)
#define sjiscode(c,d) ((((uint) (uchar)(c)) << 8) | (uint) (uchar) (d))
int my_strnncoll_sjis(CHARSET_INFO *cs,
int my_strnncoll_sjis(CHARSET_INFO *cs __attribute__((unused)),
const uchar *s1, uint len1,
const uchar *s2, uint len2)
{
......@@ -226,7 +227,7 @@ int my_strnncoll_sjis(CHARSET_INFO *cs,
return len1 - len2;
}
int my_strnxfrm_sjis(CHARSET_INFO *cs,
int my_strnxfrm_sjis(CHARSET_INFO *cs __attribute__((unused)),
uchar *dest, uint len,
const uchar *src, uint srclen)
{
......@@ -265,7 +266,7 @@ int my_strnxfrm_sjis(CHARSET_INFO *cs,
#define wild_one '_'
#define wild_many '%'
my_bool my_like_range_sjis(CHARSET_INFO *cs,
my_bool my_like_range_sjis(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr,uint ptr_length,pchar escape,
uint res_length, char *min_str,char *max_str,
uint *min_length,uint *max_length)
......
......@@ -537,7 +537,7 @@ static uchar* thai2sortable(const uchar * tstr,uint len)
Arg: 2 Strings and it compare length
Ret: strcmp result
*/
int my_strnncoll_tis620(CHARSET_INFO *cs,
int my_strnncoll_tis620(CHARSET_INFO *cs __attribute__((unused)),
const uchar * s1, uint len1,
const uchar * s2, uint len2)
{
......@@ -555,7 +555,7 @@ int my_strnncoll_tis620(CHARSET_INFO *cs,
Arg: Destination buffer, source string, dest length and source length
Ret: Conveted string size
*/
int my_strnxfrm_tis620(CHARSET_INFO *cs,
int my_strnxfrm_tis620(CHARSET_INFO *cs __attribute__((unused)),
uchar * dest, uint len,
const uchar * src, uint srclen)
{
......@@ -613,7 +613,7 @@ int my_strxfrm_tis620(uchar * dest, const uchar * src, int len)
#define wild_one '_'
#define wild_many '%'
my_bool my_like_range_tis620(CHARSET_INFO *cs,
my_bool my_like_range_tis620(CHARSET_INFO *cs __attribute__((unused)),
const char *ptr, uint ptr_length, pchar escape,
uint res_length, char *min_str, char *max_str,
uint *min_length, uint *max_length)
......
......@@ -183,7 +183,8 @@ uchar NEAR sort_order_ujis[]=
#define isujis_ss3(c) (((c)&0xff) == 0x8f)
int ismbchar_ujis(CHARSET_INFO *cs,const char* p, const char *e)
int ismbchar_ujis(CHARSET_INFO *cs __attribute__((unused)),
const char* p, const char *e)
{
return ((*(uchar*)(p)<0x80)? 0:\
isujis(*(p)) && (e)-(p)>1 && isujis(*((p)+1))? 2:\
......@@ -192,12 +193,12 @@ int ismbchar_ujis(CHARSET_INFO *cs,const char* p, const char *e)
0);
}
my_bool ismbhead_ujis(CHARSET_INFO *cs,uint c)
my_bool ismbhead_ujis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isujis(c) || isujis_ss2(c) || isujis_ss3(c));
}
int mbcharlen_ujis(CHARSET_INFO *cs,uint c)
int mbcharlen_ujis(CHARSET_INFO *cs __attribute__((unused)),uint c)
{
return (isujis(c)? 2: isujis_ss2(c)? 2: isujis_ss3(c)? 3: 0);
}
......
......@@ -1571,7 +1571,7 @@ uchar to_upper_utf8[] = {
};
int my_utf8_uni (__attribute__((unused)) CHARSET_INFO *cs,
int my_utf8_uni (CHARSET_INFO *cs __attribute__((unused)) ,
my_wc_t * pwc, const uchar *s, const uchar *e)
{
unsigned char c = s[0];
......@@ -1673,7 +1673,7 @@ int my_utf8_uni (__attribute__((unused)) CHARSET_INFO *cs,
return MY_CS_ILSEQ;
}
int my_uni_utf8 (__attribute__((unused)) CHARSET_INFO *cs,
int my_uni_utf8 (CHARSET_INFO *cs __attribute__((unused)) ,
my_wc_t wc, uchar *r, uchar *e)
{
int count;
......@@ -1879,12 +1879,12 @@ int my_ismbchar_utf8(CHARSET_INFO *cs,const char *b, const char *e)
return (res>1) ? res : 0;
}
my_bool my_ismbhead_utf8(__attribute__((unused)) CHARSET_INFO *cs, uint ch)
my_bool my_ismbhead_utf8(CHARSET_INFO *cs __attribute__((unused)) , uint ch)
{
return ( ch >= 0xc2 );
}
int my_mbcharlen_utf8(__attribute__((unused)) CHARSET_INFO *cs, uint c)
int my_mbcharlen_utf8(CHARSET_INFO *cs __attribute__((unused)) , uint c)
{
if (c < 0x80)
return 1;
......
......@@ -20,6 +20,235 @@
#include <m_string.h>
#endif
#if defined(HAVE_CHARSET_latin1)||defined(HAVE_CHARSET_latin1_de)||\
defined(HAVE_CHARSET_danish)||defined(HAVE_CHARSET_german1)
static uint16 tab_8859_1_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF
};
static uchar tab_uni_8859_1_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};
static MY_UNI_IDX idx_uni_8859_1[]={
{0x0000,0x00FF,tab_uni_8859_1_plane00},
{0,0,NULL}
};
#endif
#if defined(HAVE_CHARSET_latin2)||defined(HAVE_CHARSET_croat)||\
defined(HAVE_CHARSET_hungarian)||defined(HAVE_CHARSET_czech)
static uint16 tab_8859_2_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0x00A0,0x0104,0x02D8,0x0141,0x00A4,0x013D,0x015A,0x00A7,
0x00A8,0x0160,0x015E,0x0164,0x0179,0x00AD,0x017D,0x017B,
0x00B0,0x0105,0x02DB,0x0142,0x00B4,0x013E,0x015B,0x02C7,
0x00B8,0x0161,0x015F,0x0165,0x017A,0x02DD,0x017E,0x017C,
0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9
};
/* 0000-00FD , 254 chars */
static uchar tab_uni_8859_2_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0x00,0x00,0x00,0xA4,0x00,0x00,0xA7,0xA8,0x00,0x00,0x00,0x00,0xAD,0x00,0x00,
0xB0,0x00,0x00,0x00,0xB4,0x00,0x00,0x00,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xC1,0xC2,0x00,0xC4,0x00,0x00,0xC7,0x00,0xC9,0x00,0xCB,0x00,0xCD,0xCE,0x00,
0x00,0x00,0x00,0xD3,0xD4,0x00,0xD6,0xD7,0x00,0x00,0xDA,0x00,0xDC,0xDD,0x00,0xDF,
0x00,0xE1,0xE2,0x00,0xE4,0x00,0x00,0xE7,0x00,0xE9,0x00,0xEB,0x00,0xED,0xEE,0x00,
0x00,0x00,0x00,0xF3,0xF4,0x00,0xF6,0xF7,0x00,0x00,0xFA,0x00,0xFC,0xFD};
/* 0102-017E , 125 chars */
static uchar tab_uni_8859_2_plane01[]={
0xC3,0xE3,0xA1,0xB1,0xC6,0xE6,0x00,0x00,0x00,0x00,0xC8,0xE8,0xCF,0xEF,0xD0,0xF0,
0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0xEA,0xCC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC5,0xE5,0x00,0x00,0xA5,0xB5,0x00,0x00,0xA3,
0xB3,0xD1,0xF1,0x00,0x00,0xD2,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD5,0xF5,
0x00,0x00,0xC0,0xE0,0x00,0x00,0xD8,0xF8,0xA6,0xB6,0x00,0x00,0xAA,0xBA,0xA9,0xB9,
0xDE,0xFE,0xAB,0xBB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD9,0xF9,0xDB,0xFB,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0xBC,0xAF,0xBF,0xAE,0xBE};
/* 02C7-02DD , 23 chars */
static uchar tab_uni_8859_2_plane02[]={
0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xA2,0xFF,0x00,0xB2,0x00,0xBD};
static MY_UNI_IDX idx_uni_8859_2[]={
{0x0000,0x00FD,tab_uni_8859_2_plane00},
{0x0102,0x017E,tab_uni_8859_2_plane01},
{0x02C7,0x02DD,tab_uni_8859_2_plane02},
{0,0,NULL}
};
#endif
#if defined(HAVE_CHARSET_cp1251) || defined(HAVE_CHARSET_win1251) || defined(HAVE_CHARSET_win1251ukr)
static uint16 tab_cp1251_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
0x0402,0x0403,0x201A,0x0453,0x201E,0x2026,0x2020,0x2021,
0,0x2030,0x0409,0x2039,0x040A,0x040C,0x040B,0x040F,
0x0452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
0,0x2122,0x0459,0x203A,0x045A,0x045C,0x045B,0x045F,
0x00A0,0x040E,0x045E,0x0408,0x00A4,0x0490,0x00A6,0x00A7,
0x0401,0x00A9,0x0404,0x00AB,0x00AC,0x00AD,0x00AE,0x0407,
0x00B0,0x00B1,0x0406,0x0456,0x0491,0x00B5,0x00B6,0x00B7,
0x0451,0x2116,0x0454,0x00BB,0x0458,0x0405,0x0455,0x0457,
0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,0x041F,
0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F,
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,0x043F,
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F
};
/* 0000-00BB , 188 chars */
static uchar tab_uni_cp1251_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0x00,0x00,0x00,0xA4,0x00,0xA6,0xA7,0x00,0xA9,0x00,0xAB,0xAC,0xAD,0xAE,0x00,
0xB0,0xB1,0x00,0x00,0x00,0xB5,0xB6,0xB7,0x00,0x00,0x00,0xBB};
/* 0401-0491 , 145 chars */
static uchar tab_uni_cp1251_plane04[]={
0xA8,0x80,0x81,0xAA,0xBD,0xB2,0xAF,0xA3,0x8A,0x8C,0x8E,0x8D,0x00,0xA1,0x8F,0xC0,
0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,
0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,
0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,
0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,
0xB8,0x90,0x83,0xBA,0xBE,0xB3,0xBF,0xBC,0x9A,0x9C,0x9E,0x9D,0x00,0xA2,0x9F,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA5,
0xB4};
/* 2013-203A , 40 chars */
static uchar tab_uni_cp1251_plane20[]={
0x96,0x97,0x00,0x00,0x00,0x91,0x92,0x82,0x00,0x93,0x94,0x84,0x00,0x86,0x87,0x95,
0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x9B};
/* 2116-2122 , 13 chars */
static uchar tab_uni_cp1251_plane21[]={
0xB9,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x99};
static MY_UNI_IDX idx_uni_cp1251[]={
{0x0000,0x00BB,tab_uni_cp1251_plane00},
{0x0401,0x0491,tab_uni_cp1251_plane04},
{0x2013,0x203A,tab_uni_cp1251_plane20},
{0x2116,0x2122,tab_uni_cp1251_plane21},
{0,0,NULL}
};
#endif
#ifdef HAVE_CHARSET_armscii8
static uchar ctype_armscii8[] = {
0,
......@@ -97,6 +326,85 @@ static uchar sort_order_armscii8[] = {
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
static uint16 tab_armscii_8_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
0x00A0,0x2741,0x00A7,0x0589,0x0029,0x0028,0x00BB,0x00AB,
0x2014,0x002E,0x055D,0x002C,0x002D,0x055F,0x2026,0x055C,
0x055B,0x055E,0x0531,0x0561,0x0532,0x0562,0x0533,0x0563,
0x0534,0x0564,0x0535,0x0565,0x0536,0x0566,0x0537,0x0567,
0x0538,0x0568,0x0539,0x0569,0x053A,0x056A,0x053B,0x056B,
0x053C,0x056C,0x053D,0x056D,0x053E,0x056E,0x053F,0x056F,
0x0540,0x0570,0x0541,0x0571,0x0542,0x0572,0x0543,0x0573,
0x0544,0x0574,0x0545,0x0575,0x0546,0x0576,0x0547,0x0577,
0x0548,0x0578,0x0549,0x0579,0x054A,0x057A,0x054B,0x057B,
0x054C,0x057C,0x054D,0x057D,0x054E,0x057E,0x054F,0x057F,
0x0550,0x0580,0x0551,0x0581,0x0552,0x0582,0x0553,0x0583,
0x0554,0x0584,0x0555,0x0585,0x0556,0x0586,0x2019,0x0027
};
/* 0000-00BB , 188 chars */
static uchar tab_uni_armscii_8_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0xFF,0xA5,0xA4,0x2A,0x2B,0xAB,0xAC,0xA9,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0xA2,0x00,0x00,0x00,0xA7,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA6};
/* 0531-0589 , 89 chars */
static uchar tab_uni_armscii_8_plane05[]={
0xB2,0xB4,0xB6,0xB8,0xBA,0xBC,0xBE,0xC0,0xC2,0xC4,0xC6,0xC8,0xCA,0xCC,0xCE,0xD0,
0xD2,0xD4,0xD6,0xD8,0xDA,0xDC,0xDE,0xE0,0xE2,0xE4,0xE6,0xE8,0xEA,0xEC,0xEE,0xF0,
0xF2,0xF4,0xF6,0xF8,0xFA,0xFC,0x00,0x00,0x00,0x00,0xB0,0xAF,0xAA,0xB1,0xAD,0x00,
0xB3,0xB5,0xB7,0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCD,0xCF,0xD1,
0xD3,0xD5,0xD7,0xD9,0xDB,0xDD,0xDF,0xE1,0xE3,0xE5,0xE7,0xE9,0xEB,0xED,0xEF,0xF1,
0xF3,0xF5,0xF7,0xF9,0xFB,0xFD,0x00,0x00,0xA3};
/* 2014-2026 , 19 chars */
static uchar tab_uni_armscii_8_plane20[]={
0xA8,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xAE};
/* 2741-2741 , 1 chars */
static uchar tab_uni_armscii_8_plane27[]={
0xA1};
static MY_UNI_IDX idx_uni_armscii_8[]={
{0x0000,0x00BB,tab_uni_armscii_8_plane00},
{0x0531,0x0589,tab_uni_armscii_8_plane05},
{0x2014,0x2026,tab_uni_armscii_8_plane20},
{0x2741,0x2741,tab_uni_armscii_8_plane27},
{0,0,NULL}
};
#endif
......@@ -182,6 +490,7 @@ static uchar sort_order_cp1251[] = {
91, 92, 93, 94, 95, 96, 98, 99,100,101,102,103,104,105,106,107,
108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123
};
#endif
......@@ -267,6 +576,104 @@ static uchar sort_order_cp1257[] = {
255, 79,255,255,255,255, 72,255, 69,255,255, 73,255,255,255,255,
90,255,255,255,255,255,255,255, 94,255,255, 93,255,255,255,255
};
static uint16 tab_cp1257_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
0x20AC, 0,0x201A, 0,0x201E,0x2026,0x2020,0x2021,
0,0x2030, 0,0x2039, 0,0x00A8,0x02C7,0x00B8,
0,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
0,0x2122, 0,0x203A, 0,0x00AF,0x02DB, 0,
0x00A0, 0,0x00A2,0x00A3,0x00A4, 0,0x00A6,0x00A7,
0x00D8,0x00A9,0x0156,0x00AB,0x00AC,0x00AD,0x00AE,0x00C6,
0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
0x00F8,0x00B9,0x0157,0x00BB,0x00BC,0x00BD,0x00BE,0x00E6,
0x0104,0x012E,0x0100,0x0106,0x00C4,0x00C5,0x0118,0x0112,
0x010C,0x00C9,0x0179,0x0116,0x0122,0x0136,0x012A,0x013B,
0x0160,0x0143,0x0145,0x00D3,0x014C,0x00D5,0x00D6,0x00D7,
0x0172,0x0141,0x015A,0x016A,0x00DC,0x017B,0x017D,0x00DF,
0x0105,0x012F,0x0101,0x0107,0x00E4,0x00E5,0x0119,0x0113,
0x010D,0x00E9,0x017A,0x0117,0x0123,0x0137,0x012B,0x013C,
0x0161,0x0144,0x0146,0x00F3,0x014D,0x00F5,0x00F6,0x00F7,
0x0173,0x0142,0x015B,0x016B,0x00FC,0x017C,0x017E,0x02D9
};
/* 0000-00FC , 253 chars */
static uchar tab_uni_cp1257_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0x00,0xA2,0xA3,0xA4,0x00,0xA6,0xA7,0x8D,0xA9,0x00,0xAB,0xAC,0xAD,0xAE,0x9D,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0x8F,0xB9,0x00,0xBB,0xBC,0xBD,0xBE,0x00,
0x00,0x00,0x00,0x00,0xC4,0xC5,0xAF,0x00,0x00,0xC9,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xD3,0x00,0xD5,0xD6,0xD7,0xA8,0x00,0x00,0x00,0xDC,0x00,0x00,0xDF,
0x00,0x00,0x00,0x00,0xE4,0xE5,0xBF,0x00,0x00,0xE9,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xF3,0x00,0xF5,0xF6,0xF7,0xB8,0x00,0x00,0x00,0xFC};
/* 0100-017E , 127 chars */
static uchar tab_uni_cp1257_plane01[]={
0xC2,0xE2,0x00,0x00,0xC0,0xE0,0xC3,0xE3,0x00,0x00,0x00,0x00,0xC8,0xE8,0x00,0x00,
0x00,0x00,0xC7,0xE7,0x00,0x00,0xCB,0xEB,0xC6,0xE6,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xCC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0xCE,0xEE,0x00,0x00,0xC1,0xE1,
0x00,0x00,0x00,0x00,0x00,0x00,0xCD,0xED,0x00,0x00,0x00,0xCF,0xEF,0x00,0x00,0x00,
0x00,0xD9,0xF9,0xD1,0xF1,0xD2,0xF2,0x00,0x00,0x00,0x00,0x00,0xD4,0xF4,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xBA,0x00,0x00,0xDA,0xFA,0x00,0x00,0x00,0x00,
0xD0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDB,0xFB,0x00,0x00,0x00,0x00,
0x00,0x00,0xD8,0xF8,0x00,0x00,0x00,0x00,0x00,0xCA,0xEA,0xDD,0xFD,0xDE,0xFE};
/* 2013-20AC , 154 chars */
static uchar tab_uni_cp1257_plane20[]={
0x96,0x97,0x00,0x00,0x00,0x91,0x92,0x82,0x00,0x93,0x94,0x84,0x00,0x86,0x87,0x95,
0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80};
/* 02C7-02DB , 21 chars */
static uchar tab_uni_cp1257_plane02[]={
0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0x00,0x9E};
/* 2122-2122 , 1 chars */
static uchar tab_uni_cp1257_plane21[]={
0x99};
static MY_UNI_IDX idx_uni_cp1257[]={
{0x0000,0x00FC,tab_uni_cp1257_plane00},
{0x0100,0x017E,tab_uni_cp1257_plane01},
{0x2013,0x20AC,tab_uni_cp1257_plane20},
{0x02C7,0x02DB,tab_uni_cp1257_plane02},
{0x2122,0x2122,tab_uni_cp1257_plane21},
{0,0,NULL}
};
#endif
......@@ -1196,6 +1603,107 @@ static uchar sort_order_koi8_ru[] = {
254,223,224,246,227,228,244,226,245,232,233,234,235,236,237,238,
239,255,240,241,242,243,230,225,252,251,231,248,253,249,247,250
};
static uint16 tab_koi8_r_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
0x2500,0x2502,0x250C,0x2510,0x2514,0x2518,0x251C,0x2524,
0x252C,0x2534,0x253C,0x2580,0x2584,0x2588,0x258C,0x2590,
0x2591,0x2592,0x2593,0x2320,0x25A0,0x2219,0x221A,0x2248,
0x2264,0x2265,0x00A0,0x2321,0x00B0,0x00B2,0x00B7,0x00F7,
0x2550,0x2551,0x2552,0x0451,0x2553,0x2554,0x2555,0x2556,
0x2557,0x2558,0x2559,0x255A,0x255B,0x255C,0x255D,0x255E,
0x255F,0x2560,0x2561,0x0401,0x2562,0x2563,0x2564,0x2565,
0x2566,0x2567,0x2568,0x2569,0x256A,0x256B,0x256C,0x00A9,
0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A
};
/* 0000-00F7 , 248 chars */
static uchar tab_uni_koi8_r_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x9A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,
0x9C,0x00,0x9D,0x00,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9F};
/* 0401-0451 , 81 chars */
static uchar tab_uni_koi8_r_plane04[]={
0xB3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE1,
0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF2,
0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1,0xC1,
0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD2,
0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1,0x00,
0xA3};
/* 2500-25A0 , 161 chars */
static uchar tab_uni_koi8_r_plane25[]={
0x80,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,
0x83,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x86,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0xA1,0xA2,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,
0xB1,0xB2,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x8B,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
0x8F,0x90,0x91,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x94};
/* 2219-2265 , 77 chars */
static uchar tab_uni_koi8_r_plane22[]={
0x95,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x99};
/* 2320-2321 , 2 chars */
static uchar tab_uni_koi8_r_plane23[]={
0x93,0x9B};
static MY_UNI_IDX idx_uni_koi8_r[]={
{0x0000,0x00F7,tab_uni_koi8_r_plane00},
{0x0401,0x0451,tab_uni_koi8_r_plane04},
{0x2500,0x25A0,tab_uni_koi8_r_plane25},
{0x2219,0x2265,tab_uni_koi8_r_plane22},
{0x2320,0x2321,tab_uni_koi8_r_plane23},
{0,0,NULL}
};
#endif
#ifdef HAVE_CHARSET_koi8_ukr
......@@ -1280,6 +1788,116 @@ static uchar sort_order_koi8_ukr[] = {
163,128,129,155,133,134,153,131,154,139,142,143,144,145,146,147,
148,164,149,150,151,152,137,130,161,160,138,157,162,158,156,159
};
static uint16 tab_koi8_u_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
0x2500,0x2502,0x250C,0x2510,0x2514,0x2518,0x251C,0x2524,
0x252C,0x2534,0x253C,0x2580,0x2584,0x2588,0x258C,0x2590,
0x2591,0x2592,0x2593,0x2320,0x25A0,0x2022,0x221A,0x2248,
0x2264,0x2265,0x00A0,0x2321,0x00B0,0x00B2,0x00B7,0x00F7,
0x2550,0x2551,0x2552,0x0451,0x0454,0x2554,0x0456,0x0457,
0x2557,0x2558,0x2559,0x255A,0x255B,0x0491,0x255D,0x255E,
0x255F,0x2560,0x2561,0x0401,0x0404,0x2563,0x0406,0x0407,
0x2566,0x2567,0x2568,0x2569,0x256A,0x0490,0x256C,0x00A9,
0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A
};
/* 0000-00F7 , 248 chars */
static uchar tab_uni_koi8_u_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x9A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0x00,0x00,0x00,0x00,0x00,0x00,
0x9C,0x00,0x9D,0x00,0x00,0x00,0x00,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9F};
/* 0401-0491 , 145 chars */
static uchar tab_uni_koi8_u_plane04[]={
0xB3,0x00,0x00,0xB4,0x00,0xB6,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE1,
0xE2,0xF7,0xE7,0xE4,0xE5,0xF6,0xFA,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF2,
0xF3,0xF4,0xF5,0xE6,0xE8,0xE3,0xFE,0xFB,0xFD,0xFF,0xF9,0xF8,0xFC,0xE0,0xF1,0xC1,
0xC2,0xD7,0xC7,0xC4,0xC5,0xD6,0xDA,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD2,
0xD3,0xD4,0xD5,0xC6,0xC8,0xC3,0xDE,0xDB,0xDD,0xDF,0xD9,0xD8,0xDC,0xC0,0xD1,0x00,
0xA3,0x00,0x00,0xA4,0x00,0xA6,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBD,
0xAD};
/* 2500-25A0 , 161 chars */
static uchar tab_uni_koi8_u_plane25[]={
0x80,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,
0x83,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x86,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8A,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0xA1,0xA2,0x00,0xA5,0x00,0x00,0xA8,0xA9,0xAA,0xAB,0xAC,0x00,0xAE,0xAF,0xB0,
0xB1,0xB2,0x00,0xB5,0x00,0x00,0xB8,0xB9,0xBA,0xBB,0xBC,0x00,0xBE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x8B,0x00,0x00,0x00,0x8C,0x00,0x00,0x00,0x8D,0x00,0x00,0x00,0x8E,0x00,0x00,0x00,
0x8F,0x90,0x91,0x92,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x94};
/* 221A-2265 , 76 chars */
static uchar tab_uni_koi8_u_plane22[]={
0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x99};
/* 2320-2321 , 2 chars */
static uchar tab_uni_koi8_u_plane23[]={
0x93,0x9B};
/* 2022-2022 , 1 chars */
static uchar tab_uni_koi8_u_plane20[]={
0x95};
static MY_UNI_IDX idx_uni_koi8_u[]={
{0x0000,0x00F7,tab_uni_koi8_u_plane00},
{0x0401,0x0491,tab_uni_koi8_u_plane04},
{0x2500,0x25A0,tab_uni_koi8_u_plane25},
{0x221A,0x2265,tab_uni_koi8_u_plane22},
{0x2320,0x2321,tab_uni_koi8_u_plane23},
{0x2022,0x2022,tab_uni_koi8_u_plane20},
{0,0,NULL}
};
#endif
#ifdef HAVE_CHARSET_latin1
......@@ -1532,6 +2150,77 @@ static uchar sort_order_latin5[] = {
204,205,206,207,208,209,210, 68,211,212,213,214,215,216,217,218,
73,219,220,221,222,223, 83,250,225,226,227,228, 91, 75, 88,255
};
static uint16 tab_8859_9_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
0x011E,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x0130,0x015E,0x00DF,
0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
0x011F,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x0131,0x015F,0x00FF
};
/* 0000-00FF , 256 chars */
static uchar tab_uni_8859_9_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
0x00,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0x00,0x00,0xDF,
0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
0x00,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0x00,0x00,0xFF};
/* 011E-015F , 66 chars */
static uchar tab_uni_8859_9_plane01[]={
0xD0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xDD,0xFD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xDE,0xFE};
static MY_UNI_IDX idx_uni_8859_9[]={
{0x0000,0x00FF,tab_uni_8859_9_plane00},
{0x011E,0x015F,tab_uni_8859_9_plane01},
{0,0,NULL}
};
#endif
#ifdef HAVE_CHARSET_swe7
......@@ -1700,6 +2389,60 @@ static uchar sort_order_usa7[] = {
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
static uint16 tab_us_ascii_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/* 0000-007E , 127 chars */
static uchar tab_uni_us_ascii_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E};
static MY_UNI_IDX idx_uni_us_ascii[]={
{0x0000,0x007E,tab_uni_us_ascii_plane00},
{0,0,NULL}
};
#endif
#ifdef HAVE_CHARSET_win1250
......@@ -1784,6 +2527,105 @@ static uchar sort_order_win1250[] = {
88, 65, 65, 65, 65, 80, 69, 67, 68, 73, 73, 73, 73, 77, 77, 70,
71, 83, 83, 85, 85, 85, 85,247, 88, 92, 92, 92, 92, 96, 91,255
};
static uint16 tab_cp1250_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
0x20AC, 0,0x201A, 0,0x201E,0x2026,0x2020,0x2021,
0,0x2030,0x0160,0x2039,0x015A,0x0164,0x017D,0x0179,
0,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
0,0x2122,0x0161,0x203A,0x015B,0x0165,0x017E,0x017A,
0x00A0,0x02C7,0x02D8,0x0141,0x00A4,0x0104,0x00A6,0x00A7,
0x00A8,0x00A9,0x015E,0x00AB,0x00AC,0x00AD,0x00AE,0x017B,
0x00B0,0x00B1,0x02DB,0x0142,0x00B4,0x00B5,0x00B6,0x00B7,
0x00B8,0x0105,0x015F,0x00BB,0x013D,0x02DD,0x013E,0x017C,
0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9
};
/* 0000-00FD , 254 chars */
static uchar tab_uni_cp1250_plane00[]={
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xA0,0x00,0x00,0x00,0xA4,0x00,0xA6,0xA7,0xA8,0xA9,0x00,0xAB,0xAC,0xAD,0xAE,0x00,
0xB0,0xB1,0x00,0x00,0xB4,0xB5,0xB6,0xB7,0xB8,0x00,0x00,0xBB,0x00,0x00,0x00,0x00,
0x00,0xC1,0xC2,0x00,0xC4,0x00,0x00,0xC7,0x00,0xC9,0x00,0xCB,0x00,0xCD,0xCE,0x00,
0x00,0x00,0x00,0xD3,0xD4,0x00,0xD6,0xD7,0x00,0x00,0xDA,0x00,0xDC,0xDD,0x00,0xDF,
0x00,0xE1,0xE2,0x00,0xE4,0x00,0x00,0xE7,0x00,0xE9,0x00,0xEB,0x00,0xED,0xEE,0x00,
0x00,0x00,0x00,0xF3,0xF4,0x00,0xF6,0xF7,0x00,0x00,0xFA,0x00,0xFC,0xFD};
/* 0102-017E , 125 chars */
static uchar tab_uni_cp1250_plane01[]={
0xC3,0xE3,0xA5,0xB9,0xC6,0xE6,0x00,0x00,0x00,0x00,0xC8,0xE8,0xCF,0xEF,0xD0,0xF0,
0x00,0x00,0x00,0x00,0x00,0x00,0xCA,0xEA,0xCC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC5,0xE5,0x00,0x00,0xBC,0xBE,0x00,0x00,0xA3,
0xB3,0xD1,0xF1,0x00,0x00,0xD2,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD5,0xF5,
0x00,0x00,0xC0,0xE0,0x00,0x00,0xD8,0xF8,0x8C,0x9C,0x00,0x00,0xAA,0xBA,0x8A,0x9A,
0xDE,0xFE,0x8D,0x9D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD9,0xF9,0xDB,0xFB,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8F,0x9F,0xAF,0xBF,0x8E,0x9E};
/* 2013-20AC , 154 chars */
static uchar tab_uni_cp1250_plane20[]={
0x96,0x97,0x00,0x00,0x00,0x91,0x92,0x82,0x00,0x93,0x94,0x84,0x00,0x86,0x87,0x95,
0x00,0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x9B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80};
/* 02C7-02DD , 23 chars */
static uchar tab_uni_cp1250_plane02[]={
0xA1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xA2,0xFF,0x00,0xB2,0x00,0xBD};
/* 2122-2122 , 1 chars */
static uchar tab_uni_cp1250_plane21[]={
0x99};
static MY_UNI_IDX idx_uni_cp1250[]={
{0x0000,0x00FD,tab_uni_cp1250_plane00},
{0x0102,0x017E,tab_uni_cp1250_plane01},
{0x2013,0x20AC,tab_uni_cp1250_plane20},
{0x02C7,0x02DD,tab_uni_cp1250_plane02},
{0x2122,0x2122,tab_uni_cp1250_plane21},
{0,0,NULL}
};
#endif
#ifdef HAVE_CHARSET_win1251
......@@ -1966,14 +2808,18 @@ CHARSET_INFO compiled_charsets[] = {
to_lower_latin1,
to_upper_latin1,
sort_order_latin1,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_1_uni, /* tab_to_uni */
idx_uni_8859_1, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -1986,20 +2832,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_big5
{
1, /* number */
"big5", /* name */
1, /* number */
"big5", /* name */
ctype_big5,
to_lower_big5,
to_upper_big5,
sort_order_big5,
1, /* strxfrm_multiply */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
1, /* strxfrm_multiply */
my_strnncoll_big5,
my_strnxfrm_big5,
my_like_range_big5,
2, /* mbmaxlen */
2, /* mbmaxlen */
ismbchar_big5,
ismbhead_big5,
mbcharlen_big5,
NULL, /* mb_wc */
NULL, /* wc_mb */
my_caseup_str_mb,
my_casedn_str_mb,
my_caseup_mb,
......@@ -2012,20 +2862,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_cp1251
{
14, /* number */
"cp1251", /* name */
14, /* number */
"cp1251", /* name */
ctype_cp1251,
to_lower_cp1251,
to_upper_cp1251,
sort_order_cp1251,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_cp1251_uni, /* tab_to_uni */
idx_uni_cp1251, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2038,20 +2892,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_cp1257
{
29, /* number */
"cp1257", /* name */
29, /* number */
"cp1257", /* name */
ctype_cp1257,
to_lower_cp1257,
to_upper_cp1257,
sort_order_cp1257,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_cp1257_uni, /* tab_to_uni */
idx_uni_cp1257, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2064,20 +2922,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_croat
{
27, /* number */
"croat", /* name */
27, /* number */
"croat", /* name */
ctype_croat,
to_lower_croat,
to_upper_croat,
sort_order_croat,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_2_uni, /* tab_to_uni */
idx_uni_8859_2, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2090,20 +2952,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_czech
{
2, /* number */
"czech", /* name */
2, /* number */
"czech", /* name */
ctype_czech,
to_lower_czech,
to_upper_czech,
sort_order_czech,
4, /* strxfrm_multiply */
tab_8859_2_uni, /* tab_to_uni */
idx_uni_8859_2, /* tab_from_uni */
4, /* strxfrm_multiply */
my_strnncoll_czech,
my_strnxfrm_czech,
my_like_range_czech,
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2116,20 +2982,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_danish
{
15, /* number */
"danish", /* name */
15, /* number */
"danish", /* name */
ctype_danish,
to_lower_danish,
to_upper_danish,
sort_order_danish,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_1_uni, /* tab_to_uni */
idx_uni_8859_1, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2142,20 +3012,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_dec8
{
3, /* number */
"dec8", /* name */
3, /* number */
"dec8", /* name */
ctype_dec8,
to_lower_dec8,
to_upper_dec8,
sort_order_dec8,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2168,20 +3042,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_dos
{
4, /* number */
"dos", /* name */
4, /* number */
"dos", /* name */
ctype_dos,
to_lower_dos,
to_upper_dos,
sort_order_dos,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2194,20 +3072,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_estonia
{
20, /* number */
"estonia", /* name */
20, /* number */
"estonia", /* name */
ctype_estonia,
to_lower_estonia,
to_upper_estonia,
sort_order_estonia,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2220,20 +3102,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_euc_kr
{
19, /* number */
"euc_kr", /* name */
19, /* number */
"euc_kr", /* name */
ctype_euc_kr,
to_lower_euc_kr,
to_upper_euc_kr,
sort_order_euc_kr,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
2, /* mbmaxlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
2, /* mbmaxlen */
ismbchar_euc_kr,
ismbhead_euc_kr,
mbcharlen_euc_kr,
NULL, /* mb_wc */
NULL, /* wc_mb */
my_caseup_str_mb,
my_casedn_str_mb,
my_caseup_mb,
......@@ -2246,20 +3132,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_gb2312
{
24, /* number */
"gb2312", /* name */
24, /* number */
"gb2312", /* name */
ctype_gb2312,
to_lower_gb2312,
to_upper_gb2312,
sort_order_gb2312,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
2, /* mbmaxlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
2, /* mbmaxlen */
ismbchar_gb2312,
ismbhead_gb2312,
mbcharlen_gb2312,
NULL, /* mb_wc */
NULL, /* wc_mb */
my_caseup_str_mb,
my_casedn_str_mb,
my_caseup_mb,
......@@ -2272,20 +3162,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_gbk
{
28, /* number */
"gbk", /* name */
28, /* number */
"gbk", /* name */
ctype_gbk,
to_lower_gbk,
to_upper_gbk,
sort_order_gbk,
1, /* strxfrm_multiply */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
1, /* strxfrm_multiply */
my_strnncoll_gbk,
my_strnxfrm_gbk,
my_like_range_gbk,
2, /* mbmaxlen */
2, /* mbmaxlen */
ismbchar_gbk,
ismbhead_gbk,
mbcharlen_gbk,
NULL, /* mb_wc */
NULL, /* wc_mb */
my_caseup_str_mb,
my_casedn_str_mb,
my_caseup_mb,
......@@ -2298,20 +3192,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_german1
{
5, /* number */
"german1", /* name */
5, /* number */
"german1", /* name */
ctype_german1,
to_lower_german1,
to_upper_german1,
sort_order_german1,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_1_uni, /* tab_to_uni */
idx_uni_8859_1, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2324,20 +3222,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_greek
{
25, /* number */
"greek", /* name */
25, /* number */
"greek", /* name */
ctype_greek,
to_lower_greek,
to_upper_greek,
sort_order_greek,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2350,20 +3252,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_hebrew
{
16, /* number */
"hebrew", /* name */
16, /* number */
"hebrew", /* name */
ctype_hebrew,
to_lower_hebrew,
to_upper_hebrew,
sort_order_hebrew,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2376,20 +3282,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_hp8
{
6, /* number */
"hp8", /* name */
6, /* number */
"hp8", /* name */
ctype_hp8,
to_lower_hp8,
to_upper_hp8,
sort_order_hp8,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2402,20 +3312,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_hungarian
{
21, /* number */
"hungarian", /* name */
21, /* number */
"hungarian", /* name */
ctype_hungarian,
to_lower_hungarian,
to_upper_hungarian,
sort_order_hungarian,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_2_uni, /* tab_to_uni */
idx_uni_8859_2, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2428,20 +3342,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_koi8_ru
{
7, /* number */
"koi8_ru", /* name */
7, /* number */
"koi8_ru", /* name */
ctype_koi8_ru,
to_lower_koi8_ru,
to_upper_koi8_ru,
sort_order_koi8_ru,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_koi8_r_uni, /* tab_to_uni */
idx_uni_koi8_r, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2454,20 +3372,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_koi8_ukr
{
22, /* number */
"koi8_ukr", /* name */
22, /* number */
"koi8_ukr", /* name */
ctype_koi8_ukr,
to_lower_koi8_ukr,
to_upper_koi8_ukr,
sort_order_koi8_ukr,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_koi8_u_uni, /* tab_to_uni */
idx_uni_koi8_u, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2480,20 +3402,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_latin1_de
{
31, /* number */
"latin1_de", /* name */
31, /* number */
"latin1_de", /* name */
ctype_latin1_de,
to_lower_latin1_de,
to_upper_latin1_de,
sort_order_latin1_de,
2, /* strxfrm_multiply */
tab_8859_1_uni, /* tab_to_uni */
idx_uni_8859_1, /* tab_from_uni */
2, /* strxfrm_multiply */
my_strnncoll_latin1_de,
my_strnxfrm_latin1_de,
my_like_range_latin1_de,
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2506,20 +3432,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_latin2
{
9, /* number */
"latin2", /* name */
9, /* number */
"latin2", /* name */
ctype_latin2,
to_lower_latin2,
to_upper_latin2,
sort_order_latin2,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_2_uni, /* tab_to_uni */
idx_uni_8859_2, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2532,20 +3462,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_latin5
{
30, /* number */
"latin5", /* name */
30, /* number */
"latin5", /* name */
ctype_latin5,
to_lower_latin5,
to_upper_latin5,
sort_order_latin5,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_8859_9_uni, /* tab_to_uni */
idx_uni_8859_9, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2558,20 +3492,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_sjis
{
13, /* number */
"sjis", /* name */
13, /* number */
"sjis", /* name */
ctype_sjis,
to_lower_sjis,
to_upper_sjis,
sort_order_sjis,
1, /* strxfrm_multiply */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
1, /* strxfrm_multiply */
my_strnncoll_sjis,
my_strnxfrm_sjis,
my_like_range_sjis,
2, /* mbmaxlen */
2, /* mbmaxlen */
ismbchar_sjis,
ismbhead_sjis,
mbcharlen_sjis,
NULL, /* mb_wc */
NULL, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2584,20 +3522,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_swe7
{
10, /* number */
"swe7", /* name */
10, /* number */
"swe7", /* name */
ctype_swe7,
to_lower_swe7,
to_upper_swe7,
sort_order_swe7,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2610,20 +3552,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_tis620
{
18, /* number */
"tis620", /* name */
18, /* number */
"tis620", /* name */
ctype_tis620,
to_lower_tis620,
to_upper_tis620,
sort_order_tis620,
4, /* strxfrm_multiply */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
4, /* strxfrm_multiply */
my_strnncoll_tis620,
my_strnxfrm_tis620,
my_like_range_tis620,
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2642,14 +3588,18 @@ CHARSET_INFO compiled_charsets[] = {
to_lower_ujis,
to_upper_ujis,
sort_order_ujis,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
3, /* mbmaxlen */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
3, /* mbmaxlen */
ismbchar_ujis,
ismbhead_ujis,
mbcharlen_ujis,
NULL, /* mb_wc */
NULL, /* wc_mb */
my_caseup_str_mb,
my_casedn_str_mb,
my_caseup_mb,
......@@ -2662,20 +3612,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_utf8
{
33, /* number */
"utf8", /* name */
ctype_utf8, /* ctype */
to_lower_utf8, /* to_lower */
to_upper_utf8, /* to_upper */
to_upper_utf8, /* sort_order */
1, /* strxfrm_multiply */
my_strnncoll_utf8, /* strnncoll */
my_strnxfrm_utf8, /* strnxfrm */
NULL, /* like_range */
6, /* mbmaxlen */
my_ismbchar_utf8, /* ismbchar */
my_ismbhead_utf8, /* ismbhead */
my_mbcharlen_utf8, /* mbcharlen */
33, /* number */
"utf8", /* name */
ctype_utf8, /* ctype */
to_lower_utf8, /* to_lower */
to_upper_utf8, /* to_upper */
to_upper_utf8, /* sort_order */
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
1, /* strxfrm_multiply */
my_strnncoll_utf8, /* strnncoll */
my_strnxfrm_utf8, /* strnxfrm */
NULL, /* like_range */
6, /* mbmaxlen */
my_ismbchar_utf8, /* ismbchar */
my_ismbhead_utf8, /* ismbhead */
my_mbcharlen_utf8, /* mbcharlen */
my_utf8_uni, /* mb_wc */
my_uni_utf8, /* wc_mb */
my_caseup_str_utf8,
my_casedn_str_utf8,
my_caseup_utf8,
......@@ -2688,20 +3642,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_usa7
{
11, /* number */
"usa7", /* name */
11, /* number */
"usa7", /* name */
ctype_usa7,
to_lower_usa7,
to_upper_usa7,
sort_order_usa7,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_us_ascii_uni, /* tab_to_uni */
idx_uni_us_ascii, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2714,20 +3672,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_win1250
{
26, /* number */
"win1250", /* name */
26, /* number */
"win1250", /* name */
ctype_win1250,
to_lower_win1250,
to_upper_win1250,
sort_order_win1250,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_cp1250_uni, /* tab_to_uni */
idx_uni_cp1250, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2740,20 +3702,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_win1251ukr
{
23, /* number */
"win1251ukr", /* name */
23, /* number */
"win1251ukr", /* name */
ctype_win1251ukr,
to_lower_win1251ukr,
to_upper_win1251ukr,
sort_order_win1251ukr,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_cp1251_uni, /* tab_to_uni */
idx_uni_cp1251, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2766,20 +3732,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_armscii8
{
32, /* number */
"armscii8", /* name */
32, /* number */
"armscii8", /* name */
ctype_armscii8,
to_lower_armscii8,
to_upper_armscii8,
sort_order_armscii8,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_armscii_8_uni, /* tab_to_uni */
idx_uni_armscii_8, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2792,20 +3762,24 @@ CHARSET_INFO compiled_charsets[] = {
#ifdef HAVE_CHARSET_win1251
{
17, /* number */
"win1251", /* name */
17, /* number */
"win1251", /* name */
ctype_win1251,
to_lower_win1251,
to_upper_win1251,
sort_order_win1251,
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
tab_cp1251_uni, /* tab_to_uni */
idx_uni_cp1251, /* tab_from_uni */
0, /* strxfrm_multiply */
NULL, /* strnncoll */
NULL, /* strnxfrm */
NULL, /* like_range */
0, /* mbmaxlen */
NULL, /* ismbchar */
NULL, /* ismbhead */
NULL, /* mbcharlen */
my_mb_wc_8bit, /* mb_wc */
my_wc_mb_8bit, /* wc_mb */
my_caseup_str_8bit,
my_casedn_str_8bit,
my_caseup_8bit,
......@@ -2816,14 +3790,15 @@ CHARSET_INFO compiled_charsets[] = {
},
#endif
{
0, /* end-of-list marker */
0, /* end-of-list marker */
NullS,
NULL,
NULL,
NULL,
NULL,
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
0,
NULL,
NULL,
......@@ -2832,6 +3807,10 @@ CHARSET_INFO compiled_charsets[] = {
NULL,
NULL,
NULL,
NULL, /* mb_wc */
NULL, /* wc_mb */
NULL,
NULL,
NULL,
......
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