【问题标题】:Emoji modifiers & ZWJ sequences using Harfbuzz & Freetype in Apple Color Emoji在 Apple Color Emoji 中使用 Harfbuzz 和 Freetype 的 Emoji 修饰符和 ZWJ 序列
【发布时间】:2018-11-16 03:50:58
【问题描述】:

我正在使用 Freetype 1.9.1 和 Harfbuzz 1.7.6 来渲染可能包括表情符号的文本,但是我不知道如何正确渲染来自 Apple Color Emoji(sbix color font)的表情符号修饰符和 ZWJ 序列。

我还尝试了 Noto Color Emoji (CBDT/CBLC color font),它按预期工作,以及 Segoe UI Emoji (COLR/CPAL color font),它呈现黑白字形,但似乎支持 COLR /CPAL 在 Freetype 中只是 being developed,因此对我来说不是问题。

有没有人对使用 sbix 字体的注意事项有任何提示?集群类型? Harfbuzz 标志...?

Expected behaviour

Apple Color Emoji -- not OK

Noto Color Emoji -- OK

【问题讨论】:

    标签: c++ emoji freetype harfbuzz


    【解决方案1】:

    HarfBuzz 逐渐改进了对不同序列的支持,现在可以可靠地用于不同的 Emoji 修饰符和序列。

    此外,v2.1.0 通过简单简洁的 API 增加了对所有可用 Emoji 文件格式的支持,https://github.com/harfbuzz/harfbuzz/blob/master/src/hb-ot-color.h 当然渲染部分仍然取决于您(或者使用 freetype 进行渲染),但您不需要鉴于使用简单的 API,至少不必再处理字体结构,https://github.com/harfbuzz/harfbuzz/blob/1934652/src/main.cc#L46-L247 也是如何使用 API 的一个很好的例子。

    【讨论】:

      【解决方案2】:

      我对文本整形很陌生,但我成功了,使用 Harfbuzz 和 Cairo 在 SDL2 窗口上显示表情符号(带有修饰符和 ZWJ)。

      GitHub Repository.

      根据您所说,主要区别在于我使用的是 HarfBuzz 版本 1.8.2。

      【讨论】:

      • 新的 Harfbuzz 似乎是要走的路,感谢您的提示!
      猜你喜欢
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 2018-03-04
      • 2019-04-01
      相关资源
      最近更新 更多