M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

SVG編集のためのJavaライブラリをつくりかけている

SVG形式データを作成・編集するためのライブラリSvn-utilJavaで書き始めた。

f:id:m12i:20140825195430p:plain
▲サンプルプログラムで描画したSVG

理由はもちろんSVG画像編集をJavaコードから行いたい事情があったから。当初、ApacheBatikで大方のことはできると考えていたのだけれど、これが大いに外れた。

BatikSVGからPNG等へのラスタライズやAWT/Swingの画面コンポーネントとの橋渡しが主目的らしく、SVG標準に基づくおびただしい数のDOMオブジェクトの実装を用意していながら、それらを直接操作するAPIに関して何も説明がない(残念なことである)。

SVGGraphics2DというSVGデータ生成用のAPIがおそらく私の求めていたものに近しいのだけれど、これもAWT/Swingとの互換性やDOM標準準拠の要請に基づいてデザインされているせいか、どうにも求めていた抽象度に見合わなかった。

そんなこんなでともかく自分自身の要求に合致したAPIをつくることにした次第。作成に当たってはSVG1.1仕様の日本語版に大変お世話になった。この仕様書もよくよく読むと曖昧だったり自分の知識では理解できない箇所があったりと大変ではあったけど。

そしてSVGドキュメントの生成に焦点を絞っているにもかかわらず、まだこの仕様書に記載されていることのたぶん一割も実装できていない・・・(SVG1.1は最新の仕様に比べればまだコンパクトなようである)。