Valid EPUB. Passes epubcheck. Works everywhere. Kobo says: corrupted.
One line of CSS4 is all it takes. Adobe's renderer hasn't left 2013. Post-mortem: https://andreklein.net/your-epub-is-fine-kobo-disagrees-blame-adobe/ #epub #ebooks #selfpublishing #css
Your EPUB Is Fine. Kobo Disagrees. Blame Adobe

Adobe isn’t exactly a beloved company these days. People begrudgingly use their stuff, because the Creative Suite is an industry standard (read: monopoly) or there are simply no worthwhile alternatives,...

André Klein Dot Net
@andreklein It goes deeper. Kobo has *two* renderers on board, one of which is used for the additional markup kepubs (which *has* been updated since 2013) and then the busted Adobe one (used for non-Kobo epubs for compatibility with Digital Editions)
@squishymage42 The plot thickens!

@andreklein @squishymage42 Good post, thanks for all the detail.

I always rewrite (non-DRM) epubs into kepub before copying them onto my Kobo, because page-turning is so slow with regular epubs but fine with kepubs. I use a python script I wrote myself before I found out that calibre can also do it. Basically it just wraps every p or h1-h6 tag in a <span "kobo.%d.1"> where %d is an increasing integer. I don't know what the point is of the .1, or if it's even still needed.

@akkana @andreklein I have the plug in for Calibre do it for me, or when I'm producing for Standard Ebooks pass the Kobo tag to the build script (which I think uses Calibre's conversion?)
@akkana Interesting! That page-turn difference seems to point to what @squishymage42 said about dual render pathways for epub vs kepub. Their proprietary format gets the good stuff while regular EPUBS gets sidelined to legacy Adobe render. Crazy.