改ページ記法は、原稿へ入った事実と、XHTMLへ期待通り変換された事実を分けて判定します。epub page breakの試験では、挿入位置、原稿内の記法数、変換後の要素またはスタイル、読書画面の四段を記録します。途中の一段が未確認なら、ページ境界の成功を断定しません。
原稿の1件は確認できたがXHTMLトークンは0件だった
5章の合成標本の第1章2行目へ改ページ命令を実行しました。応答は変更ありを返し、保存原稿には《《|Page Break|》》が1件あります。同じ章に入れたルビは、生成XHTMLでruby要素1件として確認できました。EPUB全体はspine8、nav5、NCX5、valid=trueです。しかし、保存したXHTML群で文字列page-breakを数えた結果は0件でした。
この0件は、改ページが必ず失敗した証明でも、成功した証明でもありません。別の要素名やCSS規則へ変換された可能性を残すからです。復旧では生成XHTMLとスタイルシートを開き、挿入位置の前後に対応する構造を特定します。それが見つからなければ変換不成立として、記法と出力設定を見直します。
今回合格にできるのは、原稿への1件挿入、ルビ変換、パッケージ構造だけです。改ページの出力反映は保留であり、実機表示も未実測です。
0件という検索結果を失敗判定へ短絡させない
生成XHTMLにpage-breakという文字がない場合、CSSのbreak-before、別のクラス名、空要素など複数の実装が考えられます。挿入位置の直後にある固有語をXHTMLで探し、その直前の要素と適用スタイルを読みます。対応構造が見つかれば画面確認へ進み、なければ変換不成立として記法仕様へ戻ります。検索語一つだけで結論を出さないことが重要です。
ルビが一件変換された事実は、同じファイルを検査できている補助確認になります。ただしルビ成功から改ページ成功を推定しません。ソース1件、変換構造1件、視覚境界1件がそろうまで、改ページ欄は保留です。
変換規則を特定した後の対照標本
改ページ相当の要素やCSSを特定できたら、同じ文章で記法ありと記法なしの二章を作ります。二つのXHTML差分に境界用構造だけが現れることを確認し、Mac画面でも記法ありだけが新しいページから始まるかを見ます。ルビや見出しを同時に変えないため、差分の原因を改ページへ限定できます。
CSSの場合はプロパティ名、値、適用要素、スタイルシートのパスを記録します。空要素の場合はXHTML内の位置と前後の固有語を残します。これで単なる文字列検索0から、実装に対応した検査へ進めます。
追加標本でp001かp002へ境界が生まれた
中途行MIDWAY-ANCHOR-272の直前、原稿3行目にtext page-break --line 3をまずdry-runし、同じ命令を適用しました。保存後原稿のPage Break記法は1件、再検査はexit 0です。固定時刻で生成したEPUBのSHA-256は978f8b1e127f97c3a8112d323009940394e18425adf9f0056fadfdf35553a66aで、valid=trueでした。
解凍後、境界前の導入はp001.xhtml、固有語と境界後文はp002.xhtmlに収録されました。p002内で固有語は見出しとtitleの2件、原稿記法のリテラル漏れは0件です。page-breakやbreak-beforeの文字列も0件でしたが、別XHTMLにp002が生成された事実が今回の境界証拠です。
「章の途中」は前後の固有語で固定する
本番原稿では、改ページの前と後に重複しない確認語を選び、操作前の行番号と一緒に記録します。編集後に行番号がずれても、生成XHTMLで前語がp001、後語がp002にあることから同じ境界を追えます。
Readerの視覚試験では、p002が新しいページ先頭に出るかを見ます。今回は生成境界までを実測し、物理端末の表示は未実測です。表示の未実測を埋めるために、XHTMLの境界を「全端末で改ページ成功」と言い換えません。
中途行のp001/p002分割を別担当へ渡す最終票
最終票の一行目にSTUDIO-272の入力パスとSHA-256、二行目に実行した画面名または命令、三行目に保存後の再読込値を記録します。このテーマで必要な比較列は「操作行3、MIDWAY-ANCHOR-272、保存記法1件、p002.xhtml」です。どの値が入力、保存、生成物、表示のどの層に属するかを空欄にせず書きます。
中途境界が不合格のときは、返り先をその層に限定します。入力なら読み込み複製、保存なら別名の復旧ファイル、生成なら新しいEPUB、表示ならReader名付きの再試験です。失敗したファイルを上書きせず、復旧結果に別SHAを付けることで、修正者と査読者が同じ差分を見られます。
この最終票の判定原則は「直接CSS語が0件でも生成ファイル境界を読む」ことです。ローカルの構造検査が合格しても、販売先受理、全Readerの同一表示、未操作のUIは別の未検証欄に残します。次の担当者が一枚の票から実測済みと未実測を読み分けられることが完了条件です。