xmlgraphics-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas DeWeese <Thomas.DeWe...@Kodak.com>
Subject Release: Batik 1.6
Date Mon, 11 Apr 2005 12:21:38 GMT
    This note is to announce the release of Batik 1.6.
The main points of this release are the initial support
of SVG 1.2 features (many more to come).  A vast performance
improvement for Mac OS X, and many smaller performance tweaks
for all platforms. As well as the normal load of bug fixes and
specification conformance improvements.

    All users are encouraged to upgrade to Batik 1.6. However, all the
builds that were offered earlier are still available in the apache


1.5.1 -> 1.6

1. Bugzilla problem reports fixed:

          28035, 28188, 28429, 28432, 28487, 29110, 29891, 30580, 30584,
          30739, 30923, 30925, 30948, 31603, 32108, 32435, 32872, 32951,
          33242, 33733, 33890, 33923, 33986, 34030, 34041, 34115

2. SVG 1.2 Features:

  * All SVG 1.2 elements/features have been moved from
    the Batik namespace into the SVG 1.2 namespace (except for
    flowText which remains, due to some loss of functionality
    with the current flowRoot and potential spec instability).
  * Implementation of SVG 1.2 flowRoot element (text flow into
    arbitrary regions with bidi support).
  * There is now an SVG12CSSEngine which has support for new
    properties in SVG 1.2

3. Improvements:

  * Massive performance improvement (>10X) for drawing on Mac OS X.
  * Document.getElementById now uses a Hashtable to speedup lookups.
  * JavaScript can now be used in an Applet out of the box.
  * Added support for 'font' shorthand property.
  * Added support for 'deselectAll' SVG DOM call.
  * getEncolsureList and getIntersectionList are implemented.
  * Added support for get[Screen]PixelUnitToMillimeterX/Y
  * SVG DOM getTotalLength, and getPointAtLength are now implemented.
  * Support for preserveAspectRatio DOM methods.
  * Squiggle browser now has a 'Save As' menu item.
    * Can toggle if xml:base should be added to saved SVG.
    * Can 'pretty print' saved XML for readability.
  * ExtensibleSVGDOMImplementation no longer exists,
    the SVGDOMImplementation is now extensible.  There is a
    new baseclass ExtensibleDOMImplementation that provides
    extension capabilities to any DOMImplementation subclass.
    As a result the name of the services meta-file has moved to:
    People with DOM extension will have to update the service file
  * ExtensibleDOMImplementation now allows 'extension' elements in
    the SVG Namespace (they are always lower priority than 'built ins').
  * When a new Document is loaded a new BridgeContext is created for it.
    As a result each document now get's it's own CSS engine.
  * ttf2svg now supports 'auto ranging' so it looks at the font
    to decide what to output.
  * DOM will now detect when the child passed to insert/remove
  * AbstractParentNode will now throw a DOM Hierarchy exception
    if you try to append a node as a child of it's self (PR 34030)
  * Anti-aliased clips (hqClip patch).  This can be disabled by setting
    the transcoding hint to vector or print (so content doesn't get
    rasterized). PR 29110.
  * Control of tiled image rendering based on rendering hint.
    Using this hint may greatly increase the amount of memory used.
  * The Marker interface now has a 'getCharIndex()' method to
    get the index of the character the Mark is associated with.
    node is not the child of the node insert/remove is called on.
  * DrawImage now defaults color model to sRGB_Unpre if the destination
    doesn't include alpha.
  * The pattern element now shares one rendering tree across all
  * Some improvements for Kerning in SVG Font (faster)
  * Arabic diacritics are now positioned relative to the right edge
    of the base glyph. Bug 28429
  * Basic DocumentType implementation, if present DOMUtilities will
    now emit a proper doctype specification
  * GVT Tree walker can now be given any node in the GVT tree and it
    walk just that subtree.
  * Many places now use getResource as Stream instead of Resource
    bundles where localization is not wanted/needed.
  * Tweaked UpdateManager repaint scheduling alg.
    It now tracks when the rendering goes 'out of date'
    with the document and runs runnables until it is out of
    them or MIN_REPAINT_TIME is exceeded.
  * Arc2D now translated to path with elliptical arc commands
    in SVGGraphics2D interface.
  * JSVGScrollPane now uses bbox of geometry if no viewBox is provided.
  * Refactored the text and flow bridges so make things cleaner.
  * Implemented textLength to return the value of
    getComputedTextLength when the textLength attribute is not
  * Potentially large optimization in BBox generation
  * The DOM tree viewer now has an option to hide text nodes that
    only contain whitespace.
  * The DOM tree viewer now includes the id of an element in the
    tree view if it has one.
  * Improvements to empty bounds handling, should decrease update areas.
  * GVT Render requests are now compressed.  This helps when doing
    live resize of large documents.
  * Some refactoring/restructuring of svggen.XmlWriter to potentially
    make it a pretty printing DOM serializer.
  * Latest pdf-transcoder from FOP which supports '-dpi' switch.
  * ScrollPane now should do a better job of fitting document w/o
  * title and desc changes are now dynamically tracked.
  * ScriptFactorys now loaded via Services interface.
  * Made the JDK image loading Mediatracker static
    (so others could use it easier).
  * ParsedURL now uses the current Batik version as it's default
  * Rationalized Text Selection code.  Copy to clipboard is now done
    by JGVTComponent only if 'unix style' text selection is requested

4. Bug Fixes:

  * Fixed all known memory leaks with loading images.
  * Changing documents in JSVGScrollPane now works properly.
  * Fixed a small memory leak when changing xlink:href on a
    use referencing a local element.
  * No longer uses Thread.interrupt.  On some JVM's this can confuse the
    class loader.
  * Adding elements in the 'null' namespace nolonger causes a NPE exception.
  * Fixed colorspace error in ColorMatrixRed.
  * Line element no longer has a fill associated with it.
  * Fixed bug #29416 - problem with empty quotes in CSS.
  * Fixed bug #34210 - element selectors are now case sensitive
  * Index out of bounds error fixed in linear gradient.
  * AOI problem in PrintTranscoder now fixed.
  * Null Pointer exception when PrintingTranscoding documents
    using SVG fonts is fixed (the BridgeContext was being
    disposed of too early).
  * PrintTranscoder now uses UserAgent to report exceptions
    rather than silently swallowing them.
  * Fixed some minor bugs in the GlyphLayout code for flow regions.
  * Very minor tweaks in JSVGScrollPane.
  * Applied patch 28188, fixed tooltip text & title text, thanks Glen
  * Applied patch 28487, fixed enabled/disabled state for
    toolbar buttons, thanks Glen
  * Fixed bug in text selection (programatically selected text wouldn't
    clear properly.
  * Fixed bug 23035 - Xlink attributes initialized with wrong values.
  * Fixed Bug 28785 - 'a' element not clickable with namespace prefix.
  * Bug 30584 - Concurrent Modification believed fixed (couldn't get
                test case to fail after fix).
  * Bug 29891 - Rasterizer problem if w/h == viewBox w/h
  * No more 'flicker' when panning a dynamic document.
  * CmapFormat4 now clips charCode 0->65534.
  * All Object.wait calls are now in while loops to prevent spurious 
  * DOM keypress events will now be generated for so called
    Java 'action' keyEvents (previously only keydown/up were
  * Fixed a bug in the PNG Encoder for some 1,2 or 4 bit/pixel images.
  * Fixed bug in PackBits TIFF files with multiple IFD's
  * The 'debug' messages are now synced with GUI messages.  Also they
    are localizable.
  * Tweaked the way we generate paths to avoid a bug
    in the Mac OS X Java implemention where a close
    followed by a moveto didn't join the path properly.
  * Fixed width/height change onload bug in transcoders submitted
    by Simon Mieth.  Thanks!
  * Fixed a bug with CSS shorthand properties not being set by presentation
  * DOMImplementations now return empty documents if
    qualifiedName in createDocument is null (PR 32108)
  * Fixed 'flashing' with JSVGScrollPane.
  * Fixed PR: 30923.  Text children now respect display and
    visibility properties (including dynamic changes).
  * Fixed visibility update bug reported by George Armhold.
  * Fixed visibility bug on image elements.
  * getBBox should now work per the specification.
    a) fill="none" will still give bbox
    b) It is now the tight bounds of the geometry
    c) It does not include the stroke anymore.
    d) When called on 'undisplayed' elements returns null (not sure
       what the spec really says about this).
  * Modification of use element's width/height now works.
  * Fixed potential interrupted bug in the RunnableQueue class.
  * The document loader cache now uses soft references to avoid
    being a memory leak.
  * Improved the xml:space support.
  * textPath no longer supports 'position attributes' on it's self
  * textPath now supports progression position attributes provided
    by parent/child tspan/text nodes.
  * systemLanguage, requiredFeatures, requiredExtensions now all fail
    to match when given an empty string (as specified by the SVG
    specification). Bug #33242 (thanks Rick Graham).
  * Fixed potential synchronization issues in JavaScript intervals.
  * Small optimization in Event dispatch.
  * Removed debug print from SVGOMAnimatedPreserveAspectRatio.java
  * Synchronization fix in SoftReferenceCache.
  * SAXParser now includes 'ignorableWhitespace' when building the
    DOM tree.  I also tweaked the way text and CDATA sections are
  * UpdateManager is now always the 'source' of UpdateManagerEvents
    previously in some cases it was an inner class.
  * Fix for masks when using Alpha Premultiplied (Mac OS X).
  * Improved consistency of events from the RunnableQueue.
    Calling suspend/resumeExecution should now always generate
    a runHandler event (although the events may be "compressed"
    so suspend/resume may only generate one resume event).
  * Fixed bug in handling kerning elements with multiple glyph entries
    in g/u 1or2.
  * Removed use of 'getTagName' to use 'getLocalName' to avoid issues with
    prefixed svg elements.
  * Fixed a mistake in the generation of SVG fonts that include
    arabic forms (PR 33733)
  * Fixed handling of complex paint types (base types with
  * Fixed CSS SVG DOM interfaces for complex paint types
    (see bug 33923).  Added new test for same.
  * Text Selection events are now generated even when the
    done event is not over a graphics node.
  * The double '#' bug is gone in the SVG Pretty Printer. PR 33890
  * The worst of the 'extra spaces' problem with the pretty printer
    is solved.
  * Fixed updates to SVG Font based text (PR 34041)
  * Bug fix in NumberParser (thanks dvholten)
  * Fixed bug 34115 - CSSStyleDecl doesn't collapse properties.
  * JSVGCanvas no longer holds cached viewBox so it responds
    properly when viewBox is updated in SVG content.

5. Misc:

   Documentation updates
   JavaDoc will now reference W3 and JDK docs
   Updated MAINTAIN file
   Splash/startup screen now embed font (a little simpler SVG as well).
   Some Rhino improvements.
   New Tests for bugs.

   Thanks to everyone on batik-dev/users for reporting problems and
   working on finding solutions.

Apache XML Graphics Project URL: http://xmlgraphics.apache.org/
To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org

View raw message