Skip to content

Webtoons in EPUB 3.3

Wendy Reid edited this page Dec 19, 2023 · 1 revision

Background

Webtoon is a digital comics format that is defined by its unique reading mode. Webtoons were designed for mobile phone screens, and are primarily read vertically as a single "strip" of content with no defined page breaks. The format has grown in popularity, particularly in countries like Korea and Japan, where publishers have adopted or wish to adopt the format for their content.

EPUB3 already has the concept of scrolled continuous content, but this feature was considered only for reflowable text-based content, not fixed-layout image content. To make webtoon content work in EPUB, changes need to be made to the specification.

rendition:flow was introduced to give EPUB creators the ability to declare a preference for how overflow content is handled. rendition:flow has four values:

  • paginated - dynamically paginate all overflow content
  • scrolled-continuous - render all content documents in the spine in a single continuous flow
  • scrolled-doc - render content documents such that overflow content is scrollable, and each spine item is presented as a separate document
  • auto - render overflow content using the reading system default or user preference

rendition:flow can be applied globally or at the spine level.

rendition:flow only applies to reflowable content, and in EPUB Reading Systems 3.3, it is specifically stated that:

Reading Systems MUST ignore the rendition:flow property and its overrides when processing pre-paginated spine items.

Required Changes

Webtoons in EPUB can be achieved with changes to EPUB 3.3 and EPUB Reading Systems 3.3. What needs to be determined is the scope of the change.

In EPUB 3.3

Currently rendition:flow is included in section 8.3 Reflowable layouts along with rendition:align-x-center. The current language in 8.3.1 The rendition:flow property does not specify it must only be used for reflowable content, that is only made clear by it being placed in section 8.3.

The simplest solution would be to move section 8.3.1 to it's own sub-section in 8. Layout rendering control.

There would also need to be one change made to the content of the rendition:flow property section. Due to the nature of how fixed layout documents are produced, the value scrolled-doc would result in the same user experience as paginated. To address this, we should add a note to the definition of scrolled-doc to clarify the difference.

In EPUB Reading Systems 3.3

Similar to EPUB 3.3, rendition:flow is included in section 8.2 Reflowable layouts. The same change suggested in EPUB 3.3 should be made in EPUB Reading Systems 3.3.

Section 8.2.1 does not mention reflowable or fixed layout content until the final normative statement, and opens with:

If a reading system supports the specified rendering, it SHOULD use that method to handle overflow content, but MAY provide the option for users to override the requested rendering.

The rendering instructions to reading systems for each of the rendition:flow values does not need to change.

For the statement:

Reading Systems MUST ignore the rendition:flow property and its overrides when processing pre-paginated spine items.

There are a few options:

  1. We could remove the normative statement entirely, as we're now saying that rendition:flow is possible for both fixed layout and reflowable layouts and thus reading systems do not need to do anything aside from following the rendering instructions mentioned in the section for all content types.
  2. We could change the MUST statement to MAY, leaving it up to reading systems to determine whether or not they want to adopt the change. Reading systems that have adopted the change are now valid, and reading systems that haven't or won't remain valid.

Tests

Regardless of which changes or structuring we do, a test should be added to address this content.

We have the existing lay-rendition-flow-pre-pag test to handle the normative statement in EPUB Reading Systems 3.3. If we have removed the MUST statement or changed it to MAY that test could be modified to reflect the change and test the functionality.

We should also create accompanying fixed layout versions of the following tests:

  • lay-pkg-flow-paginated
  • lay-pkg-flow-scrolled-continuous (this test could be combined or replaced by lay-rendition-flow-pre-pag)
  • lay-pkg-flow-scrolled-doc