─グーテンベルクの遙か彼方へ─このブログはEPUB3をはじめとした電子書籍制作の現場からの「現地レポート」を目指しています。電子書籍制作、アプリケーション開発など、多方面の方々からの積極的なご意見をお待ちしております。※『InDesign→EPUB3用XHTML作成ワークフロー』は通常エントリに移動しました。『ジャンル別まとめ/ダウンロード』からアクセスできます。前ページへ緊デジフィックス型EPUB3用XHTML生成スクリプト2012/10/30前回のエントリに引き続き、緊デジ用のスクリプトを公開します。そもそもこちらのスクリプトはスタジオ・ポットSDの日高さんの制作されたPHPスクリプトです(いきなり送られてきて割とびっくりしました(汗))。これはあらかじめPHPソース「mk-epub-fixed.php」を開いて出力する総ページ数を書き換え、同じく「source.xhtml」内の書籍タイトル名を書き換えた上でターミナル(Windowsの場合はコマンドプロンプト)からスクリプトを実行すると、xhtmlフォルダ内に連番でリネームされたxhtmlファイルが生成されるというものです。あとはimageフォルダ内にスキャン済の各ページの画像を入れ、OPFファイルや目次を整えれば緊デジフィックス型EPUB3の必要ファイルが一通り整います。便利そうなスクリプトと思いましたので、先方の許可をいただいて私のブログで公開させていただくことにしました。Mac用GUI版そのまま公開するのもあまりに芸がありませんので、ぺージ数だけ引数で指定できるようにしたものと、Mac用に簡易GUIを付けたものを別に作ってみました。GUIプログラムに関しては説明するまでもないと思いますので、以下、主にコマンドライン版の説明をします。WindowsのコマンドプロンプトでPHPのプログラムを実行するには、あらかじめPHPのプログラムをインストールし、パスを通しておく必要があります。こちらやこちらなどを参考に、PHPの実行環境を整えておいてください。-v」と入力し、PHPのバージョンが表示されればOKです)。Xに関してはもともとシステムにPHPがプリインストールされています。10.6/10.7では問題なく実行できるようです。OS)」などになっていると正常にファイルが生成されないことがあるようです。ターミナルの「環境設定」メニュー「詳細」タブで、文字エンコーディングを「Unicode(UTF-8)」に設定した上でスクリプトを実行してください。ファイル出力フォルダを整えるフォルダ構成こちらのスクリプトは緊デジフィックス型EPUB専用のファイル生成スクリプトで、「item」フォルダ内に「xhtml」フォルダがあることを前提に連番のxhtmlファイルを生成します。この条件を満たすためにあらかじめフォルダ構成を整えておく必要があります。Finder上でゼロからフォルダを作るなら「item」フォルダを新規に作成し、「mk-epub-fixed.php」及び「source.xhtml」のファイルをコピーして、「xhtml」フォルダを作成してください。緊デジのテンプレートを元にしてももちろん問題ありません。「source.xhtml」内のタイトル名を書き換えるタイトル名を書き換え「source.xhtml」をテキストエディタで開き、「〓タイトル〓」の部分を書籍の題名に合わせて書き換え、セーブします。「source.xhtml」内の短辺のピクセル数を書き換える短辺のピクセル数を書き換えるさらに、「source.xhtml」内の、「〓短辺ピクセル数〓」の部分(3ヶ所)をスキャン画像の短辺のピクセル数に合わせて書き換え、セーブします。緊デジフィックス型(電書協EPUB3ガイド仕様)の場合、全ての画像の縦横のピクセル数を統一することが規定されています。緊デジの規定では長辺のピクセル数は1536ピクセル固定です。XXX;」のXXXの部分に出力ページ数を入力します。ページ数を引数で入力できるようにしたバージョン(mk-epub-fixed-pagenumimport.php)では、こちらのステップは必要ありません。mk-epub-fixed.php」と入力してスクリプトを実行すると、xhtmlフォルダ内に指定したページ数のXHTMLファイルが生成されます。xxx」の形で指定してください(xxxの部分にページ数を入力)。ダウンロードは以下からどうぞ。KBDownloadMac/Winのターミナル/コマンドプロンプトで使用。10.6/10.7にて起動確認済。10.5でも起動自体は可能ですが、実行時にエラーが出ました。プリインストールされているPHPのバージョンの問題と思われます。こちらあたりを参考にPHPのバージョンを5に上げれば動作するのではないかと思うのですが未検証です。)なお、こちらのアプリを利用したことによって生じた損害等に関しまして、私として一切の責任は負いかねますので、あくまで自己責任でご利用ください。(2012.10.30)日高さんの所属を「スタジオ・ポットSD」に修正しました。コンテンツによってそれぞれ画像の短辺サイズ指定値を変える必要があるとのご指摘をいただき、表記を修正いたしました。コマンドライン/ターミナル用スクリプト及びMac用GUIプログラムも同様に修正しました。2.0』をリリースいたしました。EPUB3をゼロからハンドコーディングで制作するにあたって比較的敷居が高いと思われるのが、パッケージファイル(opfファイル)の作成です。ご存じの方も多いかと思いますが、EPUB3はおおざっぱに言ってWebの標準技術であるXHTML(HTML5)とCSSを用いて制作したドキュメントをZIP形式で圧縮したものですが、含まれる画像やXHTML文書などの各種ファイルはパッケージファイルに所定の形式で記載しておく必要があります。ページの並び順や綴じ方向、出版社名や著者名などの各種書誌情報も全てパッケージファイルに記述しておかなければなりません。先日発表された電書協EPUB3制作ガイドでもこのパッケージファイルの記述方法はきちんと規定されており、このガイドの仕様を採用した緊デジでのリフロー型EPUB3制作でも、当然きっちりと規定通りにパッケージファイルを記述する必要があると思われます。これは慣れない人間にとってはXHTMLやCSSの記述以上に取っつきにくい作業になりそうで、電書協EPUB3制作ガイドで書き換えの必要な箇所を色分けして指示しているとはいえ、入力時の間違いが多発しそうな感じはあります。私の所属している会社でもこれは当然他人事ではありませんので、間違いのない記述を行うために専用の入力フォームアプリを制作し、対処することにしました。こちらを今回公開させていただきますので、制作時の役に立てていただければ幸いです。10.4での起動チェックはできていません。OSにプリインストールされているperlのバージョンにも依存します。10.8でのチェックも出来ていないのですが、10.8には「Gatekeeper」という非登録デベロッパのアプリを実行出来なくするセキュリティ機能が搭載されているため、おそらくデフォルトの設定では起動できません。「システム環境設定」→「セキュリティとプライバシー」で「Gatekeeper」の設定をオフにすれば起動できるかと思います。将来的には対応を検討中です。※こちらのアプリは、電書協EPUB3制作ガイド_ver1.1及び、緊デジテンプレート(2012年10月22日発表版)の仕様に沿って制作されたリフロー型EPUB3コンテンツ専用のOPFパッケージファイル作成アプリです。他の形式のEPUB3コンテンツ制作に使用していただくことは可能ですが、ファイル構成、パス指定などは異なっている可能性があり、それぞれのケースにあわせて書き換える必要があります。こちらのアプリを利用したことによって生じた損害等に関しまして、私として一切の責任は負いかねますので、あくまで自己責任でご利用ください。ダウンロードはこちら※ダウンロード先を私の所属する会社のホームページ内ダウンロードコーナーに移動しました。内容の改訂等は行っていません。ダウンロードはこちら※uuid自動生成、kindle用パラメータ入力(kindlegen2.8にて検証済)に対応した新バージョンです。画面上の各項目を入力もしくは選択し、「OPF生成」のボタンを押せばファイルの出力先を尋ねるダイアログが出ますので、保存先を指定すればそちらに「standard.opf」の名称でOPFファイルが出力されます。画像フォルダ及びXHTML文書の収納フォルダはフォルダ名を取得してパスに組み込みますので、実際にEPUB内に収納するものと同じフォルダを指定してください。CSS及びナビゲーション文書は電書協EPUB3ガイドの仕様に従ってファイル名・パス共に決め打ちで出力します。EPUB3圧縮時には、規定の場所にそれぞれのファイルを配置しておくようにしてください。出力後、OPFファイルをテキストエディタで開き、以下のポイントをチェック・修正してください。改行コードは「CR(Mac)」で出力されます。電書協EPUB3制作ガイドでは、パッケージ内の各文書の改行コードを統一することを推奨していますので、必要であれば修正してください。全てのXHTMLドキュメントを見開き時片ページ始まり指定で出力します。出力された「standard.opf」ファイルの「<spine>」指定内、各「<itemref〜」行末尾の「properties="page-spread-left"」(左綴じではpage-spread-right)記述部分がそれに相当します。各XHTMLドキュメントの内容を確認し、片ページ始まりが必要なければこの部分の記述を削除してください。「<itemref〜」行のファイルの並び順は、EPUB文書としてのページングの順番に相当します。ファイルの並び順を確認し、必要であれば入れ替えを行って下さい。緊デジでのコンテンツ制作以外の目的でこちらのツールを利用する場合、JP-eコードに関する部分の記述をuuid等に差し替える必要があります。JP-eコードはそれぞれの電子書籍に対して与えられるユニーク値ですので、JP-eコードを適当に入力した電子書籍を配布することは絶対に避けてください。uuidの生成に関してはこちらが参考になります。ヘッダ行にもJP-eコードに関する記述がありますので、記述を変える必要があります。電書協ガイドに沿ったコンテンツ制作の場合は、電書協ガイドのサンプルのヘッダ部分の記述を引き写せばOKです。2.0」をご利用ください。電書協EPUB3制作ガイドでは、カバー、本文など各文書に用いるXHTMLのファイル名をきちんと規定しています。電書協EPUB3制作ガイドおよび緊デジテンプレートの記述の規則に従ってファイル名が付けられていた場合、こちらのアプリが自動で望ましいと思われる順番に文書を並び替えて出力します。規則から外れていたファイルについては、「<itemref〜」行末尾にシステムのソート順に従って記述されます。外字ファイルなどの命名規則もこれと同様です(緊デジテンプレートの記述規則に従います)。電書協EPUB3制作ガイド/緊デジテンプレートのXHTMLファイル名命名規則は現状、以下の通りです。※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追記)章扉が画像のパターンに対応しました。制作ガイド(Ver.1.1.1)」の公開に伴い、緊デジテンプレートも修正されましたので、これに対応する修正を行いました。メニュー選択でver1.1.1とver1.1を選択して出力できます。他、タイトル名に半角スペースが含まれていた場合に正常にファイルが出力されない問題の修正を行いました。この更新に伴う修正点は、「ebpaj:guide-version」のバージョン番号表記(1.1→1.1.1)、フィックス型出力時のfallback記述の削除の2点です。(2012.12.17追記)ダウンロード先を私の所属する会社のホームページ内ダウンロードコーナーに移動しました。内容の改訂等は行っていません。2.0」を公開いたしました。2.0」のメニュー及びアラートの「〜読み(カタカナ)」を、「〜カナ(整列用)」のような表記に修正しました。機能的な変更点はありません。変更を適用した最新バージョンは2.0.1です。2.0」で、リフロー型、Kindle対応の場合に出力されるOPFファイル中文内の表紙ファイルのリンク先を「cover.jpg」から「p-cover.xhtml」に修正しました。これはEpubCheck3.0.1でエラーが出力されることに対応したものです。変更を適用した最新バージョンは2.0.2です。2.0」で、フィックス型、Kindle対応の場合のオプション「画面ロック方向を指定」で「縦長画面」を選んだ際に設定が反映されなかった問題を修正しました。変更を適用した最新バージョンは2.0.3です。2.0」で、GIF形式のファイルの処理に対応いたしました。変更を適用した最新バージョンは2.0.4です。»IDPFのバリデータに叱られてみた2012/10/16「バリデータ」。DTP畑の方には言葉に聞き覚えのない方がおられるかも知れませんが、これは納品データが一定の仕様に沿っているかをチェックする整合性チェックプログラムのことです。IDPFは制作したEPUB3が仕様に沿っているかをチェックするためのバリデータを提供しており、無償で誰でも使うことができます。紙の印刷物の場合には、最終成果物はあくまで出力された紙であり、同じ出力結果が得られるのであればデータはどのように作ろうが自由でした。電子書籍の場合は事情が異なり、最終成果物はデータそのものであり、それはきちんとした仕様に沿って作られたものでなければなりません。EPUB3の場合はXMDFやドットブックよりも閲覧環境が多岐にわたるため、仕様に沿ってデータを作ることは重要です。従って、納品前に最低限「ちゃんとIDPFのバリデータを通るかどうかをチェックする」ことが必須になってくるわけです。エラーの出ないデータを制作すること」との記述があり、これは今後ごく当然の要求としてデータの納品時に求められてくるものと思われます。IDPFのバリデータは、EPUB3の容量が10MB以下であればこちらでwebサービス版を利用できますし、こちらから最新版Epubcheckをダウンロードすれば大容量のEPUBをチェックすることも可能です。こちらのツールはコマンドラインから利用するCUIのツールですので、コマンドラインツールに慣れていない方には少々敷居の高い面があることは確かです。Checker」をおすすめしておきます。内部的にIDPFのバリデータを利用しており、簡単なドラッグ&ドロップ操作でEPUBファイルをチェックすることができます。残念ながらWindows環境向けにはまだこれといったGUIバリデートチェックツールはなさそうで、早期の登場が望まれるところです。今回は、実際にEPUB3を制作し、バリデートチェックをする際に私が遭遇したさまざまなエラーメッセージと、それぞれのエラーへの対処方法について書いてみます(画面はwebサービス版のものです)。正しいEPUBデータ制作の一助としていただければ幸いです。「File」はEPUB3パッケージ内ファイルのうち、問題のあったファイルを差しています。「Line」は問題のあった行で、「Message」はエラー内容です。/>」のうち、「http-equiv」の属性値が不正なので修正せよと言われています。これはJBasic08の公式サンプルをそのまま使用した場合に遭遇するエラーです。/>」となっているものを多く見かけますので(電書協ガイドもこの表記)、そうした表記に変更する形で良いと思われます。この行そのものを記述しなくてもそう問題はないようです。「navigation.xhtml」内「nav.css」のリンクエラーオーサリングツールとしてFUSEeβを使用している時に良く遭遇するエラーです。目次ファイル「navigation.xhtml」内にスタイルシート「nav.css」へのリンクが記載されているのに、実際にはファイルが存在しないことによりエラーが出ています。これはFUSEeβのデフォルト設定のため、頻繁にこのエラーに遭遇します。一度EPUBパッケージを解凍して「navigation.xhtml」内の「nav.css」へのリンク行を削除するか、あるいは内容は空でも構わないので「nav.css」を作成してFUSEeβで再度EPUB3ファイルを書き出せばこのエラーは消えます。空の「images」フォルダがある電書協EPUB3ガイドの仕様では、画像を収納するフォルダ名は「image」です。FUSEeβの標準仕様では画像フォルダ名は「images」で、FUSEeβ内で画像フォルダ名を「image」に変更することはできますが、何故か書き出し時に空の「images」も書き出され、このエラーが出ます。一度EPUBパッケージを解凍し、空の「images」フォルダを削除することでエラーは消えます。目次ファイル内に「<ol>」タグが連続で記述されている目次ファイル内に「<ol>」タグが連続で記述されているとこのエラーが出ます。FUSEeβの環境設定の「カバー・目次」の項目で、「<h1>〜<h3>タグを目次に含める」(目次に含めるタグ範囲は任意選択可能)の項目をオンにしていると、目次ファイル内に<ol>タグが連続する形でデータが書き出され、このエラーが出るようです。一度EPUBパッケージを解凍し、目次ファイル内の<ol>タグのうち内側のものを消すかコメントアウトすればこのエラーは消えます。パッケージ内にOPFファイルに記述されていない画像がある画像フォルダ内にOPFパッケージファイルに記述されていない画像ファイルがある場合のエラーメッセージです。FUSEeβなどのツールを使用しているとOPFファイルへのファイル名の自動登録を行ってくれるため、このエラーに遭遇することはありませんが、ハンドコーディングでEPUB3を作成している場合などに、OPFパッケージファイルに画像ファイル名を記述し忘れるとこのエラーに遭遇します。適正にパッケージファイルへの記述を行えばエラーは消えます。パッケージ内にOPFファイルに記述されている画像がないパターン5の逆で、パッケージファイルには画像ファイル名の記述があるのに実際にはファイルがない場合です。画像ファイルを入れ直す、(必要なければ)OPFファイル内の画像ファイルの記述を削除するなどの操作をすることでエラーは消えます。パッケージ内にファイル「.DS_Store」が存在するMacがアイコンの配置などを記録している不可視の設定ファイル「.DS_Store」がフォルダ内に存在する場合のエラーです。これは不可視ファイルですので通常Macでは見えません。実際には存在するためバリデート時にエラーになってしまいます。Remover」などのツールを使うことで除去できます。パッケージ内にファイル「iTunesMetadata.plist」が存在する校正などの目的でiBooksなどのiOS内アプリにデータをコピーする際に、iTunesの同期機能を使うとパッケージ内にメタデータの管理ファイルを作成されてしまい、エラーが出ます。一度EPUBパッケージを解凍し、「iTunesMetadata.plist」ファイルを削除することでエラーは消えます。EPUB3ファイルの校正にiPad等を用いる際には、クラウドサービス「DropBox」経由でファイルを転送すると、この問題は起きませんので、そちらの方法をおすすめしておきます。◇バリデータ通過画面これらのエラーを全て解消し、IDPFのバリデータをクリアすると「Congratulations!〜」と画面に表示されます。バリデータではきちんとCSSが適用されているか、XHTMLの表記が適正かといった部分まではチェックしてくれませんのでそうした校正は別立てで行う必要は当然ありますが、とりあえずはこれで最低限の「エラーを引き起こさないファイル」になったと言えるでしょう。緊デジでEPUB3を制作する際に出てくるさまざまな問題を制作者同士の情報交換である程度解決するために、情報交換wiki「緊デジWiki」を先日公開しました。ご利用いただければ幸いです。(2012.10.16)「電書ちゃんねる」に、epubcheckに関する記事が掲載されたようです。「エラーメッセージ一覧日本語訳」はとても参考になるありがたい資料ですのでぜひ参照することをおすすめします。Tajimaこちらにて、電子書籍&Web制作を担当しています。このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。整うことを願って、現場からの声を発信していこうと目論んでおります。当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。License.『電書魂』のコンテンツはクリエイティブ・コモンズによりライセンスされています。記事名の記載と、記事へのリンクを貼って頂ければ、コンテンツを自由にご利用いただくことができます。