XSL-FO + MathML MathML表示、PDF生成、SVG生成 2004年10月4日 第13回多言語組版研究会資料 www.antenna.co.jp
XSL-FO Extensible Stylesheet Language (XSL) Version 1.0 W3C Recommendation 15 October 2001 http://www.w3.org/TR/2001/REC-xsl-20011015/ Version 1 は1998から2001にかけて開発された。 XSLの目標は、XMLドキュメントをPDFや紙のようなページの概念をもつ媒体にレイアウトすること。 formatting object(FO)を56種類定義 さらに248種類のproperty(プロパティ=属性)
MathML MathMLは、数学に関するXMLベースの言語である。 W3CのMath Working Groupが1998年にMathML 1.0 仕様を決定 (2001年にMathML 2.0となった)
XSL Formatter XSL Formatter はアンテナハウスが開発したXSL-FOを組版するソフト 2000年日本語版V1を発売 継続してバージョンアップ→現在はV3.1 入力データ: XML/XSL-FO + ラスタ/ベクタグラフィック, SVG 出力データ: PDF, Windowsプリンタ, Windows GUI, SVG (開発中, 商品化はV3.3以降) Operating System Windows2000/2003,XP, Linux, Solaris AIX, Mac OS X (V3.2からサポート予定)
MathML オプション (XSL Formatter V3.2用) Antenna Houseの独自開発 XSL-FOに埋め込まれたMathMLマークアップを組版する。 XSL Formatter V3.2以降のオプションとして商品化予定。 評価版(日本語)のダウンロードはここから: http://www.antenna.co.jp/FO/
MathMLオプションでできること XSL-FO + MathML によりXML組版の応用分野にSTM (科学, 技術, 医学) 出版が追加される。 将来は、XSL-FO + MathMLはTeXに取って代わるだろう。 TeXは普及しているがXMLではない
MathMLをWebとPDFに使う XMLからXHTML変換 XMLからPDF変換 XML + MathML XHTML + MathML XMLからPDF変換 XML + MathML XSL-FO + MathML
XSL-FOの中でのMathMLの扱い XSL formatting object の中でMathMLのマークアップをどう扱うか? 現在、XSL-FO V1.0仕様では、XSL-FO以外のオブジェクトを次の2つのオブジェクトの中でしか扱えない。 fo:instream-foreign-object と fo:external-graphic.
fo:instream-foreign-object MathMLの中で実体参照を使うときはDTDで実体を宣言することが必要である。 ①DTDが必要な時: <fo:instream-foreign-object> <![CDATA[<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"> <math xmlns=http://www.w3.org/1998/Math/MathML> ... MathML including entity reference... </math> ]]> </fo:instream-foreign-object> ②DTDを使わない時: ... MathML without entity reference...
fo:external-graphic fo:external-graphic のsrc属性の値としてMathMLファイルのURLを指定することができる。 <fo:external-graphic src="url('MathML/rec-rambda2l.mml')" content-type="application/mathml+xml“ ... />
Inline and Block インライン・オブジェクト: ブロック・オブジェクト:数式のみの段落 オブジェクトを文字として扱う fo:instream-foreign-objectをfo:blockで囲む Example インライン ... ブロック
Interface MathML組版エンジンは、環境から次の情報を継承する: font-size font-family font-weight font-style length of a 1px XSL-FO組版エンジンは、MathML組版エンジンから次の情報を取得する: position of base-line
MathML サポートレベル MathML 2.0仕様の実装状況 W3C MathMLテスト・スィートの結果 V3.2 Beta version
例 XSL-FO + MathML
Windows GUI XSL Formatter GUI
PDF Adobe Acrobat
SVG IE6 + Adobe SVG Viewer
互換性の問題 世界中で様々なツールが使われるだろう MathMLを作成するソフトと組版するソフトの互換性は非常に重要な課題である。 MathMLの自動組版にとっては、様々なツールで生成されるMathMLのマークアップが正しいことが必須。