Weekly Top 10

SVGを殺すのは誰か

先週の＠IT NewsInsightのアクセスランキングは第1位は「IE7のシェアがIE6を逆転、米調査で」だった。英語版をはじめ各国語版で自動配布が始まったことやWindows Vistaの発売でIE7のシェアが増えつつあるようだ。日本では2008年2月13日に自動配布開始を予定している。今後はIE7環境が一気に一般的になると見られる。

NewsInsight Weekly Top 10 1位 IE7のシェアがIE6を逆転、米調査で 2位 ジャストがPDF編集・変換ツール5種を発表 3位 マイクロソフトが検索大手のファストを買収 4位 それっぽいロゴをWebで制作、米サービスが上陸 5位 米検索市場でグーグルのシェアが66％に上昇 6位 CodeGear――ボーランドから分社後の1年間を振り返って 7位 福沢諭吉の稀覯本174冊がグーグルで閲覧可能に 8位 2008年も“相互運用性問題”がOSS普及の障害に 9位 “グーグルテレビ”、提携で松下が開発 10位 マルチVMでRubyを並列化、サンと東大が共同研究

主流ブラウザのバージョンの入れ替わりは、Web開発者やシステム開発者にとって大きな意味を持つだろう。それにしても記者が残念に思うのは、IE6がIE7に置き換わっても、Webブラウザ上でベクターグラフィックを扱う方法が相変わらず限られているということだ。現在一般に普及しているWebブラウザの中で、「SVG」（Scalable Vector Graphics）をまったくサポートしていないのはIEだけと言っても過言ではないからだ。

＠IT読者には釈迦に説法だろうが、コンピュータで画像・グラフィックスを扱う上でラスターグラフィックとベクターグラフィックの双方は相補的関係にある。画像の個々のピクセルを扱うラスターグラフィックに対して、ベクターグラフィックは直線・曲線などの幾何図形を扱える。地図やグラフ、ロゴ、説明図、ページデザインなど、ベクターグラフィックで扱うべきデータは多い。表示サイズに合わせて自動的にサイズが合う「スケーラブル」という特徴も、表示デバイスを問わずに表示できることを理想とするWebの世界にはうってつけだ。しかも、ラスターデータと異なり、JavaScriptで簡単に操作できることから、ダイナミックなコンテンツを作りやすい。アニメーションだけでなく、ユーザーからのアクションに反応して動くような図やグラフもできる。現在、Flashを埋め込んでいるような広告バナーやロゴ、凝ったデザインのWebページのうちかなりのページは、SVG＋JavaScriptで書けるはずだ。

ベクターグラフィックにマイクロソフトが無関心などということは、もちろんない。約10年前の1998年、マイクロソフトはIE5のベータ版で初めてベクターグラフィック記述言語「VML」（Vector Markup Language）を披露した。当時すぐにベータ版をダウンロードした記者は、さっそくVMLとJavaScriptを使った簡単なデモンストレーションページを作成した。ユーザーのマウスクリックイベントで、国旗の色が変わるというだけの簡単なものだったが、ダイナミックなベクターグラフィックコンテンツがどれほど豊かな世界をWebにもたらすかを想像して胸が躍ったのをよく覚えている。

何度も同じことが起こったように、ベクターグラフィックについても、ちょっとしたフォーマット戦争が起こった。当時、マイクロソフトと“ブラウザ戦争”の真っ最中だったネットスケープ・コミュニケーションズやアドビ・システムズなどが提唱していた「PGML」（Precision Graphics Markup Language）と、マイクロソフトのVMLが併存する状態となったのだ。ただ、この不毛な争いはすぐに収束し、PGMLとVMLをSVGに統合する形で2001年にはW3C勧告となった。

SVG勧告から、すでに7年。SVG勧告のエディターには、マイクロソフト社員は2人も名を連ねている。しかし、同社はIE6でもIE7でSVGをサポートしていないし、サポートする意向を表明したことは1度もない。Webの世界でベクターグラフィックが普及していない最大の原因は、マイクロソフトがSVGを無視し続けていることにあると記者は思うのだ。せめてIE7がSVGをサポートしていれば、Webの世界は、ずっと豊かになるはずだったと思う。

マイクロソフトがSVGを無視しているのは、Webブラウザという分野にとどまらない。オフィス文書フォーマットのOOXMLには、当然、ベクターグラフィックを扱う仕組みもあるが、DrawingMLというSVGとは異なる言語仕様とVMLだけをサポートしている。DrawingMLは、ワープロのロゴ作成機能でよく使われる立体的なシェードなど3Dオブジェクトをシンプルに扱う仕組みなど、SVGと異なるカバー範囲を持っている。しかし、だからといって、2次元ベクターグラフィックでSVGと同じ機能を提供するために、独自にマークアップ言語を作る必要があったかどうかははなはだ疑問だ。3次元の内部データを2次元座標に投影すればいいだけの話だ（ちなみにOOXMLでは数式表現もW3CのMathMLと直接互換性のないOffice Math Markup Languageと呼ぶ形式を採用している）。

SVGとJavaScript、それにUIフレームワークを提供するJavaScriptのライブラリがあれば、強力なRIAプラットフォームになるだろう。特に昨今のJavaScriptライブラリやWebアプリケーション開発プラットフォームの充実ぶりを見ていると、IEがSVGをサポートしたとたんに多数のRIAプラットフォームが花開くのではないかと思える。だから、ごく当たり前の結論だが、マイクロソフトがSVGを相手にしないのは合理的な戦略だ。

（＠IT 西村賢） 情報をお寄せください：