|| top ||

EPUB2をEPUB3対応にする
(2013年版)

*** 2013年に公開した使い方ページです。
*** 現在のEPUB3仕様とはやや異ってきているため、
*** なるべく『EPUB3テンプレート(電書協仕様準拠版)』の使用をお勧めします。
*** 解説ページは『EPUB3テンプレートの使い方(電書協仕様準拠版)』へ。
*** サンプルページは『リーディングシステムによる表示サンプル(電書協仕様準拠版)』へ。
*** どうしてもEPUB2をEPUB3対応にしたい場合は、電書協仕様準拠版のファイル構成や
*** 2013年版からの変更点等を参考にしてください。


EPUB2版テンプレートの使い方』で作成したEPUB2版書籍をEPUB3に対応させるための手順です。
《テンプレート1》の「dc_template_01_winered_ep2.epub」(オリジナル版)を使用して解説しています。
EPUB編集ソフト『Sigil』、電子書籍ビュアー『Adobe Digital Editions』の他に、各ファイルの編集に文字コードが「UTF-8」で保存できるエディタを使用します。あらかじめこれらを《使用ツール》の項目を参考にインストールしておいてください。

1. EPUBファイルを解凍する

  • EPUB2版テンプレートの使い方』ページで作成した「dc_template_01_winered_ep2.epub」ファイル(※以下、ご自分で作成して保存したファイル名に読み替えてください)の拡張子epubをzipに変えて、各ファイルを解凍します。ここでは例として、Cドライブの「ebook」フォルダに「dc_template_01_winered_ep2.epub」ファイルを置き、ここに「files」フォルダを作ってその中に解凍するものとします。ファイル構成は以下のようになります。
            C:.
            └─ebook
                │  dc_template_01_winered_ep2.epub
                │
                └─files
                    │  mimetype
                    │
                    ├─META-INF
                    │      container.xml
                    │
                    └─OEBPS
                        │  content.opf ---- Package Document
                        │  toc.ncx -------- EPUB2ナビゲーション用
                        │
                        ├─Images(画像)
                        │      cover_01.jpg -------- 表紙
                        │      deco_l.png ------- 扉ページワンポイント(大)
                        │      deco_s.png ------- 奥付ページワンポイント(小)
                        │      old_paper.jpg ------- 挿絵
                        │      ornament_l.png ------ 扉/奥付ページ共用ライン(下)
                        │      ornament_u.png ------ 扉/奥付ページ共用ライン(上)
                        │
                        ├─Styles(スタイルシート)
                        │      ebook_horizontal.css ------ 横書き表示用
                        │      ebook_style.css ----------- 縦書き/横書き表示共用
                        │      ebook_vertical.css -------- 縦書き表示用
                        │
                        └─Text(本文ページ/ページ順)
                                cover.xhtml -------------- 表紙
                                titlepage.xhtml ---------- 扉
                                dedication.xhtml --------- 献辞
                                navigation.xhtml --------- 目次
                                illustration.xhtml ------- 挿絵
                                characters.xhtml --------- 登場人物
                                preface.xhtml ------------ まえがき
                                prologue.xhtml ----------- プロローグ
                                chapter001.xhtml --------- 第一章
                                Section0001.xhtml --------   第一節
                                Section0002.xhtml --------   第二節
                                afterword.xhtml ---------- あとがき
                                colophon.xhtml ----------- 奥付
        
  • コードの差し替えなどの説明にはオリジナル版の「dc_template_01_winered_ep2.epub」ファイルの行数を表示している箇所があります。エディタで編集するご自分のファイルとは別に、オリジナル版の「dc_template_01_winered_ep2.epub」を『Sigil』で開いたものも置いておき、見比べて確認しながら作業してください。

2. 「content.opf」ファイルの編集

  • EPUB2とEPUB3とでは書籍情報の記述が違うので、ここでは一度まるごとEPUB3形式の書籍情報部分を貼り付けて、書籍名、著者名などをコピーし直します。わかりにくい時は、解凍前のEPUB2ファイルを『Sigil』で別に開いておき、「Metadata Editor」アイコンアイコンをクリック、またはメニューから「Tools」→「Metadata Editor...」をクリックして書籍情報のウィンドウを表示させて、各項目をコピー→貼り付けしていくのが打ち間違いもなく楽です。なお、以下のコードが書かれた枠内をダブルクリックするとコピーできる状態になるので、そのまま丸ごとコピーし、エディタで編集状態のテキストに貼り付けて使用します。
a. <metadata>の編集
  • エディタで「content.opf」ファイルを開き、一行目から</metadata>までを以下の通りに差し替えてから、8行目の「書籍名」、12行目の「著者名」、15行目の「書籍内容」、17行目の「ジャンル」、19行目の「出版社」、21行目の「著作権情報」、23行目の「発行日」、25行目の「更新日」(ファイルの最終更新日)の書籍情報をご自分のものに変更します。また、5行目のUUIDも、EPUB2を編集した際に『2. UUIDを変更する』で作業したものと同じUUIDをコピーし直します。
          <?xml version="1.0" encoding="utf-8"?>
          <package xmlns="http://www.idpf.org/2007/opf" prefix="rendition: http://www.idpf.org/vocab/rendition/#" unique-identifier="BookID" version="3.0" xml:lang="ja">
            <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
          <!-- unique identifier -->
            <dc:identifier id="BookID">urn:uuid:f8ede0d6-7f20-41c5-a191-39162b4eaa83d</dc:identifier>
            <meta refines="#BookID" property="identifier-type">uuid</meta>
          <!-- title -->
            <dc:title id="title0">銀色の獅子 -完全版-〈1〉 [template 1]</dc:title>
          <!-- language -->
            <dc:language id="language0">ja</dc:language>
          <!-- creator -->
            <dc:creator id="creator0">Dark Currant</dc:creator>
            <meta refines="#creator0" property="role">aut</meta>
          <!-- description -->
            <dc:description id="description0">アスティニア三国〜〜〜未公開掌編 二編</dc:description>
          <!-- category -->
            <dc:type id="type0">ファンタジー</dc:type>
          <!-- publisher -->
            <dc:publisher id="publisher0">Dark Currant's Novels Site</dc:publisher>
          <!-- rights -->
            <dc:rights id="rights0">Copyright 2013 Dark Currant. All Rights Reserved.</dc:rights>
          <!-- date -->
            <dc:date>2013-04-29T00:00:00Z</dc:date>
          <!-- modified -->
            <meta property="dcterms:modified">2013-04-28T00:00:00Z</meta>
          <!-- meta for the cover -->
            <meta name="cover" content="cover_01.jpg" />
            </metadata>
        
b. <manifest>の編集
  • <manifest>内の「toc.ncx」ファイルの記述の下に、以下の「Text/toc.xhtml」の記述を追加します。なお、行数の表示はオリジナル時のもので、編集状態により変わってきますので参考程度にしてください。
            <manifest>
              <item href="toc.ncx" id="ncx" media-type="application/x-dtbncx+xml" />
        
            <manifest>
                <item href="toc.ncx" id="ncx" media-type="application/x-dtbncx+xml" />
                <item href="Text/toc.xhtml" id="nav" media-type="application/xhtml+xml" properties="nav" />
        
  • <manifest>内の「cover_01.jpg」指定の行を以下の通りに差し替えます。
            <item href="Images/cover_01.jpg" id="cover_01.jpg" media-type="image/jpeg" />
        
            <item href="Images/cover_01.jpg" id="cover_01.jpg" media-type="image/jpeg" properties="cover-image" />
        

3. 「toc.ncx」ファイルの編集

  • 「toc.ncx」ファイルの1〜4行目までを以下の通りに差し替えます。
          <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
          <!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
          "http://www.daisy.org/z3986/2005/ncx-2005-1.dt d">
          <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
        
          <?xml version="1.0" encoding="UTF-8"?>
          <ncx xmlns:ncx="http://www.daisy.org/z3986/2005/ncx/"
            xmlns="http://www.daisy.org/z3986/2005/ncx/"
            version="2005-1"
            xml:lang="ja">
        

4. すべてのxhtmlファイルの編集

  • すべてのxhtmlファイルの1〜2行目の<head>までを、以下の通りに差し替えます。
          <?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" xmlns:epub="http://www.idpf.org/2007/ops">
          <head>
        
          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE html>
          <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="ja">
          <head>
            <meta charset="UTF-8" />
        

5. 「toc.xhtml」ファイルを追加する

  • EPUB3に対応したナビゲーション用ファイル「toc.xhtml」を追加します。用途はEPUB2用のナビゲーション用ファイル「toc.ncx」と同じです。
a. 「目次」部分を差し替える
  • 目次ファイル「navigation.xhtml」をコピーして、「toc.xhtml」とファイル名を変更します(または、エディタで新規ファイルを作成し、目次ファイル「navigation.xhtml」の中身をすべてコピーして貼り付け、「toc.xhtml」のファイル名で保存します)。「toc.xhtml」ファイルをエディタで開き、見出し部分の四行を下の三行に差し替えます。
            <body id="toc">
              <h2 class="section" id="mark_003">目次</h2>

                <div class="navigation">
        
              <body>
                <nav epub:type="toc" id="toc">
                  <h2>目次</h2>
        
b. <ol>部分を差し替える
  • コード中の<ol class="mark_xxxxx">の「class="mark_xxxxx"」部分は不要なので、すべて<ol>に直します。
          <ol class="mark_none">
            <li><a href="../Text/titlepage.xhtml#mark_001">扉</a></li>
        
          <ol>
            <li><a href="../Text/titlepage.xhtml#mark_001">扉</a></li>
        
c. 項目を追加する
  • 見出しの項目の中に、「目次」の一行を加えます。以下の例では「献辞ページ」と「挿絵ページ」の間に「目次ページ」を加えていますが、「献辞ページ」や「挿絵ページ」が削除されている場合は「扉ページ」と「本文ページ」の間の該当位置に加えてください。また、「navigation.xhtml」には表示させずに省略したページもすべて加えます。
          <li><a href="../Text/dedication.xhtml#mark_002">献辞</a></li>
          <li><a href="../Text/illustration.xhtml#mark_004">挿絵</a></li>
        
          <li><a href="../Text/dedication.xhtml#mark_002">献辞</a></li>
          <li><a href="../Text/navigation.xhtml#mark_003">目次</a></li>
          <li><a href="../Text/illustration.xhtml#mark_004">挿絵</a></li>
        
d. 「ガイド」部分を編集する
  • 最後の四行を、以下の通りに差し替えます。
              </div>

            </body>
          </html>
        
            </nav>

            <nav epub:type="landmarks" id="landmarks">
              <h2>ガイド</h2>
              <ol>
                <li><a epub:type="cover" href="../Text/cover.xhtml">表紙</a></li>
                <li><a epub:type="toc" href="../Text/navigation.xhtml#mark_003">目次</a></li>
                <li><a epub:type="titlepage" href="../Text/titlepage.xhtml#mark_001">扉</a></li>
                <li><a epub:type="bodymatter" href="../Text/prologue.xhtml#mark_007">本文</a></li>
              </ol>
            </nav>

           </body>
         </html>
        
e. 「本文ページ」の指定を編集する
  • 上で差し替えた「ガイド」の指定項目は、『EPUB2版テンプレートの使い方』ページの『6. 目次ページ「navigation.xhtml」を編集する』で「content.opf」ファイル内に指定したもののEPUB3版で、用途は同じです。「content.opf」ファイルで「本文ページ」に指定したファイルと同じファイルをここでも指定します。以下は、プロローグのページ「prologue.xhtml」を第一章のページ「chapter001.xhtml」に差し替えた例です。
          <li><a epub:type="bodymatter" href="../Text/prologue.xhtml#mark_007">本文</a></li>
        
          <li><a epub:type="bodymatter" href="../Text/chapter001.xhtml#mark_100">本文</a></li>
        
  • 以下は、編集終了後の「toc.xhtml」ファイルの一例です。ハイライトされている行をよく確認してください。また、アンカー名をオリジナルのものから変更している場合は、変更したアンカー名もご自分のものにすべて合わせてください。
  • ただし、最終出力形態がKindle版(mobiファイル)の場合、「toc.ncx」ファイル及び「toc.xhtml」ファイルの「目次」内に表紙ページを含めないでください。mobiファイル変換ツール『KindleGen』がv2.8よりEPUB3用ナビゲーションドキュメントに対応したのに伴い、「表紙」の扱いが変わりました。「toc.ncx」ファイル及び「toc.xhtml」ファイルに「表紙」へのリンクが含まれているとエラーのためmobiファイルが作成されません。
            <nav epub:type="toc" id="toc">
              <h2>目次</h2>
                <ol>
                  <li><a href="../Text/cover.xhtml#mark_000">表紙</a></li>
                  <li><a href="../Text/titlepage.xhtml#mark_001">扉</a></li>
                  <li><a href="../Text/dedication.xhtml#mark_002">献辞</a></li>
                  <li><a href="../Text/navigation.xhtml#mark_003">目次</a></li>
                  <li><a href="../Text/illustration.xhtml#mark_004">挿絵</a></li>
                  <li><a href="../Text/characters.xhtml#mark_005">登場人物</a></li>
                  <li><a href="../Text/preface.xhtml#mark_006">まえがき</a></li>
                  <li><a href="../Text/prologue.xhtml#mark_007">プロローグ</a></li>
                  <li>
                    <a href="../Text/chapter001.xhtml#mark_100">第一章 リュシェンヌ</a>
                    <ol>
                      <li><a href="../Text/Section0001.xhtml#mark_101">デルフィンデル</a></li>
                      <li><a href="../Text/Section0002.xhtml#mark_102">イライアス</a></li>
                    </ol>
                  </li>
                  <li><a href="../Text/afterword.xhtml#mark_900">あとがき</a></li>
                  <li><a href="../Text/colophon.xhtml#mark_901">奥付</a></li>
                </ol>
              </nav>

              <nav epub:type="landmarks" id="landmarks">
                <h2>ガイド</h2>
                <ol>
                  <li><a epub:type="cover" href="../Text/cover.xhtml">表紙</a></li>
                  <li><a epub:type="toc" href="../Text/navigation.xhtml#mark_003">目次</a></li>
                  <li><a epub:type="titlepage" href="../Text/titlepage.xhtml#mark_001">扉</a></li>
                  <li><a epub:type="bodymatter" href="../Text/prologue.xhtml#mark_007">本文</a></li>
                </ol>
              </nav>

            </body>
          </html>

        

6. 編集したファイルをEPUBに再圧縮する

  • 再圧縮の際には、アーカイブの先頭に未圧縮のmimetypeファイルを格納するという決まりがあるため、Windowsでは『ZIP』を用いてコマンドラインから作業します。
  • Info-ZIP』のサイトから『ZIP 3.0』をダウンロードし、適当なフォルダに解凍します。ここでは例として、Cドライブの「ebook」の下に「zip」というフォルダを作成し、そこにすべてのファイルを解凍してコピーしたとします。
            C:.
            └─ebook
                │  dc_template_01_winered_ep2.epub
                │
                ├─files   ←----   編集した各ファイル用フォルダ
                │
                └─zip     ←----   圧縮ツール用フォルダ
                      Contents
                      LICENSE
                      README
                      README.CR
                      WHATSNEW
                      WHERE
                      zip.exe
                      zip.txt
                      zip30.ann
                      zipcloak.exe
                      zipcloak.txt
                      zipnote.exe
                      zipnote.txt
                      zipsplit.exe
                      zipsplit.txt
        
  • 以下のテキストを丸ごとコピーし、Cドライブの「ebook」の下に「makeepub.bat」という名前のファイルを作成してペーストし、保存します。ファイルの保存場所が例と違う場合はご自分の環境に合わせてパスを書き換えますが、パスが何だかよくわからないという方は例と同じフォルダとファイルの構成にしておけば後は何もいじる必要はありません。
          cd files
          c:\ebook\zip\zip -0 -X ..\sample.epub mimetype
          c:\ebook\zip\zip -r ..\sample.epub * -x mimetype
          cd ..
        
  • 「makeepub.bat」ファイルをダブルクリックして実行すると、「ebook」フォルダ内に「sample.epub」というファイルが作成されます。これが圧縮されたEPUB3ファイルです。このファイルは「makeepub.bat」ファイルを実行する度に上書きされてしまうので、必要な場合は名前を変えて保存しておきます。
            C:.
            └─ebook
                │  dc_template_01_winered.epub
                │  makeepub.bat   ←----   epub作成用バッチファイル
                │  sample.epub    ←----   作成されたEPUB3ファイル
                │
                ├─files      ←----   編集した各ファイル用フォルダ
                │
                └─zip        ←----   圧縮ツール用フォルダ
        

7. EPUBファイルをビュアーで確認する

  • 『Adobe Digital Editions』に出来上がった「sample.epub」ファイルをドラッグして開き、それぞれのページが意図した通りに表示されているかを確認します。
  • 各xhtmlファイルの内容を修正してから再度、「sample.epub」ファイルを作成する時は、一度『Adobe Digital Editions』の「ライブラリへ戻る」アイコンをクリックしてライブラリ表示へ戻ります(開いたままの「sample.epub」はロックされていて上書きされません)。「sample.epub」ファイルを作成し直したら、左上に表示されている最後に開いた本の[読む]をクリックして本を開き直します。
  • なお、途中で「content.opf」ファイルの書籍情報を再度変更した場合、一度読み込んだ書籍の書籍名は『Adobe Digital Editions』上では変更されません。ファイル名を変更して別の書籍として開くか、ウィンドウ右側の書籍一覧から該当書籍上で右クリック、「ライブラリから削除」→確認ウィンドウ上で「削除」をクリックして一度書籍をライブラリから削除し、再度ファイルをドラッグして読み込み直します。

8. 「EpubCheck」で検証する

  • 出来上がった「sample.epub」ファイルを検証ツール「EpubCheck」のエラーチェックにかけてエラーが指摘されなければ完成です。10MBまでのサイズであれば、『EPUB Validator (beta)』のサイトで検証できます。サイトのトップページで[ファイルを選択]をクリックして「sample.epub」ファイルを選び、横にファイル名が表示されたら[Validate]をクリックします。ファイルサイズが大きいとアップロードに多少時間がかかります。ページが変わり、「Results: Congratulations! No problems were found in sample.epub.」と表示されれば検証をパスしています。
  • なお、エラーが表示された場合は、エラー箇所のファイル名と行数が表示されるのでそれを参考にしてコードに間違いがないかを確認し、訂正してから再度実行します。
  • なお、「EpubCheck」をインストールして使用する方法は、『EPUB3版テンプレートの使い方』ページの『10.「EpubCheck」で検証する』を参考にしてください。

《使用ツール》

  • Google『Sigil』
     『sigil - The EPUB Editor
  • Adobe『Adobe Digital Editions』
     『Digital publishing for professionals | Adobe Digital Editions Home
  • Google『EpubCheck』(EPUBの整合性チェックツール)
     『epubcheck - Validation tool for EPUB - Google Project Hosting
  • Greg Roelofs.『ZIP 3.0』(圧縮ツール)
     『Info-ZIP
  • エディタ(できれば文字コード「UTF-8(BOMなし)」、改行コード「LF」で保存できるもの)
    Windowsに付属の『Notepad(メモ帳)』で代用する場合は、一度「ファイル」→「名前を付けて保存」を選び、「ANSI」となっている文字コードを「UTF-8」に変更してから保存してください(ただし文字コード「UTF-8(BOMあり)」、改行コード「CR+LF」となります)。

《参照サイト》

《その他の注意》

  • テンプレートの内容については適宜見直しを行っているため、解説に使用している画像の細部やコードについては一部実際のものと違っている場合があります。
  • この制作方法は筆者が主にKindle用に作成したEPUBを元に記述しており、内容が必ずしも正しいとは限りません。また、ここで紹介したツールや参考サイトに関しても、安全性や正確さを保証するものではありません。利用される際は自己責任でお願い致します。
  • テンプレートに関する使用上の注意、利用規定等に関しては『EPUBテンプレート』のページをご覧ください。

《改訂記録》

  • 2013/04/28 初稿
     『Sigil』 v0.7.2/『Adobe Digital Editions』 v2.0.67532/『EpubCheck』 v3.0 で作成