Markdown原稿からルビ・画像・表をEPUBへ変換するときは、「EPUBファイルができた」と「中身が正しく変換された」を分けて確認します。受け入れ条件は、パッケージ検査が成功し、出力XHTML内のruby・img・table要素と収録画像が元原稿の一覧に対応することです。
出力ボタンがエラーを返さなくても、必要な画像が収録されていない、表が本文として崩れている、ルビ記法が文字列のまま残る、といった問題は起こりえます。変換後のファイルを開いて数える工程までを、執筆作業に含めます。
二章の原稿を三種類に分けて数える
例はchapters/C01.mdとchapters/C02.mdの二章です。原稿にはルビ挿入6回、本文画像2枚、二列表1件を入れます。表紙画像は本文画像と分け、images/cover.pngとして管理します。
変換前の一覧は次のようにします。
| 要素 | 元原稿で期待する数 | 出力側で見る場所 |
|---|---|---|
| ルビ | 6 | 章XHTMLのruby要素 |
| 本文画像 | 2 | XHTMLのimgとEPUB内画像 |
| 表 | 1 | 章XHTMLのtable要素 |
| 表紙 | 1 | パッケージのcover指定と収録画像 |
画像記法には、画像が見えない場合にも意味が伝わる代替文を付けます。表は見出し行と二列の対応が原稿上で分かるようにし、単なる空白合わせで作りません。
EPUBを合格にする確認順
- 二章のファイル順、作品名、著者、言語、横書き/縦書き、表紙パスを出力前に確認します。
- EPUBを生成し、別名の出力ファイルが作られたことを確認します。
- EPUBを展開し、
nav.xhtml、NCX、パッケージ文書、章XHTML、画像フォルダを確認します。 - 章XHTMLを検索し、
ruby、img、tableを別々に数えます。元原稿の6・2・1と照合します。 - パッケージ検査を行い、欠落画像0、読む順番、
validの結果を記録します。
一つでも一致しなければ、変換成功とはしません。入力側に6件あったことは、出力側にruby要素が6件ある証拠にはならないためです。
生成EPUBを6・2・1で照合した結果
専用の横書き設定で、異なる6語へルビを各1回、本文画像を2回、表を1回挿入し、二章と表紙を含むEPUBを出力しました。新しい出力の構造検査はvalid=true、欠落画像0でした。生成XHTMLを直接数えると、rubyが6、rtが6、本文imgが2、tableが1です。6組の本文と読みも、元のルビ操作と一致しました。
この照合では、入力側の操作回数と出力側の要素数を別々に数えています。入力6・2・1をそのまま成功扱いせず、生成XHTML側の6・2・1と本文/読みの組まで突き合わせました。Rune Studioの現行Mac版の公開資料には、ルビ・画像・表などの対応記法をプレビューとEPUB用XHTMLへ変換し、EPUB 3の本文・目次・表紙・パッケージを生成する機能が記載されています。
valid=trueでも残る確認範囲
今回のEPUBは、ローカル構造検査とXHTML要素数の受け入れ条件を満たしました。ただしvalid=trueは、この検査でパッケージ構造が成立したという結果です。販売先で受理されることや、すべての閲覧アプリでルビ・画像・表が同じ見た目になることまでは確認していません。
配布前には、提出先の検査と、実際に使う閲覧アプリでの目視を別に行います。構造が正しいことと、読みやすい表示であることを一つの合格にまとめないためです。
次の出力でも同じ順番で検品する
原稿を直して再出力したら、今回の成功結果を流用せず、valid=true、欠落0、ルビ6、本文画像2、表1、章順一致を取り直します。出力名を変え、どの原稿版から生成したかも記録します。
もし次回valid=trueでもrubyが0なら、パッケージは成立していても記事の中心目的は未達です。逆に三要素が見えてもvalid=falseなら、変換成功とは判断しません。
Markdown対応テキストエディタを選ぶ基準
対応記法の範囲を明記し、原稿順・画像・目次・表紙を出力前に確認でき、生成後のEPUBを別に検査できる環境が向いています。Rune StudioはCommonMarkの全仕様を実装する汎用エンジンではなく、公開資料に記載した執筆・EPUB向け記法を対象としています。現行Mac版はRune Studio公式サイトで確認できます。
再出力の記録には、元原稿のハッシュや出力名だけでなく、直した項目を一つ書きます。たとえば「画像参照を修正」「表記法を対応形式へ変更」のように原因を一つに絞れば、次の検査結果と結び付けられます。複数の修正を同時に行うと、valid=trueになっても、どの変更が効いたのか分からなくなります。
結論として、今回の記録では、EPUBのローカル構造検査がvalid=true、欠落画像0となり、生成XHTMLでもルビ6、本文画像2、表1を直接照合できました。ルビ・画像・表を変換したと言えるのは、このように入力操作と出力要素を分けて数えた場合です。販売先受理と閲覧アプリでの見た目は、次の確認として残します。
Markdown原稿からEPUBを作る機能を詳しく見る方は、Rune Studioの商品ページで現行Mac版の案内を確認できます。


