Doxygen
Loading...
Searching...
No Matches
emoji.cpp
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Copyright (C) 1997-2018 by Dimitri van Heesch.
4 *
5 * Permission to use, copy, modify, and distribute this software and its
6 * documentation under the terms of the GNU General Public License is hereby
7 * granted. No representations are made about the suitability of this software
8 * for any purpose. It is provided "as is" without express or implied warranty.
9 * See the GNU General Public License for more details.
10 *
11 * Documents produced by Doxygen are derivative works derived from the
12 * input used in their production; they are not affected by this license.
13 *
14 */
15
16#include "emoji.h"
17#include "message.h"
18#include "util.h"
19#include "textstream.h"
20
21static struct emojiEntityInfo
22{
23 const char *name;
24 const char *unicode;
26/* generated using the download_github_emojis.py script */
27{
28 { ":+1:", "👍" },
29 { ":-1:", "👎" },
30 { ":100:", "💯" },
31 { ":1234:", "🔢" },
32 { ":1st_place_medal:", "🥇" },
33 { ":2nd_place_medal:", "🥈" },
34 { ":3rd_place_medal:", "🥉" },
35 { ":8ball:", "🎱" },
36 { ":a:", "🅰" },
37 { ":ab:", "🆎" },
38 { ":abacus:", "🧮" },
39 { ":abc:", "🔤" },
40 { ":abcd:", "🔡" },
41 { ":accept:", "🉑" },
42 { ":accordion:", "🪗" },
43 { ":adhesive_bandage:", "🩹" },
44 { ":adult:", "🧑" },
45 { ":aerial_tramway:", "🚡" },
46 { ":afghanistan:", "🇦🇫" },
47 { ":airplane:", "✈" },
48 { ":aland_islands:", "🇦🇽" },
49 { ":alarm_clock:", "⏰" },
50 { ":albania:", "🇦🇱" },
51 { ":alembic:", "⚗" },
52 { ":algeria:", "🇩🇿" },
53 { ":alien:", "👽" },
54 { ":ambulance:", "🚑" },
55 { ":american_samoa:", "🇦🇸" },
56 { ":amphora:", "🏺" },
57 { ":anatomical_heart:", "🫀" },
58 { ":anchor:", "⚓" },
59 { ":andorra:", "🇦🇩" },
60 { ":angel:", "👼" },
61 { ":anger:", "💢" },
62 { ":angola:", "🇦🇴" },
63 { ":angry:", "😠" },
64 { ":anguilla:", "🇦🇮" },
65 { ":anguished:", "😧" },
66 { ":ant:", "🐜" },
67 { ":antarctica:", "🇦🇶" },
68 { ":antigua_barbuda:", "🇦🇬" },
69 { ":apple:", "🍎" },
70 { ":aquarius:", "♒" },
71 { ":argentina:", "🇦🇷" },
72 { ":aries:", "♈" },
73 { ":armenia:", "🇦🇲" },
74 { ":arrow_backward:", "◀" },
75 { ":arrow_double_down:", "⏬" },
76 { ":arrow_double_up:", "⏫" },
77 { ":arrow_down:", "⬇" },
78 { ":arrow_down_small:", "🔽" },
79 { ":arrow_forward:", "▶" },
80 { ":arrow_heading_down:", "⤵" },
81 { ":arrow_heading_up:", "⤴" },
82 { ":arrow_left:", "⬅" },
83 { ":arrow_lower_left:", "↙" },
84 { ":arrow_lower_right:", "↘" },
85 { ":arrow_right:", "➡" },
86 { ":arrow_right_hook:", "↪" },
87 { ":arrow_up:", "⬆" },
88 { ":arrow_up_down:", "↕" },
89 { ":arrow_up_small:", "🔼" },
90 { ":arrow_upper_left:", "↖" },
91 { ":arrow_upper_right:", "↗" },
92 { ":arrows_clockwise:", "🔃" },
93 { ":arrows_counterclockwise:", "🔄" },
94 { ":art:", "🎨" },
95 { ":articulated_lorry:", "🚛" },
96 { ":artificial_satellite:", "🛰" },
97 { ":artist:", "🧑🎨" },
98 { ":aruba:", "🇦🇼" },
99 { ":ascension_island:", "🇦🇨" },
100 { ":asterisk:", "*⃣" },
101 { ":astonished:", "😲" },
102 { ":astronaut:", "🧑🚀" },
103 { ":athletic_shoe:", "👟" },
104 { ":atm:", "🏧" },
105 { ":atom_symbol:", "⚛" },
106 { ":australia:", "🇦🇺" },
107 { ":austria:", "🇦🇹" },
108 { ":auto_rickshaw:", "🛺" },
109 { ":avocado:", "🥑" },
110 { ":axe:", "🪓" },
111 { ":azerbaijan:", "🇦🇿" },
112 { ":b:", "🅱" },
113 { ":baby:", "👶" },
114 { ":baby_bottle:", "🍼" },
115 { ":baby_chick:", "🐤" },
116 { ":baby_symbol:", "🚼" },
117 { ":back:", "🔙" },
118 { ":bacon:", "🥓" },
119 { ":badger:", "🦡" },
120 { ":badminton:", "🏸" },
121 { ":bagel:", "🥯" },
122 { ":baggage_claim:", "🛄" },
123 { ":baguette_bread:", "🥖" },
124 { ":bahamas:", "🇧🇸" },
125 { ":bahrain:", "🇧🇭" },
126 { ":balance_scale:", "⚖" },
127 { ":bald_man:", "👨🦲" },
128 { ":bald_woman:", "👩🦲" },
129 { ":ballet_shoes:", "🩰" },
130 { ":balloon:", "🎈" },
131 { ":ballot_box:", "🗳" },
132 { ":ballot_box_with_check:", "☑" },
133 { ":bamboo:", "🎍" },
134 { ":banana:", "🍌" },
135 { ":bangbang:", "‼" },
136 { ":bangladesh:", "🇧🇩" },
137 { ":banjo:", "🪕" },
138 { ":bank:", "🏦" },
139 { ":bar_chart:", "📊" },
140 { ":barbados:", "🇧🇧" },
141 { ":barber:", "💈" },
142 { ":baseball:", "⚾" },
143 { ":basket:", "🧺" },
144 { ":basketball:", "🏀" },
145 { ":basketball_man:", "⛹♂" },
146 { ":basketball_woman:", "⛹♀" },
147 { ":bat:", "🦇" },
148 { ":bath:", "🛀" },
149 { ":bathtub:", "🛁" },
150 { ":battery:", "🔋" },
151 { ":beach_umbrella:", "🏖" },
152 { ":beans:", "🫘" },
153 { ":bear:", "🐻" },
154 { ":bearded_person:", "🧔" },
155 { ":beaver:", "🦫" },
156 { ":bed:", "🛏" },
157 { ":bee:", "🐝" },
158 { ":beer:", "🍺" },
159 { ":beers:", "🍻" },
160 { ":beetle:", "🪲" },
161 { ":beginner:", "🔰" },
162 { ":belarus:", "🇧🇾" },
163 { ":belgium:", "🇧🇪" },
164 { ":belize:", "🇧🇿" },
165 { ":bell:", "🔔" },
166 { ":bell_pepper:", "🫑" },
167 { ":bellhop_bell:", "🛎" },
168 { ":benin:", "🇧🇯" },
169 { ":bento:", "🍱" },
170 { ":bermuda:", "🇧🇲" },
171 { ":beverage_box:", "🧃" },
172 { ":bhutan:", "🇧🇹" },
173 { ":bicyclist:", "🚴" },
174 { ":bike:", "🚲" },
175 { ":biking_man:", "🚴♂" },
176 { ":biking_woman:", "🚴♀" },
177 { ":bikini:", "👙" },
178 { ":billed_cap:", "🧢" },
179 { ":biohazard:", "☣" },
180 { ":bird:", "🐦" },
181 { ":birthday:", "🎂" },
182 { ":bison:", "🦬" },
183 { ":biting_lip:", "🫦" },
184 { ":black_bird:", "🐦⬛" },
185 { ":black_cat:", "🐈⬛" },
186 { ":black_circle:", "⚫" },
187 { ":black_flag:", "🏴" },
188 { ":black_heart:", "🖤" },
189 { ":black_joker:", "🃏" },
190 { ":black_large_square:", "⬛" },
191 { ":black_medium_small_square:", "◾" },
192 { ":black_medium_square:", "◼" },
193 { ":black_nib:", "✒" },
194 { ":black_small_square:", "▪" },
195 { ":black_square_button:", "🔲" },
196 { ":blond_haired_man:", "👱♂" },
197 { ":blond_haired_person:", "👱" },
198 { ":blond_haired_woman:", "👱♀" },
199 { ":blonde_woman:", "👱♀" },
200 { ":blossom:", "🌼" },
201 { ":blowfish:", "🐡" },
202 { ":blue_book:", "📘" },
203 { ":blue_car:", "🚙" },
204 { ":blue_heart:", "💙" },
205 { ":blue_square:", "🟦" },
206 { ":blueberries:", "🫐" },
207 { ":blush:", "😊" },
208 { ":boar:", "🐗" },
209 { ":boat:", "⛵" },
210 { ":bolivia:", "🇧🇴" },
211 { ":bomb:", "💣" },
212 { ":bone:", "🦴" },
213 { ":book:", "📖" },
214 { ":bookmark:", "🔖" },
215 { ":bookmark_tabs:", "📑" },
216 { ":books:", "📚" },
217 { ":boom:", "💥" },
218 { ":boomerang:", "🪃" },
219 { ":boot:", "👢" },
220 { ":bosnia_herzegovina:", "🇧🇦" },
221 { ":botswana:", "🇧🇼" },
222 { ":bouncing_ball_man:", "⛹♂" },
223 { ":bouncing_ball_person:", "⛹" },
224 { ":bouncing_ball_woman:", "⛹♀" },
225 { ":bouquet:", "💐" },
226 { ":bouvet_island:", "🇧🇻" },
227 { ":bow:", "🙇" },
228 { ":bow_and_arrow:", "🏹" },
229 { ":bowing_man:", "🙇♂" },
230 { ":bowing_woman:", "🙇♀" },
231 { ":bowl_with_spoon:", "🥣" },
232 { ":bowling:", "🎳" },
233 { ":boxing_glove:", "🥊" },
234 { ":boy:", "👦" },
235 { ":brain:", "🧠" },
236 { ":brazil:", "🇧🇷" },
237 { ":bread:", "🍞" },
238 { ":breast_feeding:", "🤱" },
239 { ":bricks:", "🧱" },
240 { ":bride_with_veil:", "👰♀" },
241 { ":bridge_at_night:", "🌉" },
242 { ":briefcase:", "💼" },
243 { ":british_indian_ocean_territory:", "🇮🇴" },
244 { ":british_virgin_islands:", "🇻🇬" },
245 { ":broccoli:", "🥦" },
246 { ":broken_heart:", "💔" },
247 { ":broom:", "🧹" },
248 { ":brown_circle:", "🟤" },
249 { ":brown_heart:", "🤎" },
250 { ":brown_square:", "🟫" },
251 { ":brunei:", "🇧🇳" },
252 { ":bubble_tea:", "🧋" },
253 { ":bubbles:", "🫧" },
254 { ":bucket:", "🪣" },
255 { ":bug:", "🐛" },
256 { ":building_construction:", "🏗" },
257 { ":bulb:", "💡" },
258 { ":bulgaria:", "🇧🇬" },
259 { ":bullettrain_front:", "🚅" },
260 { ":bullettrain_side:", "🚄" },
261 { ":burkina_faso:", "🇧🇫" },
262 { ":burrito:", "🌯" },
263 { ":burundi:", "🇧🇮" },
264 { ":bus:", "🚌" },
265 { ":business_suit_levitating:", "🕴" },
266 { ":busstop:", "🚏" },
267 { ":bust_in_silhouette:", "👤" },
268 { ":busts_in_silhouette:", "👥" },
269 { ":butter:", "🧈" },
270 { ":butterfly:", "🦋" },
271 { ":cactus:", "🌵" },
272 { ":cake:", "🍰" },
273 { ":calendar:", "📆" },
274 { ":call_me_hand:", "🤙" },
275 { ":calling:", "📲" },
276 { ":cambodia:", "🇰🇭" },
277 { ":camel:", "🐫" },
278 { ":camera:", "📷" },
279 { ":camera_flash:", "📸" },
280 { ":cameroon:", "🇨🇲" },
281 { ":camping:", "🏕" },
282 { ":canada:", "🇨🇦" },
283 { ":canary_islands:", "🇮🇨" },
284 { ":cancer:", "♋" },
285 { ":candle:", "🕯" },
286 { ":candy:", "🍬" },
287 { ":canned_food:", "🥫" },
288 { ":canoe:", "🛶" },
289 { ":cape_verde:", "🇨🇻" },
290 { ":capital_abcd:", "🔠" },
291 { ":capricorn:", "♑" },
292 { ":car:", "🚗" },
293 { ":card_file_box:", "🗃" },
294 { ":card_index:", "📇" },
295 { ":card_index_dividers:", "🗂" },
296 { ":caribbean_netherlands:", "🇧🇶" },
297 { ":carousel_horse:", "🎠" },
298 { ":carpentry_saw:", "🪚" },
299 { ":carrot:", "🥕" },
300 { ":cartwheeling:", "🤸" },
301 { ":cat:", "🐱" },
302 { ":cat2:", "🐈" },
303 { ":cayman_islands:", "🇰🇾" },
304 { ":cd:", "💿" },
305 { ":central_african_republic:", "🇨🇫" },
306 { ":ceuta_melilla:", "🇪🇦" },
307 { ":chad:", "🇹🇩" },
308 { ":chains:", "⛓" },
309 { ":chair:", "🪑" },
310 { ":champagne:", "🍾" },
311 { ":chart:", "💹" },
312 { ":chart_with_downwards_trend:", "📉" },
313 { ":chart_with_upwards_trend:", "📈" },
314 { ":checkered_flag:", "🏁" },
315 { ":cheese:", "🧀" },
316 { ":cherries:", "🍒" },
317 { ":cherry_blossom:", "🌸" },
318 { ":chess_pawn:", "♟" },
319 { ":chestnut:", "🌰" },
320 { ":chicken:", "🐔" },
321 { ":child:", "🧒" },
322 { ":children_crossing:", "🚸" },
323 { ":chile:", "🇨🇱" },
324 { ":chipmunk:", "🐿" },
325 { ":chocolate_bar:", "🍫" },
326 { ":chopsticks:", "🥢" },
327 { ":christmas_island:", "🇨🇽" },
328 { ":christmas_tree:", "🎄" },
329 { ":church:", "⛪" },
330 { ":cinema:", "🎦" },
331 { ":circus_tent:", "🎪" },
332 { ":city_sunrise:", "🌇" },
333 { ":city_sunset:", "🌆" },
334 { ":cityscape:", "🏙" },
335 { ":cl:", "🆑" },
336 { ":clamp:", "🗜" },
337 { ":clap:", "👏" },
338 { ":clapper:", "🎬" },
339 { ":classical_building:", "🏛" },
340 { ":climbing:", "🧗" },
341 { ":climbing_man:", "🧗♂" },
342 { ":climbing_woman:", "🧗♀" },
343 { ":clinking_glasses:", "🥂" },
344 { ":clipboard:", "📋" },
345 { ":clipperton_island:", "🇨🇵" },
346 { ":clock1:", "🕐" },
347 { ":clock10:", "🕙" },
348 { ":clock1030:", "🕥" },
349 { ":clock11:", "🕚" },
350 { ":clock1130:", "🕦" },
351 { ":clock12:", "🕛" },
352 { ":clock1230:", "🕧" },
353 { ":clock130:", "🕜" },
354 { ":clock2:", "🕑" },
355 { ":clock230:", "🕝" },
356 { ":clock3:", "🕒" },
357 { ":clock330:", "🕞" },
358 { ":clock4:", "🕓" },
359 { ":clock430:", "🕟" },
360 { ":clock5:", "🕔" },
361 { ":clock530:", "🕠" },
362 { ":clock6:", "🕕" },
363 { ":clock630:", "🕡" },
364 { ":clock7:", "🕖" },
365 { ":clock730:", "🕢" },
366 { ":clock8:", "🕗" },
367 { ":clock830:", "🕣" },
368 { ":clock9:", "🕘" },
369 { ":clock930:", "🕤" },
370 { ":closed_book:", "📕" },
371 { ":closed_lock_with_key:", "🔐" },
372 { ":closed_umbrella:", "🌂" },
373 { ":cloud:", "☁" },
374 { ":cloud_with_lightning:", "🌩" },
375 { ":cloud_with_lightning_and_rain:", "⛈" },
376 { ":cloud_with_rain:", "🌧" },
377 { ":cloud_with_snow:", "🌨" },
378 { ":clown_face:", "🤡" },
379 { ":clubs:", "♣" },
380 { ":cn:", "🇨🇳" },
381 { ":coat:", "🧥" },
382 { ":cockroach:", "🪳" },
383 { ":cocktail:", "🍸" },
384 { ":coconut:", "🥥" },
385 { ":cocos_islands:", "🇨🇨" },
386 { ":coffee:", "☕" },
387 { ":coffin:", "⚰" },
388 { ":coin:", "🪙" },
389 { ":cold_face:", "🥶" },
390 { ":cold_sweat:", "😰" },
391 { ":collision:", "💥" },
392 { ":colombia:", "🇨🇴" },
393 { ":comet:", "☄" },
394 { ":comoros:", "🇰🇲" },
395 { ":compass:", "🧭" },
396 { ":computer:", "💻" },
397 { ":computer_mouse:", "🖱" },
398 { ":confetti_ball:", "🎊" },
399 { ":confounded:", "😖" },
400 { ":confused:", "😕" },
401 { ":congo_brazzaville:", "🇨🇬" },
402 { ":congo_kinshasa:", "🇨🇩" },
403 { ":congratulations:", "㊗" },
404 { ":construction:", "🚧" },
405 { ":construction_worker:", "👷" },
406 { ":construction_worker_man:", "👷♂" },
407 { ":construction_worker_woman:", "👷♀" },
408 { ":control_knobs:", "🎛" },
409 { ":convenience_store:", "🏪" },
410 { ":cook:", "🧑🍳" },
411 { ":cook_islands:", "🇨🇰" },
412 { ":cookie:", "🍪" },
413 { ":cool:", "🆒" },
414 { ":cop:", "👮" },
415 { ":copyright:", "©" },
416 { ":coral:", "🪸" },
417 { ":corn:", "🌽" },
418 { ":costa_rica:", "🇨🇷" },
419 { ":cote_divoire:", "🇨🇮" },
420 { ":couch_and_lamp:", "🛋" },
421 { ":couple:", "👫" },
422 { ":couple_with_heart:", "💑" },
423 { ":couple_with_heart_man_man:", "👨❤👨" },
424 { ":couple_with_heart_woman_man:", "👩❤👨" },
425 { ":couple_with_heart_woman_woman:", "👩❤👩" },
426 { ":couplekiss:", "💏" },
427 { ":couplekiss_man_man:", "👨❤💋👨" },
428 { ":couplekiss_man_woman:", "👩❤💋👨" },
429 { ":couplekiss_woman_woman:", "👩❤💋👩" },
430 { ":cow:", "🐮" },
431 { ":cow2:", "🐄" },
432 { ":cowboy_hat_face:", "🤠" },
433 { ":crab:", "🦀" },
434 { ":crayon:", "🖍" },
435 { ":credit_card:", "💳" },
436 { ":crescent_moon:", "🌙" },
437 { ":cricket:", "🦗" },
438 { ":cricket_game:", "🏏" },
439 { ":croatia:", "🇭🇷" },
440 { ":crocodile:", "🐊" },
441 { ":croissant:", "🥐" },
442 { ":crossed_fingers:", "🤞" },
443 { ":crossed_flags:", "🎌" },
444 { ":crossed_swords:", "⚔" },
445 { ":crown:", "👑" },
446 { ":crutch:", "🩼" },
447 { ":cry:", "😢" },
448 { ":crying_cat_face:", "😿" },
449 { ":crystal_ball:", "🔮" },
450 { ":cuba:", "🇨🇺" },
451 { ":cucumber:", "🥒" },
452 { ":cup_with_straw:", "🥤" },
453 { ":cupcake:", "🧁" },
454 { ":cupid:", "💘" },
455 { ":curacao:", "🇨🇼" },
456 { ":curling_stone:", "🥌" },
457 { ":curly_haired_man:", "👨🦱" },
458 { ":curly_haired_woman:", "👩🦱" },
459 { ":curly_loop:", "➰" },
460 { ":currency_exchange:", "💱" },
461 { ":curry:", "🍛" },
462 { ":cursing_face:", "🤬" },
463 { ":custard:", "🍮" },
464 { ":customs:", "🛃" },
465 { ":cut_of_meat:", "🥩" },
466 { ":cyclone:", "🌀" },
467 { ":cyprus:", "🇨🇾" },
468 { ":czech_republic:", "🇨🇿" },
469 { ":dagger:", "🗡" },
470 { ":dancer:", "💃" },
471 { ":dancers:", "👯" },
472 { ":dancing_men:", "👯♂" },
473 { ":dancing_women:", "👯♀" },
474 { ":dango:", "🍡" },
475 { ":dark_sunglasses:", "🕶" },
476 { ":dart:", "🎯" },
477 { ":dash:", "💨" },
478 { ":date:", "📅" },
479 { ":de:", "🇩🇪" },
480 { ":deaf_man:", "🧏♂" },
481 { ":deaf_person:", "🧏" },
482 { ":deaf_woman:", "🧏♀" },
483 { ":deciduous_tree:", "🌳" },
484 { ":deer:", "🦌" },
485 { ":denmark:", "🇩🇰" },
486 { ":department_store:", "🏬" },
487 { ":derelict_house:", "🏚" },
488 { ":desert:", "🏜" },
489 { ":desert_island:", "🏝" },
490 { ":desktop_computer:", "🖥" },
491 { ":detective:", "🕵" },
492 { ":diamond_shape_with_a_dot_inside:", "💠" },
493 { ":diamonds:", "♦" },
494 { ":diego_garcia:", "🇩🇬" },
495 { ":disappointed:", "😞" },
496 { ":disappointed_relieved:", "😥" },
497 { ":disguised_face:", "🥸" },
498 { ":diving_mask:", "🤿" },
499 { ":diya_lamp:", "🪔" },
500 { ":dizzy:", "💫" },
501 { ":dizzy_face:", "😵" },
502 { ":djibouti:", "🇩🇯" },
503 { ":dna:", "🧬" },
504 { ":do_not_litter:", "🚯" },
505 { ":dodo:", "🦤" },
506 { ":dog:", "🐶" },
507 { ":dog2:", "🐕" },
508 { ":dollar:", "💵" },
509 { ":dolls:", "🎎" },
510 { ":dolphin:", "🐬" },
511 { ":dominica:", "🇩🇲" },
512 { ":dominican_republic:", "🇩🇴" },
513 { ":donkey:", "🫏" },
514 { ":door:", "🚪" },
515 { ":dotted_line_face:", "🫥" },
516 { ":doughnut:", "🍩" },
517 { ":dove:", "🕊" },
518 { ":dragon:", "🐉" },
519 { ":dragon_face:", "🐲" },
520 { ":dress:", "👗" },
521 { ":dromedary_camel:", "🐪" },
522 { ":drooling_face:", "🤤" },
523 { ":drop_of_blood:", "🩸" },
524 { ":droplet:", "💧" },
525 { ":drum:", "🥁" },
526 { ":duck:", "🦆" },
527 { ":dumpling:", "🥟" },
528 { ":dvd:", "📀" },
529 { ":e-mail:", "📧" },
530 { ":eagle:", "🦅" },
531 { ":ear:", "👂" },
532 { ":ear_of_rice:", "🌾" },
533 { ":ear_with_hearing_aid:", "🦻" },
534 { ":earth_africa:", "🌍" },
535 { ":earth_americas:", "🌎" },
536 { ":earth_asia:", "🌏" },
537 { ":ecuador:", "🇪🇨" },
538 { ":egg:", "🥚" },
539 { ":eggplant:", "🍆" },
540 { ":egypt:", "🇪🇬" },
541 { ":eight:", "8⃣" },
542 { ":eight_pointed_black_star:", "✴" },
543 { ":eight_spoked_asterisk:", "✳" },
544 { ":eject_button:", "⏏" },
545 { ":el_salvador:", "🇸🇻" },
546 { ":electric_plug:", "🔌" },
547 { ":elephant:", "🐘" },
548 { ":elevator:", "🛗" },
549 { ":elf:", "🧝" },
550 { ":elf_man:", "🧝♂" },
551 { ":elf_woman:", "🧝♀" },
552 { ":email:", "📧" },
553 { ":empty_nest:", "🪹" },
554 { ":end:", "🔚" },
555 { ":england:", "🏴󠁧󠁢󠁥󠁮󠁧󠁿" },
556 { ":envelope:", "✉" },
557 { ":envelope_with_arrow:", "📩" },
558 { ":equatorial_guinea:", "🇬🇶" },
559 { ":eritrea:", "🇪🇷" },
560 { ":es:", "🇪🇸" },
561 { ":estonia:", "🇪🇪" },
562 { ":ethiopia:", "🇪🇹" },
563 { ":eu:", "🇪🇺" },
564 { ":euro:", "💶" },
565 { ":european_castle:", "🏰" },
566 { ":european_post_office:", "🏤" },
567 { ":european_union:", "🇪🇺" },
568 { ":evergreen_tree:", "🌲" },
569 { ":exclamation:", "❗" },
570 { ":exploding_head:", "🤯" },
571 { ":expressionless:", "😑" },
572 { ":eye:", "👁" },
573 { ":eye_speech_bubble:", "👁🗨" },
574 { ":eyeglasses:", "👓" },
575 { ":eyes:", "👀" },
576 { ":face_exhaling:", "😮💨" },
577 { ":face_holding_back_tears:", "🥹" },
578 { ":face_in_clouds:", "😶🌫" },
579 { ":face_with_diagonal_mouth:", "🫤" },
580 { ":face_with_head_bandage:", "🤕" },
581 { ":face_with_open_eyes_and_hand_over_mouth:", "🫢" },
582 { ":face_with_peeking_eye:", "🫣" },
583 { ":face_with_spiral_eyes:", "😵💫" },
584 { ":face_with_thermometer:", "🤒" },
585 { ":facepalm:", "🤦" },
586 { ":facepunch:", "👊" },
587 { ":factory:", "🏭" },
588 { ":factory_worker:", "🧑🏭" },
589 { ":fairy:", "🧚" },
590 { ":fairy_man:", "🧚♂" },
591 { ":fairy_woman:", "🧚♀" },
592 { ":falafel:", "🧆" },
593 { ":falkland_islands:", "🇫🇰" },
594 { ":fallen_leaf:", "🍂" },
595 { ":family:", "👪" },
596 { ":family_man_boy:", "👨👦" },
597 { ":family_man_boy_boy:", "👨👦👦" },
598 { ":family_man_girl:", "👨👧" },
599 { ":family_man_girl_boy:", "👨👧👦" },
600 { ":family_man_girl_girl:", "👨👧👧" },
601 { ":family_man_man_boy:", "👨👨👦" },
602 { ":family_man_man_boy_boy:", "👨👨👦👦" },
603 { ":family_man_man_girl:", "👨👨👧" },
604 { ":family_man_man_girl_boy:", "👨👨👧👦" },
605 { ":family_man_man_girl_girl:", "👨👨👧👧" },
606 { ":family_man_woman_boy:", "👨👩👦" },
607 { ":family_man_woman_boy_boy:", "👨👩👦👦" },
608 { ":family_man_woman_girl:", "👨👩👧" },
609 { ":family_man_woman_girl_boy:", "👨👩👧👦" },
610 { ":family_man_woman_girl_girl:", "👨👩👧👧" },
611 { ":family_woman_boy:", "👩👦" },
612 { ":family_woman_boy_boy:", "👩👦👦" },
613 { ":family_woman_girl:", "👩👧" },
614 { ":family_woman_girl_boy:", "👩👧👦" },
615 { ":family_woman_girl_girl:", "👩👧👧" },
616 { ":family_woman_woman_boy:", "👩👩👦" },
617 { ":family_woman_woman_boy_boy:", "👩👩👦👦" },
618 { ":family_woman_woman_girl:", "👩👩👧" },
619 { ":family_woman_woman_girl_boy:", "👩👩👧👦" },
620 { ":family_woman_woman_girl_girl:", "👩👩👧👧" },
621 { ":farmer:", "🧑🌾" },
622 { ":faroe_islands:", "🇫🇴" },
623 { ":fast_forward:", "⏩" },
624 { ":fax:", "📠" },
625 { ":fearful:", "😨" },
626 { ":feather:", "🪶" },
627 { ":feet:", "🐾" },
628 { ":female_detective:", "🕵♀" },
629 { ":female_sign:", "♀" },
630 { ":ferris_wheel:", "🎡" },
631 { ":ferry:", "⛴" },
632 { ":field_hockey:", "🏑" },
633 { ":fiji:", "🇫🇯" },
634 { ":file_cabinet:", "🗄" },
635 { ":file_folder:", "📁" },
636 { ":film_projector:", "📽" },
637 { ":film_strip:", "🎞" },
638 { ":finland:", "🇫🇮" },
639 { ":fire:", "🔥" },
640 { ":fire_engine:", "🚒" },
641 { ":fire_extinguisher:", "🧯" },
642 { ":firecracker:", "🧨" },
643 { ":firefighter:", "🧑🚒" },
644 { ":fireworks:", "🎆" },
645 { ":first_quarter_moon:", "🌓" },
646 { ":first_quarter_moon_with_face:", "🌛" },
647 { ":fish:", "🐟" },
648 { ":fish_cake:", "🍥" },
649 { ":fishing_pole_and_fish:", "🎣" },
650 { ":fist:", "✊" },
651 { ":fist_left:", "🤛" },
652 { ":fist_oncoming:", "👊" },
653 { ":fist_raised:", "✊" },
654 { ":fist_right:", "🤜" },
655 { ":five:", "5⃣" },
656 { ":flags:", "🎏" },
657 { ":flamingo:", "🦩" },
658 { ":flashlight:", "🔦" },
659 { ":flat_shoe:", "🥿" },
660 { ":flatbread:", "🫓" },
661 { ":fleur_de_lis:", "⚜" },
662 { ":flight_arrival:", "🛬" },
663 { ":flight_departure:", "🛫" },
664 { ":flipper:", "🐬" },
665 { ":floppy_disk:", "💾" },
666 { ":flower_playing_cards:", "🎴" },
667 { ":flushed:", "😳" },
668 { ":flute:", "🪈" },
669 { ":fly:", "🪰" },
670 { ":flying_disc:", "🥏" },
671 { ":flying_saucer:", "🛸" },
672 { ":fog:", "🌫" },
673 { ":foggy:", "🌁" },
674 { ":folding_hand_fan:", "🪭" },
675 { ":fondue:", "🫕" },
676 { ":foot:", "🦶" },
677 { ":football:", "🏈" },
678 { ":footprints:", "👣" },
679 { ":fork_and_knife:", "🍴" },
680 { ":fortune_cookie:", "🥠" },
681 { ":fountain:", "⛲" },
682 { ":fountain_pen:", "🖋" },
683 { ":four:", "4⃣" },
684 { ":four_leaf_clover:", "🍀" },
685 { ":fox_face:", "🦊" },
686 { ":fr:", "🇫🇷" },
687 { ":framed_picture:", "🖼" },
688 { ":free:", "🆓" },
689 { ":french_guiana:", "🇬🇫" },
690 { ":french_polynesia:", "🇵🇫" },
691 { ":french_southern_territories:", "🇹🇫" },
692 { ":fried_egg:", "🍳" },
693 { ":fried_shrimp:", "🍤" },
694 { ":fries:", "🍟" },
695 { ":frog:", "🐸" },
696 { ":frowning:", "😦" },
697 { ":frowning_face:", "☹" },
698 { ":frowning_man:", "🙍♂" },
699 { ":frowning_person:", "🙍" },
700 { ":frowning_woman:", "🙍♀" },
701 { ":fu:", "🖕" },
702 { ":fuelpump:", "⛽" },
703 { ":full_moon:", "🌕" },
704 { ":full_moon_with_face:", "🌝" },
705 { ":funeral_urn:", "⚱" },
706 { ":gabon:", "🇬🇦" },
707 { ":gambia:", "🇬🇲" },
708 { ":game_die:", "🎲" },
709 { ":garlic:", "🧄" },
710 { ":gb:", "🇬🇧" },
711 { ":gear:", "⚙" },
712 { ":gem:", "💎" },
713 { ":gemini:", "♊" },
714 { ":genie:", "🧞" },
715 { ":genie_man:", "🧞♂" },
716 { ":genie_woman:", "🧞♀" },
717 { ":georgia:", "🇬🇪" },
718 { ":ghana:", "🇬🇭" },
719 { ":ghost:", "👻" },
720 { ":gibraltar:", "🇬🇮" },
721 { ":gift:", "🎁" },
722 { ":gift_heart:", "💝" },
723 { ":ginger_root:", "🫚" },
724 { ":giraffe:", "🦒" },
725 { ":girl:", "👧" },
726 { ":globe_with_meridians:", "🌐" },
727 { ":gloves:", "🧤" },
728 { ":goal_net:", "🥅" },
729 { ":goat:", "🐐" },
730 { ":goggles:", "🥽" },
731 { ":golf:", "⛳" },
732 { ":golfing:", "🏌" },
733 { ":golfing_man:", "🏌♂" },
734 { ":golfing_woman:", "🏌♀" },
735 { ":goose:", "🪿" },
736 { ":gorilla:", "🦍" },
737 { ":grapes:", "🍇" },
738 { ":greece:", "🇬🇷" },
739 { ":green_apple:", "🍏" },
740 { ":green_book:", "📗" },
741 { ":green_circle:", "🟢" },
742 { ":green_heart:", "💚" },
743 { ":green_salad:", "🥗" },
744 { ":green_square:", "🟩" },
745 { ":greenland:", "🇬🇱" },
746 { ":grenada:", "🇬🇩" },
747 { ":grey_exclamation:", "❕" },
748 { ":grey_heart:", "🩶" },
749 { ":grey_question:", "❔" },
750 { ":grimacing:", "😬" },
751 { ":grin:", "😁" },
752 { ":grinning:", "😀" },
753 { ":guadeloupe:", "🇬🇵" },
754 { ":guam:", "🇬🇺" },
755 { ":guard:", "💂" },
756 { ":guardsman:", "💂♂" },
757 { ":guardswoman:", "💂♀" },
758 { ":guatemala:", "🇬🇹" },
759 { ":guernsey:", "🇬🇬" },
760 { ":guide_dog:", "🦮" },
761 { ":guinea:", "🇬🇳" },
762 { ":guinea_bissau:", "🇬🇼" },
763 { ":guitar:", "🎸" },
764 { ":gun:", "🔫" },
765 { ":guyana:", "🇬🇾" },
766 { ":hair_pick:", "🪮" },
767 { ":haircut:", "💇" },
768 { ":haircut_man:", "💇♂" },
769 { ":haircut_woman:", "💇♀" },
770 { ":haiti:", "🇭🇹" },
771 { ":hamburger:", "🍔" },
772 { ":hammer:", "🔨" },
773 { ":hammer_and_pick:", "⚒" },
774 { ":hammer_and_wrench:", "🛠" },
775 { ":hamsa:", "🪬" },
776 { ":hamster:", "🐹" },
777 { ":hand:", "✋" },
778 { ":hand_over_mouth:", "🤭" },
779 { ":hand_with_index_finger_and_thumb_crossed:", "🫰" },
780 { ":handbag:", "👜" },
781 { ":handball_person:", "🤾" },
782 { ":handshake:", "🤝" },
783 { ":hankey:", "💩" },
784 { ":hash:", "#⃣" },
785 { ":hatched_chick:", "🐥" },
786 { ":hatching_chick:", "🐣" },
787 { ":headphones:", "🎧" },
788 { ":headstone:", "🪦" },
789 { ":health_worker:", "🧑⚕" },
790 { ":hear_no_evil:", "🙉" },
791 { ":heard_mcdonald_islands:", "🇭🇲" },
792 { ":heart:", "❤" },
793 { ":heart_decoration:", "💟" },
794 { ":heart_eyes:", "😍" },
795 { ":heart_eyes_cat:", "😻" },
796 { ":heart_hands:", "🫶" },
797 { ":heart_on_fire:", "❤🔥" },
798 { ":heartbeat:", "💓" },
799 { ":heartpulse:", "💗" },
800 { ":hearts:", "♥" },
801 { ":heavy_check_mark:", "✔" },
802 { ":heavy_division_sign:", "➗" },
803 { ":heavy_dollar_sign:", "💲" },
804 { ":heavy_equals_sign:", "🟰" },
805 { ":heavy_exclamation_mark:", "❗" },
806 { ":heavy_heart_exclamation:", "❣" },
807 { ":heavy_minus_sign:", "➖" },
808 { ":heavy_multiplication_x:", "✖" },
809 { ":heavy_plus_sign:", "➕" },
810 { ":hedgehog:", "🦔" },
811 { ":helicopter:", "🚁" },
812 { ":herb:", "🌿" },
813 { ":hibiscus:", "🌺" },
814 { ":high_brightness:", "🔆" },
815 { ":high_heel:", "👠" },
816 { ":hiking_boot:", "🥾" },
817 { ":hindu_temple:", "🛕" },
818 { ":hippopotamus:", "🦛" },
819 { ":hocho:", "🔪" },
820 { ":hole:", "🕳" },
821 { ":honduras:", "🇭🇳" },
822 { ":honey_pot:", "🍯" },
823 { ":honeybee:", "🐝" },
824 { ":hong_kong:", "🇭🇰" },
825 { ":hook:", "🪝" },
826 { ":horse:", "🐴" },
827 { ":horse_racing:", "🏇" },
828 { ":hospital:", "🏥" },
829 { ":hot_face:", "🥵" },
830 { ":hot_pepper:", "🌶" },
831 { ":hotdog:", "🌭" },
832 { ":hotel:", "🏨" },
833 { ":hotsprings:", "♨" },
834 { ":hourglass:", "⌛" },
835 { ":hourglass_flowing_sand:", "⏳" },
836 { ":house:", "🏠" },
837 { ":house_with_garden:", "🏡" },
838 { ":houses:", "🏘" },
839 { ":hugs:", "🤗" },
840 { ":hungary:", "🇭🇺" },
841 { ":hushed:", "😯" },
842 { ":hut:", "🛖" },
843 { ":hyacinth:", "🪻" },
844 { ":ice_cream:", "🍨" },
845 { ":ice_cube:", "🧊" },
846 { ":ice_hockey:", "🏒" },
847 { ":ice_skate:", "⛸" },
848 { ":icecream:", "🍦" },
849 { ":iceland:", "🇮🇸" },
850 { ":id:", "🆔" },
851 { ":identification_card:", "🪪" },
852 { ":ideograph_advantage:", "🉐" },
853 { ":imp:", "👿" },
854 { ":inbox_tray:", "📥" },
855 { ":incoming_envelope:", "📨" },
856 { ":index_pointing_at_the_viewer:", "🫵" },
857 { ":india:", "🇮🇳" },
858 { ":indonesia:", "🇮🇩" },
859 { ":infinity:", "♾" },
860 { ":information_desk_person:", "💁" },
861 { ":information_source:", "ℹ" },
862 { ":innocent:", "😇" },
863 { ":interrobang:", "⁉" },
864 { ":iphone:", "📱" },
865 { ":iran:", "🇮🇷" },
866 { ":iraq:", "🇮🇶" },
867 { ":ireland:", "🇮🇪" },
868 { ":isle_of_man:", "🇮🇲" },
869 { ":israel:", "🇮🇱" },
870 { ":it:", "🇮🇹" },
871 { ":izakaya_lantern:", "🏮" },
872 { ":jack_o_lantern:", "🎃" },
873 { ":jamaica:", "🇯🇲" },
874 { ":japan:", "🗾" },
875 { ":japanese_castle:", "🏯" },
876 { ":japanese_goblin:", "👺" },
877 { ":japanese_ogre:", "👹" },
878 { ":jar:", "🫙" },
879 { ":jeans:", "👖" },
880 { ":jellyfish:", "🪼" },
881 { ":jersey:", "🇯🇪" },
882 { ":jigsaw:", "🧩" },
883 { ":jordan:", "🇯🇴" },
884 { ":joy:", "😂" },
885 { ":joy_cat:", "😹" },
886 { ":joystick:", "🕹" },
887 { ":jp:", "🇯🇵" },
888 { ":judge:", "🧑⚖" },
889 { ":juggling_person:", "🤹" },
890 { ":kaaba:", "🕋" },
891 { ":kangaroo:", "🦘" },
892 { ":kazakhstan:", "🇰🇿" },
893 { ":kenya:", "🇰🇪" },
894 { ":key:", "🔑" },
895 { ":keyboard:", "⌨" },
896 { ":keycap_ten:", "🔟" },
897 { ":khanda:", "🪯" },
898 { ":kick_scooter:", "🛴" },
899 { ":kimono:", "👘" },
900 { ":kiribati:", "🇰🇮" },
901 { ":kiss:", "💋" },
902 { ":kissing:", "😗" },
903 { ":kissing_cat:", "😽" },
904 { ":kissing_closed_eyes:", "😚" },
905 { ":kissing_heart:", "😘" },
906 { ":kissing_smiling_eyes:", "😙" },
907 { ":kite:", "🪁" },
908 { ":kiwi_fruit:", "🥝" },
909 { ":kneeling_man:", "🧎♂" },
910 { ":kneeling_person:", "🧎" },
911 { ":kneeling_woman:", "🧎♀" },
912 { ":knife:", "🔪" },
913 { ":knot:", "🪢" },
914 { ":koala:", "🐨" },
915 { ":koko:", "🈁" },
916 { ":kosovo:", "🇽🇰" },
917 { ":kr:", "🇰🇷" },
918 { ":kuwait:", "🇰🇼" },
919 { ":kyrgyzstan:", "🇰🇬" },
920 { ":lab_coat:", "🥼" },
921 { ":label:", "🏷" },
922 { ":lacrosse:", "🥍" },
923 { ":ladder:", "🪜" },
924 { ":lady_beetle:", "🐞" },
925 { ":lantern:", "🏮" },
926 { ":laos:", "🇱🇦" },
927 { ":large_blue_circle:", "🔵" },
928 { ":large_blue_diamond:", "🔷" },
929 { ":large_orange_diamond:", "🔶" },
930 { ":last_quarter_moon:", "🌗" },
931 { ":last_quarter_moon_with_face:", "🌜" },
932 { ":latin_cross:", "✝" },
933 { ":latvia:", "🇱🇻" },
934 { ":laughing:", "😆" },
935 { ":leafy_green:", "🥬" },
936 { ":leaves:", "🍃" },
937 { ":lebanon:", "🇱🇧" },
938 { ":ledger:", "📒" },
939 { ":left_luggage:", "🛅" },
940 { ":left_right_arrow:", "↔" },
941 { ":left_speech_bubble:", "🗨" },
942 { ":leftwards_arrow_with_hook:", "↩" },
943 { ":leftwards_hand:", "🫲" },
944 { ":leftwards_pushing_hand:", "🫷" },
945 { ":leg:", "🦵" },
946 { ":lemon:", "🍋" },
947 { ":leo:", "♌" },
948 { ":leopard:", "🐆" },
949 { ":lesotho:", "🇱🇸" },
950 { ":level_slider:", "🎚" },
951 { ":liberia:", "🇱🇷" },
952 { ":libra:", "♎" },
953 { ":libya:", "🇱🇾" },
954 { ":liechtenstein:", "🇱🇮" },
955 { ":light_blue_heart:", "🩵" },
956 { ":light_rail:", "🚈" },
957 { ":link:", "🔗" },
958 { ":lion:", "🦁" },
959 { ":lips:", "👄" },
960 { ":lipstick:", "💄" },
961 { ":lithuania:", "🇱🇹" },
962 { ":lizard:", "🦎" },
963 { ":llama:", "🦙" },
964 { ":lobster:", "🦞" },
965 { ":lock:", "🔒" },
966 { ":lock_with_ink_pen:", "🔏" },
967 { ":lollipop:", "🍭" },
968 { ":long_drum:", "🪘" },
969 { ":loop:", "➿" },
970 { ":lotion_bottle:", "🧴" },
971 { ":lotus:", "🪷" },
972 { ":lotus_position:", "🧘" },
973 { ":lotus_position_man:", "🧘♂" },
974 { ":lotus_position_woman:", "🧘♀" },
975 { ":loud_sound:", "🔊" },
976 { ":loudspeaker:", "📢" },
977 { ":love_hotel:", "🏩" },
978 { ":love_letter:", "💌" },
979 { ":love_you_gesture:", "🤟" },
980 { ":low_battery:", "🪫" },
981 { ":low_brightness:", "🔅" },
982 { ":luggage:", "🧳" },
983 { ":lungs:", "🫁" },
984 { ":luxembourg:", "🇱🇺" },
985 { ":lying_face:", "🤥" },
986 { ":m:", "Ⓜ" },
987 { ":macau:", "🇲🇴" },
988 { ":macedonia:", "🇲🇰" },
989 { ":madagascar:", "🇲🇬" },
990 { ":mag:", "🔍" },
991 { ":mag_right:", "🔎" },
992 { ":mage:", "🧙" },
993 { ":mage_man:", "🧙♂" },
994 { ":mage_woman:", "🧙♀" },
995 { ":magic_wand:", "🪄" },
996 { ":magnet:", "🧲" },
997 { ":mahjong:", "🀄" },
998 { ":mailbox:", "📫" },
999 { ":mailbox_closed:", "📪" },
1000 { ":mailbox_with_mail:", "📬" },
1001 { ":mailbox_with_no_mail:", "📭" },
1002 { ":malawi:", "🇲🇼" },
1003 { ":malaysia:", "🇲🇾" },
1004 { ":maldives:", "🇲🇻" },
1005 { ":male_detective:", "🕵♂" },
1006 { ":male_sign:", "♂" },
1007 { ":mali:", "🇲🇱" },
1008 { ":malta:", "🇲🇹" },
1009 { ":mammoth:", "🦣" },
1010 { ":man:", "👨" },
1011 { ":man_artist:", "👨🎨" },
1012 { ":man_astronaut:", "👨🚀" },
1013 { ":man_beard:", "🧔♂" },
1014 { ":man_cartwheeling:", "🤸♂" },
1015 { ":man_cook:", "👨🍳" },
1016 { ":man_dancing:", "🕺" },
1017 { ":man_facepalming:", "🤦♂" },
1018 { ":man_factory_worker:", "👨🏭" },
1019 { ":man_farmer:", "👨🌾" },
1020 { ":man_feeding_baby:", "👨🍼" },
1021 { ":man_firefighter:", "👨🚒" },
1022 { ":man_health_worker:", "👨⚕" },
1023 { ":man_in_manual_wheelchair:", "👨🦽" },
1024 { ":man_in_motorized_wheelchair:", "👨🦼" },
1025 { ":man_in_tuxedo:", "🤵♂" },
1026 { ":man_judge:", "👨⚖" },
1027 { ":man_juggling:", "🤹♂" },
1028 { ":man_mechanic:", "👨🔧" },
1029 { ":man_office_worker:", "👨💼" },
1030 { ":man_pilot:", "👨✈" },
1031 { ":man_playing_handball:", "🤾♂" },
1032 { ":man_playing_water_polo:", "🤽♂" },
1033 { ":man_scientist:", "👨🔬" },
1034 { ":man_shrugging:", "🤷♂" },
1035 { ":man_singer:", "👨🎤" },
1036 { ":man_student:", "👨🎓" },
1037 { ":man_teacher:", "👨🏫" },
1038 { ":man_technologist:", "👨💻" },
1039 { ":man_with_gua_pi_mao:", "👲" },
1040 { ":man_with_probing_cane:", "👨🦯" },
1041 { ":man_with_turban:", "👳♂" },
1042 { ":man_with_veil:", "👰♂" },
1043 { ":mandarin:", "🍊" },
1044 { ":mango:", "🥭" },
1045 { ":mans_shoe:", "👞" },
1046 { ":mantelpiece_clock:", "🕰" },
1047 { ":manual_wheelchair:", "🦽" },
1048 { ":maple_leaf:", "🍁" },
1049 { ":maracas:", "🪇" },
1050 { ":marshall_islands:", "🇲🇭" },
1051 { ":martial_arts_uniform:", "🥋" },
1052 { ":martinique:", "🇲🇶" },
1053 { ":mask:", "😷" },
1054 { ":massage:", "💆" },
1055 { ":massage_man:", "💆♂" },
1056 { ":massage_woman:", "💆♀" },
1057 { ":mate:", "🧉" },
1058 { ":mauritania:", "🇲🇷" },
1059 { ":mauritius:", "🇲🇺" },
1060 { ":mayotte:", "🇾🇹" },
1061 { ":meat_on_bone:", "🍖" },
1062 { ":mechanic:", "🧑🔧" },
1063 { ":mechanical_arm:", "🦾" },
1064 { ":mechanical_leg:", "🦿" },
1065 { ":medal_military:", "🎖" },
1066 { ":medal_sports:", "🏅" },
1067 { ":medical_symbol:", "⚕" },
1068 { ":mega:", "📣" },
1069 { ":melon:", "🍈" },
1070 { ":melting_face:", "🫠" },
1071 { ":memo:", "📝" },
1072 { ":men_wrestling:", "🤼♂" },
1073 { ":mending_heart:", "❤🩹" },
1074 { ":menorah:", "🕎" },
1075 { ":mens:", "🚹" },
1076 { ":mermaid:", "🧜♀" },
1077 { ":merman:", "🧜♂" },
1078 { ":merperson:", "🧜" },
1079 { ":metal:", "🤘" },
1080 { ":metro:", "🚇" },
1081 { ":mexico:", "🇲🇽" },
1082 { ":microbe:", "🦠" },
1083 { ":micronesia:", "🇫🇲" },
1084 { ":microphone:", "🎤" },
1085 { ":microscope:", "🔬" },
1086 { ":middle_finger:", "🖕" },
1087 { ":military_helmet:", "🪖" },
1088 { ":milk_glass:", "🥛" },
1089 { ":milky_way:", "🌌" },
1090 { ":minibus:", "🚐" },
1091 { ":minidisc:", "💽" },
1092 { ":mirror:", "🪞" },
1093 { ":mirror_ball:", "🪩" },
1094 { ":mobile_phone_off:", "📴" },
1095 { ":moldova:", "🇲🇩" },
1096 { ":monaco:", "🇲🇨" },
1097 { ":money_mouth_face:", "🤑" },
1098 { ":money_with_wings:", "💸" },
1099 { ":moneybag:", "💰" },
1100 { ":mongolia:", "🇲🇳" },
1101 { ":monkey:", "🐒" },
1102 { ":monkey_face:", "🐵" },
1103 { ":monocle_face:", "🧐" },
1104 { ":monorail:", "🚝" },
1105 { ":montenegro:", "🇲🇪" },
1106 { ":montserrat:", "🇲🇸" },
1107 { ":moon:", "🌔" },
1108 { ":moon_cake:", "🥮" },
1109 { ":moose:", "🫎" },
1110 { ":morocco:", "🇲🇦" },
1111 { ":mortar_board:", "🎓" },
1112 { ":mosque:", "🕌" },
1113 { ":mosquito:", "🦟" },
1114 { ":motor_boat:", "🛥" },
1115 { ":motor_scooter:", "🛵" },
1116 { ":motorcycle:", "🏍" },
1117 { ":motorized_wheelchair:", "🦼" },
1118 { ":motorway:", "🛣" },
1119 { ":mount_fuji:", "🗻" },
1120 { ":mountain:", "⛰" },
1121 { ":mountain_bicyclist:", "🚵" },
1122 { ":mountain_biking_man:", "🚵♂" },
1123 { ":mountain_biking_woman:", "🚵♀" },
1124 { ":mountain_cableway:", "🚠" },
1125 { ":mountain_railway:", "🚞" },
1126 { ":mountain_snow:", "🏔" },
1127 { ":mouse:", "🐭" },
1128 { ":mouse2:", "🐁" },
1129 { ":mouse_trap:", "🪤" },
1130 { ":movie_camera:", "🎥" },
1131 { ":moyai:", "🗿" },
1132 { ":mozambique:", "🇲🇿" },
1133 { ":mrs_claus:", "🤶" },
1134 { ":muscle:", "💪" },
1135 { ":mushroom:", "🍄" },
1136 { ":musical_keyboard:", "🎹" },
1137 { ":musical_note:", "🎵" },
1138 { ":musical_score:", "🎼" },
1139 { ":mute:", "🔇" },
1140 { ":mx_claus:", "🧑🎄" },
1141 { ":myanmar:", "🇲🇲" },
1142 { ":nail_care:", "💅" },
1143 { ":name_badge:", "📛" },
1144 { ":namibia:", "🇳🇦" },
1145 { ":national_park:", "🏞" },
1146 { ":nauru:", "🇳🇷" },
1147 { ":nauseated_face:", "🤢" },
1148 { ":nazar_amulet:", "🧿" },
1149 { ":necktie:", "👔" },
1150 { ":negative_squared_cross_mark:", "❎" },
1151 { ":nepal:", "🇳🇵" },
1152 { ":nerd_face:", "🤓" },
1153 { ":nest_with_eggs:", "🪺" },
1154 { ":nesting_dolls:", "🪆" },
1155 { ":netherlands:", "🇳🇱" },
1156 { ":neutral_face:", "😐" },
1157 { ":new:", "🆕" },
1158 { ":new_caledonia:", "🇳🇨" },
1159 { ":new_moon:", "🌑" },
1160 { ":new_moon_with_face:", "🌚" },
1161 { ":new_zealand:", "🇳🇿" },
1162 { ":newspaper:", "📰" },
1163 { ":newspaper_roll:", "🗞" },
1164 { ":next_track_button:", "⏭" },
1165 { ":ng:", "🆖" },
1166 { ":ng_man:", "🙅♂" },
1167 { ":ng_woman:", "🙅♀" },
1168 { ":nicaragua:", "🇳🇮" },
1169 { ":niger:", "🇳🇪" },
1170 { ":nigeria:", "🇳🇬" },
1171 { ":night_with_stars:", "🌃" },
1172 { ":nine:", "9⃣" },
1173 { ":ninja:", "🥷" },
1174 { ":niue:", "🇳🇺" },
1175 { ":no_bell:", "🔕" },
1176 { ":no_bicycles:", "🚳" },
1177 { ":no_entry:", "⛔" },
1178 { ":no_entry_sign:", "🚫" },
1179 { ":no_good:", "🙅" },
1180 { ":no_good_man:", "🙅♂" },
1181 { ":no_good_woman:", "🙅♀" },
1182 { ":no_mobile_phones:", "📵" },
1183 { ":no_mouth:", "😶" },
1184 { ":no_pedestrians:", "🚷" },
1185 { ":no_smoking:", "🚭" },
1186 { ":non-potable_water:", "🚱" },
1187 { ":norfolk_island:", "🇳🇫" },
1188 { ":north_korea:", "🇰🇵" },
1189 { ":northern_mariana_islands:", "🇲🇵" },
1190 { ":norway:", "🇳🇴" },
1191 { ":nose:", "👃" },
1192 { ":notebook:", "📓" },
1193 { ":notebook_with_decorative_cover:", "📔" },
1194 { ":notes:", "🎶" },
1195 { ":nut_and_bolt:", "🔩" },
1196 { ":o:", "⭕" },
1197 { ":o2:", "🅾" },
1198 { ":ocean:", "🌊" },
1199 { ":octopus:", "🐙" },
1200 { ":oden:", "🍢" },
1201 { ":office:", "🏢" },
1202 { ":office_worker:", "🧑💼" },
1203 { ":oil_drum:", "🛢" },
1204 { ":ok:", "🆗" },
1205 { ":ok_hand:", "👌" },
1206 { ":ok_man:", "🙆♂" },
1207 { ":ok_person:", "🙆" },
1208 { ":ok_woman:", "🙆♀" },
1209 { ":old_key:", "🗝" },
1210 { ":older_adult:", "🧓" },
1211 { ":older_man:", "👴" },
1212 { ":older_woman:", "👵" },
1213 { ":olive:", "🫒" },
1214 { ":om:", "🕉" },
1215 { ":oman:", "🇴🇲" },
1216 { ":on:", "🔛" },
1217 { ":oncoming_automobile:", "🚘" },
1218 { ":oncoming_bus:", "🚍" },
1219 { ":oncoming_police_car:", "🚔" },
1220 { ":oncoming_taxi:", "🚖" },
1221 { ":one:", "1⃣" },
1222 { ":one_piece_swimsuit:", "🩱" },
1223 { ":onion:", "🧅" },
1224 { ":open_book:", "📖" },
1225 { ":open_file_folder:", "📂" },
1226 { ":open_hands:", "👐" },
1227 { ":open_mouth:", "😮" },
1228 { ":open_umbrella:", "☂" },
1229 { ":ophiuchus:", "⛎" },
1230 { ":orange:", "🍊" },
1231 { ":orange_book:", "📙" },
1232 { ":orange_circle:", "🟠" },
1233 { ":orange_heart:", "🧡" },
1234 { ":orange_square:", "🟧" },
1235 { ":orangutan:", "🦧" },
1236 { ":orthodox_cross:", "☦" },
1237 { ":otter:", "🦦" },
1238 { ":outbox_tray:", "📤" },
1239 { ":owl:", "🦉" },
1240 { ":ox:", "🐂" },
1241 { ":oyster:", "🦪" },
1242 { ":package:", "📦" },
1243 { ":page_facing_up:", "📄" },
1244 { ":page_with_curl:", "📃" },
1245 { ":pager:", "📟" },
1246 { ":paintbrush:", "🖌" },
1247 { ":pakistan:", "🇵🇰" },
1248 { ":palau:", "🇵🇼" },
1249 { ":palestinian_territories:", "🇵🇸" },
1250 { ":palm_down_hand:", "🫳" },
1251 { ":palm_tree:", "🌴" },
1252 { ":palm_up_hand:", "🫴" },
1253 { ":palms_up_together:", "🤲" },
1254 { ":panama:", "🇵🇦" },
1255 { ":pancakes:", "🥞" },
1256 { ":panda_face:", "🐼" },
1257 { ":paperclip:", "📎" },
1258 { ":paperclips:", "🖇" },
1259 { ":papua_new_guinea:", "🇵🇬" },
1260 { ":parachute:", "🪂" },
1261 { ":paraguay:", "🇵🇾" },
1262 { ":parasol_on_ground:", "⛱" },
1263 { ":parking:", "🅿" },
1264 { ":parrot:", "🦜" },
1265 { ":part_alternation_mark:", "〽" },
1266 { ":partly_sunny:", "⛅" },
1267 { ":partying_face:", "🥳" },
1268 { ":passenger_ship:", "🛳" },
1269 { ":passport_control:", "🛂" },
1270 { ":pause_button:", "⏸" },
1271 { ":paw_prints:", "🐾" },
1272 { ":pea_pod:", "🫛" },
1273 { ":peace_symbol:", "☮" },
1274 { ":peach:", "🍑" },
1275 { ":peacock:", "🦚" },
1276 { ":peanuts:", "🥜" },
1277 { ":pear:", "🍐" },
1278 { ":pen:", "🖊" },
1279 { ":pencil:", "📝" },
1280 { ":pencil2:", "✏" },
1281 { ":penguin:", "🐧" },
1282 { ":pensive:", "😔" },
1283 { ":people_holding_hands:", "🧑🤝🧑" },
1284 { ":people_hugging:", "🫂" },
1285 { ":performing_arts:", "🎭" },
1286 { ":persevere:", "😣" },
1287 { ":person_bald:", "🧑🦲" },
1288 { ":person_curly_hair:", "🧑🦱" },
1289 { ":person_feeding_baby:", "🧑🍼" },
1290 { ":person_fencing:", "🤺" },
1291 { ":person_in_manual_wheelchair:", "🧑🦽" },
1292 { ":person_in_motorized_wheelchair:", "🧑🦼" },
1293 { ":person_in_tuxedo:", "🤵" },
1294 { ":person_red_hair:", "🧑🦰" },
1295 { ":person_white_hair:", "🧑🦳" },
1296 { ":person_with_crown:", "🫅" },
1297 { ":person_with_probing_cane:", "🧑🦯" },
1298 { ":person_with_turban:", "👳" },
1299 { ":person_with_veil:", "👰" },
1300 { ":peru:", "🇵🇪" },
1301 { ":petri_dish:", "🧫" },
1302 { ":philippines:", "🇵🇭" },
1303 { ":phone:", "☎" },
1304 { ":pick:", "⛏" },
1305 { ":pickup_truck:", "🛻" },
1306 { ":pie:", "🥧" },
1307 { ":pig:", "🐷" },
1308 { ":pig2:", "🐖" },
1309 { ":pig_nose:", "🐽" },
1310 { ":pill:", "💊" },
1311 { ":pilot:", "🧑✈" },
1312 { ":pinata:", "🪅" },
1313 { ":pinched_fingers:", "🤌" },
1314 { ":pinching_hand:", "🤏" },
1315 { ":pineapple:", "🍍" },
1316 { ":ping_pong:", "🏓" },
1317 { ":pink_heart:", "🩷" },
1318 { ":pirate_flag:", "🏴☠" },
1319 { ":pisces:", "♓" },
1320 { ":pitcairn_islands:", "🇵🇳" },
1321 { ":pizza:", "🍕" },
1322 { ":placard:", "🪧" },
1323 { ":place_of_worship:", "🛐" },
1324 { ":plate_with_cutlery:", "🍽" },
1325 { ":play_or_pause_button:", "⏯" },
1326 { ":playground_slide:", "🛝" },
1327 { ":pleading_face:", "🥺" },
1328 { ":plunger:", "🪠" },
1329 { ":point_down:", "👇" },
1330 { ":point_left:", "👈" },
1331 { ":point_right:", "👉" },
1332 { ":point_up:", "☝" },
1333 { ":point_up_2:", "👆" },
1334 { ":poland:", "🇵🇱" },
1335 { ":polar_bear:", "🐻❄" },
1336 { ":police_car:", "🚓" },
1337 { ":police_officer:", "👮" },
1338 { ":policeman:", "👮♂" },
1339 { ":policewoman:", "👮♀" },
1340 { ":poodle:", "🐩" },
1341 { ":poop:", "💩" },
1342 { ":popcorn:", "🍿" },
1343 { ":portugal:", "🇵🇹" },
1344 { ":post_office:", "🏣" },
1345 { ":postal_horn:", "📯" },
1346 { ":postbox:", "📮" },
1347 { ":potable_water:", "🚰" },
1348 { ":potato:", "🥔" },
1349 { ":potted_plant:", "🪴" },
1350 { ":pouch:", "👝" },
1351 { ":poultry_leg:", "🍗" },
1352 { ":pound:", "💷" },
1353 { ":pouring_liquid:", "🫗" },
1354 { ":pout:", "😡" },
1355 { ":pouting_cat:", "😾" },
1356 { ":pouting_face:", "🙎" },
1357 { ":pouting_man:", "🙎♂" },
1358 { ":pouting_woman:", "🙎♀" },
1359 { ":pray:", "🙏" },
1360 { ":prayer_beads:", "📿" },
1361 { ":pregnant_man:", "🫃" },
1362 { ":pregnant_person:", "🫄" },
1363 { ":pregnant_woman:", "🤰" },
1364 { ":pretzel:", "🥨" },
1365 { ":previous_track_button:", "⏮" },
1366 { ":prince:", "🤴" },
1367 { ":princess:", "👸" },
1368 { ":printer:", "🖨" },
1369 { ":probing_cane:", "🦯" },
1370 { ":puerto_rico:", "🇵🇷" },
1371 { ":punch:", "👊" },
1372 { ":purple_circle:", "🟣" },
1373 { ":purple_heart:", "💜" },
1374 { ":purple_square:", "🟪" },
1375 { ":purse:", "👛" },
1376 { ":pushpin:", "📌" },
1377 { ":put_litter_in_its_place:", "🚮" },
1378 { ":qatar:", "🇶🇦" },
1379 { ":question:", "❓" },
1380 { ":rabbit:", "🐰" },
1381 { ":rabbit2:", "🐇" },
1382 { ":raccoon:", "🦝" },
1383 { ":racehorse:", "🐎" },
1384 { ":racing_car:", "🏎" },
1385 { ":radio:", "📻" },
1386 { ":radio_button:", "🔘" },
1387 { ":radioactive:", "☢" },
1388 { ":rage:", "😡" },
1389 { ":railway_car:", "🚃" },
1390 { ":railway_track:", "🛤" },
1391 { ":rainbow:", "🌈" },
1392 { ":rainbow_flag:", "🏳🌈" },
1393 { ":raised_back_of_hand:", "🤚" },
1394 { ":raised_eyebrow:", "🤨" },
1395 { ":raised_hand:", "✋" },
1396 { ":raised_hand_with_fingers_splayed:", "🖐" },
1397 { ":raised_hands:", "🙌" },
1398 { ":raising_hand:", "🙋" },
1399 { ":raising_hand_man:", "🙋♂" },
1400 { ":raising_hand_woman:", "🙋♀" },
1401 { ":ram:", "🐏" },
1402 { ":ramen:", "🍜" },
1403 { ":rat:", "🐀" },
1404 { ":razor:", "🪒" },
1405 { ":receipt:", "🧾" },
1406 { ":record_button:", "⏺" },
1407 { ":recycle:", "♻" },
1408 { ":red_car:", "🚗" },
1409 { ":red_circle:", "🔴" },
1410 { ":red_envelope:", "🧧" },
1411 { ":red_haired_man:", "👨🦰" },
1412 { ":red_haired_woman:", "👩🦰" },
1413 { ":red_square:", "🟥" },
1414 { ":registered:", "®" },
1415 { ":relaxed:", "☺" },
1416 { ":relieved:", "😌" },
1417 { ":reminder_ribbon:", "🎗" },
1418 { ":repeat:", "🔁" },
1419 { ":repeat_one:", "🔂" },
1420 { ":rescue_worker_helmet:", "⛑" },
1421 { ":restroom:", "🚻" },
1422 { ":reunion:", "🇷🇪" },
1423 { ":revolving_hearts:", "💞" },
1424 { ":rewind:", "⏪" },
1425 { ":rhinoceros:", "🦏" },
1426 { ":ribbon:", "🎀" },
1427 { ":rice:", "🍚" },
1428 { ":rice_ball:", "🍙" },
1429 { ":rice_cracker:", "🍘" },
1430 { ":rice_scene:", "🎑" },
1431 { ":right_anger_bubble:", "🗯" },
1432 { ":rightwards_hand:", "🫱" },
1433 { ":rightwards_pushing_hand:", "🫸" },
1434 { ":ring:", "💍" },
1435 { ":ring_buoy:", "🛟" },
1436 { ":ringed_planet:", "🪐" },
1437 { ":robot:", "🤖" },
1438 { ":rock:", "🪨" },
1439 { ":rocket:", "🚀" },
1440 { ":rofl:", "🤣" },
1441 { ":roll_eyes:", "🙄" },
1442 { ":roll_of_paper:", "🧻" },
1443 { ":roller_coaster:", "🎢" },
1444 { ":roller_skate:", "🛼" },
1445 { ":romania:", "🇷🇴" },
1446 { ":rooster:", "🐓" },
1447 { ":rose:", "🌹" },
1448 { ":rosette:", "🏵" },
1449 { ":rotating_light:", "🚨" },
1450 { ":round_pushpin:", "📍" },
1451 { ":rowboat:", "🚣" },
1452 { ":rowing_man:", "🚣♂" },
1453 { ":rowing_woman:", "🚣♀" },
1454 { ":ru:", "🇷🇺" },
1455 { ":rugby_football:", "🏉" },
1456 { ":runner:", "🏃" },
1457 { ":running:", "🏃" },
1458 { ":running_man:", "🏃♂" },
1459 { ":running_shirt_with_sash:", "🎽" },
1460 { ":running_woman:", "🏃♀" },
1461 { ":rwanda:", "🇷🇼" },
1462 { ":sa:", "🈂" },
1463 { ":safety_pin:", "🧷" },
1464 { ":safety_vest:", "🦺" },
1465 { ":sagittarius:", "♐" },
1466 { ":sailboat:", "⛵" },
1467 { ":sake:", "🍶" },
1468 { ":salt:", "🧂" },
1469 { ":saluting_face:", "🫡" },
1470 { ":samoa:", "🇼🇸" },
1471 { ":san_marino:", "🇸🇲" },
1472 { ":sandal:", "👡" },
1473 { ":sandwich:", "🥪" },
1474 { ":santa:", "🎅" },
1475 { ":sao_tome_principe:", "🇸🇹" },
1476 { ":sari:", "🥻" },
1477 { ":sassy_man:", "💁♂" },
1478 { ":sassy_woman:", "💁♀" },
1479 { ":satellite:", "📡" },
1480 { ":satisfied:", "😆" },
1481 { ":saudi_arabia:", "🇸🇦" },
1482 { ":sauna_man:", "🧖♂" },
1483 { ":sauna_person:", "🧖" },
1484 { ":sauna_woman:", "🧖♀" },
1485 { ":sauropod:", "🦕" },
1486 { ":saxophone:", "🎷" },
1487 { ":scarf:", "🧣" },
1488 { ":school:", "🏫" },
1489 { ":school_satchel:", "🎒" },
1490 { ":scientist:", "🧑🔬" },
1491 { ":scissors:", "✂" },
1492 { ":scorpion:", "🦂" },
1493 { ":scorpius:", "♏" },
1494 { ":scotland:", "🏴󠁧󠁢󠁳󠁣󠁴󠁿" },
1495 { ":scream:", "😱" },
1496 { ":scream_cat:", "🙀" },
1497 { ":screwdriver:", "🪛" },
1498 { ":scroll:", "📜" },
1499 { ":seal:", "🦭" },
1500 { ":seat:", "💺" },
1501 { ":secret:", "㊙" },
1502 { ":see_no_evil:", "🙈" },
1503 { ":seedling:", "🌱" },
1504 { ":selfie:", "🤳" },
1505 { ":senegal:", "🇸🇳" },
1506 { ":serbia:", "🇷🇸" },
1507 { ":service_dog:", "🐕🦺" },
1508 { ":seven:", "7⃣" },
1509 { ":sewing_needle:", "🪡" },
1510 { ":seychelles:", "🇸🇨" },
1511 { ":shaking_face:", "🫨" },
1512 { ":shallow_pan_of_food:", "🥘" },
1513 { ":shamrock:", "☘" },
1514 { ":shark:", "🦈" },
1515 { ":shaved_ice:", "🍧" },
1516 { ":sheep:", "🐑" },
1517 { ":shell:", "🐚" },
1518 { ":shield:", "🛡" },
1519 { ":shinto_shrine:", "⛩" },
1520 { ":ship:", "🚢" },
1521 { ":shirt:", "👕" },
1522 { ":shit:", "💩" },
1523 { ":shoe:", "👞" },
1524 { ":shopping:", "🛍" },
1525 { ":shopping_cart:", "🛒" },
1526 { ":shorts:", "🩳" },
1527 { ":shower:", "🚿" },
1528 { ":shrimp:", "🦐" },
1529 { ":shrug:", "🤷" },
1530 { ":shushing_face:", "🤫" },
1531 { ":sierra_leone:", "🇸🇱" },
1532 { ":signal_strength:", "📶" },
1533 { ":singapore:", "🇸🇬" },
1534 { ":singer:", "🧑🎤" },
1535 { ":sint_maarten:", "🇸🇽" },
1536 { ":six:", "6⃣" },
1537 { ":six_pointed_star:", "🔯" },
1538 { ":skateboard:", "🛹" },
1539 { ":ski:", "🎿" },
1540 { ":skier:", "⛷" },
1541 { ":skull:", "💀" },
1542 { ":skull_and_crossbones:", "☠" },
1543 { ":skunk:", "🦨" },
1544 { ":sled:", "🛷" },
1545 { ":sleeping:", "😴" },
1546 { ":sleeping_bed:", "🛌" },
1547 { ":sleepy:", "😪" },
1548 { ":slightly_frowning_face:", "🙁" },
1549 { ":slightly_smiling_face:", "🙂" },
1550 { ":slot_machine:", "🎰" },
1551 { ":sloth:", "🦥" },
1552 { ":slovakia:", "🇸🇰" },
1553 { ":slovenia:", "🇸🇮" },
1554 { ":small_airplane:", "🛩" },
1555 { ":small_blue_diamond:", "🔹" },
1556 { ":small_orange_diamond:", "🔸" },
1557 { ":small_red_triangle:", "🔺" },
1558 { ":small_red_triangle_down:", "🔻" },
1559 { ":smile:", "😄" },
1560 { ":smile_cat:", "😸" },
1561 { ":smiley:", "😃" },
1562 { ":smiley_cat:", "😺" },
1563 { ":smiling_face_with_tear:", "🥲" },
1564 { ":smiling_face_with_three_hearts:", "🥰" },
1565 { ":smiling_imp:", "😈" },
1566 { ":smirk:", "😏" },
1567 { ":smirk_cat:", "😼" },
1568 { ":smoking:", "🚬" },
1569 { ":snail:", "🐌" },
1570 { ":snake:", "🐍" },
1571 { ":sneezing_face:", "🤧" },
1572 { ":snowboarder:", "🏂" },
1573 { ":snowflake:", "❄" },
1574 { ":snowman:", "⛄" },
1575 { ":snowman_with_snow:", "☃" },
1576 { ":soap:", "🧼" },
1577 { ":sob:", "😭" },
1578 { ":soccer:", "⚽" },
1579 { ":socks:", "🧦" },
1580 { ":softball:", "🥎" },
1581 { ":solomon_islands:", "🇸🇧" },
1582 { ":somalia:", "🇸🇴" },
1583 { ":soon:", "🔜" },
1584 { ":sos:", "🆘" },
1585 { ":sound:", "🔉" },
1586 { ":south_africa:", "🇿🇦" },
1587 { ":south_georgia_south_sandwich_islands:", "🇬🇸" },
1588 { ":south_sudan:", "🇸🇸" },
1589 { ":space_invader:", "👾" },
1590 { ":spades:", "♠" },
1591 { ":spaghetti:", "🍝" },
1592 { ":sparkle:", "❇" },
1593 { ":sparkler:", "🎇" },
1594 { ":sparkles:", "✨" },
1595 { ":sparkling_heart:", "💖" },
1596 { ":speak_no_evil:", "🙊" },
1597 { ":speaker:", "🔈" },
1598 { ":speaking_head:", "🗣" },
1599 { ":speech_balloon:", "💬" },
1600 { ":speedboat:", "🚤" },
1601 { ":spider:", "🕷" },
1602 { ":spider_web:", "🕸" },
1603 { ":spiral_calendar:", "🗓" },
1604 { ":spiral_notepad:", "🗒" },
1605 { ":sponge:", "🧽" },
1606 { ":spoon:", "🥄" },
1607 { ":squid:", "🦑" },
1608 { ":sri_lanka:", "🇱🇰" },
1609 { ":st_barthelemy:", "🇧🇱" },
1610 { ":st_helena:", "🇸🇭" },
1611 { ":st_kitts_nevis:", "🇰🇳" },
1612 { ":st_lucia:", "🇱🇨" },
1613 { ":st_martin:", "🇲🇫" },
1614 { ":st_pierre_miquelon:", "🇵🇲" },
1615 { ":st_vincent_grenadines:", "🇻🇨" },
1616 { ":stadium:", "🏟" },
1617 { ":standing_man:", "🧍♂" },
1618 { ":standing_person:", "🧍" },
1619 { ":standing_woman:", "🧍♀" },
1620 { ":star:", "⭐" },
1621 { ":star2:", "🌟" },
1622 { ":star_and_crescent:", "☪" },
1623 { ":star_of_david:", "✡" },
1624 { ":star_struck:", "🤩" },
1625 { ":stars:", "🌠" },
1626 { ":station:", "🚉" },
1627 { ":statue_of_liberty:", "🗽" },
1628 { ":steam_locomotive:", "🚂" },
1629 { ":stethoscope:", "🩺" },
1630 { ":stew:", "🍲" },
1631 { ":stop_button:", "⏹" },
1632 { ":stop_sign:", "🛑" },
1633 { ":stopwatch:", "⏱" },
1634 { ":straight_ruler:", "📏" },
1635 { ":strawberry:", "🍓" },
1636 { ":stuck_out_tongue:", "😛" },
1637 { ":stuck_out_tongue_closed_eyes:", "😝" },
1638 { ":stuck_out_tongue_winking_eye:", "😜" },
1639 { ":student:", "🧑🎓" },
1640 { ":studio_microphone:", "🎙" },
1641 { ":stuffed_flatbread:", "🥙" },
1642 { ":sudan:", "🇸🇩" },
1643 { ":sun_behind_large_cloud:", "🌥" },
1644 { ":sun_behind_rain_cloud:", "🌦" },
1645 { ":sun_behind_small_cloud:", "🌤" },
1646 { ":sun_with_face:", "🌞" },
1647 { ":sunflower:", "🌻" },
1648 { ":sunglasses:", "😎" },
1649 { ":sunny:", "☀" },
1650 { ":sunrise:", "🌅" },
1651 { ":sunrise_over_mountains:", "🌄" },
1652 { ":superhero:", "🦸" },
1653 { ":superhero_man:", "🦸♂" },
1654 { ":superhero_woman:", "🦸♀" },
1655 { ":supervillain:", "🦹" },
1656 { ":supervillain_man:", "🦹♂" },
1657 { ":supervillain_woman:", "🦹♀" },
1658 { ":surfer:", "🏄" },
1659 { ":surfing_man:", "🏄♂" },
1660 { ":surfing_woman:", "🏄♀" },
1661 { ":suriname:", "🇸🇷" },
1662 { ":sushi:", "🍣" },
1663 { ":suspension_railway:", "🚟" },
1664 { ":svalbard_jan_mayen:", "🇸🇯" },
1665 { ":swan:", "🦢" },
1666 { ":swaziland:", "🇸🇿" },
1667 { ":sweat:", "😓" },
1668 { ":sweat_drops:", "💦" },
1669 { ":sweat_smile:", "😅" },
1670 { ":sweden:", "🇸🇪" },
1671 { ":sweet_potato:", "🍠" },
1672 { ":swim_brief:", "🩲" },
1673 { ":swimmer:", "🏊" },
1674 { ":swimming_man:", "🏊♂" },
1675 { ":swimming_woman:", "🏊♀" },
1676 { ":switzerland:", "🇨🇭" },
1677 { ":symbols:", "🔣" },
1678 { ":synagogue:", "🕍" },
1679 { ":syria:", "🇸🇾" },
1680 { ":syringe:", "💉" },
1681 { ":t-rex:", "🦖" },
1682 { ":taco:", "🌮" },
1683 { ":tada:", "🎉" },
1684 { ":taiwan:", "🇹🇼" },
1685 { ":tajikistan:", "🇹🇯" },
1686 { ":takeout_box:", "🥡" },
1687 { ":tamale:", "🫔" },
1688 { ":tanabata_tree:", "🎋" },
1689 { ":tangerine:", "🍊" },
1690 { ":tanzania:", "🇹🇿" },
1691 { ":taurus:", "♉" },
1692 { ":taxi:", "🚕" },
1693 { ":tea:", "🍵" },
1694 { ":teacher:", "🧑🏫" },
1695 { ":teapot:", "🫖" },
1696 { ":technologist:", "🧑💻" },
1697 { ":teddy_bear:", "🧸" },
1698 { ":telephone:", "☎" },
1699 { ":telephone_receiver:", "📞" },
1700 { ":telescope:", "🔭" },
1701 { ":tennis:", "🎾" },
1702 { ":tent:", "⛺" },
1703 { ":test_tube:", "🧪" },
1704 { ":thailand:", "🇹🇭" },
1705 { ":thermometer:", "🌡" },
1706 { ":thinking:", "🤔" },
1707 { ":thong_sandal:", "🩴" },
1708 { ":thought_balloon:", "💭" },
1709 { ":thread:", "🧵" },
1710 { ":three:", "3⃣" },
1711 { ":thumbsdown:", "👎" },
1712 { ":thumbsup:", "👍" },
1713 { ":ticket:", "🎫" },
1714 { ":tickets:", "🎟" },
1715 { ":tiger:", "🐯" },
1716 { ":tiger2:", "🐅" },
1717 { ":timer_clock:", "⏲" },
1718 { ":timor_leste:", "🇹🇱" },
1719 { ":tipping_hand_man:", "💁♂" },
1720 { ":tipping_hand_person:", "💁" },
1721 { ":tipping_hand_woman:", "💁♀" },
1722 { ":tired_face:", "😫" },
1723 { ":tm:", "™" },
1724 { ":togo:", "🇹🇬" },
1725 { ":toilet:", "🚽" },
1726 { ":tokelau:", "🇹🇰" },
1727 { ":tokyo_tower:", "🗼" },
1728 { ":tomato:", "🍅" },
1729 { ":tonga:", "🇹🇴" },
1730 { ":tongue:", "👅" },
1731 { ":toolbox:", "🧰" },
1732 { ":tooth:", "🦷" },
1733 { ":toothbrush:", "🪥" },
1734 { ":top:", "🔝" },
1735 { ":tophat:", "🎩" },
1736 { ":tornado:", "🌪" },
1737 { ":tr:", "🇹🇷" },
1738 { ":trackball:", "🖲" },
1739 { ":tractor:", "🚜" },
1740 { ":traffic_light:", "🚥" },
1741 { ":train:", "🚋" },
1742 { ":train2:", "🚆" },
1743 { ":tram:", "🚊" },
1744 { ":transgender_flag:", "🏳⚧" },
1745 { ":transgender_symbol:", "⚧" },
1746 { ":triangular_flag_on_post:", "🚩" },
1747 { ":triangular_ruler:", "📐" },
1748 { ":trident:", "🔱" },
1749 { ":trinidad_tobago:", "🇹🇹" },
1750 { ":tristan_da_cunha:", "🇹🇦" },
1751 { ":triumph:", "😤" },
1752 { ":troll:", "🧌" },
1753 { ":trolleybus:", "🚎" },
1754 { ":trophy:", "🏆" },
1755 { ":tropical_drink:", "🍹" },
1756 { ":tropical_fish:", "🐠" },
1757 { ":truck:", "🚚" },
1758 { ":trumpet:", "🎺" },
1759 { ":tshirt:", "👕" },
1760 { ":tulip:", "🌷" },
1761 { ":tumbler_glass:", "🥃" },
1762 { ":tunisia:", "🇹🇳" },
1763 { ":turkey:", "🦃" },
1764 { ":turkmenistan:", "🇹🇲" },
1765 { ":turks_caicos_islands:", "🇹🇨" },
1766 { ":turtle:", "🐢" },
1767 { ":tuvalu:", "🇹🇻" },
1768 { ":tv:", "📺" },
1769 { ":twisted_rightwards_arrows:", "🔀" },
1770 { ":two:", "2⃣" },
1771 { ":two_hearts:", "💕" },
1772 { ":two_men_holding_hands:", "👬" },
1773 { ":two_women_holding_hands:", "👭" },
1774 { ":u5272:", "🈹" },
1775 { ":u5408:", "🈴" },
1776 { ":u55b6:", "🈺" },
1777 { ":u6307:", "🈯" },
1778 { ":u6708:", "🈷" },
1779 { ":u6709:", "🈶" },
1780 { ":u6e80:", "🈵" },
1781 { ":u7121:", "🈚" },
1782 { ":u7533:", "🈸" },
1783 { ":u7981:", "🈲" },
1784 { ":u7a7a:", "🈳" },
1785 { ":uganda:", "🇺🇬" },
1786 { ":uk:", "🇬🇧" },
1787 { ":ukraine:", "🇺🇦" },
1788 { ":umbrella:", "☔" },
1789 { ":unamused:", "😒" },
1790 { ":underage:", "🔞" },
1791 { ":unicorn:", "🦄" },
1792 { ":united_arab_emirates:", "🇦🇪" },
1793 { ":united_nations:", "🇺🇳" },
1794 { ":unlock:", "🔓" },
1795 { ":up:", "🆙" },
1796 { ":upside_down_face:", "🙃" },
1797 { ":uruguay:", "🇺🇾" },
1798 { ":us:", "🇺🇸" },
1799 { ":us_outlying_islands:", "🇺🇲" },
1800 { ":us_virgin_islands:", "🇻🇮" },
1801 { ":uzbekistan:", "🇺🇿" },
1802 { ":v:", "✌" },
1803 { ":vampire:", "🧛" },
1804 { ":vampire_man:", "🧛♂" },
1805 { ":vampire_woman:", "🧛♀" },
1806 { ":vanuatu:", "🇻🇺" },
1807 { ":vatican_city:", "🇻🇦" },
1808 { ":venezuela:", "🇻🇪" },
1809 { ":vertical_traffic_light:", "🚦" },
1810 { ":vhs:", "📼" },
1811 { ":vibration_mode:", "📳" },
1812 { ":video_camera:", "📹" },
1813 { ":video_game:", "🎮" },
1814 { ":vietnam:", "🇻🇳" },
1815 { ":violin:", "🎻" },
1816 { ":virgo:", "♍" },
1817 { ":volcano:", "🌋" },
1818 { ":volleyball:", "🏐" },
1819 { ":vomiting_face:", "🤮" },
1820 { ":vs:", "🆚" },
1821 { ":vulcan_salute:", "🖖" },
1822 { ":waffle:", "🧇" },
1823 { ":wales:", "🏴󠁧󠁢󠁷󠁬󠁳󠁿" },
1824 { ":walking:", "🚶" },
1825 { ":walking_man:", "🚶♂" },
1826 { ":walking_woman:", "🚶♀" },
1827 { ":wallis_futuna:", "🇼🇫" },
1828 { ":waning_crescent_moon:", "🌘" },
1829 { ":waning_gibbous_moon:", "🌖" },
1830 { ":warning:", "⚠" },
1831 { ":wastebasket:", "🗑" },
1832 { ":watch:", "⌚" },
1833 { ":water_buffalo:", "🐃" },
1834 { ":water_polo:", "🤽" },
1835 { ":watermelon:", "🍉" },
1836 { ":wave:", "👋" },
1837 { ":wavy_dash:", "〰" },
1838 { ":waxing_crescent_moon:", "🌒" },
1839 { ":waxing_gibbous_moon:", "🌔" },
1840 { ":wc:", "🚾" },
1841 { ":weary:", "😩" },
1842 { ":wedding:", "💒" },
1843 { ":weight_lifting:", "🏋" },
1844 { ":weight_lifting_man:", "🏋♂" },
1845 { ":weight_lifting_woman:", "🏋♀" },
1846 { ":western_sahara:", "🇪🇭" },
1847 { ":whale:", "🐳" },
1848 { ":whale2:", "🐋" },
1849 { ":wheel:", "🛞" },
1850 { ":wheel_of_dharma:", "☸" },
1851 { ":wheelchair:", "♿" },
1852 { ":white_check_mark:", "✅" },
1853 { ":white_circle:", "⚪" },
1854 { ":white_flag:", "🏳" },
1855 { ":white_flower:", "💮" },
1856 { ":white_haired_man:", "👨🦳" },
1857 { ":white_haired_woman:", "👩🦳" },
1858 { ":white_heart:", "🤍" },
1859 { ":white_large_square:", "⬜" },
1860 { ":white_medium_small_square:", "◽" },
1861 { ":white_medium_square:", "◻" },
1862 { ":white_small_square:", "▫" },
1863 { ":white_square_button:", "🔳" },
1864 { ":wilted_flower:", "🥀" },
1865 { ":wind_chime:", "🎐" },
1866 { ":wind_face:", "🌬" },
1867 { ":window:", "🪟" },
1868 { ":wine_glass:", "🍷" },
1869 { ":wing:", "🪽" },
1870 { ":wink:", "😉" },
1871 { ":wireless:", "🛜" },
1872 { ":wolf:", "🐺" },
1873 { ":woman:", "👩" },
1874 { ":woman_artist:", "👩🎨" },
1875 { ":woman_astronaut:", "👩🚀" },
1876 { ":woman_beard:", "🧔♀" },
1877 { ":woman_cartwheeling:", "🤸♀" },
1878 { ":woman_cook:", "👩🍳" },
1879 { ":woman_dancing:", "💃" },
1880 { ":woman_facepalming:", "🤦♀" },
1881 { ":woman_factory_worker:", "👩🏭" },
1882 { ":woman_farmer:", "👩🌾" },
1883 { ":woman_feeding_baby:", "👩🍼" },
1884 { ":woman_firefighter:", "👩🚒" },
1885 { ":woman_health_worker:", "👩⚕" },
1886 { ":woman_in_manual_wheelchair:", "👩🦽" },
1887 { ":woman_in_motorized_wheelchair:", "👩🦼" },
1888 { ":woman_in_tuxedo:", "🤵♀" },
1889 { ":woman_judge:", "👩⚖" },
1890 { ":woman_juggling:", "🤹♀" },
1891 { ":woman_mechanic:", "👩🔧" },
1892 { ":woman_office_worker:", "👩💼" },
1893 { ":woman_pilot:", "👩✈" },
1894 { ":woman_playing_handball:", "🤾♀" },
1895 { ":woman_playing_water_polo:", "🤽♀" },
1896 { ":woman_scientist:", "👩🔬" },
1897 { ":woman_shrugging:", "🤷♀" },
1898 { ":woman_singer:", "👩🎤" },
1899 { ":woman_student:", "👩🎓" },
1900 { ":woman_teacher:", "👩🏫" },
1901 { ":woman_technologist:", "👩💻" },
1902 { ":woman_with_headscarf:", "🧕" },
1903 { ":woman_with_probing_cane:", "👩🦯" },
1904 { ":woman_with_turban:", "👳♀" },
1905 { ":woman_with_veil:", "👰♀" },
1906 { ":womans_clothes:", "👚" },
1907 { ":womans_hat:", "👒" },
1908 { ":women_wrestling:", "🤼♀" },
1909 { ":womens:", "🚺" },
1910 { ":wood:", "🪵" },
1911 { ":woozy_face:", "🥴" },
1912 { ":world_map:", "🗺" },
1913 { ":worm:", "🪱" },
1914 { ":worried:", "😟" },
1915 { ":wrench:", "🔧" },
1916 { ":wrestling:", "🤼" },
1917 { ":writing_hand:", "✍" },
1918 { ":x:", "❌" },
1919 { ":x_ray:", "🩻" },
1920 { ":yarn:", "🧶" },
1921 { ":yawning_face:", "🥱" },
1922 { ":yellow_circle:", "🟡" },
1923 { ":yellow_heart:", "💛" },
1924 { ":yellow_square:", "🟨" },
1925 { ":yemen:", "🇾🇪" },
1926 { ":yen:", "💴" },
1927 { ":yin_yang:", "☯" },
1928 { ":yo_yo:", "🪀" },
1929 { ":yum:", "😋" },
1930 { ":zambia:", "🇿🇲" },
1931 { ":zany_face:", "🤪" },
1932 { ":zap:", "⚡" },
1933 { ":zebra:", "🦓" },
1934 { ":zero:", "0⃣" },
1935 { ":zimbabwe:", "🇿🇼" },
1936 { ":zipper_mouth_face:", "🤐" },
1937 { ":zombie:", "🧟" },
1938 { ":zombie_man:", "🧟♂" },
1939 { ":zombie_woman:", "🧟♀" },
1940 { ":zzz:", "💤" }
1942// compatibility with older versions
1944{
1945 const char *oldName;
1946 const char *newName;
1948{
1949 {":blonde_man:", ":blond_haired_man:"},
1950 {":person_frowning:", ":frowning_person:"},
1951 {":person_with_blond_hair:", ":blond_haired_person:"},
1952 {":person_with_pouting_face:", ":pouting_face:"},
1954
1955static const size_t g_numEmojiEntities = sizeof(g_emojiEntities)/sizeof(*g_emojiEntities);
1957
1959
1961{
1962 for (size_t i = 0; i < g_numEmojiEntities; i++)
1963 {
1964 m_name2symGh.emplace(g_emojiEntities[i].name, static_cast<int>(i));
1965 }
1966 for (size_t i = 0; i < g_numEmojiCompatibilityEntities; i++)
1967 {
1968 int ii = symbol2index(g_emojiCompatibilityEntities[i].newName);
1969 if (ii != -1) m_name2symGh.emplace(g_emojiCompatibilityEntities[i].oldName, ii);
1970 }
1971}
1972
1976
1977/** Returns the one and only instance of the Emoji entity mapper */
1979{
1980 static EmojiEntityMapper inst;
1981 return inst;
1982}
1983
1984/*!
1985 * @brief Returns a code for the requested Emoji entity name
1986 * @param symName Emoji entity name
1987 * @return the code for the requested Emoji entity name,
1988 * in case the requested Emoji item does not exist `-1` is returned.
1989 */
1990int EmojiEntityMapper::symbol2index(const std::string &symName) const
1991{
1992 auto it = m_name2symGh.find(symName);
1993 return it!=m_name2symGh.end() ? it->second : -1;
1994}
1995
1996/*!
1997 * @brief Writes the list of supported emojis to the given file.
1998 */
2000{
2001 for (size_t i = 0; i < g_numEmojiEntities; i++)
2002 {
2003 t << g_emojiEntities[i].name << "\n";
2004 }
2005 for (size_t i = 0; i < g_numEmojiCompatibilityEntities; i++)
2006 {
2007 t << g_emojiCompatibilityEntities[i].oldName << "\n";
2008 }
2009}
2010
2011/*! @brief Access routine to the unicode sequence for the Emoji entity
2012 *
2013 * @param index code of the requested Emoji entity returned by symbol2index()
2014 * @return the unicode sequence of the Emoji entity,
2015 */
2016const char *EmojiEntityMapper::unicode(int index) const
2017{
2018 return index>=0 && static_cast<size_t>(index)<g_numEmojiEntities ? g_emojiEntities[index].unicode : nullptr;
2019}
2020
2021/*! @brief Access routine to the name of the Emoji entity
2022 *
2023 * @param index code of the requested Emoji entity returned by symbol2index()
2024 * @return the name of the Emoji entity in GitHub format (i.e. :smile:)
2025 */
2026const char *EmojiEntityMapper::name(int index) const
2027{
2028 return index>=0 && static_cast<size_t>(index)<g_numEmojiEntities ? g_emojiEntities[index].name : nullptr;
2029}
Singleton helper class to map emoji entities to other formats.
Definition emoji.h:27
const char * unicode(int index) const
Access routine to the unicode sequence for the Emoji entity.
Definition emoji.cpp:2016
const char * name(int index) const
Access routine to the name of the Emoji entity.
Definition emoji.cpp:2026
std::map< std::string, int > m_name2symGh
Definition emoji.h:40
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Definition emoji.cpp:1978
int symbol2index(const std::string &symName) const
Returns a code for the requested Emoji entity name.
Definition emoji.cpp:1990
void writeEmojiFile(TextStream &t)
Writes the list of supported emojis to the given file.
Definition emoji.cpp:1999
static EmojiEntityMapper * s_instance
Definition emoji.h:39
Text streaming class that buffers data.
Definition textstream.h:36
static const size_t g_numEmojiCompatibilityEntities
Definition emoji.cpp:1956
static struct emojiEntityCompatibility g_emojiCompatibilityEntities[]
static struct emojiEntityInfo g_emojiEntities[]
static const size_t g_numEmojiEntities
Definition emoji.cpp:1955
const char * name
Definition emoji.cpp:23
const char * unicode
Definition emoji.cpp:24
A bunch of utility functions.