Changes
- Implementors of
Output
now have more control over how text gets rendered. The can opt to receive information about the text being laid out by returning a customTextOutput
inOutput#textOutput
. ExternalResourcePolicy
now applies to all resources not only referenced SVG elements.- Support for multi-char codepoints such as "𝄞".
- Rudimentary support for rendering emoji. This feature does not work on every operating system and JDK version.
- Support for more units:
- rem
- ch
- Q
- vw,vh,vmin,vmax
- vi,vb
ParsedElement
now has access to the document it belongs to (viaParsedElement#document
) and to its parent element (viaParsedElement#parent
).- The
rx
andry
attributes are now correctly applied in cases. - Fixed rendering of paths with repeated cubic/quadratic bezier commands.
- Fixed usage of repeated values in the
paint-order
attribute. stroke-opacity
andfill-opacity
now correctly don't accumulate to child elements.- Percentages in stroke related properties now correctly refer to the diagonal length of the current viewport.
- Fixed bounds computation of empty groups for which a transform is specified.
- Support for the
transform-box
property. (by @Cu3PO42 in #99) - Prevent DOS attacks through exponential leaf nodes using
use
elements. The limits for this can be configured setting customDocumentLimits
in theLoaderContext
. - JSVG now provides OSGi metadata (by @HannesWell in #107)
- Preview support for animations. Not many properties outside of geometry properties are animatable. Only basic animation timings are implemented.
Deprecations`
See documentation for replacements.
LoadHelper(AttributeParser, ResourceLoader)
SVGDocument#render(JComponent, Graphics2D, ViewBox)
AttributeNode#getPercentage(String, float)
SVGDocumentBuilder(ParserProvider, ResourceLoader, NodeSupplier)
SVGLoader#load(InputStream)
SVGLoader#load(InputStream, ParserProvider)
SVGLoader#load(InputStream, ParserProvider, ResourceLoader)
Full Changelog: v1.6.1-rc1...v1.7.0-rc1