Update to unicode 15 and make script jinja:3 compatible

pull/1215/head
Nicolas Werner 2 years ago
parent a4524cd9af
commit 7e0ea12ebb
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 125
      resources/emoji-test.txt
  2. 5
      scripts/emoji_codegen.py
  3. 282
      src/emoji/Provider.cpp
  4. 2
      src/emoji/Provider.h

@ -1,13 +1,13 @@
# emoji-test.txt
# Date: 2021-08-26, 17:22:23 GMT
# © 2021 Unicode®, Inc.
# Date: 2022-08-12, 20:24:39 GMT
# © 2022 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
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
# Emoji Keyboard/Display Test Data for UTS #51
# Version: 14.0
# Version: 15.0
#
# For documentation and usage, see http://www.unicode.org/reports/tr51
# For documentation and usage, see https://www.unicode.org/reports/tr51
#
# This file provides data for testing which emoji forms should be in keyboards and which should also be displayed/processed.
# Format: code points; status # emoji name
@ -92,6 +92,7 @@
1F62C ; fully-qualified # 😬 E1.0 grimacing face
1F62E 200D 1F4A8 ; fully-qualified # 😮💨 E13.1 face exhaling
1F925 ; fully-qualified # 🤥 E3.0 lying face
1FAE8 ; fully-qualified # 🫨 E15.0 shaking face
# subgroup: face-sleepy
1F60C ; fully-qualified # 😌 E0.6 relieved face
@ -155,7 +156,7 @@
# subgroup: face-negative
1F624 ; fully-qualified # 😤 E0.6 face with steam from nose
1F621 ; fully-qualified # 😡 E0.6 pouting face
1F621 ; fully-qualified # 😡 E0.6 enraged face
1F620 ; fully-qualified # 😠 E0.6 angry face
1F92C ; fully-qualified # 🤬 E5.0 face with symbols on mouth
1F608 ; fully-qualified # 😈 E1.0 smiling face with horns
@ -190,8 +191,7 @@
1F649 ; fully-qualified # 🙉 E0.6 hear-no-evil monkey
1F64A ; fully-qualified # 🙊 E0.6 speak-no-evil monkey
# subgroup: emotion
1F48B ; fully-qualified # 💋 E0.6 kiss mark
# subgroup: heart
1F48C ; fully-qualified # 💌 E0.6 love letter
1F498 ; fully-qualified # 💘 E0.6 heart with arrow
1F49D ; fully-qualified # 💝 E0.6 heart with ribbon
@ -210,14 +210,20 @@
2764 200D 1FA79 ; unqualified # ❤🩹 E13.1 mending heart
2764 FE0F ; fully-qualified # ❤ E0.6 red heart
2764 ; unqualified # ❤ E0.6 red heart
1FA77 ; fully-qualified # 🩷 E15.0 pink heart
1F9E1 ; fully-qualified # 🧡 E5.0 orange heart
1F49B ; fully-qualified # 💛 E0.6 yellow heart
1F49A ; fully-qualified # 💚 E0.6 green heart
1F499 ; fully-qualified # 💙 E0.6 blue heart
1FA75 ; fully-qualified # 🩵 E15.0 light blue heart
1F49C ; fully-qualified # 💜 E0.6 purple heart
1F90E ; fully-qualified # 🤎 E12.0 brown heart
1F5A4 ; fully-qualified # 🖤 E3.0 black heart
1FA76 ; fully-qualified # 🩶 E15.0 grey heart
1F90D ; fully-qualified # 🤍 E12.0 white heart
# subgroup: emotion
1F48B ; fully-qualified # 💋 E0.6 kiss mark
1F4AF ; fully-qualified # 💯 E0.6 hundred points
1F4A2 ; fully-qualified # 💢 E0.6 anger symbol
1F4A5 ; fully-qualified # 💥 E0.6 collision
@ -226,21 +232,20 @@
1F4A8 ; fully-qualified # 💨 E0.6 dashing away
1F573 FE0F ; fully-qualified # 🕳 E0.7 hole
1F573 ; unqualified # 🕳 E0.7 hole
1F4A3 ; fully-qualified # 💣 E0.6 bomb
1F4AC ; fully-qualified # 💬 E0.6 speech balloon
1F441 FE0F 200D 1F5E8 FE0F ; fully-qualified # 👁🗨 E2.0 eye in speech bubble
1F441 200D 1F5E8 FE0F ; unqualified # 👁🗨 E2.0 eye in speech bubble
1F441 FE0F 200D 1F5E8 ; unqualified # 👁🗨 E2.0 eye in speech bubble
1F441 FE0F 200D 1F5E8 ; minimally-qualified # 👁🗨 E2.0 eye in speech bubble
1F441 200D 1F5E8 ; unqualified # 👁🗨 E2.0 eye in speech bubble
1F5E8 FE0F ; fully-qualified # 🗨 E2.0 left speech bubble
1F5E8 ; unqualified # 🗨 E2.0 left speech bubble
1F5EF FE0F ; fully-qualified # 🗯 E0.7 right anger bubble
1F5EF ; unqualified # 🗯 E0.7 right anger bubble
1F4AD ; fully-qualified # 💭 E1.0 thought balloon
1F4A4 ; fully-qualified # 💤 E0.6 zzz
1F4A4 ; fully-qualified # 💤 E0.6 ZZZ
# Smileys & Emotion subtotal: 177
# Smileys & Emotion subtotal: 177 w/o modifiers
# Smileys & Emotion subtotal: 180
# Smileys & Emotion subtotal: 180 w/o modifiers
# group: People & Body
@ -300,6 +305,18 @@
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
1FAF7 ; fully-qualified # 🫷 E15.0 leftwards pushing hand
1FAF7 1F3FB ; fully-qualified # 🫷🏻 E15.0 leftwards pushing hand: light skin tone
1FAF7 1F3FC ; fully-qualified # 🫷🏼 E15.0 leftwards pushing hand: medium-light skin tone
1FAF7 1F3FD ; fully-qualified # 🫷🏽 E15.0 leftwards pushing hand: medium skin tone
1FAF7 1F3FE ; fully-qualified # 🫷🏾 E15.0 leftwards pushing hand: medium-dark skin tone
1FAF7 1F3FF ; fully-qualified # 🫷🏿 E15.0 leftwards pushing hand: dark skin tone
1FAF8 ; fully-qualified # 🫸 E15.0 rightwards pushing hand
1FAF8 1F3FB ; fully-qualified # 🫸🏻 E15.0 rightwards pushing hand: light skin tone
1FAF8 1F3FC ; fully-qualified # 🫸🏼 E15.0 rightwards pushing hand: medium-light skin tone
1FAF8 1F3FD ; fully-qualified # 🫸🏽 E15.0 rightwards pushing hand: medium skin tone
1FAF8 1F3FE ; fully-qualified # 🫸🏾 E15.0 rightwards pushing hand: medium-dark skin tone
1FAF8 1F3FF ; fully-qualified # 🫸🏿 E15.0 rightwards pushing hand: dark skin tone
# subgroup: hand-fingers-partial
1F44C ; fully-qualified # 👌 E0.6 OK hand
@ -473,11 +490,11 @@
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
1F91D 1F3FB ; fully-qualified # 🤝🏻 E14.0 handshake: light skin tone
1F91D 1F3FC ; fully-qualified # 🤝🏼 E14.0 handshake: medium-light skin tone
1F91D 1F3FD ; fully-qualified # 🤝🏽 E14.0 handshake: medium skin tone
1F91D 1F3FE ; fully-qualified # 🤝🏾 E14.0 handshake: medium-dark skin tone
1F91D 1F3FF ; fully-qualified # 🤝🏿 E14.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
@ -1455,7 +1472,7 @@
1F575 1F3FF ; fully-qualified # 🕵🏿 E2.0 detective: dark skin tone
1F575 FE0F 200D 2642 FE0F ; fully-qualified # 🕵 E4.0 man detective
1F575 200D 2642 FE0F ; unqualified # 🕵 E4.0 man detective
1F575 FE0F 200D 2642 ; unqualified # 🕵♂ E4.0 man detective
1F575 FE0F 200D 2642 ; minimally-qualified # 🕵♂ E4.0 man detective
1F575 200D 2642 ; unqualified # 🕵♂ E4.0 man detective
1F575 1F3FB 200D 2642 FE0F ; fully-qualified # 🕵🏻 E4.0 man detective: light skin tone
1F575 1F3FB 200D 2642 ; minimally-qualified # 🕵🏻♂ E4.0 man detective: light skin tone
@ -1469,7 +1486,7 @@
1F575 1F3FF 200D 2642 ; minimally-qualified # 🕵🏿♂ E4.0 man detective: dark skin tone
1F575 FE0F 200D 2640 FE0F ; fully-qualified # 🕵 E4.0 woman detective
1F575 200D 2640 FE0F ; unqualified # 🕵 E4.0 woman detective
1F575 FE0F 200D 2640 ; unqualified # 🕵♀ E4.0 woman detective
1F575 FE0F 200D 2640 ; minimally-qualified # 🕵♀ E4.0 woman detective
1F575 200D 2640 ; unqualified # 🕵♀ E4.0 woman detective
1F575 1F3FB 200D 2640 FE0F ; fully-qualified # 🕵🏻 E4.0 woman detective: light skin tone
1F575 1F3FB 200D 2640 ; minimally-qualified # 🕵🏻♀ E4.0 woman detective: light skin tone
@ -2302,7 +2319,7 @@
1F3CC 1F3FF ; fully-qualified # 🏌🏿 E4.0 person golfing: dark skin tone
1F3CC FE0F 200D 2642 FE0F ; fully-qualified # 🏌 E4.0 man golfing
1F3CC 200D 2642 FE0F ; unqualified # 🏌 E4.0 man golfing
1F3CC FE0F 200D 2642 ; unqualified # 🏌♂ E4.0 man golfing
1F3CC FE0F 200D 2642 ; minimally-qualified # 🏌♂ E4.0 man golfing
1F3CC 200D 2642 ; unqualified # 🏌♂ E4.0 man golfing
1F3CC 1F3FB 200D 2642 FE0F ; fully-qualified # 🏌🏻 E4.0 man golfing: light skin tone
1F3CC 1F3FB 200D 2642 ; minimally-qualified # 🏌🏻♂ E4.0 man golfing: light skin tone
@ -2316,7 +2333,7 @@
1F3CC 1F3FF 200D 2642 ; minimally-qualified # 🏌🏿♂ E4.0 man golfing: dark skin tone
1F3CC FE0F 200D 2640 FE0F ; fully-qualified # 🏌 E4.0 woman golfing
1F3CC 200D 2640 FE0F ; unqualified # 🏌 E4.0 woman golfing
1F3CC FE0F 200D 2640 ; unqualified # 🏌♀ E4.0 woman golfing
1F3CC FE0F 200D 2640 ; minimally-qualified # 🏌♀ E4.0 woman golfing
1F3CC 200D 2640 ; unqualified # 🏌♀ E4.0 woman golfing
1F3CC 1F3FB 200D 2640 FE0F ; fully-qualified # 🏌🏻 E4.0 woman golfing: light skin tone
1F3CC 1F3FB 200D 2640 ; minimally-qualified # 🏌🏻♀ E4.0 woman golfing: light skin tone
@ -2427,7 +2444,7 @@
26F9 1F3FF ; fully-qualified # ⛹🏿 E2.0 person bouncing ball: dark skin tone
26F9 FE0F 200D 2642 FE0F ; fully-qualified # ⛹ E4.0 man bouncing ball
26F9 200D 2642 FE0F ; unqualified # ⛹ E4.0 man bouncing ball
26F9 FE0F 200D 2642 ; unqualified # ⛹♂ E4.0 man bouncing ball
26F9 FE0F 200D 2642 ; minimally-qualified # ⛹♂ E4.0 man bouncing ball
26F9 200D 2642 ; unqualified # ⛹♂ E4.0 man bouncing ball
26F9 1F3FB 200D 2642 FE0F ; fully-qualified # ⛹🏻 E4.0 man bouncing ball: light skin tone
26F9 1F3FB 200D 2642 ; minimally-qualified # ⛹🏻♂ E4.0 man bouncing ball: light skin tone
@ -2441,7 +2458,7 @@
26F9 1F3FF 200D 2642 ; minimally-qualified # ⛹🏿♂ E4.0 man bouncing ball: dark skin tone
26F9 FE0F 200D 2640 FE0F ; fully-qualified # ⛹ E4.0 woman bouncing ball
26F9 200D 2640 FE0F ; unqualified # ⛹ E4.0 woman bouncing ball
26F9 FE0F 200D 2640 ; unqualified # ⛹♀ E4.0 woman bouncing ball
26F9 FE0F 200D 2640 ; minimally-qualified # ⛹♀ E4.0 woman bouncing ball
26F9 200D 2640 ; unqualified # ⛹♀ E4.0 woman bouncing ball
26F9 1F3FB 200D 2640 FE0F ; fully-qualified # ⛹🏻 E4.0 woman bouncing ball: light skin tone
26F9 1F3FB 200D 2640 ; minimally-qualified # ⛹🏻♀ E4.0 woman bouncing ball: light skin tone
@ -2462,7 +2479,7 @@
1F3CB 1F3FF ; fully-qualified # 🏋🏿 E2.0 person lifting weights: dark skin tone
1F3CB FE0F 200D 2642 FE0F ; fully-qualified # 🏋 E4.0 man lifting weights
1F3CB 200D 2642 FE0F ; unqualified # 🏋 E4.0 man lifting weights
1F3CB FE0F 200D 2642 ; unqualified # 🏋♂ E4.0 man lifting weights
1F3CB FE0F 200D 2642 ; minimally-qualified # 🏋♂ E4.0 man lifting weights
1F3CB 200D 2642 ; unqualified # 🏋♂ E4.0 man lifting weights
1F3CB 1F3FB 200D 2642 FE0F ; fully-qualified # 🏋🏻 E4.0 man lifting weights: light skin tone
1F3CB 1F3FB 200D 2642 ; minimally-qualified # 🏋🏻♂ E4.0 man lifting weights: light skin tone
@ -2476,7 +2493,7 @@
1F3CB 1F3FF 200D 2642 ; minimally-qualified # 🏋🏿♂ E4.0 man lifting weights: dark skin tone
1F3CB FE0F 200D 2640 FE0F ; fully-qualified # 🏋 E4.0 woman lifting weights
1F3CB 200D 2640 FE0F ; unqualified # 🏋 E4.0 woman lifting weights
1F3CB FE0F 200D 2640 ; unqualified # 🏋♀ E4.0 woman lifting weights
1F3CB FE0F 200D 2640 ; minimally-qualified # 🏋♀ E4.0 woman lifting weights
1F3CB 200D 2640 ; unqualified # 🏋♀ E4.0 woman lifting weights
1F3CB 1F3FB 200D 2640 FE0F ; fully-qualified # 🏋🏻 E4.0 woman lifting weights: light skin tone
1F3CB 1F3FB 200D 2640 ; minimally-qualified # 🏋🏻♀ E4.0 woman lifting weights: light skin tone
@ -3262,8 +3279,8 @@
1FAC2 ; fully-qualified # 🫂 E13.0 people hugging
1F463 ; fully-qualified # 👣 E0.6 footprints
# People & Body subtotal: 2986
# People & Body subtotal: 506 w/o modifiers
# People & Body subtotal: 2998
# People & Body subtotal: 508 w/o modifiers
# group: Component
@ -3306,6 +3323,8 @@
1F405 ; fully-qualified # 🐅 E1.0 tiger
1F406 ; fully-qualified # 🐆 E1.0 leopard
1F434 ; fully-qualified # 🐴 E0.6 horse face
1FACE ; fully-qualified # 🫎 E15.0 moose
1FACF ; fully-qualified # 🫏 E15.0 donkey
1F40E ; fully-qualified # 🐎 E0.6 horse
1F984 ; fully-qualified # 🦄 E1.0 unicorn
1F993 ; fully-qualified # 🦓 E5.0 zebra
@ -3373,6 +3392,9 @@
1F9A9 ; fully-qualified # 🦩 E12.0 flamingo
1F99A ; fully-qualified # 🦚 E11.0 peacock
1F99C ; fully-qualified # 🦜 E11.0 parrot
1FABD ; fully-qualified # 🪽 E15.0 wing
1F426 200D 2B1B ; fully-qualified # 🐦⬛ E15.0 black bird
1FABF ; fully-qualified # 🪿 E15.0 goose
# subgroup: animal-amphibian
1F438 ; fully-qualified # 🐸 E0.6 frog
@ -3399,6 +3421,7 @@
1F419 ; fully-qualified # 🐙 E0.6 octopus
1F41A ; fully-qualified # 🐚 E0.6 spiral shell
1FAB8 ; fully-qualified # 🪸 E14.0 coral
1FABC ; fully-qualified # 🪼 E15.0 jellyfish
# subgroup: animal-bug
1F40C ; fully-qualified # 🐌 E0.6 snail
@ -3433,6 +3456,7 @@
1F33B ; fully-qualified # 🌻 E0.6 sunflower
1F33C ; fully-qualified # 🌼 E0.6 blossom
1F337 ; fully-qualified # 🌷 E0.6 tulip
1FABB ; fully-qualified # 🪻 E15.0 hyacinth
# subgroup: plant-other
1F331 ; fully-qualified # 🌱 E0.6 seedling
@ -3451,9 +3475,10 @@
1F343 ; fully-qualified # 🍃 E0.6 leaf fluttering in wind
1FAB9 ; fully-qualified # 🪹 E14.0 empty nest
1FABA ; fully-qualified # 🪺 E14.0 nest with eggs
1F344 ; fully-qualified # 🍄 E0.6 mushroom
# Animals & Nature subtotal: 151
# Animals & Nature subtotal: 151 w/o modifiers
# Animals & Nature subtotal: 159
# Animals & Nature subtotal: 159 w/o modifiers
# group: Food & Drink
@ -3492,10 +3517,11 @@
1F966 ; fully-qualified # 🥦 E5.0 broccoli
1F9C4 ; fully-qualified # 🧄 E12.0 garlic
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
1FADA ; fully-qualified # 🫚 E15.0 ginger root
1FADB ; fully-qualified # 🫛 E15.0 pea pod
# subgroup: food-prepared
1F35E ; fully-qualified # 🍞 E0.6 bread
@ -3607,8 +3633,8 @@
1FAD9 ; fully-qualified # 🫙 E14.0 jar
1F3FA ; fully-qualified # 🏺 E1.0 amphora
# Food & Drink subtotal: 134
# Food & Drink subtotal: 134 w/o modifiers
# Food & Drink subtotal: 135
# Food & Drink subtotal: 135 w/o modifiers
# group: Travel & Places
@ -3974,11 +4000,10 @@
1F3AF ; fully-qualified # 🎯 E0.6 bullseye
1FA80 ; fully-qualified # 🪀 E12.0 yo-yo
1FA81 ; fully-qualified # 🪁 E12.0 kite
1F52B ; fully-qualified # 🔫 E0.6 water pistol
1F3B1 ; fully-qualified # 🎱 E0.6 pool 8 ball
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
@ -4013,8 +4038,8 @@
1F9F6 ; fully-qualified # 🧶 E11.0 yarn
1FAA2 ; fully-qualified # 🪢 E13.0 knot
# Activities subtotal: 97
# Activities subtotal: 97 w/o modifiers
# Activities subtotal: 96
# Activities subtotal: 96 w/o modifiers
# group: Objects
@ -4040,6 +4065,7 @@
1FA73 ; fully-qualified # 🩳 E12.0 shorts
1F459 ; fully-qualified # 👙 E0.6 bikini
1F45A ; fully-qualified # 👚 E0.6 woman’s clothes
1FAAD ; fully-qualified # 🪭 E15.0 folding hand fan
1F45B ; fully-qualified # 👛 E0.6 purse
1F45C ; fully-qualified # 👜 E0.6 handbag
1F45D ; fully-qualified # 👝 E0.6 clutch bag
@ -4055,6 +4081,7 @@
1F461 ; fully-qualified # 👡 E0.6 woman’s sandal
1FA70 ; fully-qualified # 🩰 E12.0 ballet shoes
1F462 ; fully-qualified # 👢 E0.6 woman’s boot
1FAAE ; fully-qualified # 🪮 E15.0 hair pick
1F451 ; fully-qualified # 👑 E0.6 crown
1F452 ; fully-qualified # 👒 E0.6 woman’s hat
1F3A9 ; fully-qualified # 🎩 E0.6 top hat
@ -4103,6 +4130,8 @@
1FA95 ; fully-qualified # 🪕 E12.0 banjo
1F941 ; fully-qualified # 🥁 E3.0 drum
1FA98 ; fully-qualified # 🪘 E13.0 long drum
1FA87 ; fully-qualified # 🪇 E15.0 maracas
1FA88 ; fully-qualified # 🪈 E15.0 flute
# subgroup: phone
1F4F1 ; fully-qualified # 📱 E0.6 mobile phone
@ -4275,7 +4304,7 @@
1F5E1 ; unqualified # 🗡 E0.7 dagger
2694 FE0F ; fully-qualified # ⚔ E1.0 crossed swords
2694 ; unqualified # ⚔ E1.0 crossed swords
1F52B ; fully-qualified # 🔫 E0.6 water pistol
1F4A3 ; fully-qualified # 💣 E0.6 bomb
1FA83 ; fully-qualified # 🪃 E13.0 boomerang
1F3F9 ; fully-qualified # 🏹 E1.0 bow and arrow
1F6E1 FE0F ; fully-qualified # 🛡 E0.7 shield
@ -4354,12 +4383,14 @@
1FAA6 ; fully-qualified # 🪦 E13.0 headstone
26B1 FE0F ; fully-qualified # ⚱ E1.0 funeral urn
26B1 ; unqualified # ⚱ E1.0 funeral urn
1F9FF ; fully-qualified # 🧿 E11.0 nazar amulet
1FAAC ; fully-qualified # 🪬 E14.0 hamsa
1F5FF ; fully-qualified # 🗿 E0.6 moai
1FAA7 ; fully-qualified # 🪧 E13.0 placard
1FAAA ; fully-qualified # 🪪 E14.0 identification card
# Objects subtotal: 304
# Objects subtotal: 304 w/o modifiers
# Objects subtotal: 310
# Objects subtotal: 310 w/o modifiers
# group: Symbols
@ -4455,6 +4486,7 @@
262E ; unqualified # ☮ E1.0 peace symbol
1F54E ; fully-qualified # 🕎 E1.0 menorah
1F52F ; fully-qualified # 🔯 E0.6 dotted six-pointed star
1FAAF ; fully-qualified # 🪯 E15.0 khanda
# subgroup: zodiac
2648 ; fully-qualified # ♈ E0.6 Aries
@ -4503,6 +4535,7 @@
1F505 ; fully-qualified # 🔅 E1.0 dim button
1F506 ; fully-qualified # 🔆 E1.0 bright button
1F4F6 ; fully-qualified # 📶 E0.6 antenna bars
1F6DC ; fully-qualified # 🛜 E15.0 wireless
1F4F3 ; fully-qualified # 📳 E0.6 vibration mode
1F4F4 ; fully-qualified # 📴 E0.6 mobile phone off
@ -4693,8 +4726,8 @@
1F533 ; fully-qualified # 🔳 E0.6 white square button
1F532 ; fully-qualified # 🔲 E0.6 black square button
# Symbols subtotal: 302
# Symbols subtotal: 302 w/o modifiers
# Symbols subtotal: 304
# Symbols subtotal: 304 w/o modifiers
# group: Flags
@ -4709,7 +4742,7 @@
1F3F3 200D 1F308 ; unqualified # 🏳🌈 E4.0 rainbow flag
1F3F3 FE0F 200D 26A7 FE0F ; fully-qualified # 🏳 E13.0 transgender flag
1F3F3 200D 26A7 FE0F ; unqualified # 🏳 E13.0 transgender flag
1F3F3 FE0F 200D 26A7 ; unqualified # 🏳⚧ E13.0 transgender flag
1F3F3 FE0F 200D 26A7 ; minimally-qualified # 🏳⚧ E13.0 transgender flag
1F3F3 200D 26A7 ; unqualified # 🏳⚧ E13.0 transgender flag
1F3F4 200D 2620 FE0F ; fully-qualified # 🏴 E11.0 pirate flag
1F3F4 200D 2620 ; minimally-qualified # 🏴☠ E11.0 pirate flag
@ -4983,9 +5016,9 @@
# Flags subtotal: 275 w/o modifiers
# Status Counts
# fully-qualified : 3624
# minimally-qualified : 817
# unqualified : 252
# fully-qualified : 3655
# minimally-qualified : 827
# unqualified : 242
# component : 9
#EOF

@ -13,8 +13,9 @@ class Emoji(object):
self.unicodename = unicodename
def generate_qml_list(**kwargs):
entrycount = sum([len(c[1]) for c in kwargs.items()])
tmpl = Template('''
const std::array<Emoji, {{ sum([len(c[1]) for c in kwargs.items()]) }}> emoji::Provider::emoji = {
const std::array<Emoji, {{ entrycount }} > emoji::Provider::emoji = {
{%- for c in kwargs.items() %}
// {{ c[0].capitalize() }}
{%- for e in c[1] %}
@ -23,7 +24,7 @@ const std::array<Emoji, {{ sum([len(c[1]) for c in kwargs.items()]) }}> emoji::P
{%- endfor %}
};
''')
d = dict(kwargs=kwargs)
d = dict(kwargs=kwargs, entrycount=entrycount)
print(tmpl.render(d))
if __name__ == '__main__':
if len(sys.argv) < 3:

@ -7,7 +7,7 @@
using namespace emoji;
const std::array<Emoji, 3650> emoji::Provider::emoji = {
const std::array<Emoji, 3655> emoji::Provider::emoji = {
// People
Emoji{QStringLiteral(u"\U0001F600"),
QStringLiteral(u"grinning"),
@ -205,6 +205,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"lying"),
QStringLiteral(u"lying face"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAE8"),
QStringLiteral(u"shaking"),
QStringLiteral(u"shaking face"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F60C"),
QStringLiteral(u"relieved"),
QStringLiteral(u"relieved face"),
@ -406,8 +410,8 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"face with steam from nose"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F621"),
QStringLiteral(u"pouting"),
QStringLiteral(u"pouting face"),
QStringLiteral(u"enraged"),
QStringLiteral(u"enraged face"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F620"),
QStringLiteral(u"angry"),
@ -513,10 +517,6 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"speak_no_evil_monkey"),
QStringLiteral(u"speak-no-evil monkey"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F48B"),
QStringLiteral(u"kiss_mark"),
QStringLiteral(u"kiss mark"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F48C"),
QStringLiteral(u"love_letter"),
QStringLiteral(u"love letter"),
@ -573,6 +573,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"red_heart"),
QStringLiteral(u"red heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FA77"),
QStringLiteral(u"pink_heart"),
QStringLiteral(u"pink heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F9E1"),
QStringLiteral(u"orange_heart"),
QStringLiteral(u"orange heart"),
@ -589,6 +593,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"blue_heart"),
QStringLiteral(u"blue heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FA75"),
QStringLiteral(u"light_blue_heart"),
QStringLiteral(u"light blue heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F49C"),
QStringLiteral(u"purple_heart"),
QStringLiteral(u"purple heart"),
@ -601,10 +609,18 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"black_heart"),
QStringLiteral(u"black heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FA76"),
QStringLiteral(u"grey_heart"),
QStringLiteral(u"grey heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F90D"),
QStringLiteral(u"white_heart"),
QStringLiteral(u"white heart"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F48B"),
QStringLiteral(u"kiss_mark"),
QStringLiteral(u"kiss mark"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F4AF"),
QStringLiteral(u"100"),
QStringLiteral(u"hundred points"),
@ -633,10 +649,6 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"hole"),
QStringLiteral(u"hole"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F4A3"),
QStringLiteral(u"bomb"),
QStringLiteral(u"bomb"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F4AC"),
QStringLiteral(u"speech_balloon"),
QStringLiteral(u"speech balloon"),
@ -659,7 +671,7 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F4A4"),
QStringLiteral(u"zzz"),
QStringLiteral(u"zzz"),
QStringLiteral(u"ZZZ"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F44B"),
QStringLiteral(u"wave"),
@ -877,6 +889,54 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"palm_up_hand_dark_skin_tone"),
QStringLiteral(u"palm up hand: dark skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF7"),
QStringLiteral(u"leftwards_pushing_hand"),
QStringLiteral(u"leftwards pushing hand"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF7\U0001F3FB"),
QStringLiteral(u"leftwards_pushing_hand_light_skin_tone"),
QStringLiteral(u"leftwards pushing hand: light skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF7\U0001F3FC"),
QStringLiteral(u"leftwards_pushing_hand_medium_light_skin_tone"),
QStringLiteral(u"leftwards pushing hand: medium-light skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF7\U0001F3FD"),
QStringLiteral(u"leftwards_pushing_hand_medium_skin_tone"),
QStringLiteral(u"leftwards pushing hand: medium skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF7\U0001F3FE"),
QStringLiteral(u"leftwards_pushing_hand_medium_dark_skin_tone"),
QStringLiteral(u"leftwards pushing hand: medium-dark skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF7\U0001F3FF"),
QStringLiteral(u"leftwards_pushing_hand_dark_skin_tone"),
QStringLiteral(u"leftwards pushing hand: dark skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF8"),
QStringLiteral(u"rightwards_pushing_hand"),
QStringLiteral(u"rightwards pushing hand"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF8\U0001F3FB"),
QStringLiteral(u"rightwards_pushing_hand_light_skin_tone"),
QStringLiteral(u"rightwards pushing hand: light skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF8\U0001F3FC"),
QStringLiteral(u"rightwards_pushing_hand_medium_light_skin_tone"),
QStringLiteral(u"rightwards pushing hand: medium-light skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF8\U0001F3FD"),
QStringLiteral(u"rightwards_pushing_hand_medium_skin_tone"),
QStringLiteral(u"rightwards pushing hand: medium skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF8\U0001F3FE"),
QStringLiteral(u"rightwards_pushing_hand_medium_dark_skin_tone"),
QStringLiteral(u"rightwards pushing hand: medium-dark skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001FAF8\U0001F3FF"),
QStringLiteral(u"rightwards_pushing_hand_dark_skin_tone"),
QStringLiteral(u"rightwards pushing hand: dark skin tone"),
emoji::Emoji::Category::People},
Emoji{QStringLiteral(u"\U0001F44C"),
QStringLiteral(u"ok_hand"),
QStringLiteral(u"OK hand"),
@ -9505,6 +9565,14 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"horse"),
QStringLiteral(u"horse face"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001FACE"),
QStringLiteral(u"moose"),
QStringLiteral(u"moose"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001FACF"),
QStringLiteral(u"donkey"),
QStringLiteral(u"donkey"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001F40E"),
QStringLiteral(u"horse"),
QStringLiteral(u"horse"),
@ -9753,6 +9821,18 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"parrot"),
QStringLiteral(u"parrot"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001FABD"),
QStringLiteral(u"wing"),
QStringLiteral(u"wing"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001F426\U0000200D\U00002B1B"),
QStringLiteral(u"black_bird"),
QStringLiteral(u"black bird"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001FABF"),
QStringLiteral(u"goose"),
QStringLiteral(u"goose"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001F438"),
QStringLiteral(u"frog"),
QStringLiteral(u"frog"),
@ -9833,6 +9913,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"coral"),
QStringLiteral(u"coral"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001FABC"),
QStringLiteral(u"jellyfish"),
QStringLiteral(u"jellyfish"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001F40C"),
QStringLiteral(u"snail"),
QStringLiteral(u"snail"),
@ -9941,6 +10025,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"tulip"),
QStringLiteral(u"tulip"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001FABB"),
QStringLiteral(u"hyacinth"),
QStringLiteral(u"hyacinth"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001F331"),
QStringLiteral(u"seedling"),
QStringLiteral(u"seedling"),
@ -10001,6 +10089,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"nest_with_eggs"),
QStringLiteral(u"nest with eggs"),
emoji::Emoji::Category::Nature},
Emoji{QStringLiteral(u"\U0001F344"),
QStringLiteral(u"mushroom"),
QStringLiteral(u"mushroom"),
emoji::Emoji::Category::Nature},
// Food
Emoji{QStringLiteral(u"\U0001F347"),
QStringLiteral(u"grapes"),
@ -10126,10 +10218,6 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"onion"),
QStringLiteral(u"onion"),
emoji::Emoji::Category::Food},
Emoji{QStringLiteral(u"\U0001F344"),
QStringLiteral(u"mushroom"),
QStringLiteral(u"mushroom"),
emoji::Emoji::Category::Food},
Emoji{QStringLiteral(u"\U0001F95C"),
QStringLiteral(u"peanuts"),
QStringLiteral(u"peanuts"),
@ -10142,6 +10230,14 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"chestnut"),
QStringLiteral(u"chestnut"),
emoji::Emoji::Category::Food},
Emoji{QStringLiteral(u"\U0001FADA"),
QStringLiteral(u"ginger_root"),
QStringLiteral(u"ginger root"),
emoji::Emoji::Category::Food},
Emoji{QStringLiteral(u"\U0001FADB"),
QStringLiteral(u"pea_pod"),
QStringLiteral(u"pea pod"),
emoji::Emoji::Category::Food},
Emoji{QStringLiteral(u"\U0001F35E"),
QStringLiteral(u"bread"),
QStringLiteral(u"bread"),
@ -10759,6 +10855,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"kite"),
QStringLiteral(u"kite"),
emoji::Emoji::Category::Activity},
Emoji{QStringLiteral(u"\U0001F52B"),
QStringLiteral(u"water_pistol"),
QStringLiteral(u"water pistol"),
emoji::Emoji::Category::Activity},
Emoji{QStringLiteral(u"\U0001F3B1"),
QStringLiteral(u"pool_8_ball"),
QStringLiteral(u"pool 8 ball"),
@ -10771,14 +10871,6 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"magic_wand"),
QStringLiteral(u"magic wand"),
emoji::Emoji::Category::Activity},
Emoji{QStringLiteral(u"\U0001F9FF"),
QStringLiteral(u"nazar_amulet"),
QStringLiteral(u"nazar amulet"),
emoji::Emoji::Category::Activity},
Emoji{QStringLiteral(u"\U0001FAAC"),
QStringLiteral(u"hamsa"),
QStringLiteral(u"hamsa"),
emoji::Emoji::Category::Activity},
Emoji{QStringLiteral(u"\U0001F3AE"),
QStringLiteral(u"video_game"),
QStringLiteral(u"video game"),
@ -11829,6 +11921,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"woman_s_clothes"),
QStringLiteral(u"woman’s clothes"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001FAAD"),
QStringLiteral(u"folding_hand_fan"),
QStringLiteral(u"folding hand fan"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001F45B"),
QStringLiteral(u"purse"),
QStringLiteral(u"purse"),
@ -11885,6 +11981,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"woman_s_boot"),
QStringLiteral(u"woman’s boot"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001FAAE"),
QStringLiteral(u"hair_pick"),
QStringLiteral(u"hair pick"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001F451"),
QStringLiteral(u"crown"),
QStringLiteral(u"crown"),
@ -12037,6 +12137,14 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"long_drum"),
QStringLiteral(u"long drum"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001FA87"),
QStringLiteral(u"maracas"),
QStringLiteral(u"maracas"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001FA88"),
QStringLiteral(u"flute"),
QStringLiteral(u"flute"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001F4F1"),
QStringLiteral(u"mobile_phone"),
QStringLiteral(u"mobile phone"),
@ -12513,9 +12621,9 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"crossed_swords"),
QStringLiteral(u"crossed swords"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001F52B"),
QStringLiteral(u"water_pistol"),
QStringLiteral(u"water pistol"),
Emoji{QStringLiteral(u"\U0001F4A3"),
QStringLiteral(u"bomb"),
QStringLiteral(u"bomb"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001FA83"),
QStringLiteral(u"boomerang"),
@ -12757,6 +12865,14 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"funeral_urn"),
QStringLiteral(u"funeral urn"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001F9FF"),
QStringLiteral(u"nazar_amulet"),
QStringLiteral(u"nazar amulet"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001FAAC"),
QStringLiteral(u"hamsa"),
QStringLiteral(u"hamsa"),
emoji::Emoji::Category::Objects},
Emoji{QStringLiteral(u"\U0001F5FF"),
QStringLiteral(u"moai"),
QStringLiteral(u"moai"),
@ -12770,110 +12886,6 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"identification card"),
emoji::Emoji::Category::Objects},
// Symbols
Emoji{QStringLiteral(u"\U0000200C\U0001F1E6\U0000200C"),
QStringLiteral(u"regional_indicator_a"),
QStringLiteral(u"regional indicator a"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1E7\U0000200C"),
QStringLiteral(u"regional_indicator_b"),
QStringLiteral(u"regional indicator b"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1E8\U0000200C"),
QStringLiteral(u"regional_indicator_c"),
QStringLiteral(u"regional indicator c"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1E9\U0000200C"),
QStringLiteral(u"regional_indicator_d"),
QStringLiteral(u"regional indicator d"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1EA\U0000200C"),
QStringLiteral(u"regional_indicator_e"),
QStringLiteral(u"regional indicator e"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1EB\U0000200C"),
QStringLiteral(u"regional_indicator_f"),
QStringLiteral(u"regional indicator f"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1EC\U0000200C"),
QStringLiteral(u"regional_indicator_g"),
QStringLiteral(u"regional indicator g"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1ED\U0000200C"),
QStringLiteral(u"regional_indicator_h"),
QStringLiteral(u"regional indicator h"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1EE\U0000200C"),
QStringLiteral(u"regional_indicator_i"),
QStringLiteral(u"regional indicator i"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1EF\U0000200C"),
QStringLiteral(u"regional_indicator_j"),
QStringLiteral(u"regional indicator j"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F0\U0000200C"),
QStringLiteral(u"regional_indicator_k"),
QStringLiteral(u"regional indicator k"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F1\U0000200C"),
QStringLiteral(u"regional_indicator_l"),
QStringLiteral(u"regional indicator l"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F2\U0000200C"),
QStringLiteral(u"regional_indicator_m"),
QStringLiteral(u"regional indicator m"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F3\U0000200C"),
QStringLiteral(u"regional_indicator_n"),
QStringLiteral(u"regional indicator n"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F4\U0000200C"),
QStringLiteral(u"regional_indicator_o"),
QStringLiteral(u"regional indicator o"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F5\U0000200C"),
QStringLiteral(u"regional_indicator_p"),
QStringLiteral(u"regional indicator p"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F6\U0000200C"),
QStringLiteral(u"regional_indicator_q"),
QStringLiteral(u"regional indicator q"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F7\U0000200C"),
QStringLiteral(u"regional_indicator_r"),
QStringLiteral(u"regional indicator r"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F8\U0000200C"),
QStringLiteral(u"regional_indicator_s"),
QStringLiteral(u"regional indicator s"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1F9\U0000200C"),
QStringLiteral(u"regional_indicator_t"),
QStringLiteral(u"regional indicator t"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1FA\U0000200C"),
QStringLiteral(u"regional_indicator_u"),
QStringLiteral(u"regional indicator u"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1FB\U0000200C"),
QStringLiteral(u"regional_indicator_v"),
QStringLiteral(u"regional indicator v"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1FC\U0000200C"),
QStringLiteral(u"regional_indicator_w"),
QStringLiteral(u"regional indicator w"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1FD\U0000200C"),
QStringLiteral(u"regional_indicator_x"),
QStringLiteral(u"regional indicator x"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1FE\U0000200C"),
QStringLiteral(u"regional_indicator_y"),
QStringLiteral(u"regional indicator y"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0000200C\U0001F1FF\U0000200C"),
QStringLiteral(u"regional_indicator_z"),
QStringLiteral(u"regional indicator z"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0001F3E7"),
QStringLiteral(u"atm_sign"),
QStringLiteral(u"ATM sign"),
@ -13110,6 +13122,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"dotted_six_pointed_star"),
QStringLiteral(u"dotted six-pointed star"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0001FAAF"),
QStringLiteral(u"khanda"),
QStringLiteral(u"khanda"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U00002648"),
QStringLiteral(u"aries"),
QStringLiteral(u"Aries"),
@ -13250,6 +13266,10 @@ const std::array<Emoji, 3650> emoji::Provider::emoji = {
QStringLiteral(u"antenna_bars"),
QStringLiteral(u"antenna bars"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0001F6DC"),
QStringLiteral(u"wireless"),
QStringLiteral(u"wireless"),
emoji::Emoji::Category::Symbols},
Emoji{QStringLiteral(u"\U0001F4F3"),
QStringLiteral(u"vibration_mode"),
QStringLiteral(u"vibration mode"),

@ -46,7 +46,7 @@ class Provider
{
public:
// all emoji for QML purposes
static const std::array<Emoji, 3650> emoji;
static const std::array<Emoji, 3655> emoji;
};
} // namespace emoji

Loading…
Cancel
Save