1
/* Copyright (C) 2000 MySQL AB
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; version 2 of the License.
7
This program is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU General Public License for more details.
12
You should have received a copy of the GNU General Public License
13
along with this program; if not, write to the Free Software
14
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
17
#include <drizzled/internal/m_string.h>
18
#include <drizzled/charset_info.h>
25
This files implements routines which parse XML based
26
character set and collation description files.
28
Unicode collations are encoded according to
30
Unicode Technical Standard #35
31
Locale Data Markup Language (LDML)
32
http://www.unicode.org/reports/tr35/
34
and converted into ICU string according to
36
Collation Customization
37
http://oss.software.ibm.com/icu/userguide/Collate_Customization.html
42
#define MY_CS_CSDESCR_SIZE 64
43
#define MY_CS_TAILORING_SIZE 1024
45
typedef struct my_cs_file_info
47
char csname[MY_CS_NAME_SIZE];
48
char name[MY_CS_NAME_SIZE];
49
unsigned char ctype[MY_CS_CTYPE_TABLE_SIZE];
50
unsigned char to_lower[MY_CS_TO_LOWER_TABLE_SIZE];
51
unsigned char to_upper[MY_CS_TO_UPPER_TABLE_SIZE];
52
unsigned char sort_order[MY_CS_SORT_ORDER_TABLE_SIZE];
53
uint16_t tab_to_uni[MY_CS_TO_UNI_TABLE_SIZE];
54
char comment[MY_CS_CSDESCR_SIZE];
55
char tailoring[MY_CS_TAILORING_SIZE];
56
size_t tailoring_length;
58
int (*add_collation)(CHARSET_INFO *cs);
61
} /* namespace drizzled */