ここのメルマガ(リンク先はバックナンバー)
X M L コ ン ソ ー シ ア ム ニ ュ ー ス (一般公開版)
http://archive.mag2.com/0000166454/20080516085447000.html
によると(以下斜体は上記サイトより引用)、
FOとXSLT実習を続けるうち、日本語処理に関係するところでXSL-FOプロセッ
サおよび、XSL-FOの仕様そのものの制限に関心が寄せられるようになりました。
そうした事情をXSL-FOの仕様を策定しているW3Cと共有したいという要望が起き、
部会とも協力関係がありアライアンスパートナーでもある社団法人日本印刷技術
協会(JAGAT)や運営委員会と相談するなどして、4月にはW3Cと会合を持ちました。
とあるけど、XMLのDTPにかんしては、このブログのURLを見てもらえば分かるよう、
ウィリアムのいたずらが一言いうべきでしょう。
XMLからFOを使って出力させる場合、FO側にあまり組版機能をいれるべきでなく、ベースラインあるいは、あるポジションから、基本的に文字を置き(そのかわり、置き方は、縦書き、横書きのほか、枠自体の回転はもちろん、アラビア語の組版も必要)、組版機能を入れない代わりに、強制改行と、相対的に、ある文字や図形、枠からX,Yにどれだけ移動させるかといった物理的移動を入れるべきだと思います。
(したがって、ある文字から、ある枠を入れるというフローティングの枠を位置指定することにより、割注やルビ、縦中横を指定する)
組版規則をFOに入れてしまうと、どのように組版されるか、FOの出力結果を見ないとわからず、さらに、それを修正するには、FOの組版規則(ってなおしていいのか?)を直してしまうことになります。これは、さまざまな組版ルールに対応するには大変です。
むしろ、XSLTのほうで、組み版規則にもとづき、物理的な位置をもとめて、単純に、その位置にもとづいて、FO側では並べるとしたほうが、汎用性がもてるし、修正の可能性も広がると思います(この辺説明してると長くなるので、今回は省略。気が向いたら書くかも。。)
むしろ、いまのFOでたりないのは、たとえば、ある文字からある文字まで、枠の外側に、追加されたことを示す線を引くといったようなことが、やりにくいと思います。これをやりやすくするため、ある特殊文字(文字の大きさ0の制御文字)をおき、そこの文字のX,Yを利用して、枠を相対的に指定できる(そうすると、その枠いっぱいに線を引けば、上記の追加されたことを示す線などは表現できる)ようにしてくれると、ありがたいと思うんですよね・・