我试图设置一些JTextComponent小部件(主要是JTextField组件)以Unicode输入文本。在这里,我需要渲染僧伽罗人物。我在我所有的地方设置了Iskoola Pota字体
大多数情况下,这种方式很好,但在某些时候失败。如何使JTextField呈现补充字符
有一个或两个字符呈现正确的字符。
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
。任何形式的帮助都非常感谢。 预先感谢您。
您的任何角色都不使用代理,并且与补充字符无关。 Unicode僧伽罗范围是U + 0D80 - U + 0DFF。显然这个问题是缺少U + 200D(零宽度连接器)。 –
亲爱的主席先生,你能指导我如何以编程方式做到这一点吗?如果我手动注入ZERO WIDTH JOINER,它会在JTextField中正确渲染吗?或者我应该为特定的JTextField实现自定义文档还是文本呈现器?请帮助我解决这个问题,我非常感谢你的帮助。提前致谢。 – isu3ru