source: icGREP/icgrep-devel/icgrep/UCD/EastAsianWidth.h @ 4775

Last change on this file since 4775 was 4631, checked in by nmedfort, 4 years ago

Fix for SCX and updated property objects.

File size: 13.5 KB
Line 
1#ifndef EASTASIANWIDTH_H
2#define EASTASIANWIDTH_H
3/*
4 *  Copyright (c) 2015 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 "PropertyObjects.h"
12#include "PropertyValueAliases.h"
13#include "unicode_set.h"
14
15namespace UCD {
16    namespace EA_ns {
17    /** Code Point Ranges for A
18    [161, 161], [164, 164], [167, 168], [170, 170], [173, 174], [176, 180],
19    [182, 186], [188, 191], [198, 198], [208, 208], [215, 216], [222, 225],
20    [230, 230], [232, 234], [236, 237], [240, 240], [242, 243], [247, 250],
21    [252, 252], [254, 254], [257, 257], [273, 273], [275, 275], [283, 283],
22    [294, 295], [299, 299], [305, 307], [312, 312], [319, 322], [324, 324],
23    [328, 331], [333, 333], [338, 339], [358, 359], [363, 363], [462, 462],
24    [464, 464], [466, 466], [468, 468], [470, 470], [472, 472], [474, 474],
25    [476, 476], [593, 593], [609, 609], [708, 708], [711, 711], [713, 715],
26    [717, 717], [720, 720], [728, 731], [733, 733], [735, 735], [768, 879],
27    [913, 929], [931, 937], [945, 961], [963, 969], [1025, 1025],
28    [1040, 1103], [1105, 1105], [8208, 8208], [8211, 8214], [8216, 8217],
29    [8220, 8221], [8224, 8226], [8228, 8231], [8240, 8240], [8242, 8243],
30    [8245, 8245], [8251, 8251], [8254, 8254], [8308, 8308], [8319, 8319],
31    [8321, 8324], [8364, 8364], [8451, 8451], [8453, 8453], [8457, 8457],
32    [8467, 8467], [8470, 8470], [8481, 8482], [8486, 8486], [8491, 8491],
33    [8531, 8532], [8539, 8542], [8544, 8555], [8560, 8569], [8585, 8585],
34    [8592, 8601], [8632, 8633], [8658, 8658], [8660, 8660], [8679, 8679],
35    [8704, 8704], [8706, 8707], [8711, 8712], [8715, 8715], [8719, 8719],
36    [8721, 8721], [8725, 8725], [8730, 8730], [8733, 8736], [8739, 8739],
37    [8741, 8741], [8743, 8748], [8750, 8750], [8756, 8759], [8764, 8765],
38    [8776, 8776], [8780, 8780], [8786, 8786], [8800, 8801], [8804, 8807],
39    [8810, 8811], [8814, 8815], [8834, 8835], [8838, 8839], [8853, 8853],
40    [8857, 8857], [8869, 8869], [8895, 8895], [8978, 8978], [9312, 9449],
41    [9451, 9547], [9552, 9587], [9600, 9615], [9618, 9621], [9632, 9633],
42    [9635, 9641], [9650, 9651], [9654, 9655], [9660, 9661], [9664, 9665],
43    [9670, 9672], [9675, 9675], [9678, 9681], [9698, 9701], [9711, 9711],
44    [9733, 9734], [9737, 9737], [9742, 9743], [9748, 9749], [9756, 9756],
45    [9758, 9758], [9792, 9792], [9794, 9794], [9824, 9825], [9827, 9829],
46    [9831, 9834], [9836, 9837], [9839, 9839], [9886, 9887], [9918, 9919],
47    [9924, 9933], [9935, 9953], [9955, 9955], [9960, 9983], [10045, 10045],
48    [10071, 10071], [10102, 10111], [11093, 11097], [12872, 12879],
49    [57344, 63743], [65024, 65039], [65533, 65533], [127232, 127242],
50    [127248, 127277], [127280, 127337], [127344, 127386], [917760, 917999],
51    [983040, 1048573], [1048576, 1114109]**/
52    const UnicodeSet a_Set
53        {{{Empty, 5}, {Mixed, 7}, {Empty, 2}, {Mixed, 1}, {Empty, 3},
54          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Full, 3},
55          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
56          {Empty, 221}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
57          {Mixed, 14}, {Empty, 2}, {Mixed, 1}, {Empty, 10}, {Full, 4},
58          {Mixed, 1}, {Full, 2}, {Mixed, 7}, {Empty, 1}, {Mixed, 6},
59          {Empty, 1}, {Mixed, 3}, {Empty, 30}, {Mixed, 1}, {Empty, 55},
60          {Mixed, 1}, {Empty, 1389}, {Full, 200}, {Empty, 40}, {Mixed, 1},
61          {Empty, 14}, {Mixed, 1}, {Empty, 1928}, {Mixed, 2}, {Full, 1},
62          {Mixed, 2}, {Empty, 24699}, {Full, 7}, {Mixed, 1}, {Empty, 2032},
63          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}},
64         {0xf7df6592, 0xc1810040, 0x578d3743, 0x080a0002, 0x810e08c0,
65          0x000c2f17, 0x000008c0, 0x15554000, 0x00020000, 0x00000002,
66          0xaf012e90, 0x0000ffff, 0xfffe0000, 0xfffe03fb, 0x000003fb,
67          0xffff0002, 0x0002ffff, 0x33790000, 0x482d00f7, 0x80100000,
68          0x0000001e, 0x00001000, 0x00480228, 0x00000846, 0x78180000,
69          0x03ff0fff, 0x03ff0200, 0x03000000, 0x00140000, 0x00000080,
70          0xe422898d, 0x30f05fa9, 0x00041100, 0x0000ccf3, 0x022000cc,
71          0x80000020, 0x00040000, 0xfffffbff, 0xffff0fff, 0x000fffff,
72          0x003cffff, 0x30cc03fb, 0x0003c9c3, 0x0000803c, 0x5030c260,
73          0x00000005, 0x0000b7bb, 0xc0000000, 0xc0000000, 0xffffbff0,
74          0xffffff0b, 0x20000000, 0x00800000, 0xffc00000, 0x03e00000,
75          0x0000ff00, 0x0000ffff, 0x20000000, 0xffff07ff, 0xffff3fff,
76          0xffff03ff, 0x07ffffff, 0x0000ffff, 0x3fffffff, 0x3fffffff}};
77    /** Code Point Ranges for F
78    [12288, 12288], [65281, 65376], [65504, 65510]**/
79    const UnicodeSet f_Set
80        {{{Empty, 384}, {Mixed, 1}, {Empty, 1655}, {Mixed, 1}, {Full, 2},
81          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 32768}},
82         {0x00000001, 0xfffffffe, 0x00000001, 0x0000007f}};
83    /** Code Point Ranges for H
84    [8361, 8361], [65377, 65470], [65474, 65479], [65482, 65487],
85    [65490, 65495], [65498, 65500], [65512, 65518]**/
86    const UnicodeSet h_Set
87        {{{Empty, 261}, {Mixed, 1}, {Empty, 1781}, {Mixed, 1}, {Full, 1},
88          {Mixed, 3}, {Empty, 32768}},
89         {0x00000200, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x00007f00}};
90    /** Code Point Ranges for N
91    [0, 31], [127, 160], [169, 169], [171, 171], [181, 181], [187, 187],
92    [192, 197], [199, 207], [209, 214], [217, 221], [226, 229], [231, 231],
93    [235, 235], [238, 239], [241, 241], [244, 246], [251, 251], [253, 253],
94    [255, 256], [258, 272], [274, 274], [276, 282], [284, 293], [296, 298],
95    [300, 304], [308, 311], [313, 318], [323, 323], [325, 327], [332, 332],
96    [334, 337], [340, 357], [360, 362], [364, 461], [463, 463], [465, 465],
97    [467, 467], [469, 469], [471, 471], [473, 473], [475, 475], [477, 592],
98    [594, 608], [610, 707], [709, 710], [712, 712], [716, 716], [718, 719],
99    [721, 727], [732, 732], [734, 734], [736, 767], [880, 912], [930, 930],
100    [938, 944], [962, 962], [970, 1024], [1026, 1039], [1104, 1104],
101    [1106, 4351], [4448, 8207], [8209, 8210], [8215, 8215], [8218, 8219],
102    [8222, 8223], [8227, 8227], [8232, 8239], [8241, 8241], [8244, 8244],
103    [8246, 8250], [8252, 8253], [8255, 8307], [8309, 8318], [8320, 8320],
104    [8325, 8360], [8362, 8363], [8365, 8450], [8452, 8452], [8454, 8456],
105    [8458, 8466], [8468, 8469], [8471, 8480], [8483, 8485], [8487, 8490],
106    [8492, 8530], [8533, 8538], [8543, 8543], [8556, 8559], [8570, 8584],
107    [8586, 8591], [8602, 8631], [8634, 8657], [8659, 8659], [8661, 8678],
108    [8680, 8703], [8705, 8705], [8708, 8710], [8713, 8714], [8716, 8718],
109    [8720, 8720], [8722, 8724], [8726, 8729], [8731, 8732], [8737, 8738],
110    [8740, 8740], [8742, 8742], [8749, 8749], [8751, 8755], [8760, 8763],
111    [8766, 8775], [8777, 8779], [8781, 8785], [8787, 8799], [8802, 8803],
112    [8808, 8809], [8812, 8813], [8816, 8833], [8836, 8837], [8840, 8852],
113    [8854, 8856], [8858, 8868], [8870, 8894], [8896, 8977], [8979, 9000],
114    [9003, 9311], [9450, 9450], [9548, 9551], [9588, 9599], [9616, 9617],
115    [9622, 9631], [9634, 9634], [9642, 9649], [9652, 9653], [9656, 9659],
116    [9662, 9663], [9666, 9669], [9673, 9674], [9676, 9677], [9682, 9697],
117    [9702, 9710], [9712, 9732], [9735, 9736], [9738, 9741], [9744, 9747],
118    [9750, 9755], [9757, 9757], [9759, 9791], [9793, 9793], [9795, 9823],
119    [9826, 9826], [9830, 9830], [9835, 9835], [9838, 9838], [9840, 9885],
120    [9888, 9917], [9920, 9923], [9934, 9934], [9954, 9954], [9956, 9959],
121    [9984, 10044], [10046, 10070], [10072, 10101], [10112, 10213],
122    [10222, 10628], [10631, 11092], [11098, 11903], [11930, 11930],
123    [12020, 12031], [12246, 12271], [12284, 12287], [12351, 12352],
124    [12439, 12440], [12544, 12548], [12590, 12592], [12687, 12687],
125    [12731, 12735], [12772, 12783], [12831, 12831], [13055, 13055],
126    [19904, 19967], [42125, 42127], [42183, 43359], [43389, 44031],
127    [55204, 57343], [64256, 65023], [65050, 65071], [65107, 65107],
128    [65127, 65127], [65132, 65280], [65471, 65473], [65480, 65481],
129    [65488, 65489], [65496, 65497], [65501, 65503], [65511, 65511],
130    [65519, 65532], [65534, 110591], [110594, 127231], [127243, 127247],
131    [127278, 127279], [127338, 127343], [127387, 127487], [127491, 127503],
132    [127547, 127551], [127561, 127567], [127570, 131071], [196606, 196607],
133    [262142, 917759], [918000, 983039], [1048574, 1048575],
134    [1114110, 1114111]**/
135    const UnicodeSet n_Set
136        {{{Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 7},
137          {Full, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 2},
138          {Mixed, 1}, {Full, 1}, {Empty, 3}, {Mixed, 4}, {Full, 1},
139          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 101}, {Empty, 3},
140          {Full, 117}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
141          {Mixed, 14}, {Full, 2}, {Mixed, 2}, {Full, 9}, {Empty, 4},
142          {Mixed, 1}, {Empty, 2}, {Mixed, 7}, {Full, 1}, {Mixed, 6},
143          {Full, 1}, {Mixed, 3}, {Full, 3}, {Mixed, 1}, {Full, 12},
144          {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 25}, {Mixed, 1},
145          {Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 1},
146          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
147          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6},
148          {Mixed, 1}, {Empty, 214}, {Full, 2}, {Empty, 692}, {Mixed, 1},
149          {Empty, 1}, {Mixed, 1}, {Full, 36}, {Mixed, 1}, {Full, 20},
150          {Empty, 349}, {Mixed, 1}, {Full, 66}, {Empty, 216}, {Full, 24},
151          {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 3},
152          {Full, 1408}, {Mixed, 1}, {Full, 519}, {Mixed, 2}, {Empty, 1},
153          {Mixed, 2}, {Full, 3}, {Mixed, 3}, {Full, 109}, {Empty, 2047},
154          {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Full, 20488}, {Empty, 7},
155          {Mixed, 1}, {Full, 2032}, {Empty, 2047}, {Mixed, 1},
156          {Empty, 2047}, {Mixed, 1}},
157         {0x80000000, 0x08200a01, 0x3e7effbf, 0xa872c8bc, 0xf7f5fffd,
158          0x7ef1f73f, 0xfff3d0e8, 0xfffff73f, 0xeaaabfff, 0xfffdffff,
159          0xfffffffd, 0x50fed16f, 0xffff0000, 0x0001ffff, 0x0001fc04,
160          0xfffffc04, 0x0000fffd, 0xfffd0000, 0xcc86ffff, 0xb7d2ff08,
161          0x7fefffff, 0xffffffe1, 0xffffedff, 0xffb7fdd7, 0xfffff7b9,
162          0x87e7ffff, 0xfc00f000, 0xfc00fdff, 0xfcffffff, 0xffebffff,
163          0xffffff7f, 0x1bdd7672, 0xcf0fa056, 0xfffbeeff, 0xffff330c,
164          0xfddfff33, 0x7fffffdf, 0xfffbffff, 0xfffff9ff, 0x00000400,
165          0x0000f000, 0xfff00000, 0xffc30000, 0xcf33fc04, 0xfffc363c,
166          0xffff7fc3, 0xafcf3d9f, 0xfffffffa, 0xffff4844, 0x3fffffff,
167          0x3fffffff, 0x0000400f, 0x000000f4, 0xdfffffff, 0xff7fffff,
168          0x003fffff, 0xffffc03f, 0xffffff9f, 0xfc1fffff, 0x04000000,
169          0xfff00000, 0xffc00000, 0xf000ffff, 0x80000000, 0x00000001,
170          0x01800000, 0x0000001f, 0x0001c000, 0x00008000, 0xf8000000,
171          0x0000fff0, 0x80000000, 0x80000000, 0x0000e000, 0xffffff80,
172          0xe0000000, 0xfffffff0, 0xfc000000, 0x0000ffff, 0x00080000,
173          0xfffff080, 0x00000001, 0x80000000, 0xe3030303, 0xdfff8080,
174          0xfffffffc, 0x0000f800, 0x0000c000, 0x0000fc00, 0xf8000000,
175          0x0000fff8, 0xf8000000, 0xfffcfe00, 0xc0000000, 0xc0000000,
176          0xffff0000, 0xc0000000, 0xc0000000}};
177    /** Code Point Ranges for Na
178    [32, 126], [162, 163], [165, 166], [172, 172], [175, 175],
179    [10214, 10221], [10629, 10630]**/
180    const UnicodeSet na_Set
181        {{{Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
182          {Empty, 313}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 34483}},
183         {0x7fffffff, 0x0000906c, 0x00003fc0, 0x00000060}};
184    /** Code Point Ranges for W
185    [4352, 4447], [9001, 9002], [11904, 11929], [11931, 12019],
186    [12032, 12245], [12272, 12283], [12289, 12350], [12353, 12438],
187    [12441, 12543], [12549, 12589], [12593, 12686], [12688, 12730],
188    [12736, 12771], [12784, 12830], [12832, 12871], [12880, 13054],
189    [13056, 19903], [19968, 42124], [42128, 42182], [43360, 43388],
190    [44032, 55203], [63744, 64255], [65040, 65049], [65072, 65106],
191    [65108, 65126], [65128, 65131], [110592, 110593], [127488, 127490],
192    [127504, 127546], [127552, 127560], [127568, 127569], [131072, 196605],
193    [196608, 262141]**/
194    const UnicodeSet w_Set
195        {{{Empty, 136}, {Full, 3}, {Empty, 142}, {Mixed, 1}, {Empty, 90},
196          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 5},
197          {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 2},
198          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
199          {Full, 4}, {Mixed, 1}, {Full, 214}, {Empty, 2}, {Full, 692},
200          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 36}, {Mixed, 1},
201          {Empty, 20}, {Full, 349}, {Mixed, 1}, {Empty, 266}, {Full, 16},
202          {Empty, 24}, {Mixed, 4}, {Empty, 1420}, {Mixed, 1}, {Empty, 527},
203          {Mixed, 3}, {Empty, 109}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
204          {Mixed, 1}, {Empty, 26624}},
205         {0x00000600, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
206          0xfffffffe, 0x7fffffff, 0xfffffffe, 0xfe7fffff, 0xffffffe0,
207          0xfffe3fff, 0xffff7fff, 0x07ffffff, 0xffff000f, 0x7fffffff,
208          0xffff00ff, 0x7fffffff, 0xffff1fff, 0x0000007f, 0x1fffffff,
209          0x0000000f, 0x03ff0000, 0xffff0000, 0xfff7ffff, 0x00000f7f,
210          0x00000003, 0xffff0007, 0x07ffffff, 0x000301ff, 0x3fffffff,
211          0x3fffffff}};
212    static EnumeratedPropertyObject property_object
213        {ea,
214         EA_ns::enum_names,
215         EA_ns::value_names,
216         EA_ns::aliases_only_map,
217         {&a_Set, &f_Set, &h_Set, &n_Set, &na_Set, &w_Set
218         }};
219    }
220}
221
222#endif
Note: See TracBrowser for help on using the repository browser.