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

Der*_*anu 5 fonts qt character utf-8

我正在将一些花哨的UTF-8字符,即右箭头0x2192和闪电0x21AF打印到QTextEdit.这在像Ubuntu这样的现代操作系统上很有用,但是对于例如Windows XP来说是失败的,因为字体似乎不支持那些UTF-8字符.相反,绘制了臭名昭着的小占位符方块.

有没有办法找出,QFont实例的当前字体是否支持给定的字符,所以我可以回到更简单的字符,如" - >"为右箭头?

我发现Qt 4.8有一个QRawFont类,它确实有一个QRawFont :: supportsCharacter()方法,它完全符合我的要求,但我现在不能使用4.8,我最多只能使用4.6或4.7.我查看了实现,他们调用了QFontEngine :: canRender().但是,QFontEngine似乎是一个无法从外部访问的类.我在4.7中找到的唯一类似的声音类是QFontEngineInfo和QFontEnginePlugin,在我的情况下似乎都没有提供任何帮助.