【发布时间】:2014-06-04 02:17:33
【问题描述】:
我想构建一个支持 Windows 8.1 的彩色表情符号的 Windows 应用程序。我似乎在任何地方都找不到实际陈述,但似乎是这样,除非您正在构建“Windows Store”应用程序,否则这是不可能的,这当然需要付费的开发人员许可证。天哪,iOS 开发又来了!
那么无论如何,有没有一种方法可以在 WinForms 或 WPF 中进行开发,从而在 Windows 8.1 上运行时允许使用彩色表情符号?
【问题讨论】:
-
彩色字形可以在 Segoe UI Emoji 系列中找到。如果未将其设置为桌面应用程序的后备选项,请查看将
FontFamily设置为该选项是否适用于 WPF。 -
这适用于黑白字形,但仍不显示新的彩色字形。
-
嗯。黑白字形在 Segoe UI 中 - 至少在 Windows 7 上 - 除非 Windows 坚持在桌面上显示这些字形而不是彩色字形,即使使用 Emoji 变体也是如此。
-
获得彩色表情符号支持需要针对 DirectWrite api 和 Windows 8。Winforms 和 WPF 都没有公开它。 DirectWrite 是由数十名程序员组成的 UI 团队使用 C++ 编写的 API。使用友好的类库的责任是你坚持它愿意支持的东西。其中不变的是需要最新操作系统版本的前沿功能。如果 WPF 团队再次醒来,也许有一天。
-
@SepehrM 我对与 WPF 的互操作知之甚少,无法写出真正的答案,但如果您可以渲染单个 DWRITE_GLYPH_RUN,那么在 Windows 8.1 上,您可以调用 TranslateColorGlyphRun 将原始字形分解为多层不同颜色(每一个矢量字形运行)。例如gist.github.com/makotokato/9458865
标签: c# .net wpf winforms emoji