epubcheckエラー0を維持する — EPUB品質管理の自動化(連載⑧)


epubcheckエラー0を維持する(連載⑧)

epubcheckエラー0を維持する — EPUB品質管理の自動化(連載⑧)

「日本の測地系がわかる本」制作の裏側を綴る連載、第8回です。前回はpandocによるMarkdown→EPUBのビルドパイプラインを扱いました。今回は、そのビルドを壊さないための品質管理——EPUB規格チェックツール「epubcheck」を軸にした運用について書きます。


なぜ機械的チェックが要るのか

Kindle本は、章の追加・図の差し替え・表現の修正のたびにEPUBを何度も再ビルドします。手で1ページずつ確認していては見落としが出ますし、そもそも「EPUB規格として壊れていないか」は目視だけでは判断できません。そこで、生成したEPUBに対して毎回

epubcheck build/geodetic-book.epub

を実行し、エラー・警告がゼロになるまで直して再ビルドするというサイクルを制作の基本ルールにしました。


実際にあった修正サイクル

制作ログを振り返ると、1回の大きな改稿ごとに次のような対応をして再ビルドし、そのたびにepubcheckでエラー0・警告0・画像リンク切れ0を確認する、という流れを何度も繰り返しています。

  • 見出しの行末孤立対策をCSSに追加し、途中改ページを回避
  • 図の文字重なりを解消するため、該当する図だけを再作図
  • 古い版のジオイド図を最新版に差し替え、キャプションも合わせて更新
  • 事実確認の結果、図の説明文中の誤り(地震名の取り違えなど)を修正

一つの修正が終わるたびに再ビルド→epubcheckという最小サイクルを回すことで、「直したつもりが別の箇所を壊していた」という事故を早期に発見できます。実際、画像を差し替えた際にリンク切れが起きていないかは、epubcheckの出力だけでなく別途リンクチェックの目視でも確認しています。


epubcheck以外のチェック項目

EPUB規格としての正しさに加えて、本としての体裁もチェックリスト化しています。

  • 全章に「3行まとめ」「アプリで確かめる」の定型セクションが入っているか
  • 用語の表記統一(元期/今期、ジオイド2024、補正名の正式表記など)
  • アプリ内呼称(地震補正・セミダイナミック補正・定常時地殻変動補正の略称)が、注記なしで本文に出ていないかを grep で機械的にチェック
  • 数値の出典確認(標高改定量・ズレ量は国土地理院の公表値と照合)
  • 画像仕様(幅1600px以上・文字判読可・グレースケールでも視認できるか)
  • Kindle Previewerでのスマホ表示・電子ペーパー表示・目次リンクの確認

このうち「禁止表記のgrepチェック」は、EPUB規格とは無関係ですが、機械的に検査できるものは機械に任せるという発想は epubcheck の運用と同じです。人間のレビューは、文章の質やトーンの一貫性など、機械では判断できない部分に集中させています。


章単位でコミットし、レビューを挟む

品質管理のもう一つの柱は、一度に複数章を進めないという運用です。1章を書き上げてセルフチェックを終えたら、必ずレビューを挟んでからコミットする、という単位を守っています。まとめて何章も進めてしまうと、epubcheckでエラーが出たときにどの変更が原因か切り分けにくくなるためです。小さな単位でのビルド・チェック・コミットの繰り返しが、結果的に「エラー0を維持する」ための一番の近道になっています。


まとめ

  • EPUBの品質管理は、epubcheckによる規格チェックを毎回のビルド後に必須実行することが土台になっている。
  • エラー・警告・画像リンク切れがゼロになるまで直して再ビルドする、というサイクルを改稿のたびに回している。
  • 用語表記や禁止表記の統一は grep などで機械的にチェックし、人間のレビューは文章の質に集中させる。
  • 章単位での小さなコミットが、問題発生時の切り分けを容易にし、結果として品質を保ちやすくする。

次回は、Kindleのリフロー型レイアウトに合わせた図版設計について書きます。

関連記事


開発者より: アプリ・Kindle本・オープンソースの一覧は GitHub: amru195704 にまとめています。


お願い
本記事の情報は参考目的で掲載しており、正確性・完全性を保証するものではありません。誤記・不正確な情報がございましたら、コメント欄よりご指摘いただければ、確認のうえ修正いたします。


アプリを入手(App Store)GeoConverterPro(座標変換) | GeoPrism JP(測地系の可視化・学習)


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Back to top