Java 7 错误:通过 Unicode 文字显示泰卢固语
Posted
技术标签:
【中文标题】Java 7 错误:通过 Unicode 文字显示泰卢固语【英文标题】:Java 7 Bug: Displaying Telugu through Unicode literals 【发布时间】:2013-02-08 13:12:54 【问题描述】:在 Java 7 中通过 unicode 显示泰卢固语时,java 渲染混合不正确。
例如,这里有一个简单的 sn-p 用于在 html 中显示一个单词。它工作得很好。所有浏览器都能正确显示文本。
<!DOCTYPE html>
<html>
<body> అమ్మ </body>
</html>
但是,在 Java 中使用相同的文字(这里我将相同的文本设置到文本区域,显示会混乱。
Font text_font = new Font ("Gautami", Font.PLAIN, 30);
jtaInput.setFont(text_font);
jtaInput.setText("\u0C05\u0C2E\u0C4D\u0C2E");
有没有人在 unicode 字符渲染的上下文中遇到 Java 7 的问题?有什么技巧/想法可以克服这个问题吗?
谢谢 湿婆神
【问题讨论】:
అమ్మ - 由 HTML 呈现(正确),అమమ్ 将由 JAVA 显示(错误)。我只是在这里展示一个例子。所有辅音混合都会出现相同的渲染问题。比如అక్క, రాష్ట్రము等不能在java中渲染 如果你做<body style="font-family: Gautami;">&#x0C05&#x0C2E&#x0C4D&#x0C2E </body>
,它仍然在html中工作吗?那么可能是swing渲染器的问题。
是的。即使我在那里明确指定字体名称,它仍然可以在 html 中使用。 java 7渲染中似乎存在错误。这是一个毁灭性的错误……您在 java 7 中开发的任何泰卢固语应用程序都可能变得无用。
【参考方案1】:
尝试使用不同的字体;在 Java 5 和 Java 6 中工作的字体在 Java 7 中停止工作。当我移动到新字体时,显示恢复正常。
【讨论】:
以上是关于Java 7 错误:通过 Unicode 文字显示泰卢固语的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Java 中编写 3 个字节的 unicode 文字?