The following change appears to make the ThinLineTest pass. I tried a couple of variations of it, with and without antialiasing, with and without scaling, and with different scaling factors and line widths. The looked okay. Btw, bear with me as I am not really a Java 2D person and I may not know what I'm talking about :) But I got the feeling that the 'thin' logic (to do with the thin boolean parameter to PiscesRenderingEngine.strokeTo() and the logic in SunGraphics2D.validateBasicStroke()) isn't compatible with Stroker.computeOffset().
+++ jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java 2009-02-24 11:17:48.000000000 -0800 @@ -169,7 +169,7 @@ LineSink lsink) { float lw; - if (thin) { + if (false && thin) { if (antialias) { lw = 0.5f; } else { On Mon, Feb 23, 2009 at 5:32 PM, Hiroshi Yamauchi <yamau...@google.com>wrote: > Hi all, > > We found four more 2D rendering OpenJDK incompatibilities (the examples are > attached): > > 1. ScaleTest: A circle is rendered in a 'C' shape. > 2. ThinLineTest: A line < 1 pixel disappears. > 3. NotANumberTest: Double.NaN isn't handled gracefully. > 4. StrokeShapeTest: createStrokedShape() behaves differently. > > Some of the examples may be caused by a single bug. I don't have an idea > what the causes are. > By any chance, have any of the them already fixed? > > Thanks, > Hiroshi > > >