A patch is provided that covers some limitations found in the current renderers (Shapefile and Streaming) as of 2.6.0. It follows discussions from thread http://firstname.lastname@example.org/msg18546.html
The limitations and corrections are the following:
1. Currently, some elements are always rendered as raster images: polygon fills are drawn as an AWT raster-based TexturePaint, and SVG ExternalGraphics are converted to images in SLDStyleFactory. In this way, rendering GeoTools maps on Graphics other than the screen (e.g., Batik's SVGGraphics and Graphics for printing) gives outputs of limited quality. In order to solve this, a rendering hint can now be provided to enable "vector rendering", so that polygon fills are painted directly to the target Graphics and SVGs are not converted to images. This is evidently slower, so if the hint is not provided, everything still works as usual.
2. Marks are currently always assumed to be square (usually 1x1). This patch also adds the capability of rendering marks with shapes of arbitrary sizes. As such, shapes with rectangular dimensions of any size are now supported. A separate patch will be provided that makes use of this capability to add new shapes (such as hatches with arbitrary angles)
I am also attaching a PDF file that gives an idea of what we can do now with these features (and the quality of the output). It contains hatches with different angle values (green one is 45 degrees, black ones are 110) and SVG files rendered as vectors.