【发布时间】:2014-01-24 05:08:15
【问题描述】:
我希望能够在 JTextArea 或 JTextField 上输入 阿姆哈拉语,但控件不显示阿姆哈拉语字符,而是显示框。
假设当有人在键盘上键入 h 时,我想使用某个地图将 h 翻译成我们的本地语言并显示 ሀ。该字母的 UTF-8 代码是 1200,我希望该字段显示基于 Unicode 的本地脚本,但它显示的是框。
可能出了什么问题?
【问题讨论】:
我希望能够在 JTextArea 或 JTextField 上输入 阿姆哈拉语,但控件不显示阿姆哈拉语字符,而是显示框。
假设当有人在键盘上键入 h 时,我想使用某个地图将 h 翻译成我们的本地语言并显示 ሀ。该字母的 UTF-8 代码是 1200,我希望该字段显示基于 Unicode 的本地脚本,但它显示的是框。
可能出了什么问题?
【问题讨论】:
你应该先安装字体或下载https://keyman.com/desktop/ 阿姆哈拉语的键盘或其他阿姆哈拉语的键盘。
打开 Eclipse 窗口 > 首选项 > 常规 > 外观 > 颜色和字体首选项页面。
选择要更改的字体
Font font = new Font("Your new Amharic installed font and appear in the font list ", Font.PLAIN, 12);
public class Text {
public static void main(String[] args) {
``// TODO Auto-generated method stub
Font font = new Font("Abyssinica SIL", Font.PLAIN, 12);
JTextArea txt = new JTextArea(20,10);
JTextField txtField = new JTextField(10);``
txtField.setFont(font);
txt.setFont(font);
JFrame frame = new JFrame(" አማረኛ ሙክራ ");
frame.setLayout(new FlowLayout(FlowLayout.LEFT));
frame.setSize(400, 400);
frame.add(txt);
frame.add(txtField);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
【讨论】:
您使用的字体不支持该字符。将 JTextArea 的字体切换为“Nyala”,它应该正确显示您的字符。我确定还有其他字体,但这是 MS Word 使用的字体。
大多数常见字体没有所有 unicode 字符的图形,但如果您在 MS Word 中输入一个字符,它会将字体切换为支持该字符的字体。
【讨论】: