
EPUBのメタデータ編集は、設定画面へ新しい文字を入れただけでは完了しません。作品名、著者、発行所、言語は完成EPUBのOPFで確認し、巻の発行日と版は生成された奥付で確認します。今回の実測では dc:date は設定した発行日ではなく、出力時刻でした。二種類の日付を同じ値として扱わないことが要点です。
旧版を比較元として残す
旧版は作品名「港町アンソロジー・旧版」、著者「佐藤海」、発行所「青灯舎」、言語 ja、版1.0、横書きです。発行履歴には2026年8月28日を設定し、この状態のEPUBを比較元として保存します。
画面の記憶だけでは、改訂後の値が本当に変わったか判断できません。旧版のOPF、奥付、完成ファイルSHA-256を残します。
変更する項目と維持する項目を分ける
改訂版では作品名を「港町アンソロジー・改訂版」、著者を「佐藤潮」、発行所を「新灯舎」、巻の発行日を2026年9月1日、版を1.1へ変更しました。言語 ja、横書き、左から右のページ進行、四章の順番は維持項目です。
本番では依頼された項目だけを変えます。変更値と維持値を二列で書けば、意図しない設定変更も発見できます。
OPFで作品情報を読む
改訂版のOPFでは、新しい作品名が dc:title、著者が dc:creator、発行所が dc:publisher に入りました。dc:language は ja のままです。本文側の書字方向は horizontal-tb、ページ進行は左から右のままでした。
ここで dc:date は固定した出力時刻 2026-08-28T12:00:00+09:00 でした。設定した発行日9月1日の転記先としては扱えません。OPFの日時は「この検証で生成した成果物の時刻」として読みます。
発行日と版は奥付で確認する
生成された奥付には発行履歴として2026年9月1日と2026年8月28日が現れ、ver 1.1の表示も確認できました。旧版の履歴を残す仕様では、最新値だけでなく過去の行も出ます。行の有無と表示内容を読み、意図した履歴かを判断します。
奥付を生成後に直接書き換えると、次の出力で正本とずれます。日付や版が違う場合は巻情報へ戻り、作品名・著者・発行所が違う場合は作品情報へ戻ります。
日付の役割を三つに分ける
巻の発行日、EPUBの生成時刻、ストアの公開予約日は別の値です。今回確認したのは、巻の発行履歴が奥付に出ることと、OPFの dc:date が生成時刻になることです。公開予約日時はEPUB作成の外側にあるため、同じ日になるとは断定しません。
端末時計を変えて発行日を調整するのではなく、目的の項目へ戻ります。日付境界で出力する場合は、dc:date のタイムゾーンも含めて記録します。
表紙や本文の焼き込み文字は別に確認する
作品名や著者名が表紙画像の画素として書かれている場合、メタデータを変えても画像内文字は更新されません。著者紹介、著作権表記、本文中の旧作品名も別に検索します。OPFの変更と画像・本文の編集を同じ自動処理だと思わないことが重要です。
不変項目で副作用を見つける
改訂版でも言語、横書き、ページ進行、四章順、本文画像構造が維持されたことを確認します。変えた項目だけを見ると、無関係な設定の変化を見逃します。前後のEPUBを別名で残し、開いたファイルのSHA-256も照合します。
前後比較は値と生成物を同じ表へ置く
比較表には「項目」「旧版」「改訂版」「確認先」の四列を作ります。作品名・著者・発行所・言語の確認先はOPF、発行履歴と版は奥付、横書きとページ進行はOPFと生成CSSです。値だけを書き、確認先を省くと、設定画面の値を完成物で確認したと誤解しやすくなります。
今回の改訂では、旧版と改訂版のEPUBを別の絶対パスへ保存し、それぞれのSHA-256を操作記録へ残しました。比較時はファイル名、SHA-256、OPF、奥付の順で同じ版を見ているかを確認します。同名ファイルを上書きしてしまった場合は、記憶から旧値を補わず、比較不能としてもう一度基準版を作ります。
未変更の本文まで再生成する理由
書誌だけを変えた場合でも、完成物は同じ四章を指定して再出力します。これは本文を書き直すためではなく、新しいOPFと奥付を、同じ章順・画像構造を持つ一冊として検査するためです。改訂版で四章順や本文画像数が変わったなら、メタデータ編集とは別の変更が混ざっています。
変更依頼を渡すときは「作品名・著者・発行所を変更」「言語・横書き・章順は維持」「発行日と版は奥付で確認」「dc:date は生成時刻として別記」のように書きます。確認先まで含めた指示なら、次の担当者も同じ基準で差分を読めます。
結論:項目ごとに正しい確認先へ進む
作品名、著者、発行所、言語はOPF、巻の発行日と版は奥付、画像に焼き込んだ文字は画像そのものを読みます。dc:date は今回の出力では生成時刻であり、設定した発行日ではありません。ISBN、ストアの商品情報、契約はこの記事の範囲外です。確認先を分ければ、同じ「日付」という名前だけで誤った反映を報告せずに済みます。


