4

我有一个包含日语单词的数据库。另外,我有读取这些单词并将它们放入 JTextArea 的算法。问题是我看到的是矩形而不是日本标志。但是当我从 JTA 复制这样一组矩形 (ctrl+c) 并将它们放入例如。TotalCommander 或 Winword 文件的命令输入,出现的标志正确显示。但是只在Win7下。因为我在winXP下的虚拟机上运行Eclipse,所以我有能力复制矩形也可以在winXP下命令输入TotalCommander。在我的 Java 应用程序中仍然存在矩形。这意味着在 JTA 中有关于特定标志的信息,但 JTA 无法解释此信息。

当然我已经安装了正确的字体。

我用字体尝试了很多方法:

textArea.setFont(new Font(blablabla)); 

和类似的,但没有效果。我应该怎么办?

4

1 回答 1

3

您的 JTextArea 的问题很可能是您使用的字体不适用于 UTF-8 和日语。该字体不提供从 UTF-8 值到字符的映射表。即 0x41 在 ASCII 中,在 UTF-8 中,甚至在 SHIFT-JIS 中是字母“A”——但你只是链接的字体,将 0x41 解析为汉字字符。并且整个字体根本不包含平假名和片假名字符 - 另请参阅您从此处获得此字体的网站上的评论部分。

使用 ChapMap 后,它有一个 WSIfonts TAG 并且 NOT!支持所有的汉字它只有 90 个字符,每个字符分配 1 个字符,除了 Caps。

是中文字体,不是日文字体。但它甚至不会提供所有中文字符,并且没有包含有用的映射表 - 所以它非常没用。

尝试使用另一种字体 - 如果它包含真正的日文字符并提供适用于 UTF-8 的映射表,那么它应该可以正常工作。

您可以找到可以使用的字体,即here

于 2013-03-05T14:26:17.790 回答