我試圖設置一些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