4

我尝试设置一些 JTextComponent 小部件(主要是 JTextField 组件)以输入 Unicode 文本。在此,我需要渲染僧伽罗语字符。我在我的所有
作品中都设置了 Iskoola Pota 字体,这在大多数情况下都可以正常工作,但在某些时候会失败。

具有一两个字符的字符可以正确呈现。

Ex: අම්මා, වයඹ, අධිකාරිය

但是问题在于具有 3 个字符的字符。

Ex: ප්‍රවෘත්ති (THIS IS RENDERED AS ප්රවෘත්ති)
ව්‍යාපෘතිය (THIS IS RENDERED AS ව්යාපෘතිය)

问题是 和 等ප්‍ර is rendered as (ප්ර)字符ව්‍යා is rendered as (ව්යා)。下面提供了屏幕截图。

图片在这里:http: //i.stack.imgur.com/bQrQB.png 在这里,අම්මා、වයඹ、අධිකාරිය正确渲染,但ප්‍රවෘත්ති和ව්ත෶෶෶ාත෶෶ා不正确。

我也更新了我的 JDK 版本和 JRE。这是 NetBeans IDE 中显示的版本详细信息。

Java: 1.7.0_40; Java HotSpot(TM) Client VM 24.0-b56
Runtime: Java(TM) SE Runtime Environment 1.7.0_40-b43
System: Windows 7 version 6.1 running on x86; Cp1252; en_US (nb)

我无法理解如何jsr204在我的程序中实现补充字符和代理对 API。非常感谢任何形式的帮助。先感谢您。

4

1 回答 1

4

尝试查看 layoutGlyphVector 如何与三重字符一起使用。它是否提供正确的表示?如果是,您可以尝试设置自定义 GlyphPainter,如此处所述http://java-sl.com/Scale_In_JEditorPane_GlyphPainter.html

于 2013-10-07T08:06:02.997 回答