Twitter にて この電子書籍のアマゾン Kindle 無料サンプルは文字化けした状態であるとのご指摘がありました。 せっかく無料お試しいただいた方、誠に恐縮です。 現在、原因調査および対処中です。 → 解決しました。2022年 3月 4日 18時現在
原稿の EPUB データ自体を根本的に変更し更新しました。 その結果、文字化けが解消されました。
3月3日時点でカスタマーサポートより「本件に関してはまだ進展が見られない状況」との連絡あり、 このままではいつになったら解決するか見通しが立たないので、現状の EPUB の生成方法を根本的に変更しました。
コード部分のシンタックスハイライティングは削除しています。 文字化け回避のためにシンプルかつプレーンなEPUBデータとする必要があったためです。 ご了承ください。
数日前に Amazon KDP のカスタマーサポートに連絡しました。
文字化けがあることはサポート側でも確認とのこと。 「原稿のドキュメントに何らかの原因が含まれている可能性が高くございます。本件につきましては、担当部門へ原因の確認を依頼いたしました。」ということでまだ原因把握には時間がかかりそうです。
出版前に内容を確認する Kindle Previewer や、 KDPの出版者向けコンソールでの出版前のオンラインプレビューでも文字化けは発生していません。 EPUB 自体も Asciidoctor ベースで作成しているので、 それほどがおかしな EPUB原稿 をつくったとは思えない。 以上から、自力解決は難しいか、できたとしても時間がかかりすぎる(後述)と判断したため、 もう KDP カスタマーサポートに頼るしかない、と思って連絡した次第。
現状の一番の問題は、標準的な方法で出版前にリリースする内容を確認する手段がないことです。 つまり、アマゾン側で用意している事前確認方法(Kindle Previewer やオンラインプレビュー)では、 正常なので、文字化けするかどうかの確認は実際にリリースして、しばらく(最大72時間かかる)待って、 リリースが反映されたら、実際に自分の端末に無料サンプルをダウンロードして・・・という手順を経ないと確認できない。 どういう拷問なんだ。 これでは、問題があると思われる点を推測して修正&リリース → それが実際に文字化けを解消できたかを確認するのに、数日待たなければいけない。 まあ、自分が知らないだけで、たとえば今は普通にはダウンロードできない kindlegen を使うと事前に文字化け確認できるなどの裏技があるのかもしれません。
このユニコードが普通の時代に文字化けとか全く想定していなかった。
ただ、そういう視点で自分がつくった EPUB を確認してみると、たとえば問題になりそうなポイントの一つはフォントの指定。 特に自分でフォントを指定したとか特別な設定をしているわけではなく、AsciiDoctor 側で EPUB 生成時に追加されるものだと思う。たとえば AsciiDoc の NOTE: のような記載をすると囲み記事のマークに awesome のフォントが使われたりと。 そう考えると、文字化けトラブルを避けたいならば、フォント指定などないデフォルトのフォントだけを使う(また、フォントに限らずできるだけシンプルかつ)プレーンな EPUB をつくる必要があったのか・・・などと考えています。 といってもそんな修正がすぐできるわけでもなく。 この問題を検索すると、AsciiDoctor が作り出す xhtml の meta タグを修正すれば文字化け解消、という情報があったのですが、やってみると逆に Kindle Previewer で読み込んだ段階で文字化けが発生するのですよ。まあ昔の記事なので今は事情がかわったのでしょう。
iPad キンドルアプリに、無料サンプルとKindle Unlimited版の両方を入れたところ、無料サンプルは文字化けした状態、Kindle Unlimited版は正常に表示されました。 引き続き原因調査を行います。