【问题标题】:How will Perl 6 handle the new combining emoji length?Perl 6 将如何处理新的组合表情符号长度?
【发布时间】:2016-09-20 13:47:02
【问题描述】:

一些表情符号现在结合在一起。例如,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 方法的意图?

【问题讨论】:

标签: unicode emoji raku


【解决方案1】:

你提到的ZWJ序列只是Unicode Emoji 4.0的一部分,它仍处于草稿状态,计划在November 2016发布。在这个新版本下,U+1F5E8 具有 Grapheme_Cluster_Break 属性E_Base_GAZ (EBG),因此该序列确实应该形成单个字素簇。

我确信 Perl 6 会在某个时候赶上来。

【讨论】:

    猜你喜欢
    • 2017-03-14
    • 2021-12-03
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2018-06-04
    • 2019-03-21
    • 1970-01-01
    • 2018-10-02
    相关资源
    最近更新 更多