【发布时间】:2011-08-27 07:20:53
【问题描述】:
这是我在尝试为我的另一个问题 (Rendering Devanagari ligatures (Unicode) in Java Swing JComponent on Mac OS X) 寻找更好的规范时遇到的“元问题”。
到目前为止,我还不太了解给定系统的哪个“组件”(因为需要更好的词)负责在 Java 中显示 Unicode 文本,更具体地说是 连字 .
据我了解,以下组件对流程有影响:
- 系统字符编码(例如 Mac OS X 10.6 上的 UTF-8,Windows 7 上的 UTF-16(根据 akira 对此superuser.com post 的评论)。
- Java
Charset(在 Mac OS X 10.6 上默认为 MacRoman,在 Windows 7 上默认为 cp1252)。 - 用于呈现文本的字体,以及该字体的编码信息(正如 Donal Fellows 在my other question 上所建议的那样:
“字体包含有关它们使用的编码的信息”。
- 显然要呈现的字符是否存在于各自的 Unicode 代码点。
因此,如果一串 Unicode 字符没有正确显示(如我在另一个问题中所见,s.a.),那么问题最可能出在哪里?即,什么“组件”(更好的词是什么?)负责“绑定”连字及其组成?
非常感谢您,如果您需要更多信息,请告诉我。
【问题讨论】:
-
我会冒险猜测虚拟机,但我没有这方面的证据或专业知识。
-
@Mr47:好的,谢谢,那就是数字 (2)。我猜这就是 stackoverflow.com/questions/361975/…> 可能派上用场的地方。我会记住这一点。我已经对帖子进行了一些修改,以便为其他人指定我的问题的“入口点”。
标签: java unicode character-encoding rendering system