source: icGREP/icgrep-devel/icgrep/UCD/BidiMirroring.h @ 6134

Last change on this file since 6134 was 6134, checked in by cameron, 11 months ago

GetStringValue? method for string properties

File size: 11.2 KB
Line 
1#ifndef BIDIMIRRORING_H
2#define BIDIMIRRORING_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 "unicode_set.h"
15
16namespace UCD {
17    namespace BMG_ns {
18        /** Code Point Ranges for bmg mapping to <none>
19        [0000, 0027], [002a, 003b], [003d, 003d], [003f, 005a],
20        [005c, 005c], [005e, 007a], [007c, 007c], [007e, 00aa],
21        [00ac, 00ba], [00bc, 0f39], [0f3e, 169a], [169d, 2038],
22        [203b, 2044], [2047, 207c], [207f, 208c], [208f, 2207],
23        [220e, 2214], [2216, 223b], [223e, 2242], [2244, 2251],
24        [2256, 2263], [226c, 226d], [228c, 228e], [2293, 2297],
25        [2299, 22a1], [22a4, 22a5], [22a7, 22a7], [22aa, 22aa],
26        [22ac, 22af], [22b8, 22c8], [22ce, 22cf], [22d2, 22d5],
27        [22ee, 22ef], [22f5, 22f5], [22f8, 22f9], [22ff, 2307],
28        [230c, 2328], [232b, 2767], [2776, 27c2], [27c7, 27c7],
29        [27ca, 27ca], [27cc, 27cc], [27ce, 27d4], [27d7, 27dc],
30        [27df, 27e1], [27f0, 2982], [2999, 29b7], [29b9, 29bf],
31        [29c2, 29c3], [29c6, 29ce], [29d3, 29d3], [29d6, 29d7],
32        [29dc, 29f4], [29f6, 29f7], [29fa, 29fb], [29fe, 2a2a],
33        [2a2f, 2a33], [2a36, 2a3b], [2a3e, 2a63], [2a66, 2a78],
34        [2a7b, 2a7c], [2a85, 2a8a], [2a8d, 2a90], [2a9d, 2aa0],
35        [2aa3, 2aa5], [2aae, 2aae], [2ab1, 2ab2], [2ab5, 2aba],
36        [2ac7, 2acc], [2ad7, 2add], [2adf, 2ae2], [2ae6, 2aeb],
37        [2aee, 2af6], [2afb, 2e01], [2e06, 2e08], [2e0b, 2e0b],
38        [2e0e, 2e1b], [2e1e, 2e1f], [2e2a, 3007], [3012, 3013],
39        [301c, fe58], [fe5f, fe63], [fe66, ff07], [ff0a, ff1b],
40        [ff1d, ff1d], [ff1f, ff3a], [ff3c, ff3c], [ff3e, ff5a],
41        [ff5c, ff5c], [ff5e, ff5e], [ff61, ff61], [ff64, 10ffff]**/
42       
43       
44        namespace {
45        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
46        {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 115},
47        {Mixed, 1}, {Full, 58}, {Mixed, 1}, {Full, 76}, {Mixed, 4},
48        {Full, 11}, {Mixed, 10}, {Full, 33}, {Mixed, 1}, {Full, 2},
49        {Mixed, 2}, {Full, 12}, {Mixed, 4}, {Full, 1}, {Mixed, 1},
50        {Full, 1}, {Mixed, 5}, {Full, 24}, {Mixed, 2}, {Full, 14},
51        {Mixed, 1}, {Full, 1649}, {Mixed, 2}, {Full, 4}, {Mixed, 4},
52        {Full, 32772}};
53        const static UnicodeSet::bitquad_t  __null_codepoint_set_quads[] = {
54        0xaffffcff, 0xd7ffffff, 0xd7ffffff, 0xf7fff7ff, 0xc3ffffff,
55        0xe7ffffff, 0xf9ffffff, 0xffffff9f, 0x9fffffff, 0xffff9fff,
56        0xffdfc0ff, 0xcfffffff, 0xffc3fff7, 0x0000300f, 0xfef87000,
57        0xff00f4b3, 0x003cc1ff, 0x8320c000, 0xfffff0ff, 0xfffff9ff,
58        0xffc000ff, 0x9f9fd487, 0xffff0003, 0xfe000007, 0xfeffffff,
59        0xf0c87fcc, 0xccdfffff, 0xcfcf87ff, 0x19ffffcf, 0xe001e7e0,
60        0x07e64039, 0xbf801f80, 0xf87fcfc7, 0xcfffc9c3, 0xfffffc00,
61        0xf00c00ff, 0x81ffffff, 0xffffffcf, 0xaffffcff, 0xd7ffffff,
62        0x57ffffff, 0xfffffff2};
63        }
64
65        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 31, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 42, 0};
66
67
68
69        /** Code Point Ranges for bmg mapping to <codepoint>
70        **/
71       
72       
73        namespace {
74        const static UnicodeSet::run_t __reflexive_set_runs[] = {
75        {Empty, 34816}};
76        const static UnicodeSet::bitquad_t * const __reflexive_set_quads = nullptr;
77        }
78
79        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 0, 0};
80
81
82
83        const static std::vector<unsigned> buffer_offsets = {
84        0, 2, 4, 6, 8, 10, 12, 14, 16, 19, 22, 26, 30, 34, 38, 42, 46, 50,
85        54, 58, 62, 66, 70, 74, 78, 82, 86, 90, 94, 98, 102, 106, 110, 114,
86        118, 122, 126, 130, 134, 138, 142, 146, 150, 154, 158, 162, 166,
87        170, 174, 178, 182, 186, 190, 194, 198, 202, 206, 210, 214, 218,
88        222, 226, 230, 234, 238, 242, 246, 250, 254, 258, 262, 266, 270,
89        274, 278, 282, 286, 290, 294, 298, 302, 306, 310, 314, 318, 322,
90        326, 330, 334, 338, 342, 346, 350, 354, 358, 362, 366, 370, 374,
91        378, 382, 386, 390, 394, 398, 402, 406, 410, 414, 418, 422, 426,
92        430, 434, 438, 442, 446, 450, 454, 458, 462, 466, 470, 474, 478,
93        482, 486, 490, 494, 498, 502, 506, 510, 514, 518, 522, 526, 530,
94        534, 538, 542, 546, 550, 554, 558, 562, 566, 570, 574, 578, 582,
95        586, 590, 594, 598, 602, 606, 610, 614, 618, 622, 626, 630, 634,
96        638, 642, 646, 650, 654, 658, 662, 666, 670, 674, 678, 682, 686,
97        690, 694, 698, 702, 706, 710, 714, 718, 722, 726, 730, 734, 738,
98        742, 746, 750, 754, 758, 762, 766, 770, 774, 778, 782, 786, 790,
99        794, 798, 802, 806, 810, 814, 818, 822, 826, 830, 834, 838, 842,
100        846, 850, 854, 858, 862, 866, 870, 874, 878, 882, 886, 890, 894,
101        898, 902, 906, 910, 914, 918, 922, 926, 930, 934, 938, 942, 946,
102        950, 954, 958, 962, 966, 970, 974, 978, 982, 986, 990, 994, 998,
103        1002, 1006, 1010, 1014, 1018, 1022, 1026, 1030, 1034, 1038, 1042,
104        1046, 1050, 1054, 1058, 1062, 1066, 1070, 1074, 1078, 1082, 1086,
105        1090, 1094, 1098, 1102, 1106, 1110, 1114, 1118, 1122, 1126, 1130,
106        1134, 1138, 1142, 1146, 1150, 1154, 1158, 1162, 1166, 1170, 1174,
107        1178, 1182, 1186, 1190, 1194, 1198, 1202, 1206, 1210, 1214, 1218,
108        1222, 1226, 1230, 1234, 1238, 1242, 1246, 1250, 1254, 1258, 1262,
109        1266, 1270, 1274, 1278, 1282, 1286, 1290, 1294, 1298, 1302, 1306,
110        1310, 1314, 1318, 1322, 1326, 1330, 1334, 1338, 1342, 1346, 1350,
111        1354, 1358, 1362, 1366, 1370, 1374, 1378, 1382, 1386, 1390, 1394,
112        1398, 1402, 1406, 1410, 1414, 1418, 1422, 1426, 1430, 1434, 1438};
113        const static char string_buffer LLVM_ALIGNAS(32) [1536] = u8R"__()
114(
115>
116<
117]
118[
119}
120{
121»
122«
123àŒ»
124àŒº
125àŒœ
126àŒŒ
127᚜
128᚛
129›
130‹
131⁆
132⁅
133 
134⁜
135₎
136₍
137∋
138∌
139∍
140∈
141∉
142∊
143⧵
144∜
145∌
146⋍
147≓
148≒
149≕
150≔
151≥
152≀
153≧
154≩
155≩
156≹
157≫
158≪
159≯
160≮
161≱
162≰
163≳
164≲
165≵
166≮
167≷
168≶
169≹
170≾
171≻
172≺
173≜
174≌
175≿
176≟
177⊁
178⊀
179⊃
180⊂
181⊅
182⊄
183⊇
184⊆
185⊉
186⊈
187⊋
188⊊
189⊐
190⊏
191⊒
192⊑
193⊞
194⊣
195⊢
196⫞
197â«€
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⟈
277⟍
278⟋
279⟖
280⟕
281⟞
282⟝
283⟣
284⟢
285⟥
286⟀
287⟧
288⟩
289⟩
290⟹
291⟫
292⟪
293⟭
294⟬
295⟯
296⟮
297⩄
298⊃
299⩆
300⩅
301⊈
302⩇
303⩊
304⩉
305⩌
306⩋
307⊐
308⊏
309⊎
310⊍
311⩒
312⩑
313⩔
314⩓
315⩖
316⩕
317⊘
318⩗
319⊘
320⧁
321⧀
322⧅
323⧄
324⧐
325⧏
326⧒
327⧑
328⧕
329⧔
330⧙
331⧘
332⧛
333⧚
334∕
335⧹
336⧞
337⧜
338⧌
339⚬
340âš«
341âš®
342âš­
343âšµ
344⚎
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⾊
424⾉
425➍
426⾌
427➝
428⾜
429âž¡
430âž 
431➣
432➢
433➥
434➀
435➧
436➊
437âž©
438âžš
439〉
440〈
441》
442《
443」
444「
445』
446『
447】
448【
449〕
450〔
451〗
452〖
453〙
454〘
455〛
456〚
457﹚
458﹙
459﹜
460﹛
461﹞
462﹝
463ï¹¥
464ï¹€
465
466
467
468
469
470
471
472
473
474
475
476
477)__";
478
479        const static std::vector<codepoint_t> defined_cps{
480        0x0028, 0x0029, 0x003c, 0x003e, 0x005b, 0x005d, 0x007b, 0x007d,
481        0x00ab, 0x00bb, 0x0f3a, 0x0f3b, 0x0f3c, 0x0f3d, 0x169b, 0x169c,
482        0x2039, 0x203a, 0x2045, 0x2046, 0x207d, 0x207e, 0x208d, 0x208e,
483        0x2208, 0x2209, 0x220a, 0x220b, 0x220c, 0x220d, 0x2215, 0x223c,
484        0x223d, 0x2243, 0x2252, 0x2253, 0x2254, 0x2255, 0x2264, 0x2265,
485        0x2266, 0x2267, 0x2268, 0x2269, 0x226a, 0x226b, 0x226e, 0x226f,
486        0x2270, 0x2271, 0x2272, 0x2273, 0x2274, 0x2275, 0x2276, 0x2277,
487        0x2278, 0x2279, 0x227a, 0x227b, 0x227c, 0x227d, 0x227e, 0x227f,
488        0x2280, 0x2281, 0x2282, 0x2283, 0x2284, 0x2285, 0x2286, 0x2287,
489        0x2288, 0x2289, 0x228a, 0x228b, 0x228f, 0x2290, 0x2291, 0x2292,
490        0x2298, 0x22a2, 0x22a3, 0x22a6, 0x22a8, 0x22a9, 0x22ab, 0x22b0,
491        0x22b1, 0x22b2, 0x22b3, 0x22b4, 0x22b5, 0x22b6, 0x22b7, 0x22c9,
492        0x22ca, 0x22cb, 0x22cc, 0x22cd, 0x22d0, 0x22d1, 0x22d6, 0x22d7,
493        0x22d8, 0x22d9, 0x22da, 0x22db, 0x22dc, 0x22dd, 0x22de, 0x22df,
494        0x22e0, 0x22e1, 0x22e2, 0x22e3, 0x22e4, 0x22e5, 0x22e6, 0x22e7,
495        0x22e8, 0x22e9, 0x22ea, 0x22eb, 0x22ec, 0x22ed, 0x22f0, 0x22f1,
496        0x22f2, 0x22f3, 0x22f4, 0x22f6, 0x22f7, 0x22fa, 0x22fb, 0x22fc,
497        0x22fd, 0x22fe, 0x2308, 0x2309, 0x230a, 0x230b, 0x2329, 0x232a,
498        0x2768, 0x2769, 0x276a, 0x276b, 0x276c, 0x276d, 0x276e, 0x276f,
499        0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27c3, 0x27c4,
500        0x27c5, 0x27c6, 0x27c8, 0x27c9, 0x27cb, 0x27cd, 0x27d5, 0x27d6,
501        0x27dd, 0x27de, 0x27e2, 0x27e3, 0x27e4, 0x27e5, 0x27e6, 0x27e7,
502        0x27e8, 0x27e9, 0x27ea, 0x27eb, 0x27ec, 0x27ed, 0x27ee, 0x27ef,
503        0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298a,
504        0x298b, 0x298c, 0x298d, 0x298e, 0x298f, 0x2990, 0x2991, 0x2992,
505        0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29b8, 0x29c0,
506        0x29c1, 0x29c4, 0x29c5, 0x29cf, 0x29d0, 0x29d1, 0x29d2, 0x29d4,
507        0x29d5, 0x29d8, 0x29d9, 0x29da, 0x29db, 0x29f5, 0x29f8, 0x29f9,
508        0x29fc, 0x29fd, 0x2a2b, 0x2a2c, 0x2a2d, 0x2a2e, 0x2a34, 0x2a35,
509        0x2a3c, 0x2a3d, 0x2a64, 0x2a65, 0x2a79, 0x2a7a, 0x2a7d, 0x2a7e,
510        0x2a7f, 0x2a80, 0x2a81, 0x2a82, 0x2a83, 0x2a84, 0x2a8b, 0x2a8c,
511        0x2a91, 0x2a92, 0x2a93, 0x2a94, 0x2a95, 0x2a96, 0x2a97, 0x2a98,
512        0x2a99, 0x2a9a, 0x2a9b, 0x2a9c, 0x2aa1, 0x2aa2, 0x2aa6, 0x2aa7,
513        0x2aa8, 0x2aa9, 0x2aaa, 0x2aab, 0x2aac, 0x2aad, 0x2aaf, 0x2ab0,
514        0x2ab3, 0x2ab4, 0x2abb, 0x2abc, 0x2abd, 0x2abe, 0x2abf, 0x2ac0,
515        0x2ac1, 0x2ac2, 0x2ac3, 0x2ac4, 0x2ac5, 0x2ac6, 0x2acd, 0x2ace,
516        0x2acf, 0x2ad0, 0x2ad1, 0x2ad2, 0x2ad3, 0x2ad4, 0x2ad5, 0x2ad6,
517        0x2ade, 0x2ae3, 0x2ae4, 0x2ae5, 0x2aec, 0x2aed, 0x2af7, 0x2af8,
518        0x2af9, 0x2afa, 0x2e02, 0x2e03, 0x2e04, 0x2e05, 0x2e09, 0x2e0a,
519        0x2e0c, 0x2e0d, 0x2e1c, 0x2e1d, 0x2e20, 0x2e21, 0x2e22, 0x2e23,
520        0x2e24, 0x2e25, 0x2e26, 0x2e27, 0x2e28, 0x2e29, 0x3008, 0x3009,
521        0x300a, 0x300b, 0x300c, 0x300d, 0x300e, 0x300f, 0x3010, 0x3011,
522        0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301a, 0x301b,
523        0xfe59, 0xfe5a, 0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0xfe64, 0xfe65,
524        0xff08, 0xff09, 0xff1c, 0xff1e, 0xff3b, 0xff3d, 0xff5b, 0xff5d,
525        0xff5f, 0xff60, 0xff62, 0xff63};
526        static StringPropertyObject property_object(bmg, 
527                                                    std::move(null_codepoint_set), 
528                                                    std::move(reflexive_set), 
529                                                    static_cast<const char *>(string_buffer), 
530                                                    std::move(buffer_offsets), 
531                                                    std::move(defined_cps));
532    }
533}
534
535#endif
Note: See TracBrowser for help on using the repository browser.