diff options
-rw-r--r-- | src/character.h | 2 | ||||
-rw-r--r-- | src/composite.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/character.h b/src/character.h index 1a745484daa..6ee6bcab205 100644 --- a/src/character.h +++ b/src/character.h @@ -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 *); diff --git a/src/composite.c b/src/composite.c index e97f8e2b4cd..c37b1fd4b95 100644 --- a/src/composite.c +++ b/src/composite.c @@ -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) |