縦書きの本は、文字が縦に並んだだけでは完成ではありません。ページを送る方向、句読点、ルビ、二桁数字、目次から章へ移る順序までそろって初めて読みやすくなります。epub 日本語 縦書きの入稿前確認では、プレビューで人が見る項目と、EPUB内部から機械的に読める項目を分けます。構造検査の合格を、画面の見た目まで合格した証拠に広げないためです。
三章の検証用コピーを用意する
本番原稿を直接触らず、縦書き三章、二桁数字三件、ルビ三件、右開きの目次三項目を含むコピーを作ります。どの箇所で何を見るかを先に一覧にし、成功して見える箇所だけを後から選ばないようにします。縦中横の候補は「12」「30」のような短い数字と、長い数字を分けます。
開始時には章順、書字方向、ページ送り、ルビの親文字と読みを記録します。表紙や横書きの注記を含む場合は、縦書き対象から除外するページも明記します。対象範囲が曖昧なまま全体へ設定を掛けると、奥付まで意図せず縦書きになることがあります。
プレビューでは文字の関係を読む
画面では、句読点の位置、括弧の向き、ルビが掛かる親文字、二桁数字の向き、行間を確認します。一画面だけで判断せず、章頭、会話が続く箇所、英数字が混じる箇所を移動します。文字が表示されているかではなく、原稿の意味と配置が一致するかを見る作業です。
今回のテキスト作業では、Rune Studioのグラフィカルな縦書きプレビュー、縦中横の肉眼での見え方、実機でのページ送りは撮影も測定もしていません。したがって、それらを確認済みとは記しません。目視試験を行うときは、アプリ版、画面サイズ、確認箇所、スクリーンショットを別の記録へ残します。
EPUB内部の書字方向を照合する
固定の合成本を出力した結果、writingMode=vertical が記録され、OPFのspineにはページ進行方向 rtl が入りました。パッケージ内CSSには vertical-rl があり、XHTMLのルビ要素は三件でした。RuneのローカルEPUB検査は valid=true、欠落資源0件でした。
これらは見た目の印象ではなく、保存済みEPUBから読み直せる構造値です。書字方向、ページ進行方向、CSS、ルビ件数を別々の欄で確認します。一つが合っていても他が自動的に正しいとは限りません。特にCSSだけを見て右開きまで確認したことにしないよう注意します。
右開きと目次順を一緒にしない
右開きはページを進める方向、目次順は章への案内順です。右から左へ送れる本でも、navの項目が章順と違えば読者は迷います。章一覧、spine、nav、NCXを並べ、同じ順序になっているか確かめます。
目次から各章を一度開き、戻る操作も試します。この画面操作は対象リーダーごとに記録します。パッケージ内の順序が正しいことと、スワイプの体感やアニメーションが期待どおりであることは別の試験です。構造値は機械検査、操作感は実機確認として分離します。
二桁数字とルビは代表箇所で追う
縦中横は、短い数字を一文字分の幅に収める表現です。すべての数字を無条件に処理すると、年号や長い番号が読みにくくなることがあります。三件の候補ごとに、縦中横にするか縦に並べるかを原稿側で決め、プレビューと出力後の同じ箇所を照合します。
ルビは件数だけでなく、親文字と読みの組を確認します。固定パッケージに三つのruby要素があることは分かっても、編集上選んだ読みが正しいかは人が判断します。章名、親文字、読み、出力XHTMLを一行にまとめると、別の語へルビが移った失敗を発見しやすくなります。
横向きや順序違いを見つけたときの戻り方
数字が横向きにならない場合は、原稿の対象範囲と記法を確認し、共通CSSをいきなり書き換えません。ルビが崩れた場合も、生成後XHTMLへの応急修正ではなく、正本の親文字範囲へ戻ります。修正後は問題箇所だけでなく三章すべてを再出力します。
ページ順が違うときは、章一覧とspineのどちらで順序が変わったかを切り分けます。古いEPUBとの取り違えを避けるため、再出力は別名にしSHAを残します。valid=true でも意図した順序とは限らないので、構造検査と編集上の期待値を照合して採否を決めます。
入稿前チェック表を二層に分ける
機械検査欄には、書字方向、spineの進行方向、vertical-rl、ルビ件数、欠落資源、ローカル検査結果を書きます。目視欄には、句読点、括弧、縦中横、ルビの読みやすさ、右開きの操作感を置きます。一方の合格をもう一方へ転記しません。
確認者も分けて記録すると判断が明確になります。構造値を取得した担当者、文章を校正した担当者、端末でページを送った担当者と日付を残します。同じ人がすべてを見る場合も、三つの役割を一行へまとめず個別に署名します。
今回確定したのは、固定合成本が縦書きとして出力され、spineが rtl、CSSが vertical-rl、rubyが三件、欠落0でローカル検査を通ったことです。販売先の受理や全リーダーの表示一致は保証しません。最後に対象端末で代表章を読み、未測定欄を埋めてから入稿します。