, Хотя ваш ответ не является прямым ответом на мой вопрос, я думаю, что он будет ценным для других, поэтому спасибо!
аюсь правильно отобразить лигатуры Деванагари (в строках Юникода) в Mac OS X 10.6.
Строки нарисованы наJComponent
и возьмиRenderingHints
для сглаживания. Лигатуры отображаются правильно в Windows XP SP2 и 7 и в Ubuntu, но в Mac OS X лигатуры разлагаются (или, скорее, не объединяются правильно), диакритические знаки удаляются со своих позиций и т. Д. (См. Скриншоты ниже, Пример правильного рендеринга из Win XP SP2 слева (сRenderingHints
Ключ сглаживанияON
), неправильный пример рендеринга из Mac OS X 10.6.7 справа (сглаживаниеDEFAULT
= OFF
).
Я установил шрифт следующим образом, поэтому он должен использовать шрифт по умолчанию в любой системе:
new Font(null,Font.PLAIN,20);
Я полагаю, что все это может иметь какое-то отношение к тому факту, что кодировка символов по умолчанию на Mac - это MacRoman (НЕ подмножество UTF-8), а другие системы (например, Windows) используют подмножество UTF-8 (например, WinLatin-1). ) или cp1252 или такой.
Даже имея эту информацию под рукой, я не знаю, как справиться с этой проблемой. Поэтому я был бы очень признателен, если бы кто-то смог указать мне правильное направление.
Я уже пробовал несколько вещей:
Установка шрифта на Devanagari MT не решила проблемуTextAttribute
LIGATURES_ON
не решил проблемуЯ был бы чрезвычайно благодарен за любые подсказки или фрагменты кода от других разработчиков (предпочтительно с фоном хинди, который разрабатывает на Mac).