| <?xml version="1.0"?> |
| <!DOCTYPE document SYSTEM "./dtd/document-v10.dtd"> |
| |
| <!-- |
| |
| Copyright 2000-2003 The Apache Software Foundation |
| |
| Licensed 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 Thierry.Kormann@sophia.inria.fr --> |
| <!-- author vincent.hardy@eng.sun.com --> |
| <!-- version $Id$ --> |
| <!-- ====================================================================== --> |
| <document> |
| <header> |
| <title>Batik Status</title> |
| <subtitle>Implementation Status and Code Metrics</subtitle> |
| <authors> |
| <person name="Vincent Hardy" email="vincent.hardy@eng.sun.com" /> |
| <person name="Thierry Kormann" email="Thierry.Kormann@sophia.inria.fr" /> |
| </authors> |
| </header> |
| |
| <body> |
| <s1 title="Introduction"> |
| <p> |
| This page provides information about Batik's |
| implementation status in terms of code metrics and SVG |
| support. It is broken down into the following |
| sections:</p> |
| |
| <ul> |
| <li><link href="#status">Batik status</link> provides |
| information about what Batik roadmap and current |
| support of SVG features. This section is further |
| broken down into:<ul> |
| |
| <li><link href="#roadmap">Roadmap</link> describes |
| the upcoming milestones in the Batik |
| implementation</li> |
| |
| <li><link href="#elementStatus">SVG Elements and |
| Attributes</link> which defines which elements and |
| attributes are supported by the Batik |
| project.</li> |
| |
| <li><link href="#propertiesStatus">CSS |
| Properties</link> which defines which CSS |
| properties are supported by the Batik |
| components.</li> |
| |
| <li><link href="#svgDomStatus">SVG DOM</link> |
| which defines which portions of the SVG DOM are |
| supported by the Batik implementation. |
| </li> |
| |
| <li><link href="#beSuiteStatus">SVG BE |
| Suite</link> which defines which tests of the SVG |
| 1.0 BE Suite are successfully passed by the Batik |
| browser (Squiggle).</li> |
| </ul></li> |
| |
| <li><link href="#metrics">Batik metrics</link> |
| provides metrics for the Batik project: binary size |
| for the various modules, source code size, lines of |
| code, number of files etc...</li> |
| </ul> |
| </s1> |
| |
| <anchor id="status" /> |
| <s1 title="Batik Status" /> |
| |
| <anchor id="roadmap" /> |
| |
| <s1 title="Batik roadmap"> |
| |
| <ul> |
| <li><strong>Batik 1.1</strong> (December 2001) was |
| focused on supporting all static SVG features. In |
| addition, Batik 1.1 supported hyperlinking and |
| 'one-way' scripting (which means that scripts could |
| handle events but modifications to the SVG document by |
| scripts would not be reflected visually by the Batik |
| viewing component. |
| </li> |
| |
| <li><strong>Batik 1.5</strong> (Summer 2003) is |
| focussed on supporting SVG scripting fully. The |
| following sections provide details on the exact support |
| of the SVG scripting features.</li> |
| </ul> |
| |
| </s1> |
| |
| <anchor id="elementStatus" /> |
| <s1 title="SVG Elements and Attributes Support" > |
| |
| <p> The <link href="supportedElements.html">supported elements table</link> lists all the elements part of the SVG |
| specification that are supported in the Batik toolkit rendering |
| components (i.e., the <code>ImageTranscoder</code> and the <code>JSVGCanvas</code> Swing |
| component). </p> |
| |
| </s1> |
| |
| <anchor id="propertiesStatus" /> |
| <s1 title="CSS Properties Support" > |
| |
| <p> The <link href="supportedProperties.html">supported properties table</link> lists all the CSS properties part of the SVG |
| specification or the CSS2 specification that are supported in the |
| Batik toolkit rendering components (i.e., the <code>ImageTranscoder</code> and the |
| <code>JSVGCanvas</code> Swing component). </p> |
| |
| </s1> |
| |
| <anchor id="svgDomStatus" /> |
| <s1 title="SVG DOM Support" > |
| |
| <p>The <link href="SVGDOMstatus.html">SVG DOM implementation |
| table</link> lists all SVG DOM interfaces and indicates for all |
| methods the status of the implementation in Batik.</p> |
| |
| </s1> |
| |
| <anchor id="beSuiteStatus" /> |
| <s1 title="SVG BE Suite Status"> |
| <p> |
| The <link href="http://www.w3.org/Graphics/SVG/Test/">SVG BE Test suite</link> is developed by the W3C SVG working |
| group to allow implementation to check their level of |
| conformance with the SVG specification. In that spirit, |
| the table below shows how much of the test suite the |
| SVG Viewer included in the Batik distribution passes. |
| </p> |
| <p> |
| There are two sections: the first one shows the tests |
| Batik passes and the second shows the tests that |
| Batik does not pass (althought it will eventually). |
| Each section lists |
| static and dynamic SVG tests separately. |
| </p> |
| <p> |
| Static ratings : passed: 93, not passed: 0 (Total: 93/93) |
| </p> |
| <p> |
| Dynamic ratings : passed: 10, not passed 23 (Total: 10/33) |
| </p> |
| |
| <p><em>Note</em> that the Batik tests go beyond the SVG Working Group BE test suite |
| and that the <link href="test.html">Batik test suite infrastructure</link> contains |
| several hundreds of tests in addition to the BE test suite.</p> |
| |
| <p><strong>Static Tests Passed by Batik</strong></p> |
| <table> |
| <!-- ############################################################## --> |
| <tr><td>color-datatypes-BE-01.svg</td><td>color-property-BE-02.svg</td><td>color-colorProf-BE-03.svg</td></tr> |
| <!-- ############################################################## --> |
| <tr><td>coords-transforms-BE-02.svg</td><td>coords-units-BE-01.svg</td><td>coords-unitsProc-BE-05.svg</td></tr> |
| |
| <tr><td>coords-viewBox-BE-03.svg</td><td>filters-convolve-BE-06.svg</td><td>filters-diffuseLt-BE-07.svg</td></tr> |
| |
| <tr><td>filters-lights-BE-09.svg</td><td>filters-many-BE-01.svg</td><td>filters-specularLt-BE-08.svg</td></tr> |
| <tr><td>filters-blend-BE-02.svg</td><td>filters-blur-BE-12.svg</td><td>filters-dispMap-BE-16.svg</td></tr> |
| <tr><td>filters-feImage-BE-13.svg</td><td>filters-feTile-BE-14.svg</td><td>filters-fldMrgOff-BE-15.svg</td></tr> |
| <tr><td>filters-morph-BE-10.svg</td><td>filters-transfer-BE-04.svg</td><td>filters-turb-BE-11.svg</td></tr> |
| <tr><td>filters-colorMtrx-BE-03.svg</td><td>filters-composite-BE-05.svg</td><td>masking-mask-BE-05.svg</td></tr> |
| <tr><td>masking-mask-BE-06.svg</td><td>masking-property-BE-07.svg</td><td>gradPatt-linearGr-BE-01.svg</td></tr> |
| <tr><td>gradPatt-linearGr-BE-02.svg</td><td>gradPatt-linearGr-BE-03.svg</td><td>gradPatt-pattern-BE-07.svg</td></tr> |
| <tr><td>gradPatt-radialGr-BE-04.svg</td><td>gradPatt-radialGr-BE-04.svg</td><td>gradPatt-referenc-BE-08.svg</td></tr> |
| <tr><td>gradPatt-stop-BE-06.svg</td><td>gradPatt-stop-BE-10.svg</td><td>gradPatt-transfrm-BE-09.svg</td></tr> |
| <tr><td>masking-clipPath-BE-01.svg</td><td>masking-clipPath-BE-02.svg</td><td>masking-clipPath-BE-08.svg</td></tr> |
| <tr><td>masking-clipRule-BE-03.svg</td><td>masking-groupOpac-BE-04.svg</td><td>masking-vportClip-BE-09.svg</td></tr> |
| <tr><td>paint-colIntProp-BE-05.svg</td><td>paint-inherit-BE-06.svg</td><td>paint-stroke-BE-02.svg</td></tr> |
| <tr><td>paint-fill-BE-01.svg</td><td>paint-markers-BE-03.svg</td><td>paint-markers-BE-04.svg</td></tr> |
| <tr><td>path-curves-BE-02.svg</td><td>path-curves-BE-03.svg</td><td>path-curves-BE-04.svg</td></tr> |
| <tr><td>path-lines-BE-01.svg</td><td>rendering-orderGr-BE-01.svg</td><td>rendering-shape-BE-03.svg</td></tr> |
| <tr><td>rendering-text-BE-02.svg</td><td>shapes-circle-BE-03.svg</td><td>shapes-ellipse-BE-02.svg</td></tr> |
| <tr><td>shapes-line-BE-04.svg</td><td>shapes-polygon-BE-05.svg</td><td>shapes-polyline-BE-06.svg</td></tr> |
| <tr><td>shapes-rect-BE-01.svg</td><td>structure-allElem-BE-09.svg</td><td>structure-basicG-BE-03.svg</td></tr> |
| <tr><td>structure-defs-BE-04.svg</td><td>structure-empty-BE-01.svg</td><td>structure-extRef-BE-10.svg</td></tr> |
| <tr><td>structure-image-BE-06.svg</td><td>structure-lang-BE-08.svg</td><td>structure-nested-BE-02.svg</td></tr> |
| <tr><td>structure-switch-BE-07.svg</td><td>structure-symbol-BE-05.svg</td><td>style-selector-BE-01.svg</td></tr> |
| <tr><td>style-selector-BE-02.svg</td><td>style-selector-BE-03.svg</td><td>text-text-BE-01.svg</td></tr> |
| <tr><td>text-tspan-BE-02.svg</td><td>text-textOnPath-BE-03.svg</td><td>text-tref-BE-04.svg</td></tr> |
| <tr><td>text-textAnchor-BE-05.svg</td><td>text-whiteSpace-BE-06.svg</td><td>text-altGlyph-BE-07.svg</td></tr> |
| <tr><td>text-i18n-BE-09.svg</td><td>text-alignment-BE-10.svg</td><td>text-alignment-BE-11.svg</td></tr> |
| <tr><td>text-selection-BE-13.svg</td><td>text-spacing-BE-14.svg</td><td>text-font-BE-15.svg</td></tr> |
| <tr><td>text-font-BE-16.svg</td><td>text-textLength-BE-17.svg</td><td>text-extTref-BE-18.svg</td></tr> |
| <tr><td>fonts-fontElement-BE-01.svg</td><td>metadata-sample-BE-01.svg</td><td>text-decoration-BE-12.svg</td></tr> |
| |
| </table> |
| |
| <anchor id="DynamicTest" /> |
| <p><strong>Dynamic Tests Passed by Batik</strong></p> |
| <table> |
| <tr><td>linking-outBound-BE-01.svg</td><td>linking-xlinkAttr-BE-02.svg</td><td>linking-inBound-BE-03.svg</td></tr> |
| <tr><td >linking-view-BE-04.svg</td><td >linking-view-BE-05.svg</td><td>script-eventDom-BE-01.svg</td></tr> |
| <tr><td>script-uiEvents-BE-02.svg</td><td>dom-core-BE-01.svg</td><td>dom-featureString-BE-03.svg</td></tr> |
| <tr><td>dom-eventListener-BE-04.svg</td><td> </td><td> </td></tr> |
| |
| </table> |
| |
| |
| |
| <p><strong>Dynamic Tests Not Passed by Batik</strong></p> |
| <table > |
| <tr> |
| <td>animation-inherit-BE-10.svg</td> |
| <td>animation-overall-BE-01.svg</td> |
| <td>animation-timing-BE-05.svg</td> |
| </tr> |
| <tr> |
| <td>animation-values-BE-08.svg</td> |
| <td>extend-multiNS-BE-01.svg</td> |
| <td>interact-bubble-BE-04.svg</td> |
| </tr> |
| <tr> |
| <td>interact-pEvents-BE-05.svg</td> |
| <td>interact-zoomPan-BE-02.svg</td> |
| <td>animation-add-BE-09.svg</td> |
| </tr> |
| <tr> |
| <td>animation-href-BE-02.svg</td> |
| <td>animation-motion-BE-11.svg</td> |
| <td>animation-motion-BE-12.svg</td> |
| </tr> |
| <tr> |
| <td>animation-targAtt-BE-04.svg</td> |
| <td>animation-targElt-BE-03.svg</td> |
| <td>animation-values-BE-06.svg</td> |
| </tr> |
| <tr> |
| <td>animation-values-BE-07.svg</td> |
| <td>dom-svg-BE-02.svg</td> |
| <td>interact-bubble-BE-04-targ.svg</td> |
| </tr> |
| <tr> |
| <td>interact-cursor-BE-08.svg</td> |
| <td>interact-onload-BE-07.svg</td> |
| <td>interact-pEvents-BE-06.svg</td> |
| </tr> |
| <tr> |
| <td>interact-zoomPan-BE-01.svg</td> |
| <td>interact-zoomPan-BE-03.svg</td> |
| <td> </td> |
| </tr> |
| </table> |
| |
| </s1> |
| |
| <anchor id="metrics" /> |
| <s1 title="Batik Metrics"> |
| <p>The following numbers are as of July 10th 2003</p> |
| |
| <p><strong>Modules Binary size</strong></p> |
| <table> |
| <tr> |
| <td>Java API, AWT and Swing Extensions |
| (batik-awt-util.jar, |
| org.apache.batik.ext.awt and |
| org.apache.batik.ext.swing)</td> |
| <td>354,700</td> |
| </tr> |
| <tr> |
| <td>Bridge module (batik-bridge.jar, |
| org.apache.batik.bridge)</td> |
| <td>240,925</td> |
| </tr> |
| <tr> |
| <td>CSS 2 support (batik-css.jar, |
| org.apache.batik.css)</td> |
| <td>221,112</td> |
| </tr> |
| <tr> |
| <td>Batik DOM support (batik-dom.jar, |
| org.apache.batik.dom)</td> |
| <td>79,168</td> |
| </tr> |
| <tr> |
| <td>W3C and XML APIs (batik-ext.jar, org.w3c)</td> |
| <td>76,733</td> |
| </tr> |
| <tr> |
| <td>Sample extensions (batik-extensions.jar, |
| org.apache.batik.extension)</td> |
| <td>43,870</td> |
| </tr> |
| <tr> |
| <td>User interface utilities (batik-gui-util.jar, |
| org.apache.batik.dom)</td> |
| <td>135,636</td> |
| </tr> |
| <tr> |
| <td>GVT (batik-gvt.jar, |
| org.apache.batik.gvt)</td> |
| <td>143,429</td> |
| </tr> |
| <tr> |
| <td>Micro Parsers (batik-parser.jar, |
| org.apache.batik.parser)</td> |
| <td>35,078</td> |
| </tr> |
| <tr> |
| <td>Scripting engines infrastructure (batik-script.jar, |
| org.apache.batik.script)</td> |
| <td>30,842</td> |
| </tr> |
| <tr> |
| <td>Batik SVG Dom Implementation (batik-svg-dom.jar, |
| org.apache.batik.dom.svg)</td> |
| <td>376,951</td> |
| </tr> |
| <tr> |
| <td>SVG Generator (batik-svggen.jar, |
| includes SVG font converter)</td> |
| <td>162,171</td> |
| </tr> |
| <tr> |
| <td>JSVG Canvas (batik-swing.jar, |
| org.apache.batik.swing)</td> |
| <td>126,040</td> |
| </tr> |
| <tr> |
| <td>Transcoder module (batik-transcoder.jar, |
| org.apache.batik.transcoder)</td> |
| <td>61,780</td> |
| </tr> |
| <tr> |
| <td>Utilities (batik-util.jar, org.apache.batik.util |
| and org.apache.batik.i18n)</td> |
| <td>75,679</td> |
| </tr> |
| <tr> |
| <td>XML Parsing utilities (batik-xml.jar, |
| org.apache.batik.xml)</td> |
| <td>19,876</td> |
| </tr> |
| </table> |
| |
| <p><strong>External packages</strong></p> |
| |
| <table> |
| <tr> |
| <td>ECMA Script Engine (js.jar)</td> |
| <td>593,919</td> |
| </tr> |
| |
| <tr> |
| <td>Parser (xerces_2_5_0.jar)</td> |
| <td>934,835</td> |
| </tr> |
| |
| <tr> |
| <td>XML Interfaces (xml-apis.jar)</td> |
| <td>107,431</td> |
| </tr> |
| |
| <tr> |
| <td>FOP PDF Transcoder (pdf-transcoder.jar)</td> |
| <td>302,896</td> |
| </tr> |
| </table> |
| |
| <p><strong>Source Metrics</strong></p> |
| |
| <table> |
| <tr> |
| <td>Number of source lines overall (includes comments and empty lines)</td> |
| <td>242,137</td> |
| </tr> |
| <tr> |
| <td>Number of source files overall</td> |
| <td>1,348</td> |
| </tr> |
| </table> |
| |
| </s1> |
| </body> |
| </document> |