Paperback version 0.8.0 is out! For those that don't know, Paperback is a fully accessible and blazing fast ebook/document reader that supports an insane number of formats. Changelog:
Added Japanese, simplified Chinese, and Vietnamese translations! #300, #326, #335.
Added an automatic updater that will now replace your currently installed version of Paperback instead of just downloading the new version! #323.
Added optional sound feedback for reaching a bookmark or a note, thanks Andre Louis for the sounds! #110.
Added RTF document support! #26.
Added support for DAISY XML documents. #136.
Added support for Flat Open Document Text files!
Added support for Flat Open Document presentations!
Added support for separators with s and shift+s. #294.
Any movement of greater than 300 characters will now automatically add to your navigation history. #179.
Fixed restoring Paperback's window from the system tray. #284.
Fixed Markdown documents showing raw text instead of rendered HTML in the Web View.
Fixed tables not rendering properly in Markdown files. #303.
Image only PDFs will now warn you of their existence when you attempt to load one. #89.
It is now possible to check for new dev builds instead of stable releases when checking for updates. #333.
Properly embed version information in the Paperback executable. #204.
Split the options dialog into tabs for ease of use and navigation.
Switched to Hayro for parsing PDFs, leading to more reliability, speed, and fewer DLLs.
Rewrote the entire app in Rust. The new codebase is safer, loads documents faster, and is easier to maintain and extend.
The text control's context menu will now include reader-specific actions instead of generic items such as cut and paste. #114.
Downloads page: https://paperback.dev/downloads/
Donate on PayPal: https://paypal.me/tygillespie05
Sponsor on GitHub: https://github.com/sponsors/trypsynth
Enjoy!
Downloads – Paperback

@TheQuinbox I tried to use this the other day. I loaded an image only PDF into it thinking it would OCR it and spit out plain text, but it didn't. Is there something I'm doing wrong or is that not a thing?
@bscross32 Not a thing, yet. I've been thinking about how to do this for ages, but it's tricky. There is an opened issue about it though, so I do plan to do it.
@TheQuinbox Faster? What do you mean, faster? How is that even possible? lol
@TheQuinbox That is quite an update! I'll get it now.
@TheQuinbox Holy crap dude! This keeps getting better and better! Thank you!
@TheQuinbox Gosh this sounds totally awesome! Please, let me know if and when you'll get started on an implementation for MacOS. I'm very interested.
@marco I've already started, and thought about putting it out this version, but I have to make wxTreeView accessible, and someone's also hacking on Linux support, so there might be a Paperback 0.8.1 with crtoss-platform soon.
@TheQuinbox This is very cool news! Which UI toolkit are you using?
@marco wxWidgets.
@TheQuinbox OK! So there is a component that isn't accessible on the Mac yet? It's fantastic that you're taking this on.
@marco @TheQuinbox It's a mess. It turns out that wxTreeCtrl is a wrapper over the native SysTreeView32 on Windows, but implemented as a custom control on other platforms. Meanwhile, wxDataViewCtrl is a combination tree/table control that's implemented natively on macOS and GTK, but as a custom control on Windows.
@matt @TheQuinbox OK, that is wild! But it's definitely not the only problem I'm seeing with WxWidgets on the Mac. Many dialog controls are in a totally jumbled order, and many associations of labels to text fields or combo boxes don't actually work. So in at least two WxWidget apps I've used recently, it is a bit of a hit and miss when tabbing through a dialog which control is for which piece of information.
@TheQuinbox Sorry from the middle of the war zone, but wasn't the broken paragraph navigation issue with PDF files going to be fixed in 0.8? And 0.7? It's still there, and makes PDF files a huge pain to navigate and read.
@amir I tried, but PDFs are a pain in the ass. If you know someone with more expertees, you can throw them at it, or I'll keep trying.
@TheQuinbox LOL - obviously I don't. But despite my own PDF aversion, this is an important issue.
@amir Hey, you never know. It also doesn't help that the only PDFs I've seen do this really are the ones you've sent me, it's not like I hit it myself on the daily.
@TheQuinbox Strange! I've tried tens of PDF files, literally, but all of them are affected.
@amir I don't have to deal with too many PDFs daily, admittedly, but the fact that you see the exact same bug across different PDF renderers makes me think it's not entirely my fault. That's not to say it's not my bug to solve, but the fact that both pdfium and hayro, two industry-grade PDF parsing solutions, do the same thing, makes me think something else fishy is going on.
@TheQuinbox Fortunately Epub and DAISY are my major formats, but I still get those pesky PDF files from time to time. Only Bookworm can take care of those PDF files, but since I don't have it installed as it's effectively defunct, I can't tell how. At any event, thanks for your exemplary efforts with Paperback. It's hugely helpful!
@amir Thanks, and I'll continue investigating the issue, in fact this discussion here has made me want to go dig into this again. It's baffling though and I hate PDF, aaaah.
@TheQuinbox Very much appreciated!
@amir @TheQuinbox Bookworm is using MuPDF< I think?
@x0 @amir Yeah, I used that in Paperback originally, but it had some major limitations. It just totally failed to render the IBMTTS reference guide, for example.
@TheQuinbox @amir It also wraps something called pyxpdf, IDK what that uses.
@x0 @amir From Wikipedia: Xpdf is a free and open-source PDF viewer and toolkit based on the Qt framework.[4] Versions prior to 4.00 were written for the X Window System and Motif.[6]. So it looks like someone took that logic and put it into a python package.
@TheQuinbox @amir Like the fact that PDF is just an objectively terrible format for anything but visual preservation. I think it *still* doesn't support reflow does it? It probably just doesn't really have a notion of paragraphs to even be navigated in those documents, and only better authoring can fix that.
@TheQuinbox @amir Toss me a URL for one of these, please, and I'll take a look. I've got some very wip parallel PDF stuff.

@TheQuinbox Can I just say thank you.

So many devs on here post about their software being updated but don't actually specify what the program does and usually the title is so obtuse you can't figure it out.

I appreciate you posting what yours is and I will go and check it out since this is very much in my wheelhouse.

@TheQuinbox No mac? Saaaaaaaaadface.
@Bri Not yet, but I did just make a breakthrough for the TOC, and someone else is hacking on Linux support, so if all goes right, PB 0.8.1 will add two new platforms.
@TheQuinbox Not a huge deal because I'm reading epubs that are having chapters appended to the end but in updating I've noticed I'm put back at the beginning. Is that a thing? Did my ini file get to unwieldy? It is currently 38.6 KB haha
@FreakyFwoof Hmm, that's strange. Does it happen consistently, or was it only after first update? I did switch the way I read configs, it's possible that broke ever so slightly, sorry about that.
@TheQuinbox Not sure, it's happened with each update I've had, probably with new updates after that it will retain position but I won't know until that happens.
@TheQuinbox heeey thing for you, any chance Paperback could get support to read QRD files? they're a thing Q-Read does when you open a document, it converts the thing to an SQLite database for some reason
@freya If someone wants to code it, I don't see much of a point in supporting a weird niche format from a blindy ebook reader though.
@TheQuinbox mostly to recover QRD files and turn them back into regular books
@freya I'd just write a Python script for that. Like I said if someone wants to code this i'll merge it, but dragging in a SQLite library just for an antiquated format from a paid ebook reader feels a bit meh.
@TheQuinbox I'll throw something together probly
@freya I can help you, that entire thing is a horrible use of sqlite. IIRC it's one table, with two columns. SO he's literally treating SQLite like JSON.

@TheQuinbox omg you just:

sqlite3 <filename>.qrd select raw.text from shelf;

and suddenly, text

@freya Yup :) see why I didn't feel like dragging in sqlite just for this? :P If I already had it I would've, but good lord, all that for that?
@TheQuinbox that is evil. then again, it's Q, that man is a very specific demonstration of blind developer style that I wish I could better describe without unfairly insulting other blind devs but it's a uniquely blind failure mode I feel like
@TheQuinbox thank you for the update. it is not loading the whole book in the xml format. only the initial content up to table of contents. this happens with each book.
@Pool Can you send me an example file please?