"Default ☪ \n" //default presentation
"FamilyManWomanGirlBoy 👨‍👩‍👧‍👦\n" // emoji multi zwj sequence
"WomanScientist 👩‍🔬\n" // emoji zwj sequence
- "WomanScientistLightSkinTone👩🏻‍🔬 \n" //emoji modifier sequence: skin tone & JWZ
- "LeftRightArrowText↔︎\n" //text presentation sequence and selector
- "LeftRightArrowEmoji↔️\n" //emoji presentation sequence and selector
- "SouthKoreaFlag🇰🇷\n" //emoji flag sequence
+ "WomanScientistLightSkinTone👩🏻‍🔬 \n" // emoji modifier sequence: skin tone & JWZ
+ "LeftRightArrowText↔︎\n" // text presentation sequence and selector
+ "LeftRightArrowEmoji↔️\n" // emoji presentation sequence and selector
+ "SouthKoreaFlag🇰🇷\n" // emoji flag sequence
"JordanFlag🇯🇴\n" // emoji flag sequence
- "EnglandFlag🏴󠁧󠁢󠁥󠁮󠁧󠁿\n" //emoji tag sequence like England flag
+ "EnglandFlag🏴󠁧󠁢󠁥󠁮󠁧󠁿\n" // emoji tag sequence like England flag
"Runner 🏃‍➡️ \n"
- "VictoryHandMediumLightSkinTone:✌️🏼\n" //emoji modifier sequence: skin tone
- "RainbowFlag:🏳️‍🌈 \n" //emoji zwj sequence: Rainbow Flag
- "keycap# #️⃣ \n" // fully-qualified emoji keycap sequence
- "keycap#_text #⃣ \n" // unqualified emoji keycap sequence
- "keycap3 3️⃣ \n" // fully-qualified emoji keycap sequence
- "keycap3_text 3⃣ \n" // unqualified emoji keycap sequence
- "two adjacent glyphs ☪️️️☪️\n" //This line should be rendered as two adjacent glyphs
- "Digit 8️ 8︎ 8\n" // should be rendered according to selector
- "Surfing Medium Skin Female: 🏄🏼‍♀️"; // Person Surfing + Medium Skin Tone +? Zero Width Joiner + Female Sign
+ "VictoryHandMediumLightSkinTone:✌️🏼\n" // emoji modifier sequence: skin tone
+ "RainbowFlag:🏳️‍🌈 \n" // emoji zwj sequence: Rainbow Flag
+ "keycap# #️⃣ \n" // fully-qualified emoji keycap sequence
+ "keycap#_text #⃣ \n" // unqualified emoji keycap sequence
+ "keycap3 3️⃣ \n" // fully-qualified emoji keycap sequence
+ "keycap3_text 3⃣ \n" // unqualified emoji keycap sequence
+ "two adjacent glyphs ☪️️️☪️\n" // This line should be rendered as two adjacent glyphs
+ "Digit 8️ 8︎ 8\n" // should be rendered according to selector
+ "Surfing Medium Skin Female: 🏄🏼‍♀️\n" // Person Surfing + Medium Skin Tone +? Zero Width Joiner + Female Sign
+ "SYMBOLS_NSLCL variation selector: 🅰️🅱️🅲︎🅳︎🅴︎\n" // 1F170 ~ 1F174 with variation selector, text vs emoji
+ "SYMBOLS_NSLCL with VS15: 🅰︎🅱︎🅲︎🅳︎🅴︎\n" // 1F170 ~ 1F174 with VS15
+ "SYMBOLS_NSLCL with VS16: 🅰️🅱️🅲️🅳️🅴️\n" // 1F170 ~ 1F174 with VS16
+
+ ;
label.SetProperty(TextLabel::Property::TEXT, emojiSequences);
label.SetProperty(TextLabel::Property::ENABLE_MARKUP, true);
const TextAbstraction::Character& character,
const TextAbstraction::Script& characterScript)
{
- return (IsOneOfEmojiScripts(currentRunScript) &&
- (IsOneOfEmojiScripts(characterScript) ||
- TextAbstraction::IsZeroWidthJoiner(character) ||
- TextAbstraction::IsZeroWidthNonJoiner(character) ||
- TextAbstraction::IsEmojiItem(character) ||
- TextAbstraction::IsMiscellaneousSymbolsAndArrowsEmoji(character) ||
- TextAbstraction::IsDingbatsEmoji(character)));
+ return (!(TextAbstraction::IsNegativeSquaredLatinCapitalLetter(character)) &&
+ (IsOneOfEmojiScripts(currentRunScript) &&
+ (IsOneOfEmojiScripts(characterScript) ||
+ TextAbstraction::IsZeroWidthJoiner(character) ||
+ TextAbstraction::IsZeroWidthNonJoiner(character) ||
+ TextAbstraction::IsEmojiItem(character) ||
+ TextAbstraction::IsMiscellaneousSymbolsAndArrowsEmoji(character) ||
+ TextAbstraction::IsDingbatsEmoji(character))));
}
bool IsNewSequence(const Character* const textBuffer,