出力後のルビ抜けを防ぐ!EPUBのふりがな、ふりがな記法を正しく入れる手順

ふりがな記法の入れ方の確認工程を、白い原稿用紙と紫色の半透明装置で抽象的に示したアイキャッチ

EPUBのふりがなは、原稿へ読みを入れただけで完了にせず、出力したXHTMLのruby要素とrt要素を数えて確認します。今回の標本は2章、固有名詞6語と一般語4語の計10語です。10組の読みを個別に登録した結果、生成XHTMLでruby=10、rt=10、ローカル構造検査はvalid: trueでした。ただし縦書き表示や外部端末の見え方は未確認です。

答え:読み台帳と出力XHTMLを10件単位で照合する

ふりがな作業では、対象語、読み、登場箇所、処理結果を台帳にします。原稿中の文字列が同じでも、文脈で読みが変わる場合は一括置換を避け、対象範囲を分けます。出力後は、見た目だけではなく、EPUB内部にrubyとrtが対で生成されたかを検査します。

この記事は、一語ずつの選択方法を説明する記事ではありません。近接するSTUDIO-158が「東京」「紫陽花」といった個別語への付け方を扱うのに対し、ここでは2章に散らばる10語を一覧化し、抜けと余分な変換を数で止める量産前検収を扱います。

標本:固有名詞6語と一般語4語を二章に配置する

記事固有の開始値は次の10組です。

区分 親文字 読み
固有名詞 蒼天 そうてん
固有名詞 白峰 しらみね
固有名詞 北辰 ほくしん
固有名詞 綾瀬 あやせ
固有名詞 霧島 きりしま
固有名詞 潮騒 しおさい
一般語 漢字 かんじ
一般語 明日 あした
一般語 景色 けしき
一般語 小径 こみち

標本は2章で、期待値は「10対象に10個のruby、10個のrt」です。固有名詞と一般語を分けたのは、読みの辞書を作るときに、作品固有の読みと通常語の読みを混同しないためです。

操作:一語ずつ読みを登録し、生成数まで確認する

製品に依存しない手順は次のとおりです。

  1. 原稿を検索し、ふりがなが必要な語を重複なく一覧にする。
  2. 親文字と読みを一組ずつ確定し、章ごとの対象数を数える。
  3. 原稿へふりがな記法を入れる。
  4. EPUBを出力する。
  5. 生成XHTMLを開き、rubyとrtの数が対象数と一致するか確認する。
  6. 構造検査を行い、欠落リソースや参照切れを確認する。

今回のStage 4では、text ruby操作で10組を個別登録し、全19操作でEPUB出力と検査まで進めました。数が9なら読み台帳と原稿検索へ戻り、11なら重複変換や意図しない同一語への適用を探します。rubyとrtの数が違う場合は、生成XHTMLと原稿記法へ戻します。

実測:10対象からruby 10、rt 10を生成した

記事固有の全体ステータスはpartialです。構造上の検査は通りましたが、画像を使う目視工程が今回の実行範囲外だったためです。

実測値は、ruby_count: 10、rt_count: 10、valid: trueでした。EPUBはspine 5、画像0、欠落0で、navとNCXがあり、各2項目でした。navの参照先はText/p001.xhtmlとText/p002.xhtml、NCXも同じ2章を指しました。

対象10語と生成要素10組が一致したため、少なくとも今回のXHTMLではルビ抜けや余分な生成を数として検出していません。ただし、この結果は読みそのものが文学的・編集的に正しいことまで自動判定したものではありません。読みは上の台帳を正本として、人が確定した開始値です。

別の共通回帰標本では、4章、縦書き、version 1.6を9操作で出力し、spine 8、画像1、欠落0、navとNCXあり、valid: trueでした。この共通結果は縦書き出力経路の構造確認であり、10語のルビ数検査とは別です。

限界:縦書きの見え方と外部端末は未確認

今回、縦書きプレビューのキャプチャー、文字サイズ変更時のリフロー、外部リーダー、KDP、iPadでの目視確認は行っていません。画像工程は実行範囲外だったため、ruby=10とrt=10から「すべての端末でふりがなが適切な位置に見える」とは言えません。

構造検査と見た目の検査は別です。構造数が一致しない場合は原稿記法へ戻し、数が一致しても表示が重なる場合はスタイルや対象範囲の調整へ戻します。外部端末の結果がないまま、KDPやiPadでの表示を確認済みとは扱いません。

Rune Studioで使える範囲

Rune Studioの公開機能には、選択した文字へのふりがな設定、ふりがな記法の色分け表示、EPUB 3出力、縦書きプレビューがあります。CLI手引きでは、対象ファイル、親文字、読みを指定するtext ruby操作が定義されています。これがStage 3の製品機能です。

今回の10語、2章、ruby=10、rt=10、spine 5、欠落0、valid: trueはStage 4の実測です。EPUBの一般仕様はW3C EPUB 3.3を、製品機能はRune Studio公式ページを参照できます。

結論:構造10件を合格、表示確認を未完了として分ける

今回の2章標本では、固有名詞6語と一般語4語の計10語を登録し、出力XHTMLのrubyとrtはどちらも10でした。ローカル構造検査もvalid: trueで、参照欠落は0です。

一方、縦書き表示、文字サイズ変更、外部リーダー、KDP、iPadの見え方は未確認です。そのため全体はpartialのままです。読み台帳と構造数は合格、画面上の位置と可読性は目視工程へ残す、という二段階で検収します。