3

我试图在 java swing 组件中显示僧伽罗语 (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。

谢谢...

4

2 回答 2

2

请设置“IskolaPotha”字体。我认为它可以正常工作。(我使用了这种字体)。但是 Swing 组件(没有 JFrame)不能正确显示“ක්‍යෝ”unicode 字符。

于 2013-06-11T07:53:53.660 回答
1

如果 eclipse 能够渲染僧伽罗字体,那么可以肯定的是,您的字体文件具有僧伽罗字形。现在 swing 组件无法选择该字体,因此您需要明确强制选择要显示的文件。

为了制定通用解决方案,您需要遍历代码页并且必须找到支持僧伽罗语范围的 unicode。

请查看此链接以获取更多信息:

http://content.hccfl.edu/polllock/Java/Fonts.htm

于 2013-02-16T15:27:46.707 回答