最近我刚刚测试了一个简单的 java 应用程序,它有一个 JTextPane
显示一些简单的 utf-8 html 内容。
在 Windows 和 Linux 下一切都运行完美,但在 Mac 下则不然。
我确信这不属于字体,因为除了 JTextPane 之外,所有组件都正确呈现相同的 ut8-8 数据。(其他应用程序也没有这样的问题)
windows/linux 中的文本渲染(正确):
Mac 中的文本渲染(不正确):
那么问题来了,这是 MAC 中的一个错误吗? Windows 和 Mac JVM 使用相同的源代码和方法在 JTextPane 中渲染文本吗?
提前致谢。
最佳答案
可能是字体问题。物理字体用于表示逻辑字体。
阅读here和 here 。简而言之,存在逻辑字体(Monospaced
用于表示 DefaultStyledDocument
中未定义字体的文本),由依赖于平台的物理字体表示。
尝试找出适合您情况的物理字体。还可以尝试通过 setCharacterAttributes()
设置另一种字体,并查看表示形式是否发生更改。
关于java - JTextPane 在 Mac 中渲染 utf-8 文本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333791/