PDF、組版と文書変換のアンテナハウス株式会社
PDF、組版と文書変換のアンテナハウス株式会社
トップページ > システム製品情報 > AH Formatter V6 製品トップ > サンプル集
XSL-FO の基本仕様と『AH Formatter』の拡張機能を使用したサンプルFO をご紹介します。
『AH Formatter』の CSS組版機能をご利用いただくための解説書である「CSSページ組版入門 第4版」(2018年9月10日発行)は、本書自体が CSS組版によって作成されています。そのソースファイルと出力された PDF(本書)を無料で公開しています。いずれも、「XML関連出版物の紹介」ページ内の「CSSページ組版入門 第4版」から入手可能です。
本書は、2018年2月に開催された「XML Prague 2018」において弊社の Tony Graham が「Introduction to CSS for Paged Media」の発表に使用した CSS組版のチュートリアルを元に作成しました。オリジナルの英語版は次のリンクよりダウンロード可能です。
→ Introduction to CSS for Paged Media(ZIP)
W3C の MathML仕様書「Mathematical Markup Language (MathML) Version 3.0 2nd Edition」を『AH Formatter』で組版しました。『AH Formatter』の CSS組版や MathML描画エンジンの性能をご覧ください。
なお、errata の反映などにより、PDF は原文と異なる箇所があります。それは PDF の文末にまとめてあります。
AH Formatter V6.2 発表セミナー(2014年3月7日)で配布した資料です。XHTML5+CSS(AH拡張入り)で記述しました。『AH Formatter』で組版した結果(PDF)も同梱してあります。
AH Formatter によるウェブコンテンツアクセシビリティガイドライン(WCAG 2.0) PDF実装方法 >>
DITA (Darwin Information Typing Architecture) は XML ベースの技術文書の生成および管理のために開発された仕様です。DITA は情報の分散化と再利用をテーマに開発され、大規模なマニュアル用のドキュメント管理に適しています。
DITA は 2004年から OASIS DITA 推進委員会(IBM、Idiom Technologies、フィンランド Nokia、など)にて仕様が策定され、2005年5月にバージョン 1.0 が OASIS 標準に認定されました。2015年12月にはバージョン 1.3 が承認されました。
DITA についての詳細は「OASIS DITA 技術委員会」の Web サイトをご覧ください。また、弊社サイト「アンテナハウス DITA サービス」もご参照ください。
DITA 文書は、オープンソースの「DITA-OT (DITA Open Toolkit)」を使用して、HTML、DocBook、PDF など様々な配布可能なフォーマットに変換することができます。DITA-OT は活発に開発が進んでおり、2016年9月現在のバージョンは 2.3 です。DITA-OT の標準のビルドファイルでは『AH Formatter(XSL Formatter)』がサポートされており、以下のコマンドラインで『AH Formatter』を起動して PDF を得ることができます。これには DITA-OT 付属の Idiom 製のスタイルシートが使用されます。
ant -l [ログファイルのパス] -Dargs.input=[ditamap ファイルのパス] -Dpdf.formatter=ah -Dtranstype=pdf
DITA-OT の標準のプラグインに代わるものとして "PDF5-ML プラグイン" があり、DITA1.2 の多くの要素/属性をサポートするスタイルシートを搭載しています。アンテナハウスが開発し、オープンソースで公開しています。
主な特長は以下のとおりです。
たとえば、次のような DITA インスタンスを作ったとします。
<section>
<title>Ph test</title>
<p>We say "Hello" in English.</p>
<p>We say "<ph xml:lang="ja-JP">こんにちは!</ph>" in Japanese.</p>
<p>We say "<ph xml:lang="zh-CN">你好!</ph>" in Chinese.</p>
<p>We say "<ph xml:lang="ko-KR">안녕하세요!</ph>" in Korean.</p>
</section>
このようにひとつのトピックファイルの中に多言語が混在したとしても、言語ごとに適切なフォントを割り当てることができます。
PDF5-ML は次のようにメンテナンスしやすいようにスタイルを定義できます。
<!-- define TOC line style with referencing variable -->
<attribute-set name="atsTocLevel1" use-attribute-sets="atsB">
<attribute name="font-family">$General_Text_Font</attribute>
<attribute name="font-size">11.5pt</attribute>
<attribute name="text-align">justify</attribute>
<attribute name="text-align-last">justify</attribute>
<attribute name="text-indent">-1 * $Toc_Indent_Size</attribute>
<attribute name="start-indent">inherited-property-value(start-indent) + $Toc_Indent_Size</attribute>
<attribute name="space-before">3mm</attribute>
</attribute-set>
このスタイル定義は "スタイル定義ファイル" と呼ばれるファイルに書き、ロジックが書かれたファイルとは完全に分離されます。
次のように CSS 記法を使って表紙をレイアウトすることができます。
<conbodydiv
fo:prop="position:absolute;top:40mm;right:10mm;width:40%;height:130mm;">
<!--title-->
<section>
<p fo:prop="font-family:Franklin Gothic Demi Cond;font-size:24pt;line-height:120%;">Antenna House</p>
<p fo:prop="font-family:Arial;font-weight:bold;font-size:32pt;line-height:120%;">PDF5-<i fo:prop="color:deeppink;">ML</i> plugin</p>
<p fo:prop="font-weight:bold;font-size:28pt;line-height:120%;">User's Guide</p>
</section>
</conbodydiv>
PDF5-ML プラグインのダウンロードは下記のリンクからお願いします。
その他の詳しい情報およびご使用方法については、リンク先にある pdf5-ml_manual.pdf(英語)をご覧ください。
XSL-FO と『AH Formatter』拡張仕様の妥当性を検証する "oXygen" のアドオンとして、弊社開発の『focheck』(オープンソース)が GitHub より利用できます。
→ focheck - Validate XSL-FO and Antenna House extensions in oXygen or standalone
※ 『focheck』は、"oXygen XML Editor" 上で XSL-FO の詳細な妥当性チェックをするために "Relax NG(リラクシング)" と "Schematron(スキマトロン)" をバンドルしています。
※ 『focheck』は開発進行中の製品です。そのため、すべての XSL-FO プロパティの解析や、XSL-FO 仕様の試験をまだ終えていません。ご要望やお気付きの点がございましたら、お知らせいただけますようご協力よろしくお願いします。
ご参考:focheck を使って XSL-FO のマークアップの妥当性を検証する(弊社ブログ記事)
XSL の組版プロセスは、一般的には次の段階を経て行います。
ここに XML 文書を XSL-FO に変換する XSLT スタイルシートを作成するためのチュートリアルを公開します。XSLT スタイルシートの理解のためにご活用ください。
→ XSL-FO によるXML ドキュメント印刷のためのスタイルシート作成方法(PDF)
このチュートリアルの文書自体も XML 文書です。チュートリアル XML 文書の原文と、それを XSL-FO に変換するためのスタイルシートもダウンロードできます。
→ ソースファイル一式(ZIP)[2016年3月改訂]
組版の方法:
ダウンロードしたファイルを任意のフォルダに解凍して、「xml/Howtodevelop-ja-10a.xml」と「SimpleDoc/SD2FO-DOC.xsl」を組版します。
HTML+LaTeX から HTML+SVG への変換 >>
エリアツリー(AreaTree)は、『AH Formatter』が FO や HTML を組版した結果の XML です。組版の情報はエリアツリーにほとんどすべて含まれています。エリアツリーを組版した結果は保証しておりませんが、エリアツリーを現在ご使用、あるいはこれからご使用することを検討されている方からのご要望を受け、情報資料として GitHub に公開いたしました。
『AH Formatter』のバージョンによってエリアツリーの仕様が異なることもあり、資料の正確さを保証はできません。そのためこの資料は一参考資料としてご利用されるようお願いいたします。