When a Variation Selector succeeds a character that doesn't support it, the width should not be altered. Currently, uniseg reports a width of 2 for any grapheme which has a VS16 selector in it, regardless if the first rune is an emoji sequence or not.
When a Variation Selector succeeds a character that doesn't support it, the width should not be altered. Currently, uniseg reports a width of 2 for any grapheme which has a VS16 selector in it, regardless if the first rune is an emoji sequence or not.
Example
From the unicode standard:
Proposed solution
When encountering a VS16 selector, uniseg should verify that the previous rune is indeed an emoji.