‘緊デジ’ タグのついている投稿

OPFパッケージファイル生成アプリ(緊デジ用)を公開します

2012/10/25

uuid自動生成、kindle用パラメータ入力に対応した新バージョン『電書協EPUB3用OPFファイル生成 2.0』をリリースいたしました。どうぞご利用ください。

 EPUB3をゼロからハンドコーディングで制作するにあたって比較的敷居が高いと思われるのが、パッケージファイル(opfファイル)の作成です。すでにご存じの方も多いかと思いますが、EPUB3はおおざっぱに言ってWebの標準技術であるXHTML(HTML5)とCSSを用いて制作したドキュメントをZIP形式で圧縮したものですが、含まれる画像やXHTML文書などの各種ファイルはパッケージファイルに所定の形式で記載しておく必要があります。また、ページの並び順や綴じ方向、出版社名や著者名などの各種書誌情報も全てパッケージファイルに記述しておかなければなりません。

 先日発表された電書協EPUB3制作ガイドでもこのパッケージファイルの記述方法はきちんと規定されており、このガイドの仕様を採用した緊デジでのリフロー型EPUB3制作でも、当然きっちりと規定通りにパッケージファイルを記述する必要があると思われます。これは慣れない人間にとってはXHTMLやCSSの記述以上に取っつきにくい作業になりそうで、電書協EPUB3制作ガイドで書き換えの必要な箇所を色分けして指示しているとはいえ、入力時の間違いが多発しそうな感じはあります。
 私の所属している会社でもこれは当然他人事ではありませんので、間違いのない記述を行うために専用の入力フォームアプリを制作し、対処することにしました。こちらを今回公開させていただきますので、制作時の役に立てていただければ幸いです。

仕様・ダウンロード

アプリ名:OPFファイル生成(緊デジ用)
対応環境:Mac OS 10.4〜10.8
動作チェック済環境:Mac OS 10.5(PowerPC)/Mac OS 10.6/Mac OS 10.7

入力画面
※ビルド自体はMac OS 10.4までをターゲットにIntel/PowerPC両環境を対象としたユニバーサルバイナリ対応で行っていますが、当方にテスト環境がないためOS 10.4での起動チェックはできていません。おそらくOSにプリインストールされているperlのバージョンにも依存します。

※Mac OS 10.8でのチェックも出来ていないのですが、10.8には「Gatekeeper」という非登録デベロッパのアプリを実行出来なくするセキュリティ機能が搭載されているため、おそらくデフォルトの設定では起動できません。「システム環境設定」→「セキュリティとプライバシー」で「Gatekeeper」の設定をオフにすれば起動できるかと思います。将来的には対応を検討中です。

※こちらのアプリは、電書協EPUB3制作ガイド_ver1.1及び、緊デジテンプレート(2012年10月22日発表版)の仕様に沿って制作されたリフロー型EPUB3コンテンツ専用のOPFパッケージファイル作成アプリです。他の形式のEPUB3コンテンツ制作に使用していただくことは可能ですが、ファイル構成、パス指定などは異なっている可能性があり、それぞれのケースにあわせて書き換える必要があります。あらかじめご了承ください。また、こちらのアプリを利用したことによって生じた損害等に関しまして、私として一切の責任は負いかねますので、あくまで自己責任でご利用ください。

>>OPFファイル生成(緊デジ用)ver 1.2.3 ダウンロードはこちら

※ダウンロード先を私の所属する会社のホームページ内ダウンロードコーナーに移動しました。内容の改訂等は行っていません。

>>電書協EPUB3用OPFファイル生成ver 2.0 ダウンロードはこちら

※uuid自動生成、kindle用パラメータ入力(kindlegen2.8にて検証済)に対応した新バージョンです。

使い方

page-spread-left指定

page-spread-left指定

 画面上の各項目を入力もしくは選択し、「OPF生成」のボタンを押せばファイルの出力先を尋ねるダイアログが出ますので、保存先を指定すればそちらに「standard.opf」の名称でOPFファイルが出力されます。簡単です。なお、画像フォルダ及びXHTML文書の収納フォルダはフォルダ名を取得してパスに組み込みますので、実際にEPUB内に収納するものと同じフォルダを指定してください。CSS及びナビゲーション文書は電書協EPUB3ガイドの仕様に従ってファイル名・パス共に決め打ちで出力します。EPUB3圧縮時には、規定の場所にそれぞれのファイルを配置しておくようにしてください。

 出力後、OPFファイルをテキストエディタで開き、以下のポイントをチェック・修正してください。

  1. 改行コードは「CR(Mac)」で出力されます。電書協EPUB3制作ガイドでは、パッケージ内の各文書の改行コードを統一することを推奨していますので、必要であれば修正してください。
  2. 全てのXHTMLドキュメントを見開き時片ページ始まり指定で出力します。出力された「standard.opf」ファイルの「<spine>」指定内、各「<itemref〜」行末尾の「properties="page-spread-left"」(左綴じではpage-spread-right)記述部分がそれに相当します。各XHTMLドキュメントの内容を確認し、片ページ始まりが必要なければこの部分の記述を削除してください。
  3. 「<itemref〜」行のファイルの並び順は、EPUB文書としてのページングの順番に相当します。ファイルの並び順を確認し、必要であれば入れ替えを行って下さい。
  4. 緊デジでのコンテンツ制作以外の目的でこちらのツールを利用する場合、JP-eコードに関する部分の記述をuuid等に差し替える必要があります。JP-eコードはそれぞれの電子書籍に対して与えられるユニーク値ですので、JP-eコードを適当に入力した電子書籍を配布することは絶対に避けてください。uuidの生成に関してはこちらが参考になります。また、ヘッダ行にもJP-eコードに関する記述がありますので、記述を変える必要があります。電書協ガイドに沿ったコンテンツ制作の場合は、電書協ガイドのサンプルのヘッダ部分の記述を引き写せばOKです。
    →uuid自動生成に対応した「電書協EPUB3用OPFファイル生成 2.0」をご利用ください。

 なお、電書協EPUB3制作ガイドでは、カバー、本文など各文書に用いるXHTMLのファイル名をきちんと規定しています。電書協EPUB3制作ガイドおよび緊デジテンプレートの記述の規則に従ってファイル名が付けられていた場合、こちらのアプリが自動で望ましいと思われる順番に文書を並び替えて出力します。規則から外れていたファイルについては、「<itemref〜」行末尾にシステムのソート順に従って記述されます。外字ファイルなどの命名規則もこれと同様です(緊デジテンプレートの記述規則に従います)。

 電書協EPUB3制作ガイド/緊デジテンプレートのXHTMLファイル名命名規則は現状、以下の通りです。

  • カバー:p-cover.xhtml
  • 前付け:p-fmatter-00x.xhtml(連番) ※1
  • 本扉:p-titlepage.xhtml ※1
  • 電子化注意書き(底本組方向の記述):p-caution.xhtml ※1
  • 目次:p-toc.xhtml ※1
  • 本文:p-00x.xhtml(連番)
  • 底本奥付:p-colophon.xhtml
  • 広告:p-ad-00x.xhtml(連番)
  • 電子化奥付:p-credit.xhtml
  • 白紙ページ:p-white.xhtml(連番になるパターンもあり) ※2

また、特にファイル名を規定しているイメージファイルは以下の通りです。

  • カバー:cover.jpg
  • 底本奥付:original_credit.jpg ※1
  • 外字:cid-xxxxx.png(Adobe-Japan 1のCIDコード番号を指定)※1
  • 底本奥付:i-colophon.jpg ※2
  • 電子化奥付:i-credit ※2
  • 本文ページ:i-xxx.jpg(連番) ※2
  • 白紙ページ:i-white.jpg(連番になるパターンもあり) ※2

※1 リフロー型のみ  ※2 フィックス型のみ

 緊デジでのリフロー型EPUB制作では、本文用のXHTMLを作り、画像を整えてOPFパッケージファイルを生成するところまで出来てしまえば、あとはテンプレとして支給されるCSSを割り当て、カバー、目次、クレジット等のテンプレHTMLを書き換える程度の簡単な作業でEPUB3は作れます。

(2012.10.25)

 @lost_and_foundさんのご指摘をいただき、「役割(role)」のドロップダウン項目リスト内容及びヘルプ文書を修正しました。

(2012.10.25追記)

 左綴じコンテンツ出力時のパラメータが「ltl」となってしまっていたのを「ltr」に修正しました。また、image/xhtmlフォルダ未選択時のエラーメッセージを追加しました。

(2012.10.26追記)

 緊デジフィックス型EPUB3用のOPFファイル出力に対応しました。「EPUB3のタイプ」トグルボタンでリフロー/フィックスの選択ができます。

(2012.11.1追記)

 緊デジリフロー型EPUB用の目次用xhtmlファイル「p-toc.xhtml」の同時生成に対応しました。事前に各見出し要素にid属性を付加しておく必要がありますが、目次ファイルを自動生成します。

(2012.11.5追記)

 タイトル名・著者名等に半角スペースが含まれていた場合に正常にファイルが出力されない問題、目次ファイルが正常に出力されない場合があった問題などに対処しました。

(2012.11.19追記)

 章扉が画像のパターンに対応しました。

(2012.11.26追記)

 「電書協EPUB 3 制作ガイド(Ver.1.1.1)」の公開に伴い、緊デジテンプレートも修正されましたので、これに対応する修正を行いました。メニュー選択でver1.1.1とver1.1を選択して出力できます。他、タイトル名に半角スペースが含まれていた場合に正常にファイルが出力されない問題の修正を行いました。
 なお、この更新に伴う修正点は、「ebpaj:guide-version」のバージョン番号表記(1.1→1.1.1)、フィックス型出力時のfallback記述の削除の2点です。

(2012.12.17追記)

ダウンロード先を私の所属する会社のホームページ内ダウンロードコーナーに移動しました。内容の改訂等は行っていません。

(2012.12.25追記)

ファイルIDのuuid自動生成対応、Amazon kindle用mobiファイルの自動生成に新たに対応した新バージョン「電書協EPUB3用OPFファイル生成 2.0」を公開いたしました。

(2013.4.4追記)

「電書協EPUB3用OPFファイル生成 2.0」のメニュー及びアラートの「〜読み(カタカナ)」を、「〜カナ(整列用)」のような表記に修正しました。機能的な変更点はありません。変更を適用した最新バージョンは2.0.1です。

(2013.5.9追記)

「電書協EPUB3用OPFファイル生成 2.0」で、リフロー型、Kindle対応の場合に出力されるOPFファイル中文内の表紙ファイルのリンク先を「cover.jpg」から「p-cover.xhtml」に修正しました。これはEpubCheck3.0.1でエラーが出力されることに対応したものです。変更を適用した最新バージョンは2.0.2です。

(2013.6.27追記)

「電書協EPUB3用OPFファイル生成 2.0」で、フィックス型、Kindle対応の場合のオプション「画面ロック方向を指定」で「縦長画面」を選んだ際に設定が反映されなかった問題を修正しました。変更を適用した最新バージョンは2.0.3です。

(2013.7.8追記)

「電書協EPUB3用OPFファイル生成 2.0」で、GIF形式のファイルの処理に対応いたしました。変更を適用した最新バージョンは2.0.4です。

(2013.8.22追記)

InDesign出力XML→XMDF変換スクリプト公開

2012/08/10

 「緊デジ」でリフロー型EPUB3の制作受け入れが決まりました。同時に出版社サイドからの制作会社指定が可能になり、PDF制作にも対応、申請点数の上限を年間発行点数の2倍までとした規定の廃止など、申請条件を大幅に変更した旨のお知らせが、緊デジサイトに掲載されています。EPUB3の制作ガイドラインの内容告知、EPUB制作会社の選定準備等は9月1日以降になるとのことで、XMDF・ドットブック形式の制作会社はすでに決定しはじめていると思われるものの、8月7日現在での申請数が未だ目標の6万点の半分にも届いていない状況を考えると「一度仕切り直し」感は否めません。

 ほとんど前例のないプロジェクトですので関係者の方を一方的に責める気にはなれないのですが、制作サイドの会社に所属している一人としては、ここまでスケジュールが遅れている現状でなお当初の予定通り3月末までに6万冊を揃えることが可能な見通しなのか不安があります。おおざっぱなものでも構いませんので、早い時期に今後の制作スケジュールの見通しを示していただくことを望みたく思います

 さて、私の所属している会社は結局XMDF・ドットブックの緊デジ制作会社には選ばれなかったのですが、制作に向けてXMDF変換スクリプトの準備は進めておりました。制作者としてこのまま無駄にするのも忍びない思いがありますので、会社の許可を得てこれを公開してしまうことにしました。以下よりダウンロードいただけます。

InDesign CS5 XML→XMDF変換スクリプト

(XMLファイルを「ID5XML2xmdf.bat」にドラッグ&ドロップすると置換されます)
(XMLファイルをテキストエディタ「mi」で開き、スクリプトを実行すると置換されます)

 なおこれは、私のブログに掲載されております「InDesign→EPUB3用XHTML作成ワークフロー」の手順に従ってタグ付け作業を行ったInDesignデータから書き出したXMLデータを、XMDF本文用のXMLデータに変換するためのスクリプトです。手順19までは共通の流れとなりますのでご了解ください。また、配布スクリプトを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” />」のような形で出力されますので、「〓」部分に適宜代替文字を入力します。代替文字を入力しなくても、外字画像が適切に設定されていれば通常表示に問題はありませんが、将来的な変換や読み上げ等の対応を考えた場合、入力しておいた方が何かと流用が効きやすいデータになるように思います。

InDesign内で外字ファイル名にルビを設定

InDesign内で外字ファイル名にルビを設定

 なお、外字にルビをかける場合は、InDesignドキュメント内にインラインで記述されている外字ファイル名(「InDesign→EPUB3用XHTML作成ワークフロー」手順3参照)にグループルビとしてルビを入力しておくことで、自動で変換出力されます。
 なお、EPUB3出力でも同様の外字ルビ処理に対応するため、そちらのスクリプトも改訂いたしました。適宜ダウンロードしていただければ幸いです。

 緊デジでの画像サイズの設定、ファイル名の規定等に関しましては、公式ガイドラインをご参照下さい。また、こちらのスクリプトを使用したことによるデータ破損等の損害に関しまして、私としては責任は負いかねますので、あくまで自己責任でご使用ください。

(2012.8.10)

Mac用置換スクリプトで「<p.indent>〜」等の記述が正常に変換されないケースがあった問題を修正しました。

(2012.9.6)

先頭文字/行/正規表現スタイルの処理を考える

2012/07/09

正規表現スタイル

正規表現スタイル

 InDesignには、「段落スタイル」設定内の「ドロップキャップと先頭文字スタイル」から設定できる「先頭文字スタイル」および「行スタイル」、同じく「段落スタイル」設定内で使用できる「正規表現スタイル」といった便利な機能があります。これらは全て、段落スタイルの適用されている行内の文字のうち、設定した特定の条件に適合する文字に自動的に指定した文字スタイルを適用する機能です。例えば「先頭文字スタイル」であれば、文中の数字だけを自動的に斜体にする、「行スタイル」であれば1行目だけを太字にするといったような、通常長時間の反復処理が必要になる作業を段落スタイルの設定のみで処理できます。「正規表現スタイル」はさらに自由度が高く、正規表現を用いて適合する文字列を指定できます。例えば「A」「B」「C」だけを太字にする、いったような処理も簡単に行うことができます。ここでは正規表現そのものについては触れませんのでこちらをご参照ください。
 これら特殊スタイルはInDesign内では「段落スタイル」のみが適用されており、文字スタイルは「なし」になっているように見えるため、電子書籍制作時にきちんとした処理がされるのかどうかちょっと気になるところです。

 そこで、実際の電子書籍制作時の流れの中で、これら特殊スタイル類がどのように処理されるのか試してみました。

「スタイルをタグにマップ」で正常にタグが付加されないパターンがある

行スタイルのタグに問題が出る

行スタイルのタグに問題が出る

 最初に、私がこちらのブログ内で紹介しているあらかじめ各文字に段落スタイル・文字スタイルを適用しておき、「タグ」パレットの「スタイルをタグにマップ」でタグを付加してXML書き出しを行う方法をテストしました。

 まずはシンプルに「先頭文字スタイル」「行スタイル」「正規表現スタイル」を単体で適用してみます。「先頭文字スタイル」および「正規表現スタイル」についてはきちんとタグが付加されているようですが、「行スタイル」に関しては、最後の一文字に正常なタグ付加がされていないようです。

重ねがけで正常にタグが付加されない

重ねがけで正常にタグが付加されない

 次にこれら特殊スタイル類の重ねがけを試してみます。「行スタイル」を含んだ段落のタグが全て1文字ずつずれて適用されている他、「先頭文字スタイル」と「正規表現スタイル」との重ねがけに関しても、「先頭文字スタイル」のみがタグ付加され、「正規表現スタイル」の部分にはタグが付加されていません。これではちょっと危なくてタグの自動付加はできません
 なお、「行スタイル」の最後の1文字にタグが付加されないのは、バグの類ではないかと思われます。

IDMLには文字スタイルが書き出されない

XMDFビルダーに文字スタイルが取り込まれない

文字スタイルが取り込まれない

 次にIDML(InDesign Markup Language)形式でデータを書き出し、XMDFビルダーに取り込んでみます。これは緊デジのXMDF制作ガイドラインで想定されている制作方法です。

 どうやら、特殊文字スタイル類は完全に無視され、段落スタイルのみが取り込まれるようです。つまり、XMDFビルダー内で全ての文字スタイルを再割り当てすることになってしまいます。これはちょっと作業量的に避けたい流れです。

文字カラーを変更し、検索置換パレットを使用して文字スタイルを再適用する

 さて、結局どちらにしても文字スタイルの再適用は避けられそうにありませんので、出来るだけ楽をしてスタイル再適用の作業を行いたいところです。とりあえず以下のようなワークフローを考案してみました。なお、このワークフローを使用したことに伴うトラブルに関して、私として一切の責任は負いかねますので、こちらの作業を行う前には必ず元データをバックアップしておき、コピーしたデータで作業を行うことをおすすめします。

1 文字スタイルの「文字カラー」を変更する

文字スタイルの「文字カラー」を変更する

文字スタイルの「文字カラー」を変更する

 まず、先頭文字/先頭行/正規表現スタイル内で使用されている文字スタイルの「文字カラー」を変更します。多色刷りなどのデータの場合には、登録済みのスウォッチカラーがドキュメント内のいずれかの箇所に使われている可能性を考慮し、トラブルを避けるためにもスウォッチを新規作成して割り当てることをおすすめします。

2 先頭行スタイル内の先頭文字/正規表現スタイルを手動で処理

先頭行スタイル内の先頭文字/正規表現スタイルを手動で処理

先頭文字/正規表現スタイルを手動処理

 先頭行スタイルと先頭文字/正規表現スタイルが混在している場合は、まず先頭行スタイル内の先頭文字/正規表現スタイルに手動で通常の文字スタイルを再適用します。これは、3の検索置換処理で先頭行スタイル内の先頭文字/正規表現スタイルが検索にヒットしないためです。

3 パラメータを設定し、検索置換を実行

検索置換パラメータを設定

検索置換パラメータを設定

 検索置換パレットの「検索形式」に1で設定したカラーを、「置換形式」に1で文字カラーを変更した文字スタイルをそれぞれ指定し、ドキュメント全体に対して置換を実行します。全ての文字スタイルに関して同様の置換を実行します。

 これでとりあえず文字スタイルの再適用はできます。「行スタイル」内の先頭文字/正規表現スタイルを手動処理しなければならない問題はありますが、幸い「行スタイル」はそれほど頻繁に使用されているわけではないように思えますので、実作業的にそこまでの問題はないかと思います。
 また、「タグ」パレットの「スタイルをタグにマップ」でタグを付加する際のトラブルを防ぐため、文字スタイルの再適用を行った後に「スタイルをタグにマップ」を使用する場合には、全ての特殊スタイル類をあらかじめ削除しておいた方が良いでしょう。

 なお、「正規表現スタイル」の通常文字スタイルへの置換に関しましては、市川せうぞーさんが「正規表現スタイル由来の文字スタイルをリアル文字スタイルとして適用する」というエントリーで自動処理スクリプトを発表されておられますので、そちらを利用されるのも良いかと思います。

(2012.7.9)

市川せうぞーさんより、「正規表現スタイル」2つ以上を重ねがけしている場合でも「スタイルをタグにマップ」で正常にタグが付加されないとの情報をいただきました。例え「正規表現スタイル」だけしか使われていない場合でも、文字スタイルの再適用が必須になると考えておいた方がよさそうです。

(2012.7.9追記)

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。