我想知道,Unicode 变异选择器 U-FE00 至 U-FE0F 有什么用途。
例如: ︀︁︂︂
我想知道,Unicode 变异选择器 U-FE00 至 U-FE0F 有什么用途。
例如: ︀︁︂︂
Unicode字符可以用各种字形表示,如Unicode标准第3.0版中的“一般结构”章节中所讨论的那样。在文本处理中,有时需要限制或更改用于表示字符的字形集。通常,在富文本文档中,这些变化通过选择字体或样式来指示。在特殊情况下,这种与正常外观范围的差异需要在同一文档中以纯文本上下文的方式并排表达,而在交换格式化文本不可能或不方便时,使用变体选择器。例如,在使用蒙古文时,有时需要为特定的文本目的需要使用特定的变体字形范围,因为“通用”字形范围被认为不适合。当字符基本语义相同时,使用变体选择器。
变体选择器提供了一种机制,用于指定用于表示特定字符的字形集的限制。它们还提供了一种机制,用于指定具有基本相同语义但具有实质上不同的字形范围的变体,例如CJK表意文字和蒙古文。变体序列始终由基字符后跟变体选择器组成,可以作为Unicode标准的一部分指定。该序列称为基字符的变体。变体选择器仅影响基字符的外观*,而且仅在本标准中定义的变体序列中。变体选择器不用作通用代码扩展机制。
(它还有更多内容...)
您可能还对标准化变体感兴趣(这次是来自6.0.0版)。
这不是对问题的完整回答,但与表情符号和变体选择器相关:
❤字符(U+2764代码点)是来自1993年的Unicode字符。
但❤️表情符号实际上是❤(U+2764)字符后跟Variant Selector-16(U+FE0F)。
为什么?
仅讨论表情符号(文档):
VS15和VS16被保留用于确定字符是否应显示为表情符号。[...]
表情符号变体序列包含带颜色的表情符号风格(使用VS16,U+FE0F)或文本风格(单色,使用VS15,U+FE0E)
如果有一个既是字符(或符号、字形等),同时也是表情符号的意图,那么变体选择器-16
将指定渲染器将其呈现为表情符号。但是,如果相同的字符后跟变体选择器-15
,则它将指定渲染器将其呈现为纯文本。如果没有附加变体选择器
,则默认表示取决于Unicode规范。对于表情符号,默认为表情符号。对于其他字符,如❤,默认为文本...
表情符号(Unicode块)的文档中的另一个例子:
每个表情符号有两种变体: U+FE0E(变量选择器-15)选择文本显示(例如 ︎ ︎ ☹︎) U+FE0F(变量选择器-16)选择表情样式(例如 ️ ️ ☹️)。 如果没有添加变量选择器,则默认为表情样式。 例如: U+1F610(中性脸) U+1F610(中性脸),U+FE0E(变量选择器-15)︎ U+1F610(中性脸),U+FE0F(变量选择器-16)️