真的不是一个单一的字形吗?
Is really not meant to be a single grapheme?
我一直对技术标准 51 的 Annex C and Annex 29 on Unicode Text Segmentation as well as the Unicode Grapheme Break Test 数据文件感到困惑,附件 29 中簇的定义似乎没有涵盖序列 tag_base tag_spec+ tag_end 这意味着构建为 Emoji 标签序列的字符将被视为 7 个字素通过 Annex 29 算法而不是人们期望的单个字素。
我知道在实现中精确呈现哪些序列是有灵活性的,但似乎正确的行为是将语法上有效的表情符号标签序列的所有实例视为单个字素以进行聚类分析,而不是破坏将标签序列构建的字符转换为多个字素。
编辑添加:
- 这是附件 29 中关于文本分割的疏忽吗?
- 文本分割的实现应该将标签序列视为单个字素还是七个字素?
不可见的标记字符属于字素簇中断类别 Extend
,这意味着它们的行为就像一个组合标记。处理表情符号标签序列不需要特殊情况,因为字素簇破坏规则 GB9 会简单地处理它们。
我一直对技术标准 51 的 Annex C and Annex 29 on Unicode Text Segmentation as well as the Unicode Grapheme Break Test 数据文件感到困惑,附件 29 中簇的定义似乎没有涵盖序列 tag_base tag_spec+ tag_end 这意味着构建为 Emoji 标签序列的字符将被视为 7 个字素通过 Annex 29 算法而不是人们期望的单个字素。
我知道在实现中精确呈现哪些序列是有灵活性的,但似乎正确的行为是将语法上有效的表情符号标签序列的所有实例视为单个字素以进行聚类分析,而不是破坏将标签序列构建的字符转换为多个字素。
编辑添加:
- 这是附件 29 中关于文本分割的疏忽吗?
- 文本分割的实现应该将标签序列视为单个字素还是七个字素?
不可见的标记字符属于字素簇中断类别 Extend
,这意味着它们的行为就像一个组合标记。处理表情符号标签序列不需要特殊情况,因为字素簇破坏规则 GB9 会简单地处理它们。