不正确的字体渲染

问题描述:

我一直试图让自定义字体呈现在Symbian的Qt应用程序(4.6)工作了一段时间。对于大多数字体和大多数字形,使用类似于this的方法都可以很好地工作。不正确的字体渲染

然而,对于大多数的字体字形的许多错误地呈现的 - 实际上,错字形呈现。我已经使用相同的加载方法尝试了Symbian C++的应用程序,并且正确呈现。所以,这看起来像是一个Qt错误,事实上所有的细节都是here

任何人都可以提出一个解决方法,以获得完整的TTF字体渲染使用Qt 4.6的Symbian^3台设备的工作?

虽然我有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应用....