Fix cursor motion around some Emoji sequences
* 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)
This commit is contained in:
parent
12b860bd1b
commit
297c9aa3de
2 changed files with 5 additions and 0 deletions
|
|
@ -82,6 +82,8 @@ enum
|
|||
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 *);
|
||||
|
|
|
|||
|
|
@ -953,6 +953,9 @@ char_composable_p (int c)
|
|||
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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue