文字化けで止まらない!EPUB編集、文字化けと画像切れを出力前に防ぐ

既存のEPUB原稿を編集した後は、原稿全体を最初から点検し直すのではなく、編集前の基準値と今回の変更差分を固定し、文字と画像で別々に戻せる状態を作ると手戻りを減らせます。文字化けや画像切れが見つかったら、変更した側だけを編集前へ戻し、変更していない章や画像まで触りません。

この記事では、三章・本文画像三枚の既存原稿へ、文字変更と画像参照変更を加えた後の再検査を扱います。原稿を受け取った直後の一般的な入口検査ではなく、「編集前はどうだったか」「今回どこを変えたか」「失敗時にどこへ戻るか」を中心にします。

編集前の基準値を一枚に固定する

編集を始める前に、原稿の状態を短い基準表へ書きます。

項目 編集前の基準
章 C01.md、C02.md、C03.mdの三件
本文画像 map.png、chart.png、note.pngの三件
文字変更予定 C02.mdの候補二件だけ
画像変更予定 C01.mdの旧画像パス一件だけ
変更しない範囲 章順、目次名、C03.md、残り二画像の参照

基準表の役割は、問題をすべて列挙することではありません。今回の編集で変えてよい範囲と、変わったら失敗になる範囲を分けることです。基準ファイルは複製して残し、編集後ファイルと同じ名前で上書きしません。

変更票は文字差分と画像差分に分ける

変更予定を一枚の作業メモへ混ぜると、失敗時にどちらを戻せばよいか分かりません。文字と画像で別の変更票を使います。

文字差分には変更位置と採用理由を残す

文字票には、章ID、行番号、変更前、変更後、採用理由を書きます。たとえばC02.mdの人名に私用領域の文字が含まれるなら、見た目が似た字へ推測で置換せず、著者が承認した字形を記録します。

Rune Studioの公開資料には、主要な日本語文字コードを判定し、変換不能文字を示し、解消まで自動保存を停止する機能が記載されています。ただし、今回の操作記録では候補二件を実画面で修正して0件にする一連の動作を確認していません。文字側は、公開機能の説明と読者自身が複製で確認する項目として扱います。

画像差分には旧参照と新参照を対で残す

画像票には、章ID、旧参照、新参照、実ファイル、戻し先を書きます。C01.mdの../old/map.pngを../images/map.pngへ変えるなら、旧参照を消した事実だけでなく、新参照が実ファイルへ届くことを確認します。

今回変更しないchart.pngとnote.pngは再配置しません。変更対象外を固定すると、出力後に三枚のうちどれが欠けたかを、今回の差分と以前からの状態へ切り分けられます。

編集後は差分だけを再検査する

編集後の検査は、基準表と二枚の変更票を照合します。

  1. 文字票の二行だけが意図した文字へ変わったか確認する。
  2. C02.mdを開き直し、前後文と総文字数の変化理由を照合する。
  3. 旧画像パスを検索し、対象一件が残っていないことを確認する。
  4. 新画像パスが対象一件に入り、実ファイルへ届くことを確認する。
  5. 変更しない二画像の参照、章順、目次名が基準値と同じか確認する。

ここで大切なのは、単に「文字候補0件」「欠落画像0件」と数えることだけではありません。今回の差分が予定どおりで、変更対象外が基準値のままであることまでが合格条件です。

失敗時の巻き戻し点を先に決める

文字が別字になった場合は、画像を触らず、C02.mdの編集前複製へ戻ります。画像が欠けた場合は文字差分を維持し、C01.mdの旧参照と画像配置の組だけを戻します。章順や目次名が変わった場合は、文字票・画像票ではなく出力対象の基準表へ戻ります。

巻き戻し後は、戻した側だけを再編集し、もう一方の合格記録を無効にしません。ただし、同じファイル内で文字と画像参照の両方を変更した場合は、そのファイルを開き直して両票との一致を再確認します。

この分離により、「画像が欠けたので文字コード設定まで変える」「文字が崩れたので画像フォルダを移す」といった無関係な修正を避けられます。

出力結果を編集前の基準へ戻して読む

記事固有の確認では、横書き三章、本文画像三枚、表紙一枚からEPUBを生成しました。生成物のspineは表紙、タイトル、ナビゲーション、本文三件、奥付の順でした。収録画像は4件で「表紙1+本文3」と一致し、欠落画像は0件でした。navとNCXもあり、ローカル検査はvalid=trueです。

この結果は、画像側の最終パッケージに三枚が収録されたことを示します。文字候補二件を0件へした実測ではありません。またvalid=trueは販売先受理やすべてのリーダーでの表示一致を意味しません。

編集後の生成物を見るときは、結果だけを単独で合格にせず、基準表へ戻します。三章が三章のままか、本文画像三枚と表紙一枚が収録されたか、navとNCXがあるかを照合します。今回変更しなかった範囲まで差が出たら、その生成物は保留です。

EPUB 3のmanifest、spine、ナビゲーションの一般的な役割はW3CのEPUB 3.3で確認できます。

差分検査が向く編集と対象外

この方法が向くのは、いったん成立している原稿へ限定的な文字修正や画像差し替えを行う場面です。初めて受け取った原稿の入口検査、すでに破損したEPUBの復元、画像の著作権や視覚品質、ストア側の再圧縮は扱いません。

編集前の基準値がない場合は、現在の複製を暫定基準として固定し、それ以前の状態を推測で作らないでください。以後の変更から差分を記録します。

結論

EPUB編集後の文字化けと画像切れを防ぐには、編集前基準・文字差分・画像差分・変更しない範囲・巻き戻し点を先に固定します。合格は問題件数が0になったことだけでなく、予定した差分だけが変わり、ほかが基準値と一致した状態です。

まず既存原稿を複製し、今回変える文字と画像参照を別々の二行へ書いてください。現行Mac版の概要とダウンロード先はRune Studio公式サイトで確認できます。