右開きを逆にしない!EPUB Generator、縦書き小説を生成する流れ

縦書き小説のplan・export・inspectを分けるアイキャッチ

EPUB Generatorで縦書き小説を生成するときは、六画面の役割を説明する記事と、生成後の一章往復を詳しく扱う記事を分けます。この記事の中心は、Generatorへ渡す入力を「第一章・第二章の本文を合わせて800字」と固定し、出力名と版を識別し、同じ入力で別の生成手段と比較できる状態を作ることです。生成前の条件を記録してから、この800字標本を本編へ広げる流れを組み立てます。

Generatorを生成工程の呼び名として定義する

ここでいうGeneratorは、原稿などの入力からEPUBを生成する手段を指す記事上の呼び名です。特定のCLIコマンドや、plan・generate・inspectという製品内コマンドが存在すると断定しません。読者が比較したいのは、入力を固定できるか、生成物を識別できるか、生成後の構造と表示を同じ条件で確認できるかです。

そのため、最初から「生成できた/できない」だけを記録しません。生成前の入力表、生成物のID、固定日時、版番号、検査結果を別の欄へ残します。これらを分けると、同じ原稿のまま設定だけを変えたのか、入力そのものが変わったのかを後から判断できます。

Generate前に入力を固定する

検査用入力は、第一章・第二章の本文を合わせて800字にした標本S236-800、作品情報、章順、縦書き設定を含めます。ここでいう800字は第一章本文と第二章本文の合計であり、見出しや入力一覧の説明文は数えません。表紙を使わない比較なら「表紙なし」と明記し、表紙の有無を候補間で変えません。2桁数字や記号を入れる場合も、どの位置にあるかを入力一覧へ書きます。

入力一覧の固定条件は次の一行です。

入力版 本文条件 作品・章順 設定 表紙
S236-800-v1 第一章・第二章の本文合計800字 第一章→第二章、章IDを明記 縦書き、右開き、2桁数字・記号を含む なし

この行を候補A・候補Bの両方へ渡します。800字の内訳、章順、設定、表紙の条件のどれかを変えた場合は、同じ入力の比較ではなく新しい入力版として扱います。

入力一覧には、正本のファイル名、章ID、作品名、著者名、言語、書字方向、ページ進行、収録順を置きます。chapter2とchapter10の名前だけで順番を推測せず、読者が読む順を明示します。入力を固定した後に本文を差し替えた場合は、別の入力版として扱います。

Generate前のplanに期待値を残す

planは、ここでは生成前の計画表を意味します。入力正本、収録章、設定値、期待するページ進行、目次の対応、出力先、比較する候補を一行ずつ記録します。これは製品固有の命令名ではなく、同じ条件を再現するための一般的な管理単位です。

S236-800-v1の期待値には「第一章・第二章の本文合計は800字」「第一章の次は第二章」「本文は縦方向に流れる」「右開きのページ進行を確認する」「目次の二項目は対応する章へ移る」を書きます。期待値がないと、生成後に見えた状態を正しいと思い込んでしまいます。固定日時もplanに置き、たとえば2026-08-28T10:00:00+09:00のように、同じ検査で使う値を変えないようにします。入力一覧と同じ800字標本を期待値の対象にし、別の本文へ差し替えません。

生成物IDと固定日時で版を識別する

生成時には、入力版、候補名、固定日時、連番を組み合わせた生成物IDを付けます。例として、第一章・第二章の本文合計800字のS236-800-v1を候補Aで生成するIDをST236-800-A-20260828T100000+0900-01とし、出力ファイルもST236-800-A-01.epubのようにします。IDは作業票、検査結果、閲覧したファイル名のすべてへ記録します。

修正して再生成する場合は-02へ進め、初版を上書きしません。版管理の目的は、どの版がきれいに見えたかを競うことではなく、入力・設定・生成物の対応を失わないことです。固定日時を候補ごとに変えると、メタデータや差分の比較条件がずれるため、同じ日時を使います。

同じ入力でGeneratorを比較する

別の生成手段と比べるときは、同じ入力版、同じ固定日時、同じ章順、同じ設定表を渡します。候補Aだけ表紙を付けたり、候補Bだけ章名を直したりしません。出力名へ候補名と版番号を含め、入力差ではなく生成手段の違いとして比較できるようにします。

比較欄は、入力ID、設定値、生成物ID、構造確認、読み確認、未確認理由です。候補Aと候補Bの各行に、同じS236-800-v1、同じ固定日時、同じ「第一章・第二章の本文合計800字」を記録します。候補の一方だけ結果がないときは優劣を決めず、未確認のまま保留します。Generatorを選ぶ結論は、機能名の多さではなく、同一入力で同じ確認項目を埋められたかで条件付きにします。

Rune StudioをGenerator候補にする範囲

現行Mac版Rune Studioの機能主張台帳には、GUIの6ページで作品情報、巻、原稿、章順、メタデータ、最終確認を設定し、EPUB 3を生成する範囲が記載されています。縦書き出力には右から左の進行、2桁数字・記号処理を含む範囲も記載されています。

これは公開資料で確認できる製品機能の範囲です。plan、generate、inspectがRune Studioのコマンドとして提供されること、今回の標本が実測で合格すること、全端末で同じ表示になること、ストア入稿が成功することは示しません。Rune Studioを試す場合も、上の入力ID・生成物ID・固定日時を手元で管理し、資料上の候補範囲と試験結果を混ぜないでください。

作品情報、組み方向、ページ順、出力ファイル名を表示したEPUB出力前の確認画面
作品情報、組み方向、ページ順、出力ファイル名を表示したEPUB出力前の確認画面。

右開きと構造を生成後に確認する

生成後は、読みやすさだけで完了にしません。ST236-800-A-20260828T100000+0900-01のような生成物IDを開き、入力版がS236-800-v1で、第一章・第二章の本文合計800字の標本であることを照合します。一般的な構造確認として、EPUBを開けるか、作品情報が入っているか、章の順がplanどおりか、目次の二項目が対応する章を指すかを見ます。次に、縦書きの見た目とページ進行を別の欄で確認します。

CSSのwriting-mode: vertical-rlは本文の縦方向の組版を見る指定です。EPUBパッケージ側のpage-progression-direction="rtl"は右開きに期待するページ進行の確認対象です。前者が正しくても後者が逆なら、本文へ記号を足さず、設定またはパッケージを生成前の入力へ戻します。章順が違うなら章一覧、特定の閲覧環境だけ違うなら同じ生成物IDを開いた環境の差へ戻します。

ここでの構造確認は、詳細な一章修正や本編展開を中心にするものではありません。後述の一文字変更は、受け入れ条件を比較するための制御された確認です。S236-800-v1の同じ入力、同じ固定日時、同じ生成物IDの記録を使い、Generate前の計画と生成物の受け入れ条件が対応しているかを点検する工程です。読み確認でも別の本文を使わず、第一章・第二章の本文合計800字の同じ標本について、縦書きの見た目と右開きのページ進行を分けて判定します。詳細な一章修正や本編展開の判断は、別の役割の記事へ分けます。

次に行う操作:一項目だけ変えて二版を比較する

初版として、第一章・第二章の本文合計800字の S236-800-v1、固定日時 2026-08-28T10:00:00+09:00、生成物ID ST236-800-A-20260828T100000+0900-01 を固定します。次に、定義済み確認項目「第一章の入力文字列」だけを選び、本文中の一文字分だけを変更します。章順、他の文字、設定、固定日時、確認環境は変えず、変更後は別ID ST236-800-A-20260828T100000+0900-02 として再生成し、初版を上書きしません。二版では入力ID、生成物ID、章ファイル、目次、writing-mode: vertical-rl、page-progression-direction="rtl"、構造確認、読み確認を初版と横並びにし、差分が出た位置と戻り先を記録します。差分がない項目も「差分なし」と残し、この一文字変更以外の原因を持ち込まない二周目にします。

結論:入力固定・版識別・同一入力比較でGeneratorを選ぶ

EPUB Generatorの流れは、第一章・第二章の本文を合わせて800字にしたS236-800-v1を入力一覧へ固定し、Generate前のplanへ同じ800字の期待値を残し、生成物IDと固定日時で出力を識別し、生成後に同じ標本の構造・縦書き・右開きの確認を分けることです。page-progression-direction="rtl"を期待値として記録すれば、「右開き」と「縦書きの見た目」を同じ欄で済ませず、逆方向になったときの戻り先も説明できます。

別の生成手段と比べるときは、同じS236-800-v1、同じ固定日時、同じ確認表を使います。候補ごとに本文を800字へ調整したり章順を変えたりせず、同じ第一章・第二章の本文合計800字を通します。Rune Studioについては公開資料の機能範囲を候補として照合し、手元の標本で得た結果や入稿結果を先取りしません。Generatorを選ぶ条件は、入力から生成物までを同じ記録で追えることです。

GUIウィザードの現行範囲は、Rune Studioの商品ページで確認できます。