Scalable Vector Graphics
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Scalable Vector Graphics(スケーラブル ベクター グラフィックス、SVG)は、XMLによって記述されたベクターグラフィック言語のこと、或いは、SVGで記述された画像フォーマットのこと。W3Cで標準として勧告されている。
目次 |
[編集] 沿革
マクロメディアとマイクロソフトがVMLを発表したが、アドビシステムズとサン・マイクロシステムズがPGMLとして知られている競合するフォーマットを提出した。その後SVGは長い過程を経て開発された。
- 2001年9月4日 - SVG 1.0がW3C勧告となる
- 2003年1月14日 - SVG 1.1がW3C勧告となる
- 2003年1月14日 - SVG TinyとSVG Basic(モバイルSVGプロファイル)がW3C勧告となる
SVG1.2は現在W3C草案である。
[編集] 特徴
XMLで記述するため、Webブラウザ上で閲覧でき、テキストエディタなどで編集することができる。またハイパーリンクを画像中に埋め込んだり、JavaScriptなどと連携させることもできる。ベクターグラフィックであるため、ベクターデータによる画面表示では拡大や縮小をしても描写の劣化が起きない。画像データの画面表示はWebブラウザのプラグインによって色調補完を行ないドット落ちを補正する機能を持つものがある。
[編集] 編集
SVGは、拡張の自由度が高いXML (Extensible Markup Language) で記述されており、XMLならではの各種機能を定義した要素を持つ。SVGではそれ自身に回転・拡大・移動などの表現を定義しているため、単体で多様な表現をする事が可能である。
従来のウェブサイトでは、いわゆるインタラクティブな双方性のある画面変化を伴なう表示をJavaScriptやFLASHを用いてきた。(X)HTMLにSVGを組み合わせることにより、JavaScriptやFLASHを導入せずとも同様の効果が発揮される事が期待される。
XMLなので、専用のアプリケーションを用いることなくテキストファイルで作製・編集できる。
[編集] レイヤー
SVGの特筆すべき点としてレイヤー機能がある。SVGでは写真や挿絵などのビットマップデータ部分と座標値で指定された円・線分等を組み合わせた図形をベクターデータ部分として個々に指定でき、互いの苦手とする部分を補完しながら共存して画面表示できる。
- ビットマップデータ: 写真・挿絵・統計グラフ
- ベクターデータ: 円弧・線分・点・文字・統計グラフ
SVGでは文字をベクター情報の領域に有することで拡大縮小した際にはアウトラインフォントで表現する。この機能により文字を縮小した際に潰れたり、拡大するとジャギーと呼ばれる文字外延部のギザギザが生じて見難くなる点が解決されている。具体的には Adobe Acrobat による PDF 形式の文字とほぼ同じ機能を有する。
これらのレイヤー機能により、背景に写真などの画像を置き、ベクターデータによる線画や文字を配置させることが可能である。具体的には等高線を表示した地図画像(ビットマップ)の上に鉄道路線や道路網(ベクターデータ)を重ね、電車や自動車等の移動体を配置して同時表示が可能になる。更に、ベクターデータのみで表現した塗りつぶしでは色の重ね合わせが可能であり、塗りつぶしの透過度の指定により集合論で用いるベン図のような形体を必要最低限度の色数で表現できる。
[編集] ファイル形式
基本的に SVG は MIME 形式指定では image/svg+xml で指定された画像フォーマットである。ファイルの拡張子は .svg と gzip 圧縮された .svgz がある。拡張子 .svg はテキストファイルであるが故に大きなデータではネット間の通信トラフィックに於いてはデメリットが大きいが、圧縮した .svgz では数分の一のファイルサイズになる。解凍機能はWebブラウザ側が受け持つ。
[編集] 親和性
SVGは基本的にテキストファイルで構成されており、Webブラウザの利用者が入力した情報を CGI や Javascript を介してSVGデータに組み入れることが可能である。これにより、ベクターデータを用いた統計グラフでは可変性のある表示が可能になる。
[編集] 長所
テキストデータで制作できるため、独自タグを用いることで高品質な表現が可能である。文字情報は文字データのみを明示的にグループ化しているため、文字のグループのみを抽出することで多言語化が比較的容易にできる。
[編集] 欠点
ビットマップデータのファイルサイズは各ファイル形式によってある程度左右されるが、ほぼ面積比によってある程度のファイルサイズの中に納まることが多いが、ベクターデータは画面表示サイズに関わらず全ての情報を常に保持し続けるため、表示する情報が多い場合はビットマップデータよりもファイルサイズが大きくなる傾向がある。
[編集] 規格の概要
[編集] 現状
SVG は版を重ねるごとに高度な機能を盛り込んでいる。一方で、SVG の高度な機能を用いるものでは、それに対応した編集ツールや、データを忠実に再現してくれるビューワーやブラウザのプラグイン等が必須となる。デザインなどの分野ではビューワーやブラウザごとに微妙に表現がばらつくことは致命的であり、高度な機能をもちつつも、それを活かせるインフラが追いついていないのが現状である。
これとは別に、比較的利用頻度の高い重要な機能に絞り込み、小型機器にも搭載可能な軽量な規格も登場している。
[編集] SVG編集ソフト
SVG は XML を用いているのでテキストエディタによるデータの作成も一応可能であるが、記述は非常に複雑なため実用的にはグラフィカルユーザインターフェースを前提にした編集ソフトが必須となる。
用途により、高度なグラフィクス作成に主眼を置いたグラフィックソフトから図、表、フローチャートなどの作成に主眼を置いたソフトまで幅がある。
- SVG を標準データとして扱い、読み書きが可能なもの
- SVG Cats
- Sodipodi - Sodipodiホームページ
- Inkscape - Inkscapeホームページ
- SVG の読み書きが可能なもの
- 一部制限があるもの
- GIMP - 読み込みに対応。書き出しはパスの書き出しのみ。
- SVG の出力が可能なもの
- 花子2006は、SVG(Ver.1.0に準拠)の書き出しをサポートする。
- OpenOfficeのドロー - 1.1までは日本語出力が一部乱れるなど難あり。2.0ベータで改良が続いている (2005年)。
- Omni GroupのOmniGraffle Professional 4は、SVG書き出しをサポートする。
[編集] ブラウザによるSVG画像の表示
パソコン用ブラウザでは、サードパーティーが提供するプラグインを用いることでブラウザ上でSVG画像が表示可能なものと、ブラウザ自体がSVG画像の表示機能を持っているものがある。前者は、2000年頃から提供がはじまっている。後者は、2005年から一部のブラウザで正式に対応がはじまっており、いくつかのブラウザで開発版に搭載されるなど対応に向けた動きが進んでいる。
[編集] プラグインサポート
AdobeとCorelがInternet ExplorerやNetscape Navigator向けにSVG Viewerというプラグインを配布している。またGNOMEプロジェクトのlibrsvgもMozilla向けにプラグインを提供している。ドイツのEvolGrafiXはクロスプラットフォームのRenesisを提供する予定である。
- Adobe SVG Viewerは2006年末にサポートを、2007年末に配布を終了する予定(終了予告)である。
[編集] ネイティブサポート
- W3CのAmayaが標準でネイティブサポートしている。
- Geckoブラウザでは、Firefox 1.5からSVGが正式にサポートされた。
- Operaは2005年4月に発表された Opera v8.0 で SVG Tiny に、v9.0 で SVG Basic に対応した。
- KDEのKonquerorはKSVGを使って表示させることができる。
- Mac OS XのSafariでのサポートはOpenDarwinプロジェクト内のWebKitにて、開発が始まっている。
[編集] デスクトップ
Linux系のデスクトップで一部利用されている。Windows系では2005年現在では特に動きはない。
- Linux系
- Freedesktop.orgの標準に採用されている。GNOMEはlibrsvgを使いアイコンや壁紙にSVGを利用できる。またKDEではKSVGを利用してアイコンを表示できるほか3.4からはSVGを使った壁紙に対応した。
[編集] 関連記事
[編集] 外部リンク
- W3CのSVG公式サイト
- アドビシステムズ SVG
- Open Clip Art Library -パブリックドメインのSVGグラフィック配布サイト
- SVG (ウィキメディア・コモンズ)