横向きの数字で困らない!電子書籍のルビ、縦書きプレビューとEPUB出力で確認

縦書きの原稿では、ふりがなが正しく入力できても、出力後に別の漢字へ掛かったり、二桁数字との並びで窮屈に見えたりします。電子書籍 ルビの確認は、入力記法だけで終えず、プレビューでの目視とEPUB内部の構造検査を分けて行います。この記事では三章に一件ずつルビを置いた固定資料を使い、親文字、読み、縦書き方向、目次順を追います。

親文字と読みを三組に固定する

検証用コピーには三章を用意し、各章からルビ一件を代表として選びます。確認表には章名、親文字、読み、原稿内の行、隣接する数字や記号を書きます。ルビの件数だけを数えると、正しい語から別の語へ移っていても気づけないためです。

二桁数字も代表箇所へ含めます。数字を縦中横にする判断と、漢字へ読みを添える判断は別ですが、近接すると表示が詰まることがあります。修正前の組み合わせを保存し、一度に片方だけを変えて影響を見ます。

記法は親文字の範囲から確認する

ルビが崩れたときは、読みの文字列より先に親文字の開始と終了を確認します。熟語全体へ読みを付けるのか、一字ずつ付けるのかで構造が変わります。作品内の方針を先に決め、同じ種類の語へ同じ規則を使います。

原稿検索で対象語をすべて洗い出し、代表三件以外にも同じ記法があるかを確認します。検証中に直接EPUBのXHTMLを書き換えないでください。生成物だけ直すと、次回の出力で修正が失われます。採用した変更は必ず正本側へ戻します。

縦書きプレビューでは関係と間隔を見る

画面では、親文字のどこへ読みが掛かるか、ルビと本文が重ならないか、二桁数字や括弧の近くで間隔が崩れないかを読みます。章頭、行末、会話文など位置の異なる標本を選ぶと、特定の一画面だけでは見えない問題を拾えます。

今回の固定証拠はグラフィカルなプレビューを撮影しておらず、reader visualは未測定です。したがって、文字の大きさや重なりを確認済みとは扱いません。目視試験ではRune Studioの版、表示倍率、画面サイズ、対象箇所、確認者を記録し、構造検査と別に合否を残します。

出力EPUBからruby三件を読み直す

固定した縦書き三章をEPUBへ出力し、各XHTMLを開いてruby要素を数えた結果は三件でした。三章に一件ずつという期待値と一致します。ただし、件数一致だけでは内容の正しさを保証しないため、各要素の親文字と読みを原稿表へ戻して照合します。

出力後の確認にはファイルSHAを使います。同名の古いEPUBを開くと、修正前の表示を新しい結果と誤認します。上書きを避け、版を含む別名で保存してから、どのファイルを検査したか固定します。

右開きと縦書きCSSを別々に確認する

同じEPUBでは、OPFの page-progression-direction=rtl と、CSSの writing-mode=vertical-rl を確認しました。前者は読書順の進行方向、後者は本文の書字方向です。縦に文字が並んだことだけで、右開きまで合格にしません。

spineは六項目、navは三章でした。本文三章以外の構成要素がspineに含まれるため、章数とspine件数が違うこと自体は失敗ではありません。各項目の役割を確認し、navの三リンクが期待した三章へ到達するかを対応表で判断します。

navとNCXのラベルを同一と推測しない

目次から章へ移動できても、navとNCXの表示名が同じとは限りません。今回の証拠は縦書き方向、ruby件数、spine件数、nav三章を確認したもので、両方のラベル表記が完全一致するとは主張しません。

互換性確認が必要な本では、navとNCXを個別に開き、項目名、リンク先、順序を比較します。異なる場合は、どのリーダーがどちらを利用したかも記録します。一方の目次が正しいことを、もう一方の確認結果へ転記しないことが重要です。

ルビが消えた場合は工程を逆向きにたどる

出力後にrubyが二件しかなければ、欠けた章を特定し、XHTML、原稿記法、親文字の範囲を逆順に確認します。プレビューに読みが見えていても、構造化されたruby要素ではない可能性があります。見た目だけで合格にせず、出力要素まで追います。

親文字が違う場合は一件だけ修正し、三章すべてを再出力します。共通変換規則を変えると、合格していた二件にも影響するためです。復旧後はruby三件、進行方向、縦書きCSS、spine、navを再検査し、新しいSHAに合否を付けます。

最終確認は構造値と目視結果を並べる

引き渡し表の構造欄には、ruby三件、rtl、vertical-rl、spine六項目、nav三章を書きます。目視欄には、親文字と読みの対応、二桁数字との間隔、行末の重なり、ページ送りの体感を置きます。未実施の目視項目は空欄ではなく未測定と明記します。

今回確定したのは、固定三章EPUBのパッケージから上記の構造値を読み取れたことです。全端末で同じ見た目になることや、navとNCXのラベル一致までは保証しません。最後に対象リーダーで三つの代表箇所を実際に読み、構造と見た目の両方が原稿表へ一致したところで入稿可と判断します。