FOの最近のブログ記事

あーこれほしいな。

PDF 千夜一夜: PDF/A Competance CenterとAIIMが戦略的提携 [blog.antenna.co.jp]

そういえば、来週は、フランクフルト・ブックフェアです。アンテナハウスは、XSL Formatterの組版結果を、InDeignのINX形式に出力するINXCreator(仮称)を初めて紹介する予定です。

FOで組版指示書ける人なら、「あーこれInDesignで加工できたらなー」て思っていたものです。それがこれで実現できるなんてアンテナハウスマーヴェラスです!

XSL Formatterで組版した結果をPDFではなくて、INXに出力して、修正するなんて、ワンソース化に反してXML自動組版の邪道ではないか、という気もしますが。

PDFに出しちゃう自動組版の欠点は、製版上の問題点を修正しにくい(先のエントリも参考にしてください)つう点なので、アドビ様が出しているチョー高機能ソフトInDesignでいじれるというのはしねるほどアドバンテージあるんですよね。ていうか安心感ていうか。

フォントライセンスはXSL Foramatter側にはいらないのかな?

■DTPユーザーのためのWeb再入門[9]ボックスモデルがDTPアプリケーションにも導入されればいいのに……/鷹野雅弘 : 日刊デジタルクリエイターズ [blog.dgcr.com]

●ボックスモデルがDTPアプリケーションにも導入されればいいのに……

スタイルシートレベルで装飾をコントロールできるようになると、その分、作業が減るし、修正にも強いデータを作成できる。

ちなみに、InDesign CSからGoLive用の書き出しをサポートしており、可能な限り、InDesignでの設定をスタイルシートに変換するようなしくみを持っているが、そもそもスタイルシートの根幹が異なるので、帯に短し……の機能だ。

Webのスタイルシートも生まれて10年近くになるが、DTPのフィールドの開発者もこれを研究してもよいのでは? と残念に思う。

せっかくのスタイルシート使いの大家なんですから、もう一つのスタイルシート、XSLT と、CSS と「似た」ボックスモデルを備える FO で組めばいいと思いました。HTML + CSS 的に組版したいなーていうならお勧め。

僕はつかわないけどね。

# FO が DTP アプリケーションか、て言われるとびみょう。

Revの日記 - Echoo!-エコログ:Echoo! PDF変換サーバ(実験版) / Baykit

横浜ベイキット の実装例。XML から、FO を生成、FOP でレンダリングして PDF を吐いているのだと思います。フォントは、さざなみフォント。

フォントの件は、色々大変です。市販のフォントは色々怖いし。

レイアウトの件は、FO ですんばらしー組版ができる人がいなさそうだからしょうがないと思います。デザイン要素の記述は CSS ぽいんですけれどもね。

大日本スクリーンというか、ページコンプ研究所の製品でも横浜ベイキット使っていた気がします。ってページコンプなくなってるし。

組版サンプルに使うテキストをどうしようかなあと思っていて、ちょっと考えてみると、青空文庫には、XHTML のテキストもあって、これを XSLT スタイルシートを使って FO にしてしまえば、利用できるかなあと思いました。

しかし、

そんなスタイルシートはすでに作られてしまっています [antenna.co.jp]。

やる意味なしか。

ちなみに、それを使うと、こんな感じです。

fo-0-1.gif
▲夏目漱石「こころ」+縦組 XSLTスタイルシートで FO 組版した様子

夏目漱石「こころ」
http://www.aozora.gr.jp/cards/000148/card773.html

よく見りゃ、組版としておかしいところがあったりしますが。どっちかというと、FO で文字ものを組むのではなくて表などのスペックものを組ませたいと思っています。

FO で作例を掲載することをやっていこうかなあと思いましたが、前回の記事で使った自作のテキストはあんまりにもひどくて気絶しそうなので、フリーなテキスト(この場合、マークアップ等の加工、再配布などの権利関係がクリアでわかりやすいテキスト)が欲しくなりました。

フリーなテキストで、ナウでヤングでかっけーのがないかなあと思っているのですが、ライセンス調べるのが面倒です。モチベーション激落ちです。

青空文庫を使うにしても、FO のファイルをダウンロードできるようにした場合だとかなり大変なんですね。

う~む、クリエィティブ・コモンズ・ライセンスで、作例テキスト専門のサイトとかないかしら。

そろそろ FO をいじっておかないと、FO の扱いなんてすぐ忘れてしまうし、最近 CSS いじったので興味が戻ってきたし、このまえせうぞーさんに InDesign の自動組版を見せてもらって面白かったので、僕も FO で何かやってみようと思いました。

~~~

さて、FO っていうのは、こんな感じの XML ボキャブラリ です。

<?xml version="1.0"  encoding="UTF-16"?>
<fo:root xml:lang="ja"
  xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<fo:simple-page-master page-height="297mm" page-width="210mm" margin-top="12.5mm" margin-right="12.5mm" margin-bottom="9.5mm" margin-left="12.5mm" master-name="PageMaster"> <fo:region-before border-style="none" border-width="thin" extent="5mm" /> <fo:region-body border-style="none" border-width="thin" margin-top="10mm" margin-right="0mm" margin-bottom="0mm" margin-left="0mm" /> <fo:region-after border-style="none" border-width="thin" extent="4.4mm" /> </fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence initial-page-number="1" master-reference="PageMaster"> <fo:flow flow-name="xsl-region-body"> <fo:block line-height="150%" font-family="JaFont" font-size="24pt"> NaCl。それは塩。口に含むと塩辛く、そのまま多量に採ると高血圧。うちの年寄りの場合、お友達が集まるとき、それぞれの家庭のあらゆる漬物を持ち寄り食べあう習慣があり、それが彼女をああしたのだろう。あの年代は自業自得であってもそれを認めないのが大変だ。そんな塩だ。長生きしてください。コンピュータおばあちゃんレベルで。それで、塩なんだけれども、伯方の塩のTVCFがなぜ串田アキラなんだ。あれはいい。いがらっぽくていい。再校だ(←マテ仕事か?)。もとい最高だ。キン肉マンゴッファイだ。月火水木キン肉マン、金土日はあそびたい、ヤッホーと歌っていたのはケント・デリカットだ。「やあ、僕ケント。」じゃあねえよ。正直言ってハウマッチに出ているときはギルバードと兄弟だと思っていた。ウソ。名字違うやん。1ルーブルは日本円でいくらハウマッチ。このまえウチの父がロシアに行くときに会社から渡されたお金がほぼ全てルーブルで青くなっていた。どうりで帰ってきた気配がないわけだ。それもそうだな、別居だから。わかるわけがない。まあいい。このハンドルネーム、正直言って「塩」は全く関係ない。ココまで読んでしまった方。僕のブログ(notブクロ)でも読んでもっと後悔してくだしお。 </fo:block> </fo:flow> </fo:page-sequence> </fo:root>

それで、FO を組版すると、こうなります。

fo-0.gif
▲XSL Formatter で組版

何が面白いか、っていうと、FO だけだと、HTML のページネーションができる劣化版でしかありませんけれども、XSLT と組み合わせると自動組版できます。

というわけで、てきとーに FO もやっていこうと思います。

※ FO の組版には、アンテナハウスの XSL Formatter 評価版を使います。日常業務には使用しないでくださいということなので、使えそうなら購入してください。僕は稟議が通らないので買えませんし、いつまでたっても仕事に使えません。

ふと アンテナハウス XSL Fomatter のバージョンアップ内容を見てたら、「長体・平体も大丈夫です」と書いていました。PAGE2004 でいろいろ印刷屋さんからの要求が厳しいと言っていたので、そこらへんの対応ということになりそうです。早速実装を確かめようと思ったのだけれども、正規業務の方が大変なので、できなさそうです。

ただ、ひとつ言えることは、このソフトは独自に PDF を出力できますが、モリサワ OpenType は埋め込めなかったよ

http://www.antenna.co.jp/XSL-FO/V3/pdf.htm

フォント埋め込み PDFにフォントのアウトラインデータを埋め込むことで、フォントが存在しない環境でも表示可能なPDFファイルを作成することができます。本機能では、TrueTypeフォント、Adobe Type 1 フォントで、この機能を使用することができます(.TTFの拡張子を持つ OpenTypeフォントを含みます)。

ある意味既出でした……

~~~

おとといあたり、BayServerがバージョンアップしていました。あゝ、試す時間が……

~~~

blog サービスの JUGEM が、4月あたりに、エントリ(記事)の XSL-FO 出力を実験的に実装していた模様。

http://staff.jugem.cc/?eid=50&JUGEMER=52b16d4e43e29d59581ab822b33d3938

そんで、吐き出された FO を見てみたのですけれども、最初よくやりがちな、1エントリあたり1ページということをしてらっしゃる。1エントリあたり fo:page-sequence するのではなくて、改ページは 基本的には 文字量による自然の流れに任せて、(章が変わるなどのイベントがあって)明示的に改ページしたいときは、ページの先頭に表示したい fo:blockbreak-before="page" などの属性指定で、改ページ指定するべきなんですよね。んじゃなきゃ、FO の F(Flow) の意味があまり無い。と思いました。

根本的な構造として、カテゴリ別にエントリを整列するなどして、カテゴリを章と見立てて、カテゴリの終わりで改ページするようにすればいいでしょう。よっぽど書籍らしくなります(けどエントリって複数カテゴリにまたがったりするんですよね)。カテゴリの見出しを表示するfo:blockbreak-before="page"を指定すればいいのですね。

……とここまで書いておいて、Apache FOP って今書いた改ページ実装しているか不安になってきました。FOPがそこまでヤバくはないと信じたい。

◆「XSL Formatter V3.1 改訂2版」公開開始!
おととい、改訂1版(demo)入れたばっかりなのに。

個人的には、InDesign が FO 書き出しに対応してくれればいいなと思います。手書きって、しんどくはないけど、めんどいので。でも、Adobe 的にはできないだろうな。

XSL Formatter、うちらみたいな印刷屋さんでもなんとか使えそうな気になるようなユーザインターフェースがステキです。FO を学ぶなら、JAGAT の岸さんの SimpleXSL もありますね。ただあちらだとレポートならかけるが自動組版にはちょっとつらいです。もっとも、現状の XSL Formatter V3 が組版に十分な機能を搭載しているかどうか、ていう話になるとまだまだなんですよね。

~~~

こんなの見つけた!(はてなってトラックバック受け付けるの? やり方わかんね)
はてなダイアリー- Moleskin Diary:■ [XML]DSSSL

要約:XSLだせえ(リンク先ではXSLTになっているがXSLが適当だろう)。←ちゃんとリンク先読みに行ってね。

たしかに XSLT で FO を ドライブするのは非常に骨が折れる。ほんで、過去に DSSSL の話を ネクストソリューションズ社に聞いたことがあるが、残念ですが、僕には縁がない会社です。お金がかかりすぎる。僕のいる会社も、僕個人も、そんなに貢げません! とりあえず目の前で動いている FO でチープにやっていきます。

~~~

InDesign でもやってみたけど、やっぱり InDesign オンリーだと自動組版は無理があるよね。やってみないとわからないですけれども、InDesign のは、InDesign で XML の骨格を決め、ページアイテムと対応付けする → 別に用意しておいた、骨格を揃えた XML と置換 → 完成! つうこと明確にかいとけアドビ! と思ったものです。

80ページで毎回増減するスペック一覧ものを InDesign の XML差し替え(あえてそう呼ばせてもらう)でやろうと思ったら、とりあえず100ページぐらい流し込み用の InDesign ドキュメントを作り込まなくてはいけないわけですが、InDesign 側の 骨格の作り方が非常にめんどくて(階層ほっておいても、新ページつくると階層が1階層に揃ってしまう、など文句はたらたら)、さらに InDesign の動作が非常に重くなってしまい(どうやら一画面にアイテムが多いとそうなるっぽい)、つらかった思い出があります。

世界随一の XSL-FO 組版ソフトとして誉れ高い、XSL Formatter V3.1 試用版を使ってみました。

1コマ
▲こんなのを1コマとして流し込んでいきます

1コマはこんな感じです。本文としてひたすらこれに対応する FO を XML から XSLT で生成して流し込んでいくと、マスターページで設定された上部のシリーズ名(XML から XSLT で自動生成)、下部のノンブル(当然自動生成)が適用されてページが増えていきます。

横浜ベイキットのFO組版でで1ページに収まるFOをV3.1で表示して表組の最後があふれている図
▲FO組版ソフトによる組版結果の違いがある。MS-Word みたいですね!

FOは、中身を固定しないで自然に行送りで送っていくようなイメージがありまして、それで流れていくように作ってみた結果がこれです。横浜ベイキットでは1ページに収まっていた FO を XSL Formatter に入力してみましたが、表組の最後があふれています。

横浜ベイキットの FO 組版に使われている、Apache FOP の実装の方がおかしいと、PAGE2004のときアンテナハウスの方が言っておったが、さて。

メガリットルが表示された
▲メガリットルかよっ!

予想どおり、MSフォント(デフォルト)では、メガリットルになっています。Linux 版、Solaris 版 は自分で TrueType フォントをインストールして設定するとのこと、Linux 等にMSフォントは入れられるはずないので、それらのプラットフォームでの XSL Formatter にはこの問題はないんでしょうきっと。

フォント指定を変えたらどうなるか(ex.A-OTF 中ゴシックBBB Medium)というのは今後の課題です。

あと、V2.5 では動いていた、XML と XSLT スタイルシート が、V3.1 ではうまく動いてくれません。
これはいけません。当方のスタイルシートの作り方が悪いんですがまた勉強の日々になるんだと思います。

ちょっと古い話になりますが、

横浜ベイキットのBayServerが1.3.8になっていました。(March 29, 2004)

横浜ベイキット、XSL-FO の実装としてはもちろん、xi による CGI 実行環境としても面白いので、興味がある方は使ってみるといいと思います。フォームで入力したものがどんどん XML になってたまっていく系のものが簡単にできます。

BayServer の XSL-FO は、アンテナハウスの XSL Formatter に比べると実装済みの機能が少ないので、注意が必要。

半年前 BayServer で作った XML 連動型自動組版アプリケーションがあって稼働しようと思ったんですけれどもクライアントが「今回はその印刷物いらない」とかいってお蔵入りしてたりしました。そろそろ動き出すかも。

月別 アーカイブ

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.7

このアーカイブについて

このページには、過去に書かれたブログ記事のうちFOカテゴリに属しているものが含まれています。

前のカテゴリはDTP WORLDです。

次のカテゴリはGoogleMapsです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。