Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support vertical writing modes #53

Open
chocolatkey opened this issue Sep 20, 2024 · 1 comment
Open

Support vertical writing modes #53

chocolatkey opened this issue Sep 20, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@chocolatkey
Copy link
Member

chocolatkey commented Sep 20, 2024

Vertical writing modes (e.g. vertical-rl), primarily of interest for Japanese e-books, are currently not supported and result in breakage of the reader:
image

On webkit-based engines (Safari), this can be improved through the use of -webkit-column-axis: horizontal, but outside of that, the layout must be significantly altered, along with the functionality of the reflowable document engine. The common trick seems to be hiding the next columns underneath the current one, as used by this Japan-optimized EPUB reader:
image

@JayPanoz you have done lots of research in this with regards to readium-css, what is your opinion on how to incorporate support into the toolkit?

@chocolatkey chocolatkey added the enhancement New feature or request label Sep 20, 2024
@JayPanoz
Copy link
Contributor

For the benefit of everyone, the summary of my past research on that topic.

So yeah, these non-standard properties were added into Webkit, it seems specifically so that iBooks – now known as Apple Books – can paginate vertical writing modes properly.

It was strongly recommended we don’t even touch it with a stick when designing pagination in ReadiumCSS as there was no desire nor reason to standardise them in CSS multicol – pagination should be part of a bigger fragmentation spec, not multicol. So we decided not to use a vendor-specific solution, knowing it wouldn’t solve the issue in other rendering engines.

That’s probably why hiding the next columns underneath the current one is what a lot of Reading Systems have been doing – and swiping/taps on the x-axis, etc. are (sometimes) re-mapped on the y-axis. And this indeed is the approach recommended in ReadiumCSS docs due to the limitations of CSS multicol.

That being said, @danielweck switched to his own implementation of pagination/fragmentation for vertical writing for instance, because of significant issues with columns while advancing on support and features quicker than anyone else, so it could also be a good opportunity to see if there’s a possibility to list and fix them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants