From 526c1cdcc495398b028e4b7c920f0df5d1c142d5 Mon Sep 17 00:00:00 2001 From: Joseph Donofry Date: Sat, 25 Sep 2021 02:19:44 -0400 Subject: [PATCH] Add Unicode 14.0 emoji --- resources/emoji-test.txt | 156 ++++++++++++--- scripts/emoji_codegen.py | 2 +- src/emoji/Provider.cpp | 396 ++++++++++++++++++++++++++++++++++----- 3 files changed, 484 insertions(+), 70 deletions(-) diff --git a/resources/emoji-test.txt b/resources/emoji-test.txt index d3c6d12b..dd549336 100644 --- a/resources/emoji-test.txt +++ b/resources/emoji-test.txt @@ -1,11 +1,11 @@ # emoji-test.txt -# Date: 2020-09-12, 22:19:50 GMT -# © 2020 Unicode®, Inc. +# Date: 2021-08-26, 17:22:23 GMT +# © 2021 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 http://www.unicode.org/terms_of_use.html # # Emoji Keyboard/Display Test Data for UTS #51 -# Version: 13.1 +# Version: 14.0 # # For documentation and usage, see http://www.unicode.org/reports/tr51 # @@ -43,6 +43,7 @@ 1F602 ; fully-qualified # 😂 E0.6 face with tears of joy 1F642 ; fully-qualified # 🙂 E1.0 slightly smiling face 1F643 ; fully-qualified # 🙃 E1.0 upside-down face +1FAE0 ; fully-qualified # 🫠 E14.0 melting face 1F609 ; fully-qualified # 😉 E0.6 winking face 1F60A ; fully-qualified # 😊 E0.6 smiling face with smiling eyes 1F607 ; fully-qualified # 😇 E1.0 smiling face with halo @@ -68,10 +69,13 @@ 1F911 ; fully-qualified # 🤑 E1.0 money-mouth face # subgroup: face-hand -1F917 ; fully-qualified # 🤗 E1.0 hugging face +1F917 ; fully-qualified # 🤗 E1.0 smiling face with open hands 1F92D ; fully-qualified # 🤭 E5.0 face with hand over mouth +1FAE2 ; fully-qualified # 🫢 E14.0 face with open eyes and hand over mouth +1FAE3 ; fully-qualified # 🫣 E14.0 face with peeking eye 1F92B ; fully-qualified # 🤫 E5.0 shushing face 1F914 ; fully-qualified # 🤔 E1.0 thinking face +1FAE1 ; fully-qualified # 🫡 E14.0 saluting face # subgroup: face-neutral-skeptical 1F910 ; fully-qualified # 🤐 E1.0 zipper-mouth face @@ -79,6 +83,7 @@ 1F610 ; fully-qualified # 😐 E0.7 neutral face 1F611 ; fully-qualified # 😑 E1.0 expressionless face 1F636 ; fully-qualified # 😶 E1.0 face without mouth +1FAE5 ; fully-qualified # 🫥 E14.0 dotted line face 1F636 200D 1F32B FE0F ; fully-qualified # 😶‍🌫️ E13.1 face in clouds 1F636 200D 1F32B ; minimally-qualified # 😶‍🌫 E13.1 face in clouds 1F60F ; fully-qualified # 😏 E0.6 smirking face @@ -105,7 +110,7 @@ 1F975 ; fully-qualified # 🥵 E11.0 hot face 1F976 ; fully-qualified # 🥶 E11.0 cold face 1F974 ; fully-qualified # 🥴 E11.0 woozy face -1F635 ; fully-qualified # 😵 E0.6 knocked-out face +1F635 ; fully-qualified # 😵 E0.6 face with crossed-out eyes 1F635 200D 1F4AB ; fully-qualified # 😵‍💫 E13.1 face with spiral eyes 1F92F ; fully-qualified # 🤯 E5.0 exploding head @@ -121,6 +126,7 @@ # subgroup: face-concerned 1F615 ; fully-qualified # 😕 E1.0 confused face +1FAE4 ; fully-qualified # 🫤 E14.0 face with diagonal mouth 1F61F ; fully-qualified # 😟 E1.0 worried face 1F641 ; fully-qualified # 🙁 E1.0 slightly frowning face 2639 FE0F ; fully-qualified # ☹️ E0.7 frowning face @@ -130,6 +136,7 @@ 1F632 ; fully-qualified # 😲 E0.6 astonished face 1F633 ; fully-qualified # 😳 E0.6 flushed face 1F97A ; fully-qualified # 🥺 E11.0 pleading face +1F979 ; fully-qualified # 🥹 E14.0 face holding back tears 1F626 ; fully-qualified # 😦 E1.0 frowning face with open mouth 1F627 ; fully-qualified # 😧 E1.0 anguished face 1F628 ; fully-qualified # 😨 E0.6 fearful face @@ -232,8 +239,8 @@ 1F4AD ; fully-qualified # 💭 E1.0 thought balloon 1F4A4 ; fully-qualified # 💤 E0.6 zzz -# Smileys & Emotion subtotal: 170 -# Smileys & Emotion subtotal: 170 w/o modifiers +# Smileys & Emotion subtotal: 177 +# Smileys & Emotion subtotal: 177 w/o modifiers # group: People & Body @@ -269,6 +276,30 @@ 1F596 1F3FD ; fully-qualified # 🖖🏽 E1.0 vulcan salute: medium skin tone 1F596 1F3FE ; fully-qualified # 🖖🏾 E1.0 vulcan salute: medium-dark skin tone 1F596 1F3FF ; fully-qualified # 🖖🏿 E1.0 vulcan salute: dark skin tone +1FAF1 ; fully-qualified # 🫱 E14.0 rightwards hand +1FAF1 1F3FB ; fully-qualified # 🫱🏻 E14.0 rightwards hand: light skin tone +1FAF1 1F3FC ; fully-qualified # 🫱🏼 E14.0 rightwards hand: medium-light skin tone +1FAF1 1F3FD ; fully-qualified # 🫱🏽 E14.0 rightwards hand: medium skin tone +1FAF1 1F3FE ; fully-qualified # 🫱🏾 E14.0 rightwards hand: medium-dark skin tone +1FAF1 1F3FF ; fully-qualified # 🫱🏿 E14.0 rightwards hand: dark skin tone +1FAF2 ; fully-qualified # 🫲 E14.0 leftwards hand +1FAF2 1F3FB ; fully-qualified # 🫲🏻 E14.0 leftwards hand: light skin tone +1FAF2 1F3FC ; fully-qualified # 🫲🏼 E14.0 leftwards hand: medium-light skin tone +1FAF2 1F3FD ; fully-qualified # 🫲🏽 E14.0 leftwards hand: medium skin tone +1FAF2 1F3FE ; fully-qualified # 🫲🏾 E14.0 leftwards hand: medium-dark skin tone +1FAF2 1F3FF ; fully-qualified # 🫲🏿 E14.0 leftwards hand: dark skin tone +1FAF3 ; fully-qualified # 🫳 E14.0 palm down hand +1FAF3 1F3FB ; fully-qualified # 🫳🏻 E14.0 palm down hand: light skin tone +1FAF3 1F3FC ; fully-qualified # 🫳🏼 E14.0 palm down hand: medium-light skin tone +1FAF3 1F3FD ; fully-qualified # 🫳🏽 E14.0 palm down hand: medium skin tone +1FAF3 1F3FE ; fully-qualified # 🫳🏾 E14.0 palm down hand: medium-dark skin tone +1FAF3 1F3FF ; fully-qualified # 🫳🏿 E14.0 palm down hand: dark skin tone +1FAF4 ; fully-qualified # 🫴 E14.0 palm up hand +1FAF4 1F3FB ; fully-qualified # 🫴🏻 E14.0 palm up hand: light skin tone +1FAF4 1F3FC ; fully-qualified # 🫴🏼 E14.0 palm up hand: medium-light skin tone +1FAF4 1F3FD ; fully-qualified # 🫴🏽 E14.0 palm up hand: medium skin tone +1FAF4 1F3FE ; fully-qualified # 🫴🏾 E14.0 palm up hand: medium-dark skin tone +1FAF4 1F3FF ; fully-qualified # 🫴🏿 E14.0 palm up hand: dark skin tone # subgroup: hand-fingers-partial 1F44C ; fully-qualified # 👌 E0.6 OK hand @@ -302,6 +333,12 @@ 1F91E 1F3FD ; fully-qualified # 🤞🏽 E3.0 crossed fingers: medium skin tone 1F91E 1F3FE ; fully-qualified # 🤞🏾 E3.0 crossed fingers: medium-dark skin tone 1F91E 1F3FF ; fully-qualified # 🤞🏿 E3.0 crossed fingers: dark skin tone +1FAF0 ; fully-qualified # 🫰 E14.0 hand with index finger and thumb crossed +1FAF0 1F3FB ; fully-qualified # 🫰🏻 E14.0 hand with index finger and thumb crossed: light skin tone +1FAF0 1F3FC ; fully-qualified # 🫰🏼 E14.0 hand with index finger and thumb crossed: medium-light skin tone +1FAF0 1F3FD ; fully-qualified # 🫰🏽 E14.0 hand with index finger and thumb crossed: medium skin tone +1FAF0 1F3FE ; fully-qualified # 🫰🏾 E14.0 hand with index finger and thumb crossed: medium-dark skin tone +1FAF0 1F3FF ; fully-qualified # 🫰🏿 E14.0 hand with index finger and thumb crossed: dark skin tone 1F91F ; fully-qualified # 🤟 E5.0 love-you gesture 1F91F 1F3FB ; fully-qualified # 🤟🏻 E5.0 love-you gesture: light skin tone 1F91F 1F3FC ; fully-qualified # 🤟🏼 E5.0 love-you gesture: medium-light skin tone @@ -359,6 +396,12 @@ 261D 1F3FD ; fully-qualified # ☝🏽 E1.0 index pointing up: medium skin tone 261D 1F3FE ; fully-qualified # ☝🏾 E1.0 index pointing up: medium-dark skin tone 261D 1F3FF ; fully-qualified # ☝🏿 E1.0 index pointing up: dark skin tone +1FAF5 ; fully-qualified # 🫵 E14.0 index pointing at the viewer +1FAF5 1F3FB ; fully-qualified # 🫵🏻 E14.0 index pointing at the viewer: light skin tone +1FAF5 1F3FC ; fully-qualified # 🫵🏼 E14.0 index pointing at the viewer: medium-light skin tone +1FAF5 1F3FD ; fully-qualified # 🫵🏽 E14.0 index pointing at the viewer: medium skin tone +1FAF5 1F3FE ; fully-qualified # 🫵🏾 E14.0 index pointing at the viewer: medium-dark skin tone +1FAF5 1F3FF ; fully-qualified # 🫵🏿 E14.0 index pointing at the viewer: dark skin tone # subgroup: hand-fingers-closed 1F44D ; fully-qualified # 👍 E0.6 thumbs up @@ -411,6 +454,12 @@ 1F64C 1F3FD ; fully-qualified # 🙌🏽 E1.0 raising hands: medium skin tone 1F64C 1F3FE ; fully-qualified # 🙌🏾 E1.0 raising hands: medium-dark skin tone 1F64C 1F3FF ; fully-qualified # 🙌🏿 E1.0 raising hands: dark skin tone +1FAF6 ; fully-qualified # 🫶 E14.0 heart hands +1FAF6 1F3FB ; fully-qualified # 🫶🏻 E14.0 heart hands: light skin tone +1FAF6 1F3FC ; fully-qualified # 🫶🏼 E14.0 heart hands: medium-light skin tone +1FAF6 1F3FD ; fully-qualified # 🫶🏽 E14.0 heart hands: medium skin tone +1FAF6 1F3FE ; fully-qualified # 🫶🏾 E14.0 heart hands: medium-dark skin tone +1FAF6 1F3FF ; fully-qualified # 🫶🏿 E14.0 heart hands: dark skin tone 1F450 ; fully-qualified # 👐 E0.6 open hands 1F450 1F3FB ; fully-qualified # 👐🏻 E1.0 open hands: light skin tone 1F450 1F3FC ; fully-qualified # 👐🏼 E1.0 open hands: medium-light skin tone @@ -424,6 +473,31 @@ 1F932 1F3FE ; fully-qualified # 🤲🏾 E5.0 palms up together: medium-dark skin tone 1F932 1F3FF ; fully-qualified # 🤲🏿 E5.0 palms up together: dark skin tone 1F91D ; fully-qualified # 🤝 E3.0 handshake +1F91D 1F3FB ; fully-qualified # 🤝🏻 E3.0 handshake: light skin tone +1F91D 1F3FC ; fully-qualified # 🤝🏼 E3.0 handshake: medium-light skin tone +1F91D 1F3FD ; fully-qualified # 🤝🏽 E3.0 handshake: medium skin tone +1F91D 1F3FE ; fully-qualified # 🤝🏾 E3.0 handshake: medium-dark skin tone +1F91D 1F3FF ; fully-qualified # 🤝🏿 E3.0 handshake: dark skin tone +1FAF1 1F3FB 200D 1FAF2 1F3FC ; fully-qualified # 🫱🏻‍🫲🏼 E14.0 handshake: light skin tone, medium-light skin tone +1FAF1 1F3FB 200D 1FAF2 1F3FD ; fully-qualified # 🫱🏻‍🫲🏽 E14.0 handshake: light skin tone, medium skin tone +1FAF1 1F3FB 200D 1FAF2 1F3FE ; fully-qualified # 🫱🏻‍🫲🏾 E14.0 handshake: light skin tone, medium-dark skin tone +1FAF1 1F3FB 200D 1FAF2 1F3FF ; fully-qualified # 🫱🏻‍🫲🏿 E14.0 handshake: light skin tone, dark skin tone +1FAF1 1F3FC 200D 1FAF2 1F3FB ; fully-qualified # 🫱🏼‍🫲🏻 E14.0 handshake: medium-light skin tone, light skin tone +1FAF1 1F3FC 200D 1FAF2 1F3FD ; fully-qualified # 🫱🏼‍🫲🏽 E14.0 handshake: medium-light skin tone, medium skin tone +1FAF1 1F3FC 200D 1FAF2 1F3FE ; fully-qualified # 🫱🏼‍🫲🏾 E14.0 handshake: medium-light skin tone, medium-dark skin tone +1FAF1 1F3FC 200D 1FAF2 1F3FF ; fully-qualified # 🫱🏼‍🫲🏿 E14.0 handshake: medium-light skin tone, dark skin tone +1FAF1 1F3FD 200D 1FAF2 1F3FB ; fully-qualified # 🫱🏽‍🫲🏻 E14.0 handshake: medium skin tone, light skin tone +1FAF1 1F3FD 200D 1FAF2 1F3FC ; fully-qualified # 🫱🏽‍🫲🏼 E14.0 handshake: medium skin tone, medium-light skin tone +1FAF1 1F3FD 200D 1FAF2 1F3FE ; fully-qualified # 🫱🏽‍🫲🏾 E14.0 handshake: medium skin tone, medium-dark skin tone +1FAF1 1F3FD 200D 1FAF2 1F3FF ; fully-qualified # 🫱🏽‍🫲🏿 E14.0 handshake: medium skin tone, dark skin tone +1FAF1 1F3FE 200D 1FAF2 1F3FB ; fully-qualified # 🫱🏾‍🫲🏻 E14.0 handshake: medium-dark skin tone, light skin tone +1FAF1 1F3FE 200D 1FAF2 1F3FC ; fully-qualified # 🫱🏾‍🫲🏼 E14.0 handshake: medium-dark skin tone, medium-light skin tone +1FAF1 1F3FE 200D 1FAF2 1F3FD ; fully-qualified # 🫱🏾‍🫲🏽 E14.0 handshake: medium-dark skin tone, medium skin tone +1FAF1 1F3FE 200D 1FAF2 1F3FF ; fully-qualified # 🫱🏾‍🫲🏿 E14.0 handshake: medium-dark skin tone, dark skin tone +1FAF1 1F3FF 200D 1FAF2 1F3FB ; fully-qualified # 🫱🏿‍🫲🏻 E14.0 handshake: dark skin tone, light skin tone +1FAF1 1F3FF 200D 1FAF2 1F3FC ; fully-qualified # 🫱🏿‍🫲🏼 E14.0 handshake: dark skin tone, medium-light skin tone +1FAF1 1F3FF 200D 1FAF2 1F3FD ; fully-qualified # 🫱🏿‍🫲🏽 E14.0 handshake: dark skin tone, medium skin tone +1FAF1 1F3FF 200D 1FAF2 1F3FE ; fully-qualified # 🫱🏿‍🫲🏾 E14.0 handshake: dark skin tone, medium-dark skin tone 1F64F ; fully-qualified # 🙏 E0.6 folded hands 1F64F 1F3FB ; fully-qualified # 🙏🏻 E1.0 folded hands: light skin tone 1F64F 1F3FC ; fully-qualified # 🙏🏼 E1.0 folded hands: medium-light skin tone @@ -501,6 +575,7 @@ 1F441 ; unqualified # 👁 E0.7 eye 1F445 ; fully-qualified # 👅 E0.6 tongue 1F444 ; fully-qualified # 👄 E0.6 mouth +1FAE6 ; fully-qualified # 🫦 E14.0 biting lip # subgroup: person 1F476 ; fully-qualified # 👶 E0.6 baby @@ -1472,6 +1547,12 @@ 1F477 1F3FE 200D 2640 ; minimally-qualified # 👷🏾‍♀ E4.0 woman construction worker: medium-dark skin tone 1F477 1F3FF 200D 2640 FE0F ; fully-qualified # 👷🏿‍♀️ E4.0 woman construction worker: dark skin tone 1F477 1F3FF 200D 2640 ; minimally-qualified # 👷🏿‍♀ E4.0 woman construction worker: dark skin tone +1FAC5 ; fully-qualified # 🫅 E14.0 person with crown +1FAC5 1F3FB ; fully-qualified # 🫅🏻 E14.0 person with crown: light skin tone +1FAC5 1F3FC ; fully-qualified # 🫅🏼 E14.0 person with crown: medium-light skin tone +1FAC5 1F3FD ; fully-qualified # 🫅🏽 E14.0 person with crown: medium skin tone +1FAC5 1F3FE ; fully-qualified # 🫅🏾 E14.0 person with crown: medium-dark skin tone +1FAC5 1F3FF ; fully-qualified # 🫅🏿 E14.0 person with crown: dark skin tone 1F934 ; fully-qualified # 🤴 E3.0 prince 1F934 1F3FB ; fully-qualified # 🤴🏻 E3.0 prince: light skin tone 1F934 1F3FC ; fully-qualified # 🤴🏼 E3.0 prince: medium-light skin tone @@ -1592,6 +1673,18 @@ 1F930 1F3FD ; fully-qualified # 🤰🏽 E3.0 pregnant woman: medium skin tone 1F930 1F3FE ; fully-qualified # 🤰🏾 E3.0 pregnant woman: medium-dark skin tone 1F930 1F3FF ; fully-qualified # 🤰🏿 E3.0 pregnant woman: dark skin tone +1FAC3 ; fully-qualified # 🫃 E14.0 pregnant man +1FAC3 1F3FB ; fully-qualified # 🫃🏻 E14.0 pregnant man: light skin tone +1FAC3 1F3FC ; fully-qualified # 🫃🏼 E14.0 pregnant man: medium-light skin tone +1FAC3 1F3FD ; fully-qualified # 🫃🏽 E14.0 pregnant man: medium skin tone +1FAC3 1F3FE ; fully-qualified # 🫃🏾 E14.0 pregnant man: medium-dark skin tone +1FAC3 1F3FF ; fully-qualified # 🫃🏿 E14.0 pregnant man: dark skin tone +1FAC4 ; fully-qualified # 🫄 E14.0 pregnant person +1FAC4 1F3FB ; fully-qualified # 🫄🏻 E14.0 pregnant person: light skin tone +1FAC4 1F3FC ; fully-qualified # 🫄🏼 E14.0 pregnant person: medium-light skin tone +1FAC4 1F3FD ; fully-qualified # 🫄🏽 E14.0 pregnant person: medium skin tone +1FAC4 1F3FE ; fully-qualified # 🫄🏾 E14.0 pregnant person: medium-dark skin tone +1FAC4 1F3FF ; fully-qualified # 🫄🏿 E14.0 pregnant person: dark skin tone 1F931 ; fully-qualified # 🤱 E5.0 breast-feeding 1F931 1F3FB ; fully-qualified # 🤱🏻 E5.0 breast-feeding: light skin tone 1F931 1F3FC ; fully-qualified # 🤱🏼 E5.0 breast-feeding: medium-light skin tone @@ -1862,6 +1955,7 @@ 1F9DF 200D 2642 ; minimally-qualified # 🧟‍♂ E5.0 man zombie 1F9DF 200D 2640 FE0F ; fully-qualified # 🧟‍♀️ E5.0 woman zombie 1F9DF 200D 2640 ; minimally-qualified # 🧟‍♀ E5.0 woman zombie +1F9CC ; fully-qualified # 🧌 E14.0 troll # subgroup: person-activity 1F486 ; fully-qualified # 💆 E0.6 person getting massage @@ -3168,8 +3262,8 @@ 1FAC2 ; fully-qualified # 🫂 E13.0 people hugging 1F463 ; fully-qualified # 👣 E0.6 footprints -# People & Body subtotal: 2899 -# People & Body subtotal: 494 w/o modifiers +# People & Body subtotal: 2986 +# People & Body subtotal: 506 w/o modifiers # group: Component @@ -3304,6 +3398,7 @@ 1F988 ; fully-qualified # 🦈 E3.0 shark 1F419 ; fully-qualified # 🐙 E0.6 octopus 1F41A ; fully-qualified # 🐚 E0.6 spiral shell +1FAB8 ; fully-qualified # 🪸 E14.0 coral # subgroup: animal-bug 1F40C ; fully-qualified # 🐌 E0.6 snail @@ -3329,6 +3424,7 @@ 1F490 ; fully-qualified # 💐 E0.6 bouquet 1F338 ; fully-qualified # 🌸 E0.6 cherry blossom 1F4AE ; fully-qualified # 💮 E0.6 white flower +1FAB7 ; fully-qualified # 🪷 E14.0 lotus 1F3F5 FE0F ; fully-qualified # 🏵️ E0.7 rosette 1F3F5 ; unqualified # 🏵 E0.7 rosette 1F339 ; fully-qualified # 🌹 E0.6 rose @@ -3353,9 +3449,11 @@ 1F341 ; fully-qualified # 🍁 E0.6 maple leaf 1F342 ; fully-qualified # 🍂 E0.6 fallen leaf 1F343 ; fully-qualified # 🍃 E0.6 leaf fluttering in wind +1FAB9 ; fully-qualified # 🪹 E14.0 empty nest +1FABA ; fully-qualified # 🪺 E14.0 nest with eggs -# Animals & Nature subtotal: 147 -# Animals & Nature subtotal: 147 w/o modifiers +# Animals & Nature subtotal: 151 +# Animals & Nature subtotal: 151 w/o modifiers # group: Food & Drink @@ -3396,6 +3494,7 @@ 1F9C5 ; fully-qualified # 🧅 E12.0 onion 1F344 ; fully-qualified # 🍄 E0.6 mushroom 1F95C ; fully-qualified # 🥜 E3.0 peanuts +1FAD8 ; fully-qualified # 🫘 E14.0 beans 1F330 ; fully-qualified # 🌰 E0.6 chestnut # subgroup: food-prepared @@ -3491,6 +3590,7 @@ 1F37B ; fully-qualified # 🍻 E0.6 clinking beer mugs 1F942 ; fully-qualified # 🥂 E3.0 clinking glasses 1F943 ; fully-qualified # 🥃 E3.0 tumbler glass +1FAD7 ; fully-qualified # 🫗 E14.0 pouring liquid 1F964 ; fully-qualified # 🥤 E5.0 cup with straw 1F9CB ; fully-qualified # 🧋 E13.0 bubble tea 1F9C3 ; fully-qualified # 🧃 E12.0 beverage box @@ -3504,10 +3604,11 @@ 1F374 ; fully-qualified # 🍴 E0.6 fork and knife 1F944 ; fully-qualified # 🥄 E3.0 spoon 1F52A ; fully-qualified # 🔪 E0.6 kitchen knife +1FAD9 ; fully-qualified # 🫙 E14.0 jar 1F3FA ; fully-qualified # 🏺 E1.0 amphora -# Food & Drink subtotal: 131 -# Food & Drink subtotal: 131 w/o modifiers +# Food & Drink subtotal: 134 +# Food & Drink subtotal: 134 w/o modifiers # group: Travel & Places @@ -3597,6 +3698,7 @@ 2668 FE0F ; fully-qualified # ♨️ E0.6 hot springs 2668 ; unqualified # ♨ E0.6 hot springs 1F3A0 ; fully-qualified # 🎠 E0.6 carousel horse +1F6DD ; fully-qualified # 🛝 E14.0 playground slide 1F3A1 ; fully-qualified # 🎡 E0.6 ferris wheel 1F3A2 ; fully-qualified # 🎢 E0.6 roller coaster 1F488 ; fully-qualified # 💈 E0.6 barber pole @@ -3652,6 +3754,7 @@ 1F6E2 FE0F ; fully-qualified # 🛢️ E0.7 oil drum 1F6E2 ; unqualified # 🛢 E0.7 oil drum 26FD ; fully-qualified # ⛽ E0.6 fuel pump +1F6DE ; fully-qualified # 🛞 E14.0 wheel 1F6A8 ; fully-qualified # 🚨 E0.6 police car light 1F6A5 ; fully-qualified # 🚥 E0.6 horizontal traffic light 1F6A6 ; fully-qualified # 🚦 E1.0 vertical traffic light @@ -3660,6 +3763,7 @@ # subgroup: transport-water 2693 ; fully-qualified # ⚓ E0.6 anchor +1F6DF ; fully-qualified # 🛟 E14.0 ring buoy 26F5 ; fully-qualified # ⛵ E0.6 sailboat 1F6F6 ; fully-qualified # 🛶 E3.0 canoe 1F6A4 ; fully-qualified # 🚤 E0.6 speedboat @@ -3797,8 +3901,8 @@ 1F4A7 ; fully-qualified # 💧 E0.6 droplet 1F30A ; fully-qualified # 🌊 E0.6 water wave -# Travel & Places subtotal: 264 -# Travel & Places subtotal: 264 w/o modifiers +# Travel & Places subtotal: 267 +# Travel & Places subtotal: 267 w/o modifiers # group: Activities @@ -3874,6 +3978,7 @@ 1F52E ; fully-qualified # 🔮 E0.6 crystal ball 1FA84 ; fully-qualified # 🪄 E13.0 magic wand 1F9FF ; fully-qualified # 🧿 E11.0 nazar amulet +1FAAC ; fully-qualified # 🪬 E14.0 hamsa 1F3AE ; fully-qualified # 🎮 E0.6 video game 1F579 FE0F ; fully-qualified # 🕹️ E0.7 joystick 1F579 ; unqualified # 🕹 E0.7 joystick @@ -3882,6 +3987,7 @@ 1F9E9 ; fully-qualified # 🧩 E11.0 puzzle piece 1F9F8 ; fully-qualified # 🧸 E11.0 teddy bear 1FA85 ; fully-qualified # 🪅 E13.0 piñata +1FAA9 ; fully-qualified # 🪩 E14.0 mirror ball 1FA86 ; fully-qualified # 🪆 E13.0 nesting dolls 2660 FE0F ; fully-qualified # ♠️ E0.6 spade suit 2660 ; unqualified # ♠ E0.6 spade suit @@ -3907,8 +4013,8 @@ 1F9F6 ; fully-qualified # 🧶 E11.0 yarn 1FAA2 ; fully-qualified # 🪢 E13.0 knot -# Activities subtotal: 95 -# Activities subtotal: 95 w/o modifiers +# Activities subtotal: 97 +# Activities subtotal: 97 w/o modifiers # group: Objects @@ -4009,6 +4115,7 @@ # subgroup: computer 1F50B ; fully-qualified # 🔋 E0.6 battery +1FAAB ; fully-qualified # 🪫 E14.0 low battery 1F50C ; fully-qualified # 🔌 E0.6 electric plug 1F4BB ; fully-qualified # 💻 E0.6 laptop 1F5A5 FE0F ; fully-qualified # 🖥️ E0.7 desktop computer @@ -4207,7 +4314,9 @@ 1FA78 ; fully-qualified # 🩸 E12.0 drop of blood 1F48A ; fully-qualified # 💊 E0.6 pill 1FA79 ; fully-qualified # 🩹 E12.0 adhesive bandage +1FA7C ; fully-qualified # 🩼 E14.0 crutch 1FA7A ; fully-qualified # 🩺 E12.0 stethoscope +1FA7B ; fully-qualified # 🩻 E14.0 x-ray # subgroup: household 1F6AA ; fully-qualified # 🚪 E0.6 door @@ -4232,6 +4341,7 @@ 1F9FB ; fully-qualified # 🧻 E11.0 roll of paper 1FAA3 ; fully-qualified # 🪣 E13.0 bucket 1F9FC ; fully-qualified # 🧼 E11.0 soap +1FAE7 ; fully-qualified # 🫧 E14.0 bubbles 1FAA5 ; fully-qualified # 🪥 E13.0 toothbrush 1F9FD ; fully-qualified # 🧽 E11.0 sponge 1F9EF ; fully-qualified # 🧯 E11.0 fire extinguisher @@ -4246,9 +4356,10 @@ 26B1 ; unqualified # ⚱ E1.0 funeral urn 1F5FF ; fully-qualified # 🗿 E0.6 moai 1FAA7 ; fully-qualified # 🪧 E13.0 placard +1FAAA ; fully-qualified # 🪪 E14.0 identification card -# Objects subtotal: 299 -# Objects subtotal: 299 w/o modifiers +# Objects subtotal: 304 +# Objects subtotal: 304 w/o modifiers # group: Symbols @@ -4409,6 +4520,7 @@ 2795 ; fully-qualified # ➕ E0.6 plus 2796 ; fully-qualified # ➖ E0.6 minus 2797 ; fully-qualified # ➗ E0.6 divide +1F7F0 ; fully-qualified # 🟰 E14.0 heavy equals sign 267E FE0F ; fully-qualified # ♾️ E11.0 infinity 267E ; unqualified # ♾ E11.0 infinity @@ -4581,8 +4693,8 @@ 1F533 ; fully-qualified # 🔳 E0.6 white square button 1F532 ; fully-qualified # 🔲 E0.6 black square button -# Symbols subtotal: 301 -# Symbols subtotal: 301 w/o modifiers +# Symbols subtotal: 302 +# Symbols subtotal: 302 w/o modifiers # group: Flags @@ -4871,7 +4983,7 @@ # Flags subtotal: 275 w/o modifiers # Status Counts -# fully-qualified : 3512 +# fully-qualified : 3624 # minimally-qualified : 817 # unqualified : 252 # component : 9 diff --git a/scripts/emoji_codegen.py b/scripts/emoji_codegen.py index df581036..88f711f3 100755 --- a/scripts/emoji_codegen.py +++ b/scripts/emoji_codegen.py @@ -54,7 +54,7 @@ if __name__ == '__main__': } current_category = '' - for line in open(filename, 'r'): + for line in open(filename, 'r', encoding="utf8"): if line.startswith('# group:'): current_category = line.split(':', 1)[1].strip() diff --git a/src/emoji/Provider.cpp b/src/emoji/Provider.cpp index 70ac474e..d62eeee4 100644 --- a/src/emoji/Provider.cpp +++ b/src/emoji/Provider.cpp @@ -34,6 +34,7 @@ const QVector emoji::Provider::emoji = { "slightly smiling face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x99\x83"), "upside-down face", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa0"), "melting face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\x89"), "winking face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\x8a"), "smiling face with smiling eyes", @@ -74,12 +75,21 @@ const QVector emoji::Provider::emoji = { "squinting face with tongue", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\x91"), "money-mouth face", emoji::Emoji::Category::People}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x97"), "hugging face", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa4\x97"), + "smiling face with open hands", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xad"), "face with hand over mouth", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa2"), + "face with open eyes and hand over mouth", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa3"), + "face with peeking eye", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xab"), "shushing face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\x94"), "thinking face", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa1"), "saluting face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\x90"), "zipper-mouth face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa8"), "face with raised eyebrow", @@ -91,6 +101,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x98\xb6"), "face without mouth", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa5"), "dotted line face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\xb6\xe2\x80\x8d\xf0\x9f\x8c\xab"), "face in clouds", emoji::Emoji::Category::People}, @@ -124,7 +135,9 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa5\xb5"), "hot face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\xb6"), "cold face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\xb4"), "woozy face", emoji::Emoji::Category::People}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb5"), "knocked-out face", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\x98\xb5"), + "face with crossed-out eyes", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\xb5\xe2\x80\x8d\xf0\x9f\x92\xab"), "face with spiral eyes", emoji::Emoji::Category::People}, @@ -138,6 +151,9 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa4\x93"), "nerd face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\x90"), "face with monocle", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\x95"), "confused face", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa4"), + "face with diagonal mouth", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\x9f"), "worried face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x99\x81"), "slightly frowning face", @@ -150,6 +166,9 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x98\xb2"), "astonished face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\xb3"), "flushed face", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\xba"), "pleading face", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa5\xb9"), + "face holding back tears", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x98\xa6"), "frowning face with open mouth", emoji::Emoji::Category::People}, @@ -367,6 +386,70 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x96\x96\xf0\x9f\x8f\xbf"), "vulcan salute: dark skin tone", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb1"), "rightwards hand", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbb"), + "rightwards hand: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbc"), + "rightwards hand: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbd"), + "rightwards hand: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbe"), + "rightwards hand: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbf"), + "rightwards hand: dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb2"), "leftwards hand", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbb"), + "leftwards hand: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbc"), + "leftwards hand: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbd"), + "leftwards hand: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbe"), + "leftwards hand: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbf"), + "leftwards hand: dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb3"), "palm down hand", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb3\xf0\x9f\x8f\xbb"), + "palm down hand: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb3\xf0\x9f\x8f\xbc"), + "palm down hand: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb3\xf0\x9f\x8f\xbd"), + "palm down hand: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb3\xf0\x9f\x8f\xbe"), + "palm down hand: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb3\xf0\x9f\x8f\xbf"), + "palm down hand: dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb4"), "palm up hand", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb4\xf0\x9f\x8f\xbb"), + "palm up hand: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb4\xf0\x9f\x8f\xbc"), + "palm up hand: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb4\xf0\x9f\x8f\xbd"), + "palm up hand: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb4\xf0\x9f\x8f\xbe"), + "palm up hand: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb4\xf0\x9f\x8f\xbf"), + "palm up hand: dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x8c"), "OK hand", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x8c\xf0\x9f\x8f\xbb"), "OK hand: light skin tone", @@ -447,6 +530,24 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9e\xf0\x9f\x8f\xbf"), "crossed fingers: dark skin tone", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb0"), + "hand with index finger and thumb crossed", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb0\xf0\x9f\x8f\xbb"), + "hand with index finger and thumb crossed: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb0\xf0\x9f\x8f\xbc"), + "hand with index finger and thumb crossed: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb0\xf0\x9f\x8f\xbd"), + "hand with index finger and thumb crossed: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb0\xf0\x9f\x8f\xbe"), + "hand with index finger and thumb crossed: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb0\xf0\x9f\x8f\xbf"), + "hand with index finger and thumb crossed: dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9f"), "love-you gesture", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9f\xf0\x9f\x8f\xbb"), "love-you gesture: light skin tone", @@ -599,6 +700,24 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xe2\x98\x9d\xf0\x9f\x8f\xbf"), "index pointing up: dark skin tone", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb5"), + "index pointing at the viewer", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb5\xf0\x9f\x8f\xbb"), + "index pointing at the viewer: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb5\xf0\x9f\x8f\xbc"), + "index pointing at the viewer: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb5\xf0\x9f\x8f\xbd"), + "index pointing at the viewer: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb5\xf0\x9f\x8f\xbe"), + "index pointing at the viewer: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb5\xf0\x9f\x8f\xbf"), + "index pointing at the viewer: dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x8d"), "thumbs up", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x8d\xf0\x9f\x8f\xbb"), "thumbs up: light skin tone", @@ -727,6 +846,22 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x99\x8c\xf0\x9f\x8f\xbf"), "raising hands: dark skin tone", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb6"), "heart hands", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb6\xf0\x9f\x8f\xbb"), + "heart hands: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb6\xf0\x9f\x8f\xbc"), + "heart hands: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb6\xf0\x9f\x8f\xbd"), + "heart hands: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb6\xf0\x9f\x8f\xbe"), + "heart hands: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xb6\xf0\x9f\x8f\xbf"), + "heart hands: dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x90"), "open hands", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x90\xf0\x9f\x8f\xbb"), "open hands: light skin tone", @@ -760,6 +895,101 @@ const QVector emoji::Provider::emoji = { "palms up together: dark skin tone", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d"), "handshake", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d\xf0\x9f\x8f\xbb"), + "handshake: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d\xf0\x9f\x8f\xbc"), + "handshake: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d\xf0\x9f\x8f\xbd"), + "handshake: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d\xf0\x9f\x8f\xbe"), + "handshake: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d\xf0\x9f\x8f\xbf"), + "handshake: dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbb\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbc"), + "handshake: light skin tone, medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbb\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbd"), + "handshake: light skin tone, medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbb\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbe"), + "handshake: light skin tone, medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbb\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbf"), + "handshake: light skin tone, dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbc\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbb"), + "handshake: medium-light skin tone, light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbc\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbd"), + "handshake: medium-light skin tone, medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbc\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbe"), + "handshake: medium-light skin tone, medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbc\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbf"), + "handshake: medium-light skin tone, dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbd\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbb"), + "handshake: medium skin tone, light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbd\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbc"), + "handshake: medium skin tone, medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbd\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbe"), + "handshake: medium skin tone, medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbd\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbf"), + "handshake: medium skin tone, dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbe\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbb"), + "handshake: medium-dark skin tone, light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbe\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbc"), + "handshake: medium-dark skin tone, medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbe\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbd"), + "handshake: medium-dark skin tone, medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbe\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbf"), + "handshake: medium-dark skin tone, dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbf\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbb"), + "handshake: dark skin tone, light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbf\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbc"), + "handshake: dark skin tone, medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbf\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbd"), + "handshake: dark skin tone, medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8( + "\xf0\x9f\xab\xb1\xf0\x9f\x8f\xbf\xe2\x80\x8d\xf0\x9f\xab\xb2\xf0\x9f\x8f\xbe"), + "handshake: dark skin tone, medium-dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x99\x8f"), "folded hands", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x99\x8f\xf0\x9f\x8f\xbb"), "folded hands: light skin tone", @@ -933,6 +1163,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x91\x81"), "eye", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x85"), "tongue", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x84"), "mouth", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa6"), "biting lip", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\xb6"), "baby", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x91\xb6\xf0\x9f\x8f\xbb"), "baby: light skin tone", @@ -3041,6 +3272,22 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x91\xb7\xf0\x9f\x8f\xbf\xe2\x80\x8d\xe2\x99\x80"), "woman construction worker: dark skin tone", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x85"), "person with crown", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x85\xf0\x9f\x8f\xbb"), + "person with crown: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x85\xf0\x9f\x8f\xbc"), + "person with crown: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x85\xf0\x9f\x8f\xbd"), + "person with crown: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x85\xf0\x9f\x8f\xbe"), + "person with crown: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x85\xf0\x9f\x8f\xbf"), + "person with crown: dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb4"), "prince", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb4\xf0\x9f\x8f\xbb"), "prince: light skin tone", @@ -3283,6 +3530,38 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb0\xf0\x9f\x8f\xbf"), "pregnant woman: dark skin tone", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x83"), "pregnant man", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x83\xf0\x9f\x8f\xbb"), + "pregnant man: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x83\xf0\x9f\x8f\xbc"), + "pregnant man: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x83\xf0\x9f\x8f\xbd"), + "pregnant man: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x83\xf0\x9f\x8f\xbe"), + "pregnant man: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x83\xf0\x9f\x8f\xbf"), + "pregnant man: dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x84"), "pregnant person", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x84\xf0\x9f\x8f\xbb"), + "pregnant person: light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x84\xf0\x9f\x8f\xbc"), + "pregnant person: medium-light skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x84\xf0\x9f\x8f\xbd"), + "pregnant person: medium skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x84\xf0\x9f\x8f\xbe"), + "pregnant person: medium-dark skin tone", + emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x84\xf0\x9f\x8f\xbf"), + "pregnant person: dark skin tone", + emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb1"), "breast-feeding", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb1\xf0\x9f\x8f\xbb"), "breast-feeding: light skin tone", @@ -3797,6 +4076,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa7\x9f\xe2\x80\x8d\xe2\x99\x80"), "woman zombie", emoji::Emoji::Category::People}, + Emoji{QString::fromUtf8("\xf0\x9f\xa7\x8c"), "troll", emoji::Emoji::Category::People}, Emoji{QString::fromUtf8("\xf0\x9f\x92\x86"), "person getting massage", emoji::Emoji::Category::People}, @@ -7432,6 +7712,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa6\x88"), "shark", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x90\x99"), "octopus", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x90\x9a"), "spiral shell", emoji::Emoji::Category::Nature}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xb8"), "coral", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x90\x8c"), "snail", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8b"), "butterfly", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x90\x9b"), "bug", emoji::Emoji::Category::Nature}, @@ -7451,6 +7732,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x92\x90"), "bouquet", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb8"), "cherry blossom", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x92\xae"), "white flower", emoji::Emoji::Category::Nature}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xb7"), "lotus", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb5"), "rosette", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb9"), "rose", emoji::Emoji::Category::Nature}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\x80"), "wilted flower", emoji::Emoji::Category::Nature}, @@ -7473,6 +7755,8 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x8d\x83"), "leaf fluttering in wind", emoji::Emoji::Category::Nature}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xb9"), "empty nest", emoji::Emoji::Category::Nature}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xba"), "nest with eggs", emoji::Emoji::Category::Nature}, // Food Emoji{QString::fromUtf8("\xf0\x9f\x8d\x87"), "grapes", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\x8d\x88"), "melon", emoji::Emoji::Category::Food}, @@ -7507,6 +7791,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa7\x85"), "onion", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\x8d\x84"), "mushroom", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\x9c"), "peanuts", emoji::Emoji::Category::Food}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x98"), "beans", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb0"), "chestnut", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9e"), "bread", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\x90"), "croissant", emoji::Emoji::Category::Food}, @@ -7600,6 +7885,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x8d\xbb"), "clinking beer mugs", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\x82"), "clinking glasses", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\x83"), "tumbler glass", emoji::Emoji::Category::Food}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x97"), "pouring liquid", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\xa4"), "cup with straw", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\x8b"), "bubble tea", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\x83"), "beverage box", emoji::Emoji::Category::Food}, @@ -7612,6 +7898,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb4"), "fork and knife", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\x84"), "spoon", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\x94\xaa"), "kitchen knife", emoji::Emoji::Category::Food}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\x99"), "jar", emoji::Emoji::Category::Food}, Emoji{QString::fromUtf8("\xf0\x9f\x8f\xba"), "amphora", emoji::Emoji::Category::Food}, // Activity Emoji{QString::fromUtf8("\xf0\x9f\x8e\x83"), "jack-o-lantern", emoji::Emoji::Category::Activity}, @@ -7683,13 +7970,15 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x94\xae"), "crystal ball", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\x84"), "magic wand", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xbf"), "nazar amulet", emoji::Emoji::Category::Activity}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xac"), "hamsa", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xae"), "video game", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xb9"), "joystick", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb0"), "slot machine", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb2"), "game die", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xa9"), "puzzle piece", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xb8"), "teddy bear", emoji::Emoji::Category::Activity}, - Emoji{QString::fromUtf8("\xf0\x9f\xaa\x85"), "piñata", emoji::Emoji::Category::Activity}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\x85"), "pi�ata", emoji::Emoji::Category::Activity}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xa9"), "mirror ball", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\x86"), "nesting dolls", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xe2\x99\xa0"), "spade suit", emoji::Emoji::Category::Activity}, Emoji{QString::fromUtf8("\xe2\x99\xa5"), "heart suit", emoji::Emoji::Category::Activity}, @@ -7792,6 +8081,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x8c\x89"), "bridge at night", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xe2\x99\xa8"), "hot springs", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa0"), "carousel horse", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x9b\x9d"), "playground slide", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa1"), "ferris wheel", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa2"), "roller coaster", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x92\x88"), "barber pole", emoji::Emoji::Category::Travel}, @@ -7848,6 +8138,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa4"), "railway track", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa2"), "oil drum", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xe2\x9b\xbd"), "fuel pump", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x9b\x9e"), "wheel", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa8"), "police car light", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa5"), "horizontal traffic light", @@ -7858,6 +8149,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x9b\x91"), "stop sign", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa7"), "construction", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xe2\x9a\x93"), "anchor", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x9b\x9f"), "ring buoy", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xe2\x9b\xb5"), "sailboat", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x9b\xb6"), "canoe", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa4"), "speedboat", emoji::Emoji::Category::Travel}, @@ -7891,29 +8183,29 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xe2\x8f\xb1"), "stopwatch", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xe2\x8f\xb2"), "timer clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xb0"), "mantelpiece clock", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9b"), "twelve o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x9b"), "twelve o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa7"), "twelve-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x90"), "one o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x90"), "one o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\x9c"), "one-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x91"), "two o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x91"), "two o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\x9d"), "two-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x92"), "three o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x92"), "three o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\x9e"), "three-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x93"), "four o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x93"), "four o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\x9f"), "four-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x94"), "five o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x94"), "five o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa0"), "five-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x95"), "six o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x95"), "six o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa1"), "six-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x96"), "seven o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x96"), "seven o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa2"), "seven-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x97"), "eight o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x97"), "eight o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa3"), "eight-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x98"), "nine o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x98"), "nine o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa4"), "nine-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x99"), "ten o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x99"), "ten o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa5"), "ten-thirty", emoji::Emoji::Category::Travel}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9a"), "eleven o’clock", emoji::Emoji::Category::Travel}, + Emoji{QString::fromUtf8("\xf0\x9f\x95\x9a"), "eleven o�clock", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x95\xa6"), "eleven-thirty", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x8c\x91"), "new moon", emoji::Emoji::Category::Travel}, Emoji{QString::fromUtf8("\xf0\x9f\x8c\x92"), @@ -8010,29 +8302,29 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa9\xb2"), "briefs", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa9\xb3"), "shorts", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x99"), "bikini", emoji::Emoji::Category::Objects}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9a"), "woman’s clothes", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\x91\x9a"), "woman�s clothes", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x9b"), "purse", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x9c"), "handbag", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x9d"), "clutch bag", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x9b\x8d"), "shopping bags", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\x92"), "backpack", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa9\xb4"), "thong sandal", emoji::Emoji::Category::Objects}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9e"), "man’s shoe", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\x91\x9e"), "man�s shoe", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x9f"), "running shoe", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\xbe"), "hiking boot", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa5\xbf"), "flat shoe", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\xa0"), "high-heeled shoe", emoji::Emoji::Category::Objects}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa1"), "woman’s sandal", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\x91\xa1"), "woman�s sandal", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa9\xb0"), "ballet shoes", emoji::Emoji::Category::Objects}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa2"), "woman’s boot", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\x91\xa2"), "woman�s boot", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x91\x91"), "crown", emoji::Emoji::Category::Objects}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x92"), "woman’s hat", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\x91\x92"), "woman�s hat", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa9"), "top hat", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x8e\x93"), "graduation cap", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xa2"), "billed cap", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\x96"), "military helmet", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xe2\x9b\x91"), - "rescue worker’s helmet", + "rescue worker�s helmet", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x93\xbf"), "prayer beads", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x92\x84"), "lipstick", emoji::Emoji::Category::Objects}, @@ -8084,6 +8376,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x93\x9f"), "pager", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x93\xa0"), "fax machine", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x94\x8b"), "battery", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xab"), "low battery", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x94\x8c"), "electric plug", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x92\xbb"), "laptop", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x96\xa5"), "desktop computer", emoji::Emoji::Category::Objects}, @@ -8262,7 +8555,9 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa9\xb8"), "drop of blood", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x92\x8a"), "pill", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa9\xb9"), "adhesive bandage", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\xa9\xbc"), "crutch", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa9\xba"), "stethoscope", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\xa9\xbb"), "x-ray", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xaa"), "door", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x9b\x97"), "elevator", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\x9e"), "mirror", emoji::Emoji::Category::Objects}, @@ -8283,6 +8578,7 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\xa7\xbb"), "roll of paper", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\xa3"), "bucket", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xbc"), "soap", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\xab\xa7"), "bubbles", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\xa5"), "toothbrush", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xbd"), "sponge", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xa7\xaf"), @@ -8295,6 +8591,9 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xe2\x9a\xb1"), "funeral urn", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\x97\xbf"), "moai", emoji::Emoji::Category::Objects}, Emoji{QString::fromUtf8("\xf0\x9f\xaa\xa7"), "placard", emoji::Emoji::Category::Objects}, + Emoji{QString::fromUtf8("\xf0\x9f\xaa\xaa"), + "identification card", + emoji::Emoji::Category::Objects}, // Symbols Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa7"), "ATM sign", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xae"), @@ -8302,8 +8601,8 @@ const QVector emoji::Provider::emoji = { emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb0"), "potable water", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe2\x99\xbf"), "wheelchair symbol", emoji::Emoji::Category::Symbols}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb9"), "men’s room", emoji::Emoji::Category::Symbols}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xba"), "women’s room", emoji::Emoji::Category::Symbols}, + Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb9"), "men�s room", emoji::Emoji::Category::Symbols}, + Emoji{QString::fromUtf8("\xf0\x9f\x9a\xba"), "women�s room", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbb"), "restroom", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbc"), "baby symbol", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbe"), "water closet", emoji::Emoji::Category::Symbols}, @@ -8425,6 +8724,9 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xe2\x9e\x95"), "plus", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe2\x9e\x96"), "minus", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe2\x9e\x97"), "divide", emoji::Emoji::Category::Symbols}, + Emoji{QString::fromUtf8("\xf0\x9f\x9f\xb0"), + "heavy equals sign", + emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe2\x99\xbe"), "infinity", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe2\x80\xbc"), "double exclamation mark", @@ -8558,55 +8860,55 @@ const QVector emoji::Provider::emoji = { Emoji{QString::fromUtf8("\xf0\x9f\x86\x99"), "UP! button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x86\x9a"), "VS button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\x81"), - "Japanese “here” button", + "Japanese �here� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\x82"), - "Japanese “service charge” button", + "Japanese �service charge� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb7"), - "Japanese “monthly amount” button", + "Japanese �monthly amount� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb6"), - "Japanese “not free of charge” button", + "Japanese �not free of charge� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xaf"), - "Japanese “reserved” button", + "Japanese �reserved� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x89\x90"), - "Japanese “bargain” button", + "Japanese �bargain� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb9"), - "Japanese “discount” button", + "Japanese �discount� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\x9a"), - "Japanese “free of charge” button", + "Japanese �free of charge� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb2"), - "Japanese “prohibited” button", + "Japanese �prohibited� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x89\x91"), - "Japanese “acceptable” button", + "Japanese �acceptable� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb8"), - "Japanese “application” button", + "Japanese �application� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb4"), - "Japanese “passing grade” button", + "Japanese �passing grade� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb3"), - "Japanese “vacancy” button", + "Japanese �vacancy� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe3\x8a\x97"), - "Japanese “congratulations” button", + "Japanese �congratulations� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xe3\x8a\x99"), - "Japanese “secret” button", + "Japanese �secret� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xba"), - "Japanese “open for business” button", + "Japanese �open for business� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x88\xb5"), - "Japanese “no vacancy” button", + "Japanese �no vacancy� button", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x94\xb4"), "red circle", emoji::Emoji::Category::Symbols}, Emoji{QString::fromUtf8("\xf0\x9f\x9f\xa0"), "orange circle", emoji::Emoji::Category::Symbols}, @@ -8731,7 +9033,7 @@ const QVector emoji::Provider::emoji = { "flag: Aruba", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbd"), - "flag: Åland Islands", + "flag: �land Islands", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbf"), "flag: Azerbaijan", @@ -8764,7 +9066,7 @@ const QVector emoji::Provider::emoji = { "flag: Benin", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb1"), - "flag: St. Barthélemy", + "flag: St. Barth�lemy", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb2"), "flag: Bermuda", @@ -8818,7 +9120,7 @@ const QVector emoji::Provider::emoji = { "flag: Switzerland", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xae"), - "flag: Côte d’Ivoire", + "flag: C�te d�Ivoire", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb0"), "flag: Cook Islands", @@ -8848,7 +9150,7 @@ const QVector emoji::Provider::emoji = { "flag: Cape Verde", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbc"), - "flag: Curaçao", + "flag: Cura�ao", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbd"), "flag: Christmas Island", @@ -9265,7 +9567,7 @@ const QVector emoji::Provider::emoji = { "flag: Qatar", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xaa"), - "flag: Réunion", + "flag: R�union", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb4"), "flag: Romania", @@ -9328,7 +9630,7 @@ const QVector emoji::Provider::emoji = { "flag: South Sudan", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb9"), - "flag: São Tomé & Príncipe", + "flag: S�o Tom� & Pr�ncipe", emoji::Emoji::Category::Flags}, Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbb"), "flag: El Salvador", @@ -9471,4 +9773,4 @@ const QVector emoji::Provider::emoji = { "\x81\xac\xf3\xa0\x81\xb3\xf3\xa0\x81\xbf"), "flag: Wales", emoji::Emoji::Category::Flags}, -}; +}; \ No newline at end of file