java - JTextPane 在 Mac 中渲染 utf-8 文本错误

标签 java macos swing utf-8 jtextpane

最近我刚刚测试了一个简单的 java 应用程序,它有一个 JTextPane 显示一些简单的 utf-8 html 内容。
在 Windows 和 Linux 下一切都运行完美,但在 Mac 下则不然。
我确信这不属于字体,因为除了 JTextPane 之外,所有组件都正确呈现相同的 ut8-8 数据。(其他应用程序也没有这样的问题)
windows/linux 中的文本渲染(正确):
enter image description here
Mac 中的文本渲染(不正确):
enter image description here
那么问题来了,这是 MAC 中的一个错误吗? Windows 和 Mac JVM 使用相同的源代码和方法在 JTextPane 中渲染文本吗?

提前致谢。

最佳答案

可能是字体问题。物理字体用于表示逻辑字体。

阅读herehere 。简而言之,存在逻辑字体(Monospaced 用于表示 DefaultStyledDocument 中未定义字体的文本),由依赖于平台的物理字体表示。

尝试找出适合您情况的物理字体。还可以尝试通过 setCharacterAttributes() 设置另一种字体,并查看表示形式是否发生更改。

关于java - JTextPane 在 Mac 中渲染 utf-8 文本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333791/

相关文章:

java在查询后设置id

java - 我的 ChangeListener 有什么问题

java - Intellij Idea - 无法 Autowiring 。找不到 'ApplicationRepository' 类型的 bean。 less... (Ctrl+F1) 检查 bean 类中的 Autowiring 问题

macos - OS X - 返回 "Nothing to be done for <filename>"

Java 8 : Do not understand the way Java implements Functional Interfaces

Linux/OSX 中的 C# GUI

c - 音频生产者线程与 OSX AudioComponent 消费者线程和 C 中的回调

swing - 如何执行 scala swing 应用程序?

java - 在 Java 中处理不支持和/或多个字符集的输入

java - 使用 jSTL 的 sql 查询的执行时间