source: icGREP/icgrep-devel/icgrep/UCD/SpecialCasing.h @ 5673

Last change on this file since 5673 was 5673, checked in by cameron, 21 months ago

Case folding property objects

File size: 9.8 KB
Line 
1#ifndef SPECIALCASING_H
2#define SPECIALCASING_H
3/*
4 *  Copyright (c) 2017 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "UnicodeData.h"
15#include "unicode_set.h"
16
17namespace UCD {
18    namespace LC_ns {
19        /** Code Point Ranges for lc (possibly overriding values from SLC)
20        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
21        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
22        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
23        [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7], [1fbc, 1fbc],
24        [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc], [1fd2, 1fd3],
25        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
26        [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06], [fb13, fb17]**/
27
28        const UnicodeSet explicitly_defined_set
29                    {{{Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
30              {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
31              {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
32              {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1},
33              {Empty, 32807}},
34             {0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
35              0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x10dcffff,
36              0x00cc10dc, 0x10dc00dc, 0x00f8007f}};
37
38        const unsigned buffer_length = 406;
39        const static char __attribute__ ((aligned (32))) string_buffer[512] = u8R"__(ß
40i̇
41ʼn
42Ç°
43ΐ
44ΰ
45և
46ẖ
47ẗ
48ẘ
49ẙ
50ẚ
51ᜐ
52ᜒ
53᜔
54᜖
55ៀ
56េ
57ែ
58ៃ
59ោ
60ៅ
61ំ
62ះ
63ៀ
64េ
65ែ
66ៃ
67ោ
68ៅ
69ំ
70ះ
71័
72៑
73្
74៓
75។
76៕
77៖
78ៗ
79័
80៑
81្
82៓
83។
84៕
85៖
86ៗ
87០
88១
89២
90៣
91ៀ
92៥
93៊
94៧
95០
96១
97២
98៣
99ៀ
100៥
101៊
102៧
103៲
104៳
105៎
106៶
107៷
108៳
109ῂ
110ῃ
111ῄ
112ῆ
113ῇ
114ῃ
115ῒ
116ΐ
117ῖ
118ῗ
119á¿¢
120á¿£
121á¿€
122á¿Š
123ῧ
124ῲ
125ῳ
126á¿Ž
127ῶ
128á¿·
129ῳ
130ff
131fi
132fl
133ffi
134ffl
135ſt
136st
137ﬓ
138ﬔ
139ﬕ
140ﬖ
141ﬗ
142)__";
143
144        const static std::vector<codepoint_t> defined_cps = {
145        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
146        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
147        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
148        0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
149        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
150        0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
151        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
152        0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
153        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2, 0x1fc3,
154        0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7,
155        0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4,
156        0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04,
157        0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
158        static StringOverridePropertyObject property_object(lc, 
159                                                    SLC_ns::property_object, 
160                                                    explicitly_defined_set, 
161                                                    static_cast<const char *>(string_buffer), 
162                                                    buffer_length, 
163                                                    defined_cps);
164    }
165    namespace UC_ns {
166        /** Code Point Ranges for uc (possibly overriding values from SUC)
167        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
168        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
169        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
170        [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7], [1fbc, 1fbc],
171        [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc], [1fd2, 1fd3],
172        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
173        [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06], [fb13, fb17]**/
174
175        const UnicodeSet explicitly_defined_set
176                    {{{Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
177              {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
178              {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
179              {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1},
180              {Empty, 32807}},
181             {0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
182              0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x10dcffff,
183              0x00cc10dc, 0x10dc00dc, 0x00f8007f}};
184
185        const unsigned buffer_length = 469;
186        const static char __attribute__ ((aligned (32))) string_buffer[512] = u8R"__(Ss
187Ä°
188ÊŒN
189J̌
190Ϊ́
191Ϋ́
192Եւ
193H̱
194T̈
195W̊
196Y̊
197AÊŸ
198Υ̓
199Υ̓̀
200Υ̓́
201Υ̓͂
202ៈ
203៉
204៊
205់
206៌
207៍
208៎
209៏
210ៈ
211៉
212៊
213់
214៌
215៍
216៎
217៏
218៘
219៙
220៚
221៛
222ៜ
223៝
224៞
225៟
226៘
227៙
228៚
229៛
230ៜ
231៝
232៞
233៟
234៚
235៩
236៪
237៫
238៬
239៭
240៮
241៯
242៚
243៩
244៪
245៫
246៬
247៭
248៮
249៯
250៺ͅ
251៌
252Άͅ
253Α͂
254ᾼ͂
255៌
256Ὴͅ
257ῌ
258Ήͅ
259Η͂
260ῌ͂
261ῌ
262Ϊ̀
263Ϊ́
264Ι͂
265Ϊ͂
266Ϋ̀
267Ϋ́
268Ρ̓
269Υ͂
270Ϋ͂
271Ὼͅ
272ῌ
273Ώͅ
274Ω͂
275ῼ͂
276ῌ
277Ff
278Fi
279Fl
280Ffi
281Ffl
282St
283St
284Մն
285Մե
286Մի
287Վն
288Մխ
289)__";
290
291        const static std::vector<codepoint_t> defined_cps = {
292        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
293        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
294        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
295        0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
296        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
297        0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
298        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
299        0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
300        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2, 0x1fc3,
301        0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7,
302        0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4,
303        0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04,
304        0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
305        static StringOverridePropertyObject property_object(uc, 
306                                                    SUC_ns::property_object, 
307                                                    explicitly_defined_set, 
308                                                    static_cast<const char *>(string_buffer), 
309                                                    buffer_length, 
310                                                    defined_cps);
311    }
312    namespace TC_ns {
313        /** Code Point Ranges for tc (possibly overriding values from STC)
314        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
315        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
316        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
317        [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7], [1fbc, 1fbc],
318        [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc], [1fd2, 1fd3],
319        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
320        [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06], [fb13, fb17]**/
321
322        const UnicodeSet explicitly_defined_set
323                    {{{Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
324              {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
325              {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
326              {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1},
327              {Empty, 32807}},
328             {0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
329              0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x10dcffff,
330              0x00cc10dc, 0x10dc00dc, 0x00f8007f}};
331
332        const unsigned buffer_length = 571;
333        const static char __attribute__ ((aligned (32))) string_buffer[768] = u8R"__(SS
334Ä°
335ÊŒN
336J̌
337Ϊ́
338Ϋ́
339ԵՒ
340H̱
341T̈
342W̊
343Y̊
344AÊŸ
345Υ̓
346Υ̓̀
347Υ̓́
348Υ̓͂
349ገΙ
350ጉΙ
351ጊΙ
352ጋΙ
353ጌΙ
354ግΙ
355ጎΙ
356ጏΙ
357ገΙ
358ጉΙ
359ጊΙ
360ጋΙ
361ጌΙ
362ግΙ
363ጎΙ
364ጏΙ
365ጚΙ
366ጩΙ
367ጪΙ
368ጫΙ
369ጬΙ
370ጭΙ
371ጮΙ
372ጯΙ
373ጚΙ
374ጩΙ
375ጪΙ
376ጫΙ
377ጬΙ
378ጭΙ
379ጮΙ
380ጯΙ
381᜚Ι
382ᜩΙ
383ᜪΙ
384ᜫΙ
385ᜬΙ
386ᜭΙ
387ᜮΙ
388ᜯΙ
389᜚Ι
390ᜩΙ
391ᜪΙ
392ᜫΙ
393ᜬΙ
394ᜭΙ
395ᜮΙ
396ᜯΙ
397៺Ι
398ΑΙ
399ΆΙ
400Α͂
401Α͂Ι
402ΑΙ
403ῊΙ
404ΗΙ
405ΉΙ
406Η͂
407Η͂Ι
408ΗΙ
409Ϊ̀
410Ϊ́
411Ι͂
412Ϊ͂
413Ϋ̀
414Ϋ́
415Ρ̓
416Υ͂
417Ϋ͂
418ῺΙ
419ΩΙ
420ΏΙ
421Ω͂
422Ω͂Ι
423ΩΙ
424FF
425FI
426FL
427FFI
428FFL
429ST
430ST
431ՄՆ
432ՄԵ
433ՄԻ
434ՎՆ
435ՄԜ
436)__";
437
438        const static std::vector<codepoint_t> defined_cps = {
439        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
440        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
441        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
442        0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f,
443        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
444        0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f,
445        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
446        0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf,
447        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2, 0x1fc3,
448        0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7,
449        0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4,
450        0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04,
451        0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
452        static StringOverridePropertyObject property_object(tc, 
453                                                    STC_ns::property_object, 
454                                                    explicitly_defined_set, 
455                                                    static_cast<const char *>(string_buffer), 
456                                                    buffer_length, 
457                                                    defined_cps);
458    }
459}
460
461
462#endif
Note: See TracBrowser for help on using the repository browser.