source: icGREP/icgrep-devel/icgrep/UCD/Jamo.h @ 6192

Last change on this file since 6192 was 6192, checked in by cameron, 10 months ago

Updates for Unicode 11.0 plus Emoji properties

File size: 3.4 KB
Line 
1#ifndef JAMO_H
2#define JAMO_H
3/*
4 *  Copyright (c) 2018 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 JSN_ns {
18        /** Code Point Ranges for JSN mapping to <none>
19        [0000, 10ff], [110b, 110b], [1113, 1160], [1176, 11a7],
20        [11c3, 10ffff]**/
21       
22       
23        namespace {
24        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
25        {Full, 136}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
26        {Mixed, 2}, {Full, 34673}};
27        const static UnicodeSet::bitquad_t  __null_codepoint_set_quads[] = {
28        0xfff80800, 0xffc00001, 0x000000ff, 0xfffffff8};
29        }
30
31        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 4, 0};
32
33
34
35        /** Code Point Ranges for JSN mapping to <codepoint>
36        **/
37       
38       
39        namespace {
40        const static UnicodeSet::run_t __reflexive_set_runs[] = {
41        {Empty, 34816}};
42        const static UnicodeSet::bitquad_t * const __reflexive_set_quads = nullptr;
43        }
44
45        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};
46
47
48
49        const static std::vector<unsigned> buffer_offsets = {
50        0, 2, 5, 7, 9, 12, 14, 16, 18, 21, 23, 26, 28, 31, 33, 35, 37, 39,
51        41, 43, 46, 49, 53, 56, 58, 62, 65, 67, 70, 74, 77, 80, 82, 86, 89,
52        92, 95, 98, 101, 103, 105, 108, 111, 113, 116, 119, 121, 123, 126,
53        129, 132, 135, 138, 141, 144, 146, 148, 151, 153, 156, 159, 161,
54        163, 165, 167, 169, 171};
55        const static char string_buffer LLVM_ALIGNAS(32) [256] = u8R"__(G
56GG
57N
58D
59DD
60R
61M
62B
63BB
64S
65SS
66J
67JJ
68C
69K
70T
71P
72H
73A
74AE
75YA
76YAE
77EO
78E
79YEO
80YE
81O
82WA
83WAE
84OE
85YO
86U
87WEO
88WE
89WI
90YU
91EU
92YI
93I
94G
95GG
96GS
97N
98NJ
99NH
100D
101L
102LG
103LM
104LB
105LS
106LT
107LP
108LH
109M
110B
111BS
112S
113SS
114NG
115J
116C
117K
118T
119P
120H
121)__";
122
123        const static std::vector<codepoint_t> defined_cps{
124        0x1100, 0x1101, 0x1102, 0x1103, 0x1104, 0x1105, 0x1106, 0x1107,
125        0x1108, 0x1109, 0x110a, 0x110c, 0x110d, 0x110e, 0x110f, 0x1110,
126        0x1111, 0x1112, 0x1161, 0x1162, 0x1163, 0x1164, 0x1165, 0x1166,
127        0x1167, 0x1168, 0x1169, 0x116a, 0x116b, 0x116c, 0x116d, 0x116e,
128        0x116f, 0x1170, 0x1171, 0x1172, 0x1173, 0x1174, 0x1175, 0x11a8,
129        0x11a9, 0x11aa, 0x11ab, 0x11ac, 0x11ad, 0x11ae, 0x11af, 0x11b0,
130        0x11b1, 0x11b2, 0x11b3, 0x11b4, 0x11b5, 0x11b6, 0x11b7, 0x11b8,
131        0x11b9, 0x11ba, 0x11bb, 0x11bc, 0x11bd, 0x11be, 0x11bf, 0x11c0,
132        0x11c1, 0x11c2};
133        static StringPropertyObject property_object(JSN, 
134                                                    std::move(null_codepoint_set), 
135                                                    std::move(reflexive_set), 
136                                                    static_cast<const char *>(string_buffer), 
137                                                    std::move(buffer_offsets), 
138                                                    std::move(defined_cps));
139    }
140}
141
142#endif
Note: See TracBrowser for help on using the repository browser.