InDesign出力XML→XMDF変換スクリプト公開
「緊デジ」でリフロー型EPUB3の制作受け入れが決まりました。同時に出版社サイドからの制作会社指定が可能になり、PDF制作にも対応、申請点数の上限を年間発行点数の2倍までとした規定の廃止など、申請条件を大幅に変更した旨のお知らせが、緊デジサイトに掲載されています。EPUB3の制作ガイドラインの内容告知、EPUB制作会社の選定準備等は9月1日以降になるとのことで、XMDF・ドットブック形式の制作会社はすでに決定しはじめていると思われるものの、8月7日現在での申請数が未だ目標の6万点の半分にも届いていない状況を考えると「一度仕切り直し」感は否めません。
ほとんど前例のないプロジェクトですので関係者の方を一方的に責める気にはなれないのですが、制作サイドの会社に所属している一人としては、ここまでスケジュールが遅れている現状でなお当初の予定通り3月末までに6万冊を揃えることが可能な見通しなのか不安があります。おおざっぱなものでも構いませんので、早い時期に今後の制作スケジュールの見通しを示していただくことを望みたく思います。
さて、私の所属している会社は結局XMDF・ドットブックの緊デジ制作会社には選ばれなかったのですが、制作に向けてXMDF変換スクリプトの準備は進めておりました。制作者としてこのまま無駄にするのも忍びない思いがありますので、会社の許可を得てこれを公開してしまうことにしました。以下よりダウンロードいただけます。
InDesign CS5 XML→XMDF変換スクリプト
(XMLファイルを「ID5XML2xmdf.bat」にドラッグ&ドロップすると置換されます)ID5XML2xmdf.bat
1 file(s) 1.76 KB
(XMLファイルをテキストエディタ「mi」で開き、スクリプトを実行すると置換されます)ID5XML2→XMDF用XML変換forMi.app
1 file(s) 28.35 KB
なおこれは、私のブログに掲載されております「InDesign→EPUB3用XHTML作成ワークフロー」の手順に従ってタグ付け作業を行ったInDesignデータから書き出したXMLデータを、XMDF本文用のXMLデータに変換するためのスクリプトです。手順1〜9までは共通の流れとなりますのでご了解ください。また、配布スクリプトをWindows環境でご使用いただくには、あらかじめActivePerlのインストールが必要になります。
割り当てるタグの名称等は上記ワークフローのそれに準じます(つまり、同一のXMLソースからスクリプトの切り替えだけでEPUB用XHTMLとXMDF用XMLの双方の出力が可能です)。
XMDFビルダー側で必要になる作業
本文をXMDF形式のXMLデータに変換した後、実際にXMDFコンテンツとして書き出すためにXMDFビルダー側で以下の作業が必要になります。なお、XMDFビルダー内での詳細な操作に関しましては、XMDF情報スクエアにてログイン後ダウンロード可能な説明書をご参照下さい。また、緊デジでの作業内容に関しましては、公式サイトのガイドライン等をご参照いただければ幸いです。
1 テキストをコピー&ペーストします
変換済のXMLファイルをメモ帳等で開き、一番上の「<?xml version="1.0" encoding="UTF-8" standalone="yes"?>」の行を除いた全てのテキストを、XMDFビルダー「ワークスペース」内の「フロー」にコピー&ペーストします。また、画像・外字画像等を使用している場合は、「パーツマネージャー」からコンテンツ内に取り込んでおきます。
2 スタイルを設定します
「文書構造スタイル」「文字スタイル」を設定します。書き出されたタグのうち、「<structure style="○○">」の「○○」が文書構造スタイル名(InDesignで言うところの段落スタイル名)に相当します。同じく「<font style="××">」の「××」が文字スタイル名です。XMDFビルダー内「基本構成」メニュー内「スタイル」にて設定できますので、適宜適切な値に設定します。各スタイル名をスクリプトが自動出力する値以外に設定したい場合は、あらかじめテキストエディタの一括置換機能などでXMLファイル内のスタイル名を置換した上で、XMDFビルダー側に置換後の名称を設定することで対応できます。
なお、「コンテンツテンプレート」機能を用いて各種パラメータをインポート/エキスポートできますので、見出し/本文等のスタイル設定を保存しておくことは可能です。
3 画像の回り込みなどを設定します
必要であれば画像の回り込み、表示方法などを設定します。
4 文書内リンク等を設定します
文書内リンクは「<char_id char_id="■">※</char_id>」といった形で出力されますので、「■」を選択して「装飾編集」パレット「イベントID」からID番号を入力し、「基本構成」メニュー内「イベント編集」で移動先のページ等を設定します。なお、こちらの作業は手順として、一冊分全てのフローを設定した後で行った方が効率的と思われます。
5 外字の代替文字を入力します
外字は「<external_char alt="〓" alt_img=”cid-0000.png” />」のような形で出力されますので、「〓」部分に適宜代替文字を入力します。代替文字を入力しなくても、外字画像が適切に設定されていれば通常表示に問題はありませんが、将来的な変換や読み上げ等の対応を考えた場合、入力しておいた方が何かと流用が効きやすいデータになるように思います。
なお、EPUB3出力でも同様の外字ルビ処理に対応するため、そちらのスクリプトも改訂いたしました。適宜ダウンロードしていただければ幸いです。
◇
緊デジでの画像サイズの設定、ファイル名の規定等に関しましては、公式ガイドラインをご参照下さい。また、こちらのスクリプトを使用したことによるデータ破損等の損害に関しまして、私としては責任は負いかねますので、あくまで自己責任でご使用ください。
(2012.8.10)
Mac用置換スクリプトで「<p.indent>〜」等の記述が正常に変換されないケースがあった問題を修正しました。
(2012.9.6)