http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Overview
FAQ
License
Download
Install
Demo

In the news

Tools and Apps
Browser
Rasterizer
Font Converter
Pretty-printer

Architecture
Generator
DOM API
Scripting
JSVGCanvas
Transcoder API

Extensions

Testing

Contributors
Mail Lists

CVS Repository
Bug Database

Status

Glossary


イントロダクション

このドキュメントは、Batikのアーキテクチャとそのそれぞれのモジュールについて、簡単に説明します。モジュール デザインの詳細については、Batik UMLダイアグラムを参照することが出来ます。

Batikのモジュールは次の3種類のどれかになります:

以下の図はこれらの3つのモジュール タイプを示しています。

Batikのアーキテクチャ

アプリケーション モジュールでは、コア モジュールの使い方を実現し、ユーザーにBatikのソフトウェアの機能を体験しながら評価させてくれます。

コア モジュールはBatikおよびこのプロジェクトの主な派生物の核心となります。これらを使うのはモジュールの開発者で、SVGコンテンツを操作し、ジェネレートし、、クリエートし、コンバートし、レンダリングするために使用します。

最後に、低レベル モジュールは、コア モジュールがそれらの作業を達成するために内部的に使用されます。これらのモジュールは、通常は開発者が直接に使用することはありません。


Application Modules

前述のように、アプリケーション モジュールは、Batikが提供する機能を実現します。

たとえば、SVGブラウザ は、さまざまなBatikコア モジュールを利用してビルドされており(たとえばJSVGCanvas GUIコンポーネントや ImageTranscoderなど)、また、BatikはSVGドキュメントをあなたに見せたり、ズームさせたり、パンさせたり、回転させたりするだけではなく、それらを検索したり、他のフォーマット(JPEG、TIFF、PNGなど)にコンバートさせてもくれます。

SVG プリティ プリンタ は、BatikがあなたにSVGコンテンツを操作・変換させてくれる、もうひとつの例を示してくれます。ここでは、潜在的に無秩序になっているSVGファイルを整理してくれるためのものです。

The SVG Font Converter は、True Typeフォント フォーマット中の一定の文字をSVGフォント フォーマットにコンバートすることで、BatikがアプリケーションにSVGフォント定義をSVGファイル中に埋め込むことができるような方法を実現しています。

最後に、SVG ラスタライザは、 トランスコーダAPI をSVGコンテンツとの間でコンバートするために活用する方法を示します。

アプリケーション モジュールが便利であり使っていて楽しいものであるとしても、それらはBatikプロジェクトの主要な成果ではないことに注意してください。むしろ、それらはBatikコア モジュールが使用され、結合される方法を実現しているものなのです。


コア モジュール

Batikコア モジュールは、Batikアーキテクチャの核心です。それらは個別にあるいは連携して、様々な目的に使用することができ、また アプリケーション モジュールはいくつかの使用例を提供しています。

  • SVGGraphics2D は、Java 2D APIの拡張デザインを活用することによって、全てのJavaテクノロジー アプリケーションに、スクリーンやプリンタに描画するのと同じくらい簡単に、グラフィックスをSVGフォーマットにコンバートさせてくれるモジュールです。
  • SVG DOM はSVG 勧告で定義されている SVG DOM API の実装です。これはプログラマーにSVGドキュメントをJavaプログラムから操作させてくれます。
  • JSVGCanvas はUIコンポーネントで、SVGコンテンツを表示し、ユーザーにそのコンテンツをインタラクトさせてくれます(ズーム、パン、回転、テキスト選択など)。
  • Bridge このモジュールは、直接利用されることは少ないですが、SVGドキュメントを、グラフィック ベクトル ツールキット、GVTに基づいてBatikが使用しているグラフィックの内部表現にコンバートできます。

低レベル モジュール

低レベルモジュールは、Batik APIをを利用する開発者が、直接に利用するようなことは期待されていません。むしろ、それらはコア モジュールの操作をサポートするためのものです。低レベル モジュールに含まれるのは:

  • グラフィック ベクトル ツールキット (GVT), これはレンダリングとイベントハンドリングの目的に適合するDOMツリーのビューを表します。
  • Renderer は、GVTツリーのレンダリングと、その関連タスクをを担当します。たとえば、ラスター ベースのRendererはキャッシングを実行するかもしれません(BatikのデフォルトのRendererではそうしています)。しかし、Rendererは、それが必要と判断したタスクを実行することができますし、それは必ずしもラスター ベースでなければならないわけではありません。
  • マイクロパーサ。これらは transform 属性や color 属性といった、複雑なSVG属性のためのパーサであり、より上位のモジュールが依存しているものです。


Copyright © 2000-2001 The Apache Software Foundation. All Rights Reserved.