Wrong glyphs for some unicode characters in Java
Submitted by Wednesday, 5 January, 2005 - 22:55
on
In Linux I use a customized keyboard mapping which gives me access to unicode characters I often need to type. But some of them, strangely, are wrongly displayed in jEdit. For example,
\u012b is displayed as \u03ef
\u016b as \u03fe
\u014d as \u03f2
\u0101 as \u03e0
\u0111 as \u01f0
\u0113 as \u03ba
etc
So for each of these cases I need a work-around by redefining the key that generates the wrong glyph with a shortcut to a macro which writes the correct character. For instance the shortcut Alt-a activates a bsh macro containing the line
textArea.setSelectedText("\u0101")
which prints "Ä?" (a macron) instead of \u3e0 which is Greek sampi!
I checked with other Java GUI apps having Unicode support (such as JabRef): the very same bug occurs again! So this must be a general Java bug (some mess in the Unicode tables?) Yet might it be possible to fix this in a future version of jEdit by somehow circumventing this mess through an appropriate patch? Sorry if I can't help much myself, as I am not a Java programmer.
Any idea?
Thanks,
François
PS: I run J2RE 1.5.0_01-b08 on Linux. The problem also occurs with J2RE 1.4.2_06-b03.
\u012b is displayed as \u03ef
\u016b as \u03fe
\u014d as \u03f2
\u0101 as \u03e0
\u0111 as \u01f0
\u0113 as \u03ba
etc
So for each of these cases I need a work-around by redefining the key that generates the wrong glyph with a shortcut to a macro which writes the correct character. For instance the shortcut Alt-a activates a bsh macro containing the line
textArea.setSelectedText("\u0101")
which prints "Ä?" (a macron) instead of \u3e0 which is Greek sampi!
I checked with other Java GUI apps having Unicode support (such as JabRef): the very same bug occurs again! So this must be a general Java bug (some mess in the Unicode tables?) Yet might it be possible to fix this in a future version of jEdit by somehow circumventing this mess through an appropriate patch? Sorry if I can't help much myself, as I am not a Java programmer.
Any idea?
Thanks,
François
PS: I run J2RE 1.5.0_01-b08 on Linux. The problem also occurs with J2RE 1.4.2_06-b03.