concordia-library/utf8case/case_tables.cpp
Rafał Jaworski 6ddba32f48 utf8
Former-commit-id: fa7407621e839f87613476596c6589aeceb9d796
2014-04-24 11:51:04 +02:00

805 lines
22 KiB
C++

// GENERATED AUTOMATICALLY BY generate_case_tables.pl; DO NOT EDIT.
#include "case_tables.hpp"
const size_t LOWER_CASE_RANGES_SIZE = 151;
const CaseConversionRecord LOWER_CASE_RANGES[LOWER_CASE_RANGES_SIZE] = {
{65, 90, 32},
{192, 214, 32},
{216, 222, 32},
{256, 302, EVEN_ODD_SKIP},
{304, 304, -199},
{306, 310, EVEN_ODD_SKIP},
{313, 327, ODD_EVEN_SKIP},
{330, 374, EVEN_ODD_SKIP},
{376, 376, -121},
{377, 381, ODD_EVEN_SKIP},
{385, 385, 210},
{386, 388, EVEN_ODD_SKIP},
{390, 390, 206},
{391, 391, ODD_EVEN},
{393, 394, 205},
{395, 395, ODD_EVEN},
{398, 398, 79},
{399, 399, 202},
{400, 400, 203},
{401, 401, ODD_EVEN},
{403, 403, 205},
{404, 404, 207},
{406, 406, 211},
{407, 407, 209},
{408, 408, EVEN_ODD},
{412, 412, 211},
{413, 413, 213},
{415, 415, 214},
{416, 420, EVEN_ODD_SKIP},
{422, 422, 218},
{423, 423, ODD_EVEN},
{425, 425, 218},
{428, 428, EVEN_ODD},
{430, 430, 218},
{431, 431, ODD_EVEN},
{433, 434, 217},
{435, 437, ODD_EVEN_SKIP},
{439, 439, 219},
{440, 440, EVEN_ODD},
{444, 444, EVEN_ODD},
{452, 452, 2},
{453, 453, ODD_EVEN},
{455, 455, 2},
{456, 456, EVEN_ODD},
{458, 458, 2},
{459, 475, ODD_EVEN_SKIP},
{478, 494, EVEN_ODD_SKIP},
{497, 497, 2},
{498, 500, EVEN_ODD_SKIP},
{502, 502, -97},
{503, 503, -56},
{504, 542, EVEN_ODD_SKIP},
{544, 544, -130},
{546, 562, EVEN_ODD_SKIP},
{570, 570, 10795},
{571, 571, ODD_EVEN},
{573, 573, -163},
{574, 574, 10792},
{577, 577, ODD_EVEN},
{579, 579, -195},
{580, 580, 69},
{581, 581, 71},
{582, 590, EVEN_ODD_SKIP},
{880, 882, EVEN_ODD_SKIP},
{886, 886, EVEN_ODD},
{902, 902, 38},
{904, 906, 37},
{908, 908, 64},
{910, 911, 63},
{913, 929, 32},
{931, 939, 32},
{975, 975, 8},
{984, 1006, EVEN_ODD_SKIP},
{1012, 1012, -60},
{1015, 1015, ODD_EVEN},
{1017, 1017, -7},
{1018, 1018, EVEN_ODD},
{1021, 1023, -130},
{1024, 1039, 80},
{1040, 1071, 32},
{1120, 1152, EVEN_ODD_SKIP},
{1162, 1214, EVEN_ODD_SKIP},
{1216, 1216, 15},
{1217, 1229, ODD_EVEN_SKIP},
{1232, 1318, EVEN_ODD_SKIP},
{1329, 1366, 48},
{4256, 4293, 7264},
{7680, 7828, EVEN_ODD_SKIP},
{7838, 7838, -7615},
{7840, 7934, EVEN_ODD_SKIP},
{7944, 7951, -8},
{7960, 7965, -8},
{7976, 7983, -8},
{7992, 7999, -8},
{8008, 8013, -8},
{8025, 8025, -8},
{8027, 8027, -8},
{8029, 8029, -8},
{8031, 8031, -8},
{8040, 8047, -8},
{8072, 8079, -8},
{8088, 8095, -8},
{8104, 8111, -8},
{8120, 8121, -8},
{8122, 8123, -74},
{8124, 8124, -9},
{8136, 8139, -86},
{8140, 8140, -9},
{8152, 8153, -8},
{8154, 8155, -100},
{8168, 8169, -8},
{8170, 8171, -112},
{8172, 8172, -7},
{8184, 8185, -128},
{8186, 8187, -126},
{8188, 8188, -9},
{8486, 8486, -7517},
{8490, 8490, -8383},
{8491, 8491, -8262},
{8498, 8498, 28},
{8544, 8559, 16},
{8579, 8579, ODD_EVEN},
{9398, 9423, 26},
{11264, 11310, 48},
{11360, 11360, EVEN_ODD},
{11362, 11362, -10743},
{11363, 11363, -3814},
{11364, 11364, -10727},
{11367, 11371, ODD_EVEN_SKIP},
{11373, 11373, -10780},
{11374, 11374, -10749},
{11375, 11375, -10783},
{11376, 11376, -10782},
{11378, 11378, EVEN_ODD},
{11381, 11381, ODD_EVEN},
{11390, 11391, -10815},
{11392, 11490, EVEN_ODD_SKIP},
{11499, 11501, ODD_EVEN_SKIP},
{42560, 42604, EVEN_ODD_SKIP},
{42624, 42646, EVEN_ODD_SKIP},
{42786, 42798, EVEN_ODD_SKIP},
{42802, 42862, EVEN_ODD_SKIP},
{42873, 42875, ODD_EVEN_SKIP},
{42877, 42877, -35332},
{42878, 42886, EVEN_ODD_SKIP},
{42891, 42891, ODD_EVEN},
{42893, 42893, -42280},
{42896, 42896, EVEN_ODD},
{42912, 42920, EVEN_ODD_SKIP},
{65313, 65338, 32},
{66560, 66599, 40}
};
const size_t UPPER_CASE_RANGES_SIZE = 161;
const CaseConversionRecord UPPER_CASE_RANGES[UPPER_CASE_RANGES_SIZE] = {
{97, 122, -32},
{181, 181, 743},
{224, 246, -32},
{248, 254, -32},
{255, 255, 121},
{257, 303, EVEN_ODD_SKIP},
{305, 305, -232},
{307, 311, EVEN_ODD_SKIP},
{314, 328, ODD_EVEN_SKIP},
{331, 375, EVEN_ODD_SKIP},
{378, 382, ODD_EVEN_SKIP},
{383, 383, -300},
{384, 384, 195},
{387, 389, EVEN_ODD_SKIP},
{392, 392, ODD_EVEN},
{396, 396, ODD_EVEN},
{402, 402, ODD_EVEN},
{405, 405, 97},
{409, 409, EVEN_ODD},
{410, 410, 163},
{414, 414, 130},
{417, 421, EVEN_ODD_SKIP},
{424, 424, ODD_EVEN},
{429, 429, EVEN_ODD},
{432, 432, ODD_EVEN},
{436, 438, ODD_EVEN_SKIP},
{441, 441, EVEN_ODD},
{445, 445, EVEN_ODD},
{447, 447, 56},
{453, 453, EVEN_ODD},
{454, 454, -2},
{456, 456, ODD_EVEN},
{457, 457, -2},
{459, 459, EVEN_ODD},
{460, 460, -2},
{462, 476, ODD_EVEN_SKIP},
{477, 477, -79},
{479, 495, EVEN_ODD_SKIP},
{498, 498, ODD_EVEN},
{499, 499, -2},
{501, 501, EVEN_ODD},
{505, 543, EVEN_ODD_SKIP},
{547, 563, EVEN_ODD_SKIP},
{572, 572, ODD_EVEN},
{575, 576, 10815},
{578, 578, ODD_EVEN},
{583, 591, EVEN_ODD_SKIP},
{592, 592, 10783},
{593, 593, 10780},
{594, 594, 10782},
{595, 595, -210},
{596, 596, -206},
{598, 599, -205},
{601, 601, -202},
{603, 603, -203},
{608, 608, -205},
{611, 611, -207},
{613, 613, 42280},
{616, 616, -209},
{617, 617, -211},
{619, 619, 10743},
{623, 623, -211},
{625, 625, 10749},
{626, 626, -213},
{629, 629, -214},
{637, 637, 10727},
{640, 640, -218},
{643, 643, -218},
{648, 648, -218},
{649, 649, -69},
{650, 651, -217},
{652, 652, -71},
{658, 658, -219},
{837, 837, 84},
{881, 883, EVEN_ODD_SKIP},
{887, 887, EVEN_ODD},
{891, 893, 130},
{940, 940, -38},
{941, 943, -37},
{945, 961, -32},
{962, 962, -31},
{963, 971, -32},
{972, 972, -64},
{973, 974, -63},
{976, 976, -62},
{977, 977, -57},
{981, 981, -47},
{982, 982, -54},
{983, 983, -8},
{985, 1007, EVEN_ODD_SKIP},
{1008, 1008, -86},
{1009, 1009, -80},
{1010, 1010, 7},
{1013, 1013, -96},
{1016, 1016, ODD_EVEN},
{1019, 1019, EVEN_ODD},
{1072, 1103, -32},
{1104, 1119, -80},
{1121, 1153, EVEN_ODD_SKIP},
{1163, 1215, EVEN_ODD_SKIP},
{1218, 1230, ODD_EVEN_SKIP},
{1231, 1231, -15},
{1233, 1319, EVEN_ODD_SKIP},
{1377, 1414, -48},
{7545, 7545, 35332},
{7549, 7549, 3814},
{7681, 7829, EVEN_ODD_SKIP},
{7835, 7835, -59},
{7841, 7935, EVEN_ODD_SKIP},
{7936, 7943, 8},
{7952, 7957, 8},
{7968, 7975, 8},
{7984, 7991, 8},
{8000, 8005, 8},
{8017, 8017, 8},
{8019, 8019, 8},
{8021, 8021, 8},
{8023, 8023, 8},
{8032, 8039, 8},
{8048, 8049, 74},
{8050, 8053, 86},
{8054, 8055, 100},
{8056, 8057, 128},
{8058, 8059, 112},
{8060, 8061, 126},
{8064, 8071, 8},
{8080, 8087, 8},
{8096, 8103, 8},
{8112, 8113, 8},
{8115, 8115, 9},
{8126, 8126, -7205},
{8131, 8131, 9},
{8144, 8145, 8},
{8160, 8161, 8},
{8165, 8165, 7},
{8179, 8179, 9},
{8526, 8526, -28},
{8560, 8575, -16},
{8580, 8580, ODD_EVEN},
{9424, 9449, -26},
{11312, 11358, -48},
{11361, 11361, EVEN_ODD},
{11365, 11365, -10795},
{11366, 11366, -10792},
{11368, 11372, ODD_EVEN_SKIP},
{11379, 11379, EVEN_ODD},
{11382, 11382, ODD_EVEN},
{11393, 11491, EVEN_ODD_SKIP},
{11500, 11502, ODD_EVEN_SKIP},
{11520, 11557, -7264},
{42561, 42605, EVEN_ODD_SKIP},
{42625, 42647, EVEN_ODD_SKIP},
{42787, 42799, EVEN_ODD_SKIP},
{42803, 42863, EVEN_ODD_SKIP},
{42874, 42876, ODD_EVEN_SKIP},
{42879, 42887, EVEN_ODD_SKIP},
{42892, 42892, ODD_EVEN},
{42897, 42897, EVEN_ODD},
{42913, 42921, EVEN_ODD_SKIP},
{65345, 65370, -32},
{66600, 66639, -40}
};
const size_t TITLE_CASE_RANGES_SIZE = 161;
const CaseConversionRecord TITLE_CASE_RANGES[TITLE_CASE_RANGES_SIZE] = {
{97, 122, -32},
{181, 181, 743},
{224, 246, -32},
{248, 254, -32},
{255, 255, 121},
{257, 303, EVEN_ODD_SKIP},
{305, 305, -232},
{307, 311, EVEN_ODD_SKIP},
{314, 328, ODD_EVEN_SKIP},
{331, 375, EVEN_ODD_SKIP},
{378, 382, ODD_EVEN_SKIP},
{383, 383, -300},
{384, 384, 195},
{387, 389, EVEN_ODD_SKIP},
{392, 392, ODD_EVEN},
{396, 396, ODD_EVEN},
{402, 402, ODD_EVEN},
{405, 405, 97},
{409, 409, EVEN_ODD},
{410, 410, 163},
{414, 414, 130},
{417, 421, EVEN_ODD_SKIP},
{424, 424, ODD_EVEN},
{429, 429, EVEN_ODD},
{432, 432, ODD_EVEN},
{436, 438, ODD_EVEN_SKIP},
{441, 441, EVEN_ODD},
{445, 445, EVEN_ODD},
{447, 447, 56},
{452, 452, EVEN_ODD},
{453, 453, 0},
{454, 455, ODD_EVEN},
{456, 456, 0},
{457, 458, EVEN_ODD},
{459, 459, 0},
{460, 476, ODD_EVEN_SKIP},
{477, 477, -79},
{479, 495, EVEN_ODD_SKIP},
{497, 497, ODD_EVEN},
{498, 498, 0},
{499, 501, EVEN_ODD_SKIP},
{505, 543, EVEN_ODD_SKIP},
{547, 563, EVEN_ODD_SKIP},
{572, 572, ODD_EVEN},
{575, 576, 10815},
{578, 578, ODD_EVEN},
{583, 591, EVEN_ODD_SKIP},
{592, 592, 10783},
{593, 593, 10780},
{594, 594, 10782},
{595, 595, -210},
{596, 596, -206},
{598, 599, -205},
{601, 601, -202},
{603, 603, -203},
{608, 608, -205},
{611, 611, -207},
{613, 613, 42280},
{616, 616, -209},
{617, 617, -211},
{619, 619, 10743},
{623, 623, -211},
{625, 625, 10749},
{626, 626, -213},
{629, 629, -214},
{637, 637, 10727},
{640, 640, -218},
{643, 643, -218},
{648, 648, -218},
{649, 649, -69},
{650, 651, -217},
{652, 652, -71},
{658, 658, -219},
{837, 837, 84},
{881, 883, EVEN_ODD_SKIP},
{887, 887, EVEN_ODD},
{891, 893, 130},
{940, 940, -38},
{941, 943, -37},
{945, 961, -32},
{962, 962, -31},
{963, 971, -32},
{972, 972, -64},
{973, 974, -63},
{976, 976, -62},
{977, 977, -57},
{981, 981, -47},
{982, 982, -54},
{983, 983, -8},
{985, 1007, EVEN_ODD_SKIP},
{1008, 1008, -86},
{1009, 1009, -80},
{1010, 1010, 7},
{1013, 1013, -96},
{1016, 1016, ODD_EVEN},
{1019, 1019, EVEN_ODD},
{1072, 1103, -32},
{1104, 1119, -80},
{1121, 1153, EVEN_ODD_SKIP},
{1163, 1215, EVEN_ODD_SKIP},
{1218, 1230, ODD_EVEN_SKIP},
{1231, 1231, -15},
{1233, 1319, EVEN_ODD_SKIP},
{1377, 1414, -48},
{7545, 7545, 35332},
{7549, 7549, 3814},
{7681, 7829, EVEN_ODD_SKIP},
{7835, 7835, -59},
{7841, 7935, EVEN_ODD_SKIP},
{7936, 7943, 8},
{7952, 7957, 8},
{7968, 7975, 8},
{7984, 7991, 8},
{8000, 8005, 8},
{8017, 8017, 8},
{8019, 8019, 8},
{8021, 8021, 8},
{8023, 8023, 8},
{8032, 8039, 8},
{8048, 8049, 74},
{8050, 8053, 86},
{8054, 8055, 100},
{8056, 8057, 128},
{8058, 8059, 112},
{8060, 8061, 126},
{8064, 8071, 8},
{8080, 8087, 8},
{8096, 8103, 8},
{8112, 8113, 8},
{8115, 8115, 9},
{8126, 8126, -7205},
{8131, 8131, 9},
{8144, 8145, 8},
{8160, 8161, 8},
{8165, 8165, 7},
{8179, 8179, 9},
{8526, 8526, -28},
{8560, 8575, -16},
{8580, 8580, ODD_EVEN},
{9424, 9449, -26},
{11312, 11358, -48},
{11361, 11361, EVEN_ODD},
{11365, 11365, -10795},
{11366, 11366, -10792},
{11368, 11372, ODD_EVEN_SKIP},
{11379, 11379, EVEN_ODD},
{11382, 11382, ODD_EVEN},
{11393, 11491, EVEN_ODD_SKIP},
{11500, 11502, ODD_EVEN_SKIP},
{11520, 11557, -7264},
{42561, 42605, EVEN_ODD_SKIP},
{42625, 42647, EVEN_ODD_SKIP},
{42787, 42799, EVEN_ODD_SKIP},
{42803, 42863, EVEN_ODD_SKIP},
{42874, 42876, ODD_EVEN_SKIP},
{42879, 42887, EVEN_ODD_SKIP},
{42892, 42892, ODD_EVEN},
{42897, 42897, EVEN_ODD},
{42913, 42921, EVEN_ODD_SKIP},
{65345, 65370, -32},
{66600, 66639, -40}
};
const size_t LOWER_SPECIAL_CASING_SIZE = 103;
const SpecialCasingConversionRecord LOWER_SPECIAL_CASING[LOWER_SPECIAL_CASING_SIZE] = {
{223, "\xc3\x9f"},
{304, "\x69\xcc\x87"},
{64256, "\xef\xac\x80"},
{64257, "\xef\xac\x81"},
{64258, "\xef\xac\x82"},
{64259, "\xef\xac\x83"},
{64260, "\xef\xac\x84"},
{64261, "\xef\xac\x85"},
{64262, "\xef\xac\x86"},
{1415, "\xd6\x87"},
{64275, "\xef\xac\x93"},
{64276, "\xef\xac\x94"},
{64277, "\xef\xac\x95"},
{64278, "\xef\xac\x96"},
{64279, "\xef\xac\x97"},
{329, "\xc5\x89"},
{912, "\xce\x90"},
{944, "\xce\xb0"},
{496, "\xc7\xb0"},
{7830, "\xe1\xba\x96"},
{7831, "\xe1\xba\x97"},
{7832, "\xe1\xba\x98"},
{7833, "\xe1\xba\x99"},
{7834, "\xe1\xba\x9a"},
{8016, "\xe1\xbd\x90"},
{8018, "\xe1\xbd\x92"},
{8020, "\xe1\xbd\x94"},
{8022, "\xe1\xbd\x96"},
{8118, "\xe1\xbe\xb6"},
{8134, "\xe1\xbf\x86"},
{8146, "\xe1\xbf\x92"},
{8147, "\xe1\xbf\x93"},
{8150, "\xe1\xbf\x96"},
{8151, "\xe1\xbf\x97"},
{8162, "\xe1\xbf\xa2"},
{8163, "\xe1\xbf\xa3"},
{8164, "\xe1\xbf\xa4"},
{8166, "\xe1\xbf\xa6"},
{8167, "\xe1\xbf\xa7"},
{8182, "\xe1\xbf\xb6"},
{8064, "\xe1\xbe\x80"},
{8065, "\xe1\xbe\x81"},
{8066, "\xe1\xbe\x82"},
{8067, "\xe1\xbe\x83"},
{8068, "\xe1\xbe\x84"},
{8069, "\xe1\xbe\x85"},
{8070, "\xe1\xbe\x86"},
{8071, "\xe1\xbe\x87"},
{8072, "\xe1\xbe\x80"},
{8073, "\xe1\xbe\x81"},
{8074, "\xe1\xbe\x82"},
{8075, "\xe1\xbe\x83"},
{8076, "\xe1\xbe\x84"},
{8077, "\xe1\xbe\x85"},
{8078, "\xe1\xbe\x86"},
{8079, "\xe1\xbe\x87"},
{8080, "\xe1\xbe\x90"},
{8081, "\xe1\xbe\x91"},
{8082, "\xe1\xbe\x92"},
{8083, "\xe1\xbe\x93"},
{8084, "\xe1\xbe\x94"},
{8085, "\xe1\xbe\x95"},
{8086, "\xe1\xbe\x96"},
{8087, "\xe1\xbe\x97"},
{8088, "\xe1\xbe\x90"},
{8089, "\xe1\xbe\x91"},
{8090, "\xe1\xbe\x92"},
{8091, "\xe1\xbe\x93"},
{8092, "\xe1\xbe\x94"},
{8093, "\xe1\xbe\x95"},
{8094, "\xe1\xbe\x96"},
{8095, "\xe1\xbe\x97"},
{8096, "\xe1\xbe\xa0"},
{8097, "\xe1\xbe\xa1"},
{8098, "\xe1\xbe\xa2"},
{8099, "\xe1\xbe\xa3"},
{8100, "\xe1\xbe\xa4"},
{8101, "\xe1\xbe\xa5"},
{8102, "\xe1\xbe\xa6"},
{8103, "\xe1\xbe\xa7"},
{8104, "\xe1\xbe\xa0"},
{8105, "\xe1\xbe\xa1"},
{8106, "\xe1\xbe\xa2"},
{8107, "\xe1\xbe\xa3"},
{8108, "\xe1\xbe\xa4"},
{8109, "\xe1\xbe\xa5"},
{8110, "\xe1\xbe\xa6"},
{8111, "\xe1\xbe\xa7"},
{8115, "\xe1\xbe\xb3"},
{8124, "\xe1\xbe\xb3"},
{8131, "\xe1\xbf\x83"},
{8140, "\xe1\xbf\x83"},
{8179, "\xe1\xbf\xb3"},
{8188, "\xe1\xbf\xb3"},
{8114, "\xe1\xbe\xb2"},
{8116, "\xe1\xbe\xb4"},
{8130, "\xe1\xbf\x82"},
{8132, "\xe1\xbf\x84"},
{8178, "\xe1\xbf\xb2"},
{8180, "\xe1\xbf\xb4"},
{8119, "\xe1\xbe\xb7"},
{8135, "\xe1\xbf\x87"},
{8183, "\xe1\xbf\xb7"}
};
const size_t TITLE_SPECIAL_CASING_SIZE = 103;
const SpecialCasingConversionRecord TITLE_SPECIAL_CASING[TITLE_SPECIAL_CASING_SIZE] = {
{223, "\x53\x73"},
{304, "\xc4\xb0"},
{64256, "\x46\x66"},
{64257, "\x46\x69"},
{64258, "\x46\x6c"},
{64259, "\x46\x66\x69"},
{64260, "\x46\x66\x6c"},
{64261, "\x53\x74"},
{64262, "\x53\x74"},
{1415, "\xd4\xb5\xd6\x82"},
{64275, "\xd5\x84\xd5\xb6"},
{64276, "\xd5\x84\xd5\xa5"},
{64277, "\xd5\x84\xd5\xab"},
{64278, "\xd5\x8e\xd5\xb6"},
{64279, "\xd5\x84\xd5\xad"},
{329, "\xca\xbc\x4e"},
{912, "\xce\x99\xcc\x88\xcc\x81"},
{944, "\xce\xa5\xcc\x88\xcc\x81"},
{496, "\x4a\xcc\x8c"},
{7830, "\x48\xcc\xb1"},
{7831, "\x54\xcc\x88"},
{7832, "\x57\xcc\x8a"},
{7833, "\x59\xcc\x8a"},
{7834, "\x41\xca\xbe"},
{8016, "\xce\xa5\xcc\x93"},
{8018, "\xce\xa5\xcc\x93\xcc\x80"},
{8020, "\xce\xa5\xcc\x93\xcc\x81"},
{8022, "\xce\xa5\xcc\x93\xcd\x82"},
{8118, "\xce\x91\xcd\x82"},
{8134, "\xce\x97\xcd\x82"},
{8146, "\xce\x99\xcc\x88\xcc\x80"},
{8147, "\xce\x99\xcc\x88\xcc\x81"},
{8150, "\xce\x99\xcd\x82"},
{8151, "\xce\x99\xcc\x88\xcd\x82"},
{8162, "\xce\xa5\xcc\x88\xcc\x80"},
{8163, "\xce\xa5\xcc\x88\xcc\x81"},
{8164, "\xce\xa1\xcc\x93"},
{8166, "\xce\xa5\xcd\x82"},
{8167, "\xce\xa5\xcc\x88\xcd\x82"},
{8182, "\xce\xa9\xcd\x82"},
{8064, "\xe1\xbe\x88"},
{8065, "\xe1\xbe\x89"},
{8066, "\xe1\xbe\x8a"},
{8067, "\xe1\xbe\x8b"},
{8068, "\xe1\xbe\x8c"},
{8069, "\xe1\xbe\x8d"},
{8070, "\xe1\xbe\x8e"},
{8071, "\xe1\xbe\x8f"},
{8072, "\xe1\xbe\x88"},
{8073, "\xe1\xbe\x89"},
{8074, "\xe1\xbe\x8a"},
{8075, "\xe1\xbe\x8b"},
{8076, "\xe1\xbe\x8c"},
{8077, "\xe1\xbe\x8d"},
{8078, "\xe1\xbe\x8e"},
{8079, "\xe1\xbe\x8f"},
{8080, "\xe1\xbe\x98"},
{8081, "\xe1\xbe\x99"},
{8082, "\xe1\xbe\x9a"},
{8083, "\xe1\xbe\x9b"},
{8084, "\xe1\xbe\x9c"},
{8085, "\xe1\xbe\x9d"},
{8086, "\xe1\xbe\x9e"},
{8087, "\xe1\xbe\x9f"},
{8088, "\xe1\xbe\x98"},
{8089, "\xe1\xbe\x99"},
{8090, "\xe1\xbe\x9a"},
{8091, "\xe1\xbe\x9b"},
{8092, "\xe1\xbe\x9c"},
{8093, "\xe1\xbe\x9d"},
{8094, "\xe1\xbe\x9e"},
{8095, "\xe1\xbe\x9f"},
{8096, "\xe1\xbe\xa8"},
{8097, "\xe1\xbe\xa9"},
{8098, "\xe1\xbe\xaa"},
{8099, "\xe1\xbe\xab"},
{8100, "\xe1\xbe\xac"},
{8101, "\xe1\xbe\xad"},
{8102, "\xe1\xbe\xae"},
{8103, "\xe1\xbe\xaf"},
{8104, "\xe1\xbe\xa8"},
{8105, "\xe1\xbe\xa9"},
{8106, "\xe1\xbe\xaa"},
{8107, "\xe1\xbe\xab"},
{8108, "\xe1\xbe\xac"},
{8109, "\xe1\xbe\xad"},
{8110, "\xe1\xbe\xae"},
{8111, "\xe1\xbe\xaf"},
{8115, "\xe1\xbe\xbc"},
{8124, "\xe1\xbe\xbc"},
{8131, "\xe1\xbf\x8c"},
{8140, "\xe1\xbf\x8c"},
{8179, "\xe1\xbf\xbc"},
{8188, "\xe1\xbf\xbc"},
{8114, "\xe1\xbe\xba\xcd\x85"},
{8116, "\xce\x86\xcd\x85"},
{8130, "\xe1\xbf\x8a\xcd\x85"},
{8132, "\xce\x89\xcd\x85"},
{8178, "\xe1\xbf\xba\xcd\x85"},
{8180, "\xce\x8f\xcd\x85"},
{8119, "\xce\x91\xcd\x82\xcd\x85"},
{8135, "\xce\x97\xcd\x82\xcd\x85"},
{8183, "\xce\xa9\xcd\x82\xcd\x85"}
};
const size_t UPPER_SPECIAL_CASING_SIZE = 103;
const SpecialCasingConversionRecord UPPER_SPECIAL_CASING[UPPER_SPECIAL_CASING_SIZE] = {
{223, "\x53\x53"},
{304, "\xc4\xb0"},
{64256, "\x46\x46"},
{64257, "\x46\x49"},
{64258, "\x46\x4c"},
{64259, "\x46\x46\x49"},
{64260, "\x46\x46\x4c"},
{64261, "\x53\x54"},
{64262, "\x53\x54"},
{1415, "\xd4\xb5\xd5\x92"},
{64275, "\xd5\x84\xd5\x86"},
{64276, "\xd5\x84\xd4\xb5"},
{64277, "\xd5\x84\xd4\xbb"},
{64278, "\xd5\x8e\xd5\x86"},
{64279, "\xd5\x84\xd4\xbd"},
{329, "\xca\xbc\x4e"},
{912, "\xce\x99\xcc\x88\xcc\x81"},
{944, "\xce\xa5\xcc\x88\xcc\x81"},
{496, "\x4a\xcc\x8c"},
{7830, "\x48\xcc\xb1"},
{7831, "\x54\xcc\x88"},
{7832, "\x57\xcc\x8a"},
{7833, "\x59\xcc\x8a"},
{7834, "\x41\xca\xbe"},
{8016, "\xce\xa5\xcc\x93"},
{8018, "\xce\xa5\xcc\x93\xcc\x80"},
{8020, "\xce\xa5\xcc\x93\xcc\x81"},
{8022, "\xce\xa5\xcc\x93\xcd\x82"},
{8118, "\xce\x91\xcd\x82"},
{8134, "\xce\x97\xcd\x82"},
{8146, "\xce\x99\xcc\x88\xcc\x80"},
{8147, "\xce\x99\xcc\x88\xcc\x81"},
{8150, "\xce\x99\xcd\x82"},
{8151, "\xce\x99\xcc\x88\xcd\x82"},
{8162, "\xce\xa5\xcc\x88\xcc\x80"},
{8163, "\xce\xa5\xcc\x88\xcc\x81"},
{8164, "\xce\xa1\xcc\x93"},
{8166, "\xce\xa5\xcd\x82"},
{8167, "\xce\xa5\xcc\x88\xcd\x82"},
{8182, "\xce\xa9\xcd\x82"},
{8064, "\xe1\xbc\x88\xce\x99"},
{8065, "\xe1\xbc\x89\xce\x99"},
{8066, "\xe1\xbc\x8a\xce\x99"},
{8067, "\xe1\xbc\x8b\xce\x99"},
{8068, "\xe1\xbc\x8c\xce\x99"},
{8069, "\xe1\xbc\x8d\xce\x99"},
{8070, "\xe1\xbc\x8e\xce\x99"},
{8071, "\xe1\xbc\x8f\xce\x99"},
{8072, "\xe1\xbc\x88\xce\x99"},
{8073, "\xe1\xbc\x89\xce\x99"},
{8074, "\xe1\xbc\x8a\xce\x99"},
{8075, "\xe1\xbc\x8b\xce\x99"},
{8076, "\xe1\xbc\x8c\xce\x99"},
{8077, "\xe1\xbc\x8d\xce\x99"},
{8078, "\xe1\xbc\x8e\xce\x99"},
{8079, "\xe1\xbc\x8f\xce\x99"},
{8080, "\xe1\xbc\xa8\xce\x99"},
{8081, "\xe1\xbc\xa9\xce\x99"},
{8082, "\xe1\xbc\xaa\xce\x99"},
{8083, "\xe1\xbc\xab\xce\x99"},
{8084, "\xe1\xbc\xac\xce\x99"},
{8085, "\xe1\xbc\xad\xce\x99"},
{8086, "\xe1\xbc\xae\xce\x99"},
{8087, "\xe1\xbc\xaf\xce\x99"},
{8088, "\xe1\xbc\xa8\xce\x99"},
{8089, "\xe1\xbc\xa9\xce\x99"},
{8090, "\xe1\xbc\xaa\xce\x99"},
{8091, "\xe1\xbc\xab\xce\x99"},
{8092, "\xe1\xbc\xac\xce\x99"},
{8093, "\xe1\xbc\xad\xce\x99"},
{8094, "\xe1\xbc\xae\xce\x99"},
{8095, "\xe1\xbc\xaf\xce\x99"},
{8096, "\xe1\xbd\xa8\xce\x99"},
{8097, "\xe1\xbd\xa9\xce\x99"},
{8098, "\xe1\xbd\xaa\xce\x99"},
{8099, "\xe1\xbd\xab\xce\x99"},
{8100, "\xe1\xbd\xac\xce\x99"},
{8101, "\xe1\xbd\xad\xce\x99"},
{8102, "\xe1\xbd\xae\xce\x99"},
{8103, "\xe1\xbd\xaf\xce\x99"},
{8104, "\xe1\xbd\xa8\xce\x99"},
{8105, "\xe1\xbd\xa9\xce\x99"},
{8106, "\xe1\xbd\xaa\xce\x99"},
{8107, "\xe1\xbd\xab\xce\x99"},
{8108, "\xe1\xbd\xac\xce\x99"},
{8109, "\xe1\xbd\xad\xce\x99"},
{8110, "\xe1\xbd\xae\xce\x99"},
{8111, "\xe1\xbd\xaf\xce\x99"},
{8115, "\xce\x91\xce\x99"},
{8124, "\xce\x91\xce\x99"},
{8131, "\xce\x97\xce\x99"},
{8140, "\xce\x97\xce\x99"},
{8179, "\xce\xa9\xce\x99"},
{8188, "\xce\xa9\xce\x99"},
{8114, "\xe1\xbe\xba\xce\x99"},
{8116, "\xce\x86\xce\x99"},
{8130, "\xe1\xbf\x8a\xce\x99"},
{8132, "\xce\x89\xce\x99"},
{8178, "\xe1\xbf\xba\xce\x99"},
{8180, "\xce\x8f\xce\x99"},
{8119, "\xce\x91\xcd\x82\xce\x99"},
{8135, "\xce\x97\xcd\x82\xce\x99"},
{8183, "\xce\xa9\xcd\x82\xce\x99"}
};