EPUB作成で文字化けを持ち込まないためには、一つの原稿を直した時点で出力へ進まず、三章すべてをUTF-8で開き直し、変換不能文字0件と代表文字15箇所の一致を一枚の合否表で確認します。三章のうち一章でも未確認なら、EPUBはまだ作りません。
この記事の役割は、壊れた一文字の直し方ではなく、複数章をまとめて「出力してよい状態」にすることです。例は合計2,600文字の01-opening.md、02-turn.md、03-ending.md。候補文字は2件、各章から5箇所ずつ、合計15箇所を読み戻し用の目印にします。
三章を一つの合否にまとめる
章ごとに結果を分けたうえで、最後に全体を判定します。次の三条件が全章でそろったときだけ「出力へ進む」にします。
- UTF-8として開き直せる
- 変換不能文字が0件である
- 章ごとの代表文字5箇所が元の意図と一致する
運用表は次の形です。文字数は合計2,600になる配分例であり、今回確認された章別実測値ではありません。
| 章 | 開始文字数の例 | 候補位置 | 代表文字 | 開き直し後の条件 | 判定 |
|---|---|---|---|---|---|
01-opening.md |
820 | 候補A | 冒頭・人名・数字・記号・末尾 | UTF-8、候補0、5/5一致 | 三条件がそろえば可 |
02-turn.md |
910 | なし | 冒頭・地名・会話・数字・末尾 | UTF-8、候補0、5/5一致 | 三条件がそろえば可 |
03-ending.md |
870 | 候補B | 冒頭・固有名・記号・日付・末尾 | UTF-8、候補0、5/5一致 | 三条件がそろえば可 |
| 全体 | 2,600 | 2件 | 15箇所 | 3章すべて合格 | 一章でも欠ければ停止 |
候補Aと候補Bの置換文字は、アプリに意味を決めさせません。人名なら著者の指定、旧字体なら作品の表記方針など、根拠を確認してから変更します。「似て見える文字」へ一括置換すると、文字化けを直した代わりに固有名を変える危険があります。
保存前と出力前を分ける
一章ずつ、次の順で進めます。
- 元ファイルの複製を作り、元の文字コード、改行、文字数を記録します。
- 変換候補2件へ
候補A、候補Bのような番号を付けます。置換理由と承認した文字を別欄へ残します。 - 承認された候補だけを複製上で修正し、
-utf8.mdを付けた別名で保存します。元ファイルへ上書きしません。 - 別名ファイルを閉じて開き直し、UTF-8、変換不能0件、文字数、代表文字5箇所を確認します。
- 三章の行がすべて合格したら、初めてEPUBの対象へ追加します。出力後は目次から各章へ移動し、同じ15箇所を実際に使うリーダーでも見ます。
保存前の確認は「ファイルとして戻れるか」、出力後の確認は「EPUB内で意図した文字として読めるか」です。前者が合格しても、後者を済ませたことにはなりません。
代表文字15箇所は、見つけやすい文字だけで埋めません。各章で、冒頭と末尾に加え、人名または地名、数字、約物を一つずつ選ぶと、行の先頭・本文中・章末をまたいで確認できます。たとえば第一章なら「冒頭の一字」「主人公名」「12時」「――」「章末の句点」の5箇所です。開き直す前に原文を控え、開き直した後は文字だけでなく前後5文字も照合します。同じ字が別の位置に残っているだけで合格にしないためです。
照合した人と日付も章ごとに残します。修正後に一章だけ確認日が古ければ、その章を未確認へ戻せます。
Rune Studioで使える保護機能
Rune Studioの現行Mac版は、UTF-8、Shift_JIS、EUC-JP、ISO-2022-JP、UTF-16などの読み込みを扱い、選択中の文字コードで表現できない文字を赤い背景で示すと公開資料に記載されています。変換不能文字がある間は自動保存を止め、保存時にも警告する設計です。
合計2,600文字の複製で行った確認では、変換候補2件を分け、承認した代替だけを反映したUTF-8別名ファイルを開き直すと、文字数は2,600のままでした。候補の意味を自動判断していない点も重要です。
ただし、この結果は「三章それぞれが5箇所ずつ一致した」「EPUBを生成した」「出力後の15箇所が正しく表示された」ことを示しません。そこは未確認です。上の章別配分も作業例であり、実測値ではありません。破損済みデータの完全復元、OCR、バイナリ修復も対象外です。
EPUBへ進む条件は全章一致
文字化け対策では、最初の一章が開けたことを全体へ広げないでください。三章を別々に開き直し、候補0件と代表文字5/5を各行で確認し、最後に3/3章の合格を集約する。この順なら、どの章で止まっているかが分かります。
まず2,600文字の複製を三章へ分け、候補2件と代表文字15箇所の表を作ってください。Rune Studioの文字コード保護を候補にする場合は、現行Mac版について詳しくはこちらで確認できます。


