Commit c8627ff1 authored by hf@genie.(none)'s avatar hf@genie.(none)

Merge abotchkov@work.mysql.com:/home/bk/mysql-4.1

into genie.(none):/home/hf/work/mysql-4.1
parents 6e4eda35 cee9813f
...@@ -76,3 +76,4 @@ walrus@mysql.com ...@@ -76,3 +76,4 @@ walrus@mysql.com
worm@altair.is.lan worm@altair.is.lan
zak@balfor.local zak@balfor.local
zak@linux.local zak@linux.local
hf@genie.(none)
...@@ -32,7 +32,7 @@ static void print_record(char * record,my_off_t offs,const char * tail); ...@@ -32,7 +32,7 @@ static void print_record(char * record,my_off_t offs,const char * tail);
static int run_test(const char *filename); static int run_test(const char *filename);
int main(int argc,char *argv[]) int main(int argc __attribute__((unused)),char *argv[] __attribute__((unused)))
{ {
MY_INIT(argv[0]); MY_INIT(argv[0]);
exit(run_test("rt_test")); exit(run_test("rt_test"));
...@@ -199,7 +199,6 @@ int run_test(const char *filename) ...@@ -199,7 +199,6 @@ int run_test(const char *filename)
} }
} }
/*
if (!silent) if (!silent)
printf("- Updating rows with position\n"); printf("- Updating rows with position\n");
...@@ -227,8 +226,6 @@ int run_test(const char *filename) ...@@ -227,8 +226,6 @@ int run_test(const char *filename)
} }
} }
*/
if((error=read_with_pos(file,silent))) if((error=read_with_pos(file,silent)))
goto err; goto err;
...@@ -343,7 +340,8 @@ static int read_with_pos (MI_INFO * file,int silent) ...@@ -343,7 +340,8 @@ static int read_with_pos (MI_INFO * file,int silent)
} }
static void bprint_record(char * record, my_off_t offs,const char * tail) static void bprint_record(char * record, my_off_t offs __attribute__((unused)),
const char * tail)
{ {
int i; int i;
char * pos; char * pos;
......
...@@ -94,7 +94,8 @@ static int sp_mbr_from_wkb(uchar *wkb, uint size, uint n_dims, double *mbr) ...@@ -94,7 +94,8 @@ static int sp_mbr_from_wkb(uchar *wkb, uint size, uint n_dims, double *mbr)
Add one point stored in wkb to mbr Add one point stored in wkb to mbr
*/ */
static int sp_add_point_to_mbr(uchar *(*wkb), uchar *end, uint n_dims, static int sp_add_point_to_mbr(uchar *(*wkb), uchar *end, uint n_dims,
uchar byte_order, double *mbr) uchar byte_order __attribute__((unused)),
double *mbr)
{ {
double ord; double ord;
double *mbr_end = mbr + n_dims * 2; double *mbr_end = mbr + n_dims * 2;
......
...@@ -41,7 +41,7 @@ static void rtree_PrintWKB(uchar *wkb, uint n_dims); ...@@ -41,7 +41,7 @@ static void rtree_PrintWKB(uchar *wkb, uint n_dims);
static char blob_key[MAX_REC_LENGTH]; static char blob_key[MAX_REC_LENGTH];
int main(int argc,char *argv[]) int main(int argc __attribute__((unused)),char *argv[] __attribute__((unused)))
{ {
MY_INIT(argv[0]); MY_INIT(argv[0]);
exit(run_test("sp_test")); exit(run_test("sp_test"));
...@@ -320,14 +320,16 @@ static int read_with_pos (MI_INFO * file,int silent) ...@@ -320,14 +320,16 @@ static int read_with_pos (MI_INFO * file,int silent)
} }
static void bprint_record(char * record, my_off_t offs,const char * tail) static void bprint_record(char * record, my_off_t offs __attribute__((unused)),
const char * tail)
{ {
int i; int i;
char * pos; char * pos;
i=(unsigned char)record[0]; i=(unsigned char)record[0];
printf("%02X ",i); printf("%02X ",i);
for( pos=record+1, i=0; i<32; i++,pos++){ for( pos=record+1, i=0; i<32; i++,pos++)
{
int b=(unsigned char)*pos; int b=(unsigned char)*pos;
printf("%02X",b); printf("%02X",b);
} }
......
...@@ -150,5 +150,5 @@ t1 CREATE TABLE `t1` ( ...@@ -150,5 +150,5 @@ t1 CREATE TABLE `t1` (
KEY `b_29` (`b`), KEY `b_29` (`b`),
KEY `b_30` (`b`), KEY `b_30` (`b`),
KEY `b_31` (`b`) KEY `b_31` (`b`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
...@@ -139,7 +139,7 @@ t2 CREATE TABLE `t2` ( ...@@ -139,7 +139,7 @@ t2 CREATE TABLE `t2` (
`inhalt` text character set latin1, `inhalt` text character set latin1,
KEY `tig` (`ticket`), KEY `tig` (`ticket`),
FULLTEXT KEY `tix` (`inhalt`) FULLTEXT KEY `tix` (`inhalt`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
select * from t2 where MATCH inhalt AGAINST (NULL); select * from t2 where MATCH inhalt AGAINST (NULL);
ticket inhalt ticket inhalt
select * from t2 where MATCH inhalt AGAINST ('foobar'); select * from t2 where MATCH inhalt AGAINST ('foobar');
......
...@@ -807,7 +807,7 @@ Table Create Table ...@@ -807,7 +807,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` char(20) character set latin1 default NULL, `a` char(20) character set latin1 default NULL,
KEY `a` (`a`) KEY `a` (`a`)
) TYPE=InnoDB ) TYPE=InnoDB CHARSET=latin1
drop table t1; drop table t1;
create temporary table t1 (a int not null auto_increment, primary key(a)) type=innodb; create temporary table t1 (a int not null auto_increment, primary key(a)) type=innodb;
insert into t1 values (NULL),(NULL),(NULL); insert into t1 values (NULL),(NULL),(NULL);
......
...@@ -174,7 +174,7 @@ t3 CREATE TABLE `t3` ( ...@@ -174,7 +174,7 @@ t3 CREATE TABLE `t3` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` char(20) character set latin1 default NULL, `b` char(20) character set latin1 default NULL,
KEY `a` (`a`) KEY `a` (`a`)
) TYPE=MRG_MyISAM UNION=(t1,t2) ) TYPE=MRG_MyISAM CHARSET=latin1 UNION=(t1,t2)
create table t4 (a int not null, b char(10), key(a)) type=MERGE UNION=(t1,t2); create table t4 (a int not null, b char(10), key(a)) type=MERGE UNION=(t1,t2);
select * from t4; select * from t4;
Can't open file: 't4.MRG'. (errno: 143) Can't open file: 't4.MRG'. (errno: 143)
...@@ -249,14 +249,14 @@ t3 CREATE TABLE `t3` ( ...@@ -249,14 +249,14 @@ t3 CREATE TABLE `t3` (
`incr` int(11) NOT NULL default '0', `incr` int(11) NOT NULL default '0',
`othr` int(11) NOT NULL default '0', `othr` int(11) NOT NULL default '0',
PRIMARY KEY (`incr`) PRIMARY KEY (`incr`)
) TYPE=MRG_MyISAM UNION=(t1,t2) ) TYPE=MRG_MyISAM CHARSET=latin1 UNION=(t1,t2)
alter table t3 drop primary key; alter table t3 drop primary key;
show create table t3; show create table t3;
Table Create Table Table Create Table
t3 CREATE TABLE `t3` ( t3 CREATE TABLE `t3` (
`incr` int(11) NOT NULL default '0', `incr` int(11) NOT NULL default '0',
`othr` int(11) NOT NULL default '0' `othr` int(11) NOT NULL default '0'
) TYPE=MRG_MyISAM UNION=(t1,t2) ) TYPE=MRG_MyISAM CHARSET=latin1 UNION=(t1,t2)
drop table t3,t2,t1; drop table t3,t2,t1;
create table t1 (a int not null) type=merge; create table t1 (a int not null) type=merge;
select * from t1; select * from t1;
...@@ -287,28 +287,28 @@ t3 CREATE TABLE `t3` ( ...@@ -287,28 +287,28 @@ t3 CREATE TABLE `t3` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0',
KEY `a` (`a`,`b`) KEY `a` (`a`,`b`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
show create table t4; show create table t4;
Table Create Table Table Create Table
t4 CREATE TABLE `t4` ( t4 CREATE TABLE `t4` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0',
KEY `a` (`a`,`b`) KEY `a` (`a`,`b`)
) TYPE=MRG_MyISAM UNION=(t1,t2) ) TYPE=MRG_MyISAM CHARSET=latin1 UNION=(t1,t2)
show create table t5; show create table t5;
Table Create Table Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0',
KEY `a` (`a`,`b`) KEY `a` (`a`,`b`)
) TYPE=MRG_MyISAM INSERT_METHOD=FIRST UNION=(t1,t2) ) TYPE=MRG_MyISAM CHARSET=latin1 INSERT_METHOD=FIRST UNION=(t1,t2)
show create table t6; show create table t6;
Table Create Table Table Create Table
t6 CREATE TABLE `t6` ( t6 CREATE TABLE `t6` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0',
KEY `a` (`a`,`b`) KEY `a` (`a`,`b`)
) TYPE=MRG_MyISAM INSERT_METHOD=LAST UNION=(t1,t2) ) TYPE=MRG_MyISAM CHARSET=latin1 INSERT_METHOD=LAST UNION=(t1,t2)
insert into t1 values (1,1),(1,2),(1,3),(1,4); insert into t1 values (1,1),(1,2),(1,3),(1,4);
insert into t2 values (2,1),(2,2),(2,3),(2,4); insert into t2 values (2,1),(2,2),(2,3),(2,4);
select * from t3 order by b,a limit 3; select * from t3 order by b,a limit 3;
...@@ -373,7 +373,7 @@ t4 CREATE TABLE `t4` ( ...@@ -373,7 +373,7 @@ t4 CREATE TABLE `t4` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0',
KEY `a` (`a`,`b`) KEY `a` (`a`,`b`)
) TYPE=MRG_MyISAM UNION=(t1,t2,t3) ) TYPE=MRG_MyISAM CHARSET=latin1 UNION=(t1,t2,t3)
select * from t4 order by a,b; select * from t4 order by a,b;
a b a b
1 1 1 1
...@@ -399,7 +399,7 @@ t4 CREATE TABLE `t4` ( ...@@ -399,7 +399,7 @@ t4 CREATE TABLE `t4` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` int(11) NOT NULL default '0', `b` int(11) NOT NULL default '0',
KEY `a` (`a`,`b`) KEY `a` (`a`,`b`)
) TYPE=MRG_MyISAM INSERT_METHOD=FIRST UNION=(t1,t2,t3) ) TYPE=MRG_MyISAM CHARSET=latin1 INSERT_METHOD=FIRST UNION=(t1,t2,t3)
insert into t4 values (4,1),(4,2); insert into t4 values (4,1),(4,2);
select * from t1 order by a,b; select * from t1 order by a,b;
a b a b
......
...@@ -77,13 +77,13 @@ show create table t1; ...@@ -77,13 +77,13 @@ show create table t1;
Table Create Table Table Create Table
t1 CREATE TEMPORARY TABLE `t1` ( t1 CREATE TEMPORARY TABLE `t1` (
`a` int(11) NOT NULL default '0' `a` int(11) NOT NULL default '0'
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
alter table t1 rename t2; alter table t1 rename t2;
show create table t2; show create table t2;
Table Create Table Table Create Table
t2 CREATE TEMPORARY TABLE `t2` ( t2 CREATE TEMPORARY TABLE `t2` (
`a` int(11) NOT NULL default '0' `a` int(11) NOT NULL default '0'
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t2; drop table t2;
create table t1 ( create table t1 (
test_set set( 'val1', 'val2', 'val3' ) not null default '', test_set set( 'val1', 'val2', 'val3' ) not null default '',
...@@ -96,7 +96,7 @@ t1 CREATE TABLE `t1` ( ...@@ -96,7 +96,7 @@ t1 CREATE TABLE `t1` (
`test_set` set('val1','val2','val3') NOT NULL default '', `test_set` set('val1','val2','val3') NOT NULL default '',
`name` char(20) character set latin1 default 'O''Brien' COMMENT 'O''Brien as default', `name` char(20) character set latin1 default 'O''Brien' COMMENT 'O''Brien as default',
`c` int(11) NOT NULL default '0' COMMENT 'int column' `c` int(11) NOT NULL default '0' COMMENT 'int column'
) TYPE=MyISAM COMMENT='it''s a table' ) TYPE=MyISAM CHARSET=latin1 COMMENT='it''s a table'
show full columns from t1; show full columns from t1;
Field Type Null Key Default Extra Privileges Comment Field Type Null Key Default Extra Privileges Comment
test_set set('val1','val2','val3') select,insert,update,references test_set set('val1','val2','val3') select,insert,update,references
...@@ -109,7 +109,7 @@ Table Create Table ...@@ -109,7 +109,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
UNIQUE KEY `aa` (`a`) UNIQUE KEY `aa` (`a`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
create table t1 (a int not null, primary key (a)); create table t1 (a int not null, primary key (a));
show create table t1; show create table t1;
...@@ -117,7 +117,7 @@ Table Create Table ...@@ -117,7 +117,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
PRIMARY KEY (`a`) PRIMARY KEY (`a`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
flush tables; flush tables;
show open tables; show open tables;
...@@ -135,7 +135,7 @@ t1 CREATE TABLE `t1` ( ...@@ -135,7 +135,7 @@ t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` char(10) character set latin1 default NULL, `b` char(10) character set latin1 default NULL,
KEY `b` (`b`) KEY `b` (`b`)
) TYPE=MyISAM MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test' ) TYPE=MyISAM CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test'
alter table t1 MAX_ROWS=200 ROW_FORMAT=dynamic PACK_KEYS=0; alter table t1 MAX_ROWS=200 ROW_FORMAT=dynamic PACK_KEYS=0;
show create table t1; show create table t1;
Table Create Table Table Create Table
...@@ -143,7 +143,7 @@ t1 CREATE TABLE `t1` ( ...@@ -143,7 +143,7 @@ t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` varchar(10) character set latin1 default NULL, `b` varchar(10) character set latin1 default NULL,
KEY `b` (`b`) KEY `b` (`b`)
) TYPE=MyISAM MIN_ROWS=10 MAX_ROWS=200 AVG_ROW_LENGTH=10 PACK_KEYS=0 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='test' ) TYPE=MyISAM CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=200 AVG_ROW_LENGTH=10 PACK_KEYS=0 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='test'
ALTER TABLE t1 AVG_ROW_LENGTH=0 CHECKSUM=0 COMMENT="" MIN_ROWS=0 MAX_ROWS=0 PACK_KEYS=DEFAULT DELAY_KEY_WRITE=0 ROW_FORMAT=default; ALTER TABLE t1 AVG_ROW_LENGTH=0 CHECKSUM=0 COMMENT="" MIN_ROWS=0 MAX_ROWS=0 PACK_KEYS=DEFAULT DELAY_KEY_WRITE=0 ROW_FORMAT=default;
show create table t1; show create table t1;
Table Create Table Table Create Table
...@@ -151,7 +151,7 @@ t1 CREATE TABLE `t1` ( ...@@ -151,7 +151,7 @@ t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0', `a` int(11) NOT NULL default '0',
`b` varchar(10) character set latin1 default NULL, `b` varchar(10) character set latin1 default NULL,
KEY `b` (`b`) KEY `b` (`b`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
create table t1 (a decimal(9,2), b decimal (9,0), e double(9,2), f double(5,0), h float(3,2), i float(3,0)); create table t1 (a decimal(9,2), b decimal (9,0), e double(9,2), f double(5,0), h float(3,2), i float(3,0));
show columns from t1; show columns from t1;
......
...@@ -39,7 +39,7 @@ t9 CREATE TABLE `t9` ( ...@@ -39,7 +39,7 @@ t9 CREATE TABLE `t9` (
`b` char(16) character set latin1 NOT NULL default '', `b` char(16) character set latin1 NOT NULL default '',
`c` int(11) NOT NULL default '0', `c` int(11) NOT NULL default '0',
PRIMARY KEY (`a`) PRIMARY KEY (`a`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
alter table t9 rename t8, add column d int not null; alter table t9 rename t8, add column d int not null;
alter table t8 rename t7; alter table t8 rename t7;
rename table t7 to t9; rename table t7 to t9;
...@@ -61,5 +61,5 @@ t9 CREATE TABLE `t9` ( ...@@ -61,5 +61,5 @@ t9 CREATE TABLE `t9` (
`c` int(11) NOT NULL default '0', `c` int(11) NOT NULL default '0',
`d` int(11) NOT NULL default '0', `d` int(11) NOT NULL default '0',
PRIMARY KEY (`a`) PRIMARY KEY (`a`)
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop database test_mysqltest; drop database test_mysqltest;
...@@ -1627,12 +1627,12 @@ show create table t1; ...@@ -1627,12 +1627,12 @@ show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` enum('','a','b') NOT NULL default '' `a` enum('','a','b') NOT NULL default ''
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
create table t1 (a enum (' ','a','b ') not null default 'b '); create table t1 (a enum (' ','a','b ') not null default 'b ');
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` enum('','a','b') NOT NULL default 'b' `a` enum('','a','b') NOT NULL default 'b'
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
...@@ -3,12 +3,12 @@ show create table t1; ...@@ -3,12 +3,12 @@ show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` set('','a','b') NOT NULL default '' `a` set('','a','b') NOT NULL default ''
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
create table t1 (a set (' ','a','b ') not null default 'b '); create table t1 (a set (' ','a','b ') not null default 'b ');
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`a` set('','a','b') NOT NULL default 'b' `a` set('','a','b') NOT NULL default 'b'
) TYPE=MyISAM ) TYPE=MyISAM CHARSET=latin1
drop table t1; drop table t1;
...@@ -1948,7 +1948,8 @@ void Item_func_conv_charset3::fix_length_and_dec() ...@@ -1948,7 +1948,8 @@ void Item_func_conv_charset3::fix_length_and_dec()
String *Item_func_set_collation::val_str(String *str) String *Item_func_set_collation::val_str(String *str)
{ {
str=args[0]->val_str(str); str=args[0]->val_str(str);
null_value=args[0]->null_value; if ((null_value=args[0]->null_value))
return 0;
str->set_charset(set_collation); str->set_charset(set_collation);
return str; return str;
} }
...@@ -1966,8 +1967,10 @@ bool Item_func_set_collation::fix_fields(THD *thd,struct st_table_list *tables, ...@@ -1966,8 +1967,10 @@ bool Item_func_set_collation::fix_fields(THD *thd,struct st_table_list *tables,
return 1; return 1;
maybe_null=args[0]->maybe_null; maybe_null=args[0]->maybe_null;
binary=args[0]->binary; binary=args[0]->binary;
const_item_cache=args[0]->const_item();
str_value.set_charset(set_collation); str_value.set_charset(set_collation);
with_sum_func= with_sum_func || args[0]->with_sum_func;
used_tables_cache=args[0]->used_tables();
const_item_cache=args[0]->const_item();
fix_length_and_dec(); fix_length_and_dec();
return 0; return 0;
} }
...@@ -1992,7 +1995,6 @@ bool Item_func_set_collation::eq(const Item *item, bool binary_cmp) const ...@@ -1992,7 +1995,6 @@ bool Item_func_set_collation::eq(const Item *item, bool binary_cmp) const
return 1; return 1;
} }
String *Item_func_charset::val_str(String *str) String *Item_func_charset::val_str(String *str)
{ {
String *res = args[0]->val_str(str); String *res = args[0]->val_str(str);
......
...@@ -504,10 +504,7 @@ class Item_func_set_collation :public Item_str_func ...@@ -504,10 +504,7 @@ class Item_func_set_collation :public Item_str_func
bool fix_fields(THD *thd,struct st_table_list *tables, Item **ref); bool fix_fields(THD *thd,struct st_table_list *tables, Item **ref);
String *val_str(String *); String *val_str(String *);
void fix_length_and_dec() void fix_length_and_dec()
{ { max_length = args[0]->max_length; }
max_length = args[0]->max_length;
str_value.set_charset(set_collation);
}
bool eq(const Item *item, bool binary_cmp) const; bool eq(const Item *item, bool binary_cmp) const;
const char *func_name() const { return "set_collation"; } const char *func_name() const { return "set_collation"; }
}; };
......
...@@ -17,33 +17,52 @@ swe7 10 ...@@ -17,33 +17,52 @@ swe7 10
usa7 11 usa7 11
ujis 12 ujis 12
sjis 13 sjis 13
# cp1251 is depreciated. Use cp1251cias, cp1251csas or cp1251bin instead.
cp1251 14 cp1251 14
danish 15 danish 15
hebrew 16 hebrew 16
# The win1251 character set is deprecated. Please use cp1251 instead.
win1251 17
tis620 18 tis620 18
euc_kr 19 euc_kr 19
estonia 20 estonia 20
hungarian 21 hungarian 21
koi8_ukr 22 koi8_ukr 22
# win1251ukr is depreciated. Use cp1251cias, cp1251csas or cp1251bin instead.
win1251ukr 23 win1251ukr 23
gb2312 24 gb2312 24
greek 25 greek 25
win1250 26 win1250 26
croat 27 croat 27
gbk 28 gbk 28
# cp1257 is depreciated.
# Use cp1257ltlvciai, cp1257ltlvcsas, cp1257bin, cp1257ltlvcias instead
cp1257 29 cp1257 29
latin5 30 latin5 30
latin1_de 31 latin1_de 31
armscii8 32 armscii8 32
utf8 33 utf8 33
win1250ch 34 win1250ch 34
ucs2 35 ucs2 35
cp866 36 cp866 36
keybcs2 37 keybcs2 37
macce 38 macce 38
macroman 39 macroman 39
pclatin2 40 pclatin2 40
latvian 41 latvian 41
latvian1 42 latvian1 42
maccebin 43
macceciai 44
maccecias 45
maccecsas 46
latin1bin 47
latin1cias 48
latin1csas 49
cp1251bin 50
cp1251cias 51
cp1251csas 52
macromanbin 53
macromancias 54
macromanciai 55
macromancsas 56
...@@ -72,22 +72,3 @@ ...@@ -72,22 +72,3 @@
6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
5B 5C 5D 5E 5F 60 62 63 64 65 66 67 68 69 6A 6B 5B 5C 5D 5E 5F 60 62 63 64 65 66 67 68 69 6A 6B
6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B
# Unicode mapping (256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0402 0403 201A 0453 201E 2026 2020 2021 0000 2030 0409 2039 040A 040C 040B 040F
0452 2018 2019 201C 201D 2022 2013 2014 0000 2122 0459 203A 045A 045C 045B 045F
00A0 040E 045E 0408 00A4 0490 00A6 00A7 0401 00A9 0404 00AB 00AC 00AD 00AE 0407
00B0 00B1 0406 0456 0491 00B5 00B6 00B7 0451 2116 0454 00BB 0458 0405 0455 0457
0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041A 041B 041C 041D 041E 041F
0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042A 042B 042C 042D 042E 042F
0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043A 043B 043C 043D 043E 043F
0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044A 044B 044C 044D 044E 044F
#
# cp1251
# Binary sort order
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 00 02 00 00 00 00 00 00 01 00 01 01 01 01
02 00 00 00 00 00 00 00 00 00 02 00 02 02 02 02
00 01 02 01 00 01 00 00 01 00 01 00 00 00 00 01
00 00 01 02 02 00 00 00 02 00 02 00 02 01 02 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
90 83 82 83 84 85 86 87 88 89 9A 8B 9C 9D 9E 9F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A2 A2 BC A4 B4 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B3 B3 B4 B5 B6 B7 B8 B9 BA BB BC BE BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 81 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
80 91 92 93 94 95 96 97 98 99 8A 9B 8C 9D 8E 8F
A0 A1 A1 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B2 A5 B5 B6 B7 A8 B9 AA BB A3 BD BD AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0402 0403 201A 0453 201E 2026 2020 2021 0000 2030 0409 2039 040A 040C 040B 040F
0452 2018 2019 201C 201D 2022 2013 2014 0000 2122 0459 203A 045A 045C 045B 045F
00A0 040E 045E 0408 00A4 0490 00A6 00A7 0401 00A9 0404 00AB 00AC 00AD 00AE 0407
00B0 00B1 0406 0456 0491 00B5 00B6 00B7 0451 2116 0454 00BB 0458 0405 0455 0457
0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041A 041B 041C 041D 041E 041F
0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042A 042B 042C 042D 042E 042F
0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043A 043B 043C 043D 043E 043F
0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044A 044B 044C 044D 044E 044F
#
# cp1251
# Case insensitive, accent sensitive
# Sort order is correct for Belarusian, Bulgarian, Macedonian,
# Russian, Serbian, Mongolian languages. Almost good for Ukrainian,
# except that "CYRILLIC LETTER SOFT SIGN" is not in the end of alphabet,
# but between YERU and E.
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 00 02 00 00 00 00 00 00 01 00 01 01 01 01
02 00 00 00 00 00 00 00 00 00 02 00 02 02 02 02
00 01 02 01 00 01 00 00 01 00 01 00 00 00 00 01
00 00 01 02 02 00 00 00 02 00 02 00 02 01 02 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
90 83 82 83 84 85 86 87 88 89 9A 8B 9C 9D 9E 9F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A2 A2 BC A4 B4 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B3 B3 B4 B5 B6 B7 B8 B9 BA BB BC BE BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 81 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
80 91 92 93 94 95 96 97 98 99 8A 9B 8C 9D 8E 8F
A0 A1 A1 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B2 A5 B5 B6 B7 A8 B9 AA BB A3 BD BD AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 43 45 47 49 4B 4D 4F 51 53 55 57 59 5B 5D
5F 61 63 65 67 69 6B 6D 6F 71 73 D3 D4 D5 D6 D7
D8 41 43 45 47 49 4B 4D 4F 51 53 55 57 59 5B 5D
5F 61 63 65 67 69 6B 6D 6F 71 73 D9 DA DB DC DD
81 83 DE 83 DF E0 E1 E2 E3 E4 A1 E5 A7 9D B3 C1
81 E6 E7 E8 E9 EA EB EC ED EE A1 EF A7 9D B3 C1
F0 B7 B7 99 F1 7D F2 F3 87 F4 89 F5 F6 F7 F8 95
F9 FA 93 93 7D FB FC FD 87 FE 89 FF 99 8F 8F 95
75 77 79 7B 7F 85 8B 8D 91 97 9B 9F A3 A5 A9 AB
AD AF B1 B5 B9 BB BD BF C3 C5 C7 C9 CB CD CF D1
75 77 79 7B 7F 85 8B 8D 91 97 9B 9F A3 A5 A9 AB
AD AF B1 B5 B9 BB BD BF C3 C5 C7 C9 CB CD CF D1
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0402 0403 201A 0453 201E 2026 2020 2021 0000 2030 0409 2039 040A 040C 040B 040F
0452 2018 2019 201C 201D 2022 2013 2014 0000 2122 0459 203A 045A 045C 045B 045F
00A0 040E 045E 0408 00A4 0490 00A6 00A7 0401 00A9 0404 00AB 00AC 00AD 00AE 0407
00B0 00B1 0406 0456 0491 00B5 00B6 00B7 0451 2116 0454 00BB 0458 0405 0455 0457
0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041A 041B 041C 041D 041E 041F
0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042A 042B 042C 042D 042E 042F
0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043A 043B 043C 043D 043E 043F
0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044A 044B 044C 044D 044E 044F
#
# cp1251
# Case sensitive, accent sensitive
# Sort order is correct for Belarusian, Bulgarian, Macedonian,
# Russian, Serbian, Mongolian languages. Almost good for Ukrainian,
# except that "CYRILLIC LETTER SOFT SIGN" is not in the end of alphabet,
# but between YERU and E.
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 00 02 00 00 00 00 00 00 01 00 01 01 01 01
02 00 00 00 00 00 00 00 00 00 02 00 02 02 02 02
00 01 02 01 00 01 00 00 01 00 01 00 00 00 00 01
00 00 01 02 02 00 00 00 02 00 02 00 02 01 02 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
90 83 82 83 84 85 86 87 88 89 9A 8B 9C 9D 9E 9F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A2 A2 BC A4 B4 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B3 B3 B4 B5 B6 B7 B8 B9 BA BB BC BE BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 81 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
80 91 92 93 94 95 96 97 98 99 8A 9B 8C 9D 8E 8F
A0 A1 A1 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B2 A5 B5 B6 B7 A8 B9 AA BB A3 BD BD AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 43 45 47 49 4B 4D 4F 51 53 55 57 59 5B 5D
5F 61 63 65 67 69 6B 6D 6F 71 73 D3 D4 D5 D6 D7
D8 42 44 46 48 4A 4C 4E 50 52 54 56 58 5A 5C 5E
60 62 64 66 68 6A 6C 6E 70 72 74 D9 DA DB DC DD
81 83 DE 84 DF E0 E1 E2 E3 E4 A1 E5 A7 9D B3 C1
82 E6 E7 E8 E9 EA EB EC ED EE A2 EF A8 9E B4 C2
F0 B7 B8 99 F1 7D F2 F3 87 F4 89 F5 F6 F7 F8 95
F9 FA 93 94 7E FB FC FD 88 FE 8A FF 9A 8F 90 96
75 77 79 7B 7F 85 8B 8D 91 97 9B 9F A3 A5 A9 AB
AD AF B1 B5 B9 BB BD BF C3 C5 C7 C9 CB CD CF D1
76 78 7A 7C 80 86 8C 8E 92 98 9C A0 A4 A6 AA AC
AE B0 B2 B6 BA BC BE C0 C4 C6 C8 CA CC CE D0 D2
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0402 0403 201A 0453 201E 2026 2020 2021 0000 2030 0409 2039 040A 040C 040B 040F
0452 2018 2019 201C 201D 2022 2013 2014 0000 2122 0459 203A 045A 045C 045B 045F
00A0 040E 045E 0408 00A4 0490 00A6 00A7 0401 00A9 0404 00AB 00AC 00AD 00AE 0407
00B0 00B1 0406 0456 0491 00B5 00B6 00B7 0451 2116 0454 00BB 0458 0405 0455 0457
0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041A 041B 041C 041D 041E 041F
0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042A 042B 042C 042D 042E 042F
0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043A 043B 043C 043D 043E 043F
0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044A 044B 044C 044D 044E 044F
#
# cp1257 character set
#
# Binary sorting order
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 01
00 00 00 00 00 00 00 00 02 00 02 00 00 00 00 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 BA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 A8 B9 BA BB BC BD BE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
20AC 0000 201A 0000 201E 2026 2020 2021 0000 2030 0000 2039 0000 00A8 02C7 00B8
0000 2018 2019 201C 201D 2022 2013 2014 0000 2122 0000 203A 0000 00AF 02DB 0000
00A0 0000 00A2 00A3 00A4 0000 00A6 00A7 00D8 00A9 0156 00AB 00AC 00AD 00AE 00C6
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00F8 00B9 0157 00BB 00BC 00BD 00BE 00E6
0104 012E 0100 0106 00C4 00C5 0118 0112 010C 00C9 0179 0116 0122 0136 012A 013B
0160 0143 0145 00D3 014C 00D5 00D6 00D7 0172 0141 015A 016A 00DC 017B 017D 00DF
0105 012F 0101 0107 00E4 00E5 0119 0113 010D 00E9 017A 0117 0123 0137 012B 013C
0161 0144 0146 00F3 014D 00F5 00F6 00F7 0173 0142 015B 016B 00FC 017C 017E 02D9
#
# cp1257 character set
#
# Case-insensitive, accent insensitive sorting order
# For Latvian and Lithuanian languages
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 01
00 00 00 00 00 00 00 00 02 00 02 00 00 00 00 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 BA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 A8 B9 BA BB BC BD BE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 4D 4F 55 57 61 63 67 69 6F 71 75 7B 7D 83
8F 91 93 97 9E A0 A8 AA AC AE B0 B8 B9 BA BB BC
BD 41 4D 4F 55 57 61 63 67 69 6F 71 75 7B 7D 83
8F 91 93 97 9E A0 A8 AA AC AE B0 BE BF C0 C1 C4
C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4
D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4
E5 E6 E7 E8 E9 EA EB EC 83 ED 93 EE EF F0 F1 41
F2 F3 F4 F5 F6 F7 F8 F9 83 FA 93 FB FC FD FE 41
41 69 41 4F 41 41 57 57 4F 57 B0 57 63 71 69 75
97 7D 7D 83 83 83 83 C2 A0 75 97 A0 A0 B0 B0 97
41 69 41 4F 41 41 57 57 4F 57 B0 57 63 71 69 75
97 7D 7D 83 83 83 83 C3 A0 75 97 A0 A0 B0 B0 FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
20AC 0000 201A 0000 201E 2026 2020 2021 0000 2030 0000 2039 0000 00A8 02C7 00B8
0000 2018 2019 201C 201D 2022 2013 2014 0000 2122 0000 203A 0000 00AF 02DB 0000
00A0 0000 00A2 00A3 00A4 0000 00A6 00A7 00D8 00A9 0156 00AB 00AC 00AD 00AE 00C6
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00F8 00B9 0157 00BB 00BC 00BD 00BE 00E6
0104 012E 0100 0106 00C4 00C5 0118 0112 010C 00C9 0179 0116 0122 0136 012A 013B
0160 0143 0145 00D3 014C 00D5 00D6 00D7 0172 0141 015A 016A 00DC 017B 017D 00DF
0105 012F 0101 0107 00E4 00E5 0119 0113 010D 00E9 017A 0117 0123 0137 012B 013C
0161 0144 0146 00F3 014D 00F5 00F6 00F7 0173 0142 015B 016B 00FC 017C 017E 02D9
#
# cp1257 character set
#
# Case-insensitive, accent sensitive sorting order
# For Latvian and Lithuanian languages
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 01
00 00 00 00 00 00 00 00 02 00 02 00 00 00 00 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 BA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 A8 B9 BA BB BC BD BE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 4D 4F 55 57 61 63 67 69 6F 71 75 7B 7D 83
8F 91 93 97 9E A0 A8 AA AC AE B0 B8 B9 BA BB BC
BD 41 4D 4F 55 57 61 63 67 69 6F 71 75 7B 7D 83
8F 91 93 97 9E A0 A8 AA AC AE B0 BE BF C0 C1 C4
C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4
D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4
E5 E6 E7 E8 E9 EA EB EC 85 ED 95 EE EF F0 F1 4B
F2 F3 F4 F5 F6 F7 F8 F9 85 FA 95 FB FC FD FE 4B
43 6B 45 51 47 49 59 5B 53 5D B2 5F 65 73 6D 77
99 7F 81 87 89 8B 8D C2 A2 79 9B A4 A6 B4 B6 9D
43 6B 45 51 47 49 59 5B 53 5D B2 5F 65 73 6D 77
99 7F 81 87 89 8B 8D C3 A2 79 9B A4 A6 B4 B6 FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
20AC 0000 201A 0000 201E 2026 2020 2021 0000 2030 0000 2039 0000 00A8 02C7 00B8
0000 2018 2019 201C 201D 2022 2013 2014 0000 2122 0000 203A 0000 00AF 02DB 0000
00A0 0000 00A2 00A3 00A4 0000 00A6 00A7 00D8 00A9 0156 00AB 00AC 00AD 00AE 00C6
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00F8 00B9 0157 00BB 00BC 00BD 00BE 00E6
0104 012E 0100 0106 00C4 00C5 0118 0112 010C 00C9 0179 0116 0122 0136 012A 013B
0160 0143 0145 00D3 014C 00D5 00D6 00D7 0172 0141 015A 016A 00DC 017B 017D 00DF
0105 012F 0101 0107 00E4 00E5 0119 0113 010D 00E9 017A 0117 0123 0137 012B 013C
0161 0144 0146 00F3 014D 00F5 00F6 00F7 0173 0142 015B 016B 00FC 017C 017E 02D9
#
# cp1257 character set
#
# Case-sensitive, accent sensitive sorting order
# For Latvian and Lithuanian languages
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 01
00 00 00 00 00 00 00 00 02 00 02 00 00 00 00 02
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 B8 A9 BA AB AC AD AE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 BA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 A8 B9 BA BB BC BD BE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 4D 4F 55 57 61 63 67 69 6F 71 75 7B 7D 83
8F 91 93 97 9E A0 A8 AA AC AE B0 B8 B9 BA BB BC
BD 42 4E 50 56 58 62 64 68 6A 70 72 76 7C 7E 84
90 92 94 98 9F A1 A9 AB AD AF B1 BE BF C0 C1 C4
C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4
D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4
E5 E6 E7 E8 E9 EA EB EC 85 ED 95 EE EF F0 F1 4B
F2 F3 F4 F5 F6 F7 F8 F9 86 FA 96 FB FC FD FE 4C
43 6B 45 51 47 49 59 5B 53 5D B2 5F 65 73 6D 77
99 7F 81 87 89 8B 8D C2 A2 79 9B A4 A6 B4 B6 9D
44 6C 46 52 48 4A 5A 5C 54 5E B3 60 66 74 6E 78
9A 80 82 88 8A 8C 8E C3 A3 7A 9C A5 A7 B5 B7 FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
20AC 0000 201A 0000 201E 2026 2020 2021 0000 2030 0000 2039 0000 00A8 02C7 00B8
0000 2018 2019 201C 201D 2022 2013 2014 0000 2122 0000 203A 0000 00AF 02DB 0000
00A0 0000 00A2 00A3 00A4 0000 00A6 00A7 00D8 00A9 0156 00AB 00AC 00AD 00AE 00C6
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00F8 00B9 0157 00BB 00BC 00BD 00BE 00E6
0104 012E 0100 0106 00C4 00C5 0118 0112 010C 00C9 0179 0116 0122 0136 012A 013B
0160 0143 0145 00D3 014C 00D5 00D6 00D7 0172 0141 015A 016A 00DC 017B 017D 00DF
0105 012F 0101 0107 00E4 00E5 0119 0113 010D 00E9 017A 0117 0123 0137 012B 013C
0161 0144 0146 00F3 014D 00F5 00F6 00F7 0173 0142 015B 016B 00FC 017C 017E 02D9
#
# cp866_DOSCyrillicRussian
# Case insensitive, accent sensitive.
#
#
# ctype array (must be 257 elements) # ctype array (must be 257 elements)
00 00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20 20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
...@@ -58,20 +63,20 @@ ...@@ -58,20 +63,20 @@
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 56 57 58 59 5A 5B 5C 5E 5F 62 40 41 43 45 47 49 4B 4D 4F 51 53 55 57 59 5B 5D
67 68 69 6C 71 74 75 76 77 78 7B B0 B1 B2 B3 B4 5F 61 63 65 67 69 6B 6D 6F 71 73 BD BE BF C0 C1
B5 41 42 43 44 45 56 57 58 59 5A 5B 5C 5E 5F 62 C2 41 43 45 47 49 4B 4D 4F 51 54 55 57 59 5B 5D
67 68 69 6C 71 74 75 76 77 78 7B B6 B7 B8 B9 BA 5F 61 63 65 67 69 6B 6D 6F 71 73 C3 C4 C5 C6 C7
80 81 82 83 84 85 88 89 8A 8C 8D 8E 8F 90 91 92 75 77 79 7B 7D 7F 85 87 89 8D 8F 91 93 95 97 99
93 94 95 96 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 9B 9D 9F A1 A5 A7 A9 AB AD AF B1 B3 B5 B7 B9 BB
80 81 82 83 84 85 88 89 8A 8C 8D 8E 8F 90 91 92 75 77 79 7B 7D 7F 85 87 89 8D 8F 91 93 95 97 99
BB BD BE C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC C8 C9 CA D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 F3 F4 F5 F6 F7 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
93 94 95 96 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 9B 9D 9F A1 A5 A7 A9 AB AD AF B1 B3 B5 B7 B9 BB
86 86 87 87 8B 8B 97 97 F8 F9 FA FB FC FD FE FF 81 81 83 83 8B 8B A3 A3 CB CC CD CE CF D0 D1 D2
# Unicode mappping (must be 256 elements) # Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
......
#
# Latin1, accent sensitive, case sensitive
#
# Binary sorting order
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 02
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008A 008B 008C 008D 008E 008F
0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009A 009B 009C 009D 009E 009F
00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
#
# Latin1, accent sensitive, case insensitive
#
# Sorting for Dutch, English, French, German (Duden),
# Italian, Latin, Pogtuguese, Spanish
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 02
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 51 53 57 5B 65 67 69 6B 75 77 79 7B 7D 81
8F 91 93 95 98 9A A4 A6 A8 AA AF B3 B4 B5 B6 B7
B8 41 51 53 57 5B 65 67 69 6B 75 77 79 7B 7D 81
8F 91 93 95 98 9A A4 A6 A8 AA AF B9 BA BB BC BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
43 45 47 49 4B 4D 4F 55 5D 5F 61 63 6D 6F 71 73
59 7F 83 85 87 89 8B BD 8D 9C 9E A0 A2 AC B1 97
43 45 47 49 4B 4D 4F 55 5D 5F 61 63 6D 6F 71 73
59 7F 83 85 87 89 8B BE 8D 9C 9E A0 A2 AC B1 AE
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008A 008B 008C 008D 008E 008F
0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009A 009B 009C 009D 009E 009F
00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
#
# Latin1, accent sensitive, case sensitive
#
# Sorting for Dutch, English, French, German (Duden),
# Italian, Latin, Pogtuguese, Spanish
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 02
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 51 53 57 5B 65 67 69 6B 75 77 79 7B 7D 81
8F 91 93 95 98 9A A4 A6 A8 AA AF B3 B4 B5 B6 B7
B8 42 52 54 58 5C 66 68 6A 6C 76 78 7A 7C 7E 82
90 92 94 96 99 9B A5 A7 A9 AB B0 B9 BA BB BC BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
43 45 47 49 4B 4D 4F 55 5D 5F 61 63 6D 6F 71 73
59 7F 83 85 87 89 8B BD 8D 9C 9E A0 A2 AC B1 97
44 46 48 4A 4C 4E 50 56 5E 60 62 64 6E 70 72 74
5A 80 84 86 88 8A 8C BE 8E 9D 9F A1 A3 AD B2 AE
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008A 008B 008C 008D 008E 008F
0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009A 009B 009C 009D 009E 009F
00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
# Mac OS Central European, binary sort order
#
# Czech (cs), Hungarian (hu), Polish (pl), Romanian (ro), Croatian (hr),
# Slovak (sk), Slovenian (sl), Sorbian.
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 02 01 01 01 01 02 02 01 02 02 01 02 02 01
02 01 02 02 01 02 01 02 02 02 02 02 02 01 02 02
00 00 01 00 00 00 00 02 00 00 00 02 00 00 02 01
02 01 00 00 02 01 00 00 02 01 02 01 02 01 02 01
02 01 00 00 02 01 00 00 00 00 00 02 01 01 02 01
00 00 00 00 00 00 00 00 02 01 02 01 00 00 02 01
02 01 00 00 02 01 02 01 01 02 01 01 02 01 01 01
02 01 01 02 01 02 01 02 01 02 02 01 01 02 01 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 82 82 8E 88 9A 9F 87 88 8B 8A 8B 8D 8D 8E 90
90 93 92 93 95 95 98 97 98 99 9A 9B 9C 9E 9E 9F
A0 A1 AB A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE B0
B0 B4 B2 B3 B4 FA B6 B7 B8 BA BA BC BC BE BE C0
C0 C4 C2 C3 C4 CB C6 C7 C8 C9 CA CB CE 9B CE D8
D0 D1 D2 D3 D4 D5 D6 D7 D8 DA DA DE DC DD DE E0
E0 E4 E2 E3 E4 E6 E6 87 E9 E9 92 EC EC F0 97 99
F0 F3 9C F3 F5 F5 F7 F7 F9 F9 FA FD B8 FD AE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 81 83 84 85 86 E7 84 89 80 89 8C 8C 83 8F
8F 91 EA 91 94 94 96 EE 96 EF 85 CD F2 9D 9D 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA A2 AC AD FE AF
AF B1 B2 B3 B1 B5 B6 B7 FC B9 B9 BB BB BD BD BF
BF C1 C2 C3 C1 C5 C6 C7 C8 C9 CA C5 CC CD CC CF
D0 D1 D2 D3 D4 D5 D6 D7 CF D9 D9 DB DC DD DB DF
DF E1 E2 E3 E1 E5 E5 E7 E8 E8 EA EB EB ED EE EF
ED F1 F2 F1 F4 F4 F6 F6 F8 F8 B5 FB FC FB FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 0100 0101 00C9 0104 00D6 00DC 00E1 0105 010C 00E4 010D 0106 0107 00E9 0179
017A 010E 00ED 010F 0112 0113 0116 00F3 0117 00F4 00F6 00F5 00FA 011A 011B 00FC
2020 00B0 0118 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 0119 00A8 2260 0123 012E
012F 012A 2264 2265 012B 0136 2202 2211 0142 013B 013C 013D 013E 0139 013A 0145
0146 0143 00AC 221A 0144 0147 2206 00AB 00BB 2026 00A0 0148 0150 00D5 0151 014C
2013 2014 201C 201D 2018 2019 00F7 25CA 014D 0154 0155 0158 2039 203A 0159 0156
0157 0160 201A 201E 0161 015A 015B 00C1 0164 0165 00CD 017D 017E 016A 00D3 00D4
016B 016E 00DA 016F 0170 0171 0172 0173 00DD 00FD 0137 017B 0141 017C 0122 02C7
# Mac OS Central European, case insensitive, accent sensitive
#
# Czech (cs), Hungarian (hu), Polish (pl), Romanian (ro), Croatian (hr),
# Slovak (sk), Slovenian (sl), Sorbian.
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 02 01 01 01 01 02 02 01 02 02 01 02 02 01
02 01 02 02 01 02 01 02 02 02 02 02 02 01 02 02
00 00 01 00 00 00 00 02 00 00 00 02 00 00 02 01
02 01 00 00 02 01 00 00 02 01 02 01 02 01 02 01
02 01 00 00 02 01 00 00 00 00 00 02 01 01 02 01
00 00 00 00 00 00 00 00 02 01 02 01 00 00 02 01
02 01 00 00 02 01 02 01 01 02 01 01 02 01 01 01
02 01 01 02 01 02 01 02 01 02 02 01 01 02 01 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 82 82 8E 88 9A 9F 87 88 8B 8A 8B 8D 8D 8E 90
90 93 92 93 95 95 98 97 98 99 9A 9B 9C 9E 9E 9F
A0 A1 AB A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE B0
B0 B4 B2 B3 B4 FA B6 B7 B8 BA BA BC BC BE BE C0
C0 C4 C2 C3 C4 CB C6 C7 C8 C9 CA CB CE 9B CE D8
D0 D1 D2 D3 D4 D5 D6 D7 D8 DA DA DE DC DD DE E0
E0 E4 E2 E3 E4 E6 E6 87 E9 E9 92 EC EC F0 97 99
F0 F3 9C F3 F5 F5 F7 F7 F9 F9 FA FD B8 FD AE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 81 83 84 85 86 E7 84 89 80 89 8C 8C 83 8F
8F 91 EA 91 94 94 96 EE 96 EF 85 CD F2 9D 9D 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA A2 AC AD FE AF
AF B1 B2 B3 B1 B5 B6 B7 FC B9 B9 BB BB BD BD BF
BF C1 C2 C3 C1 C5 C6 C7 C8 C9 CA C5 CC CD CC CF
D0 D1 D2 D3 D4 D5 D6 D7 CF D9 D9 DB DC DD DB DF
DF E1 E2 E3 E1 E5 E5 E7 E8 E8 EA EB EB ED EE EF
ED F1 F2 F1 F4 F4 F6 F6 F8 F8 B5 FB FC FB FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 4B 4D 53 57 63 65 69 6B 73 75 79 83 85 8D
9B 9D 9F A7 AE B2 C0 C2 C4 C6 CA D2 D3 D4 D5 D6
D7 41 4B 4D 53 57 63 65 69 6B 73 75 79 83 85 8D
9B 9D 9F A7 AE B2 C0 C2 C4 C6 CA D8 D9 DA DB DC
41 41 41 57 41 8D B2 41 41 4D 41 4D 4D 4D 57 CA
CA 53 6B 53 57 57 57 8D 57 8D 8D 8D B2 57 57 B2
DD DE 57 DF E0 E1 E2 A7 E3 E4 E5 57 E6 E7 65 6B
6B 6B E8 E9 6B 75 EA EB 79 79 79 79 79 79 79 85
85 85 EC ED 85 85 EE EF F0 F1 F2 85 8D 8D 8D 8D
F3 F4 F5 F6 F7 F8 F9 FA 8D 9F 9F 9F FB FC 9F 9F
9F A7 FD FE A7 A7 A7 41 BE BE 6B CA CA B2 8D 8D
B2 B2 B2 B2 B2 B2 B2 B2 C6 C6 75 CA 79 CA 65 FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 0100 0101 00C9 0104 00D6 00DC 00E1 0105 010C 00E4 010D 0106 0107 00E9 0179
017A 010E 00ED 010F 0112 0113 0116 00F3 0117 00F4 00F6 00F5 00FA 011A 011B 00FC
2020 00B0 0118 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 0119 00A8 2260 0123 012E
012F 012A 2264 2265 012B 0136 2202 2211 0142 013B 013C 013D 013E 0139 013A 0145
0146 0143 00AC 221A 0144 0147 2206 00AB 00BB 2026 00A0 0148 0150 00D5 0151 014C
2013 2014 201C 201D 2018 2019 00F7 25CA 014D 0154 0155 0158 2039 203A 0159 0156
0157 0160 201A 201E 0161 015A 015B 00C1 0164 0165 00CD 017D 017E 016A 00D3 00D4
016B 016E 00DA 016F 0170 0171 0172 0173 00DD 00FD 0137 017B 0141 017C 0122 02C7
# Mac OS Central European, case insensitive, accent sensitive
#
# Czech (cs), Hungarian (hu), Polish (pl), Romanian (ro), Croatian (hr),
# Slovak (sk), Slovenian (sl), Sorbian.
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 02 01 01 01 01 02 02 01 02 02 01 02 02 01
02 01 02 02 01 02 01 02 02 02 02 02 02 01 02 02
00 00 01 00 00 00 00 02 00 00 00 02 00 00 02 01
02 01 00 00 02 01 00 00 02 01 02 01 02 01 02 01
02 01 00 00 02 01 00 00 00 00 00 02 01 01 02 01
00 00 00 00 00 00 00 00 02 01 02 01 00 00 02 01
02 01 00 00 02 01 02 01 01 02 01 01 02 01 01 01
02 01 01 02 01 02 01 02 01 02 02 01 01 02 01 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 82 82 8E 88 9A 9F 87 88 8B 8A 8B 8D 8D 8E 90
90 93 92 93 95 95 98 97 98 99 9A 9B 9C 9E 9E 9F
A0 A1 AB A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE B0
B0 B4 B2 B3 B4 FA B6 B7 B8 BA BA BC BC BE BE C0
C0 C4 C2 C3 C4 CB C6 C7 C8 C9 CA CB CE 9B CE D8
D0 D1 D2 D3 D4 D5 D6 D7 D8 DA DA DE DC DD DE E0
E0 E4 E2 E3 E4 E6 E6 87 E9 E9 92 EC EC F0 97 99
F0 F3 9C F3 F5 F5 F7 F7 F9 F9 FA FD B8 FD AE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 81 83 84 85 86 E7 84 89 80 89 8C 8C 83 8F
8F 91 EA 91 94 94 96 EE 96 EF 85 CD F2 9D 9D 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA A2 AC AD FE AF
AF B1 B2 B3 B1 B5 B6 B7 FC B9 B9 BB BB BD BD BF
BF C1 C2 C3 C1 C5 C6 C7 C8 C9 CA C5 CC CD CC CF
D0 D1 D2 D3 D4 D5 D6 D7 CF D9 D9 DB DC DD DB DF
DF E1 E2 E3 E1 E5 E5 E7 E8 E8 EA EB EB ED EE EF
ED F1 F2 F1 F4 F4 F6 F6 F8 F8 B5 FB FC FB FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 4B 4D 53 57 63 65 69 6B 73 75 79 83 85 8D
9B 9D 9F A7 AE B2 C0 C2 C4 C6 CA D2 D3 D4 D5 D6
D7 41 4B 4D 53 57 63 65 69 6B 73 75 79 83 85 8D
9B 9D 9F A7 AE B2 C0 C2 C4 C6 CA D8 D9 DA DB DC
45 47 47 59 49 91 B6 43 49 4F 45 4F 51 51 59 CE
CE 55 71 55 5B 5B 5D 8F 5D 99 91 97 B8 5F 5F B6
DD DE 61 DF E0 E1 E2 AD E3 E4 E5 61 E6 E7 67 6F
6F 6D E8 E9 6D 77 EA EB 7B 81 82 7F 7F 7D 7D 8B
8B 87 EC ED 87 89 EE EF F0 F1 F2 89 93 97 93 95
F3 F4 F5 F6 F7 F8 F9 FA 95 A1 A1 A3 FB FC A3 A5
A5 A9 FD FE A9 AB AB 43 B0 B0 71 CC CC BC 8F 99
BC B4 B8 B4 BA BA BE BE C8 C8 77 D0 7B D0 67 FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 0100 0101 00C9 0104 00D6 00DC 00E1 0105 010C 00E4 010D 0106 0107 00E9 0179
017A 010E 00ED 010F 0112 0113 0116 00F3 0117 00F4 00F6 00F5 00FA 011A 011B 00FC
2020 00B0 0118 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 0119 00A8 2260 0123 012E
012F 012A 2264 2265 012B 0136 2202 2211 0142 013B 013C 013D 013E 0139 013A 0145
0146 0143 00AC 221A 0144 0147 2206 00AB 00BB 2026 00A0 0148 0150 00D5 0151 014C
2013 2014 201C 201D 2018 2019 00F7 25CA 014D 0154 0155 0158 2039 203A 0159 0156
0157 0160 201A 201E 0161 015A 015B 00C1 0164 0165 00CD 017D 017E 016A 00D3 00D4
016B 016E 00DA 016F 0170 0171 0172 0173 00DD 00FD 0137 017B 0141 017C 0122 02C7
# Mac OS Central European, case sensitive, accent sensitive
#
# Czech (cs), Hungarian (hu), Polish (pl), Romanian (ro), Croatian (hr),
# Slovak (sk), Slovenian (sl), Sorbian.
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 00
01 01 02 01 01 01 01 02 02 01 02 02 01 02 02 01
02 01 02 02 01 02 01 02 02 02 02 02 02 01 02 02
00 00 01 00 00 00 00 02 00 00 00 02 00 00 02 01
02 01 00 00 02 01 00 00 02 01 02 01 02 01 02 01
02 01 00 00 02 01 00 00 00 00 00 02 01 01 02 01
00 00 00 00 00 00 00 00 02 01 02 01 00 00 02 01
02 01 00 00 02 01 02 01 01 02 01 01 02 01 01 01
02 01 01 02 01 02 01 02 01 02 02 01 01 02 01 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 54 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 82 82 8E 88 9A 9F 87 88 8B 8A 8B 8D 8D 8E 90
90 93 92 93 95 95 98 97 98 99 9A 9B 9C 9E 9E 9F
A0 A1 AB A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE B0
B0 B4 B2 B3 B4 FA B6 B7 B8 BA BA BC BC BE BE C0
C0 C4 C2 C3 C4 CB C6 C7 C8 C9 CA CB CE 9B CE D8
D0 D1 D2 D3 D4 D5 D6 D7 D8 DA DA DE DC DD DE E0
E0 E4 E2 E3 E4 E6 E6 87 E9 E9 92 EC EC F0 97 99
F0 F3 9C F3 F5 F5 F7 F7 F9 F9 FA FD B8 FD AE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 74 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 81 83 84 85 86 E7 84 89 80 89 8C 8C 83 8F
8F 91 EA 91 94 94 96 EE 96 EF 85 CD F2 9D 9D 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA A2 AC AD FE AF
AF B1 B2 B3 B1 B5 B6 B7 FC B9 B9 BB BB BD BD BF
BF C1 C2 C3 C1 C5 C6 C7 C8 C9 CA C5 CC CD CC CF
D0 D1 D2 D3 D4 D5 D6 D7 CF D9 D9 DB DC DD DB DF
DF E1 E2 E3 E1 E5 E5 E7 E8 E8 EA EB EB ED EE EF
ED F1 F2 F1 F4 F4 F6 F6 F8 F8 B5 FB FC FB FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 4B 4D 53 57 63 65 69 6B 73 75 79 83 85 8D
9B 9D 9F A7 AE B2 C0 C2 C4 C6 CA D2 D3 D4 D5 D6
D7 42 4C 4E 54 58 64 66 6A 6C 74 76 7A 84 86 8E
9C 9E A0 A8 AF B3 C1 C3 C5 C7 CB D8 D9 DA DB DC
45 47 48 59 49 91 B6 44 4A 4F 46 50 51 52 5A CE
CF 55 72 56 5B 5C 5D 90 5E 9A 92 98 B8 5F 60 B7
DD DE 61 DF E0 E1 E2 AD E3 E4 E5 62 E6 E7 68 6F
70 6D E8 E9 6E 77 EA EB 7C 81 82 7F 80 7D 7E 8B
8C 87 EC ED 88 89 EE EF F0 F1 F2 8A 93 97 94 95
F3 F4 F5 F6 F7 F8 F9 FA 96 A1 A2 A3 FB FC A4 A5
A6 A9 FD FE AA AB AC 43 B0 B1 71 CC CD BC 8F 99
BD B4 B9 B5 BA BB BE BF C8 C9 78 D0 7B D1 67 FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 0100 0101 00C9 0104 00D6 00DC 00E1 0105 010C 00E4 010D 0106 0107 00E9 0179
017A 010E 00ED 010F 0112 0113 0116 00F3 0117 00F4 00F6 00F5 00FA 011A 011B 00FC
2020 00B0 0118 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 0119 00A8 2260 0123 012E
012F 012A 2264 2265 012B 0136 2202 2211 0142 013B 013C 013D 013E 0139 013A 0145
0146 0143 00AC 221A 0144 0147 2206 00AB 00BB 2026 00A0 0148 0150 00D5 0151 014C
2013 2014 201C 201D 2018 2019 00F7 25CA 014D 0154 0155 0158 2039 203A 0159 0156
0157 0160 201A 201E 0161 015A 015B 00C1 0164 0165 00CD 017D 017E 016A 00D3 00D4
016B 016E 00DA 016F 0170 0171 0172 0173 00DD 00FD 0137 017B 0141 017C 0122 02C7
#
# Mac OS Roman, accent insensitive, case insensitive
#
# Binary sort order
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 10
20 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02
00 00 00 00 02 00 00 00 00 00 00 20 01 01 01 02
00 00 00 00 00 00 00 00 02 01 00 00 00 00 00 00
00 00 00 00 00 20 01 01 01 01 01 01 01 01 01 01
00 01 01 01 01 02 00 00 00 00 00 00 00 00 00 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 8C 8D 8E 96 9A 9F 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD BE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA 88 8B 9B CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D8 DA DB DC DD DE DF
E0 E1 E2 E3 E4 89 90 87 91 8F 92 94 95 93 97 99
F0 98 9C 9E 9D F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 E7 CB E5 80 CC 81 82 83 E9
E6 E8 EA ED EB EC 84 EE F1 EF 85 CD F2 F4 F3 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD AE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D9 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 00C5 00C7 00C9 00D1 00D6 00DC 00E1 00E0 00E2 00E4 00E3 00E5 00E7 00E9 00E8
00EA 00EB 00ED 00EC 00EE 00EF 00F1 00F3 00F2 00F4 00F6 00F5 00FA 00F9 00FB 00FC
2020 00B0 00A2 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 00B4 00A8 2260 00C6 00D8
221E 00B1 2264 2265 00A5 00B5 2202 2211 220F 03C0 222B 00AA 00BA 03A9 00E6 00F8
00BF 00A1 00AC 221A 0192 2248 2206 00AB 00BB 2026 00A0 00C0 00C3 00D5 0152 0153
2013 2014 201C 201D 2018 2019 00F7 25CA 00FF 0178 2044 20AC 2039 203A FB01 FB02
2021 00B7 201A 201E 2030 00C2 00CA 00C1 00CB 00C8 00CD 00CE 00CF 00CC 00D3 00D4
F8FF 00D2 00DA 00DB 00D9 0131 02C6 02DC 00AF 02D8 02D9 02DA 00B8 02DD 02DB 02C7
#
# Mac OS Roman, accent insensitive, case insensitive
#
# Sort order: Dutch, English, French, German (Duden),
# Italian, Latin, Pogtuguese, Spanish
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 10
20 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02
00 00 00 00 02 00 00 00 00 00 00 20 01 01 01 02
00 00 00 00 00 00 00 00 02 01 00 00 00 00 00 00
00 00 00 00 00 20 01 01 01 01 01 01 01 01 01 01
00 01 01 01 01 02 00 00 00 00 00 00 00 00 00 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 8C 8D 8E 96 9A 9F 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD BE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA 88 8B 9B CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D8 DA DB DC DD DE DF
E0 E1 E2 E3 E4 89 90 87 91 8F 92 94 95 93 97 99
F0 98 9C 9E 9D F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 E7 CB E5 80 CC 81 82 83 E9
E6 E8 EA ED EB EC 84 EE F1 EF 85 CD F2 F4 F3 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD AE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D9 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 51 53 57 59 63 66 68 6A 75 77 79 7B 7D 81
91 93 95 97 9A 9C A6 A8 AA AC B0 B2 B3 B4 B5 B6
B7 41 51 53 57 59 63 66 68 6A 75 77 79 7B 7D 81
91 93 95 97 9A 9C A6 A8 AA AC B0 B8 B9 BA BB BC
41 41 53 59 7D 81 9C 41 41 41 41 41 41 53 59 59
59 59 6A 6A 6A 6A 7D 81 81 81 81 81 9C 9C 9C 9C
BD BE BF C0 C1 C2 C3 97 C4 C5 C6 C7 C8 C9 41 81
CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 41 81
D8 D9 DA DB 63 DC DD DE DF E0 E1 41 41 81 81 81
E2 E3 E4 E5 E6 E7 E8 E9 AC AC EA EB EC ED EE EF
F0 F1 F2 F3 F4 41 59 41 59 59 6A 6A 6A 6A 81 81
F0 81 9C 9C 9C 6A F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 00C5 00C7 00C9 00D1 00D6 00DC 00E1 00E0 00E2 00E4 00E3 00E5 00E7 00E9 00E8
00EA 00EB 00ED 00EC 00EE 00EF 00F1 00F3 00F2 00F4 00F6 00F5 00FA 00F9 00FB 00FC
2020 00B0 00A2 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 00B4 00A8 2260 00C6 00D8
221E 00B1 2264 2265 00A5 00B5 2202 2211 220F 03C0 222B 00AA 00BA 03A9 00E6 00F8
00BF 00A1 00AC 221A 0192 2248 2206 00AB 00BB 2026 00A0 00C0 00C3 00D5 0152 0153
2013 2014 201C 201D 2018 2019 00F7 25CA 00FF 0178 2044 20AC 2039 203A FB01 FB02
2021 00B7 201A 201E 2030 00C2 00CA 00C1 00CB 00C8 00CD 00CE 00CF 00CC 00D3 00D4
F8FF 00D2 00DA 00DB 00D9 0131 02C6 02DC 00AF 02D8 02D9 02DA 00B8 02DD 02DB 02C7
#
# Mac OS Roman, accent sensitive, case insensitive
#
# Sort order: Dutch, English, French, German (Duden),
# Italian, Latin, Pogtuguese, Spanish
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 10
20 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02
00 00 00 00 02 00 00 00 00 00 00 20 01 01 01 02
00 00 00 00 00 00 00 00 02 01 00 00 00 00 00 00
00 00 00 00 00 20 01 01 01 01 01 01 01 01 01 01
00 01 01 01 01 02 00 00 00 00 00 00 00 00 00 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 8C 8D 8E 96 9A 9F 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD BE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA 88 8B 9B CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D8 DA DB DC DD DE DF
E0 E1 E2 E3 E4 89 90 87 91 8F 92 94 95 93 97 99
F0 98 9C 9E 9D F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 E7 CB E5 80 CC 81 82 83 E9
E6 E8 EA ED EB EC 84 EE F1 EF 85 CD F2 F4 F3 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD AE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D9 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 51 53 57 59 63 66 68 6A 75 77 79 7B 7D 81
91 93 95 97 9A 9C A6 A8 AA AC B0 B2 B3 B4 B5 B6
B7 41 51 53 57 59 63 66 68 6A 75 77 79 7B 7D 81
91 93 95 97 9A 9C A6 A8 AA AC B0 B8 B9 BA BB BC
4B 4D 55 5D 7F 8B A4 45 43 47 4B 49 4D 55 5D 5B
5F 61 6E 6C 70 72 7F 85 83 87 8B 89 A0 9E A2 A4
BD BE BF C0 C1 C2 C3 99 C4 C5 C6 C7 C8 C9 4F 8D
CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 4F 8D
D8 D9 DA DB 65 DC DD DE DF E0 E1 43 49 89 8F 8F
E2 E3 E4 E5 E6 E7 E8 E9 AE AE EA EB EC ED EE EF
F0 F1 F2 F3 F4 47 5F 45 61 5B 6E 70 70 6C 85 87
F0 83 A0 A2 9E 72 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 00C5 00C7 00C9 00D1 00D6 00DC 00E1 00E0 00E2 00E4 00E3 00E5 00E7 00E9 00E8
00EA 00EB 00ED 00EC 00EE 00EF 00F1 00F3 00F2 00F4 00F6 00F5 00FA 00F9 00FB 00FC
2020 00B0 00A2 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 00B4 00A8 2260 00C6 00D8
221E 00B1 2264 2265 00A5 00B5 2202 2211 220F 03C0 222B 00AA 00BA 03A9 00E6 00F8
00BF 00A1 00AC 221A 0192 2248 2206 00AB 00BB 2026 00A0 00C0 00C3 00D5 0152 0153
2013 2014 201C 201D 2018 2019 00F7 25CA 00FF 0178 2044 20AC 2039 203A FB01 FB02
2021 00B7 201A 201E 2030 00C2 00CA 00C1 00CB 00C8 00CD 00CE 00CF 00CC 00D3 00D4
F8FF 00D2 00DA 00DB 00D9 0131 02C6 02DC 00AF 02D8 02D9 02DA 00B8 02DD 02DB 02C7
#
# Mac OS Roman, accent sensitive, case sensitive
#
# Sort order: Dutch, English, French, German (Duden),
# Italian, Latin, Pogtuguese, Spanish
#
# ctype array (must be 257 elements)
00
20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 10
20 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02
00 00 00 00 02 00 00 00 00 00 00 20 01 01 01 02
00 00 00 00 00 00 00 00 02 01 00 00 00 00 00 00
00 00 00 00 00 20 01 01 01 01 01 01 01 01 01 01
00 01 01 01 01 02 00 00 00 00 00 00 00 00 00 00
# to_lower array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
8A 8C 8D 8E 96 9A 9F 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD BE BF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA 88 8B 9B CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D8 D8 DA DB DC DD DE DF
E0 E1 E2 E3 E4 89 90 87 91 8F 92 94 95 93 97 99
F0 98 9C 9E 9D F5 F6 F7 F8 F9 FA FB FC FD FE FF
# to_upper array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
80 81 82 83 84 85 86 E7 CB E5 80 CC 81 82 83 E9
E6 E8 EA ED EB EC 84 EE F1 EF 85 CD F2 F4 F3 86
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD AE AF
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
D0 D1 D2 D3 D4 D5 D6 D7 D9 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
# sort_order array (must be 256 elements)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 51 53 57 59 63 66 68 6A 75 77 79 7B 7D 81
91 93 95 97 9A 9C A6 A8 AA AC B0 B2 B3 B4 B5 B6
B7 42 52 54 58 5A 64 67 69 6B 76 78 7A 7C 7E 82
92 94 96 98 9B 9D A7 A9 AB AD B1 B8 B9 BA BB BC
4B 4D 55 5D 7F 8B A4 46 44 48 4C 4A 4E 56 5E 5C
60 62 6F 6D 71 73 80 86 84 88 8C 8A A1 9F A3 A5
BD BE BF C0 C1 C2 C3 99 C4 C5 C6 C7 C8 C9 4F 8D
CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 50 8E
D8 D9 DA DB 65 DC DD DE DF E0 E1 43 49 89 8F 90
E2 E3 E4 E5 E6 E7 E8 E9 AF AE EA EB EC ED EE EF
F0 F1 F2 F3 F4 47 5F 45 61 5B 6E 70 72 6C 85 87
F0 83 A0 A2 9E 74 F6 F7 F8 F9 FA FB FC FD FE FF
# Unicode mapping (must be 256 elements)
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
00C4 00C5 00C7 00C9 00D1 00D6 00DC 00E1 00E0 00E2 00E4 00E3 00E5 00E7 00E9 00E8
00EA 00EB 00ED 00EC 00EE 00EF 00F1 00F3 00F2 00F4 00F6 00F5 00FA 00F9 00FB 00FC
2020 00B0 00A2 00A3 00A7 2022 00B6 00DF 00AE 00A9 2122 00B4 00A8 2260 00C6 00D8
221E 00B1 2264 2265 00A5 00B5 2202 2211 220F 03C0 222B 00AA 00BA 03A9 00E6 00F8
00BF 00A1 00AC 221A 0192 2248 2206 00AB 00BB 2026 00A0 00C0 00C3 00D5 0152 0153
2013 2014 201C 201D 2018 2019 00F7 25CA 00FF 0178 2044 20AC 2039 203A FB01 FB02
2021 00B7 201A 201E 2030 00C2 00CA 00C1 00CB 00C8 00CD 00CE 00CF 00CC 00D3 00D4
F8FF 00D2 00DA 00DB 00D9 0131 02C6 02DC 00AF 02D8 02D9 02DA 00B8 02DD 02DB 02C7
...@@ -278,6 +278,21 @@ TODO list: ...@@ -278,6 +278,21 @@ TODO list:
- Move MRG_MYISAM table type processing to handlers, something like: - Move MRG_MYISAM table type processing to handlers, something like:
tables_used->table->file->register_used_filenames(callback, tables_used->table->file->register_used_filenames(callback,
first_argument); first_argument);
- Make derived tables cachable.
- QC improvement suggested by Monty:
- Add a counter in open_table() for how many MERGE (ISAM or MyISAM)
tables are cached in the table cache.
(This will be trivial when we have the new table cache in place I
have been working on)
- After this we can add the following test around the for loop in
is_cacheable::
if (thd->temp_tables || global_merge_table_count)
- Another option would be to set thd->safe_to_cache_query to 0
in 'get_lock_data' if any of the tables was a tmp table or a
MRG_ISAM table.
(This could be done with almost no speed penalty)
*/ */
#include "mysql_priv.h" #include "mysql_priv.h"
......
...@@ -1394,7 +1394,7 @@ int mysqld_show_charsets(THD *thd, const char *wild) ...@@ -1394,7 +1394,7 @@ int mysqld_show_charsets(THD *thd, const char *wild)
net_store_data(&packet2,convert,cs->name); net_store_data(&packet2,convert,cs->name);
net_store_data(&packet2,(uint32) cs->number); net_store_data(&packet2,(uint32) cs->number);
net_store_data(&packet2,(uint32) cs->strxfrm_multiply); net_store_data(&packet2,(uint32) cs->strxfrm_multiply);
net_store_data(&packet2,(uint32) cs->mbmaxlen); net_store_data(&packet2,(uint32) cs->mbmaxlen ? cs->mbmaxlen : 1);
if (my_net_write(&thd->net, (char*) packet2.ptr(),packet2.length())) if (my_net_write(&thd->net, (char*) packet2.ptr(),packet2.length()))
goto err; goto err;
......
...@@ -67,6 +67,7 @@ inline Item *or_or_concat(Item* A, Item* B) ...@@ -67,6 +67,7 @@ inline Item *or_or_concat(Item* A, Item* B)
interval_type interval; interval_type interval;
LEX_USER *lex_user; LEX_USER *lex_user;
enum Item_udftype udf_type; enum Item_udftype udf_type;
CHARSET_INFO *charset;
} }
%{ %{
...@@ -600,6 +601,11 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ...@@ -600,6 +601,11 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%type <lex_user> user grant_user %type <lex_user> user grant_user
%type <charset>
charset_name
charset_name_or_default
opt_db_default_character_set
%type <NONE> %type <NONE>
query verb_clause create change select do drop insert replace insert2 query verb_clause create change select do drop insert replace insert2
insert_values update delete truncate rename insert_values update delete truncate rename
...@@ -758,6 +764,7 @@ master_def: ...@@ -758,6 +764,7 @@ master_def:
create: create:
CREATE opt_table_options TABLE_SYM opt_if_not_exists table_ident CREATE opt_table_options TABLE_SYM opt_if_not_exists table_ident
{ {
THD *thd=current_thd;
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command= SQLCOM_CREATE_TABLE; lex->sql_command= SQLCOM_CREATE_TABLE;
if (!add_table_to_list($5, if (!add_table_to_list($5,
...@@ -771,7 +778,7 @@ create: ...@@ -771,7 +778,7 @@ create:
bzero((char*) &lex->create_info,sizeof(lex->create_info)); bzero((char*) &lex->create_info,sizeof(lex->create_info));
lex->create_info.options=$2 | $4; lex->create_info.options=$2 | $4;
lex->create_info.db_type= default_table_type; lex->create_info.db_type= default_table_type;
lex->create_info.table_charset=NULL; lex->create_info.table_charset=thd->db_charset?thd->db_charset:default_charset_info;
} }
create2 create2
...@@ -793,13 +800,13 @@ create: ...@@ -793,13 +800,13 @@ create:
lex->key_list.push_back(new Key($2,$4.str, $5, lex->col_list)); lex->key_list.push_back(new Key($2,$4.str, $5, lex->col_list));
lex->col_list.empty(); lex->col_list.empty();
} }
| CREATE DATABASE opt_if_not_exists ident default_charset | CREATE DATABASE opt_if_not_exists ident opt_db_default_character_set
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command=SQLCOM_CREATE_DB; lex->sql_command=SQLCOM_CREATE_DB;
lex->name=$4.str; lex->name=$4.str;
lex->create_info.options=$3; lex->create_info.options=$3;
lex->create_info.table_charset=lex->charset; lex->create_info.table_charset=$5;
} }
| CREATE udf_func_type UDF_SYM ident | CREATE udf_func_type UDF_SYM ident
{ {
...@@ -886,9 +893,9 @@ create_table_option: ...@@ -886,9 +893,9 @@ create_table_option:
table_list->next=0; table_list->next=0;
lex->create_info.used_fields|= HA_CREATE_USED_UNION; lex->create_info.used_fields|= HA_CREATE_USED_UNION;
} }
| CHARSET EQ charset_or_nocharset | CHARSET EQ charset_name_or_default
{ {
Lex->create_info.table_charset=Lex->charset; Lex->create_info.table_charset= $3;
Lex->create_info.used_fields|= HA_CREATE_USED_CHARSET; Lex->create_info.used_fields|= HA_CREATE_USED_CHARSET;
} }
| INSERT_METHOD EQ merge_insert_types { Lex->create_info.merge_insert_method= $3; Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;} | INSERT_METHOD EQ merge_insert_types { Lex->create_info.merge_insert_method= $3; Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;}
...@@ -996,7 +1003,7 @@ type: ...@@ -996,7 +1003,7 @@ type:
$$=FIELD_TYPE_TINY; } $$=FIELD_TYPE_TINY; }
| BOOL_SYM { Lex->length=(char*) "1"; | BOOL_SYM { Lex->length=(char*) "1";
$$=FIELD_TYPE_TINY; } $$=FIELD_TYPE_TINY; }
| char '(' NUM ')' opt_binary { Lex->length=$3.str; | char '(' NUM ')' opt_binary { Lex->length=$3.str;
$$=FIELD_TYPE_STRING; } $$=FIELD_TYPE_STRING; }
| char opt_binary { Lex->length=(char*) "1"; | char opt_binary { Lex->length=(char*) "1";
$$=FIELD_TYPE_STRING; } $$=FIELD_TYPE_STRING; }
...@@ -1125,28 +1132,28 @@ attribute: ...@@ -1125,28 +1132,28 @@ attribute:
| UNIQUE_SYM KEY_SYM { Lex->type|= UNIQUE_KEY_FLAG; } | UNIQUE_SYM KEY_SYM { Lex->type|= UNIQUE_KEY_FLAG; }
| COMMENT_SYM text_literal { Lex->comment= $2; }; | COMMENT_SYM text_literal { Lex->comment= $2; };
charset: charset_name:
ident ident
{ {
if (!(Lex->charset=get_charset_by_name($1.str,MYF(0)))) if (!($$=get_charset_by_name($1.str,MYF(0))))
{ {
net_printf(&current_thd->net,ER_UNKNOWN_CHARACTER_SET,$1.str); net_printf(&current_thd->net,ER_UNKNOWN_CHARACTER_SET,$1.str);
YYABORT; YYABORT;
} }
}; };
charset_or_nocharset: charset_name_or_default:
charset charset_name { $$=$1; }
| DEFAULT {Lex->charset=NULL; } | DEFAULT { $$=NULL; } ;
opt_binary: opt_db_default_character_set:
/* empty */ { Lex->charset=NULL; } /* empty */ { $$=default_charset_info; }
| BINARY { Lex->type|=BINARY_FLAG; Lex->charset=NULL; } | DEFAULT CHAR_SYM SET charset_name_or_default { $$=$4; };
| CHAR_SYM SET charset {/* charset is already in Lex->charset */} ;
default_charset: opt_binary:
/* empty */ { Lex->charset=NULL; } /* empty */ { Lex->charset=NULL; }
| DEFAULT CHAR_SYM SET charset_or_nocharset ; | BINARY { Lex->type|=BINARY_FLAG; Lex->charset=NULL; }
| CHAR_SYM SET charset_name { Lex->charset=$3; } ;
references: references:
REFERENCES table_ident REFERENCES table_ident
...@@ -1247,6 +1254,7 @@ string_list: ...@@ -1247,6 +1254,7 @@ string_list:
alter: alter:
ALTER opt_ignore TABLE_SYM table_ident ALTER opt_ignore TABLE_SYM table_ident
{ {
THD *thd=current_thd;
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command = SQLCOM_ALTER_TABLE; lex->sql_command = SQLCOM_ALTER_TABLE;
lex->name=0; lex->name=0;
...@@ -1264,20 +1272,20 @@ alter: ...@@ -1264,20 +1272,20 @@ alter:
lex->select->db=lex->name=0; lex->select->db=lex->name=0;
bzero((char*) &lex->create_info,sizeof(lex->create_info)); bzero((char*) &lex->create_info,sizeof(lex->create_info));
lex->create_info.db_type= DB_TYPE_DEFAULT; lex->create_info.db_type= DB_TYPE_DEFAULT;
lex->create_info.table_charset=thd->db_charset?thd->db_charset:default_charset_info;
lex->create_info.row_type= ROW_TYPE_NOT_USED; lex->create_info.row_type= ROW_TYPE_NOT_USED;
lex->create_info.table_charset=NULL;
lex->alter_keys_onoff=LEAVE_AS_IS; lex->alter_keys_onoff=LEAVE_AS_IS;
lex->simple_alter=1; lex->simple_alter=1;
} }
alter_list; alter_list;
| ALTER DATABASE ident default_charset | ALTER DATABASE ident opt_db_default_character_set
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command=SQLCOM_ALTER_DB; lex->sql_command=SQLCOM_ALTER_DB;
lex->name=$3.str; lex->name=$3.str;
lex->create_info.table_charset=lex->charset; lex->create_info.table_charset=$4;
} };
alter_list: alter_list:
...@@ -1660,15 +1668,8 @@ expr_expr: ...@@ -1660,15 +1668,8 @@ expr_expr:
{ $$= new Item_date_add_interval($1,$4,$5,0); } { $$= new Item_date_add_interval($1,$4,$5,0); }
| expr '-' INTERVAL_SYM expr interval | expr '-' INTERVAL_SYM expr interval
{ $$= new Item_date_add_interval($1,$4,$5,1); } { $$= new Item_date_add_interval($1,$4,$5,1); }
| expr COLLATE_SYM ident | expr COLLATE_SYM charset_name
{ { $$= new Item_func_set_collation($1,$3); };
if (!(Lex->charset=get_charset_by_name($3.str,MYF(0))))
{
net_printf(&current_thd->net,ER_UNKNOWN_CHARACTER_SET,$3.str);
YYABORT;
}
$$= new Item_func_set_collation($1,Lex->charset);
};
/* expressions that begin with 'expr' that do NOT follow IN_SYM */ /* expressions that begin with 'expr' that do NOT follow IN_SYM */
no_in_expr: no_in_expr:
...@@ -1783,12 +1784,10 @@ simple_expr: ...@@ -1783,12 +1784,10 @@ simple_expr:
| CASE_SYM opt_expr WHEN_SYM when_list opt_else END | CASE_SYM opt_expr WHEN_SYM when_list opt_else END
{ $$= new Item_func_case(* $4, $2, $5 ); } { $$= new Item_func_case(* $4, $2, $5 ); }
| CONVERT_SYM '(' expr ',' cast_type ')' { $$= create_func_cast($3, $5); } | CONVERT_SYM '(' expr ',' cast_type ')' { $$= create_func_cast($3, $5); }
| CONVERT_SYM '(' expr USING charset ')' | CONVERT_SYM '(' expr USING charset_name ')'
{ $$= new Item_func_conv_charset($3,Lex->charset); } { $$= new Item_func_conv_charset($3,$5); }
| CONVERT_SYM '(' expr ',' expr ',' expr ')' | CONVERT_SYM '(' expr ',' expr ',' expr ')'
{ { $$= new Item_func_conv_charset3($3,$7,$5); }
$$= new Item_func_conv_charset3($3,$7,$5);
}
| FUNC_ARG0 '(' ')' | FUNC_ARG0 '(' ')'
{ $$= ((Item*(*)(void))($1.symbol->create_func))();} { $$= ((Item*(*)(void))($1.symbol->create_func))();}
| FUNC_ARG1 '(' expr ')' | FUNC_ARG1 '(' expr ')'
...@@ -3239,6 +3238,7 @@ keyword: ...@@ -3239,6 +3238,7 @@ keyword:
| BOOLEAN_SYM {} | BOOLEAN_SYM {}
| CACHE_SYM {} | CACHE_SYM {}
| CHANGED {} | CHANGED {}
| CHARSET {}
| CHECKSUM_SYM {} | CHECKSUM_SYM {}
| CHECK_SYM {} | CHECK_SYM {}
| CIPHER_SYM {} | CIPHER_SYM {}
......
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