aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2017-03-23 17:30:37 +1100
committerNeil <nyamatongwe@gmail.com>2017-03-23 17:30:37 +1100
commit54012e88adcb0fa83afdd1626aab55066c2e8247 (patch)
tree5a62af82970ac577253a75dc54761b01e1bf059b
parent7a0be99be5ef96846dc45ae4ca14883b0c3ccbd2 (diff)
downloadscintilla-mirror-54012e88adcb0fa83afdd1626aab55066c2e8247.tar.gz
Updated case conversion and character categories to Unicode 9.
-rw-r--r--doc/ScintillaHistory.html11
-rw-r--r--lexlib/CharacterCategory.cxx625
-rw-r--r--src/CaseConvert.cxx202
3 files changed, 725 insertions, 113 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index a21cbf63d..6dc53e548 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -527,6 +527,17 @@
Released 21 March 2017.
</li>
<li>
+ Updated case conversion and character categories to Unicode 9.
+ </li>
+ </ul>
+ <h3>
+ <a href="http://www.scintilla.org/scite374.zip">Release 3.7.4</a>
+ </h3>
+ <ul>
+ <li>
+ Released 21 March 2017.
+ </li>
+ <li>
Requires a C++11 compiler. GCC 4.8 and MSVC 2015 are supported.
</li>
<li>
diff --git a/lexlib/CharacterCategory.cxx b/lexlib/CharacterCategory.cxx
index 2be46c013..7ca3a0f27 100644
--- a/lexlib/CharacterCategory.cxx
+++ b/lexlib/CharacterCategory.cxx
@@ -21,7 +21,7 @@ namespace {
const int catRanges[] = {
//++Autogenerated -- start of section automatically generated
-// Created with Python 3.3.0, Unicode 6.1.0
+// Created with Python 3.6.1, Unicode 9.0.0
25,
1046,
1073,
@@ -395,7 +395,8 @@ const int catRanges[] = {
28483,
28513,
28625,
-28669,
+28640,
+28701,
28820,
28864,
28913,
@@ -639,7 +640,15 @@ const int catRanges[] = {
42145,
42176,
42209,
-42269,
+42240,
+42273,
+42304,
+42337,
+42368,
+42401,
+42432,
+42465,
+42525,
42528,
43773,
43811,
@@ -650,6 +659,7 @@ const int catRanges[] = {
45361,
45388,
45437,
+45493,
45555,
45597,
45605,
@@ -668,7 +678,6 @@ const int catRanges[] = {
48753,
48829,
49178,
-49341,
49362,
49457,
49523,
@@ -676,7 +685,8 @@ const int catRanges[] = {
49621,
49669,
50033,
-50077,
+50074,
+50109,
50129,
50180,
51203,
@@ -739,12 +749,12 @@ const int catRanges[] = {
68561,
68605,
70660,
-70717,
-70724,
-71101,
-72837,
-73725,
-73733,
+71357,
+71364,
+71645,
+72325,
+72794,
+72805,
73830,
73860,
75589,
@@ -765,9 +775,6 @@ const int catRanges[] = {
77329,
77347,
77380,
-77597,
-77604,
-77853,
77861,
77894,
77981,
@@ -880,6 +887,8 @@ const int catRanges[] = {
89617,
89651,
89693,
+89892,
+89949,
90149,
90182,
90269,
@@ -960,6 +969,7 @@ const int catRanges[] = {
98099,
98133,
98173,
+98309,
98342,
98461,
98468,
@@ -969,8 +979,6 @@ const int catRanges[] = {
98884,
99645,
99652,
-99997,
-100004,
100189,
100260,
100293,
@@ -983,7 +991,7 @@ const int catRanges[] = {
101029,
101117,
101124,
-101213,
+101245,
101380,
101445,
101533,
@@ -991,7 +999,8 @@ const int catRanges[] = {
101917,
102154,
102389,
-102429,
+102404,
+102437,
102470,
102557,
102564,
@@ -1027,6 +1036,7 @@ const int catRanges[] = {
106013,
106020,
106109,
+106533,
106566,
106653,
106660,
@@ -1044,15 +1054,16 @@ const int catRanges[] = {
108870,
108965,
108996,
-109053,
+109045,
+109085,
+109188,
109286,
-109341,
-109572,
+109322,
+109540,
109637,
109725,
109768,
110090,
-110301,
110389,
110404,
110621,
@@ -1077,6 +1088,8 @@ const int catRanges[] = {
113405,
113414,
113693,
+113864,
+114205,
114246,
114321,
114365,
@@ -1260,8 +1273,10 @@ const int catRanges[] = {
159748,
160277,
160605,
-160772,
-163517,
+160768,
+163549,
+163585,
+163805,
163852,
163876,
183729,
@@ -1274,7 +1289,8 @@ const int catRanges[] = {
185348,
187761,
187849,
-187965,
+187940,
+188221,
188420,
188861,
188868,
@@ -1316,7 +1332,7 @@ const int catRanges[] = {
196812,
196849,
196965,
-197078,
+197082,
197117,
197128,
197469,
@@ -1325,13 +1341,15 @@ const int catRanges[] = {
198788,
200477,
200708,
+200869,
+200932,
202021,
202052,
202109,
202244,
204509,
204804,
-205757,
+205821,
205829,
205926,
206053,
@@ -1352,9 +1370,7 @@ const int catRanges[] = {
208573,
208900,
210333,
-210438,
-210980,
-211206,
+210436,
211293,
211464,
211786,
@@ -1363,6 +1379,7 @@ const int catRanges[] = {
212996,
213733,
213798,
+213861,
213917,
213969,
214020,
@@ -1388,6 +1405,9 @@ const int catRanges[] = {
218339,
218385,
218589,
+218629,
+219079,
+219133,
221189,
221318,
221348,
@@ -1416,7 +1436,6 @@ const int catRanges[] = {
226565,
226630,
226661,
-226694,
226756,
226824,
227140,
@@ -1444,7 +1463,8 @@ const int catRanges[] = {
232260,
233219,
233425,
-233501,
+233473,
+233789,
235537,
235805,
236037,
@@ -1459,6 +1479,8 @@ const int catRanges[] = {
237189,
237220,
237309,
+237317,
+237405,
237569,
238979,
240993,
@@ -1466,8 +1488,8 @@ const int catRanges[] = {
241441,
242531,
243717,
-244989,
-245637,
+245469,
+245605,
245760,
245793,
245824,
@@ -1812,7 +1834,7 @@ const int catRanges[] = {
265206,
265242,
265405,
-265562,
+265434,
265738,
265763,
265821,
@@ -1829,7 +1851,7 @@ const int catRanges[] = {
266755,
267197,
267283,
-268125,
+268285,
268805,
269223,
269349,
@@ -1882,7 +1904,8 @@ const int catRanges[] = {
274561,
274601,
274730,
-274781,
+274773,
+274845,
274962,
275125,
275282,
@@ -1903,7 +1926,10 @@ const int catRanges[] = {
277173,
278162,
286741,
-286994,
+286989,
+287022,
+287053,
+287086,
287125,
287762,
287829,
@@ -1916,7 +1942,7 @@ const int catRanges[] = {
292501,
293778,
293973,
-294557,
+294909,
294933,
296189,
296981,
@@ -1933,8 +1959,6 @@ const int catRanges[] = {
311317,
314866,
314901,
-319517,
-319541,
322829,
322862,
322893,
@@ -2003,9 +2027,18 @@ const int catRanges[] = {
353810,
354485,
354546,
-354749,
-354837,
-355165,
+354741,
+355997,
+356053,
+357085,
+357141,
+358237,
+358325,
+358717,
+358741,
+359005,
+359829,
+359965,
360448,
361981,
361985,
@@ -2203,7 +2236,12 @@ const int catRanges[] = {
378339,
378385,
378700,
-378781,
+378769,
+378892,
+378929,
+378957,
+378993,
+379069,
380949,
381789,
381813,
@@ -2295,7 +2333,7 @@ const int catRanges[] = {
636637,
636949,
638980,
-1309117,
+1309405,
1310724,
1311395,
1311428,
@@ -2389,8 +2427,12 @@ const int catRanges[] = {
1364641,
1364672,
1364705,
-1364765,
-1364965,
+1364736,
+1364769,
+1364800,
+1364833,
+1364867,
+1364933,
1364996,
1367241,
1367557,
@@ -2497,12 +2539,21 @@ const int catRanges[] = {
1372545,
1372576,
1372609,
-1372669,
+1372644,
1372672,
1372705,
1372736,
1372769,
-1372829,
+1372864,
+1372897,
+1372928,
+1372961,
+1372992,
+1373025,
+1373056,
+1373089,
+1373120,
+1373153,
1373184,
1373217,
1373248,
@@ -2514,7 +2565,13 @@ const int catRanges[] = {
1373440,
1373473,
1373504,
-1373565,
+1373693,
+1373696,
+1373857,
+1373888,
+1373921,
+1373981,
+1375972,
1376003,
1376065,
1376100,
@@ -2541,7 +2598,7 @@ const int catRanges[] = {
1380420,
1382022,
1382533,
-1382589,
+1382621,
1382865,
1382920,
1383261,
@@ -2549,7 +2606,9 @@ const int catRanges[] = {
1384004,
1384209,
1384292,
-1384349,
+1384337,
+1384356,
+1384413,
1384456,
1384772,
1385669,
@@ -2576,7 +2635,13 @@ const int catRanges[] = {
1391112,
1391453,
1391569,
-1391645,
+1391620,
+1391781,
+1391811,
+1391844,
+1392136,
+1392452,
+1392637,
1392644,
1393957,
1394150,
@@ -2599,8 +2664,9 @@ const int catRanges[] = {
1396469,
1396548,
1396582,
-1396637,
-1396740,
+1396613,
+1396646,
+1396676,
1398277,
1398308,
1398341,
@@ -2635,6 +2701,12 @@ const int catRanges[] = {
1402109,
1402116,
1402365,
+1402369,
+1403764,
+1403779,
+1403905,
+1404125,
+1404417,
1406980,
1408102,
1408165,
@@ -2681,8 +2753,8 @@ const int catRanges[] = {
2061908,
2062429,
2062948,
-2074573,
-2074606,
+2074574,
+2074605,
2074653,
2075140,
2077213,
@@ -2699,7 +2771,6 @@ const int catRanges[] = {
2081585,
2081629,
2081797,
-2082045,
2082321,
2082348,
2082411,
@@ -2831,9 +2902,12 @@ const int catRanges[] = {
2109098,
2109237,
2109770,
-2109821,
+2109845,
+2109949,
2109973,
2110365,
+2110485,
+2110525,
2112021,
2113445,
2113501,
@@ -2841,8 +2915,10 @@ const int catRanges[] = {
2118589,
2118660,
2120253,
+2120709,
+2120746,
+2121629,
2121732,
-2122749,
2122762,
2122909,
2123268,
@@ -2850,6 +2926,9 @@ const int catRanges[] = {
2123844,
2124105,
2124157,
+2124292,
+2125509,
+2125693,
2125828,
2126813,
2126833,
@@ -2865,6 +2944,22 @@ const int catRanges[] = {
2135005,
2135048,
2135389,
+2135552,
+2136733,
+2136833,
+2138013,
+2138116,
+2139421,
+2139652,
+2141341,
+2141681,
+2141725,
+2146308,
+2156285,
+2156548,
+2157277,
+2157572,
+2157853,
2162692,
2162909,
2162948,
@@ -2879,7 +2974,18 @@ const int catRanges[] = {
2165469,
2165489,
2165514,
-2165789,
+2165764,
+2166517,
+2166570,
+2166788,
+2167805,
+2168042,
+2168349,
+2169860,
+2170493,
+2170500,
+2170589,
+2170730,
2170884,
2171594,
2171805,
@@ -2890,8 +2996,11 @@ const int catRanges[] = {
2172957,
2174980,
2176797,
+2176906,
2176964,
-2177053,
+2177034,
+2177565,
+2177610,
2179076,
2179109,
2179229,
@@ -2914,7 +3023,17 @@ const int catRanges[] = {
2182148,
2183082,
2183153,
-2183197,
+2183172,
+2184106,
+2184221,
+2185220,
+2185493,
+2185508,
+2186405,
+2186493,
+2186602,
+2186769,
+2187005,
2187268,
2189021,
2189105,
@@ -2924,9 +3043,20 @@ const int catRanges[] = {
2190340,
2190973,
2191114,
-2191389,
+2191364,
+2191965,
+2192177,
+2192317,
+2192682,
+2192925,
2195460,
2197821,
+2199552,
+2201213,
+2201601,
+2203261,
+2203466,
+2203677,
2214922,
2215933,
2228230,
@@ -2939,7 +3069,7 @@ const int catRanges[] = {
2230858,
2231496,
2231837,
-2232325,
+2232293,
2232390,
2232420,
2233862,
@@ -2963,6 +3093,11 @@ const int catRanges[] = {
2238152,
2238481,
2238621,
+2238980,
+2240101,
+2240145,
+2240196,
+2240253,
2240517,
2240582,
2240612,
@@ -2971,9 +3106,139 @@ const int catRanges[] = {
2242534,
2242596,
2242737,
-2242877,
+2242885,
+2242993,
+2243037,
2243080,
-2243421,
+2243396,
+2243441,
+2243460,
+2243505,
+2243613,
+2243626,
+2244285,
+2244612,
+2245213,
+2245220,
+2246022,
+2246117,
+2246214,
+2246277,
+2246310,
+2246341,
+2246417,
+2246597,
+2246653,
+2248708,
+2248957,
+2248964,
+2249021,
+2249028,
+2249181,
+2249188,
+2249693,
+2249700,
+2250033,
+2250077,
+2250244,
+2251749,
+2251782,
+2251877,
+2252157,
+2252296,
+2252637,
+2252805,
+2252870,
+2252957,
+2252964,
+2253245,
+2253284,
+2253373,
+2253412,
+2254141,
+2254148,
+2254397,
+2254404,
+2254493,
+2254500,
+2254685,
+2254725,
+2254756,
+2254790,
+2254853,
+2254886,
+2255037,
+2255078,
+2255165,
+2255206,
+2255325,
+2255364,
+2255421,
+2255590,
+2255645,
+2255780,
+2255942,
+2256029,
+2256069,
+2256317,
+2256389,
+2256573,
+2260996,
+2262694,
+2262789,
+2263046,
+2263109,
+2263206,
+2263237,
+2263268,
+2263409,
+2263560,
+2263901,
+2263921,
+2263965,
+2263985,
+2264029,
+2265092,
+2266630,
+2266725,
+2266918,
+2266949,
+2266982,
+2267109,
+2267174,
+2267205,
+2267268,
+2267345,
+2267364,
+2267421,
+2267656,
+2267997,
+2273284,
+2274790,
+2274885,
+2275037,
+2275078,
+2275205,
+2275270,
+2275301,
+2275377,
+2276100,
+2276229,
+2276317,
+2277380,
+2278918,
+2279013,
+2279270,
+2279333,
+2279366,
+2279397,
+2279473,
+2279556,
+2279613,
+2279944,
+2280285,
+2280465,
+2280893,
2281476,
2282853,
2282886,
@@ -2985,16 +3250,96 @@ const int catRanges[] = {
2283293,
2283528,
2283869,
+2285572,
+2286429,
+2286501,
+2286598,
+2286661,
+2286790,
+2286821,
+2287005,
+2287112,
+2287434,
+2287505,
+2287605,
+2287645,
+2298880,
+2299905,
+2300936,
+2301258,
+2301565,
+2301924,
+2301981,
+2316292,
+2318141,
+2326532,
+2326845,
+2326852,
+2328038,
+2328069,
+2328317,
+2328325,
+2328518,
+2328549,
+2328580,
+2328625,
+2328797,
+2329096,
+2329418,
+2330045,
+2330129,
+2330180,
+2331165,
+2331205,
+2331933,
+2331942,
+2331973,
+2332198,
+2332229,
+2332294,
+2332325,
+2332413,
2359300,
-2387453,
+2388829,
2392073,
-2395261,
+2395645,
2395665,
-2395805,
+2395837,
+2396164,
+2402461,
2490372,
2524669,
+2654212,
+2672893,
2949124,
2967357,
+2967556,
+2968573,
+2968584,
+2968925,
+2969041,
+2969117,
+2972164,
+2973149,
+2973189,
+2973361,
+2973405,
+2973700,
+2975237,
+2975473,
+2975637,
+2975747,
+2975889,
+2975925,
+2975965,
+2976264,
+2976605,
+2976618,
+2976861,
+2976868,
+2977565,
+2977700,
+2978333,
3006468,
3008701,
3009028,
@@ -3003,8 +3348,27 @@ const int catRanges[] = {
3011045,
3011171,
3011613,
+3013635,
+3013693,
+3014660,
+3210685,
+3211268,
+3235453,
3538948,
3539037,
+3637252,
+3640701,
+3640836,
+3641277,
+3641348,
+3641661,
+3641860,
+3642205,
+3642261,
+3642277,
+3642353,
+3642394,
+3642525,
3801109,
3808989,
3809301,
@@ -3021,7 +3385,7 @@ const int catRanges[] = {
3813781,
3814725,
3814869,
-3816413,
+3816765,
3817493,
3819589,
3819701,
@@ -3120,7 +3484,44 @@ const int catRanges[] = {
3864929,
3864989,
3865032,
-3866653,
+3866645,
+3883013,
+3884789,
+3884901,
+3886517,
+3886757,
+3886805,
+3887237,
+3887285,
+3887345,
+3887517,
+3887973,
+3888157,
+3888165,
+3888669,
+3932165,
+3932413,
+3932421,
+3932989,
+3933029,
+3933277,
+3933285,
+3933373,
+3933381,
+3933565,
+3997700,
+4004029,
+4004074,
+4004357,
+4004605,
+4005888,
+4006977,
+4008069,
+4008317,
+4008456,
+4008797,
+4008913,
+4008989,
4046852,
4047005,
4047012,
@@ -3196,69 +3597,73 @@ const int catRanges[] = {
4068373,
4068861,
4068917,
-4069373,
+4069405,
4069429,
4069917,
4069941,
-4070429,
+4071133,
4071434,
-4071805,
+4071869,
4071957,
4072957,
4072981,
4074909,
4075029,
-4076413,
+4076989,
4078805,
4079741,
4080149,
-4081533,
+4081565,
4081685,
4081981,
4082197,
4082269,
4087829,
-4088893,
-4089365,
-4089565,
-4089589,
-4091837,
-4091925,
-4092573,
-4092949,
-4094141,
-4094165,
-4094333,
-4094997,
-4095549,
+4095860,
4096021,
-4098045,
-4098069,
-4098109,
-4098133,
-4103965,
-4103989,
-4104125,
-4104213,
-4106205,
-4106261,
-4106397,
-4106773,
-4107549,
-4112245,
-4114493,
-4114613,
-4114973,
-4116501,
-4118749,
+4119165,
+4119573,
+4119997,
+4120085,
+4120317,
4120597,
4124317,
+4124693,
+4127421,
+4128789,
+4129181,
+4129301,
+4131101,
+4131349,
+4131677,
+4131861,
+4133149,
+4133397,
+4134365,
+4137493,
+4137981,
+4138005,
+4138269,
+4138517,
+4138557,
+4138613,
+4139005,
+4139029,
+4139421,
+4139541,
+4140029,
+4141077,
+4141661,
+4143125,
+4143165,
4194308,
5561085,
5562372,
5695165,
5695492,
5702621,
+5702660,
+5887069,
6225924,
6243293,
29360186,
diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx
index d4b351783..c39d42840 100644
--- a/src/CaseConvert.cxx
+++ b/src/CaseConvert.cxx
@@ -56,7 +56,7 @@ int symmetricCaseConversionRanges[] = {
1121,1120,17,2,
1163,1162,27,2,
1218,1217,7,2,
-1233,1232,44,2,
+1233,1232,48,2,
1377,1329,38,1,
7681,7680,75,2,
7841,7840,48,2,
@@ -72,13 +72,17 @@ int symmetricCaseConversionRanges[] = {
11393,11392,50,2,
11520,4256,38,1,
42561,42560,23,2,
-42625,42624,12,2,
+42625,42624,14,2,
42787,42786,7,2,
42803,42802,31,2,
42879,42878,5,2,
-42913,42912,5,2,
+42903,42902,10,2,
65345,65313,26,1,
66600,66560,40,1,
+66776,66736,36,1,
+68800,68736,51,1,
+71872,71840,32,1,
+125218,125184,34,1,
//--Autogenerated -- end of section automatically generated
};
@@ -137,13 +141,17 @@ int symmetricCaseConversions[] = {
599,394,
601,399,
603,400,
+604,42923,
608,403,
+609,42924,
611,404,
613,42893,
614,42922,
616,407,
617,406,
+618,42926,
619,11362,
+620,42925,
623,412,
625,11374,
626,413,
@@ -151,12 +159,15 @@ int symmetricCaseConversions[] = {
637,11364,
640,422,
643,425,
+647,42929,
648,430,
649,580,
650,433,
651,434,
652,581,
658,439,
+669,42930,
+670,42928,
881,880,
883,882,
887,886,
@@ -172,6 +183,7 @@ int symmetricCaseConversions[] = {
974,911,
983,975,
1010,1017,
+1011,895,
1016,1015,
1019,1018,
1231,1216,
@@ -222,6 +234,9 @@ int symmetricCaseConversions[] = {
42892,42891,
42897,42896,
42899,42898,
+42933,42932,
+42935,42934,
+43859,42931,
//--Autogenerated -- end of section automatically generated
};
@@ -259,6 +274,107 @@ const char *complexCaseConversions =
"\xcf\xb4|\xce\xb8||\xce\xb8|"
"\xcf\xb5|\xce\xb5|\xce\x95||"
"\xd6\x87|\xd5\xa5\xd6\x82|\xd4\xb5\xd5\x92||"
+"\xe1\x8e\xa0|||\xea\xad\xb0|"
+"\xe1\x8e\xa1|||\xea\xad\xb1|"
+"\xe1\x8e\xa2|||\xea\xad\xb2|"
+"\xe1\x8e\xa3|||\xea\xad\xb3|"
+"\xe1\x8e\xa4|||\xea\xad\xb4|"
+"\xe1\x8e\xa5|||\xea\xad\xb5|"
+"\xe1\x8e\xa6|||\xea\xad\xb6|"
+"\xe1\x8e\xa7|||\xea\xad\xb7|"
+"\xe1\x8e\xa8|||\xea\xad\xb8|"
+"\xe1\x8e\xa9|||\xea\xad\xb9|"
+"\xe1\x8e\xaa|||\xea\xad\xba|"
+"\xe1\x8e\xab|||\xea\xad\xbb|"
+"\xe1\x8e\xac|||\xea\xad\xbc|"
+"\xe1\x8e\xad|||\xea\xad\xbd|"
+"\xe1\x8e\xae|||\xea\xad\xbe|"
+"\xe1\x8e\xaf|||\xea\xad\xbf|"
+"\xe1\x8e\xb0|||\xea\xae\x80|"
+"\xe1\x8e\xb1|||\xea\xae\x81|"
+"\xe1\x8e\xb2|||\xea\xae\x82|"
+"\xe1\x8e\xb3|||\xea\xae\x83|"
+"\xe1\x8e\xb4|||\xea\xae\x84|"
+"\xe1\x8e\xb5|||\xea\xae\x85|"
+"\xe1\x8e\xb6|||\xea\xae\x86|"
+"\xe1\x8e\xb7|||\xea\xae\x87|"
+"\xe1\x8e\xb8|||\xea\xae\x88|"
+"\xe1\x8e\xb9|||\xea\xae\x89|"
+"\xe1\x8e\xba|||\xea\xae\x8a|"
+"\xe1\x8e\xbb|||\xea\xae\x8b|"
+"\xe1\x8e\xbc|||\xea\xae\x8c|"
+"\xe1\x8e\xbd|||\xea\xae\x8d|"
+"\xe1\x8e\xbe|||\xea\xae\x8e|"
+"\xe1\x8e\xbf|||\xea\xae\x8f|"
+"\xe1\x8f\x80|||\xea\xae\x90|"
+"\xe1\x8f\x81|||\xea\xae\x91|"
+"\xe1\x8f\x82|||\xea\xae\x92|"
+"\xe1\x8f\x83|||\xea\xae\x93|"
+"\xe1\x8f\x84|||\xea\xae\x94|"
+"\xe1\x8f\x85|||\xea\xae\x95|"
+"\xe1\x8f\x86|||\xea\xae\x96|"
+"\xe1\x8f\x87|||\xea\xae\x97|"
+"\xe1\x8f\x88|||\xea\xae\x98|"
+"\xe1\x8f\x89|||\xea\xae\x99|"
+"\xe1\x8f\x8a|||\xea\xae\x9a|"
+"\xe1\x8f\x8b|||\xea\xae\x9b|"
+"\xe1\x8f\x8c|||\xea\xae\x9c|"
+"\xe1\x8f\x8d|||\xea\xae\x9d|"
+"\xe1\x8f\x8e|||\xea\xae\x9e|"
+"\xe1\x8f\x8f|||\xea\xae\x9f|"
+"\xe1\x8f\x90|||\xea\xae\xa0|"
+"\xe1\x8f\x91|||\xea\xae\xa1|"
+"\xe1\x8f\x92|||\xea\xae\xa2|"
+"\xe1\x8f\x93|||\xea\xae\xa3|"
+"\xe1\x8f\x94|||\xea\xae\xa4|"
+"\xe1\x8f\x95|||\xea\xae\xa5|"
+"\xe1\x8f\x96|||\xea\xae\xa6|"
+"\xe1\x8f\x97|||\xea\xae\xa7|"
+"\xe1\x8f\x98|||\xea\xae\xa8|"
+"\xe1\x8f\x99|||\xea\xae\xa9|"
+"\xe1\x8f\x9a|||\xea\xae\xaa|"
+"\xe1\x8f\x9b|||\xea\xae\xab|"
+"\xe1\x8f\x9c|||\xea\xae\xac|"
+"\xe1\x8f\x9d|||\xea\xae\xad|"
+"\xe1\x8f\x9e|||\xea\xae\xae|"
+"\xe1\x8f\x9f|||\xea\xae\xaf|"
+"\xe1\x8f\xa0|||\xea\xae\xb0|"
+"\xe1\x8f\xa1|||\xea\xae\xb1|"
+"\xe1\x8f\xa2|||\xea\xae\xb2|"
+"\xe1\x8f\xa3|||\xea\xae\xb3|"
+"\xe1\x8f\xa4|||\xea\xae\xb4|"
+"\xe1\x8f\xa5|||\xea\xae\xb5|"
+"\xe1\x8f\xa6|||\xea\xae\xb6|"
+"\xe1\x8f\xa7|||\xea\xae\xb7|"
+"\xe1\x8f\xa8|||\xea\xae\xb8|"
+"\xe1\x8f\xa9|||\xea\xae\xb9|"
+"\xe1\x8f\xaa|||\xea\xae\xba|"
+"\xe1\x8f\xab|||\xea\xae\xbb|"
+"\xe1\x8f\xac|||\xea\xae\xbc|"
+"\xe1\x8f\xad|||\xea\xae\xbd|"
+"\xe1\x8f\xae|||\xea\xae\xbe|"
+"\xe1\x8f\xaf|||\xea\xae\xbf|"
+"\xe1\x8f\xb0|||\xe1\x8f\xb8|"
+"\xe1\x8f\xb1|||\xe1\x8f\xb9|"
+"\xe1\x8f\xb2|||\xe1\x8f\xba|"
+"\xe1\x8f\xb3|||\xe1\x8f\xbb|"
+"\xe1\x8f\xb4|||\xe1\x8f\xbc|"
+"\xe1\x8f\xb5|||\xe1\x8f\xbd|"
+"\xe1\x8f\xb8|\xe1\x8f\xb0|\xe1\x8f\xb0||"
+"\xe1\x8f\xb9|\xe1\x8f\xb1|\xe1\x8f\xb1||"
+"\xe1\x8f\xba|\xe1\x8f\xb2|\xe1\x8f\xb2||"
+"\xe1\x8f\xbb|\xe1\x8f\xb3|\xe1\x8f\xb3||"
+"\xe1\x8f\xbc|\xe1\x8f\xb4|\xe1\x8f\xb4||"
+"\xe1\x8f\xbd|\xe1\x8f\xb5|\xe1\x8f\xb5||"
+"\xe1\xb2\x80|\xd0\xb2|\xd0\x92||"
+"\xe1\xb2\x81|\xd0\xb4|\xd0\x94||"
+"\xe1\xb2\x82|\xd0\xbe|\xd0\x9e||"
+"\xe1\xb2\x83|\xd1\x81|\xd0\xa1||"
+"\xe1\xb2\x84|\xd1\x82|\xd0\xa2||"
+"\xe1\xb2\x85|\xd1\x82|\xd0\xa2||"
+"\xe1\xb2\x86|\xd1\x8a|\xd0\xaa||"
+"\xe1\xb2\x87|\xd1\xa3|\xd1\xa2||"
+"\xe1\xb2\x88|\xea\x99\x8b|\xea\x99\x8a||"
"\xe1\xba\x96|h\xcc\xb1|H\xcc\xb1||"
"\xe1\xba\x97|t\xcc\x88|T\xcc\x88||"
"\xe1\xba\x98|w\xcc\x8a|W\xcc\x8a||"
@@ -349,6 +465,86 @@ const char *complexCaseConversions =
"\xe2\x84\xa6|\xcf\x89||\xcf\x89|"
"\xe2\x84\xaa|k||k|"
"\xe2\x84\xab|\xc3\xa5||\xc3\xa5|"
+"\xea\xad\xb0|\xe1\x8e\xa0|\xe1\x8e\xa0||"
+"\xea\xad\xb1|\xe1\x8e\xa1|\xe1\x8e\xa1||"
+"\xea\xad\xb2|\xe1\x8e\xa2|\xe1\x8e\xa2||"
+"\xea\xad\xb3|\xe1\x8e\xa3|\xe1\x8e\xa3||"
+"\xea\xad\xb4|\xe1\x8e\xa4|\xe1\x8e\xa4||"
+"\xea\xad\xb5|\xe1\x8e\xa5|\xe1\x8e\xa5||"
+"\xea\xad\xb6|\xe1\x8e\xa6|\xe1\x8e\xa6||"
+"\xea\xad\xb7|\xe1\x8e\xa7|\xe1\x8e\xa7||"
+"\xea\xad\xb8|\xe1\x8e\xa8|\xe1\x8e\xa8||"
+"\xea\xad\xb9|\xe1\x8e\xa9|\xe1\x8e\xa9||"
+"\xea\xad\xba|\xe1\x8e\xaa|\xe1\x8e\xaa||"
+"\xea\xad\xbb|\xe1\x8e\xab|\xe1\x8e\xab||"
+"\xea\xad\xbc|\xe1\x8e\xac|\xe1\x8e\xac||"
+"\xea\xad\xbd|\xe1\x8e\xad|\xe1\x8e\xad||"
+"\xea\xad\xbe|\xe1\x8e\xae|\xe1\x8e\xae||"
+"\xea\xad\xbf|\xe1\x8e\xaf|\xe1\x8e\xaf||"
+"\xea\xae\x80|\xe1\x8e\xb0|\xe1\x8e\xb0||"
+"\xea\xae\x81|\xe1\x8e\xb1|\xe1\x8e\xb1||"
+"\xea\xae\x82|\xe1\x8e\xb2|\xe1\x8e\xb2||"
+"\xea\xae\x83|\xe1\x8e\xb3|\xe1\x8e\xb3||"
+"\xea\xae\x84|\xe1\x8e\xb4|\xe1\x8e\xb4||"
+"\xea\xae\x85|\xe1\x8e\xb5|\xe1\x8e\xb5||"
+"\xea\xae\x86|\xe1\x8e\xb6|\xe1\x8e\xb6||"
+"\xea\xae\x87|\xe1\x8e\xb7|\xe1\x8e\xb7||"
+"\xea\xae\x88|\xe1\x8e\xb8|\xe1\x8e\xb8||"
+"\xea\xae\x89|\xe1\x8e\xb9|\xe1\x8e\xb9||"
+"\xea\xae\x8a|\xe1\x8e\xba|\xe1\x8e\xba||"
+"\xea\xae\x8b|\xe1\x8e\xbb|\xe1\x8e\xbb||"
+"\xea\xae\x8c|\xe1\x8e\xbc|\xe1\x8e\xbc||"
+"\xea\xae\x8d|\xe1\x8e\xbd|\xe1\x8e\xbd||"
+"\xea\xae\x8e|\xe1\x8e\xbe|\xe1\x8e\xbe||"
+"\xea\xae\x8f|\xe1\x8e\xbf|\xe1\x8e\xbf||"
+"\xea\xae\x90|\xe1\x8f\x80|\xe1\x8f\x80||"
+"\xea\xae\x91|\xe1\x8f\x81|\xe1\x8f\x81||"
+"\xea\xae\x92|\xe1\x8f\x82|\xe1\x8f\x82||"
+"\xea\xae\x93|\xe1\x8f\x83|\xe1\x8f\x83||"
+"\xea\xae\x94|\xe1\x8f\x84|\xe1\x8f\x84||"
+"\xea\xae\x95|\xe1\x8f\x85|\xe1\x8f\x85||"
+"\xea\xae\x96|\xe1\x8f\x86|\xe1\x8f\x86||"
+"\xea\xae\x97|\xe1\x8f\x87|\xe1\x8f\x87||"
+"\xea\xae\x98|\xe1\x8f\x88|\xe1\x8f\x88||"
+"\xea\xae\x99|\xe1\x8f\x89|\xe1\x8f\x89||"
+"\xea\xae\x9a|\xe1\x8f\x8a|\xe1\x8f\x8a||"
+"\xea\xae\x9b|\xe1\x8f\x8b|\xe1\x8f\x8b||"
+"\xea\xae\x9c|\xe1\x8f\x8c|\xe1\x8f\x8c||"
+"\xea\xae\x9d|\xe1\x8f\x8d|\xe1\x8f\x8d||"
+"\xea\xae\x9e|\xe1\x8f\x8e|\xe1\x8f\x8e||"
+"\xea\xae\x9f|\xe1\x8f\x8f|\xe1\x8f\x8f||"
+"\xea\xae\xa0|\xe1\x8f\x90|\xe1\x8f\x90||"
+"\xea\xae\xa1|\xe1\x8f\x91|\xe1\x8f\x91||"
+"\xea\xae\xa2|\xe1\x8f\x92|\xe1\x8f\x92||"
+"\xea\xae\xa3|\xe1\x8f\x93|\xe1\x8f\x93||"
+"\xea\xae\xa4|\xe1\x8f\x94|\xe1\x8f\x94||"
+"\xea\xae\xa5|\xe1\x8f\x95|\xe1\x8f\x95||"
+"\xea\xae\xa6|\xe1\x8f\x96|\xe1\x8f\x96||"
+"\xea\xae\xa7|\xe1\x8f\x97|\xe1\x8f\x97||"
+"\xea\xae\xa8|\xe1\x8f\x98|\xe1\x8f\x98||"
+"\xea\xae\xa9|\xe1\x8f\x99|\xe1\x8f\x99||"
+"\xea\xae\xaa|\xe1\x8f\x9a|\xe1\x8f\x9a||"
+"\xea\xae\xab|\xe1\x8f\x9b|\xe1\x8f\x9b||"
+"\xea\xae\xac|\xe1\x8f\x9c|\xe1\x8f\x9c||"
+"\xea\xae\xad|\xe1\x8f\x9d|\xe1\x8f\x9d||"
+"\xea\xae\xae|\xe1\x8f\x9e|\xe1\x8f\x9e||"
+"\xea\xae\xaf|\xe1\x8f\x9f|\xe1\x8f\x9f||"
+"\xea\xae\xb0|\xe1\x8f\xa0|\xe1\x8f\xa0||"
+"\xea\xae\xb1|\xe1\x8f\xa1|\xe1\x8f\xa1||"
+"\xea\xae\xb2|\xe1\x8f\xa2|\xe1\x8f\xa2||"
+"\xea\xae\xb3|\xe1\x8f\xa3|\xe1\x8f\xa3||"
+"\xea\xae\xb4|\xe1\x8f\xa4|\xe1\x8f\xa4||"
+"\xea\xae\xb5|\xe1\x8f\xa5|\xe1\x8f\xa5||"
+"\xea\xae\xb6|\xe1\x8f\xa6|\xe1\x8f\xa6||"
+"\xea\xae\xb7|\xe1\x8f\xa7|\xe1\x8f\xa7||"
+"\xea\xae\xb8|\xe1\x8f\xa8|\xe1\x8f\xa8||"
+"\xea\xae\xb9|\xe1\x8f\xa9|\xe1\x8f\xa9||"
+"\xea\xae\xba|\xe1\x8f\xaa|\xe1\x8f\xaa||"
+"\xea\xae\xbb|\xe1\x8f\xab|\xe1\x8f\xab||"
+"\xea\xae\xbc|\xe1\x8f\xac|\xe1\x8f\xac||"
+"\xea\xae\xbd|\xe1\x8f\xad|\xe1\x8f\xad||"
+"\xea\xae\xbe|\xe1\x8f\xae|\xe1\x8f\xae||"
+"\xea\xae\xbf|\xe1\x8f\xaf|\xe1\x8f\xaf||"
"\xef\xac\x80|ff|FF||"
"\xef\xac\x81|fi|FI||"
"\xef\xac\x82|fl|FL||"