什么是unicode变体选择器

时间:2011-02-11 22:21:28

标签: unicode

我在想。什么是用于U-FE0F的unicode变异选择器U-FE00。

示例:︀︁︂︂ 

4 个答案:

答案 0 :(得分:7)

Unicode标准谈到了这一点。这里有点the relevant section from 3.2.0, annex 28(我确定最近有更新的版本;这是我发现的第一个版本):

  

Unicode字符可以用各种各样的字形表示,如第2章“Unicode标准3.0版中的通用结构”中所述。有时,在文本处理中需要限制或改变用于表示字符的字形集。通常,这些更改通过在富文本文档中选择字体或样式来指示。在特殊情况下,需要在普通文本上下文中在同一文档中并排表达与正常出现范围的这种变化,其中交换格式化文本是不可能或不方便的。例如,在使用蒙古语脚本的语言中,有时需要特定的变体范围的字形用于特定的文本目的,其中“通用”字形的范围被认为是不合适的。当字符具有基本相同的语义时,使用变体选择器。

     

变体选择器提供了一种机制,用于指定用于表示特定字符​​的字形集的限制。它们还提供了一种机制,用于指定变体,例如CJK表意文字和蒙古语,它们具有基本相同的语义但具有显着不同的字形范围。变量序列始终由基本字符后跟变体选择器组成,可以指定为Unicode标准的一部分。该序列称为基本字符的变体。变体选择器仅影响基本字符*的外观,并且仅影响本标准中定义的变体序列。变体选择器不用作通用代码扩展机制。

(继续......)

您可能也对Standardized Variants感兴趣(这次是从6.0.0开始)。

答案 1 :(得分:3)

你的猜测和我的一样好......但根据this source ......

enter image description here

得到了......

  

表情符号字符编码数据提示:1在iOS 5 / OSX 10.7中,Apple OS为此表情符号生成的基础代码已更改。2为此表情符号生成的代码稍有变化iOS 7 / OSX 10.9(添加了variation selector)使这个表情符号更容易被识别并在OSX和iOS中显示。我们不介意Apple,谢谢!我们只是喜欢我们的表情符号!

他们的图表继续注意到这个“新”,后10.9版本

<{1>} 2 与之前的 1 ...如果有帮助的话。

答案 2 :(得分:1)

  

变体选择器范围是在Unicode标准版本3.2中引入的,位于平面0(基本多语言平面)中。其他选择器可以在Variation Selectors Supplement范围内找到。

     

大多数Unicode字符可以用各种各样的字形表示,而在富文本中,可以通过选择特定的字体或样式来指示特定的字形。此机制在纯文本中不可用,因此引入了变体选择器作为指示应该更改或限制适用于特定字符的字形的方式。基本字符后跟变化选择器,该组合称为变化序列。这不是通用机制,唯一允许的变体序列是Standardized Variants文件中定义的变量序列,它构成了Unicode字符数据库的一部分。

来自http://www.alanwood.net/unicode/variation_selectors.html

答案 3 :(得分:0)

这不是问题的完整答案,但与表情符号和变体选择器有关:

❤字符(U + 2764代码点)是1993年的Unicode字符。
但是❤️表情符号实际上是❤(U + 2764)字符,后跟Variant Selector-16(U + FE0F)。


为什么?

专门谈论表情符号(documentation):

VS15和VS16保留以确定字符是否 应该显示为表情符号。 [...]
表情符号变体序列包含表情符号样式(彩色)为VS16(U + FE0F)或文本样式(单色)为VS15(U + FE0E)

如果有一个字符(或符号,字形等)也打算用作表情符号,则Variant Selector-16将指定渲染,以将其渲染为表情符号。但是,如果在Variant Selector-15之后跟随相同的字符,它将指定渲染器,将其渲染为纯文本。如果未附加Variant Selector,则默认表示将取决于Unicode的规范。对于 Emoticons ,默认值为表情符号。对于其他字符,例如❤,默认值为text ...

Emoticons (Unicode_block)'s documentation:

中的另一个示例

每个图释都有两个变体:

U + FE0E(版本选择器15)选择文本表示形式(例如?︎?︎<)
U + FE0F(VARIATION SELECTOR-16)选择表情符号样式(例如?️?️☹️)。

如果未附加任何变体选择器,则默认值为 表情符号样式。示例:

U + 1F610(中性脸)?
U + 1F610(中性面),U + FE0E(变量选择器15)?︎
U + 1F610(中性脸),U + FE0F(VARIATION SELECTOR-16)?️

注意:VS15VS16不是有效表情符号的必需项。没有变体选择器的表情符号很多。