Rendering ligaduras Devanagari (Unicode) en Java Swing JComponent en Mac OS X
Estoy intentando que las ligaduras Devanagari (en cadenas Unicode) se representen correctamente en Mac OS X 10.6.
Las cadenas se dibujan en unaJComponent
y tomarRenderingHints
para Antialiasing. Las ligaduras se muestran correctamente en Windows XP SP2 y 7, y Ubuntu, pero en Mac OS X, las ligaduras se descomponen (o más bien, no se fusionan correctamente), los diacríticos se alejan de sus posiciones, etc. (ver capturas de pantalla a continuación, Ejemplo de representación correcta de Win XP SP2 a la izquierda (conRenderingHints
Antialiasing KeyON
), ejemplo de representación incorrecta de Mac OS X 10.6.7 a la derecha (AntialisingDEFAULT
= OFF
).
He configurado la fuente de la siguiente manera, por lo que debería usar una fuente predeterminada en cualquier sistema:
new Font(null,Font.PLAIN,20);
Creo que todo esto podría tener algo que ver con el hecho de que la codificación de caracteres predeterminada en Mac es MacRoman (NO un subconjunto UTF-8), y que otros sistemas (como Windows) usan un subconjunto UTF-8 (como WinLatin- 1) o cp1252 o tal.
Incluso con esta información a la mano, no sé cómo manejar este problema. Por lo tanto, estaría muy agradecido si alguien pudiera señalarme en la dirección correcta.
Ya he probado varias cosas:
Configurar la fuente en Devanagari MT no resolvió el problemaTextAttribute
LIGATURES_ON
no resolvió el problemaEstaría extremadamente agradecido por cualquier sugerencia o fragmento de código de otros desarrolladores (preferiblemente con antecedentes en hindi que se desarrollan en Mac).