Существуют ограничения на то, что может быть частью последовательностей ZWJ, а что нет. Технический стандарт Unicode # 51 устанавливает эти правила.
Согласно определению ED-15a , правильно сформированная последовательность ZWJ может состоять только из:
- символы Emoji (символ со свойством
Emoji=True
) - последовательности представления Emoji (символ Emoji, за которым следует U + FE0F VARIATION SELECTOR-16, все допустимые комбинации которых перечислены в этот файл данных )
- Последовательности модификатора Emoji (символ со свойством
Emoji_Modifier_Base=True
, за которым следует символ со свойством Emoji_Modifier=True
)
Все соответствующие свойства могут можно найти в этом файле данных .
U + 2605 ЧЕРНАЯ ЗВЕЗДА не является символом эмодзи (и, очевидно, это также не один из этих типов последовательностей), поэтому он не будет действительным для использования в последовательностях ZWJ на момент написания, но вместо этого вы можете заменить U + 2B50 WHITE MEDIUM STAR (которая является эмодзи). Кроме этого, ?️ и ? являются честной игрой.
Примечание на U + 1F3F3 WAVING WHITE FLAG: Этот персонаж является смайликом, но у него есть свойство Emoji_Presentation=False
, что означает, что он должен отображаться как текстовый стиль (моно chrome вместо цветного) по умолчанию. Для отображения в стиле эмодзи к нему должен быть добавлен U + FE0F VARIATION SELECTOR-16. Рекомендуется всегда включать эти селекторы вариаций для символов, где Emoji_Presentation=False
.
U + 2B50 WHITE MEDIUM STAR также является допустимой базой для таких последовательностей представления смайликов, но по умолчанию имеет Emoji_Presentation=True
и Таким образом, селектор вариаций является полностью необязательным. U + 1F7E9 БОЛЬШОЙ ЗЕЛЕНЫЙ КВАДРАТ в то же время является , а не действительной базой для последовательностей представления смайликов, и поэтому никогда не должен сопровождаться * VARIATION SELECTOR-16. Я знаю, это запутанно.
Все это означает, что у вас есть два варианта для точной последовательности кодов, которые вы хотите использовать, оба из которых одинаково действительны. Либо:
?️⭐? <U+1F3F3, U+FE0F, U+200D, U+2B50, U+200D, U+1F7E9>
Или:
?️⭐️? <U+1F3F3, U+FE0F, U+200D, U+2B50, U+FE0F, U+200D, U+1F7E9>