You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by Teck Hua Lee <gt...@gmail.com> on 2010/04/12 01:45:48 UTC

Re: Batik Trancoder SVG Compliance [was: Line element does not render with gradient stroke]

Thanks Helder for the usual quick and helpful response.

Fyi, I'm planning to use the Batik transcoder in my project. To determine
the SVG compliance, I ran the PNGTranscoder against the SVG spec.

See the issues below:

1. Line gradients
Thanks for pointing out the new test case.
It is interesting that the original test case vouches for the incorrect
behavior.
http://www.w3.org/Graphics/SVG/Test/20061213/htmlEmbedHarness/full-pservers-grad-17-b.html

Unfortunately, the transcoder output is not entirely correct for the new
1.1F2 test either. See attached.

2. NPE with custom SVG font

Test: http://dev.w3.org/SVG/profiles/1.1F2/test/svg/render-elems-06-t.svg

Log: java.lang.NullPointerException
    at
org.apache.batik.bridge.CSSUtilities.convertFillRule(CSSUtilities.java:796)
    at
org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph(SVGGlyphElementBridge.java:96)
    at
org.apache.batik.bridge.SVGGVTFont.createGlyphVector(SVGGVTFont.java:598)
    at org.apache.batik.gvt.text.GlyphLayout.<init>(GlyphLayout.java:210)
    at
org.apache.batik.gvt.text.ConcreteTextLayoutFactory.createTextLayout(ConcreteTextLayoutFactory.java:49)
    at
org.apache.batik.gvt.renderer.StrokingTextPainter.getTextChunk(StrokingTextPainter.java:629)
    at
org.apache.batik.gvt.renderer.StrokingTextPainter.computeTextRuns(StrokingTextPainter.java:247)
    at
org.apache.batik.gvt.renderer.StrokingTextPainter.getTextRuns(StrokingTextPainter.java:198)
    at
org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds2D(StrokingTextPainter.java:1085)
    at org.apache.batik.gvt.TextNode.getPrimitiveBounds(TextNode.java:245)
    at
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(AbstractGraphicsNode.java:854)
    at
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:207)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:295)
    at
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:224)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:295)
    at
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:207)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:295)
    at
org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820)
    at
org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:207)
    at
org.apache.batik.gvt.AbstractGraphicsNode.getBounds(AbstractGraphicsNode.java:768)
    at
org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:443)

-Teck Hua

2010/4/9 Helder Magalhães <he...@gmail.com>

> Hi Teck Hua Lee,
>
>
> Thanks for investigating and reporting this. :-)
>
>
> > When using the PNGTranscoder (1.7 and trunk), I noticed that lines with
> > gradient strokes will not render.
> [...]
> > Is this a known issue or should I file a bug?
>
> Apparently it is correct as-is: a good explanation is available in a
> similar test [1] for the SVG 1.1 Second Edition (both test suite and
> specification are currently draft). You'll notice Batik matches the
> reference rendering (I've checked with Squiggle trunk using the direct
> SVG link [2]). Note that Opera 10.51 also matches the expected
> rendering, while Firefox 3.7a and Chrome 5.0dev only partially pass
> the test. ;-)
>
>
> Cheers,
>  Helder
>
>
> [1]
> http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObject/pservers-grad-17-b.html
> [2] http://dev.w3.org/SVG/profiles/1.1F2/test/svg/pservers-grad-17-b.svg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org
>
>

Re: Batik Trancoder SVG Compliance [was: Line element does not render with gradient stroke]

Posted by th...@kodak.com.
Doh!

        Please only post to one list!

thomas.deweese@kodak.com wrote on 04/13/2010 07:09:16 AM:

> From:
> 
> thomas.deweese@kodak.com
> 
> To:
> 
> batik-users@xmlgraphics.apache.org
> 
> Cc:
> 
> batik-dev@xmlgraphics.apache.org, batik-users@xmlgraphics.apache.org
> 
> Date:
> 
> 04/13/2010 07:09 AM
> 
> Subject:
> 
> Re: Batik Trancoder SVG Compliance [was: Line element does not 
> render  with gradient stroke]
> 
> Hi Teck, 
> 
> Teck Hua Lee <gt...@gmail.com> wrote on 04/11/2010 07:45:48 PM:
> 
> > Unfortunately, the transcoder output is not entirely correct for the
> > new 1.1F2 test either. See attached.
> 
>    Can you be more clear what the problem is?  I agree they don't 
> match but I'm not certain Batik's is wrong (it may be but it's not 
> clear to me). 
> 
> > 2. NPE with custom SVG font
> > 
> > Test: 
http://dev.w3.org/SVG/profiles/1.1F2/test/svg/render-elems-06-t.svg
> 
>    I didn't get this exception with the current SVN version of Batik. 
> 
> > Log: java.lang.NullPointerException
> >     at org.apache.batik.bridge.CSSUtilities.convertFillRule
> > (CSSUtilities.java:796)
> >     at org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph


Re: Batik Trancoder SVG Compliance [was: Line element does not render with gradient stroke]

Posted by th...@kodak.com.
Hi Teck,

Teck Hua Lee <gt...@gmail.com> wrote on 04/11/2010 07:45:48 PM:

> Unfortunately, the transcoder output is not entirely correct for the
> new 1.1F2 test either. See attached.

   Can you be more clear what the problem is?  I agree they don't
match but I'm not certain Batik's is wrong (it may be but it's not
clear to me).

> 2. NPE with custom SVG font
> 
> Test: 
http://dev.w3.org/SVG/profiles/1.1F2/test/svg/render-elems-06-t.svg

   I didn't get this exception with the current SVN version of Batik.

> Log: java.lang.NullPointerException
>     at org.apache.batik.bridge.CSSUtilities.convertFillRule
> (CSSUtilities.java:796)
>     at org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph


Re: Batik Trancoder SVG Compliance [was: Line element does not render with gradient stroke]

Posted by th...@kodak.com.
Hi Teck,

Teck Hua Lee <gt...@gmail.com> wrote on 04/11/2010 07:45:48 PM:

> Unfortunately, the transcoder output is not entirely correct for the
> new 1.1F2 test either. See attached.

   Can you be more clear what the problem is?  I agree they don't
match but I'm not certain Batik's is wrong (it may be but it's not
clear to me).

> 2. NPE with custom SVG font
> 
> Test: 
http://dev.w3.org/SVG/profiles/1.1F2/test/svg/render-elems-06-t.svg

   I didn't get this exception with the current SVN version of Batik.

> Log: java.lang.NullPointerException
>     at org.apache.batik.bridge.CSSUtilities.convertFillRule
> (CSSUtilities.java:796)
>     at org.apache.batik.bridge.SVGGlyphElementBridge.createGlyph