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

Last change on this file since 5672 was 5672, checked in by cameron, 2 years ago

StringOverride? properties (simple case conversion vs full case conversion)

File size: 7.1 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 overriding values from SLC
20        [00df, 00df], [0149, 0149], [01f0, 01f0], [0307, 0307],
21        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
22        [1f50, 1f50], [1f52, 1f52], [1f54, 1f54], [1f56, 1f56],
23        [1f80, 1f87], [1f90, 1f97], [1fa0, 1fa7], [1fb2, 1fb4],
24        [1fb6, 1fb7], [1fc2, 1fc4], [1fc6, 1fc7], [1fd2, 1fd3],
25        [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7], [1ff2, 1ff4],
26        [1ff6, 1ff7], [fb00, fb06], [fb13, fb17]**/
27
28        const UnicodeSet overridden_set
29                    {{{Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
30              {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
31              {Empty, 14}, {Mixed, 1}, {Empty, 199}, {Mixed, 1}, {Empty, 5},
32              {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 1752}, {Mixed, 1},
33              {Empty, 32807}},
34             {0x80000000, 0x00000200, 0x00010000, 0x00000080, 0x00010000,
35              0x00010000, 0x00000080, 0x07c00000, 0x00550000, 0x00ff00ff,
36              0x00dc00ff, 0x00cc00dc, 0x00dc00dc, 0x00f8007f}};
37
38        const unsigned buffer_length = 298;
39        const static char __attribute__ ((aligned (32))) string_buffer[512] = u8R"__(ß
40ʼn
41Ç°
42i̇
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á¿·
103ff
104fi
105fl
106ffi
107ffl
108ſt
109st
110ﬓ
111ﬔ
112ﬕ
113ﬖ
114ﬗ
115)__";
116
117        const static std::vector<codepoint_t> defined_cps = {
118        0x00df, 0x0149, 0x01f0, 0x0307, 0x0390, 0x03b0, 0x0587, 0x1e96,
119        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52, 0x1f54, 0x1f56,
120        0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87,
121        0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97,
122        0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7,
123        0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fc2, 0x1fc3, 0x1fc4,
124        0x1fc6, 0x1fc7, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7, 0x1fe2, 0x1fe3,
125        0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3, 0x1ff4, 0x1ff6, 0x1ff7,
126        0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04, 0xfb05, 0xfb06, 0xfb13,
127        0xfb14, 0xfb15, 0xfb16, 0xfb17};
128        static StringOverridePropertyObject property_object(lc, 
129                                                    SLC_ns::property_object, 
130                                                    overridden_set, 
131                                                    static_cast<const char *>(string_buffer), 
132                                                    buffer_length, 
133                                                    defined_cps);
134    }
135    namespace UC_ns {
136        /** Code Point Ranges for uc overriding values from SUC
137        [004e, 004e], [0066, 0066], [0069, 0069], [006c, 006c],
138        [0073, 0074], [0130, 0130], [02be, 02be], [0300, 0301],
139        [0308, 0308], [030a, 030a], [030c, 030c], [0313, 0313],
140        [0331, 0331], [0342, 0342], [0345, 0345], [0565, 0565],
141        [056b, 056b], [056d, 056d], [0576, 0576], [0582, 0582],
142        [1f88, 1f8f], [1f98, 1f9f], [1fa8, 1faf], [1fbc, 1fbc],
143        [1fcc, 1fcc], [1ffc, 1ffc]**/
144
145        const UnicodeSet overridden_set
146                    {{{Empty, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 11},
147              {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 16}, {Mixed, 2},
148              {Empty, 207}, {Mixed, 4}, {Empty, 34560}},
149             {0x00004000, 0x00181240, 0x00010000, 0x40000000, 0x00081503,
150              0x00020000, 0x00000024, 0x00402820, 0x00000004, 0xff00ff00,
151              0x1000ff00, 0x00001000, 0x10000000}};
152
153        const unsigned buffer_length = 208;
154        const static char __attribute__ ((aligned (32))) string_buffer[256] = u8R"__(ÊŒN
155Ff
156Ffi
157Ffl
158Ss
159St
160Ä°
161AÊŸ
162Ϋ̀
163Ϋ́
164T̈
165Y̊
166J̌
167Ρ̓
168H̱
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        const static std::vector<codepoint_t> defined_cps = {
206        0x004e, 0x0066, 0x0069, 0x006c, 0x0073, 0x0074, 0x0130, 0x02be,
207        0x0300, 0x0301, 0x0308, 0x030a, 0x030c, 0x0313, 0x0331, 0x0342,
208        0x0345, 0x0565, 0x056b, 0x056d, 0x0576, 0x0582, 0x1f88, 0x1f89,
209        0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f, 0x1f98, 0x1f99,
210        0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f, 0x1fa8, 0x1fa9,
211        0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf, 0x1fbc, 0x1fcc,
212        0x1ffc};
213        static StringOverridePropertyObject property_object(uc, 
214                                                    SUC_ns::property_object, 
215                                                    overridden_set, 
216                                                    static_cast<const char *>(string_buffer), 
217                                                    buffer_length, 
218                                                    defined_cps);
219    }
220    namespace TC_ns {
221        /** Code Point Ranges for tc overriding values from STC
222        [0046, 0046], [0049, 0049], [004c, 004c], [004e, 004e],
223        [0053, 0054], [0130, 0130], [02be, 02be], [0300, 0301],
224        [0308, 0308], [030a, 030a], [030c, 030c], [0313, 0313],
225        [0331, 0331], [0342, 0342], [0399, 0399], [0535, 0535],
226        [053b, 053b], [053d, 053d], [0546, 0546], [0552, 0552]**/
227
228        const UnicodeSet overridden_set
229                    {{{Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11},
230              {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
231              {Empty, 12}, {Mixed, 2}, {Empty, 34773}},
232             {0x00185240, 0x00010000, 0x40000000, 0x00081503, 0x00020000,
233              0x00000004, 0x02000000, 0x28200000, 0x00040040}};
234
235        const unsigned buffer_length = 100;
236        const static char __attribute__ ((aligned (32))) string_buffer[256] = u8R"__(FF
237FFI
238FFL
239ÊŒN
240SS
241ST
242Ä°
243AÊŸ
244Ϋ̀
245Ϋ́
246T̈
247Y̊
248J̌
249Ρ̓
250H̱
251Ω͂
252Ω͂Ι
253ՄԵ
254ՄԻ
255ՄԜ
256ՎՆ
257ԵՒ
258)__";
259
260        const static std::vector<codepoint_t> defined_cps = {
261        0x0046, 0x0049, 0x004c, 0x004e, 0x0053, 0x0054, 0x0130, 0x02be,
262        0x0300, 0x0301, 0x0308, 0x030a, 0x030c, 0x0313, 0x0331, 0x0342,
263        0x0399, 0x0535, 0x053b, 0x053d, 0x0546, 0x0552};
264        static StringOverridePropertyObject property_object(tc, 
265                                                    STC_ns::property_object, 
266                                                    overridden_set, 
267                                                    static_cast<const char *>(string_buffer), 
268                                                    buffer_length, 
269                                                    defined_cps);
270    }
271}
272
273
274#endif
Note: See TracBrowser for help on using the repository browser.