[CBR] [Android] Add pinch-to-zoom for reading comics? #614

Open
opened 2026-04-24 23:30:13 +02:00 by adam · 7 comments
Owner

Originally created by @jvonhoff on GitHub (Jul 3, 2023).

Is your feature request related to a problem? Please describe.

When reading CBR files, I'm unable to read any text because my phone (Pixel 5) displays the text so small I can't read it, and the app does not allow for pinch zooming.

Describe the solution you'd like

I want to either pinch to zoom, or maybe something fancier like "Page width". Maybe a "Smart zoom" where it basically breaks down each image into quadrants? Dunno.. I just want to be able to read the text! :)

Describe alternatives you've considered

Currently, my only other option on Android is to download the CBR with ABS, and then use a different CBR reader on my phone.

Additional context

Originally created by @jvonhoff on GitHub (Jul 3, 2023). ### Is your feature request related to a problem? Please describe. When reading CBR files, I'm unable to read any text because my phone (Pixel 5) displays the text so small I can't read it, and the app does not allow for pinch zooming. ### Describe the solution you'd like I want to either pinch to zoom, or maybe something fancier like "Page width". Maybe a "Smart zoom" where it basically breaks down each image into quadrants? Dunno.. I just want to be able to read the text! :) ### Describe alternatives you've considered Currently, my only other option on Android is to download the CBR with ABS, and then use a different CBR reader on my phone. ### Additional context
adam added the enhancementereader labels 2026-04-24 23:30:13 +02:00
Author
Owner

@ThomasMillochau commented on GitHub (Sep 8, 2023):

I am also interested in the zoom function on iOS and also on PDFs

@ThomasMillochau commented on GitHub (Sep 8, 2023): I am also interested in the zoom function on iOS and also on PDFs
Author
Owner

@GreatToCreate commented on GitHub (Nov 19, 2023):

Potentially related code solution to this problem. I fooled around with it (to no success) but for someone with a familiarity with the codebase/capacitor/Vue this might be trivially easy.

Other than creating a new plugin using the answer from this stackoverflow solution, I think head meta tag may need to be dynamically changed (setting user-scalable to yes and changing maximum-scale to somewhere between 2.5-5- not totally sure here) on pages expecting to support pinch zooming. This seems to be set on line 94 in nuxt/index.js (this may be incorrect but it's the only place I saw at a glance where the meta tag was set based on the accepted answer in the linked solution).

Media this would be useful enabling pinch-to-zoom for:

  • ebooks/pdfs
  • comics
@GreatToCreate commented on GitHub (Nov 19, 2023): Potentially related code solution to this problem. I fooled around with it (to no success) but for someone with a familiarity with the codebase/capacitor/Vue this might be trivially easy. Other than creating a new plugin using the answer from [this stackoverflow solution](https://stackoverflow.com/questions/68684396/how-can-i-enable-pinch-zooming-with-ionic-capacitor), I think head meta tag may need to be dynamically changed (setting user-scalable to yes and changing maximum-scale to somewhere between 2.5-5- not totally sure here) on pages expecting to support pinch zooming. This seems to be set on line 94 in nuxt/index.js (this may be incorrect but it's the only place I saw at a glance where the meta tag was set based on the accepted answer in the linked solution). Media this would be useful enabling pinch-to-zoom for: - ebooks/pdfs - comics
Author
Owner

@mmcmd commented on GitHub (Mar 30, 2024):

bump! this would be really great as I like to read the newspaper and it is currently really difficult on mobile

@mmcmd commented on GitHub (Mar 30, 2024): bump! this would be really great as I like to read the newspaper and it is currently really difficult on mobile
Author
Owner

@nichwall commented on GitHub (Mar 31, 2024):

Thanks for showing interest in the feature. The best way to show support for a feature request is by reacting with a "Thumbs up" to the initial message of the issue instead of just saying +1 or I also want this. When looking for new features, issues are sorted by the number of thumbs up reactions, not the number of notifications that an issue generated.

https://www.audiobookshelf.org/faq#i-have-a-feature-request-how-should-i-bring-this-up

@nichwall commented on GitHub (Mar 31, 2024): Thanks for showing interest in the feature. The best way to show support for a feature request is by reacting with a "Thumbs up" to the initial message of the issue instead of just saying `+1` or `I also want this`. When looking for new features, issues are sorted by the number of thumbs up reactions, not the number of notifications that an issue generated. https://www.audiobookshelf.org/faq#i-have-a-feature-request-how-should-i-bring-this-up
Author
Owner

@KaiStarkk commented on GitHub (Oct 26, 2024):

I think the simplest solution might be to look at an alternative JS reader library like https://github.com/afzafri/Web-Comic-Reader for comics/manga.

Appears to be better suited for that use-case than epubjs, perhaps ABS could select the frontend based on filetype.

Then we just need to contribute to the upstream repo for "manga mode" and we'll have knocked off the other manga issue as well https://github.com/advplyr/audiobookshelf/issues/1274

@KaiStarkk commented on GitHub (Oct 26, 2024): I think the simplest solution might be to look at an alternative JS reader library like https://github.com/afzafri/Web-Comic-Reader for comics/manga. Appears to be better suited for that use-case than epubjs, perhaps ABS could select the frontend based on filetype. Then we just need to contribute to the upstream repo for "manga mode" and we'll have knocked off the other manga issue as well https://github.com/advplyr/audiobookshelf/issues/1274
Author
Owner

@advplyr commented on GitHub (Oct 26, 2024):

Epubjs isn't used for the comic reader. I did a custom implementation for that. One of the challenges with these readers is large comics with many large images. The extraction is all done client side and in memory.
The benefit of doing that client side is it is easy to support offline reading.

Abs has a Reader component that has subcomponents for the different file types. Pdf, epub, comics

@advplyr commented on GitHub (Oct 26, 2024): Epubjs isn't used for the comic reader. I did a custom implementation for that. One of the challenges with these readers is large comics with many large images. The extraction is all done client side and in memory. The benefit of doing that client side is it is easy to support offline reading. Abs has a Reader component that has subcomponents for the different file types. Pdf, epub, comics
Author
Owner

@KaiStarkk commented on GitHub (Oct 27, 2024):

Ah cool. Will keep in mind

On Sat, 26 Oct 2024 at 9:46 PM, advplyr @.***> wrote:

Epubjs isn't used for the comic reader. I did a custom implementation for
that. One of the challenges with these readers is large comics with many
large images. The extraction is all done client side and in memory.
The benefit of doing that client side is it is easy to support offline
reading.

Abs has a Reader component that has subcomponents for the different file
types. Pdf, epub, comics


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf-app/issues/772#issuecomment-2439589361,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANENUDUP2LA72JR45SHOSLZ5OML3AVCNFSM6AAAAABQURQ4TCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZGU4DSMZWGE
.
You are receiving this because you commented.Message ID:
@.***>

@KaiStarkk commented on GitHub (Oct 27, 2024): Ah cool. Will keep in mind On Sat, 26 Oct 2024 at 9:46 PM, advplyr ***@***.***> wrote: > Epubjs isn't used for the comic reader. I did a custom implementation for > that. One of the challenges with these readers is large comics with many > large images. The extraction is all done client side and in memory. > The benefit of doing that client side is it is easy to support offline > reading. > > Abs has a Reader component that has subcomponents for the different file > types. Pdf, epub, comics > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf-app/issues/772#issuecomment-2439589361>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AANENUDUP2LA72JR45SHOSLZ5OML3AVCNFSM6AAAAABQURQ4TCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZGU4DSMZWGE> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#614