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(プロパティ=属性) 2 MathML • MathMLは、数学に関するXMLベースの言語 である。 • W3CのMath Working Groupが1998年に MathML 1.0 仕様を決定 (2001年にMathML 2.0となった) 3 XSL Formatter • XSL Formatter はアンテナハウスが開発した XSL-FOを組版するソフト – 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からサポート予定) 4 MathML オプション (XSL Formatter V3.2用) • Antenna Houseの独自開発 • XSL-FOに埋め込まれたMathMLマークアッ プを組版する。 • XSL Formatter V3.2以降のオプションとして 商品化予定。 • 評価版(日本語)のダウンロードはここから: http://www.antenna.co.jp/FO/ 5 MathMLオプションでできること • XSL-FO + MathML によりXML組版の応用 分野にSTM (科学, 技術, 医学) 出版が追加 される。 • 将来は、XSL-FO + MathMLはTeXに取って 代わるだろう。 – TeXは普及しているがXMLではない 6 MathMLをWebとPDFに使う • XMLからXHTML変換 – XML + MathML XHTML + MathML • XMLからPDF変換 – XML + MathML XSL-FO + MathML 7 XSL-FOの中でのMathMLの扱い • • XSL formatting object の中でMathMLの マークアップをどう扱うか? MathMLはベクトル図形として扱われる。 – 現在、XSL-FO V1.0仕様では、XSL-FO以外の オブジェクトを次の2つのオブジェクトの中でし か扱えない。 1. fo:instream-foreign-object と 2. fo:external-graphic. 8 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を使わない時: <fo:instream-foreign-object> <math xmlns=http://www.w3.org/1998/Math/MathML> ... MathML without entity reference... </math> </fo:instream-foreign-object> 9 fo:external-graphic • fo:external-graphic のsrc属性の値としてMathMLファイル のURLを指定することができる。 • <fo:external-graphic src="url('MathML/rec-rambda2l.mml')" content-type="application/mathml+xml“ ... /> 10 Inline and Block • インライン・オブジェクト: オブジェクトを文字として扱う • ブロック・オブジェクト:数式のみの段落 fo:instream-foreign-objectをfo:blockで囲む Example インライン ... ブロック 11 Interface • MathML組版エンジンは、環境から次の情報 を継承する: – – – – – font-size font-family font-weight font-style length of a 1px • XSL-FO組版エンジンは、MathML組版エン ジンから次の情報を取得する: – position of base-line 12 MathML サポートレベル • MathML 2.0仕様の実装状況 • W3C MathMLテスト・スィートの結果 – V3.2 Beta version 13 例 • XSL-FO + MathML 14 Windows GUI XSL Formatter GUI 15 PDF Adobe Acrobat 16 SVG IE6 + Adobe SVG Viewer 17 互換性の問題 • 世界中で様々なツールが使われるだろ う – MathMLは、数式エディタやコンバータなどの 様々なツールで作成される • MathMLを作成するソフトと組版するソフ トの互換性は非常に重要な課題である。 – MathMLの自動組版にとっては、様々なツールで 生成されるMathMLのマークアップが正しいこと が必須。 18
© Copyright 2024 ExpyDoc