From 614807de65d516b87956cfc3af7debef465db6ff Mon Sep 17 00:00:00 2001 From: Michelle Linington Date: Mon, 28 Feb 2022 20:26:42 -0800 Subject: [PATCH 1/2] Update to Emoji 14 --- Scripts/EmojiGenerator.swift | 3 +- Signal/src/util/Emoji/Emoji+Category.swift | 80 ++++++- Signal/src/util/Emoji/Emoji+Name.swift | 39 ++- Signal/src/util/Emoji/Emoji+SkinTones.swift | 111 ++++++++- Signal/src/util/Emoji/Emoji.swift | 39 ++- .../Emoji/EmojiWithSkinTones+String.swift | 226 +++++++++++++++++- 6 files changed, 490 insertions(+), 8 deletions(-) diff --git a/Scripts/EmojiGenerator.swift b/Scripts/EmojiGenerator.swift index 05c7b1ef2f..def71933b7 100755 --- a/Scripts/EmojiGenerator.swift +++ b/Scripts/EmojiGenerator.swift @@ -1,6 +1,6 @@ #!/usr/bin/env xcrun --sdk macosx swift // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // import Foundation @@ -171,6 +171,7 @@ struct EmojiModel { case "womanHeartMan": return "[.woman, .man]" case "manHeartMan": return "[.man, .man]" case "womanHeartWoman": return "[.woman, .woman]" + case "handshake": return "[.leftwardsHand, .rightwardsHand]" default: return nil } diff --git a/Signal/src/util/Emoji/Emoji+Category.swift b/Signal/src/util/Emoji/Emoji+Category.swift index d027b9808d..7e5d3d2f83 100644 --- a/Signal/src/util/Emoji/Emoji+Category.swift +++ b/Signal/src/util/Emoji/Emoji+Category.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // // This file is generated by EmojiGenerator.swift, do not manually edit it. @@ -50,6 +50,7 @@ extension Emoji { .joy, .slightlySmilingFace, .upsideDownFace, + .meltingFace, .wink, .blush, .innocent, @@ -70,13 +71,17 @@ extension Emoji { .moneyMouthFace, .huggingFace, .faceWithHandOverMouth, + .faceWithOpenEyesAndHandOverMouth, + .faceWithPeekingEye, .shushingFace, .thinkingFace, + .salutingFace, .zipperMouthFace, .faceWithRaisedEyebrow, .neutralFace, .expressionless, .noMouth, + .dottedLineFace, .faceInClouds, .smirk, .unamused, @@ -108,6 +113,7 @@ extension Emoji { .nerdFace, .faceWithMonocle, .confused, + .faceWithDiagonalMouth, .worried, .slightlyFrowningFace, .whiteFrowningFace, @@ -116,6 +122,7 @@ extension Emoji { .astonished, .flushed, .pleadingFace, + .faceHoldingBackTears, .frowning, .anguished, .fearful, @@ -201,11 +208,16 @@ extension Emoji { .raisedHandWithFingersSplayed, .hand, .spockHand, + .rightwardsHand, + .leftwardsHand, + .palmDownHand, + .palmUpHand, .okHand, .pinchedFingers, .pinchingHand, .v, .crossedFingers, + .handWithIndexFingerAndThumbCrossed, .iLoveYouHandSign, .theHorns, .callMeHand, @@ -215,6 +227,7 @@ extension Emoji { .middleFinger, .pointDown, .pointUp, + .indexPointingAtTheViewer, .plusOne, .negativeOne, .fist, @@ -223,6 +236,7 @@ extension Emoji { .rightFacingFist, .clap, .raisedHands, + .heartHands, .openHands, .palmsUpTogether, .handshake, @@ -247,6 +261,7 @@ extension Emoji { .eye, .tongue, .lips, + .bitingLip, .baby, .child, .boy, @@ -366,6 +381,7 @@ extension Emoji { .constructionWorker, .maleConstructionWorker, .femaleConstructionWorker, + .personWithCrown, .prince, .princess, .manWithTurban, @@ -380,6 +396,8 @@ extension Emoji { .manWithVeil, .womanWithVeil, .pregnantWoman, + .pregnantMan, + .pregnantPerson, .breastFeeding, .womanFeedingBaby, .manFeedingBaby, @@ -415,6 +433,7 @@ extension Emoji { .zombie, .maleZombie, .femaleZombie, + .troll, .massage, .manGettingMassage, .womanGettingMassage, @@ -649,6 +668,7 @@ extension Emoji { .shark, .octopus, .shell, + .coral, .snail, .butterfly, .bug, @@ -668,6 +688,7 @@ extension Emoji { .bouquet, .cherryBlossom, .whiteFlower, + .lotus, .rosette, .rose, .wiltedFlower, @@ -687,7 +708,9 @@ extension Emoji { .fourLeafClover, .mapleLeaf, .fallenLeaf, - .leaves + .leaves, + .emptyNest, + .nestWithEggs ] case .food: return [ @@ -724,6 +747,7 @@ extension Emoji { .onion, .mushroom, .peanuts, + .beans, .chestnut, .bread, .croissant, @@ -809,6 +833,7 @@ extension Emoji { .beers, .clinkingGlasses, .tumblerGlass, + .pouringLiquid, .cupWithStraw, .bubbleTea, .beverageBox, @@ -819,6 +844,7 @@ extension Emoji { .forkAndKnife, .spoon, .hocho, + .jar, .amphora ] case .activities: @@ -884,6 +910,7 @@ extension Emoji { .crystalBall, .magicWand, .nazarAmulet, + .hamsa, .videoGame, .joystick, .slotMachine, @@ -891,6 +918,7 @@ extension Emoji { .jigsaw, .teddyBear, .pinata, + .mirrorBall, .nestingDolls, .spades, .hearts, @@ -971,6 +999,7 @@ extension Emoji { .bridgeAtNight, .hotsprings, .carouselHorse, + .playgroundSlide, .ferrisWheel, .rollerCoaster, .barber, @@ -1019,12 +1048,14 @@ extension Emoji { .railwayTrack, .oilDrum, .fuelpump, + .wheel, .rotatingLight, .trafficLight, .verticalTrafficLight, .octagonalSign, .construction, .anchor, + .ringBuoy, .boat, .canoe, .speedboat, @@ -1207,6 +1238,7 @@ extension Emoji { .pager, .fax, .battery, + .lowBattery, .electricPlug, .computer, .desktopComputer, @@ -1347,7 +1379,9 @@ extension Emoji { .dropOfBlood, .pill, .adhesiveBandage, + .crutch, .stethoscope, + .xRay, .door, .elevator, .mirror, @@ -1368,6 +1402,7 @@ extension Emoji { .rollOfPaper, .bucket, .soap, + .bubbles, .toothbrush, .sponge, .fireExtinguisher, @@ -1377,7 +1412,8 @@ extension Emoji { .headstone, .funeralUrn, .moyai, - .placard + .placard, + .identificationCard ] case .symbols: return [ @@ -1484,6 +1520,7 @@ extension Emoji { .heavyPlusSign, .heavyMinusSign, .heavyDivisionSign, + .heavyEqualsSign, .infinity, .bangbang, .interrobang, @@ -1890,6 +1927,7 @@ extension Emoji { case .joy: return .smileysAndPeople case .slightlySmilingFace: return .smileysAndPeople case .upsideDownFace: return .smileysAndPeople + case .meltingFace: return .smileysAndPeople case .wink: return .smileysAndPeople case .blush: return .smileysAndPeople case .innocent: return .smileysAndPeople @@ -1910,13 +1948,17 @@ extension Emoji { case .moneyMouthFace: return .smileysAndPeople case .huggingFace: return .smileysAndPeople case .faceWithHandOverMouth: return .smileysAndPeople + case .faceWithOpenEyesAndHandOverMouth: return .smileysAndPeople + case .faceWithPeekingEye: return .smileysAndPeople case .shushingFace: return .smileysAndPeople case .thinkingFace: return .smileysAndPeople + case .salutingFace: return .smileysAndPeople case .zipperMouthFace: return .smileysAndPeople case .faceWithRaisedEyebrow: return .smileysAndPeople case .neutralFace: return .smileysAndPeople case .expressionless: return .smileysAndPeople case .noMouth: return .smileysAndPeople + case .dottedLineFace: return .smileysAndPeople case .faceInClouds: return .smileysAndPeople case .smirk: return .smileysAndPeople case .unamused: return .smileysAndPeople @@ -1948,6 +1990,7 @@ extension Emoji { case .nerdFace: return .smileysAndPeople case .faceWithMonocle: return .smileysAndPeople case .confused: return .smileysAndPeople + case .faceWithDiagonalMouth: return .smileysAndPeople case .worried: return .smileysAndPeople case .slightlyFrowningFace: return .smileysAndPeople case .whiteFrowningFace: return .smileysAndPeople @@ -1956,6 +1999,7 @@ extension Emoji { case .astonished: return .smileysAndPeople case .flushed: return .smileysAndPeople case .pleadingFace: return .smileysAndPeople + case .faceHoldingBackTears: return .smileysAndPeople case .frowning: return .smileysAndPeople case .anguished: return .smileysAndPeople case .fearful: return .smileysAndPeople @@ -2041,11 +2085,16 @@ extension Emoji { case .raisedHandWithFingersSplayed: return .smileysAndPeople case .hand: return .smileysAndPeople case .spockHand: return .smileysAndPeople + case .rightwardsHand: return .smileysAndPeople + case .leftwardsHand: return .smileysAndPeople + case .palmDownHand: return .smileysAndPeople + case .palmUpHand: return .smileysAndPeople case .okHand: return .smileysAndPeople case .pinchedFingers: return .smileysAndPeople case .pinchingHand: return .smileysAndPeople case .v: return .smileysAndPeople case .crossedFingers: return .smileysAndPeople + case .handWithIndexFingerAndThumbCrossed: return .smileysAndPeople case .iLoveYouHandSign: return .smileysAndPeople case .theHorns: return .smileysAndPeople case .callMeHand: return .smileysAndPeople @@ -2055,6 +2104,7 @@ extension Emoji { case .middleFinger: return .smileysAndPeople case .pointDown: return .smileysAndPeople case .pointUp: return .smileysAndPeople + case .indexPointingAtTheViewer: return .smileysAndPeople case .plusOne: return .smileysAndPeople case .negativeOne: return .smileysAndPeople case .fist: return .smileysAndPeople @@ -2063,6 +2113,7 @@ extension Emoji { case .rightFacingFist: return .smileysAndPeople case .clap: return .smileysAndPeople case .raisedHands: return .smileysAndPeople + case .heartHands: return .smileysAndPeople case .openHands: return .smileysAndPeople case .palmsUpTogether: return .smileysAndPeople case .handshake: return .smileysAndPeople @@ -2087,6 +2138,7 @@ extension Emoji { case .eye: return .smileysAndPeople case .tongue: return .smileysAndPeople case .lips: return .smileysAndPeople + case .bitingLip: return .smileysAndPeople case .baby: return .smileysAndPeople case .child: return .smileysAndPeople case .boy: return .smileysAndPeople @@ -2206,6 +2258,7 @@ extension Emoji { case .constructionWorker: return .smileysAndPeople case .maleConstructionWorker: return .smileysAndPeople case .femaleConstructionWorker: return .smileysAndPeople + case .personWithCrown: return .smileysAndPeople case .prince: return .smileysAndPeople case .princess: return .smileysAndPeople case .manWithTurban: return .smileysAndPeople @@ -2220,6 +2273,8 @@ extension Emoji { case .manWithVeil: return .smileysAndPeople case .womanWithVeil: return .smileysAndPeople case .pregnantWoman: return .smileysAndPeople + case .pregnantMan: return .smileysAndPeople + case .pregnantPerson: return .smileysAndPeople case .breastFeeding: return .smileysAndPeople case .womanFeedingBaby: return .smileysAndPeople case .manFeedingBaby: return .smileysAndPeople @@ -2255,6 +2310,7 @@ extension Emoji { case .zombie: return .smileysAndPeople case .maleZombie: return .smileysAndPeople case .femaleZombie: return .smileysAndPeople + case .troll: return .smileysAndPeople case .massage: return .smileysAndPeople case .manGettingMassage: return .smileysAndPeople case .womanGettingMassage: return .smileysAndPeople @@ -2486,6 +2542,7 @@ extension Emoji { case .shark: return .animals case .octopus: return .animals case .shell: return .animals + case .coral: return .animals case .snail: return .animals case .butterfly: return .animals case .bug: return .animals @@ -2505,6 +2562,7 @@ extension Emoji { case .bouquet: return .animals case .cherryBlossom: return .animals case .whiteFlower: return .animals + case .lotus: return .animals case .rosette: return .animals case .rose: return .animals case .wiltedFlower: return .animals @@ -2525,6 +2583,8 @@ extension Emoji { case .mapleLeaf: return .animals case .fallenLeaf: return .animals case .leaves: return .animals + case .emptyNest: return .animals + case .nestWithEggs: return .animals case .grapes: return .food case .melon: return .food case .watermelon: return .food @@ -2558,6 +2618,7 @@ extension Emoji { case .onion: return .food case .mushroom: return .food case .peanuts: return .food + case .beans: return .food case .chestnut: return .food case .bread: return .food case .croissant: return .food @@ -2643,6 +2704,7 @@ extension Emoji { case .beers: return .food case .clinkingGlasses: return .food case .tumblerGlass: return .food + case .pouringLiquid: return .food case .cupWithStraw: return .food case .bubbleTea: return .food case .beverageBox: return .food @@ -2653,6 +2715,7 @@ extension Emoji { case .forkAndKnife: return .food case .spoon: return .food case .hocho: return .food + case .jar: return .food case .amphora: return .food case .earthAfrica: return .travel case .earthAmericas: return .travel @@ -2715,6 +2778,7 @@ extension Emoji { case .bridgeAtNight: return .travel case .hotsprings: return .travel case .carouselHorse: return .travel + case .playgroundSlide: return .travel case .ferrisWheel: return .travel case .rollerCoaster: return .travel case .barber: return .travel @@ -2763,12 +2827,14 @@ extension Emoji { case .railwayTrack: return .travel case .oilDrum: return .travel case .fuelpump: return .travel + case .wheel: return .travel case .rotatingLight: return .travel case .trafficLight: return .travel case .verticalTrafficLight: return .travel case .octagonalSign: return .travel case .construction: return .travel case .anchor: return .travel + case .ringBuoy: return .travel case .boat: return .travel case .canoe: return .travel case .speedboat: return .travel @@ -2930,6 +2996,7 @@ extension Emoji { case .crystalBall: return .activities case .magicWand: return .activities case .nazarAmulet: return .activities + case .hamsa: return .activities case .videoGame: return .activities case .joystick: return .activities case .slotMachine: return .activities @@ -2937,6 +3004,7 @@ extension Emoji { case .jigsaw: return .activities case .teddyBear: return .activities case .pinata: return .activities + case .mirrorBall: return .activities case .nestingDolls: return .activities case .spades: return .activities case .hearts: return .activities @@ -3032,6 +3100,7 @@ extension Emoji { case .pager: return .objects case .fax: return .objects case .battery: return .objects + case .lowBattery: return .objects case .electricPlug: return .objects case .computer: return .objects case .desktopComputer: return .objects @@ -3172,7 +3241,9 @@ extension Emoji { case .dropOfBlood: return .objects case .pill: return .objects case .adhesiveBandage: return .objects + case .crutch: return .objects case .stethoscope: return .objects + case .xRay: return .objects case .door: return .objects case .elevator: return .objects case .mirror: return .objects @@ -3193,6 +3264,7 @@ extension Emoji { case .rollOfPaper: return .objects case .bucket: return .objects case .soap: return .objects + case .bubbles: return .objects case .toothbrush: return .objects case .sponge: return .objects case .fireExtinguisher: return .objects @@ -3203,6 +3275,7 @@ extension Emoji { case .funeralUrn: return .objects case .moyai: return .objects case .placard: return .objects + case .identificationCard: return .objects case .atm: return .symbols case .putLitterInItsPlace: return .symbols case .potableWater: return .symbols @@ -3306,6 +3379,7 @@ extension Emoji { case .heavyPlusSign: return .symbols case .heavyMinusSign: return .symbols case .heavyDivisionSign: return .symbols + case .heavyEqualsSign: return .symbols case .infinity: return .symbols case .bangbang: return .symbols case .interrobang: return .symbols diff --git a/Signal/src/util/Emoji/Emoji+Name.swift b/Signal/src/util/Emoji/Emoji+Name.swift index e9cc21ef88..d6d3d302ae 100644 --- a/Signal/src/util/Emoji/Emoji+Name.swift +++ b/Signal/src/util/Emoji/Emoji+Name.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // // This file is generated by EmojiGenerator.swift, do not manually edit it. @@ -17,6 +17,7 @@ extension Emoji { case .joy: return "FACE WITH TEARS OF JOY" case .slightlySmilingFace: return "SLIGHTLY SMILING FACE" case .upsideDownFace: return "UPSIDE-DOWN FACE" + case .meltingFace: return "MELTING FACE" case .wink: return "WINKING FACE" case .blush: return "SMILING FACE WITH SMILING EYES" case .innocent: return "SMILING FACE WITH HALO" @@ -37,13 +38,17 @@ extension Emoji { case .moneyMouthFace: return "MONEY-MOUTH FACE" case .huggingFace: return "HUGGING FACE" case .faceWithHandOverMouth: return "SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH" + case .faceWithOpenEyesAndHandOverMouth: return "FACE WITH OPEN EYES AND HAND OVER MOUTH" + case .faceWithPeekingEye: return "FACE WITH PEEKING EYE" case .shushingFace: return "FACE WITH FINGER COVERING CLOSED LIPS" case .thinkingFace: return "THINKING FACE" + case .salutingFace: return "SALUTING FACE" case .zipperMouthFace: return "ZIPPER-MOUTH FACE" case .faceWithRaisedEyebrow: return "FACE WITH ONE EYEBROW RAISED" case .neutralFace: return "NEUTRAL FACE" case .expressionless: return "EXPRESSIONLESS FACE" case .noMouth: return "FACE WITHOUT MOUTH" + case .dottedLineFace: return "DOTTED LINE FACE" case .faceInClouds: return "FACE IN CLOUDS" case .smirk: return "SMIRKING FACE" case .unamused: return "UNAMUSED FACE" @@ -75,6 +80,7 @@ extension Emoji { case .nerdFace: return "NERD FACE" case .faceWithMonocle: return "FACE WITH MONOCLE" case .confused: return "CONFUSED FACE" + case .faceWithDiagonalMouth: return "FACE WITH DIAGONAL MOUTH" case .worried: return "WORRIED FACE" case .slightlyFrowningFace: return "SLIGHTLY FROWNING FACE" case .whiteFrowningFace: return "FROWNING FACE" @@ -83,6 +89,7 @@ extension Emoji { case .astonished: return "ASTONISHED FACE" case .flushed: return "FLUSHED FACE" case .pleadingFace: return "FACE WITH PLEADING EYES" + case .faceHoldingBackTears: return "FACE HOLDING BACK TEARS" case .frowning: return "FROWNING FACE WITH OPEN MOUTH" case .anguished: return "ANGUISHED FACE" case .fearful: return "FEARFUL FACE" @@ -168,11 +175,16 @@ extension Emoji { case .raisedHandWithFingersSplayed: return "HAND WITH FINGERS SPLAYED" case .hand: return "RAISED HAND" case .spockHand: return "RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS" + case .rightwardsHand: return "RIGHTWARDS HAND" + case .leftwardsHand: return "LEFTWARDS HAND" + case .palmDownHand: return "PALM DOWN HAND" + case .palmUpHand: return "PALM UP HAND" case .okHand: return "OK HAND SIGN" case .pinchedFingers: return "PINCHED FINGERS" case .pinchingHand: return "PINCHING HAND" case .v: return "VICTORY HAND" case .crossedFingers: return "HAND WITH INDEX AND MIDDLE FINGERS CROSSED" + case .handWithIndexFingerAndThumbCrossed: return "HAND WITH INDEX FINGER AND THUMB CROSSED" case .iLoveYouHandSign: return "I LOVE YOU HAND SIGN" case .theHorns: return "SIGN OF THE HORNS" case .callMeHand: return "CALL ME HAND" @@ -182,6 +194,7 @@ extension Emoji { case .middleFinger: return "REVERSED HAND WITH MIDDLE FINGER EXTENDED" case .pointDown: return "WHITE DOWN POINTING BACKHAND INDEX" case .pointUp: return "WHITE UP POINTING INDEX" + case .indexPointingAtTheViewer: return "INDEX POINTING AT THE VIEWER" case .plusOne: return "THUMBS UP SIGN" case .negativeOne: return "THUMBS DOWN SIGN" case .fist: return "RAISED FIST" @@ -190,6 +203,7 @@ extension Emoji { case .rightFacingFist: return "RIGHT-FACING FIST" case .clap: return "CLAPPING HANDS SIGN" case .raisedHands: return "PERSON RAISING BOTH HANDS IN CELEBRATION" + case .heartHands: return "HEART HANDS" case .openHands: return "OPEN HANDS SIGN" case .palmsUpTogether: return "PALMS UP TOGETHER" case .handshake: return "HANDSHAKE" @@ -214,6 +228,7 @@ extension Emoji { case .eye: return "EYE" case .tongue: return "TONGUE" case .lips: return "MOUTH" + case .bitingLip: return "BITING LIP" case .baby: return "BABY" case .child: return "CHILD" case .boy: return "BOY" @@ -333,6 +348,7 @@ extension Emoji { case .constructionWorker: return "CONSTRUCTION WORKER" case .maleConstructionWorker: return "MAN CONSTRUCTION WORKER" case .femaleConstructionWorker: return "WOMAN CONSTRUCTION WORKER" + case .personWithCrown: return "PERSON WITH CROWN" case .prince: return "PRINCE" case .princess: return "PRINCESS" case .manWithTurban: return "MAN WITH TURBAN" @@ -347,6 +363,8 @@ extension Emoji { case .manWithVeil: return "MAN WITH VEIL" case .womanWithVeil: return "WOMAN WITH VEIL" case .pregnantWoman: return "PREGNANT WOMAN" + case .pregnantMan: return "PREGNANT MAN" + case .pregnantPerson: return "PREGNANT PERSON" case .breastFeeding: return "BREAST-FEEDING" case .womanFeedingBaby: return "WOMAN FEEDING BABY" case .manFeedingBaby: return "MAN FEEDING BABY" @@ -382,6 +400,7 @@ extension Emoji { case .zombie: return "ZOMBIE" case .maleZombie: return "MAN ZOMBIE" case .femaleZombie: return "WOMAN ZOMBIE" + case .troll: return "TROLL" case .massage: return "FACE MASSAGE" case .manGettingMassage: return "MAN GETTING MASSAGE" case .womanGettingMassage: return "WOMAN GETTING MASSAGE" @@ -618,6 +637,7 @@ extension Emoji { case .shark: return "SHARK" case .octopus: return "OCTOPUS" case .shell: return "SPIRAL SHELL" + case .coral: return "CORAL" case .snail: return "SNAIL" case .butterfly: return "BUTTERFLY" case .bug: return "BUG" @@ -637,6 +657,7 @@ extension Emoji { case .bouquet: return "BOUQUET" case .cherryBlossom: return "CHERRY BLOSSOM" case .whiteFlower: return "WHITE FLOWER" + case .lotus: return "LOTUS" case .rosette: return "ROSETTE" case .rose: return "ROSE" case .wiltedFlower: return "WILTED FLOWER" @@ -657,6 +678,8 @@ extension Emoji { case .mapleLeaf: return "MAPLE LEAF" case .fallenLeaf: return "FALLEN LEAF" case .leaves: return "LEAF FLUTTERING IN WIND" + case .emptyNest: return "EMPTY NEST" + case .nestWithEggs: return "NEST WITH EGGS" case .grapes: return "GRAPES" case .melon: return "MELON" case .watermelon: return "WATERMELON" @@ -690,6 +713,7 @@ extension Emoji { case .onion: return "ONION" case .mushroom: return "MUSHROOM" case .peanuts: return "PEANUTS" + case .beans: return "BEANS" case .chestnut: return "CHESTNUT" case .bread: return "BREAD" case .croissant: return "CROISSANT" @@ -775,6 +799,7 @@ extension Emoji { case .beers: return "CLINKING BEER MUGS" case .clinkingGlasses: return "CLINKING GLASSES" case .tumblerGlass: return "TUMBLER GLASS" + case .pouringLiquid: return "POURING LIQUID" case .cupWithStraw: return "CUP WITH STRAW" case .bubbleTea: return "BUBBLE TEA" case .beverageBox: return "BEVERAGE BOX" @@ -785,6 +810,7 @@ extension Emoji { case .forkAndKnife: return "FORK AND KNIFE" case .spoon: return "SPOON" case .hocho: return "HOCHO" + case .jar: return "JAR" case .amphora: return "AMPHORA" case .earthAfrica: return "EARTH GLOBE EUROPE-AFRICA" case .earthAmericas: return "EARTH GLOBE AMERICAS" @@ -847,6 +873,7 @@ extension Emoji { case .bridgeAtNight: return "BRIDGE AT NIGHT" case .hotsprings: return "HOT SPRINGS" case .carouselHorse: return "CAROUSEL HORSE" + case .playgroundSlide: return "PLAYGROUND SLIDE" case .ferrisWheel: return "FERRIS WHEEL" case .rollerCoaster: return "ROLLER COASTER" case .barber: return "BARBER POLE" @@ -895,12 +922,14 @@ extension Emoji { case .railwayTrack: return "RAILWAY TRACK" case .oilDrum: return "OIL DRUM" case .fuelpump: return "FUEL PUMP" + case .wheel: return "WHEEL" case .rotatingLight: return "POLICE CARS REVOLVING LIGHT" case .trafficLight: return "HORIZONTAL TRAFFIC LIGHT" case .verticalTrafficLight: return "VERTICAL TRAFFIC LIGHT" case .octagonalSign: return "OCTAGONAL SIGN" case .construction: return "CONSTRUCTION SIGN" case .anchor: return "ANCHOR" + case .ringBuoy: return "RING BUOY" case .boat: return "SAILBOAT" case .canoe: return "CANOE" case .speedboat: return "SPEEDBOAT" @@ -1062,6 +1091,7 @@ extension Emoji { case .crystalBall: return "CRYSTAL BALL" case .magicWand: return "MAGIC WAND" case .nazarAmulet: return "NAZAR AMULET" + case .hamsa: return "HAMSA" case .videoGame: return "VIDEO GAME" case .joystick: return "JOYSTICK" case .slotMachine: return "SLOT MACHINE" @@ -1069,6 +1099,7 @@ extension Emoji { case .jigsaw: return "JIGSAW PUZZLE PIECE" case .teddyBear: return "TEDDY BEAR" case .pinata: return "PINATA" + case .mirrorBall: return "MIRROR BALL" case .nestingDolls: return "NESTING DOLLS" case .spades: return "BLACK SPADE SUIT" case .hearts: return "BLACK HEART SUIT" @@ -1164,6 +1195,7 @@ extension Emoji { case .pager: return "PAGER" case .fax: return "FAX MACHINE" case .battery: return "BATTERY" + case .lowBattery: return "LOW BATTERY" case .electricPlug: return "ELECTRIC PLUG" case .computer: return "PERSONAL COMPUTER" case .desktopComputer: return "DESKTOP COMPUTER" @@ -1304,7 +1336,9 @@ extension Emoji { case .dropOfBlood: return "DROP OF BLOOD" case .pill: return "PILL" case .adhesiveBandage: return "ADHESIVE BANDAGE" + case .crutch: return "CRUTCH" case .stethoscope: return "STETHOSCOPE" + case .xRay: return "X-RAY" case .door: return "DOOR" case .elevator: return "ELEVATOR" case .mirror: return "MIRROR" @@ -1325,6 +1359,7 @@ extension Emoji { case .rollOfPaper: return "ROLL OF PAPER" case .bucket: return "BUCKET" case .soap: return "BAR OF SOAP" + case .bubbles: return "BUBBLES" case .toothbrush: return "TOOTHBRUSH" case .sponge: return "SPONGE" case .fireExtinguisher: return "FIRE EXTINGUISHER" @@ -1335,6 +1370,7 @@ extension Emoji { case .funeralUrn: return "FUNERAL URN" case .moyai: return "MOYAI" case .placard: return "PLACARD" + case .identificationCard: return "IDENTIFICATION CARD" case .atm: return "AUTOMATED TELLER MACHINE" case .putLitterInItsPlace: return "PUT LITTER IN ITS PLACE SYMBOL" case .potableWater: return "POTABLE WATER SYMBOL" @@ -1438,6 +1474,7 @@ extension Emoji { case .heavyPlusSign: return "HEAVY PLUS SIGN" case .heavyMinusSign: return "HEAVY MINUS SIGN" case .heavyDivisionSign: return "HEAVY DIVISION SIGN" + case .heavyEqualsSign: return "HEAVY EQUALS SIGN" case .infinity: return "INFINITY" case .bangbang: return "DOUBLE EXCLAMATION MARK" case .interrobang: return "EXCLAMATION QUESTION MARK" diff --git a/Signal/src/util/Emoji/Emoji+SkinTones.swift b/Signal/src/util/Emoji/Emoji+SkinTones.swift index d6664db6a7..38ae2a88fc 100644 --- a/Signal/src/util/Emoji/Emoji+SkinTones.swift +++ b/Signal/src/util/Emoji/Emoji+SkinTones.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // // This file is generated by EmojiGenerator.swift, do not manually edit it. @@ -18,6 +18,7 @@ extension Emoji { var skinToneComponentEmoji: [Emoji]? { switch self { + case .handshake: return [.leftwardsHand, .rightwardsHand] case .peopleHoldingHands: return [.standingPerson, .standingPerson] case .twoWomenHoldingHands: return [.womanStanding, .womanStanding] case .manAndWomanHoldingHands: return [.womanStanding, .manStanding] @@ -76,6 +77,38 @@ extension Emoji { [.mediumDark]: "๐Ÿ––๐Ÿพ", [.dark]: "๐Ÿ––๐Ÿฟ" ] + case .rightwardsHand: + return [ + [.light]: "๐Ÿซฑ๐Ÿป", + [.mediumLight]: "๐Ÿซฑ๐Ÿผ", + [.medium]: "๐Ÿซฑ๐Ÿฝ", + [.mediumDark]: "๐Ÿซฑ๐Ÿพ", + [.dark]: "๐Ÿซฑ๐Ÿฟ" + ] + case .leftwardsHand: + return [ + [.light]: "๐Ÿซฒ๐Ÿป", + [.mediumLight]: "๐Ÿซฒ๐Ÿผ", + [.medium]: "๐Ÿซฒ๐Ÿฝ", + [.mediumDark]: "๐Ÿซฒ๐Ÿพ", + [.dark]: "๐Ÿซฒ๐Ÿฟ" + ] + case .palmDownHand: + return [ + [.light]: "๐Ÿซณ๐Ÿป", + [.mediumLight]: "๐Ÿซณ๐Ÿผ", + [.medium]: "๐Ÿซณ๐Ÿฝ", + [.mediumDark]: "๐Ÿซณ๐Ÿพ", + [.dark]: "๐Ÿซณ๐Ÿฟ" + ] + case .palmUpHand: + return [ + [.light]: "๐Ÿซด๐Ÿป", + [.mediumLight]: "๐Ÿซด๐Ÿผ", + [.medium]: "๐Ÿซด๐Ÿฝ", + [.mediumDark]: "๐Ÿซด๐Ÿพ", + [.dark]: "๐Ÿซด๐Ÿฟ" + ] case .okHand: return [ [.light]: "๐Ÿ‘Œ๐Ÿป", @@ -116,6 +149,14 @@ extension Emoji { [.mediumDark]: "๐Ÿคž๐Ÿพ", [.dark]: "๐Ÿคž๐Ÿฟ" ] + case .handWithIndexFingerAndThumbCrossed: + return [ + [.light]: "๐Ÿซฐ๐Ÿป", + [.mediumLight]: "๐Ÿซฐ๐Ÿผ", + [.medium]: "๐Ÿซฐ๐Ÿฝ", + [.mediumDark]: "๐Ÿซฐ๐Ÿพ", + [.dark]: "๐Ÿซฐ๐Ÿฟ" + ] case .iLoveYouHandSign: return [ [.light]: "๐ŸคŸ๐Ÿป", @@ -188,6 +229,14 @@ extension Emoji { [.mediumDark]: "โ˜๐Ÿพ", [.dark]: "โ˜๐Ÿฟ" ] + case .indexPointingAtTheViewer: + return [ + [.light]: "๐Ÿซต๐Ÿป", + [.mediumLight]: "๐Ÿซต๐Ÿผ", + [.medium]: "๐Ÿซต๐Ÿฝ", + [.mediumDark]: "๐Ÿซต๐Ÿพ", + [.dark]: "๐Ÿซต๐Ÿฟ" + ] case .plusOne: return [ [.light]: "๐Ÿ‘๐Ÿป", @@ -252,6 +301,14 @@ extension Emoji { [.mediumDark]: "๐Ÿ™Œ๐Ÿพ", [.dark]: "๐Ÿ™Œ๐Ÿฟ" ] + case .heartHands: + return [ + [.light]: "๐Ÿซถ๐Ÿป", + [.mediumLight]: "๐Ÿซถ๐Ÿผ", + [.medium]: "๐Ÿซถ๐Ÿฝ", + [.mediumDark]: "๐Ÿซถ๐Ÿพ", + [.dark]: "๐Ÿซถ๐Ÿฟ" + ] case .openHands: return [ [.light]: "๐Ÿ‘๐Ÿป", @@ -268,6 +325,34 @@ extension Emoji { [.mediumDark]: "๐Ÿคฒ๐Ÿพ", [.dark]: "๐Ÿคฒ๐Ÿฟ" ] + case .handshake: + return [ + [.light]: "๐Ÿค๐Ÿป", + [.light, .mediumLight]: "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿผ", + [.light, .medium]: "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฝ", + [.light, .mediumDark]: "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿพ", + [.light, .dark]: "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฟ", + [.mediumLight]: "๐Ÿค๐Ÿผ", + [.mediumLight, .light]: "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿป", + [.mediumLight, .medium]: "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฝ", + [.mediumLight, .mediumDark]: "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿพ", + [.mediumLight, .dark]: "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฟ", + [.medium]: "๐Ÿค๐Ÿฝ", + [.medium, .light]: "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿป", + [.medium, .mediumLight]: "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿผ", + [.medium, .mediumDark]: "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿพ", + [.medium, .dark]: "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฟ", + [.mediumDark]: "๐Ÿค๐Ÿพ", + [.mediumDark, .light]: "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿป", + [.mediumDark, .mediumLight]: "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿผ", + [.mediumDark, .medium]: "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฝ", + [.mediumDark, .dark]: "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ", + [.dark]: "๐Ÿค๐Ÿฟ", + [.dark, .light]: "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿป", + [.dark, .mediumLight]: "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿผ", + [.dark, .medium]: "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿฝ", + [.dark, .mediumDark]: "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿพ" + ] case .pray: return [ [.light]: "๐Ÿ™๐Ÿป", @@ -1300,6 +1385,14 @@ extension Emoji { [.mediumDark]: "๐Ÿ‘ท๐Ÿพโ€โ™€๏ธ", [.dark]: "๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ" ] + case .personWithCrown: + return [ + [.light]: "๐Ÿซ…๐Ÿป", + [.mediumLight]: "๐Ÿซ…๐Ÿผ", + [.medium]: "๐Ÿซ…๐Ÿฝ", + [.mediumDark]: "๐Ÿซ…๐Ÿพ", + [.dark]: "๐Ÿซ…๐Ÿฟ" + ] case .prince: return [ [.light]: "๐Ÿคด๐Ÿป", @@ -1412,6 +1505,22 @@ extension Emoji { [.mediumDark]: "๐Ÿคฐ๐Ÿพ", [.dark]: "๐Ÿคฐ๐Ÿฟ" ] + case .pregnantMan: + return [ + [.light]: "๐Ÿซƒ๐Ÿป", + [.mediumLight]: "๐Ÿซƒ๐Ÿผ", + [.medium]: "๐Ÿซƒ๐Ÿฝ", + [.mediumDark]: "๐Ÿซƒ๐Ÿพ", + [.dark]: "๐Ÿซƒ๐Ÿฟ" + ] + case .pregnantPerson: + return [ + [.light]: "๐Ÿซ„๐Ÿป", + [.mediumLight]: "๐Ÿซ„๐Ÿผ", + [.medium]: "๐Ÿซ„๐Ÿฝ", + [.mediumDark]: "๐Ÿซ„๐Ÿพ", + [.dark]: "๐Ÿซ„๐Ÿฟ" + ] case .breastFeeding: return [ [.light]: "๐Ÿคฑ๐Ÿป", diff --git a/Signal/src/util/Emoji/Emoji.swift b/Signal/src/util/Emoji/Emoji.swift index 9041c98b05..1ea6e8ff6b 100644 --- a/Signal/src/util/Emoji/Emoji.swift +++ b/Signal/src/util/Emoji/Emoji.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // // This file is generated by EmojiGenerator.swift, do not manually edit it. @@ -17,6 +17,7 @@ enum Emoji: String, CaseIterable, Equatable { case joy = "๐Ÿ˜‚" case slightlySmilingFace = "๐Ÿ™‚" case upsideDownFace = "๐Ÿ™ƒ" + case meltingFace = "๐Ÿซ " case wink = "๐Ÿ˜‰" case blush = "๐Ÿ˜Š" case innocent = "๐Ÿ˜‡" @@ -37,13 +38,17 @@ enum Emoji: String, CaseIterable, Equatable { case moneyMouthFace = "๐Ÿค‘" case huggingFace = "๐Ÿค—" case faceWithHandOverMouth = "๐Ÿคญ" + case faceWithOpenEyesAndHandOverMouth = "๐Ÿซข" + case faceWithPeekingEye = "๐Ÿซฃ" case shushingFace = "๐Ÿคซ" case thinkingFace = "๐Ÿค”" + case salutingFace = "๐Ÿซก" case zipperMouthFace = "๐Ÿค" case faceWithRaisedEyebrow = "๐Ÿคจ" case neutralFace = "๐Ÿ˜" case expressionless = "๐Ÿ˜‘" case noMouth = "๐Ÿ˜ถ" + case dottedLineFace = "๐Ÿซฅ" case faceInClouds = "๐Ÿ˜ถโ€๐ŸŒซ๏ธ" case smirk = "๐Ÿ˜" case unamused = "๐Ÿ˜’" @@ -75,6 +80,7 @@ enum Emoji: String, CaseIterable, Equatable { case nerdFace = "๐Ÿค“" case faceWithMonocle = "๐Ÿง" case confused = "๐Ÿ˜•" + case faceWithDiagonalMouth = "๐Ÿซค" case worried = "๐Ÿ˜Ÿ" case slightlyFrowningFace = "๐Ÿ™" case whiteFrowningFace = "โ˜น๏ธ" @@ -83,6 +89,7 @@ enum Emoji: String, CaseIterable, Equatable { case astonished = "๐Ÿ˜ฒ" case flushed = "๐Ÿ˜ณ" case pleadingFace = "๐Ÿฅบ" + case faceHoldingBackTears = "๐Ÿฅน" case frowning = "๐Ÿ˜ฆ" case anguished = "๐Ÿ˜ง" case fearful = "๐Ÿ˜จ" @@ -168,11 +175,16 @@ enum Emoji: String, CaseIterable, Equatable { case raisedHandWithFingersSplayed = "๐Ÿ–๏ธ" case hand = "โœ‹" case spockHand = "๐Ÿ––" + case rightwardsHand = "๐Ÿซฑ" + case leftwardsHand = "๐Ÿซฒ" + case palmDownHand = "๐Ÿซณ" + case palmUpHand = "๐Ÿซด" case okHand = "๐Ÿ‘Œ" case pinchedFingers = "๐ŸคŒ" case pinchingHand = "๐Ÿค" case v = "โœŒ๏ธ" case crossedFingers = "๐Ÿคž" + case handWithIndexFingerAndThumbCrossed = "๐Ÿซฐ" case iLoveYouHandSign = "๐ŸคŸ" case theHorns = "๐Ÿค˜" case callMeHand = "๐Ÿค™" @@ -182,6 +194,7 @@ enum Emoji: String, CaseIterable, Equatable { case middleFinger = "๐Ÿ–•" case pointDown = "๐Ÿ‘‡" case pointUp = "โ˜๏ธ" + case indexPointingAtTheViewer = "๐Ÿซต" case plusOne = "๐Ÿ‘" case negativeOne = "๐Ÿ‘Ž" case fist = "โœŠ" @@ -190,6 +203,7 @@ enum Emoji: String, CaseIterable, Equatable { case rightFacingFist = "๐Ÿคœ" case clap = "๐Ÿ‘" case raisedHands = "๐Ÿ™Œ" + case heartHands = "๐Ÿซถ" case openHands = "๐Ÿ‘" case palmsUpTogether = "๐Ÿคฒ" case handshake = "๐Ÿค" @@ -214,6 +228,7 @@ enum Emoji: String, CaseIterable, Equatable { case eye = "๐Ÿ‘๏ธ" case tongue = "๐Ÿ‘…" case lips = "๐Ÿ‘„" + case bitingLip = "๐Ÿซฆ" case baby = "๐Ÿ‘ถ" case child = "๐Ÿง’" case boy = "๐Ÿ‘ฆ" @@ -333,6 +348,7 @@ enum Emoji: String, CaseIterable, Equatable { case constructionWorker = "๐Ÿ‘ท" case maleConstructionWorker = "๐Ÿ‘ทโ€โ™‚๏ธ" case femaleConstructionWorker = "๐Ÿ‘ทโ€โ™€๏ธ" + case personWithCrown = "๐Ÿซ…" case prince = "๐Ÿคด" case princess = "๐Ÿ‘ธ" case manWithTurban = "๐Ÿ‘ณ" @@ -347,6 +363,8 @@ enum Emoji: String, CaseIterable, Equatable { case manWithVeil = "๐Ÿ‘ฐโ€โ™‚๏ธ" case womanWithVeil = "๐Ÿ‘ฐโ€โ™€๏ธ" case pregnantWoman = "๐Ÿคฐ" + case pregnantMan = "๐Ÿซƒ" + case pregnantPerson = "๐Ÿซ„" case breastFeeding = "๐Ÿคฑ" case womanFeedingBaby = "๐Ÿ‘ฉโ€๐Ÿผ" case manFeedingBaby = "๐Ÿ‘จโ€๐Ÿผ" @@ -382,6 +400,7 @@ enum Emoji: String, CaseIterable, Equatable { case zombie = "๐ŸงŸ" case maleZombie = "๐ŸงŸโ€โ™‚๏ธ" case femaleZombie = "๐ŸงŸโ€โ™€๏ธ" + case troll = "๐ŸงŒ" case massage = "๐Ÿ’†" case manGettingMassage = "๐Ÿ’†โ€โ™‚๏ธ" case womanGettingMassage = "๐Ÿ’†โ€โ™€๏ธ" @@ -618,6 +637,7 @@ enum Emoji: String, CaseIterable, Equatable { case shark = "๐Ÿฆˆ" case octopus = "๐Ÿ™" case shell = "๐Ÿš" + case coral = "๐Ÿชธ" case snail = "๐ŸŒ" case butterfly = "๐Ÿฆ‹" case bug = "๐Ÿ›" @@ -637,6 +657,7 @@ enum Emoji: String, CaseIterable, Equatable { case bouquet = "๐Ÿ’" case cherryBlossom = "๐ŸŒธ" case whiteFlower = "๐Ÿ’ฎ" + case lotus = "๐Ÿชท" case rosette = "๐Ÿต๏ธ" case rose = "๐ŸŒน" case wiltedFlower = "๐Ÿฅ€" @@ -657,6 +678,8 @@ enum Emoji: String, CaseIterable, Equatable { case mapleLeaf = "๐Ÿ" case fallenLeaf = "๐Ÿ‚" case leaves = "๐Ÿƒ" + case emptyNest = "๐Ÿชน" + case nestWithEggs = "๐Ÿชบ" case grapes = "๐Ÿ‡" case melon = "๐Ÿˆ" case watermelon = "๐Ÿ‰" @@ -690,6 +713,7 @@ enum Emoji: String, CaseIterable, Equatable { case onion = "๐Ÿง…" case mushroom = "๐Ÿ„" case peanuts = "๐Ÿฅœ" + case beans = "๐Ÿซ˜" case chestnut = "๐ŸŒฐ" case bread = "๐Ÿž" case croissant = "๐Ÿฅ" @@ -775,6 +799,7 @@ enum Emoji: String, CaseIterable, Equatable { case beers = "๐Ÿป" case clinkingGlasses = "๐Ÿฅ‚" case tumblerGlass = "๐Ÿฅƒ" + case pouringLiquid = "๐Ÿซ—" case cupWithStraw = "๐Ÿฅค" case bubbleTea = "๐Ÿง‹" case beverageBox = "๐Ÿงƒ" @@ -785,6 +810,7 @@ enum Emoji: String, CaseIterable, Equatable { case forkAndKnife = "๐Ÿด" case spoon = "๐Ÿฅ„" case hocho = "๐Ÿ”ช" + case jar = "๐Ÿซ™" case amphora = "๐Ÿบ" case earthAfrica = "๐ŸŒ" case earthAmericas = "๐ŸŒŽ" @@ -847,6 +873,7 @@ enum Emoji: String, CaseIterable, Equatable { case bridgeAtNight = "๐ŸŒ‰" case hotsprings = "โ™จ๏ธ" case carouselHorse = "๐ŸŽ " + case playgroundSlide = "๐Ÿ›" case ferrisWheel = "๐ŸŽก" case rollerCoaster = "๐ŸŽข" case barber = "๐Ÿ’ˆ" @@ -895,12 +922,14 @@ enum Emoji: String, CaseIterable, Equatable { case railwayTrack = "๐Ÿ›ค๏ธ" case oilDrum = "๐Ÿ›ข๏ธ" case fuelpump = "โ›ฝ" + case wheel = "๐Ÿ›ž" case rotatingLight = "๐Ÿšจ" case trafficLight = "๐Ÿšฅ" case verticalTrafficLight = "๐Ÿšฆ" case octagonalSign = "๐Ÿ›‘" case construction = "๐Ÿšง" case anchor = "โš“" + case ringBuoy = "๐Ÿ›Ÿ" case boat = "โ›ต" case canoe = "๐Ÿ›ถ" case speedboat = "๐Ÿšค" @@ -1062,6 +1091,7 @@ enum Emoji: String, CaseIterable, Equatable { case crystalBall = "๐Ÿ”ฎ" case magicWand = "๐Ÿช„" case nazarAmulet = "๐Ÿงฟ" + case hamsa = "๐Ÿชฌ" case videoGame = "๐ŸŽฎ" case joystick = "๐Ÿ•น๏ธ" case slotMachine = "๐ŸŽฐ" @@ -1069,6 +1099,7 @@ enum Emoji: String, CaseIterable, Equatable { case jigsaw = "๐Ÿงฉ" case teddyBear = "๐Ÿงธ" case pinata = "๐Ÿช…" + case mirrorBall = "๐Ÿชฉ" case nestingDolls = "๐Ÿช†" case spades = "โ™ ๏ธ" case hearts = "โ™ฅ๏ธ" @@ -1164,6 +1195,7 @@ enum Emoji: String, CaseIterable, Equatable { case pager = "๐Ÿ“Ÿ" case fax = "๐Ÿ“ " case battery = "๐Ÿ”‹" + case lowBattery = "๐Ÿชซ" case electricPlug = "๐Ÿ”Œ" case computer = "๐Ÿ’ป" case desktopComputer = "๐Ÿ–ฅ๏ธ" @@ -1304,7 +1336,9 @@ enum Emoji: String, CaseIterable, Equatable { case dropOfBlood = "๐Ÿฉธ" case pill = "๐Ÿ’Š" case adhesiveBandage = "๐Ÿฉน" + case crutch = "๐Ÿฉผ" case stethoscope = "๐Ÿฉบ" + case xRay = "๐Ÿฉป" case door = "๐Ÿšช" case elevator = "๐Ÿ›—" case mirror = "๐Ÿชž" @@ -1325,6 +1359,7 @@ enum Emoji: String, CaseIterable, Equatable { case rollOfPaper = "๐Ÿงป" case bucket = "๐Ÿชฃ" case soap = "๐Ÿงผ" + case bubbles = "๐Ÿซง" case toothbrush = "๐Ÿชฅ" case sponge = "๐Ÿงฝ" case fireExtinguisher = "๐Ÿงฏ" @@ -1335,6 +1370,7 @@ enum Emoji: String, CaseIterable, Equatable { case funeralUrn = "โšฑ๏ธ" case moyai = "๐Ÿ—ฟ" case placard = "๐Ÿชง" + case identificationCard = "๐Ÿชช" case atm = "๐Ÿง" case putLitterInItsPlace = "๐Ÿšฎ" case potableWater = "๐Ÿšฐ" @@ -1438,6 +1474,7 @@ enum Emoji: String, CaseIterable, Equatable { case heavyPlusSign = "โž•" case heavyMinusSign = "โž–" case heavyDivisionSign = "โž—" + case heavyEqualsSign = "๐ŸŸฐ" case infinity = "โ™พ๏ธ" case bangbang = "โ€ผ๏ธ" case interrobang = "โ‰๏ธ" diff --git a/Signal/src/util/Emoji/EmojiWithSkinTones+String.swift b/Signal/src/util/Emoji/EmojiWithSkinTones+String.swift index a6c63f7bf2..6d9e733db6 100644 --- a/Signal/src/util/Emoji/EmojiWithSkinTones+String.swift +++ b/Signal/src/util/Emoji/EmojiWithSkinTones+String.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // // This file is generated by EmojiGenerator.swift, do not manually edit it. @@ -27,6 +27,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .slightlySmilingFace, skinTones: nil) } else if rawValue == "๐Ÿ™ƒ" { self.init(baseEmoji: .upsideDownFace, skinTones: nil) + } else if rawValue == "๐Ÿซ " { + self.init(baseEmoji: .meltingFace, skinTones: nil) } else if rawValue == "๐Ÿ˜‰" { self.init(baseEmoji: .wink, skinTones: nil) } else if rawValue == "๐Ÿ˜Š" { @@ -67,10 +69,16 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .huggingFace, skinTones: nil) } else if rawValue == "๐Ÿคญ" { self.init(baseEmoji: .faceWithHandOverMouth, skinTones: nil) + } else if rawValue == "๐Ÿซข" { + self.init(baseEmoji: .faceWithOpenEyesAndHandOverMouth, skinTones: nil) + } else if rawValue == "๐Ÿซฃ" { + self.init(baseEmoji: .faceWithPeekingEye, skinTones: nil) } else if rawValue == "๐Ÿคซ" { self.init(baseEmoji: .shushingFace, skinTones: nil) } else if rawValue == "๐Ÿค”" { self.init(baseEmoji: .thinkingFace, skinTones: nil) + } else if rawValue == "๐Ÿซก" { + self.init(baseEmoji: .salutingFace, skinTones: nil) } else if rawValue == "๐Ÿค" { self.init(baseEmoji: .zipperMouthFace, skinTones: nil) } else if rawValue == "๐Ÿคจ" { @@ -81,6 +89,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .expressionless, skinTones: nil) } else if rawValue == "๐Ÿ˜ถ" { self.init(baseEmoji: .noMouth, skinTones: nil) + } else if rawValue == "๐Ÿซฅ" { + self.init(baseEmoji: .dottedLineFace, skinTones: nil) } else if rawValue == "๐Ÿ˜ถโ€๐ŸŒซ๏ธ" { self.init(baseEmoji: .faceInClouds, skinTones: nil) } else if rawValue == "๐Ÿ˜" { @@ -143,6 +153,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .faceWithMonocle, skinTones: nil) } else if rawValue == "๐Ÿ˜•" { self.init(baseEmoji: .confused, skinTones: nil) + } else if rawValue == "๐Ÿซค" { + self.init(baseEmoji: .faceWithDiagonalMouth, skinTones: nil) } else if rawValue == "๐Ÿ˜Ÿ" { self.init(baseEmoji: .worried, skinTones: nil) } else if rawValue == "๐Ÿ™" { @@ -159,6 +171,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .flushed, skinTones: nil) } else if rawValue == "๐Ÿฅบ" { self.init(baseEmoji: .pleadingFace, skinTones: nil) + } else if rawValue == "๐Ÿฅน" { + self.init(baseEmoji: .faceHoldingBackTears, skinTones: nil) } else if rawValue == "๐Ÿ˜ฆ" { self.init(baseEmoji: .frowning, skinTones: nil) } else if rawValue == "๐Ÿ˜ง" { @@ -379,6 +393,54 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .spockHand, skinTones: [.mediumDark]) } else if rawValue == "๐Ÿ––๐Ÿฟ" { self.init(baseEmoji: .spockHand, skinTones: [.dark]) + } else if rawValue == "๐Ÿซฑ" { + self.init(baseEmoji: .rightwardsHand, skinTones: nil) + } else if rawValue == "๐Ÿซฑ๐Ÿป" { + self.init(baseEmoji: .rightwardsHand, skinTones: [.light]) + } else if rawValue == "๐Ÿซฑ๐Ÿผ" { + self.init(baseEmoji: .rightwardsHand, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซฑ๐Ÿฝ" { + self.init(baseEmoji: .rightwardsHand, skinTones: [.medium]) + } else if rawValue == "๐Ÿซฑ๐Ÿพ" { + self.init(baseEmoji: .rightwardsHand, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซฑ๐Ÿฟ" { + self.init(baseEmoji: .rightwardsHand, skinTones: [.dark]) + } else if rawValue == "๐Ÿซฒ" { + self.init(baseEmoji: .leftwardsHand, skinTones: nil) + } else if rawValue == "๐Ÿซฒ๐Ÿป" { + self.init(baseEmoji: .leftwardsHand, skinTones: [.light]) + } else if rawValue == "๐Ÿซฒ๐Ÿผ" { + self.init(baseEmoji: .leftwardsHand, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซฒ๐Ÿฝ" { + self.init(baseEmoji: .leftwardsHand, skinTones: [.medium]) + } else if rawValue == "๐Ÿซฒ๐Ÿพ" { + self.init(baseEmoji: .leftwardsHand, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซฒ๐Ÿฟ" { + self.init(baseEmoji: .leftwardsHand, skinTones: [.dark]) + } else if rawValue == "๐Ÿซณ" { + self.init(baseEmoji: .palmDownHand, skinTones: nil) + } else if rawValue == "๐Ÿซณ๐Ÿป" { + self.init(baseEmoji: .palmDownHand, skinTones: [.light]) + } else if rawValue == "๐Ÿซณ๐Ÿผ" { + self.init(baseEmoji: .palmDownHand, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซณ๐Ÿฝ" { + self.init(baseEmoji: .palmDownHand, skinTones: [.medium]) + } else if rawValue == "๐Ÿซณ๐Ÿพ" { + self.init(baseEmoji: .palmDownHand, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซณ๐Ÿฟ" { + self.init(baseEmoji: .palmDownHand, skinTones: [.dark]) + } else if rawValue == "๐Ÿซด" { + self.init(baseEmoji: .palmUpHand, skinTones: nil) + } else if rawValue == "๐Ÿซด๐Ÿป" { + self.init(baseEmoji: .palmUpHand, skinTones: [.light]) + } else if rawValue == "๐Ÿซด๐Ÿผ" { + self.init(baseEmoji: .palmUpHand, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซด๐Ÿฝ" { + self.init(baseEmoji: .palmUpHand, skinTones: [.medium]) + } else if rawValue == "๐Ÿซด๐Ÿพ" { + self.init(baseEmoji: .palmUpHand, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซด๐Ÿฟ" { + self.init(baseEmoji: .palmUpHand, skinTones: [.dark]) } else if rawValue == "๐Ÿ‘Œ" { self.init(baseEmoji: .okHand, skinTones: nil) } else if rawValue == "๐Ÿ‘Œ๐Ÿป" { @@ -439,6 +501,18 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .crossedFingers, skinTones: [.mediumDark]) } else if rawValue == "๐Ÿคž๐Ÿฟ" { self.init(baseEmoji: .crossedFingers, skinTones: [.dark]) + } else if rawValue == "๐Ÿซฐ" { + self.init(baseEmoji: .handWithIndexFingerAndThumbCrossed, skinTones: nil) + } else if rawValue == "๐Ÿซฐ๐Ÿป" { + self.init(baseEmoji: .handWithIndexFingerAndThumbCrossed, skinTones: [.light]) + } else if rawValue == "๐Ÿซฐ๐Ÿผ" { + self.init(baseEmoji: .handWithIndexFingerAndThumbCrossed, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซฐ๐Ÿฝ" { + self.init(baseEmoji: .handWithIndexFingerAndThumbCrossed, skinTones: [.medium]) + } else if rawValue == "๐Ÿซฐ๐Ÿพ" { + self.init(baseEmoji: .handWithIndexFingerAndThumbCrossed, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซฐ๐Ÿฟ" { + self.init(baseEmoji: .handWithIndexFingerAndThumbCrossed, skinTones: [.dark]) } else if rawValue == "๐ŸคŸ" { self.init(baseEmoji: .iLoveYouHandSign, skinTones: nil) } else if rawValue == "๐ŸคŸ๐Ÿป" { @@ -547,6 +621,18 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .pointUp, skinTones: [.mediumDark]) } else if rawValue == "โ˜๐Ÿฟ" { self.init(baseEmoji: .pointUp, skinTones: [.dark]) + } else if rawValue == "๐Ÿซต" { + self.init(baseEmoji: .indexPointingAtTheViewer, skinTones: nil) + } else if rawValue == "๐Ÿซต๐Ÿป" { + self.init(baseEmoji: .indexPointingAtTheViewer, skinTones: [.light]) + } else if rawValue == "๐Ÿซต๐Ÿผ" { + self.init(baseEmoji: .indexPointingAtTheViewer, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซต๐Ÿฝ" { + self.init(baseEmoji: .indexPointingAtTheViewer, skinTones: [.medium]) + } else if rawValue == "๐Ÿซต๐Ÿพ" { + self.init(baseEmoji: .indexPointingAtTheViewer, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซต๐Ÿฟ" { + self.init(baseEmoji: .indexPointingAtTheViewer, skinTones: [.dark]) } else if rawValue == "๐Ÿ‘" { self.init(baseEmoji: .plusOne, skinTones: nil) } else if rawValue == "๐Ÿ‘๐Ÿป" { @@ -643,6 +729,18 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .raisedHands, skinTones: [.mediumDark]) } else if rawValue == "๐Ÿ™Œ๐Ÿฟ" { self.init(baseEmoji: .raisedHands, skinTones: [.dark]) + } else if rawValue == "๐Ÿซถ" { + self.init(baseEmoji: .heartHands, skinTones: nil) + } else if rawValue == "๐Ÿซถ๐Ÿป" { + self.init(baseEmoji: .heartHands, skinTones: [.light]) + } else if rawValue == "๐Ÿซถ๐Ÿผ" { + self.init(baseEmoji: .heartHands, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซถ๐Ÿฝ" { + self.init(baseEmoji: .heartHands, skinTones: [.medium]) + } else if rawValue == "๐Ÿซถ๐Ÿพ" { + self.init(baseEmoji: .heartHands, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซถ๐Ÿฟ" { + self.init(baseEmoji: .heartHands, skinTones: [.dark]) } else if rawValue == "๐Ÿ‘" { self.init(baseEmoji: .openHands, skinTones: nil) } else if rawValue == "๐Ÿ‘๐Ÿป" { @@ -669,6 +767,56 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .palmsUpTogether, skinTones: [.dark]) } else if rawValue == "๐Ÿค" { self.init(baseEmoji: .handshake, skinTones: nil) + } else if rawValue == "๐Ÿค๐Ÿป" { + self.init(baseEmoji: .handshake, skinTones: [.light]) + } else if rawValue == "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿผ" { + self.init(baseEmoji: .handshake, skinTones: [.light, .mediumLight]) + } else if rawValue == "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฝ" { + self.init(baseEmoji: .handshake, skinTones: [.light, .medium]) + } else if rawValue == "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿพ" { + self.init(baseEmoji: .handshake, skinTones: [.light, .mediumDark]) + } else if rawValue == "๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฟ" { + self.init(baseEmoji: .handshake, skinTones: [.light, .dark]) + } else if rawValue == "๐Ÿค๐Ÿผ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿป" { + self.init(baseEmoji: .handshake, skinTones: [.mediumLight, .light]) + } else if rawValue == "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฝ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumLight, .medium]) + } else if rawValue == "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿพ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumLight, .mediumDark]) + } else if rawValue == "๐Ÿซฑ๐Ÿผโ€๐Ÿซฒ๐Ÿฟ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumLight, .dark]) + } else if rawValue == "๐Ÿค๐Ÿฝ" { + self.init(baseEmoji: .handshake, skinTones: [.medium]) + } else if rawValue == "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿป" { + self.init(baseEmoji: .handshake, skinTones: [.medium, .light]) + } else if rawValue == "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿผ" { + self.init(baseEmoji: .handshake, skinTones: [.medium, .mediumLight]) + } else if rawValue == "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿพ" { + self.init(baseEmoji: .handshake, skinTones: [.medium, .mediumDark]) + } else if rawValue == "๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฟ" { + self.init(baseEmoji: .handshake, skinTones: [.medium, .dark]) + } else if rawValue == "๐Ÿค๐Ÿพ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿป" { + self.init(baseEmoji: .handshake, skinTones: [.mediumDark, .light]) + } else if rawValue == "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿผ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumDark, .mediumLight]) + } else if rawValue == "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฝ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumDark, .medium]) + } else if rawValue == "๐Ÿซฑ๐Ÿพโ€๐Ÿซฒ๐Ÿฟ" { + self.init(baseEmoji: .handshake, skinTones: [.mediumDark, .dark]) + } else if rawValue == "๐Ÿค๐Ÿฟ" { + self.init(baseEmoji: .handshake, skinTones: [.dark]) + } else if rawValue == "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿป" { + self.init(baseEmoji: .handshake, skinTones: [.dark, .light]) + } else if rawValue == "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿผ" { + self.init(baseEmoji: .handshake, skinTones: [.dark, .mediumLight]) + } else if rawValue == "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿฝ" { + self.init(baseEmoji: .handshake, skinTones: [.dark, .medium]) + } else if rawValue == "๐Ÿซฑ๐Ÿฟโ€๐Ÿซฒ๐Ÿพ" { + self.init(baseEmoji: .handshake, skinTones: [.dark, .mediumDark]) } else if rawValue == "๐Ÿ™" { self.init(baseEmoji: .pray, skinTones: nil) } else if rawValue == "๐Ÿ™๐Ÿป" { @@ -811,6 +959,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .tongue, skinTones: nil) } else if rawValue == "๐Ÿ‘„" { self.init(baseEmoji: .lips, skinTones: nil) + } else if rawValue == "๐Ÿซฆ" { + self.init(baseEmoji: .bitingLip, skinTones: nil) } else if rawValue == "๐Ÿ‘ถ" { self.init(baseEmoji: .baby, skinTones: nil) } else if rawValue == "๐Ÿ‘ถ๐Ÿป" { @@ -2239,6 +2389,18 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .femaleConstructionWorker, skinTones: [.mediumDark]) } else if rawValue == "๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ" { self.init(baseEmoji: .femaleConstructionWorker, skinTones: [.dark]) + } else if rawValue == "๐Ÿซ…" { + self.init(baseEmoji: .personWithCrown, skinTones: nil) + } else if rawValue == "๐Ÿซ…๐Ÿป" { + self.init(baseEmoji: .personWithCrown, skinTones: [.light]) + } else if rawValue == "๐Ÿซ…๐Ÿผ" { + self.init(baseEmoji: .personWithCrown, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซ…๐Ÿฝ" { + self.init(baseEmoji: .personWithCrown, skinTones: [.medium]) + } else if rawValue == "๐Ÿซ…๐Ÿพ" { + self.init(baseEmoji: .personWithCrown, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซ…๐Ÿฟ" { + self.init(baseEmoji: .personWithCrown, skinTones: [.dark]) } else if rawValue == "๐Ÿคด" { self.init(baseEmoji: .prince, skinTones: nil) } else if rawValue == "๐Ÿคด๐Ÿป" { @@ -2407,6 +2569,30 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .pregnantWoman, skinTones: [.mediumDark]) } else if rawValue == "๐Ÿคฐ๐Ÿฟ" { self.init(baseEmoji: .pregnantWoman, skinTones: [.dark]) + } else if rawValue == "๐Ÿซƒ" { + self.init(baseEmoji: .pregnantMan, skinTones: nil) + } else if rawValue == "๐Ÿซƒ๐Ÿป" { + self.init(baseEmoji: .pregnantMan, skinTones: [.light]) + } else if rawValue == "๐Ÿซƒ๐Ÿผ" { + self.init(baseEmoji: .pregnantMan, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซƒ๐Ÿฝ" { + self.init(baseEmoji: .pregnantMan, skinTones: [.medium]) + } else if rawValue == "๐Ÿซƒ๐Ÿพ" { + self.init(baseEmoji: .pregnantMan, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซƒ๐Ÿฟ" { + self.init(baseEmoji: .pregnantMan, skinTones: [.dark]) + } else if rawValue == "๐Ÿซ„" { + self.init(baseEmoji: .pregnantPerson, skinTones: nil) + } else if rawValue == "๐Ÿซ„๐Ÿป" { + self.init(baseEmoji: .pregnantPerson, skinTones: [.light]) + } else if rawValue == "๐Ÿซ„๐Ÿผ" { + self.init(baseEmoji: .pregnantPerson, skinTones: [.mediumLight]) + } else if rawValue == "๐Ÿซ„๐Ÿฝ" { + self.init(baseEmoji: .pregnantPerson, skinTones: [.medium]) + } else if rawValue == "๐Ÿซ„๐Ÿพ" { + self.init(baseEmoji: .pregnantPerson, skinTones: [.mediumDark]) + } else if rawValue == "๐Ÿซ„๐Ÿฟ" { + self.init(baseEmoji: .pregnantPerson, skinTones: [.dark]) } else if rawValue == "๐Ÿคฑ" { self.init(baseEmoji: .breastFeeding, skinTones: nil) } else if rawValue == "๐Ÿคฑ๐Ÿป" { @@ -2767,6 +2953,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .maleZombie, skinTones: nil) } else if rawValue == "๐ŸงŸโ€โ™€๏ธ" { self.init(baseEmoji: .femaleZombie, skinTones: nil) + } else if rawValue == "๐ŸงŒ" { + self.init(baseEmoji: .troll, skinTones: nil) } else if rawValue == "๐Ÿ’†" { self.init(baseEmoji: .massage, skinTones: nil) } else if rawValue == "๐Ÿ’†๐Ÿป" { @@ -4629,6 +4817,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .octopus, skinTones: nil) } else if rawValue == "๐Ÿš" { self.init(baseEmoji: .shell, skinTones: nil) + } else if rawValue == "๐Ÿชธ" { + self.init(baseEmoji: .coral, skinTones: nil) } else if rawValue == "๐ŸŒ" { self.init(baseEmoji: .snail, skinTones: nil) } else if rawValue == "๐Ÿฆ‹" { @@ -4667,6 +4857,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .cherryBlossom, skinTones: nil) } else if rawValue == "๐Ÿ’ฎ" { self.init(baseEmoji: .whiteFlower, skinTones: nil) + } else if rawValue == "๐Ÿชท" { + self.init(baseEmoji: .lotus, skinTones: nil) } else if rawValue == "๐Ÿต๏ธ" { self.init(baseEmoji: .rosette, skinTones: nil) } else if rawValue == "๐ŸŒน" { @@ -4707,6 +4899,10 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .fallenLeaf, skinTones: nil) } else if rawValue == "๐Ÿƒ" { self.init(baseEmoji: .leaves, skinTones: nil) + } else if rawValue == "๐Ÿชน" { + self.init(baseEmoji: .emptyNest, skinTones: nil) + } else if rawValue == "๐Ÿชบ" { + self.init(baseEmoji: .nestWithEggs, skinTones: nil) } else if rawValue == "๐Ÿ‡" { self.init(baseEmoji: .grapes, skinTones: nil) } else if rawValue == "๐Ÿˆ" { @@ -4773,6 +4969,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .mushroom, skinTones: nil) } else if rawValue == "๐Ÿฅœ" { self.init(baseEmoji: .peanuts, skinTones: nil) + } else if rawValue == "๐Ÿซ˜" { + self.init(baseEmoji: .beans, skinTones: nil) } else if rawValue == "๐ŸŒฐ" { self.init(baseEmoji: .chestnut, skinTones: nil) } else if rawValue == "๐Ÿž" { @@ -4943,6 +5141,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .clinkingGlasses, skinTones: nil) } else if rawValue == "๐Ÿฅƒ" { self.init(baseEmoji: .tumblerGlass, skinTones: nil) + } else if rawValue == "๐Ÿซ—" { + self.init(baseEmoji: .pouringLiquid, skinTones: nil) } else if rawValue == "๐Ÿฅค" { self.init(baseEmoji: .cupWithStraw, skinTones: nil) } else if rawValue == "๐Ÿง‹" { @@ -4963,6 +5163,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .spoon, skinTones: nil) } else if rawValue == "๐Ÿ”ช" { self.init(baseEmoji: .hocho, skinTones: nil) + } else if rawValue == "๐Ÿซ™" { + self.init(baseEmoji: .jar, skinTones: nil) } else if rawValue == "๐Ÿบ" { self.init(baseEmoji: .amphora, skinTones: nil) } else if rawValue == "๐ŸŒ" { @@ -5087,6 +5289,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .hotsprings, skinTones: nil) } else if rawValue == "๐ŸŽ " { self.init(baseEmoji: .carouselHorse, skinTones: nil) + } else if rawValue == "๐Ÿ›" { + self.init(baseEmoji: .playgroundSlide, skinTones: nil) } else if rawValue == "๐ŸŽก" { self.init(baseEmoji: .ferrisWheel, skinTones: nil) } else if rawValue == "๐ŸŽข" { @@ -5183,6 +5387,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .oilDrum, skinTones: nil) } else if rawValue == "โ›ฝ" { self.init(baseEmoji: .fuelpump, skinTones: nil) + } else if rawValue == "๐Ÿ›ž" { + self.init(baseEmoji: .wheel, skinTones: nil) } else if rawValue == "๐Ÿšจ" { self.init(baseEmoji: .rotatingLight, skinTones: nil) } else if rawValue == "๐Ÿšฅ" { @@ -5195,6 +5401,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .construction, skinTones: nil) } else if rawValue == "โš“" { self.init(baseEmoji: .anchor, skinTones: nil) + } else if rawValue == "๐Ÿ›Ÿ" { + self.init(baseEmoji: .ringBuoy, skinTones: nil) } else if rawValue == "โ›ต" { self.init(baseEmoji: .boat, skinTones: nil) } else if rawValue == "๐Ÿ›ถ" { @@ -5517,6 +5725,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .magicWand, skinTones: nil) } else if rawValue == "๐Ÿงฟ" { self.init(baseEmoji: .nazarAmulet, skinTones: nil) + } else if rawValue == "๐Ÿชฌ" { + self.init(baseEmoji: .hamsa, skinTones: nil) } else if rawValue == "๐ŸŽฎ" { self.init(baseEmoji: .videoGame, skinTones: nil) } else if rawValue == "๐Ÿ•น๏ธ" { @@ -5531,6 +5741,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .teddyBear, skinTones: nil) } else if rawValue == "๐Ÿช…" { self.init(baseEmoji: .pinata, skinTones: nil) + } else if rawValue == "๐Ÿชฉ" { + self.init(baseEmoji: .mirrorBall, skinTones: nil) } else if rawValue == "๐Ÿช†" { self.init(baseEmoji: .nestingDolls, skinTones: nil) } else if rawValue == "โ™ ๏ธ" { @@ -5721,6 +5933,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .fax, skinTones: nil) } else if rawValue == "๐Ÿ”‹" { self.init(baseEmoji: .battery, skinTones: nil) + } else if rawValue == "๐Ÿชซ" { + self.init(baseEmoji: .lowBattery, skinTones: nil) } else if rawValue == "๐Ÿ”Œ" { self.init(baseEmoji: .electricPlug, skinTones: nil) } else if rawValue == "๐Ÿ’ป" { @@ -6001,8 +6215,12 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .pill, skinTones: nil) } else if rawValue == "๐Ÿฉน" { self.init(baseEmoji: .adhesiveBandage, skinTones: nil) + } else if rawValue == "๐Ÿฉผ" { + self.init(baseEmoji: .crutch, skinTones: nil) } else if rawValue == "๐Ÿฉบ" { self.init(baseEmoji: .stethoscope, skinTones: nil) + } else if rawValue == "๐Ÿฉป" { + self.init(baseEmoji: .xRay, skinTones: nil) } else if rawValue == "๐Ÿšช" { self.init(baseEmoji: .door, skinTones: nil) } else if rawValue == "๐Ÿ›—" { @@ -6043,6 +6261,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .bucket, skinTones: nil) } else if rawValue == "๐Ÿงผ" { self.init(baseEmoji: .soap, skinTones: nil) + } else if rawValue == "๐Ÿซง" { + self.init(baseEmoji: .bubbles, skinTones: nil) } else if rawValue == "๐Ÿชฅ" { self.init(baseEmoji: .toothbrush, skinTones: nil) } else if rawValue == "๐Ÿงฝ" { @@ -6063,6 +6283,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .moyai, skinTones: nil) } else if rawValue == "๐Ÿชง" { self.init(baseEmoji: .placard, skinTones: nil) + } else if rawValue == "๐Ÿชช" { + self.init(baseEmoji: .identificationCard, skinTones: nil) } else if rawValue == "๐Ÿง" { self.init(baseEmoji: .atm, skinTones: nil) } else if rawValue == "๐Ÿšฎ" { @@ -6269,6 +6491,8 @@ extension EmojiWithSkinTones { self.init(baseEmoji: .heavyMinusSign, skinTones: nil) } else if rawValue == "โž—" { self.init(baseEmoji: .heavyDivisionSign, skinTones: nil) + } else if rawValue == "๐ŸŸฐ" { + self.init(baseEmoji: .heavyEqualsSign, skinTones: nil) } else if rawValue == "โ™พ๏ธ" { self.init(baseEmoji: .infinity, skinTones: nil) } else if rawValue == "โ€ผ๏ธ" { From a348495786cad08b92d5851413ec95c8406f4a2c Mon Sep 17 00:00:00 2001 From: Michelle Linington Date: Thu, 3 Mar 2022 17:06:28 -0800 Subject: [PATCH 2/2] Swap hands --- Scripts/EmojiGenerator.swift | 2 +- Signal/src/util/Emoji/Emoji+SkinTones.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/EmojiGenerator.swift b/Scripts/EmojiGenerator.swift index def71933b7..b8d9eff315 100755 --- a/Scripts/EmojiGenerator.swift +++ b/Scripts/EmojiGenerator.swift @@ -171,7 +171,7 @@ struct EmojiModel { case "womanHeartMan": return "[.woman, .man]" case "manHeartMan": return "[.man, .man]" case "womanHeartWoman": return "[.woman, .woman]" - case "handshake": return "[.leftwardsHand, .rightwardsHand]" + case "handshake": return "[.rightwardsHand, .leftwardsHand]" default: return nil } diff --git a/Signal/src/util/Emoji/Emoji+SkinTones.swift b/Signal/src/util/Emoji/Emoji+SkinTones.swift index 38ae2a88fc..d973775bde 100644 --- a/Signal/src/util/Emoji/Emoji+SkinTones.swift +++ b/Signal/src/util/Emoji/Emoji+SkinTones.swift @@ -18,7 +18,7 @@ extension Emoji { var skinToneComponentEmoji: [Emoji]? { switch self { - case .handshake: return [.leftwardsHand, .rightwardsHand] + case .handshake: return [.rightwardsHand, .leftwardsHand] case .peopleHoldingHands: return [.standingPerson, .standingPerson] case .twoWomenHoldingHands: return [.womanStanding, .womanStanding] case .manAndWomanHoldingHands: return [.womanStanding, .manStanding]