@@ -2186,4 +2186,132 @@ + (NSCharacterSet *)urlCharacterSet {
2186
2186
return urlChars;
2187
2187
}
2188
2188
2189
+ + (instancetype )emojiAcceptingVS16 {
2190
+ static dispatch_once_t onceToken;
2191
+ static NSMutableCharacterSet *emoji;
2192
+ dispatch_once (&onceToken, ^{
2193
+ emoji = [[NSMutableCharacterSet alloc ] init ];
2194
+ [emoji addCharactersInRange: NSMakeRange (0xa9 , 1 )];
2195
+ [emoji addCharactersInRange: NSMakeRange (0xae , 1 )];
2196
+ [emoji addCharactersInRange: NSMakeRange (0x203c , 1 )];
2197
+ [emoji addCharactersInRange: NSMakeRange (0x2049 , 1 )];
2198
+ [emoji addCharactersInRange: NSMakeRange (0x2122 , 1 )];
2199
+ [emoji addCharactersInRange: NSMakeRange (0x2139 , 1 )];
2200
+ [emoji addCharactersInRange: NSMakeRange (0x2194 , 6 )];
2201
+ [emoji addCharactersInRange: NSMakeRange (0x21a9 , 2 )];
2202
+ [emoji addCharactersInRange: NSMakeRange (0x2328 , 1 )];
2203
+ [emoji addCharactersInRange: NSMakeRange (0x23cf , 1 )];
2204
+ [emoji addCharactersInRange: NSMakeRange (0x23ed , 3 )];
2205
+ [emoji addCharactersInRange: NSMakeRange (0x23f1 , 2 )];
2206
+ [emoji addCharactersInRange: NSMakeRange (0x23f8 , 3 )];
2207
+ [emoji addCharactersInRange: NSMakeRange (0x24c2 , 1 )];
2208
+ [emoji addCharactersInRange: NSMakeRange (0x25aa , 2 )];
2209
+ [emoji addCharactersInRange: NSMakeRange (0x25b6 , 1 )];
2210
+ [emoji addCharactersInRange: NSMakeRange (0x25c0 , 1 )];
2211
+ [emoji addCharactersInRange: NSMakeRange (0x25fb , 2 )];
2212
+ [emoji addCharactersInRange: NSMakeRange (0x2600 , 5 )];
2213
+ [emoji addCharactersInRange: NSMakeRange (0x260e , 1 )];
2214
+ [emoji addCharactersInRange: NSMakeRange (0x2611 , 1 )];
2215
+ [emoji addCharactersInRange: NSMakeRange (0x2618 , 1 )];
2216
+ [emoji addCharactersInRange: NSMakeRange (0x261d , 1 )];
2217
+ [emoji addCharactersInRange: NSMakeRange (0x2620 , 1 )];
2218
+ [emoji addCharactersInRange: NSMakeRange (0x2622 , 2 )];
2219
+ [emoji addCharactersInRange: NSMakeRange (0x2626 , 1 )];
2220
+ [emoji addCharactersInRange: NSMakeRange (0x262a , 1 )];
2221
+ [emoji addCharactersInRange: NSMakeRange (0x262e , 2 )];
2222
+ [emoji addCharactersInRange: NSMakeRange (0x2638 , 3 )];
2223
+ [emoji addCharactersInRange: NSMakeRange (0x2640 , 1 )];
2224
+ [emoji addCharactersInRange: NSMakeRange (0x2642 , 1 )];
2225
+ [emoji addCharactersInRange: NSMakeRange (0x265f , 2 )];
2226
+ [emoji addCharactersInRange: NSMakeRange (0x2663 , 1 )];
2227
+ [emoji addCharactersInRange: NSMakeRange (0x2665 , 2 )];
2228
+ [emoji addCharactersInRange: NSMakeRange (0x2668 , 1 )];
2229
+ [emoji addCharactersInRange: NSMakeRange (0x267b , 1 )];
2230
+ [emoji addCharactersInRange: NSMakeRange (0x267e , 1 )];
2231
+ [emoji addCharactersInRange: NSMakeRange (0x2692 , 1 )];
2232
+ [emoji addCharactersInRange: NSMakeRange (0x2694 , 4 )];
2233
+ [emoji addCharactersInRange: NSMakeRange (0x2699 , 1 )];
2234
+ [emoji addCharactersInRange: NSMakeRange (0x269b , 2 )];
2235
+ [emoji addCharactersInRange: NSMakeRange (0x26a0 , 1 )];
2236
+ [emoji addCharactersInRange: NSMakeRange (0x26a7 , 1 )];
2237
+ [emoji addCharactersInRange: NSMakeRange (0x26b0 , 2 )];
2238
+ [emoji addCharactersInRange: NSMakeRange (0x26c8 , 1 )];
2239
+ [emoji addCharactersInRange: NSMakeRange (0x26cf , 1 )];
2240
+ [emoji addCharactersInRange: NSMakeRange (0x26d1 , 1 )];
2241
+ [emoji addCharactersInRange: NSMakeRange (0x26d3 , 1 )];
2242
+ [emoji addCharactersInRange: NSMakeRange (0x26e9 , 1 )];
2243
+ [emoji addCharactersInRange: NSMakeRange (0x26f0 , 2 )];
2244
+ [emoji addCharactersInRange: NSMakeRange (0x26f4 , 1 )];
2245
+ [emoji addCharactersInRange: NSMakeRange (0x26f7 , 3 )];
2246
+ [emoji addCharactersInRange: NSMakeRange (0x2702 , 1 )];
2247
+ [emoji addCharactersInRange: NSMakeRange (0x2708 , 2 )];
2248
+ [emoji addCharactersInRange: NSMakeRange (0x270c , 2 )];
2249
+ [emoji addCharactersInRange: NSMakeRange (0x270f , 1 )];
2250
+ [emoji addCharactersInRange: NSMakeRange (0x2712 , 1 )];
2251
+ [emoji addCharactersInRange: NSMakeRange (0x2714 , 1 )];
2252
+ [emoji addCharactersInRange: NSMakeRange (0x2716 , 1 )];
2253
+ [emoji addCharactersInRange: NSMakeRange (0x271d , 1 )];
2254
+ [emoji addCharactersInRange: NSMakeRange (0x2721 , 1 )];
2255
+ [emoji addCharactersInRange: NSMakeRange (0x2733 , 2 )];
2256
+ [emoji addCharactersInRange: NSMakeRange (0x2744 , 1 )];
2257
+ [emoji addCharactersInRange: NSMakeRange (0x2747 , 1 )];
2258
+ [emoji addCharactersInRange: NSMakeRange (0x2763 , 2 )];
2259
+ [emoji addCharactersInRange: NSMakeRange (0x27a1 , 1 )];
2260
+ [emoji addCharactersInRange: NSMakeRange (0x2934 , 2 )];
2261
+ [emoji addCharactersInRange: NSMakeRange (0x2b05 , 3 )];
2262
+ [emoji addCharactersInRange: NSMakeRange (0x3030 , 1 )];
2263
+ [emoji addCharactersInRange: NSMakeRange (0x303d , 1 )];
2264
+ [emoji addCharactersInRange: NSMakeRange (0x3297 , 1 )];
2265
+ [emoji addCharactersInRange: NSMakeRange (0x3299 , 1 )];
2266
+ [emoji addCharactersInRange: NSMakeRange (0x1f170 , 2 )];
2267
+ [emoji addCharactersInRange: NSMakeRange (0x1f17e , 2 )];
2268
+ [emoji addCharactersInRange: NSMakeRange (0x1f202 , 1 )];
2269
+ [emoji addCharactersInRange: NSMakeRange (0x1f237 , 1 )];
2270
+ [emoji addCharactersInRange: NSMakeRange (0x1f321 , 1 )];
2271
+ [emoji addCharactersInRange: NSMakeRange (0x1f324 , 9 )];
2272
+ [emoji addCharactersInRange: NSMakeRange (0x1f336 , 1 )];
2273
+ [emoji addCharactersInRange: NSMakeRange (0x1f37d , 1 )];
2274
+ [emoji addCharactersInRange: NSMakeRange (0x1f396 , 2 )];
2275
+ [emoji addCharactersInRange: NSMakeRange (0x1f399 , 3 )];
2276
+ [emoji addCharactersInRange: NSMakeRange (0x1f39e , 2 )];
2277
+ [emoji addCharactersInRange: NSMakeRange (0x1f3cb , 4 )];
2278
+ [emoji addCharactersInRange: NSMakeRange (0x1f3d4 , 12 )];
2279
+ [emoji addCharactersInRange: NSMakeRange (0x1f3f3 , 1 )];
2280
+ [emoji addCharactersInRange: NSMakeRange (0x1f3f5 , 1 )];
2281
+ [emoji addCharactersInRange: NSMakeRange (0x1f3f7 , 1 )];
2282
+ [emoji addCharactersInRange: NSMakeRange (0x1f43f , 1 )];
2283
+ [emoji addCharactersInRange: NSMakeRange (0x1f441 , 1 )];
2284
+ [emoji addCharactersInRange: NSMakeRange (0x1f4fd , 1 )];
2285
+ [emoji addCharactersInRange: NSMakeRange (0x1f549 , 2 )];
2286
+ [emoji addCharactersInRange: NSMakeRange (0x1f56f , 2 )];
2287
+ [emoji addCharactersInRange: NSMakeRange (0x1f573 , 7 )];
2288
+ [emoji addCharactersInRange: NSMakeRange (0x1f587 , 1 )];
2289
+ [emoji addCharactersInRange: NSMakeRange (0x1f58a , 4 )];
2290
+ [emoji addCharactersInRange: NSMakeRange (0x1f590 , 1 )];
2291
+ [emoji addCharactersInRange: NSMakeRange (0x1f5a5 , 1 )];
2292
+ [emoji addCharactersInRange: NSMakeRange (0x1f5a8 , 1 )];
2293
+ [emoji addCharactersInRange: NSMakeRange (0x1f5b1 , 2 )];
2294
+ [emoji addCharactersInRange: NSMakeRange (0x1f5bc , 1 )];
2295
+ [emoji addCharactersInRange: NSMakeRange (0x1f5c2 , 3 )];
2296
+ [emoji addCharactersInRange: NSMakeRange (0x1f5d1 , 3 )];
2297
+ [emoji addCharactersInRange: NSMakeRange (0x1f5dc , 3 )];
2298
+ [emoji addCharactersInRange: NSMakeRange (0x1f5e1 , 1 )];
2299
+ [emoji addCharactersInRange: NSMakeRange (0x1f5e3 , 1 )];
2300
+ [emoji addCharactersInRange: NSMakeRange (0x1f5e8 , 1 )];
2301
+ [emoji addCharactersInRange: NSMakeRange (0x1f5ef , 1 )];
2302
+ [emoji addCharactersInRange: NSMakeRange (0x1f5f3 , 1 )];
2303
+ [emoji addCharactersInRange: NSMakeRange (0x1f5fa , 1 )];
2304
+ [emoji addCharactersInRange: NSMakeRange (0x1f6cb , 1 )];
2305
+ [emoji addCharactersInRange: NSMakeRange (0x1f6cd , 3 )];
2306
+ [emoji addCharactersInRange: NSMakeRange (0x1f6e0 , 6 )];
2307
+ [emoji addCharactersInRange: NSMakeRange (0x1f6e9 , 1 )];
2308
+ [emoji addCharactersInRange: NSMakeRange (0x1f6f0 , 1 )];
2309
+ [emoji addCharactersInRange: NSMakeRange (0x1f6f3 , 1 )];
2310
+ [emoji addCharactersInRange: NSMakeRange (0x23 , 1 )];
2311
+ [emoji addCharactersInRange: NSMakeRange (0x2a , 1 )];
2312
+ [emoji addCharactersInRange: NSMakeRange (0x30 , 10 )];
2313
+ });
2314
+ return emoji;
2315
+ }
2316
+
2189
2317
@end
0 commit comments