diff options
author | Alexander Barkov <bar@mariadb.com> | 2023-02-24 19:22:32 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2023-04-18 11:29:25 +0400 |
commit | 6075f12c657b103446d230e0d308778d3852b0db (patch) | |
tree | c7c9e9a251039c08dd27349e94a58895764adf85 | |
parent | 2ad287caad59f7dd9f403cea16885e862a839564 (diff) | |
download | mariadb-git-6075f12c657b103446d230e0d308778d3852b0db.tar.gz |
MDEV-31071 Refactor case folding data types in Unicode collations
This is a non-functional change. It changes the way how case folding data
and weight data (for simple Unicode collations) are stored:
- Removing data types MY_UNICASE_CHARACTER, MY_UNICASE_INFO
- Using data types MY_CASEFOLD_CHARACTER, MY_CASEFOLD_INFO instead.
This patch changes simple Unicode collations in a similar way
how MDEV-30695 previously changed Asian collations.
No new MTR tests are needed. The underlying code is thoroughly
covered by a number of ctype_*_ws.test and ctype_*_casefold.test
files, which were added recently as a preparation
for this change.
Old and new Unicode data layout
-------------------------------
Case folding data is now stored in separate tables
consisting of MY_CASEFOLD_CHARACTER elements with two members:
typedef struct casefold_info_char_t
{
uint32 toupper;
uint32 tolower;
} MY_CASEFOLD_CHARACTER;
while weight data (for simple non-UCA collations xxx_general_ci
and xxx_general_mysql500_ci) is stored in separate arrays of
uint16 elements.
Before this change case folding data and simple weight data were
stored together, in tables of the following elements with three members:
typedef struct unicase_info_char_st
{
uint32 toupper;
uint32 tolower;
uint32 sort; /* weights for simple collations */
} MY_UNICASE_CHARACTER;
This data format was redundant, because weights (the "sort" member) were
needed only for these two simple Unicode collations:
- xxx_general_ci
- xxx_general_mysql500_ci
Adding case folding information for Unicode-14.0.0 using the old
format would waste memory without purpose.
Detailed changes
----------------
- Changing the underlying data types as described above
- Including unidata-dump.c into the sources.
This program was earlier used to dump UnicodeData.txt
(e.g. https://www.unicode.org/Public/14.0.0/ucd/UnicodeData.txt)
into MySQL / MariaDB source files.
It was originally written in 2002, but has not been distributed yet
together with MySQL / MariaDB sources.
- Removing the old format Unicode data earlier dumped from UnicodeData.txt
(versions 3.0.0 and 5.2.0) from ctype-utf8.c.
Adding Unicode data in the new format into separate header files,
to maintain the code easier:
- ctype-unicode300-casefold.h
- ctype-unicode300-casefold-tr.h
- ctype-unicode300-general_ci.h
- ctype-unicode300-general_mysql500_ci.h
- ctype-unicode520-casefold.h
- Adding a new file ctype-unidata.c as an aggregator for
the header files listed above.
29 files changed, 7471 insertions, 5195 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h index 2f1767433ad..6812445c6d5 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -79,7 +79,6 @@ extern "C" { typedef const struct my_charset_handler_st MY_CHARSET_HANDLER; typedef const struct my_collation_handler_st MY_COLLATION_HANDLER; -typedef const struct unicase_info_st MY_UNICASE_INFO; typedef const struct casefold_info_st MY_CASEFOLD_INFO; typedef const struct uni_ctype_st MY_UNI_CTYPE; typedef const struct my_uni_idx_st MY_UNI_IDX; @@ -97,29 +96,10 @@ struct casefold_info_st { my_wc_t maxchar; const MY_CASEFOLD_CHARACTER * const *page; + const uint16 * const *simple_weight; /* For general_ci-alike collations */ }; -typedef struct unicase_info_char_st -{ - uint32 toupper; - uint32 tolower; - uint32 sort; -} MY_UNICASE_CHARACTER; - - -struct unicase_info_st -{ - my_wc_t maxchar; - MY_UNICASE_CHARACTER **page; -}; - - -extern MY_UNICASE_INFO my_unicase_default; -extern MY_UNICASE_INFO my_unicase_turkish; -extern MY_UNICASE_INFO my_unicase_mysql500; -extern MY_UNICASE_INFO my_unicase_unicode520; - #define MY_UCA_MAX_CONTRACTION 6 /* The DUCET tables in ctype-uca.c are dumped with a limit of 8 weights @@ -795,7 +775,6 @@ struct charset_info_st const uint16 *tab_to_uni; MY_UNI_IDX *tab_from_uni; MY_CASEFOLD_INFO *casefold; - MY_UNICASE_INFO *caseinfo; const uchar *state_map; const uchar *ident_map; uint strxfrm_multiply; @@ -1691,7 +1670,7 @@ int my_wildcmp_unicode(CHARSET_INFO *cs, const char *str, const char *str_end, const char *wildstr, const char *wildend, int escape, int w_one, int w_many, - MY_UNICASE_INFO *weights); + MY_CASEFOLD_INFO *weights); extern my_bool my_parse_charset_xml(MY_CHARSET_LOADER *loader, const char *buf, size_t buflen); diff --git a/strings/CMakeLists.txt b/strings/CMakeLists.txt index 85e8cd05816..099f3c67660 100644 --- a/strings/CMakeLists.txt +++ b/strings/CMakeLists.txt @@ -22,6 +22,7 @@ SET(STRINGS_SOURCES bchange.c bmove_upp.c ctype-big5.c ctype-bin.c ctype-cp932.c ctype-czech.c ctype-euc_kr.c ctype-eucjpms.c ctype-extra.c ctype-gb2312.c ctype-gbk.c ctype-latin1.c ctype-mb.c ctype-simple.c ctype-sjis.c ctype-tis620.c ctype-uca.c ctype-ucs2.c ctype-ujis.c ctype-utf8.c ctype-win1250ch.c ctype.c decimal.c dtoa.c int2str.c + ctype-unidata.c is_prefix.c llstr.c longlong2str.c my_strtoll10.c my_vsnprintf.c str2int.c strcend.c strend.c strfill.c strmake.c strmov.c strnmov.c strxmov.c strxnmov.c xml.c diff --git a/strings/conf_to_src.c b/strings/conf_to_src.c index 692effbd3f4..fce763b4fc7 100644 --- a/strings/conf_to_src.c +++ b/strings/conf_to_src.c @@ -409,7 +409,6 @@ void dispcset(FILE *f,CHARSET_INFO *cs) fprintf(f," NULL, /* from_uni */\n"); fprintf(f," NULL, /* casefold */\n"); - fprintf(f," &my_unicase_default, /* caseinfo */\n"); fprintf(f," NULL, /* state map */\n"); fprintf(f," NULL, /* ident map */\n"); fprintf(f," 1, /* strxfrm_multiply*/\n"); diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c index ef01b45aec0..aaf6769989b 100644 --- a/strings/ctype-big5.c +++ b/strings/ctype-big5.c @@ -806,7 +806,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_big5[256]= static MY_CASEFOLD_INFO my_casefold_big5= { 0xFFFF, - my_casefold_pages_big5 + my_casefold_pages_big5, + NULL /* ws */ }; @@ -6847,7 +6848,6 @@ struct charset_info_st my_charset_big5_chinese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_big5, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -6879,7 +6879,6 @@ struct charset_info_st my_charset_big5_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_big5, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -6911,7 +6910,6 @@ struct charset_info_st my_charset_big5_chinese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_big5, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -6943,7 +6941,6 @@ struct charset_info_st my_charset_big5_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_big5, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-bin.c b/strings/ctype-bin.c index a6c3fb6d0ea..f11fe611482 100644 --- a/strings/ctype-bin.c +++ b/strings/ctype-bin.c @@ -625,7 +625,6 @@ struct charset_info_st my_charset_bin = NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-cp932.c b/strings/ctype-cp932.c index 0f1e8457072..f01909d4f65 100644 --- a/strings/ctype-cp932.c +++ b/strings/ctype-cp932.c @@ -1706,7 +1706,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_cp932[256]= MY_CASEFOLD_INFO my_casefold_cp932= { 0xFFFF, - my_casefold_pages_cp932 + my_casefold_pages_cp932, + NULL /* ws */ }; @@ -34805,7 +34806,6 @@ struct charset_info_st my_charset_cp932_japanese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_cp932, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -34836,7 +34836,6 @@ struct charset_info_st my_charset_cp932_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_cp932, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -34868,7 +34867,6 @@ struct charset_info_st my_charset_cp932_japanese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_cp932, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -34899,7 +34897,6 @@ struct charset_info_st my_charset_cp932_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_cp932, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c index 109731abaaf..64aff2e7be0 100644 --- a/strings/ctype-czech.c +++ b/strings/ctype-czech.c @@ -618,7 +618,6 @@ struct charset_info_st my_charset_latin2_czech_cs = tab_8859_2_uni, /* tab_to_uni */ idx_uni_8859_2, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c index ab27074f20d..dd6ab60bd3a 100644 --- a/strings/ctype-euc_kr.c +++ b/strings/ctype-euc_kr.c @@ -1483,7 +1483,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_euckr[256]= static MY_CASEFOLD_INFO my_casefold_euckr= { 0xFFFF, - my_casefold_pages_euckr + my_casefold_pages_euckr, + NULL /* ws */ }; @@ -10095,7 +10096,6 @@ struct charset_info_st my_charset_euckr_korean_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_euckr, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -10127,7 +10127,6 @@ struct charset_info_st my_charset_euckr_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_euckr, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -10159,7 +10158,6 @@ struct charset_info_st my_charset_euckr_korean_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_euckr, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -10191,7 +10189,6 @@ struct charset_info_st my_charset_euckr_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_euckr, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-eucjpms.c b/strings/ctype-eucjpms.c index 1812c74d465..a5f727551aa 100644 --- a/strings/ctype-eucjpms.c +++ b/strings/ctype-eucjpms.c @@ -1779,7 +1779,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_eucjpms[512]= static MY_CASEFOLD_INFO my_casefold_eucjpms= { 0x0FFFF, - my_casefold_pages_eucjpms + my_casefold_pages_eucjpms, + NULL /* ws */ }; @@ -67634,7 +67635,6 @@ struct charset_info_st my_charset_eucjpms_japanese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_eucjpms,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -67666,7 +67666,6 @@ struct charset_info_st my_charset_eucjpms_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_eucjpms,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -67698,7 +67697,6 @@ struct charset_info_st my_charset_eucjpms_japanese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_eucjpms,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -67730,7 +67728,6 @@ struct charset_info_st my_charset_eucjpms_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_eucjpms,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-extra.c b/strings/ctype-extra.c index 82df1088a62..8a25a9c6a61 100644 --- a/strings/ctype-extra.c +++ b/strings/ctype-extra.c @@ -3690,7 +3690,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_dec8_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3722,7 +3721,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp850_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3754,7 +3752,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin1_german1_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3786,7 +3783,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hp8_english_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3818,7 +3814,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8r_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3850,7 +3845,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3882,7 +3876,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_swe7_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3914,7 +3907,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_ascii_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3946,7 +3938,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -3978,7 +3969,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin1_danish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4010,7 +4000,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hebrew_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4042,7 +4031,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin7_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4074,7 +4062,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4106,7 +4093,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8u_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4138,7 +4124,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4170,7 +4155,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_greek_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4202,7 +4186,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1250_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4234,7 +4217,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4266,7 +4248,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1257_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4298,7 +4279,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin5_turkish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4330,7 +4310,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_armscii8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4362,7 +4341,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp866_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4394,7 +4372,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_keybcs2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4426,7 +4403,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macce_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4458,7 +4434,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macroman_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4490,7 +4465,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp852_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4522,7 +4496,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin7_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4554,7 +4527,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin7_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4586,7 +4558,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macce_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4618,7 +4589,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1250_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4650,7 +4620,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin1_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4682,7 +4651,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin1_general_cs, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4714,7 +4682,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4746,7 +4713,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4778,7 +4744,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4810,7 +4775,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macroman_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4842,7 +4806,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1256_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4874,7 +4837,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1257_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4906,7 +4868,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1257_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4938,7 +4899,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_armscii8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -4970,7 +4930,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_ascii_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5002,7 +4961,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1250_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5034,7 +4992,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1256_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5066,7 +5023,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp866_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5098,7 +5054,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_dec8_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5130,7 +5085,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_greek_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5162,7 +5116,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hebrew_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5194,7 +5147,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hp8_english_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5226,7 +5178,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_keybcs2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5258,7 +5209,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8r_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5290,7 +5240,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8u_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5322,7 +5271,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5354,7 +5302,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin5_turkish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5386,7 +5333,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin7_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5418,7 +5364,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp850_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5450,7 +5395,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp852_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5482,7 +5426,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_swe7_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5514,7 +5457,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_geostd8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5546,7 +5488,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_geostd8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5578,7 +5519,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin1_spanish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5610,7 +5550,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1250_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5642,7 +5581,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_dec8_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5674,7 +5612,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp850_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5706,7 +5643,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hp8_english_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5738,7 +5674,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8r_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5770,7 +5705,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5802,7 +5736,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_swe7_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5834,7 +5767,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_ascii_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5866,7 +5798,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hebrew_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5898,7 +5829,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8u_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5930,7 +5860,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_greek_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5962,7 +5891,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1250_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -5994,7 +5922,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin5_turkish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6026,7 +5953,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_armscii8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6058,7 +5984,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp866_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6090,7 +6015,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_keybcs2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6122,7 +6046,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macce_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6154,7 +6077,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macroman_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6186,7 +6108,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp852_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6218,7 +6139,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin7_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6250,7 +6170,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macce_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6282,7 +6201,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6314,7 +6232,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1251_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6346,7 +6263,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_macroman_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6378,7 +6294,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1256_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6410,7 +6325,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1257_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6442,7 +6356,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1257_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6474,7 +6387,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_armscii8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6506,7 +6418,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_ascii_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6538,7 +6449,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1250_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6570,7 +6480,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp1256_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6602,7 +6511,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp866_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6634,7 +6542,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_dec8_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6666,7 +6573,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_greek_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6698,7 +6604,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hebrew_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6730,7 +6635,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_hp8_english_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6762,7 +6666,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_keybcs2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6794,7 +6697,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8r_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6826,7 +6728,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_koi8u_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6858,7 +6759,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin2_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6890,7 +6790,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin5_turkish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6922,7 +6821,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_latin7_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6954,7 +6852,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp850_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -6986,7 +6883,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_cp852_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -7018,7 +6914,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_swe7_swedish_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -7050,7 +6945,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_geostd8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -7082,7 +6976,6 @@ struct charset_info_st compiled_charsets[] = { to_uni_geostd8_general_ci, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ @@ -7113,7 +7006,6 @@ struct charset_info_st compiled_charsets[] = { NULL, /* to_uni */ NULL, /* from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state map */ NULL, /* ident map */ 1, /* strxfrm_multiply*/ diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c index 9e6ed3cfabe..f3e9c902389 100644 --- a/strings/ctype-gb2312.c +++ b/strings/ctype-gb2312.c @@ -822,7 +822,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_gb2312[256]= static MY_CASEFOLD_INFO my_casefold_gb2312= { 0xFFFF, - my_casefold_pages_gb2312 + my_casefold_pages_gb2312, + NULL /* ws */ }; @@ -6499,7 +6500,6 @@ struct charset_info_st my_charset_gb2312_chinese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gb2312,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -6531,7 +6531,6 @@ struct charset_info_st my_charset_gb2312_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gb2312,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -6563,7 +6562,6 @@ struct charset_info_st my_charset_gb2312_chinese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gb2312,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -6595,7 +6593,6 @@ struct charset_info_st my_charset_gb2312_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gb2312,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c index a81e2465157..a22e6aa8d84 100644 --- a/strings/ctype-gbk.c +++ b/strings/ctype-gbk.c @@ -1006,7 +1006,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_gbk[256]= static MY_CASEFOLD_INFO my_casefold_gbk= { 0xFFFF, - my_casefold_pages_gbk + my_casefold_pages_gbk, + NULL /* ws */ }; @@ -10780,7 +10781,6 @@ struct charset_info_st my_charset_gbk_chinese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gbk, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -10811,7 +10811,6 @@ struct charset_info_st my_charset_gbk_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gbk, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -10843,7 +10842,6 @@ struct charset_info_st my_charset_gbk_chinese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gbk, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -10874,7 +10872,6 @@ struct charset_info_st my_charset_gbk_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_gbk, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-latin1.c b/strings/ctype-latin1.c index a0bee911af5..5d763c6a561 100644 --- a/strings/ctype-latin1.c +++ b/strings/ctype-latin1.c @@ -449,7 +449,6 @@ struct charset_info_st my_charset_latin1= cs_to_uni, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -481,7 +480,6 @@ struct charset_info_st my_charset_latin1_nopad= cs_to_uni, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -763,7 +761,6 @@ struct charset_info_st my_charset_latin1_german2_ci= cs_to_uni, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 2, /* strxfrm_multiply */ @@ -795,7 +792,6 @@ struct charset_info_st my_charset_latin1_bin= cs_to_uni, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -827,7 +823,6 @@ struct charset_info_st my_charset_latin1_nopad_bin= cs_to_uni, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c index 1e3ef16bdb5..a5fed41b964 100644 --- a/strings/ctype-sjis.c +++ b/strings/ctype-sjis.c @@ -1076,7 +1076,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_sjis[256]= static MY_CASEFOLD_INFO my_casefold_sjis= { 0xFFFF, - my_casefold_pages_sjis + my_casefold_pages_sjis, + NULL /* ws */ }; @@ -34193,7 +34194,6 @@ struct charset_info_st my_charset_sjis_japanese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_sjis, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -34224,7 +34224,6 @@ struct charset_info_st my_charset_sjis_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_sjis, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -34256,7 +34255,6 @@ struct charset_info_st my_charset_sjis_japanese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_sjis, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -34287,7 +34285,6 @@ struct charset_info_st my_charset_sjis_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_sjis, /* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-tis620.c b/strings/ctype-tis620.c index 7ca33807fe4..0b728346f6a 100644 --- a/strings/ctype-tis620.c +++ b/strings/ctype-tis620.c @@ -957,7 +957,6 @@ struct charset_info_st my_charset_tis620_thai_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -988,7 +987,6 @@ struct charset_info_st my_charset_tis620_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -1020,7 +1018,6 @@ struct charset_info_st my_charset_tis620_thai_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -1052,7 +1049,6 @@ struct charset_info_st my_charset_tis620_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c index 8e94a18a478..1e8661bef54 100644 --- a/strings/ctype-uca.c +++ b/strings/ctype-uca.c @@ -35,6 +35,7 @@ #include "strings_def.h" #include <m_ctype.h> #include "ctype-uca.h" +#include "ctype-unidata.h" #include "my_bit.h" typedef struct @@ -34611,8 +34612,8 @@ my_coll_init_uca(struct charset_info_st *cs, MY_CHARSET_LOADER *loader) { cs->pad_char= ' '; cs->m_ctype= my_charset_utf8mb3_unicode_ci.m_ctype; - if (!cs->caseinfo) - cs->caseinfo= &my_unicase_default; + if (!cs->casefold) + cs->casefold= &my_casefold_default; return create_tailoring(cs, loader); } @@ -34762,23 +34763,23 @@ create_tailoring(struct charset_info_st *cs, if (rules.version == 520) /* Unicode-5.2.0 requested */ { src_uca= &my_uca_v520; - cs->caseinfo= &my_unicase_unicode520; + cs->casefold= &my_casefold_unicode520; } else if (rules.version == 1400) /* Unicode-14.0.0 */ { src_uca= &my_uca_v1400; - cs->caseinfo= &my_unicase_unicode520; + cs->casefold= &my_casefold_unicode520; } else if (rules.version == 400) /* Unicode-4.0.0 requested */ { src_uca= &my_uca_v400; - cs->caseinfo= &my_unicase_default; + cs->casefold= &my_casefold_default; } else /* No Unicode version specified */ { src_uca= cs->uca ? cs->uca : &my_uca_v400; - if (!cs->caseinfo) - cs->caseinfo= &my_unicase_default; + if (!cs->casefold) + cs->casefold= &my_casefold_default; } if (rules.strength) my_ci_set_strength(cs, rules.strength); @@ -34855,8 +34856,7 @@ struct charset_info_st my_charset_ucs2_unicode_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -34886,8 +34886,7 @@ struct charset_info_st my_charset_ucs2_icelandic_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -34917,8 +34916,7 @@ struct charset_info_st my_charset_ucs2_latvian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -34948,8 +34946,7 @@ struct charset_info_st my_charset_ucs2_romanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -34979,8 +34976,7 @@ struct charset_info_st my_charset_ucs2_slovenian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35010,8 +35006,7 @@ struct charset_info_st my_charset_ucs2_polish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35041,8 +35036,7 @@ struct charset_info_st my_charset_ucs2_estonian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35072,8 +35066,7 @@ struct charset_info_st my_charset_ucs2_spanish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35103,8 +35096,7 @@ struct charset_info_st my_charset_ucs2_swedish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35134,8 +35126,7 @@ struct charset_info_st my_charset_ucs2_turkish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_turkish,/* caseinfo */ + &my_casefold_turkish,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35165,8 +35156,7 @@ struct charset_info_st my_charset_ucs2_czech_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35197,8 +35187,7 @@ struct charset_info_st my_charset_ucs2_danish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35228,8 +35217,7 @@ struct charset_info_st my_charset_ucs2_lithuanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35259,8 +35247,7 @@ struct charset_info_st my_charset_ucs2_slovak_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35290,8 +35277,7 @@ struct charset_info_st my_charset_ucs2_spanish2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35322,8 +35308,7 @@ struct charset_info_st my_charset_ucs2_roman_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35354,8 +35339,7 @@ struct charset_info_st my_charset_ucs2_persian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35386,8 +35370,7 @@ struct charset_info_st my_charset_ucs2_esperanto_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35418,8 +35401,7 @@ struct charset_info_st my_charset_ucs2_hungarian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35449,8 +35431,7 @@ struct charset_info_st my_charset_ucs2_sinhala_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35482,8 +35463,7 @@ struct charset_info_st my_charset_ucs2_german2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35513,8 +35493,7 @@ struct charset_info_st my_charset_ucs2_croatian_mysql561_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35545,8 +35524,7 @@ struct charset_info_st my_charset_ucs2_croatian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35577,8 +35555,7 @@ struct charset_info_st my_charset_ucs2_myanmar_uca_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35609,8 +35586,7 @@ struct charset_info_st my_charset_ucs2_thai_520_w2= &my_uca_v520_th, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -35640,8 +35616,7 @@ struct charset_info_st my_charset_ucs2_unicode_520_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35672,8 +35647,7 @@ struct charset_info_st my_charset_ucs2_vietnamese_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35704,8 +35678,7 @@ struct charset_info_st my_charset_ucs2_unicode_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35736,8 +35709,7 @@ struct charset_info_st my_charset_ucs2_unicode_520_nopad_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520, /* caseinfo */ + &my_casefold_unicode520, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35837,8 +35809,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35869,8 +35840,7 @@ struct charset_info_st my_charset_utf8mb3_icelandic_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35900,8 +35870,7 @@ struct charset_info_st my_charset_utf8mb3_latvian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35931,8 +35900,7 @@ struct charset_info_st my_charset_utf8mb3_romanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35962,8 +35930,7 @@ struct charset_info_st my_charset_utf8mb3_slovenian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -35993,8 +35960,7 @@ struct charset_info_st my_charset_utf8mb3_polish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36024,8 +35990,7 @@ struct charset_info_st my_charset_utf8mb3_estonian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36055,8 +36020,7 @@ struct charset_info_st my_charset_utf8mb3_spanish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36086,8 +36050,7 @@ struct charset_info_st my_charset_utf8mb3_swedish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36117,8 +36080,7 @@ struct charset_info_st my_charset_utf8mb3_turkish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_turkish,/* caseinfo */ + &my_casefold_turkish,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36148,8 +36110,7 @@ struct charset_info_st my_charset_utf8mb3_czech_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36180,8 +36141,7 @@ struct charset_info_st my_charset_utf8mb3_danish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36211,8 +36171,7 @@ struct charset_info_st my_charset_utf8mb3_lithuanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36242,8 +36201,7 @@ struct charset_info_st my_charset_utf8mb3_slovak_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36273,8 +36231,7 @@ struct charset_info_st my_charset_utf8mb3_spanish2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36304,8 +36261,7 @@ struct charset_info_st my_charset_utf8mb3_roman_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36335,8 +36291,7 @@ struct charset_info_st my_charset_utf8mb3_persian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36366,8 +36321,7 @@ struct charset_info_st my_charset_utf8mb3_esperanto_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36397,8 +36351,7 @@ struct charset_info_st my_charset_utf8mb3_hungarian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36428,8 +36381,7 @@ struct charset_info_st my_charset_utf8mb3_sinhala_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36460,8 +36412,7 @@ struct charset_info_st my_charset_utf8mb3_german2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36491,8 +36442,7 @@ struct charset_info_st my_charset_utf8mb3_croatian_mysql561_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36523,8 +36473,7 @@ struct charset_info_st my_charset_utf8mb3_croatian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36555,8 +36504,7 @@ struct charset_info_st my_charset_utf8mb3_myanmar_uca_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36587,8 +36535,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_520_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36618,8 +36565,7 @@ struct charset_info_st my_charset_utf8mb3_thai_520_w2= &my_uca_v520_th, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -36649,8 +36595,7 @@ struct charset_info_st my_charset_utf8mb3_vietnamese_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36681,8 +36626,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36713,8 +36657,7 @@ struct charset_info_st my_charset_utf8mb3_unicode_520_nopad_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520, /* caseinfo */ + &my_casefold_unicode520, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36787,8 +36730,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36819,8 +36761,7 @@ struct charset_info_st my_charset_utf8mb4_icelandic_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36850,8 +36791,7 @@ struct charset_info_st my_charset_utf8mb4_latvian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36881,8 +36821,7 @@ struct charset_info_st my_charset_utf8mb4_romanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36912,8 +36851,7 @@ struct charset_info_st my_charset_utf8mb4_slovenian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36943,8 +36881,7 @@ struct charset_info_st my_charset_utf8mb4_polish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -36974,8 +36911,7 @@ struct charset_info_st my_charset_utf8mb4_estonian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37005,8 +36941,7 @@ struct charset_info_st my_charset_utf8mb4_spanish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37036,8 +36971,7 @@ struct charset_info_st my_charset_utf8mb4_swedish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37067,8 +37001,7 @@ struct charset_info_st my_charset_utf8mb4_turkish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_turkish, /* caseinfo */ + &my_casefold_turkish,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37098,8 +37031,7 @@ struct charset_info_st my_charset_utf8mb4_czech_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37130,8 +37062,7 @@ struct charset_info_st my_charset_utf8mb4_danish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37161,8 +37092,7 @@ struct charset_info_st my_charset_utf8mb4_lithuanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37192,8 +37122,7 @@ struct charset_info_st my_charset_utf8mb4_slovak_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37223,8 +37152,7 @@ struct charset_info_st my_charset_utf8mb4_spanish2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37254,8 +37182,7 @@ struct charset_info_st my_charset_utf8mb4_roman_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37285,8 +37212,7 @@ struct charset_info_st my_charset_utf8mb4_persian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37316,8 +37242,7 @@ struct charset_info_st my_charset_utf8mb4_esperanto_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37347,8 +37272,7 @@ struct charset_info_st my_charset_utf8mb4_hungarian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37378,8 +37302,7 @@ struct charset_info_st my_charset_utf8mb4_sinhala_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37409,8 +37332,7 @@ struct charset_info_st my_charset_utf8mb4_german2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37440,8 +37362,7 @@ struct charset_info_st my_charset_utf8mb4_croatian_mysql561_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37472,8 +37393,7 @@ struct charset_info_st my_charset_utf8mb4_croatian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37504,8 +37424,7 @@ struct charset_info_st my_charset_utf8mb4_myanmar_uca_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37535,8 +37454,7 @@ struct charset_info_st my_charset_utf8mb4_thai_520_w2= &my_uca_v520_th, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -37566,8 +37484,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37598,8 +37515,7 @@ struct charset_info_st my_charset_utf8mb4_vietnamese_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37630,8 +37546,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37662,8 +37577,7 @@ struct charset_info_st my_charset_utf8mb4_unicode_520_nopad_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520, /* caseinfo */ + &my_casefold_unicode520, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37713,8 +37627,7 @@ struct charset_info_st my_charset_utf32_unicode_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37745,8 +37658,7 @@ struct charset_info_st my_charset_utf32_icelandic_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37776,8 +37688,7 @@ struct charset_info_st my_charset_utf32_latvian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37807,8 +37718,7 @@ struct charset_info_st my_charset_utf32_romanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37838,8 +37748,7 @@ struct charset_info_st my_charset_utf32_slovenian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37869,8 +37778,7 @@ struct charset_info_st my_charset_utf32_polish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37900,8 +37808,7 @@ struct charset_info_st my_charset_utf32_estonian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37931,8 +37838,7 @@ struct charset_info_st my_charset_utf32_spanish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37962,8 +37868,7 @@ struct charset_info_st my_charset_utf32_swedish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -37993,8 +37898,7 @@ struct charset_info_st my_charset_utf32_turkish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_turkish, /* caseinfo */ + &my_casefold_turkish,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38024,8 +37928,7 @@ struct charset_info_st my_charset_utf32_czech_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38056,8 +37959,7 @@ struct charset_info_st my_charset_utf32_danish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38087,8 +37989,7 @@ struct charset_info_st my_charset_utf32_lithuanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38118,8 +38019,7 @@ struct charset_info_st my_charset_utf32_slovak_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38149,8 +38049,7 @@ struct charset_info_st my_charset_utf32_spanish2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38180,8 +38079,7 @@ struct charset_info_st my_charset_utf32_roman_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38211,8 +38109,7 @@ struct charset_info_st my_charset_utf32_persian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38242,8 +38139,7 @@ struct charset_info_st my_charset_utf32_esperanto_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38273,8 +38169,7 @@ struct charset_info_st my_charset_utf32_hungarian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38304,8 +38199,7 @@ struct charset_info_st my_charset_utf32_sinhala_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38335,8 +38229,7 @@ struct charset_info_st my_charset_utf32_german2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38366,8 +38259,7 @@ struct charset_info_st my_charset_utf32_croatian_mysql561_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38397,8 +38289,7 @@ struct charset_info_st my_charset_utf32_croatian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38429,8 +38320,7 @@ struct charset_info_st my_charset_utf32_myanmar_uca_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38461,8 +38351,7 @@ struct charset_info_st my_charset_utf32_thai_520_w2= &my_uca_v520_th, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -38493,8 +38382,7 @@ struct charset_info_st my_charset_utf32_unicode_520_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38525,8 +38413,7 @@ struct charset_info_st my_charset_utf32_vietnamese_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38557,8 +38444,7 @@ struct charset_info_st my_charset_utf32_unicode_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38589,8 +38475,7 @@ struct charset_info_st my_charset_utf32_unicode_520_nopad_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520, /* caseinfo */ + &my_casefold_unicode520, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38641,8 +38526,7 @@ struct charset_info_st my_charset_utf16_unicode_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38673,8 +38557,7 @@ struct charset_info_st my_charset_utf16_icelandic_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38704,8 +38587,7 @@ struct charset_info_st my_charset_utf16_latvian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38735,8 +38617,7 @@ struct charset_info_st my_charset_utf16_romanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38766,8 +38647,7 @@ struct charset_info_st my_charset_utf16_slovenian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38797,8 +38677,7 @@ struct charset_info_st my_charset_utf16_polish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38828,8 +38707,7 @@ struct charset_info_st my_charset_utf16_estonian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38859,8 +38737,7 @@ struct charset_info_st my_charset_utf16_spanish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38890,8 +38767,7 @@ struct charset_info_st my_charset_utf16_swedish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38921,8 +38797,7 @@ struct charset_info_st my_charset_utf16_turkish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_turkish, /* caseinfo */ + &my_casefold_turkish,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38952,8 +38827,7 @@ struct charset_info_st my_charset_utf16_czech_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -38984,8 +38858,7 @@ struct charset_info_st my_charset_utf16_danish_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39015,8 +38888,7 @@ struct charset_info_st my_charset_utf16_lithuanian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39046,8 +38918,7 @@ struct charset_info_st my_charset_utf16_slovak_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39077,8 +38948,7 @@ struct charset_info_st my_charset_utf16_spanish2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39108,8 +38978,7 @@ struct charset_info_st my_charset_utf16_roman_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39139,8 +39008,7 @@ struct charset_info_st my_charset_utf16_persian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39170,8 +39038,7 @@ struct charset_info_st my_charset_utf16_esperanto_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39201,8 +39068,7 @@ struct charset_info_st my_charset_utf16_hungarian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39232,8 +39098,7 @@ struct charset_info_st my_charset_utf16_sinhala_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39263,8 +39128,7 @@ struct charset_info_st my_charset_utf16_german2_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39295,8 +39159,7 @@ struct charset_info_st my_charset_utf16_croatian_mysql561_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39327,8 +39190,7 @@ struct charset_info_st my_charset_utf16_croatian_uca_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39359,8 +39221,7 @@ struct charset_info_st my_charset_utf16_myanmar_uca_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold*/ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39391,8 +39252,7 @@ struct charset_info_st my_charset_utf16_thai_520_w2= &my_uca_v520_th, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold*/ NULL, /* state_map */ NULL, /* ident_map */ 4, /* strxfrm_multiply */ @@ -39423,8 +39283,7 @@ struct charset_info_st my_charset_utf16_unicode_520_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520,/* caseinfo */ + &my_casefold_unicode520,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39455,8 +39314,7 @@ struct charset_info_st my_charset_utf16_vietnamese_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39487,8 +39345,7 @@ struct charset_info_st my_charset_utf16_unicode_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39519,8 +39376,7 @@ struct charset_info_st my_charset_utf16_unicode_520_nopad_ci= &my_uca_v520, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_unicode520, /* caseinfo */ + &my_casefold_unicode520, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 8, /* strxfrm_multiply */ @@ -39599,9 +39455,9 @@ my_uca1400_collation_definition_init(MY_CHARSET_LOADER *loader, dst->uca= &my_uca_v1400; dst->tailoring= def->tailoring; if (def->tailoring == turkish) - dst->caseinfo= &my_unicase_turkish; /*TODO: unicase_1400_turkish */ + dst->casefold= &my_casefold_turkish; /*TODO: casefold_1400_turkish */ else - dst->caseinfo= &my_unicase_unicode520; /*TODO: unicase_1400*/ + dst->casefold= &my_casefold_unicode520; /*TODO: casefold_1400*/ if (nopad) dst->state|= MY_CS_NOPAD; my_ci_set_level_flags(dst, (1 << MY_CS_LEVEL_BIT_PRIMARY) | diff --git a/strings/ctype-ucs2.c b/strings/ctype-ucs2.c index c4ac54e4462..5d67762ac2f 100644 --- a/strings/ctype-ucs2.c +++ b/strings/ctype-ucs2.c @@ -1197,17 +1197,14 @@ my_lengthsp_mb2(CHARSET_INFO *cs __attribute__((unused)), static inline int my_weight_mb2_utf16mb2_general_ci(uchar b0, uchar b1) { my_wc_t wc= MY_UTF16_WC2(b0, b1); - MY_UNICASE_CHARACTER *page= my_unicase_default_pages[wc >> 8]; - return (int) (page ? page[wc & 0xFF].sort : wc); + return my_general_ci_bmp_char_to_weight((uint16) wc); } #define MY_FUNCTION_NAME(x) my_ ## x ## _utf16_general_ci #define DEFINE_STRNXFRM_UNICODE #define DEFINE_STRNXFRM_UNICODE_NOPAD #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_utf16_quick(pwc, s, e) #define OPTIMIZE_ASCII 0 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_char_to_weight(x) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB2(b0,b1) my_weight_mb2_utf16mb2_general_ci(b0,b1) #define WEIGHT_MB4(b0,b1,b2,b3) MY_CS_REPLACEMENT_CHARACTER @@ -1295,7 +1292,7 @@ my_caseup_utf16(CHARSET_INFO *cs, const char *src, size_t srclen, int res; const char *srcend= src + srclen; char *dstend= dst + dstlen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(srclen <= dstlen); while ((src < srcend) && @@ -1320,7 +1317,7 @@ my_hash_sort_utf16_nopad(CHARSET_INFO *cs, my_charset_conv_mb_wc mb_wc= cs->cset->mb_wc; int res; const uchar *e= s + slen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; register ulong m1= *nr1, m2= *nr2; while ((s < e) && (res= mb_wc(cs, &wc, (uchar *) s, (uchar *) e)) > 0) @@ -1353,7 +1350,7 @@ my_casedn_utf16(CHARSET_INFO *cs, const char *src, size_t srclen, int res; const char *srcend= src + srclen; char *dstend= dst + dstlen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(srclen <= dstlen); while ((src < srcend) && @@ -1425,7 +1422,7 @@ my_wildcmp_utf16_ci(CHARSET_INFO *cs, const char *wildstr,const char *wildend, int escape, int w_one, int w_many) { - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; return my_wildcmp_unicode(cs, str, str_end, wildstr, wildend, escape, w_one, w_many, uni_plane); } @@ -1603,8 +1600,7 @@ struct charset_info_st my_charset_utf16_general_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -1635,8 +1631,7 @@ struct charset_info_st my_charset_utf16_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -1667,8 +1662,7 @@ struct charset_info_st my_charset_utf16_general_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -1700,8 +1694,7 @@ struct charset_info_st my_charset_utf16_nopad_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -1725,9 +1718,7 @@ struct charset_info_st my_charset_utf16_nopad_bin= #define DEFINE_STRNXFRM_UNICODE_NOPAD #define MY_MB_WC(cs, pwc, s, e) (my_ci_mb_wc(cs, pwc, s, e)) #define OPTIMIZE_ASCII 0 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_char_to_weight(x) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB2(b0,b1) my_weight_mb2_utf16mb2_general_ci(b1,b0) #define WEIGHT_MB4(b0,b1,b2,b3) MY_CS_REPLACEMENT_CHARACTER @@ -1962,8 +1953,7 @@ struct charset_info_st my_charset_utf16le_general_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -1994,8 +1984,7 @@ struct charset_info_st my_charset_utf16le_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2026,8 +2015,7 @@ struct charset_info_st my_charset_utf16le_general_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2059,8 +2047,7 @@ struct charset_info_st my_charset_utf16le_nopad_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2096,21 +2083,14 @@ static inline int my_weight_utf32_general_ci(uchar b0, uchar b1, uchar b2, uchar b3) { my_wc_t wc= MY_UTF32_WC4(b0, b1, b2, b3); - if (wc <= 0xFFFF) - { - MY_UNICASE_CHARACTER *page= my_unicase_default_pages[wc >> 8]; - return (int) (page ? page[wc & 0xFF].sort : wc); - } - return MY_CS_REPLACEMENT_CHARACTER; + return my_general_ci_char_to_weight(wc); } #define MY_FUNCTION_NAME(x) my_ ## x ## _utf32_general_ci #define DEFINE_STRNXFRM_UNICODE #define DEFINE_STRNXFRM_UNICODE_NOPAD #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_utf32_quick(pwc, s, e) #define OPTIMIZE_ASCII 0 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_char_to_weight(x) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB4(b0,b1,b2,b3) my_weight_utf32_general_ci(b0, b1, b2, b3) #include "strcoll.inl" @@ -2182,7 +2162,7 @@ my_caseup_utf32(CHARSET_INFO *cs, const char *src, size_t srclen, int res; const char *srcend= src + srclen; char *dstend= dst + dstlen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(srclen <= dstlen); while ((src < srcend) && @@ -2205,7 +2185,7 @@ my_hash_sort_utf32_nopad(CHARSET_INFO *cs, const uchar *s, size_t slen, my_wc_t wc; int res; const uchar *e= s + slen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; register ulong m1= *nr1, m2= *nr2; while ((res= my_utf32_uni(cs, &wc, (uchar*) s, (uchar*) e)) > 0) @@ -2239,7 +2219,7 @@ my_casedn_utf32(CHARSET_INFO *cs, const char *src, size_t srclen, int res; const char *srcend= src + srclen; char *dstend= dst + dstlen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(srclen <= dstlen); while ((res= my_utf32_uni(cs, &wc, (uchar*) src, (uchar*) srcend)) > 0) @@ -2593,7 +2573,7 @@ my_wildcmp_utf32_ci(CHARSET_INFO *cs, const char *wildstr, const char *wildend, int escape, int w_one, int w_many) { - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; return my_wildcmp_unicode(cs, str, str_end, wildstr, wildend, escape, w_one, w_many, uni_plane); } @@ -2772,8 +2752,7 @@ struct charset_info_st my_charset_utf32_general_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2804,8 +2783,7 @@ struct charset_info_st my_charset_utf32_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2836,8 +2814,7 @@ struct charset_info_st my_charset_utf32_general_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2869,8 +2846,7 @@ struct charset_info_st my_charset_utf32_nopad_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -2960,16 +2936,14 @@ static const uchar to_upper_ucs2[] = { static inline int my_weight_mb2_ucs2_general_ci(uchar b0, uchar b1) { my_wc_t wc= UCS2_CODE(b0, b1); - MY_UNICASE_CHARACTER *page= my_unicase_default_pages[wc >> 8]; - return (int) (page ? page[wc & 0xFF].sort : wc); + return my_general_ci_bmp_char_to_weight((uint16) wc); } static inline int my_weight_mb2_ucs2_general_mysql500_ci(uchar b0, uchar b1) { my_wc_t wc= UCS2_CODE(b0, b1); - MY_UNICASE_CHARACTER *page= my_unicase_mysql500_pages[wc >> 8]; - return (int) (page ? page[wc & 0xFF].sort : wc); + return my_general_mysql500_ci_bmp_char_to_weight((uint16) wc); } @@ -2978,21 +2952,18 @@ static inline int my_weight_mb2_ucs2_general_mysql500_ci(uchar b0, uchar b1) #define DEFINE_STRNXFRM_UNICODE_NOPAD #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_ucs2_quick(pwc, s, e) #define OPTIMIZE_ASCII 0 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_bmp_char_to_weight(x) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB2(b0,b1) my_weight_mb2_ucs2_general_ci(b0,b1) #include "strcoll.inl" + #define MY_FUNCTION_NAME(x) my_ ## x ## _ucs2_general_mysql500_ci #define DEFINE_STRNXFRM_UNICODE #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_ucs2_quick(pwc, s, e) #define OPTIMIZE_ASCII 0 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_mysql500_page00 -#define UNICASE_PAGES my_unicase_mysql500_pages +#define MY_WC_WEIGHT(x) my_general_mysql500_ci_bmp_char_to_weight(x) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB2(b0,b1) my_weight_mb2_ucs2_general_mysql500_ci(b0,b1) #include "strcoll.inl" @@ -3057,7 +3028,7 @@ static size_t my_caseup_ucs2(CHARSET_INFO *cs, const char *src, size_t srclen, int res; const char *srcend= src + srclen; char *dstend= dst + dstlen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(srclen <= dstlen); while ((src < srcend) && @@ -3080,7 +3051,7 @@ my_hash_sort_ucs2_nopad(CHARSET_INFO *cs, const uchar *s, size_t slen, my_wc_t wc; int res; const uchar *e=s+slen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; register ulong m1= *nr1, m2= *nr2; while ((s < e) && (res=my_ucs2_uni(cs,&wc, (uchar *)s, (uchar*)e)) >0) @@ -3108,7 +3079,7 @@ static size_t my_casedn_ucs2(CHARSET_INFO *cs, const char *src, size_t srclen, int res; const char *srcend= src + srclen; char *dstend= dst + dstlen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(srclen <= dstlen); while ((src < srcend) && @@ -3198,7 +3169,7 @@ int my_wildcmp_ucs2_ci(CHARSET_INFO *cs, const char *wildstr,const char *wildend, int escape, int w_one, int w_many) { - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; return my_wildcmp_unicode(cs,str,str_end,wildstr,wildend, escape,w_one,w_many,uni_plane); } @@ -3396,8 +3367,7 @@ struct charset_info_st my_charset_ucs2_general_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -3428,8 +3398,7 @@ struct charset_info_st my_charset_ucs2_general_mysql500_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_mysql500, /* caseinfo */ + &my_casefold_mysql500, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -3460,8 +3429,7 @@ struct charset_info_st my_charset_ucs2_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -3492,8 +3460,7 @@ struct charset_info_st my_charset_ucs2_general_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -3524,8 +3491,7 @@ struct charset_info_st my_charset_ucs2_nopad_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c index 76f000e9ed6..a5624a8c341 100644 --- a/strings/ctype-ujis.c +++ b/strings/ctype-ujis.c @@ -67140,7 +67140,8 @@ static const MY_CASEFOLD_CHARACTER *my_casefold_pages_ujis[512]= static MY_CASEFOLD_INFO my_casefold_info_ujis= { 0x0FFFF, - my_casefold_pages_ujis + my_casefold_pages_ujis, + NULL /* ws */ }; @@ -67378,7 +67379,6 @@ struct charset_info_st my_charset_ujis_japanese_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_info_ujis,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -67410,7 +67410,6 @@ struct charset_info_st my_charset_ujis_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_info_ujis,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -67442,7 +67441,6 @@ struct charset_info_st my_charset_ujis_japanese_nopad_ci= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_info_ujis,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -67474,7 +67472,6 @@ struct charset_info_st my_charset_ujis_nopad_bin= NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ &my_casefold_info_ujis,/* casefold */ - NULL, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-unicode300-casefold-tr.h b/strings/ctype-unicode300-casefold-tr.h new file mode 100644 index 00000000000..ff428112382 --- /dev/null +++ b/strings/ctype-unicode300-casefold-tr.h @@ -0,0 +1,193 @@ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. + Copyright (c) 2009, 2023, MariaDB Corporation. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA +*/ + +/* + Generated by: + ./unidata-dump \ + --mode=casefold-tr \ + --page-name=u300tr_casefold_page \ + --page-name-derived=u300_casefold_page \ + --index-name=my_u300tr_casefold_index \ + --max-char=0xFFFF \ + UnicodeData-3.0.0.txt + +*/ +const MY_CASEFOLD_CHARACTER u300tr_casefold_page00[256]={ + {0x0000,0x0000},{0x0001,0x0001}, /* 0000 */ + {0x0002,0x0002},{0x0003,0x0003}, /* 0002 */ + {0x0004,0x0004},{0x0005,0x0005}, /* 0004 */ + {0x0006,0x0006},{0x0007,0x0007}, /* 0006 */ + {0x0008,0x0008},{0x0009,0x0009}, /* 0008 */ + {0x000A,0x000A},{0x000B,0x000B}, /* 000A */ + {0x000C,0x000C},{0x000D,0x000D}, /* 000C */ + {0x000E,0x000E},{0x000F,0x000F}, /* 000E */ + {0x0010,0x0010},{0x0011,0x0011}, /* 0010 */ + {0x0012,0x0012},{0x0013,0x0013}, /* 0012 */ + {0x0014,0x0014},{0x0015,0x0015}, /* 0014 */ + {0x0016,0x0016},{0x0017,0x0017}, /* 0016 */ + {0x0018,0x0018},{0x0019,0x0019}, /* 0018 */ + {0x001A,0x001A},{0x001B,0x001B}, /* 001A */ + {0x001C,0x001C},{0x001D,0x001D}, /* 001C */ + {0x001E,0x001E},{0x001F,0x001F}, /* 001E */ + {0x0020,0x0020},{0x0021,0x0021}, /* 0020 */ + {0x0022,0x0022},{0x0023,0x0023}, /* 0022 */ + {0x0024,0x0024},{0x0025,0x0025}, /* 0024 */ + {0x0026,0x0026},{0x0027,0x0027}, /* 0026 */ + {0x0028,0x0028},{0x0029,0x0029}, /* 0028 */ + {0x002A,0x002A},{0x002B,0x002B}, /* 002A */ + {0x002C,0x002C},{0x002D,0x002D}, /* 002C */ + {0x002E,0x002E},{0x002F,0x002F}, /* 002E */ + {0x0030,0x0030},{0x0031,0x0031}, /* 0030 */ + {0x0032,0x0032},{0x0033,0x0033}, /* 0032 */ + {0x0034,0x0034},{0x0035,0x0035}, /* 0034 */ + {0x0036,0x0036},{0x0037,0x0037}, /* 0036 */ + {0x0038,0x0038},{0x0039,0x0039}, /* 0038 */ + {0x003A,0x003A},{0x003B,0x003B}, /* 003A */ + {0x003C,0x003C},{0x003D,0x003D}, /* 003C */ + {0x003E,0x003E},{0x003F,0x003F}, /* 003E */ + {0x0040,0x0040},{0x0041,0x0061}, /* 0040 */ + {0x0042,0x0062},{0x0043,0x0063}, /* 0042 */ + {0x0044,0x0064},{0x0045,0x0065}, /* 0044 */ + {0x0046,0x0066},{0x0047,0x0067}, /* 0046 */ + {0x0048,0x0068},{0x0049,0x0131}, /* 0048 */ + {0x004A,0x006A},{0x004B,0x006B}, /* 004A */ + {0x004C,0x006C},{0x004D,0x006D}, /* 004C */ + {0x004E,0x006E},{0x004F,0x006F}, /* 004E */ + {0x0050,0x0070},{0x0051,0x0071}, /* 0050 */ + {0x0052,0x0072},{0x0053,0x0073}, /* 0052 */ + {0x0054,0x0074},{0x0055,0x0075}, /* 0054 */ + {0x0056,0x0076},{0x0057,0x0077}, /* 0056 */ + {0x0058,0x0078},{0x0059,0x0079}, /* 0058 */ + {0x005A,0x007A},{0x005B,0x005B}, /* 005A */ + {0x005C,0x005C},{0x005D,0x005D}, /* 005C */ + {0x005E,0x005E},{0x005F,0x005F}, /* 005E */ + {0x0060,0x0060},{0x0041,0x0061}, /* 0060 */ + {0x0042,0x0062},{0x0043,0x0063}, /* 0062 */ + {0x0044,0x0064},{0x0045,0x0065}, /* 0064 */ + {0x0046,0x0066},{0x0047,0x0067}, /* 0066 */ + {0x0048,0x0068},{0x0130,0x0069}, /* 0068 */ + {0x004A,0x006A},{0x004B,0x006B}, /* 006A */ + {0x004C,0x006C},{0x004D,0x006D}, /* 006C */ + {0x004E,0x006E},{0x004F,0x006F}, /* 006E */ + {0x0050,0x0070},{0x0051,0x0071}, /* 0070 */ + {0x0052,0x0072},{0x0053,0x0073}, /* 0072 */ + {0x0054,0x0074},{0x0055,0x0075}, /* 0074 */ + {0x0056,0x0076},{0x0057,0x0077}, /* 0076 */ + {0x0058,0x0078},{0x0059,0x0079}, /* 0078 */ + {0x005A,0x007A},{0x007B,0x007B}, /* 007A */ + {0x007C,0x007C},{0x007D,0x007D}, /* 007C */ + {0x007E,0x007E},{0x007F,0x007F}, /* 007E */ + {0x0080,0x0080},{0x0081,0x0081}, /* 0080 */ + {0x0082,0x0082},{0x0083,0x0083}, /* 0082 */ + {0x0084,0x0084},{0x0085,0x0085}, /* 0084 */ + {0x0086,0x0086},{0x0087,0x0087}, /* 0086 */ + {0x0088,0x0088},{0x0089,0x0089}, /* 0088 */ + {0x008A,0x008A},{0x008B,0x008B}, /* 008A */ + {0x008C,0x008C},{0x008D,0x008D}, /* 008C */ + {0x008E,0x008E},{0x008F,0x008F}, /* 008E */ + {0x0090,0x0090},{0x0091,0x0091}, /* 0090 */ + {0x0092,0x0092},{0x0093,0x0093}, /* 0092 */ + {0x0094,0x0094},{0x0095,0x0095}, /* 0094 */ + {0x0096,0x0096},{0x0097,0x0097}, /* 0096 */ + {0x0098,0x0098},{0x0099,0x0099}, /* 0098 */ + {0x009A,0x009A},{0x009B,0x009B}, /* 009A */ + {0x009C,0x009C},{0x009D,0x009D}, /* 009C */ + {0x009E,0x009E},{0x009F,0x009F}, /* 009E */ + {0x00A0,0x00A0},{0x00A1,0x00A1}, /* 00A0 */ + {0x00A2,0x00A2},{0x00A3,0x00A3}, /* 00A2 */ + {0x00A4,0x00A4},{0x00A5,0x00A5}, /* 00A4 */ + {0x00A6,0x00A6},{0x00A7,0x00A7}, /* 00A6 */ + {0x00A8,0x00A8},{0x00A9,0x00A9}, /* 00A8 */ + {0x00AA,0x00AA},{0x00AB,0x00AB}, /* 00AA */ + {0x00AC,0x00AC},{0x00AD,0x00AD}, /* 00AC */ + {0x00AE,0x00AE},{0x00AF,0x00AF}, /* 00AE */ + {0x00B0,0x00B0},{0x00B1,0x00B1}, /* 00B0 */ + {0x00B2,0x00B2},{0x00B3,0x00B3}, /* 00B2 */ + {0x00B4,0x00B4},{0x039C,0x00B5}, /* 00B4 */ + {0x00B6,0x00B6},{0x00B7,0x00B7}, /* 00B6 */ + {0x00B8,0x00B8},{0x00B9,0x00B9}, /* 00B8 */ + {0x00BA,0x00BA},{0x00BB,0x00BB}, /* 00BA */ + {0x00BC,0x00BC},{0x00BD,0x00BD}, /* 00BC */ + {0x00BE,0x00BE},{0x00BF,0x00BF}, /* 00BE */ + {0x00C0,0x00E0},{0x00C1,0x00E1}, /* 00C0 */ + {0x00C2,0x00E2},{0x00C3,0x00E3}, /* 00C2 */ + {0x00C4,0x00E4},{0x00C5,0x00E5}, /* 00C4 */ + {0x00C6,0x00E6},{0x00C7,0x00E7}, /* 00C6 */ + {0x00C8,0x00E8},{0x00C9,0x00E9}, /* 00C8 */ + {0x00CA,0x00EA},{0x00CB,0x00EB}, /* 00CA */ + {0x00CC,0x00EC},{0x00CD,0x00ED}, /* 00CC */ + {0x00CE,0x00EE},{0x00CF,0x00EF}, /* 00CE */ + {0x00D0,0x00F0},{0x00D1,0x00F1}, /* 00D0 */ + {0x00D2,0x00F2},{0x00D3,0x00F3}, /* 00D2 */ + {0x00D4,0x00F4},{0x00D5,0x00F5}, /* 00D4 */ + {0x00D6,0x00F6},{0x00D7,0x00D7}, /* 00D6 */ + {0x00D8,0x00F8},{0x00D9,0x00F9}, /* 00D8 */ + {0x00DA,0x00FA},{0x00DB,0x00FB}, /* 00DA */ + {0x00DC,0x00FC},{0x00DD,0x00FD}, /* 00DC */ + {0x00DE,0x00FE},{0x00DF,0x00DF}, /* 00DE */ + {0x00C0,0x00E0},{0x00C1,0x00E1}, /* 00E0 */ + {0x00C2,0x00E2},{0x00C3,0x00E3}, /* 00E2 */ + {0x00C4,0x00E4},{0x00C5,0x00E5}, /* 00E4 */ + {0x00C6,0x00E6},{0x00C7,0x00E7}, /* 00E6 */ + {0x00C8,0x00E8},{0x00C9,0x00E9}, /* 00E8 */ + {0x00CA,0x00EA},{0x00CB,0x00EB}, /* 00EA */ + {0x00CC,0x00EC},{0x00CD,0x00ED}, /* 00EC */ + {0x00CE,0x00EE},{0x00CF,0x00EF}, /* 00EE */ + {0x00D0,0x00F0},{0x00D1,0x00F1}, /* 00F0 */ + {0x00D2,0x00F2},{0x00D3,0x00F3}, /* 00F2 */ + {0x00D4,0x00F4},{0x00D5,0x00F5}, /* 00F4 */ + {0x00D6,0x00F6},{0x00F7,0x00F7}, /* 00F6 */ + {0x00D8,0x00F8},{0x00D9,0x00F9}, /* 00F8 */ + {0x00DA,0x00FA},{0x00DB,0x00FB}, /* 00FA */ + {0x00DC,0x00FC},{0x00DD,0x00FD}, /* 00FC */ + {0x00DE,0x00FE},{0x0178,0x00FF} /* 00FE */ +}; + +const MY_CASEFOLD_CHARACTER * my_u300tr_casefold_index[256]={ + u300tr_casefold_page00, u300_casefold_page01, u300_casefold_page02, u300_casefold_page03, u300_casefold_page04, u300_casefold_page05, u300_casefold_page06, u300_casefold_page07, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, u300_casefold_page1E, u300_casefold_page1F, + NULL, u300_casefold_page21, NULL, NULL, u300_casefold_page24, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, u300_casefold_pageFF +}; diff --git a/strings/ctype-unicode300-casefold.h b/strings/ctype-unicode300-casefold.h new file mode 100644 index 00000000000..353cba0846a --- /dev/null +++ b/strings/ctype-unicode300-casefold.h @@ -0,0 +1,1764 @@ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. + Copyright (c) 2009, 2023, MariaDB Corporation. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA +*/ + +/* + Generated by: + ./unidata-dump \ + --mode=casefold \ + --page-name=u300_casefold_page \ + --index-name=my_u300_casefold_index \ + --max-char=0xFFFF \ + UnicodeData-3.0.0.txt + +*/ +const MY_CASEFOLD_CHARACTER u300_casefold_page00[256]={ + {0x0000,0x0000},{0x0001,0x0001}, /* 0000 */ + {0x0002,0x0002},{0x0003,0x0003}, /* 0002 */ + {0x0004,0x0004},{0x0005,0x0005}, /* 0004 */ + {0x0006,0x0006},{0x0007,0x0007}, /* 0006 */ + {0x0008,0x0008},{0x0009,0x0009}, /* 0008 */ + {0x000A,0x000A},{0x000B,0x000B}, /* 000A */ + {0x000C,0x000C},{0x000D,0x000D}, /* 000C */ + {0x000E,0x000E},{0x000F,0x000F}, /* 000E */ + {0x0010,0x0010},{0x0011,0x0011}, /* 0010 */ + {0x0012,0x0012},{0x0013,0x0013}, /* 0012 */ + {0x0014,0x0014},{0x0015,0x0015}, /* 0014 */ + {0x0016,0x0016},{0x0017,0x0017}, /* 0016 */ + {0x0018,0x0018},{0x0019,0x0019}, /* 0018 */ + {0x001A,0x001A},{0x001B,0x001B}, /* 001A */ + {0x001C,0x001C},{0x001D,0x001D}, /* 001C */ + {0x001E,0x001E},{0x001F,0x001F}, /* 001E */ + {0x0020,0x0020},{0x0021,0x0021}, /* 0020 */ + {0x0022,0x0022},{0x0023,0x0023}, /* 0022 */ + {0x0024,0x0024},{0x0025,0x0025}, /* 0024 */ + {0x0026,0x0026},{0x0027,0x0027}, /* 0026 */ + {0x0028,0x0028},{0x0029,0x0029}, /* 0028 */ + {0x002A,0x002A},{0x002B,0x002B}, /* 002A */ + {0x002C,0x002C},{0x002D,0x002D}, /* 002C */ + {0x002E,0x002E},{0x002F,0x002F}, /* 002E */ + {0x0030,0x0030},{0x0031,0x0031}, /* 0030 */ + {0x0032,0x0032},{0x0033,0x0033}, /* 0032 */ + {0x0034,0x0034},{0x0035,0x0035}, /* 0034 */ + {0x0036,0x0036},{0x0037,0x0037}, /* 0036 */ + {0x0038,0x0038},{0x0039,0x0039}, /* 0038 */ + {0x003A,0x003A},{0x003B,0x003B}, /* 003A */ + {0x003C,0x003C},{0x003D,0x003D}, /* 003C */ + {0x003E,0x003E},{0x003F,0x003F}, /* 003E */ + {0x0040,0x0040},{0x0041,0x0061}, /* 0040 */ + {0x0042,0x0062},{0x0043,0x0063}, /* 0042 */ + {0x0044,0x0064},{0x0045,0x0065}, /* 0044 */ + {0x0046,0x0066},{0x0047,0x0067}, /* 0046 */ + {0x0048,0x0068},{0x0049,0x0069}, /* 0048 */ + {0x004A,0x006A},{0x004B,0x006B}, /* 004A */ + {0x004C,0x006C},{0x004D,0x006D}, /* 004C */ + {0x004E,0x006E},{0x004F,0x006F}, /* 004E */ + {0x0050,0x0070},{0x0051,0x0071}, /* 0050 */ + {0x0052,0x0072},{0x0053,0x0073}, /* 0052 */ + {0x0054,0x0074},{0x0055,0x0075}, /* 0054 */ + {0x0056,0x0076},{0x0057,0x0077}, /* 0056 */ + {0x0058,0x0078},{0x0059,0x0079}, /* 0058 */ + {0x005A,0x007A},{0x005B,0x005B}, /* 005A */ + {0x005C,0x005C},{0x005D,0x005D}, /* 005C */ + {0x005E,0x005E},{0x005F,0x005F}, /* 005E */ + {0x0060,0x0060},{0x0041,0x0061}, /* 0060 */ + {0x0042,0x0062},{0x0043,0x0063}, /* 0062 */ + {0x0044,0x0064},{0x0045,0x0065}, /* 0064 */ + {0x0046,0x0066},{0x0047,0x0067}, /* 0066 */ + {0x0048,0x0068},{0x0049,0x0069}, /* 0068 */ + {0x004A,0x006A},{0x004B,0x006B}, /* 006A */ + {0x004C,0x006C},{0x004D,0x006D}, /* 006C */ + {0x004E,0x006E},{0x004F,0x006F}, /* 006E */ + {0x0050,0x0070},{0x0051,0x0071}, /* 0070 */ + {0x0052,0x0072},{0x0053,0x0073}, /* 0072 */ + {0x0054,0x0074},{0x0055,0x0075}, /* 0074 */ + {0x0056,0x0076},{0x0057,0x0077}, /* 0076 */ + {0x0058,0x0078},{0x0059,0x0079}, /* 0078 */ + {0x005A,0x007A},{0x007B,0x007B}, /* 007A */ + {0x007C,0x007C},{0x007D,0x007D}, /* 007C */ + {0x007E,0x007E},{0x007F,0x007F}, /* 007E */ + {0x0080,0x0080},{0x0081,0x0081}, /* 0080 */ + {0x0082,0x0082},{0x0083,0x0083}, /* 0082 */ + {0x0084,0x0084},{0x0085,0x0085}, /* 0084 */ + {0x0086,0x0086},{0x0087,0x0087}, /* 0086 */ + {0x0088,0x0088},{0x0089,0x0089}, /* 0088 */ + {0x008A,0x008A},{0x008B,0x008B}, /* 008A */ + {0x008C,0x008C},{0x008D,0x008D}, /* 008C */ + {0x008E,0x008E},{0x008F,0x008F}, /* 008E */ + {0x0090,0x0090},{0x0091,0x0091}, /* 0090 */ + {0x0092,0x0092},{0x0093,0x0093}, /* 0092 */ + {0x0094,0x0094},{0x0095,0x0095}, /* 0094 */ + {0x0096,0x0096},{0x0097,0x0097}, /* 0096 */ + {0x0098,0x0098},{0x0099,0x0099}, /* 0098 */ + {0x009A,0x009A},{0x009B,0x009B}, /* 009A */ + {0x009C,0x009C},{0x009D,0x009D}, /* 009C */ + {0x009E,0x009E},{0x009F,0x009F}, /* 009E */ + {0x00A0,0x00A0},{0x00A1,0x00A1}, /* 00A0 */ + {0x00A2,0x00A2},{0x00A3,0x00A3}, /* 00A2 */ + {0x00A4,0x00A4},{0x00A5,0x00A5}, /* 00A4 */ + {0x00A6,0x00A6},{0x00A7,0x00A7}, /* 00A6 */ + {0x00A8,0x00A8},{0x00A9,0x00A9}, /* 00A8 */ + {0x00AA,0x00AA},{0x00AB,0x00AB}, /* 00AA */ + {0x00AC,0x00AC},{0x00AD,0x00AD}, /* 00AC */ + {0x00AE,0x00AE},{0x00AF,0x00AF}, /* 00AE */ + {0x00B0,0x00B0},{0x00B1,0x00B1}, /* 00B0 */ + {0x00B2,0x00B2},{0x00B3,0x00B3}, /* 00B2 */ + {0x00B4,0x00B4},{0x039C,0x00B5}, /* 00B4 */ + {0x00B6,0x00B6},{0x00B7,0x00B7}, /* 00B6 */ + {0x00B8,0x00B8},{0x00B9,0x00B9}, /* 00B8 */ + {0x00BA,0x00BA},{0x00BB,0x00BB}, /* 00BA */ + {0x00BC,0x00BC},{0x00BD,0x00BD}, /* 00BC */ + {0x00BE,0x00BE},{0x00BF,0x00BF}, /* 00BE */ + {0x00C0,0x00E0},{0x00C1,0x00E1}, /* 00C0 */ + {0x00C2,0x00E2},{0x00C3,0x00E3}, /* 00C2 */ + {0x00C4,0x00E4},{0x00C5,0x00E5}, /* 00C4 */ + {0x00C6,0x00E6},{0x00C7,0x00E7}, /* 00C6 */ + {0x00C8,0x00E8},{0x00C9,0x00E9}, /* 00C8 */ + {0x00CA,0x00EA},{0x00CB,0x00EB}, /* 00CA */ + {0x00CC,0x00EC},{0x00CD,0x00ED}, /* 00CC */ + {0x00CE,0x00EE},{0x00CF,0x00EF}, /* 00CE */ + {0x00D0,0x00F0},{0x00D1,0x00F1}, /* 00D0 */ + {0x00D2,0x00F2},{0x00D3,0x00F3}, /* 00D2 */ + {0x00D4,0x00F4},{0x00D5,0x00F5}, /* 00D4 */ + {0x00D6,0x00F6},{0x00D7,0x00D7}, /* 00D6 */ + {0x00D8,0x00F8},{0x00D9,0x00F9}, /* 00D8 */ + {0x00DA,0x00FA},{0x00DB,0x00FB}, /* 00DA */ + {0x00DC,0x00FC},{0x00DD,0x00FD}, /* 00DC */ + {0x00DE,0x00FE},{0x00DF,0x00DF}, /* 00DE */ + {0x00C0,0x00E0},{0x00C1,0x00E1}, /* 00E0 */ + {0x00C2,0x00E2},{0x00C3,0x00E3}, /* 00E2 */ + {0x00C4,0x00E4},{0x00C5,0x00E5}, /* 00E4 */ + {0x00C6,0x00E6},{0x00C7,0x00E7}, /* 00E6 */ + {0x00C8,0x00E8},{0x00C9,0x00E9}, /* 00E8 */ + {0x00CA,0x00EA},{0x00CB,0x00EB}, /* 00EA */ + {0x00CC,0x00EC},{0x00CD,0x00ED}, /* 00EC */ + {0x00CE,0x00EE},{0x00CF,0x00EF}, /* 00EE */ + {0x00D0,0x00F0},{0x00D1,0x00F1}, /* 00F0 */ + {0x00D2,0x00F2},{0x00D3,0x00F3}, /* 00F2 */ + {0x00D4,0x00F4},{0x00D5,0x00F5}, /* 00F4 */ + {0x00D6,0x00F6},{0x00F7,0x00F7}, /* 00F6 */ + {0x00D8,0x00F8},{0x00D9,0x00F9}, /* 00F8 */ + {0x00DA,0x00FA},{0x00DB,0x00FB}, /* 00FA */ + {0x00DC,0x00FC},{0x00DD,0x00FD}, /* 00FC */ + {0x00DE,0x00FE},{0x0178,0x00FF} /* 00FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page01[256]={ + {0x0100,0x0101},{0x0100,0x0101}, /* 0100 */ + {0x0102,0x0103},{0x0102,0x0103}, /* 0102 */ + {0x0104,0x0105},{0x0104,0x0105}, /* 0104 */ + {0x0106,0x0107},{0x0106,0x0107}, /* 0106 */ + {0x0108,0x0109},{0x0108,0x0109}, /* 0108 */ + {0x010A,0x010B},{0x010A,0x010B}, /* 010A */ + {0x010C,0x010D},{0x010C,0x010D}, /* 010C */ + {0x010E,0x010F},{0x010E,0x010F}, /* 010E */ + {0x0110,0x0111},{0x0110,0x0111}, /* 0110 */ + {0x0112,0x0113},{0x0112,0x0113}, /* 0112 */ + {0x0114,0x0115},{0x0114,0x0115}, /* 0114 */ + {0x0116,0x0117},{0x0116,0x0117}, /* 0116 */ + {0x0118,0x0119},{0x0118,0x0119}, /* 0118 */ + {0x011A,0x011B},{0x011A,0x011B}, /* 011A */ + {0x011C,0x011D},{0x011C,0x011D}, /* 011C */ + {0x011E,0x011F},{0x011E,0x011F}, /* 011E */ + {0x0120,0x0121},{0x0120,0x0121}, /* 0120 */ + {0x0122,0x0123},{0x0122,0x0123}, /* 0122 */ + {0x0124,0x0125},{0x0124,0x0125}, /* 0124 */ + {0x0126,0x0127},{0x0126,0x0127}, /* 0126 */ + {0x0128,0x0129},{0x0128,0x0129}, /* 0128 */ + {0x012A,0x012B},{0x012A,0x012B}, /* 012A */ + {0x012C,0x012D},{0x012C,0x012D}, /* 012C */ + {0x012E,0x012F},{0x012E,0x012F}, /* 012E */ + {0x0130,0x0069},{0x0049,0x0131}, /* 0130 */ + {0x0132,0x0133},{0x0132,0x0133}, /* 0132 */ + {0x0134,0x0135},{0x0134,0x0135}, /* 0134 */ + {0x0136,0x0137},{0x0136,0x0137}, /* 0136 */ + {0x0138,0x0138},{0x0139,0x013A}, /* 0138 */ + {0x0139,0x013A},{0x013B,0x013C}, /* 013A */ + {0x013B,0x013C},{0x013D,0x013E}, /* 013C */ + {0x013D,0x013E},{0x013F,0x0140}, /* 013E */ + {0x013F,0x0140},{0x0141,0x0142}, /* 0140 */ + {0x0141,0x0142},{0x0143,0x0144}, /* 0142 */ + {0x0143,0x0144},{0x0145,0x0146}, /* 0144 */ + {0x0145,0x0146},{0x0147,0x0148}, /* 0146 */ + {0x0147,0x0148},{0x0149,0x0149}, /* 0148 */ + {0x014A,0x014B},{0x014A,0x014B}, /* 014A */ + {0x014C,0x014D},{0x014C,0x014D}, /* 014C */ + {0x014E,0x014F},{0x014E,0x014F}, /* 014E */ + {0x0150,0x0151},{0x0150,0x0151}, /* 0150 */ + {0x0152,0x0153},{0x0152,0x0153}, /* 0152 */ + {0x0154,0x0155},{0x0154,0x0155}, /* 0154 */ + {0x0156,0x0157},{0x0156,0x0157}, /* 0156 */ + {0x0158,0x0159},{0x0158,0x0159}, /* 0158 */ + {0x015A,0x015B},{0x015A,0x015B}, /* 015A */ + {0x015C,0x015D},{0x015C,0x015D}, /* 015C */ + {0x015E,0x015F},{0x015E,0x015F}, /* 015E */ + {0x0160,0x0161},{0x0160,0x0161}, /* 0160 */ + {0x0162,0x0163},{0x0162,0x0163}, /* 0162 */ + {0x0164,0x0165},{0x0164,0x0165}, /* 0164 */ + {0x0166,0x0167},{0x0166,0x0167}, /* 0166 */ + {0x0168,0x0169},{0x0168,0x0169}, /* 0168 */ + {0x016A,0x016B},{0x016A,0x016B}, /* 016A */ + {0x016C,0x016D},{0x016C,0x016D}, /* 016C */ + {0x016E,0x016F},{0x016E,0x016F}, /* 016E */ + {0x0170,0x0171},{0x0170,0x0171}, /* 0170 */ + {0x0172,0x0173},{0x0172,0x0173}, /* 0172 */ + {0x0174,0x0175},{0x0174,0x0175}, /* 0174 */ + {0x0176,0x0177},{0x0176,0x0177}, /* 0176 */ + {0x0178,0x00FF},{0x0179,0x017A}, /* 0178 */ + {0x0179,0x017A},{0x017B,0x017C}, /* 017A */ + {0x017B,0x017C},{0x017D,0x017E}, /* 017C */ + {0x017D,0x017E},{0x0053,0x017F}, /* 017E */ + {0x0180,0x0180},{0x0181,0x0253}, /* 0180 */ + {0x0182,0x0183},{0x0182,0x0183}, /* 0182 */ + {0x0184,0x0185},{0x0184,0x0185}, /* 0184 */ + {0x0186,0x0254},{0x0187,0x0188}, /* 0186 */ + {0x0187,0x0188},{0x0189,0x0256}, /* 0188 */ + {0x018A,0x0257},{0x018B,0x018C}, /* 018A */ + {0x018B,0x018C},{0x018D,0x018D}, /* 018C */ + {0x018E,0x01DD},{0x018F,0x0259}, /* 018E */ + {0x0190,0x025B},{0x0191,0x0192}, /* 0190 */ + {0x0191,0x0192},{0x0193,0x0260}, /* 0192 */ + {0x0194,0x0263},{0x01F6,0x0195}, /* 0194 */ + {0x0196,0x0269},{0x0197,0x0268}, /* 0196 */ + {0x0198,0x0199},{0x0198,0x0199}, /* 0198 */ + {0x019A,0x019A},{0x019B,0x019B}, /* 019A */ + {0x019C,0x026F},{0x019D,0x0272}, /* 019C */ + {0x019E,0x019E},{0x019F,0x0275}, /* 019E */ + {0x01A0,0x01A1},{0x01A0,0x01A1}, /* 01A0 */ + {0x01A2,0x01A3},{0x01A2,0x01A3}, /* 01A2 */ + {0x01A4,0x01A5},{0x01A4,0x01A5}, /* 01A4 */ + {0x01A6,0x0280},{0x01A7,0x01A8}, /* 01A6 */ + {0x01A7,0x01A8},{0x01A9,0x0283}, /* 01A8 */ + {0x01AA,0x01AA},{0x01AB,0x01AB}, /* 01AA */ + {0x01AC,0x01AD},{0x01AC,0x01AD}, /* 01AC */ + {0x01AE,0x0288},{0x01AF,0x01B0}, /* 01AE */ + {0x01AF,0x01B0},{0x01B1,0x028A}, /* 01B0 */ + {0x01B2,0x028B},{0x01B3,0x01B4}, /* 01B2 */ + {0x01B3,0x01B4},{0x01B5,0x01B6}, /* 01B4 */ + {0x01B5,0x01B6},{0x01B7,0x0292}, /* 01B6 */ + {0x01B8,0x01B9},{0x01B8,0x01B9}, /* 01B8 */ + {0x01BA,0x01BA},{0x01BB,0x01BB}, /* 01BA */ + {0x01BC,0x01BD},{0x01BC,0x01BD}, /* 01BC */ + {0x01BE,0x01BE},{0x01F7,0x01BF}, /* 01BE */ + {0x01C0,0x01C0},{0x01C1,0x01C1}, /* 01C0 */ + {0x01C2,0x01C2},{0x01C3,0x01C3}, /* 01C2 */ + {0x01C4,0x01C6},{0x01C4,0x01C6}, /* 01C4 */ + {0x01C4,0x01C6},{0x01C7,0x01C9}, /* 01C6 */ + {0x01C7,0x01C9},{0x01C7,0x01C9}, /* 01C8 */ + {0x01CA,0x01CC},{0x01CA,0x01CC}, /* 01CA */ + {0x01CA,0x01CC},{0x01CD,0x01CE}, /* 01CC */ + {0x01CD,0x01CE},{0x01CF,0x01D0}, /* 01CE */ + {0x01CF,0x01D0},{0x01D1,0x01D2}, /* 01D0 */ + {0x01D1,0x01D2},{0x01D3,0x01D4}, /* 01D2 */ + {0x01D3,0x01D4},{0x01D5,0x01D6}, /* 01D4 */ + {0x01D5,0x01D6},{0x01D7,0x01D8}, /* 01D6 */ + {0x01D7,0x01D8},{0x01D9,0x01DA}, /* 01D8 */ + {0x01D9,0x01DA},{0x01DB,0x01DC}, /* 01DA */ + {0x01DB,0x01DC},{0x018E,0x01DD}, /* 01DC */ + {0x01DE,0x01DF},{0x01DE,0x01DF}, /* 01DE */ + {0x01E0,0x01E1},{0x01E0,0x01E1}, /* 01E0 */ + {0x01E2,0x01E3},{0x01E2,0x01E3}, /* 01E2 */ + {0x01E4,0x01E5},{0x01E4,0x01E5}, /* 01E4 */ + {0x01E6,0x01E7},{0x01E6,0x01E7}, /* 01E6 */ + {0x01E8,0x01E9},{0x01E8,0x01E9}, /* 01E8 */ + {0x01EA,0x01EB},{0x01EA,0x01EB}, /* 01EA */ + {0x01EC,0x01ED},{0x01EC,0x01ED}, /* 01EC */ + {0x01EE,0x01EF},{0x01EE,0x01EF}, /* 01EE */ + {0x01F0,0x01F0},{0x01F1,0x01F3}, /* 01F0 */ + {0x01F1,0x01F3},{0x01F1,0x01F3}, /* 01F2 */ + {0x01F4,0x01F5},{0x01F4,0x01F5}, /* 01F4 */ + {0x01F6,0x0195},{0x01F7,0x01BF}, /* 01F6 */ + {0x01F8,0x01F9},{0x01F8,0x01F9}, /* 01F8 */ + {0x01FA,0x01FB},{0x01FA,0x01FB}, /* 01FA */ + {0x01FC,0x01FD},{0x01FC,0x01FD}, /* 01FC */ + {0x01FE,0x01FF},{0x01FE,0x01FF} /* 01FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page02[256]={ + {0x0200,0x0201},{0x0200,0x0201}, /* 0200 */ + {0x0202,0x0203},{0x0202,0x0203}, /* 0202 */ + {0x0204,0x0205},{0x0204,0x0205}, /* 0204 */ + {0x0206,0x0207},{0x0206,0x0207}, /* 0206 */ + {0x0208,0x0209},{0x0208,0x0209}, /* 0208 */ + {0x020A,0x020B},{0x020A,0x020B}, /* 020A */ + {0x020C,0x020D},{0x020C,0x020D}, /* 020C */ + {0x020E,0x020F},{0x020E,0x020F}, /* 020E */ + {0x0210,0x0211},{0x0210,0x0211}, /* 0210 */ + {0x0212,0x0213},{0x0212,0x0213}, /* 0212 */ + {0x0214,0x0215},{0x0214,0x0215}, /* 0214 */ + {0x0216,0x0217},{0x0216,0x0217}, /* 0216 */ + {0x0218,0x0219},{0x0218,0x0219}, /* 0218 */ + {0x021A,0x021B},{0x021A,0x021B}, /* 021A */ + {0x021C,0x021D},{0x021C,0x021D}, /* 021C */ + {0x021E,0x021F},{0x021E,0x021F}, /* 021E */ + {0x0220,0x0220},{0x0221,0x0221}, /* 0220 */ + {0x0222,0x0223},{0x0222,0x0223}, /* 0222 */ + {0x0224,0x0225},{0x0224,0x0225}, /* 0224 */ + {0x0226,0x0227},{0x0226,0x0227}, /* 0226 */ + {0x0228,0x0229},{0x0228,0x0229}, /* 0228 */ + {0x022A,0x022B},{0x022A,0x022B}, /* 022A */ + {0x022C,0x022D},{0x022C,0x022D}, /* 022C */ + {0x022E,0x022F},{0x022E,0x022F}, /* 022E */ + {0x0230,0x0231},{0x0230,0x0231}, /* 0230 */ + {0x0232,0x0233},{0x0232,0x0233}, /* 0232 */ + {0x0234,0x0234},{0x0235,0x0235}, /* 0234 */ + {0x0236,0x0236},{0x0237,0x0237}, /* 0236 */ + {0x0238,0x0238},{0x0239,0x0239}, /* 0238 */ + {0x023A,0x023A},{0x023B,0x023B}, /* 023A */ + {0x023C,0x023C},{0x023D,0x023D}, /* 023C */ + {0x023E,0x023E},{0x023F,0x023F}, /* 023E */ + {0x0240,0x0240},{0x0241,0x0241}, /* 0240 */ + {0x0242,0x0242},{0x0243,0x0243}, /* 0242 */ + {0x0244,0x0244},{0x0245,0x0245}, /* 0244 */ + {0x0246,0x0246},{0x0247,0x0247}, /* 0246 */ + {0x0248,0x0248},{0x0249,0x0249}, /* 0248 */ + {0x024A,0x024A},{0x024B,0x024B}, /* 024A */ + {0x024C,0x024C},{0x024D,0x024D}, /* 024C */ + {0x024E,0x024E},{0x024F,0x024F}, /* 024E */ + {0x0250,0x0250},{0x0251,0x0251}, /* 0250 */ + {0x0252,0x0252},{0x0181,0x0253}, /* 0252 */ + {0x0186,0x0254},{0x0255,0x0255}, /* 0254 */ + {0x0189,0x0256},{0x018A,0x0257}, /* 0256 */ + {0x0258,0x0258},{0x018F,0x0259}, /* 0258 */ + {0x025A,0x025A},{0x0190,0x025B}, /* 025A */ + {0x025C,0x025C},{0x025D,0x025D}, /* 025C */ + {0x025E,0x025E},{0x025F,0x025F}, /* 025E */ + {0x0193,0x0260},{0x0261,0x0261}, /* 0260 */ + {0x0262,0x0262},{0x0194,0x0263}, /* 0262 */ + {0x0264,0x0264},{0x0265,0x0265}, /* 0264 */ + {0x0266,0x0266},{0x0267,0x0267}, /* 0266 */ + {0x0197,0x0268},{0x0196,0x0269}, /* 0268 */ + {0x026A,0x026A},{0x026B,0x026B}, /* 026A */ + {0x026C,0x026C},{0x026D,0x026D}, /* 026C */ + {0x026E,0x026E},{0x019C,0x026F}, /* 026E */ + {0x0270,0x0270},{0x0271,0x0271}, /* 0270 */ + {0x019D,0x0272},{0x0273,0x0273}, /* 0272 */ + {0x0274,0x0274},{0x019F,0x0275}, /* 0274 */ + {0x0276,0x0276},{0x0277,0x0277}, /* 0276 */ + {0x0278,0x0278},{0x0279,0x0279}, /* 0278 */ + {0x027A,0x027A},{0x027B,0x027B}, /* 027A */ + {0x027C,0x027C},{0x027D,0x027D}, /* 027C */ + {0x027E,0x027E},{0x027F,0x027F}, /* 027E */ + {0x01A6,0x0280},{0x0281,0x0281}, /* 0280 */ + {0x0282,0x0282},{0x01A9,0x0283}, /* 0282 */ + {0x0284,0x0284},{0x0285,0x0285}, /* 0284 */ + {0x0286,0x0286},{0x0287,0x0287}, /* 0286 */ + {0x01AE,0x0288},{0x0289,0x0289}, /* 0288 */ + {0x01B1,0x028A},{0x01B2,0x028B}, /* 028A */ + {0x028C,0x028C},{0x028D,0x028D}, /* 028C */ + {0x028E,0x028E},{0x028F,0x028F}, /* 028E */ + {0x0290,0x0290},{0x0291,0x0291}, /* 0290 */ + {0x01B7,0x0292},{0x0293,0x0293}, /* 0292 */ + {0x0294,0x0294},{0x0295,0x0295}, /* 0294 */ + {0x0296,0x0296},{0x0297,0x0297}, /* 0296 */ + {0x0298,0x0298},{0x0299,0x0299}, /* 0298 */ + {0x029A,0x029A},{0x029B,0x029B}, /* 029A */ + {0x029C,0x029C},{0x029D,0x029D}, /* 029C */ + {0x029E,0x029E},{0x029F,0x029F}, /* 029E */ + {0x02A0,0x02A0},{0x02A1,0x02A1}, /* 02A0 */ + {0x02A2,0x02A2},{0x02A3,0x02A3}, /* 02A2 */ + {0x02A4,0x02A4},{0x02A5,0x02A5}, /* 02A4 */ + {0x02A6,0x02A6},{0x02A7,0x02A7}, /* 02A6 */ + {0x02A8,0x02A8},{0x02A9,0x02A9}, /* 02A8 */ + {0x02AA,0x02AA},{0x02AB,0x02AB}, /* 02AA */ + {0x02AC,0x02AC},{0x02AD,0x02AD}, /* 02AC */ + {0x02AE,0x02AE},{0x02AF,0x02AF}, /* 02AE */ + {0x02B0,0x02B0},{0x02B1,0x02B1}, /* 02B0 */ + {0x02B2,0x02B2},{0x02B3,0x02B3}, /* 02B2 */ + {0x02B4,0x02B4},{0x02B5,0x02B5}, /* 02B4 */ + {0x02B6,0x02B6},{0x02B7,0x02B7}, /* 02B6 */ + {0x02B8,0x02B8},{0x02B9,0x02B9}, /* 02B8 */ + {0x02BA,0x02BA},{0x02BB,0x02BB}, /* 02BA */ + {0x02BC,0x02BC},{0x02BD,0x02BD}, /* 02BC */ + {0x02BE,0x02BE},{0x02BF,0x02BF}, /* 02BE */ + {0x02C0,0x02C0},{0x02C1,0x02C1}, /* 02C0 */ + {0x02C2,0x02C2},{0x02C3,0x02C3}, /* 02C2 */ + {0x02C4,0x02C4},{0x02C5,0x02C5}, /* 02C4 */ + {0x02C6,0x02C6},{0x02C7,0x02C7}, /* 02C6 */ + {0x02C8,0x02C8},{0x02C9,0x02C9}, /* 02C8 */ + {0x02CA,0x02CA},{0x02CB,0x02CB}, /* 02CA */ + {0x02CC,0x02CC},{0x02CD,0x02CD}, /* 02CC */ + {0x02CE,0x02CE},{0x02CF,0x02CF}, /* 02CE */ + {0x02D0,0x02D0},{0x02D1,0x02D1}, /* 02D0 */ + {0x02D2,0x02D2},{0x02D3,0x02D3}, /* 02D2 */ + {0x02D4,0x02D4},{0x02D5,0x02D5}, /* 02D4 */ + {0x02D6,0x02D6},{0x02D7,0x02D7}, /* 02D6 */ + {0x02D8,0x02D8},{0x02D9,0x02D9}, /* 02D8 */ + {0x02DA,0x02DA},{0x02DB,0x02DB}, /* 02DA */ + {0x02DC,0x02DC},{0x02DD,0x02DD}, /* 02DC */ + {0x02DE,0x02DE},{0x02DF,0x02DF}, /* 02DE */ + {0x02E0,0x02E0},{0x02E1,0x02E1}, /* 02E0 */ + {0x02E2,0x02E2},{0x02E3,0x02E3}, /* 02E2 */ + {0x02E4,0x02E4},{0x02E5,0x02E5}, /* 02E4 */ + {0x02E6,0x02E6},{0x02E7,0x02E7}, /* 02E6 */ + {0x02E8,0x02E8},{0x02E9,0x02E9}, /* 02E8 */ + {0x02EA,0x02EA},{0x02EB,0x02EB}, /* 02EA */ + {0x02EC,0x02EC},{0x02ED,0x02ED}, /* 02EC */ + {0x02EE,0x02EE},{0x02EF,0x02EF}, /* 02EE */ + {0x02F0,0x02F0},{0x02F1,0x02F1}, /* 02F0 */ + {0x02F2,0x02F2},{0x02F3,0x02F3}, /* 02F2 */ + {0x02F4,0x02F4},{0x02F5,0x02F5}, /* 02F4 */ + {0x02F6,0x02F6},{0x02F7,0x02F7}, /* 02F6 */ + {0x02F8,0x02F8},{0x02F9,0x02F9}, /* 02F8 */ + {0x02FA,0x02FA},{0x02FB,0x02FB}, /* 02FA */ + {0x02FC,0x02FC},{0x02FD,0x02FD}, /* 02FC */ + {0x02FE,0x02FE},{0x02FF,0x02FF} /* 02FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page03[256]={ + {0x0300,0x0300},{0x0301,0x0301}, /* 0300 */ + {0x0302,0x0302},{0x0303,0x0303}, /* 0302 */ + {0x0304,0x0304},{0x0305,0x0305}, /* 0304 */ + {0x0306,0x0306},{0x0307,0x0307}, /* 0306 */ + {0x0308,0x0308},{0x0309,0x0309}, /* 0308 */ + {0x030A,0x030A},{0x030B,0x030B}, /* 030A */ + {0x030C,0x030C},{0x030D,0x030D}, /* 030C */ + {0x030E,0x030E},{0x030F,0x030F}, /* 030E */ + {0x0310,0x0310},{0x0311,0x0311}, /* 0310 */ + {0x0312,0x0312},{0x0313,0x0313}, /* 0312 */ + {0x0314,0x0314},{0x0315,0x0315}, /* 0314 */ + {0x0316,0x0316},{0x0317,0x0317}, /* 0316 */ + {0x0318,0x0318},{0x0319,0x0319}, /* 0318 */ + {0x031A,0x031A},{0x031B,0x031B}, /* 031A */ + {0x031C,0x031C},{0x031D,0x031D}, /* 031C */ + {0x031E,0x031E},{0x031F,0x031F}, /* 031E */ + {0x0320,0x0320},{0x0321,0x0321}, /* 0320 */ + {0x0322,0x0322},{0x0323,0x0323}, /* 0322 */ + {0x0324,0x0324},{0x0325,0x0325}, /* 0324 */ + {0x0326,0x0326},{0x0327,0x0327}, /* 0326 */ + {0x0328,0x0328},{0x0329,0x0329}, /* 0328 */ + {0x032A,0x032A},{0x032B,0x032B}, /* 032A */ + {0x032C,0x032C},{0x032D,0x032D}, /* 032C */ + {0x032E,0x032E},{0x032F,0x032F}, /* 032E */ + {0x0330,0x0330},{0x0331,0x0331}, /* 0330 */ + {0x0332,0x0332},{0x0333,0x0333}, /* 0332 */ + {0x0334,0x0334},{0x0335,0x0335}, /* 0334 */ + {0x0336,0x0336},{0x0337,0x0337}, /* 0336 */ + {0x0338,0x0338},{0x0339,0x0339}, /* 0338 */ + {0x033A,0x033A},{0x033B,0x033B}, /* 033A */ + {0x033C,0x033C},{0x033D,0x033D}, /* 033C */ + {0x033E,0x033E},{0x033F,0x033F}, /* 033E */ + {0x0340,0x0340},{0x0341,0x0341}, /* 0340 */ + {0x0342,0x0342},{0x0343,0x0343}, /* 0342 */ + {0x0344,0x0344},{0x0399,0x0345}, /* 0344 */ + {0x0346,0x0346},{0x0347,0x0347}, /* 0346 */ + {0x0348,0x0348},{0x0349,0x0349}, /* 0348 */ + {0x034A,0x034A},{0x034B,0x034B}, /* 034A */ + {0x034C,0x034C},{0x034D,0x034D}, /* 034C */ + {0x034E,0x034E},{0x034F,0x034F}, /* 034E */ + {0x0350,0x0350},{0x0351,0x0351}, /* 0350 */ + {0x0352,0x0352},{0x0353,0x0353}, /* 0352 */ + {0x0354,0x0354},{0x0355,0x0355}, /* 0354 */ + {0x0356,0x0356},{0x0357,0x0357}, /* 0356 */ + {0x0358,0x0358},{0x0359,0x0359}, /* 0358 */ + {0x035A,0x035A},{0x035B,0x035B}, /* 035A */ + {0x035C,0x035C},{0x035D,0x035D}, /* 035C */ + {0x035E,0x035E},{0x035F,0x035F}, /* 035E */ + {0x0360,0x0360},{0x0361,0x0361}, /* 0360 */ + {0x0362,0x0362},{0x0363,0x0363}, /* 0362 */ + {0x0364,0x0364},{0x0365,0x0365}, /* 0364 */ + {0x0366,0x0366},{0x0367,0x0367}, /* 0366 */ + {0x0368,0x0368},{0x0369,0x0369}, /* 0368 */ + {0x036A,0x036A},{0x036B,0x036B}, /* 036A */ + {0x036C,0x036C},{0x036D,0x036D}, /* 036C */ + {0x036E,0x036E},{0x036F,0x036F}, /* 036E */ + {0x0370,0x0370},{0x0371,0x0371}, /* 0370 */ + {0x0372,0x0372},{0x0373,0x0373}, /* 0372 */ + {0x0374,0x0374},{0x0375,0x0375}, /* 0374 */ + {0x0376,0x0376},{0x0377,0x0377}, /* 0376 */ + {0x0378,0x0378},{0x0379,0x0379}, /* 0378 */ + {0x037A,0x037A},{0x037B,0x037B}, /* 037A */ + {0x037C,0x037C},{0x037D,0x037D}, /* 037C */ + {0x037E,0x037E},{0x037F,0x037F}, /* 037E */ + {0x0380,0x0380},{0x0381,0x0381}, /* 0380 */ + {0x0382,0x0382},{0x0383,0x0383}, /* 0382 */ + {0x0384,0x0384},{0x0385,0x0385}, /* 0384 */ + {0x0386,0x03AC},{0x0387,0x0387}, /* 0386 */ + {0x0388,0x03AD},{0x0389,0x03AE}, /* 0388 */ + {0x038A,0x03AF},{0x038B,0x038B}, /* 038A */ + {0x038C,0x03CC},{0x038D,0x038D}, /* 038C */ + {0x038E,0x03CD},{0x038F,0x03CE}, /* 038E */ + {0x0390,0x0390},{0x0391,0x03B1}, /* 0390 */ + {0x0392,0x03B2},{0x0393,0x03B3}, /* 0392 */ + {0x0394,0x03B4},{0x0395,0x03B5}, /* 0394 */ + {0x0396,0x03B6},{0x0397,0x03B7}, /* 0396 */ + {0x0398,0x03B8},{0x0399,0x03B9}, /* 0398 */ + {0x039A,0x03BA},{0x039B,0x03BB}, /* 039A */ + {0x039C,0x03BC},{0x039D,0x03BD}, /* 039C */ + {0x039E,0x03BE},{0x039F,0x03BF}, /* 039E */ + {0x03A0,0x03C0},{0x03A1,0x03C1}, /* 03A0 */ + {0x03A2,0x03A2},{0x03A3,0x03C3}, /* 03A2 */ + {0x03A4,0x03C4},{0x03A5,0x03C5}, /* 03A4 */ + {0x03A6,0x03C6},{0x03A7,0x03C7}, /* 03A6 */ + {0x03A8,0x03C8},{0x03A9,0x03C9}, /* 03A8 */ + {0x03AA,0x03CA},{0x03AB,0x03CB}, /* 03AA */ + {0x0386,0x03AC},{0x0388,0x03AD}, /* 03AC */ + {0x0389,0x03AE},{0x038A,0x03AF}, /* 03AE */ + {0x03B0,0x03B0},{0x0391,0x03B1}, /* 03B0 */ + {0x0392,0x03B2},{0x0393,0x03B3}, /* 03B2 */ + {0x0394,0x03B4},{0x0395,0x03B5}, /* 03B4 */ + {0x0396,0x03B6},{0x0397,0x03B7}, /* 03B6 */ + {0x0398,0x03B8},{0x0399,0x03B9}, /* 03B8 */ + {0x039A,0x03BA},{0x039B,0x03BB}, /* 03BA */ + {0x039C,0x03BC},{0x039D,0x03BD}, /* 03BC */ + {0x039E,0x03BE},{0x039F,0x03BF}, /* 03BE */ + {0x03A0,0x03C0},{0x03A1,0x03C1}, /* 03C0 */ + {0x03A3,0x03C2},{0x03A3,0x03C3}, /* 03C2 */ + {0x03A4,0x03C4},{0x03A5,0x03C5}, /* 03C4 */ + {0x03A6,0x03C6},{0x03A7,0x03C7}, /* 03C6 */ + {0x03A8,0x03C8},{0x03A9,0x03C9}, /* 03C8 */ + {0x03AA,0x03CA},{0x03AB,0x03CB}, /* 03CA */ + {0x038C,0x03CC},{0x038E,0x03CD}, /* 03CC */ + {0x038F,0x03CE},{0x03CF,0x03CF}, /* 03CE */ + {0x0392,0x03D0},{0x0398,0x03D1}, /* 03D0 */ + {0x03D2,0x03D2},{0x03D3,0x03D3}, /* 03D2 */ + {0x03D4,0x03D4},{0x03A6,0x03D5}, /* 03D4 */ + {0x03A0,0x03D6},{0x03D7,0x03D7}, /* 03D6 */ + {0x03D8,0x03D8},{0x03D9,0x03D9}, /* 03D8 */ + {0x03DA,0x03DB},{0x03DA,0x03DB}, /* 03DA */ + {0x03DC,0x03DD},{0x03DC,0x03DD}, /* 03DC */ + {0x03DE,0x03DF},{0x03DE,0x03DF}, /* 03DE */ + {0x03E0,0x03E1},{0x03E0,0x03E1}, /* 03E0 */ + {0x03E2,0x03E3},{0x03E2,0x03E3}, /* 03E2 */ + {0x03E4,0x03E5},{0x03E4,0x03E5}, /* 03E4 */ + {0x03E6,0x03E7},{0x03E6,0x03E7}, /* 03E6 */ + {0x03E8,0x03E9},{0x03E8,0x03E9}, /* 03E8 */ + {0x03EA,0x03EB},{0x03EA,0x03EB}, /* 03EA */ + {0x03EC,0x03ED},{0x03EC,0x03ED}, /* 03EC */ + {0x03EE,0x03EF},{0x03EE,0x03EF}, /* 03EE */ + {0x039A,0x03F0},{0x03A1,0x03F1}, /* 03F0 */ + {0x03A3,0x03F2},{0x03F3,0x03F3}, /* 03F2 */ + {0x03F4,0x03F4},{0x03F5,0x03F5}, /* 03F4 */ + {0x03F6,0x03F6},{0x03F7,0x03F7}, /* 03F6 */ + {0x03F8,0x03F8},{0x03F9,0x03F9}, /* 03F8 */ + {0x03FA,0x03FA},{0x03FB,0x03FB}, /* 03FA */ + {0x03FC,0x03FC},{0x03FD,0x03FD}, /* 03FC */ + {0x03FE,0x03FE},{0x03FF,0x03FF} /* 03FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page04[256]={ + {0x0400,0x0450},{0x0401,0x0451}, /* 0400 */ + {0x0402,0x0452},{0x0403,0x0453}, /* 0402 */ + {0x0404,0x0454},{0x0405,0x0455}, /* 0404 */ + {0x0406,0x0456},{0x0407,0x0457}, /* 0406 */ + {0x0408,0x0458},{0x0409,0x0459}, /* 0408 */ + {0x040A,0x045A},{0x040B,0x045B}, /* 040A */ + {0x040C,0x045C},{0x040D,0x045D}, /* 040C */ + {0x040E,0x045E},{0x040F,0x045F}, /* 040E */ + {0x0410,0x0430},{0x0411,0x0431}, /* 0410 */ + {0x0412,0x0432},{0x0413,0x0433}, /* 0412 */ + {0x0414,0x0434},{0x0415,0x0435}, /* 0414 */ + {0x0416,0x0436},{0x0417,0x0437}, /* 0416 */ + {0x0418,0x0438},{0x0419,0x0439}, /* 0418 */ + {0x041A,0x043A},{0x041B,0x043B}, /* 041A */ + {0x041C,0x043C},{0x041D,0x043D}, /* 041C */ + {0x041E,0x043E},{0x041F,0x043F}, /* 041E */ + {0x0420,0x0440},{0x0421,0x0441}, /* 0420 */ + {0x0422,0x0442},{0x0423,0x0443}, /* 0422 */ + {0x0424,0x0444},{0x0425,0x0445}, /* 0424 */ + {0x0426,0x0446},{0x0427,0x0447}, /* 0426 */ + {0x0428,0x0448},{0x0429,0x0449}, /* 0428 */ + {0x042A,0x044A},{0x042B,0x044B}, /* 042A */ + {0x042C,0x044C},{0x042D,0x044D}, /* 042C */ + {0x042E,0x044E},{0x042F,0x044F}, /* 042E */ + {0x0410,0x0430},{0x0411,0x0431}, /* 0430 */ + {0x0412,0x0432},{0x0413,0x0433}, /* 0432 */ + {0x0414,0x0434},{0x0415,0x0435}, /* 0434 */ + {0x0416,0x0436},{0x0417,0x0437}, /* 0436 */ + {0x0418,0x0438},{0x0419,0x0439}, /* 0438 */ + {0x041A,0x043A},{0x041B,0x043B}, /* 043A */ + {0x041C,0x043C},{0x041D,0x043D}, /* 043C */ + {0x041E,0x043E},{0x041F,0x043F}, /* 043E */ + {0x0420,0x0440},{0x0421,0x0441}, /* 0440 */ + {0x0422,0x0442},{0x0423,0x0443}, /* 0442 */ + {0x0424,0x0444},{0x0425,0x0445}, /* 0444 */ + {0x0426,0x0446},{0x0427,0x0447}, /* 0446 */ + {0x0428,0x0448},{0x0429,0x0449}, /* 0448 */ + {0x042A,0x044A},{0x042B,0x044B}, /* 044A */ + {0x042C,0x044C},{0x042D,0x044D}, /* 044C */ + {0x042E,0x044E},{0x042F,0x044F}, /* 044E */ + {0x0400,0x0450},{0x0401,0x0451}, /* 0450 */ + {0x0402,0x0452},{0x0403,0x0453}, /* 0452 */ + {0x0404,0x0454},{0x0405,0x0455}, /* 0454 */ + {0x0406,0x0456},{0x0407,0x0457}, /* 0456 */ + {0x0408,0x0458},{0x0409,0x0459}, /* 0458 */ + {0x040A,0x045A},{0x040B,0x045B}, /* 045A */ + {0x040C,0x045C},{0x040D,0x045D}, /* 045C */ + {0x040E,0x045E},{0x040F,0x045F}, /* 045E */ + {0x0460,0x0461},{0x0460,0x0461}, /* 0460 */ + {0x0462,0x0463},{0x0462,0x0463}, /* 0462 */ + {0x0464,0x0465},{0x0464,0x0465}, /* 0464 */ + {0x0466,0x0467},{0x0466,0x0467}, /* 0466 */ + {0x0468,0x0469},{0x0468,0x0469}, /* 0468 */ + {0x046A,0x046B},{0x046A,0x046B}, /* 046A */ + {0x046C,0x046D},{0x046C,0x046D}, /* 046C */ + {0x046E,0x046F},{0x046E,0x046F}, /* 046E */ + {0x0470,0x0471},{0x0470,0x0471}, /* 0470 */ + {0x0472,0x0473},{0x0472,0x0473}, /* 0472 */ + {0x0474,0x0475},{0x0474,0x0475}, /* 0474 */ + {0x0476,0x0477},{0x0476,0x0477}, /* 0476 */ + {0x0478,0x0479},{0x0478,0x0479}, /* 0478 */ + {0x047A,0x047B},{0x047A,0x047B}, /* 047A */ + {0x047C,0x047D},{0x047C,0x047D}, /* 047C */ + {0x047E,0x047F},{0x047E,0x047F}, /* 047E */ + {0x0480,0x0481},{0x0480,0x0481}, /* 0480 */ + {0x0482,0x0482},{0x0483,0x0483}, /* 0482 */ + {0x0484,0x0484},{0x0485,0x0485}, /* 0484 */ + {0x0486,0x0486},{0x0487,0x0487}, /* 0486 */ + {0x0488,0x0488},{0x0489,0x0489}, /* 0488 */ + {0x048A,0x048A},{0x048B,0x048B}, /* 048A */ + {0x048C,0x048D},{0x048C,0x048D}, /* 048C */ + {0x048E,0x048F},{0x048E,0x048F}, /* 048E */ + {0x0490,0x0491},{0x0490,0x0491}, /* 0490 */ + {0x0492,0x0493},{0x0492,0x0493}, /* 0492 */ + {0x0494,0x0495},{0x0494,0x0495}, /* 0494 */ + {0x0496,0x0497},{0x0496,0x0497}, /* 0496 */ + {0x0498,0x0499},{0x0498,0x0499}, /* 0498 */ + {0x049A,0x049B},{0x049A,0x049B}, /* 049A */ + {0x049C,0x049D},{0x049C,0x049D}, /* 049C */ + {0x049E,0x049F},{0x049E,0x049F}, /* 049E */ + {0x04A0,0x04A1},{0x04A0,0x04A1}, /* 04A0 */ + {0x04A2,0x04A3},{0x04A2,0x04A3}, /* 04A2 */ + {0x04A4,0x04A5},{0x04A4,0x04A5}, /* 04A4 */ + {0x04A6,0x04A7},{0x04A6,0x04A7}, /* 04A6 */ + {0x04A8,0x04A9},{0x04A8,0x04A9}, /* 04A8 */ + {0x04AA,0x04AB},{0x04AA,0x04AB}, /* 04AA */ + {0x04AC,0x04AD},{0x04AC,0x04AD}, /* 04AC */ + {0x04AE,0x04AF},{0x04AE,0x04AF}, /* 04AE */ + {0x04B0,0x04B1},{0x04B0,0x04B1}, /* 04B0 */ + {0x04B2,0x04B3},{0x04B2,0x04B3}, /* 04B2 */ + {0x04B4,0x04B5},{0x04B4,0x04B5}, /* 04B4 */ + {0x04B6,0x04B7},{0x04B6,0x04B7}, /* 04B6 */ + {0x04B8,0x04B9},{0x04B8,0x04B9}, /* 04B8 */ + {0x04BA,0x04BB},{0x04BA,0x04BB}, /* 04BA */ + {0x04BC,0x04BD},{0x04BC,0x04BD}, /* 04BC */ + {0x04BE,0x04BF},{0x04BE,0x04BF}, /* 04BE */ + {0x04C0,0x04C0},{0x04C1,0x04C2}, /* 04C0 */ + {0x04C1,0x04C2},{0x04C3,0x04C4}, /* 04C2 */ + {0x04C3,0x04C4},{0x04C5,0x04C5}, /* 04C4 */ + {0x04C6,0x04C6},{0x04C7,0x04C8}, /* 04C6 */ + {0x04C7,0x04C8},{0x04C9,0x04C9}, /* 04C8 */ + {0x04CA,0x04CA},{0x04CB,0x04CC}, /* 04CA */ + {0x04CB,0x04CC},{0x04CD,0x04CD}, /* 04CC */ + {0x04CE,0x04CE},{0x04CF,0x04CF}, /* 04CE */ + {0x04D0,0x04D1},{0x04D0,0x04D1}, /* 04D0 */ + {0x04D2,0x04D3},{0x04D2,0x04D3}, /* 04D2 */ + {0x04D4,0x04D5},{0x04D4,0x04D5}, /* 04D4 */ + {0x04D6,0x04D7},{0x04D6,0x04D7}, /* 04D6 */ + {0x04D8,0x04D9},{0x04D8,0x04D9}, /* 04D8 */ + {0x04DA,0x04DB},{0x04DA,0x04DB}, /* 04DA */ + {0x04DC,0x04DD},{0x04DC,0x04DD}, /* 04DC */ + {0x04DE,0x04DF},{0x04DE,0x04DF}, /* 04DE */ + {0x04E0,0x04E1},{0x04E0,0x04E1}, /* 04E0 */ + {0x04E2,0x04E3},{0x04E2,0x04E3}, /* 04E2 */ + {0x04E4,0x04E5},{0x04E4,0x04E5}, /* 04E4 */ + {0x04E6,0x04E7},{0x04E6,0x04E7}, /* 04E6 */ + {0x04E8,0x04E9},{0x04E8,0x04E9}, /* 04E8 */ + {0x04EA,0x04EB},{0x04EA,0x04EB}, /* 04EA */ + {0x04EC,0x04ED},{0x04EC,0x04ED}, /* 04EC */ + {0x04EE,0x04EF},{0x04EE,0x04EF}, /* 04EE */ + {0x04F0,0x04F1},{0x04F0,0x04F1}, /* 04F0 */ + {0x04F2,0x04F3},{0x04F2,0x04F3}, /* 04F2 */ + {0x04F4,0x04F5},{0x04F4,0x04F5}, /* 04F4 */ + {0x04F6,0x04F6},{0x04F7,0x04F7}, /* 04F6 */ + {0x04F8,0x04F9},{0x04F8,0x04F9}, /* 04F8 */ + {0x04FA,0x04FA},{0x04FB,0x04FB}, /* 04FA */ + {0x04FC,0x04FC},{0x04FD,0x04FD}, /* 04FC */ + {0x04FE,0x04FE},{0x04FF,0x04FF} /* 04FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page05[256]={ + {0x0500,0x0500},{0x0501,0x0501}, /* 0500 */ + {0x0502,0x0502},{0x0503,0x0503}, /* 0502 */ + {0x0504,0x0504},{0x0505,0x0505}, /* 0504 */ + {0x0506,0x0506},{0x0507,0x0507}, /* 0506 */ + {0x0508,0x0508},{0x0509,0x0509}, /* 0508 */ + {0x050A,0x050A},{0x050B,0x050B}, /* 050A */ + {0x050C,0x050C},{0x050D,0x050D}, /* 050C */ + {0x050E,0x050E},{0x050F,0x050F}, /* 050E */ + {0x0510,0x0510},{0x0511,0x0511}, /* 0510 */ + {0x0512,0x0512},{0x0513,0x0513}, /* 0512 */ + {0x0514,0x0514},{0x0515,0x0515}, /* 0514 */ + {0x0516,0x0516},{0x0517,0x0517}, /* 0516 */ + {0x0518,0x0518},{0x0519,0x0519}, /* 0518 */ + {0x051A,0x051A},{0x051B,0x051B}, /* 051A */ + {0x051C,0x051C},{0x051D,0x051D}, /* 051C */ + {0x051E,0x051E},{0x051F,0x051F}, /* 051E */ + {0x0520,0x0520},{0x0521,0x0521}, /* 0520 */ + {0x0522,0x0522},{0x0523,0x0523}, /* 0522 */ + {0x0524,0x0524},{0x0525,0x0525}, /* 0524 */ + {0x0526,0x0526},{0x0527,0x0527}, /* 0526 */ + {0x0528,0x0528},{0x0529,0x0529}, /* 0528 */ + {0x052A,0x052A},{0x052B,0x052B}, /* 052A */ + {0x052C,0x052C},{0x052D,0x052D}, /* 052C */ + {0x052E,0x052E},{0x052F,0x052F}, /* 052E */ + {0x0530,0x0530},{0x0531,0x0561}, /* 0530 */ + {0x0532,0x0562},{0x0533,0x0563}, /* 0532 */ + {0x0534,0x0564},{0x0535,0x0565}, /* 0534 */ + {0x0536,0x0566},{0x0537,0x0567}, /* 0536 */ + {0x0538,0x0568},{0x0539,0x0569}, /* 0538 */ + {0x053A,0x056A},{0x053B,0x056B}, /* 053A */ + {0x053C,0x056C},{0x053D,0x056D}, /* 053C */ + {0x053E,0x056E},{0x053F,0x056F}, /* 053E */ + {0x0540,0x0570},{0x0541,0x0571}, /* 0540 */ + {0x0542,0x0572},{0x0543,0x0573}, /* 0542 */ + {0x0544,0x0574},{0x0545,0x0575}, /* 0544 */ + {0x0546,0x0576},{0x0547,0x0577}, /* 0546 */ + {0x0548,0x0578},{0x0549,0x0579}, /* 0548 */ + {0x054A,0x057A},{0x054B,0x057B}, /* 054A */ + {0x054C,0x057C},{0x054D,0x057D}, /* 054C */ + {0x054E,0x057E},{0x054F,0x057F}, /* 054E */ + {0x0550,0x0580},{0x0551,0x0581}, /* 0550 */ + {0x0552,0x0582},{0x0553,0x0583}, /* 0552 */ + {0x0554,0x0584},{0x0555,0x0585}, /* 0554 */ + {0x0556,0x0586},{0x0557,0x0557}, /* 0556 */ + {0x0558,0x0558},{0x0559,0x0559}, /* 0558 */ + {0x055A,0x055A},{0x055B,0x055B}, /* 055A */ + {0x055C,0x055C},{0x055D,0x055D}, /* 055C */ + {0x055E,0x055E},{0x055F,0x055F}, /* 055E */ + {0x0560,0x0560},{0x0531,0x0561}, /* 0560 */ + {0x0532,0x0562},{0x0533,0x0563}, /* 0562 */ + {0x0534,0x0564},{0x0535,0x0565}, /* 0564 */ + {0x0536,0x0566},{0x0537,0x0567}, /* 0566 */ + {0x0538,0x0568},{0x0539,0x0569}, /* 0568 */ + {0x053A,0x056A},{0x053B,0x056B}, /* 056A */ + {0x053C,0x056C},{0x053D,0x056D}, /* 056C */ + {0x053E,0x056E},{0x053F,0x056F}, /* 056E */ + {0x0540,0x0570},{0x0541,0x0571}, /* 0570 */ + {0x0542,0x0572},{0x0543,0x0573}, /* 0572 */ + {0x0544,0x0574},{0x0545,0x0575}, /* 0574 */ + {0x0546,0x0576},{0x0547,0x0577}, /* 0576 */ + {0x0548,0x0578},{0x0549,0x0579}, /* 0578 */ + {0x054A,0x057A},{0x054B,0x057B}, /* 057A */ + {0x054C,0x057C},{0x054D,0x057D}, /* 057C */ + {0x054E,0x057E},{0x054F,0x057F}, /* 057E */ + {0x0550,0x0580},{0x0551,0x0581}, /* 0580 */ + {0x0552,0x0582},{0x0553,0x0583}, /* 0582 */ + {0x0554,0x0584},{0x0555,0x0585}, /* 0584 */ + {0x0556,0x0586},{0x0587,0x0587}, /* 0586 */ + {0x0588,0x0588},{0x0589,0x0589}, /* 0588 */ + {0x058A,0x058A},{0x058B,0x058B}, /* 058A */ + {0x058C,0x058C},{0x058D,0x058D}, /* 058C */ + {0x058E,0x058E},{0x058F,0x058F}, /* 058E */ + {0x0590,0x0590},{0x0591,0x0591}, /* 0590 */ + {0x0592,0x0592},{0x0593,0x0593}, /* 0592 */ + {0x0594,0x0594},{0x0595,0x0595}, /* 0594 */ + {0x0596,0x0596},{0x0597,0x0597}, /* 0596 */ + {0x0598,0x0598},{0x0599,0x0599}, /* 0598 */ + {0x059A,0x059A},{0x059B,0x059B}, /* 059A */ + {0x059C,0x059C},{0x059D,0x059D}, /* 059C */ + {0x059E,0x059E},{0x059F,0x059F}, /* 059E */ + {0x05A0,0x05A0},{0x05A1,0x05A1}, /* 05A0 */ + {0x05A2,0x05A2},{0x05A3,0x05A3}, /* 05A2 */ + {0x05A4,0x05A4},{0x05A5,0x05A5}, /* 05A4 */ + {0x05A6,0x05A6},{0x05A7,0x05A7}, /* 05A6 */ + {0x05A8,0x05A8},{0x05A9,0x05A9}, /* 05A8 */ + {0x05AA,0x05AA},{0x05AB,0x05AB}, /* 05AA */ + {0x05AC,0x05AC},{0x05AD,0x05AD}, /* 05AC */ + {0x05AE,0x05AE},{0x05AF,0x05AF}, /* 05AE */ + {0x05B0,0x05B0},{0x05B1,0x05B1}, /* 05B0 */ + {0x05B2,0x05B2},{0x05B3,0x05B3}, /* 05B2 */ + {0x05B4,0x05B4},{0x05B5,0x05B5}, /* 05B4 */ + {0x05B6,0x05B6},{0x05B7,0x05B7}, /* 05B6 */ + {0x05B8,0x05B8},{0x05B9,0x05B9}, /* 05B8 */ + {0x05BA,0x05BA},{0x05BB,0x05BB}, /* 05BA */ + {0x05BC,0x05BC},{0x05BD,0x05BD}, /* 05BC */ + {0x05BE,0x05BE},{0x05BF,0x05BF}, /* 05BE */ + {0x05C0,0x05C0},{0x05C1,0x05C1}, /* 05C0 */ + {0x05C2,0x05C2},{0x05C3,0x05C3}, /* 05C2 */ + {0x05C4,0x05C4},{0x05C5,0x05C5}, /* 05C4 */ + {0x05C6,0x05C6},{0x05C7,0x05C7}, /* 05C6 */ + {0x05C8,0x05C8},{0x05C9,0x05C9}, /* 05C8 */ + {0x05CA,0x05CA},{0x05CB,0x05CB}, /* 05CA */ + {0x05CC,0x05CC},{0x05CD,0x05CD}, /* 05CC */ + {0x05CE,0x05CE},{0x05CF,0x05CF}, /* 05CE */ + {0x05D0,0x05D0},{0x05D1,0x05D1}, /* 05D0 */ + {0x05D2,0x05D2},{0x05D3,0x05D3}, /* 05D2 */ + {0x05D4,0x05D4},{0x05D5,0x05D5}, /* 05D4 */ + {0x05D6,0x05D6},{0x05D7,0x05D7}, /* 05D6 */ + {0x05D8,0x05D8},{0x05D9,0x05D9}, /* 05D8 */ + {0x05DA,0x05DA},{0x05DB,0x05DB}, /* 05DA */ + {0x05DC,0x05DC},{0x05DD,0x05DD}, /* 05DC */ + {0x05DE,0x05DE},{0x05DF,0x05DF}, /* 05DE */ + {0x05E0,0x05E0},{0x05E1,0x05E1}, /* 05E0 */ + {0x05E2,0x05E2},{0x05E3,0x05E3}, /* 05E2 */ + {0x05E4,0x05E4},{0x05E5,0x05E5}, /* 05E4 */ + {0x05E6,0x05E6},{0x05E7,0x05E7}, /* 05E6 */ + {0x05E8,0x05E8},{0x05E9,0x05E9}, /* 05E8 */ + {0x05EA,0x05EA},{0x05EB,0x05EB}, /* 05EA */ + {0x05EC,0x05EC},{0x05ED,0x05ED}, /* 05EC */ + {0x05EE,0x05EE},{0x05EF,0x05EF}, /* 05EE */ + {0x05F0,0x05F0},{0x05F1,0x05F1}, /* 05F0 */ + {0x05F2,0x05F2},{0x05F3,0x05F3}, /* 05F2 */ + {0x05F4,0x05F4},{0x05F5,0x05F5}, /* 05F4 */ + {0x05F6,0x05F6},{0x05F7,0x05F7}, /* 05F6 */ + {0x05F8,0x05F8},{0x05F9,0x05F9}, /* 05F8 */ + {0x05FA,0x05FA},{0x05FB,0x05FB}, /* 05FA */ + {0x05FC,0x05FC},{0x05FD,0x05FD}, /* 05FC */ + {0x05FE,0x05FE},{0x05FF,0x05FF} /* 05FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page06[256]={ /* This page is dummy */ + {0x0600,0x0600},{0x0601,0x0601}, /* 0600 */ + {0x0602,0x0602},{0x0603,0x0603}, /* 0602 */ + {0x0604,0x0604},{0x0605,0x0605}, /* 0604 */ + {0x0606,0x0606},{0x0607,0x0607}, /* 0606 */ + {0x0608,0x0608},{0x0609,0x0609}, /* 0608 */ + {0x060A,0x060A},{0x060B,0x060B}, /* 060A */ + {0x060C,0x060C},{0x060D,0x060D}, /* 060C */ + {0x060E,0x060E},{0x060F,0x060F}, /* 060E */ + {0x0610,0x0610},{0x0611,0x0611}, /* 0610 */ + {0x0612,0x0612},{0x0613,0x0613}, /* 0612 */ + {0x0614,0x0614},{0x0615,0x0615}, /* 0614 */ + {0x0616,0x0616},{0x0617,0x0617}, /* 0616 */ + {0x0618,0x0618},{0x0619,0x0619}, /* 0618 */ + {0x061A,0x061A},{0x061B,0x061B}, /* 061A */ + {0x061C,0x061C},{0x061D,0x061D}, /* 061C */ + {0x061E,0x061E},{0x061F,0x061F}, /* 061E */ + {0x0620,0x0620},{0x0621,0x0621}, /* 0620 */ + {0x0622,0x0622},{0x0623,0x0623}, /* 0622 */ + {0x0624,0x0624},{0x0625,0x0625}, /* 0624 */ + {0x0626,0x0626},{0x0627,0x0627}, /* 0626 */ + {0x0628,0x0628},{0x0629,0x0629}, /* 0628 */ + {0x062A,0x062A},{0x062B,0x062B}, /* 062A */ + {0x062C,0x062C},{0x062D,0x062D}, /* 062C */ + {0x062E,0x062E},{0x062F,0x062F}, /* 062E */ + {0x0630,0x0630},{0x0631,0x0631}, /* 0630 */ + {0x0632,0x0632},{0x0633,0x0633}, /* 0632 */ + {0x0634,0x0634},{0x0635,0x0635}, /* 0634 */ + {0x0636,0x0636},{0x0637,0x0637}, /* 0636 */ + {0x0638,0x0638},{0x0639,0x0639}, /* 0638 */ + {0x063A,0x063A},{0x063B,0x063B}, /* 063A */ + {0x063C,0x063C},{0x063D,0x063D}, /* 063C */ + {0x063E,0x063E},{0x063F,0x063F}, /* 063E */ + {0x0640,0x0640},{0x0641,0x0641}, /* 0640 */ + {0x0642,0x0642},{0x0643,0x0643}, /* 0642 */ + {0x0644,0x0644},{0x0645,0x0645}, /* 0644 */ + {0x0646,0x0646},{0x0647,0x0647}, /* 0646 */ + {0x0648,0x0648},{0x0649,0x0649}, /* 0648 */ + {0x064A,0x064A},{0x064B,0x064B}, /* 064A */ + {0x064C,0x064C},{0x064D,0x064D}, /* 064C */ + {0x064E,0x064E},{0x064F,0x064F}, /* 064E */ + {0x0650,0x0650},{0x0651,0x0651}, /* 0650 */ + {0x0652,0x0652},{0x0653,0x0653}, /* 0652 */ + {0x0654,0x0654},{0x0655,0x0655}, /* 0654 */ + {0x0656,0x0656},{0x0657,0x0657}, /* 0656 */ + {0x0658,0x0658},{0x0659,0x0659}, /* 0658 */ + {0x065A,0x065A},{0x065B,0x065B}, /* 065A */ + {0x065C,0x065C},{0x065D,0x065D}, /* 065C */ + {0x065E,0x065E},{0x065F,0x065F}, /* 065E */ + {0x0660,0x0660},{0x0661,0x0661}, /* 0660 */ + {0x0662,0x0662},{0x0663,0x0663}, /* 0662 */ + {0x0664,0x0664},{0x0665,0x0665}, /* 0664 */ + {0x0666,0x0666},{0x0667,0x0667}, /* 0666 */ + {0x0668,0x0668},{0x0669,0x0669}, /* 0668 */ + {0x066A,0x066A},{0x066B,0x066B}, /* 066A */ + {0x066C,0x066C},{0x066D,0x066D}, /* 066C */ + {0x066E,0x066E},{0x066F,0x066F}, /* 066E */ + {0x0670,0x0670},{0x0671,0x0671}, /* 0670 */ + {0x0672,0x0672},{0x0673,0x0673}, /* 0672 */ + {0x0674,0x0674},{0x0675,0x0675}, /* 0674 */ + {0x0676,0x0676},{0x0677,0x0677}, /* 0676 */ + {0x0678,0x0678},{0x0679,0x0679}, /* 0678 */ + {0x067A,0x067A},{0x067B,0x067B}, /* 067A */ + {0x067C,0x067C},{0x067D,0x067D}, /* 067C */ + {0x067E,0x067E},{0x067F,0x067F}, /* 067E */ + {0x0680,0x0680},{0x0681,0x0681}, /* 0680 */ + {0x0682,0x0682},{0x0683,0x0683}, /* 0682 */ + {0x0684,0x0684},{0x0685,0x0685}, /* 0684 */ + {0x0686,0x0686},{0x0687,0x0687}, /* 0686 */ + {0x0688,0x0688},{0x0689,0x0689}, /* 0688 */ + {0x068A,0x068A},{0x068B,0x068B}, /* 068A */ + {0x068C,0x068C},{0x068D,0x068D}, /* 068C */ + {0x068E,0x068E},{0x068F,0x068F}, /* 068E */ + {0x0690,0x0690},{0x0691,0x0691}, /* 0690 */ + {0x0692,0x0692},{0x0693,0x0693}, /* 0692 */ + {0x0694,0x0694},{0x0695,0x0695}, /* 0694 */ + {0x0696,0x0696},{0x0697,0x0697}, /* 0696 */ + {0x0698,0x0698},{0x0699,0x0699}, /* 0698 */ + {0x069A,0x069A},{0x069B,0x069B}, /* 069A */ + {0x069C,0x069C},{0x069D,0x069D}, /* 069C */ + {0x069E,0x069E},{0x069F,0x069F}, /* 069E */ + {0x06A0,0x06A0},{0x06A1,0x06A1}, /* 06A0 */ + {0x06A2,0x06A2},{0x06A3,0x06A3}, /* 06A2 */ + {0x06A4,0x06A4},{0x06A5,0x06A5}, /* 06A4 */ + {0x06A6,0x06A6},{0x06A7,0x06A7}, /* 06A6 */ + {0x06A8,0x06A8},{0x06A9,0x06A9}, /* 06A8 */ + {0x06AA,0x06AA},{0x06AB,0x06AB}, /* 06AA */ + {0x06AC,0x06AC},{0x06AD,0x06AD}, /* 06AC */ + {0x06AE,0x06AE},{0x06AF,0x06AF}, /* 06AE */ + {0x06B0,0x06B0},{0x06B1,0x06B1}, /* 06B0 */ + {0x06B2,0x06B2},{0x06B3,0x06B3}, /* 06B2 */ + {0x06B4,0x06B4},{0x06B5,0x06B5}, /* 06B4 */ + {0x06B6,0x06B6},{0x06B7,0x06B7}, /* 06B6 */ + {0x06B8,0x06B8},{0x06B9,0x06B9}, /* 06B8 */ + {0x06BA,0x06BA},{0x06BB,0x06BB}, /* 06BA */ + {0x06BC,0x06BC},{0x06BD,0x06BD}, /* 06BC */ + {0x06BE,0x06BE},{0x06BF,0x06BF}, /* 06BE */ + {0x06C0,0x06C0},{0x06C1,0x06C1}, /* 06C0 */ + {0x06C2,0x06C2},{0x06C3,0x06C3}, /* 06C2 */ + {0x06C4,0x06C4},{0x06C5,0x06C5}, /* 06C4 */ + {0x06C6,0x06C6},{0x06C7,0x06C7}, /* 06C6 */ + {0x06C8,0x06C8},{0x06C9,0x06C9}, /* 06C8 */ + {0x06CA,0x06CA},{0x06CB,0x06CB}, /* 06CA */ + {0x06CC,0x06CC},{0x06CD,0x06CD}, /* 06CC */ + {0x06CE,0x06CE},{0x06CF,0x06CF}, /* 06CE */ + {0x06D0,0x06D0},{0x06D1,0x06D1}, /* 06D0 */ + {0x06D2,0x06D2},{0x06D3,0x06D3}, /* 06D2 */ + {0x06D4,0x06D4},{0x06D5,0x06D5}, /* 06D4 */ + {0x06D6,0x06D6},{0x06D7,0x06D7}, /* 06D6 */ + {0x06D8,0x06D8},{0x06D9,0x06D9}, /* 06D8 */ + {0x06DA,0x06DA},{0x06DB,0x06DB}, /* 06DA */ + {0x06DC,0x06DC},{0x06DD,0x06DD}, /* 06DC */ + {0x06DE,0x06DE},{0x06DF,0x06DF}, /* 06DE */ + {0x06E0,0x06E0},{0x06E1,0x06E1}, /* 06E0 */ + {0x06E2,0x06E2},{0x06E3,0x06E3}, /* 06E2 */ + {0x06E4,0x06E4},{0x06E5,0x06E5}, /* 06E4 */ + {0x06E6,0x06E6},{0x06E7,0x06E7}, /* 06E6 */ + {0x06E8,0x06E8},{0x06E9,0x06E9}, /* 06E8 */ + {0x06EA,0x06EA},{0x06EB,0x06EB}, /* 06EA */ + {0x06EC,0x06EC},{0x06ED,0x06ED}, /* 06EC */ + {0x06EE,0x06EE},{0x06EF,0x06EF}, /* 06EE */ + {0x06F0,0x06F0},{0x06F1,0x06F1}, /* 06F0 */ + {0x06F2,0x06F2},{0x06F3,0x06F3}, /* 06F2 */ + {0x06F4,0x06F4},{0x06F5,0x06F5}, /* 06F4 */ + {0x06F6,0x06F6},{0x06F7,0x06F7}, /* 06F6 */ + {0x06F8,0x06F8},{0x06F9,0x06F9}, /* 06F8 */ + {0x06FA,0x06FA},{0x06FB,0x06FB}, /* 06FA */ + {0x06FC,0x06FC},{0x06FD,0x06FD}, /* 06FC */ + {0x06FE,0x06FE},{0x06FF,0x06FF} /* 06FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page07[256]={ /* This page is dummy */ + {0x0700,0x0700},{0x0701,0x0701}, /* 0700 */ + {0x0702,0x0702},{0x0703,0x0703}, /* 0702 */ + {0x0704,0x0704},{0x0705,0x0705}, /* 0704 */ + {0x0706,0x0706},{0x0707,0x0707}, /* 0706 */ + {0x0708,0x0708},{0x0709,0x0709}, /* 0708 */ + {0x070A,0x070A},{0x070B,0x070B}, /* 070A */ + {0x070C,0x070C},{0x070D,0x070D}, /* 070C */ + {0x070E,0x070E},{0x070F,0x070F}, /* 070E */ + {0x0710,0x0710},{0x0711,0x0711}, /* 0710 */ + {0x0712,0x0712},{0x0713,0x0713}, /* 0712 */ + {0x0714,0x0714},{0x0715,0x0715}, /* 0714 */ + {0x0716,0x0716},{0x0717,0x0717}, /* 0716 */ + {0x0718,0x0718},{0x0719,0x0719}, /* 0718 */ + {0x071A,0x071A},{0x071B,0x071B}, /* 071A */ + {0x071C,0x071C},{0x071D,0x071D}, /* 071C */ + {0x071E,0x071E},{0x071F,0x071F}, /* 071E */ + {0x0720,0x0720},{0x0721,0x0721}, /* 0720 */ + {0x0722,0x0722},{0x0723,0x0723}, /* 0722 */ + {0x0724,0x0724},{0x0725,0x0725}, /* 0724 */ + {0x0726,0x0726},{0x0727,0x0727}, /* 0726 */ + {0x0728,0x0728},{0x0729,0x0729}, /* 0728 */ + {0x072A,0x072A},{0x072B,0x072B}, /* 072A */ + {0x072C,0x072C},{0x072D,0x072D}, /* 072C */ + {0x072E,0x072E},{0x072F,0x072F}, /* 072E */ + {0x0730,0x0730},{0x0731,0x0731}, /* 0730 */ + {0x0732,0x0732},{0x0733,0x0733}, /* 0732 */ + {0x0734,0x0734},{0x0735,0x0735}, /* 0734 */ + {0x0736,0x0736},{0x0737,0x0737}, /* 0736 */ + {0x0738,0x0738},{0x0739,0x0739}, /* 0738 */ + {0x073A,0x073A},{0x073B,0x073B}, /* 073A */ + {0x073C,0x073C},{0x073D,0x073D}, /* 073C */ + {0x073E,0x073E},{0x073F,0x073F}, /* 073E */ + {0x0740,0x0740},{0x0741,0x0741}, /* 0740 */ + {0x0742,0x0742},{0x0743,0x0743}, /* 0742 */ + {0x0744,0x0744},{0x0745,0x0745}, /* 0744 */ + {0x0746,0x0746},{0x0747,0x0747}, /* 0746 */ + {0x0748,0x0748},{0x0749,0x0749}, /* 0748 */ + {0x074A,0x074A},{0x074B,0x074B}, /* 074A */ + {0x074C,0x074C},{0x074D,0x074D}, /* 074C */ + {0x074E,0x074E},{0x074F,0x074F}, /* 074E */ + {0x0750,0x0750},{0x0751,0x0751}, /* 0750 */ + {0x0752,0x0752},{0x0753,0x0753}, /* 0752 */ + {0x0754,0x0754},{0x0755,0x0755}, /* 0754 */ + {0x0756,0x0756},{0x0757,0x0757}, /* 0756 */ + {0x0758,0x0758},{0x0759,0x0759}, /* 0758 */ + {0x075A,0x075A},{0x075B,0x075B}, /* 075A */ + {0x075C,0x075C},{0x075D,0x075D}, /* 075C */ + {0x075E,0x075E},{0x075F,0x075F}, /* 075E */ + {0x0760,0x0760},{0x0761,0x0761}, /* 0760 */ + {0x0762,0x0762},{0x0763,0x0763}, /* 0762 */ + {0x0764,0x0764},{0x0765,0x0765}, /* 0764 */ + {0x0766,0x0766},{0x0767,0x0767}, /* 0766 */ + {0x0768,0x0768},{0x0769,0x0769}, /* 0768 */ + {0x076A,0x076A},{0x076B,0x076B}, /* 076A */ + {0x076C,0x076C},{0x076D,0x076D}, /* 076C */ + {0x076E,0x076E},{0x076F,0x076F}, /* 076E */ + {0x0770,0x0770},{0x0771,0x0771}, /* 0770 */ + {0x0772,0x0772},{0x0773,0x0773}, /* 0772 */ + {0x0774,0x0774},{0x0775,0x0775}, /* 0774 */ + {0x0776,0x0776},{0x0777,0x0777}, /* 0776 */ + {0x0778,0x0778},{0x0779,0x0779}, /* 0778 */ + {0x077A,0x077A},{0x077B,0x077B}, /* 077A */ + {0x077C,0x077C},{0x077D,0x077D}, /* 077C */ + {0x077E,0x077E},{0x077F,0x077F}, /* 077E */ + {0x0780,0x0780},{0x0781,0x0781}, /* 0780 */ + {0x0782,0x0782},{0x0783,0x0783}, /* 0782 */ + {0x0784,0x0784},{0x0785,0x0785}, /* 0784 */ + {0x0786,0x0786},{0x0787,0x0787}, /* 0786 */ + {0x0788,0x0788},{0x0789,0x0789}, /* 0788 */ + {0x078A,0x078A},{0x078B,0x078B}, /* 078A */ + {0x078C,0x078C},{0x078D,0x078D}, /* 078C */ + {0x078E,0x078E},{0x078F,0x078F}, /* 078E */ + {0x0790,0x0790},{0x0791,0x0791}, /* 0790 */ + {0x0792,0x0792},{0x0793,0x0793}, /* 0792 */ + {0x0794,0x0794},{0x0795,0x0795}, /* 0794 */ + {0x0796,0x0796},{0x0797,0x0797}, /* 0796 */ + {0x0798,0x0798},{0x0799,0x0799}, /* 0798 */ + {0x079A,0x079A},{0x079B,0x079B}, /* 079A */ + {0x079C,0x079C},{0x079D,0x079D}, /* 079C */ + {0x079E,0x079E},{0x079F,0x079F}, /* 079E */ + {0x07A0,0x07A0},{0x07A1,0x07A1}, /* 07A0 */ + {0x07A2,0x07A2},{0x07A3,0x07A3}, /* 07A2 */ + {0x07A4,0x07A4},{0x07A5,0x07A5}, /* 07A4 */ + {0x07A6,0x07A6},{0x07A7,0x07A7}, /* 07A6 */ + {0x07A8,0x07A8},{0x07A9,0x07A9}, /* 07A8 */ + {0x07AA,0x07AA},{0x07AB,0x07AB}, /* 07AA */ + {0x07AC,0x07AC},{0x07AD,0x07AD}, /* 07AC */ + {0x07AE,0x07AE},{0x07AF,0x07AF}, /* 07AE */ + {0x07B0,0x07B0},{0x07B1,0x07B1}, /* 07B0 */ + {0x07B2,0x07B2},{0x07B3,0x07B3}, /* 07B2 */ + {0x07B4,0x07B4},{0x07B5,0x07B5}, /* 07B4 */ + {0x07B6,0x07B6},{0x07B7,0x07B7}, /* 07B6 */ + {0x07B8,0x07B8},{0x07B9,0x07B9}, /* 07B8 */ + {0x07BA,0x07BA},{0x07BB,0x07BB}, /* 07BA */ + {0x07BC,0x07BC},{0x07BD,0x07BD}, /* 07BC */ + {0x07BE,0x07BE},{0x07BF,0x07BF}, /* 07BE */ + {0x07C0,0x07C0},{0x07C1,0x07C1}, /* 07C0 */ + {0x07C2,0x07C2},{0x07C3,0x07C3}, /* 07C2 */ + {0x07C4,0x07C4},{0x07C5,0x07C5}, /* 07C4 */ + {0x07C6,0x07C6},{0x07C7,0x07C7}, /* 07C6 */ + {0x07C8,0x07C8},{0x07C9,0x07C9}, /* 07C8 */ + {0x07CA,0x07CA},{0x07CB,0x07CB}, /* 07CA */ + {0x07CC,0x07CC},{0x07CD,0x07CD}, /* 07CC */ + {0x07CE,0x07CE},{0x07CF,0x07CF}, /* 07CE */ + {0x07D0,0x07D0},{0x07D1,0x07D1}, /* 07D0 */ + {0x07D2,0x07D2},{0x07D3,0x07D3}, /* 07D2 */ + {0x07D4,0x07D4},{0x07D5,0x07D5}, /* 07D4 */ + {0x07D6,0x07D6},{0x07D7,0x07D7}, /* 07D6 */ + {0x07D8,0x07D8},{0x07D9,0x07D9}, /* 07D8 */ + {0x07DA,0x07DA},{0x07DB,0x07DB}, /* 07DA */ + {0x07DC,0x07DC},{0x07DD,0x07DD}, /* 07DC */ + {0x07DE,0x07DE},{0x07DF,0x07DF}, /* 07DE */ + {0x07E0,0x07E0},{0x07E1,0x07E1}, /* 07E0 */ + {0x07E2,0x07E2},{0x07E3,0x07E3}, /* 07E2 */ + {0x07E4,0x07E4},{0x07E5,0x07E5}, /* 07E4 */ + {0x07E6,0x07E6},{0x07E7,0x07E7}, /* 07E6 */ + {0x07E8,0x07E8},{0x07E9,0x07E9}, /* 07E8 */ + {0x07EA,0x07EA},{0x07EB,0x07EB}, /* 07EA */ + {0x07EC,0x07EC},{0x07ED,0x07ED}, /* 07EC */ + {0x07EE,0x07EE},{0x07EF,0x07EF}, /* 07EE */ + {0x07F0,0x07F0},{0x07F1,0x07F1}, /* 07F0 */ + {0x07F2,0x07F2},{0x07F3,0x07F3}, /* 07F2 */ + {0x07F4,0x07F4},{0x07F5,0x07F5}, /* 07F4 */ + {0x07F6,0x07F6},{0x07F7,0x07F7}, /* 07F6 */ + {0x07F8,0x07F8},{0x07F9,0x07F9}, /* 07F8 */ + {0x07FA,0x07FA},{0x07FB,0x07FB}, /* 07FA */ + {0x07FC,0x07FC},{0x07FD,0x07FD}, /* 07FC */ + {0x07FE,0x07FE},{0x07FF,0x07FF} /* 07FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page1E[256]={ + {0x1E00,0x1E01},{0x1E00,0x1E01}, /* 1E00 */ + {0x1E02,0x1E03},{0x1E02,0x1E03}, /* 1E02 */ + {0x1E04,0x1E05},{0x1E04,0x1E05}, /* 1E04 */ + {0x1E06,0x1E07},{0x1E06,0x1E07}, /* 1E06 */ + {0x1E08,0x1E09},{0x1E08,0x1E09}, /* 1E08 */ + {0x1E0A,0x1E0B},{0x1E0A,0x1E0B}, /* 1E0A */ + {0x1E0C,0x1E0D},{0x1E0C,0x1E0D}, /* 1E0C */ + {0x1E0E,0x1E0F},{0x1E0E,0x1E0F}, /* 1E0E */ + {0x1E10,0x1E11},{0x1E10,0x1E11}, /* 1E10 */ + {0x1E12,0x1E13},{0x1E12,0x1E13}, /* 1E12 */ + {0x1E14,0x1E15},{0x1E14,0x1E15}, /* 1E14 */ + {0x1E16,0x1E17},{0x1E16,0x1E17}, /* 1E16 */ + {0x1E18,0x1E19},{0x1E18,0x1E19}, /* 1E18 */ + {0x1E1A,0x1E1B},{0x1E1A,0x1E1B}, /* 1E1A */ + {0x1E1C,0x1E1D},{0x1E1C,0x1E1D}, /* 1E1C */ + {0x1E1E,0x1E1F},{0x1E1E,0x1E1F}, /* 1E1E */ + {0x1E20,0x1E21},{0x1E20,0x1E21}, /* 1E20 */ + {0x1E22,0x1E23},{0x1E22,0x1E23}, /* 1E22 */ + {0x1E24,0x1E25},{0x1E24,0x1E25}, /* 1E24 */ + {0x1E26,0x1E27},{0x1E26,0x1E27}, /* 1E26 */ + {0x1E28,0x1E29},{0x1E28,0x1E29}, /* 1E28 */ + {0x1E2A,0x1E2B},{0x1E2A,0x1E2B}, /* 1E2A */ + {0x1E2C,0x1E2D},{0x1E2C,0x1E2D}, /* 1E2C */ + {0x1E2E,0x1E2F},{0x1E2E,0x1E2F}, /* 1E2E */ + {0x1E30,0x1E31},{0x1E30,0x1E31}, /* 1E30 */ + {0x1E32,0x1E33},{0x1E32,0x1E33}, /* 1E32 */ + {0x1E34,0x1E35},{0x1E34,0x1E35}, /* 1E34 */ + {0x1E36,0x1E37},{0x1E36,0x1E37}, /* 1E36 */ + {0x1E38,0x1E39},{0x1E38,0x1E39}, /* 1E38 */ + {0x1E3A,0x1E3B},{0x1E3A,0x1E3B}, /* 1E3A */ + {0x1E3C,0x1E3D},{0x1E3C,0x1E3D}, /* 1E3C */ + {0x1E3E,0x1E3F},{0x1E3E,0x1E3F}, /* 1E3E */ + {0x1E40,0x1E41},{0x1E40,0x1E41}, /* 1E40 */ + {0x1E42,0x1E43},{0x1E42,0x1E43}, /* 1E42 */ + {0x1E44,0x1E45},{0x1E44,0x1E45}, /* 1E44 */ + {0x1E46,0x1E47},{0x1E46,0x1E47}, /* 1E46 */ + {0x1E48,0x1E49},{0x1E48,0x1E49}, /* 1E48 */ + {0x1E4A,0x1E4B},{0x1E4A,0x1E4B}, /* 1E4A */ + {0x1E4C,0x1E4D},{0x1E4C,0x1E4D}, /* 1E4C */ + {0x1E4E,0x1E4F},{0x1E4E,0x1E4F}, /* 1E4E */ + {0x1E50,0x1E51},{0x1E50,0x1E51}, /* 1E50 */ + {0x1E52,0x1E53},{0x1E52,0x1E53}, /* 1E52 */ + {0x1E54,0x1E55},{0x1E54,0x1E55}, /* 1E54 */ + {0x1E56,0x1E57},{0x1E56,0x1E57}, /* 1E56 */ + {0x1E58,0x1E59},{0x1E58,0x1E59}, /* 1E58 */ + {0x1E5A,0x1E5B},{0x1E5A,0x1E5B}, /* 1E5A */ + {0x1E5C,0x1E5D},{0x1E5C,0x1E5D}, /* 1E5C */ + {0x1E5E,0x1E5F},{0x1E5E,0x1E5F}, /* 1E5E */ + {0x1E60,0x1E61},{0x1E60,0x1E61}, /* 1E60 */ + {0x1E62,0x1E63},{0x1E62,0x1E63}, /* 1E62 */ + {0x1E64,0x1E65},{0x1E64,0x1E65}, /* 1E64 */ + {0x1E66,0x1E67},{0x1E66,0x1E67}, /* 1E66 */ + {0x1E68,0x1E69},{0x1E68,0x1E69}, /* 1E68 */ + {0x1E6A,0x1E6B},{0x1E6A,0x1E6B}, /* 1E6A */ + {0x1E6C,0x1E6D},{0x1E6C,0x1E6D}, /* 1E6C */ + {0x1E6E,0x1E6F},{0x1E6E,0x1E6F}, /* 1E6E */ + {0x1E70,0x1E71},{0x1E70,0x1E71}, /* 1E70 */ + {0x1E72,0x1E73},{0x1E72,0x1E73}, /* 1E72 */ + {0x1E74,0x1E75},{0x1E74,0x1E75}, /* 1E74 */ + {0x1E76,0x1E77},{0x1E76,0x1E77}, /* 1E76 */ + {0x1E78,0x1E79},{0x1E78,0x1E79}, /* 1E78 */ + {0x1E7A,0x1E7B},{0x1E7A,0x1E7B}, /* 1E7A */ + {0x1E7C,0x1E7D},{0x1E7C,0x1E7D}, /* 1E7C */ + {0x1E7E,0x1E7F},{0x1E7E,0x1E7F}, /* 1E7E */ + {0x1E80,0x1E81},{0x1E80,0x1E81}, /* 1E80 */ + {0x1E82,0x1E83},{0x1E82,0x1E83}, /* 1E82 */ + {0x1E84,0x1E85},{0x1E84,0x1E85}, /* 1E84 */ + {0x1E86,0x1E87},{0x1E86,0x1E87}, /* 1E86 */ + {0x1E88,0x1E89},{0x1E88,0x1E89}, /* 1E88 */ + {0x1E8A,0x1E8B},{0x1E8A,0x1E8B}, /* 1E8A */ + {0x1E8C,0x1E8D},{0x1E8C,0x1E8D}, /* 1E8C */ + {0x1E8E,0x1E8F},{0x1E8E,0x1E8F}, /* 1E8E */ + {0x1E90,0x1E91},{0x1E90,0x1E91}, /* 1E90 */ + {0x1E92,0x1E93},{0x1E92,0x1E93}, /* 1E92 */ + {0x1E94,0x1E95},{0x1E94,0x1E95}, /* 1E94 */ + {0x1E96,0x1E96},{0x1E97,0x1E97}, /* 1E96 */ + {0x1E98,0x1E98},{0x1E99,0x1E99}, /* 1E98 */ + {0x1E9A,0x1E9A},{0x1E60,0x1E9B}, /* 1E9A */ + {0x1E9C,0x1E9C},{0x1E9D,0x1E9D}, /* 1E9C */ + {0x1E9E,0x1E9E},{0x1E9F,0x1E9F}, /* 1E9E */ + {0x1EA0,0x1EA1},{0x1EA0,0x1EA1}, /* 1EA0 */ + {0x1EA2,0x1EA3},{0x1EA2,0x1EA3}, /* 1EA2 */ + {0x1EA4,0x1EA5},{0x1EA4,0x1EA5}, /* 1EA4 */ + {0x1EA6,0x1EA7},{0x1EA6,0x1EA7}, /* 1EA6 */ + {0x1EA8,0x1EA9},{0x1EA8,0x1EA9}, /* 1EA8 */ + {0x1EAA,0x1EAB},{0x1EAA,0x1EAB}, /* 1EAA */ + {0x1EAC,0x1EAD},{0x1EAC,0x1EAD}, /* 1EAC */ + {0x1EAE,0x1EAF},{0x1EAE,0x1EAF}, /* 1EAE */ + {0x1EB0,0x1EB1},{0x1EB0,0x1EB1}, /* 1EB0 */ + {0x1EB2,0x1EB3},{0x1EB2,0x1EB3}, /* 1EB2 */ + {0x1EB4,0x1EB5},{0x1EB4,0x1EB5}, /* 1EB4 */ + {0x1EB6,0x1EB7},{0x1EB6,0x1EB7}, /* 1EB6 */ + {0x1EB8,0x1EB9},{0x1EB8,0x1EB9}, /* 1EB8 */ + {0x1EBA,0x1EBB},{0x1EBA,0x1EBB}, /* 1EBA */ + {0x1EBC,0x1EBD},{0x1EBC,0x1EBD}, /* 1EBC */ + {0x1EBE,0x1EBF},{0x1EBE,0x1EBF}, /* 1EBE */ + {0x1EC0,0x1EC1},{0x1EC0,0x1EC1}, /* 1EC0 */ + {0x1EC2,0x1EC3},{0x1EC2,0x1EC3}, /* 1EC2 */ + {0x1EC4,0x1EC5},{0x1EC4,0x1EC5}, /* 1EC4 */ + {0x1EC6,0x1EC7},{0x1EC6,0x1EC7}, /* 1EC6 */ + {0x1EC8,0x1EC9},{0x1EC8,0x1EC9}, /* 1EC8 */ + {0x1ECA,0x1ECB},{0x1ECA,0x1ECB}, /* 1ECA */ + {0x1ECC,0x1ECD},{0x1ECC,0x1ECD}, /* 1ECC */ + {0x1ECE,0x1ECF},{0x1ECE,0x1ECF}, /* 1ECE */ + {0x1ED0,0x1ED1},{0x1ED0,0x1ED1}, /* 1ED0 */ + {0x1ED2,0x1ED3},{0x1ED2,0x1ED3}, /* 1ED2 */ + {0x1ED4,0x1ED5},{0x1ED4,0x1ED5}, /* 1ED4 */ + {0x1ED6,0x1ED7},{0x1ED6,0x1ED7}, /* 1ED6 */ + {0x1ED8,0x1ED9},{0x1ED8,0x1ED9}, /* 1ED8 */ + {0x1EDA,0x1EDB},{0x1EDA,0x1EDB}, /* 1EDA */ + {0x1EDC,0x1EDD},{0x1EDC,0x1EDD}, /* 1EDC */ + {0x1EDE,0x1EDF},{0x1EDE,0x1EDF}, /* 1EDE */ + {0x1EE0,0x1EE1},{0x1EE0,0x1EE1}, /* 1EE0 */ + {0x1EE2,0x1EE3},{0x1EE2,0x1EE3}, /* 1EE2 */ + {0x1EE4,0x1EE5},{0x1EE4,0x1EE5}, /* 1EE4 */ + {0x1EE6,0x1EE7},{0x1EE6,0x1EE7}, /* 1EE6 */ + {0x1EE8,0x1EE9},{0x1EE8,0x1EE9}, /* 1EE8 */ + {0x1EEA,0x1EEB},{0x1EEA,0x1EEB}, /* 1EEA */ + {0x1EEC,0x1EED},{0x1EEC,0x1EED}, /* 1EEC */ + {0x1EEE,0x1EEF},{0x1EEE,0x1EEF}, /* 1EEE */ + {0x1EF0,0x1EF1},{0x1EF0,0x1EF1}, /* 1EF0 */ + {0x1EF2,0x1EF3},{0x1EF2,0x1EF3}, /* 1EF2 */ + {0x1EF4,0x1EF5},{0x1EF4,0x1EF5}, /* 1EF4 */ + {0x1EF6,0x1EF7},{0x1EF6,0x1EF7}, /* 1EF6 */ + {0x1EF8,0x1EF9},{0x1EF8,0x1EF9}, /* 1EF8 */ + {0x1EFA,0x1EFA},{0x1EFB,0x1EFB}, /* 1EFA */ + {0x1EFC,0x1EFC},{0x1EFD,0x1EFD}, /* 1EFC */ + {0x1EFE,0x1EFE},{0x1EFF,0x1EFF} /* 1EFE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page1F[256]={ + {0x1F08,0x1F00},{0x1F09,0x1F01}, /* 1F00 */ + {0x1F0A,0x1F02},{0x1F0B,0x1F03}, /* 1F02 */ + {0x1F0C,0x1F04},{0x1F0D,0x1F05}, /* 1F04 */ + {0x1F0E,0x1F06},{0x1F0F,0x1F07}, /* 1F06 */ + {0x1F08,0x1F00},{0x1F09,0x1F01}, /* 1F08 */ + {0x1F0A,0x1F02},{0x1F0B,0x1F03}, /* 1F0A */ + {0x1F0C,0x1F04},{0x1F0D,0x1F05}, /* 1F0C */ + {0x1F0E,0x1F06},{0x1F0F,0x1F07}, /* 1F0E */ + {0x1F18,0x1F10},{0x1F19,0x1F11}, /* 1F10 */ + {0x1F1A,0x1F12},{0x1F1B,0x1F13}, /* 1F12 */ + {0x1F1C,0x1F14},{0x1F1D,0x1F15}, /* 1F14 */ + {0x1F16,0x1F16},{0x1F17,0x1F17}, /* 1F16 */ + {0x1F18,0x1F10},{0x1F19,0x1F11}, /* 1F18 */ + {0x1F1A,0x1F12},{0x1F1B,0x1F13}, /* 1F1A */ + {0x1F1C,0x1F14},{0x1F1D,0x1F15}, /* 1F1C */ + {0x1F1E,0x1F1E},{0x1F1F,0x1F1F}, /* 1F1E */ + {0x1F28,0x1F20},{0x1F29,0x1F21}, /* 1F20 */ + {0x1F2A,0x1F22},{0x1F2B,0x1F23}, /* 1F22 */ + {0x1F2C,0x1F24},{0x1F2D,0x1F25}, /* 1F24 */ + {0x1F2E,0x1F26},{0x1F2F,0x1F27}, /* 1F26 */ + {0x1F28,0x1F20},{0x1F29,0x1F21}, /* 1F28 */ + {0x1F2A,0x1F22},{0x1F2B,0x1F23}, /* 1F2A */ + {0x1F2C,0x1F24},{0x1F2D,0x1F25}, /* 1F2C */ + {0x1F2E,0x1F26},{0x1F2F,0x1F27}, /* 1F2E */ + {0x1F38,0x1F30},{0x1F39,0x1F31}, /* 1F30 */ + {0x1F3A,0x1F32},{0x1F3B,0x1F33}, /* 1F32 */ + {0x1F3C,0x1F34},{0x1F3D,0x1F35}, /* 1F34 */ + {0x1F3E,0x1F36},{0x1F3F,0x1F37}, /* 1F36 */ + {0x1F38,0x1F30},{0x1F39,0x1F31}, /* 1F38 */ + {0x1F3A,0x1F32},{0x1F3B,0x1F33}, /* 1F3A */ + {0x1F3C,0x1F34},{0x1F3D,0x1F35}, /* 1F3C */ + {0x1F3E,0x1F36},{0x1F3F,0x1F37}, /* 1F3E */ + {0x1F48,0x1F40},{0x1F49,0x1F41}, /* 1F40 */ + {0x1F4A,0x1F42},{0x1F4B,0x1F43}, /* 1F42 */ + {0x1F4C,0x1F44},{0x1F4D,0x1F45}, /* 1F44 */ + {0x1F46,0x1F46},{0x1F47,0x1F47}, /* 1F46 */ + {0x1F48,0x1F40},{0x1F49,0x1F41}, /* 1F48 */ + {0x1F4A,0x1F42},{0x1F4B,0x1F43}, /* 1F4A */ + {0x1F4C,0x1F44},{0x1F4D,0x1F45}, /* 1F4C */ + {0x1F4E,0x1F4E},{0x1F4F,0x1F4F}, /* 1F4E */ + {0x1F50,0x1F50},{0x1F59,0x1F51}, /* 1F50 */ + {0x1F52,0x1F52},{0x1F5B,0x1F53}, /* 1F52 */ + {0x1F54,0x1F54},{0x1F5D,0x1F55}, /* 1F54 */ + {0x1F56,0x1F56},{0x1F5F,0x1F57}, /* 1F56 */ + {0x1F58,0x1F58},{0x1F59,0x1F51}, /* 1F58 */ + {0x1F5A,0x1F5A},{0x1F5B,0x1F53}, /* 1F5A */ + {0x1F5C,0x1F5C},{0x1F5D,0x1F55}, /* 1F5C */ + {0x1F5E,0x1F5E},{0x1F5F,0x1F57}, /* 1F5E */ + {0x1F68,0x1F60},{0x1F69,0x1F61}, /* 1F60 */ + {0x1F6A,0x1F62},{0x1F6B,0x1F63}, /* 1F62 */ + {0x1F6C,0x1F64},{0x1F6D,0x1F65}, /* 1F64 */ + {0x1F6E,0x1F66},{0x1F6F,0x1F67}, /* 1F66 */ + {0x1F68,0x1F60},{0x1F69,0x1F61}, /* 1F68 */ + {0x1F6A,0x1F62},{0x1F6B,0x1F63}, /* 1F6A */ + {0x1F6C,0x1F64},{0x1F6D,0x1F65}, /* 1F6C */ + {0x1F6E,0x1F66},{0x1F6F,0x1F67}, /* 1F6E */ + {0x1FBA,0x1F70},{0x1FBB,0x1F71}, /* 1F70 */ + {0x1FC8,0x1F72},{0x1FC9,0x1F73}, /* 1F72 */ + {0x1FCA,0x1F74},{0x1FCB,0x1F75}, /* 1F74 */ + {0x1FDA,0x1F76},{0x1FDB,0x1F77}, /* 1F76 */ + {0x1FF8,0x1F78},{0x1FF9,0x1F79}, /* 1F78 */ + {0x1FEA,0x1F7A},{0x1FEB,0x1F7B}, /* 1F7A */ + {0x1FFA,0x1F7C},{0x1FFB,0x1F7D}, /* 1F7C */ + {0x1F7E,0x1F7E},{0x1F7F,0x1F7F}, /* 1F7E */ + {0x1F88,0x1F80},{0x1F89,0x1F81}, /* 1F80 */ + {0x1F8A,0x1F82},{0x1F8B,0x1F83}, /* 1F82 */ + {0x1F8C,0x1F84},{0x1F8D,0x1F85}, /* 1F84 */ + {0x1F8E,0x1F86},{0x1F8F,0x1F87}, /* 1F86 */ + {0x1F88,0x1F80},{0x1F89,0x1F81}, /* 1F88 */ + {0x1F8A,0x1F82},{0x1F8B,0x1F83}, /* 1F8A */ + {0x1F8C,0x1F84},{0x1F8D,0x1F85}, /* 1F8C */ + {0x1F8E,0x1F86},{0x1F8F,0x1F87}, /* 1F8E */ + {0x1F98,0x1F90},{0x1F99,0x1F91}, /* 1F90 */ + {0x1F9A,0x1F92},{0x1F9B,0x1F93}, /* 1F92 */ + {0x1F9C,0x1F94},{0x1F9D,0x1F95}, /* 1F94 */ + {0x1F9E,0x1F96},{0x1F9F,0x1F97}, /* 1F96 */ + {0x1F98,0x1F90},{0x1F99,0x1F91}, /* 1F98 */ + {0x1F9A,0x1F92},{0x1F9B,0x1F93}, /* 1F9A */ + {0x1F9C,0x1F94},{0x1F9D,0x1F95}, /* 1F9C */ + {0x1F9E,0x1F96},{0x1F9F,0x1F97}, /* 1F9E */ + {0x1FA8,0x1FA0},{0x1FA9,0x1FA1}, /* 1FA0 */ + {0x1FAA,0x1FA2},{0x1FAB,0x1FA3}, /* 1FA2 */ + {0x1FAC,0x1FA4},{0x1FAD,0x1FA5}, /* 1FA4 */ + {0x1FAE,0x1FA6},{0x1FAF,0x1FA7}, /* 1FA6 */ + {0x1FA8,0x1FA0},{0x1FA9,0x1FA1}, /* 1FA8 */ + {0x1FAA,0x1FA2},{0x1FAB,0x1FA3}, /* 1FAA */ + {0x1FAC,0x1FA4},{0x1FAD,0x1FA5}, /* 1FAC */ + {0x1FAE,0x1FA6},{0x1FAF,0x1FA7}, /* 1FAE */ + {0x1FB8,0x1FB0},{0x1FB9,0x1FB1}, /* 1FB0 */ + {0x1FB2,0x1FB2},{0x1FBC,0x1FB3}, /* 1FB2 */ + {0x1FB4,0x1FB4},{0x1FB5,0x1FB5}, /* 1FB4 */ + {0x1FB6,0x1FB6},{0x1FB7,0x1FB7}, /* 1FB6 */ + {0x1FB8,0x1FB0},{0x1FB9,0x1FB1}, /* 1FB8 */ + {0x1FBA,0x1F70},{0x1FBB,0x1F71}, /* 1FBA */ + {0x1FBC,0x1FB3},{0x1FBD,0x1FBD}, /* 1FBC */ + {0x0399,0x1FBE},{0x1FBF,0x1FBF}, /* 1FBE */ + {0x1FC0,0x1FC0},{0x1FC1,0x1FC1}, /* 1FC0 */ + {0x1FC2,0x1FC2},{0x1FCC,0x1FC3}, /* 1FC2 */ + {0x1FC4,0x1FC4},{0x1FC5,0x1FC5}, /* 1FC4 */ + {0x1FC6,0x1FC6},{0x1FC7,0x1FC7}, /* 1FC6 */ + {0x1FC8,0x1F72},{0x1FC9,0x1F73}, /* 1FC8 */ + {0x1FCA,0x1F74},{0x1FCB,0x1F75}, /* 1FCA */ + {0x1FCC,0x1FC3},{0x1FCD,0x1FCD}, /* 1FCC */ + {0x1FCE,0x1FCE},{0x1FCF,0x1FCF}, /* 1FCE */ + {0x1FD8,0x1FD0},{0x1FD9,0x1FD1}, /* 1FD0 */ + {0x1FD2,0x1FD2},{0x1FD3,0x1FD3}, /* 1FD2 */ + {0x1FD4,0x1FD4},{0x1FD5,0x1FD5}, /* 1FD4 */ + {0x1FD6,0x1FD6},{0x1FD7,0x1FD7}, /* 1FD6 */ + {0x1FD8,0x1FD0},{0x1FD9,0x1FD1}, /* 1FD8 */ + {0x1FDA,0x1F76},{0x1FDB,0x1F77}, /* 1FDA */ + {0x1FDC,0x1FDC},{0x1FDD,0x1FDD}, /* 1FDC */ + {0x1FDE,0x1FDE},{0x1FDF,0x1FDF}, /* 1FDE */ + {0x1FE8,0x1FE0},{0x1FE9,0x1FE1}, /* 1FE0 */ + {0x1FE2,0x1FE2},{0x1FE3,0x1FE3}, /* 1FE2 */ + {0x1FE4,0x1FE4},{0x1FEC,0x1FE5}, /* 1FE4 */ + {0x1FE6,0x1FE6},{0x1FE7,0x1FE7}, /* 1FE6 */ + {0x1FE8,0x1FE0},{0x1FE9,0x1FE1}, /* 1FE8 */ + {0x1FEA,0x1F7A},{0x1FEB,0x1F7B}, /* 1FEA */ + {0x1FEC,0x1FE5},{0x1FED,0x1FED}, /* 1FEC */ + {0x1FEE,0x1FEE},{0x1FEF,0x1FEF}, /* 1FEE */ + {0x1FF0,0x1FF0},{0x1FF1,0x1FF1}, /* 1FF0 */ + {0x1FF2,0x1FF2},{0x1FFC,0x1FF3}, /* 1FF2 */ + {0x1FF4,0x1FF4},{0x1FF5,0x1FF5}, /* 1FF4 */ + {0x1FF6,0x1FF6},{0x1FF7,0x1FF7}, /* 1FF6 */ + {0x1FF8,0x1F78},{0x1FF9,0x1F79}, /* 1FF8 */ + {0x1FFA,0x1F7C},{0x1FFB,0x1F7D}, /* 1FFA */ + {0x1FFC,0x1FF3},{0x1FFD,0x1FFD}, /* 1FFC */ + {0x1FFE,0x1FFE},{0x1FFF,0x1FFF} /* 1FFE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page21[256]={ + {0x2100,0x2100},{0x2101,0x2101}, /* 2100 */ + {0x2102,0x2102},{0x2103,0x2103}, /* 2102 */ + {0x2104,0x2104},{0x2105,0x2105}, /* 2104 */ + {0x2106,0x2106},{0x2107,0x2107}, /* 2106 */ + {0x2108,0x2108},{0x2109,0x2109}, /* 2108 */ + {0x210A,0x210A},{0x210B,0x210B}, /* 210A */ + {0x210C,0x210C},{0x210D,0x210D}, /* 210C */ + {0x210E,0x210E},{0x210F,0x210F}, /* 210E */ + {0x2110,0x2110},{0x2111,0x2111}, /* 2110 */ + {0x2112,0x2112},{0x2113,0x2113}, /* 2112 */ + {0x2114,0x2114},{0x2115,0x2115}, /* 2114 */ + {0x2116,0x2116},{0x2117,0x2117}, /* 2116 */ + {0x2118,0x2118},{0x2119,0x2119}, /* 2118 */ + {0x211A,0x211A},{0x211B,0x211B}, /* 211A */ + {0x211C,0x211C},{0x211D,0x211D}, /* 211C */ + {0x211E,0x211E},{0x211F,0x211F}, /* 211E */ + {0x2120,0x2120},{0x2121,0x2121}, /* 2120 */ + {0x2122,0x2122},{0x2123,0x2123}, /* 2122 */ + {0x2124,0x2124},{0x2125,0x2125}, /* 2124 */ + {0x2126,0x03C9},{0x2127,0x2127}, /* 2126 */ + {0x2128,0x2128},{0x2129,0x2129}, /* 2128 */ + {0x212A,0x006B},{0x212B,0x00E5}, /* 212A */ + {0x212C,0x212C},{0x212D,0x212D}, /* 212C */ + {0x212E,0x212E},{0x212F,0x212F}, /* 212E */ + {0x2130,0x2130},{0x2131,0x2131}, /* 2130 */ + {0x2132,0x2132},{0x2133,0x2133}, /* 2132 */ + {0x2134,0x2134},{0x2135,0x2135}, /* 2134 */ + {0x2136,0x2136},{0x2137,0x2137}, /* 2136 */ + {0x2138,0x2138},{0x2139,0x2139}, /* 2138 */ + {0x213A,0x213A},{0x213B,0x213B}, /* 213A */ + {0x213C,0x213C},{0x213D,0x213D}, /* 213C */ + {0x213E,0x213E},{0x213F,0x213F}, /* 213E */ + {0x2140,0x2140},{0x2141,0x2141}, /* 2140 */ + {0x2142,0x2142},{0x2143,0x2143}, /* 2142 */ + {0x2144,0x2144},{0x2145,0x2145}, /* 2144 */ + {0x2146,0x2146},{0x2147,0x2147}, /* 2146 */ + {0x2148,0x2148},{0x2149,0x2149}, /* 2148 */ + {0x214A,0x214A},{0x214B,0x214B}, /* 214A */ + {0x214C,0x214C},{0x214D,0x214D}, /* 214C */ + {0x214E,0x214E},{0x214F,0x214F}, /* 214E */ + {0x2150,0x2150},{0x2151,0x2151}, /* 2150 */ + {0x2152,0x2152},{0x2153,0x2153}, /* 2152 */ + {0x2154,0x2154},{0x2155,0x2155}, /* 2154 */ + {0x2156,0x2156},{0x2157,0x2157}, /* 2156 */ + {0x2158,0x2158},{0x2159,0x2159}, /* 2158 */ + {0x215A,0x215A},{0x215B,0x215B}, /* 215A */ + {0x215C,0x215C},{0x215D,0x215D}, /* 215C */ + {0x215E,0x215E},{0x215F,0x215F}, /* 215E */ + {0x2160,0x2170},{0x2161,0x2171}, /* 2160 */ + {0x2162,0x2172},{0x2163,0x2173}, /* 2162 */ + {0x2164,0x2174},{0x2165,0x2175}, /* 2164 */ + {0x2166,0x2176},{0x2167,0x2177}, /* 2166 */ + {0x2168,0x2178},{0x2169,0x2179}, /* 2168 */ + {0x216A,0x217A},{0x216B,0x217B}, /* 216A */ + {0x216C,0x217C},{0x216D,0x217D}, /* 216C */ + {0x216E,0x217E},{0x216F,0x217F}, /* 216E */ + {0x2160,0x2170},{0x2161,0x2171}, /* 2170 */ + {0x2162,0x2172},{0x2163,0x2173}, /* 2172 */ + {0x2164,0x2174},{0x2165,0x2175}, /* 2174 */ + {0x2166,0x2176},{0x2167,0x2177}, /* 2176 */ + {0x2168,0x2178},{0x2169,0x2179}, /* 2178 */ + {0x216A,0x217A},{0x216B,0x217B}, /* 217A */ + {0x216C,0x217C},{0x216D,0x217D}, /* 217C */ + {0x216E,0x217E},{0x216F,0x217F}, /* 217E */ + {0x2180,0x2180},{0x2181,0x2181}, /* 2180 */ + {0x2182,0x2182},{0x2183,0x2183}, /* 2182 */ + {0x2184,0x2184},{0x2185,0x2185}, /* 2184 */ + {0x2186,0x2186},{0x2187,0x2187}, /* 2186 */ + {0x2188,0x2188},{0x2189,0x2189}, /* 2188 */ + {0x218A,0x218A},{0x218B,0x218B}, /* 218A */ + {0x218C,0x218C},{0x218D,0x218D}, /* 218C */ + {0x218E,0x218E},{0x218F,0x218F}, /* 218E */ + {0x2190,0x2190},{0x2191,0x2191}, /* 2190 */ + {0x2192,0x2192},{0x2193,0x2193}, /* 2192 */ + {0x2194,0x2194},{0x2195,0x2195}, /* 2194 */ + {0x2196,0x2196},{0x2197,0x2197}, /* 2196 */ + {0x2198,0x2198},{0x2199,0x2199}, /* 2198 */ + {0x219A,0x219A},{0x219B,0x219B}, /* 219A */ + {0x219C,0x219C},{0x219D,0x219D}, /* 219C */ + {0x219E,0x219E},{0x219F,0x219F}, /* 219E */ + {0x21A0,0x21A0},{0x21A1,0x21A1}, /* 21A0 */ + {0x21A2,0x21A2},{0x21A3,0x21A3}, /* 21A2 */ + {0x21A4,0x21A4},{0x21A5,0x21A5}, /* 21A4 */ + {0x21A6,0x21A6},{0x21A7,0x21A7}, /* 21A6 */ + {0x21A8,0x21A8},{0x21A9,0x21A9}, /* 21A8 */ + {0x21AA,0x21AA},{0x21AB,0x21AB}, /* 21AA */ + {0x21AC,0x21AC},{0x21AD,0x21AD}, /* 21AC */ + {0x21AE,0x21AE},{0x21AF,0x21AF}, /* 21AE */ + {0x21B0,0x21B0},{0x21B1,0x21B1}, /* 21B0 */ + {0x21B2,0x21B2},{0x21B3,0x21B3}, /* 21B2 */ + {0x21B4,0x21B4},{0x21B5,0x21B5}, /* 21B4 */ + {0x21B6,0x21B6},{0x21B7,0x21B7}, /* 21B6 */ + {0x21B8,0x21B8},{0x21B9,0x21B9}, /* 21B8 */ + {0x21BA,0x21BA},{0x21BB,0x21BB}, /* 21BA */ + {0x21BC,0x21BC},{0x21BD,0x21BD}, /* 21BC */ + {0x21BE,0x21BE},{0x21BF,0x21BF}, /* 21BE */ + {0x21C0,0x21C0},{0x21C1,0x21C1}, /* 21C0 */ + {0x21C2,0x21C2},{0x21C3,0x21C3}, /* 21C2 */ + {0x21C4,0x21C4},{0x21C5,0x21C5}, /* 21C4 */ + {0x21C6,0x21C6},{0x21C7,0x21C7}, /* 21C6 */ + {0x21C8,0x21C8},{0x21C9,0x21C9}, /* 21C8 */ + {0x21CA,0x21CA},{0x21CB,0x21CB}, /* 21CA */ + {0x21CC,0x21CC},{0x21CD,0x21CD}, /* 21CC */ + {0x21CE,0x21CE},{0x21CF,0x21CF}, /* 21CE */ + {0x21D0,0x21D0},{0x21D1,0x21D1}, /* 21D0 */ + {0x21D2,0x21D2},{0x21D3,0x21D3}, /* 21D2 */ + {0x21D4,0x21D4},{0x21D5,0x21D5}, /* 21D4 */ + {0x21D6,0x21D6},{0x21D7,0x21D7}, /* 21D6 */ + {0x21D8,0x21D8},{0x21D9,0x21D9}, /* 21D8 */ + {0x21DA,0x21DA},{0x21DB,0x21DB}, /* 21DA */ + {0x21DC,0x21DC},{0x21DD,0x21DD}, /* 21DC */ + {0x21DE,0x21DE},{0x21DF,0x21DF}, /* 21DE */ + {0x21E0,0x21E0},{0x21E1,0x21E1}, /* 21E0 */ + {0x21E2,0x21E2},{0x21E3,0x21E3}, /* 21E2 */ + {0x21E4,0x21E4},{0x21E5,0x21E5}, /* 21E4 */ + {0x21E6,0x21E6},{0x21E7,0x21E7}, /* 21E6 */ + {0x21E8,0x21E8},{0x21E9,0x21E9}, /* 21E8 */ + {0x21EA,0x21EA},{0x21EB,0x21EB}, /* 21EA */ + {0x21EC,0x21EC},{0x21ED,0x21ED}, /* 21EC */ + {0x21EE,0x21EE},{0x21EF,0x21EF}, /* 21EE */ + {0x21F0,0x21F0},{0x21F1,0x21F1}, /* 21F0 */ + {0x21F2,0x21F2},{0x21F3,0x21F3}, /* 21F2 */ + {0x21F4,0x21F4},{0x21F5,0x21F5}, /* 21F4 */ + {0x21F6,0x21F6},{0x21F7,0x21F7}, /* 21F6 */ + {0x21F8,0x21F8},{0x21F9,0x21F9}, /* 21F8 */ + {0x21FA,0x21FA},{0x21FB,0x21FB}, /* 21FA */ + {0x21FC,0x21FC},{0x21FD,0x21FD}, /* 21FC */ + {0x21FE,0x21FE},{0x21FF,0x21FF} /* 21FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_page24[256]={ + {0x2400,0x2400},{0x2401,0x2401}, /* 2400 */ + {0x2402,0x2402},{0x2403,0x2403}, /* 2402 */ + {0x2404,0x2404},{0x2405,0x2405}, /* 2404 */ + {0x2406,0x2406},{0x2407,0x2407}, /* 2406 */ + {0x2408,0x2408},{0x2409,0x2409}, /* 2408 */ + {0x240A,0x240A},{0x240B,0x240B}, /* 240A */ + {0x240C,0x240C},{0x240D,0x240D}, /* 240C */ + {0x240E,0x240E},{0x240F,0x240F}, /* 240E */ + {0x2410,0x2410},{0x2411,0x2411}, /* 2410 */ + {0x2412,0x2412},{0x2413,0x2413}, /* 2412 */ + {0x2414,0x2414},{0x2415,0x2415}, /* 2414 */ + {0x2416,0x2416},{0x2417,0x2417}, /* 2416 */ + {0x2418,0x2418},{0x2419,0x2419}, /* 2418 */ + {0x241A,0x241A},{0x241B,0x241B}, /* 241A */ + {0x241C,0x241C},{0x241D,0x241D}, /* 241C */ + {0x241E,0x241E},{0x241F,0x241F}, /* 241E */ + {0x2420,0x2420},{0x2421,0x2421}, /* 2420 */ + {0x2422,0x2422},{0x2423,0x2423}, /* 2422 */ + {0x2424,0x2424},{0x2425,0x2425}, /* 2424 */ + {0x2426,0x2426},{0x2427,0x2427}, /* 2426 */ + {0x2428,0x2428},{0x2429,0x2429}, /* 2428 */ + {0x242A,0x242A},{0x242B,0x242B}, /* 242A */ + {0x242C,0x242C},{0x242D,0x242D}, /* 242C */ + {0x242E,0x242E},{0x242F,0x242F}, /* 242E */ + {0x2430,0x2430},{0x2431,0x2431}, /* 2430 */ + {0x2432,0x2432},{0x2433,0x2433}, /* 2432 */ + {0x2434,0x2434},{0x2435,0x2435}, /* 2434 */ + {0x2436,0x2436},{0x2437,0x2437}, /* 2436 */ + {0x2438,0x2438},{0x2439,0x2439}, /* 2438 */ + {0x243A,0x243A},{0x243B,0x243B}, /* 243A */ + {0x243C,0x243C},{0x243D,0x243D}, /* 243C */ + {0x243E,0x243E},{0x243F,0x243F}, /* 243E */ + {0x2440,0x2440},{0x2441,0x2441}, /* 2440 */ + {0x2442,0x2442},{0x2443,0x2443}, /* 2442 */ + {0x2444,0x2444},{0x2445,0x2445}, /* 2444 */ + {0x2446,0x2446},{0x2447,0x2447}, /* 2446 */ + {0x2448,0x2448},{0x2449,0x2449}, /* 2448 */ + {0x244A,0x244A},{0x244B,0x244B}, /* 244A */ + {0x244C,0x244C},{0x244D,0x244D}, /* 244C */ + {0x244E,0x244E},{0x244F,0x244F}, /* 244E */ + {0x2450,0x2450},{0x2451,0x2451}, /* 2450 */ + {0x2452,0x2452},{0x2453,0x2453}, /* 2452 */ + {0x2454,0x2454},{0x2455,0x2455}, /* 2454 */ + {0x2456,0x2456},{0x2457,0x2457}, /* 2456 */ + {0x2458,0x2458},{0x2459,0x2459}, /* 2458 */ + {0x245A,0x245A},{0x245B,0x245B}, /* 245A */ + {0x245C,0x245C},{0x245D,0x245D}, /* 245C */ + {0x245E,0x245E},{0x245F,0x245F}, /* 245E */ + {0x2460,0x2460},{0x2461,0x2461}, /* 2460 */ + {0x2462,0x2462},{0x2463,0x2463}, /* 2462 */ + {0x2464,0x2464},{0x2465,0x2465}, /* 2464 */ + {0x2466,0x2466},{0x2467,0x2467}, /* 2466 */ + {0x2468,0x2468},{0x2469,0x2469}, /* 2468 */ + {0x246A,0x246A},{0x246B,0x246B}, /* 246A */ + {0x246C,0x246C},{0x246D,0x246D}, /* 246C */ + {0x246E,0x246E},{0x246F,0x246F}, /* 246E */ + {0x2470,0x2470},{0x2471,0x2471}, /* 2470 */ + {0x2472,0x2472},{0x2473,0x2473}, /* 2472 */ + {0x2474,0x2474},{0x2475,0x2475}, /* 2474 */ + {0x2476,0x2476},{0x2477,0x2477}, /* 2476 */ + {0x2478,0x2478},{0x2479,0x2479}, /* 2478 */ + {0x247A,0x247A},{0x247B,0x247B}, /* 247A */ + {0x247C,0x247C},{0x247D,0x247D}, /* 247C */ + {0x247E,0x247E},{0x247F,0x247F}, /* 247E */ + {0x2480,0x2480},{0x2481,0x2481}, /* 2480 */ + {0x2482,0x2482},{0x2483,0x2483}, /* 2482 */ + {0x2484,0x2484},{0x2485,0x2485}, /* 2484 */ + {0x2486,0x2486},{0x2487,0x2487}, /* 2486 */ + {0x2488,0x2488},{0x2489,0x2489}, /* 2488 */ + {0x248A,0x248A},{0x248B,0x248B}, /* 248A */ + {0x248C,0x248C},{0x248D,0x248D}, /* 248C */ + {0x248E,0x248E},{0x248F,0x248F}, /* 248E */ + {0x2490,0x2490},{0x2491,0x2491}, /* 2490 */ + {0x2492,0x2492},{0x2493,0x2493}, /* 2492 */ + {0x2494,0x2494},{0x2495,0x2495}, /* 2494 */ + {0x2496,0x2496},{0x2497,0x2497}, /* 2496 */ + {0x2498,0x2498},{0x2499,0x2499}, /* 2498 */ + {0x249A,0x249A},{0x249B,0x249B}, /* 249A */ + {0x249C,0x249C},{0x249D,0x249D}, /* 249C */ + {0x249E,0x249E},{0x249F,0x249F}, /* 249E */ + {0x24A0,0x24A0},{0x24A1,0x24A1}, /* 24A0 */ + {0x24A2,0x24A2},{0x24A3,0x24A3}, /* 24A2 */ + {0x24A4,0x24A4},{0x24A5,0x24A5}, /* 24A4 */ + {0x24A6,0x24A6},{0x24A7,0x24A7}, /* 24A6 */ + {0x24A8,0x24A8},{0x24A9,0x24A9}, /* 24A8 */ + {0x24AA,0x24AA},{0x24AB,0x24AB}, /* 24AA */ + {0x24AC,0x24AC},{0x24AD,0x24AD}, /* 24AC */ + {0x24AE,0x24AE},{0x24AF,0x24AF}, /* 24AE */ + {0x24B0,0x24B0},{0x24B1,0x24B1}, /* 24B0 */ + {0x24B2,0x24B2},{0x24B3,0x24B3}, /* 24B2 */ + {0x24B4,0x24B4},{0x24B5,0x24B5}, /* 24B4 */ + {0x24B6,0x24D0},{0x24B7,0x24D1}, /* 24B6 */ + {0x24B8,0x24D2},{0x24B9,0x24D3}, /* 24B8 */ + {0x24BA,0x24D4},{0x24BB,0x24D5}, /* 24BA */ + {0x24BC,0x24D6},{0x24BD,0x24D7}, /* 24BC */ + {0x24BE,0x24D8},{0x24BF,0x24D9}, /* 24BE */ + {0x24C0,0x24DA},{0x24C1,0x24DB}, /* 24C0 */ + {0x24C2,0x24DC},{0x24C3,0x24DD}, /* 24C2 */ + {0x24C4,0x24DE},{0x24C5,0x24DF}, /* 24C4 */ + {0x24C6,0x24E0},{0x24C7,0x24E1}, /* 24C6 */ + {0x24C8,0x24E2},{0x24C9,0x24E3}, /* 24C8 */ + {0x24CA,0x24E4},{0x24CB,0x24E5}, /* 24CA */ + {0x24CC,0x24E6},{0x24CD,0x24E7}, /* 24CC */ + {0x24CE,0x24E8},{0x24CF,0x24E9}, /* 24CE */ + {0x24B6,0x24D0},{0x24B7,0x24D1}, /* 24D0 */ + {0x24B8,0x24D2},{0x24B9,0x24D3}, /* 24D2 */ + {0x24BA,0x24D4},{0x24BB,0x24D5}, /* 24D4 */ + {0x24BC,0x24D6},{0x24BD,0x24D7}, /* 24D6 */ + {0x24BE,0x24D8},{0x24BF,0x24D9}, /* 24D8 */ + {0x24C0,0x24DA},{0x24C1,0x24DB}, /* 24DA */ + {0x24C2,0x24DC},{0x24C3,0x24DD}, /* 24DC */ + {0x24C4,0x24DE},{0x24C5,0x24DF}, /* 24DE */ + {0x24C6,0x24E0},{0x24C7,0x24E1}, /* 24E0 */ + {0x24C8,0x24E2},{0x24C9,0x24E3}, /* 24E2 */ + {0x24CA,0x24E4},{0x24CB,0x24E5}, /* 24E4 */ + {0x24CC,0x24E6},{0x24CD,0x24E7}, /* 24E6 */ + {0x24CE,0x24E8},{0x24CF,0x24E9}, /* 24E8 */ + {0x24EA,0x24EA},{0x24EB,0x24EB}, /* 24EA */ + {0x24EC,0x24EC},{0x24ED,0x24ED}, /* 24EC */ + {0x24EE,0x24EE},{0x24EF,0x24EF}, /* 24EE */ + {0x24F0,0x24F0},{0x24F1,0x24F1}, /* 24F0 */ + {0x24F2,0x24F2},{0x24F3,0x24F3}, /* 24F2 */ + {0x24F4,0x24F4},{0x24F5,0x24F5}, /* 24F4 */ + {0x24F6,0x24F6},{0x24F7,0x24F7}, /* 24F6 */ + {0x24F8,0x24F8},{0x24F9,0x24F9}, /* 24F8 */ + {0x24FA,0x24FA},{0x24FB,0x24FB}, /* 24FA */ + {0x24FC,0x24FC},{0x24FD,0x24FD}, /* 24FC */ + {0x24FE,0x24FE},{0x24FF,0x24FF} /* 24FE */ +}; + +static const MY_CASEFOLD_CHARACTER u300_casefold_pageFF[256]={ + {0xFF00,0xFF00},{0xFF01,0xFF01}, /* FF00 */ + {0xFF02,0xFF02},{0xFF03,0xFF03}, /* FF02 */ + {0xFF04,0xFF04},{0xFF05,0xFF05}, /* FF04 */ + {0xFF06,0xFF06},{0xFF07,0xFF07}, /* FF06 */ + {0xFF08,0xFF08},{0xFF09,0xFF09}, /* FF08 */ + {0xFF0A,0xFF0A},{0xFF0B,0xFF0B}, /* FF0A */ + {0xFF0C,0xFF0C},{0xFF0D,0xFF0D}, /* FF0C */ + {0xFF0E,0xFF0E},{0xFF0F,0xFF0F}, /* FF0E */ + {0xFF10,0xFF10},{0xFF11,0xFF11}, /* FF10 */ + {0xFF12,0xFF12},{0xFF13,0xFF13}, /* FF12 */ + {0xFF14,0xFF14},{0xFF15,0xFF15}, /* FF14 */ + {0xFF16,0xFF16},{0xFF17,0xFF17}, /* FF16 */ + {0xFF18,0xFF18},{0xFF19,0xFF19}, /* FF18 */ + {0xFF1A,0xFF1A},{0xFF1B,0xFF1B}, /* FF1A */ + {0xFF1C,0xFF1C},{0xFF1D,0xFF1D}, /* FF1C */ + {0xFF1E,0xFF1E},{0xFF1F,0xFF1F}, /* FF1E */ + {0xFF20,0xFF20},{0xFF21,0xFF41}, /* FF20 */ + {0xFF22,0xFF42},{0xFF23,0xFF43}, /* FF22 */ + {0xFF24,0xFF44},{0xFF25,0xFF45}, /* FF24 */ + {0xFF26,0xFF46},{0xFF27,0xFF47}, /* FF26 */ + {0xFF28,0xFF48},{0xFF29,0xFF49}, /* FF28 */ + {0xFF2A,0xFF4A},{0xFF2B,0xFF4B}, /* FF2A */ + {0xFF2C,0xFF4C},{0xFF2D,0xFF4D}, /* FF2C */ + {0xFF2E,0xFF4E},{0xFF2F,0xFF4F}, /* FF2E */ + {0xFF30,0xFF50},{0xFF31,0xFF51}, /* FF30 */ + {0xFF32,0xFF52},{0xFF33,0xFF53}, /* FF32 */ + {0xFF34,0xFF54},{0xFF35,0xFF55}, /* FF34 */ + {0xFF36,0xFF56},{0xFF37,0xFF57}, /* FF36 */ + {0xFF38,0xFF58},{0xFF39,0xFF59}, /* FF38 */ + {0xFF3A,0xFF5A},{0xFF3B,0xFF3B}, /* FF3A */ + {0xFF3C,0xFF3C},{0xFF3D,0xFF3D}, /* FF3C */ + {0xFF3E,0xFF3E},{0xFF3F,0xFF3F}, /* FF3E */ + {0xFF40,0xFF40},{0xFF21,0xFF41}, /* FF40 */ + {0xFF22,0xFF42},{0xFF23,0xFF43}, /* FF42 */ + {0xFF24,0xFF44},{0xFF25,0xFF45}, /* FF44 */ + {0xFF26,0xFF46},{0xFF27,0xFF47}, /* FF46 */ + {0xFF28,0xFF48},{0xFF29,0xFF49}, /* FF48 */ + {0xFF2A,0xFF4A},{0xFF2B,0xFF4B}, /* FF4A */ + {0xFF2C,0xFF4C},{0xFF2D,0xFF4D}, /* FF4C */ + {0xFF2E,0xFF4E},{0xFF2F,0xFF4F}, /* FF4E */ + {0xFF30,0xFF50},{0xFF31,0xFF51}, /* FF50 */ + {0xFF32,0xFF52},{0xFF33,0xFF53}, /* FF52 */ + {0xFF34,0xFF54},{0xFF35,0xFF55}, /* FF54 */ + {0xFF36,0xFF56},{0xFF37,0xFF57}, /* FF56 */ + {0xFF38,0xFF58},{0xFF39,0xFF59}, /* FF58 */ + {0xFF3A,0xFF5A},{0xFF5B,0xFF5B}, /* FF5A */ + {0xFF5C,0xFF5C},{0xFF5D,0xFF5D}, /* FF5C */ + {0xFF5E,0xFF5E},{0xFF5F,0xFF5F}, /* FF5E */ + {0xFF60,0xFF60},{0xFF61,0xFF61}, /* FF60 */ + {0xFF62,0xFF62},{0xFF63,0xFF63}, /* FF62 */ + {0xFF64,0xFF64},{0xFF65,0xFF65}, /* FF64 */ + {0xFF66,0xFF66},{0xFF67,0xFF67}, /* FF66 */ + {0xFF68,0xFF68},{0xFF69,0xFF69}, /* FF68 */ + {0xFF6A,0xFF6A},{0xFF6B,0xFF6B}, /* FF6A */ + {0xFF6C,0xFF6C},{0xFF6D,0xFF6D}, /* FF6C */ + {0xFF6E,0xFF6E},{0xFF6F,0xFF6F}, /* FF6E */ + {0xFF70,0xFF70},{0xFF71,0xFF71}, /* FF70 */ + {0xFF72,0xFF72},{0xFF73,0xFF73}, /* FF72 */ + {0xFF74,0xFF74},{0xFF75,0xFF75}, /* FF74 */ + {0xFF76,0xFF76},{0xFF77,0xFF77}, /* FF76 */ + {0xFF78,0xFF78},{0xFF79,0xFF79}, /* FF78 */ + {0xFF7A,0xFF7A},{0xFF7B,0xFF7B}, /* FF7A */ + {0xFF7C,0xFF7C},{0xFF7D,0xFF7D}, /* FF7C */ + {0xFF7E,0xFF7E},{0xFF7F,0xFF7F}, /* FF7E */ + {0xFF80,0xFF80},{0xFF81,0xFF81}, /* FF80 */ + {0xFF82,0xFF82},{0xFF83,0xFF83}, /* FF82 */ + {0xFF84,0xFF84},{0xFF85,0xFF85}, /* FF84 */ + {0xFF86,0xFF86},{0xFF87,0xFF87}, /* FF86 */ + {0xFF88,0xFF88},{0xFF89,0xFF89}, /* FF88 */ + {0xFF8A,0xFF8A},{0xFF8B,0xFF8B}, /* FF8A */ + {0xFF8C,0xFF8C},{0xFF8D,0xFF8D}, /* FF8C */ + {0xFF8E,0xFF8E},{0xFF8F,0xFF8F}, /* FF8E */ + {0xFF90,0xFF90},{0xFF91,0xFF91}, /* FF90 */ + {0xFF92,0xFF92},{0xFF93,0xFF93}, /* FF92 */ + {0xFF94,0xFF94},{0xFF95,0xFF95}, /* FF94 */ + {0xFF96,0xFF96},{0xFF97,0xFF97}, /* FF96 */ + {0xFF98,0xFF98},{0xFF99,0xFF99}, /* FF98 */ + {0xFF9A,0xFF9A},{0xFF9B,0xFF9B}, /* FF9A */ + {0xFF9C,0xFF9C},{0xFF9D,0xFF9D}, /* FF9C */ + {0xFF9E,0xFF9E},{0xFF9F,0xFF9F}, /* FF9E */ + {0xFFA0,0xFFA0},{0xFFA1,0xFFA1}, /* FFA0 */ + {0xFFA2,0xFFA2},{0xFFA3,0xFFA3}, /* FFA2 */ + {0xFFA4,0xFFA4},{0xFFA5,0xFFA5}, /* FFA4 */ + {0xFFA6,0xFFA6},{0xFFA7,0xFFA7}, /* FFA6 */ + {0xFFA8,0xFFA8},{0xFFA9,0xFFA9}, /* FFA8 */ + {0xFFAA,0xFFAA},{0xFFAB,0xFFAB}, /* FFAA */ + {0xFFAC,0xFFAC},{0xFFAD,0xFFAD}, /* FFAC */ + {0xFFAE,0xFFAE},{0xFFAF,0xFFAF}, /* FFAE */ + {0xFFB0,0xFFB0},{0xFFB1,0xFFB1}, /* FFB0 */ + {0xFFB2,0xFFB2},{0xFFB3,0xFFB3}, /* FFB2 */ + {0xFFB4,0xFFB4},{0xFFB5,0xFFB5}, /* FFB4 */ + {0xFFB6,0xFFB6},{0xFFB7,0xFFB7}, /* FFB6 */ + {0xFFB8,0xFFB8},{0xFFB9,0xFFB9}, /* FFB8 */ + {0xFFBA,0xFFBA},{0xFFBB,0xFFBB}, /* FFBA */ + {0xFFBC,0xFFBC},{0xFFBD,0xFFBD}, /* FFBC */ + {0xFFBE,0xFFBE},{0xFFBF,0xFFBF}, /* FFBE */ + {0xFFC0,0xFFC0},{0xFFC1,0xFFC1}, /* FFC0 */ + {0xFFC2,0xFFC2},{0xFFC3,0xFFC3}, /* FFC2 */ + {0xFFC4,0xFFC4},{0xFFC5,0xFFC5}, /* FFC4 */ + {0xFFC6,0xFFC6},{0xFFC7,0xFFC7}, /* FFC6 */ + {0xFFC8,0xFFC8},{0xFFC9,0xFFC9}, /* FFC8 */ + {0xFFCA,0xFFCA},{0xFFCB,0xFFCB}, /* FFCA */ + {0xFFCC,0xFFCC},{0xFFCD,0xFFCD}, /* FFCC */ + {0xFFCE,0xFFCE},{0xFFCF,0xFFCF}, /* FFCE */ + {0xFFD0,0xFFD0},{0xFFD1,0xFFD1}, /* FFD0 */ + {0xFFD2,0xFFD2},{0xFFD3,0xFFD3}, /* FFD2 */ + {0xFFD4,0xFFD4},{0xFFD5,0xFFD5}, /* FFD4 */ + {0xFFD6,0xFFD6},{0xFFD7,0xFFD7}, /* FFD6 */ + {0xFFD8,0xFFD8},{0xFFD9,0xFFD9}, /* FFD8 */ + {0xFFDA,0xFFDA},{0xFFDB,0xFFDB}, /* FFDA */ + {0xFFDC,0xFFDC},{0xFFDD,0xFFDD}, /* FFDC */ + {0xFFDE,0xFFDE},{0xFFDF,0xFFDF}, /* FFDE */ + {0xFFE0,0xFFE0},{0xFFE1,0xFFE1}, /* FFE0 */ + {0xFFE2,0xFFE2},{0xFFE3,0xFFE3}, /* FFE2 */ + {0xFFE4,0xFFE4},{0xFFE5,0xFFE5}, /* FFE4 */ + {0xFFE6,0xFFE6},{0xFFE7,0xFFE7}, /* FFE6 */ + {0xFFE8,0xFFE8},{0xFFE9,0xFFE9}, /* FFE8 */ + {0xFFEA,0xFFEA},{0xFFEB,0xFFEB}, /* FFEA */ + {0xFFEC,0xFFEC},{0xFFED,0xFFED}, /* FFEC */ + {0xFFEE,0xFFEE},{0xFFEF,0xFFEF}, /* FFEE */ + {0xFFF0,0xFFF0},{0xFFF1,0xFFF1}, /* FFF0 */ + {0xFFF2,0xFFF2},{0xFFF3,0xFFF3}, /* FFF2 */ + {0xFFF4,0xFFF4},{0xFFF5,0xFFF5}, /* FFF4 */ + {0xFFF6,0xFFF6},{0xFFF7,0xFFF7}, /* FFF6 */ + {0xFFF8,0xFFF8},{0xFFF9,0xFFF9}, /* FFF8 */ + {0xFFFA,0xFFFA},{0xFFFB,0xFFFB}, /* FFFA */ + {0xFFFC,0xFFFC},{0xFFFD,0xFFFD}, /* FFFC */ + {0xFFFE,0xFFFE},{0xFFFF,0xFFFF} /* FFFE */ +}; + +const MY_CASEFOLD_CHARACTER * my_u300_casefold_index[256]={ + u300_casefold_page00, u300_casefold_page01, u300_casefold_page02, u300_casefold_page03, u300_casefold_page04, u300_casefold_page05, u300_casefold_page06, u300_casefold_page07, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, u300_casefold_page1E, u300_casefold_page1F, + NULL, u300_casefold_page21, NULL, NULL, u300_casefold_page24, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, u300_casefold_pageFF +}; diff --git a/strings/ctype-unicode300-general_ci.h b/strings/ctype-unicode300-general_ci.h new file mode 100644 index 00000000000..fd8cd71bf1a --- /dev/null +++ b/strings/ctype-unicode300-general_ci.h @@ -0,0 +1,610 @@ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. + Copyright (c) 2009, 2023, MariaDB Corporation. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA +*/ + +/* + Generated by: + ./unidata-dump \ + --mode=weight_general_ci \ + --max-char=0xFFFF \ + UnicodeData-3.0.0.txt + +*/ +const uint16 weight_general_ci_page00[256]={ + 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, /* 0000 */ + 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F, /* 0008 */ + 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017, /* 0010 */ + 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F, /* 0018 */ + 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027, /* 0020 */ + 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F, /* 0028 */ + 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037, /* 0030 */ + 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F, /* 0038 */ + 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047, /* 0040 */ + 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F, /* 0048 */ + 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057, /* 0050 */ + 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F, /* 0058 */ + 0x0060,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047, /* 0060 */ + 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F, /* 0068 */ + 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057, /* 0070 */ + 0x0058,0x0059,0x005A,0x007B,0x007C,0x007D,0x007E,0x007F, /* 0078 */ + 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087, /* 0080 */ + 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F, /* 0088 */ + 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097, /* 0090 */ + 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F, /* 0098 */ + 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7, /* 00A0 */ + 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF, /* 00A8 */ + 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x039C,0x00B6,0x00B7, /* 00B0 */ + 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF, /* 00B8 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x00C6,0x0043, /* 00C0 */ + 0x0045,0x0045,0x0045,0x0045,0x0049,0x0049,0x0049,0x0049, /* 00C8 */ + 0x00D0,0x004E,0x004F,0x004F,0x004F,0x004F,0x004F,0x00D7, /* 00D0 */ + 0x00D8,0x0055,0x0055,0x0055,0x0055,0x0059,0x00DE,0x0053, /* 00D8 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x00C6,0x0043, /* 00E0 */ + 0x0045,0x0045,0x0045,0x0045,0x0049,0x0049,0x0049,0x0049, /* 00E8 */ + 0x00D0,0x004E,0x004F,0x004F,0x004F,0x004F,0x004F,0x00F7, /* 00F0 */ + 0x00D8,0x0055,0x0055,0x0055,0x0055,0x0059,0x00DE,0x0059 /* 00F8 */ +}; + +static const uint16 weight_general_ci_page01[256]={ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0043,0x0043, /* 0100 */ + 0x0043,0x0043,0x0043,0x0043,0x0043,0x0043,0x0044,0x0044, /* 0108 */ + 0x0110,0x0110,0x0045,0x0045,0x0045,0x0045,0x0045,0x0045, /* 0110 */ + 0x0045,0x0045,0x0045,0x0045,0x0047,0x0047,0x0047,0x0047, /* 0118 */ + 0x0047,0x0047,0x0047,0x0047,0x0048,0x0048,0x0126,0x0126, /* 0120 */ + 0x0049,0x0049,0x0049,0x0049,0x0049,0x0049,0x0049,0x0049, /* 0128 */ + 0x0049,0x0049,0x0132,0x0132,0x004A,0x004A,0x004B,0x004B, /* 0130 */ + 0x0138,0x004C,0x004C,0x004C,0x004C,0x004C,0x004C,0x013F, /* 0138 */ + 0x013F,0x0141,0x0141,0x004E,0x004E,0x004E,0x004E,0x004E, /* 0140 */ + 0x004E,0x0149,0x014A,0x014A,0x004F,0x004F,0x004F,0x004F, /* 0148 */ + 0x004F,0x004F,0x0152,0x0152,0x0052,0x0052,0x0052,0x0052, /* 0150 */ + 0x0052,0x0052,0x0053,0x0053,0x0053,0x0053,0x0053,0x0053, /* 0158 */ + 0x0053,0x0053,0x0054,0x0054,0x0054,0x0054,0x0166,0x0166, /* 0160 */ + 0x0055,0x0055,0x0055,0x0055,0x0055,0x0055,0x0055,0x0055, /* 0168 */ + 0x0055,0x0055,0x0055,0x0055,0x0057,0x0057,0x0059,0x0059, /* 0170 */ + 0x0059,0x005A,0x005A,0x005A,0x005A,0x005A,0x005A,0x0053, /* 0178 */ + 0x0180,0x0181,0x0182,0x0182,0x0184,0x0184,0x0186,0x0187, /* 0180 */ + 0x0187,0x0189,0x018A,0x018B,0x018B,0x018D,0x018E,0x018F, /* 0188 */ + 0x0190,0x0191,0x0191,0x0193,0x0194,0x01F6,0x0196,0x0197, /* 0190 */ + 0x0198,0x0198,0x019A,0x019B,0x019C,0x019D,0x019E,0x019F, /* 0198 */ + 0x004F,0x004F,0x01A2,0x01A2,0x01A4,0x01A4,0x01A6,0x01A7, /* 01A0 */ + 0x01A7,0x01A9,0x01AA,0x01AB,0x01AC,0x01AC,0x01AE,0x0055, /* 01A8 */ + 0x0055,0x01B1,0x01B2,0x01B3,0x01B3,0x01B5,0x01B5,0x01B7, /* 01B0 */ + 0x01B8,0x01B8,0x01BA,0x01BB,0x01BC,0x01BC,0x01BE,0x01F7, /* 01B8 */ + 0x01C0,0x01C1,0x01C2,0x01C3,0x01C4,0x01C4,0x01C4,0x01C7, /* 01C0 */ + 0x01C7,0x01C7,0x01CA,0x01CA,0x01CA,0x0041,0x0041,0x0049, /* 01C8 */ + 0x0049,0x004F,0x004F,0x0055,0x0055,0x0055,0x0055,0x0055, /* 01D0 */ + 0x0055,0x0055,0x0055,0x0055,0x0055,0x018E,0x0041,0x0041, /* 01D8 */ + 0x0041,0x0041,0x00C6,0x00C6,0x01E4,0x01E4,0x0047,0x0047, /* 01E0 */ + 0x004B,0x004B,0x004F,0x004F,0x004F,0x004F,0x01B7,0x01B7, /* 01E8 */ + 0x004A,0x01F1,0x01F1,0x01F1,0x0047,0x0047,0x01F6,0x01F7, /* 01F0 */ + 0x004E,0x004E,0x0041,0x0041,0x00C6,0x00C6,0x00D8,0x00D8 /* 01F8 */ +}; + +static const uint16 weight_general_ci_page02[256]={ + 0x0041,0x0041,0x0041,0x0041,0x0045,0x0045,0x0045,0x0045, /* 0200 */ + 0x0049,0x0049,0x0049,0x0049,0x004F,0x004F,0x004F,0x004F, /* 0208 */ + 0x0052,0x0052,0x0052,0x0052,0x0055,0x0055,0x0055,0x0055, /* 0210 */ + 0x0053,0x0053,0x0054,0x0054,0x021C,0x021C,0x0048,0x0048, /* 0218 */ + 0x0220,0x0221,0x0222,0x0222,0x0224,0x0224,0x0041,0x0041, /* 0220 */ + 0x0045,0x0045,0x004F,0x004F,0x004F,0x004F,0x004F,0x004F, /* 0228 */ + 0x004F,0x004F,0x0059,0x0059,0x0234,0x0235,0x0236,0x0237, /* 0230 */ + 0x0238,0x0239,0x023A,0x023B,0x023C,0x023D,0x023E,0x023F, /* 0238 */ + 0x0240,0x0241,0x0242,0x0243,0x0244,0x0245,0x0246,0x0247, /* 0240 */ + 0x0248,0x0249,0x024A,0x024B,0x024C,0x024D,0x024E,0x024F, /* 0248 */ + 0x0250,0x0251,0x0252,0x0181,0x0186,0x0255,0x0189,0x018A, /* 0250 */ + 0x0258,0x018F,0x025A,0x0190,0x025C,0x025D,0x025E,0x025F, /* 0258 */ + 0x0193,0x0261,0x0262,0x0194,0x0264,0x0265,0x0266,0x0267, /* 0260 */ + 0x0197,0x0196,0x026A,0x026B,0x026C,0x026D,0x026E,0x019C, /* 0268 */ + 0x0270,0x0271,0x019D,0x0273,0x0274,0x019F,0x0276,0x0277, /* 0270 */ + 0x0278,0x0279,0x027A,0x027B,0x027C,0x027D,0x027E,0x027F, /* 0278 */ + 0x01A6,0x0281,0x0282,0x01A9,0x0284,0x0285,0x0286,0x0287, /* 0280 */ + 0x01AE,0x0289,0x01B1,0x01B2,0x028C,0x028D,0x028E,0x028F, /* 0288 */ + 0x0290,0x0291,0x01B7,0x0293,0x0294,0x0295,0x0296,0x0297, /* 0290 */ + 0x0298,0x0299,0x029A,0x029B,0x029C,0x029D,0x029E,0x029F, /* 0298 */ + 0x02A0,0x02A1,0x02A2,0x02A3,0x02A4,0x02A5,0x02A6,0x02A7, /* 02A0 */ + 0x02A8,0x02A9,0x02AA,0x02AB,0x02AC,0x02AD,0x02AE,0x02AF, /* 02A8 */ + 0x02B0,0x02B1,0x02B2,0x02B3,0x02B4,0x02B5,0x02B6,0x02B7, /* 02B0 */ + 0x02B8,0x02B9,0x02BA,0x02BB,0x02BC,0x02BD,0x02BE,0x02BF, /* 02B8 */ + 0x02C0,0x02C1,0x02C2,0x02C3,0x02C4,0x02C5,0x02C6,0x02C7, /* 02C0 */ + 0x02C8,0x02C9,0x02CA,0x02CB,0x02CC,0x02CD,0x02CE,0x02CF, /* 02C8 */ + 0x02D0,0x02D1,0x02D2,0x02D3,0x02D4,0x02D5,0x02D6,0x02D7, /* 02D0 */ + 0x02D8,0x02D9,0x02DA,0x02DB,0x02DC,0x02DD,0x02DE,0x02DF, /* 02D8 */ + 0x02E0,0x02E1,0x02E2,0x02E3,0x02E4,0x02E5,0x02E6,0x02E7, /* 02E0 */ + 0x02E8,0x02E9,0x02EA,0x02EB,0x02EC,0x02ED,0x02EE,0x02EF, /* 02E8 */ + 0x02F0,0x02F1,0x02F2,0x02F3,0x02F4,0x02F5,0x02F6,0x02F7, /* 02F0 */ + 0x02F8,0x02F9,0x02FA,0x02FB,0x02FC,0x02FD,0x02FE,0x02FF /* 02F8 */ +}; + +static const uint16 weight_general_ci_page03[256]={ + 0x0300,0x0301,0x0302,0x0303,0x0304,0x0305,0x0306,0x0307, /* 0300 */ + 0x0308,0x0309,0x030A,0x030B,0x030C,0x030D,0x030E,0x030F, /* 0308 */ + 0x0310,0x0311,0x0312,0x0313,0x0314,0x0315,0x0316,0x0317, /* 0310 */ + 0x0318,0x0319,0x031A,0x031B,0x031C,0x031D,0x031E,0x031F, /* 0318 */ + 0x0320,0x0321,0x0322,0x0323,0x0324,0x0325,0x0326,0x0327, /* 0320 */ + 0x0328,0x0329,0x032A,0x032B,0x032C,0x032D,0x032E,0x032F, /* 0328 */ + 0x0330,0x0331,0x0332,0x0333,0x0334,0x0335,0x0336,0x0337, /* 0330 */ + 0x0338,0x0339,0x033A,0x033B,0x033C,0x033D,0x033E,0x033F, /* 0338 */ + 0x0340,0x0341,0x0342,0x0343,0x0344,0x0399,0x0346,0x0347, /* 0340 */ + 0x0348,0x0349,0x034A,0x034B,0x034C,0x034D,0x034E,0x034F, /* 0348 */ + 0x0350,0x0351,0x0352,0x0353,0x0354,0x0355,0x0356,0x0357, /* 0350 */ + 0x0358,0x0359,0x035A,0x035B,0x035C,0x035D,0x035E,0x035F, /* 0358 */ + 0x0360,0x0361,0x0362,0x0363,0x0364,0x0365,0x0366,0x0367, /* 0360 */ + 0x0368,0x0369,0x036A,0x036B,0x036C,0x036D,0x036E,0x036F, /* 0368 */ + 0x0370,0x0371,0x0372,0x0373,0x0374,0x0375,0x0376,0x0377, /* 0370 */ + 0x0378,0x0379,0x037A,0x037B,0x037C,0x037D,0x037E,0x037F, /* 0378 */ + 0x0380,0x0381,0x0382,0x0383,0x0384,0x0385,0x0391,0x0387, /* 0380 */ + 0x0395,0x0397,0x0399,0x038B,0x039F,0x038D,0x03A5,0x03A9, /* 0388 */ + 0x0399,0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397, /* 0390 */ + 0x0398,0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F, /* 0398 */ + 0x03A0,0x03A1,0x03A2,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7, /* 03A0 */ + 0x03A8,0x03A9,0x0399,0x03A5,0x0391,0x0395,0x0397,0x0399, /* 03A8 */ + 0x03A5,0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397, /* 03B0 */ + 0x0398,0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F, /* 03B8 */ + 0x03A0,0x03A1,0x03A3,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7, /* 03C0 */ + 0x03A8,0x03A9,0x0399,0x03A5,0x039F,0x03A5,0x03A9,0x03CF, /* 03C8 */ + 0x0392,0x0398,0x03D2,0x03D2,0x03D2,0x03A6,0x03A0,0x03D7, /* 03D0 */ + 0x03D8,0x03D9,0x03DA,0x03DA,0x03DC,0x03DC,0x03DE,0x03DE, /* 03D8 */ + 0x03E0,0x03E0,0x03E2,0x03E2,0x03E4,0x03E4,0x03E6,0x03E6, /* 03E0 */ + 0x03E8,0x03E8,0x03EA,0x03EA,0x03EC,0x03EC,0x03EE,0x03EE, /* 03E8 */ + 0x039A,0x03A1,0x03A3,0x03F3,0x03F4,0x03F5,0x03F6,0x03F7, /* 03F0 */ + 0x03F8,0x03F9,0x03FA,0x03FB,0x03FC,0x03FD,0x03FE,0x03FF /* 03F8 */ +}; + +static const uint16 weight_general_ci_page04[256]={ + 0x0415,0x0415,0x0402,0x0413,0x0404,0x0405,0x0406,0x0406, /* 0400 */ + 0x0408,0x0409,0x040A,0x040B,0x041A,0x0418,0x0423,0x040F, /* 0408 */ + 0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417, /* 0410 */ + 0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,0x041F, /* 0418 */ + 0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427, /* 0420 */ + 0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F, /* 0428 */ + 0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417, /* 0430 */ + 0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,0x041F, /* 0438 */ + 0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427, /* 0440 */ + 0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F, /* 0448 */ + 0x0415,0x0415,0x0402,0x0413,0x0404,0x0405,0x0406,0x0406, /* 0450 */ + 0x0408,0x0409,0x040A,0x040B,0x041A,0x0418,0x0423,0x040F, /* 0458 */ + 0x0460,0x0460,0x0462,0x0462,0x0464,0x0464,0x0466,0x0466, /* 0460 */ + 0x0468,0x0468,0x046A,0x046A,0x046C,0x046C,0x046E,0x046E, /* 0468 */ + 0x0470,0x0470,0x0472,0x0472,0x0474,0x0474,0x0474,0x0474, /* 0470 */ + 0x0478,0x0478,0x047A,0x047A,0x047C,0x047C,0x047E,0x047E, /* 0478 */ + 0x0480,0x0480,0x0482,0x0483,0x0484,0x0485,0x0486,0x0487, /* 0480 */ + 0x0488,0x0489,0x048A,0x048B,0x048C,0x048C,0x048E,0x048E, /* 0488 */ + 0x0490,0x0490,0x0492,0x0492,0x0494,0x0494,0x0496,0x0496, /* 0490 */ + 0x0498,0x0498,0x049A,0x049A,0x049C,0x049C,0x049E,0x049E, /* 0498 */ + 0x04A0,0x04A0,0x04A2,0x04A2,0x04A4,0x04A4,0x04A6,0x04A6, /* 04A0 */ + 0x04A8,0x04A8,0x04AA,0x04AA,0x04AC,0x04AC,0x04AE,0x04AE, /* 04A8 */ + 0x04B0,0x04B0,0x04B2,0x04B2,0x04B4,0x04B4,0x04B6,0x04B6, /* 04B0 */ + 0x04B8,0x04B8,0x04BA,0x04BA,0x04BC,0x04BC,0x04BE,0x04BE, /* 04B8 */ + 0x04C0,0x0416,0x0416,0x04C3,0x04C3,0x04C5,0x04C6,0x04C7, /* 04C0 */ + 0x04C7,0x04C9,0x04CA,0x04CB,0x04CB,0x04CD,0x04CE,0x04CF, /* 04C8 */ + 0x0410,0x0410,0x0410,0x0410,0x04D4,0x04D4,0x0415,0x0415, /* 04D0 */ + 0x04D8,0x04D8,0x04D8,0x04D8,0x0416,0x0416,0x0417,0x0417, /* 04D8 */ + 0x04E0,0x04E0,0x0418,0x0418,0x0418,0x0418,0x041E,0x041E, /* 04E0 */ + 0x04E8,0x04E8,0x04E8,0x04E8,0x042D,0x042D,0x0423,0x0423, /* 04E8 */ + 0x0423,0x0423,0x0423,0x0423,0x0427,0x0427,0x04F6,0x04F7, /* 04F0 */ + 0x042B,0x042B,0x04FA,0x04FB,0x04FC,0x04FD,0x04FE,0x04FF /* 04F8 */ +}; + +static const uint16 weight_general_ci_page05[256]={ + 0x0500,0x0501,0x0502,0x0503,0x0504,0x0505,0x0506,0x0507, /* 0500 */ + 0x0508,0x0509,0x050A,0x050B,0x050C,0x050D,0x050E,0x050F, /* 0508 */ + 0x0510,0x0511,0x0512,0x0513,0x0514,0x0515,0x0516,0x0517, /* 0510 */ + 0x0518,0x0519,0x051A,0x051B,0x051C,0x051D,0x051E,0x051F, /* 0518 */ + 0x0520,0x0521,0x0522,0x0523,0x0524,0x0525,0x0526,0x0527, /* 0520 */ + 0x0528,0x0529,0x052A,0x052B,0x052C,0x052D,0x052E,0x052F, /* 0528 */ + 0x0530,0x0531,0x0532,0x0533,0x0534,0x0535,0x0536,0x0537, /* 0530 */ + 0x0538,0x0539,0x053A,0x053B,0x053C,0x053D,0x053E,0x053F, /* 0538 */ + 0x0540,0x0541,0x0542,0x0543,0x0544,0x0545,0x0546,0x0547, /* 0540 */ + 0x0548,0x0549,0x054A,0x054B,0x054C,0x054D,0x054E,0x054F, /* 0548 */ + 0x0550,0x0551,0x0552,0x0553,0x0554,0x0555,0x0556,0x0557, /* 0550 */ + 0x0558,0x0559,0x055A,0x055B,0x055C,0x055D,0x055E,0x055F, /* 0558 */ + 0x0560,0x0531,0x0532,0x0533,0x0534,0x0535,0x0536,0x0537, /* 0560 */ + 0x0538,0x0539,0x053A,0x053B,0x053C,0x053D,0x053E,0x053F, /* 0568 */ + 0x0540,0x0541,0x0542,0x0543,0x0544,0x0545,0x0546,0x0547, /* 0570 */ + 0x0548,0x0549,0x054A,0x054B,0x054C,0x054D,0x054E,0x054F, /* 0578 */ + 0x0550,0x0551,0x0552,0x0553,0x0554,0x0555,0x0556,0x0587, /* 0580 */ + 0x0588,0x0589,0x058A,0x058B,0x058C,0x058D,0x058E,0x058F, /* 0588 */ + 0x0590,0x0591,0x0592,0x0593,0x0594,0x0595,0x0596,0x0597, /* 0590 */ + 0x0598,0x0599,0x059A,0x059B,0x059C,0x059D,0x059E,0x059F, /* 0598 */ + 0x05A0,0x05A1,0x05A2,0x05A3,0x05A4,0x05A5,0x05A6,0x05A7, /* 05A0 */ + 0x05A8,0x05A9,0x05AA,0x05AB,0x05AC,0x05AD,0x05AE,0x05AF, /* 05A8 */ + 0x05B0,0x05B1,0x05B2,0x05B3,0x05B4,0x05B5,0x05B6,0x05B7, /* 05B0 */ + 0x05B8,0x05B9,0x05BA,0x05BB,0x05BC,0x05BD,0x05BE,0x05BF, /* 05B8 */ + 0x05C0,0x05C1,0x05C2,0x05C3,0x05C4,0x05C5,0x05C6,0x05C7, /* 05C0 */ + 0x05C8,0x05C9,0x05CA,0x05CB,0x05CC,0x05CD,0x05CE,0x05CF, /* 05C8 */ + 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7, /* 05D0 */ + 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF, /* 05D8 */ + 0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7, /* 05E0 */ + 0x05E8,0x05E9,0x05EA,0x05EB,0x05EC,0x05ED,0x05EE,0x05EF, /* 05E8 */ + 0x05F0,0x05F1,0x05F2,0x05F3,0x05F4,0x05F5,0x05F6,0x05F7, /* 05F0 */ + 0x05F8,0x05F9,0x05FA,0x05FB,0x05FC,0x05FD,0x05FE,0x05FF /* 05F8 */ +}; + +static const uint16 weight_general_ci_page06[256]={ /* This page is dummy */ + 0x0600,0x0601,0x0602,0x0603,0x0604,0x0605,0x0606,0x0607, /* 0600 */ + 0x0608,0x0609,0x060A,0x060B,0x060C,0x060D,0x060E,0x060F, /* 0608 */ + 0x0610,0x0611,0x0612,0x0613,0x0614,0x0615,0x0616,0x0617, /* 0610 */ + 0x0618,0x0619,0x061A,0x061B,0x061C,0x061D,0x061E,0x061F, /* 0618 */ + 0x0620,0x0621,0x0622,0x0623,0x0624,0x0625,0x0626,0x0627, /* 0620 */ + 0x0628,0x0629,0x062A,0x062B,0x062C,0x062D,0x062E,0x062F, /* 0628 */ + 0x0630,0x0631,0x0632,0x0633,0x0634,0x0635,0x0636,0x0637, /* 0630 */ + 0x0638,0x0639,0x063A,0x063B,0x063C,0x063D,0x063E,0x063F, /* 0638 */ + 0x0640,0x0641,0x0642,0x0643,0x0644,0x0645,0x0646,0x0647, /* 0640 */ + 0x0648,0x0649,0x064A,0x064B,0x064C,0x064D,0x064E,0x064F, /* 0648 */ + 0x0650,0x0651,0x0652,0x0653,0x0654,0x0655,0x0656,0x0657, /* 0650 */ + 0x0658,0x0659,0x065A,0x065B,0x065C,0x065D,0x065E,0x065F, /* 0658 */ + 0x0660,0x0661,0x0662,0x0663,0x0664,0x0665,0x0666,0x0667, /* 0660 */ + 0x0668,0x0669,0x066A,0x066B,0x066C,0x066D,0x066E,0x066F, /* 0668 */ + 0x0670,0x0671,0x0672,0x0673,0x0674,0x0675,0x0676,0x0677, /* 0670 */ + 0x0678,0x0679,0x067A,0x067B,0x067C,0x067D,0x067E,0x067F, /* 0678 */ + 0x0680,0x0681,0x0682,0x0683,0x0684,0x0685,0x0686,0x0687, /* 0680 */ + 0x0688,0x0689,0x068A,0x068B,0x068C,0x068D,0x068E,0x068F, /* 0688 */ + 0x0690,0x0691,0x0692,0x0693,0x0694,0x0695,0x0696,0x0697, /* 0690 */ + 0x0698,0x0699,0x069A,0x069B,0x069C,0x069D,0x069E,0x069F, /* 0698 */ + 0x06A0,0x06A1,0x06A2,0x06A3,0x06A4,0x06A5,0x06A6,0x06A7, /* 06A0 */ + 0x06A8,0x06A9,0x06AA,0x06AB,0x06AC,0x06AD,0x06AE,0x06AF, /* 06A8 */ + 0x06B0,0x06B1,0x06B2,0x06B3,0x06B4,0x06B5,0x06B6,0x06B7, /* 06B0 */ + 0x06B8,0x06B9,0x06BA,0x06BB,0x06BC,0x06BD,0x06BE,0x06BF, /* 06B8 */ + 0x06C0,0x06C1,0x06C2,0x06C3,0x06C4,0x06C5,0x06C6,0x06C7, /* 06C0 */ + 0x06C8,0x06C9,0x06CA,0x06CB,0x06CC,0x06CD,0x06CE,0x06CF, /* 06C8 */ + 0x06D0,0x06D1,0x06D2,0x06D3,0x06D4,0x06D5,0x06D6,0x06D7, /* 06D0 */ + 0x06D8,0x06D9,0x06DA,0x06DB,0x06DC,0x06DD,0x06DE,0x06DF, /* 06D8 */ + 0x06E0,0x06E1,0x06E2,0x06E3,0x06E4,0x06E5,0x06E6,0x06E7, /* 06E0 */ + 0x06E8,0x06E9,0x06EA,0x06EB,0x06EC,0x06ED,0x06EE,0x06EF, /* 06E8 */ + 0x06F0,0x06F1,0x06F2,0x06F3,0x06F4,0x06F5,0x06F6,0x06F7, /* 06F0 */ + 0x06F8,0x06F9,0x06FA,0x06FB,0x06FC,0x06FD,0x06FE,0x06FF /* 06F8 */ +}; + +static const uint16 weight_general_ci_page07[256]={ /* This page is dummy */ + 0x0700,0x0701,0x0702,0x0703,0x0704,0x0705,0x0706,0x0707, /* 0700 */ + 0x0708,0x0709,0x070A,0x070B,0x070C,0x070D,0x070E,0x070F, /* 0708 */ + 0x0710,0x0711,0x0712,0x0713,0x0714,0x0715,0x0716,0x0717, /* 0710 */ + 0x0718,0x0719,0x071A,0x071B,0x071C,0x071D,0x071E,0x071F, /* 0718 */ + 0x0720,0x0721,0x0722,0x0723,0x0724,0x0725,0x0726,0x0727, /* 0720 */ + 0x0728,0x0729,0x072A,0x072B,0x072C,0x072D,0x072E,0x072F, /* 0728 */ + 0x0730,0x0731,0x0732,0x0733,0x0734,0x0735,0x0736,0x0737, /* 0730 */ + 0x0738,0x0739,0x073A,0x073B,0x073C,0x073D,0x073E,0x073F, /* 0738 */ + 0x0740,0x0741,0x0742,0x0743,0x0744,0x0745,0x0746,0x0747, /* 0740 */ + 0x0748,0x0749,0x074A,0x074B,0x074C,0x074D,0x074E,0x074F, /* 0748 */ + 0x0750,0x0751,0x0752,0x0753,0x0754,0x0755,0x0756,0x0757, /* 0750 */ + 0x0758,0x0759,0x075A,0x075B,0x075C,0x075D,0x075E,0x075F, /* 0758 */ + 0x0760,0x0761,0x0762,0x0763,0x0764,0x0765,0x0766,0x0767, /* 0760 */ + 0x0768,0x0769,0x076A,0x076B,0x076C,0x076D,0x076E,0x076F, /* 0768 */ + 0x0770,0x0771,0x0772,0x0773,0x0774,0x0775,0x0776,0x0777, /* 0770 */ + 0x0778,0x0779,0x077A,0x077B,0x077C,0x077D,0x077E,0x077F, /* 0778 */ + 0x0780,0x0781,0x0782,0x0783,0x0784,0x0785,0x0786,0x0787, /* 0780 */ + 0x0788,0x0789,0x078A,0x078B,0x078C,0x078D,0x078E,0x078F, /* 0788 */ + 0x0790,0x0791,0x0792,0x0793,0x0794,0x0795,0x0796,0x0797, /* 0790 */ + 0x0798,0x0799,0x079A,0x079B,0x079C,0x079D,0x079E,0x079F, /* 0798 */ + 0x07A0,0x07A1,0x07A2,0x07A3,0x07A4,0x07A5,0x07A6,0x07A7, /* 07A0 */ + 0x07A8,0x07A9,0x07AA,0x07AB,0x07AC,0x07AD,0x07AE,0x07AF, /* 07A8 */ + 0x07B0,0x07B1,0x07B2,0x07B3,0x07B4,0x07B5,0x07B6,0x07B7, /* 07B0 */ + 0x07B8,0x07B9,0x07BA,0x07BB,0x07BC,0x07BD,0x07BE,0x07BF, /* 07B8 */ + 0x07C0,0x07C1,0x07C2,0x07C3,0x07C4,0x07C5,0x07C6,0x07C7, /* 07C0 */ + 0x07C8,0x07C9,0x07CA,0x07CB,0x07CC,0x07CD,0x07CE,0x07CF, /* 07C8 */ + 0x07D0,0x07D1,0x07D2,0x07D3,0x07D4,0x07D5,0x07D6,0x07D7, /* 07D0 */ + 0x07D8,0x07D9,0x07DA,0x07DB,0x07DC,0x07DD,0x07DE,0x07DF, /* 07D8 */ + 0x07E0,0x07E1,0x07E2,0x07E3,0x07E4,0x07E5,0x07E6,0x07E7, /* 07E0 */ + 0x07E8,0x07E9,0x07EA,0x07EB,0x07EC,0x07ED,0x07EE,0x07EF, /* 07E8 */ + 0x07F0,0x07F1,0x07F2,0x07F3,0x07F4,0x07F5,0x07F6,0x07F7, /* 07F0 */ + 0x07F8,0x07F9,0x07FA,0x07FB,0x07FC,0x07FD,0x07FE,0x07FF /* 07F8 */ +}; + +static const uint16 weight_general_ci_page1E[256]={ + 0x0041,0x0041,0x0042,0x0042,0x0042,0x0042,0x0042,0x0042, /* 1E00 */ + 0x0043,0x0043,0x0044,0x0044,0x0044,0x0044,0x0044,0x0044, /* 1E08 */ + 0x0044,0x0044,0x0044,0x0044,0x0045,0x0045,0x0045,0x0045, /* 1E10 */ + 0x0045,0x0045,0x0045,0x0045,0x0045,0x0045,0x0046,0x0046, /* 1E18 */ + 0x0047,0x0047,0x0048,0x0048,0x0048,0x0048,0x0048,0x0048, /* 1E20 */ + 0x0048,0x0048,0x0048,0x0048,0x0049,0x0049,0x0049,0x0049, /* 1E28 */ + 0x004B,0x004B,0x004B,0x004B,0x004B,0x004B,0x004C,0x004C, /* 1E30 */ + 0x004C,0x004C,0x004C,0x004C,0x004C,0x004C,0x004D,0x004D, /* 1E38 */ + 0x004D,0x004D,0x004D,0x004D,0x004E,0x004E,0x004E,0x004E, /* 1E40 */ + 0x004E,0x004E,0x004E,0x004E,0x004F,0x004F,0x004F,0x004F, /* 1E48 */ + 0x004F,0x004F,0x004F,0x004F,0x0050,0x0050,0x0050,0x0050, /* 1E50 */ + 0x0052,0x0052,0x0052,0x0052,0x0052,0x0052,0x0052,0x0052, /* 1E58 */ + 0x0053,0x0053,0x0053,0x0053,0x0053,0x0053,0x0053,0x0053, /* 1E60 */ + 0x0053,0x0053,0x0054,0x0054,0x0054,0x0054,0x0054,0x0054, /* 1E68 */ + 0x0054,0x0054,0x0055,0x0055,0x0055,0x0055,0x0055,0x0055, /* 1E70 */ + 0x0055,0x0055,0x0055,0x0055,0x0056,0x0056,0x0056,0x0056, /* 1E78 */ + 0x0057,0x0057,0x0057,0x0057,0x0057,0x0057,0x0057,0x0057, /* 1E80 */ + 0x0057,0x0057,0x0058,0x0058,0x0058,0x0058,0x0059,0x0059, /* 1E88 */ + 0x005A,0x005A,0x005A,0x005A,0x005A,0x005A,0x0048,0x0054, /* 1E90 */ + 0x0057,0x0059,0x1E9A,0x0053,0x1E9C,0x1E9D,0x1E9E,0x1E9F, /* 1E98 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041, /* 1EA0 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041, /* 1EA8 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x0041, /* 1EB0 */ + 0x0045,0x0045,0x0045,0x0045,0x0045,0x0045,0x0045,0x0045, /* 1EB8 */ + 0x0045,0x0045,0x0045,0x0045,0x0045,0x0045,0x0045,0x0045, /* 1EC0 */ + 0x0049,0x0049,0x0049,0x0049,0x004F,0x004F,0x004F,0x004F, /* 1EC8 */ + 0x004F,0x004F,0x004F,0x004F,0x004F,0x004F,0x004F,0x004F, /* 1ED0 */ + 0x004F,0x004F,0x004F,0x004F,0x004F,0x004F,0x004F,0x004F, /* 1ED8 */ + 0x004F,0x004F,0x004F,0x004F,0x0055,0x0055,0x0055,0x0055, /* 1EE0 */ + 0x0055,0x0055,0x0055,0x0055,0x0055,0x0055,0x0055,0x0055, /* 1EE8 */ + 0x0055,0x0055,0x0059,0x0059,0x0059,0x0059,0x0059,0x0059, /* 1EF0 */ + 0x0059,0x0059,0x1EFA,0x1EFB,0x1EFC,0x1EFD,0x1EFE,0x1EFF /* 1EF8 */ +}; + +static const uint16 weight_general_ci_page1F[256]={ + 0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391, /* 1F00 */ + 0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391, /* 1F08 */ + 0x0395,0x0395,0x0395,0x0395,0x0395,0x0395,0x1F16,0x1F17, /* 1F10 */ + 0x0395,0x0395,0x0395,0x0395,0x0395,0x0395,0x1F1E,0x1F1F, /* 1F18 */ + 0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397, /* 1F20 */ + 0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397, /* 1F28 */ + 0x0399,0x0399,0x0399,0x0399,0x0399,0x0399,0x0399,0x0399, /* 1F30 */ + 0x0399,0x0399,0x0399,0x0399,0x0399,0x0399,0x0399,0x0399, /* 1F38 */ + 0x039F,0x039F,0x039F,0x039F,0x039F,0x039F,0x1F46,0x1F47, /* 1F40 */ + 0x039F,0x039F,0x039F,0x039F,0x039F,0x039F,0x1F4E,0x1F4F, /* 1F48 */ + 0x03A5,0x03A5,0x03A5,0x03A5,0x03A5,0x03A5,0x03A5,0x03A5, /* 1F50 */ + 0x1F58,0x03A5,0x1F5A,0x03A5,0x1F5C,0x03A5,0x1F5E,0x03A5, /* 1F58 */ + 0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9, /* 1F60 */ + 0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9, /* 1F68 */ + 0x0391,0x1FBB,0x0395,0x1FC9,0x0397,0x1FCB,0x0399,0x1FDB, /* 1F70 */ + 0x039F,0x1FF9,0x03A5,0x1FEB,0x03A9,0x1FFB,0x1F7E,0x1F7F, /* 1F78 */ + 0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391, /* 1F80 */ + 0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391,0x0391, /* 1F88 */ + 0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397, /* 1F90 */ + 0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397,0x0397, /* 1F98 */ + 0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9, /* 1FA0 */ + 0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9,0x03A9, /* 1FA8 */ + 0x0391,0x0391,0x0391,0x0391,0x0391,0x1FB5,0x0391,0x0391, /* 1FB0 */ + 0x0391,0x0391,0x0391,0x1FBB,0x0391,0x1FBD,0x0399,0x1FBF, /* 1FB8 */ + 0x1FC0,0x1FC1,0x0397,0x0397,0x0397,0x1FC5,0x0397,0x0397, /* 1FC0 */ + 0x0395,0x1FC9,0x0397,0x1FCB,0x0397,0x1FCD,0x1FCE,0x1FCF, /* 1FC8 */ + 0x0399,0x0399,0x0399,0x1FD3,0x1FD4,0x1FD5,0x0399,0x0399, /* 1FD0 */ + 0x0399,0x0399,0x0399,0x1FDB,0x1FDC,0x1FDD,0x1FDE,0x1FDF, /* 1FD8 */ + 0x03A5,0x03A5,0x03A5,0x1FE3,0x03A1,0x03A1,0x03A5,0x03A5, /* 1FE0 */ + 0x03A5,0x03A5,0x03A5,0x1FEB,0x03A1,0x1FED,0x1FEE,0x1FEF, /* 1FE8 */ + 0x1FF0,0x1FF1,0x03A9,0x03A9,0x03A9,0x1FF5,0x03A9,0x03A9, /* 1FF0 */ + 0x039F,0x1FF9,0x03A9,0x1FFB,0x03A9,0x1FFD,0x1FFE,0x1FFF /* 1FF8 */ +}; + +static const uint16 weight_general_ci_page21[256]={ + 0x2100,0x2101,0x2102,0x2103,0x2104,0x2105,0x2106,0x2107, /* 2100 */ + 0x2108,0x2109,0x210A,0x210B,0x210C,0x210D,0x210E,0x210F, /* 2108 */ + 0x2110,0x2111,0x2112,0x2113,0x2114,0x2115,0x2116,0x2117, /* 2110 */ + 0x2118,0x2119,0x211A,0x211B,0x211C,0x211D,0x211E,0x211F, /* 2118 */ + 0x2120,0x2121,0x2122,0x2123,0x2124,0x2125,0x2126,0x2127, /* 2120 */ + 0x2128,0x2129,0x212A,0x212B,0x212C,0x212D,0x212E,0x212F, /* 2128 */ + 0x2130,0x2131,0x2132,0x2133,0x2134,0x2135,0x2136,0x2137, /* 2130 */ + 0x2138,0x2139,0x213A,0x213B,0x213C,0x213D,0x213E,0x213F, /* 2138 */ + 0x2140,0x2141,0x2142,0x2143,0x2144,0x2145,0x2146,0x2147, /* 2140 */ + 0x2148,0x2149,0x214A,0x214B,0x214C,0x214D,0x214E,0x214F, /* 2148 */ + 0x2150,0x2151,0x2152,0x2153,0x2154,0x2155,0x2156,0x2157, /* 2150 */ + 0x2158,0x2159,0x215A,0x215B,0x215C,0x215D,0x215E,0x215F, /* 2158 */ + 0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,0x2167, /* 2160 */ + 0x2168,0x2169,0x216A,0x216B,0x216C,0x216D,0x216E,0x216F, /* 2168 */ + 0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,0x2167, /* 2170 */ + 0x2168,0x2169,0x216A,0x216B,0x216C,0x216D,0x216E,0x216F, /* 2178 */ + 0x2180,0x2181,0x2182,0x2183,0x2184,0x2185,0x2186,0x2187, /* 2180 */ + 0x2188,0x2189,0x218A,0x218B,0x218C,0x218D,0x218E,0x218F, /* 2188 */ + 0x2190,0x2191,0x2192,0x2193,0x2194,0x2195,0x2196,0x2197, /* 2190 */ + 0x2198,0x2199,0x219A,0x219B,0x219C,0x219D,0x219E,0x219F, /* 2198 */ + 0x21A0,0x21A1,0x21A2,0x21A3,0x21A4,0x21A5,0x21A6,0x21A7, /* 21A0 */ + 0x21A8,0x21A9,0x21AA,0x21AB,0x21AC,0x21AD,0x21AE,0x21AF, /* 21A8 */ + 0x21B0,0x21B1,0x21B2,0x21B3,0x21B4,0x21B5,0x21B6,0x21B7, /* 21B0 */ + 0x21B8,0x21B9,0x21BA,0x21BB,0x21BC,0x21BD,0x21BE,0x21BF, /* 21B8 */ + 0x21C0,0x21C1,0x21C2,0x21C3,0x21C4,0x21C5,0x21C6,0x21C7, /* 21C0 */ + 0x21C8,0x21C9,0x21CA,0x21CB,0x21CC,0x21CD,0x21CE,0x21CF, /* 21C8 */ + 0x21D0,0x21D1,0x21D2,0x21D3,0x21D4,0x21D5,0x21D6,0x21D7, /* 21D0 */ + 0x21D8,0x21D9,0x21DA,0x21DB,0x21DC,0x21DD,0x21DE,0x21DF, /* 21D8 */ + 0x21E0,0x21E1,0x21E2,0x21E3,0x21E4,0x21E5,0x21E6,0x21E7, /* 21E0 */ + 0x21E8,0x21E9,0x21EA,0x21EB,0x21EC,0x21ED,0x21EE,0x21EF, /* 21E8 */ + 0x21F0,0x21F1,0x21F2,0x21F3,0x21F4,0x21F5,0x21F6,0x21F7, /* 21F0 */ + 0x21F8,0x21F9,0x21FA,0x21FB,0x21FC,0x21FD,0x21FE,0x21FF /* 21F8 */ +}; + +static const uint16 weight_general_ci_page24[256]={ + 0x2400,0x2401,0x2402,0x2403,0x2404,0x2405,0x2406,0x2407, /* 2400 */ + 0x2408,0x2409,0x240A,0x240B,0x240C,0x240D,0x240E,0x240F, /* 2408 */ + 0x2410,0x2411,0x2412,0x2413,0x2414,0x2415,0x2416,0x2417, /* 2410 */ + 0x2418,0x2419,0x241A,0x241B,0x241C,0x241D,0x241E,0x241F, /* 2418 */ + 0x2420,0x2421,0x2422,0x2423,0x2424,0x2425,0x2426,0x2427, /* 2420 */ + 0x2428,0x2429,0x242A,0x242B,0x242C,0x242D,0x242E,0x242F, /* 2428 */ + 0x2430,0x2431,0x2432,0x2433,0x2434,0x2435,0x2436,0x2437, /* 2430 */ + 0x2438,0x2439,0x243A,0x243B,0x243C,0x243D,0x243E,0x243F, /* 2438 */ + 0x2440,0x2441,0x2442,0x2443,0x2444,0x2445,0x2446,0x2447, /* 2440 */ + 0x2448,0x2449,0x244A,0x244B,0x244C,0x244D,0x244E,0x244F, /* 2448 */ + 0x2450,0x2451,0x2452,0x2453,0x2454,0x2455,0x2456,0x2457, /* 2450 */ + 0x2458,0x2459,0x245A,0x245B,0x245C,0x245D,0x245E,0x245F, /* 2458 */ + 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467, /* 2460 */ + 0x2468,0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F, /* 2468 */ + 0x2470,0x2471,0x2472,0x2473,0x2474,0x2475,0x2476,0x2477, /* 2470 */ + 0x2478,0x2479,0x247A,0x247B,0x247C,0x247D,0x247E,0x247F, /* 2478 */ + 0x2480,0x2481,0x2482,0x2483,0x2484,0x2485,0x2486,0x2487, /* 2480 */ + 0x2488,0x2489,0x248A,0x248B,0x248C,0x248D,0x248E,0x248F, /* 2488 */ + 0x2490,0x2491,0x2492,0x2493,0x2494,0x2495,0x2496,0x2497, /* 2490 */ + 0x2498,0x2499,0x249A,0x249B,0x249C,0x249D,0x249E,0x249F, /* 2498 */ + 0x24A0,0x24A1,0x24A2,0x24A3,0x24A4,0x24A5,0x24A6,0x24A7, /* 24A0 */ + 0x24A8,0x24A9,0x24AA,0x24AB,0x24AC,0x24AD,0x24AE,0x24AF, /* 24A8 */ + 0x24B0,0x24B1,0x24B2,0x24B3,0x24B4,0x24B5,0x24B6,0x24B7, /* 24B0 */ + 0x24B8,0x24B9,0x24BA,0x24BB,0x24BC,0x24BD,0x24BE,0x24BF, /* 24B8 */ + 0x24C0,0x24C1,0x24C2,0x24C3,0x24C4,0x24C5,0x24C6,0x24C7, /* 24C0 */ + 0x24C8,0x24C9,0x24CA,0x24CB,0x24CC,0x24CD,0x24CE,0x24CF, /* 24C8 */ + 0x24B6,0x24B7,0x24B8,0x24B9,0x24BA,0x24BB,0x24BC,0x24BD, /* 24D0 */ + 0x24BE,0x24BF,0x24C0,0x24C1,0x24C2,0x24C3,0x24C4,0x24C5, /* 24D8 */ + 0x24C6,0x24C7,0x24C8,0x24C9,0x24CA,0x24CB,0x24CC,0x24CD, /* 24E0 */ + 0x24CE,0x24CF,0x24EA,0x24EB,0x24EC,0x24ED,0x24EE,0x24EF, /* 24E8 */ + 0x24F0,0x24F1,0x24F2,0x24F3,0x24F4,0x24F5,0x24F6,0x24F7, /* 24F0 */ + 0x24F8,0x24F9,0x24FA,0x24FB,0x24FC,0x24FD,0x24FE,0x24FF /* 24F8 */ +}; + +static const uint16 weight_general_ci_pageFF[256]={ + 0xFF00,0xFF01,0xFF02,0xFF03,0xFF04,0xFF05,0xFF06,0xFF07, /* FF00 */ + 0xFF08,0xFF09,0xFF0A,0xFF0B,0xFF0C,0xFF0D,0xFF0E,0xFF0F, /* FF08 */ + 0xFF10,0xFF11,0xFF12,0xFF13,0xFF14,0xFF15,0xFF16,0xFF17, /* FF10 */ + 0xFF18,0xFF19,0xFF1A,0xFF1B,0xFF1C,0xFF1D,0xFF1E,0xFF1F, /* FF18 */ + 0xFF20,0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27, /* FF20 */ + 0xFF28,0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F, /* FF28 */ + 0xFF30,0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37, /* FF30 */ + 0xFF38,0xFF39,0xFF3A,0xFF3B,0xFF3C,0xFF3D,0xFF3E,0xFF3F, /* FF38 */ + 0xFF40,0xFF21,0xFF22,0xFF23,0xFF24,0xFF25,0xFF26,0xFF27, /* FF40 */ + 0xFF28,0xFF29,0xFF2A,0xFF2B,0xFF2C,0xFF2D,0xFF2E,0xFF2F, /* FF48 */ + 0xFF30,0xFF31,0xFF32,0xFF33,0xFF34,0xFF35,0xFF36,0xFF37, /* FF50 */ + 0xFF38,0xFF39,0xFF3A,0xFF5B,0xFF5C,0xFF5D,0xFF5E,0xFF5F, /* FF58 */ + 0xFF60,0xFF61,0xFF62,0xFF63,0xFF64,0xFF65,0xFF66,0xFF67, /* FF60 */ + 0xFF68,0xFF69,0xFF6A,0xFF6B,0xFF6C,0xFF6D,0xFF6E,0xFF6F, /* FF68 */ + 0xFF70,0xFF71,0xFF72,0xFF73,0xFF74,0xFF75,0xFF76,0xFF77, /* FF70 */ + 0xFF78,0xFF79,0xFF7A,0xFF7B,0xFF7C,0xFF7D,0xFF7E,0xFF7F, /* FF78 */ + 0xFF80,0xFF81,0xFF82,0xFF83,0xFF84,0xFF85,0xFF86,0xFF87, /* FF80 */ + 0xFF88,0xFF89,0xFF8A,0xFF8B,0xFF8C,0xFF8D,0xFF8E,0xFF8F, /* FF88 */ + 0xFF90,0xFF91,0xFF92,0xFF93,0xFF94,0xFF95,0xFF96,0xFF97, /* FF90 */ + 0xFF98,0xFF99,0xFF9A,0xFF9B,0xFF9C,0xFF9D,0xFF9E,0xFF9F, /* FF98 */ + 0xFFA0,0xFFA1,0xFFA2,0xFFA3,0xFFA4,0xFFA5,0xFFA6,0xFFA7, /* FFA0 */ + 0xFFA8,0xFFA9,0xFFAA,0xFFAB,0xFFAC,0xFFAD,0xFFAE,0xFFAF, /* FFA8 */ + 0xFFB0,0xFFB1,0xFFB2,0xFFB3,0xFFB4,0xFFB5,0xFFB6,0xFFB7, /* FFB0 */ + 0xFFB8,0xFFB9,0xFFBA,0xFFBB,0xFFBC,0xFFBD,0xFFBE,0xFFBF, /* FFB8 */ + 0xFFC0,0xFFC1,0xFFC2,0xFFC3,0xFFC4,0xFFC5,0xFFC6,0xFFC7, /* FFC0 */ + 0xFFC8,0xFFC9,0xFFCA,0xFFCB,0xFFCC,0xFFCD,0xFFCE,0xFFCF, /* FFC8 */ + 0xFFD0,0xFFD1,0xFFD2,0xFFD3,0xFFD4,0xFFD5,0xFFD6,0xFFD7, /* FFD0 */ + 0xFFD8,0xFFD9,0xFFDA,0xFFDB,0xFFDC,0xFFDD,0xFFDE,0xFFDF, /* FFD8 */ + 0xFFE0,0xFFE1,0xFFE2,0xFFE3,0xFFE4,0xFFE5,0xFFE6,0xFFE7, /* FFE0 */ + 0xFFE8,0xFFE9,0xFFEA,0xFFEB,0xFFEC,0xFFED,0xFFEE,0xFFEF, /* FFE8 */ + 0xFFF0,0xFFF1,0xFFF2,0xFFF3,0xFFF4,0xFFF5,0xFFF6,0xFFF7, /* FFF0 */ + 0xFFF8,0xFFF9,0xFFFA,0xFFFB,0xFFFC,0xFFFD,0xFFFE,0xFFFF /* FFF8 */ +}; + +const uint16 * weight_general_ci_index[256]={ + weight_general_ci_page00, weight_general_ci_page01, + weight_general_ci_page02, weight_general_ci_page03, + weight_general_ci_page04, weight_general_ci_page05, + weight_general_ci_page06, weight_general_ci_page07, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + weight_general_ci_page1E, weight_general_ci_page1F, + NULL, weight_general_ci_page21, + NULL, NULL, + weight_general_ci_page24, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, weight_general_ci_pageFF +}; diff --git a/strings/ctype-unicode300-general_mysql500_ci.h b/strings/ctype-unicode300-general_mysql500_ci.h new file mode 100644 index 00000000000..3366c391380 --- /dev/null +++ b/strings/ctype-unicode300-general_mysql500_ci.h @@ -0,0 +1,190 @@ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. + Copyright (c) 2009, 2023, MariaDB Corporation. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA +*/ + +/* + Generated by: + ./unidata-dump \ + --mode=weight_general_mysql500_ci \ + --max-char=0xFFFF \ + UnicodeData-3.0.0.txt + +*/ +const uint16 weight_general_mysql500_ci_page00[256]={ + 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, /* 0000 */ + 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F, /* 0008 */ + 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017, /* 0010 */ + 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F, /* 0018 */ + 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027, /* 0020 */ + 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F, /* 0028 */ + 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037, /* 0030 */ + 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F, /* 0038 */ + 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047, /* 0040 */ + 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F, /* 0048 */ + 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057, /* 0050 */ + 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F, /* 0058 */ + 0x0060,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047, /* 0060 */ + 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F, /* 0068 */ + 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057, /* 0070 */ + 0x0058,0x0059,0x005A,0x007B,0x007C,0x007D,0x007E,0x007F, /* 0078 */ + 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087, /* 0080 */ + 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F, /* 0088 */ + 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097, /* 0090 */ + 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F, /* 0098 */ + 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7, /* 00A0 */ + 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF, /* 00A8 */ + 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x039C,0x00B6,0x00B7, /* 00B0 */ + 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF, /* 00B8 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x00C6,0x0043, /* 00C0 */ + 0x0045,0x0045,0x0045,0x0045,0x0049,0x0049,0x0049,0x0049, /* 00C8 */ + 0x00D0,0x004E,0x004F,0x004F,0x004F,0x004F,0x004F,0x00D7, /* 00D0 */ + 0x00D8,0x0055,0x0055,0x0055,0x0055,0x0059,0x00DE,0x00DF, /* 00D8 */ + 0x0041,0x0041,0x0041,0x0041,0x0041,0x0041,0x00C6,0x0043, /* 00E0 */ + 0x0045,0x0045,0x0045,0x0045,0x0049,0x0049,0x0049,0x0049, /* 00E8 */ + 0x00D0,0x004E,0x004F,0x004F,0x004F,0x004F,0x004F,0x00F7, /* 00F0 */ + 0x00D8,0x0055,0x0055,0x0055,0x0055,0x0059,0x00DE,0x0059 /* 00F8 */ +}; + +const uint16 * weight_general_mysql500_ci_index[256]={ + weight_general_mysql500_ci_page00, weight_general_ci_page01, + weight_general_ci_page02, weight_general_ci_page03, + weight_general_ci_page04, weight_general_ci_page05, + weight_general_ci_page06, weight_general_ci_page07, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + weight_general_ci_page1E, weight_general_ci_page1F, + NULL, weight_general_ci_page21, + NULL, NULL, + weight_general_ci_page24, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, weight_general_ci_pageFF +}; diff --git a/strings/ctype-unicode520-casefold.h b/strings/ctype-unicode520-casefold.h new file mode 100644 index 00000000000..bcd0ff355be --- /dev/null +++ b/strings/ctype-unicode520-casefold.h @@ -0,0 +1,3192 @@ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. + Copyright (c) 2009, 2023, MariaDB Corporation. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA +*/ + +/* + Generated by: + ./unidata-dump \ + --mode=casefold \ + --page-name=u520_casefold_page \ + --index-name=my_u520_casefold_index \ + UnicodeData-5.2.0.txt + +*/ +const MY_CASEFOLD_CHARACTER u520_casefold_page00[256]={ + {0x0000,0x0000},{0x0001,0x0001}, /* 0000 */ + {0x0002,0x0002},{0x0003,0x0003}, /* 0002 */ + {0x0004,0x0004},{0x0005,0x0005}, /* 0004 */ + {0x0006,0x0006},{0x0007,0x0007}, /* 0006 */ + {0x0008,0x0008},{0x0009,0x0009}, /* 0008 */ + {0x000A,0x000A},{0x000B,0x000B}, /* 000A */ + {0x000C,0x000C},{0x000D,0x000D}, /* 000C */ + {0x000E,0x000E},{0x000F,0x000F}, /* 000E */ + {0x0010,0x0010},{0x0011,0x0011}, /* 0010 */ + {0x0012,0x0012},{0x0013,0x0013}, /* 0012 */ + {0x0014,0x0014},{0x0015,0x0015}, /* 0014 */ + {0x0016,0x0016},{0x0017,0x0017}, /* 0016 */ + {0x0018,0x0018},{0x0019,0x0019}, /* 0018 */ + {0x001A,0x001A},{0x001B,0x001B}, /* 001A */ + {0x001C,0x001C},{0x001D,0x001D}, /* 001C */ + {0x001E,0x001E},{0x001F,0x001F}, /* 001E */ + {0x0020,0x0020},{0x0021,0x0021}, /* 0020 */ + {0x0022,0x0022},{0x0023,0x0023}, /* 0022 */ + {0x0024,0x0024},{0x0025,0x0025}, /* 0024 */ + {0x0026,0x0026},{0x0027,0x0027}, /* 0026 */ + {0x0028,0x0028},{0x0029,0x0029}, /* 0028 */ + {0x002A,0x002A},{0x002B,0x002B}, /* 002A */ + {0x002C,0x002C},{0x002D,0x002D}, /* 002C */ + {0x002E,0x002E},{0x002F,0x002F}, /* 002E */ + {0x0030,0x0030},{0x0031,0x0031}, /* 0030 */ + {0x0032,0x0032},{0x0033,0x0033}, /* 0032 */ + {0x0034,0x0034},{0x0035,0x0035}, /* 0034 */ + {0x0036,0x0036},{0x0037,0x0037}, /* 0036 */ + {0x0038,0x0038},{0x0039,0x0039}, /* 0038 */ + {0x003A,0x003A},{0x003B,0x003B}, /* 003A */ + {0x003C,0x003C},{0x003D,0x003D}, /* 003C */ + {0x003E,0x003E},{0x003F,0x003F}, /* 003E */ + {0x0040,0x0040},{0x0041,0x0061}, /* 0040 */ + {0x0042,0x0062},{0x0043,0x0063}, /* 0042 */ + {0x0044,0x0064},{0x0045,0x0065}, /* 0044 */ + {0x0046,0x0066},{0x0047,0x0067}, /* 0046 */ + {0x0048,0x0068},{0x0049,0x0069}, /* 0048 */ + {0x004A,0x006A},{0x004B,0x006B}, /* 004A */ + {0x004C,0x006C},{0x004D,0x006D}, /* 004C */ + {0x004E,0x006E},{0x004F,0x006F}, /* 004E */ + {0x0050,0x0070},{0x0051,0x0071}, /* 0050 */ + {0x0052,0x0072},{0x0053,0x0073}, /* 0052 */ + {0x0054,0x0074},{0x0055,0x0075}, /* 0054 */ + {0x0056,0x0076},{0x0057,0x0077}, /* 0056 */ + {0x0058,0x0078},{0x0059,0x0079}, /* 0058 */ + {0x005A,0x007A},{0x005B,0x005B}, /* 005A */ + {0x005C,0x005C},{0x005D,0x005D}, /* 005C */ + {0x005E,0x005E},{0x005F,0x005F}, /* 005E */ + {0x0060,0x0060},{0x0041,0x0061}, /* 0060 */ + {0x0042,0x0062},{0x0043,0x0063}, /* 0062 */ + {0x0044,0x0064},{0x0045,0x0065}, /* 0064 */ + {0x0046,0x0066},{0x0047,0x0067}, /* 0066 */ + {0x0048,0x0068},{0x0049,0x0069}, /* 0068 */ + {0x004A,0x006A},{0x004B,0x006B}, /* 006A */ + {0x004C,0x006C},{0x004D,0x006D}, /* 006C */ + {0x004E,0x006E},{0x004F,0x006F}, /* 006E */ + {0x0050,0x0070},{0x0051,0x0071}, /* 0070 */ + {0x0052,0x0072},{0x0053,0x0073}, /* 0072 */ + {0x0054,0x0074},{0x0055,0x0075}, /* 0074 */ + {0x0056,0x0076},{0x0057,0x0077}, /* 0076 */ + {0x0058,0x0078},{0x0059,0x0079}, /* 0078 */ + {0x005A,0x007A},{0x007B,0x007B}, /* 007A */ + {0x007C,0x007C},{0x007D,0x007D}, /* 007C */ + {0x007E,0x007E},{0x007F,0x007F}, /* 007E */ + {0x0080,0x0080},{0x0081,0x0081}, /* 0080 */ + {0x0082,0x0082},{0x0083,0x0083}, /* 0082 */ + {0x0084,0x0084},{0x0085,0x0085}, /* 0084 */ + {0x0086,0x0086},{0x0087,0x0087}, /* 0086 */ + {0x0088,0x0088},{0x0089,0x0089}, /* 0088 */ + {0x008A,0x008A},{0x008B,0x008B}, /* 008A */ + {0x008C,0x008C},{0x008D,0x008D}, /* 008C */ + {0x008E,0x008E},{0x008F,0x008F}, /* 008E */ + {0x0090,0x0090},{0x0091,0x0091}, /* 0090 */ + {0x0092,0x0092},{0x0093,0x0093}, /* 0092 */ + {0x0094,0x0094},{0x0095,0x0095}, /* 0094 */ + {0x0096,0x0096},{0x0097,0x0097}, /* 0096 */ + {0x0098,0x0098},{0x0099,0x0099}, /* 0098 */ + {0x009A,0x009A},{0x009B,0x009B}, /* 009A */ + {0x009C,0x009C},{0x009D,0x009D}, /* 009C */ + {0x009E,0x009E},{0x009F,0x009F}, /* 009E */ + {0x00A0,0x00A0},{0x00A1,0x00A1}, /* 00A0 */ + {0x00A2,0x00A2},{0x00A3,0x00A3}, /* 00A2 */ + {0x00A4,0x00A4},{0x00A5,0x00A5}, /* 00A4 */ + {0x00A6,0x00A6},{0x00A7,0x00A7}, /* 00A6 */ + {0x00A8,0x00A8},{0x00A9,0x00A9}, /* 00A8 */ + {0x00AA,0x00AA},{0x00AB,0x00AB}, /* 00AA */ + {0x00AC,0x00AC},{0x00AD,0x00AD}, /* 00AC */ + {0x00AE,0x00AE},{0x00AF,0x00AF}, /* 00AE */ + {0x00B0,0x00B0},{0x00B1,0x00B1}, /* 00B0 */ + {0x00B2,0x00B2},{0x00B3,0x00B3}, /* 00B2 */ + {0x00B4,0x00B4},{0x039C,0x00B5}, /* 00B4 */ + {0x00B6,0x00B6},{0x00B7,0x00B7}, /* 00B6 */ + {0x00B8,0x00B8},{0x00B9,0x00B9}, /* 00B8 */ + {0x00BA,0x00BA},{0x00BB,0x00BB}, /* 00BA */ + {0x00BC,0x00BC},{0x00BD,0x00BD}, /* 00BC */ + {0x00BE,0x00BE},{0x00BF,0x00BF}, /* 00BE */ + {0x00C0,0x00E0},{0x00C1,0x00E1}, /* 00C0 */ + {0x00C2,0x00E2},{0x00C3,0x00E3}, /* 00C2 */ + {0x00C4,0x00E4},{0x00C5,0x00E5}, /* 00C4 */ + {0x00C6,0x00E6},{0x00C7,0x00E7}, /* 00C6 */ + {0x00C8,0x00E8},{0x00C9,0x00E9}, /* 00C8 */ + {0x00CA,0x00EA},{0x00CB,0x00EB}, /* 00CA */ + {0x00CC,0x00EC},{0x00CD,0x00ED}, /* 00CC */ + {0x00CE,0x00EE},{0x00CF,0x00EF}, /* 00CE */ + {0x00D0,0x00F0},{0x00D1,0x00F1}, /* 00D0 */ + {0x00D2,0x00F2},{0x00D3,0x00F3}, /* 00D2 */ + {0x00D4,0x00F4},{0x00D5,0x00F5}, /* 00D4 */ + {0x00D6,0x00F6},{0x00D7,0x00D7}, /* 00D6 */ + {0x00D8,0x00F8},{0x00D9,0x00F9}, /* 00D8 */ + {0x00DA,0x00FA},{0x00DB,0x00FB}, /* 00DA */ + {0x00DC,0x00FC},{0x00DD,0x00FD}, /* 00DC */ + {0x00DE,0x00FE},{0x00DF,0x00DF}, /* 00DE */ + {0x00C0,0x00E0},{0x00C1,0x00E1}, /* 00E0 */ + {0x00C2,0x00E2},{0x00C3,0x00E3}, /* 00E2 */ + {0x00C4,0x00E4},{0x00C5,0x00E5}, /* 00E4 */ + {0x00C6,0x00E6},{0x00C7,0x00E7}, /* 00E6 */ + {0x00C8,0x00E8},{0x00C9,0x00E9}, /* 00E8 */ + {0x00CA,0x00EA},{0x00CB,0x00EB}, /* 00EA */ + {0x00CC,0x00EC},{0x00CD,0x00ED}, /* 00EC */ + {0x00CE,0x00EE},{0x00CF,0x00EF}, /* 00EE */ + {0x00D0,0x00F0},{0x00D1,0x00F1}, /* 00F0 */ + {0x00D2,0x00F2},{0x00D3,0x00F3}, /* 00F2 */ + {0x00D4,0x00F4},{0x00D5,0x00F5}, /* 00F4 */ + {0x00D6,0x00F6},{0x00F7,0x00F7}, /* 00F6 */ + {0x00D8,0x00F8},{0x00D9,0x00F9}, /* 00F8 */ + {0x00DA,0x00FA},{0x00DB,0x00FB}, /* 00FA */ + {0x00DC,0x00FC},{0x00DD,0x00FD}, /* 00FC */ + {0x00DE,0x00FE},{0x0178,0x00FF} /* 00FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page01[256]={ + {0x0100,0x0101},{0x0100,0x0101}, /* 0100 */ + {0x0102,0x0103},{0x0102,0x0103}, /* 0102 */ + {0x0104,0x0105},{0x0104,0x0105}, /* 0104 */ + {0x0106,0x0107},{0x0106,0x0107}, /* 0106 */ + {0x0108,0x0109},{0x0108,0x0109}, /* 0108 */ + {0x010A,0x010B},{0x010A,0x010B}, /* 010A */ + {0x010C,0x010D},{0x010C,0x010D}, /* 010C */ + {0x010E,0x010F},{0x010E,0x010F}, /* 010E */ + {0x0110,0x0111},{0x0110,0x0111}, /* 0110 */ + {0x0112,0x0113},{0x0112,0x0113}, /* 0112 */ + {0x0114,0x0115},{0x0114,0x0115}, /* 0114 */ + {0x0116,0x0117},{0x0116,0x0117}, /* 0116 */ + {0x0118,0x0119},{0x0118,0x0119}, /* 0118 */ + {0x011A,0x011B},{0x011A,0x011B}, /* 011A */ + {0x011C,0x011D},{0x011C,0x011D}, /* 011C */ + {0x011E,0x011F},{0x011E,0x011F}, /* 011E */ + {0x0120,0x0121},{0x0120,0x0121}, /* 0120 */ + {0x0122,0x0123},{0x0122,0x0123}, /* 0122 */ + {0x0124,0x0125},{0x0124,0x0125}, /* 0124 */ + {0x0126,0x0127},{0x0126,0x0127}, /* 0126 */ + {0x0128,0x0129},{0x0128,0x0129}, /* 0128 */ + {0x012A,0x012B},{0x012A,0x012B}, /* 012A */ + {0x012C,0x012D},{0x012C,0x012D}, /* 012C */ + {0x012E,0x012F},{0x012E,0x012F}, /* 012E */ + {0x0130,0x0069},{0x0049,0x0131}, /* 0130 */ + {0x0132,0x0133},{0x0132,0x0133}, /* 0132 */ + {0x0134,0x0135},{0x0134,0x0135}, /* 0134 */ + {0x0136,0x0137},{0x0136,0x0137}, /* 0136 */ + {0x0138,0x0138},{0x0139,0x013A}, /* 0138 */ + {0x0139,0x013A},{0x013B,0x013C}, /* 013A */ + {0x013B,0x013C},{0x013D,0x013E}, /* 013C */ + {0x013D,0x013E},{0x013F,0x0140}, /* 013E */ + {0x013F,0x0140},{0x0141,0x0142}, /* 0140 */ + {0x0141,0x0142},{0x0143,0x0144}, /* 0142 */ + {0x0143,0x0144},{0x0145,0x0146}, /* 0144 */ + {0x0145,0x0146},{0x0147,0x0148}, /* 0146 */ + {0x0147,0x0148},{0x0149,0x0149}, /* 0148 */ + {0x014A,0x014B},{0x014A,0x014B}, /* 014A */ + {0x014C,0x014D},{0x014C,0x014D}, /* 014C */ + {0x014E,0x014F},{0x014E,0x014F}, /* 014E */ + {0x0150,0x0151},{0x0150,0x0151}, /* 0150 */ + {0x0152,0x0153},{0x0152,0x0153}, /* 0152 */ + {0x0154,0x0155},{0x0154,0x0155}, /* 0154 */ + {0x0156,0x0157},{0x0156,0x0157}, /* 0156 */ + {0x0158,0x0159},{0x0158,0x0159}, /* 0158 */ + {0x015A,0x015B},{0x015A,0x015B}, /* 015A */ + {0x015C,0x015D},{0x015C,0x015D}, /* 015C */ + {0x015E,0x015F},{0x015E,0x015F}, /* 015E */ + {0x0160,0x0161},{0x0160,0x0161}, /* 0160 */ + {0x0162,0x0163},{0x0162,0x0163}, /* 0162 */ + {0x0164,0x0165},{0x0164,0x0165}, /* 0164 */ + {0x0166,0x0167},{0x0166,0x0167}, /* 0166 */ + {0x0168,0x0169},{0x0168,0x0169}, /* 0168 */ + {0x016A,0x016B},{0x016A,0x016B}, /* 016A */ + {0x016C,0x016D},{0x016C,0x016D}, /* 016C */ + {0x016E,0x016F},{0x016E,0x016F}, /* 016E */ + {0x0170,0x0171},{0x0170,0x0171}, /* 0170 */ + {0x0172,0x0173},{0x0172,0x0173}, /* 0172 */ + {0x0174,0x0175},{0x0174,0x0175}, /* 0174 */ + {0x0176,0x0177},{0x0176,0x0177}, /* 0176 */ + {0x0178,0x00FF},{0x0179,0x017A}, /* 0178 */ + {0x0179,0x017A},{0x017B,0x017C}, /* 017A */ + {0x017B,0x017C},{0x017D,0x017E}, /* 017C */ + {0x017D,0x017E},{0x0053,0x017F}, /* 017E */ + {0x0243,0x0180},{0x0181,0x0253}, /* 0180 */ + {0x0182,0x0183},{0x0182,0x0183}, /* 0182 */ + {0x0184,0x0185},{0x0184,0x0185}, /* 0184 */ + {0x0186,0x0254},{0x0187,0x0188}, /* 0186 */ + {0x0187,0x0188},{0x0189,0x0256}, /* 0188 */ + {0x018A,0x0257},{0x018B,0x018C}, /* 018A */ + {0x018B,0x018C},{0x018D,0x018D}, /* 018C */ + {0x018E,0x01DD},{0x018F,0x0259}, /* 018E */ + {0x0190,0x025B},{0x0191,0x0192}, /* 0190 */ + {0x0191,0x0192},{0x0193,0x0260}, /* 0192 */ + {0x0194,0x0263},{0x01F6,0x0195}, /* 0194 */ + {0x0196,0x0269},{0x0197,0x0268}, /* 0196 */ + {0x0198,0x0199},{0x0198,0x0199}, /* 0198 */ + {0x023D,0x019A},{0x019B,0x019B}, /* 019A */ + {0x019C,0x026F},{0x019D,0x0272}, /* 019C */ + {0x0220,0x019E},{0x019F,0x0275}, /* 019E */ + {0x01A0,0x01A1},{0x01A0,0x01A1}, /* 01A0 */ + {0x01A2,0x01A3},{0x01A2,0x01A3}, /* 01A2 */ + {0x01A4,0x01A5},{0x01A4,0x01A5}, /* 01A4 */ + {0x01A6,0x0280},{0x01A7,0x01A8}, /* 01A6 */ + {0x01A7,0x01A8},{0x01A9,0x0283}, /* 01A8 */ + {0x01AA,0x01AA},{0x01AB,0x01AB}, /* 01AA */ + {0x01AC,0x01AD},{0x01AC,0x01AD}, /* 01AC */ + {0x01AE,0x0288},{0x01AF,0x01B0}, /* 01AE */ + {0x01AF,0x01B0},{0x01B1,0x028A}, /* 01B0 */ + {0x01B2,0x028B},{0x01B3,0x01B4}, /* 01B2 */ + {0x01B3,0x01B4},{0x01B5,0x01B6}, /* 01B4 */ + {0x01B5,0x01B6},{0x01B7,0x0292}, /* 01B6 */ + {0x01B8,0x01B9},{0x01B8,0x01B9}, /* 01B8 */ + {0x01BA,0x01BA},{0x01BB,0x01BB}, /* 01BA */ + {0x01BC,0x01BD},{0x01BC,0x01BD}, /* 01BC */ + {0x01BE,0x01BE},{0x01F7,0x01BF}, /* 01BE */ + {0x01C0,0x01C0},{0x01C1,0x01C1}, /* 01C0 */ + {0x01C2,0x01C2},{0x01C3,0x01C3}, /* 01C2 */ + {0x01C4,0x01C6},{0x01C4,0x01C6}, /* 01C4 */ + {0x01C4,0x01C6},{0x01C7,0x01C9}, /* 01C6 */ + {0x01C7,0x01C9},{0x01C7,0x01C9}, /* 01C8 */ + {0x01CA,0x01CC},{0x01CA,0x01CC}, /* 01CA */ + {0x01CA,0x01CC},{0x01CD,0x01CE}, /* 01CC */ + {0x01CD,0x01CE},{0x01CF,0x01D0}, /* 01CE */ + {0x01CF,0x01D0},{0x01D1,0x01D2}, /* 01D0 */ + {0x01D1,0x01D2},{0x01D3,0x01D4}, /* 01D2 */ + {0x01D3,0x01D4},{0x01D5,0x01D6}, /* 01D4 */ + {0x01D5,0x01D6},{0x01D7,0x01D8}, /* 01D6 */ + {0x01D7,0x01D8},{0x01D9,0x01DA}, /* 01D8 */ + {0x01D9,0x01DA},{0x01DB,0x01DC}, /* 01DA */ + {0x01DB,0x01DC},{0x018E,0x01DD}, /* 01DC */ + {0x01DE,0x01DF},{0x01DE,0x01DF}, /* 01DE */ + {0x01E0,0x01E1},{0x01E0,0x01E1}, /* 01E0 */ + {0x01E2,0x01E3},{0x01E2,0x01E3}, /* 01E2 */ + {0x01E4,0x01E5},{0x01E4,0x01E5}, /* 01E4 */ + {0x01E6,0x01E7},{0x01E6,0x01E7}, /* 01E6 */ + {0x01E8,0x01E9},{0x01E8,0x01E9}, /* 01E8 */ + {0x01EA,0x01EB},{0x01EA,0x01EB}, /* 01EA */ + {0x01EC,0x01ED},{0x01EC,0x01ED}, /* 01EC */ + {0x01EE,0x01EF},{0x01EE,0x01EF}, /* 01EE */ + {0x01F0,0x01F0},{0x01F1,0x01F3}, /* 01F0 */ + {0x01F1,0x01F3},{0x01F1,0x01F3}, /* 01F2 */ + {0x01F4,0x01F5},{0x01F4,0x01F5}, /* 01F4 */ + {0x01F6,0x0195},{0x01F7,0x01BF}, /* 01F6 */ + {0x01F8,0x01F9},{0x01F8,0x01F9}, /* 01F8 */ + {0x01FA,0x01FB},{0x01FA,0x01FB}, /* 01FA */ + {0x01FC,0x01FD},{0x01FC,0x01FD}, /* 01FC */ + {0x01FE,0x01FF},{0x01FE,0x01FF} /* 01FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page02[256]={ + {0x0200,0x0201},{0x0200,0x0201}, /* 0200 */ + {0x0202,0x0203},{0x0202,0x0203}, /* 0202 */ + {0x0204,0x0205},{0x0204,0x0205}, /* 0204 */ + {0x0206,0x0207},{0x0206,0x0207}, /* 0206 */ + {0x0208,0x0209},{0x0208,0x0209}, /* 0208 */ + {0x020A,0x020B},{0x020A,0x020B}, /* 020A */ + {0x020C,0x020D},{0x020C,0x020D}, /* 020C */ + {0x020E,0x020F},{0x020E,0x020F}, /* 020E */ + {0x0210,0x0211},{0x0210,0x0211}, /* 0210 */ + {0x0212,0x0213},{0x0212,0x0213}, /* 0212 */ + {0x0214,0x0215},{0x0214,0x0215}, /* 0214 */ + {0x0216,0x0217},{0x0216,0x0217}, /* 0216 */ + {0x0218,0x0219},{0x0218,0x0219}, /* 0218 */ + {0x021A,0x021B},{0x021A,0x021B}, /* 021A */ + {0x021C,0x021D},{0x021C,0x021D}, /* 021C */ + {0x021E,0x021F},{0x021E,0x021F}, /* 021E */ + {0x0220,0x019E},{0x0221,0x0221}, /* 0220 */ + {0x0222,0x0223},{0x0222,0x0223}, /* 0222 */ + {0x0224,0x0225},{0x0224,0x0225}, /* 0224 */ + {0x0226,0x0227},{0x0226,0x0227}, /* 0226 */ + {0x0228,0x0229},{0x0228,0x0229}, /* 0228 */ + {0x022A,0x022B},{0x022A,0x022B}, /* 022A */ + {0x022C,0x022D},{0x022C,0x022D}, /* 022C */ + {0x022E,0x022F},{0x022E,0x022F}, /* 022E */ + {0x0230,0x0231},{0x0230,0x0231}, /* 0230 */ + {0x0232,0x0233},{0x0232,0x0233}, /* 0232 */ + {0x0234,0x0234},{0x0235,0x0235}, /* 0234 */ + {0x0236,0x0236},{0x0237,0x0237}, /* 0236 */ + {0x0238,0x0238},{0x0239,0x0239}, /* 0238 */ + {0x023A,0x2C65},{0x023B,0x023C}, /* 023A */ + {0x023B,0x023C},{0x023D,0x019A}, /* 023C */ + {0x023E,0x2C66},{0x2C7E,0x023F}, /* 023E */ + {0x2C7F,0x0240},{0x0241,0x0242}, /* 0240 */ + {0x0241,0x0242},{0x0243,0x0180}, /* 0242 */ + {0x0244,0x0289},{0x0245,0x028C}, /* 0244 */ + {0x0246,0x0247},{0x0246,0x0247}, /* 0246 */ + {0x0248,0x0249},{0x0248,0x0249}, /* 0248 */ + {0x024A,0x024B},{0x024A,0x024B}, /* 024A */ + {0x024C,0x024D},{0x024C,0x024D}, /* 024C */ + {0x024E,0x024F},{0x024E,0x024F}, /* 024E */ + {0x2C6F,0x0250},{0x2C6D,0x0251}, /* 0250 */ + {0x2C70,0x0252},{0x0181,0x0253}, /* 0252 */ + {0x0186,0x0254},{0x0255,0x0255}, /* 0254 */ + {0x0189,0x0256},{0x018A,0x0257}, /* 0256 */ + {0x0258,0x0258},{0x018F,0x0259}, /* 0258 */ + {0x025A,0x025A},{0x0190,0x025B}, /* 025A */ + {0x025C,0x025C},{0x025D,0x025D}, /* 025C */ + {0x025E,0x025E},{0x025F,0x025F}, /* 025E */ + {0x0193,0x0260},{0x0261,0x0261}, /* 0260 */ + {0x0262,0x0262},{0x0194,0x0263}, /* 0262 */ + {0x0264,0x0264},{0x0265,0x0265}, /* 0264 */ + {0x0266,0x0266},{0x0267,0x0267}, /* 0266 */ + {0x0197,0x0268},{0x0196,0x0269}, /* 0268 */ + {0x026A,0x026A},{0x2C62,0x026B}, /* 026A */ + {0x026C,0x026C},{0x026D,0x026D}, /* 026C */ + {0x026E,0x026E},{0x019C,0x026F}, /* 026E */ + {0x0270,0x0270},{0x2C6E,0x0271}, /* 0270 */ + {0x019D,0x0272},{0x0273,0x0273}, /* 0272 */ + {0x0274,0x0274},{0x019F,0x0275}, /* 0274 */ + {0x0276,0x0276},{0x0277,0x0277}, /* 0276 */ + {0x0278,0x0278},{0x0279,0x0279}, /* 0278 */ + {0x027A,0x027A},{0x027B,0x027B}, /* 027A */ + {0x027C,0x027C},{0x2C64,0x027D}, /* 027C */ + {0x027E,0x027E},{0x027F,0x027F}, /* 027E */ + {0x01A6,0x0280},{0x0281,0x0281}, /* 0280 */ + {0x0282,0x0282},{0x01A9,0x0283}, /* 0282 */ + {0x0284,0x0284},{0x0285,0x0285}, /* 0284 */ + {0x0286,0x0286},{0x0287,0x0287}, /* 0286 */ + {0x01AE,0x0288},{0x0244,0x0289}, /* 0288 */ + {0x01B1,0x028A},{0x01B2,0x028B}, /* 028A */ + {0x0245,0x028C},{0x028D,0x028D}, /* 028C */ + {0x028E,0x028E},{0x028F,0x028F}, /* 028E */ + {0x0290,0x0290},{0x0291,0x0291}, /* 0290 */ + {0x01B7,0x0292},{0x0293,0x0293}, /* 0292 */ + {0x0294,0x0294},{0x0295,0x0295}, /* 0294 */ + {0x0296,0x0296},{0x0297,0x0297}, /* 0296 */ + {0x0298,0x0298},{0x0299,0x0299}, /* 0298 */ + {0x029A,0x029A},{0x029B,0x029B}, /* 029A */ + {0x029C,0x029C},{0x029D,0x029D}, /* 029C */ + {0x029E,0x029E},{0x029F,0x029F}, /* 029E */ + {0x02A0,0x02A0},{0x02A1,0x02A1}, /* 02A0 */ + {0x02A2,0x02A2},{0x02A3,0x02A3}, /* 02A2 */ + {0x02A4,0x02A4},{0x02A5,0x02A5}, /* 02A4 */ + {0x02A6,0x02A6},{0x02A7,0x02A7}, /* 02A6 */ + {0x02A8,0x02A8},{0x02A9,0x02A9}, /* 02A8 */ + {0x02AA,0x02AA},{0x02AB,0x02AB}, /* 02AA */ + {0x02AC,0x02AC},{0x02AD,0x02AD}, /* 02AC */ + {0x02AE,0x02AE},{0x02AF,0x02AF}, /* 02AE */ + {0x02B0,0x02B0},{0x02B1,0x02B1}, /* 02B0 */ + {0x02B2,0x02B2},{0x02B3,0x02B3}, /* 02B2 */ + {0x02B4,0x02B4},{0x02B5,0x02B5}, /* 02B4 */ + {0x02B6,0x02B6},{0x02B7,0x02B7}, /* 02B6 */ + {0x02B8,0x02B8},{0x02B9,0x02B9}, /* 02B8 */ + {0x02BA,0x02BA},{0x02BB,0x02BB}, /* 02BA */ + {0x02BC,0x02BC},{0x02BD,0x02BD}, /* 02BC */ + {0x02BE,0x02BE},{0x02BF,0x02BF}, /* 02BE */ + {0x02C0,0x02C0},{0x02C1,0x02C1}, /* 02C0 */ + {0x02C2,0x02C2},{0x02C3,0x02C3}, /* 02C2 */ + {0x02C4,0x02C4},{0x02C5,0x02C5}, /* 02C4 */ + {0x02C6,0x02C6},{0x02C7,0x02C7}, /* 02C6 */ + {0x02C8,0x02C8},{0x02C9,0x02C9}, /* 02C8 */ + {0x02CA,0x02CA},{0x02CB,0x02CB}, /* 02CA */ + {0x02CC,0x02CC},{0x02CD,0x02CD}, /* 02CC */ + {0x02CE,0x02CE},{0x02CF,0x02CF}, /* 02CE */ + {0x02D0,0x02D0},{0x02D1,0x02D1}, /* 02D0 */ + {0x02D2,0x02D2},{0x02D3,0x02D3}, /* 02D2 */ + {0x02D4,0x02D4},{0x02D5,0x02D5}, /* 02D4 */ + {0x02D6,0x02D6},{0x02D7,0x02D7}, /* 02D6 */ + {0x02D8,0x02D8},{0x02D9,0x02D9}, /* 02D8 */ + {0x02DA,0x02DA},{0x02DB,0x02DB}, /* 02DA */ + {0x02DC,0x02DC},{0x02DD,0x02DD}, /* 02DC */ + {0x02DE,0x02DE},{0x02DF,0x02DF}, /* 02DE */ + {0x02E0,0x02E0},{0x02E1,0x02E1}, /* 02E0 */ + {0x02E2,0x02E2},{0x02E3,0x02E3}, /* 02E2 */ + {0x02E4,0x02E4},{0x02E5,0x02E5}, /* 02E4 */ + {0x02E6,0x02E6},{0x02E7,0x02E7}, /* 02E6 */ + {0x02E8,0x02E8},{0x02E9,0x02E9}, /* 02E8 */ + {0x02EA,0x02EA},{0x02EB,0x02EB}, /* 02EA */ + {0x02EC,0x02EC},{0x02ED,0x02ED}, /* 02EC */ + {0x02EE,0x02EE},{0x02EF,0x02EF}, /* 02EE */ + {0x02F0,0x02F0},{0x02F1,0x02F1}, /* 02F0 */ + {0x02F2,0x02F2},{0x02F3,0x02F3}, /* 02F2 */ + {0x02F4,0x02F4},{0x02F5,0x02F5}, /* 02F4 */ + {0x02F6,0x02F6},{0x02F7,0x02F7}, /* 02F6 */ + {0x02F8,0x02F8},{0x02F9,0x02F9}, /* 02F8 */ + {0x02FA,0x02FA},{0x02FB,0x02FB}, /* 02FA */ + {0x02FC,0x02FC},{0x02FD,0x02FD}, /* 02FC */ + {0x02FE,0x02FE},{0x02FF,0x02FF} /* 02FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page03[256]={ + {0x0300,0x0300},{0x0301,0x0301}, /* 0300 */ + {0x0302,0x0302},{0x0303,0x0303}, /* 0302 */ + {0x0304,0x0304},{0x0305,0x0305}, /* 0304 */ + {0x0306,0x0306},{0x0307,0x0307}, /* 0306 */ + {0x0308,0x0308},{0x0309,0x0309}, /* 0308 */ + {0x030A,0x030A},{0x030B,0x030B}, /* 030A */ + {0x030C,0x030C},{0x030D,0x030D}, /* 030C */ + {0x030E,0x030E},{0x030F,0x030F}, /* 030E */ + {0x0310,0x0310},{0x0311,0x0311}, /* 0310 */ + {0x0312,0x0312},{0x0313,0x0313}, /* 0312 */ + {0x0314,0x0314},{0x0315,0x0315}, /* 0314 */ + {0x0316,0x0316},{0x0317,0x0317}, /* 0316 */ + {0x0318,0x0318},{0x0319,0x0319}, /* 0318 */ + {0x031A,0x031A},{0x031B,0x031B}, /* 031A */ + {0x031C,0x031C},{0x031D,0x031D}, /* 031C */ + {0x031E,0x031E},{0x031F,0x031F}, /* 031E */ + {0x0320,0x0320},{0x0321,0x0321}, /* 0320 */ + {0x0322,0x0322},{0x0323,0x0323}, /* 0322 */ + {0x0324,0x0324},{0x0325,0x0325}, /* 0324 */ + {0x0326,0x0326},{0x0327,0x0327}, /* 0326 */ + {0x0328,0x0328},{0x0329,0x0329}, /* 0328 */ + {0x032A,0x032A},{0x032B,0x032B}, /* 032A */ + {0x032C,0x032C},{0x032D,0x032D}, /* 032C */ + {0x032E,0x032E},{0x032F,0x032F}, /* 032E */ + {0x0330,0x0330},{0x0331,0x0331}, /* 0330 */ + {0x0332,0x0332},{0x0333,0x0333}, /* 0332 */ + {0x0334,0x0334},{0x0335,0x0335}, /* 0334 */ + {0x0336,0x0336},{0x0337,0x0337}, /* 0336 */ + {0x0338,0x0338},{0x0339,0x0339}, /* 0338 */ + {0x033A,0x033A},{0x033B,0x033B}, /* 033A */ + {0x033C,0x033C},{0x033D,0x033D}, /* 033C */ + {0x033E,0x033E},{0x033F,0x033F}, /* 033E */ + {0x0340,0x0340},{0x0341,0x0341}, /* 0340 */ + {0x0342,0x0342},{0x0343,0x0343}, /* 0342 */ + {0x0344,0x0344},{0x0399,0x0345}, /* 0344 */ + {0x0346,0x0346},{0x0347,0x0347}, /* 0346 */ + {0x0348,0x0348},{0x0349,0x0349}, /* 0348 */ + {0x034A,0x034A},{0x034B,0x034B}, /* 034A */ + {0x034C,0x034C},{0x034D,0x034D}, /* 034C */ + {0x034E,0x034E},{0x034F,0x034F}, /* 034E */ + {0x0350,0x0350},{0x0351,0x0351}, /* 0350 */ + {0x0352,0x0352},{0x0353,0x0353}, /* 0352 */ + {0x0354,0x0354},{0x0355,0x0355}, /* 0354 */ + {0x0356,0x0356},{0x0357,0x0357}, /* 0356 */ + {0x0358,0x0358},{0x0359,0x0359}, /* 0358 */ + {0x035A,0x035A},{0x035B,0x035B}, /* 035A */ + {0x035C,0x035C},{0x035D,0x035D}, /* 035C */ + {0x035E,0x035E},{0x035F,0x035F}, /* 035E */ + {0x0360,0x0360},{0x0361,0x0361}, /* 0360 */ + {0x0362,0x0362},{0x0363,0x0363}, /* 0362 */ + {0x0364,0x0364},{0x0365,0x0365}, /* 0364 */ + {0x0366,0x0366},{0x0367,0x0367}, /* 0366 */ + {0x0368,0x0368},{0x0369,0x0369}, /* 0368 */ + {0x036A,0x036A},{0x036B,0x036B}, /* 036A */ + {0x036C,0x036C},{0x036D,0x036D}, /* 036C */ + {0x036E,0x036E},{0x036F,0x036F}, /* 036E */ + {0x0370,0x0371},{0x0370,0x0371}, /* 0370 */ + {0x0372,0x0373},{0x0372,0x0373}, /* 0372 */ + {0x0374,0x0374},{0x0375,0x0375}, /* 0374 */ + {0x0376,0x0377},{0x0376,0x0377}, /* 0376 */ + {0x0378,0x0378},{0x0379,0x0379}, /* 0378 */ + {0x037A,0x037A},{0x03FD,0x037B}, /* 037A */ + {0x03FE,0x037C},{0x03FF,0x037D}, /* 037C */ + {0x037E,0x037E},{0x037F,0x037F}, /* 037E */ + {0x0380,0x0380},{0x0381,0x0381}, /* 0380 */ + {0x0382,0x0382},{0x0383,0x0383}, /* 0382 */ + {0x0384,0x0384},{0x0385,0x0385}, /* 0384 */ + {0x0386,0x03AC},{0x0387,0x0387}, /* 0386 */ + {0x0388,0x03AD},{0x0389,0x03AE}, /* 0388 */ + {0x038A,0x03AF},{0x038B,0x038B}, /* 038A */ + {0x038C,0x03CC},{0x038D,0x038D}, /* 038C */ + {0x038E,0x03CD},{0x038F,0x03CE}, /* 038E */ + {0x0390,0x0390},{0x0391,0x03B1}, /* 0390 */ + {0x0392,0x03B2},{0x0393,0x03B3}, /* 0392 */ + {0x0394,0x03B4},{0x0395,0x03B5}, /* 0394 */ + {0x0396,0x03B6},{0x0397,0x03B7}, /* 0396 */ + {0x0398,0x03B8},{0x0399,0x03B9}, /* 0398 */ + {0x039A,0x03BA},{0x039B,0x03BB}, /* 039A */ + {0x039C,0x03BC},{0x039D,0x03BD}, /* 039C */ + {0x039E,0x03BE},{0x039F,0x03BF}, /* 039E */ + {0x03A0,0x03C0},{0x03A1,0x03C1}, /* 03A0 */ + {0x03A2,0x03A2},{0x03A3,0x03C3}, /* 03A2 */ + {0x03A4,0x03C4},{0x03A5,0x03C5}, /* 03A4 */ + {0x03A6,0x03C6},{0x03A7,0x03C7}, /* 03A6 */ + {0x03A8,0x03C8},{0x03A9,0x03C9}, /* 03A8 */ + {0x03AA,0x03CA},{0x03AB,0x03CB}, /* 03AA */ + {0x0386,0x03AC},{0x0388,0x03AD}, /* 03AC */ + {0x0389,0x03AE},{0x038A,0x03AF}, /* 03AE */ + {0x03B0,0x03B0},{0x0391,0x03B1}, /* 03B0 */ + {0x0392,0x03B2},{0x0393,0x03B3}, /* 03B2 */ + {0x0394,0x03B4},{0x0395,0x03B5}, /* 03B4 */ + {0x0396,0x03B6},{0x0397,0x03B7}, /* 03B6 */ + {0x0398,0x03B8},{0x0399,0x03B9}, /* 03B8 */ + {0x039A,0x03BA},{0x039B,0x03BB}, /* 03BA */ + {0x039C,0x03BC},{0x039D,0x03BD}, /* 03BC */ + {0x039E,0x03BE},{0x039F,0x03BF}, /* 03BE */ + {0x03A0,0x03C0},{0x03A1,0x03C1}, /* 03C0 */ + {0x03A3,0x03C2},{0x03A3,0x03C3}, /* 03C2 */ + {0x03A4,0x03C4},{0x03A5,0x03C5}, /* 03C4 */ + {0x03A6,0x03C6},{0x03A7,0x03C7}, /* 03C6 */ + {0x03A8,0x03C8},{0x03A9,0x03C9}, /* 03C8 */ + {0x03AA,0x03CA},{0x03AB,0x03CB}, /* 03CA */ + {0x038C,0x03CC},{0x038E,0x03CD}, /* 03CC */ + {0x038F,0x03CE},{0x03CF,0x03D7}, /* 03CE */ + {0x0392,0x03D0},{0x0398,0x03D1}, /* 03D0 */ + {0x03D2,0x03D2},{0x03D3,0x03D3}, /* 03D2 */ + {0x03D4,0x03D4},{0x03A6,0x03D5}, /* 03D4 */ + {0x03A0,0x03D6},{0x03CF,0x03D7}, /* 03D6 */ + {0x03D8,0x03D9},{0x03D8,0x03D9}, /* 03D8 */ + {0x03DA,0x03DB},{0x03DA,0x03DB}, /* 03DA */ + {0x03DC,0x03DD},{0x03DC,0x03DD}, /* 03DC */ + {0x03DE,0x03DF},{0x03DE,0x03DF}, /* 03DE */ + {0x03E0,0x03E1},{0x03E0,0x03E1}, /* 03E0 */ + {0x03E2,0x03E3},{0x03E2,0x03E3}, /* 03E2 */ + {0x03E4,0x03E5},{0x03E4,0x03E5}, /* 03E4 */ + {0x03E6,0x03E7},{0x03E6,0x03E7}, /* 03E6 */ + {0x03E8,0x03E9},{0x03E8,0x03E9}, /* 03E8 */ + {0x03EA,0x03EB},{0x03EA,0x03EB}, /* 03EA */ + {0x03EC,0x03ED},{0x03EC,0x03ED}, /* 03EC */ + {0x03EE,0x03EF},{0x03EE,0x03EF}, /* 03EE */ + {0x039A,0x03F0},{0x03A1,0x03F1}, /* 03F0 */ + {0x03F9,0x03F2},{0x03F3,0x03F3}, /* 03F2 */ + {0x03F4,0x03B8},{0x0395,0x03F5}, /* 03F4 */ + {0x03F6,0x03F6},{0x03F7,0x03F8}, /* 03F6 */ + {0x03F7,0x03F8},{0x03F9,0x03F2}, /* 03F8 */ + {0x03FA,0x03FB},{0x03FA,0x03FB}, /* 03FA */ + {0x03FC,0x03FC},{0x03FD,0x037B}, /* 03FC */ + {0x03FE,0x037C},{0x03FF,0x037D} /* 03FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page04[256]={ + {0x0400,0x0450},{0x0401,0x0451}, /* 0400 */ + {0x0402,0x0452},{0x0403,0x0453}, /* 0402 */ + {0x0404,0x0454},{0x0405,0x0455}, /* 0404 */ + {0x0406,0x0456},{0x0407,0x0457}, /* 0406 */ + {0x0408,0x0458},{0x0409,0x0459}, /* 0408 */ + {0x040A,0x045A},{0x040B,0x045B}, /* 040A */ + {0x040C,0x045C},{0x040D,0x045D}, /* 040C */ + {0x040E,0x045E},{0x040F,0x045F}, /* 040E */ + {0x0410,0x0430},{0x0411,0x0431}, /* 0410 */ + {0x0412,0x0432},{0x0413,0x0433}, /* 0412 */ + {0x0414,0x0434},{0x0415,0x0435}, /* 0414 */ + {0x0416,0x0436},{0x0417,0x0437}, /* 0416 */ + {0x0418,0x0438},{0x0419,0x0439}, /* 0418 */ + {0x041A,0x043A},{0x041B,0x043B}, /* 041A */ + {0x041C,0x043C},{0x041D,0x043D}, /* 041C */ + {0x041E,0x043E},{0x041F,0x043F}, /* 041E */ + {0x0420,0x0440},{0x0421,0x0441}, /* 0420 */ + {0x0422,0x0442},{0x0423,0x0443}, /* 0422 */ + {0x0424,0x0444},{0x0425,0x0445}, /* 0424 */ + {0x0426,0x0446},{0x0427,0x0447}, /* 0426 */ + {0x0428,0x0448},{0x0429,0x0449}, /* 0428 */ + {0x042A,0x044A},{0x042B,0x044B}, /* 042A */ + {0x042C,0x044C},{0x042D,0x044D}, /* 042C */ + {0x042E,0x044E},{0x042F,0x044F}, /* 042E */ + {0x0410,0x0430},{0x0411,0x0431}, /* 0430 */ + {0x0412,0x0432},{0x0413,0x0433}, /* 0432 */ + {0x0414,0x0434},{0x0415,0x0435}, /* 0434 */ + {0x0416,0x0436},{0x0417,0x0437}, /* 0436 */ + {0x0418,0x0438},{0x0419,0x0439}, /* 0438 */ + {0x041A,0x043A},{0x041B,0x043B}, /* 043A */ + {0x041C,0x043C},{0x041D,0x043D}, /* 043C */ + {0x041E,0x043E},{0x041F,0x043F}, /* 043E */ + {0x0420,0x0440},{0x0421,0x0441}, /* 0440 */ + {0x0422,0x0442},{0x0423,0x0443}, /* 0442 */ + {0x0424,0x0444},{0x0425,0x0445}, /* 0444 */ + {0x0426,0x0446},{0x0427,0x0447}, /* 0446 */ + {0x0428,0x0448},{0x0429,0x0449}, /* 0448 */ + {0x042A,0x044A},{0x042B,0x044B}, /* 044A */ + {0x042C,0x044C},{0x042D,0x044D}, /* 044C */ + {0x042E,0x044E},{0x042F,0x044F}, /* 044E */ + {0x0400,0x0450},{0x0401,0x0451}, /* 0450 */ + {0x0402,0x0452},{0x0403,0x0453}, /* 0452 */ + {0x0404,0x0454},{0x0405,0x0455}, /* 0454 */ + {0x0406,0x0456},{0x0407,0x0457}, /* 0456 */ + {0x0408,0x0458},{0x0409,0x0459}, /* 0458 */ + {0x040A,0x045A},{0x040B,0x045B}, /* 045A */ + {0x040C,0x045C},{0x040D,0x045D}, /* 045C */ + {0x040E,0x045E},{0x040F,0x045F}, /* 045E */ + {0x0460,0x0461},{0x0460,0x0461}, /* 0460 */ + {0x0462,0x0463},{0x0462,0x0463}, /* 0462 */ + {0x0464,0x0465},{0x0464,0x0465}, /* 0464 */ + {0x0466,0x0467},{0x0466,0x0467}, /* 0466 */ + {0x0468,0x0469},{0x0468,0x0469}, /* 0468 */ + {0x046A,0x046B},{0x046A,0x046B}, /* 046A */ + {0x046C,0x046D},{0x046C,0x046D}, /* 046C */ + {0x046E,0x046F},{0x046E,0x046F}, /* 046E */ + {0x0470,0x0471},{0x0470,0x0471}, /* 0470 */ + {0x0472,0x0473},{0x0472,0x0473}, /* 0472 */ + {0x0474,0x0475},{0x0474,0x0475}, /* 0474 */ + {0x0476,0x0477},{0x0476,0x0477}, /* 0476 */ + {0x0478,0x0479},{0x0478,0x0479}, /* 0478 */ + {0x047A,0x047B},{0x047A,0x047B}, /* 047A */ + {0x047C,0x047D},{0x047C,0x047D}, /* 047C */ + {0x047E,0x047F},{0x047E,0x047F}, /* 047E */ + {0x0480,0x0481},{0x0480,0x0481}, /* 0480 */ + {0x0482,0x0482},{0x0483,0x0483}, /* 0482 */ + {0x0484,0x0484},{0x0485,0x0485}, /* 0484 */ + {0x0486,0x0486},{0x0487,0x0487}, /* 0486 */ + {0x0488,0x0488},{0x0489,0x0489}, /* 0488 */ + {0x048A,0x048B},{0x048A,0x048B}, /* 048A */ + {0x048C,0x048D},{0x048C,0x048D}, /* 048C */ + {0x048E,0x048F},{0x048E,0x048F}, /* 048E */ + {0x0490,0x0491},{0x0490,0x0491}, /* 0490 */ + {0x0492,0x0493},{0x0492,0x0493}, /* 0492 */ + {0x0494,0x0495},{0x0494,0x0495}, /* 0494 */ + {0x0496,0x0497},{0x0496,0x0497}, /* 0496 */ + {0x0498,0x0499},{0x0498,0x0499}, /* 0498 */ + {0x049A,0x049B},{0x049A,0x049B}, /* 049A */ + {0x049C,0x049D},{0x049C,0x049D}, /* 049C */ + {0x049E,0x049F},{0x049E,0x049F}, /* 049E */ + {0x04A0,0x04A1},{0x04A0,0x04A1}, /* 04A0 */ + {0x04A2,0x04A3},{0x04A2,0x04A3}, /* 04A2 */ + {0x04A4,0x04A5},{0x04A4,0x04A5}, /* 04A4 */ + {0x04A6,0x04A7},{0x04A6,0x04A7}, /* 04A6 */ + {0x04A8,0x04A9},{0x04A8,0x04A9}, /* 04A8 */ + {0x04AA,0x04AB},{0x04AA,0x04AB}, /* 04AA */ + {0x04AC,0x04AD},{0x04AC,0x04AD}, /* 04AC */ + {0x04AE,0x04AF},{0x04AE,0x04AF}, /* 04AE */ + {0x04B0,0x04B1},{0x04B0,0x04B1}, /* 04B0 */ + {0x04B2,0x04B3},{0x04B2,0x04B3}, /* 04B2 */ + {0x04B4,0x04B5},{0x04B4,0x04B5}, /* 04B4 */ + {0x04B6,0x04B7},{0x04B6,0x04B7}, /* 04B6 */ + {0x04B8,0x04B9},{0x04B8,0x04B9}, /* 04B8 */ + {0x04BA,0x04BB},{0x04BA,0x04BB}, /* 04BA */ + {0x04BC,0x04BD},{0x04BC,0x04BD}, /* 04BC */ + {0x04BE,0x04BF},{0x04BE,0x04BF}, /* 04BE */ + {0x04C0,0x04CF},{0x04C1,0x04C2}, /* 04C0 */ + {0x04C1,0x04C2},{0x04C3,0x04C4}, /* 04C2 */ + {0x04C3,0x04C4},{0x04C5,0x04C6}, /* 04C4 */ + {0x04C5,0x04C6},{0x04C7,0x04C8}, /* 04C6 */ + {0x04C7,0x04C8},{0x04C9,0x04CA}, /* 04C8 */ + {0x04C9,0x04CA},{0x04CB,0x04CC}, /* 04CA */ + {0x04CB,0x04CC},{0x04CD,0x04CE}, /* 04CC */ + {0x04CD,0x04CE},{0x04C0,0x04CF}, /* 04CE */ + {0x04D0,0x04D1},{0x04D0,0x04D1}, /* 04D0 */ + {0x04D2,0x04D3},{0x04D2,0x04D3}, /* 04D2 */ + {0x04D4,0x04D5},{0x04D4,0x04D5}, /* 04D4 */ + {0x04D6,0x04D7},{0x04D6,0x04D7}, /* 04D6 */ + {0x04D8,0x04D9},{0x04D8,0x04D9}, /* 04D8 */ + {0x04DA,0x04DB},{0x04DA,0x04DB}, /* 04DA */ + {0x04DC,0x04DD},{0x04DC,0x04DD}, /* 04DC */ + {0x04DE,0x04DF},{0x04DE,0x04DF}, /* 04DE */ + {0x04E0,0x04E1},{0x04E0,0x04E1}, /* 04E0 */ + {0x04E2,0x04E3},{0x04E2,0x04E3}, /* 04E2 */ + {0x04E4,0x04E5},{0x04E4,0x04E5}, /* 04E4 */ + {0x04E6,0x04E7},{0x04E6,0x04E7}, /* 04E6 */ + {0x04E8,0x04E9},{0x04E8,0x04E9}, /* 04E8 */ + {0x04EA,0x04EB},{0x04EA,0x04EB}, /* 04EA */ + {0x04EC,0x04ED},{0x04EC,0x04ED}, /* 04EC */ + {0x04EE,0x04EF},{0x04EE,0x04EF}, /* 04EE */ + {0x04F0,0x04F1},{0x04F0,0x04F1}, /* 04F0 */ + {0x04F2,0x04F3},{0x04F2,0x04F3}, /* 04F2 */ + {0x04F4,0x04F5},{0x04F4,0x04F5}, /* 04F4 */ + {0x04F6,0x04F7},{0x04F6,0x04F7}, /* 04F6 */ + {0x04F8,0x04F9},{0x04F8,0x04F9}, /* 04F8 */ + {0x04FA,0x04FB},{0x04FA,0x04FB}, /* 04FA */ + {0x04FC,0x04FD},{0x04FC,0x04FD}, /* 04FC */ + {0x04FE,0x04FF},{0x04FE,0x04FF} /* 04FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page05[256]={ + {0x0500,0x0501},{0x0500,0x0501}, /* 0500 */ + {0x0502,0x0503},{0x0502,0x0503}, /* 0502 */ + {0x0504,0x0505},{0x0504,0x0505}, /* 0504 */ + {0x0506,0x0507},{0x0506,0x0507}, /* 0506 */ + {0x0508,0x0509},{0x0508,0x0509}, /* 0508 */ + {0x050A,0x050B},{0x050A,0x050B}, /* 050A */ + {0x050C,0x050D},{0x050C,0x050D}, /* 050C */ + {0x050E,0x050F},{0x050E,0x050F}, /* 050E */ + {0x0510,0x0511},{0x0510,0x0511}, /* 0510 */ + {0x0512,0x0513},{0x0512,0x0513}, /* 0512 */ + {0x0514,0x0515},{0x0514,0x0515}, /* 0514 */ + {0x0516,0x0517},{0x0516,0x0517}, /* 0516 */ + {0x0518,0x0519},{0x0518,0x0519}, /* 0518 */ + {0x051A,0x051B},{0x051A,0x051B}, /* 051A */ + {0x051C,0x051D},{0x051C,0x051D}, /* 051C */ + {0x051E,0x051F},{0x051E,0x051F}, /* 051E */ + {0x0520,0x0521},{0x0520,0x0521}, /* 0520 */ + {0x0522,0x0523},{0x0522,0x0523}, /* 0522 */ + {0x0524,0x0525},{0x0524,0x0525}, /* 0524 */ + {0x0526,0x0526},{0x0527,0x0527}, /* 0526 */ + {0x0528,0x0528},{0x0529,0x0529}, /* 0528 */ + {0x052A,0x052A},{0x052B,0x052B}, /* 052A */ + {0x052C,0x052C},{0x052D,0x052D}, /* 052C */ + {0x052E,0x052E},{0x052F,0x052F}, /* 052E */ + {0x0530,0x0530},{0x0531,0x0561}, /* 0530 */ + {0x0532,0x0562},{0x0533,0x0563}, /* 0532 */ + {0x0534,0x0564},{0x0535,0x0565}, /* 0534 */ + {0x0536,0x0566},{0x0537,0x0567}, /* 0536 */ + {0x0538,0x0568},{0x0539,0x0569}, /* 0538 */ + {0x053A,0x056A},{0x053B,0x056B}, /* 053A */ + {0x053C,0x056C},{0x053D,0x056D}, /* 053C */ + {0x053E,0x056E},{0x053F,0x056F}, /* 053E */ + {0x0540,0x0570},{0x0541,0x0571}, /* 0540 */ + {0x0542,0x0572},{0x0543,0x0573}, /* 0542 */ + {0x0544,0x0574},{0x0545,0x0575}, /* 0544 */ + {0x0546,0x0576},{0x0547,0x0577}, /* 0546 */ + {0x0548,0x0578},{0x0549,0x0579}, /* 0548 */ + {0x054A,0x057A},{0x054B,0x057B}, /* 054A */ + {0x054C,0x057C},{0x054D,0x057D}, /* 054C */ + {0x054E,0x057E},{0x054F,0x057F}, /* 054E */ + {0x0550,0x0580},{0x0551,0x0581}, /* 0550 */ + {0x0552,0x0582},{0x0553,0x0583}, /* 0552 */ + {0x0554,0x0584},{0x0555,0x0585}, /* 0554 */ + {0x0556,0x0586},{0x0557,0x0557}, /* 0556 */ + {0x0558,0x0558},{0x0559,0x0559}, /* 0558 */ + {0x055A,0x055A},{0x055B,0x055B}, /* 055A */ + {0x055C,0x055C},{0x055D,0x055D}, /* 055C */ + {0x055E,0x055E},{0x055F,0x055F}, /* 055E */ + {0x0560,0x0560},{0x0531,0x0561}, /* 0560 */ + {0x0532,0x0562},{0x0533,0x0563}, /* 0562 */ + {0x0534,0x0564},{0x0535,0x0565}, /* 0564 */ + {0x0536,0x0566},{0x0537,0x0567}, /* 0566 */ + {0x0538,0x0568},{0x0539,0x0569}, /* 0568 */ + {0x053A,0x056A},{0x053B,0x056B}, /* 056A */ + {0x053C,0x056C},{0x053D,0x056D}, /* 056C */ + {0x053E,0x056E},{0x053F,0x056F}, /* 056E */ + {0x0540,0x0570},{0x0541,0x0571}, /* 0570 */ + {0x0542,0x0572},{0x0543,0x0573}, /* 0572 */ + {0x0544,0x0574},{0x0545,0x0575}, /* 0574 */ + {0x0546,0x0576},{0x0547,0x0577}, /* 0576 */ + {0x0548,0x0578},{0x0549,0x0579}, /* 0578 */ + {0x054A,0x057A},{0x054B,0x057B}, /* 057A */ + {0x054C,0x057C},{0x054D,0x057D}, /* 057C */ + {0x054E,0x057E},{0x054F,0x057F}, /* 057E */ + {0x0550,0x0580},{0x0551,0x0581}, /* 0580 */ + {0x0552,0x0582},{0x0553,0x0583}, /* 0582 */ + {0x0554,0x0584},{0x0555,0x0585}, /* 0584 */ + {0x0556,0x0586},{0x0587,0x0587}, /* 0586 */ + {0x0588,0x0588},{0x0589,0x0589}, /* 0588 */ + {0x058A,0x058A},{0x058B,0x058B}, /* 058A */ + {0x058C,0x058C},{0x058D,0x058D}, /* 058C */ + {0x058E,0x058E},{0x058F,0x058F}, /* 058E */ + {0x0590,0x0590},{0x0591,0x0591}, /* 0590 */ + {0x0592,0x0592},{0x0593,0x0593}, /* 0592 */ + {0x0594,0x0594},{0x0595,0x0595}, /* 0594 */ + {0x0596,0x0596},{0x0597,0x0597}, /* 0596 */ + {0x0598,0x0598},{0x0599,0x0599}, /* 0598 */ + {0x059A,0x059A},{0x059B,0x059B}, /* 059A */ + {0x059C,0x059C},{0x059D,0x059D}, /* 059C */ + {0x059E,0x059E},{0x059F,0x059F}, /* 059E */ + {0x05A0,0x05A0},{0x05A1,0x05A1}, /* 05A0 */ + {0x05A2,0x05A2},{0x05A3,0x05A3}, /* 05A2 */ + {0x05A4,0x05A4},{0x05A5,0x05A5}, /* 05A4 */ + {0x05A6,0x05A6},{0x05A7,0x05A7}, /* 05A6 */ + {0x05A8,0x05A8},{0x05A9,0x05A9}, /* 05A8 */ + {0x05AA,0x05AA},{0x05AB,0x05AB}, /* 05AA */ + {0x05AC,0x05AC},{0x05AD,0x05AD}, /* 05AC */ + {0x05AE,0x05AE},{0x05AF,0x05AF}, /* 05AE */ + {0x05B0,0x05B0},{0x05B1,0x05B1}, /* 05B0 */ + {0x05B2,0x05B2},{0x05B3,0x05B3}, /* 05B2 */ + {0x05B4,0x05B4},{0x05B5,0x05B5}, /* 05B4 */ + {0x05B6,0x05B6},{0x05B7,0x05B7}, /* 05B6 */ + {0x05B8,0x05B8},{0x05B9,0x05B9}, /* 05B8 */ + {0x05BA,0x05BA},{0x05BB,0x05BB}, /* 05BA */ + {0x05BC,0x05BC},{0x05BD,0x05BD}, /* 05BC */ + {0x05BE,0x05BE},{0x05BF,0x05BF}, /* 05BE */ + {0x05C0,0x05C0},{0x05C1,0x05C1}, /* 05C0 */ + {0x05C2,0x05C2},{0x05C3,0x05C3}, /* 05C2 */ + {0x05C4,0x05C4},{0x05C5,0x05C5}, /* 05C4 */ + {0x05C6,0x05C6},{0x05C7,0x05C7}, /* 05C6 */ + {0x05C8,0x05C8},{0x05C9,0x05C9}, /* 05C8 */ + {0x05CA,0x05CA},{0x05CB,0x05CB}, /* 05CA */ + {0x05CC,0x05CC},{0x05CD,0x05CD}, /* 05CC */ + {0x05CE,0x05CE},{0x05CF,0x05CF}, /* 05CE */ + {0x05D0,0x05D0},{0x05D1,0x05D1}, /* 05D0 */ + {0x05D2,0x05D2},{0x05D3,0x05D3}, /* 05D2 */ + {0x05D4,0x05D4},{0x05D5,0x05D5}, /* 05D4 */ + {0x05D6,0x05D6},{0x05D7,0x05D7}, /* 05D6 */ + {0x05D8,0x05D8},{0x05D9,0x05D9}, /* 05D8 */ + {0x05DA,0x05DA},{0x05DB,0x05DB}, /* 05DA */ + {0x05DC,0x05DC},{0x05DD,0x05DD}, /* 05DC */ + {0x05DE,0x05DE},{0x05DF,0x05DF}, /* 05DE */ + {0x05E0,0x05E0},{0x05E1,0x05E1}, /* 05E0 */ + {0x05E2,0x05E2},{0x05E3,0x05E3}, /* 05E2 */ + {0x05E4,0x05E4},{0x05E5,0x05E5}, /* 05E4 */ + {0x05E6,0x05E6},{0x05E7,0x05E7}, /* 05E6 */ + {0x05E8,0x05E8},{0x05E9,0x05E9}, /* 05E8 */ + {0x05EA,0x05EA},{0x05EB,0x05EB}, /* 05EA */ + {0x05EC,0x05EC},{0x05ED,0x05ED}, /* 05EC */ + {0x05EE,0x05EE},{0x05EF,0x05EF}, /* 05EE */ + {0x05F0,0x05F0},{0x05F1,0x05F1}, /* 05F0 */ + {0x05F2,0x05F2},{0x05F3,0x05F3}, /* 05F2 */ + {0x05F4,0x05F4},{0x05F5,0x05F5}, /* 05F4 */ + {0x05F6,0x05F6},{0x05F7,0x05F7}, /* 05F6 */ + {0x05F8,0x05F8},{0x05F9,0x05F9}, /* 05F8 */ + {0x05FA,0x05FA},{0x05FB,0x05FB}, /* 05FA */ + {0x05FC,0x05FC},{0x05FD,0x05FD}, /* 05FC */ + {0x05FE,0x05FE},{0x05FF,0x05FF} /* 05FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page06[256]={ /* This page is dummy */ + {0x0600,0x0600},{0x0601,0x0601}, /* 0600 */ + {0x0602,0x0602},{0x0603,0x0603}, /* 0602 */ + {0x0604,0x0604},{0x0605,0x0605}, /* 0604 */ + {0x0606,0x0606},{0x0607,0x0607}, /* 0606 */ + {0x0608,0x0608},{0x0609,0x0609}, /* 0608 */ + {0x060A,0x060A},{0x060B,0x060B}, /* 060A */ + {0x060C,0x060C},{0x060D,0x060D}, /* 060C */ + {0x060E,0x060E},{0x060F,0x060F}, /* 060E */ + {0x0610,0x0610},{0x0611,0x0611}, /* 0610 */ + {0x0612,0x0612},{0x0613,0x0613}, /* 0612 */ + {0x0614,0x0614},{0x0615,0x0615}, /* 0614 */ + {0x0616,0x0616},{0x0617,0x0617}, /* 0616 */ + {0x0618,0x0618},{0x0619,0x0619}, /* 0618 */ + {0x061A,0x061A},{0x061B,0x061B}, /* 061A */ + {0x061C,0x061C},{0x061D,0x061D}, /* 061C */ + {0x061E,0x061E},{0x061F,0x061F}, /* 061E */ + {0x0620,0x0620},{0x0621,0x0621}, /* 0620 */ + {0x0622,0x0622},{0x0623,0x0623}, /* 0622 */ + {0x0624,0x0624},{0x0625,0x0625}, /* 0624 */ + {0x0626,0x0626},{0x0627,0x0627}, /* 0626 */ + {0x0628,0x0628},{0x0629,0x0629}, /* 0628 */ + {0x062A,0x062A},{0x062B,0x062B}, /* 062A */ + {0x062C,0x062C},{0x062D,0x062D}, /* 062C */ + {0x062E,0x062E},{0x062F,0x062F}, /* 062E */ + {0x0630,0x0630},{0x0631,0x0631}, /* 0630 */ + {0x0632,0x0632},{0x0633,0x0633}, /* 0632 */ + {0x0634,0x0634},{0x0635,0x0635}, /* 0634 */ + {0x0636,0x0636},{0x0637,0x0637}, /* 0636 */ + {0x0638,0x0638},{0x0639,0x0639}, /* 0638 */ + {0x063A,0x063A},{0x063B,0x063B}, /* 063A */ + {0x063C,0x063C},{0x063D,0x063D}, /* 063C */ + {0x063E,0x063E},{0x063F,0x063F}, /* 063E */ + {0x0640,0x0640},{0x0641,0x0641}, /* 0640 */ + {0x0642,0x0642},{0x0643,0x0643}, /* 0642 */ + {0x0644,0x0644},{0x0645,0x0645}, /* 0644 */ + {0x0646,0x0646},{0x0647,0x0647}, /* 0646 */ + {0x0648,0x0648},{0x0649,0x0649}, /* 0648 */ + {0x064A,0x064A},{0x064B,0x064B}, /* 064A */ + {0x064C,0x064C},{0x064D,0x064D}, /* 064C */ + {0x064E,0x064E},{0x064F,0x064F}, /* 064E */ + {0x0650,0x0650},{0x0651,0x0651}, /* 0650 */ + {0x0652,0x0652},{0x0653,0x0653}, /* 0652 */ + {0x0654,0x0654},{0x0655,0x0655}, /* 0654 */ + {0x0656,0x0656},{0x0657,0x0657}, /* 0656 */ + {0x0658,0x0658},{0x0659,0x0659}, /* 0658 */ + {0x065A,0x065A},{0x065B,0x065B}, /* 065A */ + {0x065C,0x065C},{0x065D,0x065D}, /* 065C */ + {0x065E,0x065E},{0x065F,0x065F}, /* 065E */ + {0x0660,0x0660},{0x0661,0x0661}, /* 0660 */ + {0x0662,0x0662},{0x0663,0x0663}, /* 0662 */ + {0x0664,0x0664},{0x0665,0x0665}, /* 0664 */ + {0x0666,0x0666},{0x0667,0x0667}, /* 0666 */ + {0x0668,0x0668},{0x0669,0x0669}, /* 0668 */ + {0x066A,0x066A},{0x066B,0x066B}, /* 066A */ + {0x066C,0x066C},{0x066D,0x066D}, /* 066C */ + {0x066E,0x066E},{0x066F,0x066F}, /* 066E */ + {0x0670,0x0670},{0x0671,0x0671}, /* 0670 */ + {0x0672,0x0672},{0x0673,0x0673}, /* 0672 */ + {0x0674,0x0674},{0x0675,0x0675}, /* 0674 */ + {0x0676,0x0676},{0x0677,0x0677}, /* 0676 */ + {0x0678,0x0678},{0x0679,0x0679}, /* 0678 */ + {0x067A,0x067A},{0x067B,0x067B}, /* 067A */ + {0x067C,0x067C},{0x067D,0x067D}, /* 067C */ + {0x067E,0x067E},{0x067F,0x067F}, /* 067E */ + {0x0680,0x0680},{0x0681,0x0681}, /* 0680 */ + {0x0682,0x0682},{0x0683,0x0683}, /* 0682 */ + {0x0684,0x0684},{0x0685,0x0685}, /* 0684 */ + {0x0686,0x0686},{0x0687,0x0687}, /* 0686 */ + {0x0688,0x0688},{0x0689,0x0689}, /* 0688 */ + {0x068A,0x068A},{0x068B,0x068B}, /* 068A */ + {0x068C,0x068C},{0x068D,0x068D}, /* 068C */ + {0x068E,0x068E},{0x068F,0x068F}, /* 068E */ + {0x0690,0x0690},{0x0691,0x0691}, /* 0690 */ + {0x0692,0x0692},{0x0693,0x0693}, /* 0692 */ + {0x0694,0x0694},{0x0695,0x0695}, /* 0694 */ + {0x0696,0x0696},{0x0697,0x0697}, /* 0696 */ + {0x0698,0x0698},{0x0699,0x0699}, /* 0698 */ + {0x069A,0x069A},{0x069B,0x069B}, /* 069A */ + {0x069C,0x069C},{0x069D,0x069D}, /* 069C */ + {0x069E,0x069E},{0x069F,0x069F}, /* 069E */ + {0x06A0,0x06A0},{0x06A1,0x06A1}, /* 06A0 */ + {0x06A2,0x06A2},{0x06A3,0x06A3}, /* 06A2 */ + {0x06A4,0x06A4},{0x06A5,0x06A5}, /* 06A4 */ + {0x06A6,0x06A6},{0x06A7,0x06A7}, /* 06A6 */ + {0x06A8,0x06A8},{0x06A9,0x06A9}, /* 06A8 */ + {0x06AA,0x06AA},{0x06AB,0x06AB}, /* 06AA */ + {0x06AC,0x06AC},{0x06AD,0x06AD}, /* 06AC */ + {0x06AE,0x06AE},{0x06AF,0x06AF}, /* 06AE */ + {0x06B0,0x06B0},{0x06B1,0x06B1}, /* 06B0 */ + {0x06B2,0x06B2},{0x06B3,0x06B3}, /* 06B2 */ + {0x06B4,0x06B4},{0x06B5,0x06B5}, /* 06B4 */ + {0x06B6,0x06B6},{0x06B7,0x06B7}, /* 06B6 */ + {0x06B8,0x06B8},{0x06B9,0x06B9}, /* 06B8 */ + {0x06BA,0x06BA},{0x06BB,0x06BB}, /* 06BA */ + {0x06BC,0x06BC},{0x06BD,0x06BD}, /* 06BC */ + {0x06BE,0x06BE},{0x06BF,0x06BF}, /* 06BE */ + {0x06C0,0x06C0},{0x06C1,0x06C1}, /* 06C0 */ + {0x06C2,0x06C2},{0x06C3,0x06C3}, /* 06C2 */ + {0x06C4,0x06C4},{0x06C5,0x06C5}, /* 06C4 */ + {0x06C6,0x06C6},{0x06C7,0x06C7}, /* 06C6 */ + {0x06C8,0x06C8},{0x06C9,0x06C9}, /* 06C8 */ + {0x06CA,0x06CA},{0x06CB,0x06CB}, /* 06CA */ + {0x06CC,0x06CC},{0x06CD,0x06CD}, /* 06CC */ + {0x06CE,0x06CE},{0x06CF,0x06CF}, /* 06CE */ + {0x06D0,0x06D0},{0x06D1,0x06D1}, /* 06D0 */ + {0x06D2,0x06D2},{0x06D3,0x06D3}, /* 06D2 */ + {0x06D4,0x06D4},{0x06D5,0x06D5}, /* 06D4 */ + {0x06D6,0x06D6},{0x06D7,0x06D7}, /* 06D6 */ + {0x06D8,0x06D8},{0x06D9,0x06D9}, /* 06D8 */ + {0x06DA,0x06DA},{0x06DB,0x06DB}, /* 06DA */ + {0x06DC,0x06DC},{0x06DD,0x06DD}, /* 06DC */ + {0x06DE,0x06DE},{0x06DF,0x06DF}, /* 06DE */ + {0x06E0,0x06E0},{0x06E1,0x06E1}, /* 06E0 */ + {0x06E2,0x06E2},{0x06E3,0x06E3}, /* 06E2 */ + {0x06E4,0x06E4},{0x06E5,0x06E5}, /* 06E4 */ + {0x06E6,0x06E6},{0x06E7,0x06E7}, /* 06E6 */ + {0x06E8,0x06E8},{0x06E9,0x06E9}, /* 06E8 */ + {0x06EA,0x06EA},{0x06EB,0x06EB}, /* 06EA */ + {0x06EC,0x06EC},{0x06ED,0x06ED}, /* 06EC */ + {0x06EE,0x06EE},{0x06EF,0x06EF}, /* 06EE */ + {0x06F0,0x06F0},{0x06F1,0x06F1}, /* 06F0 */ + {0x06F2,0x06F2},{0x06F3,0x06F3}, /* 06F2 */ + {0x06F4,0x06F4},{0x06F5,0x06F5}, /* 06F4 */ + {0x06F6,0x06F6},{0x06F7,0x06F7}, /* 06F6 */ + {0x06F8,0x06F8},{0x06F9,0x06F9}, /* 06F8 */ + {0x06FA,0x06FA},{0x06FB,0x06FB}, /* 06FA */ + {0x06FC,0x06FC},{0x06FD,0x06FD}, /* 06FC */ + {0x06FE,0x06FE},{0x06FF,0x06FF} /* 06FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page07[256]={ /* This page is dummy */ + {0x0700,0x0700},{0x0701,0x0701}, /* 0700 */ + {0x0702,0x0702},{0x0703,0x0703}, /* 0702 */ + {0x0704,0x0704},{0x0705,0x0705}, /* 0704 */ + {0x0706,0x0706},{0x0707,0x0707}, /* 0706 */ + {0x0708,0x0708},{0x0709,0x0709}, /* 0708 */ + {0x070A,0x070A},{0x070B,0x070B}, /* 070A */ + {0x070C,0x070C},{0x070D,0x070D}, /* 070C */ + {0x070E,0x070E},{0x070F,0x070F}, /* 070E */ + {0x0710,0x0710},{0x0711,0x0711}, /* 0710 */ + {0x0712,0x0712},{0x0713,0x0713}, /* 0712 */ + {0x0714,0x0714},{0x0715,0x0715}, /* 0714 */ + {0x0716,0x0716},{0x0717,0x0717}, /* 0716 */ + {0x0718,0x0718},{0x0719,0x0719}, /* 0718 */ + {0x071A,0x071A},{0x071B,0x071B}, /* 071A */ + {0x071C,0x071C},{0x071D,0x071D}, /* 071C */ + {0x071E,0x071E},{0x071F,0x071F}, /* 071E */ + {0x0720,0x0720},{0x0721,0x0721}, /* 0720 */ + {0x0722,0x0722},{0x0723,0x0723}, /* 0722 */ + {0x0724,0x0724},{0x0725,0x0725}, /* 0724 */ + {0x0726,0x0726},{0x0727,0x0727}, /* 0726 */ + {0x0728,0x0728},{0x0729,0x0729}, /* 0728 */ + {0x072A,0x072A},{0x072B,0x072B}, /* 072A */ + {0x072C,0x072C},{0x072D,0x072D}, /* 072C */ + {0x072E,0x072E},{0x072F,0x072F}, /* 072E */ + {0x0730,0x0730},{0x0731,0x0731}, /* 0730 */ + {0x0732,0x0732},{0x0733,0x0733}, /* 0732 */ + {0x0734,0x0734},{0x0735,0x0735}, /* 0734 */ + {0x0736,0x0736},{0x0737,0x0737}, /* 0736 */ + {0x0738,0x0738},{0x0739,0x0739}, /* 0738 */ + {0x073A,0x073A},{0x073B,0x073B}, /* 073A */ + {0x073C,0x073C},{0x073D,0x073D}, /* 073C */ + {0x073E,0x073E},{0x073F,0x073F}, /* 073E */ + {0x0740,0x0740},{0x0741,0x0741}, /* 0740 */ + {0x0742,0x0742},{0x0743,0x0743}, /* 0742 */ + {0x0744,0x0744},{0x0745,0x0745}, /* 0744 */ + {0x0746,0x0746},{0x0747,0x0747}, /* 0746 */ + {0x0748,0x0748},{0x0749,0x0749}, /* 0748 */ + {0x074A,0x074A},{0x074B,0x074B}, /* 074A */ + {0x074C,0x074C},{0x074D,0x074D}, /* 074C */ + {0x074E,0x074E},{0x074F,0x074F}, /* 074E */ + {0x0750,0x0750},{0x0751,0x0751}, /* 0750 */ + {0x0752,0x0752},{0x0753,0x0753}, /* 0752 */ + {0x0754,0x0754},{0x0755,0x0755}, /* 0754 */ + {0x0756,0x0756},{0x0757,0x0757}, /* 0756 */ + {0x0758,0x0758},{0x0759,0x0759}, /* 0758 */ + {0x075A,0x075A},{0x075B,0x075B}, /* 075A */ + {0x075C,0x075C},{0x075D,0x075D}, /* 075C */ + {0x075E,0x075E},{0x075F,0x075F}, /* 075E */ + {0x0760,0x0760},{0x0761,0x0761}, /* 0760 */ + {0x0762,0x0762},{0x0763,0x0763}, /* 0762 */ + {0x0764,0x0764},{0x0765,0x0765}, /* 0764 */ + {0x0766,0x0766},{0x0767,0x0767}, /* 0766 */ + {0x0768,0x0768},{0x0769,0x0769}, /* 0768 */ + {0x076A,0x076A},{0x076B,0x076B}, /* 076A */ + {0x076C,0x076C},{0x076D,0x076D}, /* 076C */ + {0x076E,0x076E},{0x076F,0x076F}, /* 076E */ + {0x0770,0x0770},{0x0771,0x0771}, /* 0770 */ + {0x0772,0x0772},{0x0773,0x0773}, /* 0772 */ + {0x0774,0x0774},{0x0775,0x0775}, /* 0774 */ + {0x0776,0x0776},{0x0777,0x0777}, /* 0776 */ + {0x0778,0x0778},{0x0779,0x0779}, /* 0778 */ + {0x077A,0x077A},{0x077B,0x077B}, /* 077A */ + {0x077C,0x077C},{0x077D,0x077D}, /* 077C */ + {0x077E,0x077E},{0x077F,0x077F}, /* 077E */ + {0x0780,0x0780},{0x0781,0x0781}, /* 0780 */ + {0x0782,0x0782},{0x0783,0x0783}, /* 0782 */ + {0x0784,0x0784},{0x0785,0x0785}, /* 0784 */ + {0x0786,0x0786},{0x0787,0x0787}, /* 0786 */ + {0x0788,0x0788},{0x0789,0x0789}, /* 0788 */ + {0x078A,0x078A},{0x078B,0x078B}, /* 078A */ + {0x078C,0x078C},{0x078D,0x078D}, /* 078C */ + {0x078E,0x078E},{0x078F,0x078F}, /* 078E */ + {0x0790,0x0790},{0x0791,0x0791}, /* 0790 */ + {0x0792,0x0792},{0x0793,0x0793}, /* 0792 */ + {0x0794,0x0794},{0x0795,0x0795}, /* 0794 */ + {0x0796,0x0796},{0x0797,0x0797}, /* 0796 */ + {0x0798,0x0798},{0x0799,0x0799}, /* 0798 */ + {0x079A,0x079A},{0x079B,0x079B}, /* 079A */ + {0x079C,0x079C},{0x079D,0x079D}, /* 079C */ + {0x079E,0x079E},{0x079F,0x079F}, /* 079E */ + {0x07A0,0x07A0},{0x07A1,0x07A1}, /* 07A0 */ + {0x07A2,0x07A2},{0x07A3,0x07A3}, /* 07A2 */ + {0x07A4,0x07A4},{0x07A5,0x07A5}, /* 07A4 */ + {0x07A6,0x07A6},{0x07A7,0x07A7}, /* 07A6 */ + {0x07A8,0x07A8},{0x07A9,0x07A9}, /* 07A8 */ + {0x07AA,0x07AA},{0x07AB,0x07AB}, /* 07AA */ + {0x07AC,0x07AC},{0x07AD,0x07AD}, /* 07AC */ + {0x07AE,0x07AE},{0x07AF,0x07AF}, /* 07AE */ + {0x07B0,0x07B0},{0x07B1,0x07B1}, /* 07B0 */ + {0x07B2,0x07B2},{0x07B3,0x07B3}, /* 07B2 */ + {0x07B4,0x07B4},{0x07B5,0x07B5}, /* 07B4 */ + {0x07B6,0x07B6},{0x07B7,0x07B7}, /* 07B6 */ + {0x07B8,0x07B8},{0x07B9,0x07B9}, /* 07B8 */ + {0x07BA,0x07BA},{0x07BB,0x07BB}, /* 07BA */ + {0x07BC,0x07BC},{0x07BD,0x07BD}, /* 07BC */ + {0x07BE,0x07BE},{0x07BF,0x07BF}, /* 07BE */ + {0x07C0,0x07C0},{0x07C1,0x07C1}, /* 07C0 */ + {0x07C2,0x07C2},{0x07C3,0x07C3}, /* 07C2 */ + {0x07C4,0x07C4},{0x07C5,0x07C5}, /* 07C4 */ + {0x07C6,0x07C6},{0x07C7,0x07C7}, /* 07C6 */ + {0x07C8,0x07C8},{0x07C9,0x07C9}, /* 07C8 */ + {0x07CA,0x07CA},{0x07CB,0x07CB}, /* 07CA */ + {0x07CC,0x07CC},{0x07CD,0x07CD}, /* 07CC */ + {0x07CE,0x07CE},{0x07CF,0x07CF}, /* 07CE */ + {0x07D0,0x07D0},{0x07D1,0x07D1}, /* 07D0 */ + {0x07D2,0x07D2},{0x07D3,0x07D3}, /* 07D2 */ + {0x07D4,0x07D4},{0x07D5,0x07D5}, /* 07D4 */ + {0x07D6,0x07D6},{0x07D7,0x07D7}, /* 07D6 */ + {0x07D8,0x07D8},{0x07D9,0x07D9}, /* 07D8 */ + {0x07DA,0x07DA},{0x07DB,0x07DB}, /* 07DA */ + {0x07DC,0x07DC},{0x07DD,0x07DD}, /* 07DC */ + {0x07DE,0x07DE},{0x07DF,0x07DF}, /* 07DE */ + {0x07E0,0x07E0},{0x07E1,0x07E1}, /* 07E0 */ + {0x07E2,0x07E2},{0x07E3,0x07E3}, /* 07E2 */ + {0x07E4,0x07E4},{0x07E5,0x07E5}, /* 07E4 */ + {0x07E6,0x07E6},{0x07E7,0x07E7}, /* 07E6 */ + {0x07E8,0x07E8},{0x07E9,0x07E9}, /* 07E8 */ + {0x07EA,0x07EA},{0x07EB,0x07EB}, /* 07EA */ + {0x07EC,0x07EC},{0x07ED,0x07ED}, /* 07EC */ + {0x07EE,0x07EE},{0x07EF,0x07EF}, /* 07EE */ + {0x07F0,0x07F0},{0x07F1,0x07F1}, /* 07F0 */ + {0x07F2,0x07F2},{0x07F3,0x07F3}, /* 07F2 */ + {0x07F4,0x07F4},{0x07F5,0x07F5}, /* 07F4 */ + {0x07F6,0x07F6},{0x07F7,0x07F7}, /* 07F6 */ + {0x07F8,0x07F8},{0x07F9,0x07F9}, /* 07F8 */ + {0x07FA,0x07FA},{0x07FB,0x07FB}, /* 07FA */ + {0x07FC,0x07FC},{0x07FD,0x07FD}, /* 07FC */ + {0x07FE,0x07FE},{0x07FF,0x07FF} /* 07FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page10[256]={ + {0x1000,0x1000},{0x1001,0x1001}, /* 1000 */ + {0x1002,0x1002},{0x1003,0x1003}, /* 1002 */ + {0x1004,0x1004},{0x1005,0x1005}, /* 1004 */ + {0x1006,0x1006},{0x1007,0x1007}, /* 1006 */ + {0x1008,0x1008},{0x1009,0x1009}, /* 1008 */ + {0x100A,0x100A},{0x100B,0x100B}, /* 100A */ + {0x100C,0x100C},{0x100D,0x100D}, /* 100C */ + {0x100E,0x100E},{0x100F,0x100F}, /* 100E */ + {0x1010,0x1010},{0x1011,0x1011}, /* 1010 */ + {0x1012,0x1012},{0x1013,0x1013}, /* 1012 */ + {0x1014,0x1014},{0x1015,0x1015}, /* 1014 */ + {0x1016,0x1016},{0x1017,0x1017}, /* 1016 */ + {0x1018,0x1018},{0x1019,0x1019}, /* 1018 */ + {0x101A,0x101A},{0x101B,0x101B}, /* 101A */ + {0x101C,0x101C},{0x101D,0x101D}, /* 101C */ + {0x101E,0x101E},{0x101F,0x101F}, /* 101E */ + {0x1020,0x1020},{0x1021,0x1021}, /* 1020 */ + {0x1022,0x1022},{0x1023,0x1023}, /* 1022 */ + {0x1024,0x1024},{0x1025,0x1025}, /* 1024 */ + {0x1026,0x1026},{0x1027,0x1027}, /* 1026 */ + {0x1028,0x1028},{0x1029,0x1029}, /* 1028 */ + {0x102A,0x102A},{0x102B,0x102B}, /* 102A */ + {0x102C,0x102C},{0x102D,0x102D}, /* 102C */ + {0x102E,0x102E},{0x102F,0x102F}, /* 102E */ + {0x1030,0x1030},{0x1031,0x1031}, /* 1030 */ + {0x1032,0x1032},{0x1033,0x1033}, /* 1032 */ + {0x1034,0x1034},{0x1035,0x1035}, /* 1034 */ + {0x1036,0x1036},{0x1037,0x1037}, /* 1036 */ + {0x1038,0x1038},{0x1039,0x1039}, /* 1038 */ + {0x103A,0x103A},{0x103B,0x103B}, /* 103A */ + {0x103C,0x103C},{0x103D,0x103D}, /* 103C */ + {0x103E,0x103E},{0x103F,0x103F}, /* 103E */ + {0x1040,0x1040},{0x1041,0x1041}, /* 1040 */ + {0x1042,0x1042},{0x1043,0x1043}, /* 1042 */ + {0x1044,0x1044},{0x1045,0x1045}, /* 1044 */ + {0x1046,0x1046},{0x1047,0x1047}, /* 1046 */ + {0x1048,0x1048},{0x1049,0x1049}, /* 1048 */ + {0x104A,0x104A},{0x104B,0x104B}, /* 104A */ + {0x104C,0x104C},{0x104D,0x104D}, /* 104C */ + {0x104E,0x104E},{0x104F,0x104F}, /* 104E */ + {0x1050,0x1050},{0x1051,0x1051}, /* 1050 */ + {0x1052,0x1052},{0x1053,0x1053}, /* 1052 */ + {0x1054,0x1054},{0x1055,0x1055}, /* 1054 */ + {0x1056,0x1056},{0x1057,0x1057}, /* 1056 */ + {0x1058,0x1058},{0x1059,0x1059}, /* 1058 */ + {0x105A,0x105A},{0x105B,0x105B}, /* 105A */ + {0x105C,0x105C},{0x105D,0x105D}, /* 105C */ + {0x105E,0x105E},{0x105F,0x105F}, /* 105E */ + {0x1060,0x1060},{0x1061,0x1061}, /* 1060 */ + {0x1062,0x1062},{0x1063,0x1063}, /* 1062 */ + {0x1064,0x1064},{0x1065,0x1065}, /* 1064 */ + {0x1066,0x1066},{0x1067,0x1067}, /* 1066 */ + {0x1068,0x1068},{0x1069,0x1069}, /* 1068 */ + {0x106A,0x106A},{0x106B,0x106B}, /* 106A */ + {0x106C,0x106C},{0x106D,0x106D}, /* 106C */ + {0x106E,0x106E},{0x106F,0x106F}, /* 106E */ + {0x1070,0x1070},{0x1071,0x1071}, /* 1070 */ + {0x1072,0x1072},{0x1073,0x1073}, /* 1072 */ + {0x1074,0x1074},{0x1075,0x1075}, /* 1074 */ + {0x1076,0x1076},{0x1077,0x1077}, /* 1076 */ + {0x1078,0x1078},{0x1079,0x1079}, /* 1078 */ + {0x107A,0x107A},{0x107B,0x107B}, /* 107A */ + {0x107C,0x107C},{0x107D,0x107D}, /* 107C */ + {0x107E,0x107E},{0x107F,0x107F}, /* 107E */ + {0x1080,0x1080},{0x1081,0x1081}, /* 1080 */ + {0x1082,0x1082},{0x1083,0x1083}, /* 1082 */ + {0x1084,0x1084},{0x1085,0x1085}, /* 1084 */ + {0x1086,0x1086},{0x1087,0x1087}, /* 1086 */ + {0x1088,0x1088},{0x1089,0x1089}, /* 1088 */ + {0x108A,0x108A},{0x108B,0x108B}, /* 108A */ + {0x108C,0x108C},{0x108D,0x108D}, /* 108C */ + {0x108E,0x108E},{0x108F,0x108F}, /* 108E */ + {0x1090,0x1090},{0x1091,0x1091}, /* 1090 */ + {0x1092,0x1092},{0x1093,0x1093}, /* 1092 */ + {0x1094,0x1094},{0x1095,0x1095}, /* 1094 */ + {0x1096,0x1096},{0x1097,0x1097}, /* 1096 */ + {0x1098,0x1098},{0x1099,0x1099}, /* 1098 */ + {0x109A,0x109A},{0x109B,0x109B}, /* 109A */ + {0x109C,0x109C},{0x109D,0x109D}, /* 109C */ + {0x109E,0x109E},{0x109F,0x109F}, /* 109E */ + {0x10A0,0x2D00},{0x10A1,0x2D01}, /* 10A0 */ + {0x10A2,0x2D02},{0x10A3,0x2D03}, /* 10A2 */ + {0x10A4,0x2D04},{0x10A5,0x2D05}, /* 10A4 */ + {0x10A6,0x2D06},{0x10A7,0x2D07}, /* 10A6 */ + {0x10A8,0x2D08},{0x10A9,0x2D09}, /* 10A8 */ + {0x10AA,0x2D0A},{0x10AB,0x2D0B}, /* 10AA */ + {0x10AC,0x2D0C},{0x10AD,0x2D0D}, /* 10AC */ + {0x10AE,0x2D0E},{0x10AF,0x2D0F}, /* 10AE */ + {0x10B0,0x2D10},{0x10B1,0x2D11}, /* 10B0 */ + {0x10B2,0x2D12},{0x10B3,0x2D13}, /* 10B2 */ + {0x10B4,0x2D14},{0x10B5,0x2D15}, /* 10B4 */ + {0x10B6,0x2D16},{0x10B7,0x2D17}, /* 10B6 */ + {0x10B8,0x2D18},{0x10B9,0x2D19}, /* 10B8 */ + {0x10BA,0x2D1A},{0x10BB,0x2D1B}, /* 10BA */ + {0x10BC,0x2D1C},{0x10BD,0x2D1D}, /* 10BC */ + {0x10BE,0x2D1E},{0x10BF,0x2D1F}, /* 10BE */ + {0x10C0,0x2D20},{0x10C1,0x2D21}, /* 10C0 */ + {0x10C2,0x2D22},{0x10C3,0x2D23}, /* 10C2 */ + {0x10C4,0x2D24},{0x10C5,0x2D25}, /* 10C4 */ + {0x10C6,0x10C6},{0x10C7,0x10C7}, /* 10C6 */ + {0x10C8,0x10C8},{0x10C9,0x10C9}, /* 10C8 */ + {0x10CA,0x10CA},{0x10CB,0x10CB}, /* 10CA */ + {0x10CC,0x10CC},{0x10CD,0x10CD}, /* 10CC */ + {0x10CE,0x10CE},{0x10CF,0x10CF}, /* 10CE */ + {0x10D0,0x10D0},{0x10D1,0x10D1}, /* 10D0 */ + {0x10D2,0x10D2},{0x10D3,0x10D3}, /* 10D2 */ + {0x10D4,0x10D4},{0x10D5,0x10D5}, /* 10D4 */ + {0x10D6,0x10D6},{0x10D7,0x10D7}, /* 10D6 */ + {0x10D8,0x10D8},{0x10D9,0x10D9}, /* 10D8 */ + {0x10DA,0x10DA},{0x10DB,0x10DB}, /* 10DA */ + {0x10DC,0x10DC},{0x10DD,0x10DD}, /* 10DC */ + {0x10DE,0x10DE},{0x10DF,0x10DF}, /* 10DE */ + {0x10E0,0x10E0},{0x10E1,0x10E1}, /* 10E0 */ + {0x10E2,0x10E2},{0x10E3,0x10E3}, /* 10E2 */ + {0x10E4,0x10E4},{0x10E5,0x10E5}, /* 10E4 */ + {0x10E6,0x10E6},{0x10E7,0x10E7}, /* 10E6 */ + {0x10E8,0x10E8},{0x10E9,0x10E9}, /* 10E8 */ + {0x10EA,0x10EA},{0x10EB,0x10EB}, /* 10EA */ + {0x10EC,0x10EC},{0x10ED,0x10ED}, /* 10EC */ + {0x10EE,0x10EE},{0x10EF,0x10EF}, /* 10EE */ + {0x10F0,0x10F0},{0x10F1,0x10F1}, /* 10F0 */ + {0x10F2,0x10F2},{0x10F3,0x10F3}, /* 10F2 */ + {0x10F4,0x10F4},{0x10F5,0x10F5}, /* 10F4 */ + {0x10F6,0x10F6},{0x10F7,0x10F7}, /* 10F6 */ + {0x10F8,0x10F8},{0x10F9,0x10F9}, /* 10F8 */ + {0x10FA,0x10FA},{0x10FB,0x10FB}, /* 10FA */ + {0x10FC,0x10FC},{0x10FD,0x10FD}, /* 10FC */ + {0x10FE,0x10FE},{0x10FF,0x10FF} /* 10FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page1D[256]={ + {0x1D00,0x1D00},{0x1D01,0x1D01}, /* 1D00 */ + {0x1D02,0x1D02},{0x1D03,0x1D03}, /* 1D02 */ + {0x1D04,0x1D04},{0x1D05,0x1D05}, /* 1D04 */ + {0x1D06,0x1D06},{0x1D07,0x1D07}, /* 1D06 */ + {0x1D08,0x1D08},{0x1D09,0x1D09}, /* 1D08 */ + {0x1D0A,0x1D0A},{0x1D0B,0x1D0B}, /* 1D0A */ + {0x1D0C,0x1D0C},{0x1D0D,0x1D0D}, /* 1D0C */ + {0x1D0E,0x1D0E},{0x1D0F,0x1D0F}, /* 1D0E */ + {0x1D10,0x1D10},{0x1D11,0x1D11}, /* 1D10 */ + {0x1D12,0x1D12},{0x1D13,0x1D13}, /* 1D12 */ + {0x1D14,0x1D14},{0x1D15,0x1D15}, /* 1D14 */ + {0x1D16,0x1D16},{0x1D17,0x1D17}, /* 1D16 */ + {0x1D18,0x1D18},{0x1D19,0x1D19}, /* 1D18 */ + {0x1D1A,0x1D1A},{0x1D1B,0x1D1B}, /* 1D1A */ + {0x1D1C,0x1D1C},{0x1D1D,0x1D1D}, /* 1D1C */ + {0x1D1E,0x1D1E},{0x1D1F,0x1D1F}, /* 1D1E */ + {0x1D20,0x1D20},{0x1D21,0x1D21}, /* 1D20 */ + {0x1D22,0x1D22},{0x1D23,0x1D23}, /* 1D22 */ + {0x1D24,0x1D24},{0x1D25,0x1D25}, /* 1D24 */ + {0x1D26,0x1D26},{0x1D27,0x1D27}, /* 1D26 */ + {0x1D28,0x1D28},{0x1D29,0x1D29}, /* 1D28 */ + {0x1D2A,0x1D2A},{0x1D2B,0x1D2B}, /* 1D2A */ + {0x1D2C,0x1D2C},{0x1D2D,0x1D2D}, /* 1D2C */ + {0x1D2E,0x1D2E},{0x1D2F,0x1D2F}, /* 1D2E */ + {0x1D30,0x1D30},{0x1D31,0x1D31}, /* 1D30 */ + {0x1D32,0x1D32},{0x1D33,0x1D33}, /* 1D32 */ + {0x1D34,0x1D34},{0x1D35,0x1D35}, /* 1D34 */ + {0x1D36,0x1D36},{0x1D37,0x1D37}, /* 1D36 */ + {0x1D38,0x1D38},{0x1D39,0x1D39}, /* 1D38 */ + {0x1D3A,0x1D3A},{0x1D3B,0x1D3B}, /* 1D3A */ + {0x1D3C,0x1D3C},{0x1D3D,0x1D3D}, /* 1D3C */ + {0x1D3E,0x1D3E},{0x1D3F,0x1D3F}, /* 1D3E */ + {0x1D40,0x1D40},{0x1D41,0x1D41}, /* 1D40 */ + {0x1D42,0x1D42},{0x1D43,0x1D43}, /* 1D42 */ + {0x1D44,0x1D44},{0x1D45,0x1D45}, /* 1D44 */ + {0x1D46,0x1D46},{0x1D47,0x1D47}, /* 1D46 */ + {0x1D48,0x1D48},{0x1D49,0x1D49}, /* 1D48 */ + {0x1D4A,0x1D4A},{0x1D4B,0x1D4B}, /* 1D4A */ + {0x1D4C,0x1D4C},{0x1D4D,0x1D4D}, /* 1D4C */ + {0x1D4E,0x1D4E},{0x1D4F,0x1D4F}, /* 1D4E */ + {0x1D50,0x1D50},{0x1D51,0x1D51}, /* 1D50 */ + {0x1D52,0x1D52},{0x1D53,0x1D53}, /* 1D52 */ + {0x1D54,0x1D54},{0x1D55,0x1D55}, /* 1D54 */ + {0x1D56,0x1D56},{0x1D57,0x1D57}, /* 1D56 */ + {0x1D58,0x1D58},{0x1D59,0x1D59}, /* 1D58 */ + {0x1D5A,0x1D5A},{0x1D5B,0x1D5B}, /* 1D5A */ + {0x1D5C,0x1D5C},{0x1D5D,0x1D5D}, /* 1D5C */ + {0x1D5E,0x1D5E},{0x1D5F,0x1D5F}, /* 1D5E */ + {0x1D60,0x1D60},{0x1D61,0x1D61}, /* 1D60 */ + {0x1D62,0x1D62},{0x1D63,0x1D63}, /* 1D62 */ + {0x1D64,0x1D64},{0x1D65,0x1D65}, /* 1D64 */ + {0x1D66,0x1D66},{0x1D67,0x1D67}, /* 1D66 */ + {0x1D68,0x1D68},{0x1D69,0x1D69}, /* 1D68 */ + {0x1D6A,0x1D6A},{0x1D6B,0x1D6B}, /* 1D6A */ + {0x1D6C,0x1D6C},{0x1D6D,0x1D6D}, /* 1D6C */ + {0x1D6E,0x1D6E},{0x1D6F,0x1D6F}, /* 1D6E */ + {0x1D70,0x1D70},{0x1D71,0x1D71}, /* 1D70 */ + {0x1D72,0x1D72},{0x1D73,0x1D73}, /* 1D72 */ + {0x1D74,0x1D74},{0x1D75,0x1D75}, /* 1D74 */ + {0x1D76,0x1D76},{0x1D77,0x1D77}, /* 1D76 */ + {0x1D78,0x1D78},{0xA77D,0x1D79}, /* 1D78 */ + {0x1D7A,0x1D7A},{0x1D7B,0x1D7B}, /* 1D7A */ + {0x1D7C,0x1D7C},{0x2C63,0x1D7D}, /* 1D7C */ + {0x1D7E,0x1D7E},{0x1D7F,0x1D7F}, /* 1D7E */ + {0x1D80,0x1D80},{0x1D81,0x1D81}, /* 1D80 */ + {0x1D82,0x1D82},{0x1D83,0x1D83}, /* 1D82 */ + {0x1D84,0x1D84},{0x1D85,0x1D85}, /* 1D84 */ + {0x1D86,0x1D86},{0x1D87,0x1D87}, /* 1D86 */ + {0x1D88,0x1D88},{0x1D89,0x1D89}, /* 1D88 */ + {0x1D8A,0x1D8A},{0x1D8B,0x1D8B}, /* 1D8A */ + {0x1D8C,0x1D8C},{0x1D8D,0x1D8D}, /* 1D8C */ + {0x1D8E,0x1D8E},{0x1D8F,0x1D8F}, /* 1D8E */ + {0x1D90,0x1D90},{0x1D91,0x1D91}, /* 1D90 */ + {0x1D92,0x1D92},{0x1D93,0x1D93}, /* 1D92 */ + {0x1D94,0x1D94},{0x1D95,0x1D95}, /* 1D94 */ + {0x1D96,0x1D96},{0x1D97,0x1D97}, /* 1D96 */ + {0x1D98,0x1D98},{0x1D99,0x1D99}, /* 1D98 */ + {0x1D9A,0x1D9A},{0x1D9B,0x1D9B}, /* 1D9A */ + {0x1D9C,0x1D9C},{0x1D9D,0x1D9D}, /* 1D9C */ + {0x1D9E,0x1D9E},{0x1D9F,0x1D9F}, /* 1D9E */ + {0x1DA0,0x1DA0},{0x1DA1,0x1DA1}, /* 1DA0 */ + {0x1DA2,0x1DA2},{0x1DA3,0x1DA3}, /* 1DA2 */ + {0x1DA4,0x1DA4},{0x1DA5,0x1DA5}, /* 1DA4 */ + {0x1DA6,0x1DA6},{0x1DA7,0x1DA7}, /* 1DA6 */ + {0x1DA8,0x1DA8},{0x1DA9,0x1DA9}, /* 1DA8 */ + {0x1DAA,0x1DAA},{0x1DAB,0x1DAB}, /* 1DAA */ + {0x1DAC,0x1DAC},{0x1DAD,0x1DAD}, /* 1DAC */ + {0x1DAE,0x1DAE},{0x1DAF,0x1DAF}, /* 1DAE */ + {0x1DB0,0x1DB0},{0x1DB1,0x1DB1}, /* 1DB0 */ + {0x1DB2,0x1DB2},{0x1DB3,0x1DB3}, /* 1DB2 */ + {0x1DB4,0x1DB4},{0x1DB5,0x1DB5}, /* 1DB4 */ + {0x1DB6,0x1DB6},{0x1DB7,0x1DB7}, /* 1DB6 */ + {0x1DB8,0x1DB8},{0x1DB9,0x1DB9}, /* 1DB8 */ + {0x1DBA,0x1DBA},{0x1DBB,0x1DBB}, /* 1DBA */ + {0x1DBC,0x1DBC},{0x1DBD,0x1DBD}, /* 1DBC */ + {0x1DBE,0x1DBE},{0x1DBF,0x1DBF}, /* 1DBE */ + {0x1DC0,0x1DC0},{0x1DC1,0x1DC1}, /* 1DC0 */ + {0x1DC2,0x1DC2},{0x1DC3,0x1DC3}, /* 1DC2 */ + {0x1DC4,0x1DC4},{0x1DC5,0x1DC5}, /* 1DC4 */ + {0x1DC6,0x1DC6},{0x1DC7,0x1DC7}, /* 1DC6 */ + {0x1DC8,0x1DC8},{0x1DC9,0x1DC9}, /* 1DC8 */ + {0x1DCA,0x1DCA},{0x1DCB,0x1DCB}, /* 1DCA */ + {0x1DCC,0x1DCC},{0x1DCD,0x1DCD}, /* 1DCC */ + {0x1DCE,0x1DCE},{0x1DCF,0x1DCF}, /* 1DCE */ + {0x1DD0,0x1DD0},{0x1DD1,0x1DD1}, /* 1DD0 */ + {0x1DD2,0x1DD2},{0x1DD3,0x1DD3}, /* 1DD2 */ + {0x1DD4,0x1DD4},{0x1DD5,0x1DD5}, /* 1DD4 */ + {0x1DD6,0x1DD6},{0x1DD7,0x1DD7}, /* 1DD6 */ + {0x1DD8,0x1DD8},{0x1DD9,0x1DD9}, /* 1DD8 */ + {0x1DDA,0x1DDA},{0x1DDB,0x1DDB}, /* 1DDA */ + {0x1DDC,0x1DDC},{0x1DDD,0x1DDD}, /* 1DDC */ + {0x1DDE,0x1DDE},{0x1DDF,0x1DDF}, /* 1DDE */ + {0x1DE0,0x1DE0},{0x1DE1,0x1DE1}, /* 1DE0 */ + {0x1DE2,0x1DE2},{0x1DE3,0x1DE3}, /* 1DE2 */ + {0x1DE4,0x1DE4},{0x1DE5,0x1DE5}, /* 1DE4 */ + {0x1DE6,0x1DE6},{0x1DE7,0x1DE7}, /* 1DE6 */ + {0x1DE8,0x1DE8},{0x1DE9,0x1DE9}, /* 1DE8 */ + {0x1DEA,0x1DEA},{0x1DEB,0x1DEB}, /* 1DEA */ + {0x1DEC,0x1DEC},{0x1DED,0x1DED}, /* 1DEC */ + {0x1DEE,0x1DEE},{0x1DEF,0x1DEF}, /* 1DEE */ + {0x1DF0,0x1DF0},{0x1DF1,0x1DF1}, /* 1DF0 */ + {0x1DF2,0x1DF2},{0x1DF3,0x1DF3}, /* 1DF2 */ + {0x1DF4,0x1DF4},{0x1DF5,0x1DF5}, /* 1DF4 */ + {0x1DF6,0x1DF6},{0x1DF7,0x1DF7}, /* 1DF6 */ + {0x1DF8,0x1DF8},{0x1DF9,0x1DF9}, /* 1DF8 */ + {0x1DFA,0x1DFA},{0x1DFB,0x1DFB}, /* 1DFA */ + {0x1DFC,0x1DFC},{0x1DFD,0x1DFD}, /* 1DFC */ + {0x1DFE,0x1DFE},{0x1DFF,0x1DFF} /* 1DFE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page1E[256]={ + {0x1E00,0x1E01},{0x1E00,0x1E01}, /* 1E00 */ + {0x1E02,0x1E03},{0x1E02,0x1E03}, /* 1E02 */ + {0x1E04,0x1E05},{0x1E04,0x1E05}, /* 1E04 */ + {0x1E06,0x1E07},{0x1E06,0x1E07}, /* 1E06 */ + {0x1E08,0x1E09},{0x1E08,0x1E09}, /* 1E08 */ + {0x1E0A,0x1E0B},{0x1E0A,0x1E0B}, /* 1E0A */ + {0x1E0C,0x1E0D},{0x1E0C,0x1E0D}, /* 1E0C */ + {0x1E0E,0x1E0F},{0x1E0E,0x1E0F}, /* 1E0E */ + {0x1E10,0x1E11},{0x1E10,0x1E11}, /* 1E10 */ + {0x1E12,0x1E13},{0x1E12,0x1E13}, /* 1E12 */ + {0x1E14,0x1E15},{0x1E14,0x1E15}, /* 1E14 */ + {0x1E16,0x1E17},{0x1E16,0x1E17}, /* 1E16 */ + {0x1E18,0x1E19},{0x1E18,0x1E19}, /* 1E18 */ + {0x1E1A,0x1E1B},{0x1E1A,0x1E1B}, /* 1E1A */ + {0x1E1C,0x1E1D},{0x1E1C,0x1E1D}, /* 1E1C */ + {0x1E1E,0x1E1F},{0x1E1E,0x1E1F}, /* 1E1E */ + {0x1E20,0x1E21},{0x1E20,0x1E21}, /* 1E20 */ + {0x1E22,0x1E23},{0x1E22,0x1E23}, /* 1E22 */ + {0x1E24,0x1E25},{0x1E24,0x1E25}, /* 1E24 */ + {0x1E26,0x1E27},{0x1E26,0x1E27}, /* 1E26 */ + {0x1E28,0x1E29},{0x1E28,0x1E29}, /* 1E28 */ + {0x1E2A,0x1E2B},{0x1E2A,0x1E2B}, /* 1E2A */ + {0x1E2C,0x1E2D},{0x1E2C,0x1E2D}, /* 1E2C */ + {0x1E2E,0x1E2F},{0x1E2E,0x1E2F}, /* 1E2E */ + {0x1E30,0x1E31},{0x1E30,0x1E31}, /* 1E30 */ + {0x1E32,0x1E33},{0x1E32,0x1E33}, /* 1E32 */ + {0x1E34,0x1E35},{0x1E34,0x1E35}, /* 1E34 */ + {0x1E36,0x1E37},{0x1E36,0x1E37}, /* 1E36 */ + {0x1E38,0x1E39},{0x1E38,0x1E39}, /* 1E38 */ + {0x1E3A,0x1E3B},{0x1E3A,0x1E3B}, /* 1E3A */ + {0x1E3C,0x1E3D},{0x1E3C,0x1E3D}, /* 1E3C */ + {0x1E3E,0x1E3F},{0x1E3E,0x1E3F}, /* 1E3E */ + {0x1E40,0x1E41},{0x1E40,0x1E41}, /* 1E40 */ + {0x1E42,0x1E43},{0x1E42,0x1E43}, /* 1E42 */ + {0x1E44,0x1E45},{0x1E44,0x1E45}, /* 1E44 */ + {0x1E46,0x1E47},{0x1E46,0x1E47}, /* 1E46 */ + {0x1E48,0x1E49},{0x1E48,0x1E49}, /* 1E48 */ + {0x1E4A,0x1E4B},{0x1E4A,0x1E4B}, /* 1E4A */ + {0x1E4C,0x1E4D},{0x1E4C,0x1E4D}, /* 1E4C */ + {0x1E4E,0x1E4F},{0x1E4E,0x1E4F}, /* 1E4E */ + {0x1E50,0x1E51},{0x1E50,0x1E51}, /* 1E50 */ + {0x1E52,0x1E53},{0x1E52,0x1E53}, /* 1E52 */ + {0x1E54,0x1E55},{0x1E54,0x1E55}, /* 1E54 */ + {0x1E56,0x1E57},{0x1E56,0x1E57}, /* 1E56 */ + {0x1E58,0x1E59},{0x1E58,0x1E59}, /* 1E58 */ + {0x1E5A,0x1E5B},{0x1E5A,0x1E5B}, /* 1E5A */ + {0x1E5C,0x1E5D},{0x1E5C,0x1E5D}, /* 1E5C */ + {0x1E5E,0x1E5F},{0x1E5E,0x1E5F}, /* 1E5E */ + {0x1E60,0x1E61},{0x1E60,0x1E61}, /* 1E60 */ + {0x1E62,0x1E63},{0x1E62,0x1E63}, /* 1E62 */ + {0x1E64,0x1E65},{0x1E64,0x1E65}, /* 1E64 */ + {0x1E66,0x1E67},{0x1E66,0x1E67}, /* 1E66 */ + {0x1E68,0x1E69},{0x1E68,0x1E69}, /* 1E68 */ + {0x1E6A,0x1E6B},{0x1E6A,0x1E6B}, /* 1E6A */ + {0x1E6C,0x1E6D},{0x1E6C,0x1E6D}, /* 1E6C */ + {0x1E6E,0x1E6F},{0x1E6E,0x1E6F}, /* 1E6E */ + {0x1E70,0x1E71},{0x1E70,0x1E71}, /* 1E70 */ + {0x1E72,0x1E73},{0x1E72,0x1E73}, /* 1E72 */ + {0x1E74,0x1E75},{0x1E74,0x1E75}, /* 1E74 */ + {0x1E76,0x1E77},{0x1E76,0x1E77}, /* 1E76 */ + {0x1E78,0x1E79},{0x1E78,0x1E79}, /* 1E78 */ + {0x1E7A,0x1E7B},{0x1E7A,0x1E7B}, /* 1E7A */ + {0x1E7C,0x1E7D},{0x1E7C,0x1E7D}, /* 1E7C */ + {0x1E7E,0x1E7F},{0x1E7E,0x1E7F}, /* 1E7E */ + {0x1E80,0x1E81},{0x1E80,0x1E81}, /* 1E80 */ + {0x1E82,0x1E83},{0x1E82,0x1E83}, /* 1E82 */ + {0x1E84,0x1E85},{0x1E84,0x1E85}, /* 1E84 */ + {0x1E86,0x1E87},{0x1E86,0x1E87}, /* 1E86 */ + {0x1E88,0x1E89},{0x1E88,0x1E89}, /* 1E88 */ + {0x1E8A,0x1E8B},{0x1E8A,0x1E8B}, /* 1E8A */ + {0x1E8C,0x1E8D},{0x1E8C,0x1E8D}, /* 1E8C */ + {0x1E8E,0x1E8F},{0x1E8E,0x1E8F}, /* 1E8E */ + {0x1E90,0x1E91},{0x1E90,0x1E91}, /* 1E90 */ + {0x1E92,0x1E93},{0x1E92,0x1E93}, /* 1E92 */ + {0x1E94,0x1E95},{0x1E94,0x1E95}, /* 1E94 */ + {0x1E96,0x1E96},{0x1E97,0x1E97}, /* 1E96 */ + {0x1E98,0x1E98},{0x1E99,0x1E99}, /* 1E98 */ + {0x1E9A,0x1E9A},{0x1E60,0x1E9B}, /* 1E9A */ + {0x1E9C,0x1E9C},{0x1E9D,0x1E9D}, /* 1E9C */ + {0x1E9E,0x00DF},{0x1E9F,0x1E9F}, /* 1E9E */ + {0x1EA0,0x1EA1},{0x1EA0,0x1EA1}, /* 1EA0 */ + {0x1EA2,0x1EA3},{0x1EA2,0x1EA3}, /* 1EA2 */ + {0x1EA4,0x1EA5},{0x1EA4,0x1EA5}, /* 1EA4 */ + {0x1EA6,0x1EA7},{0x1EA6,0x1EA7}, /* 1EA6 */ + {0x1EA8,0x1EA9},{0x1EA8,0x1EA9}, /* 1EA8 */ + {0x1EAA,0x1EAB},{0x1EAA,0x1EAB}, /* 1EAA */ + {0x1EAC,0x1EAD},{0x1EAC,0x1EAD}, /* 1EAC */ + {0x1EAE,0x1EAF},{0x1EAE,0x1EAF}, /* 1EAE */ + {0x1EB0,0x1EB1},{0x1EB0,0x1EB1}, /* 1EB0 */ + {0x1EB2,0x1EB3},{0x1EB2,0x1EB3}, /* 1EB2 */ + {0x1EB4,0x1EB5},{0x1EB4,0x1EB5}, /* 1EB4 */ + {0x1EB6,0x1EB7},{0x1EB6,0x1EB7}, /* 1EB6 */ + {0x1EB8,0x1EB9},{0x1EB8,0x1EB9}, /* 1EB8 */ + {0x1EBA,0x1EBB},{0x1EBA,0x1EBB}, /* 1EBA */ + {0x1EBC,0x1EBD},{0x1EBC,0x1EBD}, /* 1EBC */ + {0x1EBE,0x1EBF},{0x1EBE,0x1EBF}, /* 1EBE */ + {0x1EC0,0x1EC1},{0x1EC0,0x1EC1}, /* 1EC0 */ + {0x1EC2,0x1EC3},{0x1EC2,0x1EC3}, /* 1EC2 */ + {0x1EC4,0x1EC5},{0x1EC4,0x1EC5}, /* 1EC4 */ + {0x1EC6,0x1EC7},{0x1EC6,0x1EC7}, /* 1EC6 */ + {0x1EC8,0x1EC9},{0x1EC8,0x1EC9}, /* 1EC8 */ + {0x1ECA,0x1ECB},{0x1ECA,0x1ECB}, /* 1ECA */ + {0x1ECC,0x1ECD},{0x1ECC,0x1ECD}, /* 1ECC */ + {0x1ECE,0x1ECF},{0x1ECE,0x1ECF}, /* 1ECE */ + {0x1ED0,0x1ED1},{0x1ED0,0x1ED1}, /* 1ED0 */ + {0x1ED2,0x1ED3},{0x1ED2,0x1ED3}, /* 1ED2 */ + {0x1ED4,0x1ED5},{0x1ED4,0x1ED5}, /* 1ED4 */ + {0x1ED6,0x1ED7},{0x1ED6,0x1ED7}, /* 1ED6 */ + {0x1ED8,0x1ED9},{0x1ED8,0x1ED9}, /* 1ED8 */ + {0x1EDA,0x1EDB},{0x1EDA,0x1EDB}, /* 1EDA */ + {0x1EDC,0x1EDD},{0x1EDC,0x1EDD}, /* 1EDC */ + {0x1EDE,0x1EDF},{0x1EDE,0x1EDF}, /* 1EDE */ + {0x1EE0,0x1EE1},{0x1EE0,0x1EE1}, /* 1EE0 */ + {0x1EE2,0x1EE3},{0x1EE2,0x1EE3}, /* 1EE2 */ + {0x1EE4,0x1EE5},{0x1EE4,0x1EE5}, /* 1EE4 */ + {0x1EE6,0x1EE7},{0x1EE6,0x1EE7}, /* 1EE6 */ + {0x1EE8,0x1EE9},{0x1EE8,0x1EE9}, /* 1EE8 */ + {0x1EEA,0x1EEB},{0x1EEA,0x1EEB}, /* 1EEA */ + {0x1EEC,0x1EED},{0x1EEC,0x1EED}, /* 1EEC */ + {0x1EEE,0x1EEF},{0x1EEE,0x1EEF}, /* 1EEE */ + {0x1EF0,0x1EF1},{0x1EF0,0x1EF1}, /* 1EF0 */ + {0x1EF2,0x1EF3},{0x1EF2,0x1EF3}, /* 1EF2 */ + {0x1EF4,0x1EF5},{0x1EF4,0x1EF5}, /* 1EF4 */ + {0x1EF6,0x1EF7},{0x1EF6,0x1EF7}, /* 1EF6 */ + {0x1EF8,0x1EF9},{0x1EF8,0x1EF9}, /* 1EF8 */ + {0x1EFA,0x1EFB},{0x1EFA,0x1EFB}, /* 1EFA */ + {0x1EFC,0x1EFD},{0x1EFC,0x1EFD}, /* 1EFC */ + {0x1EFE,0x1EFF},{0x1EFE,0x1EFF} /* 1EFE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page1F[256]={ + {0x1F08,0x1F00},{0x1F09,0x1F01}, /* 1F00 */ + {0x1F0A,0x1F02},{0x1F0B,0x1F03}, /* 1F02 */ + {0x1F0C,0x1F04},{0x1F0D,0x1F05}, /* 1F04 */ + {0x1F0E,0x1F06},{0x1F0F,0x1F07}, /* 1F06 */ + {0x1F08,0x1F00},{0x1F09,0x1F01}, /* 1F08 */ + {0x1F0A,0x1F02},{0x1F0B,0x1F03}, /* 1F0A */ + {0x1F0C,0x1F04},{0x1F0D,0x1F05}, /* 1F0C */ + {0x1F0E,0x1F06},{0x1F0F,0x1F07}, /* 1F0E */ + {0x1F18,0x1F10},{0x1F19,0x1F11}, /* 1F10 */ + {0x1F1A,0x1F12},{0x1F1B,0x1F13}, /* 1F12 */ + {0x1F1C,0x1F14},{0x1F1D,0x1F15}, /* 1F14 */ + {0x1F16,0x1F16},{0x1F17,0x1F17}, /* 1F16 */ + {0x1F18,0x1F10},{0x1F19,0x1F11}, /* 1F18 */ + {0x1F1A,0x1F12},{0x1F1B,0x1F13}, /* 1F1A */ + {0x1F1C,0x1F14},{0x1F1D,0x1F15}, /* 1F1C */ + {0x1F1E,0x1F1E},{0x1F1F,0x1F1F}, /* 1F1E */ + {0x1F28,0x1F20},{0x1F29,0x1F21}, /* 1F20 */ + {0x1F2A,0x1F22},{0x1F2B,0x1F23}, /* 1F22 */ + {0x1F2C,0x1F24},{0x1F2D,0x1F25}, /* 1F24 */ + {0x1F2E,0x1F26},{0x1F2F,0x1F27}, /* 1F26 */ + {0x1F28,0x1F20},{0x1F29,0x1F21}, /* 1F28 */ + {0x1F2A,0x1F22},{0x1F2B,0x1F23}, /* 1F2A */ + {0x1F2C,0x1F24},{0x1F2D,0x1F25}, /* 1F2C */ + {0x1F2E,0x1F26},{0x1F2F,0x1F27}, /* 1F2E */ + {0x1F38,0x1F30},{0x1F39,0x1F31}, /* 1F30 */ + {0x1F3A,0x1F32},{0x1F3B,0x1F33}, /* 1F32 */ + {0x1F3C,0x1F34},{0x1F3D,0x1F35}, /* 1F34 */ + {0x1F3E,0x1F36},{0x1F3F,0x1F37}, /* 1F36 */ + {0x1F38,0x1F30},{0x1F39,0x1F31}, /* 1F38 */ + {0x1F3A,0x1F32},{0x1F3B,0x1F33}, /* 1F3A */ + {0x1F3C,0x1F34},{0x1F3D,0x1F35}, /* 1F3C */ + {0x1F3E,0x1F36},{0x1F3F,0x1F37}, /* 1F3E */ + {0x1F48,0x1F40},{0x1F49,0x1F41}, /* 1F40 */ + {0x1F4A,0x1F42},{0x1F4B,0x1F43}, /* 1F42 */ + {0x1F4C,0x1F44},{0x1F4D,0x1F45}, /* 1F44 */ + {0x1F46,0x1F46},{0x1F47,0x1F47}, /* 1F46 */ + {0x1F48,0x1F40},{0x1F49,0x1F41}, /* 1F48 */ + {0x1F4A,0x1F42},{0x1F4B,0x1F43}, /* 1F4A */ + {0x1F4C,0x1F44},{0x1F4D,0x1F45}, /* 1F4C */ + {0x1F4E,0x1F4E},{0x1F4F,0x1F4F}, /* 1F4E */ + {0x1F50,0x1F50},{0x1F59,0x1F51}, /* 1F50 */ + {0x1F52,0x1F52},{0x1F5B,0x1F53}, /* 1F52 */ + {0x1F54,0x1F54},{0x1F5D,0x1F55}, /* 1F54 */ + {0x1F56,0x1F56},{0x1F5F,0x1F57}, /* 1F56 */ + {0x1F58,0x1F58},{0x1F59,0x1F51}, /* 1F58 */ + {0x1F5A,0x1F5A},{0x1F5B,0x1F53}, /* 1F5A */ + {0x1F5C,0x1F5C},{0x1F5D,0x1F55}, /* 1F5C */ + {0x1F5E,0x1F5E},{0x1F5F,0x1F57}, /* 1F5E */ + {0x1F68,0x1F60},{0x1F69,0x1F61}, /* 1F60 */ + {0x1F6A,0x1F62},{0x1F6B,0x1F63}, /* 1F62 */ + {0x1F6C,0x1F64},{0x1F6D,0x1F65}, /* 1F64 */ + {0x1F6E,0x1F66},{0x1F6F,0x1F67}, /* 1F66 */ + {0x1F68,0x1F60},{0x1F69,0x1F61}, /* 1F68 */ + {0x1F6A,0x1F62},{0x1F6B,0x1F63}, /* 1F6A */ + {0x1F6C,0x1F64},{0x1F6D,0x1F65}, /* 1F6C */ + {0x1F6E,0x1F66},{0x1F6F,0x1F67}, /* 1F6E */ + {0x1FBA,0x1F70},{0x1FBB,0x1F71}, /* 1F70 */ + {0x1FC8,0x1F72},{0x1FC9,0x1F73}, /* 1F72 */ + {0x1FCA,0x1F74},{0x1FCB,0x1F75}, /* 1F74 */ + {0x1FDA,0x1F76},{0x1FDB,0x1F77}, /* 1F76 */ + {0x1FF8,0x1F78},{0x1FF9,0x1F79}, /* 1F78 */ + {0x1FEA,0x1F7A},{0x1FEB,0x1F7B}, /* 1F7A */ + {0x1FFA,0x1F7C},{0x1FFB,0x1F7D}, /* 1F7C */ + {0x1F7E,0x1F7E},{0x1F7F,0x1F7F}, /* 1F7E */ + {0x1F88,0x1F80},{0x1F89,0x1F81}, /* 1F80 */ + {0x1F8A,0x1F82},{0x1F8B,0x1F83}, /* 1F82 */ + {0x1F8C,0x1F84},{0x1F8D,0x1F85}, /* 1F84 */ + {0x1F8E,0x1F86},{0x1F8F,0x1F87}, /* 1F86 */ + {0x1F88,0x1F80},{0x1F89,0x1F81}, /* 1F88 */ + {0x1F8A,0x1F82},{0x1F8B,0x1F83}, /* 1F8A */ + {0x1F8C,0x1F84},{0x1F8D,0x1F85}, /* 1F8C */ + {0x1F8E,0x1F86},{0x1F8F,0x1F87}, /* 1F8E */ + {0x1F98,0x1F90},{0x1F99,0x1F91}, /* 1F90 */ + {0x1F9A,0x1F92},{0x1F9B,0x1F93}, /* 1F92 */ + {0x1F9C,0x1F94},{0x1F9D,0x1F95}, /* 1F94 */ + {0x1F9E,0x1F96},{0x1F9F,0x1F97}, /* 1F96 */ + {0x1F98,0x1F90},{0x1F99,0x1F91}, /* 1F98 */ + {0x1F9A,0x1F92},{0x1F9B,0x1F93}, /* 1F9A */ + {0x1F9C,0x1F94},{0x1F9D,0x1F95}, /* 1F9C */ + {0x1F9E,0x1F96},{0x1F9F,0x1F97}, /* 1F9E */ + {0x1FA8,0x1FA0},{0x1FA9,0x1FA1}, /* 1FA0 */ + {0x1FAA,0x1FA2},{0x1FAB,0x1FA3}, /* 1FA2 */ + {0x1FAC,0x1FA4},{0x1FAD,0x1FA5}, /* 1FA4 */ + {0x1FAE,0x1FA6},{0x1FAF,0x1FA7}, /* 1FA6 */ + {0x1FA8,0x1FA0},{0x1FA9,0x1FA1}, /* 1FA8 */ + {0x1FAA,0x1FA2},{0x1FAB,0x1FA3}, /* 1FAA */ + {0x1FAC,0x1FA4},{0x1FAD,0x1FA5}, /* 1FAC */ + {0x1FAE,0x1FA6},{0x1FAF,0x1FA7}, /* 1FAE */ + {0x1FB8,0x1FB0},{0x1FB9,0x1FB1}, /* 1FB0 */ + {0x1FB2,0x1FB2},{0x1FBC,0x1FB3}, /* 1FB2 */ + {0x1FB4,0x1FB4},{0x1FB5,0x1FB5}, /* 1FB4 */ + {0x1FB6,0x1FB6},{0x1FB7,0x1FB7}, /* 1FB6 */ + {0x1FB8,0x1FB0},{0x1FB9,0x1FB1}, /* 1FB8 */ + {0x1FBA,0x1F70},{0x1FBB,0x1F71}, /* 1FBA */ + {0x1FBC,0x1FB3},{0x1FBD,0x1FBD}, /* 1FBC */ + {0x0399,0x1FBE},{0x1FBF,0x1FBF}, /* 1FBE */ + {0x1FC0,0x1FC0},{0x1FC1,0x1FC1}, /* 1FC0 */ + {0x1FC2,0x1FC2},{0x1FCC,0x1FC3}, /* 1FC2 */ + {0x1FC4,0x1FC4},{0x1FC5,0x1FC5}, /* 1FC4 */ + {0x1FC6,0x1FC6},{0x1FC7,0x1FC7}, /* 1FC6 */ + {0x1FC8,0x1F72},{0x1FC9,0x1F73}, /* 1FC8 */ + {0x1FCA,0x1F74},{0x1FCB,0x1F75}, /* 1FCA */ + {0x1FCC,0x1FC3},{0x1FCD,0x1FCD}, /* 1FCC */ + {0x1FCE,0x1FCE},{0x1FCF,0x1FCF}, /* 1FCE */ + {0x1FD8,0x1FD0},{0x1FD9,0x1FD1}, /* 1FD0 */ + {0x1FD2,0x1FD2},{0x1FD3,0x1FD3}, /* 1FD2 */ + {0x1FD4,0x1FD4},{0x1FD5,0x1FD5}, /* 1FD4 */ + {0x1FD6,0x1FD6},{0x1FD7,0x1FD7}, /* 1FD6 */ + {0x1FD8,0x1FD0},{0x1FD9,0x1FD1}, /* 1FD8 */ + {0x1FDA,0x1F76},{0x1FDB,0x1F77}, /* 1FDA */ + {0x1FDC,0x1FDC},{0x1FDD,0x1FDD}, /* 1FDC */ + {0x1FDE,0x1FDE},{0x1FDF,0x1FDF}, /* 1FDE */ + {0x1FE8,0x1FE0},{0x1FE9,0x1FE1}, /* 1FE0 */ + {0x1FE2,0x1FE2},{0x1FE3,0x1FE3}, /* 1FE2 */ + {0x1FE4,0x1FE4},{0x1FEC,0x1FE5}, /* 1FE4 */ + {0x1FE6,0x1FE6},{0x1FE7,0x1FE7}, /* 1FE6 */ + {0x1FE8,0x1FE0},{0x1FE9,0x1FE1}, /* 1FE8 */ + {0x1FEA,0x1F7A},{0x1FEB,0x1F7B}, /* 1FEA */ + {0x1FEC,0x1FE5},{0x1FED,0x1FED}, /* 1FEC */ + {0x1FEE,0x1FEE},{0x1FEF,0x1FEF}, /* 1FEE */ + {0x1FF0,0x1FF0},{0x1FF1,0x1FF1}, /* 1FF0 */ + {0x1FF2,0x1FF2},{0x1FFC,0x1FF3}, /* 1FF2 */ + {0x1FF4,0x1FF4},{0x1FF5,0x1FF5}, /* 1FF4 */ + {0x1FF6,0x1FF6},{0x1FF7,0x1FF7}, /* 1FF6 */ + {0x1FF8,0x1F78},{0x1FF9,0x1F79}, /* 1FF8 */ + {0x1FFA,0x1F7C},{0x1FFB,0x1F7D}, /* 1FFA */ + {0x1FFC,0x1FF3},{0x1FFD,0x1FFD}, /* 1FFC */ + {0x1FFE,0x1FFE},{0x1FFF,0x1FFF} /* 1FFE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page21[256]={ + {0x2100,0x2100},{0x2101,0x2101}, /* 2100 */ + {0x2102,0x2102},{0x2103,0x2103}, /* 2102 */ + {0x2104,0x2104},{0x2105,0x2105}, /* 2104 */ + {0x2106,0x2106},{0x2107,0x2107}, /* 2106 */ + {0x2108,0x2108},{0x2109,0x2109}, /* 2108 */ + {0x210A,0x210A},{0x210B,0x210B}, /* 210A */ + {0x210C,0x210C},{0x210D,0x210D}, /* 210C */ + {0x210E,0x210E},{0x210F,0x210F}, /* 210E */ + {0x2110,0x2110},{0x2111,0x2111}, /* 2110 */ + {0x2112,0x2112},{0x2113,0x2113}, /* 2112 */ + {0x2114,0x2114},{0x2115,0x2115}, /* 2114 */ + {0x2116,0x2116},{0x2117,0x2117}, /* 2116 */ + {0x2118,0x2118},{0x2119,0x2119}, /* 2118 */ + {0x211A,0x211A},{0x211B,0x211B}, /* 211A */ + {0x211C,0x211C},{0x211D,0x211D}, /* 211C */ + {0x211E,0x211E},{0x211F,0x211F}, /* 211E */ + {0x2120,0x2120},{0x2121,0x2121}, /* 2120 */ + {0x2122,0x2122},{0x2123,0x2123}, /* 2122 */ + {0x2124,0x2124},{0x2125,0x2125}, /* 2124 */ + {0x2126,0x03C9},{0x2127,0x2127}, /* 2126 */ + {0x2128,0x2128},{0x2129,0x2129}, /* 2128 */ + {0x212A,0x006B},{0x212B,0x00E5}, /* 212A */ + {0x212C,0x212C},{0x212D,0x212D}, /* 212C */ + {0x212E,0x212E},{0x212F,0x212F}, /* 212E */ + {0x2130,0x2130},{0x2131,0x2131}, /* 2130 */ + {0x2132,0x214E},{0x2133,0x2133}, /* 2132 */ + {0x2134,0x2134},{0x2135,0x2135}, /* 2134 */ + {0x2136,0x2136},{0x2137,0x2137}, /* 2136 */ + {0x2138,0x2138},{0x2139,0x2139}, /* 2138 */ + {0x213A,0x213A},{0x213B,0x213B}, /* 213A */ + {0x213C,0x213C},{0x213D,0x213D}, /* 213C */ + {0x213E,0x213E},{0x213F,0x213F}, /* 213E */ + {0x2140,0x2140},{0x2141,0x2141}, /* 2140 */ + {0x2142,0x2142},{0x2143,0x2143}, /* 2142 */ + {0x2144,0x2144},{0x2145,0x2145}, /* 2144 */ + {0x2146,0x2146},{0x2147,0x2147}, /* 2146 */ + {0x2148,0x2148},{0x2149,0x2149}, /* 2148 */ + {0x214A,0x214A},{0x214B,0x214B}, /* 214A */ + {0x214C,0x214C},{0x214D,0x214D}, /* 214C */ + {0x2132,0x214E},{0x214F,0x214F}, /* 214E */ + {0x2150,0x2150},{0x2151,0x2151}, /* 2150 */ + {0x2152,0x2152},{0x2153,0x2153}, /* 2152 */ + {0x2154,0x2154},{0x2155,0x2155}, /* 2154 */ + {0x2156,0x2156},{0x2157,0x2157}, /* 2156 */ + {0x2158,0x2158},{0x2159,0x2159}, /* 2158 */ + {0x215A,0x215A},{0x215B,0x215B}, /* 215A */ + {0x215C,0x215C},{0x215D,0x215D}, /* 215C */ + {0x215E,0x215E},{0x215F,0x215F}, /* 215E */ + {0x2160,0x2170},{0x2161,0x2171}, /* 2160 */ + {0x2162,0x2172},{0x2163,0x2173}, /* 2162 */ + {0x2164,0x2174},{0x2165,0x2175}, /* 2164 */ + {0x2166,0x2176},{0x2167,0x2177}, /* 2166 */ + {0x2168,0x2178},{0x2169,0x2179}, /* 2168 */ + {0x216A,0x217A},{0x216B,0x217B}, /* 216A */ + {0x216C,0x217C},{0x216D,0x217D}, /* 216C */ + {0x216E,0x217E},{0x216F,0x217F}, /* 216E */ + {0x2160,0x2170},{0x2161,0x2171}, /* 2170 */ + {0x2162,0x2172},{0x2163,0x2173}, /* 2172 */ + {0x2164,0x2174},{0x2165,0x2175}, /* 2174 */ + {0x2166,0x2176},{0x2167,0x2177}, /* 2176 */ + {0x2168,0x2178},{0x2169,0x2179}, /* 2178 */ + {0x216A,0x217A},{0x216B,0x217B}, /* 217A */ + {0x216C,0x217C},{0x216D,0x217D}, /* 217C */ + {0x216E,0x217E},{0x216F,0x217F}, /* 217E */ + {0x2180,0x2180},{0x2181,0x2181}, /* 2180 */ + {0x2182,0x2182},{0x2183,0x2184}, /* 2182 */ + {0x2183,0x2184},{0x2185,0x2185}, /* 2184 */ + {0x2186,0x2186},{0x2187,0x2187}, /* 2186 */ + {0x2188,0x2188},{0x2189,0x2189}, /* 2188 */ + {0x218A,0x218A},{0x218B,0x218B}, /* 218A */ + {0x218C,0x218C},{0x218D,0x218D}, /* 218C */ + {0x218E,0x218E},{0x218F,0x218F}, /* 218E */ + {0x2190,0x2190},{0x2191,0x2191}, /* 2190 */ + {0x2192,0x2192},{0x2193,0x2193}, /* 2192 */ + {0x2194,0x2194},{0x2195,0x2195}, /* 2194 */ + {0x2196,0x2196},{0x2197,0x2197}, /* 2196 */ + {0x2198,0x2198},{0x2199,0x2199}, /* 2198 */ + {0x219A,0x219A},{0x219B,0x219B}, /* 219A */ + {0x219C,0x219C},{0x219D,0x219D}, /* 219C */ + {0x219E,0x219E},{0x219F,0x219F}, /* 219E */ + {0x21A0,0x21A0},{0x21A1,0x21A1}, /* 21A0 */ + {0x21A2,0x21A2},{0x21A3,0x21A3}, /* 21A2 */ + {0x21A4,0x21A4},{0x21A5,0x21A5}, /* 21A4 */ + {0x21A6,0x21A6},{0x21A7,0x21A7}, /* 21A6 */ + {0x21A8,0x21A8},{0x21A9,0x21A9}, /* 21A8 */ + {0x21AA,0x21AA},{0x21AB,0x21AB}, /* 21AA */ + {0x21AC,0x21AC},{0x21AD,0x21AD}, /* 21AC */ + {0x21AE,0x21AE},{0x21AF,0x21AF}, /* 21AE */ + {0x21B0,0x21B0},{0x21B1,0x21B1}, /* 21B0 */ + {0x21B2,0x21B2},{0x21B3,0x21B3}, /* 21B2 */ + {0x21B4,0x21B4},{0x21B5,0x21B5}, /* 21B4 */ + {0x21B6,0x21B6},{0x21B7,0x21B7}, /* 21B6 */ + {0x21B8,0x21B8},{0x21B9,0x21B9}, /* 21B8 */ + {0x21BA,0x21BA},{0x21BB,0x21BB}, /* 21BA */ + {0x21BC,0x21BC},{0x21BD,0x21BD}, /* 21BC */ + {0x21BE,0x21BE},{0x21BF,0x21BF}, /* 21BE */ + {0x21C0,0x21C0},{0x21C1,0x21C1}, /* 21C0 */ + {0x21C2,0x21C2},{0x21C3,0x21C3}, /* 21C2 */ + {0x21C4,0x21C4},{0x21C5,0x21C5}, /* 21C4 */ + {0x21C6,0x21C6},{0x21C7,0x21C7}, /* 21C6 */ + {0x21C8,0x21C8},{0x21C9,0x21C9}, /* 21C8 */ + {0x21CA,0x21CA},{0x21CB,0x21CB}, /* 21CA */ + {0x21CC,0x21CC},{0x21CD,0x21CD}, /* 21CC */ + {0x21CE,0x21CE},{0x21CF,0x21CF}, /* 21CE */ + {0x21D0,0x21D0},{0x21D1,0x21D1}, /* 21D0 */ + {0x21D2,0x21D2},{0x21D3,0x21D3}, /* 21D2 */ + {0x21D4,0x21D4},{0x21D5,0x21D5}, /* 21D4 */ + {0x21D6,0x21D6},{0x21D7,0x21D7}, /* 21D6 */ + {0x21D8,0x21D8},{0x21D9,0x21D9}, /* 21D8 */ + {0x21DA,0x21DA},{0x21DB,0x21DB}, /* 21DA */ + {0x21DC,0x21DC},{0x21DD,0x21DD}, /* 21DC */ + {0x21DE,0x21DE},{0x21DF,0x21DF}, /* 21DE */ + {0x21E0,0x21E0},{0x21E1,0x21E1}, /* 21E0 */ + {0x21E2,0x21E2},{0x21E3,0x21E3}, /* 21E2 */ + {0x21E4,0x21E4},{0x21E5,0x21E5}, /* 21E4 */ + {0x21E6,0x21E6},{0x21E7,0x21E7}, /* 21E6 */ + {0x21E8,0x21E8},{0x21E9,0x21E9}, /* 21E8 */ + {0x21EA,0x21EA},{0x21EB,0x21EB}, /* 21EA */ + {0x21EC,0x21EC},{0x21ED,0x21ED}, /* 21EC */ + {0x21EE,0x21EE},{0x21EF,0x21EF}, /* 21EE */ + {0x21F0,0x21F0},{0x21F1,0x21F1}, /* 21F0 */ + {0x21F2,0x21F2},{0x21F3,0x21F3}, /* 21F2 */ + {0x21F4,0x21F4},{0x21F5,0x21F5}, /* 21F4 */ + {0x21F6,0x21F6},{0x21F7,0x21F7}, /* 21F6 */ + {0x21F8,0x21F8},{0x21F9,0x21F9}, /* 21F8 */ + {0x21FA,0x21FA},{0x21FB,0x21FB}, /* 21FA */ + {0x21FC,0x21FC},{0x21FD,0x21FD}, /* 21FC */ + {0x21FE,0x21FE},{0x21FF,0x21FF} /* 21FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page24[256]={ + {0x2400,0x2400},{0x2401,0x2401}, /* 2400 */ + {0x2402,0x2402},{0x2403,0x2403}, /* 2402 */ + {0x2404,0x2404},{0x2405,0x2405}, /* 2404 */ + {0x2406,0x2406},{0x2407,0x2407}, /* 2406 */ + {0x2408,0x2408},{0x2409,0x2409}, /* 2408 */ + {0x240A,0x240A},{0x240B,0x240B}, /* 240A */ + {0x240C,0x240C},{0x240D,0x240D}, /* 240C */ + {0x240E,0x240E},{0x240F,0x240F}, /* 240E */ + {0x2410,0x2410},{0x2411,0x2411}, /* 2410 */ + {0x2412,0x2412},{0x2413,0x2413}, /* 2412 */ + {0x2414,0x2414},{0x2415,0x2415}, /* 2414 */ + {0x2416,0x2416},{0x2417,0x2417}, /* 2416 */ + {0x2418,0x2418},{0x2419,0x2419}, /* 2418 */ + {0x241A,0x241A},{0x241B,0x241B}, /* 241A */ + {0x241C,0x241C},{0x241D,0x241D}, /* 241C */ + {0x241E,0x241E},{0x241F,0x241F}, /* 241E */ + {0x2420,0x2420},{0x2421,0x2421}, /* 2420 */ + {0x2422,0x2422},{0x2423,0x2423}, /* 2422 */ + {0x2424,0x2424},{0x2425,0x2425}, /* 2424 */ + {0x2426,0x2426},{0x2427,0x2427}, /* 2426 */ + {0x2428,0x2428},{0x2429,0x2429}, /* 2428 */ + {0x242A,0x242A},{0x242B,0x242B}, /* 242A */ + {0x242C,0x242C},{0x242D,0x242D}, /* 242C */ + {0x242E,0x242E},{0x242F,0x242F}, /* 242E */ + {0x2430,0x2430},{0x2431,0x2431}, /* 2430 */ + {0x2432,0x2432},{0x2433,0x2433}, /* 2432 */ + {0x2434,0x2434},{0x2435,0x2435}, /* 2434 */ + {0x2436,0x2436},{0x2437,0x2437}, /* 2436 */ + {0x2438,0x2438},{0x2439,0x2439}, /* 2438 */ + {0x243A,0x243A},{0x243B,0x243B}, /* 243A */ + {0x243C,0x243C},{0x243D,0x243D}, /* 243C */ + {0x243E,0x243E},{0x243F,0x243F}, /* 243E */ + {0x2440,0x2440},{0x2441,0x2441}, /* 2440 */ + {0x2442,0x2442},{0x2443,0x2443}, /* 2442 */ + {0x2444,0x2444},{0x2445,0x2445}, /* 2444 */ + {0x2446,0x2446},{0x2447,0x2447}, /* 2446 */ + {0x2448,0x2448},{0x2449,0x2449}, /* 2448 */ + {0x244A,0x244A},{0x244B,0x244B}, /* 244A */ + {0x244C,0x244C},{0x244D,0x244D}, /* 244C */ + {0x244E,0x244E},{0x244F,0x244F}, /* 244E */ + {0x2450,0x2450},{0x2451,0x2451}, /* 2450 */ + {0x2452,0x2452},{0x2453,0x2453}, /* 2452 */ + {0x2454,0x2454},{0x2455,0x2455}, /* 2454 */ + {0x2456,0x2456},{0x2457,0x2457}, /* 2456 */ + {0x2458,0x2458},{0x2459,0x2459}, /* 2458 */ + {0x245A,0x245A},{0x245B,0x245B}, /* 245A */ + {0x245C,0x245C},{0x245D,0x245D}, /* 245C */ + {0x245E,0x245E},{0x245F,0x245F}, /* 245E */ + {0x2460,0x2460},{0x2461,0x2461}, /* 2460 */ + {0x2462,0x2462},{0x2463,0x2463}, /* 2462 */ + {0x2464,0x2464},{0x2465,0x2465}, /* 2464 */ + {0x2466,0x2466},{0x2467,0x2467}, /* 2466 */ + {0x2468,0x2468},{0x2469,0x2469}, /* 2468 */ + {0x246A,0x246A},{0x246B,0x246B}, /* 246A */ + {0x246C,0x246C},{0x246D,0x246D}, /* 246C */ + {0x246E,0x246E},{0x246F,0x246F}, /* 246E */ + {0x2470,0x2470},{0x2471,0x2471}, /* 2470 */ + {0x2472,0x2472},{0x2473,0x2473}, /* 2472 */ + {0x2474,0x2474},{0x2475,0x2475}, /* 2474 */ + {0x2476,0x2476},{0x2477,0x2477}, /* 2476 */ + {0x2478,0x2478},{0x2479,0x2479}, /* 2478 */ + {0x247A,0x247A},{0x247B,0x247B}, /* 247A */ + {0x247C,0x247C},{0x247D,0x247D}, /* 247C */ + {0x247E,0x247E},{0x247F,0x247F}, /* 247E */ + {0x2480,0x2480},{0x2481,0x2481}, /* 2480 */ + {0x2482,0x2482},{0x2483,0x2483}, /* 2482 */ + {0x2484,0x2484},{0x2485,0x2485}, /* 2484 */ + {0x2486,0x2486},{0x2487,0x2487}, /* 2486 */ + {0x2488,0x2488},{0x2489,0x2489}, /* 2488 */ + {0x248A,0x248A},{0x248B,0x248B}, /* 248A */ + {0x248C,0x248C},{0x248D,0x248D}, /* 248C */ + {0x248E,0x248E},{0x248F,0x248F}, /* 248E */ + {0x2490,0x2490},{0x2491,0x2491}, /* 2490 */ + {0x2492,0x2492},{0x2493,0x2493}, /* 2492 */ + {0x2494,0x2494},{0x2495,0x2495}, /* 2494 */ + {0x2496,0x2496},{0x2497,0x2497}, /* 2496 */ + {0x2498,0x2498},{0x2499,0x2499}, /* 2498 */ + {0x249A,0x249A},{0x249B,0x249B}, /* 249A */ + {0x249C,0x249C},{0x249D,0x249D}, /* 249C */ + {0x249E,0x249E},{0x249F,0x249F}, /* 249E */ + {0x24A0,0x24A0},{0x24A1,0x24A1}, /* 24A0 */ + {0x24A2,0x24A2},{0x24A3,0x24A3}, /* 24A2 */ + {0x24A4,0x24A4},{0x24A5,0x24A5}, /* 24A4 */ + {0x24A6,0x24A6},{0x24A7,0x24A7}, /* 24A6 */ + {0x24A8,0x24A8},{0x24A9,0x24A9}, /* 24A8 */ + {0x24AA,0x24AA},{0x24AB,0x24AB}, /* 24AA */ + {0x24AC,0x24AC},{0x24AD,0x24AD}, /* 24AC */ + {0x24AE,0x24AE},{0x24AF,0x24AF}, /* 24AE */ + {0x24B0,0x24B0},{0x24B1,0x24B1}, /* 24B0 */ + {0x24B2,0x24B2},{0x24B3,0x24B3}, /* 24B2 */ + {0x24B4,0x24B4},{0x24B5,0x24B5}, /* 24B4 */ + {0x24B6,0x24D0},{0x24B7,0x24D1}, /* 24B6 */ + {0x24B8,0x24D2},{0x24B9,0x24D3}, /* 24B8 */ + {0x24BA,0x24D4},{0x24BB,0x24D5}, /* 24BA */ + {0x24BC,0x24D6},{0x24BD,0x24D7}, /* 24BC */ + {0x24BE,0x24D8},{0x24BF,0x24D9}, /* 24BE */ + {0x24C0,0x24DA},{0x24C1,0x24DB}, /* 24C0 */ + {0x24C2,0x24DC},{0x24C3,0x24DD}, /* 24C2 */ + {0x24C4,0x24DE},{0x24C5,0x24DF}, /* 24C4 */ + {0x24C6,0x24E0},{0x24C7,0x24E1}, /* 24C6 */ + {0x24C8,0x24E2},{0x24C9,0x24E3}, /* 24C8 */ + {0x24CA,0x24E4},{0x24CB,0x24E5}, /* 24CA */ + {0x24CC,0x24E6},{0x24CD,0x24E7}, /* 24CC */ + {0x24CE,0x24E8},{0x24CF,0x24E9}, /* 24CE */ + {0x24B6,0x24D0},{0x24B7,0x24D1}, /* 24D0 */ + {0x24B8,0x24D2},{0x24B9,0x24D3}, /* 24D2 */ + {0x24BA,0x24D4},{0x24BB,0x24D5}, /* 24D4 */ + {0x24BC,0x24D6},{0x24BD,0x24D7}, /* 24D6 */ + {0x24BE,0x24D8},{0x24BF,0x24D9}, /* 24D8 */ + {0x24C0,0x24DA},{0x24C1,0x24DB}, /* 24DA */ + {0x24C2,0x24DC},{0x24C3,0x24DD}, /* 24DC */ + {0x24C4,0x24DE},{0x24C5,0x24DF}, /* 24DE */ + {0x24C6,0x24E0},{0x24C7,0x24E1}, /* 24E0 */ + {0x24C8,0x24E2},{0x24C9,0x24E3}, /* 24E2 */ + {0x24CA,0x24E4},{0x24CB,0x24E5}, /* 24E4 */ + {0x24CC,0x24E6},{0x24CD,0x24E7}, /* 24E6 */ + {0x24CE,0x24E8},{0x24CF,0x24E9}, /* 24E8 */ + {0x24EA,0x24EA},{0x24EB,0x24EB}, /* 24EA */ + {0x24EC,0x24EC},{0x24ED,0x24ED}, /* 24EC */ + {0x24EE,0x24EE},{0x24EF,0x24EF}, /* 24EE */ + {0x24F0,0x24F0},{0x24F1,0x24F1}, /* 24F0 */ + {0x24F2,0x24F2},{0x24F3,0x24F3}, /* 24F2 */ + {0x24F4,0x24F4},{0x24F5,0x24F5}, /* 24F4 */ + {0x24F6,0x24F6},{0x24F7,0x24F7}, /* 24F6 */ + {0x24F8,0x24F8},{0x24F9,0x24F9}, /* 24F8 */ + {0x24FA,0x24FA},{0x24FB,0x24FB}, /* 24FA */ + {0x24FC,0x24FC},{0x24FD,0x24FD}, /* 24FC */ + {0x24FE,0x24FE},{0x24FF,0x24FF} /* 24FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page2C[256]={ + {0x2C00,0x2C30},{0x2C01,0x2C31}, /* 2C00 */ + {0x2C02,0x2C32},{0x2C03,0x2C33}, /* 2C02 */ + {0x2C04,0x2C34},{0x2C05,0x2C35}, /* 2C04 */ + {0x2C06,0x2C36},{0x2C07,0x2C37}, /* 2C06 */ + {0x2C08,0x2C38},{0x2C09,0x2C39}, /* 2C08 */ + {0x2C0A,0x2C3A},{0x2C0B,0x2C3B}, /* 2C0A */ + {0x2C0C,0x2C3C},{0x2C0D,0x2C3D}, /* 2C0C */ + {0x2C0E,0x2C3E},{0x2C0F,0x2C3F}, /* 2C0E */ + {0x2C10,0x2C40},{0x2C11,0x2C41}, /* 2C10 */ + {0x2C12,0x2C42},{0x2C13,0x2C43}, /* 2C12 */ + {0x2C14,0x2C44},{0x2C15,0x2C45}, /* 2C14 */ + {0x2C16,0x2C46},{0x2C17,0x2C47}, /* 2C16 */ + {0x2C18,0x2C48},{0x2C19,0x2C49}, /* 2C18 */ + {0x2C1A,0x2C4A},{0x2C1B,0x2C4B}, /* 2C1A */ + {0x2C1C,0x2C4C},{0x2C1D,0x2C4D}, /* 2C1C */ + {0x2C1E,0x2C4E},{0x2C1F,0x2C4F}, /* 2C1E */ + {0x2C20,0x2C50},{0x2C21,0x2C51}, /* 2C20 */ + {0x2C22,0x2C52},{0x2C23,0x2C53}, /* 2C22 */ + {0x2C24,0x2C54},{0x2C25,0x2C55}, /* 2C24 */ + {0x2C26,0x2C56},{0x2C27,0x2C57}, /* 2C26 */ + {0x2C28,0x2C58},{0x2C29,0x2C59}, /* 2C28 */ + {0x2C2A,0x2C5A},{0x2C2B,0x2C5B}, /* 2C2A */ + {0x2C2C,0x2C5C},{0x2C2D,0x2C5D}, /* 2C2C */ + {0x2C2E,0x2C5E},{0x2C2F,0x2C2F}, /* 2C2E */ + {0x2C00,0x2C30},{0x2C01,0x2C31}, /* 2C30 */ + {0x2C02,0x2C32},{0x2C03,0x2C33}, /* 2C32 */ + {0x2C04,0x2C34},{0x2C05,0x2C35}, /* 2C34 */ + {0x2C06,0x2C36},{0x2C07,0x2C37}, /* 2C36 */ + {0x2C08,0x2C38},{0x2C09,0x2C39}, /* 2C38 */ + {0x2C0A,0x2C3A},{0x2C0B,0x2C3B}, /* 2C3A */ + {0x2C0C,0x2C3C},{0x2C0D,0x2C3D}, /* 2C3C */ + {0x2C0E,0x2C3E},{0x2C0F,0x2C3F}, /* 2C3E */ + {0x2C10,0x2C40},{0x2C11,0x2C41}, /* 2C40 */ + {0x2C12,0x2C42},{0x2C13,0x2C43}, /* 2C42 */ + {0x2C14,0x2C44},{0x2C15,0x2C45}, /* 2C44 */ + {0x2C16,0x2C46},{0x2C17,0x2C47}, /* 2C46 */ + {0x2C18,0x2C48},{0x2C19,0x2C49}, /* 2C48 */ + {0x2C1A,0x2C4A},{0x2C1B,0x2C4B}, /* 2C4A */ + {0x2C1C,0x2C4C},{0x2C1D,0x2C4D}, /* 2C4C */ + {0x2C1E,0x2C4E},{0x2C1F,0x2C4F}, /* 2C4E */ + {0x2C20,0x2C50},{0x2C21,0x2C51}, /* 2C50 */ + {0x2C22,0x2C52},{0x2C23,0x2C53}, /* 2C52 */ + {0x2C24,0x2C54},{0x2C25,0x2C55}, /* 2C54 */ + {0x2C26,0x2C56},{0x2C27,0x2C57}, /* 2C56 */ + {0x2C28,0x2C58},{0x2C29,0x2C59}, /* 2C58 */ + {0x2C2A,0x2C5A},{0x2C2B,0x2C5B}, /* 2C5A */ + {0x2C2C,0x2C5C},{0x2C2D,0x2C5D}, /* 2C5C */ + {0x2C2E,0x2C5E},{0x2C5F,0x2C5F}, /* 2C5E */ + {0x2C60,0x2C61},{0x2C60,0x2C61}, /* 2C60 */ + {0x2C62,0x026B},{0x2C63,0x1D7D}, /* 2C62 */ + {0x2C64,0x027D},{0x023A,0x2C65}, /* 2C64 */ + {0x023E,0x2C66},{0x2C67,0x2C68}, /* 2C66 */ + {0x2C67,0x2C68},{0x2C69,0x2C6A}, /* 2C68 */ + {0x2C69,0x2C6A},{0x2C6B,0x2C6C}, /* 2C6A */ + {0x2C6B,0x2C6C},{0x2C6D,0x0251}, /* 2C6C */ + {0x2C6E,0x0271},{0x2C6F,0x0250}, /* 2C6E */ + {0x2C70,0x0252},{0x2C71,0x2C71}, /* 2C70 */ + {0x2C72,0x2C73},{0x2C72,0x2C73}, /* 2C72 */ + {0x2C74,0x2C74},{0x2C75,0x2C76}, /* 2C74 */ + {0x2C75,0x2C76},{0x2C77,0x2C77}, /* 2C76 */ + {0x2C78,0x2C78},{0x2C79,0x2C79}, /* 2C78 */ + {0x2C7A,0x2C7A},{0x2C7B,0x2C7B}, /* 2C7A */ + {0x2C7C,0x2C7C},{0x2C7D,0x2C7D}, /* 2C7C */ + {0x2C7E,0x023F},{0x2C7F,0x0240}, /* 2C7E */ + {0x2C80,0x2C81},{0x2C80,0x2C81}, /* 2C80 */ + {0x2C82,0x2C83},{0x2C82,0x2C83}, /* 2C82 */ + {0x2C84,0x2C85},{0x2C84,0x2C85}, /* 2C84 */ + {0x2C86,0x2C87},{0x2C86,0x2C87}, /* 2C86 */ + {0x2C88,0x2C89},{0x2C88,0x2C89}, /* 2C88 */ + {0x2C8A,0x2C8B},{0x2C8A,0x2C8B}, /* 2C8A */ + {0x2C8C,0x2C8D},{0x2C8C,0x2C8D}, /* 2C8C */ + {0x2C8E,0x2C8F},{0x2C8E,0x2C8F}, /* 2C8E */ + {0x2C90,0x2C91},{0x2C90,0x2C91}, /* 2C90 */ + {0x2C92,0x2C93},{0x2C92,0x2C93}, /* 2C92 */ + {0x2C94,0x2C95},{0x2C94,0x2C95}, /* 2C94 */ + {0x2C96,0x2C97},{0x2C96,0x2C97}, /* 2C96 */ + {0x2C98,0x2C99},{0x2C98,0x2C99}, /* 2C98 */ + {0x2C9A,0x2C9B},{0x2C9A,0x2C9B}, /* 2C9A */ + {0x2C9C,0x2C9D},{0x2C9C,0x2C9D}, /* 2C9C */ + {0x2C9E,0x2C9F},{0x2C9E,0x2C9F}, /* 2C9E */ + {0x2CA0,0x2CA1},{0x2CA0,0x2CA1}, /* 2CA0 */ + {0x2CA2,0x2CA3},{0x2CA2,0x2CA3}, /* 2CA2 */ + {0x2CA4,0x2CA5},{0x2CA4,0x2CA5}, /* 2CA4 */ + {0x2CA6,0x2CA7},{0x2CA6,0x2CA7}, /* 2CA6 */ + {0x2CA8,0x2CA9},{0x2CA8,0x2CA9}, /* 2CA8 */ + {0x2CAA,0x2CAB},{0x2CAA,0x2CAB}, /* 2CAA */ + {0x2CAC,0x2CAD},{0x2CAC,0x2CAD}, /* 2CAC */ + {0x2CAE,0x2CAF},{0x2CAE,0x2CAF}, /* 2CAE */ + {0x2CB0,0x2CB1},{0x2CB0,0x2CB1}, /* 2CB0 */ + {0x2CB2,0x2CB3},{0x2CB2,0x2CB3}, /* 2CB2 */ + {0x2CB4,0x2CB5},{0x2CB4,0x2CB5}, /* 2CB4 */ + {0x2CB6,0x2CB7},{0x2CB6,0x2CB7}, /* 2CB6 */ + {0x2CB8,0x2CB9},{0x2CB8,0x2CB9}, /* 2CB8 */ + {0x2CBA,0x2CBB},{0x2CBA,0x2CBB}, /* 2CBA */ + {0x2CBC,0x2CBD},{0x2CBC,0x2CBD}, /* 2CBC */ + {0x2CBE,0x2CBF},{0x2CBE,0x2CBF}, /* 2CBE */ + {0x2CC0,0x2CC1},{0x2CC0,0x2CC1}, /* 2CC0 */ + {0x2CC2,0x2CC3},{0x2CC2,0x2CC3}, /* 2CC2 */ + {0x2CC4,0x2CC5},{0x2CC4,0x2CC5}, /* 2CC4 */ + {0x2CC6,0x2CC7},{0x2CC6,0x2CC7}, /* 2CC6 */ + {0x2CC8,0x2CC9},{0x2CC8,0x2CC9}, /* 2CC8 */ + {0x2CCA,0x2CCB},{0x2CCA,0x2CCB}, /* 2CCA */ + {0x2CCC,0x2CCD},{0x2CCC,0x2CCD}, /* 2CCC */ + {0x2CCE,0x2CCF},{0x2CCE,0x2CCF}, /* 2CCE */ + {0x2CD0,0x2CD1},{0x2CD0,0x2CD1}, /* 2CD0 */ + {0x2CD2,0x2CD3},{0x2CD2,0x2CD3}, /* 2CD2 */ + {0x2CD4,0x2CD5},{0x2CD4,0x2CD5}, /* 2CD4 */ + {0x2CD6,0x2CD7},{0x2CD6,0x2CD7}, /* 2CD6 */ + {0x2CD8,0x2CD9},{0x2CD8,0x2CD9}, /* 2CD8 */ + {0x2CDA,0x2CDB},{0x2CDA,0x2CDB}, /* 2CDA */ + {0x2CDC,0x2CDD},{0x2CDC,0x2CDD}, /* 2CDC */ + {0x2CDE,0x2CDF},{0x2CDE,0x2CDF}, /* 2CDE */ + {0x2CE0,0x2CE1},{0x2CE0,0x2CE1}, /* 2CE0 */ + {0x2CE2,0x2CE3},{0x2CE2,0x2CE3}, /* 2CE2 */ + {0x2CE4,0x2CE4},{0x2CE5,0x2CE5}, /* 2CE4 */ + {0x2CE6,0x2CE6},{0x2CE7,0x2CE7}, /* 2CE6 */ + {0x2CE8,0x2CE8},{0x2CE9,0x2CE9}, /* 2CE8 */ + {0x2CEA,0x2CEA},{0x2CEB,0x2CEC}, /* 2CEA */ + {0x2CEB,0x2CEC},{0x2CED,0x2CEE}, /* 2CEC */ + {0x2CED,0x2CEE},{0x2CEF,0x2CEF}, /* 2CEE */ + {0x2CF0,0x2CF0},{0x2CF1,0x2CF1}, /* 2CF0 */ + {0x2CF2,0x2CF2},{0x2CF3,0x2CF3}, /* 2CF2 */ + {0x2CF4,0x2CF4},{0x2CF5,0x2CF5}, /* 2CF4 */ + {0x2CF6,0x2CF6},{0x2CF7,0x2CF7}, /* 2CF6 */ + {0x2CF8,0x2CF8},{0x2CF9,0x2CF9}, /* 2CF8 */ + {0x2CFA,0x2CFA},{0x2CFB,0x2CFB}, /* 2CFA */ + {0x2CFC,0x2CFC},{0x2CFD,0x2CFD}, /* 2CFC */ + {0x2CFE,0x2CFE},{0x2CFF,0x2CFF} /* 2CFE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page2D[256]={ + {0x10A0,0x2D00},{0x10A1,0x2D01}, /* 2D00 */ + {0x10A2,0x2D02},{0x10A3,0x2D03}, /* 2D02 */ + {0x10A4,0x2D04},{0x10A5,0x2D05}, /* 2D04 */ + {0x10A6,0x2D06},{0x10A7,0x2D07}, /* 2D06 */ + {0x10A8,0x2D08},{0x10A9,0x2D09}, /* 2D08 */ + {0x10AA,0x2D0A},{0x10AB,0x2D0B}, /* 2D0A */ + {0x10AC,0x2D0C},{0x10AD,0x2D0D}, /* 2D0C */ + {0x10AE,0x2D0E},{0x10AF,0x2D0F}, /* 2D0E */ + {0x10B0,0x2D10},{0x10B1,0x2D11}, /* 2D10 */ + {0x10B2,0x2D12},{0x10B3,0x2D13}, /* 2D12 */ + {0x10B4,0x2D14},{0x10B5,0x2D15}, /* 2D14 */ + {0x10B6,0x2D16},{0x10B7,0x2D17}, /* 2D16 */ + {0x10B8,0x2D18},{0x10B9,0x2D19}, /* 2D18 */ + {0x10BA,0x2D1A},{0x10BB,0x2D1B}, /* 2D1A */ + {0x10BC,0x2D1C},{0x10BD,0x2D1D}, /* 2D1C */ + {0x10BE,0x2D1E},{0x10BF,0x2D1F}, /* 2D1E */ + {0x10C0,0x2D20},{0x10C1,0x2D21}, /* 2D20 */ + {0x10C2,0x2D22},{0x10C3,0x2D23}, /* 2D22 */ + {0x10C4,0x2D24},{0x10C5,0x2D25}, /* 2D24 */ + {0x2D26,0x2D26},{0x2D27,0x2D27}, /* 2D26 */ + {0x2D28,0x2D28},{0x2D29,0x2D29}, /* 2D28 */ + {0x2D2A,0x2D2A},{0x2D2B,0x2D2B}, /* 2D2A */ + {0x2D2C,0x2D2C},{0x2D2D,0x2D2D}, /* 2D2C */ + {0x2D2E,0x2D2E},{0x2D2F,0x2D2F}, /* 2D2E */ + {0x2D30,0x2D30},{0x2D31,0x2D31}, /* 2D30 */ + {0x2D32,0x2D32},{0x2D33,0x2D33}, /* 2D32 */ + {0x2D34,0x2D34},{0x2D35,0x2D35}, /* 2D34 */ + {0x2D36,0x2D36},{0x2D37,0x2D37}, /* 2D36 */ + {0x2D38,0x2D38},{0x2D39,0x2D39}, /* 2D38 */ + {0x2D3A,0x2D3A},{0x2D3B,0x2D3B}, /* 2D3A */ + {0x2D3C,0x2D3C},{0x2D3D,0x2D3D}, /* 2D3C */ + {0x2D3E,0x2D3E},{0x2D3F,0x2D3F}, /* 2D3E */ + {0x2D40,0x2D40},{0x2D41,0x2D41}, /* 2D40 */ + {0x2D42,0x2D42},{0x2D43,0x2D43}, /* 2D42 */ + {0x2D44,0x2D44},{0x2D45,0x2D45}, /* 2D44 */ + {0x2D46,0x2D46},{0x2D47,0x2D47}, /* 2D46 */ + {0x2D48,0x2D48},{0x2D49,0x2D49}, /* 2D48 */ + {0x2D4A,0x2D4A},{0x2D4B,0x2D4B}, /* 2D4A */ + {0x2D4C,0x2D4C},{0x2D4D,0x2D4D}, /* 2D4C */ + {0x2D4E,0x2D4E},{0x2D4F,0x2D4F}, /* 2D4E */ + {0x2D50,0x2D50},{0x2D51,0x2D51}, /* 2D50 */ + {0x2D52,0x2D52},{0x2D53,0x2D53}, /* 2D52 */ + {0x2D54,0x2D54},{0x2D55,0x2D55}, /* 2D54 */ + {0x2D56,0x2D56},{0x2D57,0x2D57}, /* 2D56 */ + {0x2D58,0x2D58},{0x2D59,0x2D59}, /* 2D58 */ + {0x2D5A,0x2D5A},{0x2D5B,0x2D5B}, /* 2D5A */ + {0x2D5C,0x2D5C},{0x2D5D,0x2D5D}, /* 2D5C */ + {0x2D5E,0x2D5E},{0x2D5F,0x2D5F}, /* 2D5E */ + {0x2D60,0x2D60},{0x2D61,0x2D61}, /* 2D60 */ + {0x2D62,0x2D62},{0x2D63,0x2D63}, /* 2D62 */ + {0x2D64,0x2D64},{0x2D65,0x2D65}, /* 2D64 */ + {0x2D66,0x2D66},{0x2D67,0x2D67}, /* 2D66 */ + {0x2D68,0x2D68},{0x2D69,0x2D69}, /* 2D68 */ + {0x2D6A,0x2D6A},{0x2D6B,0x2D6B}, /* 2D6A */ + {0x2D6C,0x2D6C},{0x2D6D,0x2D6D}, /* 2D6C */ + {0x2D6E,0x2D6E},{0x2D6F,0x2D6F}, /* 2D6E */ + {0x2D70,0x2D70},{0x2D71,0x2D71}, /* 2D70 */ + {0x2D72,0x2D72},{0x2D73,0x2D73}, /* 2D72 */ + {0x2D74,0x2D74},{0x2D75,0x2D75}, /* 2D74 */ + {0x2D76,0x2D76},{0x2D77,0x2D77}, /* 2D76 */ + {0x2D78,0x2D78},{0x2D79,0x2D79}, /* 2D78 */ + {0x2D7A,0x2D7A},{0x2D7B,0x2D7B}, /* 2D7A */ + {0x2D7C,0x2D7C},{0x2D7D,0x2D7D}, /* 2D7C */ + {0x2D7E,0x2D7E},{0x2D7F,0x2D7F}, /* 2D7E */ + {0x2D80,0x2D80},{0x2D81,0x2D81}, /* 2D80 */ + {0x2D82,0x2D82},{0x2D83,0x2D83}, /* 2D82 */ + {0x2D84,0x2D84},{0x2D85,0x2D85}, /* 2D84 */ + {0x2D86,0x2D86},{0x2D87,0x2D87}, /* 2D86 */ + {0x2D88,0x2D88},{0x2D89,0x2D89}, /* 2D88 */ + {0x2D8A,0x2D8A},{0x2D8B,0x2D8B}, /* 2D8A */ + {0x2D8C,0x2D8C},{0x2D8D,0x2D8D}, /* 2D8C */ + {0x2D8E,0x2D8E},{0x2D8F,0x2D8F}, /* 2D8E */ + {0x2D90,0x2D90},{0x2D91,0x2D91}, /* 2D90 */ + {0x2D92,0x2D92},{0x2D93,0x2D93}, /* 2D92 */ + {0x2D94,0x2D94},{0x2D95,0x2D95}, /* 2D94 */ + {0x2D96,0x2D96},{0x2D97,0x2D97}, /* 2D96 */ + {0x2D98,0x2D98},{0x2D99,0x2D99}, /* 2D98 */ + {0x2D9A,0x2D9A},{0x2D9B,0x2D9B}, /* 2D9A */ + {0x2D9C,0x2D9C},{0x2D9D,0x2D9D}, /* 2D9C */ + {0x2D9E,0x2D9E},{0x2D9F,0x2D9F}, /* 2D9E */ + {0x2DA0,0x2DA0},{0x2DA1,0x2DA1}, /* 2DA0 */ + {0x2DA2,0x2DA2},{0x2DA3,0x2DA3}, /* 2DA2 */ + {0x2DA4,0x2DA4},{0x2DA5,0x2DA5}, /* 2DA4 */ + {0x2DA6,0x2DA6},{0x2DA7,0x2DA7}, /* 2DA6 */ + {0x2DA8,0x2DA8},{0x2DA9,0x2DA9}, /* 2DA8 */ + {0x2DAA,0x2DAA},{0x2DAB,0x2DAB}, /* 2DAA */ + {0x2DAC,0x2DAC},{0x2DAD,0x2DAD}, /* 2DAC */ + {0x2DAE,0x2DAE},{0x2DAF,0x2DAF}, /* 2DAE */ + {0x2DB0,0x2DB0},{0x2DB1,0x2DB1}, /* 2DB0 */ + {0x2DB2,0x2DB2},{0x2DB3,0x2DB3}, /* 2DB2 */ + {0x2DB4,0x2DB4},{0x2DB5,0x2DB5}, /* 2DB4 */ + {0x2DB6,0x2DB6},{0x2DB7,0x2DB7}, /* 2DB6 */ + {0x2DB8,0x2DB8},{0x2DB9,0x2DB9}, /* 2DB8 */ + {0x2DBA,0x2DBA},{0x2DBB,0x2DBB}, /* 2DBA */ + {0x2DBC,0x2DBC},{0x2DBD,0x2DBD}, /* 2DBC */ + {0x2DBE,0x2DBE},{0x2DBF,0x2DBF}, /* 2DBE */ + {0x2DC0,0x2DC0},{0x2DC1,0x2DC1}, /* 2DC0 */ + {0x2DC2,0x2DC2},{0x2DC3,0x2DC3}, /* 2DC2 */ + {0x2DC4,0x2DC4},{0x2DC5,0x2DC5}, /* 2DC4 */ + {0x2DC6,0x2DC6},{0x2DC7,0x2DC7}, /* 2DC6 */ + {0x2DC8,0x2DC8},{0x2DC9,0x2DC9}, /* 2DC8 */ + {0x2DCA,0x2DCA},{0x2DCB,0x2DCB}, /* 2DCA */ + {0x2DCC,0x2DCC},{0x2DCD,0x2DCD}, /* 2DCC */ + {0x2DCE,0x2DCE},{0x2DCF,0x2DCF}, /* 2DCE */ + {0x2DD0,0x2DD0},{0x2DD1,0x2DD1}, /* 2DD0 */ + {0x2DD2,0x2DD2},{0x2DD3,0x2DD3}, /* 2DD2 */ + {0x2DD4,0x2DD4},{0x2DD5,0x2DD5}, /* 2DD4 */ + {0x2DD6,0x2DD6},{0x2DD7,0x2DD7}, /* 2DD6 */ + {0x2DD8,0x2DD8},{0x2DD9,0x2DD9}, /* 2DD8 */ + {0x2DDA,0x2DDA},{0x2DDB,0x2DDB}, /* 2DDA */ + {0x2DDC,0x2DDC},{0x2DDD,0x2DDD}, /* 2DDC */ + {0x2DDE,0x2DDE},{0x2DDF,0x2DDF}, /* 2DDE */ + {0x2DE0,0x2DE0},{0x2DE1,0x2DE1}, /* 2DE0 */ + {0x2DE2,0x2DE2},{0x2DE3,0x2DE3}, /* 2DE2 */ + {0x2DE4,0x2DE4},{0x2DE5,0x2DE5}, /* 2DE4 */ + {0x2DE6,0x2DE6},{0x2DE7,0x2DE7}, /* 2DE6 */ + {0x2DE8,0x2DE8},{0x2DE9,0x2DE9}, /* 2DE8 */ + {0x2DEA,0x2DEA},{0x2DEB,0x2DEB}, /* 2DEA */ + {0x2DEC,0x2DEC},{0x2DED,0x2DED}, /* 2DEC */ + {0x2DEE,0x2DEE},{0x2DEF,0x2DEF}, /* 2DEE */ + {0x2DF0,0x2DF0},{0x2DF1,0x2DF1}, /* 2DF0 */ + {0x2DF2,0x2DF2},{0x2DF3,0x2DF3}, /* 2DF2 */ + {0x2DF4,0x2DF4},{0x2DF5,0x2DF5}, /* 2DF4 */ + {0x2DF6,0x2DF6},{0x2DF7,0x2DF7}, /* 2DF6 */ + {0x2DF8,0x2DF8},{0x2DF9,0x2DF9}, /* 2DF8 */ + {0x2DFA,0x2DFA},{0x2DFB,0x2DFB}, /* 2DFA */ + {0x2DFC,0x2DFC},{0x2DFD,0x2DFD}, /* 2DFC */ + {0x2DFE,0x2DFE},{0x2DFF,0x2DFF} /* 2DFE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_pageA6[256]={ + {0xA600,0xA600},{0xA601,0xA601}, /* A600 */ + {0xA602,0xA602},{0xA603,0xA603}, /* A602 */ + {0xA604,0xA604},{0xA605,0xA605}, /* A604 */ + {0xA606,0xA606},{0xA607,0xA607}, /* A606 */ + {0xA608,0xA608},{0xA609,0xA609}, /* A608 */ + {0xA60A,0xA60A},{0xA60B,0xA60B}, /* A60A */ + {0xA60C,0xA60C},{0xA60D,0xA60D}, /* A60C */ + {0xA60E,0xA60E},{0xA60F,0xA60F}, /* A60E */ + {0xA610,0xA610},{0xA611,0xA611}, /* A610 */ + {0xA612,0xA612},{0xA613,0xA613}, /* A612 */ + {0xA614,0xA614},{0xA615,0xA615}, /* A614 */ + {0xA616,0xA616},{0xA617,0xA617}, /* A616 */ + {0xA618,0xA618},{0xA619,0xA619}, /* A618 */ + {0xA61A,0xA61A},{0xA61B,0xA61B}, /* A61A */ + {0xA61C,0xA61C},{0xA61D,0xA61D}, /* A61C */ + {0xA61E,0xA61E},{0xA61F,0xA61F}, /* A61E */ + {0xA620,0xA620},{0xA621,0xA621}, /* A620 */ + {0xA622,0xA622},{0xA623,0xA623}, /* A622 */ + {0xA624,0xA624},{0xA625,0xA625}, /* A624 */ + {0xA626,0xA626},{0xA627,0xA627}, /* A626 */ + {0xA628,0xA628},{0xA629,0xA629}, /* A628 */ + {0xA62A,0xA62A},{0xA62B,0xA62B}, /* A62A */ + {0xA62C,0xA62C},{0xA62D,0xA62D}, /* A62C */ + {0xA62E,0xA62E},{0xA62F,0xA62F}, /* A62E */ + {0xA630,0xA630},{0xA631,0xA631}, /* A630 */ + {0xA632,0xA632},{0xA633,0xA633}, /* A632 */ + {0xA634,0xA634},{0xA635,0xA635}, /* A634 */ + {0xA636,0xA636},{0xA637,0xA637}, /* A636 */ + {0xA638,0xA638},{0xA639,0xA639}, /* A638 */ + {0xA63A,0xA63A},{0xA63B,0xA63B}, /* A63A */ + {0xA63C,0xA63C},{0xA63D,0xA63D}, /* A63C */ + {0xA63E,0xA63E},{0xA63F,0xA63F}, /* A63E */ + {0xA640,0xA641},{0xA640,0xA641}, /* A640 */ + {0xA642,0xA643},{0xA642,0xA643}, /* A642 */ + {0xA644,0xA645},{0xA644,0xA645}, /* A644 */ + {0xA646,0xA647},{0xA646,0xA647}, /* A646 */ + {0xA648,0xA649},{0xA648,0xA649}, /* A648 */ + {0xA64A,0xA64B},{0xA64A,0xA64B}, /* A64A */ + {0xA64C,0xA64D},{0xA64C,0xA64D}, /* A64C */ + {0xA64E,0xA64F},{0xA64E,0xA64F}, /* A64E */ + {0xA650,0xA651},{0xA650,0xA651}, /* A650 */ + {0xA652,0xA653},{0xA652,0xA653}, /* A652 */ + {0xA654,0xA655},{0xA654,0xA655}, /* A654 */ + {0xA656,0xA657},{0xA656,0xA657}, /* A656 */ + {0xA658,0xA659},{0xA658,0xA659}, /* A658 */ + {0xA65A,0xA65B},{0xA65A,0xA65B}, /* A65A */ + {0xA65C,0xA65D},{0xA65C,0xA65D}, /* A65C */ + {0xA65E,0xA65F},{0xA65E,0xA65F}, /* A65E */ + {0xA660,0xA660},{0xA661,0xA661}, /* A660 */ + {0xA662,0xA663},{0xA662,0xA663}, /* A662 */ + {0xA664,0xA665},{0xA664,0xA665}, /* A664 */ + {0xA666,0xA667},{0xA666,0xA667}, /* A666 */ + {0xA668,0xA669},{0xA668,0xA669}, /* A668 */ + {0xA66A,0xA66B},{0xA66A,0xA66B}, /* A66A */ + {0xA66C,0xA66D},{0xA66C,0xA66D}, /* A66C */ + {0xA66E,0xA66E},{0xA66F,0xA66F}, /* A66E */ + {0xA670,0xA670},{0xA671,0xA671}, /* A670 */ + {0xA672,0xA672},{0xA673,0xA673}, /* A672 */ + {0xA674,0xA674},{0xA675,0xA675}, /* A674 */ + {0xA676,0xA676},{0xA677,0xA677}, /* A676 */ + {0xA678,0xA678},{0xA679,0xA679}, /* A678 */ + {0xA67A,0xA67A},{0xA67B,0xA67B}, /* A67A */ + {0xA67C,0xA67C},{0xA67D,0xA67D}, /* A67C */ + {0xA67E,0xA67E},{0xA67F,0xA67F}, /* A67E */ + {0xA680,0xA681},{0xA680,0xA681}, /* A680 */ + {0xA682,0xA683},{0xA682,0xA683}, /* A682 */ + {0xA684,0xA685},{0xA684,0xA685}, /* A684 */ + {0xA686,0xA687},{0xA686,0xA687}, /* A686 */ + {0xA688,0xA689},{0xA688,0xA689}, /* A688 */ + {0xA68A,0xA68B},{0xA68A,0xA68B}, /* A68A */ + {0xA68C,0xA68D},{0xA68C,0xA68D}, /* A68C */ + {0xA68E,0xA68F},{0xA68E,0xA68F}, /* A68E */ + {0xA690,0xA691},{0xA690,0xA691}, /* A690 */ + {0xA692,0xA693},{0xA692,0xA693}, /* A692 */ + {0xA694,0xA695},{0xA694,0xA695}, /* A694 */ + {0xA696,0xA697},{0xA696,0xA697}, /* A696 */ + {0xA698,0xA698},{0xA699,0xA699}, /* A698 */ + {0xA69A,0xA69A},{0xA69B,0xA69B}, /* A69A */ + {0xA69C,0xA69C},{0xA69D,0xA69D}, /* A69C */ + {0xA69E,0xA69E},{0xA69F,0xA69F}, /* A69E */ + {0xA6A0,0xA6A0},{0xA6A1,0xA6A1}, /* A6A0 */ + {0xA6A2,0xA6A2},{0xA6A3,0xA6A3}, /* A6A2 */ + {0xA6A4,0xA6A4},{0xA6A5,0xA6A5}, /* A6A4 */ + {0xA6A6,0xA6A6},{0xA6A7,0xA6A7}, /* A6A6 */ + {0xA6A8,0xA6A8},{0xA6A9,0xA6A9}, /* A6A8 */ + {0xA6AA,0xA6AA},{0xA6AB,0xA6AB}, /* A6AA */ + {0xA6AC,0xA6AC},{0xA6AD,0xA6AD}, /* A6AC */ + {0xA6AE,0xA6AE},{0xA6AF,0xA6AF}, /* A6AE */ + {0xA6B0,0xA6B0},{0xA6B1,0xA6B1}, /* A6B0 */ + {0xA6B2,0xA6B2},{0xA6B3,0xA6B3}, /* A6B2 */ + {0xA6B4,0xA6B4},{0xA6B5,0xA6B5}, /* A6B4 */ + {0xA6B6,0xA6B6},{0xA6B7,0xA6B7}, /* A6B6 */ + {0xA6B8,0xA6B8},{0xA6B9,0xA6B9}, /* A6B8 */ + {0xA6BA,0xA6BA},{0xA6BB,0xA6BB}, /* A6BA */ + {0xA6BC,0xA6BC},{0xA6BD,0xA6BD}, /* A6BC */ + {0xA6BE,0xA6BE},{0xA6BF,0xA6BF}, /* A6BE */ + {0xA6C0,0xA6C0},{0xA6C1,0xA6C1}, /* A6C0 */ + {0xA6C2,0xA6C2},{0xA6C3,0xA6C3}, /* A6C2 */ + {0xA6C4,0xA6C4},{0xA6C5,0xA6C5}, /* A6C4 */ + {0xA6C6,0xA6C6},{0xA6C7,0xA6C7}, /* A6C6 */ + {0xA6C8,0xA6C8},{0xA6C9,0xA6C9}, /* A6C8 */ + {0xA6CA,0xA6CA},{0xA6CB,0xA6CB}, /* A6CA */ + {0xA6CC,0xA6CC},{0xA6CD,0xA6CD}, /* A6CC */ + {0xA6CE,0xA6CE},{0xA6CF,0xA6CF}, /* A6CE */ + {0xA6D0,0xA6D0},{0xA6D1,0xA6D1}, /* A6D0 */ + {0xA6D2,0xA6D2},{0xA6D3,0xA6D3}, /* A6D2 */ + {0xA6D4,0xA6D4},{0xA6D5,0xA6D5}, /* A6D4 */ + {0xA6D6,0xA6D6},{0xA6D7,0xA6D7}, /* A6D6 */ + {0xA6D8,0xA6D8},{0xA6D9,0xA6D9}, /* A6D8 */ + {0xA6DA,0xA6DA},{0xA6DB,0xA6DB}, /* A6DA */ + {0xA6DC,0xA6DC},{0xA6DD,0xA6DD}, /* A6DC */ + {0xA6DE,0xA6DE},{0xA6DF,0xA6DF}, /* A6DE */ + {0xA6E0,0xA6E0},{0xA6E1,0xA6E1}, /* A6E0 */ + {0xA6E2,0xA6E2},{0xA6E3,0xA6E3}, /* A6E2 */ + {0xA6E4,0xA6E4},{0xA6E5,0xA6E5}, /* A6E4 */ + {0xA6E6,0xA6E6},{0xA6E7,0xA6E7}, /* A6E6 */ + {0xA6E8,0xA6E8},{0xA6E9,0xA6E9}, /* A6E8 */ + {0xA6EA,0xA6EA},{0xA6EB,0xA6EB}, /* A6EA */ + {0xA6EC,0xA6EC},{0xA6ED,0xA6ED}, /* A6EC */ + {0xA6EE,0xA6EE},{0xA6EF,0xA6EF}, /* A6EE */ + {0xA6F0,0xA6F0},{0xA6F1,0xA6F1}, /* A6F0 */ + {0xA6F2,0xA6F2},{0xA6F3,0xA6F3}, /* A6F2 */ + {0xA6F4,0xA6F4},{0xA6F5,0xA6F5}, /* A6F4 */ + {0xA6F6,0xA6F6},{0xA6F7,0xA6F7}, /* A6F6 */ + {0xA6F8,0xA6F8},{0xA6F9,0xA6F9}, /* A6F8 */ + {0xA6FA,0xA6FA},{0xA6FB,0xA6FB}, /* A6FA */ + {0xA6FC,0xA6FC},{0xA6FD,0xA6FD}, /* A6FC */ + {0xA6FE,0xA6FE},{0xA6FF,0xA6FF} /* A6FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_pageA7[256]={ + {0xA700,0xA700},{0xA701,0xA701}, /* A700 */ + {0xA702,0xA702},{0xA703,0xA703}, /* A702 */ + {0xA704,0xA704},{0xA705,0xA705}, /* A704 */ + {0xA706,0xA706},{0xA707,0xA707}, /* A706 */ + {0xA708,0xA708},{0xA709,0xA709}, /* A708 */ + {0xA70A,0xA70A},{0xA70B,0xA70B}, /* A70A */ + {0xA70C,0xA70C},{0xA70D,0xA70D}, /* A70C */ + {0xA70E,0xA70E},{0xA70F,0xA70F}, /* A70E */ + {0xA710,0xA710},{0xA711,0xA711}, /* A710 */ + {0xA712,0xA712},{0xA713,0xA713}, /* A712 */ + {0xA714,0xA714},{0xA715,0xA715}, /* A714 */ + {0xA716,0xA716},{0xA717,0xA717}, /* A716 */ + {0xA718,0xA718},{0xA719,0xA719}, /* A718 */ + {0xA71A,0xA71A},{0xA71B,0xA71B}, /* A71A */ + {0xA71C,0xA71C},{0xA71D,0xA71D}, /* A71C */ + {0xA71E,0xA71E},{0xA71F,0xA71F}, /* A71E */ + {0xA720,0xA720},{0xA721,0xA721}, /* A720 */ + {0xA722,0xA723},{0xA722,0xA723}, /* A722 */ + {0xA724,0xA725},{0xA724,0xA725}, /* A724 */ + {0xA726,0xA727},{0xA726,0xA727}, /* A726 */ + {0xA728,0xA729},{0xA728,0xA729}, /* A728 */ + {0xA72A,0xA72B},{0xA72A,0xA72B}, /* A72A */ + {0xA72C,0xA72D},{0xA72C,0xA72D}, /* A72C */ + {0xA72E,0xA72F},{0xA72E,0xA72F}, /* A72E */ + {0xA730,0xA730},{0xA731,0xA731}, /* A730 */ + {0xA732,0xA733},{0xA732,0xA733}, /* A732 */ + {0xA734,0xA735},{0xA734,0xA735}, /* A734 */ + {0xA736,0xA737},{0xA736,0xA737}, /* A736 */ + {0xA738,0xA739},{0xA738,0xA739}, /* A738 */ + {0xA73A,0xA73B},{0xA73A,0xA73B}, /* A73A */ + {0xA73C,0xA73D},{0xA73C,0xA73D}, /* A73C */ + {0xA73E,0xA73F},{0xA73E,0xA73F}, /* A73E */ + {0xA740,0xA741},{0xA740,0xA741}, /* A740 */ + {0xA742,0xA743},{0xA742,0xA743}, /* A742 */ + {0xA744,0xA745},{0xA744,0xA745}, /* A744 */ + {0xA746,0xA747},{0xA746,0xA747}, /* A746 */ + {0xA748,0xA749},{0xA748,0xA749}, /* A748 */ + {0xA74A,0xA74B},{0xA74A,0xA74B}, /* A74A */ + {0xA74C,0xA74D},{0xA74C,0xA74D}, /* A74C */ + {0xA74E,0xA74F},{0xA74E,0xA74F}, /* A74E */ + {0xA750,0xA751},{0xA750,0xA751}, /* A750 */ + {0xA752,0xA753},{0xA752,0xA753}, /* A752 */ + {0xA754,0xA755},{0xA754,0xA755}, /* A754 */ + {0xA756,0xA757},{0xA756,0xA757}, /* A756 */ + {0xA758,0xA759},{0xA758,0xA759}, /* A758 */ + {0xA75A,0xA75B},{0xA75A,0xA75B}, /* A75A */ + {0xA75C,0xA75D},{0xA75C,0xA75D}, /* A75C */ + {0xA75E,0xA75F},{0xA75E,0xA75F}, /* A75E */ + {0xA760,0xA761},{0xA760,0xA761}, /* A760 */ + {0xA762,0xA763},{0xA762,0xA763}, /* A762 */ + {0xA764,0xA765},{0xA764,0xA765}, /* A764 */ + {0xA766,0xA767},{0xA766,0xA767}, /* A766 */ + {0xA768,0xA769},{0xA768,0xA769}, /* A768 */ + {0xA76A,0xA76B},{0xA76A,0xA76B}, /* A76A */ + {0xA76C,0xA76D},{0xA76C,0xA76D}, /* A76C */ + {0xA76E,0xA76F},{0xA76E,0xA76F}, /* A76E */ + {0xA770,0xA770},{0xA771,0xA771}, /* A770 */ + {0xA772,0xA772},{0xA773,0xA773}, /* A772 */ + {0xA774,0xA774},{0xA775,0xA775}, /* A774 */ + {0xA776,0xA776},{0xA777,0xA777}, /* A776 */ + {0xA778,0xA778},{0xA779,0xA77A}, /* A778 */ + {0xA779,0xA77A},{0xA77B,0xA77C}, /* A77A */ + {0xA77B,0xA77C},{0xA77D,0x1D79}, /* A77C */ + {0xA77E,0xA77F},{0xA77E,0xA77F}, /* A77E */ + {0xA780,0xA781},{0xA780,0xA781}, /* A780 */ + {0xA782,0xA783},{0xA782,0xA783}, /* A782 */ + {0xA784,0xA785},{0xA784,0xA785}, /* A784 */ + {0xA786,0xA787},{0xA786,0xA787}, /* A786 */ + {0xA788,0xA788},{0xA789,0xA789}, /* A788 */ + {0xA78A,0xA78A},{0xA78B,0xA78C}, /* A78A */ + {0xA78B,0xA78C},{0xA78D,0xA78D}, /* A78C */ + {0xA78E,0xA78E},{0xA78F,0xA78F}, /* A78E */ + {0xA790,0xA790},{0xA791,0xA791}, /* A790 */ + {0xA792,0xA792},{0xA793,0xA793}, /* A792 */ + {0xA794,0xA794},{0xA795,0xA795}, /* A794 */ + {0xA796,0xA796},{0xA797,0xA797}, /* A796 */ + {0xA798,0xA798},{0xA799,0xA799}, /* A798 */ + {0xA79A,0xA79A},{0xA79B,0xA79B}, /* A79A */ + {0xA79C,0xA79C},{0xA79D,0xA79D}, /* A79C */ + {0xA79E,0xA79E},{0xA79F,0xA79F}, /* A79E */ + {0xA7A0,0xA7A0},{0xA7A1,0xA7A1}, /* A7A0 */ + {0xA7A2,0xA7A2},{0xA7A3,0xA7A3}, /* A7A2 */ + {0xA7A4,0xA7A4},{0xA7A5,0xA7A5}, /* A7A4 */ + {0xA7A6,0xA7A6},{0xA7A7,0xA7A7}, /* A7A6 */ + {0xA7A8,0xA7A8},{0xA7A9,0xA7A9}, /* A7A8 */ + {0xA7AA,0xA7AA},{0xA7AB,0xA7AB}, /* A7AA */ + {0xA7AC,0xA7AC},{0xA7AD,0xA7AD}, /* A7AC */ + {0xA7AE,0xA7AE},{0xA7AF,0xA7AF}, /* A7AE */ + {0xA7B0,0xA7B0},{0xA7B1,0xA7B1}, /* A7B0 */ + {0xA7B2,0xA7B2},{0xA7B3,0xA7B3}, /* A7B2 */ + {0xA7B4,0xA7B4},{0xA7B5,0xA7B5}, /* A7B4 */ + {0xA7B6,0xA7B6},{0xA7B7,0xA7B7}, /* A7B6 */ + {0xA7B8,0xA7B8},{0xA7B9,0xA7B9}, /* A7B8 */ + {0xA7BA,0xA7BA},{0xA7BB,0xA7BB}, /* A7BA */ + {0xA7BC,0xA7BC},{0xA7BD,0xA7BD}, /* A7BC */ + {0xA7BE,0xA7BE},{0xA7BF,0xA7BF}, /* A7BE */ + {0xA7C0,0xA7C0},{0xA7C1,0xA7C1}, /* A7C0 */ + {0xA7C2,0xA7C2},{0xA7C3,0xA7C3}, /* A7C2 */ + {0xA7C4,0xA7C4},{0xA7C5,0xA7C5}, /* A7C4 */ + {0xA7C6,0xA7C6},{0xA7C7,0xA7C7}, /* A7C6 */ + {0xA7C8,0xA7C8},{0xA7C9,0xA7C9}, /* A7C8 */ + {0xA7CA,0xA7CA},{0xA7CB,0xA7CB}, /* A7CA */ + {0xA7CC,0xA7CC},{0xA7CD,0xA7CD}, /* A7CC */ + {0xA7CE,0xA7CE},{0xA7CF,0xA7CF}, /* A7CE */ + {0xA7D0,0xA7D0},{0xA7D1,0xA7D1}, /* A7D0 */ + {0xA7D2,0xA7D2},{0xA7D3,0xA7D3}, /* A7D2 */ + {0xA7D4,0xA7D4},{0xA7D5,0xA7D5}, /* A7D4 */ + {0xA7D6,0xA7D6},{0xA7D7,0xA7D7}, /* A7D6 */ + {0xA7D8,0xA7D8},{0xA7D9,0xA7D9}, /* A7D8 */ + {0xA7DA,0xA7DA},{0xA7DB,0xA7DB}, /* A7DA */ + {0xA7DC,0xA7DC},{0xA7DD,0xA7DD}, /* A7DC */ + {0xA7DE,0xA7DE},{0xA7DF,0xA7DF}, /* A7DE */ + {0xA7E0,0xA7E0},{0xA7E1,0xA7E1}, /* A7E0 */ + {0xA7E2,0xA7E2},{0xA7E3,0xA7E3}, /* A7E2 */ + {0xA7E4,0xA7E4},{0xA7E5,0xA7E5}, /* A7E4 */ + {0xA7E6,0xA7E6},{0xA7E7,0xA7E7}, /* A7E6 */ + {0xA7E8,0xA7E8},{0xA7E9,0xA7E9}, /* A7E8 */ + {0xA7EA,0xA7EA},{0xA7EB,0xA7EB}, /* A7EA */ + {0xA7EC,0xA7EC},{0xA7ED,0xA7ED}, /* A7EC */ + {0xA7EE,0xA7EE},{0xA7EF,0xA7EF}, /* A7EE */ + {0xA7F0,0xA7F0},{0xA7F1,0xA7F1}, /* A7F0 */ + {0xA7F2,0xA7F2},{0xA7F3,0xA7F3}, /* A7F2 */ + {0xA7F4,0xA7F4},{0xA7F5,0xA7F5}, /* A7F4 */ + {0xA7F6,0xA7F6},{0xA7F7,0xA7F7}, /* A7F6 */ + {0xA7F8,0xA7F8},{0xA7F9,0xA7F9}, /* A7F8 */ + {0xA7FA,0xA7FA},{0xA7FB,0xA7FB}, /* A7FA */ + {0xA7FC,0xA7FC},{0xA7FD,0xA7FD}, /* A7FC */ + {0xA7FE,0xA7FE},{0xA7FF,0xA7FF} /* A7FE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_pageFF[256]={ + {0xFF00,0xFF00},{0xFF01,0xFF01}, /* FF00 */ + {0xFF02,0xFF02},{0xFF03,0xFF03}, /* FF02 */ + {0xFF04,0xFF04},{0xFF05,0xFF05}, /* FF04 */ + {0xFF06,0xFF06},{0xFF07,0xFF07}, /* FF06 */ + {0xFF08,0xFF08},{0xFF09,0xFF09}, /* FF08 */ + {0xFF0A,0xFF0A},{0xFF0B,0xFF0B}, /* FF0A */ + {0xFF0C,0xFF0C},{0xFF0D,0xFF0D}, /* FF0C */ + {0xFF0E,0xFF0E},{0xFF0F,0xFF0F}, /* FF0E */ + {0xFF10,0xFF10},{0xFF11,0xFF11}, /* FF10 */ + {0xFF12,0xFF12},{0xFF13,0xFF13}, /* FF12 */ + {0xFF14,0xFF14},{0xFF15,0xFF15}, /* FF14 */ + {0xFF16,0xFF16},{0xFF17,0xFF17}, /* FF16 */ + {0xFF18,0xFF18},{0xFF19,0xFF19}, /* FF18 */ + {0xFF1A,0xFF1A},{0xFF1B,0xFF1B}, /* FF1A */ + {0xFF1C,0xFF1C},{0xFF1D,0xFF1D}, /* FF1C */ + {0xFF1E,0xFF1E},{0xFF1F,0xFF1F}, /* FF1E */ + {0xFF20,0xFF20},{0xFF21,0xFF41}, /* FF20 */ + {0xFF22,0xFF42},{0xFF23,0xFF43}, /* FF22 */ + {0xFF24,0xFF44},{0xFF25,0xFF45}, /* FF24 */ + {0xFF26,0xFF46},{0xFF27,0xFF47}, /* FF26 */ + {0xFF28,0xFF48},{0xFF29,0xFF49}, /* FF28 */ + {0xFF2A,0xFF4A},{0xFF2B,0xFF4B}, /* FF2A */ + {0xFF2C,0xFF4C},{0xFF2D,0xFF4D}, /* FF2C */ + {0xFF2E,0xFF4E},{0xFF2F,0xFF4F}, /* FF2E */ + {0xFF30,0xFF50},{0xFF31,0xFF51}, /* FF30 */ + {0xFF32,0xFF52},{0xFF33,0xFF53}, /* FF32 */ + {0xFF34,0xFF54},{0xFF35,0xFF55}, /* FF34 */ + {0xFF36,0xFF56},{0xFF37,0xFF57}, /* FF36 */ + {0xFF38,0xFF58},{0xFF39,0xFF59}, /* FF38 */ + {0xFF3A,0xFF5A},{0xFF3B,0xFF3B}, /* FF3A */ + {0xFF3C,0xFF3C},{0xFF3D,0xFF3D}, /* FF3C */ + {0xFF3E,0xFF3E},{0xFF3F,0xFF3F}, /* FF3E */ + {0xFF40,0xFF40},{0xFF21,0xFF41}, /* FF40 */ + {0xFF22,0xFF42},{0xFF23,0xFF43}, /* FF42 */ + {0xFF24,0xFF44},{0xFF25,0xFF45}, /* FF44 */ + {0xFF26,0xFF46},{0xFF27,0xFF47}, /* FF46 */ + {0xFF28,0xFF48},{0xFF29,0xFF49}, /* FF48 */ + {0xFF2A,0xFF4A},{0xFF2B,0xFF4B}, /* FF4A */ + {0xFF2C,0xFF4C},{0xFF2D,0xFF4D}, /* FF4C */ + {0xFF2E,0xFF4E},{0xFF2F,0xFF4F}, /* FF4E */ + {0xFF30,0xFF50},{0xFF31,0xFF51}, /* FF50 */ + {0xFF32,0xFF52},{0xFF33,0xFF53}, /* FF52 */ + {0xFF34,0xFF54},{0xFF35,0xFF55}, /* FF54 */ + {0xFF36,0xFF56},{0xFF37,0xFF57}, /* FF56 */ + {0xFF38,0xFF58},{0xFF39,0xFF59}, /* FF58 */ + {0xFF3A,0xFF5A},{0xFF5B,0xFF5B}, /* FF5A */ + {0xFF5C,0xFF5C},{0xFF5D,0xFF5D}, /* FF5C */ + {0xFF5E,0xFF5E},{0xFF5F,0xFF5F}, /* FF5E */ + {0xFF60,0xFF60},{0xFF61,0xFF61}, /* FF60 */ + {0xFF62,0xFF62},{0xFF63,0xFF63}, /* FF62 */ + {0xFF64,0xFF64},{0xFF65,0xFF65}, /* FF64 */ + {0xFF66,0xFF66},{0xFF67,0xFF67}, /* FF66 */ + {0xFF68,0xFF68},{0xFF69,0xFF69}, /* FF68 */ + {0xFF6A,0xFF6A},{0xFF6B,0xFF6B}, /* FF6A */ + {0xFF6C,0xFF6C},{0xFF6D,0xFF6D}, /* FF6C */ + {0xFF6E,0xFF6E},{0xFF6F,0xFF6F}, /* FF6E */ + {0xFF70,0xFF70},{0xFF71,0xFF71}, /* FF70 */ + {0xFF72,0xFF72},{0xFF73,0xFF73}, /* FF72 */ + {0xFF74,0xFF74},{0xFF75,0xFF75}, /* FF74 */ + {0xFF76,0xFF76},{0xFF77,0xFF77}, /* FF76 */ + {0xFF78,0xFF78},{0xFF79,0xFF79}, /* FF78 */ + {0xFF7A,0xFF7A},{0xFF7B,0xFF7B}, /* FF7A */ + {0xFF7C,0xFF7C},{0xFF7D,0xFF7D}, /* FF7C */ + {0xFF7E,0xFF7E},{0xFF7F,0xFF7F}, /* FF7E */ + {0xFF80,0xFF80},{0xFF81,0xFF81}, /* FF80 */ + {0xFF82,0xFF82},{0xFF83,0xFF83}, /* FF82 */ + {0xFF84,0xFF84},{0xFF85,0xFF85}, /* FF84 */ + {0xFF86,0xFF86},{0xFF87,0xFF87}, /* FF86 */ + {0xFF88,0xFF88},{0xFF89,0xFF89}, /* FF88 */ + {0xFF8A,0xFF8A},{0xFF8B,0xFF8B}, /* FF8A */ + {0xFF8C,0xFF8C},{0xFF8D,0xFF8D}, /* FF8C */ + {0xFF8E,0xFF8E},{0xFF8F,0xFF8F}, /* FF8E */ + {0xFF90,0xFF90},{0xFF91,0xFF91}, /* FF90 */ + {0xFF92,0xFF92},{0xFF93,0xFF93}, /* FF92 */ + {0xFF94,0xFF94},{0xFF95,0xFF95}, /* FF94 */ + {0xFF96,0xFF96},{0xFF97,0xFF97}, /* FF96 */ + {0xFF98,0xFF98},{0xFF99,0xFF99}, /* FF98 */ + {0xFF9A,0xFF9A},{0xFF9B,0xFF9B}, /* FF9A */ + {0xFF9C,0xFF9C},{0xFF9D,0xFF9D}, /* FF9C */ + {0xFF9E,0xFF9E},{0xFF9F,0xFF9F}, /* FF9E */ + {0xFFA0,0xFFA0},{0xFFA1,0xFFA1}, /* FFA0 */ + {0xFFA2,0xFFA2},{0xFFA3,0xFFA3}, /* FFA2 */ + {0xFFA4,0xFFA4},{0xFFA5,0xFFA5}, /* FFA4 */ + {0xFFA6,0xFFA6},{0xFFA7,0xFFA7}, /* FFA6 */ + {0xFFA8,0xFFA8},{0xFFA9,0xFFA9}, /* FFA8 */ + {0xFFAA,0xFFAA},{0xFFAB,0xFFAB}, /* FFAA */ + {0xFFAC,0xFFAC},{0xFFAD,0xFFAD}, /* FFAC */ + {0xFFAE,0xFFAE},{0xFFAF,0xFFAF}, /* FFAE */ + {0xFFB0,0xFFB0},{0xFFB1,0xFFB1}, /* FFB0 */ + {0xFFB2,0xFFB2},{0xFFB3,0xFFB3}, /* FFB2 */ + {0xFFB4,0xFFB4},{0xFFB5,0xFFB5}, /* FFB4 */ + {0xFFB6,0xFFB6},{0xFFB7,0xFFB7}, /* FFB6 */ + {0xFFB8,0xFFB8},{0xFFB9,0xFFB9}, /* FFB8 */ + {0xFFBA,0xFFBA},{0xFFBB,0xFFBB}, /* FFBA */ + {0xFFBC,0xFFBC},{0xFFBD,0xFFBD}, /* FFBC */ + {0xFFBE,0xFFBE},{0xFFBF,0xFFBF}, /* FFBE */ + {0xFFC0,0xFFC0},{0xFFC1,0xFFC1}, /* FFC0 */ + {0xFFC2,0xFFC2},{0xFFC3,0xFFC3}, /* FFC2 */ + {0xFFC4,0xFFC4},{0xFFC5,0xFFC5}, /* FFC4 */ + {0xFFC6,0xFFC6},{0xFFC7,0xFFC7}, /* FFC6 */ + {0xFFC8,0xFFC8},{0xFFC9,0xFFC9}, /* FFC8 */ + {0xFFCA,0xFFCA},{0xFFCB,0xFFCB}, /* FFCA */ + {0xFFCC,0xFFCC},{0xFFCD,0xFFCD}, /* FFCC */ + {0xFFCE,0xFFCE},{0xFFCF,0xFFCF}, /* FFCE */ + {0xFFD0,0xFFD0},{0xFFD1,0xFFD1}, /* FFD0 */ + {0xFFD2,0xFFD2},{0xFFD3,0xFFD3}, /* FFD2 */ + {0xFFD4,0xFFD4},{0xFFD5,0xFFD5}, /* FFD4 */ + {0xFFD6,0xFFD6},{0xFFD7,0xFFD7}, /* FFD6 */ + {0xFFD8,0xFFD8},{0xFFD9,0xFFD9}, /* FFD8 */ + {0xFFDA,0xFFDA},{0xFFDB,0xFFDB}, /* FFDA */ + {0xFFDC,0xFFDC},{0xFFDD,0xFFDD}, /* FFDC */ + {0xFFDE,0xFFDE},{0xFFDF,0xFFDF}, /* FFDE */ + {0xFFE0,0xFFE0},{0xFFE1,0xFFE1}, /* FFE0 */ + {0xFFE2,0xFFE2},{0xFFE3,0xFFE3}, /* FFE2 */ + {0xFFE4,0xFFE4},{0xFFE5,0xFFE5}, /* FFE4 */ + {0xFFE6,0xFFE6},{0xFFE7,0xFFE7}, /* FFE6 */ + {0xFFE8,0xFFE8},{0xFFE9,0xFFE9}, /* FFE8 */ + {0xFFEA,0xFFEA},{0xFFEB,0xFFEB}, /* FFEA */ + {0xFFEC,0xFFEC},{0xFFED,0xFFED}, /* FFEC */ + {0xFFEE,0xFFEE},{0xFFEF,0xFFEF}, /* FFEE */ + {0xFFF0,0xFFF0},{0xFFF1,0xFFF1}, /* FFF0 */ + {0xFFF2,0xFFF2},{0xFFF3,0xFFF3}, /* FFF2 */ + {0xFFF4,0xFFF4},{0xFFF5,0xFFF5}, /* FFF4 */ + {0xFFF6,0xFFF6},{0xFFF7,0xFFF7}, /* FFF6 */ + {0xFFF8,0xFFF8},{0xFFF9,0xFFF9}, /* FFF8 */ + {0xFFFA,0xFFFA},{0xFFFB,0xFFFB}, /* FFFA */ + {0xFFFC,0xFFFC},{0xFFFD,0xFFFD}, /* FFFC */ + {0xFFFE,0xFFFE},{0xFFFF,0xFFFF} /* FFFE */ +}; + +static const MY_CASEFOLD_CHARACTER u520_casefold_page104[256]={ + {0x10400,0x10428},{0x10401,0x10429}, /* 10400 */ + {0x10402,0x1042A},{0x10403,0x1042B}, /* 10402 */ + {0x10404,0x1042C},{0x10405,0x1042D}, /* 10404 */ + {0x10406,0x1042E},{0x10407,0x1042F}, /* 10406 */ + {0x10408,0x10430},{0x10409,0x10431}, /* 10408 */ + {0x1040A,0x10432},{0x1040B,0x10433}, /* 1040A */ + {0x1040C,0x10434},{0x1040D,0x10435}, /* 1040C */ + {0x1040E,0x10436},{0x1040F,0x10437}, /* 1040E */ + {0x10410,0x10438},{0x10411,0x10439}, /* 10410 */ + {0x10412,0x1043A},{0x10413,0x1043B}, /* 10412 */ + {0x10414,0x1043C},{0x10415,0x1043D}, /* 10414 */ + {0x10416,0x1043E},{0x10417,0x1043F}, /* 10416 */ + {0x10418,0x10440},{0x10419,0x10441}, /* 10418 */ + {0x1041A,0x10442},{0x1041B,0x10443}, /* 1041A */ + {0x1041C,0x10444},{0x1041D,0x10445}, /* 1041C */ + {0x1041E,0x10446},{0x1041F,0x10447}, /* 1041E */ + {0x10420,0x10448},{0x10421,0x10449}, /* 10420 */ + {0x10422,0x1044A},{0x10423,0x1044B}, /* 10422 */ + {0x10424,0x1044C},{0x10425,0x1044D}, /* 10424 */ + {0x10426,0x1044E},{0x10427,0x1044F}, /* 10426 */ + {0x10400,0x10428},{0x10401,0x10429}, /* 10428 */ + {0x10402,0x1042A},{0x10403,0x1042B}, /* 1042A */ + {0x10404,0x1042C},{0x10405,0x1042D}, /* 1042C */ + {0x10406,0x1042E},{0x10407,0x1042F}, /* 1042E */ + {0x10408,0x10430},{0x10409,0x10431}, /* 10430 */ + {0x1040A,0x10432},{0x1040B,0x10433}, /* 10432 */ + {0x1040C,0x10434},{0x1040D,0x10435}, /* 10434 */ + {0x1040E,0x10436},{0x1040F,0x10437}, /* 10436 */ + {0x10410,0x10438},{0x10411,0x10439}, /* 10438 */ + {0x10412,0x1043A},{0x10413,0x1043B}, /* 1043A */ + {0x10414,0x1043C},{0x10415,0x1043D}, /* 1043C */ + {0x10416,0x1043E},{0x10417,0x1043F}, /* 1043E */ + {0x10418,0x10440},{0x10419,0x10441}, /* 10440 */ + {0x1041A,0x10442},{0x1041B,0x10443}, /* 10442 */ + {0x1041C,0x10444},{0x1041D,0x10445}, /* 10444 */ + {0x1041E,0x10446},{0x1041F,0x10447}, /* 10446 */ + {0x10420,0x10448},{0x10421,0x10449}, /* 10448 */ + {0x10422,0x1044A},{0x10423,0x1044B}, /* 1044A */ + {0x10424,0x1044C},{0x10425,0x1044D}, /* 1044C */ + {0x10426,0x1044E},{0x10427,0x1044F}, /* 1044E */ + {0x10450,0x10450},{0x10451,0x10451}, /* 10450 */ + {0x10452,0x10452},{0x10453,0x10453}, /* 10452 */ + {0x10454,0x10454},{0x10455,0x10455}, /* 10454 */ + {0x10456,0x10456},{0x10457,0x10457}, /* 10456 */ + {0x10458,0x10458},{0x10459,0x10459}, /* 10458 */ + {0x1045A,0x1045A},{0x1045B,0x1045B}, /* 1045A */ + {0x1045C,0x1045C},{0x1045D,0x1045D}, /* 1045C */ + {0x1045E,0x1045E},{0x1045F,0x1045F}, /* 1045E */ + {0x10460,0x10460},{0x10461,0x10461}, /* 10460 */ + {0x10462,0x10462},{0x10463,0x10463}, /* 10462 */ + {0x10464,0x10464},{0x10465,0x10465}, /* 10464 */ + {0x10466,0x10466},{0x10467,0x10467}, /* 10466 */ + {0x10468,0x10468},{0x10469,0x10469}, /* 10468 */ + {0x1046A,0x1046A},{0x1046B,0x1046B}, /* 1046A */ + {0x1046C,0x1046C},{0x1046D,0x1046D}, /* 1046C */ + {0x1046E,0x1046E},{0x1046F,0x1046F}, /* 1046E */ + {0x10470,0x10470},{0x10471,0x10471}, /* 10470 */ + {0x10472,0x10472},{0x10473,0x10473}, /* 10472 */ + {0x10474,0x10474},{0x10475,0x10475}, /* 10474 */ + {0x10476,0x10476},{0x10477,0x10477}, /* 10476 */ + {0x10478,0x10478},{0x10479,0x10479}, /* 10478 */ + {0x1047A,0x1047A},{0x1047B,0x1047B}, /* 1047A */ + {0x1047C,0x1047C},{0x1047D,0x1047D}, /* 1047C */ + {0x1047E,0x1047E},{0x1047F,0x1047F}, /* 1047E */ + {0x10480,0x10480},{0x10481,0x10481}, /* 10480 */ + {0x10482,0x10482},{0x10483,0x10483}, /* 10482 */ + {0x10484,0x10484},{0x10485,0x10485}, /* 10484 */ + {0x10486,0x10486},{0x10487,0x10487}, /* 10486 */ + {0x10488,0x10488},{0x10489,0x10489}, /* 10488 */ + {0x1048A,0x1048A},{0x1048B,0x1048B}, /* 1048A */ + {0x1048C,0x1048C},{0x1048D,0x1048D}, /* 1048C */ + {0x1048E,0x1048E},{0x1048F,0x1048F}, /* 1048E */ + {0x10490,0x10490},{0x10491,0x10491}, /* 10490 */ + {0x10492,0x10492},{0x10493,0x10493}, /* 10492 */ + {0x10494,0x10494},{0x10495,0x10495}, /* 10494 */ + {0x10496,0x10496},{0x10497,0x10497}, /* 10496 */ + {0x10498,0x10498},{0x10499,0x10499}, /* 10498 */ + {0x1049A,0x1049A},{0x1049B,0x1049B}, /* 1049A */ + {0x1049C,0x1049C},{0x1049D,0x1049D}, /* 1049C */ + {0x1049E,0x1049E},{0x1049F,0x1049F}, /* 1049E */ + {0x104A0,0x104A0},{0x104A1,0x104A1}, /* 104A0 */ + {0x104A2,0x104A2},{0x104A3,0x104A3}, /* 104A2 */ + {0x104A4,0x104A4},{0x104A5,0x104A5}, /* 104A4 */ + {0x104A6,0x104A6},{0x104A7,0x104A7}, /* 104A6 */ + {0x104A8,0x104A8},{0x104A9,0x104A9}, /* 104A8 */ + {0x104AA,0x104AA},{0x104AB,0x104AB}, /* 104AA */ + {0x104AC,0x104AC},{0x104AD,0x104AD}, /* 104AC */ + {0x104AE,0x104AE},{0x104AF,0x104AF}, /* 104AE */ + {0x104B0,0x104B0},{0x104B1,0x104B1}, /* 104B0 */ + {0x104B2,0x104B2},{0x104B3,0x104B3}, /* 104B2 */ + {0x104B4,0x104B4},{0x104B5,0x104B5}, /* 104B4 */ + {0x104B6,0x104B6},{0x104B7,0x104B7}, /* 104B6 */ + {0x104B8,0x104B8},{0x104B9,0x104B9}, /* 104B8 */ + {0x104BA,0x104BA},{0x104BB,0x104BB}, /* 104BA */ + {0x104BC,0x104BC},{0x104BD,0x104BD}, /* 104BC */ + {0x104BE,0x104BE},{0x104BF,0x104BF}, /* 104BE */ + {0x104C0,0x104C0},{0x104C1,0x104C1}, /* 104C0 */ + {0x104C2,0x104C2},{0x104C3,0x104C3}, /* 104C2 */ + {0x104C4,0x104C4},{0x104C5,0x104C5}, /* 104C4 */ + {0x104C6,0x104C6},{0x104C7,0x104C7}, /* 104C6 */ + {0x104C8,0x104C8},{0x104C9,0x104C9}, /* 104C8 */ + {0x104CA,0x104CA},{0x104CB,0x104CB}, /* 104CA */ + {0x104CC,0x104CC},{0x104CD,0x104CD}, /* 104CC */ + {0x104CE,0x104CE},{0x104CF,0x104CF}, /* 104CE */ + {0x104D0,0x104D0},{0x104D1,0x104D1}, /* 104D0 */ + {0x104D2,0x104D2},{0x104D3,0x104D3}, /* 104D2 */ + {0x104D4,0x104D4},{0x104D5,0x104D5}, /* 104D4 */ + {0x104D6,0x104D6},{0x104D7,0x104D7}, /* 104D6 */ + {0x104D8,0x104D8},{0x104D9,0x104D9}, /* 104D8 */ + {0x104DA,0x104DA},{0x104DB,0x104DB}, /* 104DA */ + {0x104DC,0x104DC},{0x104DD,0x104DD}, /* 104DC */ + {0x104DE,0x104DE},{0x104DF,0x104DF}, /* 104DE */ + {0x104E0,0x104E0},{0x104E1,0x104E1}, /* 104E0 */ + {0x104E2,0x104E2},{0x104E3,0x104E3}, /* 104E2 */ + {0x104E4,0x104E4},{0x104E5,0x104E5}, /* 104E4 */ + {0x104E6,0x104E6},{0x104E7,0x104E7}, /* 104E6 */ + {0x104E8,0x104E8},{0x104E9,0x104E9}, /* 104E8 */ + {0x104EA,0x104EA},{0x104EB,0x104EB}, /* 104EA */ + {0x104EC,0x104EC},{0x104ED,0x104ED}, /* 104EC */ + {0x104EE,0x104EE},{0x104EF,0x104EF}, /* 104EE */ + {0x104F0,0x104F0},{0x104F1,0x104F1}, /* 104F0 */ + {0x104F2,0x104F2},{0x104F3,0x104F3}, /* 104F2 */ + {0x104F4,0x104F4},{0x104F5,0x104F5}, /* 104F4 */ + {0x104F6,0x104F6},{0x104F7,0x104F7}, /* 104F6 */ + {0x104F8,0x104F8},{0x104F9,0x104F9}, /* 104F8 */ + {0x104FA,0x104FA},{0x104FB,0x104FB}, /* 104FA */ + {0x104FC,0x104FC},{0x104FD,0x104FD}, /* 104FC */ + {0x104FE,0x104FE},{0x104FF,0x104FF} /* 104FE */ +}; + +const MY_CASEFOLD_CHARACTER * my_u520_casefold_index[4352]={ + u520_casefold_page00, u520_casefold_page01, u520_casefold_page02, u520_casefold_page03, u520_casefold_page04, u520_casefold_page05, u520_casefold_page06, u520_casefold_page07, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + u520_casefold_page10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, u520_casefold_page1D, u520_casefold_page1E, u520_casefold_page1F, + NULL, u520_casefold_page21, NULL, NULL, u520_casefold_page24, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, u520_casefold_page2C, u520_casefold_page2D, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, u520_casefold_pageA6, u520_casefold_pageA7, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, u520_casefold_pageFF, + NULL, NULL, NULL, NULL, u520_casefold_page104, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL +}; diff --git a/strings/ctype-unidata.c b/strings/ctype-unidata.c new file mode 100644 index 00000000000..58a823d6970 --- /dev/null +++ b/strings/ctype-unidata.c @@ -0,0 +1,79 @@ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. + Copyright (c) 2009, 2020, MariaDB + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; version 2 + of the License. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1335 USA */ + +#include "strings_def.h" +#include <m_ctype.h> +#include "ctype-mb.h" + +#ifndef EILSEQ +#define EILSEQ ENOENT +#endif + + +#include "ctype-unidata.h" +#include "ctype-unicode300-general_ci.h" +#include "ctype-unicode300-general_mysql500_ci.h" +#include "ctype-unicode300-casefold.h" +#include "ctype-unicode300-casefold-tr.h" +#include "ctype-unicode520-casefold.h" + + + +MY_CASEFOLD_INFO my_casefold_default= +{ + 0xFFFF, + my_u300_casefold_index, + weight_general_ci_index +}; + + +/* + Turkish lower/upper mapping: + 1. LOWER(0x0049 LATIN CAPITAL LETTER I) -> + 0x0131 LATIN SMALL LETTER DOTLESS I + 2. UPPER(0x0069 LATIN SMALL LETTER I) -> + 0x0130 LATIN CAPITAL LETTER I WITH DOT ABOVE +*/ + +MY_CASEFOLD_INFO my_casefold_turkish= +{ + 0xFFFF, + my_u300tr_casefold_index, + weight_general_ci_index +}; + + +/* + general_mysql500_ci is very similar to general_ci, but maps sorting order + for U+00DF to 0x00DF instead of 0x0053. +*/ +MY_CASEFOLD_INFO my_casefold_mysql500= +{ + 0xFFFF, + my_u300_casefold_index, + weight_general_mysql500_ci_index +}; + + + +MY_CASEFOLD_INFO my_casefold_unicode520= +{ + 0x10FFFF, + my_u520_casefold_index, + NULL +}; diff --git a/strings/ctype-unidata.h b/strings/ctype-unidata.h index 24cf3e3ea05..ba3235e47e5 100644 --- a/strings/ctype-unidata.h +++ b/strings/ctype-unidata.h @@ -1,7 +1,7 @@ #ifndef CTYPE_UNIDATA_H_INCLUDED #define CTYPE_UNIDATA_H_INCLUDED /* - Copyright (c) 2018 MariaDB Corporation + Copyright (c) 2018, 2023 MariaDB Corporation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,43 +17,69 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#define MY_UNICASE_INFO_DEFAULT_MAXCHAR 0xFFFF -extern MY_UNICASE_CHARACTER my_unicase_default_page00[256]; -extern MY_UNICASE_CHARACTER *my_unicase_default_pages[256]; -extern MY_UNICASE_CHARACTER my_unicase_mysql500_page00[256]; -extern MY_UNICASE_CHARACTER *my_unicase_mysql500_pages[256]; +extern const uint16 weight_general_ci_page00[256]; +extern const uint16 *weight_general_ci_index[256]; +extern const uint16 weight_general_mysql500_ci_page00[256]; +extern const uint16 *weight_general_mysql500_ci_index[256]; +extern const MY_CASEFOLD_CHARACTER u300_casefold_page00[256]; static inline my_wc_t my_u300_tolower_7bit(uchar ch) { - return my_unicase_default_page00[ch].tolower; + return u300_casefold_page00[ch].tolower; } static inline my_wc_t my_u300_toupper_7bit(uchar ch) { - return my_unicase_default_page00[ch].toupper; + return u300_casefold_page00[ch].toupper; } -static inline void my_tosort_unicode_bmp(MY_UNICASE_INFO *uni_plane, +static inline my_wc_t my_general_ci_bmp_char_to_weight(my_wc_t wc) +{ + const uint16 *page; + DBUG_ASSERT((wc >> 8) < array_elements(weight_general_ci_index)); + page= weight_general_ci_index[wc >> 8]; + return page ? page[wc & 0xFF] : wc; +} + + +static inline my_wc_t my_general_ci_char_to_weight(my_wc_t wc) +{ + if ((wc >> 8) < array_elements(weight_general_ci_index)) + return my_general_ci_bmp_char_to_weight(wc); + return MY_CS_REPLACEMENT_CHARACTER; +} + + +static inline my_wc_t my_general_mysql500_ci_bmp_char_to_weight(my_wc_t wc) +{ + const uint16 *page; + DBUG_ASSERT((wc >> 8) < array_elements(weight_general_mysql500_ci_index)); + page= weight_general_mysql500_ci_index[wc >> 8]; + return page ? page[wc & 0xFF] : wc; +} + + +static inline void my_tosort_unicode_bmp(MY_CASEFOLD_INFO *uni_plane, my_wc_t *wc) { - const MY_UNICASE_CHARACTER *page; + const uint16 *page; DBUG_ASSERT(*wc <= uni_plane->maxchar); - if ((page= uni_plane->page[*wc >> 8])) - *wc= page[*wc & 0xFF].sort; + if ((page= uni_plane->simple_weight[*wc >> 8])) + *wc= page[*wc & 0xFF]; } -static inline void my_tosort_unicode(MY_UNICASE_INFO *uni_plane, +static inline void my_tosort_unicode(MY_CASEFOLD_INFO *uni_plane, my_wc_t *wc) { if (*wc <= uni_plane->maxchar) { - const MY_UNICASE_CHARACTER *page; - if ((page= uni_plane->page[*wc >> 8])) - *wc= page[*wc & 0xFF].sort; + const uint16 *page; + if ((page= uni_plane->simple_weight[*wc >> 8])) + *wc= page[*wc & 0xFF]; } else { @@ -63,9 +89,9 @@ static inline void my_tosort_unicode(MY_UNICASE_INFO *uni_plane, static inline void -my_tolower_unicode_bmp(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) +my_tolower_unicode_bmp(MY_CASEFOLD_INFO *uni_plane, my_wc_t *wc) { - const MY_UNICASE_CHARACTER *page; + const MY_CASEFOLD_CHARACTER *page; DBUG_ASSERT(*wc <= uni_plane->maxchar); if ((page= uni_plane->page[*wc >> 8])) *wc= page[*wc & 0xFF].tolower; @@ -73,9 +99,9 @@ my_tolower_unicode_bmp(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) static inline void -my_toupper_unicode_bmp(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) +my_toupper_unicode_bmp(MY_CASEFOLD_INFO *uni_plane, my_wc_t *wc) { - const MY_UNICASE_CHARACTER *page; + const MY_CASEFOLD_CHARACTER *page; DBUG_ASSERT(*wc <= uni_plane->maxchar); if ((page= uni_plane->page[*wc >> 8])) *wc= page[*wc & 0xFF].toupper; @@ -83,11 +109,11 @@ my_toupper_unicode_bmp(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) static inline void -my_tolower_unicode(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) +my_tolower_unicode(MY_CASEFOLD_INFO *uni_plane, my_wc_t *wc) { if (*wc <= uni_plane->maxchar) { - const MY_UNICASE_CHARACTER *page; + const MY_CASEFOLD_CHARACTER *page; if ((page= uni_plane->page[(*wc >> 8)])) *wc= page[*wc & 0xFF].tolower; } @@ -95,17 +121,23 @@ my_tolower_unicode(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) static inline void -my_toupper_unicode(MY_UNICASE_INFO *uni_plane, my_wc_t *wc) +my_toupper_unicode(MY_CASEFOLD_INFO *uni_plane, my_wc_t *wc) { if (*wc <= uni_plane->maxchar) { - const MY_UNICASE_CHARACTER *page; + const MY_CASEFOLD_CHARACTER *page; if ((page= uni_plane->page[(*wc >> 8)])) *wc= page[*wc & 0xFF].toupper; } } +extern MY_CASEFOLD_INFO my_casefold_default; +extern MY_CASEFOLD_INFO my_casefold_turkish; +extern MY_CASEFOLD_INFO my_casefold_mysql500; +extern MY_CASEFOLD_INFO my_casefold_unicode520; + + size_t my_strxfrm_pad_nweights_unicode(uchar *str, uchar *strend, size_t nweights); size_t my_strxfrm_pad_unicode(uchar *str, uchar *strend); diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c index 01beb8c9f19..8656f1f0593 100644 --- a/strings/ctype-utf8.c +++ b/strings/ctype-utf8.c @@ -113,4543 +113,18 @@ int my_valid_mbcharlen_utf8mb3(const uchar *s, const uchar *e) #include "my_uctype.h" -MY_UNICASE_CHARACTER my_unicase_default_page00[]={ - {0x0000,0x0000,0x0000}, {0x0001,0x0001,0x0001}, - {0x0002,0x0002,0x0002}, {0x0003,0x0003,0x0003}, - {0x0004,0x0004,0x0004}, {0x0005,0x0005,0x0005}, - {0x0006,0x0006,0x0006}, {0x0007,0x0007,0x0007}, - {0x0008,0x0008,0x0008}, {0x0009,0x0009,0x0009}, - {0x000A,0x000A,0x000A}, {0x000B,0x000B,0x000B}, - {0x000C,0x000C,0x000C}, {0x000D,0x000D,0x000D}, - {0x000E,0x000E,0x000E}, {0x000F,0x000F,0x000F}, - {0x0010,0x0010,0x0010}, {0x0011,0x0011,0x0011}, - {0x0012,0x0012,0x0012}, {0x0013,0x0013,0x0013}, - {0x0014,0x0014,0x0014}, {0x0015,0x0015,0x0015}, - {0x0016,0x0016,0x0016}, {0x0017,0x0017,0x0017}, - {0x0018,0x0018,0x0018}, {0x0019,0x0019,0x0019}, - {0x001A,0x001A,0x001A}, {0x001B,0x001B,0x001B}, - {0x001C,0x001C,0x001C}, {0x001D,0x001D,0x001D}, - {0x001E,0x001E,0x001E}, {0x001F,0x001F,0x001F}, - {0x0020,0x0020,0x0020}, {0x0021,0x0021,0x0021}, - {0x0022,0x0022,0x0022}, {0x0023,0x0023,0x0023}, - {0x0024,0x0024,0x0024}, {0x0025,0x0025,0x0025}, - {0x0026,0x0026,0x0026}, {0x0027,0x0027,0x0027}, - {0x0028,0x0028,0x0028}, {0x0029,0x0029,0x0029}, - {0x002A,0x002A,0x002A}, {0x002B,0x002B,0x002B}, - {0x002C,0x002C,0x002C}, {0x002D,0x002D,0x002D}, - {0x002E,0x002E,0x002E}, {0x002F,0x002F,0x002F}, - {0x0030,0x0030,0x0030}, {0x0031,0x0031,0x0031}, - {0x0032,0x0032,0x0032}, {0x0033,0x0033,0x0033}, - {0x0034,0x0034,0x0034}, {0x0035,0x0035,0x0035}, - {0x0036,0x0036,0x0036}, {0x0037,0x0037,0x0037}, - {0x0038,0x0038,0x0038}, {0x0039,0x0039,0x0039}, - {0x003A,0x003A,0x003A}, {0x003B,0x003B,0x003B}, - {0x003C,0x003C,0x003C}, {0x003D,0x003D,0x003D}, - {0x003E,0x003E,0x003E}, {0x003F,0x003F,0x003F}, - {0x0040,0x0040,0x0040}, {0x0041,0x0061,0x0041}, - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, - {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049}, - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, - {0x005A,0x007A,0x005A}, {0x005B,0x005B,0x005B}, - {0x005C,0x005C,0x005C}, {0x005D,0x005D,0x005D}, - {0x005E,0x005E,0x005E}, {0x005F,0x005F,0x005F}, - {0x0060,0x0060,0x0060}, {0x0041,0x0061,0x0041}, - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, - {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049}, - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, - {0x005A,0x007A,0x005A}, {0x007B,0x007B,0x007B}, - {0x007C,0x007C,0x007C}, {0x007D,0x007D,0x007D}, - {0x007E,0x007E,0x007E}, {0x007F,0x007F,0x007F}, - {0x0080,0x0080,0x0080}, {0x0081,0x0081,0x0081}, - {0x0082,0x0082,0x0082}, {0x0083,0x0083,0x0083}, - {0x0084,0x0084,0x0084}, {0x0085,0x0085,0x0085}, - {0x0086,0x0086,0x0086}, {0x0087,0x0087,0x0087}, - {0x0088,0x0088,0x0088}, {0x0089,0x0089,0x0089}, - {0x008A,0x008A,0x008A}, {0x008B,0x008B,0x008B}, - {0x008C,0x008C,0x008C}, {0x008D,0x008D,0x008D}, - {0x008E,0x008E,0x008E}, {0x008F,0x008F,0x008F}, - {0x0090,0x0090,0x0090}, {0x0091,0x0091,0x0091}, - {0x0092,0x0092,0x0092}, {0x0093,0x0093,0x0093}, - {0x0094,0x0094,0x0094}, {0x0095,0x0095,0x0095}, - {0x0096,0x0096,0x0096}, {0x0097,0x0097,0x0097}, - {0x0098,0x0098,0x0098}, {0x0099,0x0099,0x0099}, - {0x009A,0x009A,0x009A}, {0x009B,0x009B,0x009B}, - {0x009C,0x009C,0x009C}, {0x009D,0x009D,0x009D}, - {0x009E,0x009E,0x009E}, {0x009F,0x009F,0x009F}, - {0x00A0,0x00A0,0x00A0}, {0x00A1,0x00A1,0x00A1}, - {0x00A2,0x00A2,0x00A2}, {0x00A3,0x00A3,0x00A3}, - {0x00A4,0x00A4,0x00A4}, {0x00A5,0x00A5,0x00A5}, - {0x00A6,0x00A6,0x00A6}, {0x00A7,0x00A7,0x00A7}, - {0x00A8,0x00A8,0x00A8}, {0x00A9,0x00A9,0x00A9}, - {0x00AA,0x00AA,0x00AA}, {0x00AB,0x00AB,0x00AB}, - {0x00AC,0x00AC,0x00AC}, {0x00AD,0x00AD,0x00AD}, - {0x00AE,0x00AE,0x00AE}, {0x00AF,0x00AF,0x00AF}, - {0x00B0,0x00B0,0x00B0}, {0x00B1,0x00B1,0x00B1}, - {0x00B2,0x00B2,0x00B2}, {0x00B3,0x00B3,0x00B3}, - {0x00B4,0x00B4,0x00B4}, {0x039C,0x00B5,0x039C}, - {0x00B6,0x00B6,0x00B6}, {0x00B7,0x00B7,0x00B7}, - {0x00B8,0x00B8,0x00B8}, {0x00B9,0x00B9,0x00B9}, - {0x00BA,0x00BA,0x00BA}, {0x00BB,0x00BB,0x00BB}, - {0x00BC,0x00BC,0x00BC}, {0x00BD,0x00BD,0x00BD}, - {0x00BE,0x00BE,0x00BE}, {0x00BF,0x00BF,0x00BF}, - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, - {0x00D6,0x00F6,0x004F}, {0x00D7,0x00D7,0x00D7}, - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, - {0x00DE,0x00FE,0x00DE}, {0x00DF,0x00DF,0x0053}, - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, - {0x00D6,0x00F6,0x004F}, {0x00F7,0x00F7,0x00F7}, - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, - {0x00DE,0x00FE,0x00DE}, {0x0178,0x00FF,0x0059} -}; - - -/* - Almost similar to my_unicase_default_page00, but maps sorting order - for U+00DF to 0x00DF instead of 0x0053. -*/ -MY_UNICASE_CHARACTER my_unicase_mysql500_page00[]={ - {0x0000,0x0000,0x0000}, {0x0001,0x0001,0x0001}, - {0x0002,0x0002,0x0002}, {0x0003,0x0003,0x0003}, - {0x0004,0x0004,0x0004}, {0x0005,0x0005,0x0005}, - {0x0006,0x0006,0x0006}, {0x0007,0x0007,0x0007}, - {0x0008,0x0008,0x0008}, {0x0009,0x0009,0x0009}, - {0x000A,0x000A,0x000A}, {0x000B,0x000B,0x000B}, - {0x000C,0x000C,0x000C}, {0x000D,0x000D,0x000D}, - {0x000E,0x000E,0x000E}, {0x000F,0x000F,0x000F}, - {0x0010,0x0010,0x0010}, {0x0011,0x0011,0x0011}, - {0x0012,0x0012,0x0012}, {0x0013,0x0013,0x0013}, - {0x0014,0x0014,0x0014}, {0x0015,0x0015,0x0015}, - {0x0016,0x0016,0x0016}, {0x0017,0x0017,0x0017}, - {0x0018,0x0018,0x0018}, {0x0019,0x0019,0x0019}, - {0x001A,0x001A,0x001A}, {0x001B,0x001B,0x001B}, - {0x001C,0x001C,0x001C}, {0x001D,0x001D,0x001D}, - {0x001E,0x001E,0x001E}, {0x001F,0x001F,0x001F}, - {0x0020,0x0020,0x0020}, {0x0021,0x0021,0x0021}, - {0x0022,0x0022,0x0022}, {0x0023,0x0023,0x0023}, - {0x0024,0x0024,0x0024}, {0x0025,0x0025,0x0025}, - {0x0026,0x0026,0x0026}, {0x0027,0x0027,0x0027}, - {0x0028,0x0028,0x0028}, {0x0029,0x0029,0x0029}, - {0x002A,0x002A,0x002A}, {0x002B,0x002B,0x002B}, - {0x002C,0x002C,0x002C}, {0x002D,0x002D,0x002D}, - {0x002E,0x002E,0x002E}, {0x002F,0x002F,0x002F}, - {0x0030,0x0030,0x0030}, {0x0031,0x0031,0x0031}, - {0x0032,0x0032,0x0032}, {0x0033,0x0033,0x0033}, - {0x0034,0x0034,0x0034}, {0x0035,0x0035,0x0035}, - {0x0036,0x0036,0x0036}, {0x0037,0x0037,0x0037}, - {0x0038,0x0038,0x0038}, {0x0039,0x0039,0x0039}, - {0x003A,0x003A,0x003A}, {0x003B,0x003B,0x003B}, - {0x003C,0x003C,0x003C}, {0x003D,0x003D,0x003D}, - {0x003E,0x003E,0x003E}, {0x003F,0x003F,0x003F}, - {0x0040,0x0040,0x0040}, {0x0041,0x0061,0x0041}, - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, - {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049}, - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, - {0x005A,0x007A,0x005A}, {0x005B,0x005B,0x005B}, - {0x005C,0x005C,0x005C}, {0x005D,0x005D,0x005D}, - {0x005E,0x005E,0x005E}, {0x005F,0x005F,0x005F}, - {0x0060,0x0060,0x0060}, {0x0041,0x0061,0x0041}, - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, - {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049}, - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, - {0x005A,0x007A,0x005A}, {0x007B,0x007B,0x007B}, - {0x007C,0x007C,0x007C}, {0x007D,0x007D,0x007D}, - {0x007E,0x007E,0x007E}, {0x007F,0x007F,0x007F}, - {0x0080,0x0080,0x0080}, {0x0081,0x0081,0x0081}, - {0x0082,0x0082,0x0082}, {0x0083,0x0083,0x0083}, - {0x0084,0x0084,0x0084}, {0x0085,0x0085,0x0085}, - {0x0086,0x0086,0x0086}, {0x0087,0x0087,0x0087}, - {0x0088,0x0088,0x0088}, {0x0089,0x0089,0x0089}, - {0x008A,0x008A,0x008A}, {0x008B,0x008B,0x008B}, - {0x008C,0x008C,0x008C}, {0x008D,0x008D,0x008D}, - {0x008E,0x008E,0x008E}, {0x008F,0x008F,0x008F}, - {0x0090,0x0090,0x0090}, {0x0091,0x0091,0x0091}, - {0x0092,0x0092,0x0092}, {0x0093,0x0093,0x0093}, - {0x0094,0x0094,0x0094}, {0x0095,0x0095,0x0095}, - {0x0096,0x0096,0x0096}, {0x0097,0x0097,0x0097}, - {0x0098,0x0098,0x0098}, {0x0099,0x0099,0x0099}, - {0x009A,0x009A,0x009A}, {0x009B,0x009B,0x009B}, - {0x009C,0x009C,0x009C}, {0x009D,0x009D,0x009D}, - {0x009E,0x009E,0x009E}, {0x009F,0x009F,0x009F}, - {0x00A0,0x00A0,0x00A0}, {0x00A1,0x00A1,0x00A1}, - {0x00A2,0x00A2,0x00A2}, {0x00A3,0x00A3,0x00A3}, - {0x00A4,0x00A4,0x00A4}, {0x00A5,0x00A5,0x00A5}, - {0x00A6,0x00A6,0x00A6}, {0x00A7,0x00A7,0x00A7}, - {0x00A8,0x00A8,0x00A8}, {0x00A9,0x00A9,0x00A9}, - {0x00AA,0x00AA,0x00AA}, {0x00AB,0x00AB,0x00AB}, - {0x00AC,0x00AC,0x00AC}, {0x00AD,0x00AD,0x00AD}, - {0x00AE,0x00AE,0x00AE}, {0x00AF,0x00AF,0x00AF}, - {0x00B0,0x00B0,0x00B0}, {0x00B1,0x00B1,0x00B1}, - {0x00B2,0x00B2,0x00B2}, {0x00B3,0x00B3,0x00B3}, - {0x00B4,0x00B4,0x00B4}, {0x039C,0x00B5,0x039C}, - {0x00B6,0x00B6,0x00B6}, {0x00B7,0x00B7,0x00B7}, - {0x00B8,0x00B8,0x00B8}, {0x00B9,0x00B9,0x00B9}, - {0x00BA,0x00BA,0x00BA}, {0x00BB,0x00BB,0x00BB}, - {0x00BC,0x00BC,0x00BC}, {0x00BD,0x00BD,0x00BD}, - {0x00BE,0x00BE,0x00BE}, {0x00BF,0x00BF,0x00BF}, - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, - {0x00D6,0x00F6,0x004F}, {0x00D7,0x00D7,0x00D7}, - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, - {0x00DE,0x00FE,0x00DE}, {0x00DF,0x00DF,0x00DF}, - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, - {0x00D6,0x00F6,0x004F}, {0x00F7,0x00F7,0x00F7}, - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, - {0x00DE,0x00FE,0x00DE}, {0x0178,0x00FF,0x0059} -}; - - -static MY_UNICASE_CHARACTER plane01[]={ - {0x0100,0x0101,0x0041}, {0x0100,0x0101,0x0041}, - {0x0102,0x0103,0x0041}, {0x0102,0x0103,0x0041}, - {0x0104,0x0105,0x0041}, {0x0104,0x0105,0x0041}, - {0x0106,0x0107,0x0043}, {0x0106,0x0107,0x0043}, - {0x0108,0x0109,0x0043}, {0x0108,0x0109,0x0043}, - {0x010A,0x010B,0x0043}, {0x010A,0x010B,0x0043}, - {0x010C,0x010D,0x0043}, {0x010C,0x010D,0x0043}, - {0x010E,0x010F,0x0044}, {0x010E,0x010F,0x0044}, - {0x0110,0x0111,0x0110}, {0x0110,0x0111,0x0110}, - {0x0112,0x0113,0x0045}, {0x0112,0x0113,0x0045}, - {0x0114,0x0115,0x0045}, {0x0114,0x0115,0x0045}, - {0x0116,0x0117,0x0045}, {0x0116,0x0117,0x0045}, - {0x0118,0x0119,0x0045}, {0x0118,0x0119,0x0045}, - {0x011A,0x011B,0x0045}, {0x011A,0x011B,0x0045}, - {0x011C,0x011D,0x0047}, {0x011C,0x011D,0x0047}, - {0x011E,0x011F,0x0047}, {0x011E,0x011F,0x0047}, - {0x0120,0x0121,0x0047}, {0x0120,0x0121,0x0047}, - {0x0122,0x0123,0x0047}, {0x0122,0x0123,0x0047}, - {0x0124,0x0125,0x0048}, {0x0124,0x0125,0x0048}, - {0x0126,0x0127,0x0126}, {0x0126,0x0127,0x0126}, - {0x0128,0x0129,0x0049}, {0x0128,0x0129,0x0049}, - {0x012A,0x012B,0x0049}, {0x012A,0x012B,0x0049}, - {0x012C,0x012D,0x0049}, {0x012C,0x012D,0x0049}, - {0x012E,0x012F,0x0049}, {0x012E,0x012F,0x0049}, - {0x0130,0x0069,0x0049}, {0x0049,0x0131,0x0049}, - {0x0132,0x0133,0x0132}, {0x0132,0x0133,0x0132}, - {0x0134,0x0135,0x004A}, {0x0134,0x0135,0x004A}, - {0x0136,0x0137,0x004B}, {0x0136,0x0137,0x004B}, - {0x0138,0x0138,0x0138}, {0x0139,0x013A,0x004C}, - {0x0139,0x013A,0x004C}, {0x013B,0x013C,0x004C}, - {0x013B,0x013C,0x004C}, {0x013D,0x013E,0x004C}, - {0x013D,0x013E,0x004C}, {0x013F,0x0140,0x013F}, - {0x013F,0x0140,0x013F}, {0x0141,0x0142,0x0141}, - {0x0141,0x0142,0x0141}, {0x0143,0x0144,0x004E}, - {0x0143,0x0144,0x004E}, {0x0145,0x0146,0x004E}, - {0x0145,0x0146,0x004E}, {0x0147,0x0148,0x004E}, - {0x0147,0x0148,0x004E}, {0x0149,0x0149,0x0149}, - {0x014A,0x014B,0x014A}, {0x014A,0x014B,0x014A}, - {0x014C,0x014D,0x004F}, {0x014C,0x014D,0x004F}, - {0x014E,0x014F,0x004F}, {0x014E,0x014F,0x004F}, - {0x0150,0x0151,0x004F}, {0x0150,0x0151,0x004F}, - {0x0152,0x0153,0x0152}, {0x0152,0x0153,0x0152}, - {0x0154,0x0155,0x0052}, {0x0154,0x0155,0x0052}, - {0x0156,0x0157,0x0052}, {0x0156,0x0157,0x0052}, - {0x0158,0x0159,0x0052}, {0x0158,0x0159,0x0052}, - {0x015A,0x015B,0x0053}, {0x015A,0x015B,0x0053}, - {0x015C,0x015D,0x0053}, {0x015C,0x015D,0x0053}, - {0x015E,0x015F,0x0053}, {0x015E,0x015F,0x0053}, - {0x0160,0x0161,0x0053}, {0x0160,0x0161,0x0053}, - {0x0162,0x0163,0x0054}, {0x0162,0x0163,0x0054}, - {0x0164,0x0165,0x0054}, {0x0164,0x0165,0x0054}, - {0x0166,0x0167,0x0166}, {0x0166,0x0167,0x0166}, - {0x0168,0x0169,0x0055}, {0x0168,0x0169,0x0055}, - {0x016A,0x016B,0x0055}, {0x016A,0x016B,0x0055}, - {0x016C,0x016D,0x0055}, {0x016C,0x016D,0x0055}, - {0x016E,0x016F,0x0055}, {0x016E,0x016F,0x0055}, - {0x0170,0x0171,0x0055}, {0x0170,0x0171,0x0055}, - {0x0172,0x0173,0x0055}, {0x0172,0x0173,0x0055}, - {0x0174,0x0175,0x0057}, {0x0174,0x0175,0x0057}, - {0x0176,0x0177,0x0059}, {0x0176,0x0177,0x0059}, - {0x0178,0x00FF,0x0059}, {0x0179,0x017A,0x005A}, - {0x0179,0x017A,0x005A}, {0x017B,0x017C,0x005A}, - {0x017B,0x017C,0x005A}, {0x017D,0x017E,0x005A}, - {0x017D,0x017E,0x005A}, {0x0053,0x017F,0x0053}, - {0x0180,0x0180,0x0180}, {0x0181,0x0253,0x0181}, - {0x0182,0x0183,0x0182}, {0x0182,0x0183,0x0182}, - {0x0184,0x0185,0x0184}, {0x0184,0x0185,0x0184}, - {0x0186,0x0254,0x0186}, {0x0187,0x0188,0x0187}, - {0x0187,0x0188,0x0187}, {0x0189,0x0256,0x0189}, - {0x018A,0x0257,0x018A}, {0x018B,0x018C,0x018B}, - {0x018B,0x018C,0x018B}, {0x018D,0x018D,0x018D}, - {0x018E,0x01DD,0x018E}, {0x018F,0x0259,0x018F}, - {0x0190,0x025B,0x0190}, {0x0191,0x0192,0x0191}, - {0x0191,0x0192,0x0191}, {0x0193,0x0260,0x0193}, - {0x0194,0x0263,0x0194}, {0x01F6,0x0195,0x01F6}, - {0x0196,0x0269,0x0196}, {0x0197,0x0268,0x0197}, - {0x0198,0x0199,0x0198}, {0x0198,0x0199,0x0198}, - {0x019A,0x019A,0x019A}, {0x019B,0x019B,0x019B}, - {0x019C,0x026F,0x019C}, {0x019D,0x0272,0x019D}, - {0x019E,0x019E,0x019E}, {0x019F,0x0275,0x019F}, - {0x01A0,0x01A1,0x004F}, {0x01A0,0x01A1,0x004F}, - {0x01A2,0x01A3,0x01A2}, {0x01A2,0x01A3,0x01A2}, - {0x01A4,0x01A5,0x01A4}, {0x01A4,0x01A5,0x01A4}, - {0x01A6,0x0280,0x01A6}, {0x01A7,0x01A8,0x01A7}, - {0x01A7,0x01A8,0x01A7}, {0x01A9,0x0283,0x01A9}, - {0x01AA,0x01AA,0x01AA}, {0x01AB,0x01AB,0x01AB}, - {0x01AC,0x01AD,0x01AC}, {0x01AC,0x01AD,0x01AC}, - {0x01AE,0x0288,0x01AE}, {0x01AF,0x01B0,0x0055}, - {0x01AF,0x01B0,0x0055}, {0x01B1,0x028A,0x01B1}, - {0x01B2,0x028B,0x01B2}, {0x01B3,0x01B4,0x01B3}, - {0x01B3,0x01B4,0x01B3}, {0x01B5,0x01B6,0x01B5}, - {0x01B5,0x01B6,0x01B5}, {0x01B7,0x0292,0x01B7}, - {0x01B8,0x01B9,0x01B8}, {0x01B8,0x01B9,0x01B8}, - {0x01BA,0x01BA,0x01BA}, {0x01BB,0x01BB,0x01BB}, - {0x01BC,0x01BD,0x01BC}, {0x01BC,0x01BD,0x01BC}, - {0x01BE,0x01BE,0x01BE}, {0x01F7,0x01BF,0x01F7}, - {0x01C0,0x01C0,0x01C0}, {0x01C1,0x01C1,0x01C1}, - {0x01C2,0x01C2,0x01C2}, {0x01C3,0x01C3,0x01C3}, - {0x01C4,0x01C6,0x01C4}, {0x01C4,0x01C6,0x01C4}, - {0x01C4,0x01C6,0x01C4}, {0x01C7,0x01C9,0x01C7}, - {0x01C7,0x01C9,0x01C7}, {0x01C7,0x01C9,0x01C7}, - {0x01CA,0x01CC,0x01CA}, {0x01CA,0x01CC,0x01CA}, - {0x01CA,0x01CC,0x01CA}, {0x01CD,0x01CE,0x0041}, - {0x01CD,0x01CE,0x0041}, {0x01CF,0x01D0,0x0049}, - {0x01CF,0x01D0,0x0049}, {0x01D1,0x01D2,0x004F}, - {0x01D1,0x01D2,0x004F}, {0x01D3,0x01D4,0x0055}, - {0x01D3,0x01D4,0x0055}, {0x01D5,0x01D6,0x0055}, - {0x01D5,0x01D6,0x0055}, {0x01D7,0x01D8,0x0055}, - {0x01D7,0x01D8,0x0055}, {0x01D9,0x01DA,0x0055}, - {0x01D9,0x01DA,0x0055}, {0x01DB,0x01DC,0x0055}, - {0x01DB,0x01DC,0x0055}, {0x018E,0x01DD,0x018E}, - {0x01DE,0x01DF,0x0041}, {0x01DE,0x01DF,0x0041}, - {0x01E0,0x01E1,0x0041}, {0x01E0,0x01E1,0x0041}, - {0x01E2,0x01E3,0x00C6}, {0x01E2,0x01E3,0x00C6}, - {0x01E4,0x01E5,0x01E4}, {0x01E4,0x01E5,0x01E4}, - {0x01E6,0x01E7,0x0047}, {0x01E6,0x01E7,0x0047}, - {0x01E8,0x01E9,0x004B}, {0x01E8,0x01E9,0x004B}, - {0x01EA,0x01EB,0x004F}, {0x01EA,0x01EB,0x004F}, - {0x01EC,0x01ED,0x004F}, {0x01EC,0x01ED,0x004F}, - {0x01EE,0x01EF,0x01B7}, {0x01EE,0x01EF,0x01B7}, - {0x01F0,0x01F0,0x004A}, {0x01F1,0x01F3,0x01F1}, - {0x01F1,0x01F3,0x01F1}, {0x01F1,0x01F3,0x01F1}, - {0x01F4,0x01F5,0x0047}, {0x01F4,0x01F5,0x0047}, - {0x01F6,0x0195,0x01F6}, {0x01F7,0x01BF,0x01F7}, - {0x01F8,0x01F9,0x004E}, {0x01F8,0x01F9,0x004E}, - {0x01FA,0x01FB,0x0041}, {0x01FA,0x01FB,0x0041}, - {0x01FC,0x01FD,0x00C6}, {0x01FC,0x01FD,0x00C6}, - {0x01FE,0x01FF,0x00D8}, {0x01FE,0x01FF,0x00D8} -}; - -static MY_UNICASE_CHARACTER plane02[]={ - {0x0200,0x0201,0x0041}, {0x0200,0x0201,0x0041}, - {0x0202,0x0203,0x0041}, {0x0202,0x0203,0x0041}, - {0x0204,0x0205,0x0045}, {0x0204,0x0205,0x0045}, - {0x0206,0x0207,0x0045}, {0x0206,0x0207,0x0045}, - {0x0208,0x0209,0x0049}, {0x0208,0x0209,0x0049}, - {0x020A,0x020B,0x0049}, {0x020A,0x020B,0x0049}, - {0x020C,0x020D,0x004F}, {0x020C,0x020D,0x004F}, - {0x020E,0x020F,0x004F}, {0x020E,0x020F,0x004F}, - {0x0210,0x0211,0x0052}, {0x0210,0x0211,0x0052}, - {0x0212,0x0213,0x0052}, {0x0212,0x0213,0x0052}, - {0x0214,0x0215,0x0055}, {0x0214,0x0215,0x0055}, - {0x0216,0x0217,0x0055}, {0x0216,0x0217,0x0055}, - {0x0218,0x0219,0x0053}, {0x0218,0x0219,0x0053}, - {0x021A,0x021B,0x0054}, {0x021A,0x021B,0x0054}, - {0x021C,0x021D,0x021C}, {0x021C,0x021D,0x021C}, - {0x021E,0x021F,0x0048}, {0x021E,0x021F,0x0048}, - {0x0220,0x0220,0x0220}, {0x0221,0x0221,0x0221}, - {0x0222,0x0223,0x0222}, {0x0222,0x0223,0x0222}, - {0x0224,0x0225,0x0224}, {0x0224,0x0225,0x0224}, - {0x0226,0x0227,0x0041}, {0x0226,0x0227,0x0041}, - {0x0228,0x0229,0x0045}, {0x0228,0x0229,0x0045}, - {0x022A,0x022B,0x004F}, {0x022A,0x022B,0x004F}, - {0x022C,0x022D,0x004F}, {0x022C,0x022D,0x004F}, - {0x022E,0x022F,0x004F}, {0x022E,0x022F,0x004F}, - {0x0230,0x0231,0x004F}, {0x0230,0x0231,0x004F}, - {0x0232,0x0233,0x0059}, {0x0232,0x0233,0x0059}, - {0x0234,0x0234,0x0234}, {0x0235,0x0235,0x0235}, - {0x0236,0x0236,0x0236}, {0x0237,0x0237,0x0237}, - {0x0238,0x0238,0x0238}, {0x0239,0x0239,0x0239}, - {0x023A,0x023A,0x023A}, {0x023B,0x023B,0x023B}, - {0x023C,0x023C,0x023C}, {0x023D,0x023D,0x023D}, - {0x023E,0x023E,0x023E}, {0x023F,0x023F,0x023F}, - {0x0240,0x0240,0x0240}, {0x0241,0x0241,0x0241}, - {0x0242,0x0242,0x0242}, {0x0243,0x0243,0x0243}, - {0x0244,0x0244,0x0244}, {0x0245,0x0245,0x0245}, - {0x0246,0x0246,0x0246}, {0x0247,0x0247,0x0247}, - {0x0248,0x0248,0x0248}, {0x0249,0x0249,0x0249}, - {0x024A,0x024A,0x024A}, {0x024B,0x024B,0x024B}, - {0x024C,0x024C,0x024C}, {0x024D,0x024D,0x024D}, - {0x024E,0x024E,0x024E}, {0x024F,0x024F,0x024F}, - {0x0250,0x0250,0x0250}, {0x0251,0x0251,0x0251}, - {0x0252,0x0252,0x0252}, {0x0181,0x0253,0x0181}, - {0x0186,0x0254,0x0186}, {0x0255,0x0255,0x0255}, - {0x0189,0x0256,0x0189}, {0x018A,0x0257,0x018A}, - {0x0258,0x0258,0x0258}, {0x018F,0x0259,0x018F}, - {0x025A,0x025A,0x025A}, {0x0190,0x025B,0x0190}, - {0x025C,0x025C,0x025C}, {0x025D,0x025D,0x025D}, - {0x025E,0x025E,0x025E}, {0x025F,0x025F,0x025F}, - {0x0193,0x0260,0x0193}, {0x0261,0x0261,0x0261}, - {0x0262,0x0262,0x0262}, {0x0194,0x0263,0x0194}, - {0x0264,0x0264,0x0264}, {0x0265,0x0265,0x0265}, - {0x0266,0x0266,0x0266}, {0x0267,0x0267,0x0267}, - {0x0197,0x0268,0x0197}, {0x0196,0x0269,0x0196}, - {0x026A,0x026A,0x026A}, {0x026B,0x026B,0x026B}, - {0x026C,0x026C,0x026C}, {0x026D,0x026D,0x026D}, - {0x026E,0x026E,0x026E}, {0x019C,0x026F,0x019C}, - {0x0270,0x0270,0x0270}, {0x0271,0x0271,0x0271}, - {0x019D,0x0272,0x019D}, {0x0273,0x0273,0x0273}, - {0x0274,0x0274,0x0274}, {0x019F,0x0275,0x019F}, - {0x0276,0x0276,0x0276}, {0x0277,0x0277,0x0277}, - {0x0278,0x0278,0x0278}, {0x0279,0x0279,0x0279}, - {0x027A,0x027A,0x027A}, {0x027B,0x027B,0x027B}, - {0x027C,0x027C,0x027C}, {0x027D,0x027D,0x027D}, - {0x027E,0x027E,0x027E}, {0x027F,0x027F,0x027F}, - {0x01A6,0x0280,0x01A6}, {0x0281,0x0281,0x0281}, - {0x0282,0x0282,0x0282}, {0x01A9,0x0283,0x01A9}, - {0x0284,0x0284,0x0284}, {0x0285,0x0285,0x0285}, - {0x0286,0x0286,0x0286}, {0x0287,0x0287,0x0287}, - {0x01AE,0x0288,0x01AE}, {0x0289,0x0289,0x0289}, - {0x01B1,0x028A,0x01B1}, {0x01B2,0x028B,0x01B2}, - {0x028C,0x028C,0x028C}, {0x028D,0x028D,0x028D}, - {0x028E,0x028E,0x028E}, {0x028F,0x028F,0x028F}, - {0x0290,0x0290,0x0290}, {0x0291,0x0291,0x0291}, - {0x01B7,0x0292,0x01B7}, {0x0293,0x0293,0x0293}, - {0x0294,0x0294,0x0294}, {0x0295,0x0295,0x0295}, - {0x0296,0x0296,0x0296}, {0x0297,0x0297,0x0297}, - {0x0298,0x0298,0x0298}, {0x0299,0x0299,0x0299}, - {0x029A,0x029A,0x029A}, {0x029B,0x029B,0x029B}, - {0x029C,0x029C,0x029C}, {0x029D,0x029D,0x029D}, - {0x029E,0x029E,0x029E}, {0x029F,0x029F,0x029F}, - {0x02A0,0x02A0,0x02A0}, {0x02A1,0x02A1,0x02A1}, - {0x02A2,0x02A2,0x02A2}, {0x02A3,0x02A3,0x02A3}, - {0x02A4,0x02A4,0x02A4}, {0x02A5,0x02A5,0x02A5}, - {0x02A6,0x02A6,0x02A6}, {0x02A7,0x02A7,0x02A7}, - {0x02A8,0x02A8,0x02A8}, {0x02A9,0x02A9,0x02A9}, - {0x02AA,0x02AA,0x02AA}, {0x02AB,0x02AB,0x02AB}, - {0x02AC,0x02AC,0x02AC}, {0x02AD,0x02AD,0x02AD}, - {0x02AE,0x02AE,0x02AE}, {0x02AF,0x02AF,0x02AF}, - {0x02B0,0x02B0,0x02B0}, {0x02B1,0x02B1,0x02B1}, - {0x02B2,0x02B2,0x02B2}, {0x02B3,0x02B3,0x02B3}, - {0x02B4,0x02B4,0x02B4}, {0x02B5,0x02B5,0x02B5}, - {0x02B6,0x02B6,0x02B6}, {0x02B7,0x02B7,0x02B7}, - {0x02B8,0x02B8,0x02B8}, {0x02B9,0x02B9,0x02B9}, - {0x02BA,0x02BA,0x02BA}, {0x02BB,0x02BB,0x02BB}, - {0x02BC,0x02BC,0x02BC}, {0x02BD,0x02BD,0x02BD}, - {0x02BE,0x02BE,0x02BE}, {0x02BF,0x02BF,0x02BF}, - {0x02C0,0x02C0,0x02C0}, {0x02C1,0x02C1,0x02C1}, - {0x02C2,0x02C2,0x02C2}, {0x02C3,0x02C3,0x02C3}, - {0x02C4,0x02C4,0x02C4}, {0x02C5,0x02C5,0x02C5}, - {0x02C6,0x02C6,0x02C6}, {0x02C7,0x02C7,0x02C7}, - {0x02C8,0x02C8,0x02C8}, {0x02C9,0x02C9,0x02C9}, - {0x02CA,0x02CA,0x02CA}, {0x02CB,0x02CB,0x02CB}, - {0x02CC,0x02CC,0x02CC}, {0x02CD,0x02CD,0x02CD}, - {0x02CE,0x02CE,0x02CE}, {0x02CF,0x02CF,0x02CF}, - {0x02D0,0x02D0,0x02D0}, {0x02D1,0x02D1,0x02D1}, - {0x02D2,0x02D2,0x02D2}, {0x02D3,0x02D3,0x02D3}, - {0x02D4,0x02D4,0x02D4}, {0x02D5,0x02D5,0x02D5}, - {0x02D6,0x02D6,0x02D6}, {0x02D7,0x02D7,0x02D7}, - {0x02D8,0x02D8,0x02D8}, {0x02D9,0x02D9,0x02D9}, - {0x02DA,0x02DA,0x02DA}, {0x02DB,0x02DB,0x02DB}, - {0x02DC,0x02DC,0x02DC}, {0x02DD,0x02DD,0x02DD}, - {0x02DE,0x02DE,0x02DE}, {0x02DF,0x02DF,0x02DF}, - {0x02E0,0x02E0,0x02E0}, {0x02E1,0x02E1,0x02E1}, - {0x02E2,0x02E2,0x02E2}, {0x02E3,0x02E3,0x02E3}, - {0x02E4,0x02E4,0x02E4}, {0x02E5,0x02E5,0x02E5}, - {0x02E6,0x02E6,0x02E6}, {0x02E7,0x02E7,0x02E7}, - {0x02E8,0x02E8,0x02E8}, {0x02E9,0x02E9,0x02E9}, - {0x02EA,0x02EA,0x02EA}, {0x02EB,0x02EB,0x02EB}, - {0x02EC,0x02EC,0x02EC}, {0x02ED,0x02ED,0x02ED}, - {0x02EE,0x02EE,0x02EE}, {0x02EF,0x02EF,0x02EF}, - {0x02F0,0x02F0,0x02F0}, {0x02F1,0x02F1,0x02F1}, - {0x02F2,0x02F2,0x02F2}, {0x02F3,0x02F3,0x02F3}, - {0x02F4,0x02F4,0x02F4}, {0x02F5,0x02F5,0x02F5}, - {0x02F6,0x02F6,0x02F6}, {0x02F7,0x02F7,0x02F7}, - {0x02F8,0x02F8,0x02F8}, {0x02F9,0x02F9,0x02F9}, - {0x02FA,0x02FA,0x02FA}, {0x02FB,0x02FB,0x02FB}, - {0x02FC,0x02FC,0x02FC}, {0x02FD,0x02FD,0x02FD}, - {0x02FE,0x02FE,0x02FE}, {0x02FF,0x02FF,0x02FF} -}; - -static MY_UNICASE_CHARACTER plane03[]={ - {0x0300,0x0300,0x0300}, {0x0301,0x0301,0x0301}, - {0x0302,0x0302,0x0302}, {0x0303,0x0303,0x0303}, - {0x0304,0x0304,0x0304}, {0x0305,0x0305,0x0305}, - {0x0306,0x0306,0x0306}, {0x0307,0x0307,0x0307}, - {0x0308,0x0308,0x0308}, {0x0309,0x0309,0x0309}, - {0x030A,0x030A,0x030A}, {0x030B,0x030B,0x030B}, - {0x030C,0x030C,0x030C}, {0x030D,0x030D,0x030D}, - {0x030E,0x030E,0x030E}, {0x030F,0x030F,0x030F}, - {0x0310,0x0310,0x0310}, {0x0311,0x0311,0x0311}, - {0x0312,0x0312,0x0312}, {0x0313,0x0313,0x0313}, - {0x0314,0x0314,0x0314}, {0x0315,0x0315,0x0315}, - {0x0316,0x0316,0x0316}, {0x0317,0x0317,0x0317}, - {0x0318,0x0318,0x0318}, {0x0319,0x0319,0x0319}, - {0x031A,0x031A,0x031A}, {0x031B,0x031B,0x031B}, - {0x031C,0x031C,0x031C}, {0x031D,0x031D,0x031D}, - {0x031E,0x031E,0x031E}, {0x031F,0x031F,0x031F}, - {0x0320,0x0320,0x0320}, {0x0321,0x0321,0x0321}, - {0x0322,0x0322,0x0322}, {0x0323,0x0323,0x0323}, - {0x0324,0x0324,0x0324}, {0x0325,0x0325,0x0325}, - {0x0326,0x0326,0x0326}, {0x0327,0x0327,0x0327}, - {0x0328,0x0328,0x0328}, {0x0329,0x0329,0x0329}, - {0x032A,0x032A,0x032A}, {0x032B,0x032B,0x032B}, - {0x032C,0x032C,0x032C}, {0x032D,0x032D,0x032D}, - {0x032E,0x032E,0x032E}, {0x032F,0x032F,0x032F}, - {0x0330,0x0330,0x0330}, {0x0331,0x0331,0x0331}, - {0x0332,0x0332,0x0332}, {0x0333,0x0333,0x0333}, - {0x0334,0x0334,0x0334}, {0x0335,0x0335,0x0335}, - {0x0336,0x0336,0x0336}, {0x0337,0x0337,0x0337}, - {0x0338,0x0338,0x0338}, {0x0339,0x0339,0x0339}, - {0x033A,0x033A,0x033A}, {0x033B,0x033B,0x033B}, - {0x033C,0x033C,0x033C}, {0x033D,0x033D,0x033D}, - {0x033E,0x033E,0x033E}, {0x033F,0x033F,0x033F}, - {0x0340,0x0340,0x0340}, {0x0341,0x0341,0x0341}, - {0x0342,0x0342,0x0342}, {0x0343,0x0343,0x0343}, - {0x0344,0x0344,0x0344}, {0x0399,0x0345,0x0399}, - {0x0346,0x0346,0x0346}, {0x0347,0x0347,0x0347}, - {0x0348,0x0348,0x0348}, {0x0349,0x0349,0x0349}, - {0x034A,0x034A,0x034A}, {0x034B,0x034B,0x034B}, - {0x034C,0x034C,0x034C}, {0x034D,0x034D,0x034D}, - {0x034E,0x034E,0x034E}, {0x034F,0x034F,0x034F}, - {0x0350,0x0350,0x0350}, {0x0351,0x0351,0x0351}, - {0x0352,0x0352,0x0352}, {0x0353,0x0353,0x0353}, - {0x0354,0x0354,0x0354}, {0x0355,0x0355,0x0355}, - {0x0356,0x0356,0x0356}, {0x0357,0x0357,0x0357}, - {0x0358,0x0358,0x0358}, {0x0359,0x0359,0x0359}, - {0x035A,0x035A,0x035A}, {0x035B,0x035B,0x035B}, - {0x035C,0x035C,0x035C}, {0x035D,0x035D,0x035D}, - {0x035E,0x035E,0x035E}, {0x035F,0x035F,0x035F}, - {0x0360,0x0360,0x0360}, {0x0361,0x0361,0x0361}, - {0x0362,0x0362,0x0362}, {0x0363,0x0363,0x0363}, - {0x0364,0x0364,0x0364}, {0x0365,0x0365,0x0365}, - {0x0366,0x0366,0x0366}, {0x0367,0x0367,0x0367}, - {0x0368,0x0368,0x0368}, {0x0369,0x0369,0x0369}, - {0x036A,0x036A,0x036A}, {0x036B,0x036B,0x036B}, - {0x036C,0x036C,0x036C}, {0x036D,0x036D,0x036D}, - {0x036E,0x036E,0x036E}, {0x036F,0x036F,0x036F}, - {0x0370,0x0370,0x0370}, {0x0371,0x0371,0x0371}, - {0x0372,0x0372,0x0372}, {0x0373,0x0373,0x0373}, - {0x0374,0x0374,0x0374}, {0x0375,0x0375,0x0375}, - {0x0376,0x0376,0x0376}, {0x0377,0x0377,0x0377}, - {0x0378,0x0378,0x0378}, {0x0379,0x0379,0x0379}, - {0x037A,0x037A,0x037A}, {0x037B,0x037B,0x037B}, - {0x037C,0x037C,0x037C}, {0x037D,0x037D,0x037D}, - {0x037E,0x037E,0x037E}, {0x037F,0x037F,0x037F}, - {0x0380,0x0380,0x0380}, {0x0381,0x0381,0x0381}, - {0x0382,0x0382,0x0382}, {0x0383,0x0383,0x0383}, - {0x0384,0x0384,0x0384}, {0x0385,0x0385,0x0385}, - {0x0386,0x03AC,0x0391}, {0x0387,0x0387,0x0387}, - {0x0388,0x03AD,0x0395}, {0x0389,0x03AE,0x0397}, - {0x038A,0x03AF,0x0399}, {0x038B,0x038B,0x038B}, - {0x038C,0x03CC,0x039F}, {0x038D,0x038D,0x038D}, - {0x038E,0x03CD,0x03A5}, {0x038F,0x03CE,0x03A9}, - {0x0390,0x0390,0x0399}, {0x0391,0x03B1,0x0391}, - {0x0392,0x03B2,0x0392}, {0x0393,0x03B3,0x0393}, - {0x0394,0x03B4,0x0394}, {0x0395,0x03B5,0x0395}, - {0x0396,0x03B6,0x0396}, {0x0397,0x03B7,0x0397}, - {0x0398,0x03B8,0x0398}, {0x0399,0x03B9,0x0399}, - {0x039A,0x03BA,0x039A}, {0x039B,0x03BB,0x039B}, - {0x039C,0x03BC,0x039C}, {0x039D,0x03BD,0x039D}, - {0x039E,0x03BE,0x039E}, {0x039F,0x03BF,0x039F}, - {0x03A0,0x03C0,0x03A0}, {0x03A1,0x03C1,0x03A1}, - {0x03A2,0x03A2,0x03A2}, {0x03A3,0x03C3,0x03A3}, - {0x03A4,0x03C4,0x03A4}, {0x03A5,0x03C5,0x03A5}, - {0x03A6,0x03C6,0x03A6}, {0x03A7,0x03C7,0x03A7}, - {0x03A8,0x03C8,0x03A8}, {0x03A9,0x03C9,0x03A9}, - {0x03AA,0x03CA,0x0399}, {0x03AB,0x03CB,0x03A5}, - {0x0386,0x03AC,0x0391}, {0x0388,0x03AD,0x0395}, - {0x0389,0x03AE,0x0397}, {0x038A,0x03AF,0x0399}, - {0x03B0,0x03B0,0x03A5}, {0x0391,0x03B1,0x0391}, - {0x0392,0x03B2,0x0392}, {0x0393,0x03B3,0x0393}, - {0x0394,0x03B4,0x0394}, {0x0395,0x03B5,0x0395}, - {0x0396,0x03B6,0x0396}, {0x0397,0x03B7,0x0397}, - {0x0398,0x03B8,0x0398}, {0x0399,0x03B9,0x0399}, - {0x039A,0x03BA,0x039A}, {0x039B,0x03BB,0x039B}, - {0x039C,0x03BC,0x039C}, {0x039D,0x03BD,0x039D}, - {0x039E,0x03BE,0x039E}, {0x039F,0x03BF,0x039F}, - {0x03A0,0x03C0,0x03A0}, {0x03A1,0x03C1,0x03A1}, - {0x03A3,0x03C2,0x03A3}, {0x03A3,0x03C3,0x03A3}, - {0x03A4,0x03C4,0x03A4}, {0x03A5,0x03C5,0x03A5}, - {0x03A6,0x03C6,0x03A6}, {0x03A7,0x03C7,0x03A7}, - {0x03A8,0x03C8,0x03A8}, {0x03A9,0x03C9,0x03A9}, - {0x03AA,0x03CA,0x0399}, {0x03AB,0x03CB,0x03A5}, - {0x038C,0x03CC,0x039F}, {0x038E,0x03CD,0x03A5}, - {0x038F,0x03CE,0x03A9}, {0x03CF,0x03CF,0x03CF}, - {0x0392,0x03D0,0x0392}, {0x0398,0x03D1,0x0398}, - {0x03D2,0x03D2,0x03D2}, {0x03D3,0x03D3,0x03D2}, - {0x03D4,0x03D4,0x03D2}, {0x03A6,0x03D5,0x03A6}, - {0x03A0,0x03D6,0x03A0}, {0x03D7,0x03D7,0x03D7}, - {0x03D8,0x03D8,0x03D8}, {0x03D9,0x03D9,0x03D9}, - {0x03DA,0x03DB,0x03DA}, {0x03DA,0x03DB,0x03DA}, - {0x03DC,0x03DD,0x03DC}, {0x03DC,0x03DD,0x03DC}, - {0x03DE,0x03DF,0x03DE}, {0x03DE,0x03DF,0x03DE}, - {0x03E0,0x03E1,0x03E0}, {0x03E0,0x03E1,0x03E0}, - {0x03E2,0x03E3,0x03E2}, {0x03E2,0x03E3,0x03E2}, - {0x03E4,0x03E5,0x03E4}, {0x03E4,0x03E5,0x03E4}, - {0x03E6,0x03E7,0x03E6}, {0x03E6,0x03E7,0x03E6}, - {0x03E8,0x03E9,0x03E8}, {0x03E8,0x03E9,0x03E8}, - {0x03EA,0x03EB,0x03EA}, {0x03EA,0x03EB,0x03EA}, - {0x03EC,0x03ED,0x03EC}, {0x03EC,0x03ED,0x03EC}, - {0x03EE,0x03EF,0x03EE}, {0x03EE,0x03EF,0x03EE}, - {0x039A,0x03F0,0x039A}, {0x03A1,0x03F1,0x03A1}, - {0x03A3,0x03F2,0x03A3}, {0x03F3,0x03F3,0x03F3}, - {0x03F4,0x03F4,0x03F4}, {0x03F5,0x03F5,0x03F5}, - {0x03F6,0x03F6,0x03F6}, {0x03F7,0x03F7,0x03F7}, - {0x03F8,0x03F8,0x03F8}, {0x03F9,0x03F9,0x03F9}, - {0x03FA,0x03FA,0x03FA}, {0x03FB,0x03FB,0x03FB}, - {0x03FC,0x03FC,0x03FC}, {0x03FD,0x03FD,0x03FD}, - {0x03FE,0x03FE,0x03FE}, {0x03FF,0x03FF,0x03FF} -}; - -static MY_UNICASE_CHARACTER plane04[]={ - {0x0400,0x0450,0x0415}, {0x0401,0x0451,0x0415}, - {0x0402,0x0452,0x0402}, {0x0403,0x0453,0x0413}, - {0x0404,0x0454,0x0404}, {0x0405,0x0455,0x0405}, - {0x0406,0x0456,0x0406}, {0x0407,0x0457,0x0406}, - {0x0408,0x0458,0x0408}, {0x0409,0x0459,0x0409}, - {0x040A,0x045A,0x040A}, {0x040B,0x045B,0x040B}, - {0x040C,0x045C,0x041A}, {0x040D,0x045D,0x0418}, - {0x040E,0x045E,0x0423}, {0x040F,0x045F,0x040F}, - {0x0410,0x0430,0x0410}, {0x0411,0x0431,0x0411}, - {0x0412,0x0432,0x0412}, {0x0413,0x0433,0x0413}, - {0x0414,0x0434,0x0414}, {0x0415,0x0435,0x0415}, - {0x0416,0x0436,0x0416}, {0x0417,0x0437,0x0417}, - {0x0418,0x0438,0x0418}, {0x0419,0x0439,0x0419}, - {0x041A,0x043A,0x041A}, {0x041B,0x043B,0x041B}, - {0x041C,0x043C,0x041C}, {0x041D,0x043D,0x041D}, - {0x041E,0x043E,0x041E}, {0x041F,0x043F,0x041F}, - {0x0420,0x0440,0x0420}, {0x0421,0x0441,0x0421}, - {0x0422,0x0442,0x0422}, {0x0423,0x0443,0x0423}, - {0x0424,0x0444,0x0424}, {0x0425,0x0445,0x0425}, - {0x0426,0x0446,0x0426}, {0x0427,0x0447,0x0427}, - {0x0428,0x0448,0x0428}, {0x0429,0x0449,0x0429}, - {0x042A,0x044A,0x042A}, {0x042B,0x044B,0x042B}, - {0x042C,0x044C,0x042C}, {0x042D,0x044D,0x042D}, - {0x042E,0x044E,0x042E}, {0x042F,0x044F,0x042F}, - {0x0410,0x0430,0x0410}, {0x0411,0x0431,0x0411}, - {0x0412,0x0432,0x0412}, {0x0413,0x0433,0x0413}, - {0x0414,0x0434,0x0414}, {0x0415,0x0435,0x0415}, - {0x0416,0x0436,0x0416}, {0x0417,0x0437,0x0417}, - {0x0418,0x0438,0x0418}, {0x0419,0x0439,0x0419}, - {0x041A,0x043A,0x041A}, {0x041B,0x043B,0x041B}, - {0x041C,0x043C,0x041C}, {0x041D,0x043D,0x041D}, - {0x041E,0x043E,0x041E}, {0x041F,0x043F,0x041F}, - {0x0420,0x0440,0x0420}, {0x0421,0x0441,0x0421}, - {0x0422,0x0442,0x0422}, {0x0423,0x0443,0x0423}, - {0x0424,0x0444,0x0424}, {0x0425,0x0445,0x0425}, - {0x0426,0x0446,0x0426}, {0x0427,0x0447,0x0427}, - {0x0428,0x0448,0x0428}, {0x0429,0x0449,0x0429}, - {0x042A,0x044A,0x042A}, {0x042B,0x044B,0x042B}, - {0x042C,0x044C,0x042C}, {0x042D,0x044D,0x042D}, - {0x042E,0x044E,0x042E}, {0x042F,0x044F,0x042F}, - {0x0400,0x0450,0x0415}, {0x0401,0x0451,0x0415}, - {0x0402,0x0452,0x0402}, {0x0403,0x0453,0x0413}, - {0x0404,0x0454,0x0404}, {0x0405,0x0455,0x0405}, - {0x0406,0x0456,0x0406}, {0x0407,0x0457,0x0406}, - {0x0408,0x0458,0x0408}, {0x0409,0x0459,0x0409}, - {0x040A,0x045A,0x040A}, {0x040B,0x045B,0x040B}, - {0x040C,0x045C,0x041A}, {0x040D,0x045D,0x0418}, - {0x040E,0x045E,0x0423}, {0x040F,0x045F,0x040F}, - {0x0460,0x0461,0x0460}, {0x0460,0x0461,0x0460}, - {0x0462,0x0463,0x0462}, {0x0462,0x0463,0x0462}, - {0x0464,0x0465,0x0464}, {0x0464,0x0465,0x0464}, - {0x0466,0x0467,0x0466}, {0x0466,0x0467,0x0466}, - {0x0468,0x0469,0x0468}, {0x0468,0x0469,0x0468}, - {0x046A,0x046B,0x046A}, {0x046A,0x046B,0x046A}, - {0x046C,0x046D,0x046C}, {0x046C,0x046D,0x046C}, - {0x046E,0x046F,0x046E}, {0x046E,0x046F,0x046E}, - {0x0470,0x0471,0x0470}, {0x0470,0x0471,0x0470}, - {0x0472,0x0473,0x0472}, {0x0472,0x0473,0x0472}, - {0x0474,0x0475,0x0474}, {0x0474,0x0475,0x0474}, - {0x0476,0x0477,0x0474}, {0x0476,0x0477,0x0474}, - {0x0478,0x0479,0x0478}, {0x0478,0x0479,0x0478}, - {0x047A,0x047B,0x047A}, {0x047A,0x047B,0x047A}, - {0x047C,0x047D,0x047C}, {0x047C,0x047D,0x047C}, - {0x047E,0x047F,0x047E}, {0x047E,0x047F,0x047E}, - {0x0480,0x0481,0x0480}, {0x0480,0x0481,0x0480}, - {0x0482,0x0482,0x0482}, {0x0483,0x0483,0x0483}, - {0x0484,0x0484,0x0484}, {0x0485,0x0485,0x0485}, - {0x0486,0x0486,0x0486}, {0x0487,0x0487,0x0487}, - {0x0488,0x0488,0x0488}, {0x0489,0x0489,0x0489}, - {0x048A,0x048A,0x048A}, {0x048B,0x048B,0x048B}, - {0x048C,0x048D,0x048C}, {0x048C,0x048D,0x048C}, - {0x048E,0x048F,0x048E}, {0x048E,0x048F,0x048E}, - {0x0490,0x0491,0x0490}, {0x0490,0x0491,0x0490}, - {0x0492,0x0493,0x0492}, {0x0492,0x0493,0x0492}, - {0x0494,0x0495,0x0494}, {0x0494,0x0495,0x0494}, - {0x0496,0x0497,0x0496}, {0x0496,0x0497,0x0496}, - {0x0498,0x0499,0x0498}, {0x0498,0x0499,0x0498}, - {0x049A,0x049B,0x049A}, {0x049A,0x049B,0x049A}, - {0x049C,0x049D,0x049C}, {0x049C,0x049D,0x049C}, - {0x049E,0x049F,0x049E}, {0x049E,0x049F,0x049E}, - {0x04A0,0x04A1,0x04A0}, {0x04A0,0x04A1,0x04A0}, - {0x04A2,0x04A3,0x04A2}, {0x04A2,0x04A3,0x04A2}, - {0x04A4,0x04A5,0x04A4}, {0x04A4,0x04A5,0x04A4}, - {0x04A6,0x04A7,0x04A6}, {0x04A6,0x04A7,0x04A6}, - {0x04A8,0x04A9,0x04A8}, {0x04A8,0x04A9,0x04A8}, - {0x04AA,0x04AB,0x04AA}, {0x04AA,0x04AB,0x04AA}, - {0x04AC,0x04AD,0x04AC}, {0x04AC,0x04AD,0x04AC}, - {0x04AE,0x04AF,0x04AE}, {0x04AE,0x04AF,0x04AE}, - {0x04B0,0x04B1,0x04B0}, {0x04B0,0x04B1,0x04B0}, - {0x04B2,0x04B3,0x04B2}, {0x04B2,0x04B3,0x04B2}, - {0x04B4,0x04B5,0x04B4}, {0x04B4,0x04B5,0x04B4}, - {0x04B6,0x04B7,0x04B6}, {0x04B6,0x04B7,0x04B6}, - {0x04B8,0x04B9,0x04B8}, {0x04B8,0x04B9,0x04B8}, - {0x04BA,0x04BB,0x04BA}, {0x04BA,0x04BB,0x04BA}, - {0x04BC,0x04BD,0x04BC}, {0x04BC,0x04BD,0x04BC}, - {0x04BE,0x04BF,0x04BE}, {0x04BE,0x04BF,0x04BE}, - {0x04C0,0x04C0,0x04C0}, {0x04C1,0x04C2,0x0416}, - {0x04C1,0x04C2,0x0416}, {0x04C3,0x04C4,0x04C3}, - {0x04C3,0x04C4,0x04C3}, {0x04C5,0x04C5,0x04C5}, - {0x04C6,0x04C6,0x04C6}, {0x04C7,0x04C8,0x04C7}, - {0x04C7,0x04C8,0x04C7}, {0x04C9,0x04C9,0x04C9}, - {0x04CA,0x04CA,0x04CA}, {0x04CB,0x04CC,0x04CB}, - {0x04CB,0x04CC,0x04CB}, {0x04CD,0x04CD,0x04CD}, - {0x04CE,0x04CE,0x04CE}, {0x04CF,0x04CF,0x04CF}, - {0x04D0,0x04D1,0x0410}, {0x04D0,0x04D1,0x0410}, - {0x04D2,0x04D3,0x0410}, {0x04D2,0x04D3,0x0410}, - {0x04D4,0x04D5,0x04D4}, {0x04D4,0x04D5,0x04D4}, - {0x04D6,0x04D7,0x0415}, {0x04D6,0x04D7,0x0415}, - {0x04D8,0x04D9,0x04D8}, {0x04D8,0x04D9,0x04D8}, - {0x04DA,0x04DB,0x04D8}, {0x04DA,0x04DB,0x04D8}, - {0x04DC,0x04DD,0x0416}, {0x04DC,0x04DD,0x0416}, - {0x04DE,0x04DF,0x0417}, {0x04DE,0x04DF,0x0417}, - {0x04E0,0x04E1,0x04E0}, {0x04E0,0x04E1,0x04E0}, - {0x04E2,0x04E3,0x0418}, {0x04E2,0x04E3,0x0418}, - {0x04E4,0x04E5,0x0418}, {0x04E4,0x04E5,0x0418}, - {0x04E6,0x04E7,0x041E}, {0x04E6,0x04E7,0x041E}, - {0x04E8,0x04E9,0x04E8}, {0x04E8,0x04E9,0x04E8}, - {0x04EA,0x04EB,0x04E8}, {0x04EA,0x04EB,0x04E8}, - {0x04EC,0x04ED,0x042D}, {0x04EC,0x04ED,0x042D}, - {0x04EE,0x04EF,0x0423}, {0x04EE,0x04EF,0x0423}, - {0x04F0,0x04F1,0x0423}, {0x04F0,0x04F1,0x0423}, - {0x04F2,0x04F3,0x0423}, {0x04F2,0x04F3,0x0423}, - {0x04F4,0x04F5,0x0427}, {0x04F4,0x04F5,0x0427}, - {0x04F6,0x04F6,0x04F6}, {0x04F7,0x04F7,0x04F7}, - {0x04F8,0x04F9,0x042B}, {0x04F8,0x04F9,0x042B}, - {0x04FA,0x04FA,0x04FA}, {0x04FB,0x04FB,0x04FB}, - {0x04FC,0x04FC,0x04FC}, {0x04FD,0x04FD,0x04FD}, - {0x04FE,0x04FE,0x04FE}, {0x04FF,0x04FF,0x04FF} -}; - -static MY_UNICASE_CHARACTER plane05[]={ - {0x0500,0x0500,0x0500}, {0x0501,0x0501,0x0501}, - {0x0502,0x0502,0x0502}, {0x0503,0x0503,0x0503}, - {0x0504,0x0504,0x0504}, {0x0505,0x0505,0x0505}, - {0x0506,0x0506,0x0506}, {0x0507,0x0507,0x0507}, - {0x0508,0x0508,0x0508}, {0x0509,0x0509,0x0509}, - {0x050A,0x050A,0x050A}, {0x050B,0x050B,0x050B}, - {0x050C,0x050C,0x050C}, {0x050D,0x050D,0x050D}, - {0x050E,0x050E,0x050E}, {0x050F,0x050F,0x050F}, - {0x0510,0x0510,0x0510}, {0x0511,0x0511,0x0511}, - {0x0512,0x0512,0x0512}, {0x0513,0x0513,0x0513}, - {0x0514,0x0514,0x0514}, {0x0515,0x0515,0x0515}, - {0x0516,0x0516,0x0516}, {0x0517,0x0517,0x0517}, - {0x0518,0x0518,0x0518}, {0x0519,0x0519,0x0519}, - {0x051A,0x051A,0x051A}, {0x051B,0x051B,0x051B}, - {0x051C,0x051C,0x051C}, {0x051D,0x051D,0x051D}, - {0x051E,0x051E,0x051E}, {0x051F,0x051F,0x051F}, - {0x0520,0x0520,0x0520}, {0x0521,0x0521,0x0521}, - {0x0522,0x0522,0x0522}, {0x0523,0x0523,0x0523}, - {0x0524,0x0524,0x0524}, {0x0525,0x0525,0x0525}, - {0x0526,0x0526,0x0526}, {0x0527,0x0527,0x0527}, - {0x0528,0x0528,0x0528}, {0x0529,0x0529,0x0529}, - {0x052A,0x052A,0x052A}, {0x052B,0x052B,0x052B}, - {0x052C,0x052C,0x052C}, {0x052D,0x052D,0x052D}, - {0x052E,0x052E,0x052E}, {0x052F,0x052F,0x052F}, - {0x0530,0x0530,0x0530}, {0x0531,0x0561,0x0531}, - {0x0532,0x0562,0x0532}, {0x0533,0x0563,0x0533}, - {0x0534,0x0564,0x0534}, {0x0535,0x0565,0x0535}, - {0x0536,0x0566,0x0536}, {0x0537,0x0567,0x0537}, - {0x0538,0x0568,0x0538}, {0x0539,0x0569,0x0539}, - {0x053A,0x056A,0x053A}, {0x053B,0x056B,0x053B}, - {0x053C,0x056C,0x053C}, {0x053D,0x056D,0x053D}, - {0x053E,0x056E,0x053E}, {0x053F,0x056F,0x053F}, - {0x0540,0x0570,0x0540}, {0x0541,0x0571,0x0541}, - {0x0542,0x0572,0x0542}, {0x0543,0x0573,0x0543}, - {0x0544,0x0574,0x0544}, {0x0545,0x0575,0x0545}, - {0x0546,0x0576,0x0546}, {0x0547,0x0577,0x0547}, - {0x0548,0x0578,0x0548}, {0x0549,0x0579,0x0549}, - {0x054A,0x057A,0x054A}, {0x054B,0x057B,0x054B}, - {0x054C,0x057C,0x054C}, {0x054D,0x057D,0x054D}, - {0x054E,0x057E,0x054E}, {0x054F,0x057F,0x054F}, - {0x0550,0x0580,0x0550}, {0x0551,0x0581,0x0551}, - {0x0552,0x0582,0x0552}, {0x0553,0x0583,0x0553}, - {0x0554,0x0584,0x0554}, {0x0555,0x0585,0x0555}, - {0x0556,0x0586,0x0556}, {0x0557,0x0557,0x0557}, - {0x0558,0x0558,0x0558}, {0x0559,0x0559,0x0559}, - {0x055A,0x055A,0x055A}, {0x055B,0x055B,0x055B}, - {0x055C,0x055C,0x055C}, {0x055D,0x055D,0x055D}, - {0x055E,0x055E,0x055E}, {0x055F,0x055F,0x055F}, - {0x0560,0x0560,0x0560}, {0x0531,0x0561,0x0531}, - {0x0532,0x0562,0x0532}, {0x0533,0x0563,0x0533}, - {0x0534,0x0564,0x0534}, {0x0535,0x0565,0x0535}, - {0x0536,0x0566,0x0536}, {0x0537,0x0567,0x0537}, - {0x0538,0x0568,0x0538}, {0x0539,0x0569,0x0539}, - {0x053A,0x056A,0x053A}, {0x053B,0x056B,0x053B}, - {0x053C,0x056C,0x053C}, {0x053D,0x056D,0x053D}, - {0x053E,0x056E,0x053E}, {0x053F,0x056F,0x053F}, - {0x0540,0x0570,0x0540}, {0x0541,0x0571,0x0541}, - {0x0542,0x0572,0x0542}, {0x0543,0x0573,0x0543}, - {0x0544,0x0574,0x0544}, {0x0545,0x0575,0x0545}, - {0x0546,0x0576,0x0546}, {0x0547,0x0577,0x0547}, - {0x0548,0x0578,0x0548}, {0x0549,0x0579,0x0549}, - {0x054A,0x057A,0x054A}, {0x054B,0x057B,0x054B}, - {0x054C,0x057C,0x054C}, {0x054D,0x057D,0x054D}, - {0x054E,0x057E,0x054E}, {0x054F,0x057F,0x054F}, - {0x0550,0x0580,0x0550}, {0x0551,0x0581,0x0551}, - {0x0552,0x0582,0x0552}, {0x0553,0x0583,0x0553}, - {0x0554,0x0584,0x0554}, {0x0555,0x0585,0x0555}, - {0x0556,0x0586,0x0556}, {0x0587,0x0587,0x0587}, - {0x0588,0x0588,0x0588}, {0x0589,0x0589,0x0589}, - {0x058A,0x058A,0x058A}, {0x058B,0x058B,0x058B}, - {0x058C,0x058C,0x058C}, {0x058D,0x058D,0x058D}, - {0x058E,0x058E,0x058E}, {0x058F,0x058F,0x058F}, - {0x0590,0x0590,0x0590}, {0x0591,0x0591,0x0591}, - {0x0592,0x0592,0x0592}, {0x0593,0x0593,0x0593}, - {0x0594,0x0594,0x0594}, {0x0595,0x0595,0x0595}, - {0x0596,0x0596,0x0596}, {0x0597,0x0597,0x0597}, - {0x0598,0x0598,0x0598}, {0x0599,0x0599,0x0599}, - {0x059A,0x059A,0x059A}, {0x059B,0x059B,0x059B}, - {0x059C,0x059C,0x059C}, {0x059D,0x059D,0x059D}, - {0x059E,0x059E,0x059E}, {0x059F,0x059F,0x059F}, - {0x05A0,0x05A0,0x05A0}, {0x05A1,0x05A1,0x05A1}, - {0x05A2,0x05A2,0x05A2}, {0x05A3,0x05A3,0x05A3}, - {0x05A4,0x05A4,0x05A4}, {0x05A5,0x05A5,0x05A5}, - {0x05A6,0x05A6,0x05A6}, {0x05A7,0x05A7,0x05A7}, - {0x05A8,0x05A8,0x05A8}, {0x05A9,0x05A9,0x05A9}, - {0x05AA,0x05AA,0x05AA}, {0x05AB,0x05AB,0x05AB}, - {0x05AC,0x05AC,0x05AC}, {0x05AD,0x05AD,0x05AD}, - {0x05AE,0x05AE,0x05AE}, {0x05AF,0x05AF,0x05AF}, - {0x05B0,0x05B0,0x05B0}, {0x05B1,0x05B1,0x05B1}, - {0x05B2,0x05B2,0x05B2}, {0x05B3,0x05B3,0x05B3}, - {0x05B4,0x05B4,0x05B4}, {0x05B5,0x05B5,0x05B5}, - {0x05B6,0x05B6,0x05B6}, {0x05B7,0x05B7,0x05B7}, - {0x05B8,0x05B8,0x05B8}, {0x05B9,0x05B9,0x05B9}, - {0x05BA,0x05BA,0x05BA}, {0x05BB,0x05BB,0x05BB}, - {0x05BC,0x05BC,0x05BC}, {0x05BD,0x05BD,0x05BD}, - {0x05BE,0x05BE,0x05BE}, {0x05BF,0x05BF,0x05BF}, - {0x05C0,0x05C0,0x05C0}, {0x05C1,0x05C1,0x05C1}, - {0x05C2,0x05C2,0x05C2}, {0x05C3,0x05C3,0x05C3}, - {0x05C4,0x05C4,0x05C4}, {0x05C5,0x05C5,0x05C5}, - {0x05C6,0x05C6,0x05C6}, {0x05C7,0x05C7,0x05C7}, - {0x05C8,0x05C8,0x05C8}, {0x05C9,0x05C9,0x05C9}, - {0x05CA,0x05CA,0x05CA}, {0x05CB,0x05CB,0x05CB}, - {0x05CC,0x05CC,0x05CC}, {0x05CD,0x05CD,0x05CD}, - {0x05CE,0x05CE,0x05CE}, {0x05CF,0x05CF,0x05CF}, - {0x05D0,0x05D0,0x05D0}, {0x05D1,0x05D1,0x05D1}, - {0x05D2,0x05D2,0x05D2}, {0x05D3,0x05D3,0x05D3}, - {0x05D4,0x05D4,0x05D4}, {0x05D5,0x05D5,0x05D5}, - {0x05D6,0x05D6,0x05D6}, {0x05D7,0x05D7,0x05D7}, - {0x05D8,0x05D8,0x05D8}, {0x05D9,0x05D9,0x05D9}, - {0x05DA,0x05DA,0x05DA}, {0x05DB,0x05DB,0x05DB}, - {0x05DC,0x05DC,0x05DC}, {0x05DD,0x05DD,0x05DD}, - {0x05DE,0x05DE,0x05DE}, {0x05DF,0x05DF,0x05DF}, - {0x05E0,0x05E0,0x05E0}, {0x05E1,0x05E1,0x05E1}, - {0x05E2,0x05E2,0x05E2}, {0x05E3,0x05E3,0x05E3}, - {0x05E4,0x05E4,0x05E4}, {0x05E5,0x05E5,0x05E5}, - {0x05E6,0x05E6,0x05E6}, {0x05E7,0x05E7,0x05E7}, - {0x05E8,0x05E8,0x05E8}, {0x05E9,0x05E9,0x05E9}, - {0x05EA,0x05EA,0x05EA}, {0x05EB,0x05EB,0x05EB}, - {0x05EC,0x05EC,0x05EC}, {0x05ED,0x05ED,0x05ED}, - {0x05EE,0x05EE,0x05EE}, {0x05EF,0x05EF,0x05EF}, - {0x05F0,0x05F0,0x05F0}, {0x05F1,0x05F1,0x05F1}, - {0x05F2,0x05F2,0x05F2}, {0x05F3,0x05F3,0x05F3}, - {0x05F4,0x05F4,0x05F4}, {0x05F5,0x05F5,0x05F5}, - {0x05F6,0x05F6,0x05F6}, {0x05F7,0x05F7,0x05F7}, - {0x05F8,0x05F8,0x05F8}, {0x05F9,0x05F9,0x05F9}, - {0x05FA,0x05FA,0x05FA}, {0x05FB,0x05FB,0x05FB}, - {0x05FC,0x05FC,0x05FC}, {0x05FD,0x05FD,0x05FD}, - {0x05FE,0x05FE,0x05FE}, {0x05FF,0x05FF,0x05FF} -}; - -static MY_UNICASE_CHARACTER plane06[]={ /* This page is dummy */ - {0x0600,0x0600,0x0600}, {0x0601,0x0601,0x0601}, /* 0600 */ - {0x0602,0x0602,0x0602}, {0x0603,0x0603,0x0603}, /* 0602 */ - {0x0604,0x0604,0x0604}, {0x0605,0x0605,0x0605}, /* 0604 */ - {0x0606,0x0606,0x0606}, {0x0607,0x0607,0x0607}, /* 0606 */ - {0x0608,0x0608,0x0608}, {0x0609,0x0609,0x0609}, /* 0608 */ - {0x060A,0x060A,0x060A}, {0x060B,0x060B,0x060B}, /* 060A */ - {0x060C,0x060C,0x060C}, {0x060D,0x060D,0x060D}, /* 060C */ - {0x060E,0x060E,0x060E}, {0x060F,0x060F,0x060F}, /* 060E */ - {0x0610,0x0610,0x0610}, {0x0611,0x0611,0x0611}, /* 0610 */ - {0x0612,0x0612,0x0612}, {0x0613,0x0613,0x0613}, /* 0612 */ - {0x0614,0x0614,0x0614}, {0x0615,0x0615,0x0615}, /* 0614 */ - {0x0616,0x0616,0x0616}, {0x0617,0x0617,0x0617}, /* 0616 */ - {0x0618,0x0618,0x0618}, {0x0619,0x0619,0x0619}, /* 0618 */ - {0x061A,0x061A,0x061A}, {0x061B,0x061B,0x061B}, /* 061A */ - {0x061C,0x061C,0x061C}, {0x061D,0x061D,0x061D}, /* 061C */ - {0x061E,0x061E,0x061E}, {0x061F,0x061F,0x061F}, /* 061E */ - {0x0620,0x0620,0x0620}, {0x0621,0x0621,0x0621}, /* 0620 */ - {0x0622,0x0622,0x0622}, {0x0623,0x0623,0x0623}, /* 0622 */ - {0x0624,0x0624,0x0624}, {0x0625,0x0625,0x0625}, /* 0624 */ - {0x0626,0x0626,0x0626}, {0x0627,0x0627,0x0627}, /* 0626 */ - {0x0628,0x0628,0x0628}, {0x0629,0x0629,0x0629}, /* 0628 */ - {0x062A,0x062A,0x062A}, {0x062B,0x062B,0x062B}, /* 062A */ - {0x062C,0x062C,0x062C}, {0x062D,0x062D,0x062D}, /* 062C */ - {0x062E,0x062E,0x062E}, {0x062F,0x062F,0x062F}, /* 062E */ - {0x0630,0x0630,0x0630}, {0x0631,0x0631,0x0631}, /* 0630 */ - {0x0632,0x0632,0x0632}, {0x0633,0x0633,0x0633}, /* 0632 */ - {0x0634,0x0634,0x0634}, {0x0635,0x0635,0x0635}, /* 0634 */ - {0x0636,0x0636,0x0636}, {0x0637,0x0637,0x0637}, /* 0636 */ - {0x0638,0x0638,0x0638}, {0x0639,0x0639,0x0639}, /* 0638 */ - {0x063A,0x063A,0x063A}, {0x063B,0x063B,0x063B}, /* 063A */ - {0x063C,0x063C,0x063C}, {0x063D,0x063D,0x063D}, /* 063C */ - {0x063E,0x063E,0x063E}, {0x063F,0x063F,0x063F}, /* 063E */ - {0x0640,0x0640,0x0640}, {0x0641,0x0641,0x0641}, /* 0640 */ - {0x0642,0x0642,0x0642}, {0x0643,0x0643,0x0643}, /* 0642 */ - {0x0644,0x0644,0x0644}, {0x0645,0x0645,0x0645}, /* 0644 */ - {0x0646,0x0646,0x0646}, {0x0647,0x0647,0x0647}, /* 0646 */ - {0x0648,0x0648,0x0648}, {0x0649,0x0649,0x0649}, /* 0648 */ - {0x064A,0x064A,0x064A}, {0x064B,0x064B,0x064B}, /* 064A */ - {0x064C,0x064C,0x064C}, {0x064D,0x064D,0x064D}, /* 064C */ - {0x064E,0x064E,0x064E}, {0x064F,0x064F,0x064F}, /* 064E */ - {0x0650,0x0650,0x0650}, {0x0651,0x0651,0x0651}, /* 0650 */ - {0x0652,0x0652,0x0652}, {0x0653,0x0653,0x0653}, /* 0652 */ - {0x0654,0x0654,0x0654}, {0x0655,0x0655,0x0655}, /* 0654 */ - {0x0656,0x0656,0x0656}, {0x0657,0x0657,0x0657}, /* 0656 */ - {0x0658,0x0658,0x0658}, {0x0659,0x0659,0x0659}, /* 0658 */ - {0x065A,0x065A,0x065A}, {0x065B,0x065B,0x065B}, /* 065A */ - {0x065C,0x065C,0x065C}, {0x065D,0x065D,0x065D}, /* 065C */ - {0x065E,0x065E,0x065E}, {0x065F,0x065F,0x065F}, /* 065E */ - {0x0660,0x0660,0x0660}, {0x0661,0x0661,0x0661}, /* 0660 */ - {0x0662,0x0662,0x0662}, {0x0663,0x0663,0x0663}, /* 0662 */ - {0x0664,0x0664,0x0664}, {0x0665,0x0665,0x0665}, /* 0664 */ - {0x0666,0x0666,0x0666}, {0x0667,0x0667,0x0667}, /* 0666 */ - {0x0668,0x0668,0x0668}, {0x0669,0x0669,0x0669}, /* 0668 */ - {0x066A,0x066A,0x066A}, {0x066B,0x066B,0x066B}, /* 066A */ - {0x066C,0x066C,0x066C}, {0x066D,0x066D,0x066D}, /* 066C */ - {0x066E,0x066E,0x066E}, {0x066F,0x066F,0x066F}, /* 066E */ - {0x0670,0x0670,0x0670}, {0x0671,0x0671,0x0671}, /* 0670 */ - {0x0672,0x0672,0x0672}, {0x0673,0x0673,0x0673}, /* 0672 */ - {0x0674,0x0674,0x0674}, {0x0675,0x0675,0x0675}, /* 0674 */ - {0x0676,0x0676,0x0676}, {0x0677,0x0677,0x0677}, /* 0676 */ - {0x0678,0x0678,0x0678}, {0x0679,0x0679,0x0679}, /* 0678 */ - {0x067A,0x067A,0x067A}, {0x067B,0x067B,0x067B}, /* 067A */ - {0x067C,0x067C,0x067C}, {0x067D,0x067D,0x067D}, /* 067C */ - {0x067E,0x067E,0x067E}, {0x067F,0x067F,0x067F}, /* 067E */ - {0x0680,0x0680,0x0680}, {0x0681,0x0681,0x0681}, /* 0680 */ - {0x0682,0x0682,0x0682}, {0x0683,0x0683,0x0683}, /* 0682 */ - {0x0684,0x0684,0x0684}, {0x0685,0x0685,0x0685}, /* 0684 */ - {0x0686,0x0686,0x0686}, {0x0687,0x0687,0x0687}, /* 0686 */ - {0x0688,0x0688,0x0688}, {0x0689,0x0689,0x0689}, /* 0688 */ - {0x068A,0x068A,0x068A}, {0x068B,0x068B,0x068B}, /* 068A */ - {0x068C,0x068C,0x068C}, {0x068D,0x068D,0x068D}, /* 068C */ - {0x068E,0x068E,0x068E}, {0x068F,0x068F,0x068F}, /* 068E */ - {0x0690,0x0690,0x0690}, {0x0691,0x0691,0x0691}, /* 0690 */ - {0x0692,0x0692,0x0692}, {0x0693,0x0693,0x0693}, /* 0692 */ - {0x0694,0x0694,0x0694}, {0x0695,0x0695,0x0695}, /* 0694 */ - {0x0696,0x0696,0x0696}, {0x0697,0x0697,0x0697}, /* 0696 */ - {0x0698,0x0698,0x0698}, {0x0699,0x0699,0x0699}, /* 0698 */ - {0x069A,0x069A,0x069A}, {0x069B,0x069B,0x069B}, /* 069A */ - {0x069C,0x069C,0x069C}, {0x069D,0x069D,0x069D}, /* 069C */ - {0x069E,0x069E,0x069E}, {0x069F,0x069F,0x069F}, /* 069E */ - {0x06A0,0x06A0,0x06A0}, {0x06A1,0x06A1,0x06A1}, /* 06A0 */ - {0x06A2,0x06A2,0x06A2}, {0x06A3,0x06A3,0x06A3}, /* 06A2 */ - {0x06A4,0x06A4,0x06A4}, {0x06A5,0x06A5,0x06A5}, /* 06A4 */ - {0x06A6,0x06A6,0x06A6}, {0x06A7,0x06A7,0x06A7}, /* 06A6 */ - {0x06A8,0x06A8,0x06A8}, {0x06A9,0x06A9,0x06A9}, /* 06A8 */ - {0x06AA,0x06AA,0x06AA}, {0x06AB,0x06AB,0x06AB}, /* 06AA */ - {0x06AC,0x06AC,0x06AC}, {0x06AD,0x06AD,0x06AD}, /* 06AC */ - {0x06AE,0x06AE,0x06AE}, {0x06AF,0x06AF,0x06AF}, /* 06AE */ - {0x06B0,0x06B0,0x06B0}, {0x06B1,0x06B1,0x06B1}, /* 06B0 */ - {0x06B2,0x06B2,0x06B2}, {0x06B3,0x06B3,0x06B3}, /* 06B2 */ - {0x06B4,0x06B4,0x06B4}, {0x06B5,0x06B5,0x06B5}, /* 06B4 */ - {0x06B6,0x06B6,0x06B6}, {0x06B7,0x06B7,0x06B7}, /* 06B6 */ - {0x06B8,0x06B8,0x06B8}, {0x06B9,0x06B9,0x06B9}, /* 06B8 */ - {0x06BA,0x06BA,0x06BA}, {0x06BB,0x06BB,0x06BB}, /* 06BA */ - {0x06BC,0x06BC,0x06BC}, {0x06BD,0x06BD,0x06BD}, /* 06BC */ - {0x06BE,0x06BE,0x06BE}, {0x06BF,0x06BF,0x06BF}, /* 06BE */ - {0x06C0,0x06C0,0x06C0}, {0x06C1,0x06C1,0x06C1}, /* 06C0 */ - {0x06C2,0x06C2,0x06C2}, {0x06C3,0x06C3,0x06C3}, /* 06C2 */ - {0x06C4,0x06C4,0x06C4}, {0x06C5,0x06C5,0x06C5}, /* 06C4 */ - {0x06C6,0x06C6,0x06C6}, {0x06C7,0x06C7,0x06C7}, /* 06C6 */ - {0x06C8,0x06C8,0x06C8}, {0x06C9,0x06C9,0x06C9}, /* 06C8 */ - {0x06CA,0x06CA,0x06CA}, {0x06CB,0x06CB,0x06CB}, /* 06CA */ - {0x06CC,0x06CC,0x06CC}, {0x06CD,0x06CD,0x06CD}, /* 06CC */ - {0x06CE,0x06CE,0x06CE}, {0x06CF,0x06CF,0x06CF}, /* 06CE */ - {0x06D0,0x06D0,0x06D0}, {0x06D1,0x06D1,0x06D1}, /* 06D0 */ - {0x06D2,0x06D2,0x06D2}, {0x06D3,0x06D3,0x06D3}, /* 06D2 */ - {0x06D4,0x06D4,0x06D4}, {0x06D5,0x06D5,0x06D5}, /* 06D4 */ - {0x06D6,0x06D6,0x06D6}, {0x06D7,0x06D7,0x06D7}, /* 06D6 */ - {0x06D8,0x06D8,0x06D8}, {0x06D9,0x06D9,0x06D9}, /* 06D8 */ - {0x06DA,0x06DA,0x06DA}, {0x06DB,0x06DB,0x06DB}, /* 06DA */ - {0x06DC,0x06DC,0x06DC}, {0x06DD,0x06DD,0x06DD}, /* 06DC */ - {0x06DE,0x06DE,0x06DE}, {0x06DF,0x06DF,0x06DF}, /* 06DE */ - {0x06E0,0x06E0,0x06E0}, {0x06E1,0x06E1,0x06E1}, /* 06E0 */ - {0x06E2,0x06E2,0x06E2}, {0x06E3,0x06E3,0x06E3}, /* 06E2 */ - {0x06E4,0x06E4,0x06E4}, {0x06E5,0x06E5,0x06E5}, /* 06E4 */ - {0x06E6,0x06E6,0x06E6}, {0x06E7,0x06E7,0x06E7}, /* 06E6 */ - {0x06E8,0x06E8,0x06E8}, {0x06E9,0x06E9,0x06E9}, /* 06E8 */ - {0x06EA,0x06EA,0x06EA}, {0x06EB,0x06EB,0x06EB}, /* 06EA */ - {0x06EC,0x06EC,0x06EC}, {0x06ED,0x06ED,0x06ED}, /* 06EC */ - {0x06EE,0x06EE,0x06EE}, {0x06EF,0x06EF,0x06EF}, /* 06EE */ - {0x06F0,0x06F0,0x06F0}, {0x06F1,0x06F1,0x06F1}, /* 06F0 */ - {0x06F2,0x06F2,0x06F2}, {0x06F3,0x06F3,0x06F3}, /* 06F2 */ - {0x06F4,0x06F4,0x06F4}, {0x06F5,0x06F5,0x06F5}, /* 06F4 */ - {0x06F6,0x06F6,0x06F6}, {0x06F7,0x06F7,0x06F7}, /* 06F6 */ - {0x06F8,0x06F8,0x06F8}, {0x06F9,0x06F9,0x06F9}, /* 06F8 */ - {0x06FA,0x06FA,0x06FA}, {0x06FB,0x06FB,0x06FB}, /* 06FA */ - {0x06FC,0x06FC,0x06FC}, {0x06FD,0x06FD,0x06FD}, /* 06FC */ - {0x06FE,0x06FE,0x06FE}, {0x06FF,0x06FF,0x06FF} /* 06FE */ -}; - -static MY_UNICASE_CHARACTER plane07[]={ /* This page is dummy */ - {0x0700,0x0700,0x0700}, {0x0701,0x0701,0x0701}, /* 0700 */ - {0x0702,0x0702,0x0702}, {0x0703,0x0703,0x0703}, /* 0702 */ - {0x0704,0x0704,0x0704}, {0x0705,0x0705,0x0705}, /* 0704 */ - {0x0706,0x0706,0x0706}, {0x0707,0x0707,0x0707}, /* 0706 */ - {0x0708,0x0708,0x0708}, {0x0709,0x0709,0x0709}, /* 0708 */ - {0x070A,0x070A,0x070A}, {0x070B,0x070B,0x070B}, /* 070A */ - {0x070C,0x070C,0x070C}, {0x070D,0x070D,0x070D}, /* 070C */ - {0x070E,0x070E,0x070E}, {0x070F,0x070F,0x070F}, /* 070E */ - {0x0710,0x0710,0x0710}, {0x0711,0x0711,0x0711}, /* 0710 */ - {0x0712,0x0712,0x0712}, {0x0713,0x0713,0x0713}, /* 0712 */ - {0x0714,0x0714,0x0714}, {0x0715,0x0715,0x0715}, /* 0714 */ - {0x0716,0x0716,0x0716}, {0x0717,0x0717,0x0717}, /* 0716 */ - {0x0718,0x0718,0x0718}, {0x0719,0x0719,0x0719}, /* 0718 */ - {0x071A,0x071A,0x071A}, {0x071B,0x071B,0x071B}, /* 071A */ - {0x071C,0x071C,0x071C}, {0x071D,0x071D,0x071D}, /* 071C */ - {0x071E,0x071E,0x071E}, {0x071F,0x071F,0x071F}, /* 071E */ - {0x0720,0x0720,0x0720}, {0x0721,0x0721,0x0721}, /* 0720 */ - {0x0722,0x0722,0x0722}, {0x0723,0x0723,0x0723}, /* 0722 */ - {0x0724,0x0724,0x0724}, {0x0725,0x0725,0x0725}, /* 0724 */ - {0x0726,0x0726,0x0726}, {0x0727,0x0727,0x0727}, /* 0726 */ - {0x0728,0x0728,0x0728}, {0x0729,0x0729,0x0729}, /* 0728 */ - {0x072A,0x072A,0x072A}, {0x072B,0x072B,0x072B}, /* 072A */ - {0x072C,0x072C,0x072C}, {0x072D,0x072D,0x072D}, /* 072C */ - {0x072E,0x072E,0x072E}, {0x072F,0x072F,0x072F}, /* 072E */ - {0x0730,0x0730,0x0730}, {0x0731,0x0731,0x0731}, /* 0730 */ - {0x0732,0x0732,0x0732}, {0x0733,0x0733,0x0733}, /* 0732 */ - {0x0734,0x0734,0x0734}, {0x0735,0x0735,0x0735}, /* 0734 */ - {0x0736,0x0736,0x0736}, {0x0737,0x0737,0x0737}, /* 0736 */ - {0x0738,0x0738,0x0738}, {0x0739,0x0739,0x0739}, /* 0738 */ - {0x073A,0x073A,0x073A}, {0x073B,0x073B,0x073B}, /* 073A */ - {0x073C,0x073C,0x073C}, {0x073D,0x073D,0x073D}, /* 073C */ - {0x073E,0x073E,0x073E}, {0x073F,0x073F,0x073F}, /* 073E */ - {0x0740,0x0740,0x0740}, {0x0741,0x0741,0x0741}, /* 0740 */ - {0x0742,0x0742,0x0742}, {0x0743,0x0743,0x0743}, /* 0742 */ - {0x0744,0x0744,0x0744}, {0x0745,0x0745,0x0745}, /* 0744 */ - {0x0746,0x0746,0x0746}, {0x0747,0x0747,0x0747}, /* 0746 */ - {0x0748,0x0748,0x0748}, {0x0749,0x0749,0x0749}, /* 0748 */ - {0x074A,0x074A,0x074A}, {0x074B,0x074B,0x074B}, /* 074A */ - {0x074C,0x074C,0x074C}, {0x074D,0x074D,0x074D}, /* 074C */ - {0x074E,0x074E,0x074E}, {0x074F,0x074F,0x074F}, /* 074E */ - {0x0750,0x0750,0x0750}, {0x0751,0x0751,0x0751}, /* 0750 */ - {0x0752,0x0752,0x0752}, {0x0753,0x0753,0x0753}, /* 0752 */ - {0x0754,0x0754,0x0754}, {0x0755,0x0755,0x0755}, /* 0754 */ - {0x0756,0x0756,0x0756}, {0x0757,0x0757,0x0757}, /* 0756 */ - {0x0758,0x0758,0x0758}, {0x0759,0x0759,0x0759}, /* 0758 */ - {0x075A,0x075A,0x075A}, {0x075B,0x075B,0x075B}, /* 075A */ - {0x075C,0x075C,0x075C}, {0x075D,0x075D,0x075D}, /* 075C */ - {0x075E,0x075E,0x075E}, {0x075F,0x075F,0x075F}, /* 075E */ - {0x0760,0x0760,0x0760}, {0x0761,0x0761,0x0761}, /* 0760 */ - {0x0762,0x0762,0x0762}, {0x0763,0x0763,0x0763}, /* 0762 */ - {0x0764,0x0764,0x0764}, {0x0765,0x0765,0x0765}, /* 0764 */ - {0x0766,0x0766,0x0766}, {0x0767,0x0767,0x0767}, /* 0766 */ - {0x0768,0x0768,0x0768}, {0x0769,0x0769,0x0769}, /* 0768 */ - {0x076A,0x076A,0x076A}, {0x076B,0x076B,0x076B}, /* 076A */ - {0x076C,0x076C,0x076C}, {0x076D,0x076D,0x076D}, /* 076C */ - {0x076E,0x076E,0x076E}, {0x076F,0x076F,0x076F}, /* 076E */ - {0x0770,0x0770,0x0770}, {0x0771,0x0771,0x0771}, /* 0770 */ - {0x0772,0x0772,0x0772}, {0x0773,0x0773,0x0773}, /* 0772 */ - {0x0774,0x0774,0x0774}, {0x0775,0x0775,0x0775}, /* 0774 */ - {0x0776,0x0776,0x0776}, {0x0777,0x0777,0x0777}, /* 0776 */ - {0x0778,0x0778,0x0778}, {0x0779,0x0779,0x0779}, /* 0778 */ - {0x077A,0x077A,0x077A}, {0x077B,0x077B,0x077B}, /* 077A */ - {0x077C,0x077C,0x077C}, {0x077D,0x077D,0x077D}, /* 077C */ - {0x077E,0x077E,0x077E}, {0x077F,0x077F,0x077F}, /* 077E */ - {0x0780,0x0780,0x0780}, {0x0781,0x0781,0x0781}, /* 0780 */ - {0x0782,0x0782,0x0782}, {0x0783,0x0783,0x0783}, /* 0782 */ - {0x0784,0x0784,0x0784}, {0x0785,0x0785,0x0785}, /* 0784 */ - {0x0786,0x0786,0x0786}, {0x0787,0x0787,0x0787}, /* 0786 */ - {0x0788,0x0788,0x0788}, {0x0789,0x0789,0x0789}, /* 0788 */ - {0x078A,0x078A,0x078A}, {0x078B,0x078B,0x078B}, /* 078A */ - {0x078C,0x078C,0x078C}, {0x078D,0x078D,0x078D}, /* 078C */ - {0x078E,0x078E,0x078E}, {0x078F,0x078F,0x078F}, /* 078E */ - {0x0790,0x0790,0x0790}, {0x0791,0x0791,0x0791}, /* 0790 */ - {0x0792,0x0792,0x0792}, {0x0793,0x0793,0x0793}, /* 0792 */ - {0x0794,0x0794,0x0794}, {0x0795,0x0795,0x0795}, /* 0794 */ - {0x0796,0x0796,0x0796}, {0x0797,0x0797,0x0797}, /* 0796 */ - {0x0798,0x0798,0x0798}, {0x0799,0x0799,0x0799}, /* 0798 */ - {0x079A,0x079A,0x079A}, {0x079B,0x079B,0x079B}, /* 079A */ - {0x079C,0x079C,0x079C}, {0x079D,0x079D,0x079D}, /* 079C */ - {0x079E,0x079E,0x079E}, {0x079F,0x079F,0x079F}, /* 079E */ - {0x07A0,0x07A0,0x07A0}, {0x07A1,0x07A1,0x07A1}, /* 07A0 */ - {0x07A2,0x07A2,0x07A2}, {0x07A3,0x07A3,0x07A3}, /* 07A2 */ - {0x07A4,0x07A4,0x07A4}, {0x07A5,0x07A5,0x07A5}, /* 07A4 */ - {0x07A6,0x07A6,0x07A6}, {0x07A7,0x07A7,0x07A7}, /* 07A6 */ - {0x07A8,0x07A8,0x07A8}, {0x07A9,0x07A9,0x07A9}, /* 07A8 */ - {0x07AA,0x07AA,0x07AA}, {0x07AB,0x07AB,0x07AB}, /* 07AA */ - {0x07AC,0x07AC,0x07AC}, {0x07AD,0x07AD,0x07AD}, /* 07AC */ - {0x07AE,0x07AE,0x07AE}, {0x07AF,0x07AF,0x07AF}, /* 07AE */ - {0x07B0,0x07B0,0x07B0}, {0x07B1,0x07B1,0x07B1}, /* 07B0 */ - {0x07B2,0x07B2,0x07B2}, {0x07B3,0x07B3,0x07B3}, /* 07B2 */ - {0x07B4,0x07B4,0x07B4}, {0x07B5,0x07B5,0x07B5}, /* 07B4 */ - {0x07B6,0x07B6,0x07B6}, {0x07B7,0x07B7,0x07B7}, /* 07B6 */ - {0x07B8,0x07B8,0x07B8}, {0x07B9,0x07B9,0x07B9}, /* 07B8 */ - {0x07BA,0x07BA,0x07BA}, {0x07BB,0x07BB,0x07BB}, /* 07BA */ - {0x07BC,0x07BC,0x07BC}, {0x07BD,0x07BD,0x07BD}, /* 07BC */ - {0x07BE,0x07BE,0x07BE}, {0x07BF,0x07BF,0x07BF}, /* 07BE */ - {0x07C0,0x07C0,0x07C0}, {0x07C1,0x07C1,0x07C1}, /* 07C0 */ - {0x07C2,0x07C2,0x07C2}, {0x07C3,0x07C3,0x07C3}, /* 07C2 */ - {0x07C4,0x07C4,0x07C4}, {0x07C5,0x07C5,0x07C5}, /* 07C4 */ - {0x07C6,0x07C6,0x07C6}, {0x07C7,0x07C7,0x07C7}, /* 07C6 */ - {0x07C8,0x07C8,0x07C8}, {0x07C9,0x07C9,0x07C9}, /* 07C8 */ - {0x07CA,0x07CA,0x07CA}, {0x07CB,0x07CB,0x07CB}, /* 07CA */ - {0x07CC,0x07CC,0x07CC}, {0x07CD,0x07CD,0x07CD}, /* 07CC */ - {0x07CE,0x07CE,0x07CE}, {0x07CF,0x07CF,0x07CF}, /* 07CE */ - {0x07D0,0x07D0,0x07D0}, {0x07D1,0x07D1,0x07D1}, /* 07D0 */ - {0x07D2,0x07D2,0x07D2}, {0x07D3,0x07D3,0x07D3}, /* 07D2 */ - {0x07D4,0x07D4,0x07D4}, {0x07D5,0x07D5,0x07D5}, /* 07D4 */ - {0x07D6,0x07D6,0x07D6}, {0x07D7,0x07D7,0x07D7}, /* 07D6 */ - {0x07D8,0x07D8,0x07D8}, {0x07D9,0x07D9,0x07D9}, /* 07D8 */ - {0x07DA,0x07DA,0x07DA}, {0x07DB,0x07DB,0x07DB}, /* 07DA */ - {0x07DC,0x07DC,0x07DC}, {0x07DD,0x07DD,0x07DD}, /* 07DC */ - {0x07DE,0x07DE,0x07DE}, {0x07DF,0x07DF,0x07DF}, /* 07DE */ - {0x07E0,0x07E0,0x07E0}, {0x07E1,0x07E1,0x07E1}, /* 07E0 */ - {0x07E2,0x07E2,0x07E2}, {0x07E3,0x07E3,0x07E3}, /* 07E2 */ - {0x07E4,0x07E4,0x07E4}, {0x07E5,0x07E5,0x07E5}, /* 07E4 */ - {0x07E6,0x07E6,0x07E6}, {0x07E7,0x07E7,0x07E7}, /* 07E6 */ - {0x07E8,0x07E8,0x07E8}, {0x07E9,0x07E9,0x07E9}, /* 07E8 */ - {0x07EA,0x07EA,0x07EA}, {0x07EB,0x07EB,0x07EB}, /* 07EA */ - {0x07EC,0x07EC,0x07EC}, {0x07ED,0x07ED,0x07ED}, /* 07EC */ - {0x07EE,0x07EE,0x07EE}, {0x07EF,0x07EF,0x07EF}, /* 07EE */ - {0x07F0,0x07F0,0x07F0}, {0x07F1,0x07F1,0x07F1}, /* 07F0 */ - {0x07F2,0x07F2,0x07F2}, {0x07F3,0x07F3,0x07F3}, /* 07F2 */ - {0x07F4,0x07F4,0x07F4}, {0x07F5,0x07F5,0x07F5}, /* 07F4 */ - {0x07F6,0x07F6,0x07F6}, {0x07F7,0x07F7,0x07F7}, /* 07F6 */ - {0x07F8,0x07F8,0x07F8}, {0x07F9,0x07F9,0x07F9}, /* 07F8 */ - {0x07FA,0x07FA,0x07FA}, {0x07FB,0x07FB,0x07FB}, /* 07FA */ - {0x07FC,0x07FC,0x07FC}, {0x07FD,0x07FD,0x07FD}, /* 07FC */ - {0x07FE,0x07FE,0x07FE}, {0x07FF,0x07FF,0x07FF} /* 07FE */ -}; - -static MY_UNICASE_CHARACTER plane1E[]={ - {0x1E00,0x1E01,0x0041}, {0x1E00,0x1E01,0x0041}, - {0x1E02,0x1E03,0x0042}, {0x1E02,0x1E03,0x0042}, - {0x1E04,0x1E05,0x0042}, {0x1E04,0x1E05,0x0042}, - {0x1E06,0x1E07,0x0042}, {0x1E06,0x1E07,0x0042}, - {0x1E08,0x1E09,0x0043}, {0x1E08,0x1E09,0x0043}, - {0x1E0A,0x1E0B,0x0044}, {0x1E0A,0x1E0B,0x0044}, - {0x1E0C,0x1E0D,0x0044}, {0x1E0C,0x1E0D,0x0044}, - {0x1E0E,0x1E0F,0x0044}, {0x1E0E,0x1E0F,0x0044}, - {0x1E10,0x1E11,0x0044}, {0x1E10,0x1E11,0x0044}, - {0x1E12,0x1E13,0x0044}, {0x1E12,0x1E13,0x0044}, - {0x1E14,0x1E15,0x0045}, {0x1E14,0x1E15,0x0045}, - {0x1E16,0x1E17,0x0045}, {0x1E16,0x1E17,0x0045}, - {0x1E18,0x1E19,0x0045}, {0x1E18,0x1E19,0x0045}, - {0x1E1A,0x1E1B,0x0045}, {0x1E1A,0x1E1B,0x0045}, - {0x1E1C,0x1E1D,0x0045}, {0x1E1C,0x1E1D,0x0045}, - {0x1E1E,0x1E1F,0x0046}, {0x1E1E,0x1E1F,0x0046}, - {0x1E20,0x1E21,0x0047}, {0x1E20,0x1E21,0x0047}, - {0x1E22,0x1E23,0x0048}, {0x1E22,0x1E23,0x0048}, - {0x1E24,0x1E25,0x0048}, {0x1E24,0x1E25,0x0048}, - {0x1E26,0x1E27,0x0048}, {0x1E26,0x1E27,0x0048}, - {0x1E28,0x1E29,0x0048}, {0x1E28,0x1E29,0x0048}, - {0x1E2A,0x1E2B,0x0048}, {0x1E2A,0x1E2B,0x0048}, - {0x1E2C,0x1E2D,0x0049}, {0x1E2C,0x1E2D,0x0049}, - {0x1E2E,0x1E2F,0x0049}, {0x1E2E,0x1E2F,0x0049}, - {0x1E30,0x1E31,0x004B}, {0x1E30,0x1E31,0x004B}, - {0x1E32,0x1E33,0x004B}, {0x1E32,0x1E33,0x004B}, - {0x1E34,0x1E35,0x004B}, {0x1E34,0x1E35,0x004B}, - {0x1E36,0x1E37,0x004C}, {0x1E36,0x1E37,0x004C}, - {0x1E38,0x1E39,0x004C}, {0x1E38,0x1E39,0x004C}, - {0x1E3A,0x1E3B,0x004C}, {0x1E3A,0x1E3B,0x004C}, - {0x1E3C,0x1E3D,0x004C}, {0x1E3C,0x1E3D,0x004C}, - {0x1E3E,0x1E3F,0x004D}, {0x1E3E,0x1E3F,0x004D}, - {0x1E40,0x1E41,0x004D}, {0x1E40,0x1E41,0x004D}, - {0x1E42,0x1E43,0x004D}, {0x1E42,0x1E43,0x004D}, - {0x1E44,0x1E45,0x004E}, {0x1E44,0x1E45,0x004E}, - {0x1E46,0x1E47,0x004E}, {0x1E46,0x1E47,0x004E}, - {0x1E48,0x1E49,0x004E}, {0x1E48,0x1E49,0x004E}, - {0x1E4A,0x1E4B,0x004E}, {0x1E4A,0x1E4B,0x004E}, - {0x1E4C,0x1E4D,0x004F}, {0x1E4C,0x1E4D,0x004F}, - {0x1E4E,0x1E4F,0x004F}, {0x1E4E,0x1E4F,0x004F}, - {0x1E50,0x1E51,0x004F}, {0x1E50,0x1E51,0x004F}, - {0x1E52,0x1E53,0x004F}, {0x1E52,0x1E53,0x004F}, - {0x1E54,0x1E55,0x0050}, {0x1E54,0x1E55,0x0050}, - {0x1E56,0x1E57,0x0050}, {0x1E56,0x1E57,0x0050}, - {0x1E58,0x1E59,0x0052}, {0x1E58,0x1E59,0x0052}, - {0x1E5A,0x1E5B,0x0052}, {0x1E5A,0x1E5B,0x0052}, - {0x1E5C,0x1E5D,0x0052}, {0x1E5C,0x1E5D,0x0052}, - {0x1E5E,0x1E5F,0x0052}, {0x1E5E,0x1E5F,0x0052}, - {0x1E60,0x1E61,0x0053}, {0x1E60,0x1E61,0x0053}, - {0x1E62,0x1E63,0x0053}, {0x1E62,0x1E63,0x0053}, - {0x1E64,0x1E65,0x0053}, {0x1E64,0x1E65,0x0053}, - {0x1E66,0x1E67,0x0053}, {0x1E66,0x1E67,0x0053}, - {0x1E68,0x1E69,0x0053}, {0x1E68,0x1E69,0x0053}, - {0x1E6A,0x1E6B,0x0054}, {0x1E6A,0x1E6B,0x0054}, - {0x1E6C,0x1E6D,0x0054}, {0x1E6C,0x1E6D,0x0054}, - {0x1E6E,0x1E6F,0x0054}, {0x1E6E,0x1E6F,0x0054}, - {0x1E70,0x1E71,0x0054}, {0x1E70,0x1E71,0x0054}, - {0x1E72,0x1E73,0x0055}, {0x1E72,0x1E73,0x0055}, - {0x1E74,0x1E75,0x0055}, {0x1E74,0x1E75,0x0055}, - {0x1E76,0x1E77,0x0055}, {0x1E76,0x1E77,0x0055}, - {0x1E78,0x1E79,0x0055}, {0x1E78,0x1E79,0x0055}, - {0x1E7A,0x1E7B,0x0055}, {0x1E7A,0x1E7B,0x0055}, - {0x1E7C,0x1E7D,0x0056}, {0x1E7C,0x1E7D,0x0056}, - {0x1E7E,0x1E7F,0x0056}, {0x1E7E,0x1E7F,0x0056}, - {0x1E80,0x1E81,0x0057}, {0x1E80,0x1E81,0x0057}, - {0x1E82,0x1E83,0x0057}, {0x1E82,0x1E83,0x0057}, - {0x1E84,0x1E85,0x0057}, {0x1E84,0x1E85,0x0057}, - {0x1E86,0x1E87,0x0057}, {0x1E86,0x1E87,0x0057}, - {0x1E88,0x1E89,0x0057}, {0x1E88,0x1E89,0x0057}, - {0x1E8A,0x1E8B,0x0058}, {0x1E8A,0x1E8B,0x0058}, - {0x1E8C,0x1E8D,0x0058}, {0x1E8C,0x1E8D,0x0058}, - {0x1E8E,0x1E8F,0x0059}, {0x1E8E,0x1E8F,0x0059}, - {0x1E90,0x1E91,0x005A}, {0x1E90,0x1E91,0x005A}, - {0x1E92,0x1E93,0x005A}, {0x1E92,0x1E93,0x005A}, - {0x1E94,0x1E95,0x005A}, {0x1E94,0x1E95,0x005A}, - {0x1E96,0x1E96,0x0048}, {0x1E97,0x1E97,0x0054}, - {0x1E98,0x1E98,0x0057}, {0x1E99,0x1E99,0x0059}, - {0x1E9A,0x1E9A,0x1E9A}, {0x1E60,0x1E9B,0x0053}, - {0x1E9C,0x1E9C,0x1E9C}, {0x1E9D,0x1E9D,0x1E9D}, - {0x1E9E,0x1E9E,0x1E9E}, {0x1E9F,0x1E9F,0x1E9F}, - {0x1EA0,0x1EA1,0x0041}, {0x1EA0,0x1EA1,0x0041}, - {0x1EA2,0x1EA3,0x0041}, {0x1EA2,0x1EA3,0x0041}, - {0x1EA4,0x1EA5,0x0041}, {0x1EA4,0x1EA5,0x0041}, - {0x1EA6,0x1EA7,0x0041}, {0x1EA6,0x1EA7,0x0041}, - {0x1EA8,0x1EA9,0x0041}, {0x1EA8,0x1EA9,0x0041}, - {0x1EAA,0x1EAB,0x0041}, {0x1EAA,0x1EAB,0x0041}, - {0x1EAC,0x1EAD,0x0041}, {0x1EAC,0x1EAD,0x0041}, - {0x1EAE,0x1EAF,0x0041}, {0x1EAE,0x1EAF,0x0041}, - {0x1EB0,0x1EB1,0x0041}, {0x1EB0,0x1EB1,0x0041}, - {0x1EB2,0x1EB3,0x0041}, {0x1EB2,0x1EB3,0x0041}, - {0x1EB4,0x1EB5,0x0041}, {0x1EB4,0x1EB5,0x0041}, - {0x1EB6,0x1EB7,0x0041}, {0x1EB6,0x1EB7,0x0041}, - {0x1EB8,0x1EB9,0x0045}, {0x1EB8,0x1EB9,0x0045}, - {0x1EBA,0x1EBB,0x0045}, {0x1EBA,0x1EBB,0x0045}, - {0x1EBC,0x1EBD,0x0045}, {0x1EBC,0x1EBD,0x0045}, - {0x1EBE,0x1EBF,0x0045}, {0x1EBE,0x1EBF,0x0045}, - {0x1EC0,0x1EC1,0x0045}, {0x1EC0,0x1EC1,0x0045}, - {0x1EC2,0x1EC3,0x0045}, {0x1EC2,0x1EC3,0x0045}, - {0x1EC4,0x1EC5,0x0045}, {0x1EC4,0x1EC5,0x0045}, - {0x1EC6,0x1EC7,0x0045}, {0x1EC6,0x1EC7,0x0045}, - {0x1EC8,0x1EC9,0x0049}, {0x1EC8,0x1EC9,0x0049}, - {0x1ECA,0x1ECB,0x0049}, {0x1ECA,0x1ECB,0x0049}, - {0x1ECC,0x1ECD,0x004F}, {0x1ECC,0x1ECD,0x004F}, - {0x1ECE,0x1ECF,0x004F}, {0x1ECE,0x1ECF,0x004F}, - {0x1ED0,0x1ED1,0x004F}, {0x1ED0,0x1ED1,0x004F}, - {0x1ED2,0x1ED3,0x004F}, {0x1ED2,0x1ED3,0x004F}, - {0x1ED4,0x1ED5,0x004F}, {0x1ED4,0x1ED5,0x004F}, - {0x1ED6,0x1ED7,0x004F}, {0x1ED6,0x1ED7,0x004F}, - {0x1ED8,0x1ED9,0x004F}, {0x1ED8,0x1ED9,0x004F}, - {0x1EDA,0x1EDB,0x004F}, {0x1EDA,0x1EDB,0x004F}, - {0x1EDC,0x1EDD,0x004F}, {0x1EDC,0x1EDD,0x004F}, - {0x1EDE,0x1EDF,0x004F}, {0x1EDE,0x1EDF,0x004F}, - {0x1EE0,0x1EE1,0x004F}, {0x1EE0,0x1EE1,0x004F}, - {0x1EE2,0x1EE3,0x004F}, {0x1EE2,0x1EE3,0x004F}, - {0x1EE4,0x1EE5,0x0055}, {0x1EE4,0x1EE5,0x0055}, - {0x1EE6,0x1EE7,0x0055}, {0x1EE6,0x1EE7,0x0055}, - {0x1EE8,0x1EE9,0x0055}, {0x1EE8,0x1EE9,0x0055}, - {0x1EEA,0x1EEB,0x0055}, {0x1EEA,0x1EEB,0x0055}, - {0x1EEC,0x1EED,0x0055}, {0x1EEC,0x1EED,0x0055}, - {0x1EEE,0x1EEF,0x0055}, {0x1EEE,0x1EEF,0x0055}, - {0x1EF0,0x1EF1,0x0055}, {0x1EF0,0x1EF1,0x0055}, - {0x1EF2,0x1EF3,0x0059}, {0x1EF2,0x1EF3,0x0059}, - {0x1EF4,0x1EF5,0x0059}, {0x1EF4,0x1EF5,0x0059}, - {0x1EF6,0x1EF7,0x0059}, {0x1EF6,0x1EF7,0x0059}, - {0x1EF8,0x1EF9,0x0059}, {0x1EF8,0x1EF9,0x0059}, - {0x1EFA,0x1EFA,0x1EFA}, {0x1EFB,0x1EFB,0x1EFB}, - {0x1EFC,0x1EFC,0x1EFC}, {0x1EFD,0x1EFD,0x1EFD}, - {0x1EFE,0x1EFE,0x1EFE}, {0x1EFF,0x1EFF,0x1EFF} -}; - -static MY_UNICASE_CHARACTER plane1F[]={ - {0x1F08,0x1F00,0x0391}, {0x1F09,0x1F01,0x0391}, - {0x1F0A,0x1F02,0x0391}, {0x1F0B,0x1F03,0x0391}, - {0x1F0C,0x1F04,0x0391}, {0x1F0D,0x1F05,0x0391}, - {0x1F0E,0x1F06,0x0391}, {0x1F0F,0x1F07,0x0391}, - {0x1F08,0x1F00,0x0391}, {0x1F09,0x1F01,0x0391}, - {0x1F0A,0x1F02,0x0391}, {0x1F0B,0x1F03,0x0391}, - {0x1F0C,0x1F04,0x0391}, {0x1F0D,0x1F05,0x0391}, - {0x1F0E,0x1F06,0x0391}, {0x1F0F,0x1F07,0x0391}, - {0x1F18,0x1F10,0x0395}, {0x1F19,0x1F11,0x0395}, - {0x1F1A,0x1F12,0x0395}, {0x1F1B,0x1F13,0x0395}, - {0x1F1C,0x1F14,0x0395}, {0x1F1D,0x1F15,0x0395}, - {0x1F16,0x1F16,0x1F16}, {0x1F17,0x1F17,0x1F17}, - {0x1F18,0x1F10,0x0395}, {0x1F19,0x1F11,0x0395}, - {0x1F1A,0x1F12,0x0395}, {0x1F1B,0x1F13,0x0395}, - {0x1F1C,0x1F14,0x0395}, {0x1F1D,0x1F15,0x0395}, - {0x1F1E,0x1F1E,0x1F1E}, {0x1F1F,0x1F1F,0x1F1F}, - {0x1F28,0x1F20,0x0397}, {0x1F29,0x1F21,0x0397}, - {0x1F2A,0x1F22,0x0397}, {0x1F2B,0x1F23,0x0397}, - {0x1F2C,0x1F24,0x0397}, {0x1F2D,0x1F25,0x0397}, - {0x1F2E,0x1F26,0x0397}, {0x1F2F,0x1F27,0x0397}, - {0x1F28,0x1F20,0x0397}, {0x1F29,0x1F21,0x0397}, - {0x1F2A,0x1F22,0x0397}, {0x1F2B,0x1F23,0x0397}, - {0x1F2C,0x1F24,0x0397}, {0x1F2D,0x1F25,0x0397}, - {0x1F2E,0x1F26,0x0397}, {0x1F2F,0x1F27,0x0397}, - {0x1F38,0x1F30,0x0399}, {0x1F39,0x1F31,0x0399}, - {0x1F3A,0x1F32,0x0399}, {0x1F3B,0x1F33,0x0399}, - {0x1F3C,0x1F34,0x0399}, {0x1F3D,0x1F35,0x0399}, - {0x1F3E,0x1F36,0x0399}, {0x1F3F,0x1F37,0x0399}, - {0x1F38,0x1F30,0x0399}, {0x1F39,0x1F31,0x0399}, - {0x1F3A,0x1F32,0x0399}, {0x1F3B,0x1F33,0x0399}, - {0x1F3C,0x1F34,0x0399}, {0x1F3D,0x1F35,0x0399}, - {0x1F3E,0x1F36,0x0399}, {0x1F3F,0x1F37,0x0399}, - {0x1F48,0x1F40,0x039F}, {0x1F49,0x1F41,0x039F}, - {0x1F4A,0x1F42,0x039F}, {0x1F4B,0x1F43,0x039F}, - {0x1F4C,0x1F44,0x039F}, {0x1F4D,0x1F45,0x039F}, - {0x1F46,0x1F46,0x1F46}, {0x1F47,0x1F47,0x1F47}, - {0x1F48,0x1F40,0x039F}, {0x1F49,0x1F41,0x039F}, - {0x1F4A,0x1F42,0x039F}, {0x1F4B,0x1F43,0x039F}, - {0x1F4C,0x1F44,0x039F}, {0x1F4D,0x1F45,0x039F}, - {0x1F4E,0x1F4E,0x1F4E}, {0x1F4F,0x1F4F,0x1F4F}, - {0x1F50,0x1F50,0x03A5}, {0x1F59,0x1F51,0x03A5}, - {0x1F52,0x1F52,0x03A5}, {0x1F5B,0x1F53,0x03A5}, - {0x1F54,0x1F54,0x03A5}, {0x1F5D,0x1F55,0x03A5}, - {0x1F56,0x1F56,0x03A5}, {0x1F5F,0x1F57,0x03A5}, - {0x1F58,0x1F58,0x1F58}, {0x1F59,0x1F51,0x03A5}, - {0x1F5A,0x1F5A,0x1F5A}, {0x1F5B,0x1F53,0x03A5}, - {0x1F5C,0x1F5C,0x1F5C}, {0x1F5D,0x1F55,0x03A5}, - {0x1F5E,0x1F5E,0x1F5E}, {0x1F5F,0x1F57,0x03A5}, - {0x1F68,0x1F60,0x03A9}, {0x1F69,0x1F61,0x03A9}, - {0x1F6A,0x1F62,0x03A9}, {0x1F6B,0x1F63,0x03A9}, - {0x1F6C,0x1F64,0x03A9}, {0x1F6D,0x1F65,0x03A9}, - {0x1F6E,0x1F66,0x03A9}, {0x1F6F,0x1F67,0x03A9}, - {0x1F68,0x1F60,0x03A9}, {0x1F69,0x1F61,0x03A9}, - {0x1F6A,0x1F62,0x03A9}, {0x1F6B,0x1F63,0x03A9}, - {0x1F6C,0x1F64,0x03A9}, {0x1F6D,0x1F65,0x03A9}, - {0x1F6E,0x1F66,0x03A9}, {0x1F6F,0x1F67,0x03A9}, - {0x1FBA,0x1F70,0x0391}, {0x1FBB,0x1F71,0x1FBB}, - {0x1FC8,0x1F72,0x0395}, {0x1FC9,0x1F73,0x1FC9}, - {0x1FCA,0x1F74,0x0397}, {0x1FCB,0x1F75,0x1FCB}, - {0x1FDA,0x1F76,0x0399}, {0x1FDB,0x1F77,0x1FDB}, - {0x1FF8,0x1F78,0x039F}, {0x1FF9,0x1F79,0x1FF9}, - {0x1FEA,0x1F7A,0x03A5}, {0x1FEB,0x1F7B,0x1FEB}, - {0x1FFA,0x1F7C,0x03A9}, {0x1FFB,0x1F7D,0x1FFB}, - {0x1F7E,0x1F7E,0x1F7E}, {0x1F7F,0x1F7F,0x1F7F}, - {0x1F88,0x1F80,0x0391}, {0x1F89,0x1F81,0x0391}, - {0x1F8A,0x1F82,0x0391}, {0x1F8B,0x1F83,0x0391}, - {0x1F8C,0x1F84,0x0391}, {0x1F8D,0x1F85,0x0391}, - {0x1F8E,0x1F86,0x0391}, {0x1F8F,0x1F87,0x0391}, - {0x1F88,0x1F80,0x0391}, {0x1F89,0x1F81,0x0391}, - {0x1F8A,0x1F82,0x0391}, {0x1F8B,0x1F83,0x0391}, - {0x1F8C,0x1F84,0x0391}, {0x1F8D,0x1F85,0x0391}, - {0x1F8E,0x1F86,0x0391}, {0x1F8F,0x1F87,0x0391}, - {0x1F98,0x1F90,0x0397}, {0x1F99,0x1F91,0x0397}, - {0x1F9A,0x1F92,0x0397}, {0x1F9B,0x1F93,0x0397}, - {0x1F9C,0x1F94,0x0397}, {0x1F9D,0x1F95,0x0397}, - {0x1F9E,0x1F96,0x0397}, {0x1F9F,0x1F97,0x0397}, - {0x1F98,0x1F90,0x0397}, {0x1F99,0x1F91,0x0397}, - {0x1F9A,0x1F92,0x0397}, {0x1F9B,0x1F93,0x0397}, - {0x1F9C,0x1F94,0x0397}, {0x1F9D,0x1F95,0x0397}, - {0x1F9E,0x1F96,0x0397}, {0x1F9F,0x1F97,0x0397}, - {0x1FA8,0x1FA0,0x03A9}, {0x1FA9,0x1FA1,0x03A9}, - {0x1FAA,0x1FA2,0x03A9}, {0x1FAB,0x1FA3,0x03A9}, - {0x1FAC,0x1FA4,0x03A9}, {0x1FAD,0x1FA5,0x03A9}, - {0x1FAE,0x1FA6,0x03A9}, {0x1FAF,0x1FA7,0x03A9}, - {0x1FA8,0x1FA0,0x03A9}, {0x1FA9,0x1FA1,0x03A9}, - {0x1FAA,0x1FA2,0x03A9}, {0x1FAB,0x1FA3,0x03A9}, - {0x1FAC,0x1FA4,0x03A9}, {0x1FAD,0x1FA5,0x03A9}, - {0x1FAE,0x1FA6,0x03A9}, {0x1FAF,0x1FA7,0x03A9}, - {0x1FB8,0x1FB0,0x0391}, {0x1FB9,0x1FB1,0x0391}, - {0x1FB2,0x1FB2,0x0391}, {0x1FBC,0x1FB3,0x0391}, - {0x1FB4,0x1FB4,0x0391}, {0x1FB5,0x1FB5,0x1FB5}, - {0x1FB6,0x1FB6,0x0391}, {0x1FB7,0x1FB7,0x0391}, - {0x1FB8,0x1FB0,0x0391}, {0x1FB9,0x1FB1,0x0391}, - {0x1FBA,0x1F70,0x0391}, {0x1FBB,0x1F71,0x1FBB}, - {0x1FBC,0x1FB3,0x0391}, {0x1FBD,0x1FBD,0x1FBD}, - {0x0399,0x1FBE,0x0399}, {0x1FBF,0x1FBF,0x1FBF}, - {0x1FC0,0x1FC0,0x1FC0}, {0x1FC1,0x1FC1,0x1FC1}, - {0x1FC2,0x1FC2,0x0397}, {0x1FCC,0x1FC3,0x0397}, - {0x1FC4,0x1FC4,0x0397}, {0x1FC5,0x1FC5,0x1FC5}, - {0x1FC6,0x1FC6,0x0397}, {0x1FC7,0x1FC7,0x0397}, - {0x1FC8,0x1F72,0x0395}, {0x1FC9,0x1F73,0x1FC9}, - {0x1FCA,0x1F74,0x0397}, {0x1FCB,0x1F75,0x1FCB}, - {0x1FCC,0x1FC3,0x0397}, {0x1FCD,0x1FCD,0x1FCD}, - {0x1FCE,0x1FCE,0x1FCE}, {0x1FCF,0x1FCF,0x1FCF}, - {0x1FD8,0x1FD0,0x0399}, {0x1FD9,0x1FD1,0x0399}, - {0x1FD2,0x1FD2,0x0399}, {0x1FD3,0x1FD3,0x1FD3}, - {0x1FD4,0x1FD4,0x1FD4}, {0x1FD5,0x1FD5,0x1FD5}, - {0x1FD6,0x1FD6,0x0399}, {0x1FD7,0x1FD7,0x0399}, - {0x1FD8,0x1FD0,0x0399}, {0x1FD9,0x1FD1,0x0399}, - {0x1FDA,0x1F76,0x0399}, {0x1FDB,0x1F77,0x1FDB}, - {0x1FDC,0x1FDC,0x1FDC}, {0x1FDD,0x1FDD,0x1FDD}, - {0x1FDE,0x1FDE,0x1FDE}, {0x1FDF,0x1FDF,0x1FDF}, - {0x1FE8,0x1FE0,0x03A5}, {0x1FE9,0x1FE1,0x03A5}, - {0x1FE2,0x1FE2,0x03A5}, {0x1FE3,0x1FE3,0x1FE3}, - {0x1FE4,0x1FE4,0x03A1}, {0x1FEC,0x1FE5,0x03A1}, - {0x1FE6,0x1FE6,0x03A5}, {0x1FE7,0x1FE7,0x03A5}, - {0x1FE8,0x1FE0,0x03A5}, {0x1FE9,0x1FE1,0x03A5}, - {0x1FEA,0x1F7A,0x03A5}, {0x1FEB,0x1F7B,0x1FEB}, - {0x1FEC,0x1FE5,0x03A1}, {0x1FED,0x1FED,0x1FED}, - {0x1FEE,0x1FEE,0x1FEE}, {0x1FEF,0x1FEF,0x1FEF}, - {0x1FF0,0x1FF0,0x1FF0}, {0x1FF1,0x1FF1,0x1FF1}, - {0x1FF2,0x1FF2,0x03A9}, {0x1FFC,0x1FF3,0x03A9}, - {0x1FF4,0x1FF4,0x03A9}, {0x1FF5,0x1FF5,0x1FF5}, - {0x1FF6,0x1FF6,0x03A9}, {0x1FF7,0x1FF7,0x03A9}, - {0x1FF8,0x1F78,0x039F}, {0x1FF9,0x1F79,0x1FF9}, - {0x1FFA,0x1F7C,0x03A9}, {0x1FFB,0x1F7D,0x1FFB}, - {0x1FFC,0x1FF3,0x03A9}, {0x1FFD,0x1FFD,0x1FFD}, - {0x1FFE,0x1FFE,0x1FFE}, {0x1FFF,0x1FFF,0x1FFF} -}; - -static MY_UNICASE_CHARACTER plane21[]={ - {0x2100,0x2100,0x2100}, {0x2101,0x2101,0x2101}, - {0x2102,0x2102,0x2102}, {0x2103,0x2103,0x2103}, - {0x2104,0x2104,0x2104}, {0x2105,0x2105,0x2105}, - {0x2106,0x2106,0x2106}, {0x2107,0x2107,0x2107}, - {0x2108,0x2108,0x2108}, {0x2109,0x2109,0x2109}, - {0x210A,0x210A,0x210A}, {0x210B,0x210B,0x210B}, - {0x210C,0x210C,0x210C}, {0x210D,0x210D,0x210D}, - {0x210E,0x210E,0x210E}, {0x210F,0x210F,0x210F}, - {0x2110,0x2110,0x2110}, {0x2111,0x2111,0x2111}, - {0x2112,0x2112,0x2112}, {0x2113,0x2113,0x2113}, - {0x2114,0x2114,0x2114}, {0x2115,0x2115,0x2115}, - {0x2116,0x2116,0x2116}, {0x2117,0x2117,0x2117}, - {0x2118,0x2118,0x2118}, {0x2119,0x2119,0x2119}, - {0x211A,0x211A,0x211A}, {0x211B,0x211B,0x211B}, - {0x211C,0x211C,0x211C}, {0x211D,0x211D,0x211D}, - {0x211E,0x211E,0x211E}, {0x211F,0x211F,0x211F}, - {0x2120,0x2120,0x2120}, {0x2121,0x2121,0x2121}, - {0x2122,0x2122,0x2122}, {0x2123,0x2123,0x2123}, - {0x2124,0x2124,0x2124}, {0x2125,0x2125,0x2125}, - {0x2126,0x03C9,0x2126}, {0x2127,0x2127,0x2127}, - {0x2128,0x2128,0x2128}, {0x2129,0x2129,0x2129}, - {0x212A,0x006B,0x212A}, {0x212B,0x00E5,0x212B}, - {0x212C,0x212C,0x212C}, {0x212D,0x212D,0x212D}, - {0x212E,0x212E,0x212E}, {0x212F,0x212F,0x212F}, - {0x2130,0x2130,0x2130}, {0x2131,0x2131,0x2131}, - {0x2132,0x2132,0x2132}, {0x2133,0x2133,0x2133}, - {0x2134,0x2134,0x2134}, {0x2135,0x2135,0x2135}, - {0x2136,0x2136,0x2136}, {0x2137,0x2137,0x2137}, - {0x2138,0x2138,0x2138}, {0x2139,0x2139,0x2139}, - {0x213A,0x213A,0x213A}, {0x213B,0x213B,0x213B}, - {0x213C,0x213C,0x213C}, {0x213D,0x213D,0x213D}, - {0x213E,0x213E,0x213E}, {0x213F,0x213F,0x213F}, - {0x2140,0x2140,0x2140}, {0x2141,0x2141,0x2141}, - {0x2142,0x2142,0x2142}, {0x2143,0x2143,0x2143}, - {0x2144,0x2144,0x2144}, {0x2145,0x2145,0x2145}, - {0x2146,0x2146,0x2146}, {0x2147,0x2147,0x2147}, - {0x2148,0x2148,0x2148}, {0x2149,0x2149,0x2149}, - {0x214A,0x214A,0x214A}, {0x214B,0x214B,0x214B}, - {0x214C,0x214C,0x214C}, {0x214D,0x214D,0x214D}, - {0x214E,0x214E,0x214E}, {0x214F,0x214F,0x214F}, - {0x2150,0x2150,0x2150}, {0x2151,0x2151,0x2151}, - {0x2152,0x2152,0x2152}, {0x2153,0x2153,0x2153}, - {0x2154,0x2154,0x2154}, {0x2155,0x2155,0x2155}, - {0x2156,0x2156,0x2156}, {0x2157,0x2157,0x2157}, - {0x2158,0x2158,0x2158}, {0x2159,0x2159,0x2159}, - {0x215A,0x215A,0x215A}, {0x215B,0x215B,0x215B}, - {0x215C,0x215C,0x215C}, {0x215D,0x215D,0x215D}, - {0x215E,0x215E,0x215E}, {0x215F,0x215F,0x215F}, - {0x2160,0x2170,0x2160}, {0x2161,0x2171,0x2161}, - {0x2162,0x2172,0x2162}, {0x2163,0x2173,0x2163}, - {0x2164,0x2174,0x2164}, {0x2165,0x2175,0x2165}, - {0x2166,0x2176,0x2166}, {0x2167,0x2177,0x2167}, - {0x2168,0x2178,0x2168}, {0x2169,0x2179,0x2169}, - {0x216A,0x217A,0x216A}, {0x216B,0x217B,0x216B}, - {0x216C,0x217C,0x216C}, {0x216D,0x217D,0x216D}, - {0x216E,0x217E,0x216E}, {0x216F,0x217F,0x216F}, - {0x2160,0x2170,0x2160}, {0x2161,0x2171,0x2161}, - {0x2162,0x2172,0x2162}, {0x2163,0x2173,0x2163}, - {0x2164,0x2174,0x2164}, {0x2165,0x2175,0x2165}, - {0x2166,0x2176,0x2166}, {0x2167,0x2177,0x2167}, - {0x2168,0x2178,0x2168}, {0x2169,0x2179,0x2169}, - {0x216A,0x217A,0x216A}, {0x216B,0x217B,0x216B}, - {0x216C,0x217C,0x216C}, {0x216D,0x217D,0x216D}, - {0x216E,0x217E,0x216E}, {0x216F,0x217F,0x216F}, - {0x2180,0x2180,0x2180}, {0x2181,0x2181,0x2181}, - {0x2182,0x2182,0x2182}, {0x2183,0x2183,0x2183}, - {0x2184,0x2184,0x2184}, {0x2185,0x2185,0x2185}, - {0x2186,0x2186,0x2186}, {0x2187,0x2187,0x2187}, - {0x2188,0x2188,0x2188}, {0x2189,0x2189,0x2189}, - {0x218A,0x218A,0x218A}, {0x218B,0x218B,0x218B}, - {0x218C,0x218C,0x218C}, {0x218D,0x218D,0x218D}, - {0x218E,0x218E,0x218E}, {0x218F,0x218F,0x218F}, - {0x2190,0x2190,0x2190}, {0x2191,0x2191,0x2191}, - {0x2192,0x2192,0x2192}, {0x2193,0x2193,0x2193}, - {0x2194,0x2194,0x2194}, {0x2195,0x2195,0x2195}, - {0x2196,0x2196,0x2196}, {0x2197,0x2197,0x2197}, - {0x2198,0x2198,0x2198}, {0x2199,0x2199,0x2199}, - {0x219A,0x219A,0x219A}, {0x219B,0x219B,0x219B}, - {0x219C,0x219C,0x219C}, {0x219D,0x219D,0x219D}, - {0x219E,0x219E,0x219E}, {0x219F,0x219F,0x219F}, - {0x21A0,0x21A0,0x21A0}, {0x21A1,0x21A1,0x21A1}, - {0x21A2,0x21A2,0x21A2}, {0x21A3,0x21A3,0x21A3}, - {0x21A4,0x21A4,0x21A4}, {0x21A5,0x21A5,0x21A5}, - {0x21A6,0x21A6,0x21A6}, {0x21A7,0x21A7,0x21A7}, - {0x21A8,0x21A8,0x21A8}, {0x21A9,0x21A9,0x21A9}, - {0x21AA,0x21AA,0x21AA}, {0x21AB,0x21AB,0x21AB}, - {0x21AC,0x21AC,0x21AC}, {0x21AD,0x21AD,0x21AD}, - {0x21AE,0x21AE,0x21AE}, {0x21AF,0x21AF,0x21AF}, - {0x21B0,0x21B0,0x21B0}, {0x21B1,0x21B1,0x21B1}, - {0x21B2,0x21B2,0x21B2}, {0x21B3,0x21B3,0x21B3}, - {0x21B4,0x21B4,0x21B4}, {0x21B5,0x21B5,0x21B5}, - {0x21B6,0x21B6,0x21B6}, {0x21B7,0x21B7,0x21B7}, - {0x21B8,0x21B8,0x21B8}, {0x21B9,0x21B9,0x21B9}, - {0x21BA,0x21BA,0x21BA}, {0x21BB,0x21BB,0x21BB}, - {0x21BC,0x21BC,0x21BC}, {0x21BD,0x21BD,0x21BD}, - {0x21BE,0x21BE,0x21BE}, {0x21BF,0x21BF,0x21BF}, - {0x21C0,0x21C0,0x21C0}, {0x21C1,0x21C1,0x21C1}, - {0x21C2,0x21C2,0x21C2}, {0x21C3,0x21C3,0x21C3}, - {0x21C4,0x21C4,0x21C4}, {0x21C5,0x21C5,0x21C5}, - {0x21C6,0x21C6,0x21C6}, {0x21C7,0x21C7,0x21C7}, - {0x21C8,0x21C8,0x21C8}, {0x21C9,0x21C9,0x21C9}, - {0x21CA,0x21CA,0x21CA}, {0x21CB,0x21CB,0x21CB}, - {0x21CC,0x21CC,0x21CC}, {0x21CD,0x21CD,0x21CD}, - {0x21CE,0x21CE,0x21CE}, {0x21CF,0x21CF,0x21CF}, - {0x21D0,0x21D0,0x21D0}, {0x21D1,0x21D1,0x21D1}, - {0x21D2,0x21D2,0x21D2}, {0x21D3,0x21D3,0x21D3}, - {0x21D4,0x21D4,0x21D4}, {0x21D5,0x21D5,0x21D5}, - {0x21D6,0x21D6,0x21D6}, {0x21D7,0x21D7,0x21D7}, - {0x21D8,0x21D8,0x21D8}, {0x21D9,0x21D9,0x21D9}, - {0x21DA,0x21DA,0x21DA}, {0x21DB,0x21DB,0x21DB}, - {0x21DC,0x21DC,0x21DC}, {0x21DD,0x21DD,0x21DD}, - {0x21DE,0x21DE,0x21DE}, {0x21DF,0x21DF,0x21DF}, - {0x21E0,0x21E0,0x21E0}, {0x21E1,0x21E1,0x21E1}, - {0x21E2,0x21E2,0x21E2}, {0x21E3,0x21E3,0x21E3}, - {0x21E4,0x21E4,0x21E4}, {0x21E5,0x21E5,0x21E5}, - {0x21E6,0x21E6,0x21E6}, {0x21E7,0x21E7,0x21E7}, - {0x21E8,0x21E8,0x21E8}, {0x21E9,0x21E9,0x21E9}, - {0x21EA,0x21EA,0x21EA}, {0x21EB,0x21EB,0x21EB}, - {0x21EC,0x21EC,0x21EC}, {0x21ED,0x21ED,0x21ED}, - {0x21EE,0x21EE,0x21EE}, {0x21EF,0x21EF,0x21EF}, - {0x21F0,0x21F0,0x21F0}, {0x21F1,0x21F1,0x21F1}, - {0x21F2,0x21F2,0x21F2}, {0x21F3,0x21F3,0x21F3}, - {0x21F4,0x21F4,0x21F4}, {0x21F5,0x21F5,0x21F5}, - {0x21F6,0x21F6,0x21F6}, {0x21F7,0x21F7,0x21F7}, - {0x21F8,0x21F8,0x21F8}, {0x21F9,0x21F9,0x21F9}, - {0x21FA,0x21FA,0x21FA}, {0x21FB,0x21FB,0x21FB}, - {0x21FC,0x21FC,0x21FC}, {0x21FD,0x21FD,0x21FD}, - {0x21FE,0x21FE,0x21FE}, {0x21FF,0x21FF,0x21FF} -}; - -static MY_UNICASE_CHARACTER plane24[]={ - {0x2400,0x2400,0x2400}, {0x2401,0x2401,0x2401}, - {0x2402,0x2402,0x2402}, {0x2403,0x2403,0x2403}, - {0x2404,0x2404,0x2404}, {0x2405,0x2405,0x2405}, - {0x2406,0x2406,0x2406}, {0x2407,0x2407,0x2407}, - {0x2408,0x2408,0x2408}, {0x2409,0x2409,0x2409}, - {0x240A,0x240A,0x240A}, {0x240B,0x240B,0x240B}, - {0x240C,0x240C,0x240C}, {0x240D,0x240D,0x240D}, - {0x240E,0x240E,0x240E}, {0x240F,0x240F,0x240F}, - {0x2410,0x2410,0x2410}, {0x2411,0x2411,0x2411}, - {0x2412,0x2412,0x2412}, {0x2413,0x2413,0x2413}, - {0x2414,0x2414,0x2414}, {0x2415,0x2415,0x2415}, - {0x2416,0x2416,0x2416}, {0x2417,0x2417,0x2417}, - {0x2418,0x2418,0x2418}, {0x2419,0x2419,0x2419}, - {0x241A,0x241A,0x241A}, {0x241B,0x241B,0x241B}, - {0x241C,0x241C,0x241C}, {0x241D,0x241D,0x241D}, - {0x241E,0x241E,0x241E}, {0x241F,0x241F,0x241F}, - {0x2420,0x2420,0x2420}, {0x2421,0x2421,0x2421}, - {0x2422,0x2422,0x2422}, {0x2423,0x2423,0x2423}, - {0x2424,0x2424,0x2424}, {0x2425,0x2425,0x2425}, - {0x2426,0x2426,0x2426}, {0x2427,0x2427,0x2427}, - {0x2428,0x2428,0x2428}, {0x2429,0x2429,0x2429}, - {0x242A,0x242A,0x242A}, {0x242B,0x242B,0x242B}, - {0x242C,0x242C,0x242C}, {0x242D,0x242D,0x242D}, - {0x242E,0x242E,0x242E}, {0x242F,0x242F,0x242F}, - {0x2430,0x2430,0x2430}, {0x2431,0x2431,0x2431}, - {0x2432,0x2432,0x2432}, {0x2433,0x2433,0x2433}, - {0x2434,0x2434,0x2434}, {0x2435,0x2435,0x2435}, - {0x2436,0x2436,0x2436}, {0x2437,0x2437,0x2437}, - {0x2438,0x2438,0x2438}, {0x2439,0x2439,0x2439}, - {0x243A,0x243A,0x243A}, {0x243B,0x243B,0x243B}, - {0x243C,0x243C,0x243C}, {0x243D,0x243D,0x243D}, - {0x243E,0x243E,0x243E}, {0x243F,0x243F,0x243F}, - {0x2440,0x2440,0x2440}, {0x2441,0x2441,0x2441}, - {0x2442,0x2442,0x2442}, {0x2443,0x2443,0x2443}, - {0x2444,0x2444,0x2444}, {0x2445,0x2445,0x2445}, - {0x2446,0x2446,0x2446}, {0x2447,0x2447,0x2447}, - {0x2448,0x2448,0x2448}, {0x2449,0x2449,0x2449}, - {0x244A,0x244A,0x244A}, {0x244B,0x244B,0x244B}, - {0x244C,0x244C,0x244C}, {0x244D,0x244D,0x244D}, - {0x244E,0x244E,0x244E}, {0x244F,0x244F,0x244F}, - {0x2450,0x2450,0x2450}, {0x2451,0x2451,0x2451}, - {0x2452,0x2452,0x2452}, {0x2453,0x2453,0x2453}, - {0x2454,0x2454,0x2454}, {0x2455,0x2455,0x2455}, - {0x2456,0x2456,0x2456}, {0x2457,0x2457,0x2457}, - {0x2458,0x2458,0x2458}, {0x2459,0x2459,0x2459}, - {0x245A,0x245A,0x245A}, {0x245B,0x245B,0x245B}, - {0x245C,0x245C,0x245C}, {0x245D,0x245D,0x245D}, - {0x245E,0x245E,0x245E}, {0x245F,0x245F,0x245F}, - {0x2460,0x2460,0x2460}, {0x2461,0x2461,0x2461}, - {0x2462,0x2462,0x2462}, {0x2463,0x2463,0x2463}, - {0x2464,0x2464,0x2464}, {0x2465,0x2465,0x2465}, - {0x2466,0x2466,0x2466}, {0x2467,0x2467,0x2467}, - {0x2468,0x2468,0x2468}, {0x2469,0x2469,0x2469}, - {0x246A,0x246A,0x246A}, {0x246B,0x246B,0x246B}, - {0x246C,0x246C,0x246C}, {0x246D,0x246D,0x246D}, - {0x246E,0x246E,0x246E}, {0x246F,0x246F,0x246F}, - {0x2470,0x2470,0x2470}, {0x2471,0x2471,0x2471}, - {0x2472,0x2472,0x2472}, {0x2473,0x2473,0x2473}, - {0x2474,0x2474,0x2474}, {0x2475,0x2475,0x2475}, - {0x2476,0x2476,0x2476}, {0x2477,0x2477,0x2477}, - {0x2478,0x2478,0x2478}, {0x2479,0x2479,0x2479}, - {0x247A,0x247A,0x247A}, {0x247B,0x247B,0x247B}, - {0x247C,0x247C,0x247C}, {0x247D,0x247D,0x247D}, - {0x247E,0x247E,0x247E}, {0x247F,0x247F,0x247F}, - {0x2480,0x2480,0x2480}, {0x2481,0x2481,0x2481}, - {0x2482,0x2482,0x2482}, {0x2483,0x2483,0x2483}, - {0x2484,0x2484,0x2484}, {0x2485,0x2485,0x2485}, - {0x2486,0x2486,0x2486}, {0x2487,0x2487,0x2487}, - {0x2488,0x2488,0x2488}, {0x2489,0x2489,0x2489}, - {0x248A,0x248A,0x248A}, {0x248B,0x248B,0x248B}, - {0x248C,0x248C,0x248C}, {0x248D,0x248D,0x248D}, - {0x248E,0x248E,0x248E}, {0x248F,0x248F,0x248F}, - {0x2490,0x2490,0x2490}, {0x2491,0x2491,0x2491}, - {0x2492,0x2492,0x2492}, {0x2493,0x2493,0x2493}, - {0x2494,0x2494,0x2494}, {0x2495,0x2495,0x2495}, - {0x2496,0x2496,0x2496}, {0x2497,0x2497,0x2497}, - {0x2498,0x2498,0x2498}, {0x2499,0x2499,0x2499}, - {0x249A,0x249A,0x249A}, {0x249B,0x249B,0x249B}, - {0x249C,0x249C,0x249C}, {0x249D,0x249D,0x249D}, - {0x249E,0x249E,0x249E}, {0x249F,0x249F,0x249F}, - {0x24A0,0x24A0,0x24A0}, {0x24A1,0x24A1,0x24A1}, - {0x24A2,0x24A2,0x24A2}, {0x24A3,0x24A3,0x24A3}, - {0x24A4,0x24A4,0x24A4}, {0x24A5,0x24A5,0x24A5}, - {0x24A6,0x24A6,0x24A6}, {0x24A7,0x24A7,0x24A7}, - {0x24A8,0x24A8,0x24A8}, {0x24A9,0x24A9,0x24A9}, - {0x24AA,0x24AA,0x24AA}, {0x24AB,0x24AB,0x24AB}, - {0x24AC,0x24AC,0x24AC}, {0x24AD,0x24AD,0x24AD}, - {0x24AE,0x24AE,0x24AE}, {0x24AF,0x24AF,0x24AF}, - {0x24B0,0x24B0,0x24B0}, {0x24B1,0x24B1,0x24B1}, - {0x24B2,0x24B2,0x24B2}, {0x24B3,0x24B3,0x24B3}, - {0x24B4,0x24B4,0x24B4}, {0x24B5,0x24B5,0x24B5}, - {0x24B6,0x24D0,0x24B6}, {0x24B7,0x24D1,0x24B7}, - {0x24B8,0x24D2,0x24B8}, {0x24B9,0x24D3,0x24B9}, - {0x24BA,0x24D4,0x24BA}, {0x24BB,0x24D5,0x24BB}, - {0x24BC,0x24D6,0x24BC}, {0x24BD,0x24D7,0x24BD}, - {0x24BE,0x24D8,0x24BE}, {0x24BF,0x24D9,0x24BF}, - {0x24C0,0x24DA,0x24C0}, {0x24C1,0x24DB,0x24C1}, - {0x24C2,0x24DC,0x24C2}, {0x24C3,0x24DD,0x24C3}, - {0x24C4,0x24DE,0x24C4}, {0x24C5,0x24DF,0x24C5}, - {0x24C6,0x24E0,0x24C6}, {0x24C7,0x24E1,0x24C7}, - {0x24C8,0x24E2,0x24C8}, {0x24C9,0x24E3,0x24C9}, - {0x24CA,0x24E4,0x24CA}, {0x24CB,0x24E5,0x24CB}, - {0x24CC,0x24E6,0x24CC}, {0x24CD,0x24E7,0x24CD}, - {0x24CE,0x24E8,0x24CE}, {0x24CF,0x24E9,0x24CF}, - {0x24B6,0x24D0,0x24B6}, {0x24B7,0x24D1,0x24B7}, - {0x24B8,0x24D2,0x24B8}, {0x24B9,0x24D3,0x24B9}, - {0x24BA,0x24D4,0x24BA}, {0x24BB,0x24D5,0x24BB}, - {0x24BC,0x24D6,0x24BC}, {0x24BD,0x24D7,0x24BD}, - {0x24BE,0x24D8,0x24BE}, {0x24BF,0x24D9,0x24BF}, - {0x24C0,0x24DA,0x24C0}, {0x24C1,0x24DB,0x24C1}, - {0x24C2,0x24DC,0x24C2}, {0x24C3,0x24DD,0x24C3}, - {0x24C4,0x24DE,0x24C4}, {0x24C5,0x24DF,0x24C5}, - {0x24C6,0x24E0,0x24C6}, {0x24C7,0x24E1,0x24C7}, - {0x24C8,0x24E2,0x24C8}, {0x24C9,0x24E3,0x24C9}, - {0x24CA,0x24E4,0x24CA}, {0x24CB,0x24E5,0x24CB}, - {0x24CC,0x24E6,0x24CC}, {0x24CD,0x24E7,0x24CD}, - {0x24CE,0x24E8,0x24CE}, {0x24CF,0x24E9,0x24CF}, - {0x24EA,0x24EA,0x24EA}, {0x24EB,0x24EB,0x24EB}, - {0x24EC,0x24EC,0x24EC}, {0x24ED,0x24ED,0x24ED}, - {0x24EE,0x24EE,0x24EE}, {0x24EF,0x24EF,0x24EF}, - {0x24F0,0x24F0,0x24F0}, {0x24F1,0x24F1,0x24F1}, - {0x24F2,0x24F2,0x24F2}, {0x24F3,0x24F3,0x24F3}, - {0x24F4,0x24F4,0x24F4}, {0x24F5,0x24F5,0x24F5}, - {0x24F6,0x24F6,0x24F6}, {0x24F7,0x24F7,0x24F7}, - {0x24F8,0x24F8,0x24F8}, {0x24F9,0x24F9,0x24F9}, - {0x24FA,0x24FA,0x24FA}, {0x24FB,0x24FB,0x24FB}, - {0x24FC,0x24FC,0x24FC}, {0x24FD,0x24FD,0x24FD}, - {0x24FE,0x24FE,0x24FE}, {0x24FF,0x24FF,0x24FF} -}; - -static MY_UNICASE_CHARACTER planeFF[]={ - {0xFF00,0xFF00,0xFF00}, {0xFF01,0xFF01,0xFF01}, - {0xFF02,0xFF02,0xFF02}, {0xFF03,0xFF03,0xFF03}, - {0xFF04,0xFF04,0xFF04}, {0xFF05,0xFF05,0xFF05}, - {0xFF06,0xFF06,0xFF06}, {0xFF07,0xFF07,0xFF07}, - {0xFF08,0xFF08,0xFF08}, {0xFF09,0xFF09,0xFF09}, - {0xFF0A,0xFF0A,0xFF0A}, {0xFF0B,0xFF0B,0xFF0B}, - {0xFF0C,0xFF0C,0xFF0C}, {0xFF0D,0xFF0D,0xFF0D}, - {0xFF0E,0xFF0E,0xFF0E}, {0xFF0F,0xFF0F,0xFF0F}, - {0xFF10,0xFF10,0xFF10}, {0xFF11,0xFF11,0xFF11}, - {0xFF12,0xFF12,0xFF12}, {0xFF13,0xFF13,0xFF13}, - {0xFF14,0xFF14,0xFF14}, {0xFF15,0xFF15,0xFF15}, - {0xFF16,0xFF16,0xFF16}, {0xFF17,0xFF17,0xFF17}, - {0xFF18,0xFF18,0xFF18}, {0xFF19,0xFF19,0xFF19}, - {0xFF1A,0xFF1A,0xFF1A}, {0xFF1B,0xFF1B,0xFF1B}, - {0xFF1C,0xFF1C,0xFF1C}, {0xFF1D,0xFF1D,0xFF1D}, - {0xFF1E,0xFF1E,0xFF1E}, {0xFF1F,0xFF1F,0xFF1F}, - {0xFF20,0xFF20,0xFF20}, {0xFF21,0xFF41,0xFF21}, - {0xFF22,0xFF42,0xFF22}, {0xFF23,0xFF43,0xFF23}, - {0xFF24,0xFF44,0xFF24}, {0xFF25,0xFF45,0xFF25}, - {0xFF26,0xFF46,0xFF26}, {0xFF27,0xFF47,0xFF27}, - {0xFF28,0xFF48,0xFF28}, {0xFF29,0xFF49,0xFF29}, - {0xFF2A,0xFF4A,0xFF2A}, {0xFF2B,0xFF4B,0xFF2B}, - {0xFF2C,0xFF4C,0xFF2C}, {0xFF2D,0xFF4D,0xFF2D}, - {0xFF2E,0xFF4E,0xFF2E}, {0xFF2F,0xFF4F,0xFF2F}, - {0xFF30,0xFF50,0xFF30}, {0xFF31,0xFF51,0xFF31}, - {0xFF32,0xFF52,0xFF32}, {0xFF33,0xFF53,0xFF33}, - {0xFF34,0xFF54,0xFF34}, {0xFF35,0xFF55,0xFF35}, - {0xFF36,0xFF56,0xFF36}, {0xFF37,0xFF57,0xFF37}, - {0xFF38,0xFF58,0xFF38}, {0xFF39,0xFF59,0xFF39}, - {0xFF3A,0xFF5A,0xFF3A}, {0xFF3B,0xFF3B,0xFF3B}, - {0xFF3C,0xFF3C,0xFF3C}, {0xFF3D,0xFF3D,0xFF3D}, - {0xFF3E,0xFF3E,0xFF3E}, {0xFF3F,0xFF3F,0xFF3F}, - {0xFF40,0xFF40,0xFF40}, {0xFF21,0xFF41,0xFF21}, - {0xFF22,0xFF42,0xFF22}, {0xFF23,0xFF43,0xFF23}, - {0xFF24,0xFF44,0xFF24}, {0xFF25,0xFF45,0xFF25}, - {0xFF26,0xFF46,0xFF26}, {0xFF27,0xFF47,0xFF27}, - {0xFF28,0xFF48,0xFF28}, {0xFF29,0xFF49,0xFF29}, - {0xFF2A,0xFF4A,0xFF2A}, {0xFF2B,0xFF4B,0xFF2B}, - {0xFF2C,0xFF4C,0xFF2C}, {0xFF2D,0xFF4D,0xFF2D}, - {0xFF2E,0xFF4E,0xFF2E}, {0xFF2F,0xFF4F,0xFF2F}, - {0xFF30,0xFF50,0xFF30}, {0xFF31,0xFF51,0xFF31}, - {0xFF32,0xFF52,0xFF32}, {0xFF33,0xFF53,0xFF33}, - {0xFF34,0xFF54,0xFF34}, {0xFF35,0xFF55,0xFF35}, - {0xFF36,0xFF56,0xFF36}, {0xFF37,0xFF57,0xFF37}, - {0xFF38,0xFF58,0xFF38}, {0xFF39,0xFF59,0xFF39}, - {0xFF3A,0xFF5A,0xFF3A}, {0xFF5B,0xFF5B,0xFF5B}, - {0xFF5C,0xFF5C,0xFF5C}, {0xFF5D,0xFF5D,0xFF5D}, - {0xFF5E,0xFF5E,0xFF5E}, {0xFF5F,0xFF5F,0xFF5F}, - {0xFF60,0xFF60,0xFF60}, {0xFF61,0xFF61,0xFF61}, - {0xFF62,0xFF62,0xFF62}, {0xFF63,0xFF63,0xFF63}, - {0xFF64,0xFF64,0xFF64}, {0xFF65,0xFF65,0xFF65}, - {0xFF66,0xFF66,0xFF66}, {0xFF67,0xFF67,0xFF67}, - {0xFF68,0xFF68,0xFF68}, {0xFF69,0xFF69,0xFF69}, - {0xFF6A,0xFF6A,0xFF6A}, {0xFF6B,0xFF6B,0xFF6B}, - {0xFF6C,0xFF6C,0xFF6C}, {0xFF6D,0xFF6D,0xFF6D}, - {0xFF6E,0xFF6E,0xFF6E}, {0xFF6F,0xFF6F,0xFF6F}, - {0xFF70,0xFF70,0xFF70}, {0xFF71,0xFF71,0xFF71}, - {0xFF72,0xFF72,0xFF72}, {0xFF73,0xFF73,0xFF73}, - {0xFF74,0xFF74,0xFF74}, {0xFF75,0xFF75,0xFF75}, - {0xFF76,0xFF76,0xFF76}, {0xFF77,0xFF77,0xFF77}, - {0xFF78,0xFF78,0xFF78}, {0xFF79,0xFF79,0xFF79}, - {0xFF7A,0xFF7A,0xFF7A}, {0xFF7B,0xFF7B,0xFF7B}, - {0xFF7C,0xFF7C,0xFF7C}, {0xFF7D,0xFF7D,0xFF7D}, - {0xFF7E,0xFF7E,0xFF7E}, {0xFF7F,0xFF7F,0xFF7F}, - {0xFF80,0xFF80,0xFF80}, {0xFF81,0xFF81,0xFF81}, - {0xFF82,0xFF82,0xFF82}, {0xFF83,0xFF83,0xFF83}, - {0xFF84,0xFF84,0xFF84}, {0xFF85,0xFF85,0xFF85}, - {0xFF86,0xFF86,0xFF86}, {0xFF87,0xFF87,0xFF87}, - {0xFF88,0xFF88,0xFF88}, {0xFF89,0xFF89,0xFF89}, - {0xFF8A,0xFF8A,0xFF8A}, {0xFF8B,0xFF8B,0xFF8B}, - {0xFF8C,0xFF8C,0xFF8C}, {0xFF8D,0xFF8D,0xFF8D}, - {0xFF8E,0xFF8E,0xFF8E}, {0xFF8F,0xFF8F,0xFF8F}, - {0xFF90,0xFF90,0xFF90}, {0xFF91,0xFF91,0xFF91}, - {0xFF92,0xFF92,0xFF92}, {0xFF93,0xFF93,0xFF93}, - {0xFF94,0xFF94,0xFF94}, {0xFF95,0xFF95,0xFF95}, - {0xFF96,0xFF96,0xFF96}, {0xFF97,0xFF97,0xFF97}, - {0xFF98,0xFF98,0xFF98}, {0xFF99,0xFF99,0xFF99}, - {0xFF9A,0xFF9A,0xFF9A}, {0xFF9B,0xFF9B,0xFF9B}, - {0xFF9C,0xFF9C,0xFF9C}, {0xFF9D,0xFF9D,0xFF9D}, - {0xFF9E,0xFF9E,0xFF9E}, {0xFF9F,0xFF9F,0xFF9F}, - {0xFFA0,0xFFA0,0xFFA0}, {0xFFA1,0xFFA1,0xFFA1}, - {0xFFA2,0xFFA2,0xFFA2}, {0xFFA3,0xFFA3,0xFFA3}, - {0xFFA4,0xFFA4,0xFFA4}, {0xFFA5,0xFFA5,0xFFA5}, - {0xFFA6,0xFFA6,0xFFA6}, {0xFFA7,0xFFA7,0xFFA7}, - {0xFFA8,0xFFA8,0xFFA8}, {0xFFA9,0xFFA9,0xFFA9}, - {0xFFAA,0xFFAA,0xFFAA}, {0xFFAB,0xFFAB,0xFFAB}, - {0xFFAC,0xFFAC,0xFFAC}, {0xFFAD,0xFFAD,0xFFAD}, - {0xFFAE,0xFFAE,0xFFAE}, {0xFFAF,0xFFAF,0xFFAF}, - {0xFFB0,0xFFB0,0xFFB0}, {0xFFB1,0xFFB1,0xFFB1}, - {0xFFB2,0xFFB2,0xFFB2}, {0xFFB3,0xFFB3,0xFFB3}, - {0xFFB4,0xFFB4,0xFFB4}, {0xFFB5,0xFFB5,0xFFB5}, - {0xFFB6,0xFFB6,0xFFB6}, {0xFFB7,0xFFB7,0xFFB7}, - {0xFFB8,0xFFB8,0xFFB8}, {0xFFB9,0xFFB9,0xFFB9}, - {0xFFBA,0xFFBA,0xFFBA}, {0xFFBB,0xFFBB,0xFFBB}, - {0xFFBC,0xFFBC,0xFFBC}, {0xFFBD,0xFFBD,0xFFBD}, - {0xFFBE,0xFFBE,0xFFBE}, {0xFFBF,0xFFBF,0xFFBF}, - {0xFFC0,0xFFC0,0xFFC0}, {0xFFC1,0xFFC1,0xFFC1}, - {0xFFC2,0xFFC2,0xFFC2}, {0xFFC3,0xFFC3,0xFFC3}, - {0xFFC4,0xFFC4,0xFFC4}, {0xFFC5,0xFFC5,0xFFC5}, - {0xFFC6,0xFFC6,0xFFC6}, {0xFFC7,0xFFC7,0xFFC7}, - {0xFFC8,0xFFC8,0xFFC8}, {0xFFC9,0xFFC9,0xFFC9}, - {0xFFCA,0xFFCA,0xFFCA}, {0xFFCB,0xFFCB,0xFFCB}, - {0xFFCC,0xFFCC,0xFFCC}, {0xFFCD,0xFFCD,0xFFCD}, - {0xFFCE,0xFFCE,0xFFCE}, {0xFFCF,0xFFCF,0xFFCF}, - {0xFFD0,0xFFD0,0xFFD0}, {0xFFD1,0xFFD1,0xFFD1}, - {0xFFD2,0xFFD2,0xFFD2}, {0xFFD3,0xFFD3,0xFFD3}, - {0xFFD4,0xFFD4,0xFFD4}, {0xFFD5,0xFFD5,0xFFD5}, - {0xFFD6,0xFFD6,0xFFD6}, {0xFFD7,0xFFD7,0xFFD7}, - {0xFFD8,0xFFD8,0xFFD8}, {0xFFD9,0xFFD9,0xFFD9}, - {0xFFDA,0xFFDA,0xFFDA}, {0xFFDB,0xFFDB,0xFFDB}, - {0xFFDC,0xFFDC,0xFFDC}, {0xFFDD,0xFFDD,0xFFDD}, - {0xFFDE,0xFFDE,0xFFDE}, {0xFFDF,0xFFDF,0xFFDF}, - {0xFFE0,0xFFE0,0xFFE0}, {0xFFE1,0xFFE1,0xFFE1}, - {0xFFE2,0xFFE2,0xFFE2}, {0xFFE3,0xFFE3,0xFFE3}, - {0xFFE4,0xFFE4,0xFFE4}, {0xFFE5,0xFFE5,0xFFE5}, - {0xFFE6,0xFFE6,0xFFE6}, {0xFFE7,0xFFE7,0xFFE7}, - {0xFFE8,0xFFE8,0xFFE8}, {0xFFE9,0xFFE9,0xFFE9}, - {0xFFEA,0xFFEA,0xFFEA}, {0xFFEB,0xFFEB,0xFFEB}, - {0xFFEC,0xFFEC,0xFFEC}, {0xFFED,0xFFED,0xFFED}, - {0xFFEE,0xFFEE,0xFFEE}, {0xFFEF,0xFFEF,0xFFEF}, - {0xFFF0,0xFFF0,0xFFF0}, {0xFFF1,0xFFF1,0xFFF1}, - {0xFFF2,0xFFF2,0xFFF2}, {0xFFF3,0xFFF3,0xFFF3}, - {0xFFF4,0xFFF4,0xFFF4}, {0xFFF5,0xFFF5,0xFFF5}, - {0xFFF6,0xFFF6,0xFFF6}, {0xFFF7,0xFFF7,0xFFF7}, - {0xFFF8,0xFFF8,0xFFF8}, {0xFFF9,0xFFF9,0xFFF9}, - {0xFFFA,0xFFFA,0xFFFA}, {0xFFFB,0xFFFB,0xFFFB}, - {0xFFFC,0xFFFC,0xFFFC}, {0xFFFD,0xFFFD,0xFFFD}, - {0xFFFE,0xFFFE,0xFFFE}, {0xFFFF,0xFFFF,0xFFFF} -}; - - -MY_UNICASE_CHARACTER *my_unicase_default_pages[256]= -{ - my_unicase_default_page00, - plane01, plane02, plane03, plane04, plane05, plane06, plane07, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, plane1E, plane1F, - NULL, plane21, NULL, NULL, plane24, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, planeFF -}; - - -MY_UNICASE_INFO my_unicase_default= -{ - MY_UNICASE_INFO_DEFAULT_MAXCHAR, - my_unicase_default_pages -}; - - -/* - Reproduce old utf8mb3_general_ci behaviour before we fixed Bug#27877. -*/ -MY_UNICASE_CHARACTER *my_unicase_mysql500_pages[256]={ - my_unicase_mysql500_page00, - plane01, plane02, plane03, plane04, plane05, plane06, plane07, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, plane1E, plane1F, - NULL, plane21, NULL, NULL, plane24, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, planeFF - -}; - - -MY_UNICASE_INFO my_unicase_mysql500= -{ - 0xFFFF, - my_unicase_mysql500_pages -}; - - -/* - Turkish lower/upper mapping: - 1. LOWER(0x0049 LATIN CAPITAL LETTER I) -> - 0x0131 LATIN SMALL LETTER DOTLESS I - 2. UPPER(0x0069 LATIN SMALL LETTER I) -> - 0x0130 LATIN CAPITAL LETTER I WITH DOT ABOVE -*/ - -static MY_UNICASE_CHARACTER turk00[]= -{ - {0x0000,0x0000,0x0000}, {0x0001,0x0001,0x0001}, - {0x0002,0x0002,0x0002}, {0x0003,0x0003,0x0003}, - {0x0004,0x0004,0x0004}, {0x0005,0x0005,0x0005}, - {0x0006,0x0006,0x0006}, {0x0007,0x0007,0x0007}, - {0x0008,0x0008,0x0008}, {0x0009,0x0009,0x0009}, - {0x000A,0x000A,0x000A}, {0x000B,0x000B,0x000B}, - {0x000C,0x000C,0x000C}, {0x000D,0x000D,0x000D}, - {0x000E,0x000E,0x000E}, {0x000F,0x000F,0x000F}, - {0x0010,0x0010,0x0010}, {0x0011,0x0011,0x0011}, - {0x0012,0x0012,0x0012}, {0x0013,0x0013,0x0013}, - {0x0014,0x0014,0x0014}, {0x0015,0x0015,0x0015}, - {0x0016,0x0016,0x0016}, {0x0017,0x0017,0x0017}, - {0x0018,0x0018,0x0018}, {0x0019,0x0019,0x0019}, - {0x001A,0x001A,0x001A}, {0x001B,0x001B,0x001B}, - {0x001C,0x001C,0x001C}, {0x001D,0x001D,0x001D}, - {0x001E,0x001E,0x001E}, {0x001F,0x001F,0x001F}, - {0x0020,0x0020,0x0020}, {0x0021,0x0021,0x0021}, - {0x0022,0x0022,0x0022}, {0x0023,0x0023,0x0023}, - {0x0024,0x0024,0x0024}, {0x0025,0x0025,0x0025}, - {0x0026,0x0026,0x0026}, {0x0027,0x0027,0x0027}, - {0x0028,0x0028,0x0028}, {0x0029,0x0029,0x0029}, - {0x002A,0x002A,0x002A}, {0x002B,0x002B,0x002B}, - {0x002C,0x002C,0x002C}, {0x002D,0x002D,0x002D}, - {0x002E,0x002E,0x002E}, {0x002F,0x002F,0x002F}, - {0x0030,0x0030,0x0030}, {0x0031,0x0031,0x0031}, - {0x0032,0x0032,0x0032}, {0x0033,0x0033,0x0033}, - {0x0034,0x0034,0x0034}, {0x0035,0x0035,0x0035}, - {0x0036,0x0036,0x0036}, {0x0037,0x0037,0x0037}, - {0x0038,0x0038,0x0038}, {0x0039,0x0039,0x0039}, - {0x003A,0x003A,0x003A}, {0x003B,0x003B,0x003B}, - {0x003C,0x003C,0x003C}, {0x003D,0x003D,0x003D}, - {0x003E,0x003E,0x003E}, {0x003F,0x003F,0x003F}, - {0x0040,0x0040,0x0040}, {0x0041,0x0061,0x0041}, - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, - {0x0048,0x0068,0x0048}, {0x0049,0x0131,0x0049}, - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, - {0x005A,0x007A,0x005A}, {0x005B,0x005B,0x005B}, - {0x005C,0x005C,0x005C}, {0x005D,0x005D,0x005D}, - {0x005E,0x005E,0x005E}, {0x005F,0x005F,0x005F}, - {0x0060,0x0060,0x0060}, {0x0041,0x0061,0x0041}, - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, - {0x0048,0x0068,0x0048}, {0x0130,0x0069,0x0049}, - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, - {0x005A,0x007A,0x005A}, {0x007B,0x007B,0x007B}, - {0x007C,0x007C,0x007C}, {0x007D,0x007D,0x007D}, - {0x007E,0x007E,0x007E}, {0x007F,0x007F,0x007F}, - {0x0080,0x0080,0x0080}, {0x0081,0x0081,0x0081}, - {0x0082,0x0082,0x0082}, {0x0083,0x0083,0x0083}, - {0x0084,0x0084,0x0084}, {0x0085,0x0085,0x0085}, - {0x0086,0x0086,0x0086}, {0x0087,0x0087,0x0087}, - {0x0088,0x0088,0x0088}, {0x0089,0x0089,0x0089}, - {0x008A,0x008A,0x008A}, {0x008B,0x008B,0x008B}, - {0x008C,0x008C,0x008C}, {0x008D,0x008D,0x008D}, - {0x008E,0x008E,0x008E}, {0x008F,0x008F,0x008F}, - {0x0090,0x0090,0x0090}, {0x0091,0x0091,0x0091}, - {0x0092,0x0092,0x0092}, {0x0093,0x0093,0x0093}, - {0x0094,0x0094,0x0094}, {0x0095,0x0095,0x0095}, - {0x0096,0x0096,0x0096}, {0x0097,0x0097,0x0097}, - {0x0098,0x0098,0x0098}, {0x0099,0x0099,0x0099}, - {0x009A,0x009A,0x009A}, {0x009B,0x009B,0x009B}, - {0x009C,0x009C,0x009C}, {0x009D,0x009D,0x009D}, - {0x009E,0x009E,0x009E}, {0x009F,0x009F,0x009F}, - {0x00A0,0x00A0,0x00A0}, {0x00A1,0x00A1,0x00A1}, - {0x00A2,0x00A2,0x00A2}, {0x00A3,0x00A3,0x00A3}, - {0x00A4,0x00A4,0x00A4}, {0x00A5,0x00A5,0x00A5}, - {0x00A6,0x00A6,0x00A6}, {0x00A7,0x00A7,0x00A7}, - {0x00A8,0x00A8,0x00A8}, {0x00A9,0x00A9,0x00A9}, - {0x00AA,0x00AA,0x00AA}, {0x00AB,0x00AB,0x00AB}, - {0x00AC,0x00AC,0x00AC}, {0x00AD,0x00AD,0x00AD}, - {0x00AE,0x00AE,0x00AE}, {0x00AF,0x00AF,0x00AF}, - {0x00B0,0x00B0,0x00B0}, {0x00B1,0x00B1,0x00B1}, - {0x00B2,0x00B2,0x00B2}, {0x00B3,0x00B3,0x00B3}, - {0x00B4,0x00B4,0x00B4}, {0x039C,0x00B5,0x039C}, - {0x00B6,0x00B6,0x00B6}, {0x00B7,0x00B7,0x00B7}, - {0x00B8,0x00B8,0x00B8}, {0x00B9,0x00B9,0x00B9}, - {0x00BA,0x00BA,0x00BA}, {0x00BB,0x00BB,0x00BB}, - {0x00BC,0x00BC,0x00BC}, {0x00BD,0x00BD,0x00BD}, - {0x00BE,0x00BE,0x00BE}, {0x00BF,0x00BF,0x00BF}, - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, - {0x00D6,0x00F6,0x004F}, {0x00D7,0x00D7,0x00D7}, - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, - {0x00DE,0x00FE,0x00DE}, {0x00DF,0x00DF,0x00DF}, - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, - {0x00D6,0x00F6,0x004F}, {0x00F7,0x00F7,0x00F7}, - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, - {0x00DE,0x00FE,0x00DE}, {0x0178,0x00FF,0x0059} -}; - - - -static MY_UNICASE_CHARACTER *my_unicase_pages_turkish[256]= -{ - turk00, plane01, plane02, plane03, plane04, plane05, plane06, plane07, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, plane1E, plane1F, - NULL, plane21, NULL, NULL, plane24, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, planeFF -}; - - -MY_UNICASE_INFO my_unicase_turkish= -{ - 0xFFFF, - my_unicase_pages_turkish -}; - - -/* Unicode-5.2.0 case folding information */ -static MY_UNICASE_CHARACTER u520p00[]={ - {0x0000,0x0000,0x0000}, {0x0001,0x0001,0x0001}, /* 0000 */ - {0x0002,0x0002,0x0002}, {0x0003,0x0003,0x0003}, /* 0002 */ - {0x0004,0x0004,0x0004}, {0x0005,0x0005,0x0005}, /* 0004 */ - {0x0006,0x0006,0x0006}, {0x0007,0x0007,0x0007}, /* 0006 */ - {0x0008,0x0008,0x0008}, {0x0009,0x0009,0x0009}, /* 0008 */ - {0x000A,0x000A,0x000A}, {0x000B,0x000B,0x000B}, /* 000A */ - {0x000C,0x000C,0x000C}, {0x000D,0x000D,0x000D}, /* 000C */ - {0x000E,0x000E,0x000E}, {0x000F,0x000F,0x000F}, /* 000E */ - {0x0010,0x0010,0x0010}, {0x0011,0x0011,0x0011}, /* 0010 */ - {0x0012,0x0012,0x0012}, {0x0013,0x0013,0x0013}, /* 0012 */ - {0x0014,0x0014,0x0014}, {0x0015,0x0015,0x0015}, /* 0014 */ - {0x0016,0x0016,0x0016}, {0x0017,0x0017,0x0017}, /* 0016 */ - {0x0018,0x0018,0x0018}, {0x0019,0x0019,0x0019}, /* 0018 */ - {0x001A,0x001A,0x001A}, {0x001B,0x001B,0x001B}, /* 001A */ - {0x001C,0x001C,0x001C}, {0x001D,0x001D,0x001D}, /* 001C */ - {0x001E,0x001E,0x001E}, {0x001F,0x001F,0x001F}, /* 001E */ - {0x0020,0x0020,0x0020}, {0x0021,0x0021,0x0021}, /* 0020 */ - {0x0022,0x0022,0x0022}, {0x0023,0x0023,0x0023}, /* 0022 */ - {0x0024,0x0024,0x0024}, {0x0025,0x0025,0x0025}, /* 0024 */ - {0x0026,0x0026,0x0026}, {0x0027,0x0027,0x0027}, /* 0026 */ - {0x0028,0x0028,0x0028}, {0x0029,0x0029,0x0029}, /* 0028 */ - {0x002A,0x002A,0x002A}, {0x002B,0x002B,0x002B}, /* 002A */ - {0x002C,0x002C,0x002C}, {0x002D,0x002D,0x002D}, /* 002C */ - {0x002E,0x002E,0x002E}, {0x002F,0x002F,0x002F}, /* 002E */ - {0x0030,0x0030,0x0030}, {0x0031,0x0031,0x0031}, /* 0030 */ - {0x0032,0x0032,0x0032}, {0x0033,0x0033,0x0033}, /* 0032 */ - {0x0034,0x0034,0x0034}, {0x0035,0x0035,0x0035}, /* 0034 */ - {0x0036,0x0036,0x0036}, {0x0037,0x0037,0x0037}, /* 0036 */ - {0x0038,0x0038,0x0038}, {0x0039,0x0039,0x0039}, /* 0038 */ - {0x003A,0x003A,0x003A}, {0x003B,0x003B,0x003B}, /* 003A */ - {0x003C,0x003C,0x003C}, {0x003D,0x003D,0x003D}, /* 003C */ - {0x003E,0x003E,0x003E}, {0x003F,0x003F,0x003F}, /* 003E */ - {0x0040,0x0040,0x0040}, {0x0041,0x0061,0x0041}, /* 0040 */ - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, /* 0042 */ - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, /* 0044 */ - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, /* 0046 */ - {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049}, /* 0048 */ - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, /* 004A */ - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, /* 004C */ - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, /* 004E */ - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, /* 0050 */ - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, /* 0052 */ - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, /* 0054 */ - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, /* 0056 */ - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, /* 0058 */ - {0x005A,0x007A,0x005A}, {0x005B,0x005B,0x005B}, /* 005A */ - {0x005C,0x005C,0x005C}, {0x005D,0x005D,0x005D}, /* 005C */ - {0x005E,0x005E,0x005E}, {0x005F,0x005F,0x005F}, /* 005E */ - {0x0060,0x0060,0x0060}, {0x0041,0x0061,0x0041}, /* 0060 */ - {0x0042,0x0062,0x0042}, {0x0043,0x0063,0x0043}, /* 0062 */ - {0x0044,0x0064,0x0044}, {0x0045,0x0065,0x0045}, /* 0064 */ - {0x0046,0x0066,0x0046}, {0x0047,0x0067,0x0047}, /* 0066 */ - {0x0048,0x0068,0x0048}, {0x0049,0x0069,0x0049}, /* 0068 */ - {0x004A,0x006A,0x004A}, {0x004B,0x006B,0x004B}, /* 006A */ - {0x004C,0x006C,0x004C}, {0x004D,0x006D,0x004D}, /* 006C */ - {0x004E,0x006E,0x004E}, {0x004F,0x006F,0x004F}, /* 006E */ - {0x0050,0x0070,0x0050}, {0x0051,0x0071,0x0051}, /* 0070 */ - {0x0052,0x0072,0x0052}, {0x0053,0x0073,0x0053}, /* 0072 */ - {0x0054,0x0074,0x0054}, {0x0055,0x0075,0x0055}, /* 0074 */ - {0x0056,0x0076,0x0056}, {0x0057,0x0077,0x0057}, /* 0076 */ - {0x0058,0x0078,0x0058}, {0x0059,0x0079,0x0059}, /* 0078 */ - {0x005A,0x007A,0x005A}, {0x007B,0x007B,0x007B}, /* 007A */ - {0x007C,0x007C,0x007C}, {0x007D,0x007D,0x007D}, /* 007C */ - {0x007E,0x007E,0x007E}, {0x007F,0x007F,0x007F}, /* 007E */ - {0x0080,0x0080,0x0080}, {0x0081,0x0081,0x0081}, /* 0080 */ - {0x0082,0x0082,0x0082}, {0x0083,0x0083,0x0083}, /* 0082 */ - {0x0084,0x0084,0x0084}, {0x0085,0x0085,0x0085}, /* 0084 */ - {0x0086,0x0086,0x0086}, {0x0087,0x0087,0x0087}, /* 0086 */ - {0x0088,0x0088,0x0088}, {0x0089,0x0089,0x0089}, /* 0088 */ - {0x008A,0x008A,0x008A}, {0x008B,0x008B,0x008B}, /* 008A */ - {0x008C,0x008C,0x008C}, {0x008D,0x008D,0x008D}, /* 008C */ - {0x008E,0x008E,0x008E}, {0x008F,0x008F,0x008F}, /* 008E */ - {0x0090,0x0090,0x0090}, {0x0091,0x0091,0x0091}, /* 0090 */ - {0x0092,0x0092,0x0092}, {0x0093,0x0093,0x0093}, /* 0092 */ - {0x0094,0x0094,0x0094}, {0x0095,0x0095,0x0095}, /* 0094 */ - {0x0096,0x0096,0x0096}, {0x0097,0x0097,0x0097}, /* 0096 */ - {0x0098,0x0098,0x0098}, {0x0099,0x0099,0x0099}, /* 0098 */ - {0x009A,0x009A,0x009A}, {0x009B,0x009B,0x009B}, /* 009A */ - {0x009C,0x009C,0x009C}, {0x009D,0x009D,0x009D}, /* 009C */ - {0x009E,0x009E,0x009E}, {0x009F,0x009F,0x009F}, /* 009E */ - {0x00A0,0x00A0,0x00A0}, {0x00A1,0x00A1,0x00A1}, /* 00A0 */ - {0x00A2,0x00A2,0x00A2}, {0x00A3,0x00A3,0x00A3}, /* 00A2 */ - {0x00A4,0x00A4,0x00A4}, {0x00A5,0x00A5,0x00A5}, /* 00A4 */ - {0x00A6,0x00A6,0x00A6}, {0x00A7,0x00A7,0x00A7}, /* 00A6 */ - {0x00A8,0x00A8,0x00A8}, {0x00A9,0x00A9,0x00A9}, /* 00A8 */ - {0x00AA,0x00AA,0x00AA}, {0x00AB,0x00AB,0x00AB}, /* 00AA */ - {0x00AC,0x00AC,0x00AC}, {0x00AD,0x00AD,0x00AD}, /* 00AC */ - {0x00AE,0x00AE,0x00AE}, {0x00AF,0x00AF,0x00AF}, /* 00AE */ - {0x00B0,0x00B0,0x00B0}, {0x00B1,0x00B1,0x00B1}, /* 00B0 */ - {0x00B2,0x00B2,0x00B2}, {0x00B3,0x00B3,0x00B3}, /* 00B2 */ - {0x00B4,0x00B4,0x00B4}, {0x039C,0x00B5,0x039C}, /* 00B4 */ - {0x00B6,0x00B6,0x00B6}, {0x00B7,0x00B7,0x00B7}, /* 00B6 */ - {0x00B8,0x00B8,0x00B8}, {0x00B9,0x00B9,0x00B9}, /* 00B8 */ - {0x00BA,0x00BA,0x00BA}, {0x00BB,0x00BB,0x00BB}, /* 00BA */ - {0x00BC,0x00BC,0x00BC}, {0x00BD,0x00BD,0x00BD}, /* 00BC */ - {0x00BE,0x00BE,0x00BE}, {0x00BF,0x00BF,0x00BF}, /* 00BE */ - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, /* 00C0 */ - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, /* 00C2 */ - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, /* 00C4 */ - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, /* 00C6 */ - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, /* 00C8 */ - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, /* 00CA */ - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, /* 00CC */ - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, /* 00CE */ - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, /* 00D0 */ - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, /* 00D2 */ - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, /* 00D4 */ - {0x00D6,0x00F6,0x004F}, {0x00D7,0x00D7,0x00D7}, /* 00D6 */ - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, /* 00D8 */ - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, /* 00DA */ - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, /* 00DC */ - {0x00DE,0x00FE,0x00DE}, {0x00DF,0x00DF,0x0053}, /* 00DE */ - {0x00C0,0x00E0,0x0041}, {0x00C1,0x00E1,0x0041}, /* 00E0 */ - {0x00C2,0x00E2,0x0041}, {0x00C3,0x00E3,0x0041}, /* 00E2 */ - {0x00C4,0x00E4,0x0041}, {0x00C5,0x00E5,0x0041}, /* 00E4 */ - {0x00C6,0x00E6,0x00C6}, {0x00C7,0x00E7,0x0043}, /* 00E6 */ - {0x00C8,0x00E8,0x0045}, {0x00C9,0x00E9,0x0045}, /* 00E8 */ - {0x00CA,0x00EA,0x0045}, {0x00CB,0x00EB,0x0045}, /* 00EA */ - {0x00CC,0x00EC,0x0049}, {0x00CD,0x00ED,0x0049}, /* 00EC */ - {0x00CE,0x00EE,0x0049}, {0x00CF,0x00EF,0x0049}, /* 00EE */ - {0x00D0,0x00F0,0x00D0}, {0x00D1,0x00F1,0x004E}, /* 00F0 */ - {0x00D2,0x00F2,0x004F}, {0x00D3,0x00F3,0x004F}, /* 00F2 */ - {0x00D4,0x00F4,0x004F}, {0x00D5,0x00F5,0x004F}, /* 00F4 */ - {0x00D6,0x00F6,0x004F}, {0x00F7,0x00F7,0x00F7}, /* 00F6 */ - {0x00D8,0x00F8,0x00D8}, {0x00D9,0x00F9,0x0055}, /* 00F8 */ - {0x00DA,0x00FA,0x0055}, {0x00DB,0x00FB,0x0055}, /* 00FA */ - {0x00DC,0x00FC,0x0055}, {0x00DD,0x00FD,0x0059}, /* 00FC */ - {0x00DE,0x00FE,0x00DE}, {0x0178,0x00FF,0x0059} /* 00FE */ -}; - -static MY_UNICASE_CHARACTER u520p01[]={ - {0x0100,0x0101,0x0041}, {0x0100,0x0101,0x0041}, /* 0100 */ - {0x0102,0x0103,0x0041}, {0x0102,0x0103,0x0041}, /* 0102 */ - {0x0104,0x0105,0x0041}, {0x0104,0x0105,0x0041}, /* 0104 */ - {0x0106,0x0107,0x0043}, {0x0106,0x0107,0x0043}, /* 0106 */ - {0x0108,0x0109,0x0043}, {0x0108,0x0109,0x0043}, /* 0108 */ - {0x010A,0x010B,0x0043}, {0x010A,0x010B,0x0043}, /* 010A */ - {0x010C,0x010D,0x0043}, {0x010C,0x010D,0x0043}, /* 010C */ - {0x010E,0x010F,0x0044}, {0x010E,0x010F,0x0044}, /* 010E */ - {0x0110,0x0111,0x0110}, {0x0110,0x0111,0x0110}, /* 0110 */ - {0x0112,0x0113,0x0045}, {0x0112,0x0113,0x0045}, /* 0112 */ - {0x0114,0x0115,0x0045}, {0x0114,0x0115,0x0045}, /* 0114 */ - {0x0116,0x0117,0x0045}, {0x0116,0x0117,0x0045}, /* 0116 */ - {0x0118,0x0119,0x0045}, {0x0118,0x0119,0x0045}, /* 0118 */ - {0x011A,0x011B,0x0045}, {0x011A,0x011B,0x0045}, /* 011A */ - {0x011C,0x011D,0x0047}, {0x011C,0x011D,0x0047}, /* 011C */ - {0x011E,0x011F,0x0047}, {0x011E,0x011F,0x0047}, /* 011E */ - {0x0120,0x0121,0x0047}, {0x0120,0x0121,0x0047}, /* 0120 */ - {0x0122,0x0123,0x0047}, {0x0122,0x0123,0x0047}, /* 0122 */ - {0x0124,0x0125,0x0048}, {0x0124,0x0125,0x0048}, /* 0124 */ - {0x0126,0x0127,0x0126}, {0x0126,0x0127,0x0126}, /* 0126 */ - {0x0128,0x0129,0x0049}, {0x0128,0x0129,0x0049}, /* 0128 */ - {0x012A,0x012B,0x0049}, {0x012A,0x012B,0x0049}, /* 012A */ - {0x012C,0x012D,0x0049}, {0x012C,0x012D,0x0049}, /* 012C */ - {0x012E,0x012F,0x0049}, {0x012E,0x012F,0x0049}, /* 012E */ - {0x0130,0x0069,0x0049}, {0x0049,0x0131,0x0049}, /* 0130 */ - {0x0132,0x0133,0x0132}, {0x0132,0x0133,0x0132}, /* 0132 */ - {0x0134,0x0135,0x004A}, {0x0134,0x0135,0x004A}, /* 0134 */ - {0x0136,0x0137,0x004B}, {0x0136,0x0137,0x004B}, /* 0136 */ - {0x0138,0x0138,0x0138}, {0x0139,0x013A,0x004C}, /* 0138 */ - {0x0139,0x013A,0x004C}, {0x013B,0x013C,0x004C}, /* 013A */ - {0x013B,0x013C,0x004C}, {0x013D,0x013E,0x004C}, /* 013C */ - {0x013D,0x013E,0x004C}, {0x013F,0x0140,0x013F}, /* 013E */ - {0x013F,0x0140,0x013F}, {0x0141,0x0142,0x0141}, /* 0140 */ - {0x0141,0x0142,0x0141}, {0x0143,0x0144,0x004E}, /* 0142 */ - {0x0143,0x0144,0x004E}, {0x0145,0x0146,0x004E}, /* 0144 */ - {0x0145,0x0146,0x004E}, {0x0147,0x0148,0x004E}, /* 0146 */ - {0x0147,0x0148,0x004E}, {0x0149,0x0149,0x0149}, /* 0148 */ - {0x014A,0x014B,0x014A}, {0x014A,0x014B,0x014A}, /* 014A */ - {0x014C,0x014D,0x004F}, {0x014C,0x014D,0x004F}, /* 014C */ - {0x014E,0x014F,0x004F}, {0x014E,0x014F,0x004F}, /* 014E */ - {0x0150,0x0151,0x004F}, {0x0150,0x0151,0x004F}, /* 0150 */ - {0x0152,0x0153,0x0152}, {0x0152,0x0153,0x0152}, /* 0152 */ - {0x0154,0x0155,0x0052}, {0x0154,0x0155,0x0052}, /* 0154 */ - {0x0156,0x0157,0x0052}, {0x0156,0x0157,0x0052}, /* 0156 */ - {0x0158,0x0159,0x0052}, {0x0158,0x0159,0x0052}, /* 0158 */ - {0x015A,0x015B,0x0053}, {0x015A,0x015B,0x0053}, /* 015A */ - {0x015C,0x015D,0x0053}, {0x015C,0x015D,0x0053}, /* 015C */ - {0x015E,0x015F,0x0053}, {0x015E,0x015F,0x0053}, /* 015E */ - {0x0160,0x0161,0x0053}, {0x0160,0x0161,0x0053}, /* 0160 */ - {0x0162,0x0163,0x0054}, {0x0162,0x0163,0x0054}, /* 0162 */ - {0x0164,0x0165,0x0054}, {0x0164,0x0165,0x0054}, /* 0164 */ - {0x0166,0x0167,0x0166}, {0x0166,0x0167,0x0166}, /* 0166 */ - {0x0168,0x0169,0x0055}, {0x0168,0x0169,0x0055}, /* 0168 */ - {0x016A,0x016B,0x0055}, {0x016A,0x016B,0x0055}, /* 016A */ - {0x016C,0x016D,0x0055}, {0x016C,0x016D,0x0055}, /* 016C */ - {0x016E,0x016F,0x0055}, {0x016E,0x016F,0x0055}, /* 016E */ - {0x0170,0x0171,0x0055}, {0x0170,0x0171,0x0055}, /* 0170 */ - {0x0172,0x0173,0x0055}, {0x0172,0x0173,0x0055}, /* 0172 */ - {0x0174,0x0175,0x0057}, {0x0174,0x0175,0x0057}, /* 0174 */ - {0x0176,0x0177,0x0059}, {0x0176,0x0177,0x0059}, /* 0176 */ - {0x0178,0x00FF,0x0059}, {0x0179,0x017A,0x005A}, /* 0178 */ - {0x0179,0x017A,0x005A}, {0x017B,0x017C,0x005A}, /* 017A */ - {0x017B,0x017C,0x005A}, {0x017D,0x017E,0x005A}, /* 017C */ - {0x017D,0x017E,0x005A}, {0x0053,0x017F,0x0053}, /* 017E */ - {0x0243,0x0180,0x0243}, {0x0181,0x0253,0x0181}, /* 0180 */ - {0x0182,0x0183,0x0182}, {0x0182,0x0183,0x0182}, /* 0182 */ - {0x0184,0x0185,0x0184}, {0x0184,0x0185,0x0184}, /* 0184 */ - {0x0186,0x0254,0x0186}, {0x0187,0x0188,0x0187}, /* 0186 */ - {0x0187,0x0188,0x0187}, {0x0189,0x0256,0x0189}, /* 0188 */ - {0x018A,0x0257,0x018A}, {0x018B,0x018C,0x018B}, /* 018A */ - {0x018B,0x018C,0x018B}, {0x018D,0x018D,0x018D}, /* 018C */ - {0x018E,0x01DD,0x018E}, {0x018F,0x0259,0x018F}, /* 018E */ - {0x0190,0x025B,0x0190}, {0x0191,0x0192,0x0191}, /* 0190 */ - {0x0191,0x0192,0x0191}, {0x0193,0x0260,0x0193}, /* 0192 */ - {0x0194,0x0263,0x0194}, {0x01F6,0x0195,0x01F6}, /* 0194 */ - {0x0196,0x0269,0x0196}, {0x0197,0x0268,0x0197}, /* 0196 */ - {0x0198,0x0199,0x0198}, {0x0198,0x0199,0x0198}, /* 0198 */ - {0x023D,0x019A,0x023D}, {0x019B,0x019B,0x019B}, /* 019A */ - {0x019C,0x026F,0x019C}, {0x019D,0x0272,0x019D}, /* 019C */ - {0x0220,0x019E,0x0220}, {0x019F,0x0275,0x019F}, /* 019E */ - {0x01A0,0x01A1,0x004F}, {0x01A0,0x01A1,0x004F}, /* 01A0 */ - {0x01A2,0x01A3,0x01A2}, {0x01A2,0x01A3,0x01A2}, /* 01A2 */ - {0x01A4,0x01A5,0x01A4}, {0x01A4,0x01A5,0x01A4}, /* 01A4 */ - {0x01A6,0x0280,0x01A6}, {0x01A7,0x01A8,0x01A7}, /* 01A6 */ - {0x01A7,0x01A8,0x01A7}, {0x01A9,0x0283,0x01A9}, /* 01A8 */ - {0x01AA,0x01AA,0x01AA}, {0x01AB,0x01AB,0x01AB}, /* 01AA */ - {0x01AC,0x01AD,0x01AC}, {0x01AC,0x01AD,0x01AC}, /* 01AC */ - {0x01AE,0x0288,0x01AE}, {0x01AF,0x01B0,0x0055}, /* 01AE */ - {0x01AF,0x01B0,0x0055}, {0x01B1,0x028A,0x01B1}, /* 01B0 */ - {0x01B2,0x028B,0x01B2}, {0x01B3,0x01B4,0x01B3}, /* 01B2 */ - {0x01B3,0x01B4,0x01B3}, {0x01B5,0x01B6,0x01B5}, /* 01B4 */ - {0x01B5,0x01B6,0x01B5}, {0x01B7,0x0292,0x01B7}, /* 01B6 */ - {0x01B8,0x01B9,0x01B8}, {0x01B8,0x01B9,0x01B8}, /* 01B8 */ - {0x01BA,0x01BA,0x01BA}, {0x01BB,0x01BB,0x01BB}, /* 01BA */ - {0x01BC,0x01BD,0x01BC}, {0x01BC,0x01BD,0x01BC}, /* 01BC */ - {0x01BE,0x01BE,0x01BE}, {0x01F7,0x01BF,0x01F7}, /* 01BE */ - {0x01C0,0x01C0,0x01C0}, {0x01C1,0x01C1,0x01C1}, /* 01C0 */ - {0x01C2,0x01C2,0x01C2}, {0x01C3,0x01C3,0x01C3}, /* 01C2 */ - {0x01C4,0x01C6,0x01C4}, {0x01C4,0x01C6,0x01C4}, /* 01C4 */ - {0x01C4,0x01C6,0x01C4}, {0x01C7,0x01C9,0x01C7}, /* 01C6 */ - {0x01C7,0x01C9,0x01C7}, {0x01C7,0x01C9,0x01C7}, /* 01C8 */ - {0x01CA,0x01CC,0x01CA}, {0x01CA,0x01CC,0x01CA}, /* 01CA */ - {0x01CA,0x01CC,0x01CA}, {0x01CD,0x01CE,0x0041}, /* 01CC */ - {0x01CD,0x01CE,0x0041}, {0x01CF,0x01D0,0x0049}, /* 01CE */ - {0x01CF,0x01D0,0x0049}, {0x01D1,0x01D2,0x004F}, /* 01D0 */ - {0x01D1,0x01D2,0x004F}, {0x01D3,0x01D4,0x0055}, /* 01D2 */ - {0x01D3,0x01D4,0x0055}, {0x01D5,0x01D6,0x0055}, /* 01D4 */ - {0x01D5,0x01D6,0x0055}, {0x01D7,0x01D8,0x0055}, /* 01D6 */ - {0x01D7,0x01D8,0x0055}, {0x01D9,0x01DA,0x0055}, /* 01D8 */ - {0x01D9,0x01DA,0x0055}, {0x01DB,0x01DC,0x0055}, /* 01DA */ - {0x01DB,0x01DC,0x0055}, {0x018E,0x01DD,0x018E}, /* 01DC */ - {0x01DE,0x01DF,0x0041}, {0x01DE,0x01DF,0x0041}, /* 01DE */ - {0x01E0,0x01E1,0x0041}, {0x01E0,0x01E1,0x0041}, /* 01E0 */ - {0x01E2,0x01E3,0x00C6}, {0x01E2,0x01E3,0x00C6}, /* 01E2 */ - {0x01E4,0x01E5,0x01E4}, {0x01E4,0x01E5,0x01E4}, /* 01E4 */ - {0x01E6,0x01E7,0x0047}, {0x01E6,0x01E7,0x0047}, /* 01E6 */ - {0x01E8,0x01E9,0x004B}, {0x01E8,0x01E9,0x004B}, /* 01E8 */ - {0x01EA,0x01EB,0x004F}, {0x01EA,0x01EB,0x004F}, /* 01EA */ - {0x01EC,0x01ED,0x004F}, {0x01EC,0x01ED,0x004F}, /* 01EC */ - {0x01EE,0x01EF,0x01B7}, {0x01EE,0x01EF,0x01B7}, /* 01EE */ - {0x01F0,0x01F0,0x004A}, {0x01F1,0x01F3,0x01F1}, /* 01F0 */ - {0x01F1,0x01F3,0x01F1}, {0x01F1,0x01F3,0x01F1}, /* 01F2 */ - {0x01F4,0x01F5,0x0047}, {0x01F4,0x01F5,0x0047}, /* 01F4 */ - {0x01F6,0x0195,0x01F6}, {0x01F7,0x01BF,0x01F7}, /* 01F6 */ - {0x01F8,0x01F9,0x004E}, {0x01F8,0x01F9,0x004E}, /* 01F8 */ - {0x01FA,0x01FB,0x0041}, {0x01FA,0x01FB,0x0041}, /* 01FA */ - {0x01FC,0x01FD,0x00C6}, {0x01FC,0x01FD,0x00C6}, /* 01FC */ - {0x01FE,0x01FF,0x00D8}, {0x01FE,0x01FF,0x00D8} /* 01FE */ -}; - -static MY_UNICASE_CHARACTER u520p02[]={ - {0x0200,0x0201,0x0041}, {0x0200,0x0201,0x0041}, /* 0200 */ - {0x0202,0x0203,0x0041}, {0x0202,0x0203,0x0041}, /* 0202 */ - {0x0204,0x0205,0x0045}, {0x0204,0x0205,0x0045}, /* 0204 */ - {0x0206,0x0207,0x0045}, {0x0206,0x0207,0x0045}, /* 0206 */ - {0x0208,0x0209,0x0049}, {0x0208,0x0209,0x0049}, /* 0208 */ - {0x020A,0x020B,0x0049}, {0x020A,0x020B,0x0049}, /* 020A */ - {0x020C,0x020D,0x004F}, {0x020C,0x020D,0x004F}, /* 020C */ - {0x020E,0x020F,0x004F}, {0x020E,0x020F,0x004F}, /* 020E */ - {0x0210,0x0211,0x0052}, {0x0210,0x0211,0x0052}, /* 0210 */ - {0x0212,0x0213,0x0052}, {0x0212,0x0213,0x0052}, /* 0212 */ - {0x0214,0x0215,0x0055}, {0x0214,0x0215,0x0055}, /* 0214 */ - {0x0216,0x0217,0x0055}, {0x0216,0x0217,0x0055}, /* 0216 */ - {0x0218,0x0219,0x0053}, {0x0218,0x0219,0x0053}, /* 0218 */ - {0x021A,0x021B,0x0054}, {0x021A,0x021B,0x0054}, /* 021A */ - {0x021C,0x021D,0x021C}, {0x021C,0x021D,0x021C}, /* 021C */ - {0x021E,0x021F,0x0048}, {0x021E,0x021F,0x0048}, /* 021E */ - {0x0220,0x019E,0x0220}, {0x0221,0x0221,0x0221}, /* 0220 */ - {0x0222,0x0223,0x0222}, {0x0222,0x0223,0x0222}, /* 0222 */ - {0x0224,0x0225,0x0224}, {0x0224,0x0225,0x0224}, /* 0224 */ - {0x0226,0x0227,0x0041}, {0x0226,0x0227,0x0041}, /* 0226 */ - {0x0228,0x0229,0x0045}, {0x0228,0x0229,0x0045}, /* 0228 */ - {0x022A,0x022B,0x004F}, {0x022A,0x022B,0x004F}, /* 022A */ - {0x022C,0x022D,0x004F}, {0x022C,0x022D,0x004F}, /* 022C */ - {0x022E,0x022F,0x004F}, {0x022E,0x022F,0x004F}, /* 022E */ - {0x0230,0x0231,0x004F}, {0x0230,0x0231,0x004F}, /* 0230 */ - {0x0232,0x0233,0x0059}, {0x0232,0x0233,0x0059}, /* 0232 */ - {0x0234,0x0234,0x0234}, {0x0235,0x0235,0x0235}, /* 0234 */ - {0x0236,0x0236,0x0236}, {0x0237,0x0237,0x0237}, /* 0236 */ - {0x0238,0x0238,0x0238}, {0x0239,0x0239,0x0239}, /* 0238 */ - {0x023A,0x2C65,0x023A}, {0x023B,0x023C,0x023B}, /* 023A */ - {0x023B,0x023C,0x023B}, {0x023D,0x019A,0x023D}, /* 023C */ - {0x023E,0x2C66,0x023E}, {0x2C7E,0x023F,0x2C7E}, /* 023E */ - {0x2C7F,0x0240,0x2C7F}, {0x0241,0x0242,0x0241}, /* 0240 */ - {0x0241,0x0242,0x0241}, {0x0243,0x0180,0x0243}, /* 0242 */ - {0x0244,0x0289,0x0244}, {0x0245,0x028C,0x0245}, /* 0244 */ - {0x0246,0x0247,0x0246}, {0x0246,0x0247,0x0246}, /* 0246 */ - {0x0248,0x0249,0x0248}, {0x0248,0x0249,0x0248}, /* 0248 */ - {0x024A,0x024B,0x024A}, {0x024A,0x024B,0x024A}, /* 024A */ - {0x024C,0x024D,0x024C}, {0x024C,0x024D,0x024C}, /* 024C */ - {0x024E,0x024F,0x024E}, {0x024E,0x024F,0x024E}, /* 024E */ - {0x2C6F,0x0250,0x2C6F}, {0x2C6D,0x0251,0x2C6D}, /* 0250 */ - {0x2C70,0x0252,0x2C70}, {0x0181,0x0253,0x0181}, /* 0252 */ - {0x0186,0x0254,0x0186}, {0x0255,0x0255,0x0255}, /* 0254 */ - {0x0189,0x0256,0x0189}, {0x018A,0x0257,0x018A}, /* 0256 */ - {0x0258,0x0258,0x0258}, {0x018F,0x0259,0x018F}, /* 0258 */ - {0x025A,0x025A,0x025A}, {0x0190,0x025B,0x0190}, /* 025A */ - {0x025C,0x025C,0x025C}, {0x025D,0x025D,0x025D}, /* 025C */ - {0x025E,0x025E,0x025E}, {0x025F,0x025F,0x025F}, /* 025E */ - {0x0193,0x0260,0x0193}, {0x0261,0x0261,0x0261}, /* 0260 */ - {0x0262,0x0262,0x0262}, {0x0194,0x0263,0x0194}, /* 0262 */ - {0x0264,0x0264,0x0264}, {0x0265,0x0265,0x0265}, /* 0264 */ - {0x0266,0x0266,0x0266}, {0x0267,0x0267,0x0267}, /* 0266 */ - {0x0197,0x0268,0x0197}, {0x0196,0x0269,0x0196}, /* 0268 */ - {0x026A,0x026A,0x026A}, {0x2C62,0x026B,0x2C62}, /* 026A */ - {0x026C,0x026C,0x026C}, {0x026D,0x026D,0x026D}, /* 026C */ - {0x026E,0x026E,0x026E}, {0x019C,0x026F,0x019C}, /* 026E */ - {0x0270,0x0270,0x0270}, {0x2C6E,0x0271,0x2C6E}, /* 0270 */ - {0x019D,0x0272,0x019D}, {0x0273,0x0273,0x0273}, /* 0272 */ - {0x0274,0x0274,0x0274}, {0x019F,0x0275,0x019F}, /* 0274 */ - {0x0276,0x0276,0x0276}, {0x0277,0x0277,0x0277}, /* 0276 */ - {0x0278,0x0278,0x0278}, {0x0279,0x0279,0x0279}, /* 0278 */ - {0x027A,0x027A,0x027A}, {0x027B,0x027B,0x027B}, /* 027A */ - {0x027C,0x027C,0x027C}, {0x2C64,0x027D,0x2C64}, /* 027C */ - {0x027E,0x027E,0x027E}, {0x027F,0x027F,0x027F}, /* 027E */ - {0x01A6,0x0280,0x01A6}, {0x0281,0x0281,0x0281}, /* 0280 */ - {0x0282,0x0282,0x0282}, {0x01A9,0x0283,0x01A9}, /* 0282 */ - {0x0284,0x0284,0x0284}, {0x0285,0x0285,0x0285}, /* 0284 */ - {0x0286,0x0286,0x0286}, {0x0287,0x0287,0x0287}, /* 0286 */ - {0x01AE,0x0288,0x01AE}, {0x0244,0x0289,0x0244}, /* 0288 */ - {0x01B1,0x028A,0x01B1}, {0x01B2,0x028B,0x01B2}, /* 028A */ - {0x0245,0x028C,0x0245}, {0x028D,0x028D,0x028D}, /* 028C */ - {0x028E,0x028E,0x028E}, {0x028F,0x028F,0x028F}, /* 028E */ - {0x0290,0x0290,0x0290}, {0x0291,0x0291,0x0291}, /* 0290 */ - {0x01B7,0x0292,0x01B7}, {0x0293,0x0293,0x0293}, /* 0292 */ - {0x0294,0x0294,0x0294}, {0x0295,0x0295,0x0295}, /* 0294 */ - {0x0296,0x0296,0x0296}, {0x0297,0x0297,0x0297}, /* 0296 */ - {0x0298,0x0298,0x0298}, {0x0299,0x0299,0x0299}, /* 0298 */ - {0x029A,0x029A,0x029A}, {0x029B,0x029B,0x029B}, /* 029A */ - {0x029C,0x029C,0x029C}, {0x029D,0x029D,0x029D}, /* 029C */ - {0x029E,0x029E,0x029E}, {0x029F,0x029F,0x029F}, /* 029E */ - {0x02A0,0x02A0,0x02A0}, {0x02A1,0x02A1,0x02A1}, /* 02A0 */ - {0x02A2,0x02A2,0x02A2}, {0x02A3,0x02A3,0x02A3}, /* 02A2 */ - {0x02A4,0x02A4,0x02A4}, {0x02A5,0x02A5,0x02A5}, /* 02A4 */ - {0x02A6,0x02A6,0x02A6}, {0x02A7,0x02A7,0x02A7}, /* 02A6 */ - {0x02A8,0x02A8,0x02A8}, {0x02A9,0x02A9,0x02A9}, /* 02A8 */ - {0x02AA,0x02AA,0x02AA}, {0x02AB,0x02AB,0x02AB}, /* 02AA */ - {0x02AC,0x02AC,0x02AC}, {0x02AD,0x02AD,0x02AD}, /* 02AC */ - {0x02AE,0x02AE,0x02AE}, {0x02AF,0x02AF,0x02AF}, /* 02AE */ - {0x02B0,0x02B0,0x02B0}, {0x02B1,0x02B1,0x02B1}, /* 02B0 */ - {0x02B2,0x02B2,0x02B2}, {0x02B3,0x02B3,0x02B3}, /* 02B2 */ - {0x02B4,0x02B4,0x02B4}, {0x02B5,0x02B5,0x02B5}, /* 02B4 */ - {0x02B6,0x02B6,0x02B6}, {0x02B7,0x02B7,0x02B7}, /* 02B6 */ - {0x02B8,0x02B8,0x02B8}, {0x02B9,0x02B9,0x02B9}, /* 02B8 */ - {0x02BA,0x02BA,0x02BA}, {0x02BB,0x02BB,0x02BB}, /* 02BA */ - {0x02BC,0x02BC,0x02BC}, {0x02BD,0x02BD,0x02BD}, /* 02BC */ - {0x02BE,0x02BE,0x02BE}, {0x02BF,0x02BF,0x02BF}, /* 02BE */ - {0x02C0,0x02C0,0x02C0}, {0x02C1,0x02C1,0x02C1}, /* 02C0 */ - {0x02C2,0x02C2,0x02C2}, {0x02C3,0x02C3,0x02C3}, /* 02C2 */ - {0x02C4,0x02C4,0x02C4}, {0x02C5,0x02C5,0x02C5}, /* 02C4 */ - {0x02C6,0x02C6,0x02C6}, {0x02C7,0x02C7,0x02C7}, /* 02C6 */ - {0x02C8,0x02C8,0x02C8}, {0x02C9,0x02C9,0x02C9}, /* 02C8 */ - {0x02CA,0x02CA,0x02CA}, {0x02CB,0x02CB,0x02CB}, /* 02CA */ - {0x02CC,0x02CC,0x02CC}, {0x02CD,0x02CD,0x02CD}, /* 02CC */ - {0x02CE,0x02CE,0x02CE}, {0x02CF,0x02CF,0x02CF}, /* 02CE */ - {0x02D0,0x02D0,0x02D0}, {0x02D1,0x02D1,0x02D1}, /* 02D0 */ - {0x02D2,0x02D2,0x02D2}, {0x02D3,0x02D3,0x02D3}, /* 02D2 */ - {0x02D4,0x02D4,0x02D4}, {0x02D5,0x02D5,0x02D5}, /* 02D4 */ - {0x02D6,0x02D6,0x02D6}, {0x02D7,0x02D7,0x02D7}, /* 02D6 */ - {0x02D8,0x02D8,0x02D8}, {0x02D9,0x02D9,0x02D9}, /* 02D8 */ - {0x02DA,0x02DA,0x02DA}, {0x02DB,0x02DB,0x02DB}, /* 02DA */ - {0x02DC,0x02DC,0x02DC}, {0x02DD,0x02DD,0x02DD}, /* 02DC */ - {0x02DE,0x02DE,0x02DE}, {0x02DF,0x02DF,0x02DF}, /* 02DE */ - {0x02E0,0x02E0,0x02E0}, {0x02E1,0x02E1,0x02E1}, /* 02E0 */ - {0x02E2,0x02E2,0x02E2}, {0x02E3,0x02E3,0x02E3}, /* 02E2 */ - {0x02E4,0x02E4,0x02E4}, {0x02E5,0x02E5,0x02E5}, /* 02E4 */ - {0x02E6,0x02E6,0x02E6}, {0x02E7,0x02E7,0x02E7}, /* 02E6 */ - {0x02E8,0x02E8,0x02E8}, {0x02E9,0x02E9,0x02E9}, /* 02E8 */ - {0x02EA,0x02EA,0x02EA}, {0x02EB,0x02EB,0x02EB}, /* 02EA */ - {0x02EC,0x02EC,0x02EC}, {0x02ED,0x02ED,0x02ED}, /* 02EC */ - {0x02EE,0x02EE,0x02EE}, {0x02EF,0x02EF,0x02EF}, /* 02EE */ - {0x02F0,0x02F0,0x02F0}, {0x02F1,0x02F1,0x02F1}, /* 02F0 */ - {0x02F2,0x02F2,0x02F2}, {0x02F3,0x02F3,0x02F3}, /* 02F2 */ - {0x02F4,0x02F4,0x02F4}, {0x02F5,0x02F5,0x02F5}, /* 02F4 */ - {0x02F6,0x02F6,0x02F6}, {0x02F7,0x02F7,0x02F7}, /* 02F6 */ - {0x02F8,0x02F8,0x02F8}, {0x02F9,0x02F9,0x02F9}, /* 02F8 */ - {0x02FA,0x02FA,0x02FA}, {0x02FB,0x02FB,0x02FB}, /* 02FA */ - {0x02FC,0x02FC,0x02FC}, {0x02FD,0x02FD,0x02FD}, /* 02FC */ - {0x02FE,0x02FE,0x02FE}, {0x02FF,0x02FF,0x02FF} /* 02FE */ -}; - -static MY_UNICASE_CHARACTER u520p03[]={ - {0x0300,0x0300,0x0300}, {0x0301,0x0301,0x0301}, /* 0300 */ - {0x0302,0x0302,0x0302}, {0x0303,0x0303,0x0303}, /* 0302 */ - {0x0304,0x0304,0x0304}, {0x0305,0x0305,0x0305}, /* 0304 */ - {0x0306,0x0306,0x0306}, {0x0307,0x0307,0x0307}, /* 0306 */ - {0x0308,0x0308,0x0308}, {0x0309,0x0309,0x0309}, /* 0308 */ - {0x030A,0x030A,0x030A}, {0x030B,0x030B,0x030B}, /* 030A */ - {0x030C,0x030C,0x030C}, {0x030D,0x030D,0x030D}, /* 030C */ - {0x030E,0x030E,0x030E}, {0x030F,0x030F,0x030F}, /* 030E */ - {0x0310,0x0310,0x0310}, {0x0311,0x0311,0x0311}, /* 0310 */ - {0x0312,0x0312,0x0312}, {0x0313,0x0313,0x0313}, /* 0312 */ - {0x0314,0x0314,0x0314}, {0x0315,0x0315,0x0315}, /* 0314 */ - {0x0316,0x0316,0x0316}, {0x0317,0x0317,0x0317}, /* 0316 */ - {0x0318,0x0318,0x0318}, {0x0319,0x0319,0x0319}, /* 0318 */ - {0x031A,0x031A,0x031A}, {0x031B,0x031B,0x031B}, /* 031A */ - {0x031C,0x031C,0x031C}, {0x031D,0x031D,0x031D}, /* 031C */ - {0x031E,0x031E,0x031E}, {0x031F,0x031F,0x031F}, /* 031E */ - {0x0320,0x0320,0x0320}, {0x0321,0x0321,0x0321}, /* 0320 */ - {0x0322,0x0322,0x0322}, {0x0323,0x0323,0x0323}, /* 0322 */ - {0x0324,0x0324,0x0324}, {0x0325,0x0325,0x0325}, /* 0324 */ - {0x0326,0x0326,0x0326}, {0x0327,0x0327,0x0327}, /* 0326 */ - {0x0328,0x0328,0x0328}, {0x0329,0x0329,0x0329}, /* 0328 */ - {0x032A,0x032A,0x032A}, {0x032B,0x032B,0x032B}, /* 032A */ - {0x032C,0x032C,0x032C}, {0x032D,0x032D,0x032D}, /* 032C */ - {0x032E,0x032E,0x032E}, {0x032F,0x032F,0x032F}, /* 032E */ - {0x0330,0x0330,0x0330}, {0x0331,0x0331,0x0331}, /* 0330 */ - {0x0332,0x0332,0x0332}, {0x0333,0x0333,0x0333}, /* 0332 */ - {0x0334,0x0334,0x0334}, {0x0335,0x0335,0x0335}, /* 0334 */ - {0x0336,0x0336,0x0336}, {0x0337,0x0337,0x0337}, /* 0336 */ - {0x0338,0x0338,0x0338}, {0x0339,0x0339,0x0339}, /* 0338 */ - {0x033A,0x033A,0x033A}, {0x033B,0x033B,0x033B}, /* 033A */ - {0x033C,0x033C,0x033C}, {0x033D,0x033D,0x033D}, /* 033C */ - {0x033E,0x033E,0x033E}, {0x033F,0x033F,0x033F}, /* 033E */ - {0x0340,0x0340,0x0340}, {0x0341,0x0341,0x0341}, /* 0340 */ - {0x0342,0x0342,0x0342}, {0x0343,0x0343,0x0343}, /* 0342 */ - {0x0344,0x0344,0x0344}, {0x0399,0x0345,0x0399}, /* 0344 */ - {0x0346,0x0346,0x0346}, {0x0347,0x0347,0x0347}, /* 0346 */ - {0x0348,0x0348,0x0348}, {0x0349,0x0349,0x0349}, /* 0348 */ - {0x034A,0x034A,0x034A}, {0x034B,0x034B,0x034B}, /* 034A */ - {0x034C,0x034C,0x034C}, {0x034D,0x034D,0x034D}, /* 034C */ - {0x034E,0x034E,0x034E}, {0x034F,0x034F,0x034F}, /* 034E */ - {0x0350,0x0350,0x0350}, {0x0351,0x0351,0x0351}, /* 0350 */ - {0x0352,0x0352,0x0352}, {0x0353,0x0353,0x0353}, /* 0352 */ - {0x0354,0x0354,0x0354}, {0x0355,0x0355,0x0355}, /* 0354 */ - {0x0356,0x0356,0x0356}, {0x0357,0x0357,0x0357}, /* 0356 */ - {0x0358,0x0358,0x0358}, {0x0359,0x0359,0x0359}, /* 0358 */ - {0x035A,0x035A,0x035A}, {0x035B,0x035B,0x035B}, /* 035A */ - {0x035C,0x035C,0x035C}, {0x035D,0x035D,0x035D}, /* 035C */ - {0x035E,0x035E,0x035E}, {0x035F,0x035F,0x035F}, /* 035E */ - {0x0360,0x0360,0x0360}, {0x0361,0x0361,0x0361}, /* 0360 */ - {0x0362,0x0362,0x0362}, {0x0363,0x0363,0x0363}, /* 0362 */ - {0x0364,0x0364,0x0364}, {0x0365,0x0365,0x0365}, /* 0364 */ - {0x0366,0x0366,0x0366}, {0x0367,0x0367,0x0367}, /* 0366 */ - {0x0368,0x0368,0x0368}, {0x0369,0x0369,0x0369}, /* 0368 */ - {0x036A,0x036A,0x036A}, {0x036B,0x036B,0x036B}, /* 036A */ - {0x036C,0x036C,0x036C}, {0x036D,0x036D,0x036D}, /* 036C */ - {0x036E,0x036E,0x036E}, {0x036F,0x036F,0x036F}, /* 036E */ - {0x0370,0x0371,0x0370}, {0x0370,0x0371,0x0370}, /* 0370 */ - {0x0372,0x0373,0x0372}, {0x0372,0x0373,0x0372}, /* 0372 */ - {0x0374,0x0374,0x0374}, {0x0375,0x0375,0x0375}, /* 0374 */ - {0x0376,0x0377,0x0376}, {0x0376,0x0377,0x0376}, /* 0376 */ - {0x0378,0x0378,0x0378}, {0x0379,0x0379,0x0379}, /* 0378 */ - {0x037A,0x037A,0x037A}, {0x03FD,0x037B,0x03FD}, /* 037A */ - {0x03FE,0x037C,0x03FE}, {0x03FF,0x037D,0x03FF}, /* 037C */ - {0x037E,0x037E,0x037E}, {0x037F,0x037F,0x037F}, /* 037E */ - {0x0380,0x0380,0x0380}, {0x0381,0x0381,0x0381}, /* 0380 */ - {0x0382,0x0382,0x0382}, {0x0383,0x0383,0x0383}, /* 0382 */ - {0x0384,0x0384,0x0384}, {0x0385,0x0385,0x0385}, /* 0384 */ - {0x0386,0x03AC,0x0391}, {0x0387,0x0387,0x0387}, /* 0386 */ - {0x0388,0x03AD,0x0395}, {0x0389,0x03AE,0x0397}, /* 0388 */ - {0x038A,0x03AF,0x0399}, {0x038B,0x038B,0x038B}, /* 038A */ - {0x038C,0x03CC,0x039F}, {0x038D,0x038D,0x038D}, /* 038C */ - {0x038E,0x03CD,0x03A5}, {0x038F,0x03CE,0x03A9}, /* 038E */ - {0x0390,0x0390,0x0399}, {0x0391,0x03B1,0x0391}, /* 0390 */ - {0x0392,0x03B2,0x0392}, {0x0393,0x03B3,0x0393}, /* 0392 */ - {0x0394,0x03B4,0x0394}, {0x0395,0x03B5,0x0395}, /* 0394 */ - {0x0396,0x03B6,0x0396}, {0x0397,0x03B7,0x0397}, /* 0396 */ - {0x0398,0x03B8,0x0398}, {0x0399,0x03B9,0x0399}, /* 0398 */ - {0x039A,0x03BA,0x039A}, {0x039B,0x03BB,0x039B}, /* 039A */ - {0x039C,0x03BC,0x039C}, {0x039D,0x03BD,0x039D}, /* 039C */ - {0x039E,0x03BE,0x039E}, {0x039F,0x03BF,0x039F}, /* 039E */ - {0x03A0,0x03C0,0x03A0}, {0x03A1,0x03C1,0x03A1}, /* 03A0 */ - {0x03A2,0x03A2,0x03A2}, {0x03A3,0x03C3,0x03A3}, /* 03A2 */ - {0x03A4,0x03C4,0x03A4}, {0x03A5,0x03C5,0x03A5}, /* 03A4 */ - {0x03A6,0x03C6,0x03A6}, {0x03A7,0x03C7,0x03A7}, /* 03A6 */ - {0x03A8,0x03C8,0x03A8}, {0x03A9,0x03C9,0x03A9}, /* 03A8 */ - {0x03AA,0x03CA,0x0399}, {0x03AB,0x03CB,0x03A5}, /* 03AA */ - {0x0386,0x03AC,0x0391}, {0x0388,0x03AD,0x0395}, /* 03AC */ - {0x0389,0x03AE,0x0397}, {0x038A,0x03AF,0x0399}, /* 03AE */ - {0x03B0,0x03B0,0x03A5}, {0x0391,0x03B1,0x0391}, /* 03B0 */ - {0x0392,0x03B2,0x0392}, {0x0393,0x03B3,0x0393}, /* 03B2 */ - {0x0394,0x03B4,0x0394}, {0x0395,0x03B5,0x0395}, /* 03B4 */ - {0x0396,0x03B6,0x0396}, {0x0397,0x03B7,0x0397}, /* 03B6 */ - {0x0398,0x03B8,0x0398}, {0x0399,0x03B9,0x0399}, /* 03B8 */ - {0x039A,0x03BA,0x039A}, {0x039B,0x03BB,0x039B}, /* 03BA */ - {0x039C,0x03BC,0x039C}, {0x039D,0x03BD,0x039D}, /* 03BC */ - {0x039E,0x03BE,0x039E}, {0x039F,0x03BF,0x039F}, /* 03BE */ - {0x03A0,0x03C0,0x03A0}, {0x03A1,0x03C1,0x03A1}, /* 03C0 */ - {0x03A3,0x03C2,0x03A3}, {0x03A3,0x03C3,0x03A3}, /* 03C2 */ - {0x03A4,0x03C4,0x03A4}, {0x03A5,0x03C5,0x03A5}, /* 03C4 */ - {0x03A6,0x03C6,0x03A6}, {0x03A7,0x03C7,0x03A7}, /* 03C6 */ - {0x03A8,0x03C8,0x03A8}, {0x03A9,0x03C9,0x03A9}, /* 03C8 */ - {0x03AA,0x03CA,0x0399}, {0x03AB,0x03CB,0x03A5}, /* 03CA */ - {0x038C,0x03CC,0x039F}, {0x038E,0x03CD,0x03A5}, /* 03CC */ - {0x038F,0x03CE,0x03A9}, {0x03CF,0x03D7,0x03CF}, /* 03CE */ - {0x0392,0x03D0,0x0392}, {0x0398,0x03D1,0x0398}, /* 03D0 */ - {0x03D2,0x03D2,0x03D2}, {0x03D3,0x03D3,0x03D2}, /* 03D2 */ - {0x03D4,0x03D4,0x03D2}, {0x03A6,0x03D5,0x03A6}, /* 03D4 */ - {0x03A0,0x03D6,0x03A0}, {0x03CF,0x03D7,0x03CF}, /* 03D6 */ - {0x03D8,0x03D9,0x03D8}, {0x03D8,0x03D9,0x03D8}, /* 03D8 */ - {0x03DA,0x03DB,0x03DA}, {0x03DA,0x03DB,0x03DA}, /* 03DA */ - {0x03DC,0x03DD,0x03DC}, {0x03DC,0x03DD,0x03DC}, /* 03DC */ - {0x03DE,0x03DF,0x03DE}, {0x03DE,0x03DF,0x03DE}, /* 03DE */ - {0x03E0,0x03E1,0x03E0}, {0x03E0,0x03E1,0x03E0}, /* 03E0 */ - {0x03E2,0x03E3,0x03E2}, {0x03E2,0x03E3,0x03E2}, /* 03E2 */ - {0x03E4,0x03E5,0x03E4}, {0x03E4,0x03E5,0x03E4}, /* 03E4 */ - {0x03E6,0x03E7,0x03E6}, {0x03E6,0x03E7,0x03E6}, /* 03E6 */ - {0x03E8,0x03E9,0x03E8}, {0x03E8,0x03E9,0x03E8}, /* 03E8 */ - {0x03EA,0x03EB,0x03EA}, {0x03EA,0x03EB,0x03EA}, /* 03EA */ - {0x03EC,0x03ED,0x03EC}, {0x03EC,0x03ED,0x03EC}, /* 03EC */ - {0x03EE,0x03EF,0x03EE}, {0x03EE,0x03EF,0x03EE}, /* 03EE */ - {0x039A,0x03F0,0x039A}, {0x03A1,0x03F1,0x03A1}, /* 03F0 */ - {0x03F9,0x03F2,0x03F9}, {0x03F3,0x03F3,0x03F3}, /* 03F2 */ - {0x03F4,0x03B8,0x03F4}, {0x0395,0x03F5,0x0395}, /* 03F4 */ - {0x03F6,0x03F6,0x03F6}, {0x03F7,0x03F8,0x03F7}, /* 03F6 */ - {0x03F7,0x03F8,0x03F7}, {0x03F9,0x03F2,0x03F9}, /* 03F8 */ - {0x03FA,0x03FB,0x03FA}, {0x03FA,0x03FB,0x03FA}, /* 03FA */ - {0x03FC,0x03FC,0x03FC}, {0x03FD,0x037B,0x03FD}, /* 03FC */ - {0x03FE,0x037C,0x03FE}, {0x03FF,0x037D,0x03FF} /* 03FE */ -}; - -static MY_UNICASE_CHARACTER u520p04[]={ - {0x0400,0x0450,0x0415}, {0x0401,0x0451,0x0415}, /* 0400 */ - {0x0402,0x0452,0x0402}, {0x0403,0x0453,0x0413}, /* 0402 */ - {0x0404,0x0454,0x0404}, {0x0405,0x0455,0x0405}, /* 0404 */ - {0x0406,0x0456,0x0406}, {0x0407,0x0457,0x0406}, /* 0406 */ - {0x0408,0x0458,0x0408}, {0x0409,0x0459,0x0409}, /* 0408 */ - {0x040A,0x045A,0x040A}, {0x040B,0x045B,0x040B}, /* 040A */ - {0x040C,0x045C,0x041A}, {0x040D,0x045D,0x0418}, /* 040C */ - {0x040E,0x045E,0x0423}, {0x040F,0x045F,0x040F}, /* 040E */ - {0x0410,0x0430,0x0410}, {0x0411,0x0431,0x0411}, /* 0410 */ - {0x0412,0x0432,0x0412}, {0x0413,0x0433,0x0413}, /* 0412 */ - {0x0414,0x0434,0x0414}, {0x0415,0x0435,0x0415}, /* 0414 */ - {0x0416,0x0436,0x0416}, {0x0417,0x0437,0x0417}, /* 0416 */ - {0x0418,0x0438,0x0418}, {0x0419,0x0439,0x0419}, /* 0418 */ - {0x041A,0x043A,0x041A}, {0x041B,0x043B,0x041B}, /* 041A */ - {0x041C,0x043C,0x041C}, {0x041D,0x043D,0x041D}, /* 041C */ - {0x041E,0x043E,0x041E}, {0x041F,0x043F,0x041F}, /* 041E */ - {0x0420,0x0440,0x0420}, {0x0421,0x0441,0x0421}, /* 0420 */ - {0x0422,0x0442,0x0422}, {0x0423,0x0443,0x0423}, /* 0422 */ - {0x0424,0x0444,0x0424}, {0x0425,0x0445,0x0425}, /* 0424 */ - {0x0426,0x0446,0x0426}, {0x0427,0x0447,0x0427}, /* 0426 */ - {0x0428,0x0448,0x0428}, {0x0429,0x0449,0x0429}, /* 0428 */ - {0x042A,0x044A,0x042A}, {0x042B,0x044B,0x042B}, /* 042A */ - {0x042C,0x044C,0x042C}, {0x042D,0x044D,0x042D}, /* 042C */ - {0x042E,0x044E,0x042E}, {0x042F,0x044F,0x042F}, /* 042E */ - {0x0410,0x0430,0x0410}, {0x0411,0x0431,0x0411}, /* 0430 */ - {0x0412,0x0432,0x0412}, {0x0413,0x0433,0x0413}, /* 0432 */ - {0x0414,0x0434,0x0414}, {0x0415,0x0435,0x0415}, /* 0434 */ - {0x0416,0x0436,0x0416}, {0x0417,0x0437,0x0417}, /* 0436 */ - {0x0418,0x0438,0x0418}, {0x0419,0x0439,0x0419}, /* 0438 */ - {0x041A,0x043A,0x041A}, {0x041B,0x043B,0x041B}, /* 043A */ - {0x041C,0x043C,0x041C}, {0x041D,0x043D,0x041D}, /* 043C */ - {0x041E,0x043E,0x041E}, {0x041F,0x043F,0x041F}, /* 043E */ - {0x0420,0x0440,0x0420}, {0x0421,0x0441,0x0421}, /* 0440 */ - {0x0422,0x0442,0x0422}, {0x0423,0x0443,0x0423}, /* 0442 */ - {0x0424,0x0444,0x0424}, {0x0425,0x0445,0x0425}, /* 0444 */ - {0x0426,0x0446,0x0426}, {0x0427,0x0447,0x0427}, /* 0446 */ - {0x0428,0x0448,0x0428}, {0x0429,0x0449,0x0429}, /* 0448 */ - {0x042A,0x044A,0x042A}, {0x042B,0x044B,0x042B}, /* 044A */ - {0x042C,0x044C,0x042C}, {0x042D,0x044D,0x042D}, /* 044C */ - {0x042E,0x044E,0x042E}, {0x042F,0x044F,0x042F}, /* 044E */ - {0x0400,0x0450,0x0415}, {0x0401,0x0451,0x0415}, /* 0450 */ - {0x0402,0x0452,0x0402}, {0x0403,0x0453,0x0413}, /* 0452 */ - {0x0404,0x0454,0x0404}, {0x0405,0x0455,0x0405}, /* 0454 */ - {0x0406,0x0456,0x0406}, {0x0407,0x0457,0x0406}, /* 0456 */ - {0x0408,0x0458,0x0408}, {0x0409,0x0459,0x0409}, /* 0458 */ - {0x040A,0x045A,0x040A}, {0x040B,0x045B,0x040B}, /* 045A */ - {0x040C,0x045C,0x041A}, {0x040D,0x045D,0x0418}, /* 045C */ - {0x040E,0x045E,0x0423}, {0x040F,0x045F,0x040F}, /* 045E */ - {0x0460,0x0461,0x0460}, {0x0460,0x0461,0x0460}, /* 0460 */ - {0x0462,0x0463,0x0462}, {0x0462,0x0463,0x0462}, /* 0462 */ - {0x0464,0x0465,0x0464}, {0x0464,0x0465,0x0464}, /* 0464 */ - {0x0466,0x0467,0x0466}, {0x0466,0x0467,0x0466}, /* 0466 */ - {0x0468,0x0469,0x0468}, {0x0468,0x0469,0x0468}, /* 0468 */ - {0x046A,0x046B,0x046A}, {0x046A,0x046B,0x046A}, /* 046A */ - {0x046C,0x046D,0x046C}, {0x046C,0x046D,0x046C}, /* 046C */ - {0x046E,0x046F,0x046E}, {0x046E,0x046F,0x046E}, /* 046E */ - {0x0470,0x0471,0x0470}, {0x0470,0x0471,0x0470}, /* 0470 */ - {0x0472,0x0473,0x0472}, {0x0472,0x0473,0x0472}, /* 0472 */ - {0x0474,0x0475,0x0474}, {0x0474,0x0475,0x0474}, /* 0474 */ - {0x0476,0x0477,0x0474}, {0x0476,0x0477,0x0474}, /* 0476 */ - {0x0478,0x0479,0x0478}, {0x0478,0x0479,0x0478}, /* 0478 */ - {0x047A,0x047B,0x047A}, {0x047A,0x047B,0x047A}, /* 047A */ - {0x047C,0x047D,0x047C}, {0x047C,0x047D,0x047C}, /* 047C */ - {0x047E,0x047F,0x047E}, {0x047E,0x047F,0x047E}, /* 047E */ - {0x0480,0x0481,0x0480}, {0x0480,0x0481,0x0480}, /* 0480 */ - {0x0482,0x0482,0x0482}, {0x0483,0x0483,0x0483}, /* 0482 */ - {0x0484,0x0484,0x0484}, {0x0485,0x0485,0x0485}, /* 0484 */ - {0x0486,0x0486,0x0486}, {0x0487,0x0487,0x0487}, /* 0486 */ - {0x0488,0x0488,0x0488}, {0x0489,0x0489,0x0489}, /* 0488 */ - {0x048A,0x048B,0x048A}, {0x048A,0x048B,0x048A}, /* 048A */ - {0x048C,0x048D,0x048C}, {0x048C,0x048D,0x048C}, /* 048C */ - {0x048E,0x048F,0x048E}, {0x048E,0x048F,0x048E}, /* 048E */ - {0x0490,0x0491,0x0490}, {0x0490,0x0491,0x0490}, /* 0490 */ - {0x0492,0x0493,0x0492}, {0x0492,0x0493,0x0492}, /* 0492 */ - {0x0494,0x0495,0x0494}, {0x0494,0x0495,0x0494}, /* 0494 */ - {0x0496,0x0497,0x0496}, {0x0496,0x0497,0x0496}, /* 0496 */ - {0x0498,0x0499,0x0498}, {0x0498,0x0499,0x0498}, /* 0498 */ - {0x049A,0x049B,0x049A}, {0x049A,0x049B,0x049A}, /* 049A */ - {0x049C,0x049D,0x049C}, {0x049C,0x049D,0x049C}, /* 049C */ - {0x049E,0x049F,0x049E}, {0x049E,0x049F,0x049E}, /* 049E */ - {0x04A0,0x04A1,0x04A0}, {0x04A0,0x04A1,0x04A0}, /* 04A0 */ - {0x04A2,0x04A3,0x04A2}, {0x04A2,0x04A3,0x04A2}, /* 04A2 */ - {0x04A4,0x04A5,0x04A4}, {0x04A4,0x04A5,0x04A4}, /* 04A4 */ - {0x04A6,0x04A7,0x04A6}, {0x04A6,0x04A7,0x04A6}, /* 04A6 */ - {0x04A8,0x04A9,0x04A8}, {0x04A8,0x04A9,0x04A8}, /* 04A8 */ - {0x04AA,0x04AB,0x04AA}, {0x04AA,0x04AB,0x04AA}, /* 04AA */ - {0x04AC,0x04AD,0x04AC}, {0x04AC,0x04AD,0x04AC}, /* 04AC */ - {0x04AE,0x04AF,0x04AE}, {0x04AE,0x04AF,0x04AE}, /* 04AE */ - {0x04B0,0x04B1,0x04B0}, {0x04B0,0x04B1,0x04B0}, /* 04B0 */ - {0x04B2,0x04B3,0x04B2}, {0x04B2,0x04B3,0x04B2}, /* 04B2 */ - {0x04B4,0x04B5,0x04B4}, {0x04B4,0x04B5,0x04B4}, /* 04B4 */ - {0x04B6,0x04B7,0x04B6}, {0x04B6,0x04B7,0x04B6}, /* 04B6 */ - {0x04B8,0x04B9,0x04B8}, {0x04B8,0x04B9,0x04B8}, /* 04B8 */ - {0x04BA,0x04BB,0x04BA}, {0x04BA,0x04BB,0x04BA}, /* 04BA */ - {0x04BC,0x04BD,0x04BC}, {0x04BC,0x04BD,0x04BC}, /* 04BC */ - {0x04BE,0x04BF,0x04BE}, {0x04BE,0x04BF,0x04BE}, /* 04BE */ - {0x04C0,0x04CF,0x04C0}, {0x04C1,0x04C2,0x0416}, /* 04C0 */ - {0x04C1,0x04C2,0x0416}, {0x04C3,0x04C4,0x04C3}, /* 04C2 */ - {0x04C3,0x04C4,0x04C3}, {0x04C5,0x04C6,0x04C5}, /* 04C4 */ - {0x04C5,0x04C6,0x04C5}, {0x04C7,0x04C8,0x04C7}, /* 04C6 */ - {0x04C7,0x04C8,0x04C7}, {0x04C9,0x04CA,0x04C9}, /* 04C8 */ - {0x04C9,0x04CA,0x04C9}, {0x04CB,0x04CC,0x04CB}, /* 04CA */ - {0x04CB,0x04CC,0x04CB}, {0x04CD,0x04CE,0x04CD}, /* 04CC */ - {0x04CD,0x04CE,0x04CD}, {0x04C0,0x04CF,0x04C0}, /* 04CE */ - {0x04D0,0x04D1,0x0410}, {0x04D0,0x04D1,0x0410}, /* 04D0 */ - {0x04D2,0x04D3,0x0410}, {0x04D2,0x04D3,0x0410}, /* 04D2 */ - {0x04D4,0x04D5,0x04D4}, {0x04D4,0x04D5,0x04D4}, /* 04D4 */ - {0x04D6,0x04D7,0x0415}, {0x04D6,0x04D7,0x0415}, /* 04D6 */ - {0x04D8,0x04D9,0x04D8}, {0x04D8,0x04D9,0x04D8}, /* 04D8 */ - {0x04DA,0x04DB,0x04D8}, {0x04DA,0x04DB,0x04D8}, /* 04DA */ - {0x04DC,0x04DD,0x0416}, {0x04DC,0x04DD,0x0416}, /* 04DC */ - {0x04DE,0x04DF,0x0417}, {0x04DE,0x04DF,0x0417}, /* 04DE */ - {0x04E0,0x04E1,0x04E0}, {0x04E0,0x04E1,0x04E0}, /* 04E0 */ - {0x04E2,0x04E3,0x0418}, {0x04E2,0x04E3,0x0418}, /* 04E2 */ - {0x04E4,0x04E5,0x0418}, {0x04E4,0x04E5,0x0418}, /* 04E4 */ - {0x04E6,0x04E7,0x041E}, {0x04E6,0x04E7,0x041E}, /* 04E6 */ - {0x04E8,0x04E9,0x04E8}, {0x04E8,0x04E9,0x04E8}, /* 04E8 */ - {0x04EA,0x04EB,0x04E8}, {0x04EA,0x04EB,0x04E8}, /* 04EA */ - {0x04EC,0x04ED,0x042D}, {0x04EC,0x04ED,0x042D}, /* 04EC */ - {0x04EE,0x04EF,0x0423}, {0x04EE,0x04EF,0x0423}, /* 04EE */ - {0x04F0,0x04F1,0x0423}, {0x04F0,0x04F1,0x0423}, /* 04F0 */ - {0x04F2,0x04F3,0x0423}, {0x04F2,0x04F3,0x0423}, /* 04F2 */ - {0x04F4,0x04F5,0x0427}, {0x04F4,0x04F5,0x0427}, /* 04F4 */ - {0x04F6,0x04F7,0x04F6}, {0x04F6,0x04F7,0x04F6}, /* 04F6 */ - {0x04F8,0x04F9,0x042B}, {0x04F8,0x04F9,0x042B}, /* 04F8 */ - {0x04FA,0x04FB,0x04FA}, {0x04FA,0x04FB,0x04FA}, /* 04FA */ - {0x04FC,0x04FD,0x04FC}, {0x04FC,0x04FD,0x04FC}, /* 04FC */ - {0x04FE,0x04FF,0x04FE}, {0x04FE,0x04FF,0x04FE} /* 04FE */ -}; - -static MY_UNICASE_CHARACTER u520p05[]={ - {0x0500,0x0501,0x0500}, {0x0500,0x0501,0x0500}, /* 0500 */ - {0x0502,0x0503,0x0502}, {0x0502,0x0503,0x0502}, /* 0502 */ - {0x0504,0x0505,0x0504}, {0x0504,0x0505,0x0504}, /* 0504 */ - {0x0506,0x0507,0x0506}, {0x0506,0x0507,0x0506}, /* 0506 */ - {0x0508,0x0509,0x0508}, {0x0508,0x0509,0x0508}, /* 0508 */ - {0x050A,0x050B,0x050A}, {0x050A,0x050B,0x050A}, /* 050A */ - {0x050C,0x050D,0x050C}, {0x050C,0x050D,0x050C}, /* 050C */ - {0x050E,0x050F,0x050E}, {0x050E,0x050F,0x050E}, /* 050E */ - {0x0510,0x0511,0x0510}, {0x0510,0x0511,0x0510}, /* 0510 */ - {0x0512,0x0513,0x0512}, {0x0512,0x0513,0x0512}, /* 0512 */ - {0x0514,0x0515,0x0514}, {0x0514,0x0515,0x0514}, /* 0514 */ - {0x0516,0x0517,0x0516}, {0x0516,0x0517,0x0516}, /* 0516 */ - {0x0518,0x0519,0x0518}, {0x0518,0x0519,0x0518}, /* 0518 */ - {0x051A,0x051B,0x051A}, {0x051A,0x051B,0x051A}, /* 051A */ - {0x051C,0x051D,0x051C}, {0x051C,0x051D,0x051C}, /* 051C */ - {0x051E,0x051F,0x051E}, {0x051E,0x051F,0x051E}, /* 051E */ - {0x0520,0x0521,0x0520}, {0x0520,0x0521,0x0520}, /* 0520 */ - {0x0522,0x0523,0x0522}, {0x0522,0x0523,0x0522}, /* 0522 */ - {0x0524,0x0525,0x0524}, {0x0524,0x0525,0x0524}, /* 0524 */ - {0x0526,0x0526,0x0526}, {0x0527,0x0527,0x0527}, /* 0526 */ - {0x0528,0x0528,0x0528}, {0x0529,0x0529,0x0529}, /* 0528 */ - {0x052A,0x052A,0x052A}, {0x052B,0x052B,0x052B}, /* 052A */ - {0x052C,0x052C,0x052C}, {0x052D,0x052D,0x052D}, /* 052C */ - {0x052E,0x052E,0x052E}, {0x052F,0x052F,0x052F}, /* 052E */ - {0x0530,0x0530,0x0530}, {0x0531,0x0561,0x0531}, /* 0530 */ - {0x0532,0x0562,0x0532}, {0x0533,0x0563,0x0533}, /* 0532 */ - {0x0534,0x0564,0x0534}, {0x0535,0x0565,0x0535}, /* 0534 */ - {0x0536,0x0566,0x0536}, {0x0537,0x0567,0x0537}, /* 0536 */ - {0x0538,0x0568,0x0538}, {0x0539,0x0569,0x0539}, /* 0538 */ - {0x053A,0x056A,0x053A}, {0x053B,0x056B,0x053B}, /* 053A */ - {0x053C,0x056C,0x053C}, {0x053D,0x056D,0x053D}, /* 053C */ - {0x053E,0x056E,0x053E}, {0x053F,0x056F,0x053F}, /* 053E */ - {0x0540,0x0570,0x0540}, {0x0541,0x0571,0x0541}, /* 0540 */ - {0x0542,0x0572,0x0542}, {0x0543,0x0573,0x0543}, /* 0542 */ - {0x0544,0x0574,0x0544}, {0x0545,0x0575,0x0545}, /* 0544 */ - {0x0546,0x0576,0x0546}, {0x0547,0x0577,0x0547}, /* 0546 */ - {0x0548,0x0578,0x0548}, {0x0549,0x0579,0x0549}, /* 0548 */ - {0x054A,0x057A,0x054A}, {0x054B,0x057B,0x054B}, /* 054A */ - {0x054C,0x057C,0x054C}, {0x054D,0x057D,0x054D}, /* 054C */ - {0x054E,0x057E,0x054E}, {0x054F,0x057F,0x054F}, /* 054E */ - {0x0550,0x0580,0x0550}, {0x0551,0x0581,0x0551}, /* 0550 */ - {0x0552,0x0582,0x0552}, {0x0553,0x0583,0x0553}, /* 0552 */ - {0x0554,0x0584,0x0554}, {0x0555,0x0585,0x0555}, /* 0554 */ - {0x0556,0x0586,0x0556}, {0x0557,0x0557,0x0557}, /* 0556 */ - {0x0558,0x0558,0x0558}, {0x0559,0x0559,0x0559}, /* 0558 */ - {0x055A,0x055A,0x055A}, {0x055B,0x055B,0x055B}, /* 055A */ - {0x055C,0x055C,0x055C}, {0x055D,0x055D,0x055D}, /* 055C */ - {0x055E,0x055E,0x055E}, {0x055F,0x055F,0x055F}, /* 055E */ - {0x0560,0x0560,0x0560}, {0x0531,0x0561,0x0531}, /* 0560 */ - {0x0532,0x0562,0x0532}, {0x0533,0x0563,0x0533}, /* 0562 */ - {0x0534,0x0564,0x0534}, {0x0535,0x0565,0x0535}, /* 0564 */ - {0x0536,0x0566,0x0536}, {0x0537,0x0567,0x0537}, /* 0566 */ - {0x0538,0x0568,0x0538}, {0x0539,0x0569,0x0539}, /* 0568 */ - {0x053A,0x056A,0x053A}, {0x053B,0x056B,0x053B}, /* 056A */ - {0x053C,0x056C,0x053C}, {0x053D,0x056D,0x053D}, /* 056C */ - {0x053E,0x056E,0x053E}, {0x053F,0x056F,0x053F}, /* 056E */ - {0x0540,0x0570,0x0540}, {0x0541,0x0571,0x0541}, /* 0570 */ - {0x0542,0x0572,0x0542}, {0x0543,0x0573,0x0543}, /* 0572 */ - {0x0544,0x0574,0x0544}, {0x0545,0x0575,0x0545}, /* 0574 */ - {0x0546,0x0576,0x0546}, {0x0547,0x0577,0x0547}, /* 0576 */ - {0x0548,0x0578,0x0548}, {0x0549,0x0579,0x0549}, /* 0578 */ - {0x054A,0x057A,0x054A}, {0x054B,0x057B,0x054B}, /* 057A */ - {0x054C,0x057C,0x054C}, {0x054D,0x057D,0x054D}, /* 057C */ - {0x054E,0x057E,0x054E}, {0x054F,0x057F,0x054F}, /* 057E */ - {0x0550,0x0580,0x0550}, {0x0551,0x0581,0x0551}, /* 0580 */ - {0x0552,0x0582,0x0552}, {0x0553,0x0583,0x0553}, /* 0582 */ - {0x0554,0x0584,0x0554}, {0x0555,0x0585,0x0555}, /* 0584 */ - {0x0556,0x0586,0x0556}, {0x0587,0x0587,0x0587}, /* 0586 */ - {0x0588,0x0588,0x0588}, {0x0589,0x0589,0x0589}, /* 0588 */ - {0x058A,0x058A,0x058A}, {0x058B,0x058B,0x058B}, /* 058A */ - {0x058C,0x058C,0x058C}, {0x058D,0x058D,0x058D}, /* 058C */ - {0x058E,0x058E,0x058E}, {0x058F,0x058F,0x058F}, /* 058E */ - {0x0590,0x0590,0x0590}, {0x0591,0x0591,0x0591}, /* 0590 */ - {0x0592,0x0592,0x0592}, {0x0593,0x0593,0x0593}, /* 0592 */ - {0x0594,0x0594,0x0594}, {0x0595,0x0595,0x0595}, /* 0594 */ - {0x0596,0x0596,0x0596}, {0x0597,0x0597,0x0597}, /* 0596 */ - {0x0598,0x0598,0x0598}, {0x0599,0x0599,0x0599}, /* 0598 */ - {0x059A,0x059A,0x059A}, {0x059B,0x059B,0x059B}, /* 059A */ - {0x059C,0x059C,0x059C}, {0x059D,0x059D,0x059D}, /* 059C */ - {0x059E,0x059E,0x059E}, {0x059F,0x059F,0x059F}, /* 059E */ - {0x05A0,0x05A0,0x05A0}, {0x05A1,0x05A1,0x05A1}, /* 05A0 */ - {0x05A2,0x05A2,0x05A2}, {0x05A3,0x05A3,0x05A3}, /* 05A2 */ - {0x05A4,0x05A4,0x05A4}, {0x05A5,0x05A5,0x05A5}, /* 05A4 */ - {0x05A6,0x05A6,0x05A6}, {0x05A7,0x05A7,0x05A7}, /* 05A6 */ - {0x05A8,0x05A8,0x05A8}, {0x05A9,0x05A9,0x05A9}, /* 05A8 */ - {0x05AA,0x05AA,0x05AA}, {0x05AB,0x05AB,0x05AB}, /* 05AA */ - {0x05AC,0x05AC,0x05AC}, {0x05AD,0x05AD,0x05AD}, /* 05AC */ - {0x05AE,0x05AE,0x05AE}, {0x05AF,0x05AF,0x05AF}, /* 05AE */ - {0x05B0,0x05B0,0x05B0}, {0x05B1,0x05B1,0x05B1}, /* 05B0 */ - {0x05B2,0x05B2,0x05B2}, {0x05B3,0x05B3,0x05B3}, /* 05B2 */ - {0x05B4,0x05B4,0x05B4}, {0x05B5,0x05B5,0x05B5}, /* 05B4 */ - {0x05B6,0x05B6,0x05B6}, {0x05B7,0x05B7,0x05B7}, /* 05B6 */ - {0x05B8,0x05B8,0x05B8}, {0x05B9,0x05B9,0x05B9}, /* 05B8 */ - {0x05BA,0x05BA,0x05BA}, {0x05BB,0x05BB,0x05BB}, /* 05BA */ - {0x05BC,0x05BC,0x05BC}, {0x05BD,0x05BD,0x05BD}, /* 05BC */ - {0x05BE,0x05BE,0x05BE}, {0x05BF,0x05BF,0x05BF}, /* 05BE */ - {0x05C0,0x05C0,0x05C0}, {0x05C1,0x05C1,0x05C1}, /* 05C0 */ - {0x05C2,0x05C2,0x05C2}, {0x05C3,0x05C3,0x05C3}, /* 05C2 */ - {0x05C4,0x05C4,0x05C4}, {0x05C5,0x05C5,0x05C5}, /* 05C4 */ - {0x05C6,0x05C6,0x05C6}, {0x05C7,0x05C7,0x05C7}, /* 05C6 */ - {0x05C8,0x05C8,0x05C8}, {0x05C9,0x05C9,0x05C9}, /* 05C8 */ - {0x05CA,0x05CA,0x05CA}, {0x05CB,0x05CB,0x05CB}, /* 05CA */ - {0x05CC,0x05CC,0x05CC}, {0x05CD,0x05CD,0x05CD}, /* 05CC */ - {0x05CE,0x05CE,0x05CE}, {0x05CF,0x05CF,0x05CF}, /* 05CE */ - {0x05D0,0x05D0,0x05D0}, {0x05D1,0x05D1,0x05D1}, /* 05D0 */ - {0x05D2,0x05D2,0x05D2}, {0x05D3,0x05D3,0x05D3}, /* 05D2 */ - {0x05D4,0x05D4,0x05D4}, {0x05D5,0x05D5,0x05D5}, /* 05D4 */ - {0x05D6,0x05D6,0x05D6}, {0x05D7,0x05D7,0x05D7}, /* 05D6 */ - {0x05D8,0x05D8,0x05D8}, {0x05D9,0x05D9,0x05D9}, /* 05D8 */ - {0x05DA,0x05DA,0x05DA}, {0x05DB,0x05DB,0x05DB}, /* 05DA */ - {0x05DC,0x05DC,0x05DC}, {0x05DD,0x05DD,0x05DD}, /* 05DC */ - {0x05DE,0x05DE,0x05DE}, {0x05DF,0x05DF,0x05DF}, /* 05DE */ - {0x05E0,0x05E0,0x05E0}, {0x05E1,0x05E1,0x05E1}, /* 05E0 */ - {0x05E2,0x05E2,0x05E2}, {0x05E3,0x05E3,0x05E3}, /* 05E2 */ - {0x05E4,0x05E4,0x05E4}, {0x05E5,0x05E5,0x05E5}, /* 05E4 */ - {0x05E6,0x05E6,0x05E6}, {0x05E7,0x05E7,0x05E7}, /* 05E6 */ - {0x05E8,0x05E8,0x05E8}, {0x05E9,0x05E9,0x05E9}, /* 05E8 */ - {0x05EA,0x05EA,0x05EA}, {0x05EB,0x05EB,0x05EB}, /* 05EA */ - {0x05EC,0x05EC,0x05EC}, {0x05ED,0x05ED,0x05ED}, /* 05EC */ - {0x05EE,0x05EE,0x05EE}, {0x05EF,0x05EF,0x05EF}, /* 05EE */ - {0x05F0,0x05F0,0x05F0}, {0x05F1,0x05F1,0x05F1}, /* 05F0 */ - {0x05F2,0x05F2,0x05F2}, {0x05F3,0x05F3,0x05F3}, /* 05F2 */ - {0x05F4,0x05F4,0x05F4}, {0x05F5,0x05F5,0x05F5}, /* 05F4 */ - {0x05F6,0x05F6,0x05F6}, {0x05F7,0x05F7,0x05F7}, /* 05F6 */ - {0x05F8,0x05F8,0x05F8}, {0x05F9,0x05F9,0x05F9}, /* 05F8 */ - {0x05FA,0x05FA,0x05FA}, {0x05FB,0x05FB,0x05FB}, /* 05FA */ - {0x05FC,0x05FC,0x05FC}, {0x05FD,0x05FD,0x05FD}, /* 05FC */ - {0x05FE,0x05FE,0x05FE}, {0x05FF,0x05FF,0x05FF} /* 05FE */ -}; - -static MY_UNICASE_CHARACTER u520p10[]={ - {0x1000,0x1000,0x1000}, {0x1001,0x1001,0x1001}, /* 1000 */ - {0x1002,0x1002,0x1002}, {0x1003,0x1003,0x1003}, /* 1002 */ - {0x1004,0x1004,0x1004}, {0x1005,0x1005,0x1005}, /* 1004 */ - {0x1006,0x1006,0x1006}, {0x1007,0x1007,0x1007}, /* 1006 */ - {0x1008,0x1008,0x1008}, {0x1009,0x1009,0x1009}, /* 1008 */ - {0x100A,0x100A,0x100A}, {0x100B,0x100B,0x100B}, /* 100A */ - {0x100C,0x100C,0x100C}, {0x100D,0x100D,0x100D}, /* 100C */ - {0x100E,0x100E,0x100E}, {0x100F,0x100F,0x100F}, /* 100E */ - {0x1010,0x1010,0x1010}, {0x1011,0x1011,0x1011}, /* 1010 */ - {0x1012,0x1012,0x1012}, {0x1013,0x1013,0x1013}, /* 1012 */ - {0x1014,0x1014,0x1014}, {0x1015,0x1015,0x1015}, /* 1014 */ - {0x1016,0x1016,0x1016}, {0x1017,0x1017,0x1017}, /* 1016 */ - {0x1018,0x1018,0x1018}, {0x1019,0x1019,0x1019}, /* 1018 */ - {0x101A,0x101A,0x101A}, {0x101B,0x101B,0x101B}, /* 101A */ - {0x101C,0x101C,0x101C}, {0x101D,0x101D,0x101D}, /* 101C */ - {0x101E,0x101E,0x101E}, {0x101F,0x101F,0x101F}, /* 101E */ - {0x1020,0x1020,0x1020}, {0x1021,0x1021,0x1021}, /* 1020 */ - {0x1022,0x1022,0x1022}, {0x1023,0x1023,0x1023}, /* 1022 */ - {0x1024,0x1024,0x1024}, {0x1025,0x1025,0x1025}, /* 1024 */ - {0x1026,0x1026,0x1026}, {0x1027,0x1027,0x1027}, /* 1026 */ - {0x1028,0x1028,0x1028}, {0x1029,0x1029,0x1029}, /* 1028 */ - {0x102A,0x102A,0x102A}, {0x102B,0x102B,0x102B}, /* 102A */ - {0x102C,0x102C,0x102C}, {0x102D,0x102D,0x102D}, /* 102C */ - {0x102E,0x102E,0x102E}, {0x102F,0x102F,0x102F}, /* 102E */ - {0x1030,0x1030,0x1030}, {0x1031,0x1031,0x1031}, /* 1030 */ - {0x1032,0x1032,0x1032}, {0x1033,0x1033,0x1033}, /* 1032 */ - {0x1034,0x1034,0x1034}, {0x1035,0x1035,0x1035}, /* 1034 */ - {0x1036,0x1036,0x1036}, {0x1037,0x1037,0x1037}, /* 1036 */ - {0x1038,0x1038,0x1038}, {0x1039,0x1039,0x1039}, /* 1038 */ - {0x103A,0x103A,0x103A}, {0x103B,0x103B,0x103B}, /* 103A */ - {0x103C,0x103C,0x103C}, {0x103D,0x103D,0x103D}, /* 103C */ - {0x103E,0x103E,0x103E}, {0x103F,0x103F,0x103F}, /* 103E */ - {0x1040,0x1040,0x1040}, {0x1041,0x1041,0x1041}, /* 1040 */ - {0x1042,0x1042,0x1042}, {0x1043,0x1043,0x1043}, /* 1042 */ - {0x1044,0x1044,0x1044}, {0x1045,0x1045,0x1045}, /* 1044 */ - {0x1046,0x1046,0x1046}, {0x1047,0x1047,0x1047}, /* 1046 */ - {0x1048,0x1048,0x1048}, {0x1049,0x1049,0x1049}, /* 1048 */ - {0x104A,0x104A,0x104A}, {0x104B,0x104B,0x104B}, /* 104A */ - {0x104C,0x104C,0x104C}, {0x104D,0x104D,0x104D}, /* 104C */ - {0x104E,0x104E,0x104E}, {0x104F,0x104F,0x104F}, /* 104E */ - {0x1050,0x1050,0x1050}, {0x1051,0x1051,0x1051}, /* 1050 */ - {0x1052,0x1052,0x1052}, {0x1053,0x1053,0x1053}, /* 1052 */ - {0x1054,0x1054,0x1054}, {0x1055,0x1055,0x1055}, /* 1054 */ - {0x1056,0x1056,0x1056}, {0x1057,0x1057,0x1057}, /* 1056 */ - {0x1058,0x1058,0x1058}, {0x1059,0x1059,0x1059}, /* 1058 */ - {0x105A,0x105A,0x105A}, {0x105B,0x105B,0x105B}, /* 105A */ - {0x105C,0x105C,0x105C}, {0x105D,0x105D,0x105D}, /* 105C */ - {0x105E,0x105E,0x105E}, {0x105F,0x105F,0x105F}, /* 105E */ - {0x1060,0x1060,0x1060}, {0x1061,0x1061,0x1061}, /* 1060 */ - {0x1062,0x1062,0x1062}, {0x1063,0x1063,0x1063}, /* 1062 */ - {0x1064,0x1064,0x1064}, {0x1065,0x1065,0x1065}, /* 1064 */ - {0x1066,0x1066,0x1066}, {0x1067,0x1067,0x1067}, /* 1066 */ - {0x1068,0x1068,0x1068}, {0x1069,0x1069,0x1069}, /* 1068 */ - {0x106A,0x106A,0x106A}, {0x106B,0x106B,0x106B}, /* 106A */ - {0x106C,0x106C,0x106C}, {0x106D,0x106D,0x106D}, /* 106C */ - {0x106E,0x106E,0x106E}, {0x106F,0x106F,0x106F}, /* 106E */ - {0x1070,0x1070,0x1070}, {0x1071,0x1071,0x1071}, /* 1070 */ - {0x1072,0x1072,0x1072}, {0x1073,0x1073,0x1073}, /* 1072 */ - {0x1074,0x1074,0x1074}, {0x1075,0x1075,0x1075}, /* 1074 */ - {0x1076,0x1076,0x1076}, {0x1077,0x1077,0x1077}, /* 1076 */ - {0x1078,0x1078,0x1078}, {0x1079,0x1079,0x1079}, /* 1078 */ - {0x107A,0x107A,0x107A}, {0x107B,0x107B,0x107B}, /* 107A */ - {0x107C,0x107C,0x107C}, {0x107D,0x107D,0x107D}, /* 107C */ - {0x107E,0x107E,0x107E}, {0x107F,0x107F,0x107F}, /* 107E */ - {0x1080,0x1080,0x1080}, {0x1081,0x1081,0x1081}, /* 1080 */ - {0x1082,0x1082,0x1082}, {0x1083,0x1083,0x1083}, /* 1082 */ - {0x1084,0x1084,0x1084}, {0x1085,0x1085,0x1085}, /* 1084 */ - {0x1086,0x1086,0x1086}, {0x1087,0x1087,0x1087}, /* 1086 */ - {0x1088,0x1088,0x1088}, {0x1089,0x1089,0x1089}, /* 1088 */ - {0x108A,0x108A,0x108A}, {0x108B,0x108B,0x108B}, /* 108A */ - {0x108C,0x108C,0x108C}, {0x108D,0x108D,0x108D}, /* 108C */ - {0x108E,0x108E,0x108E}, {0x108F,0x108F,0x108F}, /* 108E */ - {0x1090,0x1090,0x1090}, {0x1091,0x1091,0x1091}, /* 1090 */ - {0x1092,0x1092,0x1092}, {0x1093,0x1093,0x1093}, /* 1092 */ - {0x1094,0x1094,0x1094}, {0x1095,0x1095,0x1095}, /* 1094 */ - {0x1096,0x1096,0x1096}, {0x1097,0x1097,0x1097}, /* 1096 */ - {0x1098,0x1098,0x1098}, {0x1099,0x1099,0x1099}, /* 1098 */ - {0x109A,0x109A,0x109A}, {0x109B,0x109B,0x109B}, /* 109A */ - {0x109C,0x109C,0x109C}, {0x109D,0x109D,0x109D}, /* 109C */ - {0x109E,0x109E,0x109E}, {0x109F,0x109F,0x109F}, /* 109E */ - {0x10A0,0x2D00,0x10A0}, {0x10A1,0x2D01,0x10A1}, /* 10A0 */ - {0x10A2,0x2D02,0x10A2}, {0x10A3,0x2D03,0x10A3}, /* 10A2 */ - {0x10A4,0x2D04,0x10A4}, {0x10A5,0x2D05,0x10A5}, /* 10A4 */ - {0x10A6,0x2D06,0x10A6}, {0x10A7,0x2D07,0x10A7}, /* 10A6 */ - {0x10A8,0x2D08,0x10A8}, {0x10A9,0x2D09,0x10A9}, /* 10A8 */ - {0x10AA,0x2D0A,0x10AA}, {0x10AB,0x2D0B,0x10AB}, /* 10AA */ - {0x10AC,0x2D0C,0x10AC}, {0x10AD,0x2D0D,0x10AD}, /* 10AC */ - {0x10AE,0x2D0E,0x10AE}, {0x10AF,0x2D0F,0x10AF}, /* 10AE */ - {0x10B0,0x2D10,0x10B0}, {0x10B1,0x2D11,0x10B1}, /* 10B0 */ - {0x10B2,0x2D12,0x10B2}, {0x10B3,0x2D13,0x10B3}, /* 10B2 */ - {0x10B4,0x2D14,0x10B4}, {0x10B5,0x2D15,0x10B5}, /* 10B4 */ - {0x10B6,0x2D16,0x10B6}, {0x10B7,0x2D17,0x10B7}, /* 10B6 */ - {0x10B8,0x2D18,0x10B8}, {0x10B9,0x2D19,0x10B9}, /* 10B8 */ - {0x10BA,0x2D1A,0x10BA}, {0x10BB,0x2D1B,0x10BB}, /* 10BA */ - {0x10BC,0x2D1C,0x10BC}, {0x10BD,0x2D1D,0x10BD}, /* 10BC */ - {0x10BE,0x2D1E,0x10BE}, {0x10BF,0x2D1F,0x10BF}, /* 10BE */ - {0x10C0,0x2D20,0x10C0}, {0x10C1,0x2D21,0x10C1}, /* 10C0 */ - {0x10C2,0x2D22,0x10C2}, {0x10C3,0x2D23,0x10C3}, /* 10C2 */ - {0x10C4,0x2D24,0x10C4}, {0x10C5,0x2D25,0x10C5}, /* 10C4 */ - {0x10C6,0x10C6,0x10C6}, {0x10C7,0x10C7,0x10C7}, /* 10C6 */ - {0x10C8,0x10C8,0x10C8}, {0x10C9,0x10C9,0x10C9}, /* 10C8 */ - {0x10CA,0x10CA,0x10CA}, {0x10CB,0x10CB,0x10CB}, /* 10CA */ - {0x10CC,0x10CC,0x10CC}, {0x10CD,0x10CD,0x10CD}, /* 10CC */ - {0x10CE,0x10CE,0x10CE}, {0x10CF,0x10CF,0x10CF}, /* 10CE */ - {0x10D0,0x10D0,0x10D0}, {0x10D1,0x10D1,0x10D1}, /* 10D0 */ - {0x10D2,0x10D2,0x10D2}, {0x10D3,0x10D3,0x10D3}, /* 10D2 */ - {0x10D4,0x10D4,0x10D4}, {0x10D5,0x10D5,0x10D5}, /* 10D4 */ - {0x10D6,0x10D6,0x10D6}, {0x10D7,0x10D7,0x10D7}, /* 10D6 */ - {0x10D8,0x10D8,0x10D8}, {0x10D9,0x10D9,0x10D9}, /* 10D8 */ - {0x10DA,0x10DA,0x10DA}, {0x10DB,0x10DB,0x10DB}, /* 10DA */ - {0x10DC,0x10DC,0x10DC}, {0x10DD,0x10DD,0x10DD}, /* 10DC */ - {0x10DE,0x10DE,0x10DE}, {0x10DF,0x10DF,0x10DF}, /* 10DE */ - {0x10E0,0x10E0,0x10E0}, {0x10E1,0x10E1,0x10E1}, /* 10E0 */ - {0x10E2,0x10E2,0x10E2}, {0x10E3,0x10E3,0x10E3}, /* 10E2 */ - {0x10E4,0x10E4,0x10E4}, {0x10E5,0x10E5,0x10E5}, /* 10E4 */ - {0x10E6,0x10E6,0x10E6}, {0x10E7,0x10E7,0x10E7}, /* 10E6 */ - {0x10E8,0x10E8,0x10E8}, {0x10E9,0x10E9,0x10E9}, /* 10E8 */ - {0x10EA,0x10EA,0x10EA}, {0x10EB,0x10EB,0x10EB}, /* 10EA */ - {0x10EC,0x10EC,0x10EC}, {0x10ED,0x10ED,0x10ED}, /* 10EC */ - {0x10EE,0x10EE,0x10EE}, {0x10EF,0x10EF,0x10EF}, /* 10EE */ - {0x10F0,0x10F0,0x10F0}, {0x10F1,0x10F1,0x10F1}, /* 10F0 */ - {0x10F2,0x10F2,0x10F2}, {0x10F3,0x10F3,0x10F3}, /* 10F2 */ - {0x10F4,0x10F4,0x10F4}, {0x10F5,0x10F5,0x10F5}, /* 10F4 */ - {0x10F6,0x10F6,0x10F6}, {0x10F7,0x10F7,0x10F7}, /* 10F6 */ - {0x10F8,0x10F8,0x10F8}, {0x10F9,0x10F9,0x10F9}, /* 10F8 */ - {0x10FA,0x10FA,0x10FA}, {0x10FB,0x10FB,0x10FB}, /* 10FA */ - {0x10FC,0x10FC,0x10FC}, {0x10FD,0x10FD,0x10FD}, /* 10FC */ - {0x10FE,0x10FE,0x10FE}, {0x10FF,0x10FF,0x10FF} /* 10FE */ -}; - -static MY_UNICASE_CHARACTER u520p1D[]={ - {0x1D00,0x1D00,0x1D00}, {0x1D01,0x1D01,0x1D01}, /* 1D00 */ - {0x1D02,0x1D02,0x1D02}, {0x1D03,0x1D03,0x1D03}, /* 1D02 */ - {0x1D04,0x1D04,0x1D04}, {0x1D05,0x1D05,0x1D05}, /* 1D04 */ - {0x1D06,0x1D06,0x1D06}, {0x1D07,0x1D07,0x1D07}, /* 1D06 */ - {0x1D08,0x1D08,0x1D08}, {0x1D09,0x1D09,0x1D09}, /* 1D08 */ - {0x1D0A,0x1D0A,0x1D0A}, {0x1D0B,0x1D0B,0x1D0B}, /* 1D0A */ - {0x1D0C,0x1D0C,0x1D0C}, {0x1D0D,0x1D0D,0x1D0D}, /* 1D0C */ - {0x1D0E,0x1D0E,0x1D0E}, {0x1D0F,0x1D0F,0x1D0F}, /* 1D0E */ - {0x1D10,0x1D10,0x1D10}, {0x1D11,0x1D11,0x1D11}, /* 1D10 */ - {0x1D12,0x1D12,0x1D12}, {0x1D13,0x1D13,0x1D13}, /* 1D12 */ - {0x1D14,0x1D14,0x1D14}, {0x1D15,0x1D15,0x1D15}, /* 1D14 */ - {0x1D16,0x1D16,0x1D16}, {0x1D17,0x1D17,0x1D17}, /* 1D16 */ - {0x1D18,0x1D18,0x1D18}, {0x1D19,0x1D19,0x1D19}, /* 1D18 */ - {0x1D1A,0x1D1A,0x1D1A}, {0x1D1B,0x1D1B,0x1D1B}, /* 1D1A */ - {0x1D1C,0x1D1C,0x1D1C}, {0x1D1D,0x1D1D,0x1D1D}, /* 1D1C */ - {0x1D1E,0x1D1E,0x1D1E}, {0x1D1F,0x1D1F,0x1D1F}, /* 1D1E */ - {0x1D20,0x1D20,0x1D20}, {0x1D21,0x1D21,0x1D21}, /* 1D20 */ - {0x1D22,0x1D22,0x1D22}, {0x1D23,0x1D23,0x1D23}, /* 1D22 */ - {0x1D24,0x1D24,0x1D24}, {0x1D25,0x1D25,0x1D25}, /* 1D24 */ - {0x1D26,0x1D26,0x1D26}, {0x1D27,0x1D27,0x1D27}, /* 1D26 */ - {0x1D28,0x1D28,0x1D28}, {0x1D29,0x1D29,0x1D29}, /* 1D28 */ - {0x1D2A,0x1D2A,0x1D2A}, {0x1D2B,0x1D2B,0x1D2B}, /* 1D2A */ - {0x1D2C,0x1D2C,0x1D2C}, {0x1D2D,0x1D2D,0x1D2D}, /* 1D2C */ - {0x1D2E,0x1D2E,0x1D2E}, {0x1D2F,0x1D2F,0x1D2F}, /* 1D2E */ - {0x1D30,0x1D30,0x1D30}, {0x1D31,0x1D31,0x1D31}, /* 1D30 */ - {0x1D32,0x1D32,0x1D32}, {0x1D33,0x1D33,0x1D33}, /* 1D32 */ - {0x1D34,0x1D34,0x1D34}, {0x1D35,0x1D35,0x1D35}, /* 1D34 */ - {0x1D36,0x1D36,0x1D36}, {0x1D37,0x1D37,0x1D37}, /* 1D36 */ - {0x1D38,0x1D38,0x1D38}, {0x1D39,0x1D39,0x1D39}, /* 1D38 */ - {0x1D3A,0x1D3A,0x1D3A}, {0x1D3B,0x1D3B,0x1D3B}, /* 1D3A */ - {0x1D3C,0x1D3C,0x1D3C}, {0x1D3D,0x1D3D,0x1D3D}, /* 1D3C */ - {0x1D3E,0x1D3E,0x1D3E}, {0x1D3F,0x1D3F,0x1D3F}, /* 1D3E */ - {0x1D40,0x1D40,0x1D40}, {0x1D41,0x1D41,0x1D41}, /* 1D40 */ - {0x1D42,0x1D42,0x1D42}, {0x1D43,0x1D43,0x1D43}, /* 1D42 */ - {0x1D44,0x1D44,0x1D44}, {0x1D45,0x1D45,0x1D45}, /* 1D44 */ - {0x1D46,0x1D46,0x1D46}, {0x1D47,0x1D47,0x1D47}, /* 1D46 */ - {0x1D48,0x1D48,0x1D48}, {0x1D49,0x1D49,0x1D49}, /* 1D48 */ - {0x1D4A,0x1D4A,0x1D4A}, {0x1D4B,0x1D4B,0x1D4B}, /* 1D4A */ - {0x1D4C,0x1D4C,0x1D4C}, {0x1D4D,0x1D4D,0x1D4D}, /* 1D4C */ - {0x1D4E,0x1D4E,0x1D4E}, {0x1D4F,0x1D4F,0x1D4F}, /* 1D4E */ - {0x1D50,0x1D50,0x1D50}, {0x1D51,0x1D51,0x1D51}, /* 1D50 */ - {0x1D52,0x1D52,0x1D52}, {0x1D53,0x1D53,0x1D53}, /* 1D52 */ - {0x1D54,0x1D54,0x1D54}, {0x1D55,0x1D55,0x1D55}, /* 1D54 */ - {0x1D56,0x1D56,0x1D56}, {0x1D57,0x1D57,0x1D57}, /* 1D56 */ - {0x1D58,0x1D58,0x1D58}, {0x1D59,0x1D59,0x1D59}, /* 1D58 */ - {0x1D5A,0x1D5A,0x1D5A}, {0x1D5B,0x1D5B,0x1D5B}, /* 1D5A */ - {0x1D5C,0x1D5C,0x1D5C}, {0x1D5D,0x1D5D,0x1D5D}, /* 1D5C */ - {0x1D5E,0x1D5E,0x1D5E}, {0x1D5F,0x1D5F,0x1D5F}, /* 1D5E */ - {0x1D60,0x1D60,0x1D60}, {0x1D61,0x1D61,0x1D61}, /* 1D60 */ - {0x1D62,0x1D62,0x1D62}, {0x1D63,0x1D63,0x1D63}, /* 1D62 */ - {0x1D64,0x1D64,0x1D64}, {0x1D65,0x1D65,0x1D65}, /* 1D64 */ - {0x1D66,0x1D66,0x1D66}, {0x1D67,0x1D67,0x1D67}, /* 1D66 */ - {0x1D68,0x1D68,0x1D68}, {0x1D69,0x1D69,0x1D69}, /* 1D68 */ - {0x1D6A,0x1D6A,0x1D6A}, {0x1D6B,0x1D6B,0x1D6B}, /* 1D6A */ - {0x1D6C,0x1D6C,0x1D6C}, {0x1D6D,0x1D6D,0x1D6D}, /* 1D6C */ - {0x1D6E,0x1D6E,0x1D6E}, {0x1D6F,0x1D6F,0x1D6F}, /* 1D6E */ - {0x1D70,0x1D70,0x1D70}, {0x1D71,0x1D71,0x1D71}, /* 1D70 */ - {0x1D72,0x1D72,0x1D72}, {0x1D73,0x1D73,0x1D73}, /* 1D72 */ - {0x1D74,0x1D74,0x1D74}, {0x1D75,0x1D75,0x1D75}, /* 1D74 */ - {0x1D76,0x1D76,0x1D76}, {0x1D77,0x1D77,0x1D77}, /* 1D76 */ - {0x1D78,0x1D78,0x1D78}, {0xA77D,0x1D79,0xA77D}, /* 1D78 */ - {0x1D7A,0x1D7A,0x1D7A}, {0x1D7B,0x1D7B,0x1D7B}, /* 1D7A */ - {0x1D7C,0x1D7C,0x1D7C}, {0x2C63,0x1D7D,0x2C63}, /* 1D7C */ - {0x1D7E,0x1D7E,0x1D7E}, {0x1D7F,0x1D7F,0x1D7F}, /* 1D7E */ - {0x1D80,0x1D80,0x1D80}, {0x1D81,0x1D81,0x1D81}, /* 1D80 */ - {0x1D82,0x1D82,0x1D82}, {0x1D83,0x1D83,0x1D83}, /* 1D82 */ - {0x1D84,0x1D84,0x1D84}, {0x1D85,0x1D85,0x1D85}, /* 1D84 */ - {0x1D86,0x1D86,0x1D86}, {0x1D87,0x1D87,0x1D87}, /* 1D86 */ - {0x1D88,0x1D88,0x1D88}, {0x1D89,0x1D89,0x1D89}, /* 1D88 */ - {0x1D8A,0x1D8A,0x1D8A}, {0x1D8B,0x1D8B,0x1D8B}, /* 1D8A */ - {0x1D8C,0x1D8C,0x1D8C}, {0x1D8D,0x1D8D,0x1D8D}, /* 1D8C */ - {0x1D8E,0x1D8E,0x1D8E}, {0x1D8F,0x1D8F,0x1D8F}, /* 1D8E */ - {0x1D90,0x1D90,0x1D90}, {0x1D91,0x1D91,0x1D91}, /* 1D90 */ - {0x1D92,0x1D92,0x1D92}, {0x1D93,0x1D93,0x1D93}, /* 1D92 */ - {0x1D94,0x1D94,0x1D94}, {0x1D95,0x1D95,0x1D95}, /* 1D94 */ - {0x1D96,0x1D96,0x1D96}, {0x1D97,0x1D97,0x1D97}, /* 1D96 */ - {0x1D98,0x1D98,0x1D98}, {0x1D99,0x1D99,0x1D99}, /* 1D98 */ - {0x1D9A,0x1D9A,0x1D9A}, {0x1D9B,0x1D9B,0x1D9B}, /* 1D9A */ - {0x1D9C,0x1D9C,0x1D9C}, {0x1D9D,0x1D9D,0x1D9D}, /* 1D9C */ - {0x1D9E,0x1D9E,0x1D9E}, {0x1D9F,0x1D9F,0x1D9F}, /* 1D9E */ - {0x1DA0,0x1DA0,0x1DA0}, {0x1DA1,0x1DA1,0x1DA1}, /* 1DA0 */ - {0x1DA2,0x1DA2,0x1DA2}, {0x1DA3,0x1DA3,0x1DA3}, /* 1DA2 */ - {0x1DA4,0x1DA4,0x1DA4}, {0x1DA5,0x1DA5,0x1DA5}, /* 1DA4 */ - {0x1DA6,0x1DA6,0x1DA6}, {0x1DA7,0x1DA7,0x1DA7}, /* 1DA6 */ - {0x1DA8,0x1DA8,0x1DA8}, {0x1DA9,0x1DA9,0x1DA9}, /* 1DA8 */ - {0x1DAA,0x1DAA,0x1DAA}, {0x1DAB,0x1DAB,0x1DAB}, /* 1DAA */ - {0x1DAC,0x1DAC,0x1DAC}, {0x1DAD,0x1DAD,0x1DAD}, /* 1DAC */ - {0x1DAE,0x1DAE,0x1DAE}, {0x1DAF,0x1DAF,0x1DAF}, /* 1DAE */ - {0x1DB0,0x1DB0,0x1DB0}, {0x1DB1,0x1DB1,0x1DB1}, /* 1DB0 */ - {0x1DB2,0x1DB2,0x1DB2}, {0x1DB3,0x1DB3,0x1DB3}, /* 1DB2 */ - {0x1DB4,0x1DB4,0x1DB4}, {0x1DB5,0x1DB5,0x1DB5}, /* 1DB4 */ - {0x1DB6,0x1DB6,0x1DB6}, {0x1DB7,0x1DB7,0x1DB7}, /* 1DB6 */ - {0x1DB8,0x1DB8,0x1DB8}, {0x1DB9,0x1DB9,0x1DB9}, /* 1DB8 */ - {0x1DBA,0x1DBA,0x1DBA}, {0x1DBB,0x1DBB,0x1DBB}, /* 1DBA */ - {0x1DBC,0x1DBC,0x1DBC}, {0x1DBD,0x1DBD,0x1DBD}, /* 1DBC */ - {0x1DBE,0x1DBE,0x1DBE}, {0x1DBF,0x1DBF,0x1DBF}, /* 1DBE */ - {0x1DC0,0x1DC0,0x1DC0}, {0x1DC1,0x1DC1,0x1DC1}, /* 1DC0 */ - {0x1DC2,0x1DC2,0x1DC2}, {0x1DC3,0x1DC3,0x1DC3}, /* 1DC2 */ - {0x1DC4,0x1DC4,0x1DC4}, {0x1DC5,0x1DC5,0x1DC5}, /* 1DC4 */ - {0x1DC6,0x1DC6,0x1DC6}, {0x1DC7,0x1DC7,0x1DC7}, /* 1DC6 */ - {0x1DC8,0x1DC8,0x1DC8}, {0x1DC9,0x1DC9,0x1DC9}, /* 1DC8 */ - {0x1DCA,0x1DCA,0x1DCA}, {0x1DCB,0x1DCB,0x1DCB}, /* 1DCA */ - {0x1DCC,0x1DCC,0x1DCC}, {0x1DCD,0x1DCD,0x1DCD}, /* 1DCC */ - {0x1DCE,0x1DCE,0x1DCE}, {0x1DCF,0x1DCF,0x1DCF}, /* 1DCE */ - {0x1DD0,0x1DD0,0x1DD0}, {0x1DD1,0x1DD1,0x1DD1}, /* 1DD0 */ - {0x1DD2,0x1DD2,0x1DD2}, {0x1DD3,0x1DD3,0x1DD3}, /* 1DD2 */ - {0x1DD4,0x1DD4,0x1DD4}, {0x1DD5,0x1DD5,0x1DD5}, /* 1DD4 */ - {0x1DD6,0x1DD6,0x1DD6}, {0x1DD7,0x1DD7,0x1DD7}, /* 1DD6 */ - {0x1DD8,0x1DD8,0x1DD8}, {0x1DD9,0x1DD9,0x1DD9}, /* 1DD8 */ - {0x1DDA,0x1DDA,0x1DDA}, {0x1DDB,0x1DDB,0x1DDB}, /* 1DDA */ - {0x1DDC,0x1DDC,0x1DDC}, {0x1DDD,0x1DDD,0x1DDD}, /* 1DDC */ - {0x1DDE,0x1DDE,0x1DDE}, {0x1DDF,0x1DDF,0x1DDF}, /* 1DDE */ - {0x1DE0,0x1DE0,0x1DE0}, {0x1DE1,0x1DE1,0x1DE1}, /* 1DE0 */ - {0x1DE2,0x1DE2,0x1DE2}, {0x1DE3,0x1DE3,0x1DE3}, /* 1DE2 */ - {0x1DE4,0x1DE4,0x1DE4}, {0x1DE5,0x1DE5,0x1DE5}, /* 1DE4 */ - {0x1DE6,0x1DE6,0x1DE6}, {0x1DE7,0x1DE7,0x1DE7}, /* 1DE6 */ - {0x1DE8,0x1DE8,0x1DE8}, {0x1DE9,0x1DE9,0x1DE9}, /* 1DE8 */ - {0x1DEA,0x1DEA,0x1DEA}, {0x1DEB,0x1DEB,0x1DEB}, /* 1DEA */ - {0x1DEC,0x1DEC,0x1DEC}, {0x1DED,0x1DED,0x1DED}, /* 1DEC */ - {0x1DEE,0x1DEE,0x1DEE}, {0x1DEF,0x1DEF,0x1DEF}, /* 1DEE */ - {0x1DF0,0x1DF0,0x1DF0}, {0x1DF1,0x1DF1,0x1DF1}, /* 1DF0 */ - {0x1DF2,0x1DF2,0x1DF2}, {0x1DF3,0x1DF3,0x1DF3}, /* 1DF2 */ - {0x1DF4,0x1DF4,0x1DF4}, {0x1DF5,0x1DF5,0x1DF5}, /* 1DF4 */ - {0x1DF6,0x1DF6,0x1DF6}, {0x1DF7,0x1DF7,0x1DF7}, /* 1DF6 */ - {0x1DF8,0x1DF8,0x1DF8}, {0x1DF9,0x1DF9,0x1DF9}, /* 1DF8 */ - {0x1DFA,0x1DFA,0x1DFA}, {0x1DFB,0x1DFB,0x1DFB}, /* 1DFA */ - {0x1DFC,0x1DFC,0x1DFC}, {0x1DFD,0x1DFD,0x1DFD}, /* 1DFC */ - {0x1DFE,0x1DFE,0x1DFE}, {0x1DFF,0x1DFF,0x1DFF} /* 1DFE */ -}; - -static MY_UNICASE_CHARACTER u520p1E[]={ - {0x1E00,0x1E01,0x0041}, {0x1E00,0x1E01,0x0041}, /* 1E00 */ - {0x1E02,0x1E03,0x0042}, {0x1E02,0x1E03,0x0042}, /* 1E02 */ - {0x1E04,0x1E05,0x0042}, {0x1E04,0x1E05,0x0042}, /* 1E04 */ - {0x1E06,0x1E07,0x0042}, {0x1E06,0x1E07,0x0042}, /* 1E06 */ - {0x1E08,0x1E09,0x0043}, {0x1E08,0x1E09,0x0043}, /* 1E08 */ - {0x1E0A,0x1E0B,0x0044}, {0x1E0A,0x1E0B,0x0044}, /* 1E0A */ - {0x1E0C,0x1E0D,0x0044}, {0x1E0C,0x1E0D,0x0044}, /* 1E0C */ - {0x1E0E,0x1E0F,0x0044}, {0x1E0E,0x1E0F,0x0044}, /* 1E0E */ - {0x1E10,0x1E11,0x0044}, {0x1E10,0x1E11,0x0044}, /* 1E10 */ - {0x1E12,0x1E13,0x0044}, {0x1E12,0x1E13,0x0044}, /* 1E12 */ - {0x1E14,0x1E15,0x0045}, {0x1E14,0x1E15,0x0045}, /* 1E14 */ - {0x1E16,0x1E17,0x0045}, {0x1E16,0x1E17,0x0045}, /* 1E16 */ - {0x1E18,0x1E19,0x0045}, {0x1E18,0x1E19,0x0045}, /* 1E18 */ - {0x1E1A,0x1E1B,0x0045}, {0x1E1A,0x1E1B,0x0045}, /* 1E1A */ - {0x1E1C,0x1E1D,0x0045}, {0x1E1C,0x1E1D,0x0045}, /* 1E1C */ - {0x1E1E,0x1E1F,0x0046}, {0x1E1E,0x1E1F,0x0046}, /* 1E1E */ - {0x1E20,0x1E21,0x0047}, {0x1E20,0x1E21,0x0047}, /* 1E20 */ - {0x1E22,0x1E23,0x0048}, {0x1E22,0x1E23,0x0048}, /* 1E22 */ - {0x1E24,0x1E25,0x0048}, {0x1E24,0x1E25,0x0048}, /* 1E24 */ - {0x1E26,0x1E27,0x0048}, {0x1E26,0x1E27,0x0048}, /* 1E26 */ - {0x1E28,0x1E29,0x0048}, {0x1E28,0x1E29,0x0048}, /* 1E28 */ - {0x1E2A,0x1E2B,0x0048}, {0x1E2A,0x1E2B,0x0048}, /* 1E2A */ - {0x1E2C,0x1E2D,0x0049}, {0x1E2C,0x1E2D,0x0049}, /* 1E2C */ - {0x1E2E,0x1E2F,0x0049}, {0x1E2E,0x1E2F,0x0049}, /* 1E2E */ - {0x1E30,0x1E31,0x004B}, {0x1E30,0x1E31,0x004B}, /* 1E30 */ - {0x1E32,0x1E33,0x004B}, {0x1E32,0x1E33,0x004B}, /* 1E32 */ - {0x1E34,0x1E35,0x004B}, {0x1E34,0x1E35,0x004B}, /* 1E34 */ - {0x1E36,0x1E37,0x004C}, {0x1E36,0x1E37,0x004C}, /* 1E36 */ - {0x1E38,0x1E39,0x004C}, {0x1E38,0x1E39,0x004C}, /* 1E38 */ - {0x1E3A,0x1E3B,0x004C}, {0x1E3A,0x1E3B,0x004C}, /* 1E3A */ - {0x1E3C,0x1E3D,0x004C}, {0x1E3C,0x1E3D,0x004C}, /* 1E3C */ - {0x1E3E,0x1E3F,0x004D}, {0x1E3E,0x1E3F,0x004D}, /* 1E3E */ - {0x1E40,0x1E41,0x004D}, {0x1E40,0x1E41,0x004D}, /* 1E40 */ - {0x1E42,0x1E43,0x004D}, {0x1E42,0x1E43,0x004D}, /* 1E42 */ - {0x1E44,0x1E45,0x004E}, {0x1E44,0x1E45,0x004E}, /* 1E44 */ - {0x1E46,0x1E47,0x004E}, {0x1E46,0x1E47,0x004E}, /* 1E46 */ - {0x1E48,0x1E49,0x004E}, {0x1E48,0x1E49,0x004E}, /* 1E48 */ - {0x1E4A,0x1E4B,0x004E}, {0x1E4A,0x1E4B,0x004E}, /* 1E4A */ - {0x1E4C,0x1E4D,0x004F}, {0x1E4C,0x1E4D,0x004F}, /* 1E4C */ - {0x1E4E,0x1E4F,0x004F}, {0x1E4E,0x1E4F,0x004F}, /* 1E4E */ - {0x1E50,0x1E51,0x004F}, {0x1E50,0x1E51,0x004F}, /* 1E50 */ - {0x1E52,0x1E53,0x004F}, {0x1E52,0x1E53,0x004F}, /* 1E52 */ - {0x1E54,0x1E55,0x0050}, {0x1E54,0x1E55,0x0050}, /* 1E54 */ - {0x1E56,0x1E57,0x0050}, {0x1E56,0x1E57,0x0050}, /* 1E56 */ - {0x1E58,0x1E59,0x0052}, {0x1E58,0x1E59,0x0052}, /* 1E58 */ - {0x1E5A,0x1E5B,0x0052}, {0x1E5A,0x1E5B,0x0052}, /* 1E5A */ - {0x1E5C,0x1E5D,0x0052}, {0x1E5C,0x1E5D,0x0052}, /* 1E5C */ - {0x1E5E,0x1E5F,0x0052}, {0x1E5E,0x1E5F,0x0052}, /* 1E5E */ - {0x1E60,0x1E61,0x0053}, {0x1E60,0x1E61,0x0053}, /* 1E60 */ - {0x1E62,0x1E63,0x0053}, {0x1E62,0x1E63,0x0053}, /* 1E62 */ - {0x1E64,0x1E65,0x0053}, {0x1E64,0x1E65,0x0053}, /* 1E64 */ - {0x1E66,0x1E67,0x0053}, {0x1E66,0x1E67,0x0053}, /* 1E66 */ - {0x1E68,0x1E69,0x0053}, {0x1E68,0x1E69,0x0053}, /* 1E68 */ - {0x1E6A,0x1E6B,0x0054}, {0x1E6A,0x1E6B,0x0054}, /* 1E6A */ - {0x1E6C,0x1E6D,0x0054}, {0x1E6C,0x1E6D,0x0054}, /* 1E6C */ - {0x1E6E,0x1E6F,0x0054}, {0x1E6E,0x1E6F,0x0054}, /* 1E6E */ - {0x1E70,0x1E71,0x0054}, {0x1E70,0x1E71,0x0054}, /* 1E70 */ - {0x1E72,0x1E73,0x0055}, {0x1E72,0x1E73,0x0055}, /* 1E72 */ - {0x1E74,0x1E75,0x0055}, {0x1E74,0x1E75,0x0055}, /* 1E74 */ - {0x1E76,0x1E77,0x0055}, {0x1E76,0x1E77,0x0055}, /* 1E76 */ - {0x1E78,0x1E79,0x0055}, {0x1E78,0x1E79,0x0055}, /* 1E78 */ - {0x1E7A,0x1E7B,0x0055}, {0x1E7A,0x1E7B,0x0055}, /* 1E7A */ - {0x1E7C,0x1E7D,0x0056}, {0x1E7C,0x1E7D,0x0056}, /* 1E7C */ - {0x1E7E,0x1E7F,0x0056}, {0x1E7E,0x1E7F,0x0056}, /* 1E7E */ - {0x1E80,0x1E81,0x0057}, {0x1E80,0x1E81,0x0057}, /* 1E80 */ - {0x1E82,0x1E83,0x0057}, {0x1E82,0x1E83,0x0057}, /* 1E82 */ - {0x1E84,0x1E85,0x0057}, {0x1E84,0x1E85,0x0057}, /* 1E84 */ - {0x1E86,0x1E87,0x0057}, {0x1E86,0x1E87,0x0057}, /* 1E86 */ - {0x1E88,0x1E89,0x0057}, {0x1E88,0x1E89,0x0057}, /* 1E88 */ - {0x1E8A,0x1E8B,0x0058}, {0x1E8A,0x1E8B,0x0058}, /* 1E8A */ - {0x1E8C,0x1E8D,0x0058}, {0x1E8C,0x1E8D,0x0058}, /* 1E8C */ - {0x1E8E,0x1E8F,0x0059}, {0x1E8E,0x1E8F,0x0059}, /* 1E8E */ - {0x1E90,0x1E91,0x005A}, {0x1E90,0x1E91,0x005A}, /* 1E90 */ - {0x1E92,0x1E93,0x005A}, {0x1E92,0x1E93,0x005A}, /* 1E92 */ - {0x1E94,0x1E95,0x005A}, {0x1E94,0x1E95,0x005A}, /* 1E94 */ - {0x1E96,0x1E96,0x0048}, {0x1E97,0x1E97,0x0054}, /* 1E96 */ - {0x1E98,0x1E98,0x0057}, {0x1E99,0x1E99,0x0059}, /* 1E98 */ - {0x1E9A,0x1E9A,0x1E9A}, {0x1E60,0x1E9B,0x0053}, /* 1E9A */ - {0x1E9C,0x1E9C,0x1E9C}, {0x1E9D,0x1E9D,0x1E9D}, /* 1E9C */ - {0x1E9E,0x00DF,0x1E9E}, {0x1E9F,0x1E9F,0x1E9F}, /* 1E9E */ - {0x1EA0,0x1EA1,0x0041}, {0x1EA0,0x1EA1,0x0041}, /* 1EA0 */ - {0x1EA2,0x1EA3,0x0041}, {0x1EA2,0x1EA3,0x0041}, /* 1EA2 */ - {0x1EA4,0x1EA5,0x0041}, {0x1EA4,0x1EA5,0x0041}, /* 1EA4 */ - {0x1EA6,0x1EA7,0x0041}, {0x1EA6,0x1EA7,0x0041}, /* 1EA6 */ - {0x1EA8,0x1EA9,0x0041}, {0x1EA8,0x1EA9,0x0041}, /* 1EA8 */ - {0x1EAA,0x1EAB,0x0041}, {0x1EAA,0x1EAB,0x0041}, /* 1EAA */ - {0x1EAC,0x1EAD,0x0041}, {0x1EAC,0x1EAD,0x0041}, /* 1EAC */ - {0x1EAE,0x1EAF,0x0041}, {0x1EAE,0x1EAF,0x0041}, /* 1EAE */ - {0x1EB0,0x1EB1,0x0041}, {0x1EB0,0x1EB1,0x0041}, /* 1EB0 */ - {0x1EB2,0x1EB3,0x0041}, {0x1EB2,0x1EB3,0x0041}, /* 1EB2 */ - {0x1EB4,0x1EB5,0x0041}, {0x1EB4,0x1EB5,0x0041}, /* 1EB4 */ - {0x1EB6,0x1EB7,0x0041}, {0x1EB6,0x1EB7,0x0041}, /* 1EB6 */ - {0x1EB8,0x1EB9,0x0045}, {0x1EB8,0x1EB9,0x0045}, /* 1EB8 */ - {0x1EBA,0x1EBB,0x0045}, {0x1EBA,0x1EBB,0x0045}, /* 1EBA */ - {0x1EBC,0x1EBD,0x0045}, {0x1EBC,0x1EBD,0x0045}, /* 1EBC */ - {0x1EBE,0x1EBF,0x0045}, {0x1EBE,0x1EBF,0x0045}, /* 1EBE */ - {0x1EC0,0x1EC1,0x0045}, {0x1EC0,0x1EC1,0x0045}, /* 1EC0 */ - {0x1EC2,0x1EC3,0x0045}, {0x1EC2,0x1EC3,0x0045}, /* 1EC2 */ - {0x1EC4,0x1EC5,0x0045}, {0x1EC4,0x1EC5,0x0045}, /* 1EC4 */ - {0x1EC6,0x1EC7,0x0045}, {0x1EC6,0x1EC7,0x0045}, /* 1EC6 */ - {0x1EC8,0x1EC9,0x0049}, {0x1EC8,0x1EC9,0x0049}, /* 1EC8 */ - {0x1ECA,0x1ECB,0x0049}, {0x1ECA,0x1ECB,0x0049}, /* 1ECA */ - {0x1ECC,0x1ECD,0x004F}, {0x1ECC,0x1ECD,0x004F}, /* 1ECC */ - {0x1ECE,0x1ECF,0x004F}, {0x1ECE,0x1ECF,0x004F}, /* 1ECE */ - {0x1ED0,0x1ED1,0x004F}, {0x1ED0,0x1ED1,0x004F}, /* 1ED0 */ - {0x1ED2,0x1ED3,0x004F}, {0x1ED2,0x1ED3,0x004F}, /* 1ED2 */ - {0x1ED4,0x1ED5,0x004F}, {0x1ED4,0x1ED5,0x004F}, /* 1ED4 */ - {0x1ED6,0x1ED7,0x004F}, {0x1ED6,0x1ED7,0x004F}, /* 1ED6 */ - {0x1ED8,0x1ED9,0x004F}, {0x1ED8,0x1ED9,0x004F}, /* 1ED8 */ - {0x1EDA,0x1EDB,0x004F}, {0x1EDA,0x1EDB,0x004F}, /* 1EDA */ - {0x1EDC,0x1EDD,0x004F}, {0x1EDC,0x1EDD,0x004F}, /* 1EDC */ - {0x1EDE,0x1EDF,0x004F}, {0x1EDE,0x1EDF,0x004F}, /* 1EDE */ - {0x1EE0,0x1EE1,0x004F}, {0x1EE0,0x1EE1,0x004F}, /* 1EE0 */ - {0x1EE2,0x1EE3,0x004F}, {0x1EE2,0x1EE3,0x004F}, /* 1EE2 */ - {0x1EE4,0x1EE5,0x0055}, {0x1EE4,0x1EE5,0x0055}, /* 1EE4 */ - {0x1EE6,0x1EE7,0x0055}, {0x1EE6,0x1EE7,0x0055}, /* 1EE6 */ - {0x1EE8,0x1EE9,0x0055}, {0x1EE8,0x1EE9,0x0055}, /* 1EE8 */ - {0x1EEA,0x1EEB,0x0055}, {0x1EEA,0x1EEB,0x0055}, /* 1EEA */ - {0x1EEC,0x1EED,0x0055}, {0x1EEC,0x1EED,0x0055}, /* 1EEC */ - {0x1EEE,0x1EEF,0x0055}, {0x1EEE,0x1EEF,0x0055}, /* 1EEE */ - {0x1EF0,0x1EF1,0x0055}, {0x1EF0,0x1EF1,0x0055}, /* 1EF0 */ - {0x1EF2,0x1EF3,0x0059}, {0x1EF2,0x1EF3,0x0059}, /* 1EF2 */ - {0x1EF4,0x1EF5,0x0059}, {0x1EF4,0x1EF5,0x0059}, /* 1EF4 */ - {0x1EF6,0x1EF7,0x0059}, {0x1EF6,0x1EF7,0x0059}, /* 1EF6 */ - {0x1EF8,0x1EF9,0x0059}, {0x1EF8,0x1EF9,0x0059}, /* 1EF8 */ - {0x1EFA,0x1EFB,0x1EFA}, {0x1EFA,0x1EFB,0x1EFA}, /* 1EFA */ - {0x1EFC,0x1EFD,0x1EFC}, {0x1EFC,0x1EFD,0x1EFC}, /* 1EFC */ - {0x1EFE,0x1EFF,0x1EFE}, {0x1EFE,0x1EFF,0x1EFE} /* 1EFE */ -}; - -static MY_UNICASE_CHARACTER u520p1F[]={ - {0x1F08,0x1F00,0x0391}, {0x1F09,0x1F01,0x0391}, /* 1F00 */ - {0x1F0A,0x1F02,0x0391}, {0x1F0B,0x1F03,0x0391}, /* 1F02 */ - {0x1F0C,0x1F04,0x0391}, {0x1F0D,0x1F05,0x0391}, /* 1F04 */ - {0x1F0E,0x1F06,0x0391}, {0x1F0F,0x1F07,0x0391}, /* 1F06 */ - {0x1F08,0x1F00,0x0391}, {0x1F09,0x1F01,0x0391}, /* 1F08 */ - {0x1F0A,0x1F02,0x0391}, {0x1F0B,0x1F03,0x0391}, /* 1F0A */ - {0x1F0C,0x1F04,0x0391}, {0x1F0D,0x1F05,0x0391}, /* 1F0C */ - {0x1F0E,0x1F06,0x0391}, {0x1F0F,0x1F07,0x0391}, /* 1F0E */ - {0x1F18,0x1F10,0x0395}, {0x1F19,0x1F11,0x0395}, /* 1F10 */ - {0x1F1A,0x1F12,0x0395}, {0x1F1B,0x1F13,0x0395}, /* 1F12 */ - {0x1F1C,0x1F14,0x0395}, {0x1F1D,0x1F15,0x0395}, /* 1F14 */ - {0x1F16,0x1F16,0x1F16}, {0x1F17,0x1F17,0x1F17}, /* 1F16 */ - {0x1F18,0x1F10,0x0395}, {0x1F19,0x1F11,0x0395}, /* 1F18 */ - {0x1F1A,0x1F12,0x0395}, {0x1F1B,0x1F13,0x0395}, /* 1F1A */ - {0x1F1C,0x1F14,0x0395}, {0x1F1D,0x1F15,0x0395}, /* 1F1C */ - {0x1F1E,0x1F1E,0x1F1E}, {0x1F1F,0x1F1F,0x1F1F}, /* 1F1E */ - {0x1F28,0x1F20,0x0397}, {0x1F29,0x1F21,0x0397}, /* 1F20 */ - {0x1F2A,0x1F22,0x0397}, {0x1F2B,0x1F23,0x0397}, /* 1F22 */ - {0x1F2C,0x1F24,0x0397}, {0x1F2D,0x1F25,0x0397}, /* 1F24 */ - {0x1F2E,0x1F26,0x0397}, {0x1F2F,0x1F27,0x0397}, /* 1F26 */ - {0x1F28,0x1F20,0x0397}, {0x1F29,0x1F21,0x0397}, /* 1F28 */ - {0x1F2A,0x1F22,0x0397}, {0x1F2B,0x1F23,0x0397}, /* 1F2A */ - {0x1F2C,0x1F24,0x0397}, {0x1F2D,0x1F25,0x0397}, /* 1F2C */ - {0x1F2E,0x1F26,0x0397}, {0x1F2F,0x1F27,0x0397}, /* 1F2E */ - {0x1F38,0x1F30,0x0399}, {0x1F39,0x1F31,0x0399}, /* 1F30 */ - {0x1F3A,0x1F32,0x0399}, {0x1F3B,0x1F33,0x0399}, /* 1F32 */ - {0x1F3C,0x1F34,0x0399}, {0x1F3D,0x1F35,0x0399}, /* 1F34 */ - {0x1F3E,0x1F36,0x0399}, {0x1F3F,0x1F37,0x0399}, /* 1F36 */ - {0x1F38,0x1F30,0x0399}, {0x1F39,0x1F31,0x0399}, /* 1F38 */ - {0x1F3A,0x1F32,0x0399}, {0x1F3B,0x1F33,0x0399}, /* 1F3A */ - {0x1F3C,0x1F34,0x0399}, {0x1F3D,0x1F35,0x0399}, /* 1F3C */ - {0x1F3E,0x1F36,0x0399}, {0x1F3F,0x1F37,0x0399}, /* 1F3E */ - {0x1F48,0x1F40,0x039F}, {0x1F49,0x1F41,0x039F}, /* 1F40 */ - {0x1F4A,0x1F42,0x039F}, {0x1F4B,0x1F43,0x039F}, /* 1F42 */ - {0x1F4C,0x1F44,0x039F}, {0x1F4D,0x1F45,0x039F}, /* 1F44 */ - {0x1F46,0x1F46,0x1F46}, {0x1F47,0x1F47,0x1F47}, /* 1F46 */ - {0x1F48,0x1F40,0x039F}, {0x1F49,0x1F41,0x039F}, /* 1F48 */ - {0x1F4A,0x1F42,0x039F}, {0x1F4B,0x1F43,0x039F}, /* 1F4A */ - {0x1F4C,0x1F44,0x039F}, {0x1F4D,0x1F45,0x039F}, /* 1F4C */ - {0x1F4E,0x1F4E,0x1F4E}, {0x1F4F,0x1F4F,0x1F4F}, /* 1F4E */ - {0x1F50,0x1F50,0x03A5}, {0x1F59,0x1F51,0x03A5}, /* 1F50 */ - {0x1F52,0x1F52,0x03A5}, {0x1F5B,0x1F53,0x03A5}, /* 1F52 */ - {0x1F54,0x1F54,0x03A5}, {0x1F5D,0x1F55,0x03A5}, /* 1F54 */ - {0x1F56,0x1F56,0x03A5}, {0x1F5F,0x1F57,0x03A5}, /* 1F56 */ - {0x1F58,0x1F58,0x1F58}, {0x1F59,0x1F51,0x03A5}, /* 1F58 */ - {0x1F5A,0x1F5A,0x1F5A}, {0x1F5B,0x1F53,0x03A5}, /* 1F5A */ - {0x1F5C,0x1F5C,0x1F5C}, {0x1F5D,0x1F55,0x03A5}, /* 1F5C */ - {0x1F5E,0x1F5E,0x1F5E}, {0x1F5F,0x1F57,0x03A5}, /* 1F5E */ - {0x1F68,0x1F60,0x03A9}, {0x1F69,0x1F61,0x03A9}, /* 1F60 */ - {0x1F6A,0x1F62,0x03A9}, {0x1F6B,0x1F63,0x03A9}, /* 1F62 */ - {0x1F6C,0x1F64,0x03A9}, {0x1F6D,0x1F65,0x03A9}, /* 1F64 */ - {0x1F6E,0x1F66,0x03A9}, {0x1F6F,0x1F67,0x03A9}, /* 1F66 */ - {0x1F68,0x1F60,0x03A9}, {0x1F69,0x1F61,0x03A9}, /* 1F68 */ - {0x1F6A,0x1F62,0x03A9}, {0x1F6B,0x1F63,0x03A9}, /* 1F6A */ - {0x1F6C,0x1F64,0x03A9}, {0x1F6D,0x1F65,0x03A9}, /* 1F6C */ - {0x1F6E,0x1F66,0x03A9}, {0x1F6F,0x1F67,0x03A9}, /* 1F6E */ - {0x1FBA,0x1F70,0x0391}, {0x1FBB,0x1F71,0x1FBB}, /* 1F70 */ - {0x1FC8,0x1F72,0x0395}, {0x1FC9,0x1F73,0x1FC9}, /* 1F72 */ - {0x1FCA,0x1F74,0x0397}, {0x1FCB,0x1F75,0x1FCB}, /* 1F74 */ - {0x1FDA,0x1F76,0x0399}, {0x1FDB,0x1F77,0x1FDB}, /* 1F76 */ - {0x1FF8,0x1F78,0x039F}, {0x1FF9,0x1F79,0x1FF9}, /* 1F78 */ - {0x1FEA,0x1F7A,0x03A5}, {0x1FEB,0x1F7B,0x1FEB}, /* 1F7A */ - {0x1FFA,0x1F7C,0x03A9}, {0x1FFB,0x1F7D,0x1FFB}, /* 1F7C */ - {0x1F7E,0x1F7E,0x1F7E}, {0x1F7F,0x1F7F,0x1F7F}, /* 1F7E */ - {0x1F88,0x1F80,0x0391}, {0x1F89,0x1F81,0x0391}, /* 1F80 */ - {0x1F8A,0x1F82,0x0391}, {0x1F8B,0x1F83,0x0391}, /* 1F82 */ - {0x1F8C,0x1F84,0x0391}, {0x1F8D,0x1F85,0x0391}, /* 1F84 */ - {0x1F8E,0x1F86,0x0391}, {0x1F8F,0x1F87,0x0391}, /* 1F86 */ - {0x1F88,0x1F80,0x0391}, {0x1F89,0x1F81,0x0391}, /* 1F88 */ - {0x1F8A,0x1F82,0x0391}, {0x1F8B,0x1F83,0x0391}, /* 1F8A */ - {0x1F8C,0x1F84,0x0391}, {0x1F8D,0x1F85,0x0391}, /* 1F8C */ - {0x1F8E,0x1F86,0x0391}, {0x1F8F,0x1F87,0x0391}, /* 1F8E */ - {0x1F98,0x1F90,0x0397}, {0x1F99,0x1F91,0x0397}, /* 1F90 */ - {0x1F9A,0x1F92,0x0397}, {0x1F9B,0x1F93,0x0397}, /* 1F92 */ - {0x1F9C,0x1F94,0x0397}, {0x1F9D,0x1F95,0x0397}, /* 1F94 */ - {0x1F9E,0x1F96,0x0397}, {0x1F9F,0x1F97,0x0397}, /* 1F96 */ - {0x1F98,0x1F90,0x0397}, {0x1F99,0x1F91,0x0397}, /* 1F98 */ - {0x1F9A,0x1F92,0x0397}, {0x1F9B,0x1F93,0x0397}, /* 1F9A */ - {0x1F9C,0x1F94,0x0397}, {0x1F9D,0x1F95,0x0397}, /* 1F9C */ - {0x1F9E,0x1F96,0x0397}, {0x1F9F,0x1F97,0x0397}, /* 1F9E */ - {0x1FA8,0x1FA0,0x03A9}, {0x1FA9,0x1FA1,0x03A9}, /* 1FA0 */ - {0x1FAA,0x1FA2,0x03A9}, {0x1FAB,0x1FA3,0x03A9}, /* 1FA2 */ - {0x1FAC,0x1FA4,0x03A9}, {0x1FAD,0x1FA5,0x03A9}, /* 1FA4 */ - {0x1FAE,0x1FA6,0x03A9}, {0x1FAF,0x1FA7,0x03A9}, /* 1FA6 */ - {0x1FA8,0x1FA0,0x03A9}, {0x1FA9,0x1FA1,0x03A9}, /* 1FA8 */ - {0x1FAA,0x1FA2,0x03A9}, {0x1FAB,0x1FA3,0x03A9}, /* 1FAA */ - {0x1FAC,0x1FA4,0x03A9}, {0x1FAD,0x1FA5,0x03A9}, /* 1FAC */ - {0x1FAE,0x1FA6,0x03A9}, {0x1FAF,0x1FA7,0x03A9}, /* 1FAE */ - {0x1FB8,0x1FB0,0x0391}, {0x1FB9,0x1FB1,0x0391}, /* 1FB0 */ - {0x1FB2,0x1FB2,0x0391}, {0x1FBC,0x1FB3,0x0391}, /* 1FB2 */ - {0x1FB4,0x1FB4,0x0391}, {0x1FB5,0x1FB5,0x1FB5}, /* 1FB4 */ - {0x1FB6,0x1FB6,0x0391}, {0x1FB7,0x1FB7,0x0391}, /* 1FB6 */ - {0x1FB8,0x1FB0,0x0391}, {0x1FB9,0x1FB1,0x0391}, /* 1FB8 */ - {0x1FBA,0x1F70,0x0391}, {0x1FBB,0x1F71,0x1FBB}, /* 1FBA */ - {0x1FBC,0x1FB3,0x0391}, {0x1FBD,0x1FBD,0x1FBD}, /* 1FBC */ - {0x0399,0x1FBE,0x0399}, {0x1FBF,0x1FBF,0x1FBF}, /* 1FBE */ - {0x1FC0,0x1FC0,0x1FC0}, {0x1FC1,0x1FC1,0x1FC1}, /* 1FC0 */ - {0x1FC2,0x1FC2,0x0397}, {0x1FCC,0x1FC3,0x0397}, /* 1FC2 */ - {0x1FC4,0x1FC4,0x0397}, {0x1FC5,0x1FC5,0x1FC5}, /* 1FC4 */ - {0x1FC6,0x1FC6,0x0397}, {0x1FC7,0x1FC7,0x0397}, /* 1FC6 */ - {0x1FC8,0x1F72,0x0395}, {0x1FC9,0x1F73,0x1FC9}, /* 1FC8 */ - {0x1FCA,0x1F74,0x0397}, {0x1FCB,0x1F75,0x1FCB}, /* 1FCA */ - {0x1FCC,0x1FC3,0x0397}, {0x1FCD,0x1FCD,0x1FCD}, /* 1FCC */ - {0x1FCE,0x1FCE,0x1FCE}, {0x1FCF,0x1FCF,0x1FCF}, /* 1FCE */ - {0x1FD8,0x1FD0,0x0399}, {0x1FD9,0x1FD1,0x0399}, /* 1FD0 */ - {0x1FD2,0x1FD2,0x0399}, {0x1FD3,0x1FD3,0x1FD3}, /* 1FD2 */ - {0x1FD4,0x1FD4,0x1FD4}, {0x1FD5,0x1FD5,0x1FD5}, /* 1FD4 */ - {0x1FD6,0x1FD6,0x0399}, {0x1FD7,0x1FD7,0x0399}, /* 1FD6 */ - {0x1FD8,0x1FD0,0x0399}, {0x1FD9,0x1FD1,0x0399}, /* 1FD8 */ - {0x1FDA,0x1F76,0x0399}, {0x1FDB,0x1F77,0x1FDB}, /* 1FDA */ - {0x1FDC,0x1FDC,0x1FDC}, {0x1FDD,0x1FDD,0x1FDD}, /* 1FDC */ - {0x1FDE,0x1FDE,0x1FDE}, {0x1FDF,0x1FDF,0x1FDF}, /* 1FDE */ - {0x1FE8,0x1FE0,0x03A5}, {0x1FE9,0x1FE1,0x03A5}, /* 1FE0 */ - {0x1FE2,0x1FE2,0x03A5}, {0x1FE3,0x1FE3,0x1FE3}, /* 1FE2 */ - {0x1FE4,0x1FE4,0x03A1}, {0x1FEC,0x1FE5,0x03A1}, /* 1FE4 */ - {0x1FE6,0x1FE6,0x03A5}, {0x1FE7,0x1FE7,0x03A5}, /* 1FE6 */ - {0x1FE8,0x1FE0,0x03A5}, {0x1FE9,0x1FE1,0x03A5}, /* 1FE8 */ - {0x1FEA,0x1F7A,0x03A5}, {0x1FEB,0x1F7B,0x1FEB}, /* 1FEA */ - {0x1FEC,0x1FE5,0x03A1}, {0x1FED,0x1FED,0x1FED}, /* 1FEC */ - {0x1FEE,0x1FEE,0x1FEE}, {0x1FEF,0x1FEF,0x1FEF}, /* 1FEE */ - {0x1FF0,0x1FF0,0x1FF0}, {0x1FF1,0x1FF1,0x1FF1}, /* 1FF0 */ - {0x1FF2,0x1FF2,0x03A9}, {0x1FFC,0x1FF3,0x03A9}, /* 1FF2 */ - {0x1FF4,0x1FF4,0x03A9}, {0x1FF5,0x1FF5,0x1FF5}, /* 1FF4 */ - {0x1FF6,0x1FF6,0x03A9}, {0x1FF7,0x1FF7,0x03A9}, /* 1FF6 */ - {0x1FF8,0x1F78,0x039F}, {0x1FF9,0x1F79,0x1FF9}, /* 1FF8 */ - {0x1FFA,0x1F7C,0x03A9}, {0x1FFB,0x1F7D,0x1FFB}, /* 1FFA */ - {0x1FFC,0x1FF3,0x03A9}, {0x1FFD,0x1FFD,0x1FFD}, /* 1FFC */ - {0x1FFE,0x1FFE,0x1FFE}, {0x1FFF,0x1FFF,0x1FFF} /* 1FFE */ -}; - -static MY_UNICASE_CHARACTER u520p21[]={ - {0x2100,0x2100,0x2100}, {0x2101,0x2101,0x2101}, /* 2100 */ - {0x2102,0x2102,0x2102}, {0x2103,0x2103,0x2103}, /* 2102 */ - {0x2104,0x2104,0x2104}, {0x2105,0x2105,0x2105}, /* 2104 */ - {0x2106,0x2106,0x2106}, {0x2107,0x2107,0x2107}, /* 2106 */ - {0x2108,0x2108,0x2108}, {0x2109,0x2109,0x2109}, /* 2108 */ - {0x210A,0x210A,0x210A}, {0x210B,0x210B,0x210B}, /* 210A */ - {0x210C,0x210C,0x210C}, {0x210D,0x210D,0x210D}, /* 210C */ - {0x210E,0x210E,0x210E}, {0x210F,0x210F,0x210F}, /* 210E */ - {0x2110,0x2110,0x2110}, {0x2111,0x2111,0x2111}, /* 2110 */ - {0x2112,0x2112,0x2112}, {0x2113,0x2113,0x2113}, /* 2112 */ - {0x2114,0x2114,0x2114}, {0x2115,0x2115,0x2115}, /* 2114 */ - {0x2116,0x2116,0x2116}, {0x2117,0x2117,0x2117}, /* 2116 */ - {0x2118,0x2118,0x2118}, {0x2119,0x2119,0x2119}, /* 2118 */ - {0x211A,0x211A,0x211A}, {0x211B,0x211B,0x211B}, /* 211A */ - {0x211C,0x211C,0x211C}, {0x211D,0x211D,0x211D}, /* 211C */ - {0x211E,0x211E,0x211E}, {0x211F,0x211F,0x211F}, /* 211E */ - {0x2120,0x2120,0x2120}, {0x2121,0x2121,0x2121}, /* 2120 */ - {0x2122,0x2122,0x2122}, {0x2123,0x2123,0x2123}, /* 2122 */ - {0x2124,0x2124,0x2124}, {0x2125,0x2125,0x2125}, /* 2124 */ - {0x2126,0x03C9,0x2126}, {0x2127,0x2127,0x2127}, /* 2126 */ - {0x2128,0x2128,0x2128}, {0x2129,0x2129,0x2129}, /* 2128 */ - {0x212A,0x006B,0x212A}, {0x212B,0x00E5,0x212B}, /* 212A */ - {0x212C,0x212C,0x212C}, {0x212D,0x212D,0x212D}, /* 212C */ - {0x212E,0x212E,0x212E}, {0x212F,0x212F,0x212F}, /* 212E */ - {0x2130,0x2130,0x2130}, {0x2131,0x2131,0x2131}, /* 2130 */ - {0x2132,0x214E,0x2132}, {0x2133,0x2133,0x2133}, /* 2132 */ - {0x2134,0x2134,0x2134}, {0x2135,0x2135,0x2135}, /* 2134 */ - {0x2136,0x2136,0x2136}, {0x2137,0x2137,0x2137}, /* 2136 */ - {0x2138,0x2138,0x2138}, {0x2139,0x2139,0x2139}, /* 2138 */ - {0x213A,0x213A,0x213A}, {0x213B,0x213B,0x213B}, /* 213A */ - {0x213C,0x213C,0x213C}, {0x213D,0x213D,0x213D}, /* 213C */ - {0x213E,0x213E,0x213E}, {0x213F,0x213F,0x213F}, /* 213E */ - {0x2140,0x2140,0x2140}, {0x2141,0x2141,0x2141}, /* 2140 */ - {0x2142,0x2142,0x2142}, {0x2143,0x2143,0x2143}, /* 2142 */ - {0x2144,0x2144,0x2144}, {0x2145,0x2145,0x2145}, /* 2144 */ - {0x2146,0x2146,0x2146}, {0x2147,0x2147,0x2147}, /* 2146 */ - {0x2148,0x2148,0x2148}, {0x2149,0x2149,0x2149}, /* 2148 */ - {0x214A,0x214A,0x214A}, {0x214B,0x214B,0x214B}, /* 214A */ - {0x214C,0x214C,0x214C}, {0x214D,0x214D,0x214D}, /* 214C */ - {0x2132,0x214E,0x2132}, {0x214F,0x214F,0x214F}, /* 214E */ - {0x2150,0x2150,0x2150}, {0x2151,0x2151,0x2151}, /* 2150 */ - {0x2152,0x2152,0x2152}, {0x2153,0x2153,0x2153}, /* 2152 */ - {0x2154,0x2154,0x2154}, {0x2155,0x2155,0x2155}, /* 2154 */ - {0x2156,0x2156,0x2156}, {0x2157,0x2157,0x2157}, /* 2156 */ - {0x2158,0x2158,0x2158}, {0x2159,0x2159,0x2159}, /* 2158 */ - {0x215A,0x215A,0x215A}, {0x215B,0x215B,0x215B}, /* 215A */ - {0x215C,0x215C,0x215C}, {0x215D,0x215D,0x215D}, /* 215C */ - {0x215E,0x215E,0x215E}, {0x215F,0x215F,0x215F}, /* 215E */ - {0x2160,0x2170,0x2160}, {0x2161,0x2171,0x2161}, /* 2160 */ - {0x2162,0x2172,0x2162}, {0x2163,0x2173,0x2163}, /* 2162 */ - {0x2164,0x2174,0x2164}, {0x2165,0x2175,0x2165}, /* 2164 */ - {0x2166,0x2176,0x2166}, {0x2167,0x2177,0x2167}, /* 2166 */ - {0x2168,0x2178,0x2168}, {0x2169,0x2179,0x2169}, /* 2168 */ - {0x216A,0x217A,0x216A}, {0x216B,0x217B,0x216B}, /* 216A */ - {0x216C,0x217C,0x216C}, {0x216D,0x217D,0x216D}, /* 216C */ - {0x216E,0x217E,0x216E}, {0x216F,0x217F,0x216F}, /* 216E */ - {0x2160,0x2170,0x2160}, {0x2161,0x2171,0x2161}, /* 2170 */ - {0x2162,0x2172,0x2162}, {0x2163,0x2173,0x2163}, /* 2172 */ - {0x2164,0x2174,0x2164}, {0x2165,0x2175,0x2165}, /* 2174 */ - {0x2166,0x2176,0x2166}, {0x2167,0x2177,0x2167}, /* 2176 */ - {0x2168,0x2178,0x2168}, {0x2169,0x2179,0x2169}, /* 2178 */ - {0x216A,0x217A,0x216A}, {0x216B,0x217B,0x216B}, /* 217A */ - {0x216C,0x217C,0x216C}, {0x216D,0x217D,0x216D}, /* 217C */ - {0x216E,0x217E,0x216E}, {0x216F,0x217F,0x216F}, /* 217E */ - {0x2180,0x2180,0x2180}, {0x2181,0x2181,0x2181}, /* 2180 */ - {0x2182,0x2182,0x2182}, {0x2183,0x2184,0x2183}, /* 2182 */ - {0x2183,0x2184,0x2183}, {0x2185,0x2185,0x2185}, /* 2184 */ - {0x2186,0x2186,0x2186}, {0x2187,0x2187,0x2187}, /* 2186 */ - {0x2188,0x2188,0x2188}, {0x2189,0x2189,0x2189}, /* 2188 */ - {0x218A,0x218A,0x218A}, {0x218B,0x218B,0x218B}, /* 218A */ - {0x218C,0x218C,0x218C}, {0x218D,0x218D,0x218D}, /* 218C */ - {0x218E,0x218E,0x218E}, {0x218F,0x218F,0x218F}, /* 218E */ - {0x2190,0x2190,0x2190}, {0x2191,0x2191,0x2191}, /* 2190 */ - {0x2192,0x2192,0x2192}, {0x2193,0x2193,0x2193}, /* 2192 */ - {0x2194,0x2194,0x2194}, {0x2195,0x2195,0x2195}, /* 2194 */ - {0x2196,0x2196,0x2196}, {0x2197,0x2197,0x2197}, /* 2196 */ - {0x2198,0x2198,0x2198}, {0x2199,0x2199,0x2199}, /* 2198 */ - {0x219A,0x219A,0x219A}, {0x219B,0x219B,0x219B}, /* 219A */ - {0x219C,0x219C,0x219C}, {0x219D,0x219D,0x219D}, /* 219C */ - {0x219E,0x219E,0x219E}, {0x219F,0x219F,0x219F}, /* 219E */ - {0x21A0,0x21A0,0x21A0}, {0x21A1,0x21A1,0x21A1}, /* 21A0 */ - {0x21A2,0x21A2,0x21A2}, {0x21A3,0x21A3,0x21A3}, /* 21A2 */ - {0x21A4,0x21A4,0x21A4}, {0x21A5,0x21A5,0x21A5}, /* 21A4 */ - {0x21A6,0x21A6,0x21A6}, {0x21A7,0x21A7,0x21A7}, /* 21A6 */ - {0x21A8,0x21A8,0x21A8}, {0x21A9,0x21A9,0x21A9}, /* 21A8 */ - {0x21AA,0x21AA,0x21AA}, {0x21AB,0x21AB,0x21AB}, /* 21AA */ - {0x21AC,0x21AC,0x21AC}, {0x21AD,0x21AD,0x21AD}, /* 21AC */ - {0x21AE,0x21AE,0x21AE}, {0x21AF,0x21AF,0x21AF}, /* 21AE */ - {0x21B0,0x21B0,0x21B0}, {0x21B1,0x21B1,0x21B1}, /* 21B0 */ - {0x21B2,0x21B2,0x21B2}, {0x21B3,0x21B3,0x21B3}, /* 21B2 */ - {0x21B4,0x21B4,0x21B4}, {0x21B5,0x21B5,0x21B5}, /* 21B4 */ - {0x21B6,0x21B6,0x21B6}, {0x21B7,0x21B7,0x21B7}, /* 21B6 */ - {0x21B8,0x21B8,0x21B8}, {0x21B9,0x21B9,0x21B9}, /* 21B8 */ - {0x21BA,0x21BA,0x21BA}, {0x21BB,0x21BB,0x21BB}, /* 21BA */ - {0x21BC,0x21BC,0x21BC}, {0x21BD,0x21BD,0x21BD}, /* 21BC */ - {0x21BE,0x21BE,0x21BE}, {0x21BF,0x21BF,0x21BF}, /* 21BE */ - {0x21C0,0x21C0,0x21C0}, {0x21C1,0x21C1,0x21C1}, /* 21C0 */ - {0x21C2,0x21C2,0x21C2}, {0x21C3,0x21C3,0x21C3}, /* 21C2 */ - {0x21C4,0x21C4,0x21C4}, {0x21C5,0x21C5,0x21C5}, /* 21C4 */ - {0x21C6,0x21C6,0x21C6}, {0x21C7,0x21C7,0x21C7}, /* 21C6 */ - {0x21C8,0x21C8,0x21C8}, {0x21C9,0x21C9,0x21C9}, /* 21C8 */ - {0x21CA,0x21CA,0x21CA}, {0x21CB,0x21CB,0x21CB}, /* 21CA */ - {0x21CC,0x21CC,0x21CC}, {0x21CD,0x21CD,0x21CD}, /* 21CC */ - {0x21CE,0x21CE,0x21CE}, {0x21CF,0x21CF,0x21CF}, /* 21CE */ - {0x21D0,0x21D0,0x21D0}, {0x21D1,0x21D1,0x21D1}, /* 21D0 */ - {0x21D2,0x21D2,0x21D2}, {0x21D3,0x21D3,0x21D3}, /* 21D2 */ - {0x21D4,0x21D4,0x21D4}, {0x21D5,0x21D5,0x21D5}, /* 21D4 */ - {0x21D6,0x21D6,0x21D6}, {0x21D7,0x21D7,0x21D7}, /* 21D6 */ - {0x21D8,0x21D8,0x21D8}, {0x21D9,0x21D9,0x21D9}, /* 21D8 */ - {0x21DA,0x21DA,0x21DA}, {0x21DB,0x21DB,0x21DB}, /* 21DA */ - {0x21DC,0x21DC,0x21DC}, {0x21DD,0x21DD,0x21DD}, /* 21DC */ - {0x21DE,0x21DE,0x21DE}, {0x21DF,0x21DF,0x21DF}, /* 21DE */ - {0x21E0,0x21E0,0x21E0}, {0x21E1,0x21E1,0x21E1}, /* 21E0 */ - {0x21E2,0x21E2,0x21E2}, {0x21E3,0x21E3,0x21E3}, /* 21E2 */ - {0x21E4,0x21E4,0x21E4}, {0x21E5,0x21E5,0x21E5}, /* 21E4 */ - {0x21E6,0x21E6,0x21E6}, {0x21E7,0x21E7,0x21E7}, /* 21E6 */ - {0x21E8,0x21E8,0x21E8}, {0x21E9,0x21E9,0x21E9}, /* 21E8 */ - {0x21EA,0x21EA,0x21EA}, {0x21EB,0x21EB,0x21EB}, /* 21EA */ - {0x21EC,0x21EC,0x21EC}, {0x21ED,0x21ED,0x21ED}, /* 21EC */ - {0x21EE,0x21EE,0x21EE}, {0x21EF,0x21EF,0x21EF}, /* 21EE */ - {0x21F0,0x21F0,0x21F0}, {0x21F1,0x21F1,0x21F1}, /* 21F0 */ - {0x21F2,0x21F2,0x21F2}, {0x21F3,0x21F3,0x21F3}, /* 21F2 */ - {0x21F4,0x21F4,0x21F4}, {0x21F5,0x21F5,0x21F5}, /* 21F4 */ - {0x21F6,0x21F6,0x21F6}, {0x21F7,0x21F7,0x21F7}, /* 21F6 */ - {0x21F8,0x21F8,0x21F8}, {0x21F9,0x21F9,0x21F9}, /* 21F8 */ - {0x21FA,0x21FA,0x21FA}, {0x21FB,0x21FB,0x21FB}, /* 21FA */ - {0x21FC,0x21FC,0x21FC}, {0x21FD,0x21FD,0x21FD}, /* 21FC */ - {0x21FE,0x21FE,0x21FE}, {0x21FF,0x21FF,0x21FF} /* 21FE */ -}; - -static MY_UNICASE_CHARACTER u520p24[]={ - {0x2400,0x2400,0x2400}, {0x2401,0x2401,0x2401}, /* 2400 */ - {0x2402,0x2402,0x2402}, {0x2403,0x2403,0x2403}, /* 2402 */ - {0x2404,0x2404,0x2404}, {0x2405,0x2405,0x2405}, /* 2404 */ - {0x2406,0x2406,0x2406}, {0x2407,0x2407,0x2407}, /* 2406 */ - {0x2408,0x2408,0x2408}, {0x2409,0x2409,0x2409}, /* 2408 */ - {0x240A,0x240A,0x240A}, {0x240B,0x240B,0x240B}, /* 240A */ - {0x240C,0x240C,0x240C}, {0x240D,0x240D,0x240D}, /* 240C */ - {0x240E,0x240E,0x240E}, {0x240F,0x240F,0x240F}, /* 240E */ - {0x2410,0x2410,0x2410}, {0x2411,0x2411,0x2411}, /* 2410 */ - {0x2412,0x2412,0x2412}, {0x2413,0x2413,0x2413}, /* 2412 */ - {0x2414,0x2414,0x2414}, {0x2415,0x2415,0x2415}, /* 2414 */ - {0x2416,0x2416,0x2416}, {0x2417,0x2417,0x2417}, /* 2416 */ - {0x2418,0x2418,0x2418}, {0x2419,0x2419,0x2419}, /* 2418 */ - {0x241A,0x241A,0x241A}, {0x241B,0x241B,0x241B}, /* 241A */ - {0x241C,0x241C,0x241C}, {0x241D,0x241D,0x241D}, /* 241C */ - {0x241E,0x241E,0x241E}, {0x241F,0x241F,0x241F}, /* 241E */ - {0x2420,0x2420,0x2420}, {0x2421,0x2421,0x2421}, /* 2420 */ - {0x2422,0x2422,0x2422}, {0x2423,0x2423,0x2423}, /* 2422 */ - {0x2424,0x2424,0x2424}, {0x2425,0x2425,0x2425}, /* 2424 */ - {0x2426,0x2426,0x2426}, {0x2427,0x2427,0x2427}, /* 2426 */ - {0x2428,0x2428,0x2428}, {0x2429,0x2429,0x2429}, /* 2428 */ - {0x242A,0x242A,0x242A}, {0x242B,0x242B,0x242B}, /* 242A */ - {0x242C,0x242C,0x242C}, {0x242D,0x242D,0x242D}, /* 242C */ - {0x242E,0x242E,0x242E}, {0x242F,0x242F,0x242F}, /* 242E */ - {0x2430,0x2430,0x2430}, {0x2431,0x2431,0x2431}, /* 2430 */ - {0x2432,0x2432,0x2432}, {0x2433,0x2433,0x2433}, /* 2432 */ - {0x2434,0x2434,0x2434}, {0x2435,0x2435,0x2435}, /* 2434 */ - {0x2436,0x2436,0x2436}, {0x2437,0x2437,0x2437}, /* 2436 */ - {0x2438,0x2438,0x2438}, {0x2439,0x2439,0x2439}, /* 2438 */ - {0x243A,0x243A,0x243A}, {0x243B,0x243B,0x243B}, /* 243A */ - {0x243C,0x243C,0x243C}, {0x243D,0x243D,0x243D}, /* 243C */ - {0x243E,0x243E,0x243E}, {0x243F,0x243F,0x243F}, /* 243E */ - {0x2440,0x2440,0x2440}, {0x2441,0x2441,0x2441}, /* 2440 */ - {0x2442,0x2442,0x2442}, {0x2443,0x2443,0x2443}, /* 2442 */ - {0x2444,0x2444,0x2444}, {0x2445,0x2445,0x2445}, /* 2444 */ - {0x2446,0x2446,0x2446}, {0x2447,0x2447,0x2447}, /* 2446 */ - {0x2448,0x2448,0x2448}, {0x2449,0x2449,0x2449}, /* 2448 */ - {0x244A,0x244A,0x244A}, {0x244B,0x244B,0x244B}, /* 244A */ - {0x244C,0x244C,0x244C}, {0x244D,0x244D,0x244D}, /* 244C */ - {0x244E,0x244E,0x244E}, {0x244F,0x244F,0x244F}, /* 244E */ - {0x2450,0x2450,0x2450}, {0x2451,0x2451,0x2451}, /* 2450 */ - {0x2452,0x2452,0x2452}, {0x2453,0x2453,0x2453}, /* 2452 */ - {0x2454,0x2454,0x2454}, {0x2455,0x2455,0x2455}, /* 2454 */ - {0x2456,0x2456,0x2456}, {0x2457,0x2457,0x2457}, /* 2456 */ - {0x2458,0x2458,0x2458}, {0x2459,0x2459,0x2459}, /* 2458 */ - {0x245A,0x245A,0x245A}, {0x245B,0x245B,0x245B}, /* 245A */ - {0x245C,0x245C,0x245C}, {0x245D,0x245D,0x245D}, /* 245C */ - {0x245E,0x245E,0x245E}, {0x245F,0x245F,0x245F}, /* 245E */ - {0x2460,0x2460,0x2460}, {0x2461,0x2461,0x2461}, /* 2460 */ - {0x2462,0x2462,0x2462}, {0x2463,0x2463,0x2463}, /* 2462 */ - {0x2464,0x2464,0x2464}, {0x2465,0x2465,0x2465}, /* 2464 */ - {0x2466,0x2466,0x2466}, {0x2467,0x2467,0x2467}, /* 2466 */ - {0x2468,0x2468,0x2468}, {0x2469,0x2469,0x2469}, /* 2468 */ - {0x246A,0x246A,0x246A}, {0x246B,0x246B,0x246B}, /* 246A */ - {0x246C,0x246C,0x246C}, {0x246D,0x246D,0x246D}, /* 246C */ - {0x246E,0x246E,0x246E}, {0x246F,0x246F,0x246F}, /* 246E */ - {0x2470,0x2470,0x2470}, {0x2471,0x2471,0x2471}, /* 2470 */ - {0x2472,0x2472,0x2472}, {0x2473,0x2473,0x2473}, /* 2472 */ - {0x2474,0x2474,0x2474}, {0x2475,0x2475,0x2475}, /* 2474 */ - {0x2476,0x2476,0x2476}, {0x2477,0x2477,0x2477}, /* 2476 */ - {0x2478,0x2478,0x2478}, {0x2479,0x2479,0x2479}, /* 2478 */ - {0x247A,0x247A,0x247A}, {0x247B,0x247B,0x247B}, /* 247A */ - {0x247C,0x247C,0x247C}, {0x247D,0x247D,0x247D}, /* 247C */ - {0x247E,0x247E,0x247E}, {0x247F,0x247F,0x247F}, /* 247E */ - {0x2480,0x2480,0x2480}, {0x2481,0x2481,0x2481}, /* 2480 */ - {0x2482,0x2482,0x2482}, {0x2483,0x2483,0x2483}, /* 2482 */ - {0x2484,0x2484,0x2484}, {0x2485,0x2485,0x2485}, /* 2484 */ - {0x2486,0x2486,0x2486}, {0x2487,0x2487,0x2487}, /* 2486 */ - {0x2488,0x2488,0x2488}, {0x2489,0x2489,0x2489}, /* 2488 */ - {0x248A,0x248A,0x248A}, {0x248B,0x248B,0x248B}, /* 248A */ - {0x248C,0x248C,0x248C}, {0x248D,0x248D,0x248D}, /* 248C */ - {0x248E,0x248E,0x248E}, {0x248F,0x248F,0x248F}, /* 248E */ - {0x2490,0x2490,0x2490}, {0x2491,0x2491,0x2491}, /* 2490 */ - {0x2492,0x2492,0x2492}, {0x2493,0x2493,0x2493}, /* 2492 */ - {0x2494,0x2494,0x2494}, {0x2495,0x2495,0x2495}, /* 2494 */ - {0x2496,0x2496,0x2496}, {0x2497,0x2497,0x2497}, /* 2496 */ - {0x2498,0x2498,0x2498}, {0x2499,0x2499,0x2499}, /* 2498 */ - {0x249A,0x249A,0x249A}, {0x249B,0x249B,0x249B}, /* 249A */ - {0x249C,0x249C,0x249C}, {0x249D,0x249D,0x249D}, /* 249C */ - {0x249E,0x249E,0x249E}, {0x249F,0x249F,0x249F}, /* 249E */ - {0x24A0,0x24A0,0x24A0}, {0x24A1,0x24A1,0x24A1}, /* 24A0 */ - {0x24A2,0x24A2,0x24A2}, {0x24A3,0x24A3,0x24A3}, /* 24A2 */ - {0x24A4,0x24A4,0x24A4}, {0x24A5,0x24A5,0x24A5}, /* 24A4 */ - {0x24A6,0x24A6,0x24A6}, {0x24A7,0x24A7,0x24A7}, /* 24A6 */ - {0x24A8,0x24A8,0x24A8}, {0x24A9,0x24A9,0x24A9}, /* 24A8 */ - {0x24AA,0x24AA,0x24AA}, {0x24AB,0x24AB,0x24AB}, /* 24AA */ - {0x24AC,0x24AC,0x24AC}, {0x24AD,0x24AD,0x24AD}, /* 24AC */ - {0x24AE,0x24AE,0x24AE}, {0x24AF,0x24AF,0x24AF}, /* 24AE */ - {0x24B0,0x24B0,0x24B0}, {0x24B1,0x24B1,0x24B1}, /* 24B0 */ - {0x24B2,0x24B2,0x24B2}, {0x24B3,0x24B3,0x24B3}, /* 24B2 */ - {0x24B4,0x24B4,0x24B4}, {0x24B5,0x24B5,0x24B5}, /* 24B4 */ - {0x24B6,0x24D0,0x24B6}, {0x24B7,0x24D1,0x24B7}, /* 24B6 */ - {0x24B8,0x24D2,0x24B8}, {0x24B9,0x24D3,0x24B9}, /* 24B8 */ - {0x24BA,0x24D4,0x24BA}, {0x24BB,0x24D5,0x24BB}, /* 24BA */ - {0x24BC,0x24D6,0x24BC}, {0x24BD,0x24D7,0x24BD}, /* 24BC */ - {0x24BE,0x24D8,0x24BE}, {0x24BF,0x24D9,0x24BF}, /* 24BE */ - {0x24C0,0x24DA,0x24C0}, {0x24C1,0x24DB,0x24C1}, /* 24C0 */ - {0x24C2,0x24DC,0x24C2}, {0x24C3,0x24DD,0x24C3}, /* 24C2 */ - {0x24C4,0x24DE,0x24C4}, {0x24C5,0x24DF,0x24C5}, /* 24C4 */ - {0x24C6,0x24E0,0x24C6}, {0x24C7,0x24E1,0x24C7}, /* 24C6 */ - {0x24C8,0x24E2,0x24C8}, {0x24C9,0x24E3,0x24C9}, /* 24C8 */ - {0x24CA,0x24E4,0x24CA}, {0x24CB,0x24E5,0x24CB}, /* 24CA */ - {0x24CC,0x24E6,0x24CC}, {0x24CD,0x24E7,0x24CD}, /* 24CC */ - {0x24CE,0x24E8,0x24CE}, {0x24CF,0x24E9,0x24CF}, /* 24CE */ - {0x24B6,0x24D0,0x24B6}, {0x24B7,0x24D1,0x24B7}, /* 24D0 */ - {0x24B8,0x24D2,0x24B8}, {0x24B9,0x24D3,0x24B9}, /* 24D2 */ - {0x24BA,0x24D4,0x24BA}, {0x24BB,0x24D5,0x24BB}, /* 24D4 */ - {0x24BC,0x24D6,0x24BC}, {0x24BD,0x24D7,0x24BD}, /* 24D6 */ - {0x24BE,0x24D8,0x24BE}, {0x24BF,0x24D9,0x24BF}, /* 24D8 */ - {0x24C0,0x24DA,0x24C0}, {0x24C1,0x24DB,0x24C1}, /* 24DA */ - {0x24C2,0x24DC,0x24C2}, {0x24C3,0x24DD,0x24C3}, /* 24DC */ - {0x24C4,0x24DE,0x24C4}, {0x24C5,0x24DF,0x24C5}, /* 24DE */ - {0x24C6,0x24E0,0x24C6}, {0x24C7,0x24E1,0x24C7}, /* 24E0 */ - {0x24C8,0x24E2,0x24C8}, {0x24C9,0x24E3,0x24C9}, /* 24E2 */ - {0x24CA,0x24E4,0x24CA}, {0x24CB,0x24E5,0x24CB}, /* 24E4 */ - {0x24CC,0x24E6,0x24CC}, {0x24CD,0x24E7,0x24CD}, /* 24E6 */ - {0x24CE,0x24E8,0x24CE}, {0x24CF,0x24E9,0x24CF}, /* 24E8 */ - {0x24EA,0x24EA,0x24EA}, {0x24EB,0x24EB,0x24EB}, /* 24EA */ - {0x24EC,0x24EC,0x24EC}, {0x24ED,0x24ED,0x24ED}, /* 24EC */ - {0x24EE,0x24EE,0x24EE}, {0x24EF,0x24EF,0x24EF}, /* 24EE */ - {0x24F0,0x24F0,0x24F0}, {0x24F1,0x24F1,0x24F1}, /* 24F0 */ - {0x24F2,0x24F2,0x24F2}, {0x24F3,0x24F3,0x24F3}, /* 24F2 */ - {0x24F4,0x24F4,0x24F4}, {0x24F5,0x24F5,0x24F5}, /* 24F4 */ - {0x24F6,0x24F6,0x24F6}, {0x24F7,0x24F7,0x24F7}, /* 24F6 */ - {0x24F8,0x24F8,0x24F8}, {0x24F9,0x24F9,0x24F9}, /* 24F8 */ - {0x24FA,0x24FA,0x24FA}, {0x24FB,0x24FB,0x24FB}, /* 24FA */ - {0x24FC,0x24FC,0x24FC}, {0x24FD,0x24FD,0x24FD}, /* 24FC */ - {0x24FE,0x24FE,0x24FE}, {0x24FF,0x24FF,0x24FF} /* 24FE */ -}; - -static MY_UNICASE_CHARACTER u520p2C[]={ - {0x2C00,0x2C30,0x2C00}, {0x2C01,0x2C31,0x2C01}, /* 2C00 */ - {0x2C02,0x2C32,0x2C02}, {0x2C03,0x2C33,0x2C03}, /* 2C02 */ - {0x2C04,0x2C34,0x2C04}, {0x2C05,0x2C35,0x2C05}, /* 2C04 */ - {0x2C06,0x2C36,0x2C06}, {0x2C07,0x2C37,0x2C07}, /* 2C06 */ - {0x2C08,0x2C38,0x2C08}, {0x2C09,0x2C39,0x2C09}, /* 2C08 */ - {0x2C0A,0x2C3A,0x2C0A}, {0x2C0B,0x2C3B,0x2C0B}, /* 2C0A */ - {0x2C0C,0x2C3C,0x2C0C}, {0x2C0D,0x2C3D,0x2C0D}, /* 2C0C */ - {0x2C0E,0x2C3E,0x2C0E}, {0x2C0F,0x2C3F,0x2C0F}, /* 2C0E */ - {0x2C10,0x2C40,0x2C10}, {0x2C11,0x2C41,0x2C11}, /* 2C10 */ - {0x2C12,0x2C42,0x2C12}, {0x2C13,0x2C43,0x2C13}, /* 2C12 */ - {0x2C14,0x2C44,0x2C14}, {0x2C15,0x2C45,0x2C15}, /* 2C14 */ - {0x2C16,0x2C46,0x2C16}, {0x2C17,0x2C47,0x2C17}, /* 2C16 */ - {0x2C18,0x2C48,0x2C18}, {0x2C19,0x2C49,0x2C19}, /* 2C18 */ - {0x2C1A,0x2C4A,0x2C1A}, {0x2C1B,0x2C4B,0x2C1B}, /* 2C1A */ - {0x2C1C,0x2C4C,0x2C1C}, {0x2C1D,0x2C4D,0x2C1D}, /* 2C1C */ - {0x2C1E,0x2C4E,0x2C1E}, {0x2C1F,0x2C4F,0x2C1F}, /* 2C1E */ - {0x2C20,0x2C50,0x2C20}, {0x2C21,0x2C51,0x2C21}, /* 2C20 */ - {0x2C22,0x2C52,0x2C22}, {0x2C23,0x2C53,0x2C23}, /* 2C22 */ - {0x2C24,0x2C54,0x2C24}, {0x2C25,0x2C55,0x2C25}, /* 2C24 */ - {0x2C26,0x2C56,0x2C26}, {0x2C27,0x2C57,0x2C27}, /* 2C26 */ - {0x2C28,0x2C58,0x2C28}, {0x2C29,0x2C59,0x2C29}, /* 2C28 */ - {0x2C2A,0x2C5A,0x2C2A}, {0x2C2B,0x2C5B,0x2C2B}, /* 2C2A */ - {0x2C2C,0x2C5C,0x2C2C}, {0x2C2D,0x2C5D,0x2C2D}, /* 2C2C */ - {0x2C2E,0x2C5E,0x2C2E}, {0x2C2F,0x2C2F,0x2C2F}, /* 2C2E */ - {0x2C00,0x2C30,0x2C00}, {0x2C01,0x2C31,0x2C01}, /* 2C30 */ - {0x2C02,0x2C32,0x2C02}, {0x2C03,0x2C33,0x2C03}, /* 2C32 */ - {0x2C04,0x2C34,0x2C04}, {0x2C05,0x2C35,0x2C05}, /* 2C34 */ - {0x2C06,0x2C36,0x2C06}, {0x2C07,0x2C37,0x2C07}, /* 2C36 */ - {0x2C08,0x2C38,0x2C08}, {0x2C09,0x2C39,0x2C09}, /* 2C38 */ - {0x2C0A,0x2C3A,0x2C0A}, {0x2C0B,0x2C3B,0x2C0B}, /* 2C3A */ - {0x2C0C,0x2C3C,0x2C0C}, {0x2C0D,0x2C3D,0x2C0D}, /* 2C3C */ - {0x2C0E,0x2C3E,0x2C0E}, {0x2C0F,0x2C3F,0x2C0F}, /* 2C3E */ - {0x2C10,0x2C40,0x2C10}, {0x2C11,0x2C41,0x2C11}, /* 2C40 */ - {0x2C12,0x2C42,0x2C12}, {0x2C13,0x2C43,0x2C13}, /* 2C42 */ - {0x2C14,0x2C44,0x2C14}, {0x2C15,0x2C45,0x2C15}, /* 2C44 */ - {0x2C16,0x2C46,0x2C16}, {0x2C17,0x2C47,0x2C17}, /* 2C46 */ - {0x2C18,0x2C48,0x2C18}, {0x2C19,0x2C49,0x2C19}, /* 2C48 */ - {0x2C1A,0x2C4A,0x2C1A}, {0x2C1B,0x2C4B,0x2C1B}, /* 2C4A */ - {0x2C1C,0x2C4C,0x2C1C}, {0x2C1D,0x2C4D,0x2C1D}, /* 2C4C */ - {0x2C1E,0x2C4E,0x2C1E}, {0x2C1F,0x2C4F,0x2C1F}, /* 2C4E */ - {0x2C20,0x2C50,0x2C20}, {0x2C21,0x2C51,0x2C21}, /* 2C50 */ - {0x2C22,0x2C52,0x2C22}, {0x2C23,0x2C53,0x2C23}, /* 2C52 */ - {0x2C24,0x2C54,0x2C24}, {0x2C25,0x2C55,0x2C25}, /* 2C54 */ - {0x2C26,0x2C56,0x2C26}, {0x2C27,0x2C57,0x2C27}, /* 2C56 */ - {0x2C28,0x2C58,0x2C28}, {0x2C29,0x2C59,0x2C29}, /* 2C58 */ - {0x2C2A,0x2C5A,0x2C2A}, {0x2C2B,0x2C5B,0x2C2B}, /* 2C5A */ - {0x2C2C,0x2C5C,0x2C2C}, {0x2C2D,0x2C5D,0x2C2D}, /* 2C5C */ - {0x2C2E,0x2C5E,0x2C2E}, {0x2C5F,0x2C5F,0x2C5F}, /* 2C5E */ - {0x2C60,0x2C61,0x2C60}, {0x2C60,0x2C61,0x2C60}, /* 2C60 */ - {0x2C62,0x026B,0x2C62}, {0x2C63,0x1D7D,0x2C63}, /* 2C62 */ - {0x2C64,0x027D,0x2C64}, {0x023A,0x2C65,0x023A}, /* 2C64 */ - {0x023E,0x2C66,0x023E}, {0x2C67,0x2C68,0x2C67}, /* 2C66 */ - {0x2C67,0x2C68,0x2C67}, {0x2C69,0x2C6A,0x2C69}, /* 2C68 */ - {0x2C69,0x2C6A,0x2C69}, {0x2C6B,0x2C6C,0x2C6B}, /* 2C6A */ - {0x2C6B,0x2C6C,0x2C6B}, {0x2C6D,0x0251,0x2C6D}, /* 2C6C */ - {0x2C6E,0x0271,0x2C6E}, {0x2C6F,0x0250,0x2C6F}, /* 2C6E */ - {0x2C70,0x0252,0x2C70}, {0x2C71,0x2C71,0x2C71}, /* 2C70 */ - {0x2C72,0x2C73,0x2C72}, {0x2C72,0x2C73,0x2C72}, /* 2C72 */ - {0x2C74,0x2C74,0x2C74}, {0x2C75,0x2C76,0x2C75}, /* 2C74 */ - {0x2C75,0x2C76,0x2C75}, {0x2C77,0x2C77,0x2C77}, /* 2C76 */ - {0x2C78,0x2C78,0x2C78}, {0x2C79,0x2C79,0x2C79}, /* 2C78 */ - {0x2C7A,0x2C7A,0x2C7A}, {0x2C7B,0x2C7B,0x2C7B}, /* 2C7A */ - {0x2C7C,0x2C7C,0x2C7C}, {0x2C7D,0x2C7D,0x2C7D}, /* 2C7C */ - {0x2C7E,0x023F,0x2C7E}, {0x2C7F,0x0240,0x2C7F}, /* 2C7E */ - {0x2C80,0x2C81,0x2C80}, {0x2C80,0x2C81,0x2C80}, /* 2C80 */ - {0x2C82,0x2C83,0x2C82}, {0x2C82,0x2C83,0x2C82}, /* 2C82 */ - {0x2C84,0x2C85,0x2C84}, {0x2C84,0x2C85,0x2C84}, /* 2C84 */ - {0x2C86,0x2C87,0x2C86}, {0x2C86,0x2C87,0x2C86}, /* 2C86 */ - {0x2C88,0x2C89,0x2C88}, {0x2C88,0x2C89,0x2C88}, /* 2C88 */ - {0x2C8A,0x2C8B,0x2C8A}, {0x2C8A,0x2C8B,0x2C8A}, /* 2C8A */ - {0x2C8C,0x2C8D,0x2C8C}, {0x2C8C,0x2C8D,0x2C8C}, /* 2C8C */ - {0x2C8E,0x2C8F,0x2C8E}, {0x2C8E,0x2C8F,0x2C8E}, /* 2C8E */ - {0x2C90,0x2C91,0x2C90}, {0x2C90,0x2C91,0x2C90}, /* 2C90 */ - {0x2C92,0x2C93,0x2C92}, {0x2C92,0x2C93,0x2C92}, /* 2C92 */ - {0x2C94,0x2C95,0x2C94}, {0x2C94,0x2C95,0x2C94}, /* 2C94 */ - {0x2C96,0x2C97,0x2C96}, {0x2C96,0x2C97,0x2C96}, /* 2C96 */ - {0x2C98,0x2C99,0x2C98}, {0x2C98,0x2C99,0x2C98}, /* 2C98 */ - {0x2C9A,0x2C9B,0x2C9A}, {0x2C9A,0x2C9B,0x2C9A}, /* 2C9A */ - {0x2C9C,0x2C9D,0x2C9C}, {0x2C9C,0x2C9D,0x2C9C}, /* 2C9C */ - {0x2C9E,0x2C9F,0x2C9E}, {0x2C9E,0x2C9F,0x2C9E}, /* 2C9E */ - {0x2CA0,0x2CA1,0x2CA0}, {0x2CA0,0x2CA1,0x2CA0}, /* 2CA0 */ - {0x2CA2,0x2CA3,0x2CA2}, {0x2CA2,0x2CA3,0x2CA2}, /* 2CA2 */ - {0x2CA4,0x2CA5,0x2CA4}, {0x2CA4,0x2CA5,0x2CA4}, /* 2CA4 */ - {0x2CA6,0x2CA7,0x2CA6}, {0x2CA6,0x2CA7,0x2CA6}, /* 2CA6 */ - {0x2CA8,0x2CA9,0x2CA8}, {0x2CA8,0x2CA9,0x2CA8}, /* 2CA8 */ - {0x2CAA,0x2CAB,0x2CAA}, {0x2CAA,0x2CAB,0x2CAA}, /* 2CAA */ - {0x2CAC,0x2CAD,0x2CAC}, {0x2CAC,0x2CAD,0x2CAC}, /* 2CAC */ - {0x2CAE,0x2CAF,0x2CAE}, {0x2CAE,0x2CAF,0x2CAE}, /* 2CAE */ - {0x2CB0,0x2CB1,0x2CB0}, {0x2CB0,0x2CB1,0x2CB0}, /* 2CB0 */ - {0x2CB2,0x2CB3,0x2CB2}, {0x2CB2,0x2CB3,0x2CB2}, /* 2CB2 */ - {0x2CB4,0x2CB5,0x2CB4}, {0x2CB4,0x2CB5,0x2CB4}, /* 2CB4 */ - {0x2CB6,0x2CB7,0x2CB6}, {0x2CB6,0x2CB7,0x2CB6}, /* 2CB6 */ - {0x2CB8,0x2CB9,0x2CB8}, {0x2CB8,0x2CB9,0x2CB8}, /* 2CB8 */ - {0x2CBA,0x2CBB,0x2CBA}, {0x2CBA,0x2CBB,0x2CBA}, /* 2CBA */ - {0x2CBC,0x2CBD,0x2CBC}, {0x2CBC,0x2CBD,0x2CBC}, /* 2CBC */ - {0x2CBE,0x2CBF,0x2CBE}, {0x2CBE,0x2CBF,0x2CBE}, /* 2CBE */ - {0x2CC0,0x2CC1,0x2CC0}, {0x2CC0,0x2CC1,0x2CC0}, /* 2CC0 */ - {0x2CC2,0x2CC3,0x2CC2}, {0x2CC2,0x2CC3,0x2CC2}, /* 2CC2 */ - {0x2CC4,0x2CC5,0x2CC4}, {0x2CC4,0x2CC5,0x2CC4}, /* 2CC4 */ - {0x2CC6,0x2CC7,0x2CC6}, {0x2CC6,0x2CC7,0x2CC6}, /* 2CC6 */ - {0x2CC8,0x2CC9,0x2CC8}, {0x2CC8,0x2CC9,0x2CC8}, /* 2CC8 */ - {0x2CCA,0x2CCB,0x2CCA}, {0x2CCA,0x2CCB,0x2CCA}, /* 2CCA */ - {0x2CCC,0x2CCD,0x2CCC}, {0x2CCC,0x2CCD,0x2CCC}, /* 2CCC */ - {0x2CCE,0x2CCF,0x2CCE}, {0x2CCE,0x2CCF,0x2CCE}, /* 2CCE */ - {0x2CD0,0x2CD1,0x2CD0}, {0x2CD0,0x2CD1,0x2CD0}, /* 2CD0 */ - {0x2CD2,0x2CD3,0x2CD2}, {0x2CD2,0x2CD3,0x2CD2}, /* 2CD2 */ - {0x2CD4,0x2CD5,0x2CD4}, {0x2CD4,0x2CD5,0x2CD4}, /* 2CD4 */ - {0x2CD6,0x2CD7,0x2CD6}, {0x2CD6,0x2CD7,0x2CD6}, /* 2CD6 */ - {0x2CD8,0x2CD9,0x2CD8}, {0x2CD8,0x2CD9,0x2CD8}, /* 2CD8 */ - {0x2CDA,0x2CDB,0x2CDA}, {0x2CDA,0x2CDB,0x2CDA}, /* 2CDA */ - {0x2CDC,0x2CDD,0x2CDC}, {0x2CDC,0x2CDD,0x2CDC}, /* 2CDC */ - {0x2CDE,0x2CDF,0x2CDE}, {0x2CDE,0x2CDF,0x2CDE}, /* 2CDE */ - {0x2CE0,0x2CE1,0x2CE0}, {0x2CE0,0x2CE1,0x2CE0}, /* 2CE0 */ - {0x2CE2,0x2CE3,0x2CE2}, {0x2CE2,0x2CE3,0x2CE2}, /* 2CE2 */ - {0x2CE4,0x2CE4,0x2CE4}, {0x2CE5,0x2CE5,0x2CE5}, /* 2CE4 */ - {0x2CE6,0x2CE6,0x2CE6}, {0x2CE7,0x2CE7,0x2CE7}, /* 2CE6 */ - {0x2CE8,0x2CE8,0x2CE8}, {0x2CE9,0x2CE9,0x2CE9}, /* 2CE8 */ - {0x2CEA,0x2CEA,0x2CEA}, {0x2CEB,0x2CEC,0x2CEB}, /* 2CEA */ - {0x2CEB,0x2CEC,0x2CEB}, {0x2CED,0x2CEE,0x2CED}, /* 2CEC */ - {0x2CED,0x2CEE,0x2CED}, {0x2CEF,0x2CEF,0x2CEF}, /* 2CEE */ - {0x2CF0,0x2CF0,0x2CF0}, {0x2CF1,0x2CF1,0x2CF1}, /* 2CF0 */ - {0x2CF2,0x2CF2,0x2CF2}, {0x2CF3,0x2CF3,0x2CF3}, /* 2CF2 */ - {0x2CF4,0x2CF4,0x2CF4}, {0x2CF5,0x2CF5,0x2CF5}, /* 2CF4 */ - {0x2CF6,0x2CF6,0x2CF6}, {0x2CF7,0x2CF7,0x2CF7}, /* 2CF6 */ - {0x2CF8,0x2CF8,0x2CF8}, {0x2CF9,0x2CF9,0x2CF9}, /* 2CF8 */ - {0x2CFA,0x2CFA,0x2CFA}, {0x2CFB,0x2CFB,0x2CFB}, /* 2CFA */ - {0x2CFC,0x2CFC,0x2CFC}, {0x2CFD,0x2CFD,0x2CFD}, /* 2CFC */ - {0x2CFE,0x2CFE,0x2CFE}, {0x2CFF,0x2CFF,0x2CFF} /* 2CFE */ -}; - -static MY_UNICASE_CHARACTER u520p2D[]={ - {0x10A0,0x2D00,0x10A0}, {0x10A1,0x2D01,0x10A1}, /* 2D00 */ - {0x10A2,0x2D02,0x10A2}, {0x10A3,0x2D03,0x10A3}, /* 2D02 */ - {0x10A4,0x2D04,0x10A4}, {0x10A5,0x2D05,0x10A5}, /* 2D04 */ - {0x10A6,0x2D06,0x10A6}, {0x10A7,0x2D07,0x10A7}, /* 2D06 */ - {0x10A8,0x2D08,0x10A8}, {0x10A9,0x2D09,0x10A9}, /* 2D08 */ - {0x10AA,0x2D0A,0x10AA}, {0x10AB,0x2D0B,0x10AB}, /* 2D0A */ - {0x10AC,0x2D0C,0x10AC}, {0x10AD,0x2D0D,0x10AD}, /* 2D0C */ - {0x10AE,0x2D0E,0x10AE}, {0x10AF,0x2D0F,0x10AF}, /* 2D0E */ - {0x10B0,0x2D10,0x10B0}, {0x10B1,0x2D11,0x10B1}, /* 2D10 */ - {0x10B2,0x2D12,0x10B2}, {0x10B3,0x2D13,0x10B3}, /* 2D12 */ - {0x10B4,0x2D14,0x10B4}, {0x10B5,0x2D15,0x10B5}, /* 2D14 */ - {0x10B6,0x2D16,0x10B6}, {0x10B7,0x2D17,0x10B7}, /* 2D16 */ - {0x10B8,0x2D18,0x10B8}, {0x10B9,0x2D19,0x10B9}, /* 2D18 */ - {0x10BA,0x2D1A,0x10BA}, {0x10BB,0x2D1B,0x10BB}, /* 2D1A */ - {0x10BC,0x2D1C,0x10BC}, {0x10BD,0x2D1D,0x10BD}, /* 2D1C */ - {0x10BE,0x2D1E,0x10BE}, {0x10BF,0x2D1F,0x10BF}, /* 2D1E */ - {0x10C0,0x2D20,0x10C0}, {0x10C1,0x2D21,0x10C1}, /* 2D20 */ - {0x10C2,0x2D22,0x10C2}, {0x10C3,0x2D23,0x10C3}, /* 2D22 */ - {0x10C4,0x2D24,0x10C4}, {0x10C5,0x2D25,0x10C5}, /* 2D24 */ - {0x2D26,0x2D26,0x2D26}, {0x2D27,0x2D27,0x2D27}, /* 2D26 */ - {0x2D28,0x2D28,0x2D28}, {0x2D29,0x2D29,0x2D29}, /* 2D28 */ - {0x2D2A,0x2D2A,0x2D2A}, {0x2D2B,0x2D2B,0x2D2B}, /* 2D2A */ - {0x2D2C,0x2D2C,0x2D2C}, {0x2D2D,0x2D2D,0x2D2D}, /* 2D2C */ - {0x2D2E,0x2D2E,0x2D2E}, {0x2D2F,0x2D2F,0x2D2F}, /* 2D2E */ - {0x2D30,0x2D30,0x2D30}, {0x2D31,0x2D31,0x2D31}, /* 2D30 */ - {0x2D32,0x2D32,0x2D32}, {0x2D33,0x2D33,0x2D33}, /* 2D32 */ - {0x2D34,0x2D34,0x2D34}, {0x2D35,0x2D35,0x2D35}, /* 2D34 */ - {0x2D36,0x2D36,0x2D36}, {0x2D37,0x2D37,0x2D37}, /* 2D36 */ - {0x2D38,0x2D38,0x2D38}, {0x2D39,0x2D39,0x2D39}, /* 2D38 */ - {0x2D3A,0x2D3A,0x2D3A}, {0x2D3B,0x2D3B,0x2D3B}, /* 2D3A */ - {0x2D3C,0x2D3C,0x2D3C}, {0x2D3D,0x2D3D,0x2D3D}, /* 2D3C */ - {0x2D3E,0x2D3E,0x2D3E}, {0x2D3F,0x2D3F,0x2D3F}, /* 2D3E */ - {0x2D40,0x2D40,0x2D40}, {0x2D41,0x2D41,0x2D41}, /* 2D40 */ - {0x2D42,0x2D42,0x2D42}, {0x2D43,0x2D43,0x2D43}, /* 2D42 */ - {0x2D44,0x2D44,0x2D44}, {0x2D45,0x2D45,0x2D45}, /* 2D44 */ - {0x2D46,0x2D46,0x2D46}, {0x2D47,0x2D47,0x2D47}, /* 2D46 */ - {0x2D48,0x2D48,0x2D48}, {0x2D49,0x2D49,0x2D49}, /* 2D48 */ - {0x2D4A,0x2D4A,0x2D4A}, {0x2D4B,0x2D4B,0x2D4B}, /* 2D4A */ - {0x2D4C,0x2D4C,0x2D4C}, {0x2D4D,0x2D4D,0x2D4D}, /* 2D4C */ - {0x2D4E,0x2D4E,0x2D4E}, {0x2D4F,0x2D4F,0x2D4F}, /* 2D4E */ - {0x2D50,0x2D50,0x2D50}, {0x2D51,0x2D51,0x2D51}, /* 2D50 */ - {0x2D52,0x2D52,0x2D52}, {0x2D53,0x2D53,0x2D53}, /* 2D52 */ - {0x2D54,0x2D54,0x2D54}, {0x2D55,0x2D55,0x2D55}, /* 2D54 */ - {0x2D56,0x2D56,0x2D56}, {0x2D57,0x2D57,0x2D57}, /* 2D56 */ - {0x2D58,0x2D58,0x2D58}, {0x2D59,0x2D59,0x2D59}, /* 2D58 */ - {0x2D5A,0x2D5A,0x2D5A}, {0x2D5B,0x2D5B,0x2D5B}, /* 2D5A */ - {0x2D5C,0x2D5C,0x2D5C}, {0x2D5D,0x2D5D,0x2D5D}, /* 2D5C */ - {0x2D5E,0x2D5E,0x2D5E}, {0x2D5F,0x2D5F,0x2D5F}, /* 2D5E */ - {0x2D60,0x2D60,0x2D60}, {0x2D61,0x2D61,0x2D61}, /* 2D60 */ - {0x2D62,0x2D62,0x2D62}, {0x2D63,0x2D63,0x2D63}, /* 2D62 */ - {0x2D64,0x2D64,0x2D64}, {0x2D65,0x2D65,0x2D65}, /* 2D64 */ - {0x2D66,0x2D66,0x2D66}, {0x2D67,0x2D67,0x2D67}, /* 2D66 */ - {0x2D68,0x2D68,0x2D68}, {0x2D69,0x2D69,0x2D69}, /* 2D68 */ - {0x2D6A,0x2D6A,0x2D6A}, {0x2D6B,0x2D6B,0x2D6B}, /* 2D6A */ - {0x2D6C,0x2D6C,0x2D6C}, {0x2D6D,0x2D6D,0x2D6D}, /* 2D6C */ - {0x2D6E,0x2D6E,0x2D6E}, {0x2D6F,0x2D6F,0x2D6F}, /* 2D6E */ - {0x2D70,0x2D70,0x2D70}, {0x2D71,0x2D71,0x2D71}, /* 2D70 */ - {0x2D72,0x2D72,0x2D72}, {0x2D73,0x2D73,0x2D73}, /* 2D72 */ - {0x2D74,0x2D74,0x2D74}, {0x2D75,0x2D75,0x2D75}, /* 2D74 */ - {0x2D76,0x2D76,0x2D76}, {0x2D77,0x2D77,0x2D77}, /* 2D76 */ - {0x2D78,0x2D78,0x2D78}, {0x2D79,0x2D79,0x2D79}, /* 2D78 */ - {0x2D7A,0x2D7A,0x2D7A}, {0x2D7B,0x2D7B,0x2D7B}, /* 2D7A */ - {0x2D7C,0x2D7C,0x2D7C}, {0x2D7D,0x2D7D,0x2D7D}, /* 2D7C */ - {0x2D7E,0x2D7E,0x2D7E}, {0x2D7F,0x2D7F,0x2D7F}, /* 2D7E */ - {0x2D80,0x2D80,0x2D80}, {0x2D81,0x2D81,0x2D81}, /* 2D80 */ - {0x2D82,0x2D82,0x2D82}, {0x2D83,0x2D83,0x2D83}, /* 2D82 */ - {0x2D84,0x2D84,0x2D84}, {0x2D85,0x2D85,0x2D85}, /* 2D84 */ - {0x2D86,0x2D86,0x2D86}, {0x2D87,0x2D87,0x2D87}, /* 2D86 */ - {0x2D88,0x2D88,0x2D88}, {0x2D89,0x2D89,0x2D89}, /* 2D88 */ - {0x2D8A,0x2D8A,0x2D8A}, {0x2D8B,0x2D8B,0x2D8B}, /* 2D8A */ - {0x2D8C,0x2D8C,0x2D8C}, {0x2D8D,0x2D8D,0x2D8D}, /* 2D8C */ - {0x2D8E,0x2D8E,0x2D8E}, {0x2D8F,0x2D8F,0x2D8F}, /* 2D8E */ - {0x2D90,0x2D90,0x2D90}, {0x2D91,0x2D91,0x2D91}, /* 2D90 */ - {0x2D92,0x2D92,0x2D92}, {0x2D93,0x2D93,0x2D93}, /* 2D92 */ - {0x2D94,0x2D94,0x2D94}, {0x2D95,0x2D95,0x2D95}, /* 2D94 */ - {0x2D96,0x2D96,0x2D96}, {0x2D97,0x2D97,0x2D97}, /* 2D96 */ - {0x2D98,0x2D98,0x2D98}, {0x2D99,0x2D99,0x2D99}, /* 2D98 */ - {0x2D9A,0x2D9A,0x2D9A}, {0x2D9B,0x2D9B,0x2D9B}, /* 2D9A */ - {0x2D9C,0x2D9C,0x2D9C}, {0x2D9D,0x2D9D,0x2D9D}, /* 2D9C */ - {0x2D9E,0x2D9E,0x2D9E}, {0x2D9F,0x2D9F,0x2D9F}, /* 2D9E */ - {0x2DA0,0x2DA0,0x2DA0}, {0x2DA1,0x2DA1,0x2DA1}, /* 2DA0 */ - {0x2DA2,0x2DA2,0x2DA2}, {0x2DA3,0x2DA3,0x2DA3}, /* 2DA2 */ - {0x2DA4,0x2DA4,0x2DA4}, {0x2DA5,0x2DA5,0x2DA5}, /* 2DA4 */ - {0x2DA6,0x2DA6,0x2DA6}, {0x2DA7,0x2DA7,0x2DA7}, /* 2DA6 */ - {0x2DA8,0x2DA8,0x2DA8}, {0x2DA9,0x2DA9,0x2DA9}, /* 2DA8 */ - {0x2DAA,0x2DAA,0x2DAA}, {0x2DAB,0x2DAB,0x2DAB}, /* 2DAA */ - {0x2DAC,0x2DAC,0x2DAC}, {0x2DAD,0x2DAD,0x2DAD}, /* 2DAC */ - {0x2DAE,0x2DAE,0x2DAE}, {0x2DAF,0x2DAF,0x2DAF}, /* 2DAE */ - {0x2DB0,0x2DB0,0x2DB0}, {0x2DB1,0x2DB1,0x2DB1}, /* 2DB0 */ - {0x2DB2,0x2DB2,0x2DB2}, {0x2DB3,0x2DB3,0x2DB3}, /* 2DB2 */ - {0x2DB4,0x2DB4,0x2DB4}, {0x2DB5,0x2DB5,0x2DB5}, /* 2DB4 */ - {0x2DB6,0x2DB6,0x2DB6}, {0x2DB7,0x2DB7,0x2DB7}, /* 2DB6 */ - {0x2DB8,0x2DB8,0x2DB8}, {0x2DB9,0x2DB9,0x2DB9}, /* 2DB8 */ - {0x2DBA,0x2DBA,0x2DBA}, {0x2DBB,0x2DBB,0x2DBB}, /* 2DBA */ - {0x2DBC,0x2DBC,0x2DBC}, {0x2DBD,0x2DBD,0x2DBD}, /* 2DBC */ - {0x2DBE,0x2DBE,0x2DBE}, {0x2DBF,0x2DBF,0x2DBF}, /* 2DBE */ - {0x2DC0,0x2DC0,0x2DC0}, {0x2DC1,0x2DC1,0x2DC1}, /* 2DC0 */ - {0x2DC2,0x2DC2,0x2DC2}, {0x2DC3,0x2DC3,0x2DC3}, /* 2DC2 */ - {0x2DC4,0x2DC4,0x2DC4}, {0x2DC5,0x2DC5,0x2DC5}, /* 2DC4 */ - {0x2DC6,0x2DC6,0x2DC6}, {0x2DC7,0x2DC7,0x2DC7}, /* 2DC6 */ - {0x2DC8,0x2DC8,0x2DC8}, {0x2DC9,0x2DC9,0x2DC9}, /* 2DC8 */ - {0x2DCA,0x2DCA,0x2DCA}, {0x2DCB,0x2DCB,0x2DCB}, /* 2DCA */ - {0x2DCC,0x2DCC,0x2DCC}, {0x2DCD,0x2DCD,0x2DCD}, /* 2DCC */ - {0x2DCE,0x2DCE,0x2DCE}, {0x2DCF,0x2DCF,0x2DCF}, /* 2DCE */ - {0x2DD0,0x2DD0,0x2DD0}, {0x2DD1,0x2DD1,0x2DD1}, /* 2DD0 */ - {0x2DD2,0x2DD2,0x2DD2}, {0x2DD3,0x2DD3,0x2DD3}, /* 2DD2 */ - {0x2DD4,0x2DD4,0x2DD4}, {0x2DD5,0x2DD5,0x2DD5}, /* 2DD4 */ - {0x2DD6,0x2DD6,0x2DD6}, {0x2DD7,0x2DD7,0x2DD7}, /* 2DD6 */ - {0x2DD8,0x2DD8,0x2DD8}, {0x2DD9,0x2DD9,0x2DD9}, /* 2DD8 */ - {0x2DDA,0x2DDA,0x2DDA}, {0x2DDB,0x2DDB,0x2DDB}, /* 2DDA */ - {0x2DDC,0x2DDC,0x2DDC}, {0x2DDD,0x2DDD,0x2DDD}, /* 2DDC */ - {0x2DDE,0x2DDE,0x2DDE}, {0x2DDF,0x2DDF,0x2DDF}, /* 2DDE */ - {0x2DE0,0x2DE0,0x2DE0}, {0x2DE1,0x2DE1,0x2DE1}, /* 2DE0 */ - {0x2DE2,0x2DE2,0x2DE2}, {0x2DE3,0x2DE3,0x2DE3}, /* 2DE2 */ - {0x2DE4,0x2DE4,0x2DE4}, {0x2DE5,0x2DE5,0x2DE5}, /* 2DE4 */ - {0x2DE6,0x2DE6,0x2DE6}, {0x2DE7,0x2DE7,0x2DE7}, /* 2DE6 */ - {0x2DE8,0x2DE8,0x2DE8}, {0x2DE9,0x2DE9,0x2DE9}, /* 2DE8 */ - {0x2DEA,0x2DEA,0x2DEA}, {0x2DEB,0x2DEB,0x2DEB}, /* 2DEA */ - {0x2DEC,0x2DEC,0x2DEC}, {0x2DED,0x2DED,0x2DED}, /* 2DEC */ - {0x2DEE,0x2DEE,0x2DEE}, {0x2DEF,0x2DEF,0x2DEF}, /* 2DEE */ - {0x2DF0,0x2DF0,0x2DF0}, {0x2DF1,0x2DF1,0x2DF1}, /* 2DF0 */ - {0x2DF2,0x2DF2,0x2DF2}, {0x2DF3,0x2DF3,0x2DF3}, /* 2DF2 */ - {0x2DF4,0x2DF4,0x2DF4}, {0x2DF5,0x2DF5,0x2DF5}, /* 2DF4 */ - {0x2DF6,0x2DF6,0x2DF6}, {0x2DF7,0x2DF7,0x2DF7}, /* 2DF6 */ - {0x2DF8,0x2DF8,0x2DF8}, {0x2DF9,0x2DF9,0x2DF9}, /* 2DF8 */ - {0x2DFA,0x2DFA,0x2DFA}, {0x2DFB,0x2DFB,0x2DFB}, /* 2DFA */ - {0x2DFC,0x2DFC,0x2DFC}, {0x2DFD,0x2DFD,0x2DFD}, /* 2DFC */ - {0x2DFE,0x2DFE,0x2DFE}, {0x2DFF,0x2DFF,0x2DFF} /* 2DFE */ -}; - -static MY_UNICASE_CHARACTER u520pA6[]={ - {0xA600,0xA600,0xA600}, {0xA601,0xA601,0xA601}, /* A600 */ - {0xA602,0xA602,0xA602}, {0xA603,0xA603,0xA603}, /* A602 */ - {0xA604,0xA604,0xA604}, {0xA605,0xA605,0xA605}, /* A604 */ - {0xA606,0xA606,0xA606}, {0xA607,0xA607,0xA607}, /* A606 */ - {0xA608,0xA608,0xA608}, {0xA609,0xA609,0xA609}, /* A608 */ - {0xA60A,0xA60A,0xA60A}, {0xA60B,0xA60B,0xA60B}, /* A60A */ - {0xA60C,0xA60C,0xA60C}, {0xA60D,0xA60D,0xA60D}, /* A60C */ - {0xA60E,0xA60E,0xA60E}, {0xA60F,0xA60F,0xA60F}, /* A60E */ - {0xA610,0xA610,0xA610}, {0xA611,0xA611,0xA611}, /* A610 */ - {0xA612,0xA612,0xA612}, {0xA613,0xA613,0xA613}, /* A612 */ - {0xA614,0xA614,0xA614}, {0xA615,0xA615,0xA615}, /* A614 */ - {0xA616,0xA616,0xA616}, {0xA617,0xA617,0xA617}, /* A616 */ - {0xA618,0xA618,0xA618}, {0xA619,0xA619,0xA619}, /* A618 */ - {0xA61A,0xA61A,0xA61A}, {0xA61B,0xA61B,0xA61B}, /* A61A */ - {0xA61C,0xA61C,0xA61C}, {0xA61D,0xA61D,0xA61D}, /* A61C */ - {0xA61E,0xA61E,0xA61E}, {0xA61F,0xA61F,0xA61F}, /* A61E */ - {0xA620,0xA620,0xA620}, {0xA621,0xA621,0xA621}, /* A620 */ - {0xA622,0xA622,0xA622}, {0xA623,0xA623,0xA623}, /* A622 */ - {0xA624,0xA624,0xA624}, {0xA625,0xA625,0xA625}, /* A624 */ - {0xA626,0xA626,0xA626}, {0xA627,0xA627,0xA627}, /* A626 */ - {0xA628,0xA628,0xA628}, {0xA629,0xA629,0xA629}, /* A628 */ - {0xA62A,0xA62A,0xA62A}, {0xA62B,0xA62B,0xA62B}, /* A62A */ - {0xA62C,0xA62C,0xA62C}, {0xA62D,0xA62D,0xA62D}, /* A62C */ - {0xA62E,0xA62E,0xA62E}, {0xA62F,0xA62F,0xA62F}, /* A62E */ - {0xA630,0xA630,0xA630}, {0xA631,0xA631,0xA631}, /* A630 */ - {0xA632,0xA632,0xA632}, {0xA633,0xA633,0xA633}, /* A632 */ - {0xA634,0xA634,0xA634}, {0xA635,0xA635,0xA635}, /* A634 */ - {0xA636,0xA636,0xA636}, {0xA637,0xA637,0xA637}, /* A636 */ - {0xA638,0xA638,0xA638}, {0xA639,0xA639,0xA639}, /* A638 */ - {0xA63A,0xA63A,0xA63A}, {0xA63B,0xA63B,0xA63B}, /* A63A */ - {0xA63C,0xA63C,0xA63C}, {0xA63D,0xA63D,0xA63D}, /* A63C */ - {0xA63E,0xA63E,0xA63E}, {0xA63F,0xA63F,0xA63F}, /* A63E */ - {0xA640,0xA641,0xA640}, {0xA640,0xA641,0xA640}, /* A640 */ - {0xA642,0xA643,0xA642}, {0xA642,0xA643,0xA642}, /* A642 */ - {0xA644,0xA645,0xA644}, {0xA644,0xA645,0xA644}, /* A644 */ - {0xA646,0xA647,0xA646}, {0xA646,0xA647,0xA646}, /* A646 */ - {0xA648,0xA649,0xA648}, {0xA648,0xA649,0xA648}, /* A648 */ - {0xA64A,0xA64B,0xA64A}, {0xA64A,0xA64B,0xA64A}, /* A64A */ - {0xA64C,0xA64D,0xA64C}, {0xA64C,0xA64D,0xA64C}, /* A64C */ - {0xA64E,0xA64F,0xA64E}, {0xA64E,0xA64F,0xA64E}, /* A64E */ - {0xA650,0xA651,0xA650}, {0xA650,0xA651,0xA650}, /* A650 */ - {0xA652,0xA653,0xA652}, {0xA652,0xA653,0xA652}, /* A652 */ - {0xA654,0xA655,0xA654}, {0xA654,0xA655,0xA654}, /* A654 */ - {0xA656,0xA657,0xA656}, {0xA656,0xA657,0xA656}, /* A656 */ - {0xA658,0xA659,0xA658}, {0xA658,0xA659,0xA658}, /* A658 */ - {0xA65A,0xA65B,0xA65A}, {0xA65A,0xA65B,0xA65A}, /* A65A */ - {0xA65C,0xA65D,0xA65C}, {0xA65C,0xA65D,0xA65C}, /* A65C */ - {0xA65E,0xA65F,0xA65E}, {0xA65E,0xA65F,0xA65E}, /* A65E */ - {0xA660,0xA660,0xA660}, {0xA661,0xA661,0xA661}, /* A660 */ - {0xA662,0xA663,0xA662}, {0xA662,0xA663,0xA662}, /* A662 */ - {0xA664,0xA665,0xA664}, {0xA664,0xA665,0xA664}, /* A664 */ - {0xA666,0xA667,0xA666}, {0xA666,0xA667,0xA666}, /* A666 */ - {0xA668,0xA669,0xA668}, {0xA668,0xA669,0xA668}, /* A668 */ - {0xA66A,0xA66B,0xA66A}, {0xA66A,0xA66B,0xA66A}, /* A66A */ - {0xA66C,0xA66D,0xA66C}, {0xA66C,0xA66D,0xA66C}, /* A66C */ - {0xA66E,0xA66E,0xA66E}, {0xA66F,0xA66F,0xA66F}, /* A66E */ - {0xA670,0xA670,0xA670}, {0xA671,0xA671,0xA671}, /* A670 */ - {0xA672,0xA672,0xA672}, {0xA673,0xA673,0xA673}, /* A672 */ - {0xA674,0xA674,0xA674}, {0xA675,0xA675,0xA675}, /* A674 */ - {0xA676,0xA676,0xA676}, {0xA677,0xA677,0xA677}, /* A676 */ - {0xA678,0xA678,0xA678}, {0xA679,0xA679,0xA679}, /* A678 */ - {0xA67A,0xA67A,0xA67A}, {0xA67B,0xA67B,0xA67B}, /* A67A */ - {0xA67C,0xA67C,0xA67C}, {0xA67D,0xA67D,0xA67D}, /* A67C */ - {0xA67E,0xA67E,0xA67E}, {0xA67F,0xA67F,0xA67F}, /* A67E */ - {0xA680,0xA681,0xA680}, {0xA680,0xA681,0xA680}, /* A680 */ - {0xA682,0xA683,0xA682}, {0xA682,0xA683,0xA682}, /* A682 */ - {0xA684,0xA685,0xA684}, {0xA684,0xA685,0xA684}, /* A684 */ - {0xA686,0xA687,0xA686}, {0xA686,0xA687,0xA686}, /* A686 */ - {0xA688,0xA689,0xA688}, {0xA688,0xA689,0xA688}, /* A688 */ - {0xA68A,0xA68B,0xA68A}, {0xA68A,0xA68B,0xA68A}, /* A68A */ - {0xA68C,0xA68D,0xA68C}, {0xA68C,0xA68D,0xA68C}, /* A68C */ - {0xA68E,0xA68F,0xA68E}, {0xA68E,0xA68F,0xA68E}, /* A68E */ - {0xA690,0xA691,0xA690}, {0xA690,0xA691,0xA690}, /* A690 */ - {0xA692,0xA693,0xA692}, {0xA692,0xA693,0xA692}, /* A692 */ - {0xA694,0xA695,0xA694}, {0xA694,0xA695,0xA694}, /* A694 */ - {0xA696,0xA697,0xA696}, {0xA696,0xA697,0xA696}, /* A696 */ - {0xA698,0xA698,0xA698}, {0xA699,0xA699,0xA699}, /* A698 */ - {0xA69A,0xA69A,0xA69A}, {0xA69B,0xA69B,0xA69B}, /* A69A */ - {0xA69C,0xA69C,0xA69C}, {0xA69D,0xA69D,0xA69D}, /* A69C */ - {0xA69E,0xA69E,0xA69E}, {0xA69F,0xA69F,0xA69F}, /* A69E */ - {0xA6A0,0xA6A0,0xA6A0}, {0xA6A1,0xA6A1,0xA6A1}, /* A6A0 */ - {0xA6A2,0xA6A2,0xA6A2}, {0xA6A3,0xA6A3,0xA6A3}, /* A6A2 */ - {0xA6A4,0xA6A4,0xA6A4}, {0xA6A5,0xA6A5,0xA6A5}, /* A6A4 */ - {0xA6A6,0xA6A6,0xA6A6}, {0xA6A7,0xA6A7,0xA6A7}, /* A6A6 */ - {0xA6A8,0xA6A8,0xA6A8}, {0xA6A9,0xA6A9,0xA6A9}, /* A6A8 */ - {0xA6AA,0xA6AA,0xA6AA}, {0xA6AB,0xA6AB,0xA6AB}, /* A6AA */ - {0xA6AC,0xA6AC,0xA6AC}, {0xA6AD,0xA6AD,0xA6AD}, /* A6AC */ - {0xA6AE,0xA6AE,0xA6AE}, {0xA6AF,0xA6AF,0xA6AF}, /* A6AE */ - {0xA6B0,0xA6B0,0xA6B0}, {0xA6B1,0xA6B1,0xA6B1}, /* A6B0 */ - {0xA6B2,0xA6B2,0xA6B2}, {0xA6B3,0xA6B3,0xA6B3}, /* A6B2 */ - {0xA6B4,0xA6B4,0xA6B4}, {0xA6B5,0xA6B5,0xA6B5}, /* A6B4 */ - {0xA6B6,0xA6B6,0xA6B6}, {0xA6B7,0xA6B7,0xA6B7}, /* A6B6 */ - {0xA6B8,0xA6B8,0xA6B8}, {0xA6B9,0xA6B9,0xA6B9}, /* A6B8 */ - {0xA6BA,0xA6BA,0xA6BA}, {0xA6BB,0xA6BB,0xA6BB}, /* A6BA */ - {0xA6BC,0xA6BC,0xA6BC}, {0xA6BD,0xA6BD,0xA6BD}, /* A6BC */ - {0xA6BE,0xA6BE,0xA6BE}, {0xA6BF,0xA6BF,0xA6BF}, /* A6BE */ - {0xA6C0,0xA6C0,0xA6C0}, {0xA6C1,0xA6C1,0xA6C1}, /* A6C0 */ - {0xA6C2,0xA6C2,0xA6C2}, {0xA6C3,0xA6C3,0xA6C3}, /* A6C2 */ - {0xA6C4,0xA6C4,0xA6C4}, {0xA6C5,0xA6C5,0xA6C5}, /* A6C4 */ - {0xA6C6,0xA6C6,0xA6C6}, {0xA6C7,0xA6C7,0xA6C7}, /* A6C6 */ - {0xA6C8,0xA6C8,0xA6C8}, {0xA6C9,0xA6C9,0xA6C9}, /* A6C8 */ - {0xA6CA,0xA6CA,0xA6CA}, {0xA6CB,0xA6CB,0xA6CB}, /* A6CA */ - {0xA6CC,0xA6CC,0xA6CC}, {0xA6CD,0xA6CD,0xA6CD}, /* A6CC */ - {0xA6CE,0xA6CE,0xA6CE}, {0xA6CF,0xA6CF,0xA6CF}, /* A6CE */ - {0xA6D0,0xA6D0,0xA6D0}, {0xA6D1,0xA6D1,0xA6D1}, /* A6D0 */ - {0xA6D2,0xA6D2,0xA6D2}, {0xA6D3,0xA6D3,0xA6D3}, /* A6D2 */ - {0xA6D4,0xA6D4,0xA6D4}, {0xA6D5,0xA6D5,0xA6D5}, /* A6D4 */ - {0xA6D6,0xA6D6,0xA6D6}, {0xA6D7,0xA6D7,0xA6D7}, /* A6D6 */ - {0xA6D8,0xA6D8,0xA6D8}, {0xA6D9,0xA6D9,0xA6D9}, /* A6D8 */ - {0xA6DA,0xA6DA,0xA6DA}, {0xA6DB,0xA6DB,0xA6DB}, /* A6DA */ - {0xA6DC,0xA6DC,0xA6DC}, {0xA6DD,0xA6DD,0xA6DD}, /* A6DC */ - {0xA6DE,0xA6DE,0xA6DE}, {0xA6DF,0xA6DF,0xA6DF}, /* A6DE */ - {0xA6E0,0xA6E0,0xA6E0}, {0xA6E1,0xA6E1,0xA6E1}, /* A6E0 */ - {0xA6E2,0xA6E2,0xA6E2}, {0xA6E3,0xA6E3,0xA6E3}, /* A6E2 */ - {0xA6E4,0xA6E4,0xA6E4}, {0xA6E5,0xA6E5,0xA6E5}, /* A6E4 */ - {0xA6E6,0xA6E6,0xA6E6}, {0xA6E7,0xA6E7,0xA6E7}, /* A6E6 */ - {0xA6E8,0xA6E8,0xA6E8}, {0xA6E9,0xA6E9,0xA6E9}, /* A6E8 */ - {0xA6EA,0xA6EA,0xA6EA}, {0xA6EB,0xA6EB,0xA6EB}, /* A6EA */ - {0xA6EC,0xA6EC,0xA6EC}, {0xA6ED,0xA6ED,0xA6ED}, /* A6EC */ - {0xA6EE,0xA6EE,0xA6EE}, {0xA6EF,0xA6EF,0xA6EF}, /* A6EE */ - {0xA6F0,0xA6F0,0xA6F0}, {0xA6F1,0xA6F1,0xA6F1}, /* A6F0 */ - {0xA6F2,0xA6F2,0xA6F2}, {0xA6F3,0xA6F3,0xA6F3}, /* A6F2 */ - {0xA6F4,0xA6F4,0xA6F4}, {0xA6F5,0xA6F5,0xA6F5}, /* A6F4 */ - {0xA6F6,0xA6F6,0xA6F6}, {0xA6F7,0xA6F7,0xA6F7}, /* A6F6 */ - {0xA6F8,0xA6F8,0xA6F8}, {0xA6F9,0xA6F9,0xA6F9}, /* A6F8 */ - {0xA6FA,0xA6FA,0xA6FA}, {0xA6FB,0xA6FB,0xA6FB}, /* A6FA */ - {0xA6FC,0xA6FC,0xA6FC}, {0xA6FD,0xA6FD,0xA6FD}, /* A6FC */ - {0xA6FE,0xA6FE,0xA6FE}, {0xA6FF,0xA6FF,0xA6FF} /* A6FE */ -}; - -static MY_UNICASE_CHARACTER u520pA7[]={ - {0xA700,0xA700,0xA700}, {0xA701,0xA701,0xA701}, /* A700 */ - {0xA702,0xA702,0xA702}, {0xA703,0xA703,0xA703}, /* A702 */ - {0xA704,0xA704,0xA704}, {0xA705,0xA705,0xA705}, /* A704 */ - {0xA706,0xA706,0xA706}, {0xA707,0xA707,0xA707}, /* A706 */ - {0xA708,0xA708,0xA708}, {0xA709,0xA709,0xA709}, /* A708 */ - {0xA70A,0xA70A,0xA70A}, {0xA70B,0xA70B,0xA70B}, /* A70A */ - {0xA70C,0xA70C,0xA70C}, {0xA70D,0xA70D,0xA70D}, /* A70C */ - {0xA70E,0xA70E,0xA70E}, {0xA70F,0xA70F,0xA70F}, /* A70E */ - {0xA710,0xA710,0xA710}, {0xA711,0xA711,0xA711}, /* A710 */ - {0xA712,0xA712,0xA712}, {0xA713,0xA713,0xA713}, /* A712 */ - {0xA714,0xA714,0xA714}, {0xA715,0xA715,0xA715}, /* A714 */ - {0xA716,0xA716,0xA716}, {0xA717,0xA717,0xA717}, /* A716 */ - {0xA718,0xA718,0xA718}, {0xA719,0xA719,0xA719}, /* A718 */ - {0xA71A,0xA71A,0xA71A}, {0xA71B,0xA71B,0xA71B}, /* A71A */ - {0xA71C,0xA71C,0xA71C}, {0xA71D,0xA71D,0xA71D}, /* A71C */ - {0xA71E,0xA71E,0xA71E}, {0xA71F,0xA71F,0xA71F}, /* A71E */ - {0xA720,0xA720,0xA720}, {0xA721,0xA721,0xA721}, /* A720 */ - {0xA722,0xA723,0xA722}, {0xA722,0xA723,0xA722}, /* A722 */ - {0xA724,0xA725,0xA724}, {0xA724,0xA725,0xA724}, /* A724 */ - {0xA726,0xA727,0xA726}, {0xA726,0xA727,0xA726}, /* A726 */ - {0xA728,0xA729,0xA728}, {0xA728,0xA729,0xA728}, /* A728 */ - {0xA72A,0xA72B,0xA72A}, {0xA72A,0xA72B,0xA72A}, /* A72A */ - {0xA72C,0xA72D,0xA72C}, {0xA72C,0xA72D,0xA72C}, /* A72C */ - {0xA72E,0xA72F,0xA72E}, {0xA72E,0xA72F,0xA72E}, /* A72E */ - {0xA730,0xA730,0xA730}, {0xA731,0xA731,0xA731}, /* A730 */ - {0xA732,0xA733,0xA732}, {0xA732,0xA733,0xA732}, /* A732 */ - {0xA734,0xA735,0xA734}, {0xA734,0xA735,0xA734}, /* A734 */ - {0xA736,0xA737,0xA736}, {0xA736,0xA737,0xA736}, /* A736 */ - {0xA738,0xA739,0xA738}, {0xA738,0xA739,0xA738}, /* A738 */ - {0xA73A,0xA73B,0xA73A}, {0xA73A,0xA73B,0xA73A}, /* A73A */ - {0xA73C,0xA73D,0xA73C}, {0xA73C,0xA73D,0xA73C}, /* A73C */ - {0xA73E,0xA73F,0xA73E}, {0xA73E,0xA73F,0xA73E}, /* A73E */ - {0xA740,0xA741,0xA740}, {0xA740,0xA741,0xA740}, /* A740 */ - {0xA742,0xA743,0xA742}, {0xA742,0xA743,0xA742}, /* A742 */ - {0xA744,0xA745,0xA744}, {0xA744,0xA745,0xA744}, /* A744 */ - {0xA746,0xA747,0xA746}, {0xA746,0xA747,0xA746}, /* A746 */ - {0xA748,0xA749,0xA748}, {0xA748,0xA749,0xA748}, /* A748 */ - {0xA74A,0xA74B,0xA74A}, {0xA74A,0xA74B,0xA74A}, /* A74A */ - {0xA74C,0xA74D,0xA74C}, {0xA74C,0xA74D,0xA74C}, /* A74C */ - {0xA74E,0xA74F,0xA74E}, {0xA74E,0xA74F,0xA74E}, /* A74E */ - {0xA750,0xA751,0xA750}, {0xA750,0xA751,0xA750}, /* A750 */ - {0xA752,0xA753,0xA752}, {0xA752,0xA753,0xA752}, /* A752 */ - {0xA754,0xA755,0xA754}, {0xA754,0xA755,0xA754}, /* A754 */ - {0xA756,0xA757,0xA756}, {0xA756,0xA757,0xA756}, /* A756 */ - {0xA758,0xA759,0xA758}, {0xA758,0xA759,0xA758}, /* A758 */ - {0xA75A,0xA75B,0xA75A}, {0xA75A,0xA75B,0xA75A}, /* A75A */ - {0xA75C,0xA75D,0xA75C}, {0xA75C,0xA75D,0xA75C}, /* A75C */ - {0xA75E,0xA75F,0xA75E}, {0xA75E,0xA75F,0xA75E}, /* A75E */ - {0xA760,0xA761,0xA760}, {0xA760,0xA761,0xA760}, /* A760 */ - {0xA762,0xA763,0xA762}, {0xA762,0xA763,0xA762}, /* A762 */ - {0xA764,0xA765,0xA764}, {0xA764,0xA765,0xA764}, /* A764 */ - {0xA766,0xA767,0xA766}, {0xA766,0xA767,0xA766}, /* A766 */ - {0xA768,0xA769,0xA768}, {0xA768,0xA769,0xA768}, /* A768 */ - {0xA76A,0xA76B,0xA76A}, {0xA76A,0xA76B,0xA76A}, /* A76A */ - {0xA76C,0xA76D,0xA76C}, {0xA76C,0xA76D,0xA76C}, /* A76C */ - {0xA76E,0xA76F,0xA76E}, {0xA76E,0xA76F,0xA76E}, /* A76E */ - {0xA770,0xA770,0xA770}, {0xA771,0xA771,0xA771}, /* A770 */ - {0xA772,0xA772,0xA772}, {0xA773,0xA773,0xA773}, /* A772 */ - {0xA774,0xA774,0xA774}, {0xA775,0xA775,0xA775}, /* A774 */ - {0xA776,0xA776,0xA776}, {0xA777,0xA777,0xA777}, /* A776 */ - {0xA778,0xA778,0xA778}, {0xA779,0xA77A,0xA779}, /* A778 */ - {0xA779,0xA77A,0xA779}, {0xA77B,0xA77C,0xA77B}, /* A77A */ - {0xA77B,0xA77C,0xA77B}, {0xA77D,0x1D79,0xA77D}, /* A77C */ - {0xA77E,0xA77F,0xA77E}, {0xA77E,0xA77F,0xA77E}, /* A77E */ - {0xA780,0xA781,0xA780}, {0xA780,0xA781,0xA780}, /* A780 */ - {0xA782,0xA783,0xA782}, {0xA782,0xA783,0xA782}, /* A782 */ - {0xA784,0xA785,0xA784}, {0xA784,0xA785,0xA784}, /* A784 */ - {0xA786,0xA787,0xA786}, {0xA786,0xA787,0xA786}, /* A786 */ - {0xA788,0xA788,0xA788}, {0xA789,0xA789,0xA789}, /* A788 */ - {0xA78A,0xA78A,0xA78A}, {0xA78B,0xA78C,0xA78B}, /* A78A */ - {0xA78B,0xA78C,0xA78B}, {0xA78D,0xA78D,0xA78D}, /* A78C */ - {0xA78E,0xA78E,0xA78E}, {0xA78F,0xA78F,0xA78F}, /* A78E */ - {0xA790,0xA790,0xA790}, {0xA791,0xA791,0xA791}, /* A790 */ - {0xA792,0xA792,0xA792}, {0xA793,0xA793,0xA793}, /* A792 */ - {0xA794,0xA794,0xA794}, {0xA795,0xA795,0xA795}, /* A794 */ - {0xA796,0xA796,0xA796}, {0xA797,0xA797,0xA797}, /* A796 */ - {0xA798,0xA798,0xA798}, {0xA799,0xA799,0xA799}, /* A798 */ - {0xA79A,0xA79A,0xA79A}, {0xA79B,0xA79B,0xA79B}, /* A79A */ - {0xA79C,0xA79C,0xA79C}, {0xA79D,0xA79D,0xA79D}, /* A79C */ - {0xA79E,0xA79E,0xA79E}, {0xA79F,0xA79F,0xA79F}, /* A79E */ - {0xA7A0,0xA7A0,0xA7A0}, {0xA7A1,0xA7A1,0xA7A1}, /* A7A0 */ - {0xA7A2,0xA7A2,0xA7A2}, {0xA7A3,0xA7A3,0xA7A3}, /* A7A2 */ - {0xA7A4,0xA7A4,0xA7A4}, {0xA7A5,0xA7A5,0xA7A5}, /* A7A4 */ - {0xA7A6,0xA7A6,0xA7A6}, {0xA7A7,0xA7A7,0xA7A7}, /* A7A6 */ - {0xA7A8,0xA7A8,0xA7A8}, {0xA7A9,0xA7A9,0xA7A9}, /* A7A8 */ - {0xA7AA,0xA7AA,0xA7AA}, {0xA7AB,0xA7AB,0xA7AB}, /* A7AA */ - {0xA7AC,0xA7AC,0xA7AC}, {0xA7AD,0xA7AD,0xA7AD}, /* A7AC */ - {0xA7AE,0xA7AE,0xA7AE}, {0xA7AF,0xA7AF,0xA7AF}, /* A7AE */ - {0xA7B0,0xA7B0,0xA7B0}, {0xA7B1,0xA7B1,0xA7B1}, /* A7B0 */ - {0xA7B2,0xA7B2,0xA7B2}, {0xA7B3,0xA7B3,0xA7B3}, /* A7B2 */ - {0xA7B4,0xA7B4,0xA7B4}, {0xA7B5,0xA7B5,0xA7B5}, /* A7B4 */ - {0xA7B6,0xA7B6,0xA7B6}, {0xA7B7,0xA7B7,0xA7B7}, /* A7B6 */ - {0xA7B8,0xA7B8,0xA7B8}, {0xA7B9,0xA7B9,0xA7B9}, /* A7B8 */ - {0xA7BA,0xA7BA,0xA7BA}, {0xA7BB,0xA7BB,0xA7BB}, /* A7BA */ - {0xA7BC,0xA7BC,0xA7BC}, {0xA7BD,0xA7BD,0xA7BD}, /* A7BC */ - {0xA7BE,0xA7BE,0xA7BE}, {0xA7BF,0xA7BF,0xA7BF}, /* A7BE */ - {0xA7C0,0xA7C0,0xA7C0}, {0xA7C1,0xA7C1,0xA7C1}, /* A7C0 */ - {0xA7C2,0xA7C2,0xA7C2}, {0xA7C3,0xA7C3,0xA7C3}, /* A7C2 */ - {0xA7C4,0xA7C4,0xA7C4}, {0xA7C5,0xA7C5,0xA7C5}, /* A7C4 */ - {0xA7C6,0xA7C6,0xA7C6}, {0xA7C7,0xA7C7,0xA7C7}, /* A7C6 */ - {0xA7C8,0xA7C8,0xA7C8}, {0xA7C9,0xA7C9,0xA7C9}, /* A7C8 */ - {0xA7CA,0xA7CA,0xA7CA}, {0xA7CB,0xA7CB,0xA7CB}, /* A7CA */ - {0xA7CC,0xA7CC,0xA7CC}, {0xA7CD,0xA7CD,0xA7CD}, /* A7CC */ - {0xA7CE,0xA7CE,0xA7CE}, {0xA7CF,0xA7CF,0xA7CF}, /* A7CE */ - {0xA7D0,0xA7D0,0xA7D0}, {0xA7D1,0xA7D1,0xA7D1}, /* A7D0 */ - {0xA7D2,0xA7D2,0xA7D2}, {0xA7D3,0xA7D3,0xA7D3}, /* A7D2 */ - {0xA7D4,0xA7D4,0xA7D4}, {0xA7D5,0xA7D5,0xA7D5}, /* A7D4 */ - {0xA7D6,0xA7D6,0xA7D6}, {0xA7D7,0xA7D7,0xA7D7}, /* A7D6 */ - {0xA7D8,0xA7D8,0xA7D8}, {0xA7D9,0xA7D9,0xA7D9}, /* A7D8 */ - {0xA7DA,0xA7DA,0xA7DA}, {0xA7DB,0xA7DB,0xA7DB}, /* A7DA */ - {0xA7DC,0xA7DC,0xA7DC}, {0xA7DD,0xA7DD,0xA7DD}, /* A7DC */ - {0xA7DE,0xA7DE,0xA7DE}, {0xA7DF,0xA7DF,0xA7DF}, /* A7DE */ - {0xA7E0,0xA7E0,0xA7E0}, {0xA7E1,0xA7E1,0xA7E1}, /* A7E0 */ - {0xA7E2,0xA7E2,0xA7E2}, {0xA7E3,0xA7E3,0xA7E3}, /* A7E2 */ - {0xA7E4,0xA7E4,0xA7E4}, {0xA7E5,0xA7E5,0xA7E5}, /* A7E4 */ - {0xA7E6,0xA7E6,0xA7E6}, {0xA7E7,0xA7E7,0xA7E7}, /* A7E6 */ - {0xA7E8,0xA7E8,0xA7E8}, {0xA7E9,0xA7E9,0xA7E9}, /* A7E8 */ - {0xA7EA,0xA7EA,0xA7EA}, {0xA7EB,0xA7EB,0xA7EB}, /* A7EA */ - {0xA7EC,0xA7EC,0xA7EC}, {0xA7ED,0xA7ED,0xA7ED}, /* A7EC */ - {0xA7EE,0xA7EE,0xA7EE}, {0xA7EF,0xA7EF,0xA7EF}, /* A7EE */ - {0xA7F0,0xA7F0,0xA7F0}, {0xA7F1,0xA7F1,0xA7F1}, /* A7F0 */ - {0xA7F2,0xA7F2,0xA7F2}, {0xA7F3,0xA7F3,0xA7F3}, /* A7F2 */ - {0xA7F4,0xA7F4,0xA7F4}, {0xA7F5,0xA7F5,0xA7F5}, /* A7F4 */ - {0xA7F6,0xA7F6,0xA7F6}, {0xA7F7,0xA7F7,0xA7F7}, /* A7F6 */ - {0xA7F8,0xA7F8,0xA7F8}, {0xA7F9,0xA7F9,0xA7F9}, /* A7F8 */ - {0xA7FA,0xA7FA,0xA7FA}, {0xA7FB,0xA7FB,0xA7FB}, /* A7FA */ - {0xA7FC,0xA7FC,0xA7FC}, {0xA7FD,0xA7FD,0xA7FD}, /* A7FC */ - {0xA7FE,0xA7FE,0xA7FE}, {0xA7FF,0xA7FF,0xA7FF} /* A7FE */ -}; - -static MY_UNICASE_CHARACTER u520pFF[]={ - {0xFF00,0xFF00,0xFF00}, {0xFF01,0xFF01,0xFF01}, /* FF00 */ - {0xFF02,0xFF02,0xFF02}, {0xFF03,0xFF03,0xFF03}, /* FF02 */ - {0xFF04,0xFF04,0xFF04}, {0xFF05,0xFF05,0xFF05}, /* FF04 */ - {0xFF06,0xFF06,0xFF06}, {0xFF07,0xFF07,0xFF07}, /* FF06 */ - {0xFF08,0xFF08,0xFF08}, {0xFF09,0xFF09,0xFF09}, /* FF08 */ - {0xFF0A,0xFF0A,0xFF0A}, {0xFF0B,0xFF0B,0xFF0B}, /* FF0A */ - {0xFF0C,0xFF0C,0xFF0C}, {0xFF0D,0xFF0D,0xFF0D}, /* FF0C */ - {0xFF0E,0xFF0E,0xFF0E}, {0xFF0F,0xFF0F,0xFF0F}, /* FF0E */ - {0xFF10,0xFF10,0xFF10}, {0xFF11,0xFF11,0xFF11}, /* FF10 */ - {0xFF12,0xFF12,0xFF12}, {0xFF13,0xFF13,0xFF13}, /* FF12 */ - {0xFF14,0xFF14,0xFF14}, {0xFF15,0xFF15,0xFF15}, /* FF14 */ - {0xFF16,0xFF16,0xFF16}, {0xFF17,0xFF17,0xFF17}, /* FF16 */ - {0xFF18,0xFF18,0xFF18}, {0xFF19,0xFF19,0xFF19}, /* FF18 */ - {0xFF1A,0xFF1A,0xFF1A}, {0xFF1B,0xFF1B,0xFF1B}, /* FF1A */ - {0xFF1C,0xFF1C,0xFF1C}, {0xFF1D,0xFF1D,0xFF1D}, /* FF1C */ - {0xFF1E,0xFF1E,0xFF1E}, {0xFF1F,0xFF1F,0xFF1F}, /* FF1E */ - {0xFF20,0xFF20,0xFF20}, {0xFF21,0xFF41,0xFF21}, /* FF20 */ - {0xFF22,0xFF42,0xFF22}, {0xFF23,0xFF43,0xFF23}, /* FF22 */ - {0xFF24,0xFF44,0xFF24}, {0xFF25,0xFF45,0xFF25}, /* FF24 */ - {0xFF26,0xFF46,0xFF26}, {0xFF27,0xFF47,0xFF27}, /* FF26 */ - {0xFF28,0xFF48,0xFF28}, {0xFF29,0xFF49,0xFF29}, /* FF28 */ - {0xFF2A,0xFF4A,0xFF2A}, {0xFF2B,0xFF4B,0xFF2B}, /* FF2A */ - {0xFF2C,0xFF4C,0xFF2C}, {0xFF2D,0xFF4D,0xFF2D}, /* FF2C */ - {0xFF2E,0xFF4E,0xFF2E}, {0xFF2F,0xFF4F,0xFF2F}, /* FF2E */ - {0xFF30,0xFF50,0xFF30}, {0xFF31,0xFF51,0xFF31}, /* FF30 */ - {0xFF32,0xFF52,0xFF32}, {0xFF33,0xFF53,0xFF33}, /* FF32 */ - {0xFF34,0xFF54,0xFF34}, {0xFF35,0xFF55,0xFF35}, /* FF34 */ - {0xFF36,0xFF56,0xFF36}, {0xFF37,0xFF57,0xFF37}, /* FF36 */ - {0xFF38,0xFF58,0xFF38}, {0xFF39,0xFF59,0xFF39}, /* FF38 */ - {0xFF3A,0xFF5A,0xFF3A}, {0xFF3B,0xFF3B,0xFF3B}, /* FF3A */ - {0xFF3C,0xFF3C,0xFF3C}, {0xFF3D,0xFF3D,0xFF3D}, /* FF3C */ - {0xFF3E,0xFF3E,0xFF3E}, {0xFF3F,0xFF3F,0xFF3F}, /* FF3E */ - {0xFF40,0xFF40,0xFF40}, {0xFF21,0xFF41,0xFF21}, /* FF40 */ - {0xFF22,0xFF42,0xFF22}, {0xFF23,0xFF43,0xFF23}, /* FF42 */ - {0xFF24,0xFF44,0xFF24}, {0xFF25,0xFF45,0xFF25}, /* FF44 */ - {0xFF26,0xFF46,0xFF26}, {0xFF27,0xFF47,0xFF27}, /* FF46 */ - {0xFF28,0xFF48,0xFF28}, {0xFF29,0xFF49,0xFF29}, /* FF48 */ - {0xFF2A,0xFF4A,0xFF2A}, {0xFF2B,0xFF4B,0xFF2B}, /* FF4A */ - {0xFF2C,0xFF4C,0xFF2C}, {0xFF2D,0xFF4D,0xFF2D}, /* FF4C */ - {0xFF2E,0xFF4E,0xFF2E}, {0xFF2F,0xFF4F,0xFF2F}, /* FF4E */ - {0xFF30,0xFF50,0xFF30}, {0xFF31,0xFF51,0xFF31}, /* FF50 */ - {0xFF32,0xFF52,0xFF32}, {0xFF33,0xFF53,0xFF33}, /* FF52 */ - {0xFF34,0xFF54,0xFF34}, {0xFF35,0xFF55,0xFF35}, /* FF54 */ - {0xFF36,0xFF56,0xFF36}, {0xFF37,0xFF57,0xFF37}, /* FF56 */ - {0xFF38,0xFF58,0xFF38}, {0xFF39,0xFF59,0xFF39}, /* FF58 */ - {0xFF3A,0xFF5A,0xFF3A}, {0xFF5B,0xFF5B,0xFF5B}, /* FF5A */ - {0xFF5C,0xFF5C,0xFF5C}, {0xFF5D,0xFF5D,0xFF5D}, /* FF5C */ - {0xFF5E,0xFF5E,0xFF5E}, {0xFF5F,0xFF5F,0xFF5F}, /* FF5E */ - {0xFF60,0xFF60,0xFF60}, {0xFF61,0xFF61,0xFF61}, /* FF60 */ - {0xFF62,0xFF62,0xFF62}, {0xFF63,0xFF63,0xFF63}, /* FF62 */ - {0xFF64,0xFF64,0xFF64}, {0xFF65,0xFF65,0xFF65}, /* FF64 */ - {0xFF66,0xFF66,0xFF66}, {0xFF67,0xFF67,0xFF67}, /* FF66 */ - {0xFF68,0xFF68,0xFF68}, {0xFF69,0xFF69,0xFF69}, /* FF68 */ - {0xFF6A,0xFF6A,0xFF6A}, {0xFF6B,0xFF6B,0xFF6B}, /* FF6A */ - {0xFF6C,0xFF6C,0xFF6C}, {0xFF6D,0xFF6D,0xFF6D}, /* FF6C */ - {0xFF6E,0xFF6E,0xFF6E}, {0xFF6F,0xFF6F,0xFF6F}, /* FF6E */ - {0xFF70,0xFF70,0xFF70}, {0xFF71,0xFF71,0xFF71}, /* FF70 */ - {0xFF72,0xFF72,0xFF72}, {0xFF73,0xFF73,0xFF73}, /* FF72 */ - {0xFF74,0xFF74,0xFF74}, {0xFF75,0xFF75,0xFF75}, /* FF74 */ - {0xFF76,0xFF76,0xFF76}, {0xFF77,0xFF77,0xFF77}, /* FF76 */ - {0xFF78,0xFF78,0xFF78}, {0xFF79,0xFF79,0xFF79}, /* FF78 */ - {0xFF7A,0xFF7A,0xFF7A}, {0xFF7B,0xFF7B,0xFF7B}, /* FF7A */ - {0xFF7C,0xFF7C,0xFF7C}, {0xFF7D,0xFF7D,0xFF7D}, /* FF7C */ - {0xFF7E,0xFF7E,0xFF7E}, {0xFF7F,0xFF7F,0xFF7F}, /* FF7E */ - {0xFF80,0xFF80,0xFF80}, {0xFF81,0xFF81,0xFF81}, /* FF80 */ - {0xFF82,0xFF82,0xFF82}, {0xFF83,0xFF83,0xFF83}, /* FF82 */ - {0xFF84,0xFF84,0xFF84}, {0xFF85,0xFF85,0xFF85}, /* FF84 */ - {0xFF86,0xFF86,0xFF86}, {0xFF87,0xFF87,0xFF87}, /* FF86 */ - {0xFF88,0xFF88,0xFF88}, {0xFF89,0xFF89,0xFF89}, /* FF88 */ - {0xFF8A,0xFF8A,0xFF8A}, {0xFF8B,0xFF8B,0xFF8B}, /* FF8A */ - {0xFF8C,0xFF8C,0xFF8C}, {0xFF8D,0xFF8D,0xFF8D}, /* FF8C */ - {0xFF8E,0xFF8E,0xFF8E}, {0xFF8F,0xFF8F,0xFF8F}, /* FF8E */ - {0xFF90,0xFF90,0xFF90}, {0xFF91,0xFF91,0xFF91}, /* FF90 */ - {0xFF92,0xFF92,0xFF92}, {0xFF93,0xFF93,0xFF93}, /* FF92 */ - {0xFF94,0xFF94,0xFF94}, {0xFF95,0xFF95,0xFF95}, /* FF94 */ - {0xFF96,0xFF96,0xFF96}, {0xFF97,0xFF97,0xFF97}, /* FF96 */ - {0xFF98,0xFF98,0xFF98}, {0xFF99,0xFF99,0xFF99}, /* FF98 */ - {0xFF9A,0xFF9A,0xFF9A}, {0xFF9B,0xFF9B,0xFF9B}, /* FF9A */ - {0xFF9C,0xFF9C,0xFF9C}, {0xFF9D,0xFF9D,0xFF9D}, /* FF9C */ - {0xFF9E,0xFF9E,0xFF9E}, {0xFF9F,0xFF9F,0xFF9F}, /* FF9E */ - {0xFFA0,0xFFA0,0xFFA0}, {0xFFA1,0xFFA1,0xFFA1}, /* FFA0 */ - {0xFFA2,0xFFA2,0xFFA2}, {0xFFA3,0xFFA3,0xFFA3}, /* FFA2 */ - {0xFFA4,0xFFA4,0xFFA4}, {0xFFA5,0xFFA5,0xFFA5}, /* FFA4 */ - {0xFFA6,0xFFA6,0xFFA6}, {0xFFA7,0xFFA7,0xFFA7}, /* FFA6 */ - {0xFFA8,0xFFA8,0xFFA8}, {0xFFA9,0xFFA9,0xFFA9}, /* FFA8 */ - {0xFFAA,0xFFAA,0xFFAA}, {0xFFAB,0xFFAB,0xFFAB}, /* FFAA */ - {0xFFAC,0xFFAC,0xFFAC}, {0xFFAD,0xFFAD,0xFFAD}, /* FFAC */ - {0xFFAE,0xFFAE,0xFFAE}, {0xFFAF,0xFFAF,0xFFAF}, /* FFAE */ - {0xFFB0,0xFFB0,0xFFB0}, {0xFFB1,0xFFB1,0xFFB1}, /* FFB0 */ - {0xFFB2,0xFFB2,0xFFB2}, {0xFFB3,0xFFB3,0xFFB3}, /* FFB2 */ - {0xFFB4,0xFFB4,0xFFB4}, {0xFFB5,0xFFB5,0xFFB5}, /* FFB4 */ - {0xFFB6,0xFFB6,0xFFB6}, {0xFFB7,0xFFB7,0xFFB7}, /* FFB6 */ - {0xFFB8,0xFFB8,0xFFB8}, {0xFFB9,0xFFB9,0xFFB9}, /* FFB8 */ - {0xFFBA,0xFFBA,0xFFBA}, {0xFFBB,0xFFBB,0xFFBB}, /* FFBA */ - {0xFFBC,0xFFBC,0xFFBC}, {0xFFBD,0xFFBD,0xFFBD}, /* FFBC */ - {0xFFBE,0xFFBE,0xFFBE}, {0xFFBF,0xFFBF,0xFFBF}, /* FFBE */ - {0xFFC0,0xFFC0,0xFFC0}, {0xFFC1,0xFFC1,0xFFC1}, /* FFC0 */ - {0xFFC2,0xFFC2,0xFFC2}, {0xFFC3,0xFFC3,0xFFC3}, /* FFC2 */ - {0xFFC4,0xFFC4,0xFFC4}, {0xFFC5,0xFFC5,0xFFC5}, /* FFC4 */ - {0xFFC6,0xFFC6,0xFFC6}, {0xFFC7,0xFFC7,0xFFC7}, /* FFC6 */ - {0xFFC8,0xFFC8,0xFFC8}, {0xFFC9,0xFFC9,0xFFC9}, /* FFC8 */ - {0xFFCA,0xFFCA,0xFFCA}, {0xFFCB,0xFFCB,0xFFCB}, /* FFCA */ - {0xFFCC,0xFFCC,0xFFCC}, {0xFFCD,0xFFCD,0xFFCD}, /* FFCC */ - {0xFFCE,0xFFCE,0xFFCE}, {0xFFCF,0xFFCF,0xFFCF}, /* FFCE */ - {0xFFD0,0xFFD0,0xFFD0}, {0xFFD1,0xFFD1,0xFFD1}, /* FFD0 */ - {0xFFD2,0xFFD2,0xFFD2}, {0xFFD3,0xFFD3,0xFFD3}, /* FFD2 */ - {0xFFD4,0xFFD4,0xFFD4}, {0xFFD5,0xFFD5,0xFFD5}, /* FFD4 */ - {0xFFD6,0xFFD6,0xFFD6}, {0xFFD7,0xFFD7,0xFFD7}, /* FFD6 */ - {0xFFD8,0xFFD8,0xFFD8}, {0xFFD9,0xFFD9,0xFFD9}, /* FFD8 */ - {0xFFDA,0xFFDA,0xFFDA}, {0xFFDB,0xFFDB,0xFFDB}, /* FFDA */ - {0xFFDC,0xFFDC,0xFFDC}, {0xFFDD,0xFFDD,0xFFDD}, /* FFDC */ - {0xFFDE,0xFFDE,0xFFDE}, {0xFFDF,0xFFDF,0xFFDF}, /* FFDE */ - {0xFFE0,0xFFE0,0xFFE0}, {0xFFE1,0xFFE1,0xFFE1}, /* FFE0 */ - {0xFFE2,0xFFE2,0xFFE2}, {0xFFE3,0xFFE3,0xFFE3}, /* FFE2 */ - {0xFFE4,0xFFE4,0xFFE4}, {0xFFE5,0xFFE5,0xFFE5}, /* FFE4 */ - {0xFFE6,0xFFE6,0xFFE6}, {0xFFE7,0xFFE7,0xFFE7}, /* FFE6 */ - {0xFFE8,0xFFE8,0xFFE8}, {0xFFE9,0xFFE9,0xFFE9}, /* FFE8 */ - {0xFFEA,0xFFEA,0xFFEA}, {0xFFEB,0xFFEB,0xFFEB}, /* FFEA */ - {0xFFEC,0xFFEC,0xFFEC}, {0xFFED,0xFFED,0xFFED}, /* FFEC */ - {0xFFEE,0xFFEE,0xFFEE}, {0xFFEF,0xFFEF,0xFFEF}, /* FFEE */ - {0xFFF0,0xFFF0,0xFFF0}, {0xFFF1,0xFFF1,0xFFF1}, /* FFF0 */ - {0xFFF2,0xFFF2,0xFFF2}, {0xFFF3,0xFFF3,0xFFF3}, /* FFF2 */ - {0xFFF4,0xFFF4,0xFFF4}, {0xFFF5,0xFFF5,0xFFF5}, /* FFF4 */ - {0xFFF6,0xFFF6,0xFFF6}, {0xFFF7,0xFFF7,0xFFF7}, /* FFF6 */ - {0xFFF8,0xFFF8,0xFFF8}, {0xFFF9,0xFFF9,0xFFF9}, /* FFF8 */ - {0xFFFA,0xFFFA,0xFFFA}, {0xFFFB,0xFFFB,0xFFFB}, /* FFFA */ - {0xFFFC,0xFFFC,0xFFFC}, {0xFFFD,0xFFFD,0xFFFD}, /* FFFC */ - {0xFFFE,0xFFFE,0xFFFE}, {0xFFFF,0xFFFF,0xFFFF} /* FFFE */ -}; - -static MY_UNICASE_CHARACTER u520p104[]={ - {0x10400,0x10428,0x10400}, {0x10401,0x10429,0x10401}, /* 10400 */ - {0x10402,0x1042A,0x10402}, {0x10403,0x1042B,0x10403}, /* 10402 */ - {0x10404,0x1042C,0x10404}, {0x10405,0x1042D,0x10405}, /* 10404 */ - {0x10406,0x1042E,0x10406}, {0x10407,0x1042F,0x10407}, /* 10406 */ - {0x10408,0x10430,0x10408}, {0x10409,0x10431,0x10409}, /* 10408 */ - {0x1040A,0x10432,0x1040A}, {0x1040B,0x10433,0x1040B}, /* 1040A */ - {0x1040C,0x10434,0x1040C}, {0x1040D,0x10435,0x1040D}, /* 1040C */ - {0x1040E,0x10436,0x1040E}, {0x1040F,0x10437,0x1040F}, /* 1040E */ - {0x10410,0x10438,0x10410}, {0x10411,0x10439,0x10411}, /* 10410 */ - {0x10412,0x1043A,0x10412}, {0x10413,0x1043B,0x10413}, /* 10412 */ - {0x10414,0x1043C,0x10414}, {0x10415,0x1043D,0x10415}, /* 10414 */ - {0x10416,0x1043E,0x10416}, {0x10417,0x1043F,0x10417}, /* 10416 */ - {0x10418,0x10440,0x10418}, {0x10419,0x10441,0x10419}, /* 10418 */ - {0x1041A,0x10442,0x1041A}, {0x1041B,0x10443,0x1041B}, /* 1041A */ - {0x1041C,0x10444,0x1041C}, {0x1041D,0x10445,0x1041D}, /* 1041C */ - {0x1041E,0x10446,0x1041E}, {0x1041F,0x10447,0x1041F}, /* 1041E */ - {0x10420,0x10448,0x10420}, {0x10421,0x10449,0x10421}, /* 10420 */ - {0x10422,0x1044A,0x10422}, {0x10423,0x1044B,0x10423}, /* 10422 */ - {0x10424,0x1044C,0x10424}, {0x10425,0x1044D,0x10425}, /* 10424 */ - {0x10426,0x1044E,0x10426}, {0x10427,0x1044F,0x10427}, /* 10426 */ - {0x10400,0x10428,0x10400}, {0x10401,0x10429,0x10401}, /* 10428 */ - {0x10402,0x1042A,0x10402}, {0x10403,0x1042B,0x10403}, /* 1042A */ - {0x10404,0x1042C,0x10404}, {0x10405,0x1042D,0x10405}, /* 1042C */ - {0x10406,0x1042E,0x10406}, {0x10407,0x1042F,0x10407}, /* 1042E */ - {0x10408,0x10430,0x10408}, {0x10409,0x10431,0x10409}, /* 10430 */ - {0x1040A,0x10432,0x1040A}, {0x1040B,0x10433,0x1040B}, /* 10432 */ - {0x1040C,0x10434,0x1040C}, {0x1040D,0x10435,0x1040D}, /* 10434 */ - {0x1040E,0x10436,0x1040E}, {0x1040F,0x10437,0x1040F}, /* 10436 */ - {0x10410,0x10438,0x10410}, {0x10411,0x10439,0x10411}, /* 10438 */ - {0x10412,0x1043A,0x10412}, {0x10413,0x1043B,0x10413}, /* 1043A */ - {0x10414,0x1043C,0x10414}, {0x10415,0x1043D,0x10415}, /* 1043C */ - {0x10416,0x1043E,0x10416}, {0x10417,0x1043F,0x10417}, /* 1043E */ - {0x10418,0x10440,0x10418}, {0x10419,0x10441,0x10419}, /* 10440 */ - {0x1041A,0x10442,0x1041A}, {0x1041B,0x10443,0x1041B}, /* 10442 */ - {0x1041C,0x10444,0x1041C}, {0x1041D,0x10445,0x1041D}, /* 10444 */ - {0x1041E,0x10446,0x1041E}, {0x1041F,0x10447,0x1041F}, /* 10446 */ - {0x10420,0x10448,0x10420}, {0x10421,0x10449,0x10421}, /* 10448 */ - {0x10422,0x1044A,0x10422}, {0x10423,0x1044B,0x10423}, /* 1044A */ - {0x10424,0x1044C,0x10424}, {0x10425,0x1044D,0x10425}, /* 1044C */ - {0x10426,0x1044E,0x10426}, {0x10427,0x1044F,0x10427}, /* 1044E */ - {0x10450,0x10450,0x10450}, {0x10451,0x10451,0x10451}, /* 10450 */ - {0x10452,0x10452,0x10452}, {0x10453,0x10453,0x10453}, /* 10452 */ - {0x10454,0x10454,0x10454}, {0x10455,0x10455,0x10455}, /* 10454 */ - {0x10456,0x10456,0x10456}, {0x10457,0x10457,0x10457}, /* 10456 */ - {0x10458,0x10458,0x10458}, {0x10459,0x10459,0x10459}, /* 10458 */ - {0x1045A,0x1045A,0x1045A}, {0x1045B,0x1045B,0x1045B}, /* 1045A */ - {0x1045C,0x1045C,0x1045C}, {0x1045D,0x1045D,0x1045D}, /* 1045C */ - {0x1045E,0x1045E,0x1045E}, {0x1045F,0x1045F,0x1045F}, /* 1045E */ - {0x10460,0x10460,0x10460}, {0x10461,0x10461,0x10461}, /* 10460 */ - {0x10462,0x10462,0x10462}, {0x10463,0x10463,0x10463}, /* 10462 */ - {0x10464,0x10464,0x10464}, {0x10465,0x10465,0x10465}, /* 10464 */ - {0x10466,0x10466,0x10466}, {0x10467,0x10467,0x10467}, /* 10466 */ - {0x10468,0x10468,0x10468}, {0x10469,0x10469,0x10469}, /* 10468 */ - {0x1046A,0x1046A,0x1046A}, {0x1046B,0x1046B,0x1046B}, /* 1046A */ - {0x1046C,0x1046C,0x1046C}, {0x1046D,0x1046D,0x1046D}, /* 1046C */ - {0x1046E,0x1046E,0x1046E}, {0x1046F,0x1046F,0x1046F}, /* 1046E */ - {0x10470,0x10470,0x10470}, {0x10471,0x10471,0x10471}, /* 10470 */ - {0x10472,0x10472,0x10472}, {0x10473,0x10473,0x10473}, /* 10472 */ - {0x10474,0x10474,0x10474}, {0x10475,0x10475,0x10475}, /* 10474 */ - {0x10476,0x10476,0x10476}, {0x10477,0x10477,0x10477}, /* 10476 */ - {0x10478,0x10478,0x10478}, {0x10479,0x10479,0x10479}, /* 10478 */ - {0x1047A,0x1047A,0x1047A}, {0x1047B,0x1047B,0x1047B}, /* 1047A */ - {0x1047C,0x1047C,0x1047C}, {0x1047D,0x1047D,0x1047D}, /* 1047C */ - {0x1047E,0x1047E,0x1047E}, {0x1047F,0x1047F,0x1047F}, /* 1047E */ - {0x10480,0x10480,0x10480}, {0x10481,0x10481,0x10481}, /* 10480 */ - {0x10482,0x10482,0x10482}, {0x10483,0x10483,0x10483}, /* 10482 */ - {0x10484,0x10484,0x10484}, {0x10485,0x10485,0x10485}, /* 10484 */ - {0x10486,0x10486,0x10486}, {0x10487,0x10487,0x10487}, /* 10486 */ - {0x10488,0x10488,0x10488}, {0x10489,0x10489,0x10489}, /* 10488 */ - {0x1048A,0x1048A,0x1048A}, {0x1048B,0x1048B,0x1048B}, /* 1048A */ - {0x1048C,0x1048C,0x1048C}, {0x1048D,0x1048D,0x1048D}, /* 1048C */ - {0x1048E,0x1048E,0x1048E}, {0x1048F,0x1048F,0x1048F}, /* 1048E */ - {0x10490,0x10490,0x10490}, {0x10491,0x10491,0x10491}, /* 10490 */ - {0x10492,0x10492,0x10492}, {0x10493,0x10493,0x10493}, /* 10492 */ - {0x10494,0x10494,0x10494}, {0x10495,0x10495,0x10495}, /* 10494 */ - {0x10496,0x10496,0x10496}, {0x10497,0x10497,0x10497}, /* 10496 */ - {0x10498,0x10498,0x10498}, {0x10499,0x10499,0x10499}, /* 10498 */ - {0x1049A,0x1049A,0x1049A}, {0x1049B,0x1049B,0x1049B}, /* 1049A */ - {0x1049C,0x1049C,0x1049C}, {0x1049D,0x1049D,0x1049D}, /* 1049C */ - {0x1049E,0x1049E,0x1049E}, {0x1049F,0x1049F,0x1049F}, /* 1049E */ - {0x104A0,0x104A0,0x104A0}, {0x104A1,0x104A1,0x104A1}, /* 104A0 */ - {0x104A2,0x104A2,0x104A2}, {0x104A3,0x104A3,0x104A3}, /* 104A2 */ - {0x104A4,0x104A4,0x104A4}, {0x104A5,0x104A5,0x104A5}, /* 104A4 */ - {0x104A6,0x104A6,0x104A6}, {0x104A7,0x104A7,0x104A7}, /* 104A6 */ - {0x104A8,0x104A8,0x104A8}, {0x104A9,0x104A9,0x104A9}, /* 104A8 */ - {0x104AA,0x104AA,0x104AA}, {0x104AB,0x104AB,0x104AB}, /* 104AA */ - {0x104AC,0x104AC,0x104AC}, {0x104AD,0x104AD,0x104AD}, /* 104AC */ - {0x104AE,0x104AE,0x104AE}, {0x104AF,0x104AF,0x104AF}, /* 104AE */ - {0x104B0,0x104B0,0x104B0}, {0x104B1,0x104B1,0x104B1}, /* 104B0 */ - {0x104B2,0x104B2,0x104B2}, {0x104B3,0x104B3,0x104B3}, /* 104B2 */ - {0x104B4,0x104B4,0x104B4}, {0x104B5,0x104B5,0x104B5}, /* 104B4 */ - {0x104B6,0x104B6,0x104B6}, {0x104B7,0x104B7,0x104B7}, /* 104B6 */ - {0x104B8,0x104B8,0x104B8}, {0x104B9,0x104B9,0x104B9}, /* 104B8 */ - {0x104BA,0x104BA,0x104BA}, {0x104BB,0x104BB,0x104BB}, /* 104BA */ - {0x104BC,0x104BC,0x104BC}, {0x104BD,0x104BD,0x104BD}, /* 104BC */ - {0x104BE,0x104BE,0x104BE}, {0x104BF,0x104BF,0x104BF}, /* 104BE */ - {0x104C0,0x104C0,0x104C0}, {0x104C1,0x104C1,0x104C1}, /* 104C0 */ - {0x104C2,0x104C2,0x104C2}, {0x104C3,0x104C3,0x104C3}, /* 104C2 */ - {0x104C4,0x104C4,0x104C4}, {0x104C5,0x104C5,0x104C5}, /* 104C4 */ - {0x104C6,0x104C6,0x104C6}, {0x104C7,0x104C7,0x104C7}, /* 104C6 */ - {0x104C8,0x104C8,0x104C8}, {0x104C9,0x104C9,0x104C9}, /* 104C8 */ - {0x104CA,0x104CA,0x104CA}, {0x104CB,0x104CB,0x104CB}, /* 104CA */ - {0x104CC,0x104CC,0x104CC}, {0x104CD,0x104CD,0x104CD}, /* 104CC */ - {0x104CE,0x104CE,0x104CE}, {0x104CF,0x104CF,0x104CF}, /* 104CE */ - {0x104D0,0x104D0,0x104D0}, {0x104D1,0x104D1,0x104D1}, /* 104D0 */ - {0x104D2,0x104D2,0x104D2}, {0x104D3,0x104D3,0x104D3}, /* 104D2 */ - {0x104D4,0x104D4,0x104D4}, {0x104D5,0x104D5,0x104D5}, /* 104D4 */ - {0x104D6,0x104D6,0x104D6}, {0x104D7,0x104D7,0x104D7}, /* 104D6 */ - {0x104D8,0x104D8,0x104D8}, {0x104D9,0x104D9,0x104D9}, /* 104D8 */ - {0x104DA,0x104DA,0x104DA}, {0x104DB,0x104DB,0x104DB}, /* 104DA */ - {0x104DC,0x104DC,0x104DC}, {0x104DD,0x104DD,0x104DD}, /* 104DC */ - {0x104DE,0x104DE,0x104DE}, {0x104DF,0x104DF,0x104DF}, /* 104DE */ - {0x104E0,0x104E0,0x104E0}, {0x104E1,0x104E1,0x104E1}, /* 104E0 */ - {0x104E2,0x104E2,0x104E2}, {0x104E3,0x104E3,0x104E3}, /* 104E2 */ - {0x104E4,0x104E4,0x104E4}, {0x104E5,0x104E5,0x104E5}, /* 104E4 */ - {0x104E6,0x104E6,0x104E6}, {0x104E7,0x104E7,0x104E7}, /* 104E6 */ - {0x104E8,0x104E8,0x104E8}, {0x104E9,0x104E9,0x104E9}, /* 104E8 */ - {0x104EA,0x104EA,0x104EA}, {0x104EB,0x104EB,0x104EB}, /* 104EA */ - {0x104EC,0x104EC,0x104EC}, {0x104ED,0x104ED,0x104ED}, /* 104EC */ - {0x104EE,0x104EE,0x104EE}, {0x104EF,0x104EF,0x104EF}, /* 104EE */ - {0x104F0,0x104F0,0x104F0}, {0x104F1,0x104F1,0x104F1}, /* 104F0 */ - {0x104F2,0x104F2,0x104F2}, {0x104F3,0x104F3,0x104F3}, /* 104F2 */ - {0x104F4,0x104F4,0x104F4}, {0x104F5,0x104F5,0x104F5}, /* 104F4 */ - {0x104F6,0x104F6,0x104F6}, {0x104F7,0x104F7,0x104F7}, /* 104F6 */ - {0x104F8,0x104F8,0x104F8}, {0x104F9,0x104F9,0x104F9}, /* 104F8 */ - {0x104FA,0x104FA,0x104FA}, {0x104FB,0x104FB,0x104FB}, /* 104FA */ - {0x104FC,0x104FC,0x104FC}, {0x104FD,0x104FD,0x104FD}, /* 104FC */ - {0x104FE,0x104FE,0x104FE}, {0x104FF,0x104FF,0x104FF} /* 104FE */ -}; - - -MY_UNICASE_CHARACTER *my_unicase_pages_unicode520[4352]= -{ - u520p00, u520p01, u520p02, u520p03, u520p04, u520p05, plane06, plane07, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - u520p10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, u520p1D, u520p1E, u520p1F, - NULL, u520p21, NULL, NULL, u520p24, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, u520p2C, u520p2D, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, u520pA6, u520pA7, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, u520pFF, - NULL, NULL, NULL, NULL,u520p104, NULL, NULL, NULL, -}; - - -MY_UNICASE_INFO my_unicase_unicode520= -{ - 0x104FF, - my_unicase_pages_unicode520 -}; - - static uint my_casefold_multiply_utf8mbx(CHARSET_INFO *cs) { DBUG_ASSERT(cs->mbminlen == 1 && cs->mbmaxlen >= 3); - if (cs->caseinfo == &my_unicase_unicode520) + if (cs->casefold == &my_casefold_unicode520) return 2; - if (cs->caseinfo == &my_unicase_turkish) + if (cs->casefold == &my_casefold_turkish) return 2; - if (cs->caseinfo == &my_unicase_default) + if (cs->casefold == &my_casefold_default) return 1; - if (cs->caseinfo == &my_unicase_mysql500) + if (cs->casefold == &my_casefold_mysql500) return 1; DBUG_ASSERT(0); /*Unknown case folding data */ return 1; @@ -4670,7 +145,7 @@ int my_wildcmp_unicode_impl(CHARSET_INFO *cs, const char *str,const char *str_end, const char *wildstr,const char *wildend, int escape, int w_one, int w_many, - MY_UNICASE_INFO *weights, int recurse_level) + MY_CASEFOLD_INFO *weights, int recurse_level) { int result= -1; /* Not found, using wildcards */ my_wc_t s_wc, w_wc; @@ -4815,7 +290,7 @@ my_wildcmp_unicode(CHARSET_INFO *cs, const char *str,const char *str_end, const char *wildstr,const char *wildend, int escape, int w_one, int w_many, - MY_UNICASE_INFO *weights) + MY_CASEFOLD_INFO *weights) { return my_wildcmp_unicode_impl(cs, str, str_end, wildstr, wildend, @@ -5198,7 +673,7 @@ static size_t my_caseup_utf8mb3(CHARSET_INFO *cs, int srcres, dstres; const char *srcend= src + srclen; char *dstend= dst + dstlen, *dst0= dst; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(src != dst || cs->cset->caseup_multiply(cs) == 1); while ((src < srcend) && @@ -5220,7 +695,7 @@ static void my_hash_sort_utf8mb3_nopad(CHARSET_INFO *cs, const uchar *s, size_t my_wc_t wc; int res; const uchar *e= s+slen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; register ulong m1= *nr1, m2= *nr2; while ((s < e) && (res=my_utf8mb3_uni(cs,&wc, (uchar *)s, (uchar*)e))>0 ) @@ -5251,7 +726,7 @@ static size_t my_caseup_str_utf8mb3(CHARSET_INFO *cs, char *src) my_wc_t wc; int srcres, dstres; char *dst= src, *dst0= src; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(cs->cset->caseup_multiply(cs) == 1); while (*src && @@ -5276,7 +751,7 @@ static size_t my_casedn_utf8mb3(CHARSET_INFO *cs, int srcres, dstres; const char *srcend= src + srclen; char *dstend= dst + dstlen, *dst0= dst; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(src != dst || cs->cset->casedn_multiply(cs) == 1); while ((src < srcend) && @@ -5297,7 +772,7 @@ static size_t my_casedn_str_utf8mb3(CHARSET_INFO *cs, char *src) my_wc_t wc; int srcres, dstres; char *dst= src, *dst0= src; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(cs->cset->casedn_multiply(cs) == 1); while (*src && @@ -5350,7 +825,7 @@ static size_t my_casedn_str_utf8mb3(CHARSET_INFO *cs, char *src) static int my_strcasecmp_utf8mb3(CHARSET_INFO *cs, const char *s, const char *t) { - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; while (s[0] && t[0]) { my_wc_t s_wc,t_wc; @@ -5432,7 +907,7 @@ int my_wildcmp_utf8mb3(CHARSET_INFO *cs, const char *wildstr,const char *wildend, int escape, int w_one, int w_many) { - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; return my_wildcmp_unicode(cs,str,str_end,wildstr,wildend, escape,w_one,w_many,uni_plane); } @@ -5467,33 +942,32 @@ int my_charlen_utf8mb3(CHARSET_INFO *cs __attribute__((unused)), static inline int my_weight_mb1_utf8mb3_general_ci(uchar b) { - return (int) my_unicase_default_page00[b & 0xFF].sort; + return (int) weight_general_ci_page00[b & 0xFF]; } static inline int my_weight_mb2_utf8mb3_general_ci(uchar b0, uchar b1) { my_wc_t wc= UTF8MB2_CODE(b0, b1); - MY_UNICASE_CHARACTER *page= my_unicase_default_pages[wc >> 8]; + const uint16 *page= weight_general_ci_index[wc >> 8]; /* 2-byte utf8 sequences encode Unicode characters up to U+07FF. - my_unicase_default_pages[N] has non-NULL page pointers + weight_general_ci_index[N] has non-NULL page pointers for all N in the range [0..7]. - - my_unicase_default_pages[0..5] point to real translation data - - my_unicase_default_pages[6..7] point to dummy pages + - weight_general_ci_index[0..5] point to real translation data + - weight_general_ci_index[6..7] point to dummy pages (without real translation). By adding these dummy pages we can avoid testing 'page' against NULL. This gives up to 20% performance improvement. */ - return (int) page[wc & 0xFF].sort; + return (int) page[wc & 0xFF]; } static inline int my_weight_mb3_utf8mb3_general_ci(uchar b0, uchar b1, uchar b2) { my_wc_t wc= UTF8MB3_CODE(b0, b1, b2); - MY_UNICASE_CHARACTER *page= my_unicase_default_pages[wc >> 8]; - return (int) (page ? page[wc & 0xFF].sort : wc); + return my_general_ci_bmp_char_to_weight((uint16) wc); } @@ -5502,9 +976,7 @@ static inline int my_weight_mb3_utf8mb3_general_ci(uchar b0, uchar b1, uchar b2) #define DEFINE_STRNXFRM_UNICODE_NOPAD #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_utf8mb3_quick(pwc, s, e) #define OPTIMIZE_ASCII 1 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_bmp_char_to_weight(x) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB1(x) my_weight_mb1_utf8mb3_general_ci(x) #define WEIGHT_MB2(x,y) my_weight_mb2_utf8mb3_general_ci(x,y) @@ -5525,19 +997,19 @@ static inline int my_weight_mb3_utf8mb3_general_ci(uchar b0, uchar b1, uchar b2) static inline int my_weight_mb1_utf8mb3_general_mysql500_ci(uchar b) { - return (int) my_unicase_mysql500_page00[b & 0xFF].sort; + return (int) weight_general_mysql500_ci_page00[b & 0xFF]; } static inline int my_weight_mb2_utf8mb3_general_mysql500_ci(uchar b0, uchar b1) { my_wc_t wc= UTF8MB2_CODE(b0, b1); - MY_UNICASE_CHARACTER *page= my_unicase_mysql500_pages[wc >> 8]; + const uint16 *page= weight_general_mysql500_ci_index[wc >> 8]; /* `page` should never be NULL for 2-byte utf8 characters. See comments in my_weight_mb2_utf8mb3_general_ci(). */ - return (int) page[wc & 0xFF].sort; + return (int) page[wc & 0xFF]; } @@ -5545,8 +1017,16 @@ static inline int my_weight_mb3_utf8mb3_general_mysql500_ci(uchar b0, uchar b1, uchar b2) { my_wc_t wc= UTF8MB3_CODE(b0, b1, b2); - MY_UNICASE_CHARACTER *page= my_unicase_mysql500_pages[wc >> 8]; - return (int) (page ? page[wc & 0xFF].sort : wc); + const uint16 *page= weight_general_mysql500_ci_index[wc >> 8]; + return (int) (page ? page[wc & 0xFF] : wc); +} + + +static inline int +my_wc_weight_utf8mb3_general_mysql500_ci(my_wc_t wc) +{ + const uint16 *page= weight_general_mysql500_ci_index[wc >> 8]; + return (int) (page ? page[wc & 0xFF] : wc); } @@ -5554,10 +1034,8 @@ my_weight_mb3_utf8mb3_general_mysql500_ci(uchar b0, uchar b1, uchar b2) #define DEFINE_STRNXFRM_UNICODE #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_utf8mb3_quick(pwc, s, e) #define OPTIMIZE_ASCII 1 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_mysql500_page00 -#define UNICASE_PAGES my_unicase_mysql500_pages #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) +#define MY_WC_WEIGHT(x) my_wc_weight_utf8mb3_general_mysql500_ci(x) #define WEIGHT_MB1(x) my_weight_mb1_utf8mb3_general_mysql500_ci(x) #define WEIGHT_MB2(x,y) my_weight_mb2_utf8mb3_general_mysql500_ci(x,y) #define WEIGHT_MB3(x,y,z) my_weight_mb3_utf8mb3_general_mysql500_ci(x,y,z) @@ -5775,8 +1253,7 @@ struct charset_info_st my_charset_utf8mb3_general_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -5807,8 +1284,7 @@ struct charset_info_st my_charset_utf8mb3_general_mysql500_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_mysql500, /* caseinfo */ + &my_casefold_mysql500, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -5839,8 +1315,7 @@ struct charset_info_st my_charset_utf8mb3_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -5871,8 +1346,7 @@ struct charset_info_st my_charset_utf8mb3_general_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ + &my_casefold_default, /* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -5903,8 +1377,7 @@ struct charset_info_st my_charset_utf8mb3_nopad_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -5940,7 +1413,7 @@ static int my_strnncoll_utf8mb3_cs(CHARSET_INFO *cs, const uchar *te=t+tlen; int save_diff = 0; int diff; - MY_UNICASE_INFO *const *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *const *uni_plane= cs->casefold; while ( s < se && t < te ) { @@ -5983,7 +1456,7 @@ static int my_strnncollsp_utf8mb3_cs(CHARSET_INFO *cs, const uchar *se= s + slen; const uchar *te= t + tlen; int save_diff= 0; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; while ( s < se && t < te ) { @@ -6067,8 +1540,7 @@ struct charset_info_st my_charset_utf8mb3_general_cs= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -7341,9 +2813,7 @@ my_wc_to_printable_filename(CHARSET_INFO *cs, my_wc_t wc, #define DEFINE_STRNXFRM_UNICODE #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_filename(cs, pwc, s, e) #define OPTIMIZE_ASCII 0 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_char_to_weight(x) /* #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) @@ -7426,8 +2896,7 @@ struct charset_info_st my_charset_filename= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -7651,7 +3120,7 @@ my_caseup_utf8mb4(CHARSET_INFO *cs, const char *src, size_t srclen, int srcres, dstres; const char *srcend= src + srclen; char *dstend= dst + dstlen, *dst0= dst; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(src != dst || cs->cset->caseup_multiply(cs) == 1); while ((src < srcend) && @@ -7675,7 +3144,7 @@ my_hash_sort_utf8mb4_nopad(CHARSET_INFO *cs, const uchar *s, size_t slen, my_wc_t wc; int res; const uchar *e= s + slen; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; register ulong m1= *nr1, m2= *nr2; while ((res= my_mb_wc_utf8mb4(cs, &wc, (uchar*) s, (uchar*) e)) > 0) @@ -7719,7 +3188,7 @@ my_caseup_str_utf8mb4(CHARSET_INFO *cs, char *src) my_wc_t wc; int srcres, dstres; char *dst= src, *dst0= src; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(cs->cset->caseup_multiply(cs) == 1); while (*src && @@ -7745,7 +3214,7 @@ my_casedn_utf8mb4(CHARSET_INFO *cs, int srcres, dstres; const char *srcend= src + srclen; char *dstend= dst + dstlen, *dst0= dst; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(src != dst || cs->cset->casedn_multiply(cs) == 1); while ((src < srcend) && @@ -7768,7 +3237,7 @@ my_casedn_str_utf8mb4(CHARSET_INFO *cs, char *src) my_wc_t wc; int srcres, dstres; char *dst= src, *dst0= src; - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; DBUG_ASSERT(cs->cset->casedn_multiply(cs) == 1); while (*src && @@ -7817,7 +3286,7 @@ my_casedn_str_utf8mb4(CHARSET_INFO *cs, char *src) static int my_strcasecmp_utf8mb4(CHARSET_INFO *cs, const char *s, const char *t) { - MY_UNICASE_INFO *uni_plane= cs->caseinfo; + MY_CASEFOLD_INFO *uni_plane= cs->casefold; while (s[0] && t[0]) { my_wc_t s_wc,t_wc; @@ -7881,7 +3350,7 @@ my_wildcmp_utf8mb4(CHARSET_INFO *cs, int escape, int w_one, int w_many) { return my_wildcmp_unicode(cs, str, strend, wildstr, wildend, - escape, w_one, w_many, cs->caseinfo); + escape, w_one, w_many, cs->casefold); } @@ -7928,9 +3397,7 @@ my_charlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)), #define DEFINE_STRNXFRM_UNICODE_NOPAD #define MY_MB_WC(cs, pwc, s, e) my_mb_wc_utf8mb4_quick(pwc, s, e) #define OPTIMIZE_ASCII 1 -#define UNICASE_MAXCHAR MY_UNICASE_INFO_DEFAULT_MAXCHAR -#define UNICASE_PAGE0 my_unicase_default_page00 -#define UNICASE_PAGES my_unicase_default_pages +#define MY_WC_WEIGHT(x) my_general_ci_char_to_weight(x) #define IS_MB4_CHAR(b0,b1,b2,b3) IS_UTF8MB4_STEP3(b0,b1,b2,b3) #define WEIGHT_ILSEQ(x) (0xFF0000 + (uchar) (x)) #define WEIGHT_MB1(b0) my_weight_mb1_utf8mb3_general_ci(b0) @@ -8116,8 +3583,7 @@ struct charset_info_st my_charset_utf8mb4_general_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -8149,8 +3615,7 @@ struct charset_info_st my_charset_utf8mb4_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -8182,8 +3647,7 @@ struct charset_info_st my_charset_utf8mb4_general_nopad_ci= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ @@ -8215,8 +3679,7 @@ struct charset_info_st my_charset_utf8mb4_nopad_bin= NULL, /* uca */ NULL, /* tab_to_uni */ NULL, /* tab_from_uni */ - NULL, /* casefold */ - &my_unicase_default,/* caseinfo */ + &my_casefold_default,/* casefold */ NULL, /* state_map */ NULL, /* ident_map */ 1, /* strxfrm_multiply */ diff --git a/strings/ctype-win1250ch.c b/strings/ctype-win1250ch.c index 86b7de97010..a908bdd2b95 100644 --- a/strings/ctype-win1250ch.c +++ b/strings/ctype-win1250ch.c @@ -711,7 +711,6 @@ struct charset_info_st my_charset_cp1250_czech_cs = tab_cp1250_uni, /* tab_to_uni */ idx_uni_cp1250, /* tab_from_uni */ NULL, /* casefold */ - &my_unicase_default, /* caseinfo */ NULL, /* state_map */ NULL, /* ident_map */ 2, /* strxfrm_multiply */ diff --git a/strings/strcoll.inl b/strings/strcoll.inl index ce220bebadb..a70009991df 100644 --- a/strings/strcoll.inl +++ b/strings/strcoll.inl @@ -490,16 +490,12 @@ MY_FUNCTION_NAME(strnxfrm)(CHARSET_INFO *cs, #error OPTIMIZE_ASCII must be defined for DEFINE_STRNXFRM_UNICODE #endif -#ifndef UNICASE_MAXCHAR -#error UNICASE_MAXCHAR must be defined for DEFINE_STRNXFRM_UNICODE +#if OPTIMIZE_ASCII && !defined(WEIGHT_MB1) +#error WEIGHT_MB1 must be defined for DEFINE_STRNXFRM_UNICODE #endif -#ifndef UNICASE_PAGE0 -#error UNICASE_PAGE0 must be defined for DEFINE_STRNXFRM_UNICODE -#endif - -#ifndef UNICASE_PAGES -#error UNICASE_PAGES must be defined for DEFINE_STRNXFRM_UNICODE +#ifndef MY_WC_WEIGHT +#error MY_WC_WEIGHT must be defined for DEFINE_STRNXFRM_UNICODE #endif @@ -514,7 +510,6 @@ MY_FUNCTION_NAME(strnxfrm_internal)(CHARSET_INFO *cs __attribute__((unused)), DBUG_ASSERT(src || !se); DBUG_ASSERT((cs->state & MY_CS_LOWER_SORT) == 0); - DBUG_ASSERT(0x7F <= UNICASE_MAXCHAR); for (; dst < de && *nweights; (*nweights)--) { @@ -524,7 +519,7 @@ MY_FUNCTION_NAME(strnxfrm_internal)(CHARSET_INFO *cs __attribute__((unused)), break; if (src[0] <= 0x7F) { - wc= UNICASE_PAGE0[*src++].sort; + wc= WEIGHT_MB1(*src++); PUT_WC_BE2_HAVE_1BYTE(dst, de, wc); continue; } @@ -532,14 +527,7 @@ MY_FUNCTION_NAME(strnxfrm_internal)(CHARSET_INFO *cs __attribute__((unused)), if ((res= MY_MB_WC(cs, &wc, src, se)) <= 0) break; src+= res; - if (wc <= UNICASE_MAXCHAR) - { - MY_UNICASE_CHARACTER *page; - if ((page= UNICASE_PAGES[wc >> 8])) - wc= page[wc & 0xFF].sort; - } - else - wc= MY_CS_REPLACEMENT_CHARACTER; + wc= MY_WC_WEIGHT(wc); PUT_WC_BE2_HAVE_1BYTE(dst, de, wc); } return dst - dst0; @@ -722,9 +710,7 @@ MY_FUNCTION_NAME(strnxfrm_nopad)(CHARSET_INFO *cs, #undef MY_FUNCTION_NAME #undef MY_MB_WC #undef OPTIMIZE_ASCII -#undef UNICASE_MAXCHAR -#undef UNICASE_PAGE0 -#undef UNICASE_PAGES +#undef MY_WC_WEIGHT #undef WEIGHT_ILSEQ #undef WEIGHT_MB1 #undef WEIGHT_MB2 diff --git a/strings/unidata-dump.c b/strings/unidata-dump.c new file mode 100644 index 00000000000..5ecc8cb0c8c --- /dev/null +++ b/strings/unidata-dump.c @@ -0,0 +1,1110 @@ +const char COPYING[]= "\ +/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.\n\ + Copyright (c) 2009, 2023, MariaDB Corporation.\n\ +\n\ + This program is free software; you can redistribute it and/or modify\n\ + it under the terms of the GNU General Public License as published by\n\ + the Free Software Foundation; version 2 of the License.\n\ +\n\ + This program is distributed in the hope that it will be useful,\n\ + but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ + GNU General Public License for more details.\n\ +\n\ + You should have received a copy of the GNU General Public License\n\ + along with this program; if not, write to the Free Software\n\ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA\n\ +*/\n"; + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define MAX_UNI_CHAR 0x10FFFF +#define MAX_UNI_PAGE 0x10FF + +#define STRING_WITH_LEN(X) (X), ((size_t) (sizeof(X) - 1)) + + +typedef unsigned int my_wchar_t; + +/* Character types, as in m_ctype.h */ +#define _MY_U 01 /* Upper case */ +#define _MY_L 02 /* Lower case */ +#define _MY_NMR 04 /* Numeral (digit) */ +#define _MY_SPC 010 /* Spacing character */ +#define _MY_PNT 020 /* Punctuation */ +#define _MY_CTR 040 /* Control character */ +#define _MY_B 0100 /* Blank */ +#define _MY_X 0200 /* heXadecimal digit */ + +#define CT_MAX _MY_X +#define CT_CJK _MY_L | _MY_U +#define CT_HANGUL _MY_L | _MY_U +#define CT_NONE 0 + + +/* Decomposition types */ +typedef enum +{ + DT_UNKNOWN, + DT_FONT, + DT_NOBREAK, + DT_INITIAL, + DT_MEDIAL, + DT_FINAL, + DT_ISOLATED, + DT_CIRCLE, + DT_SUPER, + DT_SUB, + DT_VERTICAL, + DT_WIDE, + DT_NARROW, + DT_SMALL, + DT_SQUARE, + DT_FRACTION, + DT_COMPAT +} decomposition_type_t; + + +typedef enum +{ + PAGE_DATA_USELESS= 0, + PAGE_DATA_IMPORTANT= 1, + PAGE_DATA_DUMMY= 2 +} page_data_type_t; + + +typedef struct +{ + page_data_type_t page_tab; + int page_overridden; + int page_ctype; +} PAGE_STAT; + + +typedef struct +{ + const char *mode_name; + int print_ctype; + int print_toupper; + int print_tolower; + int print_noaccent; + int print_noaccent_tolower; + int print_noaccent_toupper; + int print_curly_brackets_in_items; + int print_curly_brackets_in_index; + int chars_per_line; + int single_array; + int pages_per_line_in_index; + int const_data; + const char *page_data_type_name; + const char *page_name; + const char *page_name_derived; + const char *index_data_type_name; + const char *index_name; +} UNIDATA_OPT_MODE; + + +typedef struct +{ + my_wchar_t max_char; + my_wchar_t dummy_pages_codepoint_max; + const char *filename; + UNIDATA_OPT_MODE mode; +} UNIDATA_OPT; + + +my_wchar_t npages_by_opt(const UNIDATA_OPT *opt) +{ + return (opt->max_char + 1) / 256; +} + + +typedef struct my_ctype_name_st +{ + const char *name; + int val; + int to_be_decomposed; +} MY_CTYPE_NAME_ST; + + +static MY_CTYPE_NAME_ST my_ctype_name[]= +{ + {"Lu", _MY_U, 1}, /* Letter, Uppercase */ + {"Ll", _MY_L, 1}, /* Letter, Lowercase */ + {"Lt", _MY_U, 1}, /* Letter, Titlecase */ + {"Lo", _MY_L, 1}, /* Letter, other */ + {"Lm", _MY_L, 0}, /* Letter, Modifier */ + + {"Nd", _MY_NMR, 0}, /* Number, Decimal Digit */ + {"Nl", _MY_NMR|_MY_U|_MY_L, 0}, /* Number, Letter */ + {"No", _MY_NMR|_MY_PNT, 0}, /* Number, Other */ + + {"Mn", _MY_L|_MY_PNT, 0}, /* Mark, Nonspacing */ + {"Mc", _MY_L|_MY_PNT, 1}, /* Mark, Spacing Combining */ + {"Me", _MY_L|_MY_PNT, 0}, /* Mark, Enclosing */ + + {"Pc", _MY_PNT, 0}, /* Punctuation, Connector */ + {"Pd", _MY_PNT, 0}, /* Punctuation, Dash */ + {"Ps", _MY_PNT, 0}, /* Punctuation, Open */ + {"Pe", _MY_PNT, 0}, /* Punctuation, Close */ + {"Pi", _MY_PNT, 0}, /* Punctuation, Initial quote */ + {"Pf", _MY_PNT, 0}, /* Punctuation, Final quote */ + {"Po", _MY_PNT, 0}, /* Punctuation, Other */ + + {"Sm", _MY_PNT, 0}, /* Symbol, Math */ + {"Sc", _MY_PNT, 0}, /* Symbol, Currency */ + {"Sk", _MY_PNT, 0}, /* Symbol, Modifier */ + {"So", _MY_PNT, 0}, /* Symbol, Other */ + + {"Zs", _MY_SPC, 0}, /* Separator, Space */ + {"Zl", _MY_SPC, 0}, /* Separator, Line */ + {"Zp", _MY_SPC, 0}, /* Separator, Paragraph */ + + {"Cc", _MY_CTR, 0}, /* Other, Control */ + {"Cf", _MY_CTR, 0}, /* Other, Format */ + {"Cs", _MY_CTR, 0}, /* Other, Surrogate */ + {"Co", _MY_CTR, 0}, /* Other, Private Use */ + {"Cn", _MY_CTR, 0}, /* Other, Not Assigned */ + {NULL, 0, 0} +}; + + +static const MY_CTYPE_NAME_ST * +ctype_name_st_find(my_wchar_t codepoint, const char *tok) +{ + MY_CTYPE_NAME_ST *p; + for (p= my_ctype_name; p->name; p++) + { + if (!strncasecmp(p->name, tok, 2)) + return p; + } + return NULL; +} + + +static int +ctype_name_st_to_num(const MY_CTYPE_NAME_ST *st, my_wchar_t codepoint) +{ + if ((codepoint >= 'a' && codepoint <= 'z') || + (codepoint >= 'A' && codepoint <= 'Z')) + return st->val | _MY_X; + return st->val; +} + + +static UNIDATA_OPT opt_caseinfo= +{ + 0x10FFFF, /* max_char */ + 0x7FF, /* dummy_pages_codepoint_max == utf8 mb2 range */ + NULL, /*filename*/ + { + "caseinfo", /* mode name */ + 0, /* print_ctype */ + 1, /* print_toupper */ + 1, /* print_tolower */ + 0, /* print_noaccent */ + 0, /* print_noaccent_tolower */ + 1, /* print_noaccent_toupper */ + 1, /* print_curly_brackets_in_items */ + 0, /* print_curly_brackets_in_index */ + 2, /* chars_per_line */ + 0, /* single_array */ + 8, /* pages_per_line_in_index */ + 0, /* const_data */ + "MY_UNICASE_CHARACTER", /* page_data_type_name */ + "plane", /* page_name */ + NULL, /* page_name_derived */ + "MY_UNICASE_CHARACTER *", /* index_data_type_name */ + "my_unicase_default_pages" /* index_name */ + } +}; + + +static UNIDATA_OPT opt_casefold= +{ + 0x10FFFF, /* max_char */ + 0x7FF, /* dummy_pages_codepoint_max == utf8 mb2 range */ + NULL, /*filename*/ + { + "casefold", /* mode name */ + 0, /* print_ctype */ + 1, /* print_toupper */ + 1, /* print_tolower */ + 0, /* print_noaccent */ + 0, /* print_noaccent_tolower */ + 0, /* print_noaccent_toupper */ + 1, /* print_curly_brackets_in_items */ + 0, /* print_curly_brackets_in_index */ + 2, /* chars_per_line */ + 0, /* single_array */ + 8, /* pages_per_line_in_index */ + 1, /* const_data */ + "MY_CASEFOLD_CHARACTER" , /* page_data_type_name */ + "page", /* page_name */ + NULL, /* page_name_derived */ + "MY_CASEFOLD_CHARACTER *", /* index_data_type_name */ + "my_casefold_default_pages" /* index_name */ + } +}; + + +static UNIDATA_OPT opt_casefold_tr= +{ + 0x10FFFF, /* max_char */ + 0x7FF, /* dummy_pages_codepoint_max == utf8 mb2 range */ + NULL, /*filename*/ + { + "casefold-tr", /* mode name */ + 0, /* print_ctype */ + 1, /* print_toupper */ + 1, /* print_tolower */ + 0, /* print_noaccent */ + 0, /* print_noaccent_tolower */ + 0, /* print_noaccent_toupper */ + 1, /* print_curly_brackets_in_items */ + 0, /* print_curly_brackets_in_index */ + 2, /* chars_per_line */ + 0, /* single_array */ + 8, /* pages_per_line_in_index */ + 1, /* const_data */ + "MY_CASEFOLD_CHARACTER" , /* page_data_type_name */ + "page_tr", /* page_name */ + "page", /* page_name_derived */ + "MY_CASEFOLD_CHARACTER *", /* index_data_type_name */ + "my_casefold_tr_pages" /* index_name */ + } +}; + + +static UNIDATA_OPT opt_weight_general_ci= +{ + 0xFFFF, /* max_char */ + 0x7FF, /* dummy_pages_codepoint_max == utf8 mb2 range */ + NULL, /*filename*/ + { + "weight_general_ci", /* mode name */ + 0, /* print_ctype */ + 0, /* print_toupper */ + 0, /* print_tolower */ + 0, /* print_noaccent */ + 0, /* print_noaccent_tolower */ + 1, /* print_noaccent_toupper */ + 0, /* print_curly_brackets_in_items */ + 0, /* print_curly_brackets_in_index */ + 8, /* chars_per_line */ + 0, /* single_array */ + 2, /* pages_per_line_in_index */ + 1, /* const_data */ + "uint16", /* page_data_type_name */ + "weight_general_ci_page", /* page_name */ + NULL, /* page_name_derived */ + "uint16 *", /* index_data_type_name */ + "weight_general_ci_index" /* index_name */ + } +}; + + +static UNIDATA_OPT opt_weight_general_mysql500_ci= +{ + 0xFFFF, /* max_char */ + 0x7FF, /* dummy_pages_codepoint_max == utf8 mb2 range */ + NULL, /*filename*/ + { + "weight_general_mysql500_ci", /* mode name */ + 0, /* print_ctype */ + 0, /* print_toupper */ + 0, /* print_tolower */ + 0, /* print_noaccent */ + 0, /* print_noaccent_tolower */ + 1, /* print_noaccent_toupper */ + 0, /* print_curly_brackets_in_items */ + 0, /* print_curly_brackets_in_index */ + 8, /* chars_per_line */ + 0, /* single_array */ + 2, /* pages_per_line_in_index */ + 1, /* const_data */ + "uint16", /* page_data_type_name */ + "weight_general_mysql500_ci_page", /* page_name */ + "weight_general_ci_page", /* page_name_derived */ + "uint16 *", /* index_data_type_name */ + "weight_general_mysql500_ci_index" /* index_name */ + } +}; + + +static UNIDATA_OPT opt_ctype= +{ + 0x10FFFF, /* max_char */ + 0x7FF, /* dummy_pages_codepoint_max == utf8 mb2 range */ + NULL, /*filename*/ + { + "ctype", /* mode name */ + 1, /* print_ctype */ + 0, /* print_toupper */ + 0, /* print_tolower */ + 0, /* print_noaccent */ + 0, /* print_noaccent_tolower */ + 0, /* print_noaccent_toupper */ + 0, /* print_curly_brackets_in_items */ + 1, /* print_curly_brackets_in_index */ + 16, /* chars_per_line */ + 0, /* single_array */ + 1, /* pages_per_line_in_index */ + 1, /* const_data */ + "unsigned char", /* page_data_type_name */ + "uctype_page", /* page_name */ + NULL, /* page_name_derived */ + "MY_UNI_CTYPE", /* index_data_type_name */ + "my_uni_ctype" /* index_name */ + } +}; + + +int opt_set_mode(UNIDATA_OPT *to, const char *name_and_value, const char *value) +{ + if (!strcmp(value, "casefold")) + { + to->mode= opt_casefold.mode; + return 0; + } + else if (!strcmp(value, "casefold-tr")) + { + to->mode= opt_casefold_tr.mode; + return 0; + } + else if (!strcmp(value, "caseinfo")) + { + to->mode= opt_caseinfo.mode; + return 0; + } + else if (!strcmp(value, "weight_general_ci")) + { + to->mode= opt_weight_general_ci.mode; + return 0; + } + else if (!strcmp(value, "weight_general_mysql500_ci")) + { + to->mode= opt_weight_general_mysql500_ci.mode; + return 0; + } + else if (!strcmp(value, "ctype")) + { + to->mode= opt_ctype.mode; + return 0; + } + fprintf(stderr, "Bad option: %s\n", name_and_value); + return 1; +} + + +static decomposition_type_t +get_decomposition_type(const char *str) +{ + if (!strcmp(str, "<font>")) return DT_FONT; + if (!strcmp(str, "<noBreak>")) return DT_NOBREAK; + if (!strcmp(str, "<initial>")) return DT_INITIAL; + if (!strcmp(str, "<medial>")) return DT_MEDIAL; + if (!strcmp(str, "<final>")) return DT_FINAL; + if (!strcmp(str, "<isolated>")) return DT_ISOLATED; + if (!strcmp(str, "<circle>")) return DT_CIRCLE; + if (!strcmp(str, "<super>")) return DT_SUPER; + if (!strcmp(str, "<sub>")) return DT_SUB; + if (!strcmp(str, "<vertical>")) return DT_VERTICAL; + if (!strcmp(str, "<wide>")) return DT_WIDE; + if (!strcmp(str, "<narrow>")) return DT_NARROW; + if (!strcmp(str, "<small>")) return DT_SMALL; + if (!strcmp(str, "<square>")) return DT_SQUARE; + if (!strcmp(str, "<fraction>")) return DT_FRACTION; + if (!strcmp(str, "<compat>")) return DT_COMPAT; + return DT_UNKNOWN; +} + + +#define MAX_DECOMP 20 + + +typedef struct +{ + int ctype; + int toupper; + int tolower; + int noaccent; + int noaccent_tolower; + int noaccent_toupper; + int decomp_type; + int decomp[MAX_DECOMP]; + int to_be_decomposed; +} UNIDATA_CHAR; + + + +/************* Initialization functions *********/ + + +static int +strip_accent(UNIDATA_CHAR *code, int i) +{ + if (code[i].decomp[0] && + code[i].decomp[1] >= 0x0300 && + code[i].decomp[1] <= 0x036F && + code[i].decomp[2] == 0) + return strip_accent(code, code[i].decomp[0]); + return i; +} + + +static void +set_noaccent(const UNIDATA_OPT *opt, UNIDATA_CHAR *code) +{ + my_wchar_t i; + for (i= 0; i <= opt->max_char; i++) + { + code[i].noaccent= strip_accent(code, i); + } +} + + +static void +set_noaccent_tolower(const UNIDATA_OPT *opt, UNIDATA_CHAR *code) +{ + my_wchar_t i; + for (i= 0; i <= opt->max_char; i++) + { + code[i].noaccent_tolower= code[code[i].noaccent].tolower; + } +} + + +static void +set_noaccent_toupper(const UNIDATA_OPT *opt, UNIDATA_CHAR *code) +{ + my_wchar_t i; + for (i= 0; i <= opt->max_char; i++) + { + code[i].noaccent_toupper= code[code[i].noaccent].toupper; + } +} + + +static void +set_default_case_folding(const UNIDATA_OPT *opt, UNIDATA_CHAR *code) +{ + my_wchar_t i; + for (i= 0; i <= opt->max_char; i++) + { + code[i].tolower= i; + code[i].toupper= i; + } +} + + +/* + Fill ideographs +*/ + +static void +fill_cjk(UNIDATA_CHAR *code) +{ + size_t i; + /* CJK Ideographs Extension A (U+3400 - U+4DB5) */ + for(i=0x3400;i<=0x4DB5;i++) + { + code[i].tolower=i; + code[i].ctype= CT_CJK; + } + /* CJK Ideographs (U+4E00 - U+9FA5) */ + for(i=0x4E00;i<=0x9FA5;i++) + { + code[i].tolower=i; + code[i].ctype= CT_CJK; + } + /* Hangul Syllables (U+AC00 - U+D7A3) */ + for(i=0xAC00;i<=0xD7A3;i++) + { + code[i].tolower=i; + code[i].ctype= CT_HANGUL; + } +} + + +/************* Loading functions ***************/ + + +static void handle_general_category(const UNIDATA_OPT *opt, + UNIDATA_CHAR *ch, + const char *tok, + my_wchar_t codepoint) +{ + /* + TODO: check if ctype is set correctly. + A difference can break fulltext indexes. + */ + + const MY_CTYPE_NAME_ST *ct= ctype_name_st_find( + (my_wchar_t) codepoint, tok); + if (ct) + { + ch->ctype|= ctype_name_st_to_num( + ct, + (my_wchar_t) codepoint); + ch->to_be_decomposed= ct->to_be_decomposed; + } +} + + +int handle_decomposition(UNIDATA_CHAR *ch, char *tok, const char *str) +{ + char *lt, *part; + size_t num; + + if (!ch->to_be_decomposed) + return 0; /* Decompose only letters */ + + for (part= strtok_r(tok, " ", <), num= 0; + part; + part= strtok_r(NULL, " ", <)) + { + char *end; + if (part[0] == '<') + { + if ((ch->decomp_type= get_decomposition_type(part)) == DT_UNKNOWN) + { + fprintf(stderr, "Unknown decomposition type:\n%s\n", str); + return 1; + } + continue; + } + + if (num + 1 >= MAX_DECOMP) + { + fprintf(stderr, "Too many decomposition parts:\n%s\n", str); + return 1; + } + ch->decomp[num]= strtol(part,&end,16); + ch->decomp[num+1]= 0; + num++; + } + return 0; +} + + +static int +parse_unidata_line(const UNIDATA_OPT *opt, char *str, UNIDATA_CHAR *unidata) +{ + unsigned long codepoint= 0; + int fieldno= 0; + char *s; + + for (s= str; *s; fieldno++) + { + char *tok= s, *e; + + if ((e= strchr(s,';'))) + { + *e= '\0'; + s= e + 1; + } + else + { + s+= strlen(s); + } + + switch (fieldno) + { + case 0: /* Code point */ + codepoint= strtoul(tok, NULL, 16); + if (codepoint > opt->max_char) + return 1; + break; + case 1: /* name */ + break; + case 2: /* general category */ + handle_general_category(opt, &unidata[codepoint], + tok, (my_wchar_t) codepoint); + break; + case 3: /* Canonical combining class */ + break; + case 4: /* BiDi class */ + break; + case 5: /* Decomposition type */ + if (tok[0] && handle_decomposition(&unidata[codepoint], tok, str)) + return -1; + break; + case 6: /* Numeric_Type, Numeric Value */ + break; + case 7: /* Numeric_Type, Numeric Value */ + break; + case 8: /* Numeric_Type, Numeric Value */ + break; + case 9: /* BiDi mirrored */ + break; + case 10: /* Unicode_1_Name */ + break; + case 11: /* ISO_Comment */ + break; + case 12: /*Simple_Uppercase_Mapping*/ + if (tok[0]) + unidata[codepoint].toupper= strtol(tok, NULL, 16); + break; + case 13: /*Simple_Lowercase_Mapping*/ + if (tok[0]) + unidata[codepoint].tolower= strtol(tok, NULL, 16); + break; + case 14: /* Simple_Titlecase_Mapping */ + break; + } + } + + return 0; +} + + +static int +load_unidata_file(const UNIDATA_OPT *opt, FILE *f, UNIDATA_CHAR *unidata) +{ + char str[1024]; + + while (fgets(str, sizeof(str), f)) + { + if (parse_unidata_line(opt, str, unidata) < 0) + return 1; + } + return 0; +} + + +static int +load_unidata(const UNIDATA_OPT *opt, UNIDATA_CHAR *unidata) +{ + FILE *f; + int rc; + if (!(f= fopen(opt->filename, "r"))) + { + fprintf(stderr, "Could not open file '%s'\n", opt->filename); + return 1; + } + rc= load_unidata_file(opt, f, unidata); + fclose(f); + return rc; +} + +/************** Printing functions ********************/ + +static void +print_one_char(const UNIDATA_OPT *opt, UNIDATA_CHAR *data, int code) +{ + UNIDATA_CHAR *ch= &data[code]; + const char *comma= ""; + + if (opt->mode.print_curly_brackets_in_items) + printf("{"); + + if (opt->mode.print_ctype) + { + printf("%s", comma); + printf("%3d", ch->ctype); + comma= ","; + } + + if (opt->mode.print_toupper) + { + printf("%s", comma); + printf("0x%04X", ch->toupper); + comma= ","; + } + + if (opt->mode.print_tolower) + { + printf("%s", comma); + printf("0x%04X", ch->tolower); + comma= ","; + } + + if (opt->mode.print_noaccent) + { + printf("%s", comma); + printf("0x%04X", ch->noaccent); + comma= ","; + } + + if (opt->mode.print_noaccent_tolower) + { + printf("%s", comma); + printf("0x%04X", ch->noaccent_tolower); + comma= ","; + } + + if (opt->mode.print_noaccent_toupper) + { + printf("%s", comma); + printf("0x%04X", ch->noaccent_toupper); + comma= ","; + } + + if (opt->mode.print_curly_brackets_in_items) + printf("}"); + + if (opt->mode.single_array || + (code & 0xFF) != 0xFF) /* Don't print comma for the last char in a page */ + printf(","); + else + printf(" "); +} + + +static void +print_one_page(const UNIDATA_OPT *opt, UNIDATA_CHAR *data, + my_wchar_t pageno, const PAGE_STAT *pstat) +{ + my_wchar_t charnum; + + if (!opt->mode.single_array || pageno == 0) + { + printf("%s%s%s %s%02X[256]={%s\n", + pageno == 0 ? "" : "static ", + opt->mode.const_data ? "const " : "", + opt->mode.page_data_type_name, opt->mode.page_name, + (unsigned int) pageno, + pstat[pageno].page_tab == PAGE_DATA_DUMMY ? + " /* This page is dummy */" : ""); + } + + for (charnum= 0; charnum < 256; charnum++) + { + my_wchar_t codepoint= (pageno << 8) + charnum; + my_wchar_t rem= charnum % opt->mode.chars_per_line; + if (!rem) + printf(" "); + print_one_char(opt, data, codepoint); + if (rem + 1 == opt->mode.chars_per_line) + { + printf(" /* %04X */", (codepoint + 1) - opt->mode.chars_per_line); + printf("\n"); + } + } + if (!opt->mode.single_array) + printf("};\n\n"); +} + + +static const char *page_name_in_index(const UNIDATA_OPT *opt, + const PAGE_STAT *pstat, + my_wchar_t pageno) +{ + if (!opt->mode.page_name_derived) + return opt->mode.page_name; + + return pstat[pageno].page_overridden ? + opt->mode.page_name : + opt->mode.page_name_derived; +} + + +static void print_page_index(const UNIDATA_OPT *opt, + const PAGE_STAT *pstat) +{ + my_wchar_t page; + my_wchar_t npages= npages_by_opt(opt); + int printing_ctype= !strcmp(opt->mode.index_data_type_name, "MY_UNI_CTYPE"); + + printf("%s%s %s[%d]={\n", + opt->mode.const_data ? "const " : "", + opt->mode.index_data_type_name, opt->mode.index_name, + (unsigned int) npages); + + for (page= 0; page < npages; page++) + { + my_wchar_t rem= page % opt->mode.pages_per_line_in_index; + if (!rem) + printf(" "); + if (opt->mode.print_curly_brackets_in_index) + printf("{"); + if (printing_ctype) + printf("%d,", pstat[page].page_ctype); + + if (pstat[page].page_tab) + printf("%s%02X", page_name_in_index(opt, pstat, page), page); + else + printf("NULL"); + + if (opt->mode.print_curly_brackets_in_index) + printf("}"); + + if (page + 1 < npages) + printf(","); + + if (rem + 1 == opt->mode.pages_per_line_in_index) + printf("\n"); + else + printf(" "); + } + printf("};\n"); +} + + +static void print(UNIDATA_OPT *opt, UNIDATA_CHAR *unidata, const PAGE_STAT *pstat) +{ + my_wchar_t npages= npages_by_opt(opt); + my_wchar_t page; + + /* Print all pages */ + for (page= 0; page < npages; page++) + { + if (opt->mode.page_name_derived && !pstat[page].page_overridden) + continue; + if (opt->mode.single_array || pstat[page].page_tab) + print_one_page(opt, unidata, page, pstat); + } + + /* Print index */ + if (!opt->mode.single_array) + print_page_index(opt, pstat); +} + + +void print_command_line_options(int ac, char **av) +{ + int i; + printf("/*\n"); + printf(" Generated by:\n"); + for (i= 0; i < ac; i++) + { + printf(" %s%s%s\n", i > 0 ? " " : "", av[i], i+1 < ac ? " \\" :""); + } + printf("\n"); + printf("*/\n"); +} + + +static void calc_page_parameters(const UNIDATA_OPT *opt, const UNIDATA_CHAR *code, + PAGE_STAT *pstat) +{ + my_wchar_t npages= npages_by_opt(opt); + my_wchar_t page; + for(page= 0; page < npages; page++) + { + int ntype[CT_MAX + 1], t; + int character, done=0; + + memset(ntype,0,sizeof(ntype)); + for(character= 0;character < 256; character++) + { + size_t cod= (page << 8) + character; + const UNIDATA_CHAR *ch= &code[cod]; + ntype[ch->ctype]++; + + if((ch->tolower != cod || + ch->toupper != cod || + ch->noaccent != cod || + ch->noaccent_toupper != cod) && + (opt->mode.print_tolower || + opt->mode.print_toupper || + opt->mode.print_noaccent || + opt->mode.print_noaccent_toupper)) + { + pstat[page].page_tab= PAGE_DATA_IMPORTANT; + } + } + + if (opt->mode.print_ctype) + { + for (t= 0; t <= CT_MAX; t++) + { + if(ntype[t]==256) + { + /* All ctypes are the same */ + pstat[page].page_ctype= t; + done=1; + break; + } + } + } + else + { + done= 1; /* Don't need ctype */ + } + + if(!done) + { + /* Mixed page, lets create the table */ + pstat[page].page_ctype= CT_NONE; + pstat[page].page_tab= PAGE_DATA_IMPORTANT; + } + if (!pstat[page].page_tab && + page <= (opt->dummy_pages_codepoint_max >> 8)) + pstat[page].page_tab= PAGE_DATA_DUMMY; + } +} + + +static UNIDATA_CHAR code[MAX_UNI_CHAR + 1]; +static PAGE_STAT pstat[MAX_UNI_PAGE + 1]; + + +int usage(int ac, char **av) +{ + fprintf(stderr, "Usage: %s filename\n", av[0]); + return 1; +} + + +const char *one_opt(const char *option, const char *name, size_t length) +{ + if (!strncmp(option, name, length)) + return option + length; + return 0; +} + + +int get_option_bool(int *to, const char *name_and_value, const char *value) +{ + if (!strcmp(value, "1")) + *to= 1; + else if (!strcmp(value, "0")) + *to= 0; + else + { + fprintf(stderr, "Bad option: %s\n", name_and_value); + return 1; + } + return 0; +} + + +int get_option_codepoint(my_wchar_t *to, const char *name_and_value, const char *value) +{ + unsigned long codepoint= value[0]=='0' && value[1]=='x' ? + strtoul(value + 2, NULL, 16) : + strtoul(value, NULL, 10); + if (codepoint > MAX_UNI_CHAR) + { + fprintf(stderr, "Too large --max-char: %s\n", name_and_value); + return 1; + } + *to= (my_wchar_t) codepoint; + return 0; +} + + +int process_param(UNIDATA_OPT *opt, int ac, char **av) +{ + int i; + if (ac < 2) + return usage(ac, av); + for (i= 1; i < ac; i++) + { + const char *op; + if ((op= one_opt(av[i], STRING_WITH_LEN("--mode=")))) + { + if (opt_set_mode(opt, av[i], op)) + return 1; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--max-char=")))) + { + if (get_option_codepoint(&opt->max_char, av[i], op)) + return 1; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--print-toupper=")))) + { + if (get_option_bool(&opt->mode.print_toupper, av[i], op)) + return 1; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--print-tolower=")))) + { + if (get_option_bool(&opt->mode.print_tolower, av[i], op)) + return 1; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--print-noaccent-toupper=")))) + { + if (get_option_bool(&opt->mode.print_noaccent_toupper, av[i], op)) + return 1; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--page-name=")))) + { + opt->mode.page_name= op; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--page-name-derived=")))) + { + opt->mode.page_name_derived= op; + } + else if ((op= one_opt(av[i], STRING_WITH_LEN("--index-name=")))) + { + opt->mode.index_name= op; + } + else + { + if (av[i][0] == '-' && av[i][1] == '-') + { + fprintf(stderr, "Unknown option: %s\n", av[i]); + return 1; + } + break; + } + } + if (i + 1 != ac) + return usage(ac, av); + opt->filename= av[i]; + return 0; +} + + +int main(int ac,char **av) +{ + UNIDATA_OPT opt= opt_caseinfo; + + if (process_param(&opt, ac, av)) + return 1; + + memset(code,0,sizeof(code)); + memset(pstat,0,sizeof(pstat)); + + set_default_case_folding(&opt, code); + + fill_cjk(code); + + if (load_unidata(&opt, code)) + return 1; + + set_noaccent(&opt, code); + set_noaccent_tolower(&opt, code); + set_noaccent_toupper(&opt, code); + + /* + Bug#8385: utf8_general_ci treats cyrillic letters I and SHORT I as the same + Because of decomposition applied, noaccent_toupper for the following letters: + U+0419 CYRILLIC CAPITAL LETTER SHORT I + U+0439 CYRILLIC SMALL LETTER SHORT I + was set to: + U+418 CYRILLIC CAPITAL LETTER I + Reset it back to U+0419. + */ + code[0x0419].noaccent_toupper= 0x0419; + code[0x0439].noaccent_toupper= 0x0419; + + /* + Bug#27877 incorrect german order in utf8_general_ci + */ + if (strcmp(opt.mode.mode_name, "weight_general_mysql500_ci")) + { + code[0x00DF].noaccent_toupper= code['s'].noaccent_toupper; + } + else + pstat[0].page_overridden= 1; + + if (!strcmp(opt.mode.mode_name, "casefold-tr")) + { + code[0x49].tolower= 0x0131; + code[0x69].toupper= 0x0130; + pstat[0].page_overridden= 1; + } + + calc_page_parameters(&opt, code, pstat); + + printf("%s\n", COPYING); + print_command_line_options(ac, av); + print(&opt, code, pstat); + + return 0; +} |