You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2854 lines
78 KiB
C++
2854 lines
78 KiB
C++
// NeL - MMORPG Framework <https://wiki.ryzom.dev/>
|
|
// Copyright (C) 2020 Jan BOON (Kaetemi) <jan.boon@kaetemi.be>
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// 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 Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#include "stdmisc.h"
|
|
#include "nel/misc/ucstring.h"
|
|
#include "nel/misc/utf_string_view.h"
|
|
|
|
#ifdef DEBUG_NEW
|
|
#define new DEBUG_NEW
|
|
#endif
|
|
|
|
namespace NLMISC {
|
|
|
|
static const char s_StringToCaseInsensitiveC2[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCE', '\xBC', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC3[64 * 4] = {
|
|
'\xC3', '\xA0', '\x00', 0,
|
|
'\xC3', '\xA1', '\x00', 0,
|
|
'\xC3', '\xA2', '\x00', 0,
|
|
'\xC3', '\xA3', '\x00', 0,
|
|
'\xC3', '\xA4', '\x00', 0,
|
|
'\xC3', '\xA5', '\x00', 0,
|
|
'\xC3', '\xA6', '\x00', 0,
|
|
'\xC3', '\xA7', '\x00', 0,
|
|
'\xC3', '\xA8', '\x00', 0,
|
|
'\xC3', '\xA9', '\x00', 0,
|
|
'\xC3', '\xAA', '\x00', 0,
|
|
'\xC3', '\xAB', '\x00', 0,
|
|
'\xC3', '\xAC', '\x00', 0,
|
|
'\xC3', '\xAD', '\x00', 0,
|
|
'\xC3', '\xAE', '\x00', 0,
|
|
'\xC3', '\xAF', '\x00', 0,
|
|
'\xC3', '\xB0', '\x00', 0,
|
|
'\xC3', '\xB1', '\x00', 0,
|
|
'\xC3', '\xB2', '\x00', 0,
|
|
'\xC3', '\xB3', '\x00', 0,
|
|
'\xC3', '\xB4', '\x00', 0,
|
|
'\xC3', '\xB5', '\x00', 0,
|
|
'\xC3', '\xB6', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC3', '\xB8', '\x00', 0,
|
|
'\xC3', '\xB9', '\x00', 0,
|
|
'\xC3', '\xBA', '\x00', 0,
|
|
'\xC3', '\xBB', '\x00', 0,
|
|
'\xC3', '\xBC', '\x00', 0,
|
|
'\xC3', '\xBD', '\x00', 0,
|
|
'\xC3', '\xBE', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC4[64 * 4] = {
|
|
'\xC4', '\x81', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x83', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x85', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x87', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x89', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x8D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x91', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x93', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x95', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x97', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\x69', '\x00', '\x00', 0,
|
|
'\x69', '\x00', '\x00', 0,
|
|
'\xC4', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xB7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xBA', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xBC', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC4', '\xBE', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x80', '\x00', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC5[64 * 4] = {
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x82', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x84', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x86', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x88', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC5', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x8D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x91', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x93', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x95', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x97', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xB1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xB7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC3', '\xBF', '\x00', 0,
|
|
'\xC5', '\xBA', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xBC', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC5', '\xBE', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\x73', '\x00', '\x00', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC6[64 * 4] = {
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x93', '\x00', 0,
|
|
'\xC6', '\x83', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\x85', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x94', '\x00', 0,
|
|
'\xC6', '\x88', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x96', '\x00', 0,
|
|
'\xC9', '\x97', '\x00', 0,
|
|
'\xC6', '\x8C', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC7', '\x9D', '\x00', 0,
|
|
'\xC9', '\x99', '\x00', 0,
|
|
'\xC9', '\x9B', '\x00', 0,
|
|
'\xC6', '\x92', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\xA0', '\x00', 0,
|
|
'\xC9', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\xA9', '\x00', 0,
|
|
'\xC9', '\xA8', '\x00', 0,
|
|
'\xC6', '\x99', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC9', '\xAF', '\x00', 0,
|
|
'\xC9', '\xB2', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\xB5', '\x00', 0,
|
|
'\xC6', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCA', '\x80', '\x00', 0,
|
|
'\xC6', '\xA8', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCA', '\x83', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC6', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCA', '\x88', '\x00', 0,
|
|
'\xC6', '\xB0', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCA', '\x8A', '\x00', 0,
|
|
'\xCA', '\x8B', '\x00', 0,
|
|
'\xC6', '\xB4', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\xB6', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCA', '\x92', '\x00', 0,
|
|
'\xC6', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC6', '\xBD', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC7[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC7', '\x86', '\x00', 0,
|
|
'\xC7', '\x86', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x89', '\x00', 0,
|
|
'\xC7', '\x89', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x8C', '\x00', 0,
|
|
'\xC7', '\x8C', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x8E', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x90', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x92', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x94', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x96', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x98', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x9A', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\x9C', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC7', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xB3', '\x00', 0,
|
|
'\xC7', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\x95', '\x00', 0,
|
|
'\xC6', '\xBF', '\x00', 0,
|
|
'\xC7', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xBB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xBD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC7', '\xBF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC8[64 * 4] = {
|
|
'\xC8', '\x81', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x83', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x85', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x87', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x89', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x8D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x91', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x93', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x95', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x97', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\x9E', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xB1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC8', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xA5', 0,
|
|
'\xC8', '\xBC', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\x9A', '\x00', 0,
|
|
'\xE2', '\xB1', '\xA6', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveC9[64 * 4] = {
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x82', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC6', '\x80', '\x00', 0,
|
|
'\xCA', '\x89', '\x00', 0,
|
|
'\xCA', '\x8C', '\x00', 0,
|
|
'\xC9', '\x87', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x89', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x8D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveCD[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCE', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCD', '\xB1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCD', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCD', '\xB7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCF', '\xB3', '\x00', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveCE[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCE', '\xAC', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCE', '\xAD', '\x00', 0,
|
|
'\xCE', '\xAE', '\x00', 0,
|
|
'\xCE', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x8C', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x8D', '\x00', 0,
|
|
'\xCF', '\x8E', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCE', '\xB1', '\x00', 0,
|
|
'\xCE', '\xB2', '\x00', 0,
|
|
'\xCE', '\xB3', '\x00', 0,
|
|
'\xCE', '\xB4', '\x00', 0,
|
|
'\xCE', '\xB5', '\x00', 0,
|
|
'\xCE', '\xB6', '\x00', 0,
|
|
'\xCE', '\xB7', '\x00', 0,
|
|
'\xCE', '\xB8', '\x00', 0,
|
|
'\xCE', '\xB9', '\x00', 0,
|
|
'\xCE', '\xBA', '\x00', 0,
|
|
'\xCE', '\xBB', '\x00', 0,
|
|
'\xCE', '\xBC', '\x00', 0,
|
|
'\xCE', '\xBD', '\x00', 0,
|
|
'\xCE', '\xBE', '\x00', 0,
|
|
'\xCE', '\xBF', '\x00', 0,
|
|
'\xCF', '\x80', '\x00', 0,
|
|
'\xCF', '\x81', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x83', '\x00', 0,
|
|
'\xCF', '\x84', '\x00', 0,
|
|
'\xCF', '\x85', '\x00', 0,
|
|
'\xCF', '\x86', '\x00', 0,
|
|
'\xCF', '\x87', '\x00', 0,
|
|
'\xCF', '\x88', '\x00', 0,
|
|
'\xCF', '\x89', '\x00', 0,
|
|
'\xCF', '\x8A', '\x00', 0,
|
|
'\xCF', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveCF[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCF', '\x83', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCF', '\x97', '\x00', 0,
|
|
'\xCE', '\xB2', '\x00', 0,
|
|
'\xCE', '\xB8', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCF', '\x86', '\x00', 0,
|
|
'\xCF', '\x80', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCE', '\xBA', '\x00', 0,
|
|
'\xCF', '\x81', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCE', '\xB8', '\x00', 0,
|
|
'\xCE', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xB8', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCF', '\xB2', '\x00', 0,
|
|
'\xCF', '\xBB', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCD', '\xBB', '\x00', 0,
|
|
'\xCD', '\xBC', '\x00', 0,
|
|
'\xCD', '\xBD', '\x00', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveD0[64 * 4] = {
|
|
'\xD1', '\x90', '\x00', 0,
|
|
'\xD1', '\x91', '\x00', 0,
|
|
'\xD1', '\x92', '\x00', 0,
|
|
'\xD1', '\x93', '\x00', 0,
|
|
'\xD1', '\x94', '\x00', 0,
|
|
'\xD1', '\x95', '\x00', 0,
|
|
'\xD1', '\x96', '\x00', 0,
|
|
'\xD1', '\x97', '\x00', 0,
|
|
'\xD1', '\x98', '\x00', 0,
|
|
'\xD1', '\x99', '\x00', 0,
|
|
'\xD1', '\x9A', '\x00', 0,
|
|
'\xD1', '\x9B', '\x00', 0,
|
|
'\xD1', '\x9C', '\x00', 0,
|
|
'\xD1', '\x9D', '\x00', 0,
|
|
'\xD1', '\x9E', '\x00', 0,
|
|
'\xD1', '\x9F', '\x00', 0,
|
|
'\xD0', '\xB0', '\x00', 0,
|
|
'\xD0', '\xB1', '\x00', 0,
|
|
'\xD0', '\xB2', '\x00', 0,
|
|
'\xD0', '\xB3', '\x00', 0,
|
|
'\xD0', '\xB4', '\x00', 0,
|
|
'\xD0', '\xB5', '\x00', 0,
|
|
'\xD0', '\xB6', '\x00', 0,
|
|
'\xD0', '\xB7', '\x00', 0,
|
|
'\xD0', '\xB8', '\x00', 0,
|
|
'\xD0', '\xB9', '\x00', 0,
|
|
'\xD0', '\xBA', '\x00', 0,
|
|
'\xD0', '\xBB', '\x00', 0,
|
|
'\xD0', '\xBC', '\x00', 0,
|
|
'\xD0', '\xBD', '\x00', 0,
|
|
'\xD0', '\xBE', '\x00', 0,
|
|
'\xD0', '\xBF', '\x00', 0,
|
|
'\xD1', '\x80', '\x00', 0,
|
|
'\xD1', '\x81', '\x00', 0,
|
|
'\xD1', '\x82', '\x00', 0,
|
|
'\xD1', '\x83', '\x00', 0,
|
|
'\xD1', '\x84', '\x00', 0,
|
|
'\xD1', '\x85', '\x00', 0,
|
|
'\xD1', '\x86', '\x00', 0,
|
|
'\xD1', '\x87', '\x00', 0,
|
|
'\xD1', '\x88', '\x00', 0,
|
|
'\xD1', '\x89', '\x00', 0,
|
|
'\xD1', '\x8A', '\x00', 0,
|
|
'\xD1', '\x8B', '\x00', 0,
|
|
'\xD1', '\x8C', '\x00', 0,
|
|
'\xD1', '\x8D', '\x00', 0,
|
|
'\xD1', '\x8E', '\x00', 0,
|
|
'\xD1', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveD1[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xD1', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xB1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xB7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xBB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xBD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD1', '\xBF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveD2[64 * 4] = {
|
|
'\xD2', '\x81', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xD2', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x8D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x91', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x93', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x95', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x97', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xB1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xB7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xBB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xBD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD2', '\xBF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveD3[64 * 4] = {
|
|
'\xD3', '\x8F', '\x00', 0,
|
|
'\xD3', '\x82', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x84', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x86', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x88', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x8A', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x8C', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x8E', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xD3', '\x91', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x93', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x95', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x97', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xB1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xB3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xB5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xB7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xBB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xBD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD3', '\xBF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveD4[64 * 4] = {
|
|
'\xD4', '\x81', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x83', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x85', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x87', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x89', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x8B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x8D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x8F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x91', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x93', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x95', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x97', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x99', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x9B', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x9D', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xA1', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xA3', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xA7', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xA9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xAB', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xAD', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xD4', '\xAF', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
'\xD5', '\xA1', '\x00', 0,
|
|
'\xD5', '\xA2', '\x00', 0,
|
|
'\xD5', '\xA3', '\x00', 0,
|
|
'\xD5', '\xA4', '\x00', 0,
|
|
'\xD5', '\xA5', '\x00', 0,
|
|
'\xD5', '\xA6', '\x00', 0,
|
|
'\xD5', '\xA7', '\x00', 0,
|
|
'\xD5', '\xA8', '\x00', 0,
|
|
'\xD5', '\xA9', '\x00', 0,
|
|
'\xD5', '\xAA', '\x00', 0,
|
|
'\xD5', '\xAB', '\x00', 0,
|
|
'\xD5', '\xAC', '\x00', 0,
|
|
'\xD5', '\xAD', '\x00', 0,
|
|
'\xD5', '\xAE', '\x00', 0,
|
|
'\xD5', '\xAF', '\x00', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveD5[64 * 4] = {
|
|
'\xD5', '\xB0', '\x00', 0,
|
|
'\xD5', '\xB1', '\x00', 0,
|
|
'\xD5', '\xB2', '\x00', 0,
|
|
'\xD5', '\xB3', '\x00', 0,
|
|
'\xD5', '\xB4', '\x00', 0,
|
|
'\xD5', '\xB5', '\x00', 0,
|
|
'\xD5', '\xB6', '\x00', 0,
|
|
'\xD5', '\xB7', '\x00', 0,
|
|
'\xD5', '\xB8', '\x00', 0,
|
|
'\xD5', '\xB9', '\x00', 0,
|
|
'\xD5', '\xBA', '\x00', 0,
|
|
'\xD5', '\xBB', '\x00', 0,
|
|
'\xD5', '\xBC', '\x00', 0,
|
|
'\xD5', '\xBD', '\x00', 0,
|
|
'\xD5', '\xBE', '\x00', 0,
|
|
'\xD5', '\xBF', '\x00', 0,
|
|
'\xD6', '\x80', '\x00', 0,
|
|
'\xD6', '\x81', '\x00', 0,
|
|
'\xD6', '\x82', '\x00', 0,
|
|
'\xD6', '\x83', '\x00', 0,
|
|
'\xD6', '\x84', '\x00', 0,
|
|
'\xD6', '\x85', '\x00', 0,
|
|
'\xD6', '\x86', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE182[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB4', '\x80', 0,
|
|
'\xE2', '\xB4', '\x81', 0,
|
|
'\xE2', '\xB4', '\x82', 0,
|
|
'\xE2', '\xB4', '\x83', 0,
|
|
'\xE2', '\xB4', '\x84', 0,
|
|
'\xE2', '\xB4', '\x85', 0,
|
|
'\xE2', '\xB4', '\x86', 0,
|
|
'\xE2', '\xB4', '\x87', 0,
|
|
'\xE2', '\xB4', '\x88', 0,
|
|
'\xE2', '\xB4', '\x89', 0,
|
|
'\xE2', '\xB4', '\x8A', 0,
|
|
'\xE2', '\xB4', '\x8B', 0,
|
|
'\xE2', '\xB4', '\x8C', 0,
|
|
'\xE2', '\xB4', '\x8D', 0,
|
|
'\xE2', '\xB4', '\x8E', 0,
|
|
'\xE2', '\xB4', '\x8F', 0,
|
|
'\xE2', '\xB4', '\x90', 0,
|
|
'\xE2', '\xB4', '\x91', 0,
|
|
'\xE2', '\xB4', '\x92', 0,
|
|
'\xE2', '\xB4', '\x93', 0,
|
|
'\xE2', '\xB4', '\x94', 0,
|
|
'\xE2', '\xB4', '\x95', 0,
|
|
'\xE2', '\xB4', '\x96', 0,
|
|
'\xE2', '\xB4', '\x97', 0,
|
|
'\xE2', '\xB4', '\x98', 0,
|
|
'\xE2', '\xB4', '\x99', 0,
|
|
'\xE2', '\xB4', '\x9A', 0,
|
|
'\xE2', '\xB4', '\x9B', 0,
|
|
'\xE2', '\xB4', '\x9C', 0,
|
|
'\xE2', '\xB4', '\x9D', 0,
|
|
'\xE2', '\xB4', '\x9E', 0,
|
|
'\xE2', '\xB4', '\x9F', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE183[64 * 4] = {
|
|
'\xE2', '\xB4', '\xA0', 0,
|
|
'\xE2', '\xB4', '\xA1', 0,
|
|
'\xE2', '\xB4', '\xA2', 0,
|
|
'\xE2', '\xB4', '\xA3', 0,
|
|
'\xE2', '\xB4', '\xA4', 0,
|
|
'\xE2', '\xB4', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB4', '\xA7', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB4', '\xAD', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE18E[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\xAD', '\xB0', 0,
|
|
'\xEA', '\xAD', '\xB1', 0,
|
|
'\xEA', '\xAD', '\xB2', 0,
|
|
'\xEA', '\xAD', '\xB3', 0,
|
|
'\xEA', '\xAD', '\xB4', 0,
|
|
'\xEA', '\xAD', '\xB5', 0,
|
|
'\xEA', '\xAD', '\xB6', 0,
|
|
'\xEA', '\xAD', '\xB7', 0,
|
|
'\xEA', '\xAD', '\xB8', 0,
|
|
'\xEA', '\xAD', '\xB9', 0,
|
|
'\xEA', '\xAD', '\xBA', 0,
|
|
'\xEA', '\xAD', '\xBB', 0,
|
|
'\xEA', '\xAD', '\xBC', 0,
|
|
'\xEA', '\xAD', '\xBD', 0,
|
|
'\xEA', '\xAD', '\xBE', 0,
|
|
'\xEA', '\xAD', '\xBF', 0,
|
|
'\xEA', '\xAE', '\x80', 0,
|
|
'\xEA', '\xAE', '\x81', 0,
|
|
'\xEA', '\xAE', '\x82', 0,
|
|
'\xEA', '\xAE', '\x83', 0,
|
|
'\xEA', '\xAE', '\x84', 0,
|
|
'\xEA', '\xAE', '\x85', 0,
|
|
'\xEA', '\xAE', '\x86', 0,
|
|
'\xEA', '\xAE', '\x87', 0,
|
|
'\xEA', '\xAE', '\x88', 0,
|
|
'\xEA', '\xAE', '\x89', 0,
|
|
'\xEA', '\xAE', '\x8A', 0,
|
|
'\xEA', '\xAE', '\x8B', 0,
|
|
'\xEA', '\xAE', '\x8C', 0,
|
|
'\xEA', '\xAE', '\x8D', 0,
|
|
'\xEA', '\xAE', '\x8E', 0,
|
|
'\xEA', '\xAE', '\x8F', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE18F[64 * 4] = {
|
|
'\xEA', '\xAE', '\x90', 0,
|
|
'\xEA', '\xAE', '\x91', 0,
|
|
'\xEA', '\xAE', '\x92', 0,
|
|
'\xEA', '\xAE', '\x93', 0,
|
|
'\xEA', '\xAE', '\x94', 0,
|
|
'\xEA', '\xAE', '\x95', 0,
|
|
'\xEA', '\xAE', '\x96', 0,
|
|
'\xEA', '\xAE', '\x97', 0,
|
|
'\xEA', '\xAE', '\x98', 0,
|
|
'\xEA', '\xAE', '\x99', 0,
|
|
'\xEA', '\xAE', '\x9A', 0,
|
|
'\xEA', '\xAE', '\x9B', 0,
|
|
'\xEA', '\xAE', '\x9C', 0,
|
|
'\xEA', '\xAE', '\x9D', 0,
|
|
'\xEA', '\xAE', '\x9E', 0,
|
|
'\xEA', '\xAE', '\x9F', 0,
|
|
'\xEA', '\xAE', '\xA0', 0,
|
|
'\xEA', '\xAE', '\xA1', 0,
|
|
'\xEA', '\xAE', '\xA2', 0,
|
|
'\xEA', '\xAE', '\xA3', 0,
|
|
'\xEA', '\xAE', '\xA4', 0,
|
|
'\xEA', '\xAE', '\xA5', 0,
|
|
'\xEA', '\xAE', '\xA6', 0,
|
|
'\xEA', '\xAE', '\xA7', 0,
|
|
'\xEA', '\xAE', '\xA8', 0,
|
|
'\xEA', '\xAE', '\xA9', 0,
|
|
'\xEA', '\xAE', '\xAA', 0,
|
|
'\xEA', '\xAE', '\xAB', 0,
|
|
'\xEA', '\xAE', '\xAC', 0,
|
|
'\xEA', '\xAE', '\xAD', 0,
|
|
'\xEA', '\xAE', '\xAE', 0,
|
|
'\xEA', '\xAE', '\xAF', 0,
|
|
'\xEA', '\xAE', '\xB0', 0,
|
|
'\xEA', '\xAE', '\xB1', 0,
|
|
'\xEA', '\xAE', '\xB2', 0,
|
|
'\xEA', '\xAE', '\xB3', 0,
|
|
'\xEA', '\xAE', '\xB4', 0,
|
|
'\xEA', '\xAE', '\xB5', 0,
|
|
'\xEA', '\xAE', '\xB6', 0,
|
|
'\xEA', '\xAE', '\xB7', 0,
|
|
'\xEA', '\xAE', '\xB8', 0,
|
|
'\xEA', '\xAE', '\xB9', 0,
|
|
'\xEA', '\xAE', '\xBA', 0,
|
|
'\xEA', '\xAE', '\xBB', 0,
|
|
'\xEA', '\xAE', '\xBC', 0,
|
|
'\xEA', '\xAE', '\xBD', 0,
|
|
'\xEA', '\xAE', '\xBE', 0,
|
|
'\xEA', '\xAE', '\xBF', 0,
|
|
'\xE1', '\x8F', '\xB8', 0,
|
|
'\xE1', '\x8F', '\xB9', 0,
|
|
'\xE1', '\x8F', '\xBA', 0,
|
|
'\xE1', '\x8F', '\xBB', 0,
|
|
'\xE1', '\x8F', '\xBC', 0,
|
|
'\xE1', '\x8F', '\xBD', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1B2[64 * 4] = {
|
|
'\xD0', '\xB2', '\x00', 0,
|
|
'\xD0', '\xB4', '\x00', 0,
|
|
'\xD0', '\xBE', '\x00', 0,
|
|
'\xD1', '\x81', '\x00', 0,
|
|
'\xD1', '\x82', '\x00', 0,
|
|
'\xD1', '\x82', '\x00', 0,
|
|
'\xD1', '\x8A', '\x00', 0,
|
|
'\xD1', '\xA3', '\x00', 0,
|
|
'\xEA', '\x99', '\x8B', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\x83', '\x90', 0,
|
|
'\xE1', '\x83', '\x91', 0,
|
|
'\xE1', '\x83', '\x92', 0,
|
|
'\xE1', '\x83', '\x93', 0,
|
|
'\xE1', '\x83', '\x94', 0,
|
|
'\xE1', '\x83', '\x95', 0,
|
|
'\xE1', '\x83', '\x96', 0,
|
|
'\xE1', '\x83', '\x97', 0,
|
|
'\xE1', '\x83', '\x98', 0,
|
|
'\xE1', '\x83', '\x99', 0,
|
|
'\xE1', '\x83', '\x9A', 0,
|
|
'\xE1', '\x83', '\x9B', 0,
|
|
'\xE1', '\x83', '\x9C', 0,
|
|
'\xE1', '\x83', '\x9D', 0,
|
|
'\xE1', '\x83', '\x9E', 0,
|
|
'\xE1', '\x83', '\x9F', 0,
|
|
'\xE1', '\x83', '\xA0', 0,
|
|
'\xE1', '\x83', '\xA1', 0,
|
|
'\xE1', '\x83', '\xA2', 0,
|
|
'\xE1', '\x83', '\xA3', 0,
|
|
'\xE1', '\x83', '\xA4', 0,
|
|
'\xE1', '\x83', '\xA5', 0,
|
|
'\xE1', '\x83', '\xA6', 0,
|
|
'\xE1', '\x83', '\xA7', 0,
|
|
'\xE1', '\x83', '\xA8', 0,
|
|
'\xE1', '\x83', '\xA9', 0,
|
|
'\xE1', '\x83', '\xAA', 0,
|
|
'\xE1', '\x83', '\xAB', 0,
|
|
'\xE1', '\x83', '\xAC', 0,
|
|
'\xE1', '\x83', '\xAD', 0,
|
|
'\xE1', '\x83', '\xAE', 0,
|
|
'\xE1', '\x83', '\xAF', 0,
|
|
'\xE1', '\x83', '\xB0', 0,
|
|
'\xE1', '\x83', '\xB1', 0,
|
|
'\xE1', '\x83', '\xB2', 0,
|
|
'\xE1', '\x83', '\xB3', 0,
|
|
'\xE1', '\x83', '\xB4', 0,
|
|
'\xE1', '\x83', '\xB5', 0,
|
|
'\xE1', '\x83', '\xB6', 0,
|
|
'\xE1', '\x83', '\xB7', 0,
|
|
'\xE1', '\x83', '\xB8', 0,
|
|
'\xE1', '\x83', '\xB9', 0,
|
|
'\xE1', '\x83', '\xBA', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\x83', '\xBD', 0,
|
|
'\xE1', '\x83', '\xBE', 0,
|
|
'\xE1', '\x83', '\xBF', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1B8[64 * 4] = {
|
|
'\xE1', '\xB8', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xB1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB8', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1B9[64 * 4] = {
|
|
'\xE1', '\xB9', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xB1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1BA[64 * 4] = {
|
|
'\xE1', '\xBA', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\x95', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xB9', '\xA1', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC3', '\x9F', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xB1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBA', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1BB[64 * 4] = {
|
|
'\xE1', '\xBB', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xB1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBB', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1BC[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBC', '\x80', 0,
|
|
'\xE1', '\xBC', '\x81', 0,
|
|
'\xE1', '\xBC', '\x82', 0,
|
|
'\xE1', '\xBC', '\x83', 0,
|
|
'\xE1', '\xBC', '\x84', 0,
|
|
'\xE1', '\xBC', '\x85', 0,
|
|
'\xE1', '\xBC', '\x86', 0,
|
|
'\xE1', '\xBC', '\x87', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBC', '\x90', 0,
|
|
'\xE1', '\xBC', '\x91', 0,
|
|
'\xE1', '\xBC', '\x92', 0,
|
|
'\xE1', '\xBC', '\x93', 0,
|
|
'\xE1', '\xBC', '\x94', 0,
|
|
'\xE1', '\xBC', '\x95', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBC', '\xA0', 0,
|
|
'\xE1', '\xBC', '\xA1', 0,
|
|
'\xE1', '\xBC', '\xA2', 0,
|
|
'\xE1', '\xBC', '\xA3', 0,
|
|
'\xE1', '\xBC', '\xA4', 0,
|
|
'\xE1', '\xBC', '\xA5', 0,
|
|
'\xE1', '\xBC', '\xA6', 0,
|
|
'\xE1', '\xBC', '\xA7', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBC', '\xB0', 0,
|
|
'\xE1', '\xBC', '\xB1', 0,
|
|
'\xE1', '\xBC', '\xB2', 0,
|
|
'\xE1', '\xBC', '\xB3', 0,
|
|
'\xE1', '\xBC', '\xB4', 0,
|
|
'\xE1', '\xBC', '\xB5', 0,
|
|
'\xE1', '\xBC', '\xB6', 0,
|
|
'\xE1', '\xBC', '\xB7', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1BD[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\x80', 0,
|
|
'\xE1', '\xBD', '\x81', 0,
|
|
'\xE1', '\xBD', '\x82', 0,
|
|
'\xE1', '\xBD', '\x83', 0,
|
|
'\xE1', '\xBD', '\x84', 0,
|
|
'\xE1', '\xBD', '\x85', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\x97', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\xA0', 0,
|
|
'\xE1', '\xBD', '\xA1', 0,
|
|
'\xE1', '\xBD', '\xA2', 0,
|
|
'\xE1', '\xBD', '\xA3', 0,
|
|
'\xE1', '\xBD', '\xA4', 0,
|
|
'\xE1', '\xBD', '\xA5', 0,
|
|
'\xE1', '\xBD', '\xA6', 0,
|
|
'\xE1', '\xBD', '\xA7', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1BE[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBE', '\x80', 0,
|
|
'\xE1', '\xBE', '\x81', 0,
|
|
'\xE1', '\xBE', '\x82', 0,
|
|
'\xE1', '\xBE', '\x83', 0,
|
|
'\xE1', '\xBE', '\x84', 0,
|
|
'\xE1', '\xBE', '\x85', 0,
|
|
'\xE1', '\xBE', '\x86', 0,
|
|
'\xE1', '\xBE', '\x87', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBE', '\x90', 0,
|
|
'\xE1', '\xBE', '\x91', 0,
|
|
'\xE1', '\xBE', '\x92', 0,
|
|
'\xE1', '\xBE', '\x93', 0,
|
|
'\xE1', '\xBE', '\x94', 0,
|
|
'\xE1', '\xBE', '\x95', 0,
|
|
'\xE1', '\xBE', '\x96', 0,
|
|
'\xE1', '\xBE', '\x97', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBE', '\xA0', 0,
|
|
'\xE1', '\xBE', '\xA1', 0,
|
|
'\xE1', '\xBE', '\xA2', 0,
|
|
'\xE1', '\xBE', '\xA3', 0,
|
|
'\xE1', '\xBE', '\xA4', 0,
|
|
'\xE1', '\xBE', '\xA5', 0,
|
|
'\xE1', '\xBE', '\xA6', 0,
|
|
'\xE1', '\xBE', '\xA7', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBE', '\xB0', 0,
|
|
'\xE1', '\xBE', '\xB1', 0,
|
|
'\xE1', '\xBD', '\xB0', 0,
|
|
'\xE1', '\xBD', '\xB1', 0,
|
|
'\xE1', '\xBE', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xCE', '\xB9', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE1BF[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\xB2', 0,
|
|
'\xE1', '\xBD', '\xB3', 0,
|
|
'\xE1', '\xBD', '\xB4', 0,
|
|
'\xE1', '\xBD', '\xB5', 0,
|
|
'\xE1', '\xBF', '\x83', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBF', '\x90', 0,
|
|
'\xE1', '\xBF', '\x91', 0,
|
|
'\xE1', '\xBD', '\xB6', 0,
|
|
'\xE1', '\xBD', '\xB7', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBF', '\xA0', 0,
|
|
'\xE1', '\xBF', '\xA1', 0,
|
|
'\xE1', '\xBD', '\xBA', 0,
|
|
'\xE1', '\xBD', '\xBB', 0,
|
|
'\xE1', '\xBF', '\xA5', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE1', '\xBD', '\xB8', 0,
|
|
'\xE1', '\xBD', '\xB9', 0,
|
|
'\xE1', '\xBD', '\xBC', 0,
|
|
'\xE1', '\xBD', '\xBD', 0,
|
|
'\xE1', '\xBF', '\xB3', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE284[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xCF', '\x89', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\x6B', '\x00', '\x00', 0,
|
|
'\xC3', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\x85', '\x8E', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE285[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\x85', '\xB0', 0,
|
|
'\xE2', '\x85', '\xB1', 0,
|
|
'\xE2', '\x85', '\xB2', 0,
|
|
'\xE2', '\x85', '\xB3', 0,
|
|
'\xE2', '\x85', '\xB4', 0,
|
|
'\xE2', '\x85', '\xB5', 0,
|
|
'\xE2', '\x85', '\xB6', 0,
|
|
'\xE2', '\x85', '\xB7', 0,
|
|
'\xE2', '\x85', '\xB8', 0,
|
|
'\xE2', '\x85', '\xB9', 0,
|
|
'\xE2', '\x85', '\xBA', 0,
|
|
'\xE2', '\x85', '\xBB', 0,
|
|
'\xE2', '\x85', '\xBC', 0,
|
|
'\xE2', '\x85', '\xBD', 0,
|
|
'\xE2', '\x85', '\xBE', 0,
|
|
'\xE2', '\x85', '\xBF', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE286[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\x86', '\x84', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE292[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\x93', '\x90', 0,
|
|
'\xE2', '\x93', '\x91', 0,
|
|
'\xE2', '\x93', '\x92', 0,
|
|
'\xE2', '\x93', '\x93', 0,
|
|
'\xE2', '\x93', '\x94', 0,
|
|
'\xE2', '\x93', '\x95', 0,
|
|
'\xE2', '\x93', '\x96', 0,
|
|
'\xE2', '\x93', '\x97', 0,
|
|
'\xE2', '\x93', '\x98', 0,
|
|
'\xE2', '\x93', '\x99', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE293[64 * 4] = {
|
|
'\xE2', '\x93', '\x9A', 0,
|
|
'\xE2', '\x93', '\x9B', 0,
|
|
'\xE2', '\x93', '\x9C', 0,
|
|
'\xE2', '\x93', '\x9D', 0,
|
|
'\xE2', '\x93', '\x9E', 0,
|
|
'\xE2', '\x93', '\x9F', 0,
|
|
'\xE2', '\x93', '\xA0', 0,
|
|
'\xE2', '\x93', '\xA1', 0,
|
|
'\xE2', '\x93', '\xA2', 0,
|
|
'\xE2', '\x93', '\xA3', 0,
|
|
'\xE2', '\x93', '\xA4', 0,
|
|
'\xE2', '\x93', '\xA5', 0,
|
|
'\xE2', '\x93', '\xA6', 0,
|
|
'\xE2', '\x93', '\xA7', 0,
|
|
'\xE2', '\x93', '\xA8', 0,
|
|
'\xE2', '\x93', '\xA9', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE2B0[64 * 4] = {
|
|
'\xE2', '\xB0', '\xB0', 0,
|
|
'\xE2', '\xB0', '\xB1', 0,
|
|
'\xE2', '\xB0', '\xB2', 0,
|
|
'\xE2', '\xB0', '\xB3', 0,
|
|
'\xE2', '\xB0', '\xB4', 0,
|
|
'\xE2', '\xB0', '\xB5', 0,
|
|
'\xE2', '\xB0', '\xB6', 0,
|
|
'\xE2', '\xB0', '\xB7', 0,
|
|
'\xE2', '\xB0', '\xB8', 0,
|
|
'\xE2', '\xB0', '\xB9', 0,
|
|
'\xE2', '\xB0', '\xBA', 0,
|
|
'\xE2', '\xB0', '\xBB', 0,
|
|
'\xE2', '\xB0', '\xBC', 0,
|
|
'\xE2', '\xB0', '\xBD', 0,
|
|
'\xE2', '\xB0', '\xBE', 0,
|
|
'\xE2', '\xB0', '\xBF', 0,
|
|
'\xE2', '\xB1', '\x80', 0,
|
|
'\xE2', '\xB1', '\x81', 0,
|
|
'\xE2', '\xB1', '\x82', 0,
|
|
'\xE2', '\xB1', '\x83', 0,
|
|
'\xE2', '\xB1', '\x84', 0,
|
|
'\xE2', '\xB1', '\x85', 0,
|
|
'\xE2', '\xB1', '\x86', 0,
|
|
'\xE2', '\xB1', '\x87', 0,
|
|
'\xE2', '\xB1', '\x88', 0,
|
|
'\xE2', '\xB1', '\x89', 0,
|
|
'\xE2', '\xB1', '\x8A', 0,
|
|
'\xE2', '\xB1', '\x8B', 0,
|
|
'\xE2', '\xB1', '\x8C', 0,
|
|
'\xE2', '\xB1', '\x8D', 0,
|
|
'\xE2', '\xB1', '\x8E', 0,
|
|
'\xE2', '\xB1', '\x8F', 0,
|
|
'\xE2', '\xB1', '\x90', 0,
|
|
'\xE2', '\xB1', '\x91', 0,
|
|
'\xE2', '\xB1', '\x92', 0,
|
|
'\xE2', '\xB1', '\x93', 0,
|
|
'\xE2', '\xB1', '\x94', 0,
|
|
'\xE2', '\xB1', '\x95', 0,
|
|
'\xE2', '\xB1', '\x96', 0,
|
|
'\xE2', '\xB1', '\x97', 0,
|
|
'\xE2', '\xB1', '\x98', 0,
|
|
'\xE2', '\xB1', '\x99', 0,
|
|
'\xE2', '\xB1', '\x9A', 0,
|
|
'\xE2', '\xB1', '\x9B', 0,
|
|
'\xE2', '\xB1', '\x9C', 0,
|
|
'\xE2', '\xB1', '\x9D', 0,
|
|
'\xE2', '\xB1', '\x9E', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE2B1[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\xAB', '\x00', 0,
|
|
'\xE1', '\xB5', '\xBD', 0,
|
|
'\xC9', '\xBD', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xA8', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xAA', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xAC', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\x91', '\x00', 0,
|
|
'\xC9', '\xB1', '\x00', 0,
|
|
'\xC9', '\x90', '\x00', 0,
|
|
'\xC9', '\x92', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xB3', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB1', '\xB6', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xC8', '\xBF', '\x00', 0,
|
|
'\xC9', '\x80', '\x00', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE2B2[64 * 4] = {
|
|
'\xE2', '\xB2', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xB1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB2', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveE2B3[64 * 4] = {
|
|
'\xE2', '\xB3', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\xA3', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\xAC', 0,
|
|
0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\xAE', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xE2', '\xB3', '\xB3', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEA99[64 * 4] = {
|
|
'\xEA', '\x99', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x99', '\xAD', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEA9A[64 * 4] = {
|
|
'\xEA', '\x9A', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9A', '\x9B', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEA9C[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xB3', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9C', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEA9D[64 * 4] = {
|
|
'\xEA', '\x9D', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x89', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x8B', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x8D', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x8F', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x93', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x95', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xAB', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xAD', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xAF', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xBA', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9D', '\xBC', 0,
|
|
0, 0, 0, 0,
|
|
'\xE1', '\xB5', '\xB9', 0,
|
|
'\xEA', '\x9D', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEA9E[64 * 4] = {
|
|
'\xEA', '\x9E', '\x81', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x85', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x87', 0,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x8C', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\xA5', '\x00', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x91', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x93', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x97', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x99', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x9B', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x9D', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x9F', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xA1', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xA3', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xA5', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xA7', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xA9', 0,
|
|
0, 0, 0, 0,
|
|
'\xC9', '\xA6', '\x00', 0,
|
|
'\xC9', '\x9C', '\x00', 0,
|
|
'\xC9', '\xA1', '\x00', 0,
|
|
'\xC9', '\xAC', '\x00', 0,
|
|
'\xC9', '\xAA', '\x00', 0,
|
|
0, 0, 0, 0,
|
|
'\xCA', '\x9E', '\x00', 0,
|
|
'\xCA', '\x87', '\x00', 0,
|
|
'\xCA', '\x9D', '\x00', 0,
|
|
'\xEA', '\xAD', '\x93', 0,
|
|
'\xEA', '\x9E', '\xB5', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xB7', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xB9', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xBB', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xBD', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\xBF', 0,
|
|
0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEA9F[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9F', '\x83', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9E', '\x94', 0,
|
|
'\xCA', '\x82', '\x00', 0,
|
|
'\xE1', '\xB6', '\x8E', 0,
|
|
'\xEA', '\x9F', '\x88', 0,
|
|
0, 0, 0, 0,
|
|
'\xEA', '\x9F', '\x8A', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xEA', '\x9F', '\xB6', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveEFBC[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
'\xEF', '\xBD', '\x81', 0,
|
|
'\xEF', '\xBD', '\x82', 0,
|
|
'\xEF', '\xBD', '\x83', 0,
|
|
'\xEF', '\xBD', '\x84', 0,
|
|
'\xEF', '\xBD', '\x85', 0,
|
|
'\xEF', '\xBD', '\x86', 0,
|
|
'\xEF', '\xBD', '\x87', 0,
|
|
'\xEF', '\xBD', '\x88', 0,
|
|
'\xEF', '\xBD', '\x89', 0,
|
|
'\xEF', '\xBD', '\x8A', 0,
|
|
'\xEF', '\xBD', '\x8B', 0,
|
|
'\xEF', '\xBD', '\x8C', 0,
|
|
'\xEF', '\xBD', '\x8D', 0,
|
|
'\xEF', '\xBD', '\x8E', 0,
|
|
'\xEF', '\xBD', '\x8F', 0,
|
|
'\xEF', '\xBD', '\x90', 0,
|
|
'\xEF', '\xBD', '\x91', 0,
|
|
'\xEF', '\xBD', '\x92', 0,
|
|
'\xEF', '\xBD', '\x93', 0,
|
|
'\xEF', '\xBD', '\x94', 0,
|
|
'\xEF', '\xBD', '\x95', 0,
|
|
'\xEF', '\xBD', '\x96', 0,
|
|
'\xEF', '\xBD', '\x97', 0,
|
|
'\xEF', '\xBD', '\x98', 0,
|
|
'\xEF', '\xBD', '\x99', 0,
|
|
'\xEF', '\xBD', '\x9A', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF09090[64 * 4] = {
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x90', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
'\xF0', '\x90', '\x91', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF09092[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF09093[64 * 4] = {
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
'\xF0', '\x90', '\x93', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF090B2[64 * 4] = {
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
'\xF0', '\x90', '\xB3', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF091A2[64 * 4] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
'\xF0', '\x91', '\xA3', 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF096B9[64 * 4] = {
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
'\xF0', '\x96', '\xB9', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_StringToCaseInsensitiveF09EA4[64 * 4] = {
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA4', 0,
|
|
'\xF0', '\x9E', '\xA5', 0,
|
|
'\xF0', '\x9E', '\xA5', 0,
|
|
'\xF0', '\x9E', '\xA5', 0,
|
|
'\xF0', '\x9E', '\xA5', 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMap[32] = {
|
|
0, 0,
|
|
s_StringToCaseInsensitiveC2,
|
|
s_StringToCaseInsensitiveC3,
|
|
s_StringToCaseInsensitiveC4,
|
|
s_StringToCaseInsensitiveC5,
|
|
s_StringToCaseInsensitiveC6,
|
|
s_StringToCaseInsensitiveC7,
|
|
s_StringToCaseInsensitiveC8,
|
|
s_StringToCaseInsensitiveC9,
|
|
0, 0, 0,
|
|
s_StringToCaseInsensitiveCD,
|
|
s_StringToCaseInsensitiveCE,
|
|
s_StringToCaseInsensitiveCF,
|
|
s_StringToCaseInsensitiveD0,
|
|
s_StringToCaseInsensitiveD1,
|
|
s_StringToCaseInsensitiveD2,
|
|
s_StringToCaseInsensitiveD3,
|
|
s_StringToCaseInsensitiveD4,
|
|
s_StringToCaseInsensitiveD5,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapE1[64] = {
|
|
0, 0,
|
|
s_StringToCaseInsensitiveE182,
|
|
s_StringToCaseInsensitiveE183,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveE18E,
|
|
s_StringToCaseInsensitiveE18F,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveE1B2,
|
|
0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveE1B8,
|
|
s_StringToCaseInsensitiveE1B9,
|
|
s_StringToCaseInsensitiveE1BA,
|
|
s_StringToCaseInsensitiveE1BB,
|
|
s_StringToCaseInsensitiveE1BC,
|
|
s_StringToCaseInsensitiveE1BD,
|
|
s_StringToCaseInsensitiveE1BE,
|
|
s_StringToCaseInsensitiveE1BF,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapE2[64] = {
|
|
0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveE284,
|
|
s_StringToCaseInsensitiveE285,
|
|
s_StringToCaseInsensitiveE286,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveE292,
|
|
s_StringToCaseInsensitiveE293,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveE2B0,
|
|
s_StringToCaseInsensitiveE2B1,
|
|
s_StringToCaseInsensitiveE2B2,
|
|
s_StringToCaseInsensitiveE2B3,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapEA[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveEA99,
|
|
s_StringToCaseInsensitiveEA9A,
|
|
0,
|
|
s_StringToCaseInsensitiveEA9C,
|
|
s_StringToCaseInsensitiveEA9D,
|
|
s_StringToCaseInsensitiveEA9E,
|
|
s_StringToCaseInsensitiveEA9F,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapEF[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveEFBC,
|
|
0, 0, 0,
|
|
};
|
|
|
|
static const char **s_StringToCaseInsensitiveMapMap[16] = {
|
|
0,
|
|
s_StringToCaseInsensitiveMapE1,
|
|
s_StringToCaseInsensitiveMapE2,
|
|
0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveMapEA,
|
|
0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveMapEF,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapF090[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveF09090,
|
|
0,
|
|
s_StringToCaseInsensitiveF09092,
|
|
s_StringToCaseInsensitiveF09093,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveF090B2,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapF091[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveF091A2,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapF096[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveF096B9,
|
|
0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char *s_StringToCaseInsensitiveMapF09E[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveF09EA4,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char **s_StringToCaseInsensitiveMapMapF0[64] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveMapF090,
|
|
s_StringToCaseInsensitiveMapF091,
|
|
0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveMapF096,
|
|
0, 0, 0, 0, 0, 0, 0,
|
|
s_StringToCaseInsensitiveMapF09E,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char ***s_StringToCaseInsensitiveMapMapMap[8] = {
|
|
s_StringToCaseInsensitiveMapMapF0,
|
|
0, 0, 0, 0, 0, 0, 0,
|
|
};
|
|
|
|
static const char s_LowerAscii[] = {
|
|
'a', 0, 'b', 0, 'c', 0, 'd', 0, 'e', 0, 'f', 0, 'g', 0,
|
|
'h', 0, 'i', 0, 'j', 0, 'k', 0, 'l', 0, 'm', 0, 'n', 0,
|
|
'o', 0, 'p', 0, 'q', 0, 'r', 0, 's', 0, 't', 0, 'u', 0,
|
|
'v', 0, 'w', 0, 'x', 0, 'y', 0, 'z', 0, 0, 0, 0, 0
|
|
};
|
|
|
|
// ***************************************************************************
|
|
|
|
const char *fetchToCaseInsensitiveAsUtf8(const char **str)
|
|
{
|
|
unsigned char c = *(*str);
|
|
unsigned char d, e, f;
|
|
if (c < 0x80)
|
|
{
|
|
if (c >= 'A' && c <= 'Z')
|
|
{
|
|
// 1-byte UTF-8
|
|
++(*str);
|
|
return &s_LowerAscii[(c - 'A') << 1];
|
|
}
|
|
}
|
|
else if (c < 0xC0)
|
|
{
|
|
// non-starting byte
|
|
}
|
|
else if (c < 0xE0)
|
|
{
|
|
// 2-byte UTF-8
|
|
if (((d = (*str)[1]) & 0xC0) == 0x80)
|
|
{
|
|
const char *table = s_StringToCaseInsensitiveMap[c & 0x1F];
|
|
if (table)
|
|
{
|
|
unsigned char idx = (d & 0x3F) << 2;
|
|
if (table[idx])
|
|
{
|
|
(*str) += 2;
|
|
return &table[idx];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (c < 0xF0)
|
|
{
|
|
// 3-byte UTF-8
|
|
if (((d = (*str)[1]) & 0xC0) == 0x80 && ((e = (*str)[2]) & 0xC0) == 0x80)
|
|
{
|
|
const char **map = s_StringToCaseInsensitiveMapMap[c & 0x0F];
|
|
if (map)
|
|
{
|
|
const char *table = map[d & 0x3F];
|
|
if (table)
|
|
{
|
|
unsigned char idx = (e & 0x3F) << 2;
|
|
if (table[idx])
|
|
{
|
|
(*str) += 3;
|
|
return &table[idx];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (c < 0xF8)
|
|
{
|
|
// 4-byte UTF-8
|
|
if (((d = (*str)[1]) & 0xC0) == 0x80 && ((e = (*str)[2]) & 0xC0) == 0x80 && ((f = (*str)[3]) & 0xC0) == 0x80)
|
|
{
|
|
const char ***mapMap = s_StringToCaseInsensitiveMapMapMap[c & 0x07];
|
|
if (mapMap)
|
|
{
|
|
const char **map = mapMap[d & 0x3F];
|
|
if (map)
|
|
{
|
|
const char *table = map[e & 0x3F];
|
|
if (table)
|
|
{
|
|
unsigned char idx = (f & 0x3F) << 2;
|
|
if (table[idx])
|
|
{
|
|
(*str) += 4;
|
|
return &table[idx];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
// ***************************************************************************
|
|
|
|
int compareCaseInsensitive(const char *a, const char *b)
|
|
{
|
|
// while (*a != 0 && *b != 0)
|
|
for (; ;)
|
|
{
|
|
const char *ca = fetchToCaseInsensitiveAsUtf8(&a);
|
|
const char *cb = fetchToCaseInsensitiveAsUtf8(&b);
|
|
if (!ca && !cb)
|
|
{
|
|
// Easy case, ASCII compare or junk
|
|
if (*a != *b)
|
|
{
|
|
if (*a > * b) return 1;
|
|
else return -1;
|
|
}
|
|
else if (!*a) // Equal and NUL, ends both
|
|
{
|
|
return 0;
|
|
}
|
|
++a;
|
|
++b;
|
|
}
|
|
else if (!cb)
|
|
{
|
|
// String a changed lowercase, iterate ca until NUL alongside b
|
|
nlassert(*ca);
|
|
do
|
|
{
|
|
if (*ca != *b)
|
|
{
|
|
if (*ca > *b) return 1;
|
|
else return -1;
|
|
}
|
|
++ca;
|
|
++b;
|
|
} while (*ca);
|
|
}
|
|
else if (!ca)
|
|
{
|
|
// String b changed lowercase, iterate a alongside cb until NUL
|
|
nlassert(*cb);
|
|
do
|
|
{
|
|
if (*a != *cb)
|
|
{
|
|
if (*a > *cb) return 1;
|
|
else return -1;
|
|
}
|
|
++a;
|
|
++cb;
|
|
} while (*cb);
|
|
}
|
|
else
|
|
{
|
|
// Both strings changed lowercase
|
|
if (ca != cb) // Only check if it's a different result
|
|
{
|
|
do
|
|
{
|
|
if (*ca != *cb)
|
|
{
|
|
if (*ca > *cb) return 1;
|
|
else return -1;
|
|
}
|
|
++ca;
|
|
++cb;
|
|
} while (*ca && *cb);
|
|
}
|
|
}
|
|
}
|
|
// if (*a == *b) return 0;
|
|
// if (*a > *b) return 1;
|
|
// return -1;
|
|
}
|
|
|
|
// ***************************************************************************
|
|
|
|
int compareCaseInsensitive(const char *a, size_t lenA, const char *b, size_t lenB)
|
|
{
|
|
const char *ma = a + lenA;
|
|
const char *mb = b + lenB;
|
|
for (; ;)
|
|
{
|
|
if (a >= ma)
|
|
{
|
|
if (b >= mb)
|
|
{
|
|
return 0; // Both strings ended
|
|
}
|
|
else
|
|
{
|
|
return 1; // A is longer
|
|
}
|
|
}
|
|
if (b >= mb)
|
|
{
|
|
return -1; // B is longer
|
|
}
|
|
const char *ca = fetchToCaseInsensitiveAsUtf8(&a);
|
|
const char *cb = fetchToCaseInsensitiveAsUtf8(&b);
|
|
if (!ca && !cb)
|
|
{
|
|
// Easy case, ASCII compare or junk
|
|
if (*a != *b)
|
|
{
|
|
if (*a > * b) return 1;
|
|
else return -1;
|
|
}
|
|
/*
|
|
else if (!*a) // Equal and NUL, ends both
|
|
{
|
|
return 0;
|
|
}
|
|
*/
|
|
++a;
|
|
++b;
|
|
}
|
|
else if (!cb)
|
|
{
|
|
// String a changed lowercase, iterate ca until NUL alongside b
|
|
nlassert(*ca);
|
|
do
|
|
{
|
|
if (*ca != *b)
|
|
{
|
|
if (*ca > *b) return 1;
|
|
else return -1;
|
|
}
|
|
++ca;
|
|
++b;
|
|
} while (*ca);
|
|
}
|
|
else if (!ca)
|
|
{
|
|
// String b changed lowercase, iterate a alongside cb until NUL
|
|
nlassert(*cb);
|
|
do
|
|
{
|
|
if (*a != *cb)
|
|
{
|
|
if (*a > *cb) return 1;
|
|
else return -1;
|
|
}
|
|
++a;
|
|
++cb;
|
|
} while (*cb);
|
|
}
|
|
else
|
|
{
|
|
// Both strings changed lowercase
|
|
if (ca != cb) // Only check if it's a different result
|
|
{
|
|
do
|
|
{
|
|
if (*ca != *cb)
|
|
{
|
|
if (*ca > *cb) return 1;
|
|
else return -1;
|
|
}
|
|
++ca;
|
|
++cb;
|
|
} while (*ca && *cb);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// ***************************************************************************
|
|
|
|
NL_FORCE_INLINE void appendToCaseInsensitiveAsUtf8(std::string &res, const char *str, ptrdiff_t &i)
|
|
{
|
|
unsigned char c = str[i];
|
|
unsigned char d, e, f;
|
|
if (c < 0x80)
|
|
{
|
|
if (c >= 'A' && c <= 'Z')
|
|
{
|
|
// 1-byte UTF-8
|
|
c += 'a' - 'A';
|
|
}
|
|
}
|
|
else if (c < 0xC0)
|
|
{
|
|
// non-starting byte
|
|
}
|
|
else if (c < 0xE0)
|
|
{
|
|
// 2-byte UTF-8
|
|
if (((d = str[i + 1]) & 0xC0) == 0x80)
|
|
{
|
|
const char *table = s_StringToCaseInsensitiveMap[c & 0x1F];
|
|
if (table)
|
|
{
|
|
unsigned char idx = (d & 0x3F) << 2;
|
|
if (table[idx])
|
|
{
|
|
res += &table[idx];
|
|
i += 2;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (c < 0xF0)
|
|
{
|
|
// 3-byte UTF-8
|
|
if (((d = str[i + 1]) & 0xC0) == 0x80 && ((e = str[i + 2]) & 0xC0) == 0x80)
|
|
{
|
|
const char **map = s_StringToCaseInsensitiveMapMap[c & 0x0F];
|
|
if (map)
|
|
{
|
|
const char *table = map[d & 0x3F];
|
|
if (table)
|
|
{
|
|
unsigned char idx = (e & 0x3F) << 2;
|
|
if (table[idx])
|
|
{
|
|
res += &table[idx];
|
|
i += 3;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (c < 0xF8)
|
|
{
|
|
// 4-byte UTF-8
|
|
if (((d = str[i + 1]) & 0xC0) == 0x80 && ((e = str[i + 2]) & 0xC0) == 0x80 && ((f = str[i + 3]) & 0xC0) == 0x80)
|
|
{
|
|
const char ***mapMap = s_StringToCaseInsensitiveMapMapMap[c & 0x07];
|
|
if (mapMap)
|
|
{
|
|
const char **map = mapMap[d & 0x3F];
|
|
if (map)
|
|
{
|
|
const char *table = map[e & 0x3F];
|
|
if (table)
|
|
{
|
|
unsigned char idx = (f & 0x3F) << 2;
|
|
if (table[idx])
|
|
{
|
|
res += &table[idx];
|
|
i += 4;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
res += c;
|
|
++i;
|
|
}
|
|
|
|
// ***************************************************************************
|
|
|
|
std::string toCaseInsensitive(const char *str)
|
|
{
|
|
// UTF-8 toCaseInsensitive
|
|
std::string res;
|
|
for (ptrdiff_t i = 0; str[i];)
|
|
appendToCaseInsensitiveAsUtf8(res, str, i);
|
|
return res;
|
|
}
|
|
|
|
// ***************************************************************************
|
|
|
|
std::string toCaseInsensitive(const std::string &str)
|
|
{
|
|
// UTF-8 toCaseInsensitive
|
|
std::string res;
|
|
res.reserve(str.size() + (str.size() >> 2));
|
|
const char *cstr = &str[0];
|
|
for (ptrdiff_t i = 0; i < (ptrdiff_t)str.size();)
|
|
appendToCaseInsensitiveAsUtf8(res, cstr, i);
|
|
return res;
|
|
}
|
|
|
|
} // NLMISC
|