不正确的字体渲染
问题描述:
答
虽然我有Symbian的Qt应用程序的经验,我的工作,去年在其中有主要做的字体渲染的双重环境Qt应用程序(Win32的&的Mac OS X)数月。
QFont渲染-in的Win32 /的Mac OS X - 一般运行平稳,但如果你有先进的字体渲染要求,你可能会遇到一些和严重的问题:
一)这是不可能找到,如果一个特定的Unicode字符确实存在于特定的字体中(例如,不可能完全禁用字符替换机制 - 只能提供替换提示)
b)如果您尝试加载某些特定的(坏?)TTF/OTF字体为你的应用程序独占使用(即加载未安装的字体在你的应用程序中使用它们),应用程序崩溃,崩溃在Qt库代码中(它试图以双倍免费的一些缓冲区)。 这是一个非常罕见的错误:我测试过的90.000种字体中只有5-10种字体发生在我身上,但如果应用程序的主要任务与字体渲染有关,它仍然很烦人。
我的解决方法是使用FreeType2 (open source)库:
- >它永远不会崩溃(这只是坏的字体会返回一个错误)
- >这比QFont渲染
快约4-5倍FreeType2不是QFont的直接替代品,在使用前需要花费一些额外的时间来理解一些基本的(低级别)概念,但是如果您确实需要快速可靠的库来呈现任何TTF/OTF (+其他)字体转换为灰色或黑色图像,我强烈建议将其作为最终选择。
答
最终的答案是,这是一个QT的bug,但令人高兴它是固定在QT 4.7.2。现在,只需要等到Ovi商店接受诺基亚QT 4.7.2应用....