如何使JTextField呈现补充字符

时间:2013-10-07 07:58:03

标签: java swing unicode

我尝试设置一些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)

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

1 个答案:

答案 0 :(得分:4)

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