我正在尝试在 Mac OS X 10.6 上正确呈现梵文连字(在 Unicode 字符串中)。
字符串绘制在 a 上JComponent
并RenderingHints
用于抗锯齿。连字在 Windows XP SP2 和 7 以及 Ubuntu 中正确显示,但在 Mac OS X 中,连字被分解(或者更确切地说,未正确合并),变音符号被移离其位置等(参见下面的屏幕截图,左侧 Win XP SP2 的正确渲染示例(使用RenderingHints
Antialiasing Key ON
),右侧 Mac OS X 10.6.7 的错误渲染示例(Antialising DEFAULT
=OFF
)。
我已将字体设置如下,因此它应该在任何系统上使用默认字体:
new Font(null,Font.PLAIN,20);
我相信这一切可能与 Mac 上的默认字符编码是 MacRoman(不是 UTF-8 子集),而其他系统(如 Windows)使用 UTF-8 子集(如 WinLatin-1 ) 或 cp1252 等。
即使手头有这些信息,我也不知道如何处理这个问题。因此,如果有人能够指出我正确的方向,我将不胜感激。
我已经尝试了很多事情:
- 将字体设置为 Devanagari MT 并没有解决问题
TextAttribute
LIGATURES_ON
没有解决问题
我非常感谢其他开发人员的任何提示或代码片段(最好具有在 Mac 上开发的印地语背景)。