Kindle Previewer 4 でリフロー版 EPUB を検証したら、Error 0 の裏で図の縮尺がばらついていた

開発eurekapu-nuxt4

Kindle Previewer 4 でリフロー版 EPUB を検証したら、Error 0 の裏で図の縮尺がばらついていた

Kindle Previewer 4 の検査は、Error 0、Quality Issue 0 で通った。 それでも、画面で開いた本には変なところがあった。 本は、講座から作っている Kindle のリフロー版である。

再起動の前に残したもの

前のセッションでは、写真を縮めて EPUB を作り直していた。 大きさは 46MB から 38.4MB に減った。 epubcheck はエラーも警告も0で、図は617枚すべてが読み込めた。

ここで Windows PC を再起動したくなった。 進捗を残し、引き継ぎのプロンプトをダウンロードフォルダのテキストファイルに書き出しておくよう、Claude Code に頼んだ。 進み具合は計画書に書いてコミット済みで、引き継ぎのファイルもできた。

引き継ぎから再開して、待たずにできる準備を進めた

再起動のあと、そのテキストファイルを渡して再開した。 Claude Code には、まず KDP の更新ルールを調べさせた。 引き継ぎに残っていた5件は、どれも先に自分の操作か判断が要るものだった。 そのため、待たずに進められる準備だけを先に済ませてもらった。

連絡用メールの送信テストは、Claude Code に任せた。 届くかどうか試してもらい、連絡先のアドレスはこのまま使えると分かった。

Kindle Previewer がこの機体に入っていなかった

Kindle Previewer で開いてほしいとも頼んだ。 この間入れたはずだと思っていたが、この機体には入っていなかった。 Claude Code がインストーラーを開き、自分がインストールを済ませた。 入ったのは Kindle Previewer 4 である。

Claude Code は、Kindle Previewer 4 の CLI で EPUB を変換した。 38MB、図617枚の本なので、数分かかる見込みだった。 結果は次のとおり。

  • Error Count は0、Quality Issue は0
  • Enhanced Typesetting にも対応
  • 警告は1件だけで、W14016: カバーが指定されていません

表紙は KDP の画面で別に上げるので、この警告で出版は止まらない。

作ってあったスキルを読んでいなかった

変換を待つあいだに、Claude Code に聞いた。 Kindle の書籍を作るスキル(kindle-reflow)があるはずだが、今回それを読み込んでいるか。 返ってきたのは「読み込んでいませんでした」だった。 スキルの references(kindle-pitfalls.md)には、もともと注意点が2つ書かれていた。 今回のことも、スキルにちゃんと入れておくよう頼んだ。

CLI で検査しただけで、画面では開いていなかった

自分が頼んだのは、Kindle Previewer の画面で本を読み込むことだった。 Claude Code は CLI で変換と検査をしただけで、画面では本を開いていなかった。 Claude Code の説明では、「画面で見たい」という意味だと受け取れなかったという。

変換済みの KPF を、Kindle Previewer 4 の画面で開き直してもらった。 変換し直す必要はなかった。 左の Device Type で、タブレット、スマホ、Kindle 端末を切り替えて見られる。

変換済みのファイルを画面で開く手順は、kindle-reflow スキルに足してコミットした(054b2b6be)。 次からは CLI の検査だけで終わらせず画面でも開く、というのが Claude Code の返事だった。

「全部見直して。何が変か分かるはず」

画面で本を見て、全部見直してもらうことにした。 ワークフローを使ってよいと添え、何が変なのかは言わなかった。 見直せば分かると思ったからである。

Claude Code はまず、みずから Kindle Previewer の画面を見ようとした。 Previewer は閉じられていたので、開き直して数ページを撮った。 そのあとビューアーで見直すのをやめ、EPUB の中身(原稿の Markdown と図)を直接見る方針に切り替えた。

原稿の構成はそろっていた。 次に図の大きさ、つまりページ上での見え方を確かめると、原因らしいものが出てきた。 図の縮尺が、ページごとにばらばらだった。 同じ「取引」の黒丸の図でも、Part01-01-03 から 01-01-04 へ進むと、急に1.5倍の大きさに膨らむ。

ここで自分から、2018年の Kindle 版のページの作りについての説明を貼った。 Claude Code の受け取りでは、そのページは「上のヘッダー」「メッセージライン」「その下の図」の3つでできている。

369件の切り出し範囲を作り直す

Claude Code は1枚をみずから確かめてから、全369件の新しい範囲を一覧画像19枚にまとめた。 見直しはワークフロー(5体)に回し、並行して切り出しのコードを直した。 直し方は「左右は詰めず、上下だけ詰める」である。 単体テストは15件すべて通った。

ワークフローの見直しは369件中369件を確認し、指摘は8件だった。 そのうち2件(01-01-47 と 48)は、ページ全面の絵の上に文が載ったものだった。 前のセッションで絵の上の文を消す指定がすでに入っていたので、指摘には当たらない。

そのうえで範囲を166件書き換え、図と原稿と EPUB を作り直した。 epubcheck はエラー0、警告0。 切り出した図は、写真の3枚を除いて、すべて幅 1,188px にそろった。

160区画の見直しを2周回した

次に、EPUB の全160区画の見直しをワークフロー(8体)で回した。 そのあいだに、今回の決まりをスキルに書き、点検スクリプトを追跡されるフォルダ(scripts/kindle-reflow/tools/)へ移した。

1周目は160区画中160区画を見て、指摘は25件だった。 図の出どころ(切り出しか、講座の SVG か)ごとに、実物と照らして仕分けた。 前の範囲に理由があったものが混ざっていないかも、差の大きい4件で確かめた。 2周目は158区画中158区画を見て、指摘は8件だった。

途中、fixes.json への書き込みが Windows のエラー(UNKNOWN)で失敗した。 先にファイルが壊れていないかを確かめると、中身は変わっていなかった。 一時的なロックと見て、Edit ツールで直した。 ログインが切れて止まった場面もあり、ログインし直して続けてもらった。

切れていた図と、言い過ぎた報告

画面を見ていて、図の下が切れているページを見つけた(Part01-40-05-05)。 なぜ切れているのかを聞いた。 Claude Code の答えは、見切れていた図は全部直してコミット済み(31b2764a2)で、自分が見せたのは直す前の古い表示だ、というものだった。 ビューアーを読み込み直すと、合計残高試算表が下まで入った図が出る。

そこで「ちゃんとワークフローを使って全て確認したんでしたっけ?」と聞いた。 返ってきたのは「全部ではありません」だった。 前回の報告に言い過ぎたところがあったとして、ワークフローで全件見たものと、そうでないものを分け直してもらった。

最終の見直しで、直すべき見切れがもう1件見つかった。 Part08-01-10-top の矢印である。 矢印の根元まで入るように、取引の絵を元のページから切り直した。

元の本から引き継いだ誤り4件

元の本から引き継いだ誤りも4件直した。 1件目は 01-21-07 と 08 の貸借対照表で、「短期借入金」を「未払法人税等」に、右の「0」を「200」に書き換えた。 字の大きさを周りに合わせ、自然に収まった。 2件目はパターンの表の6と8である。 残りの2件は、図1枚の書き換えと文の直しだった。

4件とも入ったあとの検査は次のとおり。

  • epubcheck はエラー0
  • ビューアーで図617枚中617枚が読み込める
  • テストは15件すべて通過

コミットは 14efd0359 で、表紙の案もできた。 この EPUB は、このあと新しい本として KDP に提出し、レビューを待つ状態になった。

振り返り

Error 0、Quality Issue 0 で通った EPUB の中で、図の縮尺はページごとにばらばらだった。 CLI の検査は、このばらつきに引っかからなかった。 「Kindle Previewer で読み込んで」と頼んだとき、自分が欲しかったのは画面のほうだった。

学び

  • 「Kindle Previewer で読み込んで」は、画面で開いてほしいという意味だった。CLI の Error 0 だけで検証を終えると、図の縮尺のばらつきは見えない
  • 作ったスキルも、読まなければ効かない。今回、Claude Code は自分が聞くまで kindle-reflow を読み込んでいなかった
  • 「全て確認した」という報告は、何を全件見て、何を見ていないかに分けてもらう
#Kindle#Kindle Previewer#EPUB#KDP#Claude Code