你的 ePub 没问题,是 Kobo 不认——该怪 Adobe

查看原文 HN 讨论

文章摘要

作者 André Klein 记录了自己制作电子书时遇到的一桩典型困境:一份完全符合规范、校验通过的 ePub 文件,却被 Kobo 阅读器拒绝或显示异常。问题的根源并不在文件本身,而在于阅读器底层使用的 Adobe 渲染引擎(如 Adobe Digital Editions 所代表的那套老旧实现)对现代 CSS 支持不足。

核心症结在于:尽管 ePub 本质上只是「一个压缩进 zip 里的普通 HTML 网页」,但不同阅读器支持的 CSS 版本参差不齐。一些较新的、合法的 CSS 特性(例如涉及 max-width 的函数写法)会被 Adobe/Kobo 的渲染器当作错误而拒绝,迫使作者退回去迁就过时的规范。这与本应「忽略非法值」而非直接报致命错误的 CSS 规范精神背道而驰。

文章借此揭示了电子书生态的深层困境:EPUB 3.2 标准引用了不断膨胀的浏览器规范,使得旧内容随时可能变得「不合规」;而阅读器实现各行其是,跨设备兼容毫无保证。作者认为,这种局面让电子书排版重演了 2000 年代初期网页开发的乱象——人们不得不去迁就那些实现得最差的渲染器,而非放心使用符合标准的特性。

HN 评论精华