diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2023-02-23 00:50:45 +0100 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2023-02-23 00:50:45 +0100 |
commit | d27e42dec6b6255246bd488e12ea2662018f12ab (patch) | |
tree | 71eefa8a5fef32671331d4b295e2c350808fab6a | |
parent | 17ad97c5179fb9a1c62e20412bbbc11a75e56951 (diff) |
Hotfix redundant null terminator inserted by emoji completerv0.11.3v0.11.2-next
-rw-r--r-- | CHANGELOG.md | 6 | ||||
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | appveyor.yml | 10 | ||||
-rw-r--r-- | resources/nheko.appdata.xml.in | 1 | ||||
-rwxr-xr-x | scripts/emoji_codegen.py | 6 | ||||
-rw-r--r-- | src/emoji/Provider.cpp | 23299 | ||||
-rw-r--r-- | src/emoji/Provider.h | 6 |
7 files changed, 11817 insertions, 11513 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b8495524..aa0ed778 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [0.11.3] -- 2023-02-23 + +### Bugfix + +- Fix redundant null byte inserted with the emoji completer + ## [0.11.2] -- 2023-02-20 ### Highlights diff --git a/CMakeLists.txt b/CMakeLists.txt index 0835120f..9a4cd046 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ include(GNUInstallDirs) set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "11") -set(CPACK_PACKAGE_VERSION_PATCH "2") +set(CPACK_PACKAGE_VERSION_PATCH "3") set(PROJECT_VERSION_MAJOR ${CPACK_PACKAGE_VERSION_MAJOR}) set(PROJECT_VERSION_MINOR ${CPACK_PACKAGE_VERSION_MINOR}) set(PROJECT_VERSION_PATCH ${CPACK_PACKAGE_VERSION_PATCH}) diff --git a/appveyor.yml b/appveyor.yml index ad849ca1..e3921f45 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,6 @@ --- -version: 0.11.2-{build} +version: 0.11.3-{build} configuration: Release image: Visual Studio 2022 @@ -29,8 +29,8 @@ build_script: # VERSION format: branch-master/branch-1.2 # INSTVERSION format: x.y.z # WINVERSION format: 9999.0.0.123/1.2.0.234 - - if "%APPVEYOR_REPO_TAG%"=="false" set INSTVERSION=0.11.2 - - if "%APPVEYOR_REPO_TAG%"=="false" set VERSION=0.11.2 + - if "%APPVEYOR_REPO_TAG%"=="false" set INSTVERSION=0.11.3 + - if "%APPVEYOR_REPO_TAG%"=="false" set VERSION=0.11.3 - if "%APPVEYOR_REPO_TAG%"=="false" if "%APPVEYOR_REPO_BRANCH%"=="master" set INSTVERSION=9999.0 - if "%APPVEYOR_REPO_TAG%"=="false" set WINVERSION=%INSTVERSION%.0.%APPVEYOR_BUILD_NUMBER% # VERSION format: v1.2.3/v1.3.4 @@ -93,8 +93,8 @@ after_build: - copy %BUILD%\deploy\installer\gui\package.xml installer\packages\io.github.nhekoreborn.nheko\meta - copy %BUILD%\deploy\installer\gui\installscript.qs installer\packages\io.github.nhekoreborn.nheko\meta # Amend version and date - - sed -i "s/__VERSION__/0.11.2/" installer\config\config.xml - - sed -i "s/__VERSION__/0.11.2/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml + - sed -i "s/__VERSION__/0.11.3/" installer\config\config.xml + - sed -i "s/__VERSION__/0.11.3/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml - sed -i "s/__DATE__/%DATE%/" installer\packages\io.github.nhekoreborn.nheko\meta\package.xml # Copy nheko data - xcopy NhekoData\*.* installer\packages\io.github.nhekoreborn.nheko\data\*.* /s /e /c /y diff --git a/resources/nheko.appdata.xml.in b/resources/nheko.appdata.xml.in index 5e5d8a14..07c93302 100644 --- a/resources/nheko.appdata.xml.in +++ b/resources/nheko.appdata.xml.in @@ -61,6 +61,7 @@ <url type="homepage">https://github.com/Nheko-Reborn/nheko</url> <update_contact>https://github.com/Nheko-Reborn</update_contact> <releases> + <release date="2023-02-23" version="0.11.3"/> <release date="2023-02-20" version="0.11.2"/> <release date="2023-01-15" version="0.11.1"/> <release date="2023-01-12" version="0.11.0"/> diff --git a/scripts/emoji_codegen.py b/scripts/emoji_codegen.py index 2de09fdb..53c3d2e8 100755 --- a/scripts/emoji_codegen.py +++ b/scripts/emoji_codegen.py @@ -19,7 +19,7 @@ constexpr const std::array<Emoji, {{ entrycount }} > emoji::Provider::emoji = { {%- for c in kwargs.items() %} // {{ c[0].capitalize() }} {%- for e in c[1] %} - Emoji{null_literal(u"{{ e.code }}"), null_literal(u"{{ e.shortname }}"), null_literal(u"{{ e.unicodename }}"), emoji::Emoji::Category::{{ c[0].capitalize() }}}, + Emoji{std::u16string_view(u"{{ e.code }}"), std::u16string_view(u"{{ e.shortname }}"), std::u16string_view(u"{{ e.unicodename }}"), emoji::Emoji::Category::{{ c[0].capitalize() }}}, {%- endfor %} {%- endfor %} }; @@ -55,9 +55,9 @@ if __name__ == '__main__': 'Flags': flags, 'Component': symbols } - shortcodeDict = {} + shortcodeDict = {} # for my sanity - this strips newlines - for line in open(shortcodefilename, 'r', encoding="utf8"): + for line in open(shortcodefilename, 'r', encoding="utf8"): longname, shortname = line.strip().split(':') shortcodeDict[longname] = shortname current_category = '' diff --git a/src/emoji/Provider.cpp b/src/emoji/Provider.cpp index aaf4529b..5dcb4c83 100644 --- a/src/emoji/Provider.cpp +++ b/src/emoji/Provider.cpp @@ -8,14 +8,6 @@ using namespace emoji; -// a null terminated string_view -template<size_t N> -static consteval std::u16string_view -null_literal(const char16_t (&lit)[N]) -{ - return std::u16string_view(lit, N); -} - // GCC10 seems to remove the array otherwise, but later versions don't #if (defined(__GNUC__) && !defined(__clang__)) && __GNUC__ < 11 constinit const @@ -25,14970 +17,15275 @@ constexpr std::array<Emoji, 3681> emoji::Provider::emoji = { // People - Emoji{null_literal(u"\U0001F600"), - null_literal(u"grinning"), - null_literal(u"grinning face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F603"), - null_literal(u"grinning_face_with_big_eyes"), - null_literal(u"grinning face with big eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F604"), - null_literal(u"smile"), - null_literal(u"grinning face with smiling eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F601"), - null_literal(u"beaming_face_with_smiling_eyes"), - null_literal(u"beaming face with smiling eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F606"), - null_literal(u"grinning_squinting"), - null_literal(u"grinning squinting face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F605"), - null_literal(u"sweat_smile"), - null_literal(u"grinning face with sweat"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F923"), - null_literal(u"rofl"), - null_literal(u"rolling on the floor laughing"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F602"), - null_literal(u"face_with_tears_of_joy"), - null_literal(u"face with tears of joy"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F642"), - null_literal(u"slightly_smiling"), - null_literal(u"slightly smiling face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F643"), - null_literal(u"upside_down"), - null_literal(u"upside-down face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE0"), - null_literal(u"melting"), - null_literal(u"melting face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F609"), - null_literal(u"winking"), - null_literal(u"winking face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F60A"), - null_literal(u"smiling_face_with_smiling_eyes"), - null_literal(u"smiling face with smiling eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F607"), - null_literal(u"innocent"), - null_literal(u"smiling face with halo"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F970"), - null_literal(u"smiling_face_with_hearts"), - null_literal(u"smiling face with hearts"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F60D"), - null_literal(u"heart_eyes"), - null_literal(u"smiling face with heart-eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F929"), - null_literal(u"star_struck"), - null_literal(u"star-struck"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F618"), - null_literal(u"face_blowing_a_kiss"), - null_literal(u"face blowing a kiss"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F617"), - null_literal(u"kissing"), - null_literal(u"kissing face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0000263A\U0000FE0F"), - null_literal(u"smiling"), - null_literal(u"smiling face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F61A"), - null_literal(u"kissing_face_with_closed_eyes"), - null_literal(u"kissing face with closed eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F619"), - null_literal(u"kissing_face_with_smiling_eyes"), - null_literal(u"kissing face with smiling eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F972"), - null_literal(u"smiling_face_with_tear"), - null_literal(u"smiling face with tear"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F60B"), - null_literal(u"yum"), - null_literal(u"face savoring food"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F61B"), - null_literal(u"face_with_tongue"), - null_literal(u"face with tongue"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F61C"), - null_literal(u"winking_face_with_tongue"), - null_literal(u"winking face with tongue"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F92A"), - null_literal(u"zany"), - null_literal(u"zany face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F61D"), - null_literal(u"squinting_face_with_tongue"), - null_literal(u"squinting face with tongue"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F911"), - null_literal(u"money_mouth"), - null_literal(u"money-mouth face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F917"), - null_literal(u"hugging_face"), - null_literal(u"smiling face with open hands"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F92D"), - null_literal(u"face_with_hand_over_mouth"), - null_literal(u"face with hand over mouth"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE2"), - null_literal(u"face_with_open_eyes_and_hand_over_mouth"), - null_literal(u"face with open eyes and hand over mouth"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE3"), - null_literal(u"face_with_peeking_eye"), - null_literal(u"face with peeking eye"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F92B"), - null_literal(u"shushing"), - null_literal(u"shushing face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F914"), - null_literal(u"thinking"), - null_literal(u"thinking face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE1"), - null_literal(u"saluting"), - null_literal(u"saluting face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F910"), - null_literal(u"zipper_mouth"), - null_literal(u"zipper-mouth face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F928"), - null_literal(u"face_with_raised_eyebrow"), - null_literal(u"face with raised eyebrow"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F610"), - null_literal(u"neutral"), - null_literal(u"neutral face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F611"), - null_literal(u"expressionless"), - null_literal(u"expressionless face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F636"), - null_literal(u"face_without_mouth"), - null_literal(u"face without mouth"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE5"), - null_literal(u"dotted_line"), - null_literal(u"dotted line face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F636\U0000200D\U0001F32B\U0000FE0F"), - null_literal(u"face_in_clouds"), - null_literal(u"face in clouds"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F60F"), - null_literal(u"smirking"), - null_literal(u"smirking face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F612"), - null_literal(u"unamused"), - null_literal(u"unamused face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F644"), - null_literal(u"face_with_rolling_eyes"), - null_literal(u"face with rolling eyes"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62C"), - null_literal(u"grimacing"), - null_literal(u"grimacing face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62E\U0000200D\U0001F4A8"), - null_literal(u"face_exhaling"), - null_literal(u"face exhaling"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F925"), - null_literal(u"lying"), - null_literal(u"lying face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE8"), - null_literal(u"shaking"), - null_literal(u"shaking face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F60C"), - null_literal(u"relieved"), - null_literal(u"relieved face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F614"), - null_literal(u"pensive"), - null_literal(u"pensive face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62A"), - null_literal(u"sleepy"), - null_literal(u"sleepy face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F924"), - null_literal(u"drooling"), - null_literal(u"drooling face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F634"), - null_literal(u"sleeping"), - null_literal(u"sleeping face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F637"), - null_literal(u"face_with_medical_mask"), - null_literal(u"face with medical mask"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F912"), - null_literal(u"face_with_thermometer"), - null_literal(u"face with thermometer"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F915"), - null_literal(u"face_with_head_bandage"), - null_literal(u"face with head-bandage"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F922"), - null_literal(u"nauseated"), - null_literal(u"nauseated face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F92E"), - null_literal(u"face_vomiting"), - null_literal(u"face vomiting"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F927"), - null_literal(u"cry_smile"), - null_literal(u"sneezing face"), - emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F975"), - null_literal(u"hot"), - null_literal(u"hot face"), + Emoji{std::u16string_view(u"\U0001F600"), + std::u16string_view(u"grinning"), + std::u16string_view(u"grinning face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F976"), - null_literal(u"cold"), - null_literal(u"cold face"), + Emoji{std::u16string_view(u"\U0001F603"), + std::u16string_view(u"grinning_face_with_big_eyes"), + std::u16string_view(u"grinning face with big eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F974"), - null_literal(u"woozy"), - null_literal(u"woozy face"), + Emoji{std::u16string_view(u"\U0001F604"), + std::u16string_view(u"smile"), + std::u16string_view(u"grinning face with smiling eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F635"), - null_literal(u"face_with_crossed_out_eyes"), - null_literal(u"face with crossed-out eyes"), + Emoji{std::u16string_view(u"\U0001F601"), + std::u16string_view(u"beaming_face_with_smiling_eyes"), + std::u16string_view(u"beaming face with smiling eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F635\U0000200D\U0001F4AB"), - null_literal(u"face_with_spiral_eyes"), - null_literal(u"face with spiral eyes"), + Emoji{std::u16string_view(u"\U0001F606"), + std::u16string_view(u"grinning_squinting"), + std::u16string_view(u"grinning squinting face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F92F"), - null_literal(u"exploding_head"), - null_literal(u"exploding head"), + Emoji{std::u16string_view(u"\U0001F605"), + std::u16string_view(u"sweat_smile"), + std::u16string_view(u"grinning face with sweat"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F920"), - null_literal(u"cowboy_hat"), - null_literal(u"cowboy hat face"), + Emoji{std::u16string_view(u"\U0001F923"), + std::u16string_view(u"rofl"), + std::u16string_view(u"rolling on the floor laughing"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F973"), - null_literal(u"partying"), - null_literal(u"partying face"), + Emoji{std::u16string_view(u"\U0001F602"), + std::u16string_view(u"face_with_tears_of_joy"), + std::u16string_view(u"face with tears of joy"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F978"), - null_literal(u"disguised"), - null_literal(u"disguised face"), + Emoji{std::u16string_view(u"\U0001F642"), + std::u16string_view(u"slightly_smiling"), + std::u16string_view(u"slightly smiling face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F60E"), - null_literal(u"smiling_face_with_sunglasses"), - null_literal(u"smiling face with sunglasses"), + Emoji{std::u16string_view(u"\U0001F643"), + std::u16string_view(u"upside_down"), + std::u16string_view(u"upside-down face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F913"), - null_literal(u"nerd"), - null_literal(u"nerd face"), + Emoji{std::u16string_view(u"\U0001FAE0"), + std::u16string_view(u"melting"), + std::u16string_view(u"melting face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F9D0"), - null_literal(u"face_with_monocle"), - null_literal(u"face with monocle"), + Emoji{std::u16string_view(u"\U0001F609"), + std::u16string_view(u"winking"), + std::u16string_view(u"winking face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F615"), - null_literal(u"confused"), - null_literal(u"confused face"), + Emoji{std::u16string_view(u"\U0001F60A"), + std::u16string_view(u"smiling_face_with_smiling_eyes"), + std::u16string_view(u"smiling face with smiling eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001FAE4"), - null_literal(u"face_with_diagonal_mouth"), - null_literal(u"face with diagonal mouth"), + Emoji{std::u16string_view(u"\U0001F607"), + std::u16string_view(u"innocent"), + std::u16string_view(u"smiling face with halo"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F61F"), - null_literal(u"worried"), - null_literal(u"worried face"), + Emoji{std::u16string_view(u"\U0001F970"), + std::u16string_view(u"smiling_face_with_hearts"), + std::u16string_view(u"smiling face with hearts"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F641"), - null_literal(u"slightly_frowning"), - null_literal(u"slightly frowning face"), + Emoji{std::u16string_view(u"\U0001F60D"), + std::u16string_view(u"heart_eyes"), + std::u16string_view(u"smiling face with heart-eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U00002639\U0000FE0F"), - null_literal(u"frowning"), - null_literal(u"frowning face"), + Emoji{std::u16string_view(u"\U0001F929"), + std::u16string_view(u"star_struck"), + std::u16string_view(u"star-struck"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62E"), - null_literal(u"face_with_open_mouth"), - null_literal(u"face with open mouth"), + Emoji{std::u16string_view(u"\U0001F618"), + std::u16string_view(u"face_blowing_a_kiss"), + std::u16string_view(u"face blowing a kiss"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62F"), - null_literal(u"hushed"), - null_literal(u"hushed face"), + Emoji{std::u16string_view(u"\U0001F617"), + std::u16string_view(u"kissing"), + std::u16string_view(u"kissing face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F632"), - null_literal(u"astonished"), - null_literal(u"astonished face"), + Emoji{std::u16string_view(u"\U0000263A\U0000FE0F"), + std::u16string_view(u"smiling"), + std::u16string_view(u"smiling face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F633"), - null_literal(u"flushed"), - null_literal(u"flushed face"), + Emoji{std::u16string_view(u"\U0001F61A"), + std::u16string_view(u"kissing_face_with_closed_eyes"), + std::u16string_view(u"kissing face with closed eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F97A"), - null_literal(u"pleading"), - null_literal(u"pleading face"), + Emoji{std::u16string_view(u"\U0001F619"), + std::u16string_view(u"kissing_face_with_smiling_eyes"), + std::u16string_view(u"kissing face with smiling eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F979"), - null_literal(u"face_holding_back_tears"), - null_literal(u"face holding back tears"), + Emoji{std::u16string_view(u"\U0001F972"), + std::u16string_view(u"smiling_face_with_tear"), + std::u16string_view(u"smiling face with tear"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F626"), - null_literal(u"frowning_face_with_open_mouth"), - null_literal(u"frowning face with open mouth"), + Emoji{std::u16string_view(u"\U0001F60B"), + std::u16string_view(u"yum"), + std::u16string_view(u"face savoring food"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F627"), - null_literal(u"anguished"), - null_literal(u"anguished face"), + Emoji{std::u16string_view(u"\U0001F61B"), + std::u16string_view(u"face_with_tongue"), + std::u16string_view(u"face with tongue"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F628"), - null_literal(u"fearful"), - null_literal(u"fearful face"), + Emoji{std::u16string_view(u"\U0001F61C"), + std::u16string_view(u"winking_face_with_tongue"), + std::u16string_view(u"winking face with tongue"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F630"), - null_literal(u"anxious_face_with_sweat"), - null_literal(u"anxious face with sweat"), + Emoji{std::u16string_view(u"\U0001F92A"), + std::u16string_view(u"zany"), + std::u16string_view(u"zany face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F625"), - null_literal(u"sad_but_relieved"), - null_literal(u"sad but relieved face"), + Emoji{std::u16string_view(u"\U0001F61D"), + std::u16string_view(u"squinting_face_with_tongue"), + std::u16string_view(u"squinting face with tongue"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F622"), - null_literal(u"crying"), - null_literal(u"crying face"), + Emoji{std::u16string_view(u"\U0001F911"), + std::u16string_view(u"money_mouth"), + std::u16string_view(u"money-mouth face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62D"), - null_literal(u"sob"), - null_literal(u"loudly crying face"), + Emoji{std::u16string_view(u"\U0001F917"), + std::u16string_view(u"hugging_face"), + std::u16string_view(u"smiling face with open hands"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F631"), - null_literal(u"scream"), - null_literal(u"face screaming in fear"), + Emoji{std::u16string_view(u"\U0001F92D"), + std::u16string_view(u"face_with_hand_over_mouth"), + std::u16string_view(u"face with hand over mouth"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F616"), - null_literal(u"confounded"), - null_literal(u"confounded face"), + Emoji{std::u16string_view(u"\U0001FAE2"), + std::u16string_view(u"face_with_open_eyes_and_hand_over_mouth"), + std::u16string_view(u"face with open eyes and hand over mouth"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F623"), - null_literal(u"persevering"), - null_literal(u"persevering face"), + Emoji{std::u16string_view(u"\U0001FAE3"), + std::u16string_view(u"face_with_peeking_eye"), + std::u16string_view(u"face with peeking eye"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F61E"), - null_literal(u"disappointed"), - null_literal(u"disappointed face"), + Emoji{std::u16string_view(u"\U0001F92B"), + std::u16string_view(u"shushing"), + std::u16string_view(u"shushing face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F613"), - null_literal(u"sweat"), - null_literal(u"downcast face with sweat"), + Emoji{std::u16string_view(u"\U0001F914"), + std::u16string_view(u"thinking"), + std::u16string_view(u"thinking face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F629"), - null_literal(u"weary"), - null_literal(u"weary face"), + Emoji{std::u16string_view(u"\U0001FAE1"), + std::u16string_view(u"saluting"), + std::u16string_view(u"saluting face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F62B"), - null_literal(u"tired"), - null_literal(u"tired face"), + Emoji{std::u16string_view(u"\U0001F910"), + std::u16string_view(u"zipper_mouth"), + std::u16string_view(u"zipper-mouth face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F971"), - null_literal(u"yawning"), - null_literal(u"yawning face"), + Emoji{std::u16string_view(u"\U0001F928"), + std::u16string_view(u"face_with_raised_eyebrow"), + std::u16string_view(u"face with raised eyebrow"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F624"), - null_literal(u"triumph"), - null_literal(u"face with steam from nose"), + Emoji{std::u16string_view(u"\U0001F610"), + std::u16string_view(u"neutral"), + std::u16string_view(u"neutral face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F621"), - null_literal(u"enraged"), - null_literal(u"enraged face"), + Emoji{std::u16string_view(u"\U0001F611"), + std::u16string_view(u"expressionless"), + std::u16string_view(u"expressionless face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F620"), - null_literal(u"angry"), - null_literal(u"angry face"), + Emoji{std::u16string_view(u"\U0001F636"), + std::u16string_view(u"face_without_mouth"), + std::u16string_view(u"face without mouth"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F92C"), - null_literal(u"face_with_symbols_on_mouth"), - null_literal(u"face with symbols on mouth"), + Emoji{std::u16string_view(u"\U0001FAE5"), + std::u16string_view(u"dotted_line"), + std::u16string_view(u"dotted line face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F608"), - null_literal(u"smiling_imp"), - null_literal(u"smiling face with horns"), + Emoji{std::u16string_view(u"\U0001F636\U0000200D\U0001F32B\U0000FE0F"), + std::u16string_view(u"face_in_clouds"), + std::u16string_view(u"face in clouds"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F47F"), - null_literal(u"imp"), - null_literal(u"angry face with horns"), + Emoji{std::u16string_view(u"\U0001F60F"), + std::u16string_view(u"smirking"), + std::u16string_view(u"smirking face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F480"), - null_literal(u"skull"), - null_literal(u"skull"), + Emoji{std::u16string_view(u"\U0001F612"), + std::u16string_view(u"unamused"), + std::u16string_view(u"unamused face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U00002620\U0000FE0F"), - null_literal(u"skull_and_crossbones"), - null_literal(u"skull and crossbones"), + Emoji{std::u16string_view(u"\U0001F644"), + std::u16string_view(u"face_with_rolling_eyes"), + std::u16string_view(u"face with rolling eyes"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F4A9"), - null_literal(u"pile_of_poo"), - null_literal(u"pile of poo"), + Emoji{std::u16string_view(u"\U0001F62C"), + std::u16string_view(u"grimacing"), + std::u16string_view(u"grimacing face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F921"), - null_literal(u"clown"), - null_literal(u"clown face"), + Emoji{std::u16string_view(u"\U0001F62E\U0000200D\U0001F4A8"), + std::u16string_view(u"face_exhaling"), + std::u16string_view(u"face exhaling"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F479"), - null_literal(u"ogre"), - null_literal(u"ogre"), + Emoji{std::u16string_view(u"\U0001F925"), + std::u16string_view(u"lying"), + std::u16string_view(u"lying face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F47A"), - null_literal(u"goblin"), - null_literal(u"goblin"), + Emoji{std::u16string_view(u"\U0001FAE8"), + std::u16string_view(u"shaking"), + std::u16string_view(u"shaking face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F47B"), - null_literal(u"ghost"), - null_literal(u"ghost"), + Emoji{std::u16string_view(u"\U0001F60C"), + std::u16string_view(u"relieved"), + std::u16string_view(u"relieved face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F47D"), - null_literal(u"alien"), - null_literal(u"alien"), + Emoji{std::u16string_view(u"\U0001F614"), + std::u16string_view(u"pensive"), + std::u16string_view(u"pensive face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F47E"), - null_literal(u"alien_monster"), - null_literal(u"alien monster"), + Emoji{std::u16string_view(u"\U0001F62A"), + std::u16string_view(u"sleepy"), + std::u16string_view(u"sleepy face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F916"), - null_literal(u"robot"), - null_literal(u"robot"), + Emoji{std::u16string_view(u"\U0001F924"), + std::u16string_view(u"drooling"), + std::u16string_view(u"drooling face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F63A"), - null_literal(u"smiley_cat"), - null_literal(u"grinning cat"), + Emoji{std::u16string_view(u"\U0001F634"), + std::u16string_view(u"sleeping"), + std::u16string_view(u"sleeping face"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F638"), - null_literal(u"smile_cat"), - null_literal(u"grinning cat with smiling eyes"), + Emoji{std::u16string_view(u"\U0001F637"), + std::u16string_view(u"face_with_medical_mask"), + std::u16string_view(u"face with medical mask"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F639"), - null_literal(u"joy_cat"), - null_literal(u"cat with tears of joy"), + Emoji{std::u16string_view(u"\U0001F912"), + std::u16string_view(u"face_with_thermometer"), + std::u16string_view(u"face with thermometer"), emoji::Emoji::Category::People}, - Emoji{null_literal(u"\U0001F63B"), - null_literal(u"heart_eyes_cat"),< |