authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2022-12-22 18:57:40 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2022-12-22 18:57:40 -08:00
log2d9519214d8f00902e79e0b2232aa2b9e1110a84
tree07aa2776d336e64e2ea3640ec2adf84764640c95
parentf7a5fb25c141c3fe2f699918d6658b359190251e

add emoji


6 files changed, 1273 insertions(+), 0 deletions(-)

generate.zig+1
......@@ -1,6 +1,7 @@
11const std = @import("std");
22
33const files = [_]type{
4 @import("./scripts/emoji.zig"),
45 @import("./scripts/Blocks.zig"),
56 @import("./scripts/ArabicShaping.zig"),
67 @import("./scripts/BidiBrackets.zig"),
scripts/_common.zig+22
......@@ -82,3 +82,25 @@ pub fn Main(comptime T: type) type {
8282pub fn nullify(input: []const u8) ?[]const u8 {
8383 return if (input.len == 0) null else input;
8484}
85
86pub fn RangeEnum(comptime prop: []const u8) type {
87 return struct {
88 pub fn exec(alloc: std.mem.Allocator, line: []const u8, writer: anytype) !bool {
89 _ = alloc;
90 var it = std.mem.tokenize(u8, line, "; ");
91
92 const first = it.next().?;
93 const next = std.mem.trimRight(u8, it.next().?, "#");
94
95 if (std.mem.indexOf(u8, first, "..")) |index| {
96 const start = first[0..index];
97 const end = first[index + 2 ..];
98 try writer.print(" .{{ .from = 0x{s}, .to = 0x{s}, .{s} = .{s} }},\n", .{ start, end, prop, next });
99 } else {
100 try writer.print(" .{{ .from = 0x{s}, .to = 0x{s}, .{s} = .{s} }},\n", .{ first, first, prop, next });
101 }
102
103 return true;
104 }
105 };
106}
scripts/emoji.zig created+33
......@@ -0,0 +1,33 @@
1const std = @import("std");
2const common = @import("./_common.zig");
3
4pub usingnamespace common.Main(struct {
5 pub const source_file = "emoji/emoji-data";
6
7 pub const dest_file = "src/emoji.zig";
8
9 pub const dest_header =
10 \\pub const Emoji = struct {
11 \\ from: u21,
12 \\ to: u21,
13 \\ category: enum {
14 \\ Emoji,
15 \\ Emoji_Presentation,
16 \\ Emoji_Modifier,
17 \\ Emoji_Modifier_Base,
18 \\ Emoji_Component,
19 \\ Extended_Pictographic,
20 \\ },
21 \\};
22 \\
23 \\pub const data = [_]Emoji{
24 \\
25 ;
26
27 pub const dest_footer =
28 \\};
29 \\
30 ;
31
32 pub usingnamespace common.RangeEnum("category");
33});
src/emoji.zig created+1215
......@@ -0,0 +1,1215 @@
1// This file is part of the Unicode Character Database
2// For documentation, see http://www.unicode.org/reports/tr44/
3//
4// Based on the source file: https://unicode.org/Public/13.0.0/ucd/emoji/emoji-data.txt
5//
6// zig fmt: off
7
8pub const Emoji = struct {
9 from: u21,
10 to: u21,
11 category: enum {
12 Emoji,
13 Emoji_Presentation,
14 Emoji_Modifier,
15 Emoji_Modifier_Base,
16 Emoji_Component,
17 Extended_Pictographic,
18 },
19};
20
21pub const data = [_]Emoji{
22 .{ .from = 0x0023, .to = 0x0023, .category = .Emoji },
23 .{ .from = 0x002A, .to = 0x002A, .category = .Emoji },
24 .{ .from = 0x0030, .to = 0x0039, .category = .Emoji },
25 .{ .from = 0x00A9, .to = 0x00A9, .category = .Emoji },
26 .{ .from = 0x00AE, .to = 0x00AE, .category = .Emoji },
27 .{ .from = 0x203C, .to = 0x203C, .category = .Emoji },
28 .{ .from = 0x2049, .to = 0x2049, .category = .Emoji },
29 .{ .from = 0x2122, .to = 0x2122, .category = .Emoji },
30 .{ .from = 0x2139, .to = 0x2139, .category = .Emoji },
31 .{ .from = 0x2194, .to = 0x2199, .category = .Emoji },
32 .{ .from = 0x21A9, .to = 0x21AA, .category = .Emoji },
33 .{ .from = 0x231A, .to = 0x231B, .category = .Emoji },
34 .{ .from = 0x2328, .to = 0x2328, .category = .Emoji },
35 .{ .from = 0x23CF, .to = 0x23CF, .category = .Emoji },
36 .{ .from = 0x23E9, .to = 0x23EC, .category = .Emoji },
37 .{ .from = 0x23ED, .to = 0x23EE, .category = .Emoji },
38 .{ .from = 0x23EF, .to = 0x23EF, .category = .Emoji },
39 .{ .from = 0x23F0, .to = 0x23F0, .category = .Emoji },
40 .{ .from = 0x23F1, .to = 0x23F2, .category = .Emoji },
41 .{ .from = 0x23F3, .to = 0x23F3, .category = .Emoji },
42 .{ .from = 0x23F8, .to = 0x23FA, .category = .Emoji },
43 .{ .from = 0x24C2, .to = 0x24C2, .category = .Emoji },
44 .{ .from = 0x25AA, .to = 0x25AB, .category = .Emoji },
45 .{ .from = 0x25B6, .to = 0x25B6, .category = .Emoji },
46 .{ .from = 0x25C0, .to = 0x25C0, .category = .Emoji },
47 .{ .from = 0x25FB, .to = 0x25FE, .category = .Emoji },
48 .{ .from = 0x2600, .to = 0x2601, .category = .Emoji },
49 .{ .from = 0x2602, .to = 0x2603, .category = .Emoji },
50 .{ .from = 0x2604, .to = 0x2604, .category = .Emoji },
51 .{ .from = 0x260E, .to = 0x260E, .category = .Emoji },
52 .{ .from = 0x2611, .to = 0x2611, .category = .Emoji },
53 .{ .from = 0x2614, .to = 0x2615, .category = .Emoji },
54 .{ .from = 0x2618, .to = 0x2618, .category = .Emoji },
55 .{ .from = 0x261D, .to = 0x261D, .category = .Emoji },
56 .{ .from = 0x2620, .to = 0x2620, .category = .Emoji },
57 .{ .from = 0x2622, .to = 0x2623, .category = .Emoji },
58 .{ .from = 0x2626, .to = 0x2626, .category = .Emoji },
59 .{ .from = 0x262A, .to = 0x262A, .category = .Emoji },
60 .{ .from = 0x262E, .to = 0x262E, .category = .Emoji },
61 .{ .from = 0x262F, .to = 0x262F, .category = .Emoji },
62 .{ .from = 0x2638, .to = 0x2639, .category = .Emoji },
63 .{ .from = 0x263A, .to = 0x263A, .category = .Emoji },
64 .{ .from = 0x2640, .to = 0x2640, .category = .Emoji },
65 .{ .from = 0x2642, .to = 0x2642, .category = .Emoji },
66 .{ .from = 0x2648, .to = 0x2653, .category = .Emoji },
67 .{ .from = 0x265F, .to = 0x265F, .category = .Emoji },
68 .{ .from = 0x2660, .to = 0x2660, .category = .Emoji },
69 .{ .from = 0x2663, .to = 0x2663, .category = .Emoji },
70 .{ .from = 0x2665, .to = 0x2666, .category = .Emoji },
71 .{ .from = 0x2668, .to = 0x2668, .category = .Emoji },
72 .{ .from = 0x267B, .to = 0x267B, .category = .Emoji },
73 .{ .from = 0x267E, .to = 0x267E, .category = .Emoji },
74 .{ .from = 0x267F, .to = 0x267F, .category = .Emoji },
75 .{ .from = 0x2692, .to = 0x2692, .category = .Emoji },
76 .{ .from = 0x2693, .to = 0x2693, .category = .Emoji },
77 .{ .from = 0x2694, .to = 0x2694, .category = .Emoji },
78 .{ .from = 0x2695, .to = 0x2695, .category = .Emoji },
79 .{ .from = 0x2696, .to = 0x2697, .category = .Emoji },
80 .{ .from = 0x2699, .to = 0x2699, .category = .Emoji },
81 .{ .from = 0x269B, .to = 0x269C, .category = .Emoji },
82 .{ .from = 0x26A0, .to = 0x26A1, .category = .Emoji },
83 .{ .from = 0x26A7, .to = 0x26A7, .category = .Emoji },
84 .{ .from = 0x26AA, .to = 0x26AB, .category = .Emoji },
85 .{ .from = 0x26B0, .to = 0x26B1, .category = .Emoji },
86 .{ .from = 0x26BD, .to = 0x26BE, .category = .Emoji },
87 .{ .from = 0x26C4, .to = 0x26C5, .category = .Emoji },
88 .{ .from = 0x26C8, .to = 0x26C8, .category = .Emoji },
89 .{ .from = 0x26CE, .to = 0x26CE, .category = .Emoji },
90 .{ .from = 0x26CF, .to = 0x26CF, .category = .Emoji },
91 .{ .from = 0x26D1, .to = 0x26D1, .category = .Emoji },
92 .{ .from = 0x26D3, .to = 0x26D3, .category = .Emoji },
93 .{ .from = 0x26D4, .to = 0x26D4, .category = .Emoji },
94 .{ .from = 0x26E9, .to = 0x26E9, .category = .Emoji },
95 .{ .from = 0x26EA, .to = 0x26EA, .category = .Emoji },
96 .{ .from = 0x26F0, .to = 0x26F1, .category = .Emoji },
97 .{ .from = 0x26F2, .to = 0x26F3, .category = .Emoji },
98 .{ .from = 0x26F4, .to = 0x26F4, .category = .Emoji },
99 .{ .from = 0x26F5, .to = 0x26F5, .category = .Emoji },
100 .{ .from = 0x26F7, .to = 0x26F9, .category = .Emoji },
101 .{ .from = 0x26FA, .to = 0x26FA, .category = .Emoji },
102 .{ .from = 0x26FD, .to = 0x26FD, .category = .Emoji },
103 .{ .from = 0x2702, .to = 0x2702, .category = .Emoji },
104 .{ .from = 0x2705, .to = 0x2705, .category = .Emoji },
105 .{ .from = 0x2708, .to = 0x270C, .category = .Emoji },
106 .{ .from = 0x270D, .to = 0x270D, .category = .Emoji },
107 .{ .from = 0x270F, .to = 0x270F, .category = .Emoji },
108 .{ .from = 0x2712, .to = 0x2712, .category = .Emoji },
109 .{ .from = 0x2714, .to = 0x2714, .category = .Emoji },
110 .{ .from = 0x2716, .to = 0x2716, .category = .Emoji },
111 .{ .from = 0x271D, .to = 0x271D, .category = .Emoji },
112 .{ .from = 0x2721, .to = 0x2721, .category = .Emoji },
113 .{ .from = 0x2728, .to = 0x2728, .category = .Emoji },
114 .{ .from = 0x2733, .to = 0x2734, .category = .Emoji },
115 .{ .from = 0x2744, .to = 0x2744, .category = .Emoji },
116 .{ .from = 0x2747, .to = 0x2747, .category = .Emoji },
117 .{ .from = 0x274C, .to = 0x274C, .category = .Emoji },
118 .{ .from = 0x274E, .to = 0x274E, .category = .Emoji },
119 .{ .from = 0x2753, .to = 0x2755, .category = .Emoji },
120 .{ .from = 0x2757, .to = 0x2757, .category = .Emoji },
121 .{ .from = 0x2763, .to = 0x2763, .category = .Emoji },
122 .{ .from = 0x2764, .to = 0x2764, .category = .Emoji },
123 .{ .from = 0x2795, .to = 0x2797, .category = .Emoji },
124 .{ .from = 0x27A1, .to = 0x27A1, .category = .Emoji },
125 .{ .from = 0x27B0, .to = 0x27B0, .category = .Emoji },
126 .{ .from = 0x27BF, .to = 0x27BF, .category = .Emoji },
127 .{ .from = 0x2934, .to = 0x2935, .category = .Emoji },
128 .{ .from = 0x2B05, .to = 0x2B07, .category = .Emoji },
129 .{ .from = 0x2B1B, .to = 0x2B1C, .category = .Emoji },
130 .{ .from = 0x2B50, .to = 0x2B50, .category = .Emoji },
131 .{ .from = 0x2B55, .to = 0x2B55, .category = .Emoji },
132 .{ .from = 0x3030, .to = 0x3030, .category = .Emoji },
133 .{ .from = 0x303D, .to = 0x303D, .category = .Emoji },
134 .{ .from = 0x3297, .to = 0x3297, .category = .Emoji },
135 .{ .from = 0x3299, .to = 0x3299, .category = .Emoji },
136 .{ .from = 0x1F004, .to = 0x1F004, .category = .Emoji },
137 .{ .from = 0x1F0CF, .to = 0x1F0CF, .category = .Emoji },
138 .{ .from = 0x1F170, .to = 0x1F171, .category = .Emoji },
139 .{ .from = 0x1F17E, .to = 0x1F17F, .category = .Emoji },
140 .{ .from = 0x1F18E, .to = 0x1F18E, .category = .Emoji },
141 .{ .from = 0x1F191, .to = 0x1F19A, .category = .Emoji },
142 .{ .from = 0x1F1E6, .to = 0x1F1FF, .category = .Emoji },
143 .{ .from = 0x1F201, .to = 0x1F202, .category = .Emoji },
144 .{ .from = 0x1F21A, .to = 0x1F21A, .category = .Emoji },
145 .{ .from = 0x1F22F, .to = 0x1F22F, .category = .Emoji },
146 .{ .from = 0x1F232, .to = 0x1F23A, .category = .Emoji },
147 .{ .from = 0x1F250, .to = 0x1F251, .category = .Emoji },
148 .{ .from = 0x1F300, .to = 0x1F30C, .category = .Emoji },
149 .{ .from = 0x1F30D, .to = 0x1F30E, .category = .Emoji },
150 .{ .from = 0x1F30F, .to = 0x1F30F, .category = .Emoji },
151 .{ .from = 0x1F310, .to = 0x1F310, .category = .Emoji },
152 .{ .from = 0x1F311, .to = 0x1F311, .category = .Emoji },
153 .{ .from = 0x1F312, .to = 0x1F312, .category = .Emoji },
154 .{ .from = 0x1F313, .to = 0x1F315, .category = .Emoji },
155 .{ .from = 0x1F316, .to = 0x1F318, .category = .Emoji },
156 .{ .from = 0x1F319, .to = 0x1F319, .category = .Emoji },
157 .{ .from = 0x1F31A, .to = 0x1F31A, .category = .Emoji },
158 .{ .from = 0x1F31B, .to = 0x1F31B, .category = .Emoji },
159 .{ .from = 0x1F31C, .to = 0x1F31C, .category = .Emoji },
160 .{ .from = 0x1F31D, .to = 0x1F31E, .category = .Emoji },
161 .{ .from = 0x1F31F, .to = 0x1F320, .category = .Emoji },
162 .{ .from = 0x1F321, .to = 0x1F321, .category = .Emoji },
163 .{ .from = 0x1F324, .to = 0x1F32C, .category = .Emoji },
164 .{ .from = 0x1F32D, .to = 0x1F32F, .category = .Emoji },
165 .{ .from = 0x1F330, .to = 0x1F331, .category = .Emoji },
166 .{ .from = 0x1F332, .to = 0x1F333, .category = .Emoji },
167 .{ .from = 0x1F334, .to = 0x1F335, .category = .Emoji },
168 .{ .from = 0x1F336, .to = 0x1F336, .category = .Emoji },
169 .{ .from = 0x1F337, .to = 0x1F34A, .category = .Emoji },
170 .{ .from = 0x1F34B, .to = 0x1F34B, .category = .Emoji },
171 .{ .from = 0x1F34C, .to = 0x1F34F, .category = .Emoji },
172 .{ .from = 0x1F350, .to = 0x1F350, .category = .Emoji },
173 .{ .from = 0x1F351, .to = 0x1F37B, .category = .Emoji },
174 .{ .from = 0x1F37C, .to = 0x1F37C, .category = .Emoji },
175 .{ .from = 0x1F37D, .to = 0x1F37D, .category = .Emoji },
176 .{ .from = 0x1F37E, .to = 0x1F37F, .category = .Emoji },
177 .{ .from = 0x1F380, .to = 0x1F393, .category = .Emoji },
178 .{ .from = 0x1F396, .to = 0x1F397, .category = .Emoji },
179 .{ .from = 0x1F399, .to = 0x1F39B, .category = .Emoji },
180 .{ .from = 0x1F39E, .to = 0x1F39F, .category = .Emoji },
181 .{ .from = 0x1F3A0, .to = 0x1F3C4, .category = .Emoji },
182 .{ .from = 0x1F3C5, .to = 0x1F3C5, .category = .Emoji },
183 .{ .from = 0x1F3C6, .to = 0x1F3C6, .category = .Emoji },
184 .{ .from = 0x1F3C7, .to = 0x1F3C7, .category = .Emoji },
185 .{ .from = 0x1F3C8, .to = 0x1F3C8, .category = .Emoji },
186 .{ .from = 0x1F3C9, .to = 0x1F3C9, .category = .Emoji },
187 .{ .from = 0x1F3CA, .to = 0x1F3CA, .category = .Emoji },
188 .{ .from = 0x1F3CB, .to = 0x1F3CE, .category = .Emoji },
189 .{ .from = 0x1F3CF, .to = 0x1F3D3, .category = .Emoji },
190 .{ .from = 0x1F3D4, .to = 0x1F3DF, .category = .Emoji },
191 .{ .from = 0x1F3E0, .to = 0x1F3E3, .category = .Emoji },
192 .{ .from = 0x1F3E4, .to = 0x1F3E4, .category = .Emoji },
193 .{ .from = 0x1F3E5, .to = 0x1F3F0, .category = .Emoji },
194 .{ .from = 0x1F3F3, .to = 0x1F3F3, .category = .Emoji },
195 .{ .from = 0x1F3F4, .to = 0x1F3F4, .category = .Emoji },
196 .{ .from = 0x1F3F5, .to = 0x1F3F5, .category = .Emoji },
197 .{ .from = 0x1F3F7, .to = 0x1F3F7, .category = .Emoji },
198 .{ .from = 0x1F3F8, .to = 0x1F407, .category = .Emoji },
199 .{ .from = 0x1F408, .to = 0x1F408, .category = .Emoji },
200 .{ .from = 0x1F409, .to = 0x1F40B, .category = .Emoji },
201 .{ .from = 0x1F40C, .to = 0x1F40E, .category = .Emoji },
202 .{ .from = 0x1F40F, .to = 0x1F410, .category = .Emoji },
203 .{ .from = 0x1F411, .to = 0x1F412, .category = .Emoji },
204 .{ .from = 0x1F413, .to = 0x1F413, .category = .Emoji },
205 .{ .from = 0x1F414, .to = 0x1F414, .category = .Emoji },
206 .{ .from = 0x1F415, .to = 0x1F415, .category = .Emoji },
207 .{ .from = 0x1F416, .to = 0x1F416, .category = .Emoji },
208 .{ .from = 0x1F417, .to = 0x1F429, .category = .Emoji },
209 .{ .from = 0x1F42A, .to = 0x1F42A, .category = .Emoji },
210 .{ .from = 0x1F42B, .to = 0x1F43E, .category = .Emoji },
211 .{ .from = 0x1F43F, .to = 0x1F43F, .category = .Emoji },
212 .{ .from = 0x1F440, .to = 0x1F440, .category = .Emoji },
213 .{ .from = 0x1F441, .to = 0x1F441, .category = .Emoji },
214 .{ .from = 0x1F442, .to = 0x1F464, .category = .Emoji },
215 .{ .from = 0x1F465, .to = 0x1F465, .category = .Emoji },
216 .{ .from = 0x1F466, .to = 0x1F46B, .category = .Emoji },
217 .{ .from = 0x1F46C, .to = 0x1F46D, .category = .Emoji },
218 .{ .from = 0x1F46E, .to = 0x1F4AC, .category = .Emoji },
219 .{ .from = 0x1F4AD, .to = 0x1F4AD, .category = .Emoji },
220 .{ .from = 0x1F4AE, .to = 0x1F4B5, .category = .Emoji },
221 .{ .from = 0x1F4B6, .to = 0x1F4B7, .category = .Emoji },
222 .{ .from = 0x1F4B8, .to = 0x1F4EB, .category = .Emoji },
223 .{ .from = 0x1F4EC, .to = 0x1F4ED, .category = .Emoji },
224 .{ .from = 0x1F4EE, .to = 0x1F4EE, .category = .Emoji },
225 .{ .from = 0x1F4EF, .to = 0x1F4EF, .category = .Emoji },
226 .{ .from = 0x1F4F0, .to = 0x1F4F4, .category = .Emoji },
227 .{ .from = 0x1F4F5, .to = 0x1F4F5, .category = .Emoji },
228 .{ .from = 0x1F4F6, .to = 0x1F4F7, .category = .Emoji },
229 .{ .from = 0x1F4F8, .to = 0x1F4F8, .category = .Emoji },
230 .{ .from = 0x1F4F9, .to = 0x1F4FC, .category = .Emoji },
231 .{ .from = 0x1F4FD, .to = 0x1F4FD, .category = .Emoji },
232 .{ .from = 0x1F4FF, .to = 0x1F502, .category = .Emoji },
233 .{ .from = 0x1F503, .to = 0x1F503, .category = .Emoji },
234 .{ .from = 0x1F504, .to = 0x1F507, .category = .Emoji },
235 .{ .from = 0x1F508, .to = 0x1F508, .category = .Emoji },
236 .{ .from = 0x1F509, .to = 0x1F509, .category = .Emoji },
237 .{ .from = 0x1F50A, .to = 0x1F514, .category = .Emoji },
238 .{ .from = 0x1F515, .to = 0x1F515, .category = .Emoji },
239 .{ .from = 0x1F516, .to = 0x1F52B, .category = .Emoji },
240 .{ .from = 0x1F52C, .to = 0x1F52D, .category = .Emoji },
241 .{ .from = 0x1F52E, .to = 0x1F53D, .category = .Emoji },
242 .{ .from = 0x1F549, .to = 0x1F54A, .category = .Emoji },
243 .{ .from = 0x1F54B, .to = 0x1F54E, .category = .Emoji },
244 .{ .from = 0x1F550, .to = 0x1F55B, .category = .Emoji },
245 .{ .from = 0x1F55C, .to = 0x1F567, .category = .Emoji },
246 .{ .from = 0x1F56F, .to = 0x1F570, .category = .Emoji },
247 .{ .from = 0x1F573, .to = 0x1F579, .category = .Emoji },
248 .{ .from = 0x1F57A, .to = 0x1F57A, .category = .Emoji },
249 .{ .from = 0x1F587, .to = 0x1F587, .category = .Emoji },
250 .{ .from = 0x1F58A, .to = 0x1F58D, .category = .Emoji },
251 .{ .from = 0x1F590, .to = 0x1F590, .category = .Emoji },
252 .{ .from = 0x1F595, .to = 0x1F596, .category = .Emoji },
253 .{ .from = 0x1F5A4, .to = 0x1F5A4, .category = .Emoji },
254 .{ .from = 0x1F5A5, .to = 0x1F5A5, .category = .Emoji },
255 .{ .from = 0x1F5A8, .to = 0x1F5A8, .category = .Emoji },
256 .{ .from = 0x1F5B1, .to = 0x1F5B2, .category = .Emoji },
257 .{ .from = 0x1F5BC, .to = 0x1F5BC, .category = .Emoji },
258 .{ .from = 0x1F5C2, .to = 0x1F5C4, .category = .Emoji },
259 .{ .from = 0x1F5D1, .to = 0x1F5D3, .category = .Emoji },
260 .{ .from = 0x1F5DC, .to = 0x1F5DE, .category = .Emoji },
261 .{ .from = 0x1F5E1, .to = 0x1F5E1, .category = .Emoji },
262 .{ .from = 0x1F5E3, .to = 0x1F5E3, .category = .Emoji },
263 .{ .from = 0x1F5E8, .to = 0x1F5E8, .category = .Emoji },
264 .{ .from = 0x1F5EF, .to = 0x1F5EF, .category = .Emoji },
265 .{ .from = 0x1F5F3, .to = 0x1F5F3, .category = .Emoji },
266 .{ .from = 0x1F5FA, .to = 0x1F5FA, .category = .Emoji },
267 .{ .from = 0x1F5FB, .to = 0x1F5FF, .category = .Emoji },
268 .{ .from = 0x1F600, .to = 0x1F600, .category = .Emoji },
269 .{ .from = 0x1F601, .to = 0x1F606, .category = .Emoji },
270 .{ .from = 0x1F607, .to = 0x1F608, .category = .Emoji },
271 .{ .from = 0x1F609, .to = 0x1F60D, .category = .Emoji },
272 .{ .from = 0x1F60E, .to = 0x1F60E, .category = .Emoji },
273 .{ .from = 0x1F60F, .to = 0x1F60F, .category = .Emoji },
274 .{ .from = 0x1F610, .to = 0x1F610, .category = .Emoji },
275 .{ .from = 0x1F611, .to = 0x1F611, .category = .Emoji },
276 .{ .from = 0x1F612, .to = 0x1F614, .category = .Emoji },
277 .{ .from = 0x1F615, .to = 0x1F615, .category = .Emoji },
278 .{ .from = 0x1F616, .to = 0x1F616, .category = .Emoji },
279 .{ .from = 0x1F617, .to = 0x1F617, .category = .Emoji },
280 .{ .from = 0x1F618, .to = 0x1F618, .category = .Emoji },
281 .{ .from = 0x1F619, .to = 0x1F619, .category = .Emoji },
282 .{ .from = 0x1F61A, .to = 0x1F61A, .category = .Emoji },
283 .{ .from = 0x1F61B, .to = 0x1F61B, .category = .Emoji },
284 .{ .from = 0x1F61C, .to = 0x1F61E, .category = .Emoji },
285 .{ .from = 0x1F61F, .to = 0x1F61F, .category = .Emoji },
286 .{ .from = 0x1F620, .to = 0x1F625, .category = .Emoji },
287 .{ .from = 0x1F626, .to = 0x1F627, .category = .Emoji },
288 .{ .from = 0x1F628, .to = 0x1F62B, .category = .Emoji },
289 .{ .from = 0x1F62C, .to = 0x1F62C, .category = .Emoji },
290 .{ .from = 0x1F62D, .to = 0x1F62D, .category = .Emoji },
291 .{ .from = 0x1F62E, .to = 0x1F62F, .category = .Emoji },
292 .{ .from = 0x1F630, .to = 0x1F633, .category = .Emoji },
293 .{ .from = 0x1F634, .to = 0x1F634, .category = .Emoji },
294 .{ .from = 0x1F635, .to = 0x1F635, .category = .Emoji },
295 .{ .from = 0x1F636, .to = 0x1F636, .category = .Emoji },
296 .{ .from = 0x1F637, .to = 0x1F640, .category = .Emoji },
297 .{ .from = 0x1F641, .to = 0x1F644, .category = .Emoji },
298 .{ .from = 0x1F645, .to = 0x1F64F, .category = .Emoji },
299 .{ .from = 0x1F680, .to = 0x1F680, .category = .Emoji },
300 .{ .from = 0x1F681, .to = 0x1F682, .category = .Emoji },
301 .{ .from = 0x1F683, .to = 0x1F685, .category = .Emoji },
302 .{ .from = 0x1F686, .to = 0x1F686, .category = .Emoji },
303 .{ .from = 0x1F687, .to = 0x1F687, .category = .Emoji },
304 .{ .from = 0x1F688, .to = 0x1F688, .category = .Emoji },
305 .{ .from = 0x1F689, .to = 0x1F689, .category = .Emoji },
306 .{ .from = 0x1F68A, .to = 0x1F68B, .category = .Emoji },
307 .{ .from = 0x1F68C, .to = 0x1F68C, .category = .Emoji },
308 .{ .from = 0x1F68D, .to = 0x1F68D, .category = .Emoji },
309 .{ .from = 0x1F68E, .to = 0x1F68E, .category = .Emoji },
310 .{ .from = 0x1F68F, .to = 0x1F68F, .category = .Emoji },
311 .{ .from = 0x1F690, .to = 0x1F690, .category = .Emoji },
312 .{ .from = 0x1F691, .to = 0x1F693, .category = .Emoji },
313 .{ .from = 0x1F694, .to = 0x1F694, .category = .Emoji },
314 .{ .from = 0x1F695, .to = 0x1F695, .category = .Emoji },
315 .{ .from = 0x1F696, .to = 0x1F696, .category = .Emoji },
316 .{ .from = 0x1F697, .to = 0x1F697, .category = .Emoji },
317 .{ .from = 0x1F698, .to = 0x1F698, .category = .Emoji },
318 .{ .from = 0x1F699, .to = 0x1F69A, .category = .Emoji },
319 .{ .from = 0x1F69B, .to = 0x1F6A1, .category = .Emoji },
320 .{ .from = 0x1F6A2, .to = 0x1F6A2, .category = .Emoji },
321 .{ .from = 0x1F6A3, .to = 0x1F6A3, .category = .Emoji },
322 .{ .from = 0x1F6A4, .to = 0x1F6A5, .category = .Emoji },
323 .{ .from = 0x1F6A6, .to = 0x1F6A6, .category = .Emoji },
324 .{ .from = 0x1F6A7, .to = 0x1F6AD, .category = .Emoji },
325 .{ .from = 0x1F6AE, .to = 0x1F6B1, .category = .Emoji },
326 .{ .from = 0x1F6B2, .to = 0x1F6B2, .category = .Emoji },
327 .{ .from = 0x1F6B3, .to = 0x1F6B5, .category = .Emoji },
328 .{ .from = 0x1F6B6, .to = 0x1F6B6, .category = .Emoji },
329 .{ .from = 0x1F6B7, .to = 0x1F6B8, .category = .Emoji },
330 .{ .from = 0x1F6B9, .to = 0x1F6BE, .category = .Emoji },
331 .{ .from = 0x1F6BF, .to = 0x1F6BF, .category = .Emoji },
332 .{ .from = 0x1F6C0, .to = 0x1F6C0, .category = .Emoji },
333 .{ .from = 0x1F6C1, .to = 0x1F6C5, .category = .Emoji },
334 .{ .from = 0x1F6CB, .to = 0x1F6CB, .category = .Emoji },
335 .{ .from = 0x1F6CC, .to = 0x1F6CC, .category = .Emoji },
336 .{ .from = 0x1F6CD, .to = 0x1F6CF, .category = .Emoji },
337 .{ .from = 0x1F6D0, .to = 0x1F6D0, .category = .Emoji },
338 .{ .from = 0x1F6D1, .to = 0x1F6D2, .category = .Emoji },
339 .{ .from = 0x1F6D5, .to = 0x1F6D5, .category = .Emoji },
340 .{ .from = 0x1F6D6, .to = 0x1F6D7, .category = .Emoji },
341 .{ .from = 0x1F6E0, .to = 0x1F6E5, .category = .Emoji },
342 .{ .from = 0x1F6E9, .to = 0x1F6E9, .category = .Emoji },
343 .{ .from = 0x1F6EB, .to = 0x1F6EC, .category = .Emoji },
344 .{ .from = 0x1F6F0, .to = 0x1F6F0, .category = .Emoji },
345 .{ .from = 0x1F6F3, .to = 0x1F6F3, .category = .Emoji },
346 .{ .from = 0x1F6F4, .to = 0x1F6F6, .category = .Emoji },
347 .{ .from = 0x1F6F7, .to = 0x1F6F8, .category = .Emoji },
348 .{ .from = 0x1F6F9, .to = 0x1F6F9, .category = .Emoji },
349 .{ .from = 0x1F6FA, .to = 0x1F6FA, .category = .Emoji },
350 .{ .from = 0x1F6FB, .to = 0x1F6FC, .category = .Emoji },
351 .{ .from = 0x1F7E0, .to = 0x1F7EB, .category = .Emoji },
352 .{ .from = 0x1F90C, .to = 0x1F90C, .category = .Emoji },
353 .{ .from = 0x1F90D, .to = 0x1F90F, .category = .Emoji },
354 .{ .from = 0x1F910, .to = 0x1F918, .category = .Emoji },
355 .{ .from = 0x1F919, .to = 0x1F91E, .category = .Emoji },
356 .{ .from = 0x1F91F, .to = 0x1F91F, .category = .Emoji },
357 .{ .from = 0x1F920, .to = 0x1F927, .category = .Emoji },
358 .{ .from = 0x1F928, .to = 0x1F92F, .category = .Emoji },
359 .{ .from = 0x1F930, .to = 0x1F930, .category = .Emoji },
360 .{ .from = 0x1F931, .to = 0x1F932, .category = .Emoji },
361 .{ .from = 0x1F933, .to = 0x1F93A, .category = .Emoji },
362 .{ .from = 0x1F93C, .to = 0x1F93E, .category = .Emoji },
363 .{ .from = 0x1F93F, .to = 0x1F93F, .category = .Emoji },
364 .{ .from = 0x1F940, .to = 0x1F945, .category = .Emoji },
365 .{ .from = 0x1F947, .to = 0x1F94B, .category = .Emoji },
366 .{ .from = 0x1F94C, .to = 0x1F94C, .category = .Emoji },
367 .{ .from = 0x1F94D, .to = 0x1F94F, .category = .Emoji },
368 .{ .from = 0x1F950, .to = 0x1F95E, .category = .Emoji },
369 .{ .from = 0x1F95F, .to = 0x1F96B, .category = .Emoji },
370 .{ .from = 0x1F96C, .to = 0x1F970, .category = .Emoji },
371 .{ .from = 0x1F971, .to = 0x1F971, .category = .Emoji },
372 .{ .from = 0x1F972, .to = 0x1F972, .category = .Emoji },
373 .{ .from = 0x1F973, .to = 0x1F976, .category = .Emoji },
374 .{ .from = 0x1F977, .to = 0x1F978, .category = .Emoji },
375 .{ .from = 0x1F97A, .to = 0x1F97A, .category = .Emoji },
376 .{ .from = 0x1F97B, .to = 0x1F97B, .category = .Emoji },
377 .{ .from = 0x1F97C, .to = 0x1F97F, .category = .Emoji },
378 .{ .from = 0x1F980, .to = 0x1F984, .category = .Emoji },
379 .{ .from = 0x1F985, .to = 0x1F991, .category = .Emoji },
380 .{ .from = 0x1F992, .to = 0x1F997, .category = .Emoji },
381 .{ .from = 0x1F998, .to = 0x1F9A2, .category = .Emoji },
382 .{ .from = 0x1F9A3, .to = 0x1F9A4, .category = .Emoji },
383 .{ .from = 0x1F9A5, .to = 0x1F9AA, .category = .Emoji },
384 .{ .from = 0x1F9AB, .to = 0x1F9AD, .category = .Emoji },
385 .{ .from = 0x1F9AE, .to = 0x1F9AF, .category = .Emoji },
386 .{ .from = 0x1F9B0, .to = 0x1F9B9, .category = .Emoji },
387 .{ .from = 0x1F9BA, .to = 0x1F9BF, .category = .Emoji },
388 .{ .from = 0x1F9C0, .to = 0x1F9C0, .category = .Emoji },
389 .{ .from = 0x1F9C1, .to = 0x1F9C2, .category = .Emoji },
390 .{ .from = 0x1F9C3, .to = 0x1F9CA, .category = .Emoji },
391 .{ .from = 0x1F9CB, .to = 0x1F9CB, .category = .Emoji },
392 .{ .from = 0x1F9CD, .to = 0x1F9CF, .category = .Emoji },
393 .{ .from = 0x1F9D0, .to = 0x1F9E6, .category = .Emoji },
394 .{ .from = 0x1F9E7, .to = 0x1F9FF, .category = .Emoji },
395 .{ .from = 0x1FA70, .to = 0x1FA73, .category = .Emoji },
396 .{ .from = 0x1FA74, .to = 0x1FA74, .category = .Emoji },
397 .{ .from = 0x1FA78, .to = 0x1FA7A, .category = .Emoji },
398 .{ .from = 0x1FA80, .to = 0x1FA82, .category = .Emoji },
399 .{ .from = 0x1FA83, .to = 0x1FA86, .category = .Emoji },
400 .{ .from = 0x1FA90, .to = 0x1FA95, .category = .Emoji },
401 .{ .from = 0x1FA96, .to = 0x1FAA8, .category = .Emoji },
402 .{ .from = 0x1FAB0, .to = 0x1FAB6, .category = .Emoji },
403 .{ .from = 0x1FAC0, .to = 0x1FAC2, .category = .Emoji },
404 .{ .from = 0x1FAD0, .to = 0x1FAD6, .category = .Emoji },
405 .{ .from = 0x231A, .to = 0x231B, .category = .Emoji_Presentation },
406 .{ .from = 0x23E9, .to = 0x23EC, .category = .Emoji_Presentation },
407 .{ .from = 0x23F0, .to = 0x23F0, .category = .Emoji_Presentation },
408 .{ .from = 0x23F3, .to = 0x23F3, .category = .Emoji_Presentation },
409 .{ .from = 0x25FD, .to = 0x25FE, .category = .Emoji_Presentation },
410 .{ .from = 0x2614, .to = 0x2615, .category = .Emoji_Presentation },
411 .{ .from = 0x2648, .to = 0x2653, .category = .Emoji_Presentation },
412 .{ .from = 0x267F, .to = 0x267F, .category = .Emoji_Presentation },
413 .{ .from = 0x2693, .to = 0x2693, .category = .Emoji_Presentation },
414 .{ .from = 0x26A1, .to = 0x26A1, .category = .Emoji_Presentation },
415 .{ .from = 0x26AA, .to = 0x26AB, .category = .Emoji_Presentation },
416 .{ .from = 0x26BD, .to = 0x26BE, .category = .Emoji_Presentation },
417 .{ .from = 0x26C4, .to = 0x26C5, .category = .Emoji_Presentation },
418 .{ .from = 0x26CE, .to = 0x26CE, .category = .Emoji_Presentation },
419 .{ .from = 0x26D4, .to = 0x26D4, .category = .Emoji_Presentation },
420 .{ .from = 0x26EA, .to = 0x26EA, .category = .Emoji_Presentation },
421 .{ .from = 0x26F2, .to = 0x26F3, .category = .Emoji_Presentation },
422 .{ .from = 0x26F5, .to = 0x26F5, .category = .Emoji_Presentation },
423 .{ .from = 0x26FA, .to = 0x26FA, .category = .Emoji_Presentation },
424 .{ .from = 0x26FD, .to = 0x26FD, .category = .Emoji_Presentation },
425 .{ .from = 0x2705, .to = 0x2705, .category = .Emoji_Presentation },
426 .{ .from = 0x270A, .to = 0x270B, .category = .Emoji_Presentation },
427 .{ .from = 0x2728, .to = 0x2728, .category = .Emoji_Presentation },
428 .{ .from = 0x274C, .to = 0x274C, .category = .Emoji_Presentation },
429 .{ .from = 0x274E, .to = 0x274E, .category = .Emoji_Presentation },
430 .{ .from = 0x2753, .to = 0x2755, .category = .Emoji_Presentation },
431 .{ .from = 0x2757, .to = 0x2757, .category = .Emoji_Presentation },
432 .{ .from = 0x2795, .to = 0x2797, .category = .Emoji_Presentation },
433 .{ .from = 0x27B0, .to = 0x27B0, .category = .Emoji_Presentation },
434 .{ .from = 0x27BF, .to = 0x27BF, .category = .Emoji_Presentation },
435 .{ .from = 0x2B1B, .to = 0x2B1C, .category = .Emoji_Presentation },
436 .{ .from = 0x2B50, .to = 0x2B50, .category = .Emoji_Presentation },
437 .{ .from = 0x2B55, .to = 0x2B55, .category = .Emoji_Presentation },
438 .{ .from = 0x1F004, .to = 0x1F004, .category = .Emoji_Presentation },
439 .{ .from = 0x1F0CF, .to = 0x1F0CF, .category = .Emoji_Presentation },
440 .{ .from = 0x1F18E, .to = 0x1F18E, .category = .Emoji_Presentation },
441 .{ .from = 0x1F191, .to = 0x1F19A, .category = .Emoji_Presentation },
442 .{ .from = 0x1F1E6, .to = 0x1F1FF, .category = .Emoji_Presentation },
443 .{ .from = 0x1F201, .to = 0x1F201, .category = .Emoji_Presentation },
444 .{ .from = 0x1F21A, .to = 0x1F21A, .category = .Emoji_Presentation },
445 .{ .from = 0x1F22F, .to = 0x1F22F, .category = .Emoji_Presentation },
446 .{ .from = 0x1F232, .to = 0x1F236, .category = .Emoji_Presentation },
447 .{ .from = 0x1F238, .to = 0x1F23A, .category = .Emoji_Presentation },
448 .{ .from = 0x1F250, .to = 0x1F251, .category = .Emoji_Presentation },
449 .{ .from = 0x1F300, .to = 0x1F30C, .category = .Emoji_Presentation },
450 .{ .from = 0x1F30D, .to = 0x1F30E, .category = .Emoji_Presentation },
451 .{ .from = 0x1F30F, .to = 0x1F30F, .category = .Emoji_Presentation },
452 .{ .from = 0x1F310, .to = 0x1F310, .category = .Emoji_Presentation },
453 .{ .from = 0x1F311, .to = 0x1F311, .category = .Emoji_Presentation },
454 .{ .from = 0x1F312, .to = 0x1F312, .category = .Emoji_Presentation },
455 .{ .from = 0x1F313, .to = 0x1F315, .category = .Emoji_Presentation },
456 .{ .from = 0x1F316, .to = 0x1F318, .category = .Emoji_Presentation },
457 .{ .from = 0x1F319, .to = 0x1F319, .category = .Emoji_Presentation },
458 .{ .from = 0x1F31A, .to = 0x1F31A, .category = .Emoji_Presentation },
459 .{ .from = 0x1F31B, .to = 0x1F31B, .category = .Emoji_Presentation },
460 .{ .from = 0x1F31C, .to = 0x1F31C, .category = .Emoji_Presentation },
461 .{ .from = 0x1F31D, .to = 0x1F31E, .category = .Emoji_Presentation },
462 .{ .from = 0x1F31F, .to = 0x1F320, .category = .Emoji_Presentation },
463 .{ .from = 0x1F32D, .to = 0x1F32F, .category = .Emoji_Presentation },
464 .{ .from = 0x1F330, .to = 0x1F331, .category = .Emoji_Presentation },
465 .{ .from = 0x1F332, .to = 0x1F333, .category = .Emoji_Presentation },
466 .{ .from = 0x1F334, .to = 0x1F335, .category = .Emoji_Presentation },
467 .{ .from = 0x1F337, .to = 0x1F34A, .category = .Emoji_Presentation },
468 .{ .from = 0x1F34B, .to = 0x1F34B, .category = .Emoji_Presentation },
469 .{ .from = 0x1F34C, .to = 0x1F34F, .category = .Emoji_Presentation },
470 .{ .from = 0x1F350, .to = 0x1F350, .category = .Emoji_Presentation },
471 .{ .from = 0x1F351, .to = 0x1F37B, .category = .Emoji_Presentation },
472 .{ .from = 0x1F37C, .to = 0x1F37C, .category = .Emoji_Presentation },
473 .{ .from = 0x1F37E, .to = 0x1F37F, .category = .Emoji_Presentation },
474 .{ .from = 0x1F380, .to = 0x1F393, .category = .Emoji_Presentation },
475 .{ .from = 0x1F3A0, .to = 0x1F3C4, .category = .Emoji_Presentation },
476 .{ .from = 0x1F3C5, .to = 0x1F3C5, .category = .Emoji_Presentation },
477 .{ .from = 0x1F3C6, .to = 0x1F3C6, .category = .Emoji_Presentation },
478 .{ .from = 0x1F3C7, .to = 0x1F3C7, .category = .Emoji_Presentation },
479 .{ .from = 0x1F3C8, .to = 0x1F3C8, .category = .Emoji_Presentation },
480 .{ .from = 0x1F3C9, .to = 0x1F3C9, .category = .Emoji_Presentation },
481 .{ .from = 0x1F3CA, .to = 0x1F3CA, .category = .Emoji_Presentation },
482 .{ .from = 0x1F3CF, .to = 0x1F3D3, .category = .Emoji_Presentation },
483 .{ .from = 0x1F3E0, .to = 0x1F3E3, .category = .Emoji_Presentation },
484 .{ .from = 0x1F3E4, .to = 0x1F3E4, .category = .Emoji_Presentation },
485 .{ .from = 0x1F3E5, .to = 0x1F3F0, .category = .Emoji_Presentation },
486 .{ .from = 0x1F3F4, .to = 0x1F3F4, .category = .Emoji_Presentation },
487 .{ .from = 0x1F3F8, .to = 0x1F407, .category = .Emoji_Presentation },
488 .{ .from = 0x1F408, .to = 0x1F408, .category = .Emoji_Presentation },
489 .{ .from = 0x1F409, .to = 0x1F40B, .category = .Emoji_Presentation },
490 .{ .from = 0x1F40C, .to = 0x1F40E, .category = .Emoji_Presentation },
491 .{ .from = 0x1F40F, .to = 0x1F410, .category = .Emoji_Presentation },
492 .{ .from = 0x1F411, .to = 0x1F412, .category = .Emoji_Presentation },
493 .{ .from = 0x1F413, .to = 0x1F413, .category = .Emoji_Presentation },
494 .{ .from = 0x1F414, .to = 0x1F414, .category = .Emoji_Presentation },
495 .{ .from = 0x1F415, .to = 0x1F415, .category = .Emoji_Presentation },
496 .{ .from = 0x1F416, .to = 0x1F416, .category = .Emoji_Presentation },
497 .{ .from = 0x1F417, .to = 0x1F429, .category = .Emoji_Presentation },
498 .{ .from = 0x1F42A, .to = 0x1F42A, .category = .Emoji_Presentation },
499 .{ .from = 0x1F42B, .to = 0x1F43E, .category = .Emoji_Presentation },
500 .{ .from = 0x1F440, .to = 0x1F440, .category = .Emoji_Presentation },
501 .{ .from = 0x1F442, .to = 0x1F464, .category = .Emoji_Presentation },
502 .{ .from = 0x1F465, .to = 0x1F465, .category = .Emoji_Presentation },
503 .{ .from = 0x1F466, .to = 0x1F46B, .category = .Emoji_Presentation },
504 .{ .from = 0x1F46C, .to = 0x1F46D, .category = .Emoji_Presentation },
505 .{ .from = 0x1F46E, .to = 0x1F4AC, .category = .Emoji_Presentation },
506 .{ .from = 0x1F4AD, .to = 0x1F4AD, .category = .Emoji_Presentation },
507 .{ .from = 0x1F4AE, .to = 0x1F4B5, .category = .Emoji_Presentation },
508 .{ .from = 0x1F4B6, .to = 0x1F4B7, .category = .Emoji_Presentation },
509 .{ .from = 0x1F4B8, .to = 0x1F4EB, .category = .Emoji_Presentation },
510 .{ .from = 0x1F4EC, .to = 0x1F4ED, .category = .Emoji_Presentation },
511 .{ .from = 0x1F4EE, .to = 0x1F4EE, .category = .Emoji_Presentation },
512 .{ .from = 0x1F4EF, .to = 0x1F4EF, .category = .Emoji_Presentation },
513 .{ .from = 0x1F4F0, .to = 0x1F4F4, .category = .Emoji_Presentation },
514 .{ .from = 0x1F4F5, .to = 0x1F4F5, .category = .Emoji_Presentation },
515 .{ .from = 0x1F4F6, .to = 0x1F4F7, .category = .Emoji_Presentation },
516 .{ .from = 0x1F4F8, .to = 0x1F4F8, .category = .Emoji_Presentation },
517 .{ .from = 0x1F4F9, .to = 0x1F4FC, .category = .Emoji_Presentation },
518 .{ .from = 0x1F4FF, .to = 0x1F502, .category = .Emoji_Presentation },
519 .{ .from = 0x1F503, .to = 0x1F503, .category = .Emoji_Presentation },
520 .{ .from = 0x1F504, .to = 0x1F507, .category = .Emoji_Presentation },
521 .{ .from = 0x1F508, .to = 0x1F508, .category = .Emoji_Presentation },
522 .{ .from = 0x1F509, .to = 0x1F509, .category = .Emoji_Presentation },
523 .{ .from = 0x1F50A, .to = 0x1F514, .category = .Emoji_Presentation },
524 .{ .from = 0x1F515, .to = 0x1F515, .category = .Emoji_Presentation },
525 .{ .from = 0x1F516, .to = 0x1F52B, .category = .Emoji_Presentation },
526 .{ .from = 0x1F52C, .to = 0x1F52D, .category = .Emoji_Presentation },
527 .{ .from = 0x1F52E, .to = 0x1F53D, .category = .Emoji_Presentation },
528 .{ .from = 0x1F54B, .to = 0x1F54E, .category = .Emoji_Presentation },
529 .{ .from = 0x1F550, .to = 0x1F55B, .category = .Emoji_Presentation },
530 .{ .from = 0x1F55C, .to = 0x1F567, .category = .Emoji_Presentation },
531 .{ .from = 0x1F57A, .to = 0x1F57A, .category = .Emoji_Presentation },
532 .{ .from = 0x1F595, .to = 0x1F596, .category = .Emoji_Presentation },
533 .{ .from = 0x1F5A4, .to = 0x1F5A4, .category = .Emoji_Presentation },
534 .{ .from = 0x1F5FB, .to = 0x1F5FF, .category = .Emoji_Presentation },
535 .{ .from = 0x1F600, .to = 0x1F600, .category = .Emoji_Presentation },
536 .{ .from = 0x1F601, .to = 0x1F606, .category = .Emoji_Presentation },
537 .{ .from = 0x1F607, .to = 0x1F608, .category = .Emoji_Presentation },
538 .{ .from = 0x1F609, .to = 0x1F60D, .category = .Emoji_Presentation },
539 .{ .from = 0x1F60E, .to = 0x1F60E, .category = .Emoji_Presentation },
540 .{ .from = 0x1F60F, .to = 0x1F60F, .category = .Emoji_Presentation },
541 .{ .from = 0x1F610, .to = 0x1F610, .category = .Emoji_Presentation },
542 .{ .from = 0x1F611, .to = 0x1F611, .category = .Emoji_Presentation },
543 .{ .from = 0x1F612, .to = 0x1F614, .category = .Emoji_Presentation },
544 .{ .from = 0x1F615, .to = 0x1F615, .category = .Emoji_Presentation },
545 .{ .from = 0x1F616, .to = 0x1F616, .category = .Emoji_Presentation },
546 .{ .from = 0x1F617, .to = 0x1F617, .category = .Emoji_Presentation },
547 .{ .from = 0x1F618, .to = 0x1F618, .category = .Emoji_Presentation },
548 .{ .from = 0x1F619, .to = 0x1F619, .category = .Emoji_Presentation },
549 .{ .from = 0x1F61A, .to = 0x1F61A, .category = .Emoji_Presentation },
550 .{ .from = 0x1F61B, .to = 0x1F61B, .category = .Emoji_Presentation },
551 .{ .from = 0x1F61C, .to = 0x1F61E, .category = .Emoji_Presentation },
552 .{ .from = 0x1F61F, .to = 0x1F61F, .category = .Emoji_Presentation },
553 .{ .from = 0x1F620, .to = 0x1F625, .category = .Emoji_Presentation },
554 .{ .from = 0x1F626, .to = 0x1F627, .category = .Emoji_Presentation },
555 .{ .from = 0x1F628, .to = 0x1F62B, .category = .Emoji_Presentation },
556 .{ .from = 0x1F62C, .to = 0x1F62C, .category = .Emoji_Presentation },
557 .{ .from = 0x1F62D, .to = 0x1F62D, .category = .Emoji_Presentation },
558 .{ .from = 0x1F62E, .to = 0x1F62F, .category = .Emoji_Presentation },
559 .{ .from = 0x1F630, .to = 0x1F633, .category = .Emoji_Presentation },
560 .{ .from = 0x1F634, .to = 0x1F634, .category = .Emoji_Presentation },
561 .{ .from = 0x1F635, .to = 0x1F635, .category = .Emoji_Presentation },
562 .{ .from = 0x1F636, .to = 0x1F636, .category = .Emoji_Presentation },
563 .{ .from = 0x1F637, .to = 0x1F640, .category = .Emoji_Presentation },
564 .{ .from = 0x1F641, .to = 0x1F644, .category = .Emoji_Presentation },
565 .{ .from = 0x1F645, .to = 0x1F64F, .category = .Emoji_Presentation },
566 .{ .from = 0x1F680, .to = 0x1F680, .category = .Emoji_Presentation },
567 .{ .from = 0x1F681, .to = 0x1F682, .category = .Emoji_Presentation },
568 .{ .from = 0x1F683, .to = 0x1F685, .category = .Emoji_Presentation },
569 .{ .from = 0x1F686, .to = 0x1F686, .category = .Emoji_Presentation },
570 .{ .from = 0x1F687, .to = 0x1F687, .category = .Emoji_Presentation },
571 .{ .from = 0x1F688, .to = 0x1F688, .category = .Emoji_Presentation },
572 .{ .from = 0x1F689, .to = 0x1F689, .category = .Emoji_Presentation },
573 .{ .from = 0x1F68A, .to = 0x1F68B, .category = .Emoji_Presentation },
574 .{ .from = 0x1F68C, .to = 0x1F68C, .category = .Emoji_Presentation },
575 .{ .from = 0x1F68D, .to = 0x1F68D, .category = .Emoji_Presentation },
576 .{ .from = 0x1F68E, .to = 0x1F68E, .category = .Emoji_Presentation },
577 .{ .from = 0x1F68F, .to = 0x1F68F, .category = .Emoji_Presentation },
578 .{ .from = 0x1F690, .to = 0x1F690, .category = .Emoji_Presentation },
579 .{ .from = 0x1F691, .to = 0x1F693, .category = .Emoji_Presentation },
580 .{ .from = 0x1F694, .to = 0x1F694, .category = .Emoji_Presentation },
581 .{ .from = 0x1F695, .to = 0x1F695, .category = .Emoji_Presentation },
582 .{ .from = 0x1F696, .to = 0x1F696, .category = .Emoji_Presentation },
583 .{ .from = 0x1F697, .to = 0x1F697, .category = .Emoji_Presentation },
584 .{ .from = 0x1F698, .to = 0x1F698, .category = .Emoji_Presentation },
585 .{ .from = 0x1F699, .to = 0x1F69A, .category = .Emoji_Presentation },
586 .{ .from = 0x1F69B, .to = 0x1F6A1, .category = .Emoji_Presentation },
587 .{ .from = 0x1F6A2, .to = 0x1F6A2, .category = .Emoji_Presentation },
588 .{ .from = 0x1F6A3, .to = 0x1F6A3, .category = .Emoji_Presentation },
589 .{ .from = 0x1F6A4, .to = 0x1F6A5, .category = .Emoji_Presentation },
590 .{ .from = 0x1F6A6, .to = 0x1F6A6, .category = .Emoji_Presentation },
591 .{ .from = 0x1F6A7, .to = 0x1F6AD, .category = .Emoji_Presentation },
592 .{ .from = 0x1F6AE, .to = 0x1F6B1, .category = .Emoji_Presentation },
593 .{ .from = 0x1F6B2, .to = 0x1F6B2, .category = .Emoji_Presentation },
594 .{ .from = 0x1F6B3, .to = 0x1F6B5, .category = .Emoji_Presentation },
595 .{ .from = 0x1F6B6, .to = 0x1F6B6, .category = .Emoji_Presentation },
596 .{ .from = 0x1F6B7, .to = 0x1F6B8, .category = .Emoji_Presentation },
597 .{ .from = 0x1F6B9, .to = 0x1F6BE, .category = .Emoji_Presentation },
598 .{ .from = 0x1F6BF, .to = 0x1F6BF, .category = .Emoji_Presentation },
599 .{ .from = 0x1F6C0, .to = 0x1F6C0, .category = .Emoji_Presentation },
600 .{ .from = 0x1F6C1, .to = 0x1F6C5, .category = .Emoji_Presentation },
601 .{ .from = 0x1F6CC, .to = 0x1F6CC, .category = .Emoji_Presentation },
602 .{ .from = 0x1F6D0, .to = 0x1F6D0, .category = .Emoji_Presentation },
603 .{ .from = 0x1F6D1, .to = 0x1F6D2, .category = .Emoji_Presentation },
604 .{ .from = 0x1F6D5, .to = 0x1F6D5, .category = .Emoji_Presentation },
605 .{ .from = 0x1F6D6, .to = 0x1F6D7, .category = .Emoji_Presentation },
606 .{ .from = 0x1F6EB, .to = 0x1F6EC, .category = .Emoji_Presentation },
607 .{ .from = 0x1F6F4, .to = 0x1F6F6, .category = .Emoji_Presentation },
608 .{ .from = 0x1F6F7, .to = 0x1F6F8, .category = .Emoji_Presentation },
609 .{ .from = 0x1F6F9, .to = 0x1F6F9, .category = .Emoji_Presentation },
610 .{ .from = 0x1F6FA, .to = 0x1F6FA, .category = .Emoji_Presentation },
611 .{ .from = 0x1F6FB, .to = 0x1F6FC, .category = .Emoji_Presentation },
612 .{ .from = 0x1F7E0, .to = 0x1F7EB, .category = .Emoji_Presentation },
613 .{ .from = 0x1F90C, .to = 0x1F90C, .category = .Emoji_Presentation },
614 .{ .from = 0x1F90D, .to = 0x1F90F, .category = .Emoji_Presentation },
615 .{ .from = 0x1F910, .to = 0x1F918, .category = .Emoji_Presentation },
616 .{ .from = 0x1F919, .to = 0x1F91E, .category = .Emoji_Presentation },
617 .{ .from = 0x1F91F, .to = 0x1F91F, .category = .Emoji_Presentation },
618 .{ .from = 0x1F920, .to = 0x1F927, .category = .Emoji_Presentation },
619 .{ .from = 0x1F928, .to = 0x1F92F, .category = .Emoji_Presentation },
620 .{ .from = 0x1F930, .to = 0x1F930, .category = .Emoji_Presentation },
621 .{ .from = 0x1F931, .to = 0x1F932, .category = .Emoji_Presentation },
622 .{ .from = 0x1F933, .to = 0x1F93A, .category = .Emoji_Presentation },
623 .{ .from = 0x1F93C, .to = 0x1F93E, .category = .Emoji_Presentation },
624 .{ .from = 0x1F93F, .to = 0x1F93F, .category = .Emoji_Presentation },
625 .{ .from = 0x1F940, .to = 0x1F945, .category = .Emoji_Presentation },
626 .{ .from = 0x1F947, .to = 0x1F94B, .category = .Emoji_Presentation },
627 .{ .from = 0x1F94C, .to = 0x1F94C, .category = .Emoji_Presentation },
628 .{ .from = 0x1F94D, .to = 0x1F94F, .category = .Emoji_Presentation },
629 .{ .from = 0x1F950, .to = 0x1F95E, .category = .Emoji_Presentation },
630 .{ .from = 0x1F95F, .to = 0x1F96B, .category = .Emoji_Presentation },
631 .{ .from = 0x1F96C, .to = 0x1F970, .category = .Emoji_Presentation },
632 .{ .from = 0x1F971, .to = 0x1F971, .category = .Emoji_Presentation },
633 .{ .from = 0x1F972, .to = 0x1F972, .category = .Emoji_Presentation },
634 .{ .from = 0x1F973, .to = 0x1F976, .category = .Emoji_Presentation },
635 .{ .from = 0x1F977, .to = 0x1F978, .category = .Emoji_Presentation },
636 .{ .from = 0x1F97A, .to = 0x1F97A, .category = .Emoji_Presentation },
637 .{ .from = 0x1F97B, .to = 0x1F97B, .category = .Emoji_Presentation },
638 .{ .from = 0x1F97C, .to = 0x1F97F, .category = .Emoji_Presentation },
639 .{ .from = 0x1F980, .to = 0x1F984, .category = .Emoji_Presentation },
640 .{ .from = 0x1F985, .to = 0x1F991, .category = .Emoji_Presentation },
641 .{ .from = 0x1F992, .to = 0x1F997, .category = .Emoji_Presentation },
642 .{ .from = 0x1F998, .to = 0x1F9A2, .category = .Emoji_Presentation },
643 .{ .from = 0x1F9A3, .to = 0x1F9A4, .category = .Emoji_Presentation },
644 .{ .from = 0x1F9A5, .to = 0x1F9AA, .category = .Emoji_Presentation },
645 .{ .from = 0x1F9AB, .to = 0x1F9AD, .category = .Emoji_Presentation },
646 .{ .from = 0x1F9AE, .to = 0x1F9AF, .category = .Emoji_Presentation },
647 .{ .from = 0x1F9B0, .to = 0x1F9B9, .category = .Emoji_Presentation },
648 .{ .from = 0x1F9BA, .to = 0x1F9BF, .category = .Emoji_Presentation },
649 .{ .from = 0x1F9C0, .to = 0x1F9C0, .category = .Emoji_Presentation },
650 .{ .from = 0x1F9C1, .to = 0x1F9C2, .category = .Emoji_Presentation },
651 .{ .from = 0x1F9C3, .to = 0x1F9CA, .category = .Emoji_Presentation },
652 .{ .from = 0x1F9CB, .to = 0x1F9CB, .category = .Emoji_Presentation },
653 .{ .from = 0x1F9CD, .to = 0x1F9CF, .category = .Emoji_Presentation },
654 .{ .from = 0x1F9D0, .to = 0x1F9E6, .category = .Emoji_Presentation },
655 .{ .from = 0x1F9E7, .to = 0x1F9FF, .category = .Emoji_Presentation },
656 .{ .from = 0x1FA70, .to = 0x1FA73, .category = .Emoji_Presentation },
657 .{ .from = 0x1FA74, .to = 0x1FA74, .category = .Emoji_Presentation },
658 .{ .from = 0x1FA78, .to = 0x1FA7A, .category = .Emoji_Presentation },
659 .{ .from = 0x1FA80, .to = 0x1FA82, .category = .Emoji_Presentation },
660 .{ .from = 0x1FA83, .to = 0x1FA86, .category = .Emoji_Presentation },
661 .{ .from = 0x1FA90, .to = 0x1FA95, .category = .Emoji_Presentation },
662 .{ .from = 0x1FA96, .to = 0x1FAA8, .category = .Emoji_Presentation },
663 .{ .from = 0x1FAB0, .to = 0x1FAB6, .category = .Emoji_Presentation },
664 .{ .from = 0x1FAC0, .to = 0x1FAC2, .category = .Emoji_Presentation },
665 .{ .from = 0x1FAD0, .to = 0x1FAD6, .category = .Emoji_Presentation },
666 .{ .from = 0x1F3FB, .to = 0x1F3FF, .category = .Emoji_Modifier },
667 .{ .from = 0x261D, .to = 0x261D, .category = .Emoji_Modifier_Base },
668 .{ .from = 0x26F9, .to = 0x26F9, .category = .Emoji_Modifier_Base },
669 .{ .from = 0x270A, .to = 0x270C, .category = .Emoji_Modifier_Base },
670 .{ .from = 0x270D, .to = 0x270D, .category = .Emoji_Modifier_Base },
671 .{ .from = 0x1F385, .to = 0x1F385, .category = .Emoji_Modifier_Base },
672 .{ .from = 0x1F3C2, .to = 0x1F3C4, .category = .Emoji_Modifier_Base },
673 .{ .from = 0x1F3C7, .to = 0x1F3C7, .category = .Emoji_Modifier_Base },
674 .{ .from = 0x1F3CA, .to = 0x1F3CA, .category = .Emoji_Modifier_Base },
675 .{ .from = 0x1F3CB, .to = 0x1F3CC, .category = .Emoji_Modifier_Base },
676 .{ .from = 0x1F442, .to = 0x1F443, .category = .Emoji_Modifier_Base },
677 .{ .from = 0x1F446, .to = 0x1F450, .category = .Emoji_Modifier_Base },
678 .{ .from = 0x1F466, .to = 0x1F46B, .category = .Emoji_Modifier_Base },
679 .{ .from = 0x1F46C, .to = 0x1F46D, .category = .Emoji_Modifier_Base },
680 .{ .from = 0x1F46E, .to = 0x1F478, .category = .Emoji_Modifier_Base },
681 .{ .from = 0x1F47C, .to = 0x1F47C, .category = .Emoji_Modifier_Base },
682 .{ .from = 0x1F481, .to = 0x1F483, .category = .Emoji_Modifier_Base },
683 .{ .from = 0x1F485, .to = 0x1F487, .category = .Emoji_Modifier_Base },
684 .{ .from = 0x1F48F, .to = 0x1F48F, .category = .Emoji_Modifier_Base },
685 .{ .from = 0x1F491, .to = 0x1F491, .category = .Emoji_Modifier_Base },
686 .{ .from = 0x1F4AA, .to = 0x1F4AA, .category = .Emoji_Modifier_Base },
687 .{ .from = 0x1F574, .to = 0x1F575, .category = .Emoji_Modifier_Base },
688 .{ .from = 0x1F57A, .to = 0x1F57A, .category = .Emoji_Modifier_Base },
689 .{ .from = 0x1F590, .to = 0x1F590, .category = .Emoji_Modifier_Base },
690 .{ .from = 0x1F595, .to = 0x1F596, .category = .Emoji_Modifier_Base },
691 .{ .from = 0x1F645, .to = 0x1F647, .category = .Emoji_Modifier_Base },
692 .{ .from = 0x1F64B, .to = 0x1F64F, .category = .Emoji_Modifier_Base },
693 .{ .from = 0x1F6A3, .to = 0x1F6A3, .category = .Emoji_Modifier_Base },
694 .{ .from = 0x1F6B4, .to = 0x1F6B5, .category = .Emoji_Modifier_Base },
695 .{ .from = 0x1F6B6, .to = 0x1F6B6, .category = .Emoji_Modifier_Base },
696 .{ .from = 0x1F6C0, .to = 0x1F6C0, .category = .Emoji_Modifier_Base },
697 .{ .from = 0x1F6CC, .to = 0x1F6CC, .category = .Emoji_Modifier_Base },
698 .{ .from = 0x1F90C, .to = 0x1F90C, .category = .Emoji_Modifier_Base },
699 .{ .from = 0x1F90F, .to = 0x1F90F, .category = .Emoji_Modifier_Base },
700 .{ .from = 0x1F918, .to = 0x1F918, .category = .Emoji_Modifier_Base },
701 .{ .from = 0x1F919, .to = 0x1F91E, .category = .Emoji_Modifier_Base },
702 .{ .from = 0x1F91F, .to = 0x1F91F, .category = .Emoji_Modifier_Base },
703 .{ .from = 0x1F926, .to = 0x1F926, .category = .Emoji_Modifier_Base },
704 .{ .from = 0x1F930, .to = 0x1F930, .category = .Emoji_Modifier_Base },
705 .{ .from = 0x1F931, .to = 0x1F932, .category = .Emoji_Modifier_Base },
706 .{ .from = 0x1F933, .to = 0x1F939, .category = .Emoji_Modifier_Base },
707 .{ .from = 0x1F93C, .to = 0x1F93E, .category = .Emoji_Modifier_Base },
708 .{ .from = 0x1F977, .to = 0x1F977, .category = .Emoji_Modifier_Base },
709 .{ .from = 0x1F9B5, .to = 0x1F9B6, .category = .Emoji_Modifier_Base },
710 .{ .from = 0x1F9B8, .to = 0x1F9B9, .category = .Emoji_Modifier_Base },
711 .{ .from = 0x1F9BB, .to = 0x1F9BB, .category = .Emoji_Modifier_Base },
712 .{ .from = 0x1F9CD, .to = 0x1F9CF, .category = .Emoji_Modifier_Base },
713 .{ .from = 0x1F9D1, .to = 0x1F9DD, .category = .Emoji_Modifier_Base },
714 .{ .from = 0x0023, .to = 0x0023, .category = .Emoji_Component },
715 .{ .from = 0x002A, .to = 0x002A, .category = .Emoji_Component },
716 .{ .from = 0x0030, .to = 0x0039, .category = .Emoji_Component },
717 .{ .from = 0x200D, .to = 0x200D, .category = .Emoji_Component },
718 .{ .from = 0x20E3, .to = 0x20E3, .category = .Emoji_Component },
719 .{ .from = 0xFE0F, .to = 0xFE0F, .category = .Emoji_Component },
720 .{ .from = 0x1F1E6, .to = 0x1F1FF, .category = .Emoji_Component },
721 .{ .from = 0x1F3FB, .to = 0x1F3FF, .category = .Emoji_Component },
722 .{ .from = 0x1F9B0, .to = 0x1F9B3, .category = .Emoji_Component },
723 .{ .from = 0xE0020, .to = 0xE007F, .category = .Emoji_Component },
724 .{ .from = 0x00A9, .to = 0x00A9, .category = .Extended_Pictographic },
725 .{ .from = 0x00AE, .to = 0x00AE, .category = .Extended_Pictographic },
726 .{ .from = 0x203C, .to = 0x203C, .category = .Extended_Pictographic },
727 .{ .from = 0x2049, .to = 0x2049, .category = .Extended_Pictographic },
728 .{ .from = 0x2122, .to = 0x2122, .category = .Extended_Pictographic },
729 .{ .from = 0x2139, .to = 0x2139, .category = .Extended_Pictographic },
730 .{ .from = 0x2194, .to = 0x2199, .category = .Extended_Pictographic },
731 .{ .from = 0x21A9, .to = 0x21AA, .category = .Extended_Pictographic },
732 .{ .from = 0x231A, .to = 0x231B, .category = .Extended_Pictographic },
733 .{ .from = 0x2328, .to = 0x2328, .category = .Extended_Pictographic },
734 .{ .from = 0x2388, .to = 0x2388, .category = .Extended_Pictographic },
735 .{ .from = 0x23CF, .to = 0x23CF, .category = .Extended_Pictographic },
736 .{ .from = 0x23E9, .to = 0x23EC, .category = .Extended_Pictographic },
737 .{ .from = 0x23ED, .to = 0x23EE, .category = .Extended_Pictographic },
738 .{ .from = 0x23EF, .to = 0x23EF, .category = .Extended_Pictographic },
739 .{ .from = 0x23F0, .to = 0x23F0, .category = .Extended_Pictographic },
740 .{ .from = 0x23F1, .to = 0x23F2, .category = .Extended_Pictographic },
741 .{ .from = 0x23F3, .to = 0x23F3, .category = .Extended_Pictographic },
742 .{ .from = 0x23F8, .to = 0x23FA, .category = .Extended_Pictographic },
743 .{ .from = 0x24C2, .to = 0x24C2, .category = .Extended_Pictographic },
744 .{ .from = 0x25AA, .to = 0x25AB, .category = .Extended_Pictographic },
745 .{ .from = 0x25B6, .to = 0x25B6, .category = .Extended_Pictographic },
746 .{ .from = 0x25C0, .to = 0x25C0, .category = .Extended_Pictographic },
747 .{ .from = 0x25FB, .to = 0x25FE, .category = .Extended_Pictographic },
748 .{ .from = 0x2600, .to = 0x2601, .category = .Extended_Pictographic },
749 .{ .from = 0x2602, .to = 0x2603, .category = .Extended_Pictographic },
750 .{ .from = 0x2604, .to = 0x2604, .category = .Extended_Pictographic },
751 .{ .from = 0x2605, .to = 0x2605, .category = .Extended_Pictographic },
752 .{ .from = 0x2607, .to = 0x260D, .category = .Extended_Pictographic },
753 .{ .from = 0x260E, .to = 0x260E, .category = .Extended_Pictographic },
754 .{ .from = 0x260F, .to = 0x2610, .category = .Extended_Pictographic },
755 .{ .from = 0x2611, .to = 0x2611, .category = .Extended_Pictographic },
756 .{ .from = 0x2612, .to = 0x2612, .category = .Extended_Pictographic },
757 .{ .from = 0x2614, .to = 0x2615, .category = .Extended_Pictographic },
758 .{ .from = 0x2616, .to = 0x2617, .category = .Extended_Pictographic },
759 .{ .from = 0x2618, .to = 0x2618, .category = .Extended_Pictographic },
760 .{ .from = 0x2619, .to = 0x261C, .category = .Extended_Pictographic },
761 .{ .from = 0x261D, .to = 0x261D, .category = .Extended_Pictographic },
762 .{ .from = 0x261E, .to = 0x261F, .category = .Extended_Pictographic },
763 .{ .from = 0x2620, .to = 0x2620, .category = .Extended_Pictographic },
764 .{ .from = 0x2621, .to = 0x2621, .category = .Extended_Pictographic },
765 .{ .from = 0x2622, .to = 0x2623, .category = .Extended_Pictographic },
766 .{ .from = 0x2624, .to = 0x2625, .category = .Extended_Pictographic },
767 .{ .from = 0x2626, .to = 0x2626, .category = .Extended_Pictographic },
768 .{ .from = 0x2627, .to = 0x2629, .category = .Extended_Pictographic },
769 .{ .from = 0x262A, .to = 0x262A, .category = .Extended_Pictographic },
770 .{ .from = 0x262B, .to = 0x262D, .category = .Extended_Pictographic },
771 .{ .from = 0x262E, .to = 0x262E, .category = .Extended_Pictographic },
772 .{ .from = 0x262F, .to = 0x262F, .category = .Extended_Pictographic },
773 .{ .from = 0x2630, .to = 0x2637, .category = .Extended_Pictographic },
774 .{ .from = 0x2638, .to = 0x2639, .category = .Extended_Pictographic },
775 .{ .from = 0x263A, .to = 0x263A, .category = .Extended_Pictographic },
776 .{ .from = 0x263B, .to = 0x263F, .category = .Extended_Pictographic },
777 .{ .from = 0x2640, .to = 0x2640, .category = .Extended_Pictographic },
778 .{ .from = 0x2641, .to = 0x2641, .category = .Extended_Pictographic },
779 .{ .from = 0x2642, .to = 0x2642, .category = .Extended_Pictographic },
780 .{ .from = 0x2643, .to = 0x2647, .category = .Extended_Pictographic },
781 .{ .from = 0x2648, .to = 0x2653, .category = .Extended_Pictographic },
782 .{ .from = 0x2654, .to = 0x265E, .category = .Extended_Pictographic },
783 .{ .from = 0x265F, .to = 0x265F, .category = .Extended_Pictographic },
784 .{ .from = 0x2660, .to = 0x2660, .category = .Extended_Pictographic },
785 .{ .from = 0x2661, .to = 0x2662, .category = .Extended_Pictographic },
786 .{ .from = 0x2663, .to = 0x2663, .category = .Extended_Pictographic },
787 .{ .from = 0x2664, .to = 0x2664, .category = .Extended_Pictographic },
788 .{ .from = 0x2665, .to = 0x2666, .category = .Extended_Pictographic },
789 .{ .from = 0x2667, .to = 0x2667, .category = .Extended_Pictographic },
790 .{ .from = 0x2668, .to = 0x2668, .category = .Extended_Pictographic },
791 .{ .from = 0x2669, .to = 0x267A, .category = .Extended_Pictographic },
792 .{ .from = 0x267B, .to = 0x267B, .category = .Extended_Pictographic },
793 .{ .from = 0x267C, .to = 0x267D, .category = .Extended_Pictographic },
794 .{ .from = 0x267E, .to = 0x267E, .category = .Extended_Pictographic },
795 .{ .from = 0x267F, .to = 0x267F, .category = .Extended_Pictographic },
796 .{ .from = 0x2680, .to = 0x2685, .category = .Extended_Pictographic },
797 .{ .from = 0x2690, .to = 0x2691, .category = .Extended_Pictographic },
798 .{ .from = 0x2692, .to = 0x2692, .category = .Extended_Pictographic },
799 .{ .from = 0x2693, .to = 0x2693, .category = .Extended_Pictographic },
800 .{ .from = 0x2694, .to = 0x2694, .category = .Extended_Pictographic },
801 .{ .from = 0x2695, .to = 0x2695, .category = .Extended_Pictographic },
802 .{ .from = 0x2696, .to = 0x2697, .category = .Extended_Pictographic },
803 .{ .from = 0x2698, .to = 0x2698, .category = .Extended_Pictographic },
804 .{ .from = 0x2699, .to = 0x2699, .category = .Extended_Pictographic },
805 .{ .from = 0x269A, .to = 0x269A, .category = .Extended_Pictographic },
806 .{ .from = 0x269B, .to = 0x269C, .category = .Extended_Pictographic },
807 .{ .from = 0x269D, .to = 0x269F, .category = .Extended_Pictographic },
808 .{ .from = 0x26A0, .to = 0x26A1, .category = .Extended_Pictographic },
809 .{ .from = 0x26A2, .to = 0x26A6, .category = .Extended_Pictographic },
810 .{ .from = 0x26A7, .to = 0x26A7, .category = .Extended_Pictographic },
811 .{ .from = 0x26A8, .to = 0x26A9, .category = .Extended_Pictographic },
812 .{ .from = 0x26AA, .to = 0x26AB, .category = .Extended_Pictographic },
813 .{ .from = 0x26AC, .to = 0x26AF, .category = .Extended_Pictographic },
814 .{ .from = 0x26B0, .to = 0x26B1, .category = .Extended_Pictographic },
815 .{ .from = 0x26B2, .to = 0x26BC, .category = .Extended_Pictographic },
816 .{ .from = 0x26BD, .to = 0x26BE, .category = .Extended_Pictographic },
817 .{ .from = 0x26BF, .to = 0x26C3, .category = .Extended_Pictographic },
818 .{ .from = 0x26C4, .to = 0x26C5, .category = .Extended_Pictographic },
819 .{ .from = 0x26C6, .to = 0x26C7, .category = .Extended_Pictographic },
820 .{ .from = 0x26C8, .to = 0x26C8, .category = .Extended_Pictographic },
821 .{ .from = 0x26C9, .to = 0x26CD, .category = .Extended_Pictographic },
822 .{ .from = 0x26CE, .to = 0x26CE, .category = .Extended_Pictographic },
823 .{ .from = 0x26CF, .to = 0x26CF, .category = .Extended_Pictographic },
824 .{ .from = 0x26D0, .to = 0x26D0, .category = .Extended_Pictographic },
825 .{ .from = 0x26D1, .to = 0x26D1, .category = .Extended_Pictographic },
826 .{ .from = 0x26D2, .to = 0x26D2, .category = .Extended_Pictographic },
827 .{ .from = 0x26D3, .to = 0x26D3, .category = .Extended_Pictographic },
828 .{ .from = 0x26D4, .to = 0x26D4, .category = .Extended_Pictographic },
829 .{ .from = 0x26D5, .to = 0x26E8, .category = .Extended_Pictographic },
830 .{ .from = 0x26E9, .to = 0x26E9, .category = .Extended_Pictographic },
831 .{ .from = 0x26EA, .to = 0x26EA, .category = .Extended_Pictographic },
832 .{ .from = 0x26EB, .to = 0x26EF, .category = .Extended_Pictographic },
833 .{ .from = 0x26F0, .to = 0x26F1, .category = .Extended_Pictographic },
834 .{ .from = 0x26F2, .to = 0x26F3, .category = .Extended_Pictographic },
835 .{ .from = 0x26F4, .to = 0x26F4, .category = .Extended_Pictographic },
836 .{ .from = 0x26F5, .to = 0x26F5, .category = .Extended_Pictographic },
837 .{ .from = 0x26F6, .to = 0x26F6, .category = .Extended_Pictographic },
838 .{ .from = 0x26F7, .to = 0x26F9, .category = .Extended_Pictographic },
839 .{ .from = 0x26FA, .to = 0x26FA, .category = .Extended_Pictographic },
840 .{ .from = 0x26FB, .to = 0x26FC, .category = .Extended_Pictographic },
841 .{ .from = 0x26FD, .to = 0x26FD, .category = .Extended_Pictographic },
842 .{ .from = 0x26FE, .to = 0x2701, .category = .Extended_Pictographic },
843 .{ .from = 0x2702, .to = 0x2702, .category = .Extended_Pictographic },
844 .{ .from = 0x2703, .to = 0x2704, .category = .Extended_Pictographic },
845 .{ .from = 0x2705, .to = 0x2705, .category = .Extended_Pictographic },
846 .{ .from = 0x2708, .to = 0x270C, .category = .Extended_Pictographic },
847 .{ .from = 0x270D, .to = 0x270D, .category = .Extended_Pictographic },
848 .{ .from = 0x270E, .to = 0x270E, .category = .Extended_Pictographic },
849 .{ .from = 0x270F, .to = 0x270F, .category = .Extended_Pictographic },
850 .{ .from = 0x2710, .to = 0x2711, .category = .Extended_Pictographic },
851 .{ .from = 0x2712, .to = 0x2712, .category = .Extended_Pictographic },
852 .{ .from = 0x2714, .to = 0x2714, .category = .Extended_Pictographic },
853 .{ .from = 0x2716, .to = 0x2716, .category = .Extended_Pictographic },
854 .{ .from = 0x271D, .to = 0x271D, .category = .Extended_Pictographic },
855 .{ .from = 0x2721, .to = 0x2721, .category = .Extended_Pictographic },
856 .{ .from = 0x2728, .to = 0x2728, .category = .Extended_Pictographic },
857 .{ .from = 0x2733, .to = 0x2734, .category = .Extended_Pictographic },
858 .{ .from = 0x2744, .to = 0x2744, .category = .Extended_Pictographic },
859 .{ .from = 0x2747, .to = 0x2747, .category = .Extended_Pictographic },
860 .{ .from = 0x274C, .to = 0x274C, .category = .Extended_Pictographic },
861 .{ .from = 0x274E, .to = 0x274E, .category = .Extended_Pictographic },
862 .{ .from = 0x2753, .to = 0x2755, .category = .Extended_Pictographic },
863 .{ .from = 0x2757, .to = 0x2757, .category = .Extended_Pictographic },
864 .{ .from = 0x2763, .to = 0x2763, .category = .Extended_Pictographic },
865 .{ .from = 0x2764, .to = 0x2764, .category = .Extended_Pictographic },
866 .{ .from = 0x2765, .to = 0x2767, .category = .Extended_Pictographic },
867 .{ .from = 0x2795, .to = 0x2797, .category = .Extended_Pictographic },
868 .{ .from = 0x27A1, .to = 0x27A1, .category = .Extended_Pictographic },
869 .{ .from = 0x27B0, .to = 0x27B0, .category = .Extended_Pictographic },
870 .{ .from = 0x27BF, .to = 0x27BF, .category = .Extended_Pictographic },
871 .{ .from = 0x2934, .to = 0x2935, .category = .Extended_Pictographic },
872 .{ .from = 0x2B05, .to = 0x2B07, .category = .Extended_Pictographic },
873 .{ .from = 0x2B1B, .to = 0x2B1C, .category = .Extended_Pictographic },
874 .{ .from = 0x2B50, .to = 0x2B50, .category = .Extended_Pictographic },
875 .{ .from = 0x2B55, .to = 0x2B55, .category = .Extended_Pictographic },
876 .{ .from = 0x3030, .to = 0x3030, .category = .Extended_Pictographic },
877 .{ .from = 0x303D, .to = 0x303D, .category = .Extended_Pictographic },
878 .{ .from = 0x3297, .to = 0x3297, .category = .Extended_Pictographic },
879 .{ .from = 0x3299, .to = 0x3299, .category = .Extended_Pictographic },
880 .{ .from = 0x1F000, .to = 0x1F003, .category = .Extended_Pictographic },
881 .{ .from = 0x1F004, .to = 0x1F004, .category = .Extended_Pictographic },
882 .{ .from = 0x1F005, .to = 0x1F0CE, .category = .Extended_Pictographic },
883 .{ .from = 0x1F0CF, .to = 0x1F0CF, .category = .Extended_Pictographic },
884 .{ .from = 0x1F0D0, .to = 0x1F0FF, .category = .Extended_Pictographic },
885 .{ .from = 0x1F10D, .to = 0x1F10F, .category = .Extended_Pictographic },
886 .{ .from = 0x1F12F, .to = 0x1F12F, .category = .Extended_Pictographic },
887 .{ .from = 0x1F16C, .to = 0x1F16F, .category = .Extended_Pictographic },
888 .{ .from = 0x1F170, .to = 0x1F171, .category = .Extended_Pictographic },
889 .{ .from = 0x1F17E, .to = 0x1F17F, .category = .Extended_Pictographic },
890 .{ .from = 0x1F18E, .to = 0x1F18E, .category = .Extended_Pictographic },
891 .{ .from = 0x1F191, .to = 0x1F19A, .category = .Extended_Pictographic },
892 .{ .from = 0x1F1AD, .to = 0x1F1E5, .category = .Extended_Pictographic },
893 .{ .from = 0x1F201, .to = 0x1F202, .category = .Extended_Pictographic },
894 .{ .from = 0x1F203, .to = 0x1F20F, .category = .Extended_Pictographic },
895 .{ .from = 0x1F21A, .to = 0x1F21A, .category = .Extended_Pictographic },
896 .{ .from = 0x1F22F, .to = 0x1F22F, .category = .Extended_Pictographic },
897 .{ .from = 0x1F232, .to = 0x1F23A, .category = .Extended_Pictographic },
898 .{ .from = 0x1F23C, .to = 0x1F23F, .category = .Extended_Pictographic },
899 .{ .from = 0x1F249, .to = 0x1F24F, .category = .Extended_Pictographic },
900 .{ .from = 0x1F250, .to = 0x1F251, .category = .Extended_Pictographic },
901 .{ .from = 0x1F252, .to = 0x1F2FF, .category = .Extended_Pictographic },
902 .{ .from = 0x1F300, .to = 0x1F30C, .category = .Extended_Pictographic },
903 .{ .from = 0x1F30D, .to = 0x1F30E, .category = .Extended_Pictographic },
904 .{ .from = 0x1F30F, .to = 0x1F30F, .category = .Extended_Pictographic },
905 .{ .from = 0x1F310, .to = 0x1F310, .category = .Extended_Pictographic },
906 .{ .from = 0x1F311, .to = 0x1F311, .category = .Extended_Pictographic },
907 .{ .from = 0x1F312, .to = 0x1F312, .category = .Extended_Pictographic },
908 .{ .from = 0x1F313, .to = 0x1F315, .category = .Extended_Pictographic },
909 .{ .from = 0x1F316, .to = 0x1F318, .category = .Extended_Pictographic },
910 .{ .from = 0x1F319, .to = 0x1F319, .category = .Extended_Pictographic },
911 .{ .from = 0x1F31A, .to = 0x1F31A, .category = .Extended_Pictographic },
912 .{ .from = 0x1F31B, .to = 0x1F31B, .category = .Extended_Pictographic },
913 .{ .from = 0x1F31C, .to = 0x1F31C, .category = .Extended_Pictographic },
914 .{ .from = 0x1F31D, .to = 0x1F31E, .category = .Extended_Pictographic },
915 .{ .from = 0x1F31F, .to = 0x1F320, .category = .Extended_Pictographic },
916 .{ .from = 0x1F321, .to = 0x1F321, .category = .Extended_Pictographic },
917 .{ .from = 0x1F322, .to = 0x1F323, .category = .Extended_Pictographic },
918 .{ .from = 0x1F324, .to = 0x1F32C, .category = .Extended_Pictographic },
919 .{ .from = 0x1F32D, .to = 0x1F32F, .category = .Extended_Pictographic },
920 .{ .from = 0x1F330, .to = 0x1F331, .category = .Extended_Pictographic },
921 .{ .from = 0x1F332, .to = 0x1F333, .category = .Extended_Pictographic },
922 .{ .from = 0x1F334, .to = 0x1F335, .category = .Extended_Pictographic },
923 .{ .from = 0x1F336, .to = 0x1F336, .category = .Extended_Pictographic },
924 .{ .from = 0x1F337, .to = 0x1F34A, .category = .Extended_Pictographic },
925 .{ .from = 0x1F34B, .to = 0x1F34B, .category = .Extended_Pictographic },
926 .{ .from = 0x1F34C, .to = 0x1F34F, .category = .Extended_Pictographic },
927 .{ .from = 0x1F350, .to = 0x1F350, .category = .Extended_Pictographic },
928 .{ .from = 0x1F351, .to = 0x1F37B, .category = .Extended_Pictographic },
929 .{ .from = 0x1F37C, .to = 0x1F37C, .category = .Extended_Pictographic },
930 .{ .from = 0x1F37D, .to = 0x1F37D, .category = .Extended_Pictographic },
931 .{ .from = 0x1F37E, .to = 0x1F37F, .category = .Extended_Pictographic },
932 .{ .from = 0x1F380, .to = 0x1F393, .category = .Extended_Pictographic },
933 .{ .from = 0x1F394, .to = 0x1F395, .category = .Extended_Pictographic },
934 .{ .from = 0x1F396, .to = 0x1F397, .category = .Extended_Pictographic },
935 .{ .from = 0x1F398, .to = 0x1F398, .category = .Extended_Pictographic },
936 .{ .from = 0x1F399, .to = 0x1F39B, .category = .Extended_Pictographic },
937 .{ .from = 0x1F39C, .to = 0x1F39D, .category = .Extended_Pictographic },
938 .{ .from = 0x1F39E, .to = 0x1F39F, .category = .Extended_Pictographic },
939 .{ .from = 0x1F3A0, .to = 0x1F3C4, .category = .Extended_Pictographic },
940 .{ .from = 0x1F3C5, .to = 0x1F3C5, .category = .Extended_Pictographic },
941 .{ .from = 0x1F3C6, .to = 0x1F3C6, .category = .Extended_Pictographic },
942 .{ .from = 0x1F3C7, .to = 0x1F3C7, .category = .Extended_Pictographic },
943 .{ .from = 0x1F3C8, .to = 0x1F3C8, .category = .Extended_Pictographic },
944 .{ .from = 0x1F3C9, .to = 0x1F3C9, .category = .Extended_Pictographic },
945 .{ .from = 0x1F3CA, .to = 0x1F3CA, .category = .Extended_Pictographic },
946 .{ .from = 0x1F3CB, .to = 0x1F3CE, .category = .Extended_Pictographic },
947 .{ .from = 0x1F3CF, .to = 0x1F3D3, .category = .Extended_Pictographic },
948 .{ .from = 0x1F3D4, .to = 0x1F3DF, .category = .Extended_Pictographic },
949 .{ .from = 0x1F3E0, .to = 0x1F3E3, .category = .Extended_Pictographic },
950 .{ .from = 0x1F3E4, .to = 0x1F3E4, .category = .Extended_Pictographic },
951 .{ .from = 0x1F3E5, .to = 0x1F3F0, .category = .Extended_Pictographic },
952 .{ .from = 0x1F3F1, .to = 0x1F3F2, .category = .Extended_Pictographic },
953 .{ .from = 0x1F3F3, .to = 0x1F3F3, .category = .Extended_Pictographic },
954 .{ .from = 0x1F3F4, .to = 0x1F3F4, .category = .Extended_Pictographic },
955 .{ .from = 0x1F3F5, .to = 0x1F3F5, .category = .Extended_Pictographic },
956 .{ .from = 0x1F3F6, .to = 0x1F3F6, .category = .Extended_Pictographic },
957 .{ .from = 0x1F3F7, .to = 0x1F3F7, .category = .Extended_Pictographic },
958 .{ .from = 0x1F3F8, .to = 0x1F3FA, .category = .Extended_Pictographic },
959 .{ .from = 0x1F400, .to = 0x1F407, .category = .Extended_Pictographic },
960 .{ .from = 0x1F408, .to = 0x1F408, .category = .Extended_Pictographic },
961 .{ .from = 0x1F409, .to = 0x1F40B, .category = .Extended_Pictographic },
962 .{ .from = 0x1F40C, .to = 0x1F40E, .category = .Extended_Pictographic },
963 .{ .from = 0x1F40F, .to = 0x1F410, .category = .Extended_Pictographic },
964 .{ .from = 0x1F411, .to = 0x1F412, .category = .Extended_Pictographic },
965 .{ .from = 0x1F413, .to = 0x1F413, .category = .Extended_Pictographic },
966 .{ .from = 0x1F414, .to = 0x1F414, .category = .Extended_Pictographic },
967 .{ .from = 0x1F415, .to = 0x1F415, .category = .Extended_Pictographic },
968 .{ .from = 0x1F416, .to = 0x1F416, .category = .Extended_Pictographic },
969 .{ .from = 0x1F417, .to = 0x1F429, .category = .Extended_Pictographic },
970 .{ .from = 0x1F42A, .to = 0x1F42A, .category = .Extended_Pictographic },
971 .{ .from = 0x1F42B, .to = 0x1F43E, .category = .Extended_Pictographic },
972 .{ .from = 0x1F43F, .to = 0x1F43F, .category = .Extended_Pictographic },
973 .{ .from = 0x1F440, .to = 0x1F440, .category = .Extended_Pictographic },
974 .{ .from = 0x1F441, .to = 0x1F441, .category = .Extended_Pictographic },
975 .{ .from = 0x1F442, .to = 0x1F464, .category = .Extended_Pictographic },
976 .{ .from = 0x1F465, .to = 0x1F465, .category = .Extended_Pictographic },
977 .{ .from = 0x1F466, .to = 0x1F46B, .category = .Extended_Pictographic },
978 .{ .from = 0x1F46C, .to = 0x1F46D, .category = .Extended_Pictographic },
979 .{ .from = 0x1F46E, .to = 0x1F4AC, .category = .Extended_Pictographic },
980 .{ .from = 0x1F4AD, .to = 0x1F4AD, .category = .Extended_Pictographic },
981 .{ .from = 0x1F4AE, .to = 0x1F4B5, .category = .Extended_Pictographic },
982 .{ .from = 0x1F4B6, .to = 0x1F4B7, .category = .Extended_Pictographic },
983 .{ .from = 0x1F4B8, .to = 0x1F4EB, .category = .Extended_Pictographic },
984 .{ .from = 0x1F4EC, .to = 0x1F4ED, .category = .Extended_Pictographic },
985 .{ .from = 0x1F4EE, .to = 0x1F4EE, .category = .Extended_Pictographic },
986 .{ .from = 0x1F4EF, .to = 0x1F4EF, .category = .Extended_Pictographic },
987 .{ .from = 0x1F4F0, .to = 0x1F4F4, .category = .Extended_Pictographic },
988 .{ .from = 0x1F4F5, .to = 0x1F4F5, .category = .Extended_Pictographic },
989 .{ .from = 0x1F4F6, .to = 0x1F4F7, .category = .Extended_Pictographic },
990 .{ .from = 0x1F4F8, .to = 0x1F4F8, .category = .Extended_Pictographic },
991 .{ .from = 0x1F4F9, .to = 0x1F4FC, .category = .Extended_Pictographic },
992 .{ .from = 0x1F4FD, .to = 0x1F4FD, .category = .Extended_Pictographic },
993 .{ .from = 0x1F4FE, .to = 0x1F4FE, .category = .Extended_Pictographic },
994 .{ .from = 0x1F4FF, .to = 0x1F502, .category = .Extended_Pictographic },
995 .{ .from = 0x1F503, .to = 0x1F503, .category = .Extended_Pictographic },
996 .{ .from = 0x1F504, .to = 0x1F507, .category = .Extended_Pictographic },
997 .{ .from = 0x1F508, .to = 0x1F508, .category = .Extended_Pictographic },
998 .{ .from = 0x1F509, .to = 0x1F509, .category = .Extended_Pictographic },
999 .{ .from = 0x1F50A, .to = 0x1F514, .category = .Extended_Pictographic },
1000 .{ .from = 0x1F515, .to = 0x1F515, .category = .Extended_Pictographic },
1001 .{ .from = 0x1F516, .to = 0x1F52B, .category = .Extended_Pictographic },
1002 .{ .from = 0x1F52C, .to = 0x1F52D, .category = .Extended_Pictographic },
1003 .{ .from = 0x1F52E, .to = 0x1F53D, .category = .Extended_Pictographic },
1004 .{ .from = 0x1F546, .to = 0x1F548, .category = .Extended_Pictographic },
1005 .{ .from = 0x1F549, .to = 0x1F54A, .category = .Extended_Pictographic },
1006 .{ .from = 0x1F54B, .to = 0x1F54E, .category = .Extended_Pictographic },
1007 .{ .from = 0x1F54F, .to = 0x1F54F, .category = .Extended_Pictographic },
1008 .{ .from = 0x1F550, .to = 0x1F55B, .category = .Extended_Pictographic },
1009 .{ .from = 0x1F55C, .to = 0x1F567, .category = .Extended_Pictographic },
1010 .{ .from = 0x1F568, .to = 0x1F56E, .category = .Extended_Pictographic },
1011 .{ .from = 0x1F56F, .to = 0x1F570, .category = .Extended_Pictographic },
1012 .{ .from = 0x1F571, .to = 0x1F572, .category = .Extended_Pictographic },
1013 .{ .from = 0x1F573, .to = 0x1F579, .category = .Extended_Pictographic },
1014 .{ .from = 0x1F57A, .to = 0x1F57A, .category = .Extended_Pictographic },
1015 .{ .from = 0x1F57B, .to = 0x1F586, .category = .Extended_Pictographic },
1016 .{ .from = 0x1F587, .to = 0x1F587, .category = .Extended_Pictographic },
1017 .{ .from = 0x1F588, .to = 0x1F589, .category = .Extended_Pictographic },
1018 .{ .from = 0x1F58A, .to = 0x1F58D, .category = .Extended_Pictographic },
1019 .{ .from = 0x1F58E, .to = 0x1F58F, .category = .Extended_Pictographic },
1020 .{ .from = 0x1F590, .to = 0x1F590, .category = .Extended_Pictographic },
1021 .{ .from = 0x1F591, .to = 0x1F594, .category = .Extended_Pictographic },
1022 .{ .from = 0x1F595, .to = 0x1F596, .category = .Extended_Pictographic },
1023 .{ .from = 0x1F597, .to = 0x1F5A3, .category = .Extended_Pictographic },
1024 .{ .from = 0x1F5A4, .to = 0x1F5A4, .category = .Extended_Pictographic },
1025 .{ .from = 0x1F5A5, .to = 0x1F5A5, .category = .Extended_Pictographic },
1026 .{ .from = 0x1F5A6, .to = 0x1F5A7, .category = .Extended_Pictographic },
1027 .{ .from = 0x1F5A8, .to = 0x1F5A8, .category = .Extended_Pictographic },
1028 .{ .from = 0x1F5A9, .to = 0x1F5B0, .category = .Extended_Pictographic },
1029 .{ .from = 0x1F5B1, .to = 0x1F5B2, .category = .Extended_Pictographic },
1030 .{ .from = 0x1F5B3, .to = 0x1F5BB, .category = .Extended_Pictographic },
1031 .{ .from = 0x1F5BC, .to = 0x1F5BC, .category = .Extended_Pictographic },
1032 .{ .from = 0x1F5BD, .to = 0x1F5C1, .category = .Extended_Pictographic },
1033 .{ .from = 0x1F5C2, .to = 0x1F5C4, .category = .Extended_Pictographic },
1034 .{ .from = 0x1F5C5, .to = 0x1F5D0, .category = .Extended_Pictographic },
1035 .{ .from = 0x1F5D1, .to = 0x1F5D3, .category = .Extended_Pictographic },
1036 .{ .from = 0x1F5D4, .to = 0x1F5DB, .category = .Extended_Pictographic },
1037 .{ .from = 0x1F5DC, .to = 0x1F5DE, .category = .Extended_Pictographic },
1038 .{ .from = 0x1F5DF, .to = 0x1F5E0, .category = .Extended_Pictographic },
1039 .{ .from = 0x1F5E1, .to = 0x1F5E1, .category = .Extended_Pictographic },
1040 .{ .from = 0x1F5E2, .to = 0x1F5E2, .category = .Extended_Pictographic },
1041 .{ .from = 0x1F5E3, .to = 0x1F5E3, .category = .Extended_Pictographic },
1042 .{ .from = 0x1F5E4, .to = 0x1F5E7, .category = .Extended_Pictographic },
1043 .{ .from = 0x1F5E8, .to = 0x1F5E8, .category = .Extended_Pictographic },
1044 .{ .from = 0x1F5E9, .to = 0x1F5EE, .category = .Extended_Pictographic },
1045 .{ .from = 0x1F5EF, .to = 0x1F5EF, .category = .Extended_Pictographic },
1046 .{ .from = 0x1F5F0, .to = 0x1F5F2, .category = .Extended_Pictographic },
1047 .{ .from = 0x1F5F3, .to = 0x1F5F3, .category = .Extended_Pictographic },
1048 .{ .from = 0x1F5F4, .to = 0x1F5F9, .category = .Extended_Pictographic },
1049 .{ .from = 0x1F5FA, .to = 0x1F5FA, .category = .Extended_Pictographic },
1050 .{ .from = 0x1F5FB, .to = 0x1F5FF, .category = .Extended_Pictographic },
1051 .{ .from = 0x1F600, .to = 0x1F600, .category = .Extended_Pictographic },
1052 .{ .from = 0x1F601, .to = 0x1F606, .category = .Extended_Pictographic },
1053 .{ .from = 0x1F607, .to = 0x1F608, .category = .Extended_Pictographic },
1054 .{ .from = 0x1F609, .to = 0x1F60D, .category = .Extended_Pictographic },
1055 .{ .from = 0x1F60E, .to = 0x1F60E, .category = .Extended_Pictographic },
1056 .{ .from = 0x1F60F, .to = 0x1F60F, .category = .Extended_Pictographic },
1057 .{ .from = 0x1F610, .to = 0x1F610, .category = .Extended_Pictographic },
1058 .{ .from = 0x1F611, .to = 0x1F611, .category = .Extended_Pictographic },
1059 .{ .from = 0x1F612, .to = 0x1F614, .category = .Extended_Pictographic },
1060 .{ .from = 0x1F615, .to = 0x1F615, .category = .Extended_Pictographic },
1061 .{ .from = 0x1F616, .to = 0x1F616, .category = .Extended_Pictographic },
1062 .{ .from = 0x1F617, .to = 0x1F617, .category = .Extended_Pictographic },
1063 .{ .from = 0x1F618, .to = 0x1F618, .category = .Extended_Pictographic },
1064 .{ .from = 0x1F619, .to = 0x1F619, .category = .Extended_Pictographic },
1065 .{ .from = 0x1F61A, .to = 0x1F61A, .category = .Extended_Pictographic },
1066 .{ .from = 0x1F61B, .to = 0x1F61B, .category = .Extended_Pictographic },
1067 .{ .from = 0x1F61C, .to = 0x1F61E, .category = .Extended_Pictographic },
1068 .{ .from = 0x1F61F, .to = 0x1F61F, .category = .Extended_Pictographic },
1069 .{ .from = 0x1F620, .to = 0x1F625, .category = .Extended_Pictographic },
1070 .{ .from = 0x1F626, .to = 0x1F627, .category = .Extended_Pictographic },
1071 .{ .from = 0x1F628, .to = 0x1F62B, .category = .Extended_Pictographic },
1072 .{ .from = 0x1F62C, .to = 0x1F62C, .category = .Extended_Pictographic },
1073 .{ .from = 0x1F62D, .to = 0x1F62D, .category = .Extended_Pictographic },
1074 .{ .from = 0x1F62E, .to = 0x1F62F, .category = .Extended_Pictographic },
1075 .{ .from = 0x1F630, .to = 0x1F633, .category = .Extended_Pictographic },
1076 .{ .from = 0x1F634, .to = 0x1F634, .category = .Extended_Pictographic },
1077 .{ .from = 0x1F635, .to = 0x1F635, .category = .Extended_Pictographic },
1078 .{ .from = 0x1F636, .to = 0x1F636, .category = .Extended_Pictographic },
1079 .{ .from = 0x1F637, .to = 0x1F640, .category = .Extended_Pictographic },
1080 .{ .from = 0x1F641, .to = 0x1F644, .category = .Extended_Pictographic },
1081 .{ .from = 0x1F645, .to = 0x1F64F, .category = .Extended_Pictographic },
1082 .{ .from = 0x1F680, .to = 0x1F680, .category = .Extended_Pictographic },
1083 .{ .from = 0x1F681, .to = 0x1F682, .category = .Extended_Pictographic },
1084 .{ .from = 0x1F683, .to = 0x1F685, .category = .Extended_Pictographic },
1085 .{ .from = 0x1F686, .to = 0x1F686, .category = .Extended_Pictographic },
1086 .{ .from = 0x1F687, .to = 0x1F687, .category = .Extended_Pictographic },
1087 .{ .from = 0x1F688, .to = 0x1F688, .category = .Extended_Pictographic },
1088 .{ .from = 0x1F689, .to = 0x1F689, .category = .Extended_Pictographic },
1089 .{ .from = 0x1F68A, .to = 0x1F68B, .category = .Extended_Pictographic },
1090 .{ .from = 0x1F68C, .to = 0x1F68C, .category = .Extended_Pictographic },
1091 .{ .from = 0x1F68D, .to = 0x1F68D, .category = .Extended_Pictographic },
1092 .{ .from = 0x1F68E, .to = 0x1F68E, .category = .Extended_Pictographic },
1093 .{ .from = 0x1F68F, .to = 0x1F68F, .category = .Extended_Pictographic },
1094 .{ .from = 0x1F690, .to = 0x1F690, .category = .Extended_Pictographic },
1095 .{ .from = 0x1F691, .to = 0x1F693, .category = .Extended_Pictographic },
1096 .{ .from = 0x1F694, .to = 0x1F694, .category = .Extended_Pictographic },
1097 .{ .from = 0x1F695, .to = 0x1F695, .category = .Extended_Pictographic },
1098 .{ .from = 0x1F696, .to = 0x1F696, .category = .Extended_Pictographic },
1099 .{ .from = 0x1F697, .to = 0x1F697, .category = .Extended_Pictographic },
1100 .{ .from = 0x1F698, .to = 0x1F698, .category = .Extended_Pictographic },
1101 .{ .from = 0x1F699, .to = 0x1F69A, .category = .Extended_Pictographic },
1102 .{ .from = 0x1F69B, .to = 0x1F6A1, .category = .Extended_Pictographic },
1103 .{ .from = 0x1F6A2, .to = 0x1F6A2, .category = .Extended_Pictographic },
1104 .{ .from = 0x1F6A3, .to = 0x1F6A3, .category = .Extended_Pictographic },
1105 .{ .from = 0x1F6A4, .to = 0x1F6A5, .category = .Extended_Pictographic },
1106 .{ .from = 0x1F6A6, .to = 0x1F6A6, .category = .Extended_Pictographic },
1107 .{ .from = 0x1F6A7, .to = 0x1F6AD, .category = .Extended_Pictographic },
1108 .{ .from = 0x1F6AE, .to = 0x1F6B1, .category = .Extended_Pictographic },
1109 .{ .from = 0x1F6B2, .to = 0x1F6B2, .category = .Extended_Pictographic },
1110 .{ .from = 0x1F6B3, .to = 0x1F6B5, .category = .Extended_Pictographic },
1111 .{ .from = 0x1F6B6, .to = 0x1F6B6, .category = .Extended_Pictographic },
1112 .{ .from = 0x1F6B7, .to = 0x1F6B8, .category = .Extended_Pictographic },
1113 .{ .from = 0x1F6B9, .to = 0x1F6BE, .category = .Extended_Pictographic },
1114 .{ .from = 0x1F6BF, .to = 0x1F6BF, .category = .Extended_Pictographic },
1115 .{ .from = 0x1F6C0, .to = 0x1F6C0, .category = .Extended_Pictographic },
1116 .{ .from = 0x1F6C1, .to = 0x1F6C5, .category = .Extended_Pictographic },
1117 .{ .from = 0x1F6C6, .to = 0x1F6CA, .category = .Extended_Pictographic },
1118 .{ .from = 0x1F6CB, .to = 0x1F6CB, .category = .Extended_Pictographic },
1119 .{ .from = 0x1F6CC, .to = 0x1F6CC, .category = .Extended_Pictographic },
1120 .{ .from = 0x1F6CD, .to = 0x1F6CF, .category = .Extended_Pictographic },
1121 .{ .from = 0x1F6D0, .to = 0x1F6D0, .category = .Extended_Pictographic },
1122 .{ .from = 0x1F6D1, .to = 0x1F6D2, .category = .Extended_Pictographic },
1123 .{ .from = 0x1F6D3, .to = 0x1F6D4, .category = .Extended_Pictographic },
1124 .{ .from = 0x1F6D5, .to = 0x1F6D5, .category = .Extended_Pictographic },
1125 .{ .from = 0x1F6D6, .to = 0x1F6D7, .category = .Extended_Pictographic },
1126 .{ .from = 0x1F6D8, .to = 0x1F6DF, .category = .Extended_Pictographic },
1127 .{ .from = 0x1F6E0, .to = 0x1F6E5, .category = .Extended_Pictographic },
1128 .{ .from = 0x1F6E6, .to = 0x1F6E8, .category = .Extended_Pictographic },
1129 .{ .from = 0x1F6E9, .to = 0x1F6E9, .category = .Extended_Pictographic },
1130 .{ .from = 0x1F6EA, .to = 0x1F6EA, .category = .Extended_Pictographic },
1131 .{ .from = 0x1F6EB, .to = 0x1F6EC, .category = .Extended_Pictographic },
1132 .{ .from = 0x1F6ED, .to = 0x1F6EF, .category = .Extended_Pictographic },
1133 .{ .from = 0x1F6F0, .to = 0x1F6F0, .category = .Extended_Pictographic },
1134 .{ .from = 0x1F6F1, .to = 0x1F6F2, .category = .Extended_Pictographic },
1135 .{ .from = 0x1F6F3, .to = 0x1F6F3, .category = .Extended_Pictographic },
1136 .{ .from = 0x1F6F4, .to = 0x1F6F6, .category = .Extended_Pictographic },
1137 .{ .from = 0x1F6F7, .to = 0x1F6F8, .category = .Extended_Pictographic },
1138 .{ .from = 0x1F6F9, .to = 0x1F6F9, .category = .Extended_Pictographic },
1139 .{ .from = 0x1F6FA, .to = 0x1F6FA, .category = .Extended_Pictographic },
1140 .{ .from = 0x1F6FB, .to = 0x1F6FC, .category = .Extended_Pictographic },
1141 .{ .from = 0x1F6FD, .to = 0x1F6FF, .category = .Extended_Pictographic },
1142 .{ .from = 0x1F774, .to = 0x1F77F, .category = .Extended_Pictographic },
1143 .{ .from = 0x1F7D5, .to = 0x1F7DF, .category = .Extended_Pictographic },
1144 .{ .from = 0x1F7E0, .to = 0x1F7EB, .category = .Extended_Pictographic },
1145 .{ .from = 0x1F7EC, .to = 0x1F7FF, .category = .Extended_Pictographic },
1146 .{ .from = 0x1F80C, .to = 0x1F80F, .category = .Extended_Pictographic },
1147 .{ .from = 0x1F848, .to = 0x1F84F, .category = .Extended_Pictographic },
1148 .{ .from = 0x1F85A, .to = 0x1F85F, .category = .Extended_Pictographic },
1149 .{ .from = 0x1F888, .to = 0x1F88F, .category = .Extended_Pictographic },
1150 .{ .from = 0x1F8AE, .to = 0x1F8FF, .category = .Extended_Pictographic },
1151 .{ .from = 0x1F90C, .to = 0x1F90C, .category = .Extended_Pictographic },
1152 .{ .from = 0x1F90D, .to = 0x1F90F, .category = .Extended_Pictographic },
1153 .{ .from = 0x1F910, .to = 0x1F918, .category = .Extended_Pictographic },
1154 .{ .from = 0x1F919, .to = 0x1F91E, .category = .Extended_Pictographic },
1155 .{ .from = 0x1F91F, .to = 0x1F91F, .category = .Extended_Pictographic },
1156 .{ .from = 0x1F920, .to = 0x1F927, .category = .Extended_Pictographic },
1157 .{ .from = 0x1F928, .to = 0x1F92F, .category = .Extended_Pictographic },
1158 .{ .from = 0x1F930, .to = 0x1F930, .category = .Extended_Pictographic },
1159 .{ .from = 0x1F931, .to = 0x1F932, .category = .Extended_Pictographic },
1160 .{ .from = 0x1F933, .to = 0x1F93A, .category = .Extended_Pictographic },
1161 .{ .from = 0x1F93C, .to = 0x1F93E, .category = .Extended_Pictographic },
1162 .{ .from = 0x1F93F, .to = 0x1F93F, .category = .Extended_Pictographic },
1163 .{ .from = 0x1F940, .to = 0x1F945, .category = .Extended_Pictographic },
1164 .{ .from = 0x1F947, .to = 0x1F94B, .category = .Extended_Pictographic },
1165 .{ .from = 0x1F94C, .to = 0x1F94C, .category = .Extended_Pictographic },
1166 .{ .from = 0x1F94D, .to = 0x1F94F, .category = .Extended_Pictographic },
1167 .{ .from = 0x1F950, .to = 0x1F95E, .category = .Extended_Pictographic },
1168 .{ .from = 0x1F95F, .to = 0x1F96B, .category = .Extended_Pictographic },
1169 .{ .from = 0x1F96C, .to = 0x1F970, .category = .Extended_Pictographic },
1170 .{ .from = 0x1F971, .to = 0x1F971, .category = .Extended_Pictographic },
1171 .{ .from = 0x1F972, .to = 0x1F972, .category = .Extended_Pictographic },
1172 .{ .from = 0x1F973, .to = 0x1F976, .category = .Extended_Pictographic },
1173 .{ .from = 0x1F977, .to = 0x1F978, .category = .Extended_Pictographic },
1174 .{ .from = 0x1F979, .to = 0x1F979, .category = .Extended_Pictographic },
1175 .{ .from = 0x1F97A, .to = 0x1F97A, .category = .Extended_Pictographic },
1176 .{ .from = 0x1F97B, .to = 0x1F97B, .category = .Extended_Pictographic },
1177 .{ .from = 0x1F97C, .to = 0x1F97F, .category = .Extended_Pictographic },
1178 .{ .from = 0x1F980, .to = 0x1F984, .category = .Extended_Pictographic },
1179 .{ .from = 0x1F985, .to = 0x1F991, .category = .Extended_Pictographic },
1180 .{ .from = 0x1F992, .to = 0x1F997, .category = .Extended_Pictographic },
1181 .{ .from = 0x1F998, .to = 0x1F9A2, .category = .Extended_Pictographic },
1182 .{ .from = 0x1F9A3, .to = 0x1F9A4, .category = .Extended_Pictographic },
1183 .{ .from = 0x1F9A5, .to = 0x1F9AA, .category = .Extended_Pictographic },
1184 .{ .from = 0x1F9AB, .to = 0x1F9AD, .category = .Extended_Pictographic },
1185 .{ .from = 0x1F9AE, .to = 0x1F9AF, .category = .Extended_Pictographic },
1186 .{ .from = 0x1F9B0, .to = 0x1F9B9, .category = .Extended_Pictographic },
1187 .{ .from = 0x1F9BA, .to = 0x1F9BF, .category = .Extended_Pictographic },
1188 .{ .from = 0x1F9C0, .to = 0x1F9C0, .category = .Extended_Pictographic },
1189 .{ .from = 0x1F9C1, .to = 0x1F9C2, .category = .Extended_Pictographic },
1190 .{ .from = 0x1F9C3, .to = 0x1F9CA, .category = .Extended_Pictographic },
1191 .{ .from = 0x1F9CB, .to = 0x1F9CB, .category = .Extended_Pictographic },
1192 .{ .from = 0x1F9CC, .to = 0x1F9CC, .category = .Extended_Pictographic },
1193 .{ .from = 0x1F9CD, .to = 0x1F9CF, .category = .Extended_Pictographic },
1194 .{ .from = 0x1F9D0, .to = 0x1F9E6, .category = .Extended_Pictographic },
1195 .{ .from = 0x1F9E7, .to = 0x1F9FF, .category = .Extended_Pictographic },
1196 .{ .from = 0x1FA00, .to = 0x1FA6F, .category = .Extended_Pictographic },
1197 .{ .from = 0x1FA70, .to = 0x1FA73, .category = .Extended_Pictographic },
1198 .{ .from = 0x1FA74, .to = 0x1FA74, .category = .Extended_Pictographic },
1199 .{ .from = 0x1FA75, .to = 0x1FA77, .category = .Extended_Pictographic },
1200 .{ .from = 0x1FA78, .to = 0x1FA7A, .category = .Extended_Pictographic },
1201 .{ .from = 0x1FA7B, .to = 0x1FA7F, .category = .Extended_Pictographic },
1202 .{ .from = 0x1FA80, .to = 0x1FA82, .category = .Extended_Pictographic },
1203 .{ .from = 0x1FA83, .to = 0x1FA86, .category = .Extended_Pictographic },
1204 .{ .from = 0x1FA87, .to = 0x1FA8F, .category = .Extended_Pictographic },
1205 .{ .from = 0x1FA90, .to = 0x1FA95, .category = .Extended_Pictographic },
1206 .{ .from = 0x1FA96, .to = 0x1FAA8, .category = .Extended_Pictographic },
1207 .{ .from = 0x1FAA9, .to = 0x1FAAF, .category = .Extended_Pictographic },
1208 .{ .from = 0x1FAB0, .to = 0x1FAB6, .category = .Extended_Pictographic },
1209 .{ .from = 0x1FAB7, .to = 0x1FABF, .category = .Extended_Pictographic },
1210 .{ .from = 0x1FAC0, .to = 0x1FAC2, .category = .Extended_Pictographic },
1211 .{ .from = 0x1FAC3, .to = 0x1FACF, .category = .Extended_Pictographic },
1212 .{ .from = 0x1FAD0, .to = 0x1FAD6, .category = .Extended_Pictographic },
1213 .{ .from = 0x1FAD7, .to = 0x1FAFF, .category = .Extended_Pictographic },
1214 .{ .from = 0x1FC00, .to = 0x1FFFD, .category = .Extended_Pictographic },
1215};
src/lib.zig+1
......@@ -37,3 +37,4 @@ pub const scripts = @import("./scripts.zig");
3737// USourceData.txt
3838// UnicodeData.txt
3939pub const vertical_orientation = @import("./vertical_orientation.zig");
40pub const emoji = @import("./emoji.zig");
src/main.zig+1
......@@ -29,6 +29,7 @@ pub fn main() !void {
2929 ucd.prop_list,
3030 ucd.scripts,
3131 ucd.vertical_orientation,
32 ucd.emoji,
3233 };
3334
3435 inline for (data) |b| {