<i18n dev> Problems drawing supplemental characters in Java.
Mark Davis ☕️
mark at macchiato.com
Wed Apr 9 17:29:35 UTC 2014
jdk1.7.0_25.jdk
Mark <https://google.com/+MarkDavis>
*— Il meglio è l’inimico del bene —*
On 9 April 2014 18:31, Phil Race <philip.race at oracle.com> wrote:
> Sounds like https://bugs.openjdk.java.net/browse/JDK-8015556
> [macosx] surrogate pairs do not render properly (show up as boxes or
> incorrect glyphs)
>
> But that was fixed in 7u40. What JDK 7 update is in use here ?
>
> -phil.
>
>
> On 4/9/14 9:17 AM, Naoto Sato wrote:
>
> Hi Mark,
>
> On 4/9/14, 3:11 AM, Mark Davis ☕️ wrote:
>
> I'm having some trouble with drawing supplemental characters in Java. It
> appears to be due to bugs in Java.
>
> *First, how do I report this? And second, can anyone think of a
> work-around?*
>
>
> Here is the link to report an issue against JDK:
>
> http://bugreport.java.com/bugreport/
>
> Please choose "classes_2d" as the subcategory.
>
>
> This is on a Mac OS 10.9.2, JDK 7, and I am rendering a number of
> characters in a loop.
>
> When I call
>
> graphics.drawString(s, xStart, ascent);
>
> Each supplemental character that shares the same first char (high
> surrogate) gets the same image (see attachments).
>
> It appears that it is caching by char instead of by code point.
>
>
> To work around the problem, I tried changing the code to draw glyph
> vectors instead.
>
> FontRenderContext frc = graphics.getFontRenderContext();
>
> GlyphVector gv = myFont.createGlyphVector(frc, s);
>
> ...
>
> Shape shape = gv.getOutline(xStart, ascent);
>
> graphics.draw(shape);
>
> To my surprise, it got even worse: I get an unknown glyph after each
> image. See attachments.
>
> It appears that when it is advancing through the string to get the
> glyphs, it is picking up the glyph ID for the code point, but then it is
> only advancing by 1, so it is always picking up garbage after each
> character.
>
>
> Yeah, your explanation does sound like what's happening in the font
> rendering on MacOSX. Phil/Mike, do you have any idea what's going on?
>
> Naoto
>
>
>
More information about the i18n-dev
mailing list