xref: /netbsd-src/external/gpl3/gcc.old/dist/libphobos/src/std/internal/unicode_grapheme.d (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
1 module std.internal.unicode_grapheme;
2 import std.internal.unicode_tables;
3 
4 package(std):
5 
6 static if (size_t.sizeof == 8)
7 {
8     //832 bytes
9     enum hangulLVTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20, 0x40],
10             [0x100, 0x80, 0xa00], [0x2010000000000, 0x0, 0x0, 0x0, 0x0, 0x0,
11             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
12             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
13             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
14             0x4000300020001, 0x1000700060005, 0x5000400030002, 0x2000100070006,
15             0x6000500040003, 0x3000200010007, 0x7000600050004, 0x4000300020001,
16             0x1000700060005, 0x5000400030002, 0x8000100070006, 0x0, 0x0, 0x0,
17             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
18             0x100000010000001, 0x1000000100000, 0x10000001000,
19             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
20             0x100000010000001, 0x1000000100000, 0x10000001000,
21             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
22             0x100000010000001, 0x1000000100000, 0x10000001000,
23             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
24             0x100000010000001, 0x1000000100000, 0x10000001000,
25             0x1000000100000010, 0x10000001000000, 0x100000010000, 0x1000000100,
26             0x10000001000000, 0x100000010000, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0]);
27     //832 bytes
28     enum hangulLVTTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20, 0x40],
29             [0x100, 0x80, 0xa00], [0x2010000000000, 0x0, 0x0, 0x0, 0x0, 0x0,
30             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
31             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
32             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
33             0x4000300020001, 0x1000700060005, 0x5000400030002, 0x2000100070006,
34             0x6000500040003, 0x3000200010007, 0x7000600050004, 0x4000300020001,
35             0x1000700060005, 0x5000400030002, 0x8000100070006, 0x0, 0x0, 0x0,
36             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
37             0xfeffffffeffffffe, 0xfffeffffffefffff, 0xfffffeffffffefff,
38             0xeffffffeffffffef, 0xffeffffffeffffff, 0xffffeffffffeffff,
39             0xffffffeffffffeff, 0xfeffffffeffffffe, 0xfffeffffffefffff,
40             0xfffffeffffffefff, 0xeffffffeffffffef, 0xffeffffffeffffff,
41             0xffffeffffffeffff, 0xffffffeffffffeff, 0xfeffffffeffffffe,
42             0xfffeffffffefffff, 0xfffffeffffffefff, 0xeffffffeffffffef,
43             0xffeffffffeffffff, 0xffffeffffffeffff, 0xffffffeffffffeff,
44             0xfeffffffeffffffe, 0xfffeffffffefffff, 0xfffffeffffffefff,
45             0xeffffffeffffffef, 0xffeffffffeffffff, 0xffffeffffffeffff,
46             0xffffffeffffffeff, 0xffeffffffeffffff, 0xffffeffffffeffff,
47             0xffffffeff, 0x0, 0x0, 0x0, 0x0, 0x0]);
48     //1536 bytes
49     enum mcTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20, 0x60], [0x100,
50             0x100, 0x1800], [0x202030202020100, 0x206020205020204,
51             0x202020202020202, 0x202020202020202, 0x202020202020202,
52             0x202020202020202, 0x202020202020202, 0x202020202020202,
53             0x202020202020202, 0x202020202020202, 0x202020202020202,
54             0x202020202020202, 0x202020202020202, 0x202020202020202,
55             0x202020202020202, 0x202020202020202, 0x202020202020202, 0x0, 0x0,
56             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
57             0x0, 0x0, 0x3000200010000, 0x6000000050004, 0x7, 0x8000000000000,
58             0xb000a00090000, 0xc, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0,
59             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x110010000f000e, 0x0,
60             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x130012, 0x1400000000,
61             0x0, 0x0, 0x0, 0x0, 0x0, 0x15000000000000, 0x0, 0x0, 0x0, 0x0, 0x0,
62             0x0, 0x0, 0x0, 0x160000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
63             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc800000000000008, 0xde01,
64             0xc00000000000000c, 0x801981, 0xc000000000000008, 0x1,
65             0xc000000000000008, 0x1a01, 0x400000000000000c, 0x801981,
66             0xc000000000000000, 0x801dc6, 0xe, 0x1e, 0x400000000000000c,
67             0x600d9f, 0xc00000000000000c, 0x801dc1, 0xc, 0xc0000ff038000,
68             0xc000000000000000, 0x8000000000000000, 0x0, 0x0,
69             0x1902180000000000, 0x3f9c00c00000, 0x1c009f98, 0x0, 0x0, 0x0,
70             0xc040000000000000, 0x1bf, 0x1fb0e7800000000, 0x0,
71             0xffff000000000000, 0x301, 0x6000000, 0x7e01a00a00000, 0x0, 0x0,
72             0xe820000000000010, 0x1b, 0x34c200000004, 0xc5c8000000000,
73             0x300ff000000000, 0x0, 0x0, 0xc000200000000, 0xc00000000000, 0x0,
74             0x0, 0x0, 0x9800000000, 0x0, 0xfff0000000000003, 0xf, 0x0, 0xc0000,
75             0xec30000000000008, 0x1, 0x19800000000000, 0x800000000002000, 0x0,
76             0x20c80000000000, 0x0, 0x0, 0x0, 0x16d800000000, 0x5, 0x0,
77             0x187000000000004, 0x0, 0x100000000000, 0x0, 0x8038000000000004,
78             0x1, 0x0, 0x0, 0x40d00000000000, 0x0, 0x0, 0x7ffffffffffe0000, 0x0,
79             0x0, 0x0, 0x7e06000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
80     //2336 bytes
81     enum graphemeExtendTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x20,
82             0x70], [0x100, 0x140, 0x2d00], [0x402030202020100,
83             0x207020206020205, 0x202020202020202, 0x202020202020202,
84             0x202020202020202, 0x202020202020202, 0x202020202020202,
85             0x202020202020202, 0x202020202020202, 0x202020202020202,
86             0x202020202020202, 0x202020202020202, 0x202020202020202,
87             0x202020202020202, 0x202020202020208, 0x202020202020202,
88             0x202020202020202, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
89             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000000000, 0x5000400030002,
90             0x9000800070006, 0xd000c000b000a, 0xf00000000000e,
91             0x10000000000000, 0x14001300120011, 0x160015, 0x17, 0x0, 0x0,
92             0x190018, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
93             0x0, 0x0, 0x1b00000000, 0x1f001e001d001c, 0x0, 0x0, 0x0, 0x0, 0x0,
94             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20000000000000, 0x22002100000000,
95             0x230000, 0x0, 0x2400000000, 0x0, 0x260025, 0x2700000000, 0x0, 0x0,
96             0x0, 0x0, 0x0, 0x28000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
97             0x0, 0x2a00290000, 0x0, 0x0, 0x0, 0x2b0000, 0x0, 0x0, 0x0, 0x0,
98             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
99             0x0, 0x0, 0xffffffffffffffff, 0xffffffffffff, 0x0, 0x0, 0x0, 0x0,
100             0x3f8, 0x0, 0x0, 0x0, 0xbffffffffffe0000, 0xb6, 0x7ff0000,
101             0x10000fffff800, 0x0, 0x3d9f9fc00000, 0xffff000000020000, 0x7ff,
102             0x1ffc000000000, 0xff80000000000, 0x3eeffbc00000, 0xe000000, 0x0,
103             0x7ffffff000000000, 0x1400000000000007, 0xc00fe21fe,
104             0x5000000000000002, 0xc0080201e, 0x1000000000000006,
105             0x23000000023986, 0x1000000000000006, 0xc000021be,
106             0xd000000000000002, 0xc00c0201e, 0x4000000000000004, 0x802001,
107             0xc000000000000000, 0xc00603dc1, 0x9000000000000000, 0xc00603044,
108             0x4000000000000000, 0xc0080201e, 0x0, 0x805c8400,
109             0x7f2000000000000, 0x7f80, 0x1bf2000000000000, 0x3f00,
110             0x2a0000003000000, 0x7ffe000000000000, 0x1ffffffffeffe0df, 0x40,
111             0x66fde00000000000, 0x1e0001c3000000, 0x20002064, 0x0, 0x0,
112             0xe0000000, 0x0, 0x0, 0x1c0000001c0000, 0xc0000000c0000,
113             0x3fb0000000000000, 0x200ffe40, 0x3800, 0x0, 0x20000000000, 0x0,
114             0xe04018700000000, 0x0, 0x0, 0x0, 0x9800000, 0x9ff81fe57f400000,
115             0x0, 0x0, 0x17d000000000000f, 0xff80000000004, 0xb3c00000003,
116             0x3a34000000000, 0xcff00000000000, 0x0, 0x0, 0x1021fdfff70000, 0x0,
117             0x0, 0x0, 0xf000007fffffffff, 0x3000, 0x0, 0x0, 0x1ffffffff0000,
118             0x0, 0x0, 0x0, 0x3800000000000, 0x0, 0x8000000000000000, 0x0,
119             0xffffffff00000000, 0xfc0000000000, 0x0, 0x6000000, 0x0, 0x0,
120             0x3ff7800000000000, 0x80000000, 0x3000000000000, 0x6000000844, 0x0,
121             0x0, 0x3ffff00000010, 0x3fc000000000, 0x3ff80, 0x13c8000000000007,
122             0x0, 0x667e0000000000, 0x1008, 0xc19d000000000000,
123             0x40300000000002, 0x0, 0x0, 0x0, 0x212000000000, 0x40000000, 0x0,
124             0x0, 0x0, 0x7f0000ffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0000000, 0x0,
125             0x0, 0x0, 0x0, 0x2000000000000000, 0x870000000000f06e, 0x0, 0x0,
126             0x0, 0xff00000000000002, 0x7f, 0x678000000000003, 0x0,
127             0x1fef8000000007, 0x0, 0x7fc0000000000003, 0x0, 0x0, 0x0,
128             0xbf280000000000, 0x0, 0x0, 0x0, 0x78000, 0x0, 0x0,
129             0xf807c3a000000000, 0x3c0000000fe7, 0x0, 0x0, 0x1c, 0x0, 0x0,
130             0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff,
131             0xffffffffffff, 0x0, 0x0, 0x0, 0x0]);
132 
133 }
134 
135 static if (size_t.sizeof == 4)
136 {
137     //832 bytes
138     enum hangulLVTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40, 0x80],
139             [0x100, 0x80, 0xa00], [0x0, 0x20100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
140             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
141             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
142             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
143             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
144             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
145             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
146             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
147             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
148             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
149             0x80001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
150             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
151             0x0, 0x0, 0x0, 0x0, 0x10000001, 0x1000000, 0x100000, 0x10000,
152             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
153             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
154             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
155             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
156             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
157             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
158             0x1000, 0x100, 0x10, 0x10000001, 0x1000000, 0x100000, 0x10000,
159             0x1000, 0x100, 0x10, 0x1000000, 0x100000, 0x10000, 0x1000, 0x100,
160             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
161     //832 bytes
162     enum hangulLVTTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40, 0x80],
163             [0x100, 0x80, 0xa00], [0x0, 0x20100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
164             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
165             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
166             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
167             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
168             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
169             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
170             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
171             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
172             0x20001, 0x40003, 0x60005, 0x10007, 0x30002, 0x50004, 0x70006,
173             0x80001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
174             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
175             0x0, 0x0, 0x0, 0x0, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
176             0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
177             0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
178             0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
179             0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
180             0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
181             0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
182             0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
183             0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
184             0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
185             0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
186             0xfffffeff, 0xffffffef, 0xfeffffff, 0xffefffff, 0xfffeffff,
187             0xffffefff, 0xfffffeff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
188             0x0]);
189     //1536 bytes
190     enum mcTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40, 0xc0], [0x100,
191             0x100, 0x1800], [0x2020100, 0x2020302, 0x5020204, 0x2060202,
192             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
193             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
194             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
195             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
196             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
197             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
198             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
199             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000, 0x30002, 0x50004,
200             0x60000, 0x7, 0x0, 0x0, 0x80000, 0x90000, 0xb000a, 0xc, 0x0, 0x0,
201             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0,
202             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
203             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf000e, 0x110010,
204             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
205             0x0, 0x0, 0x0, 0x0, 0x0, 0x130012, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0,
206             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x150000, 0x0, 0x0, 0x0,
207             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
208             0x160000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
209             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
210             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xc8000000, 0xde01, 0x0,
211             0xc, 0xc0000000, 0x801981, 0x0, 0x8, 0xc0000000, 0x1, 0x0, 0x8,
212             0xc0000000, 0x1a01, 0x0, 0xc, 0x40000000, 0x801981, 0x0, 0x0,
213             0xc0000000, 0x801dc6, 0x0, 0xe, 0x0, 0x1e, 0x0, 0xc, 0x40000000,
214             0x600d9f, 0x0, 0xc, 0xc0000000, 0x801dc1, 0x0, 0xc, 0x0,
215             0xff038000, 0xc0000, 0x0, 0xc0000000, 0x0, 0x80000000, 0x0, 0x0,
216             0x0, 0x0, 0x0, 0x19021800, 0xc00000, 0x3f9c, 0x1c009f98, 0x0, 0x0,
217             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0400000, 0x1bf, 0x0, 0x0,
218             0x1fb0e78, 0x0, 0x0, 0x0, 0xffff0000, 0x301, 0x0, 0x6000000, 0x0,
219             0xa00000, 0x7e01a, 0x0, 0x0, 0x0, 0x0, 0x10, 0xe8200000, 0x1b, 0x0,
220             0x4, 0x34c2, 0x0, 0xc5c80, 0x0, 0x300ff0, 0x0, 0x0, 0x0, 0x0, 0x0,
221             0xc0002, 0x0, 0xc000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x98, 0x0,
222             0x0, 0x3, 0xfff00000, 0xf, 0x0, 0x0, 0x0, 0xc0000, 0x0, 0x8,
223             0xec300000, 0x1, 0x0, 0x0, 0x198000, 0x2000, 0x8000000, 0x0, 0x0,
224             0x0, 0x20c800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16d8, 0x5, 0x0,
225             0x0, 0x0, 0x4, 0x1870000, 0x0, 0x0, 0x0, 0x1000, 0x0, 0x0, 0x4,
226             0x80380000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40d000, 0x0, 0x0,
227             0x0, 0x0, 0xfffe0000, 0x7fffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
228             0x0, 0x7e060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
229     //2336 bytes
230     enum graphemeExtendTrieEntries = TrieEntry!(bool, 8, 5, 8)([0x0, 0x40,
231             0xe0], [0x100, 0x140, 0x2d00], [0x2020100, 0x4020302, 0x6020205,
232             0x2070202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
233             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
234             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
235             0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
236             0x2020202, 0x2020208, 0x2020202, 0x2020202, 0x2020202, 0x2020202,
237             0x2020202, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
238             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
239             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000, 0x30002, 0x50004,
240             0x70006, 0x90008, 0xb000a, 0xd000c, 0xe, 0xf0000, 0x0, 0x100000,
241             0x120011, 0x140013, 0x160015, 0x0, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0,
242             0x190018, 0x0, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
243             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
244             0x0, 0x0, 0x0, 0x0, 0x1b, 0x1d001c, 0x1f001e, 0x0, 0x0, 0x0, 0x0,
245             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
246             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x200000, 0x0, 0x220021, 0x230000,
247             0x0, 0x0, 0x0, 0x0, 0x24, 0x0, 0x0, 0x260025, 0x0, 0x0, 0x27, 0x0,
248             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x280000, 0x0,
249             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
250             0x0, 0x0, 0x290000, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2b0000,
251             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
252             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
253             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
254             0xffffffff, 0xffffffff, 0xffffffff, 0xffff, 0x0, 0x0, 0x0, 0x0,
255             0x0, 0x0, 0x0, 0x0, 0x3f8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
256             0xfffe0000, 0xbfffffff, 0xb6, 0x0, 0x7ff0000, 0x0, 0xfffff800,
257             0x10000, 0x0, 0x0, 0x9fc00000, 0x3d9f, 0x20000, 0xffff0000, 0x7ff,
258             0x0, 0x0, 0x1ffc0, 0x0, 0xff800, 0xfbc00000, 0x3eef, 0xe000000,
259             0x0, 0x0, 0x0, 0x0, 0x7ffffff0, 0x7, 0x14000000, 0xfe21fe, 0xc,
260             0x2, 0x50000000, 0x80201e, 0xc, 0x6, 0x10000000, 0x23986, 0x230000,
261             0x6, 0x10000000, 0x21be, 0xc, 0x2, 0xd0000000, 0xc0201e, 0xc, 0x4,
262             0x40000000, 0x802001, 0x0, 0x0, 0xc0000000, 0x603dc1, 0xc, 0x0,
263             0x90000000, 0x603044, 0xc, 0x0, 0x40000000, 0x80201e, 0xc, 0x0,
264             0x0, 0x805c8400, 0x0, 0x0, 0x7f20000, 0x7f80, 0x0, 0x0, 0x1bf20000,
265             0x3f00, 0x0, 0x3000000, 0x2a00000, 0x0, 0x7ffe0000, 0xfeffe0df,
266             0x1fffffff, 0x40, 0x0, 0x0, 0x66fde000, 0xc3000000, 0x1e0001,
267             0x20002064, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0000000, 0x0, 0x0, 0x0,
268             0x0, 0x0, 0x1c0000, 0x1c0000, 0xc0000, 0xc0000, 0x0, 0x3fb00000,
269             0x200ffe40, 0x0, 0x3800, 0x0, 0x0, 0x0, 0x0, 0x200, 0x0, 0x0, 0x0,
270             0xe040187, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9800000, 0x0,
271             0x7f400000, 0x9ff81fe5, 0x0, 0x0, 0x0, 0x0, 0xf, 0x17d00000, 0x4,
272             0xff800, 0x3, 0xb3c, 0x0, 0x3a340, 0x0, 0xcff000, 0x0, 0x0, 0x0,
273             0x0, 0xfff70000, 0x1021fd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
274             0xffffffff, 0xf000007f, 0x3000, 0x0, 0x0, 0x0, 0x0, 0x0,
275             0xffff0000, 0x1ffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38000,
276             0x0, 0x0, 0x0, 0x80000000, 0x0, 0x0, 0x0, 0xffffffff, 0x0, 0xfc00,
277             0x0, 0x0, 0x6000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff78000,
278             0x80000000, 0x0, 0x0, 0x30000, 0x844, 0x60, 0x0, 0x0, 0x0, 0x0,
279             0x10, 0x3ffff, 0x0, 0x3fc0, 0x3ff80, 0x0, 0x7, 0x13c80000, 0x0,
280             0x0, 0x0, 0x667e00, 0x1008, 0x0, 0x0, 0xc19d0000, 0x2, 0x403000,
281             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2120, 0x40000000, 0x0, 0x0,
282             0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0,
283             0x0, 0x0, 0x0, 0x0, 0x0, 0xc0000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
284             0x0, 0x0, 0x0, 0x0, 0x20000000, 0xf06e, 0x87000000, 0x0, 0x0, 0x0,
285             0x0, 0x0, 0x0, 0x2, 0xff000000, 0x7f, 0x0, 0x3, 0x6780000, 0x0,
286             0x0, 0x7, 0x1fef80, 0x0, 0x0, 0x3, 0x7fc00000, 0x0, 0x0, 0x0, 0x0,
287             0x0, 0x0, 0x0, 0xbf2800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78000,
288             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf807c3a0, 0xfe7, 0x3c00, 0x0, 0x0,
289             0x0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff,
290             0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffff,
291             0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
292 
293 }
294