Showing posts with label SVG Player. Show all posts
Showing posts with label SVG Player. Show all posts

January 23, 2008

Apache Batik SVG Toolkit Overview

Apache Batik is a Java-based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as display, generation or manipulation.

The project’s ambition is to give developers a set of modules that can be used together or individually to support specific SVG solutions.

The Batik modules are of one of three types: application modules, core modules and low level modules.

Application modules illustrate how to use the core modules and let users evaluate the Batik software by experimenting with its features. So, the application modules illustrate the functionality that Batik offers. The Batik SVG Toolkit distribution contains a few demos:

  • Squiggle SVG Browser
    The Squiggle SVG Browser lets you view SVG file, zoom, pan and rotate in the content and select text items in the image and much more.

  • SVG Font Converter
    The SVG Font Converter lets developers convert character ranges from the True Type Font format to the SVG Font format to embed in SVG documents. This allows SVG document to be fully self-contained and have their rendered identically on all systems.

  • SVG Rasterizer
    The SVG Rasterizer is a utility that can convert SVG files to a raster format. The tool can convert individual files or sets of files, making it easy to convert entire directories of SVG files. The supported formats are JPEG, PNG, and TIFF, however the design allows new formats to be added easily. In addition (and despite the name) the rasterizer tool can also convert SVG files into PDF.

  • SVG Pretty Printer
    The SVG Pretty Printer lets developers “pretty-up” their SVG files and get their tabulations and other cosmetic parameters in order. It can also be used to modify the DOCTYPE declaration on SVG files.

Core modules are the heart of Batik and the primary deliverables for the projects. These are the modules developers use to manipulate, generate, create, convert, render and view SVG content. They can be used individually or in combination for various purposes, and the application modules offer some usage examples:

  • The SVG generator is a module containing SVGGraphics2D class, that lets all Java applications or applets easily convert their graphics to the SVG format, as easily as they draw to a screen or a printer, by leveraging the Java 2D API’s extensible design.

  • The Swing components module includes, primarily, the JSVGCanvas class, a UI component that can display SVG content and let the user interact with that content (zoom, pan, rotate, select text, etc.).

  • The Bridge module is rarely used directly. It is responsible for creating and maintaining an appropriate object corresponding to an SVG element. The bridge converts an SVG document into the internal representation Batik uses for graphics (GVT, the Graphic Vector Toolkit).

  • The Transcoder is a module that provides a generic API for transcoding an input to an output. This module transcodes an input stream or a document into a particular ouput format, used for converting SVG documents to other types.


Low-level modules are used internally by the core modules to accomplish their work.
These modules are not expected to be used directly by developers using the Batik API. Rather, they support the operation of the core modules. The low level modules include:

  • The Graphic Vector Toolkit (GVT) module, which represents a view of the DOM tree that is more suitable for for rendering and event handling purposes. This module describes DOM tree in terms of a tree of Java graphics objects.

  • The Renderer module is responsible for rendering a GVT tree and any related task. For example, a raster based renderer may perform some caching (the default renderer in Batik does that). However, a renderer could perform any task deemed necessary and does not have to be raster based.

  • The SVG parser module contains parser classes for complex SVG attributes such as the transform or color attributes. Higher level modules rely on the SVG parser module.

Here are small list of projects and products that using Batik SVG Toolkit:

  • The Apache Cocoon project uses Batik to rasterize SVG images.
  • The Apache FOP project uses Batik to handle SVG images. It uses the SVG rasterizer and extends the Batik transcoder architecture to offer SVG to PDF conversion.
  • ElixirTech’s ElixirReport uses Batik for charting and for its SVG component.
  • GLIPS Graffiti is an Open Source Extensible Full Feature Native SVG Editor.
  • eDoc Studio, a page layout package, uses the Batik SVG generator to export pages to SVG.
  • ILOG Discovery Preview, a free visual data analysis tool letting you visualize and edit data sets in a very wide variety of views (2D graphs and charts, various kinds of treemaps, parallel coordinates, parallel histograms and much more), uses the Batik SVG export module.
  • The JFreeChart Project uses Batik to export charts in the SVG format.
  • Lagoon, an XML-based framework for web site maintenance, uses the Batik SVG Rasterizer to render SVG as bitmap graphics for web publishing.
  • ILOG JViews Component Suite, a product for advanced visualization, uses and extends the Batik SVG export module.
  • Lords Map is a program to allow players and visitors to view the current map of various campaigns. Lords Map uses Batik’s SVG DOM and SVG Generator.
  • Luxor XUL is a free, open-source XML User Interface Language (XUL) toolkit in Java released under the GNU GPL that supports hand-picked Mozilla XUL goodies and also includes a ultra-lightweight, multi-threaded web server, a portal engine, a scripting engine, a template engine and much more. Gerard Bauer, the Luxor project lead, has written an extensive SVG presentation.
  • OptimalJ, a UML Class Diagram Editor for NetBeans, uses Batik to export SVG.
  • Sketsa is a vector drawing application based on Batik. With Sketsa, you can create vector graphics that can be scaled and printed at any resolution, without losing detail or clarity.
  • Oracle Corp.’s JDeveloper10i uses Batik to export class diagrams in SVG. It uses the SVG export module.
  • Svolgo, a Graph Visualisation/Transformation Framework for the Semantic Web Cross-model transformation, node and arc diagrams, representation in SVG. This project uses Batik’s SVG DOM implementation.
  • Volity is an open platform for Internet-based multiplayer casual gaming. Its official client, Gamut, uses Batik, allowing developers to create game UI files that use ECMAScript-driven SVG.
  • XWeb, a tool to create websites automatically out of XML input. Uses the Batik SVG Rasterizer.
  • XML_svg2image is a PHP class which translates SVG files to PNG or JPEG using Batik.

If you are interested in Apache Batik SVG Toolkit, you can download it from Apache XML Graphics Project

January 21, 2008

Renesis SVG Player Key Features

Renesis SVG Player

Renesis Player is a complete SVG 1.2 compatible renderer and viewer.
It was developed by
examotion® GmbH with the purpose of beeing the most complete and yet most perfomant implementation of the Scalable Vector Graphics Standard.
It is available for a lot of different operating systems and devices including Windows, Windows CE, Linux, MacOS and others.

Renesis Player Key Features


  • Optimized Parsing and Rendering
  • Very small memory usage
  • Efficient scripting, allowing interaction with HTML
  • High quality printing and exporting
  • High quality rendering
  • Extendable through COM, JS, and other technologies
  • Various plattforms and technologies:
    • Windows 98, ME, 2000, XP, 2003, Vista
    • Windows CE
    • Linux (Suse, Redhat, Debian, etc.)
    • ActiveX Control
    • .NET Assembly
    • Browser Plugin (Firefox, Internet Explorer, Opera, Safari and more)
    • Sun OS
    • Symbian
  • Extended SVG 1.2 Features:

    • Text Wrapping Modes
    • Pages Support
    • Event Handlers
    • EcmaScript for XML (E4X)
    • Multiple Text Editing

    Scalable Vector Graphics

    Scalable Vector Graphics or short spoken SVG is a standardized format for describing interactivate, animated vector graphics for the web and desktop. It is usable for many different things like data exchange, intranet applications, websites and much more. It was promoted by the W3C Consortium back in 2001 as Version 1.0 and since that continuously evolved further until version 1.2 which is the current one. One of the main facts of SVG is that it is purely based on XML which allows the easy generation of SVG content.

    Renesis Player Support

    Renesis player has a professional support, provided by RENESIS Alliance .
    The RENESIS Alliance is a special area aimed towards professional users of the Renesis Technology, Distributors of the Player, OEM Partners and Enterprises using the technology.

    The RENESIS Alliance offers different options. The members can subscribe to, depending on their financial and technical needs including but not limited to developing specific extensions to the RENESIS Technology, helping in using RENESIS within the member's Environment or Product and offering professional support within a guaranteed time.

    Renesis SVG Player Launches Version 0.7

    From press release:
    "
    A new Release v0.7 of the Standalone and IE-Pluginable Renesis® SVG Player is out. What's special on this version is the all-in-new Font and Text Engine which supports things like Unicode, Embedded Fonts, Text Selection, Copy to Clipboard, Text-Anchoring, Font-Stretching, Text-Decorations and much much more. The perfomance of the text engine should have improved as well. Other news are many many bugfixes and improvements based on our bugtracker as well as fixing one huge issue that caused a lot of crashes on various platforms. The next release is planned for somewhere between Juli and August 2007 and will mainly be a maintenance Release that will get a completely rewritten DOM Structure (not the EcmaScript binding!). Why should you care? As of now, inserting a lot of elements (especially text nodes) causes a lot of memory overhead and speed loss. The new structure system should shorten down the used memory to as low as 30-40% for dynamic changes as well as speed up the dynamic changes by a factor of 4-10x at a minimum so stay tuned! As always, comments, thoughts and questions are always very welcome into our forum. "


    You can download the most performant, memory-efficient SVG Player here.


    January 16, 2008

    Most known SVG Viewers List

    Here is a list of most used SVG Viewers from Web3.0.Demystified:

    Renesis SVG Viewer
    Sub-title: SVG 1.2 Compatible Cross-Plattform Viewer
    Developed by: Emia Systems
    Current Version: None
    Type of Implementation: SVG Viewer
    License Type: Free Product
    Availability: Not Publicly Available
    OS Platform: Windows, Windows CE, Mac OS, Linux, Embedded Linux, Other Unix, Solaris, Any .NET Enabled, PalmOS, FreeBSD, BeOS, Symbian, WindowsCE, Other, Smartphones
    Built to SVG Profile: SVG Full
    http://www.examotion.com/pages/renesis/index.php
    Notes: Renesis is the new SVG 1.2 Rendering Engine from EvolGrafiX. Renesis is planed to be available for Windows Platforms, Linux Platforms, Unix Platforms (including Mac OS X) and mobile platforms like Windows CE, Linux Embedded and Symbian as well as for the Webbrowsers Firefox / Mozilla / Netscape, Internet Explorer and Opera as well as Safari on MacOS X.
    Renesis will support about 94% of the SVG 1.2 Standard, 100% of the SVG 1.2 Mobile Standard as well as the sXBL Standard.
    Renesis is a platform written on standards so that applications build for SVG can run on Renesis on any of the previously mentioned platforms.

    eSVG Viewer
    Sub-title: SVG Viewer for mobile devices
    Developed by: eSVG Viewer for PC, PDA, Mobile
    Current Version: 2.3
    Type of Implementation: Mobile SVG Viewer
    License Type: Commercial Product
    Availability: Trial
    OS Platform: Windows CE, Symbian
    Built to SVG Profile: SVG Basic
    http://www.esvg.com/
    Notes: SVG Viewer for mobile devices and embedded systems.

    GPAC Project
    Sub-title: Multimedia framework including players and encoders for different multimedia formats including SVG
    Developed by: GPAC
    Current Version: 0.4.2
    Type of Implementation: SVG Viewer
    License Type: Open Source Project
    Availability: Free Download
    OS Platform: Windows, Windows CE, Linux, Embedded Linux, WindowsCE
    Built to SVG Profile: SVG Tiny
    http://gpac.sourceforge.net/
    Notes: GPAC features several players (a command line player for Win32 and Linux platforms called MP4Client, a player with GUI for Win32, Windows Mobile and Linux called Osmo4 and plugins for IE and Firefox). These players allow rendering of SVG content conformant to SVG Tiny 1.2, i.e. namely SVG Tiny 1.1 and audio/video/gradients/scripting. Detailled information may be found on the project web site.

    Batik SVG Toolkit
    Sub-title: A Java SVG toolkit, including the SVG browser Squiggle
    Developed by: Apache Software Foundation
    Current Version: 1.6
    Type of Implementation: SVG Viewer
    License Type: Open Source Project
    Availability: Free Download
    OS Platform: Any Java Enabled
    Built to SVG Profile: SVG Full
    http://xml.apache.org/batik/

    Mozilla Firefox SVG support
    Developed by: Mozilla SVG Project
    Current Version: 1.5 beta 1
    Type of Implementation: SVG Viewer
    License Type: Open Source Project
    Availability: Free Download
    OS Platform: Windows, Mac OS, Linux
    Built to SVG Profile: SVG Full
    http://www.mozilla.org/projects/firefox/
    Notes: Firefox 1.5 will be the first product released by the Mozilla Foundation to include SVG support. In this beta 1 release support on Microsoft Windows is available on Windows XP only due to a dependance on the DLL gdiplus.dll. Downloading this file from microsoft.com and copying it to your Firefox install directory will automatically enable SVG for anyone using an older versions of Windows.
    The aim of the Mozilla SVG Project is ultimately to impelement SVG 1.1 Full. For the features included in this release of Firefox see
    http://www.mozilla.org/projects/svg/status-ff15.html
    Mozilla code is stricter in some areas when it comes to conforming to the relevant standards. A lot of SVG will require a few tweaks for it to work in Mozilla Firefox. If you haven't read them already, check out the following documents for tips on getting your SVG to work in all SVG implementations and for answers to some frequently asked questions.
    http://www.mozilla.org/projects/svg/faq.html

    TinyLine
    Sub-title: SVG Tiny viewer and SDK for Java devices
    Developed by: TinyLine
    Current Version: 1.8.2
    Type of Implementation: SVG Viewer
    License Type: Freeware
    Availability: Free Download
    OS Platform: Windows CE, Embedded Linux, Any Java Enabled, PalmOS, Symbian, J2ME
    Built to SVG Profile: SVG Tiny
    http://www.tinyline.com/
    Notes: SVG Tiny implementation and advanced 2D graphics for J2ME platform

    Opera 8
    Sub-title:
    Developed by: Opera Software
    Current Version: 8.54
    Type of Implementation: SVG Viewer
    License Type: Free Product
    Availability: Free Download
    OS Platform: Windows, Mac OS, Linux, Solaris, FreeBSD
    Built to SVG Profile: SVG Tiny
    http://opera.com/download/
    Notes: Supports SVG 1.1 Tiny + gradients and opacity (also for 'g'-elements).

    Opera 9
    Sub-title:
    Developed by: Opera Software
    Current Version: 9.20
    Type of Implementation: SVG Viewer
    License Type: Free Product
    Availability: Free Download
    OS Platform: Windows, Mac OS, Linux, Solaris, FreeBSD
    Built to SVG Profile: SVG Basic
    http://my.opera.com/desktopteam/
    Notes: Supports SVG 1.1 Basic and parts of SVG 1.1 Full.
    Support documentation in more detail here:
    http://www.opera.com/docs/specs/opera9/svg/
    Public releases available from:
    http://www.opera.com/download/
    Weekly builds can be downloaded from the desktop-team blog:
    http://my.opera.com/desktopteam/

    Adobe SVG viewer for LINUX

    You can find the Linux version of Adobe SVG viewer (ASV3 Beta) on Adobe ASV download site.

    Grab the Redhat Linux version. It should work in any Linux distribution. Linux is not yet a fully supported platform by the Adobe SVG team. However, they provide this beta version which did not go through quality assurance. ASV3 on Linux does not properly work in current Firefox/Mozilla versions, but should work in Konqueror and Opera.

    Linux Installation Instruction:

    • Download the tar.gz file and untar it in a temporary directory ("tar -zxvf adobesvg-3.01x88-linux-i386.tar.gz"). cd to the adobesvg-3.01 directory. Adobe provides an install shell script, but that usually does not work, due to the heterogenous pathes used in the various Linux distribution. You can safely delete the file "install.sh".
    • As a next step copy all remaining files in this directory to your plugin directory (on my SuSE box it is "/usr/lib/browser-plugins").
    • If the browser does not yet watch this directory for detecting new plugins you need to tell it. In Konqueror open "Settings" --> "Configure Konqueror" --> "Plugins" --> and edit the "Scan Folders". You can add the new directory if it is not yet listed and tell konqueror to manually scan for new plugins.
    • ASV should now appear in the plugins list as "libNPSVG3.so". In Konqueror if you want to use ASV instead of KSVG you need to edit the "File Associations" in the "Configure Konqueror" panel. In the known types tree view go to "image" --> "svg+xml" go to the "Embedding" tab and check "Show file in embedded viewer". In the "Services Preference Order" list move the "Netscape plugin viewer (nsplugin)" up to the first position.
    • Your Konqueror is now ready to view SVG files in ASV3.
    • In Opera you need to go to "Tools" --> "Preferences" --> "Advanced" --> "Content" --> "Plug-in options" and add the path to the "Plug-in path". ASV should now be enabled in Opera.

    Third-party SVG plugin for IE

    Microsoft's Internet Explorer Browser (IE,MSIE) Internet Explorer does not currently (as of IE 7.0) support SVG natively, but third-party plug-ins are available - such as Adobe SVG Viewer.

    There has been no firm public statement about intent to support SVG in some later version of the browser, though unofficial statements have indicated the possibility. There is support for a similar technology, VML, but this is found in no other browser.
    Internet Explorer 4, 5, and 6 all understand SVG embedded with the object tag, presuming you have installed a plug-in.


    [Retrieved from http://wiki.svg.org/Internet_Explorer]