现在有些表情符号结合了。例如,U + 1f441()U + 200d(ZWJ)U + 1f5e8()组合成(I am a witness)。关于MoarVM 2016.07的Rakudo 2016.07.1说有两个字形:
> "\x[1f441]\x[200d]\x[1f5e8]".chars
2
我认为应该是1.它似乎与
有类似的问题> "\x[1f441]\x[fe0f]\x[200d]\x[1f5e8]\x[fe0f]".chars
2
但至少它正确处理U + fe0f(VS-16,表情符号表示)。
是否有计划在更高版本的Perl 6中修复此问题,或者我误解了chars
方法的意图?
答案 0 :(得分:2)
您提到的ZWJ序列只是Unicode Emoji 4.0的一部分,它仍然处于草稿状态,并计划在November 2016中发布。在这个新版本下,U + 1F5E8具有Grapheme_Cluster_Break属性E_Base_GAZ (EBG),因此序列应该确实形成一个字形集群。
我确信Perl 6会在某个时候赶上。