当结合三个字符ക(\ u0D15)+്(\ u0D4D)+ര(\ u0D30),获得ര്ക而不是രര

6 java unicode fonts swing editor

我正在为Java中的Malayalam编写一个文本编辑器.

在Swing中Unicode字体无法正确呈现 - JTextArea.字符组合.而不是混合两个字符,文本区域单独显示它.swing和font都支持这些字符,但是在键组合中它不起作用即使使用了支持的字体.例如:

需要什么

???? 
Run Code Online (Sandbox Code Playgroud)

得到了什么

???
Run Code Online (Sandbox Code Playgroud)

jButton69.setFont(new java.awt.Font("Meera", 0, 12)); // NOI18N
        jButton69.setText(" ??");

    jTextArea1.append(jButton69.getText());
Run Code Online (Sandbox Code Playgroud)

编辑:(作者评论的补充资料):

结合三个字符ക(\ u0D15)+്(\ u0D4D)+ര(\ u0D30),我得到的是ര്ക而不是്ര.

语言是马拉雅拉姆语,字体是Meera

pab*_*iva 0

您必须将 JTextArea 字体设置为 Unicode 字体。

\n\n

除此之外,button69与该问题无关,所以我不使用它。

\n\n

以下代码按照您想要的方式显示文本:

\n\n
String problemText = "\xe0\xb4\x94";\nFont font = new Font("Arial Unicode MS", Font.PLAIN, 18);\nJTextArea jTextArea1 = new JTextArea();\njTextArea1.setFont(font);\njTextArea1.append(problemText);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我希望它有帮助。

\n