| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| |
| <!-- ========================================================================= --> |
| <!-- author vincent.hardy@eng.sun.com --> |
| <!-- version $Id: index.xml 396260 2006-04-23 12:01:57Z deweese $ --> |
| <!-- ========================================================================= --> |
| |
| <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd"> |
| <document> |
| <header> |
| <title>Batik SVG Toolkit</title> |
| </header> |
| |
| <body> |
| <section id="overview"> |
| <title>Overview</title> |
| |
| <p> |
| Batik is a Java-based toolkit for applications or applets that want to |
| use images in the <a href="site:svg11">Scalable Vector |
| Graphics (SVG)</a> format for various purposes, such as display, |
| generation or manipulation. |
| </p> |
| |
| <p> |
| The project’s ambition is to give developers a set of |
| <a href="using/architecture.html#coreComponents">core modules</a> that can be |
| used together or individually to support specific SVG solutions. |
| Examples of <a href="site:modules">modules</a> are the |
| <a href="site:parsers">SVG Parser</a>, the |
| <a href="site:generator">SVG Generator</a> and the |
| <a href="site:dom-api">SVG DOM</a>. Another ambition for the Batik |
| project is to make it highly |
| <a href="site:extending">extensible</a>—for example, Batik |
| allows the developer to handle custom SVG elements. Even though the goal |
| of the project is to provide a set of core modules, one of the |
| deliverables is a full fledged <a href="site:browser">SVG |
| browser</a> implementation which validates the various modules and |
| their inter-operability. |
| </p> |
| </section> |
| |
| <section id="uses"> |
| <title>What Batik can be used for</title> |
| <p> |
| <img class="floating" src="images/batikUses.jpg" alt="Batik use cases"/> |
| With Batik, you can manipulate SVG documents anywhere Java is |
| available. You can also use the various |
| <a href="site:modules">Batik modules</a> to |
| <a href="site:generator">generate</a>, |
| <a href="site:dom-api">manipulate</a> and |
| <a href="site:transcoder">transcode</a> SVG images in your |
| applications or applets. |
| </p> |
| <p> |
| Batik makes it easy for Java based applications or applets to |
| deal with SVG content. For example, using Batik’s |
| <a href="site:generator">SVG generator module</a>, |
| a Java application or applet can very easily export its |
| graphics into the SVG format. Using Batik’s |
| <a href="site:swing">SVG viewing component</a>, an application or |
| applet can very easily integrate SVG viewing and interaction |
| capabilities. Another possibility is to use Batik’s modules to convert |
| SVG to various formats, such as raster images |
| (<abbr title="Joint Photographic Expert Group">JPEG</abbr>, |
| <abbr title="Portable Network Graphics">PNG</abbr> or |
| <abbr title="Tagged Image File Format">TIFF</abbr>) or |
| other vector formats (<abbr title="Encapsulated PostScript">EPS</abbr> or |
| <abbr title="Portable Document Format">PDF</abbr>, the latter two due |
| to the transcoders provided by |
| <a href="http://xmlgraphics.apache.org/fop/">Apache FOP</a>). |
| </p> |
| <p> |
| The Batik toolkit includes the following: |
| </p> |
| <p><b>Modules</b></p> |
| <ul> |
| <!--li>A <a href="site:css">CSS engine</a></li--> |
| <li>An <a href="site:dom-api">SVG DOM implementation</a></li> |
| <li>A set of <a href="site:parsers">SVG microsyntax parsers</a></li> |
| <li>A <a href="site:scripting-ecmascript">scripting module</a></li> |
| <li>A <a href="site:generator">generator</a> that creates an SVG document from Java2D calls</li> |
| <li>A <a href="site:swing">Swing SVG component</a></li> |
| <li>A <a href="site:transcoder">transcoder module</a></li> |
| </ul> |
| <p><b>Tools and applications</b></p> |
| <ul> |
| <li>Squiggle, an <a href="site:browser">SVG browser</a></li> |
| <li>An <a href="site:rasterizer">SVG rasterizer</a></li> |
| <li>A <a href="site:font-converter"> |
| <abbr title="TrueType Font">TTF</abbr> to SVG converter</a></li> |
| <li>A <a href="site:pretty-printer">pretty printer</a> for SVG |
| source files</li> |
| </ul> |
| <p> |
| See <a href="site:uses">examples of projects and products using |
| Batik</a> for real-life example of how Batik is already integrated in |
| projects and products. |
| </p> |
| </section> |
| |
| <section id="spec"> |
| <title>The SVG specification</title> |
| <p> |
| Scalable Vector Graphics, SVG, is a <a href="http://www.w3.org/">W3C</a> |
| Recommendation. It defines an XML grammar for rich 2D graphics |
| which includes features such as transparency, arbitrary geometry, filter |
| effects (shadows, lighting effects, etc.), scripting and animation. |
| </p> |
| <p> |
| The SVG specification states: |
| </p> |
| <p class="quote"> |
| This specification defines the features and syntax for Scalable Vector |
| Graphics (SVG). SVG is a language for describing two-dimensional |
| graphics in XML [<a href="http://www.w3.org/TR/REC-xml">XML10</a>]. SVG |
| allows for three types of graphic objects: vector graphic shapes (e.g., |
| paths consisting of straight lines and curves), images and text. |
| Graphical objects can be grouped, styled, transformed and composited |
| into previously rendered objects. The feature set includes nested |
| transformations, clipping paths, alpha masks, filter effects and |
| template objects. |
| </p> |
| <p> |
| SVG documents can be interactive and dynamic. Animations can be defined |
| and triggered either declaratively (i.e., by embedding SVG animation |
| elements in SVG content) or via scripting. |
| </p> |
| </section> |
| |
| <section id="status"> |
| <title>Implementation status</title> |
| <p> |
| The latest revision of Batik, release 1.7, is a conformant |
| <a href="http://www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers">static |
| SVG implementation</a> and supports |
| <a href="http://www.w3.org/TR/SVG11/interact.html">interactivity</a>, |
| <a href="http://www.w3.org/TR/SVG11/linking.html">linking</a> and |
| <a href="http://www.w3.org/TR/SVG11/script.html">scripting</a> features |
| of the SVG specification. This release supports a nearly complete |
| implementation of declarative |
| <a href="http://www.w3.org/TR/SVG11/animate.html">animation</a>, too. |
| </p> |
| |
| <p> |
| See the <a href="site:status">status</a> page for a detailed description |
| of the set of SVG features Batik supports. |
| </p> |
| </section> |
| |
| <section id="download"> |
| <title>Download Batik</title> |
| <p> |
| You can get the Batik distribution, source and binary, from the |
| <a href="site:download">download page</a>. |
| </p> |
| |
| <note> |
| All other libraries needed by Batik are included in the distribution. |
| As a consequence the Batik archive is quite big, but after you have |
| downloaded it, you will not need anything else. |
| </note> |
| |
| <warning id="SecurityWarning" label="Security warning"> |
| <p> |
| This is a warning that a script security issue was reported in |
| the Batik Squiggle browser. Squiggle uses the Rhino scripting |
| engine and some features of that engine can be leveraged by |
| malicious scripts to gain access to otherwise protected |
| resources (like the file system). This issue was fixed in the |
| 1.5.1 release of Batik. If you are using a version of Batik older than |
| 1.5.1, you should upgrade. |
| </p> |
| </warning> |
| </section> |
| |
| </body> |
| </document> |