所有ZWJ序列都有效吗?

问题描述 投票:0回答:2

[创建表情符号字体时,ZERO WIDTH JOINER的任何序列有效吗?

例如:我可以用🏳‍★‍🟩Waving White Flag +zwj+Black Star+zwj+ Green Square)代表上面带有绿色星号的白旗吗?然后渲染它,比如说Esperanto flag

unicode fonts emoji
2个回答
1
投票

[我注意到您有兴趣创建世界语标志,但是我认为字体渲染比仅仅排列代码点还要复杂。

您的暴力破解方法对“ as is”无效。

<div>
    &#x1F3F3;&#xFE0F;&#x200D;&#x2605;&#x200D;&#x1F7E9;
</div>

Unicode标准在Recommended Emoji ZWJ Sequences, v13.0中说:

以下是推荐的表情符号zwj序列,该序列使用U + 200D ZERO WIDTH JOINER(ZWJ)将角色合并为一个字形如果可用[不可用时,ZWJ字符为忽略,并显示单独表情符号的后备序列。因此表情符号zwj序列仅在后备情况下才受支持顺序对观众也很有意义。

[我想知道字体渲染机制的哪一部分负责检查“可用性”(即,支持特定Unicode版本,应用程序或字体的渲染引擎,并猜出了“字体”。

所以我在Emoji fonts上看到了这篇文章,的确,字体文件可以包含有关Ligature Substitution的数据,例如,请参见OpenType。 Microsoft提供了一个名为VOLT的工具,该工具允许定义连字。

我对字体设计一无所知,但我会尝试使用字体编辑器(sketched here)创建一个彩色的标志字形,并定义连字替换。 (无默示保修;))


0
投票

对于可以成为ZWJ序列的一部分而不能成为ZWJ序列的部分有限制。 Unicode Technical Standard #51列出了这些规则。

© www.soinside.com 2019 - 2024. All rights reserved.