我试图在java swing组件的Sinhala(80:0D80-0DFF)范围内显示一些unicode字符。这些字母在eclipse控制台中正确显示,但这些字母在JButtons,JTextArea,JTextPane&等
import java.awt.BorderLayout;
import javax.swing.*;
public class Unicode extends JFrame{
public Unicode(){
super("ක් කැ කැ කු අ ඉ");
add(new JButton("ක් කැ කැ කු අ ඉ \u0D88"),BorderLayout.NORTH);
add(new JTextField("ක් කැ කැ කු අ ඉ"), BorderLayout.CENTER);
setSize(500,500);
setVisible(true);
}
public static void main(String a[]){
new Unicode();
}
}
我尝试使用字符和字符代码进行显示,但都不起作用。谷歌给出的许多答案都不起作用。请给我一个帮助。我正在使用带有java 1.6的Windows 7。
谢谢...
答案 0 :(得分:2)
请将字体设为“IskolaPotha”。 我认为它工作正常。(我使用这种字体)。但Swing componetns(没有JFrame)不能正确显示“ක්යෝ”unicode字符。
答案 1 :(得分:1)
如果eclipse能够渲染sinhala字体,那么肯定你的fontfile具有sinhala字形。现在,swing组件无法选择该字体,因此您需要明确强制选择要显示的文件。
为了制作通用解决方案,你需要迭代代码页,并且必须找到支持sinhala范围的unicodes。
请查看此链接以获取更多信息: