Vit*_*tox 11
这不是问题的完整答案,但它与表情符号和变体选择器相关:
\n\xe2\x9d\xa4 字符(U+2764 代码点)是 1993 年的 Unicode 字符。
\n但是 \xe2\x9d\xa4\xef\xb8\x8f 表情符号实际上是 \xe2\x9d\xa4 (U+ 2764) 字符后跟 Variant Selector-16 (U+FE0F)。
为什么?
\n专门谈谈Emojis(文档):
\n\nVS15 和 VS16 被保留来确定字符是否应显示为表情符号。[...]
\n
\n表情符号变体序列包含用于表情符号样式(带颜色)的 VS16 (U+FE0F) 或用于文本样式(单色)的 VS15 (U+FE0E)
如果有一个字符(或符号、字形等)也打算作为表情符号,则将Variant Selector-16指定渲染器,将其渲染为表情符号。但如果相同的字符后面跟着Variant Selector-15,它将指定渲染,将其渲染为文本。如果没有Variant Selector附加,则默认表示将取决于 Unicode 规范。对于表情符号,默认为表情符号。对于 \xe2\x9d\xa4 等其他字符,默认为文本...
表情符号 (Unicode_block) 文档中的另一个示例:
\n\n\n每个表情符号都有两种变体:
\nU+FE0E (VARIATION SELECTOR-15) 选择文本呈现(例如 \xef\xb8\x8e \xef\xb8\x8e \xe2\x98\xb9\xef\xb8\x8e)
\n
VARIATION SELECTOR-16) 选择表情符号样式(例如 \xef\xb8\x8f \xef\xb8\x8f \xe2\x98\xb9\xef\xb8\x8f)。如果没有附加变体选择器,则默认为\nemoji 样式。例子:
\nU+1F610(中性面)
\n
\nU+1F610(中性面)、U+FE0E(变化选择器-15)\xef\xb8\x8e
\nU+1F610(中性面)、U+FE0F(变化选择器-16)\ xef\xb8\x8f
注意:VS15和VS16对于有效的表情符号来说不是必需的。有很多表情符号没有变体选择器。
Unicode标准谈到了这一点.这里是3.2.0附件28的相关部分(我确定有更新的版本;这是我发现的第一个):
Unicode字符可以用各种各样的字形表示,如第2章"Unicode标准3.0版中的通用结构"中所述.有时,在文本处理中需要限制或改变用于表示字符的字形集.通常,这些更改通过在富文本文档中选择字体或样式来指示.在特殊情况下,需要在普通文本上下文中在同一文档中并排表达与正常出现范围的这种变化,其中交换格式化文本是不可能或不方便的.例如,在使用蒙古语脚本的语言中,有时需要特定的变体范围的字形用于特定的文本目的,其中"通用"字形的范围被认为是不合适的.当字符具有基本相同的语义时,使用变体选择器.
变体选择器提供了一种机制,用于指定用于表示特定字符的字形集的限制.它们还提供了一种机制,用于指定变体,例如CJK表意文字和蒙古语,它们具有基本相同的语义但具有显着不同的字形范围.变量序列始终由基本字符后跟变体选择器组成,可以指定为Unicode标准的一部分.该序列称为基本字符的变体.变体选择器仅影响基本字符*的外观,并且仅影响本标准中定义的变体序列.变体选择器不用作通用代码扩展机制.
(它继续...)
您可能也对标准化变体感兴趣(这次是从6.0.0开始).
| 归档时间: |
|
| 查看次数: |
6227 次 |
| 最近记录: |