“通ることならず!”
[drop_cap]あ[/drop_cap]Dobe は最近ではあまり愛される会社ではありません。人々がしぶしぶ自分の製品を使用するのは、Creative Suite が業界標準 (つまり独占) であるか、意味のある代替手段がないためであり、誰もこれらのツールに本当に興奮しているからではありません。
最近は (Photopia のおかげで) AdobeWare を使用せずに作業していますが、Adobe に対する私の軽蔑はまったく新しいレベルに達していることを報告できることを嬉しく思います。
説明しましょう。
少し前に新しい本を出版しました。いつものように、私は読者に DRM フリーの直接アクセスを提供します EPUB ファイルは、すべてのファイルを通過するまで一連のプロセスを経ます。 epubcheck …えーっと…チェックです。
馴染みのない方は epubcheckこれは基本的にコンパクトな電子書籍のゴールドスタンダードです。これは、「灰の水曜日」の修道女よりも衒学的であるため、最初は非常にイライラするかもしれません。もしあなたの manifest 本内のすべてのスニペットと画像を注意深く追跡しないと、ePUB は合格しません。 HTML 要素を間違って使用したり、文書が国際デジタル出版フォーラムによって設定された一連の神聖なルールから少しでも逸脱したりした場合、合格とはなりません。
それで。 1つ手に入れてください epub 100まで epubcheck これは初心者にとって簡単な偉業ではありません。始めた頃は打つ瞬間怖かった validate 何か月もかけて完成した本にボタンを押すと、 いつも 泣けるものを見つけてください。
しかし、最近私は大ファンです epubcheck。なぜ?これは、私たちパブリッシャーにとって、「タイプリンター」または正式なテスト スイートに最も近いものです。言い換えれば、あなたの本が合格すれば、 epubcheck この書籍は EPUB 互換のリーダーまたはアプリで動作することが保証されています。
少なくとも、それがアイデアです。
最近、読者の一人から私の新しい本についてのメッセージを受け取りました。 epubcheck ルールセット 3.3 は「破損」しましたが、大きな成功を収めました。
おそらく下位互換性があるでしょうか?そこで、これも完全にルールに準拠した EPUB2 バージョンを提供しました。それでも同じ問題が発生しました。彼は、この本は、さまざまな世代の kobo デバイスでは開かないと言いました。
では、衒学的な金本位制が通用したらどうするか epubcheck Amazon Kindle、Apple Books、Thorium、その他の場所では問題なく動作するのに、あなたの本は正常であるにもかかわらず、kobo はそれが「壊れている」と言ったとしますか?
この問題をさらに詳しく調べてみたところ、「Reader Mobile Software Development Kit」である Kobo RMSDK が Adobe 独自の電子ブック レンダリング エンジンを使用していることがわかりました。
たぶん、これがどこに行くのかわかるでしょう…
RMSDKは敢えて アドビデジタル版 (80% が DRM、20% が読書エクスペリエンスである、この肥大化したソフトウェアの頂点)、さまざまな Kobo デバイスや古い Sony/Nook デバイスのエンジンです。元々は EPUB2 用に 2010 年頃に (!) 作成され、EPUB3 用に軽く更新されましたが、最新化されることはありませんでした。
しかし、その認識は私にとって問題を解決しませんでした(epubcheck それでも、Kobo は「いいえ」と言いましたが、「イェーイ」と答えました)、これにより、少なくともデバッグへの道が得られました。
そこで私は自分の本を Adobe Digital Editions に登録しました。予想通り、読み込みに失敗しました。しかしなんと!エラーメッセージも何もなく、少しの不満もありません。本が読み込まれません。試してみた唯一の兆候は、再ロード時に ADE が「その本はインポートできません。すでに追加されています。」と告げたことです。白い画面を表示しながら。
クラシックなアドビ。
そこで私は自分の本を分解し、十数の異なるバリエーションを作成し始めました。 epubcheck それでも合格しました。フォルダー構造を再配置し、メタデータを削除し、言語属性を削除し、新しい UUID で ePUB を準備し、ディレクトリをフラット化し、拡張子の名前を変更し、zip を最初から何十回も再構築し、マニフェストを変更しました。
そしてそれは失敗した。そして失敗した。そして失敗した。
諦めかけていたところ、スタイルシートを無効にすることを思いつきました。そしてエウレカ、突然ロードされました!
スタイルシートが問題の原因であることが判明すると、最終的にどの行が問題の原因となっているのかを特定することができました。スタイルシートのさまざまなサブセットを使用して十数のバリエーションを作成した後、最終的に原因を特定しました。それは次の行でした。
.copyright img {
max-width: min(150px, 30vw);
}
もっと古めかしいものに変えたら max-width: 150px; ADEはちゃんと開けてくれました。
しかし、ここで何が問題なのでしょうか?上記のコードは完全に有効な CSS レベル 4 ですが、CSS パーサーが 2013 年頃にフリーズしているため、RMSDK ではサポートされていません。フレックスボックス、グリッド、数学関数、カスタム プロパティはありません。古き良き float、貧弱なフォント管理、そして認識できないものを見つけると静かにクラッシュするだけです。
では、なぜepubcheckはそれを捕捉できなかったのでしょうか?
もちろん Epubcheck は基本的な CSS チェックを行いますが、ネイティブに壊れているレンダラーに対して CSS を検証することはできません。
これで完了です。
今年は 2026 年です。 Kobo が (おそらく DRM 上の理由で) すべての書籍レンダリングのバックボーンとして使用することを決定した恐ろしい RMSDK のおかげで、完全に有効な CSS の 1 行によって、完全に正当な EPUB ファイルが Kobo 上で「破損したファイル」に変わり、書籍全体が破棄されます。明らかなエラー メッセージやフォールバックはありません。ただの大失敗。
その後、読者の誰もこの問題に再び対処する必要がないように、新しいバージョンを発行しました。
理想的な世界では、RMSDK は CSS 石器時代の生活をやめるか、少なくとも いくつかの? 本全体を放棄するのではなく、一種のエラー管理ですが、息を止めているわけではありません。
デジタル出版の世界に対する熱意は高い 制限する アクセシビリティは、ユーザーに可能な限り最高の読書体験を提供することよりも優れています。
そして、それが変わるまでは変わりませんが、自分の本が kobo と互換性があるかどうかを確認したい場合は、次のサイトに頼ってください。 epubcheck 残念ながら十分ではありません。まず、Adobe のウッドチッパーに入れる必要があります。
うまくいくか、静かに失敗するかのどちらかです。その場合、禁止されている新しい CSS を使用している可能性があります。
とにかく、他の誰かが巻き込まれた場合に備えて、事後分析としてこれを公開します。
ePUB は電子書籍の素晴らしいオープン スタンダードですが、その実装の多くには、知財弁護士の満足を保つという名目で根本的な欠陥があります。







Leave a Reply