Qt 确定QFont是否支持某个UTF-8字符

Qt 确定QFont是否支持某个UTF-8字符,qt,utf-8,fonts,character,Qt,Utf 8,Fonts,Character,我正在将一些奇特的UTF-8字符,即右箭头0x2192和闪电0x21AF打印到QTextEdit。这在像Ubuntu这样的现代操作系统上非常有效,但在Windows XP等操作系统上就失败了,因为字体似乎不支持那些UTF-8字符。取而代之的是,画出了臭名昭著的小占位符方块 有没有办法确定QFont实例的当前字体是否支持给定的字符,这样我就可以使用更简单的字符,如“->”来表示右箭头 我发现Qt4.8有一个QRawFont类,它确实有一个QRawFont::SupportsCharter()方法,

我正在将一些奇特的UTF-8字符,即右箭头0x2192和闪电0x21AF打印到QTextEdit。这在像Ubuntu这样的现代操作系统上非常有效,但在Windows XP等操作系统上就失败了,因为字体似乎不支持那些UTF-8字符。取而代之的是,画出了臭名昭著的小占位符方块

有没有办法确定QFont实例的当前字体是否支持给定的字符,这样我就可以使用更简单的字符,如“->”来表示右箭头

我发现Qt4.8有一个QRawFont类,它确实有一个QRawFont::SupportsCharter()方法,可以完全满足我的需要,但我现在不能使用4.8,我最多只能使用4.6或4.7。
我已经看过了实现,它们调用QFontEngine::canRender()。然而,QFontEngine似乎是一个无法从外部访问的类。在4.7中,我能找到的唯一相似的类是QFontEngineInfo和QFontEnginePlugin,这两个类在我的例子中似乎都没有提供任何帮助。

canRender
也被调用。

是的,就是它!谢谢显然,我在字体相关的类丛林中迷失了方向,所以我错过了那个不起眼的方法:)。