* src/character.h: Add TAG_SPACE and CANCEL_TAG to known Unicode
characters values.
* src/composite.c (char_composable_p): Recognize TAG characters
relevant to Emoji as composable regardless of their General
Category. (Bug#39799)
LEFT_ANGLE_BRACKET = 0x3008,
RIGHT_ANGLE_BRACKET = 0x3009,
OBJECT_REPLACEMENT_CHARACTER = 0xFFFC,
+ TAG_SPACE = 0xE0020,
+ CANCEL_TAG = 0xE007F,
};
extern int char_string (unsigned, unsigned char *);
Lisp_Object val;
return (c >= ' '
&& (c == ZERO_WIDTH_NON_JOINER || c == ZERO_WIDTH_JOINER
+ /* Per Unicode TR51, these tag characters can be part of
+ Emoji sequences. */
+ || (TAG_SPACE <= c && c <= CANCEL_TAG)
/* unicode-category-table may not be available during
dumping. */
|| (CHAR_TABLE_P (Vunicode_category_table)