From a6090f4a1ca25100c6d570779d00c2950501498d Mon Sep 17 00:00:00 2001 From: TheDrawingCoding-Gamer Date: Wed, 1 May 2024 13:38:29 -0400 Subject: [PATCH] fix naming issues with emoji, edit how codegen works --- CMakeLists.txt | 2 + resources/emoji-test.txt | 337 ++++++++++- resources/provider-head.txt | 11 + resources/provider-header.txt | 18 - resources/shortcodes.txt | 2 +- scripts/codegen.sh | 5 +- scripts/emoji_codegen.py | 49 +- src/GridImagePackModel.cpp | 25 - src/emoji/Emoji.cpp | 33 + src/emoji/Emoji.h | 88 +++ src/emoji/Provider.cpp | 1069 +++++++++++++++++++++++---------- src/emoji/Provider.h | 86 +-- 12 files changed, 1268 insertions(+), 457 deletions(-) create mode 100644 resources/provider-head.txt delete mode 100644 resources/provider-header.txt create mode 100644 src/emoji/Emoji.cpp create mode 100644 src/emoji/Emoji.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 99fb2ab1..4e0b42f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -357,6 +357,8 @@ set(SRC_FILES # Emoji src/emoji/Provider.cpp src/emoji/Provider.h + src/emoji/Emoji.cpp + src/emoji/Emoji.h # Timeline src/timeline/CommunitiesModel.cpp diff --git a/resources/emoji-test.txt b/resources/emoji-test.txt index 87d093d6..1c4d1e7c 100644 --- a/resources/emoji-test.txt +++ b/resources/emoji-test.txt @@ -1,11 +1,11 @@ # emoji-test.txt -# Date: 2022-08-12, 20:24:39 GMT -# ยฉ 2022 Unicodeยฎ, Inc. +# Date: 2023-06-05, 21:39:54 GMT +# ยฉ 2023 Unicodeยฎ, Inc. # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. # For terms of use, see https://www.unicode.org/terms_of_use.html # # Emoji Keyboard/Display Test Data for UTS #51 -# Version: 15.0 +# Version: 15.1 # # For documentation and usage, see https://www.unicode.org/reports/tr51 # @@ -93,6 +93,10 @@ 1F62E 200D 1F4A8 ; fully-qualified # ๐Ÿ˜ฎโ€๐Ÿ’จ E13.1 face exhaling 1F925 ; fully-qualified # ๐Ÿคฅ E3.0 lying face 1FAE8 ; fully-qualified # ๐Ÿซจ E15.0 shaking face +1F642 200D 2194 FE0F ; fully-qualified # ๐Ÿ™‚โ€โ†”๏ธ E15.1 head shaking horizontally +1F642 200D 2194 ; minimally-qualified # ๐Ÿ™‚โ€โ†” E15.1 head shaking horizontally +1F642 200D 2195 FE0F ; fully-qualified # ๐Ÿ™‚โ€โ†•๏ธ E15.1 head shaking vertically +1F642 200D 2195 ; minimally-qualified # ๐Ÿ™‚โ€โ†• E15.1 head shaking vertically # subgroup: face-sleepy 1F60C ; fully-qualified # ๐Ÿ˜Œ E0.6 relieved face @@ -244,8 +248,8 @@ 1F4AD ; fully-qualified # ๐Ÿ’ญ E1.0 thought balloon 1F4A4 ; fully-qualified # ๐Ÿ’ค E0.6 ZZZ -# Smileys & Emotion subtotal: 180 -# Smileys & Emotion subtotal: 180 w/o modifiers +# Smileys & Emotion subtotal: 184 +# Smileys & Emotion subtotal: 184 w/o modifiers # group: People & Body @@ -2065,6 +2069,66 @@ 1F6B6 1F3FE 200D 2640 ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™€ E4.0 woman walking: medium-dark skin tone 1F6B6 1F3FF 200D 2640 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฟโ€โ™€๏ธ E4.0 woman walking: dark skin tone 1F6B6 1F3FF 200D 2640 ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™€ E4.0 woman walking: dark skin tone +1F6B6 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถโ€โžก๏ธ E15.1 person walking facing right +1F6B6 200D 27A1 ; minimally-qualified # ๐Ÿšถโ€โžก E15.1 person walking facing right +1F6B6 1F3FB 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿปโ€โžก๏ธ E15.1 person walking facing right: light skin tone +1F6B6 1F3FB 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โžก E15.1 person walking facing right: light skin tone +1F6B6 1F3FC 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿผโ€โžก๏ธ E15.1 person walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โžก E15.1 person walking facing right: medium-light skin tone +1F6B6 1F3FD 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฝโ€โžก๏ธ E15.1 person walking facing right: medium skin tone +1F6B6 1F3FD 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โžก E15.1 person walking facing right: medium skin tone +1F6B6 1F3FE 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿพโ€โžก๏ธ E15.1 person walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โžก E15.1 person walking facing right: medium-dark skin tone +1F6B6 1F3FF 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฟโ€โžก๏ธ E15.1 person walking facing right: dark skin tone +1F6B6 1F3FF 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โžก E15.1 person walking facing right: dark skin tone +1F6B6 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถโ€โ™€๏ธโ€โžก๏ธ E15.1 woman walking facing right +1F6B6 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถโ€โ™€โ€โžก๏ธ E15.1 woman walking facing right +1F6B6 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถโ€โ™€๏ธโ€โžก E15.1 woman walking facing right +1F6B6 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿšถโ€โ™€โ€โžก E15.1 woman walking facing right +1F6B6 1F3FB 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ E15.1 woman walking facing right: light skin tone +1F6B6 1F3FB 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โ™€โ€โžก๏ธ E15.1 woman walking facing right: light skin tone +1F6B6 1F3FB 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โ™€๏ธโ€โžก E15.1 woman walking facing right: light skin tone +1F6B6 1F3FB 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โ™€โ€โžก E15.1 woman walking facing right: light skin tone +1F6B6 1F3FC 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ E15.1 woman walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โ™€โ€โžก๏ธ E15.1 woman walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โ™€๏ธโ€โžก E15.1 woman walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โ™€โ€โžก E15.1 woman walking facing right: medium-light skin tone +1F6B6 1F3FD 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ E15.1 woman walking facing right: medium skin tone +1F6B6 1F3FD 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โ™€โ€โžก๏ธ E15.1 woman walking facing right: medium skin tone +1F6B6 1F3FD 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โ™€๏ธโ€โžก E15.1 woman walking facing right: medium skin tone +1F6B6 1F3FD 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โ™€โ€โžก E15.1 woman walking facing right: medium skin tone +1F6B6 1F3FE 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ E15.1 woman walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™€โ€โžก๏ธ E15.1 woman walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™€๏ธโ€โžก E15.1 woman walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™€โ€โžก E15.1 woman walking facing right: medium-dark skin tone +1F6B6 1F3FF 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ E15.1 woman walking facing right: dark skin tone +1F6B6 1F3FF 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™€โ€โžก๏ธ E15.1 woman walking facing right: dark skin tone +1F6B6 1F3FF 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™€๏ธโ€โžก E15.1 woman walking facing right: dark skin tone +1F6B6 1F3FF 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™€โ€โžก E15.1 woman walking facing right: dark skin tone +1F6B6 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถโ€โ™‚๏ธโ€โžก๏ธ E15.1 man walking facing right +1F6B6 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถโ€โ™‚โ€โžก๏ธ E15.1 man walking facing right +1F6B6 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถโ€โ™‚๏ธโ€โžก E15.1 man walking facing right +1F6B6 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿšถโ€โ™‚โ€โžก E15.1 man walking facing right +1F6B6 1F3FB 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ E15.1 man walking facing right: light skin tone +1F6B6 1F3FB 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โ™‚โ€โžก๏ธ E15.1 man walking facing right: light skin tone +1F6B6 1F3FB 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โ™‚๏ธโ€โžก E15.1 man walking facing right: light skin tone +1F6B6 1F3FB 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿปโ€โ™‚โ€โžก E15.1 man walking facing right: light skin tone +1F6B6 1F3FC 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ E15.1 man walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โ™‚โ€โžก๏ธ E15.1 man walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โ™‚๏ธโ€โžก E15.1 man walking facing right: medium-light skin tone +1F6B6 1F3FC 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿผโ€โ™‚โ€โžก E15.1 man walking facing right: medium-light skin tone +1F6B6 1F3FD 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ E15.1 man walking facing right: medium skin tone +1F6B6 1F3FD 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โ™‚โ€โžก๏ธ E15.1 man walking facing right: medium skin tone +1F6B6 1F3FD 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โ™‚๏ธโ€โžก E15.1 man walking facing right: medium skin tone +1F6B6 1F3FD 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฝโ€โ™‚โ€โžก E15.1 man walking facing right: medium skin tone +1F6B6 1F3FE 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ E15.1 man walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™‚โ€โžก๏ธ E15.1 man walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™‚๏ธโ€โžก E15.1 man walking facing right: medium-dark skin tone +1F6B6 1F3FE 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿพโ€โ™‚โ€โžก E15.1 man walking facing right: medium-dark skin tone +1F6B6 1F3FF 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿšถ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ E15.1 man walking facing right: dark skin tone +1F6B6 1F3FF 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™‚โ€โžก๏ธ E15.1 man walking facing right: dark skin tone +1F6B6 1F3FF 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™‚๏ธโ€โžก E15.1 man walking facing right: dark skin tone +1F6B6 1F3FF 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿšถ๐Ÿฟโ€โ™‚โ€โžก E15.1 man walking facing right: dark skin tone 1F9CD ; fully-qualified # ๐Ÿง E12.0 person standing 1F9CD 1F3FB ; fully-qualified # ๐Ÿง๐Ÿป E12.0 person standing: light skin tone 1F9CD 1F3FC ; fully-qualified # ๐Ÿง๐Ÿผ E12.0 person standing: medium-light skin tone @@ -2125,60 +2189,228 @@ 1F9CE 1F3FE 200D 2640 ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™€ E12.0 woman kneeling: medium-dark skin tone 1F9CE 1F3FF 200D 2640 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฟโ€โ™€๏ธ E12.0 woman kneeling: dark skin tone 1F9CE 1F3FF 200D 2640 ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™€ E12.0 woman kneeling: dark skin tone +1F9CE 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽโ€โžก๏ธ E15.1 person kneeling facing right +1F9CE 200D 27A1 ; minimally-qualified # ๐ŸงŽโ€โžก E15.1 person kneeling facing right +1F9CE 1F3FB 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿปโ€โžก๏ธ E15.1 person kneeling facing right: light skin tone +1F9CE 1F3FB 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โžก E15.1 person kneeling facing right: light skin tone +1F9CE 1F3FC 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿผโ€โžก๏ธ E15.1 person kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โžก E15.1 person kneeling facing right: medium-light skin tone +1F9CE 1F3FD 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฝโ€โžก๏ธ E15.1 person kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โžก E15.1 person kneeling facing right: medium skin tone +1F9CE 1F3FE 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿพโ€โžก๏ธ E15.1 person kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โžก E15.1 person kneeling facing right: medium-dark skin tone +1F9CE 1F3FF 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฟโ€โžก๏ธ E15.1 person kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โžก E15.1 person kneeling facing right: dark skin tone +1F9CE 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽโ€โ™€๏ธโ€โžก๏ธ E15.1 woman kneeling facing right +1F9CE 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽโ€โ™€โ€โžก๏ธ E15.1 woman kneeling facing right +1F9CE 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽโ€โ™€๏ธโ€โžก E15.1 woman kneeling facing right +1F9CE 200D 2640 200D 27A1 ; minimally-qualified # ๐ŸงŽโ€โ™€โ€โžก E15.1 woman kneeling facing right +1F9CE 1F3FB 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ E15.1 woman kneeling facing right: light skin tone +1F9CE 1F3FB 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โ™€โ€โžก๏ธ E15.1 woman kneeling facing right: light skin tone +1F9CE 1F3FB 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โ™€๏ธโ€โžก E15.1 woman kneeling facing right: light skin tone +1F9CE 1F3FB 200D 2640 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โ™€โ€โžก E15.1 woman kneeling facing right: light skin tone +1F9CE 1F3FC 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ E15.1 woman kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โ™€โ€โžก๏ธ E15.1 woman kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โ™€๏ธโ€โžก E15.1 woman kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 2640 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โ™€โ€โžก E15.1 woman kneeling facing right: medium-light skin tone +1F9CE 1F3FD 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ E15.1 woman kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โ™€โ€โžก๏ธ E15.1 woman kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โ™€๏ธโ€โžก E15.1 woman kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 2640 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โ™€โ€โžก E15.1 woman kneeling facing right: medium skin tone +1F9CE 1F3FE 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ E15.1 woman kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™€โ€โžก๏ธ E15.1 woman kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™€๏ธโ€โžก E15.1 woman kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 2640 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™€โ€โžก E15.1 woman kneeling facing right: medium-dark skin tone +1F9CE 1F3FF 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ E15.1 woman kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™€โ€โžก๏ธ E15.1 woman kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™€๏ธโ€โžก E15.1 woman kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 2640 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™€โ€โžก E15.1 woman kneeling facing right: dark skin tone +1F9CE 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽโ€โ™‚๏ธโ€โžก๏ธ E15.1 man kneeling facing right +1F9CE 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽโ€โ™‚โ€โžก๏ธ E15.1 man kneeling facing right +1F9CE 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽโ€โ™‚๏ธโ€โžก E15.1 man kneeling facing right +1F9CE 200D 2642 200D 27A1 ; minimally-qualified # ๐ŸงŽโ€โ™‚โ€โžก E15.1 man kneeling facing right +1F9CE 1F3FB 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ E15.1 man kneeling facing right: light skin tone +1F9CE 1F3FB 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โ™‚โ€โžก๏ธ E15.1 man kneeling facing right: light skin tone +1F9CE 1F3FB 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โ™‚๏ธโ€โžก E15.1 man kneeling facing right: light skin tone +1F9CE 1F3FB 200D 2642 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿปโ€โ™‚โ€โžก E15.1 man kneeling facing right: light skin tone +1F9CE 1F3FC 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ E15.1 man kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โ™‚โ€โžก๏ธ E15.1 man kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โ™‚๏ธโ€โžก E15.1 man kneeling facing right: medium-light skin tone +1F9CE 1F3FC 200D 2642 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿผโ€โ™‚โ€โžก E15.1 man kneeling facing right: medium-light skin tone +1F9CE 1F3FD 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ E15.1 man kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โ™‚โ€โžก๏ธ E15.1 man kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โ™‚๏ธโ€โžก E15.1 man kneeling facing right: medium skin tone +1F9CE 1F3FD 200D 2642 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฝโ€โ™‚โ€โžก E15.1 man kneeling facing right: medium skin tone +1F9CE 1F3FE 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ E15.1 man kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™‚โ€โžก๏ธ E15.1 man kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™‚๏ธโ€โžก E15.1 man kneeling facing right: medium-dark skin tone +1F9CE 1F3FE 200D 2642 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿพโ€โ™‚โ€โžก E15.1 man kneeling facing right: medium-dark skin tone +1F9CE 1F3FF 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐ŸงŽ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ E15.1 man kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™‚โ€โžก๏ธ E15.1 man kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™‚๏ธโ€โžก E15.1 man kneeling facing right: dark skin tone +1F9CE 1F3FF 200D 2642 200D 27A1 ; minimally-qualified # ๐ŸงŽ๐Ÿฟโ€โ™‚โ€โžก E15.1 man kneeling facing right: dark skin tone 1F9D1 200D 1F9AF ; fully-qualified # ๐Ÿง‘โ€๐Ÿฆฏ E12.1 person with white cane 1F9D1 1F3FB 200D 1F9AF ; fully-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆฏ E12.1 person with white cane: light skin tone 1F9D1 1F3FC 200D 1F9AF ; fully-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆฏ E12.1 person with white cane: medium-light skin tone 1F9D1 1F3FD 200D 1F9AF ; fully-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏ E12.1 person with white cane: medium skin tone 1F9D1 1F3FE 200D 1F9AF ; fully-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆฏ E12.1 person with white cane: medium-dark skin tone 1F9D1 1F3FF 200D 1F9AF ; fully-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏ E12.1 person with white cane: dark skin tone +1F9D1 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘โ€๐Ÿฆฏโ€โžก๏ธ E15.1 person with white cane facing right +1F9D1 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿง‘โ€๐Ÿฆฏโ€โžก E15.1 person with white cane facing right +1F9D1 1F3FB 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ E15.1 person with white cane facing right: light skin tone +1F9D1 1F3FB 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆฏโ€โžก E15.1 person with white cane facing right: light skin tone +1F9D1 1F3FC 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ E15.1 person with white cane facing right: medium-light skin tone +1F9D1 1F3FC 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆฏโ€โžก E15.1 person with white cane facing right: medium-light skin tone +1F9D1 1F3FD 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ E15.1 person with white cane facing right: medium skin tone +1F9D1 1F3FD 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏโ€โžก E15.1 person with white cane facing right: medium skin tone +1F9D1 1F3FE 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ E15.1 person with white cane facing right: medium-dark skin tone +1F9D1 1F3FE 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆฏโ€โžก E15.1 person with white cane facing right: medium-dark skin tone +1F9D1 1F3FF 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ E15.1 person with white cane facing right: dark skin tone +1F9D1 1F3FF 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏโ€โžก E15.1 person with white cane facing right: dark skin tone 1F468 200D 1F9AF ; fully-qualified # ๐Ÿ‘จโ€๐Ÿฆฏ E12.0 man with white cane 1F468 1F3FB 200D 1F9AF ; fully-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏ E12.0 man with white cane: light skin tone 1F468 1F3FC 200D 1F9AF ; fully-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏ E12.0 man with white cane: medium-light skin tone 1F468 1F3FD 200D 1F9AF ; fully-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏ E12.0 man with white cane: medium skin tone 1F468 1F3FE 200D 1F9AF ; fully-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏ E12.0 man with white cane: medium-dark skin tone 1F468 1F3FF 200D 1F9AF ; fully-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏ E12.0 man with white cane: dark skin tone +1F468 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก๏ธ E15.1 man with white cane facing right +1F468 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘จโ€๐Ÿฆฏโ€โžก E15.1 man with white cane facing right +1F468 1F3FB 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ E15.1 man with white cane facing right: light skin tone +1F468 1F3FB 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏโ€โžก E15.1 man with white cane facing right: light skin tone +1F468 1F3FC 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ E15.1 man with white cane facing right: medium-light skin tone +1F468 1F3FC 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏโ€โžก E15.1 man with white cane facing right: medium-light skin tone +1F468 1F3FD 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ E15.1 man with white cane facing right: medium skin tone +1F468 1F3FD 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏโ€โžก E15.1 man with white cane facing right: medium skin tone +1F468 1F3FE 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ E15.1 man with white cane facing right: medium-dark skin tone +1F468 1F3FE 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏโ€โžก E15.1 man with white cane facing right: medium-dark skin tone +1F468 1F3FF 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ E15.1 man with white cane facing right: dark skin tone +1F468 1F3FF 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏโ€โžก E15.1 man with white cane facing right: dark skin tone 1F469 200D 1F9AF ; fully-qualified # ๐Ÿ‘ฉโ€๐Ÿฆฏ E12.0 woman with white cane 1F469 1F3FB 200D 1F9AF ; fully-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏ E12.0 woman with white cane: light skin tone 1F469 1F3FC 200D 1F9AF ; fully-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏ E12.0 woman with white cane: medium-light skin tone 1F469 1F3FD 200D 1F9AF ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏ E12.0 woman with white cane: medium skin tone 1F469 1F3FE 200D 1F9AF ; fully-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏ E12.0 woman with white cane: medium-dark skin tone 1F469 1F3FF 200D 1F9AF ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏ E12.0 woman with white cane: dark skin tone +1F469 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉโ€๐Ÿฆฏโ€โžก๏ธ E15.1 woman with white cane facing right +1F469 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉโ€๐Ÿฆฏโ€โžก E15.1 woman with white cane facing right +1F469 1F3FB 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏโ€โžก๏ธ E15.1 woman with white cane facing right: light skin tone +1F469 1F3FB 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏโ€โžก E15.1 woman with white cane facing right: light skin tone +1F469 1F3FC 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏโ€โžก๏ธ E15.1 woman with white cane facing right: medium-light skin tone +1F469 1F3FC 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏโ€โžก E15.1 woman with white cane facing right: medium-light skin tone +1F469 1F3FD 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏโ€โžก๏ธ E15.1 woman with white cane facing right: medium skin tone +1F469 1F3FD 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏโ€โžก E15.1 woman with white cane facing right: medium skin tone +1F469 1F3FE 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏโ€โžก๏ธ E15.1 woman with white cane facing right: medium-dark skin tone +1F469 1F3FE 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏโ€โžก E15.1 woman with white cane facing right: medium-dark skin tone +1F469 1F3FF 200D 1F9AF 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏโ€โžก๏ธ E15.1 woman with white cane facing right: dark skin tone +1F469 1F3FF 200D 1F9AF 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏโ€โžก E15.1 woman with white cane facing right: dark skin tone 1F9D1 200D 1F9BC ; fully-qualified # ๐Ÿง‘โ€๐Ÿฆผ E12.1 person in motorized wheelchair 1F9D1 1F3FB 200D 1F9BC ; fully-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆผ E12.1 person in motorized wheelchair: light skin tone 1F9D1 1F3FC 200D 1F9BC ; fully-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆผ E12.1 person in motorized wheelchair: medium-light skin tone 1F9D1 1F3FD 200D 1F9BC ; fully-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆผ E12.1 person in motorized wheelchair: medium skin tone 1F9D1 1F3FE 200D 1F9BC ; fully-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆผ E12.1 person in motorized wheelchair: medium-dark skin tone 1F9D1 1F3FF 200D 1F9BC ; fully-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผ E12.1 person in motorized wheelchair: dark skin tone +1F9D1 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘โ€๐Ÿฆผโ€โžก๏ธ E15.1 person in motorized wheelchair facing right +1F9D1 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿง‘โ€๐Ÿฆผโ€โžก E15.1 person in motorized wheelchair facing right +1F9D1 1F3FB 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ E15.1 person in motorized wheelchair facing right: light skin tone +1F9D1 1F3FB 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆผโ€โžก E15.1 person in motorized wheelchair facing right: light skin tone +1F9D1 1F3FC 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ E15.1 person in motorized wheelchair facing right: medium-light skin tone +1F9D1 1F3FC 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆผโ€โžก E15.1 person in motorized wheelchair facing right: medium-light skin tone +1F9D1 1F3FD 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ E15.1 person in motorized wheelchair facing right: medium skin tone +1F9D1 1F3FD 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆผโ€โžก E15.1 person in motorized wheelchair facing right: medium skin tone +1F9D1 1F3FE 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ E15.1 person in motorized wheelchair facing right: medium-dark skin tone +1F9D1 1F3FE 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆผโ€โžก E15.1 person in motorized wheelchair facing right: medium-dark skin tone +1F9D1 1F3FF 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ E15.1 person in motorized wheelchair facing right: dark skin tone +1F9D1 1F3FF 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆผโ€โžก E15.1 person in motorized wheelchair facing right: dark skin tone 1F468 200D 1F9BC ; fully-qualified # ๐Ÿ‘จโ€๐Ÿฆผ E12.0 man in motorized wheelchair 1F468 1F3FB 200D 1F9BC ; fully-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผ E12.0 man in motorized wheelchair: light skin tone 1F468 1F3FC 200D 1F9BC ; fully-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผ E12.0 man in motorized wheelchair: medium-light skin tone 1F468 1F3FD 200D 1F9BC ; fully-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผ E12.0 man in motorized wheelchair: medium skin tone 1F468 1F3FE 200D 1F9BC ; fully-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผ E12.0 man in motorized wheelchair: medium-dark skin tone 1F468 1F3FF 200D 1F9BC ; fully-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผ E12.0 man in motorized wheelchair: dark skin tone +1F468 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จโ€๐Ÿฆผโ€โžก๏ธ E15.1 man in motorized wheelchair facing right +1F468 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘จโ€๐Ÿฆผโ€โžก E15.1 man in motorized wheelchair facing right +1F468 1F3FB 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ E15.1 man in motorized wheelchair facing right: light skin tone +1F468 1F3FB 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผโ€โžก E15.1 man in motorized wheelchair facing right: light skin tone +1F468 1F3FC 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ E15.1 man in motorized wheelchair facing right: medium-light skin tone +1F468 1F3FC 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผโ€โžก E15.1 man in motorized wheelchair facing right: medium-light skin tone +1F468 1F3FD 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ E15.1 man in motorized wheelchair facing right: medium skin tone +1F468 1F3FD 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผโ€โžก E15.1 man in motorized wheelchair facing right: medium skin tone +1F468 1F3FE 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ E15.1 man in motorized wheelchair facing right: medium-dark skin tone +1F468 1F3FE 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผโ€โžก E15.1 man in motorized wheelchair facing right: medium-dark skin tone +1F468 1F3FF 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ E15.1 man in motorized wheelchair facing right: dark skin tone +1F468 1F3FF 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผโ€โžก E15.1 man in motorized wheelchair facing right: dark skin tone 1F469 200D 1F9BC ; fully-qualified # ๐Ÿ‘ฉโ€๐Ÿฆผ E12.0 woman in motorized wheelchair 1F469 1F3FB 200D 1F9BC ; fully-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผ E12.0 woman in motorized wheelchair: light skin tone 1F469 1F3FC 200D 1F9BC ; fully-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผ E12.0 woman in motorized wheelchair: medium-light skin tone 1F469 1F3FD 200D 1F9BC ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผ E12.0 woman in motorized wheelchair: medium skin tone 1F469 1F3FE 200D 1F9BC ; fully-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผ E12.0 woman in motorized wheelchair: medium-dark skin tone 1F469 1F3FF 200D 1F9BC ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผ E12.0 woman in motorized wheelchair: dark skin tone +1F469 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก๏ธ E15.1 woman in motorized wheelchair facing right +1F469 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉโ€๐Ÿฆผโ€โžก E15.1 woman in motorized wheelchair facing right +1F469 1F3FB 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผโ€โžก๏ธ E15.1 woman in motorized wheelchair facing right: light skin tone +1F469 1F3FB 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผโ€โžก E15.1 woman in motorized wheelchair facing right: light skin tone +1F469 1F3FC 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผโ€โžก๏ธ E15.1 woman in motorized wheelchair facing right: medium-light skin tone +1F469 1F3FC 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผโ€โžก E15.1 woman in motorized wheelchair facing right: medium-light skin tone +1F469 1F3FD 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผโ€โžก๏ธ E15.1 woman in motorized wheelchair facing right: medium skin tone +1F469 1F3FD 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผโ€โžก E15.1 woman in motorized wheelchair facing right: medium skin tone +1F469 1F3FE 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผโ€โžก๏ธ E15.1 woman in motorized wheelchair facing right: medium-dark skin tone +1F469 1F3FE 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผโ€โžก E15.1 woman in motorized wheelchair facing right: medium-dark skin tone +1F469 1F3FF 200D 1F9BC 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผโ€โžก๏ธ E15.1 woman in motorized wheelchair facing right: dark skin tone +1F469 1F3FF 200D 1F9BC 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผโ€โžก E15.1 woman in motorized wheelchair facing right: dark skin tone 1F9D1 200D 1F9BD ; fully-qualified # ๐Ÿง‘โ€๐Ÿฆฝ E12.1 person in manual wheelchair 1F9D1 1F3FB 200D 1F9BD ; fully-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆฝ E12.1 person in manual wheelchair: light skin tone 1F9D1 1F3FC 200D 1F9BD ; fully-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆฝ E12.1 person in manual wheelchair: medium-light skin tone 1F9D1 1F3FD 200D 1F9BD ; fully-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝ E12.1 person in manual wheelchair: medium skin tone 1F9D1 1F3FE 200D 1F9BD ; fully-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆฝ E12.1 person in manual wheelchair: medium-dark skin tone 1F9D1 1F3FF 200D 1F9BD ; fully-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ E12.1 person in manual wheelchair: dark skin tone +1F9D1 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘โ€๐Ÿฆฝโ€โžก๏ธ E15.1 person in manual wheelchair facing right +1F9D1 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿง‘โ€๐Ÿฆฝโ€โžก E15.1 person in manual wheelchair facing right +1F9D1 1F3FB 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ E15.1 person in manual wheelchair facing right: light skin tone +1F9D1 1F3FB 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿปโ€๐Ÿฆฝโ€โžก E15.1 person in manual wheelchair facing right: light skin tone +1F9D1 1F3FC 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ E15.1 person in manual wheelchair facing right: medium-light skin tone +1F9D1 1F3FC 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿผโ€๐Ÿฆฝโ€โžก E15.1 person in manual wheelchair facing right: medium-light skin tone +1F9D1 1F3FD 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ E15.1 person in manual wheelchair facing right: medium skin tone +1F9D1 1F3FD 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝโ€โžก E15.1 person in manual wheelchair facing right: medium skin tone +1F9D1 1F3FE 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ E15.1 person in manual wheelchair facing right: medium-dark skin tone +1F9D1 1F3FE 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿพโ€๐Ÿฆฝโ€โžก E15.1 person in manual wheelchair facing right: medium-dark skin tone +1F9D1 1F3FF 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ E15.1 person in manual wheelchair facing right: dark skin tone +1F9D1 1F3FF 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝโ€โžก E15.1 person in manual wheelchair facing right: dark skin tone 1F468 200D 1F9BD ; fully-qualified # ๐Ÿ‘จโ€๐Ÿฆฝ E12.0 man in manual wheelchair 1F468 1F3FB 200D 1F9BD ; fully-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝ E12.0 man in manual wheelchair: light skin tone 1F468 1F3FC 200D 1F9BD ; fully-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝ E12.0 man in manual wheelchair: medium-light skin tone 1F468 1F3FD 200D 1F9BD ; fully-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝ E12.0 man in manual wheelchair: medium skin tone 1F468 1F3FE 200D 1F9BD ; fully-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝ E12.0 man in manual wheelchair: medium-dark skin tone 1F468 1F3FF 200D 1F9BD ; fully-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ E12.0 man in manual wheelchair: dark skin tone +1F468 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก๏ธ E15.1 man in manual wheelchair facing right +1F468 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘จโ€๐Ÿฆฝโ€โžก E15.1 man in manual wheelchair facing right +1F468 1F3FB 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ E15.1 man in manual wheelchair facing right: light skin tone +1F468 1F3FB 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝโ€โžก E15.1 man in manual wheelchair facing right: light skin tone +1F468 1F3FC 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ E15.1 man in manual wheelchair facing right: medium-light skin tone +1F468 1F3FC 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝโ€โžก E15.1 man in manual wheelchair facing right: medium-light skin tone +1F468 1F3FD 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ E15.1 man in manual wheelchair facing right: medium skin tone +1F468 1F3FD 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝโ€โžก E15.1 man in manual wheelchair facing right: medium skin tone +1F468 1F3FE 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ E15.1 man in manual wheelchair facing right: medium-dark skin tone +1F468 1F3FE 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝโ€โžก E15.1 man in manual wheelchair facing right: medium-dark skin tone +1F468 1F3FF 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ E15.1 man in manual wheelchair facing right: dark skin tone +1F468 1F3FF 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝโ€โžก E15.1 man in manual wheelchair facing right: dark skin tone 1F469 200D 1F9BD ; fully-qualified # ๐Ÿ‘ฉโ€๐Ÿฆฝ E12.0 woman in manual wheelchair 1F469 1F3FB 200D 1F9BD ; fully-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝ E12.0 woman in manual wheelchair: light skin tone 1F469 1F3FC 200D 1F9BD ; fully-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝ E12.0 woman in manual wheelchair: medium-light skin tone 1F469 1F3FD 200D 1F9BD ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝ E12.0 woman in manual wheelchair: medium skin tone 1F469 1F3FE 200D 1F9BD ; fully-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ E12.0 woman in manual wheelchair: medium-dark skin tone 1F469 1F3FF 200D 1F9BD ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝ E12.0 woman in manual wheelchair: dark skin tone +1F469 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ E15.1 woman in manual wheelchair facing right +1F469 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก E15.1 woman in manual wheelchair facing right +1F469 1F3FB 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝโ€โžก๏ธ E15.1 woman in manual wheelchair facing right: light skin tone +1F469 1F3FB 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝโ€โžก E15.1 woman in manual wheelchair facing right: light skin tone +1F469 1F3FC 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝโ€โžก๏ธ E15.1 woman in manual wheelchair facing right: medium-light skin tone +1F469 1F3FC 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝโ€โžก E15.1 woman in manual wheelchair facing right: medium-light skin tone +1F469 1F3FD 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝโ€โžก๏ธ E15.1 woman in manual wheelchair facing right: medium skin tone +1F469 1F3FD 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝโ€โžก E15.1 woman in manual wheelchair facing right: medium skin tone +1F469 1F3FE 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝโ€โžก๏ธ E15.1 woman in manual wheelchair facing right: medium-dark skin tone +1F469 1F3FE 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝโ€โžก E15.1 woman in manual wheelchair facing right: medium-dark skin tone +1F469 1F3FF 200D 1F9BD 200D 27A1 FE0F ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝโ€โžก๏ธ E15.1 woman in manual wheelchair facing right: dark skin tone +1F469 1F3FF 200D 1F9BD 200D 27A1 ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝโ€โžก E15.1 woman in manual wheelchair facing right: dark skin tone 1F3C3 ; fully-qualified # ๐Ÿƒ E0.6 person running 1F3C3 1F3FB ; fully-qualified # ๐Ÿƒ๐Ÿป E1.0 person running: light skin tone 1F3C3 1F3FC ; fully-qualified # ๐Ÿƒ๐Ÿผ E1.0 person running: medium-light skin tone @@ -2209,6 +2441,66 @@ 1F3C3 1F3FE 200D 2640 ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™€ E4.0 woman running: medium-dark skin tone 1F3C3 1F3FF 200D 2640 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฟโ€โ™€๏ธ E4.0 woman running: dark skin tone 1F3C3 1F3FF 200D 2640 ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™€ E4.0 woman running: dark skin tone +1F3C3 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒโ€โžก๏ธ E15.1 person running facing right +1F3C3 200D 27A1 ; minimally-qualified # ๐Ÿƒโ€โžก E15.1 person running facing right +1F3C3 1F3FB 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿปโ€โžก๏ธ E15.1 person running facing right: light skin tone +1F3C3 1F3FB 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โžก E15.1 person running facing right: light skin tone +1F3C3 1F3FC 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿผโ€โžก๏ธ E15.1 person running facing right: medium-light skin tone +1F3C3 1F3FC 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โžก E15.1 person running facing right: medium-light skin tone +1F3C3 1F3FD 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฝโ€โžก๏ธ E15.1 person running facing right: medium skin tone +1F3C3 1F3FD 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โžก E15.1 person running facing right: medium skin tone +1F3C3 1F3FE 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿพโ€โžก๏ธ E15.1 person running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โžก E15.1 person running facing right: medium-dark skin tone +1F3C3 1F3FF 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฟโ€โžก๏ธ E15.1 person running facing right: dark skin tone +1F3C3 1F3FF 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โžก E15.1 person running facing right: dark skin tone +1F3C3 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒโ€โ™€๏ธโ€โžก๏ธ E15.1 woman running facing right +1F3C3 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒโ€โ™€โ€โžก๏ธ E15.1 woman running facing right +1F3C3 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒโ€โ™€๏ธโ€โžก E15.1 woman running facing right +1F3C3 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿƒโ€โ™€โ€โžก E15.1 woman running facing right +1F3C3 1F3FB 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿปโ€โ™€๏ธโ€โžก๏ธ E15.1 woman running facing right: light skin tone +1F3C3 1F3FB 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โ™€โ€โžก๏ธ E15.1 woman running facing right: light skin tone +1F3C3 1F3FB 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โ™€๏ธโ€โžก E15.1 woman running facing right: light skin tone +1F3C3 1F3FB 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โ™€โ€โžก E15.1 woman running facing right: light skin tone +1F3C3 1F3FC 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿผโ€โ™€๏ธโ€โžก๏ธ E15.1 woman running facing right: medium-light skin tone +1F3C3 1F3FC 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โ™€โ€โžก๏ธ E15.1 woman running facing right: medium-light skin tone +1F3C3 1F3FC 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โ™€๏ธโ€โžก E15.1 woman running facing right: medium-light skin tone +1F3C3 1F3FC 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โ™€โ€โžก E15.1 woman running facing right: medium-light skin tone +1F3C3 1F3FD 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฝโ€โ™€๏ธโ€โžก๏ธ E15.1 woman running facing right: medium skin tone +1F3C3 1F3FD 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โ™€โ€โžก๏ธ E15.1 woman running facing right: medium skin tone +1F3C3 1F3FD 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โ™€๏ธโ€โžก E15.1 woman running facing right: medium skin tone +1F3C3 1F3FD 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โ™€โ€โžก E15.1 woman running facing right: medium skin tone +1F3C3 1F3FE 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿพโ€โ™€๏ธโ€โžก๏ธ E15.1 woman running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™€โ€โžก๏ธ E15.1 woman running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™€๏ธโ€โžก E15.1 woman running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™€โ€โžก E15.1 woman running facing right: medium-dark skin tone +1F3C3 1F3FF 200D 2640 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฟโ€โ™€๏ธโ€โžก๏ธ E15.1 woman running facing right: dark skin tone +1F3C3 1F3FF 200D 2640 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™€โ€โžก๏ธ E15.1 woman running facing right: dark skin tone +1F3C3 1F3FF 200D 2640 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™€๏ธโ€โžก E15.1 woman running facing right: dark skin tone +1F3C3 1F3FF 200D 2640 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™€โ€โžก E15.1 woman running facing right: dark skin tone +1F3C3 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒโ€โ™‚๏ธโ€โžก๏ธ E15.1 man running facing right +1F3C3 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒโ€โ™‚โ€โžก๏ธ E15.1 man running facing right +1F3C3 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒโ€โ™‚๏ธโ€โžก E15.1 man running facing right +1F3C3 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿƒโ€โ™‚โ€โžก E15.1 man running facing right +1F3C3 1F3FB 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿปโ€โ™‚๏ธโ€โžก๏ธ E15.1 man running facing right: light skin tone +1F3C3 1F3FB 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โ™‚โ€โžก๏ธ E15.1 man running facing right: light skin tone +1F3C3 1F3FB 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โ™‚๏ธโ€โžก E15.1 man running facing right: light skin tone +1F3C3 1F3FB 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿปโ€โ™‚โ€โžก E15.1 man running facing right: light skin tone +1F3C3 1F3FC 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿผโ€โ™‚๏ธโ€โžก๏ธ E15.1 man running facing right: medium-light skin tone +1F3C3 1F3FC 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โ™‚โ€โžก๏ธ E15.1 man running facing right: medium-light skin tone +1F3C3 1F3FC 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โ™‚๏ธโ€โžก E15.1 man running facing right: medium-light skin tone +1F3C3 1F3FC 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿผโ€โ™‚โ€โžก E15.1 man running facing right: medium-light skin tone +1F3C3 1F3FD 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฝโ€โ™‚๏ธโ€โžก๏ธ E15.1 man running facing right: medium skin tone +1F3C3 1F3FD 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โ™‚โ€โžก๏ธ E15.1 man running facing right: medium skin tone +1F3C3 1F3FD 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โ™‚๏ธโ€โžก E15.1 man running facing right: medium skin tone +1F3C3 1F3FD 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฝโ€โ™‚โ€โžก E15.1 man running facing right: medium skin tone +1F3C3 1F3FE 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿพโ€โ™‚๏ธโ€โžก๏ธ E15.1 man running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™‚โ€โžก๏ธ E15.1 man running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™‚๏ธโ€โžก E15.1 man running facing right: medium-dark skin tone +1F3C3 1F3FE 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿพโ€โ™‚โ€โžก E15.1 man running facing right: medium-dark skin tone +1F3C3 1F3FF 200D 2642 FE0F 200D 27A1 FE0F ; fully-qualified # ๐Ÿƒ๐Ÿฟโ€โ™‚๏ธโ€โžก๏ธ E15.1 man running facing right: dark skin tone +1F3C3 1F3FF 200D 2642 200D 27A1 FE0F ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™‚โ€โžก๏ธ E15.1 man running facing right: dark skin tone +1F3C3 1F3FF 200D 2642 FE0F 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™‚๏ธโ€โžก E15.1 man running facing right: dark skin tone +1F3C3 1F3FF 200D 2642 200D 27A1 ; minimally-qualified # ๐Ÿƒ๐Ÿฟโ€โ™‚โ€โžก E15.1 man running facing right: dark skin tone 1F483 ; fully-qualified # ๐Ÿ’ƒ E0.6 woman dancing 1F483 1F3FB ; fully-qualified # ๐Ÿ’ƒ๐Ÿป E1.0 woman dancing: light skin tone 1F483 1F3FC ; fully-qualified # ๐Ÿ’ƒ๐Ÿผ E1.0 woman dancing: medium-light skin tone @@ -3244,7 +3536,6 @@ 1F469 1F3FF 200D 2764 200D 1F469 1F3FE ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿพ E13.1 couple with heart: woman, woman, dark skin tone, medium-dark skin tone 1F469 1F3FF 200D 2764 FE0F 200D 1F469 1F3FF ; fully-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ E13.1 couple with heart: woman, woman, dark skin tone 1F469 1F3FF 200D 2764 200D 1F469 1F3FF ; minimally-qualified # ๐Ÿ‘ฉ๐Ÿฟโ€โคโ€๐Ÿ‘ฉ๐Ÿฟ E13.1 couple with heart: woman, woman, dark skin tone -1F46A ; fully-qualified # ๐Ÿ‘ช E0.6 family 1F468 200D 1F469 200D 1F466 ; fully-qualified # ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ E2.0 family: man, woman, boy 1F468 200D 1F469 200D 1F467 ; fully-qualified # ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง E2.0 family: man, woman, girl 1F468 200D 1F469 200D 1F467 200D 1F466 ; fully-qualified # ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ E2.0 family: man, woman, girl, boy @@ -3277,10 +3568,15 @@ 1F464 ; fully-qualified # ๐Ÿ‘ค E0.6 bust in silhouette 1F465 ; fully-qualified # ๐Ÿ‘ฅ E1.0 busts in silhouette 1FAC2 ; fully-qualified # ๐Ÿซ‚ E13.0 people hugging +1F46A ; fully-qualified # ๐Ÿ‘ช E0.6 family +1F9D1 200D 1F9D1 200D 1F9D2 ; fully-qualified # ๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’ E15.1 family: adult, adult, child +1F9D1 200D 1F9D1 200D 1F9D2 200D 1F9D2 ; fully-qualified # ๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’ E15.1 family: adult, adult, child, child +1F9D1 200D 1F9D2 ; fully-qualified # ๐Ÿง‘โ€๐Ÿง’ E15.1 family: adult, child +1F9D1 200D 1F9D2 200D 1F9D2 ; fully-qualified # ๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’ E15.1 family: adult, child, child 1F463 ; fully-qualified # ๐Ÿ‘ฃ E0.6 footprints -# People & Body subtotal: 2998 -# People & Body subtotal: 508 w/o modifiers +# People & Body subtotal: 3290 +# People & Body subtotal: 560 w/o modifiers # group: Component @@ -3395,6 +3691,7 @@ 1FABD ; fully-qualified # ๐Ÿชฝ E15.0 wing 1F426 200D 2B1B ; fully-qualified # ๐Ÿฆโ€โฌ› E15.0 black bird 1FABF ; fully-qualified # ๐Ÿชฟ E15.0 goose +1F426 200D 1F525 ; fully-qualified # ๐Ÿฆโ€๐Ÿ”ฅ E15.1 phoenix # subgroup: animal-amphibian 1F438 ; fully-qualified # ๐Ÿธ E0.6 frog @@ -3477,8 +3774,8 @@ 1FABA ; fully-qualified # ๐Ÿชบ E14.0 nest with eggs 1F344 ; fully-qualified # ๐Ÿ„ E0.6 mushroom -# Animals & Nature subtotal: 159 -# Animals & Nature subtotal: 159 w/o modifiers +# Animals & Nature subtotal: 160 +# Animals & Nature subtotal: 160 w/o modifiers # group: Food & Drink @@ -3488,6 +3785,7 @@ 1F349 ; fully-qualified # ๐Ÿ‰ E0.6 watermelon 1F34A ; fully-qualified # ๐ŸŠ E0.6 tangerine 1F34B ; fully-qualified # ๐Ÿ‹ E1.0 lemon +1F34B 200D 1F7E9 ; fully-qualified # ๐Ÿ‹โ€๐ŸŸฉ E15.1 lime 1F34C ; fully-qualified # ๐ŸŒ E0.6 banana 1F34D ; fully-qualified # ๐Ÿ E0.6 pineapple 1F96D ; fully-qualified # ๐Ÿฅญ E11.0 mango @@ -3522,6 +3820,7 @@ 1F330 ; fully-qualified # ๐ŸŒฐ E0.6 chestnut 1FADA ; fully-qualified # ๐Ÿซš E15.0 ginger root 1FADB ; fully-qualified # ๐Ÿซ› E15.0 pea pod +1F344 200D 1F7EB ; fully-qualified # ๐Ÿ„โ€๐ŸŸซ E15.1 brown mushroom # subgroup: food-prepared 1F35E ; fully-qualified # ๐Ÿž E0.6 bread @@ -3633,8 +3932,8 @@ 1FAD9 ; fully-qualified # ๐Ÿซ™ E14.0 jar 1F3FA ; fully-qualified # ๐Ÿบ E1.0 amphora -# Food & Drink subtotal: 135 -# Food & Drink subtotal: 135 w/o modifiers +# Food & Drink subtotal: 137 +# Food & Drink subtotal: 137 w/o modifiers # group: Travel & Places @@ -4321,6 +4620,8 @@ 2696 ; unqualified # โš– E1.0 balance scale 1F9AF ; fully-qualified # ๐Ÿฆฏ E12.0 white cane 1F517 ; fully-qualified # ๐Ÿ”— E0.6 link +26D3 FE0F 200D 1F4A5 ; fully-qualified # โ›“๏ธโ€๐Ÿ’ฅ E15.1 broken chain +26D3 200D 1F4A5 ; unqualified # โ›“โ€๐Ÿ’ฅ E15.1 broken chain 26D3 FE0F ; fully-qualified # โ›“๏ธ E0.7 chains 26D3 ; unqualified # โ›“ E0.7 chains 1FA9D ; fully-qualified # ๐Ÿช E13.0 hook @@ -4389,8 +4690,8 @@ 1FAA7 ; fully-qualified # ๐Ÿชง E13.0 placard 1FAAA ; fully-qualified # ๐Ÿชช E14.0 identification card -# Objects subtotal: 310 -# Objects subtotal: 310 w/o modifiers +# Objects subtotal: 312 +# Objects subtotal: 312 w/o modifiers # group: Symbols @@ -4979,7 +5280,7 @@ 1F1F9 1F1F2 ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ฒ E2.0 flag: Turkmenistan 1F1F9 1F1F3 ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ณ E2.0 flag: Tunisia 1F1F9 1F1F4 ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ด E2.0 flag: Tonga -1F1F9 1F1F7 ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ท E2.0 flag: Turkey +1F1F9 1F1F7 ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ท E2.0 flag: Tรผrkiye 1F1F9 1F1F9 ; fully-qualified # ๐Ÿ‡น๐Ÿ‡น E2.0 flag: Trinidad & Tobago 1F1F9 1F1FB ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ป E2.0 flag: Tuvalu 1F1F9 1F1FC ; fully-qualified # ๐Ÿ‡น๐Ÿ‡ผ E2.0 flag: Taiwan @@ -5016,9 +5317,9 @@ # Flags subtotal: 275 w/o modifiers # Status Counts -# fully-qualified : 3655 -# minimally-qualified : 827 -# unqualified : 242 +# fully-qualified : 3773 +# minimally-qualified : 1009 +# unqualified : 243 # component : 9 #EOF diff --git a/resources/provider-head.txt b/resources/provider-head.txt new file mode 100644 index 00000000..e5df1fe2 --- /dev/null +++ b/resources/provider-head.txt @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +// DO NOT EDIT PROVIDER.CPP DIRECTLY! EDIT resources/provider-head.txt AND RUN scripts/codegen.sh! + +#include "emoji/Provider.h" + +using namespace emoji; + +constexpr diff --git a/resources/provider-header.txt b/resources/provider-header.txt deleted file mode 100644 index 5cc22e76..00000000 --- a/resources/provider-header.txt +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-FileCopyrightText: 2021 Nheko Contributors -// SPDX-FileCopyrightText: 2022 Nheko Contributors -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "emoji/Provider.h" - -using namespace emoji; - -// a null terminated string_view -template -static consteval std::u16string_view -null_literal(const char16_t (&lit)[N]) -{ - return std::u16string_view(lit, N); -} - - diff --git a/resources/shortcodes.txt b/resources/shortcodes.txt index 5bc2b28d..58351817 100644 --- a/resources/shortcodes.txt +++ b/resources/shortcodes.txt @@ -20,7 +20,7 @@ 1F523:symbols 1F524:abc 1F60D:heart_eyes -1F927:cry_smile +1F972:cry_smile 1F608:smiling_imp 1F47F:imp 1F261:rage diff --git a/scripts/codegen.sh b/scripts/codegen.sh index 9ba5c5df..f55fa50f 100644 --- a/scripts/codegen.sh +++ b/scripts/codegen.sh @@ -1,7 +1,8 @@ #!/bin/bash ROOT=$(realpath "$PWD/$(dirname "$0")/..") cd $ROOT -cat resources/provider-header.txt > src/emoji/Provider.cpp +cat resources/provider-head.txt > src/emoji/Provider.cpp cat resources/extra_emoji.txt resources/emoji-test.txt > resources/complete-emoji.txt -scripts/emoji_codegen.py resources/complete-emoji.txt resources/shortcodes.txt >> src/emoji/Provider.cpp +scripts/emoji_codegen.py impl resources/complete-emoji.txt resources/shortcodes.txt >> src/emoji/Provider.cpp +scripts/emoji_codegen.py header resources/complete-emoji.txt resources/shortcodes.txt > src/emoji/Provider.h cd - > /dev/null diff --git a/scripts/emoji_codegen.py b/scripts/emoji_codegen.py index 53c3d2e8..5378b32d 100755 --- a/scripts/emoji_codegen.py +++ b/scripts/emoji_codegen.py @@ -12,10 +12,34 @@ class Emoji(object): self.shortname = shortname self.unicodename = unicodename +def generate_provider_class(**kwargs): + entrycount = sum([len(c[1]) for c in kwargs.items()]) + tmpl = Template('''\ + // SPDX-FileCopyrightText: Nheko Contributors + // + // SPDX-License-Identifier: GPL-3.0-or-later + + // DO NOT EDIT Provider.h DIRECTLY! EDIT IT IN scripts/emoji_codegen.py AND RUN scripts/codegen.sh! + + #pragma once + #include + #include "Emoji.h" + + namespace emoji { + class Provider + { + public: + // all emoji for QML purposes + static const std::array emoji; + }; + } // namespace emoji + ''') + d = dict(entrycount=entrycount) + print(tmpl.render(d)) def generate_qml_list(**kwargs): entrycount = sum([len(c[1]) for c in kwargs.items()]) tmpl = Template(''' -constexpr const std::array emoji::Provider::emoji = { + std::array emoji::Provider::emoji = { {%- for c in kwargs.items() %} // {{ c[0].capitalize() }} {%- for e in c[1] %} @@ -26,13 +50,19 @@ constexpr const std::array emoji::Provider::emoji = { ''') d = dict(kwargs=kwargs, entrycount=entrycount) print(tmpl.render(d)) +def usage(): + print('usage: emoji_codegen.py {impl|header} /path/to/emoji-test /path/to/shortcodes.txt') if __name__ == '__main__': - if len(sys.argv) < 3: - print('usage: emoji_codegen.py /path/to/emoji-test.txt /path/to/shortcodes.txt') + if len(sys.argv) < 4: + usage() sys.exit(1) - filename = sys.argv[1] - shortcodefilename = sys.argv[2] + mode = sys.argv[1] + if mode != 'impl' and mode != 'header': + usage() + sys.exit(1) + filename = sys.argv[2] + shortcodefilename = sys.argv[3] people = [] nature = [] @@ -99,7 +129,7 @@ if __name__ == '__main__': if shortname.endswith(': curly hair'): shortname = "curly_haired_" + shortname[:-12] if shortname.endswith(': white hair'): - shortname = "white_haried_" + shortname[:-12] + shortname = "white_haired_" + shortname[:-12] if shortname.endswith(': bald'): shortname = "bald_" + shortname[:-6] if shortname.endswith(': beard'): @@ -134,4 +164,9 @@ if __name__ == '__main__': # Use xclip to pipe the output to clipboard. # e.g ./emoji_codegen.py emoji.json | xclip -sel clip # alternatively - delete the var from src/emoji/Provider.cpp, and do ./codegen.sh emojis shortcodes >> ../src/emoji/Provider.cpp - generate_qml_list(people=people, nature=nature, food=food, activity=activity, travel=travel, objects=objects, symbols=symbols, flags=flags) + func = None + if mode == 'impl': + func = generate_qml_list + else: + func = generate_provider_class + func(people=people, nature=nature, food=food, activity=activity, travel=travel, objects=objects, symbols=symbols, flags=flags) diff --git a/src/GridImagePackModel.cpp b/src/GridImagePackModel.cpp index 9d8ac41f..540c95b0 100644 --- a/src/GridImagePackModel.cpp +++ b/src/GridImagePackModel.cpp @@ -12,31 +12,6 @@ #include "Cache.h" #include "emoji/Provider.h" -QString -emoji::categoryToName(emoji::Emoji::Category cat) -{ - switch (cat) { - case emoji::Emoji::Category::People: - return QCoreApplication::translate("emoji-catagory", "People"); - case emoji::Emoji::Category::Nature: - return QCoreApplication::translate("emoji-catagory", "Nature"); - case emoji::Emoji::Category::Food: - return QCoreApplication::translate("emoji-catagory", "Food"); - case emoji::Emoji::Category::Activity: - return QCoreApplication::translate("emoji-catagory", "Activity"); - case emoji::Emoji::Category::Travel: - return QCoreApplication::translate("emoji-catagory", "Travel"); - case emoji::Emoji::Category::Objects: - return QCoreApplication::translate("emoji-catagory", "Objects"); - case emoji::Emoji::Category::Symbols: - return QCoreApplication::translate("emoji-catagory", "Symbols"); - case emoji::Emoji::Category::Flags: - return QCoreApplication::translate("emoji-catagory", "Flags"); - default: - return ""; - } -} - static QString categoryToIcon(emoji::Emoji::Category cat) { diff --git a/src/emoji/Emoji.cpp b/src/emoji/Emoji.cpp new file mode 100644 index 00000000..2392eab1 --- /dev/null +++ b/src/emoji/Emoji.cpp @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "Emoji.h" + +#include +QString +emoji::categoryToName(emoji::Emoji::Category cat) +{ + switch (cat) { + case emoji::Emoji::Category::People: + return QCoreApplication::translate("emoji-catagory", "People"); + case emoji::Emoji::Category::Nature: + return QCoreApplication::translate("emoji-catagory", "Nature"); + case emoji::Emoji::Category::Food: + return QCoreApplication::translate("emoji-catagory", "Food"); + case emoji::Emoji::Category::Activity: + return QCoreApplication::translate("emoji-catagory", "Activity"); + case emoji::Emoji::Category::Travel: + return QCoreApplication::translate("emoji-catagory", "Travel"); + case emoji::Emoji::Category::Objects: + return QCoreApplication::translate("emoji-catagory", "Objects"); + case emoji::Emoji::Category::Symbols: + return QCoreApplication::translate("emoji-catagory", "Symbols"); + case emoji::Emoji::Category::Flags: + return QCoreApplication::translate("emoji-catagory", "Flags"); + default: + return ""; + } +} + +#include "moc_Emoji.cpp" diff --git a/src/emoji/Emoji.h b/src/emoji/Emoji.h new file mode 100644 index 00000000..00cfb17b --- /dev/null +++ b/src/emoji/Emoji.h @@ -0,0 +1,88 @@ +// SPDX-FileCopyrightText: Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include + +namespace emoji { +Q_NAMESPACE + +struct Emoji +{ + Q_GADGET +public: + enum class Category + { + People, + Nature, + Food, + Activity, + Travel, + Objects, + Symbols, + Flags, + Search + }; + Q_ENUM(Category) + + Q_PROPERTY(QString unicode READ unicode CONSTANT) + Q_PROPERTY(QString shortName READ shortName CONSTANT) + Q_PROPERTY(QString unicodeName READ unicodeName CONSTANT) + Q_PROPERTY(emoji::Emoji::Category category MEMBER category) + +public: + constexpr Emoji(std::u16string_view unicode, + std::u16string_view shortName, + std::u16string_view unicodeName, + Category cat) + : unicode_(unicode) + , shortName_(shortName) + , unicodeName_(unicodeName) + , category(cat) + { + } + + constexpr Emoji() + : unicode_(u"", 0) + , shortName_(u"", 0) + , unicodeName_(u"", 0) + , category(Category::Search) + { + } + + constexpr Emoji(const Emoji &) = default; + constexpr Emoji(Emoji &&) = default; + + constexpr Emoji &operator=(const Emoji &) = default; + constexpr Emoji &operator=(Emoji &&) = default; + + QString unicode() const + { + return QString::fromRawData(reinterpret_cast(unicode_.data()), + unicode_.size()); + } + QString shortName() const + { + return QString::fromRawData(reinterpret_cast(shortName_.data()), + shortName_.size()); + } + QString unicodeName() const + { + return QString::fromRawData(reinterpret_cast(unicodeName_.data()), + unicodeName_.size()); + } + +private: + std::u16string_view unicode_; + std::u16string_view shortName_; + std::u16string_view unicodeName_; + +public: + Category category; +}; + +QString +categoryToName(emoji::Emoji::Category cat); +} // namespace emoji diff --git a/src/emoji/Provider.cpp b/src/emoji/Provider.cpp index 9c1fb5a2..f7d44a51 100644 --- a/src/emoji/Provider.cpp +++ b/src/emoji/Provider.cpp @@ -2,17 +2,15 @@ // // SPDX-License-Identifier: GPL-3.0-or-later +// DO NOT EDIT PROVIDER.CPP DIRECTLY! EDIT resources/provider-head.txt AND RUN scripts/codegen.sh! + #include "emoji/Provider.h" using namespace emoji; -// GCC10 seems to remove the array otherwise, but later versions don't -#if (defined(__GNUC__) && !defined(__clang__)) && __GNUC__ < 11 -constinit const -#else constexpr -#endif - std::array + + std::array emoji::Provider::emoji = { // People Emoji{std::u16string_view(u"\U0001F600"), @@ -104,7 +102,7 @@ constexpr std::u16string_view(u"kissing face with smiling eyes"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F972"), - std::u16string_view(u"smiling_face_with_tear"), + std::u16string_view(u"cry_smile"), std::u16string_view(u"smiling face with tear"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F60B"), @@ -215,6 +213,14 @@ constexpr std::u16string_view(u"shaking"), std::u16string_view(u"shaking face"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F642\U0000200D\U00002194\U0000FE0F"), + std::u16string_view(u"head_shaking_horizontally"), + std::u16string_view(u"head shaking horizontally"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F642\U0000200D\U00002195\U0000FE0F"), + std::u16string_view(u"head_shaking_vertically"), + std::u16string_view(u"head shaking vertically"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F60C"), std::u16string_view(u"relieved"), std::u16string_view(u"relieved face"), @@ -256,7 +262,7 @@ constexpr std::u16string_view(u"face vomiting"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F927"), - std::u16string_view(u"cry_smile"), + std::u16string_view(u"sneezing"), std::u16string_view(u"sneezing face"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F975"), @@ -2273,7 +2279,7 @@ constexpr std::u16string_view(u"man: dark skin tone, curly hair"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9B3"), - std::u16string_view(u"white_haried_man"), + std::u16string_view(u"white_haired_man"), std::u16string_view(u"man: white hair"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F468\U0001F3FB\U0000200D\U0001F9B3"), @@ -2441,7 +2447,7 @@ constexpr std::u16string_view(u"person: dark skin tone, curly hair"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9B3"), - std::u16string_view(u"white_haried_woman"), + std::u16string_view(u"white_haired_woman"), std::u16string_view(u"woman: white hair"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U0001F9B3"), @@ -2465,7 +2471,7 @@ constexpr std::u16string_view(u"woman: dark skin tone, white hair"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9B3"), - std::u16string_view(u"white_haried_person"), + std::u16string_view(u"white_haired_person"), std::u16string_view(u"person: white hair"), emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FB\U0000200D\U0001F9B3"), @@ -6188,6 +6194,90 @@ constexpr std::u16string_view(u"woman_walking_dark_skin_tone"), std::u16string_view(u"woman walking: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F6B6\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_walking_facing_right"), + std::u16string_view(u"person walking facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F6B6\U0001F3FB\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_walking_facing_right_light_skin_tone"), + std::u16string_view(u"person walking facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F6B6\U0001F3FC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_walking_facing_right_medium_light_skin_tone"), + std::u16string_view(u"person walking facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F6B6\U0001F3FD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_walking_facing_right_medium_skin_tone"), + std::u16string_view(u"person walking facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F6B6\U0001F3FE\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_walking_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"person walking facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F6B6\U0001F3FF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_walking_facing_right_dark_skin_tone"), + std::u16string_view(u"person walking facing right: dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_walking_facing_right"), + std::u16string_view(u"woman walking facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FB\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_walking_facing_right_light_skin_tone"), + std::u16string_view(u"woman walking facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FC\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_walking_facing_right_medium_light_skin_tone"), + std::u16string_view(u"woman walking facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FD\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_walking_facing_right_medium_skin_tone"), + std::u16string_view(u"woman walking facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FE\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_walking_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"woman walking facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FF\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_walking_facing_right_dark_skin_tone"), + std::u16string_view(u"woman walking facing right: dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_walking_facing_right"), + std::u16string_view(u"man walking facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FB\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_walking_facing_right_light_skin_tone"), + std::u16string_view(u"man walking facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FC\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_walking_facing_right_medium_light_skin_tone"), + std::u16string_view(u"man walking facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FD\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_walking_facing_right_medium_skin_tone"), + std::u16string_view(u"man walking facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FE\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_walking_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"man walking facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F6B6\U0001F3FF\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_walking_facing_right_dark_skin_tone"), + std::u16string_view(u"man walking facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F9CD"), std::u16string_view(u"person_standing"), std::u16string_view(u"person standing"), @@ -6332,6 +6422,90 @@ constexpr std::u16string_view(u"woman_kneeling_dark_skin_tone"), std::u16string_view(u"woman kneeling: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9CE\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_kneeling_facing_right"), + std::u16string_view(u"person kneeling facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9CE\U0001F3FB\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_kneeling_facing_right_light_skin_tone"), + std::u16string_view(u"person kneeling facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9CE\U0001F3FC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_kneeling_facing_right_medium_light_skin_tone"), + std::u16string_view(u"person kneeling facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9CE\U0001F3FD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_kneeling_facing_right_medium_skin_tone"), + std::u16string_view(u"person kneeling facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9CE\U0001F3FE\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_kneeling_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"person kneeling facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9CE\U0001F3FF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_kneeling_facing_right_dark_skin_tone"), + std::u16string_view(u"person kneeling facing right: dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_kneeling_facing_right"), + std::u16string_view(u"woman kneeling facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FB\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_kneeling_facing_right_light_skin_tone"), + std::u16string_view(u"woman kneeling facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FC\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_kneeling_facing_right_medium_light_skin_tone"), + std::u16string_view(u"woman kneeling facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FD\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_kneeling_facing_right_medium_skin_tone"), + std::u16string_view(u"woman kneeling facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FE\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_kneeling_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"woman kneeling facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FF\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_kneeling_facing_right_dark_skin_tone"), + std::u16string_view(u"woman kneeling facing right: dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_kneeling_facing_right"), + std::u16string_view(u"man kneeling facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FB\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_kneeling_facing_right_light_skin_tone"), + std::u16string_view(u"man kneeling facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FC\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_kneeling_facing_right_medium_light_skin_tone"), + std::u16string_view(u"man kneeling facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FD\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_kneeling_facing_right_medium_skin_tone"), + std::u16string_view(u"man kneeling facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FE\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_kneeling_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"man kneeling facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9CE\U0001F3FF\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_kneeling_facing_right_dark_skin_tone"), + std::u16string_view(u"man kneeling facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9AF"), std::u16string_view(u"person_with_white_cane"), std::u16string_view(u"person with white cane"), @@ -6356,6 +6530,35 @@ constexpr std::u16string_view(u"person_with_white_cane_dark_skin_tone"), std::u16string_view(u"person with white cane: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_with_white_cane_facing_right"), + std::u16string_view(u"person with white cane facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FB\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_with_white_cane_facing_right_light_skin_tone"), + std::u16string_view(u"person with white cane facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FC\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_with_white_cane_facing_right_medium_light_skin_tone"), + std::u16string_view(u"person with white cane facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FD\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_with_white_cane_facing_right_medium_skin_tone"), + std::u16string_view(u"person with white cane facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FE\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_with_white_cane_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"person with white cane facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FF\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_with_white_cane_facing_right_dark_skin_tone"), + std::u16string_view(u"person with white cane facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9AF"), std::u16string_view(u"man_with_white_cane"), std::u16string_view(u"man with white cane"), @@ -6380,6 +6583,35 @@ constexpr std::u16string_view(u"man_with_white_cane_dark_skin_tone"), std::u16string_view(u"man with white cane: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_with_white_cane_facing_right"), + std::u16string_view(u"man with white cane facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FB\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_with_white_cane_facing_right_light_skin_tone"), + std::u16string_view(u"man with white cane facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FC\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_with_white_cane_facing_right_medium_light_skin_tone"), + std::u16string_view(u"man with white cane facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FD\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_with_white_cane_facing_right_medium_skin_tone"), + std::u16string_view(u"man with white cane facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FE\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_with_white_cane_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"man with white cane facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FF\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_with_white_cane_facing_right_dark_skin_tone"), + std::u16string_view(u"man with white cane facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9AF"), std::u16string_view(u"woman_with_white_cane"), std::u16string_view(u"woman with white cane"), @@ -6404,6 +6636,35 @@ constexpr std::u16string_view(u"woman_with_white_cane_dark_skin_tone"), std::u16string_view(u"woman with white cane: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_with_white_cane_facing_right"), + std::u16string_view(u"woman with white cane facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FB\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_with_white_cane_facing_right_light_skin_tone"), + std::u16string_view(u"woman with white cane facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FC\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_with_white_cane_facing_right_medium_light_skin_tone"), + std::u16string_view(u"woman with white cane facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FD\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_with_white_cane_facing_right_medium_skin_tone"), + std::u16string_view(u"woman with white cane facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FE\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_with_white_cane_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"woman with white cane facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FF\U0000200D\U0001F9AF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_with_white_cane_facing_right_dark_skin_tone"), + std::u16string_view(u"woman with white cane facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9BC"), std::u16string_view(u"person_in_motorized_wheelchair"), std::u16string_view(u"person in motorized wheelchair"), @@ -6428,6 +6689,37 @@ constexpr std::u16string_view(u"person_in_motorized_wheelchair_dark_skin_tone"), std::u16string_view(u"person in motorized wheelchair: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_motorized_wheelchair_facing_right"), + std::u16string_view(u"person in motorized wheelchair facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FB\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_motorized_wheelchair_facing_right_light_skin_tone"), + std::u16string_view(u"person in motorized wheelchair facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{ + std::u16string_view( + u"\U0001F9D1\U0001F3FC\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_motorized_wheelchair_facing_right_medium_light_skin_tone"), + std::u16string_view(u"person in motorized wheelchair facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FD\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_motorized_wheelchair_facing_right_medium_skin_tone"), + std::u16string_view(u"person in motorized wheelchair facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{ + std::u16string_view( + u"\U0001F9D1\U0001F3FE\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_motorized_wheelchair_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"person in motorized wheelchair facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FF\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_motorized_wheelchair_facing_right_dark_skin_tone"), + std::u16string_view(u"person in motorized wheelchair facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9BC"), std::u16string_view(u"man_in_motorized_wheelchair"), std::u16string_view(u"man in motorized wheelchair"), @@ -6452,6 +6744,36 @@ constexpr std::u16string_view(u"man_in_motorized_wheelchair_dark_skin_tone"), std::u16string_view(u"man in motorized wheelchair: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_motorized_wheelchair_facing_right"), + std::u16string_view(u"man in motorized wheelchair facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FB\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_motorized_wheelchair_facing_right_light_skin_tone"), + std::u16string_view(u"man in motorized wheelchair facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{ + std::u16string_view( + u"\U0001F468\U0001F3FC\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_motorized_wheelchair_facing_right_medium_light_skin_tone"), + std::u16string_view(u"man in motorized wheelchair facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FD\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_motorized_wheelchair_facing_right_medium_skin_tone"), + std::u16string_view(u"man in motorized wheelchair facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FE\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_motorized_wheelchair_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"man in motorized wheelchair facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FF\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_motorized_wheelchair_facing_right_dark_skin_tone"), + std::u16string_view(u"man in motorized wheelchair facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9BC"), std::u16string_view(u"woman_in_motorized_wheelchair"), std::u16string_view(u"woman in motorized wheelchair"), @@ -6476,6 +6798,37 @@ constexpr std::u16string_view(u"woman_in_motorized_wheelchair_dark_skin_tone"), std::u16string_view(u"woman in motorized wheelchair: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_motorized_wheelchair_facing_right"), + std::u16string_view(u"woman in motorized wheelchair facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FB\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_motorized_wheelchair_facing_right_light_skin_tone"), + std::u16string_view(u"woman in motorized wheelchair facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{ + std::u16string_view( + u"\U0001F469\U0001F3FC\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_motorized_wheelchair_facing_right_medium_light_skin_tone"), + std::u16string_view(u"woman in motorized wheelchair facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FD\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_motorized_wheelchair_facing_right_medium_skin_tone"), + std::u16string_view(u"woman in motorized wheelchair facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{ + std::u16string_view( + u"\U0001F469\U0001F3FE\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_motorized_wheelchair_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"woman in motorized wheelchair facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FF\U0000200D\U0001F9BC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_motorized_wheelchair_facing_right_dark_skin_tone"), + std::u16string_view(u"woman in motorized wheelchair facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9BD"), std::u16string_view(u"person_in_manual_wheelchair"), std::u16string_view(u"person in manual wheelchair"), @@ -6500,6 +6853,36 @@ constexpr std::u16string_view(u"person_in_manual_wheelchair_dark_skin_tone"), std::u16string_view(u"person in manual wheelchair: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_manual_wheelchair_facing_right"), + std::u16string_view(u"person in manual wheelchair facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FB\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_manual_wheelchair_facing_right_light_skin_tone"), + std::u16string_view(u"person in manual wheelchair facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{ + std::u16string_view( + u"\U0001F9D1\U0001F3FC\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_manual_wheelchair_facing_right_medium_light_skin_tone"), + std::u16string_view(u"person in manual wheelchair facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FD\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_manual_wheelchair_facing_right_medium_skin_tone"), + std::u16string_view(u"person in manual wheelchair facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FE\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_manual_wheelchair_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"person in manual wheelchair facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0001F3FF\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_in_manual_wheelchair_facing_right_dark_skin_tone"), + std::u16string_view(u"person in manual wheelchair facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9BD"), std::u16string_view(u"man_in_manual_wheelchair"), std::u16string_view(u"man in manual wheelchair"), @@ -6524,6 +6907,35 @@ constexpr std::u16string_view(u"man_in_manual_wheelchair_dark_skin_tone"), std::u16string_view(u"man in manual wheelchair: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_manual_wheelchair_facing_right"), + std::u16string_view(u"man in manual wheelchair facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FB\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_manual_wheelchair_facing_right_light_skin_tone"), + std::u16string_view(u"man in manual wheelchair facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FC\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_manual_wheelchair_facing_right_medium_light_skin_tone"), + std::u16string_view(u"man in manual wheelchair facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FD\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_manual_wheelchair_facing_right_medium_skin_tone"), + std::u16string_view(u"man in manual wheelchair facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FE\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_manual_wheelchair_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"man in manual wheelchair facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F468\U0001F3FF\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_in_manual_wheelchair_facing_right_dark_skin_tone"), + std::u16string_view(u"man in manual wheelchair facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9BD"), std::u16string_view(u"woman_in_manual_wheelchair"), std::u16string_view(u"woman in manual wheelchair"), @@ -6548,6 +6960,35 @@ constexpr std::u16string_view(u"woman_in_manual_wheelchair_dark_skin_tone"), std::u16string_view(u"woman in manual wheelchair: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F469\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_manual_wheelchair_facing_right"), + std::u16string_view(u"woman in manual wheelchair facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FB\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_manual_wheelchair_facing_right_light_skin_tone"), + std::u16string_view(u"woman in manual wheelchair facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FC\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_manual_wheelchair_facing_right_medium_light_skin_tone"), + std::u16string_view(u"woman in manual wheelchair facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FD\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_manual_wheelchair_facing_right_medium_skin_tone"), + std::u16string_view(u"woman in manual wheelchair facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FE\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_manual_wheelchair_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"woman in manual wheelchair facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F469\U0001F3FF\U0000200D\U0001F9BD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_in_manual_wheelchair_facing_right_dark_skin_tone"), + std::u16string_view(u"woman in manual wheelchair facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F3C3"), std::u16string_view(u"person_running"), std::u16string_view(u"person running"), @@ -6620,6 +7061,90 @@ constexpr std::u16string_view(u"woman_running_dark_skin_tone"), std::u16string_view(u"woman running: dark skin tone"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F3C3\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_running_facing_right"), + std::u16string_view(u"person running facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F3C3\U0001F3FB\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_running_facing_right_light_skin_tone"), + std::u16string_view(u"person running facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F3C3\U0001F3FC\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_running_facing_right_medium_light_skin_tone"), + std::u16string_view(u"person running facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F3C3\U0001F3FD\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_running_facing_right_medium_skin_tone"), + std::u16string_view(u"person running facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F3C3\U0001F3FE\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_running_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"person running facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F3C3\U0001F3FF\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"person_running_facing_right_dark_skin_tone"), + std::u16string_view(u"person running facing right: dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_running_facing_right"), + std::u16string_view(u"woman running facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FB\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_running_facing_right_light_skin_tone"), + std::u16string_view(u"woman running facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FC\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_running_facing_right_medium_light_skin_tone"), + std::u16string_view(u"woman running facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FD\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_running_facing_right_medium_skin_tone"), + std::u16string_view(u"woman running facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FE\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_running_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"woman running facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FF\U0000200D\U00002640\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"woman_running_facing_right_dark_skin_tone"), + std::u16string_view(u"woman running facing right: dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_running_facing_right"), + std::u16string_view(u"man running facing right"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FB\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_running_facing_right_light_skin_tone"), + std::u16string_view(u"man running facing right: light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FC\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_running_facing_right_medium_light_skin_tone"), + std::u16string_view(u"man running facing right: medium-light skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FD\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_running_facing_right_medium_skin_tone"), + std::u16string_view(u"man running facing right: medium skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FE\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_running_facing_right_medium_dark_skin_tone"), + std::u16string_view(u"man running facing right: medium-dark skin tone"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F3C3\U0001F3FF\U0000200D\U00002642\U0000FE0F\U0000200D\U000027A1\U0000FE0F"), + std::u16string_view(u"man_running_facing_right_dark_skin_tone"), + std::u16string_view(u"man running facing right: dark skin tone"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F483"), std::u16string_view(u"woman_dancing"), std::u16string_view(u"woman dancing"), @@ -8453,125 +8978,105 @@ constexpr std::u16string_view(u"kiss_dark_skin_tone"), std::u16string_view(u"kiss: dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FC"), std::u16string_view(u"kiss_person_person_light_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: person, person, light skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FD"), std::u16string_view(u"kiss_person_person_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: person, person, light skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FE"), std::u16string_view(u"kiss_person_person_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: person, person, light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FF"), std::u16string_view(u"kiss_person_person_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: person, person, light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FB"), std::u16string_view(u"kiss_person_person_medium_light_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: person, person, medium-light skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FD"), std::u16string_view(u"kiss_person_person_medium_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: person, person, medium-light skin tone, medium skin tone"), emoji::Emoji::Category::People}, Emoji{ - std::u16string_view( - u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FE"), + std::u16string_view(u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FE"), std::u16string_view(u"kiss_person_person_medium_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: person, person, medium-light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FF"), std::u16string_view(u"kiss_person_person_medium_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: person, person, medium-light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FB"), std::u16string_view(u"kiss_person_person_medium_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: person, person, medium skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FC"), std::u16string_view(u"kiss_person_person_medium_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: person, person, medium skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FE"), std::u16string_view(u"kiss_person_person_medium_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: person, person, medium skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FF"), std::u16string_view(u"kiss_person_person_medium_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: person, person, medium skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FB"), std::u16string_view(u"kiss_person_person_medium_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: person, person, medium-dark skin tone, light skin tone"), emoji::Emoji::Category::People}, Emoji{ - std::u16string_view( - u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FC"), + std::u16string_view(u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FC"), std::u16string_view(u"kiss_person_person_medium_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: person, person, medium-dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FD"), std::u16string_view(u"kiss_person_person_medium_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: person, person, medium-dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FF"), std::u16string_view(u"kiss_person_person_medium_dark_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: person, person, medium-dark skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FB"), std::u16string_view(u"kiss_person_person_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: person, person, dark skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FC"), std::u16string_view(u"kiss_person_person_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: person, person, dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FD"), std::u16string_view(u"kiss_person_person_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: person, person, dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F9D1\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F9D1\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F9D1\U0001F3FE"), std::u16string_view(u"kiss_person_person_dark_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: person, person, dark skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, @@ -8580,153 +9085,128 @@ constexpr std::u16string_view(u"kiss_woman_man"), std::u16string_view(u"kiss: woman, man"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_woman_man_light_skin_tone"), std::u16string_view(u"kiss: woman, man, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_woman_man_light_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, man, light skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_woman_man_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, man, light skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_woman_man_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_woman_man_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_woman_man_medium_light_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-light skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_woman_man_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_woman_man_medium_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-light skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_woman_man_medium_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_woman_man_medium_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_woman_man_medium_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, man, medium skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_woman_man_medium_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, man, medium skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_woman_man_medium_skin_tone"), std::u16string_view(u"kiss: woman, man, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_woman_man_medium_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, medium skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_woman_man_medium_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, medium skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_woman_man_medium_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-dark skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_woman_man_medium_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_woman_man_medium_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_woman_man_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_woman_man_medium_dark_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, medium-dark skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_woman_man_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, man, dark skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_woman_man_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, man, dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_woman_man_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, man, dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_woman_man_dark_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, dark skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_woman_man_dark_skin_tone"), std::u16string_view(u"kiss: woman, man, dark skin tone"), emoji::Emoji::Category::People}, @@ -8735,153 +9215,128 @@ constexpr std::u16string_view(u"kiss_man_man"), std::u16string_view(u"kiss: man, man"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_man_man_light_skin_tone"), std::u16string_view(u"kiss: man, man, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_man_man_light_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: man, man, light skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_man_man_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: man, man, light skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_man_man_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: man, man, light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_man_man_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: man, man, light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_man_man_medium_light_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: man, man, medium-light skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_man_man_medium_light_skin_tone"), std::u16string_view(u"kiss: man, man, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_man_man_medium_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: man, man, medium-light skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_man_man_medium_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: man, man, medium-light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_man_man_medium_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: man, man, medium-light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_man_man_medium_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: man, man, medium skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_man_man_medium_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: man, man, medium skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_man_man_medium_skin_tone"), std::u16string_view(u"kiss: man, man, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_man_man_medium_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: man, man, medium skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_man_man_medium_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: man, man, medium skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_man_man_medium_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: man, man, medium-dark skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_man_man_medium_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: man, man, medium-dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_man_man_medium_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: man, man, medium-dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_man_man_medium_dark_skin_tone"), std::u16string_view(u"kiss: man, man, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_man_man_medium_dark_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: man, man, medium-dark skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FB"), std::u16string_view(u"kiss_man_man_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: man, man, dark skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FC"), std::u16string_view(u"kiss_man_man_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: man, man, dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FD"), std::u16string_view(u"kiss_man_man_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: man, man, dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FE"), std::u16string_view(u"kiss_man_man_dark_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: man, man, dark skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F468\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F468\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F468\U0001F3FF"), std::u16string_view(u"kiss_man_man_dark_skin_tone"), std::u16string_view(u"kiss: man, man, dark skin tone"), emoji::Emoji::Category::People}, @@ -8890,155 +9345,130 @@ constexpr std::u16string_view(u"kiss_woman_woman"), std::u16string_view(u"kiss: woman, woman"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FB"), std::u16string_view(u"kiss_woman_woman_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FC"), std::u16string_view(u"kiss_woman_woman_light_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, light skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FD"), std::u16string_view(u"kiss_woman_woman_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, woman, light skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FE"), std::u16string_view(u"kiss_woman_woman_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FB\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FF"), std::u16string_view(u"kiss_woman_woman_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FB"), std::u16string_view(u"kiss_woman_woman_medium_light_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-light skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FC"), std::u16string_view(u"kiss_woman_woman_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FD"), std::u16string_view(u"kiss_woman_woman_medium_light_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-light skin tone, medium skin tone"), emoji::Emoji::Category::People}, Emoji{ - std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FE"), + std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FE"), std::u16string_view(u"kiss_woman_woman_medium_light_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-light skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FC\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FF"), std::u16string_view(u"kiss_woman_woman_medium_light_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-light skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FB"), std::u16string_view(u"kiss_woman_woman_medium_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FC"), std::u16string_view(u"kiss_woman_woman_medium_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FD"), std::u16string_view(u"kiss_woman_woman_medium_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FE"), std::u16string_view(u"kiss_woman_woman_medium_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FD\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FF"), std::u16string_view(u"kiss_woman_woman_medium_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FB"), std::u16string_view(u"kiss_woman_woman_medium_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-dark skin tone, light skin tone"), emoji::Emoji::Category::People}, Emoji{ - std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FC"), + std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FC"), std::u16string_view(u"kiss_woman_woman_medium_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FD"), std::u16string_view(u"kiss_woman_woman_medium_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FE"), std::u16string_view(u"kiss_woman_woman_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FE\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FF"), std::u16string_view(u"kiss_woman_woman_medium_dark_skin_tone_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, medium-dark skin tone, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FB"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FB"), std::u16string_view(u"kiss_woman_woman_dark_skin_tone_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, dark skin tone, light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FC"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FC"), std::u16string_view(u"kiss_woman_woman_dark_skin_tone_medium_light_skin_tone"), std::u16string_view(u"kiss: woman, woman, dark skin tone, medium-light skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FD"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FD"), std::u16string_view(u"kiss_woman_woman_dark_skin_tone_medium_skin_tone"), std::u16string_view(u"kiss: woman, woman, dark skin tone, medium skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FE"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FE"), std::u16string_view(u"kiss_woman_woman_dark_skin_tone_medium_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, dark skin tone, medium-dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view( - u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B" - u"\U0000200D\U0001F469\U0001F3FF"), + Emoji{std::u16string_view(u"\U0001F469\U0001F3FF\U0000200D\U00002764\U0000FE0F\U0000200D" + u"\U0001F48B\U0000200D\U0001F469\U0001F3FF"), std::u16string_view(u"kiss_woman_woman_dark_skin_tone"), std::u16string_view(u"kiss: woman, woman, dark skin tone"), emoji::Emoji::Category::People}, @@ -9675,10 +10105,6 @@ constexpr std::u16string_view(u"couple_with_heart_woman_woman_dark_skin_tone"), std::u16string_view(u"couple with heart: woman, woman, dark skin tone"), emoji::Emoji::Category::People}, - Emoji{std::u16string_view(u"\U0001F46A"), - std::u16string_view(u"family"), - std::u16string_view(u"family"), - emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F468\U0000200D\U0001F469\U0000200D\U0001F466"), std::u16string_view(u"family_man_woman_boy"), std::u16string_view(u"family: man, woman, boy"), @@ -9804,6 +10230,27 @@ constexpr std::u16string_view(u"people_hugging"), std::u16string_view(u"people hugging"), emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F46A"), + std::u16string_view(u"family"), + std::u16string_view(u"family"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9D1\U0000200D\U0001F9D2"), + std::u16string_view(u"family_adult_adult_child"), + std::u16string_view(u"family: adult, adult, child"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view( + u"\U0001F9D1\U0000200D\U0001F9D1\U0000200D\U0001F9D2\U0000200D\U0001F9D2"), + std::u16string_view(u"family_adult_adult_child_child"), + std::u16string_view(u"family: adult, adult, child, child"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9D2"), + std::u16string_view(u"family_adult_child"), + std::u16string_view(u"family: adult, child"), + emoji::Emoji::Category::People}, + Emoji{std::u16string_view(u"\U0001F9D1\U0000200D\U0001F9D2\U0000200D\U0001F9D2"), + std::u16string_view(u"family_adult_child_child"), + std::u16string_view(u"family: adult, child, child"), + emoji::Emoji::Category::People}, Emoji{std::u16string_view(u"\U0001F463"), std::u16string_view(u"footprints"), std::u16string_view(u"footprints"), @@ -10157,6 +10604,10 @@ constexpr std::u16string_view(u"goose"), std::u16string_view(u"goose"), emoji::Emoji::Category::Nature}, + Emoji{std::u16string_view(u"\U0001F426\U0000200D\U0001F525"), + std::u16string_view(u"phoenix"), + std::u16string_view(u"phoenix"), + emoji::Emoji::Category::Nature}, Emoji{std::u16string_view(u"\U0001F438"), std::u16string_view(u"frog"), std::u16string_view(u"frog"), @@ -10438,6 +10889,10 @@ constexpr std::u16string_view(u"lemon"), std::u16string_view(u"lemon"), emoji::Emoji::Category::Food}, + Emoji{std::u16string_view(u"\U0001F34B\U0000200D\U0001F7E9"), + std::u16string_view(u"lime"), + std::u16string_view(u"lime"), + emoji::Emoji::Category::Food}, Emoji{std::u16string_view(u"\U0001F34C"), std::u16string_view(u"banana"), std::u16string_view(u"banana"), @@ -10562,6 +11017,10 @@ constexpr std::u16string_view(u"pea_pod"), std::u16string_view(u"pea pod"), emoji::Emoji::Category::Food}, + Emoji{std::u16string_view(u"\U0001F344\U0000200D\U0001F7EB"), + std::u16string_view(u"brown_mushroom"), + std::u16string_view(u"brown mushroom"), + emoji::Emoji::Category::Food}, Emoji{std::u16string_view(u"\U0001F35E"), std::u16string_view(u"bread"), std::u16string_view(u"bread"), @@ -12997,6 +13456,10 @@ constexpr std::u16string_view(u"link"), std::u16string_view(u"link"), emoji::Emoji::Category::Objects}, + Emoji{std::u16string_view(u"\U000026D3\U0000FE0F\U0000200D\U0001F4A5"), + std::u16string_view(u"broken_chain"), + std::u16string_view(u"broken chain"), + emoji::Emoji::Category::Objects}, Emoji{std::u16string_view(u"\U000026D3\U0000FE0F"), std::u16string_view(u"chains"), std::u16string_view(u"chains"), @@ -15164,8 +15627,8 @@ constexpr std::u16string_view(u"flag: Tonga"), emoji::Emoji::Category::Flags}, Emoji{std::u16string_view(u"\U0001F1F9\U0001F1F7"), - std::u16string_view(u"turkey_flag"), - std::u16string_view(u"flag: Turkey"), + std::u16string_view(u"turkiye_flag"), + std::u16string_view(u"flag: Tรผrkiye"), emoji::Emoji::Category::Flags}, Emoji{std::u16string_view(u"\U0001F1F9\U0001F1F9"), std::u16string_view(u"trinidad_and_tobago_flag"), @@ -15287,5 +15750,3 @@ constexpr std::u16string_view(u"flag: Wales"), emoji::Emoji::Category::Flags}, }; - -#include "moc_Provider.cpp" diff --git a/src/emoji/Provider.h b/src/emoji/Provider.h index d0441ad3..3cb89821 100644 --- a/src/emoji/Provider.h +++ b/src/emoji/Provider.h @@ -2,95 +2,17 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -#pragma once +// DO NOT EDIT Provider.h DIRECTLY! EDIT IT IN scripts/emoji_codegen.py AND RUN scripts/codegen.sh! -#include +#pragma once +#include "Emoji.h" #include namespace emoji { -Q_NAMESPACE - -struct Emoji -{ - Q_GADGET -public: - enum class Category - { - People, - Nature, - Food, - Activity, - Travel, - Objects, - Symbols, - Flags, - Search - }; - Q_ENUM(Category) - - Q_PROPERTY(QString unicode READ unicode CONSTANT) - Q_PROPERTY(QString shortName READ shortName CONSTANT) - Q_PROPERTY(QString unicodeName READ unicodeName CONSTANT) - Q_PROPERTY(emoji::Emoji::Category category MEMBER category) - -public: - constexpr Emoji(std::u16string_view unicode, - std::u16string_view shortName, - std::u16string_view unicodeName, - Category cat) - : unicode_(unicode) - , shortName_(shortName) - , unicodeName_(unicodeName) - , category(cat) - { - } - - constexpr Emoji() - : unicode_(u"", 0) - , shortName_(u"", 0) - , unicodeName_(u"", 0) - , category(Category::Search) - { - } - - constexpr Emoji(const Emoji &) = default; - constexpr Emoji(Emoji &&) = default; - - constexpr Emoji &operator=(const Emoji &) = default; - constexpr Emoji &operator=(Emoji &&) = default; - - QString unicode() const - { - return QString::fromRawData(reinterpret_cast(unicode_.data()), - unicode_.size()); - } - QString shortName() const - { - return QString::fromRawData(reinterpret_cast(shortName_.data()), - shortName_.size()); - } - QString unicodeName() const - { - return QString::fromRawData(reinterpret_cast(unicodeName_.data()), - unicodeName_.size()); - } - -private: - std::u16string_view unicode_; - std::u16string_view shortName_; - std::u16string_view unicodeName_; - -public: - Category category; -}; - class Provider { public: // all emoji for QML purposes - static const std::array emoji; + static const std::array emoji; }; - -QString -categoryToName(emoji::Emoji::Category cat); } // namespace emoji