iEdit の SVG 機能を強化したきっかけは、Firefox や Chromeが SVG 対応しており手軽に SVG 表示できることを知ったからでした。
これまでは生成する SVG ファイルにSVGの名前空間(xmlns)を埋め込んでいなかったので、Adobe SVG Viewerでしか表示できてませんでした。encoding も UTF-8 に変えました。
ノードのラベルが折り返しで複数行になっている場合、Windows GDI や XAML (WPF/Silverlight) では文字の流し込みがサポートされているので実装が簡単なのですが、SVGには流し込み機能がなく、ノードの幅に合わせて文字列を分割して表示する必要がありましす。そんなわけで? 今回のリリースでは折り返し時のワードラップ処理は実装していません。
テキストのアンダーライン、取消線などの文字飾り(text-decoration 属性)は、Firefoxでは表示されず、WebKit 系(Safari/Chrome)でもフォントによっては再現されなかったり、Bold とか Italicを設定していると再現されなかったりしました。
IE では、Windows 7 Beta に付属する IE 8 beta でも SVG のネイティブレンダリングには対応していませんでした。Adobe SVG Viewer はバージョンアップ止まってるので IE の対応が一番遅れています。さらに Adobe SVG Viewer にはメイリオフォントに非対応という問題もあります。
IE のベクターグラフィックスだとやはり XAML ですよね。XAML はアセンブリ(.NET の実行モジュール)に埋め込んで配布されるのが普通なのですが、Loose XAML という XML 形式の XAMLもあり、.NET Framework が導入されているマシンでは、IE は Loose XAML をレンダリングすることができます。 Web でのベクターグラフィックスは、SVG と XAML の戦いというか混在状態が当面続くのでしょう。Java 陣営の RIA 技術である JavaFX では SVG が標準サポートされているようです。 VML とかはどうなったんでしょう?
SVG と XAML の機能は拮抗しており、相互変換は比較的簡単と思われます。ちょっと調べたらオープンソースのグラフィックツール Inkscape が XAML に対応していました。そこで、SVG ⇒ XAML 変換を試してみたのですが、ブラウザーの表示ではエラーになってしまいました。現時点ではまだうまく変換してくれないようです。
Ubuntu のデスクトップ(というか GNOME)では SVG が標準サポートされていて、Windows で EMF(Enhanced Metafile) を扱うような感じでアイコンでのイメージプレビューやビューアーが提供されています。