gpt4 book ai didi

macos - Qt 应用程序显示表情符号而不是 unicode 字符

转载 作者:行者123 更新时间:2023-12-03 03:32:10 26 4
gpt4 key购买 nike

我目前正在使用 Qt 开发一个应用程序。我使用 macOS Sierra 作为我的开发和测试环境,但该应用程序是跨平台的。

所以这就是问题所在。我正在创建一个 Qt Quick Text 项目,其中设置以下属性 text: "\u2139",以便显示 information icon 。我使用的字体系列是 Open Sans .

运行应用程序后,我很惊讶地在我的 unicode 字符应该出现的地方看到以下内容:

emoji information symbol

这不是我想要的,我想要该 unicode 字符的文本呈现,而不是表情符号呈现。如何强制显示文本演示(在所有平台上)?

谢谢。

最佳答案

根据Wikipedia您应该在该字符后跟 U+EF0E {VARIATION SELECTOR 15},它请求渲染系统以文本(单色)形式呈现前面的字形;要执行相反的操作,即请求表情符号(彩色)表示形式,您应该在后面加上 U+EF0F {VARIATION SELECTOR 16} 代码点。特别是对于后者,是否可以获得彩色形式是高度系统/显示小部件选择性的,并且如果未指定,则哪些代码点以哪种方式呈现并不明显。例如这三个字形:

😐😠︎😄️ 没有变体选择器
😐︎😠︎︎😄️︎各接着VS15
😐️😠︎️😄️️每个后面都是VS16

啊啊啊!它们在 Stack Exchange 上的显示完全不同grrrrr!

但是,使用 HTML 实体将其保存为 html 文件并在浏览器中打开它:

<html><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><head/>
<body><p>&#128528;&#128542;&#128512; without a variation selector</p>
<p>&#128528;&#65038;&#128542;&#65038;&#128512;&#65038; each followed by VS15</p>
<p>&#128528;&#65039;&#128542;&#65039;&#128512;&#65039; each followed by VS16</p>
</body></html>

它似乎只在被告知时才会产生表情符号效果:

Partial screen shot of above HTML display in my Browser

从我自己最近使用 Qt C++ 小部件的项目来看,它们中的大多数(我尝试过的所有)似乎都不能处理表情符号表单 - 尽管我还没有尝试过 QTextBrowser 这会似乎是最有可能处理这些问题的 - 它只是不适用于我正在做的事情......

此外,102 个类似人类的表情符号形式也可以与另外五个 U+1F3FB 到 U+1F3FF {EMOJI MODIFIER FITZPATRICK TYPE-xxxx} 组合(第一个用于类型 1 和 2,其余的分别为 3 到 6),这为他们提供了逼真且越来越暗的肤色。请注意,基线人类表情符号的默认黄色/蓝色/灰色基色明确是那些类似于人类肤色的颜色!

关于macos - Qt 应用程序显示表情符号而不是 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41617473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com