XSL Formatter V4 SVG出力の仕様/機能
XSL Formatter V4 は、W3Cによる Scalable Vector Graphics (SVG) 1.1 に準拠した SVG を出力します。また、SVG 1.1 仕様の Mobile SVG Profiles である SVG Tiny および SVG Basic の出力も可能です。
SVGを出力するためには、「XSL Formatter SVG出力オプション」をご購入していただく必要があります。
SVGの出力形式
XSL Formatter V4 では、SVG のプロファイルとして、SVG 1.1、SVG Basic、SVG Tiny のどれででも出力することができます。プロファイルを指定しない場合は、SVG 1.1 とみなします。
Mobile SVG Profiles は、ハードウェアの処理能力、メモリ容量、表示可能な色数などに制約のあるモバイル機器や携帯電話向けの仕様です。
SVG Tiny は、携帯電話のようにかなり大きな制約を持つ機器向けであるため、サポートされなかったり制限のある要素が多数あります。したがって、SVG 1.1 に比べ変換元文書内容の再現レベルは低くなります。
SVG Basic は、高性能PDAなど、より高性能の携帯機器向けのものなので SVG Tiny よりは制限の少ないものになっています。詳細は、Mobile SVG Profiles で確認してください。
XSL Formatter V4 は、SVG 1.1 の出力を基本として、多くはサポートされない要素を無視する形で SVG Tiny、SVG Basic を出力します。
複数ページで構成される文書を SVG に変換するときは各ページを別ファイルに出力しますが、1つのファイルにまとめて出力することもできます。ただし、出力先が標準出力のときは1ファイルにまとめた出力しかできません。
イメージ出力
サポートしているグラフィックイメージについては、「XSL Formatter V4 グラフィックス・サポート」を参照してください。
SVG出力では、画像の扱い方に3通りがあります。
- 埋め込む
ラスタ画像はSVG内にBase64エンコードして埋め込まれます。ベクタ画像はSVGとして出力されます。
- リンクする
元々のリンク先のURIをそのまま利用してリンクします。
- 複写してリンクする
画像を指定されている複写先に複写し、そこへのリンクとして記述します。複写先は、オプション設定ファイルの copy-image-path などで指定されます。
FO中での画像には2種類あります。
- 外部参照されているもの
<fo:external-graphic> で、外部参照されている画像です。
- 埋め込まれているもの
<fo:external-graphic> で、dataスキームを用いてBase64エンコードされた画像が埋め込まれているもの、または、<fo:instream-foreign-object> によってFOに埋め込まれている画像です。
XSL Formatter V4 では、出力されるSVGで参照される画像を、すべてJPEGまたはPNGまたはSVGに変換します。このため、埋め込まれていたり外部参照されていたりする画像は以下のように処理されます。
埋め込む | リンクする | 複写してリンクする | ||
---|---|---|---|---|
JPEG | 外部参照 | そのまま埋め込みます。 | そのままリンクします。 | そのまま複写してリンクします。 |
埋め込み | そのまま埋め込みます。 | |||
PNG | 外部参照 | そのままリンクします。 | ||
埋め込み | そのまま埋め込みます。 | |||
BMP | 外部参照 | JPEGまたはPNGに変換してから埋め込みます。 | JPEGまたはPNGに変換してから複写してリンクします。 | |
埋め込み | ||||
TIFF | 外部参照 | |||
埋め込み | ||||
GIF | 外部参照 | |||
埋め込み | ||||
JPEG2000 | 外部参照 | |||
埋め込み | ||||
SVG | 外部参照 | SVGとして埋め込みます。 | そのままリンクします。 | そのまま複写してリンクします。 |
埋め込み | SVGとして埋め込みます。 | |||
WMF | 外部参照 | SVGに変換して埋め込みます。 | SVGに変換してから複写してリンクします。 | |
埋め込み | ||||
EMF | 外部参照 | |||
埋め込み | ||||
外部参照 | ||||
埋め込み | ||||
MathML | 外部参照 | XSL Formatter MathML オプションが有効なときは、SVGに変換して埋め込みます。
XSL Formatter MathML オプションが無効なときは、Windows版で、MathPlayer plug-in がインストールされているときのみ有効です。そのとき、JPEGまたはPNGに変換してから埋め込みます。 |
XSL Formatter MathML オプションが有効なときは、SVGに変換してから複写してリンクします。
XSL Formatter MathML オプションが無効なときは、Windows版で、MathPlayer plug-in がインストールされているときのみ有効です。そのとき、JPEGまたはPNGに変換してから複写してリンクします。 |
|
埋め込み | ||||
CGM | 外部参照 | JPEGまたはPNGに変換してから埋め込みます。 Windows版で、ActiveCGM plug-in がインストールされているときにのみ有効です。 |
JPEGまたはPNGに変換してから複写してリンクします。 Windows版で、ActiveCGM plug-in がインストールされているときにのみ有効です。 |
|
埋め込み | ||||
EPS | 外部参照 | Windows版では、JPEGまたはPNGに変換してから埋め込みます。 Windows版以外では、EPSに含まれる表示イメージがTIFF形式ならJPEGまたはPNGに変換してから埋め込み、WMF形式ならSVGに変換して埋め込みます。 | Windows版では、JPEGまたはPNGに変換してから複写してリンクします。 Windows版以外では、EPSに含まれる表示イメージがTIFF形式ならJPEGまたはPNGに変換してからから複写してリンクし、WMF形式ならSVGに変換してから複写してリンクします。 | |
埋め込み |
フォント出力
フォントについては、「XSL Formatter V4 フォント・サポート」を参照してください。
SVG出力では、フォントをSVGに埋め込むことができますが、一部の TrueType、OpenType フォントでは正しいアウトラインが埋め込めないことがあります。
制限事項
SVG Tiny
SVG Tiny では、多くの要素がサポートされていないため、変換元文書を忠実に再現することが困難な場合があります。XSL Formatter V4 では、可能な範囲で代替の表現に置き換えることにより、できるだけ近似できるようにしています。
下記は、SVG Tiny における主な制限事項です。
- SVG Tiny は、グラデーションに対応していないため、単色の塗り潰しに置き換えています。
- SVG Tiny は、ライティングモード(writing-mode)に対応していないため、縦書き文書を変換したとき、1文字ごとに位置を指定することになります。このため、SVG 1.1 で同様の文書を出力したものに比べサイズが大きくなることがあります。
- SVG Tiny の専用ビューアでは、文字の回転(rotate)に対応していないものが多いようです。 文字の回転(rotate)に対応していないビューアでは SVG Tiny 中で文字の回転を指定していても無視されます。