我使用Java SWT StyledText控件在Windows上显示一些文本。然而,性能很差,因为我显示的文本有很多逗号。下面是我尝试显示的一行文本的示例:
1,2,3,4,5,1,Java SWT代码调用标准的Windows Uniscribe ScriptItemize function,将该文本拆分为多个运行,并返回12个运行!每个字符都是它自己的运行!这会降低SWT绘图代码的性能,因为它必须一个接一个地绘制字符。
我已经提出了Eclipse bug 352927来解决这个问题。有没有人有Uniscribe的经验,谁可以评论如何避免这一个字符运行?
ScriptItemize方法的设置来自SCRIPT_CONTROL结构。但是,SWT使用的此结构的定义缺少fMergeNeutralItems字段。这对我来说听起来很有希望,但我还没有在网上找到任何明确的东西,关于这个字段是否会将我的逗号繁重文本的返回字符串合并在一起。
发布于 2011-08-02 07:29:53
在SCRIPT_CONTROL结构中设置fMergeNeutralItems可以解决此问题。有关更多详细信息,请参阅SWT bugzilla bug。
https://stackoverflow.com/questions/6822170
复制相似问题