如何解决彩色表情符号质量差的问题?

How to fix the poor quality of the colored emojis?

我正在使用 Qt Quick 创建一个显示消息的应用程序。其中一些包含表情符号,这是应用程序应支持的重要功能。这些表情必须是彩色的,画成黑白是不够的。

通过使用 "Segoe UI Emoji" 字体系列,我可以毫无问题地在文本中使用彩色表情符号。然而,它们看起来参差不齐,渲染质量很差,不幸的是,这对我的客户来说是不可接受的。这样我就无法分发我的应用程序了。

但是,我尝试了我所知道的所有可能的选项来提高绘图质量,none 其中有任何改进。

这是我在 qml 文件中使用的代码示例:

Text
{
    id: itemTextID
    width: parent.width - 20
    text: "I don't know  I forgot!"
    renderType: Text.NativeRendering
    textFormat: TextEdit.RichText
    wrapMode: Text.WordWrap
    font.family: "Segoe UI Emoji"
    font.pixelSize: 18
    anchors.margins: 10
    anchors.left: parent.left
    anchors.top: parent.top
    color: "#101010"
}

下面是我得到的渲染截图,以及我的预期:

黑白版好像没有这个问题。我也尝试更改 OpenGL 配置(我所知道的),但没有办法。

那么有没有办法提高彩色表情的渲染质量呢?如果是,我应该怎么做才能实现?

我终于找到了解决这个问题的方法。必须将以下行添加到文本块:

font.hintingPreference: Font.PreferNoHinting

完整的答案可以在下面找到post:

https://forum.qt.io/topic/113454/poor-quality-colored-emojis-how-to-fix-that