Kanzi 3.9.16
kanzi::EmojiUtil Namespace Reference

Functions

bool isEmoji (char32_t cp)
 Single-codepoint emoji / emoji components that always belong in an emoji run.
 
bool isEmojiAt (const char32_t *text, size_t n, size_t i)
 Context-aware: bare '1' → false; '1️⃣' / '1'+FE0F → true; '©️' → true.
 
bool isEmojiAt (const std::vector< char32_t > &text, size_t i)
 
bool isKeycapBase (char32_t cp)
 ASCII keycap bases that are Emoji=Yes but text-default (not Emoji_Presentation).
 
bool isKeycapSequenceAt (const char32_t *text, size_t n, size_t i)
 [#*0-9] FE0F? 20E3
 

Function Documentation

◆ isKeycapBase()

bool kanzi::EmojiUtil::isKeycapBase ( char32_t cp)
inline

ASCII keycap bases that are Emoji=Yes but text-default (not Emoji_Presentation).

◆ isKeycapSequenceAt()

bool kanzi::EmojiUtil::isKeycapSequenceAt ( const char32_t * text,
size_t n,
size_t i )
inline

[#*0-9] FE0F? 20E3

◆ isEmoji()

bool kanzi::EmojiUtil::isEmoji ( char32_t cp)
inline

Single-codepoint emoji / emoji components that always belong in an emoji run.

Does NOT treat bare digits/#/* (or other text-default Emoji) as emoji — those need isEmojiAt() so "1111" stays on the text font while "1️⃣" still uses the emoji font.

◆ isEmojiAt() [1/2]

bool kanzi::EmojiUtil::isEmojiAt ( const char32_t * text,
size_t n,
size_t i )
inline

Context-aware: bare '1' → false; '1️⃣' / '1'+FE0F → true; '©️' → true.

◆ isEmojiAt() [2/2]

bool kanzi::EmojiUtil::isEmojiAt ( const std::vector< char32_t > & text,
size_t i )
inline