On Sat, Jan 25, 2020 at 8:10 PM Karen Lewellen <klewel...@shellworld.net> wrote: > > Hi folks, > Anyone know if the qt platform can be used to create DOS ports of programs? > www.qt.io
I don't believe the Qt framework can be used to create DOS applications. And it wouldn't help you because it exists to create cross-platform *UIs*. The code the UI will be a wrapper for will be entirely separate. (There is a DOS FLTK toolkit with a similar usage.) > The discussion is tied to the calibre ebook reading platform, with my > wondering if it might be possible to create a DOS edition, there is a > Linux one, strong in command line options, but I am not a developer. I make extensive use of Calibre, and have it here under Windows and Linux. (It's available for OS/X, too, but I don't have Apple gear to run it on.) Calibre is cross platform because it's written in Python. The Python runtime abstracts away the platform differences, and it looks and acts identically on all OSes. (Calibre's author, Kovid Goyal, is one the the official maintainers of the 2.X branch of Python. Python is at v3 now, but v3 introduced enough differences that migrating Python 2 code to Python 3 is non-trivial, and many efforts refuse to try.) What became Calibre began when Kovid, who was a PhD candidate in Computer Science at the time, got a Sony Reader dedicated eBook viewer. The Reader used a proprietary eBook format called BBLF, and the only place to get BBLF formatted books was the Sony Store. Kovid reverse-engineered the BBLF format to create software that could put texts into the Sony format so he could view them on his Reader. (Sony later switched to the ePub format that is the standard for everything except Amazon Kindles.) Calibre evolved into a Swiss Army Knife for eBooks. It's principal purpose is to create and maintain an eBook library. It stores volumes imported into it in a directory structure it maintains. Volumes are stored in sub-directories by author name. If there is more than one book by an author, each volume is in a sub-directory under their main directory. It can also display books in the Library, but the assumption is that you will use a dedicated eBook viewer device. Calibre knows how to talk to almost all viewer devices, and can put books onto a connected device. I use it here to put books on a 7" Android tablet that I connect via a USB cable. As well as maintaining the books, Calibre maintains extensive metadata about the books, like publisher, issue date, category, publisher's blurb, keywords describing the book, and series data for books in a series). It can look up metadata online and store it for each book. The database uses the public domain SQLite program, which provides an SQL compliant relational database in a single library. SQLite is used under the hood in a*lot* of things. (I'm composing this reply in the Firefox browser, and Firefox uses and SQLite database called places.sqlite to store bookmarks and browsing history, as well as other things.) Calibre's UI does not use a third party graphics toolkit. Aside from creating and maintaining a library, Calibre can convert between eBook formats. I first used it to convert volumes I got in ePub to Amazon's Mobi format, for a Palm OS device that had a Mobi viewer but not one for ePub. (Palm devices were Mobipocket's first target when the got into eBook publishing. Amazon bought Mobipocket and used their efforts as the basis of the format used by the Amazon Kindle. ePub did not exist at the time. Palm went belly-up before ePub came around.) How well conversion works depends upon the eBook format. PDF generally does *not* convert well. There isn't a lot Calibre can do about that. The command line options exist in Windows, too, but most folks have no need to use them. Everything they need to do can be accomplished through the GUI. Calibre scratched a huge itch. Calibre is open source and can be downloaded and used free of charge, but you can donate money if you like it. Kovid has his PhD, but gets enough in donations he doesn't have to get a regular job, and Calibre is his full time occupation. (It costs a lot less to live in India, which helps.) I don't believe it's *possible* to do a DOS port of Calibre. You would need a DOS port of SQLite and a full version of Python 2.7 for DOS as a starter. And if it could be done at all, it would require DOS apps built for a 386 or better platform to get the required memory. It could not be built to run on any earlier Intel CPU. I believe Kovid has an experimental effort to rewrite Calibre in C#. C# uses the Microsoft .NET framework, and C# code will run on anything that has a .NET runtime. Linux has a longstanding effort called Mono to create a cross platform .NET framework. Microsoft decided to make .NET open source a while back, and Microsoft .NET engineers are major contributors to current Mono development. I suspect Calibre in C# will have better performance than Calibre in Python on the same hardware, and that's a major reason for trying it. But meanwhile, forget Calibre under DOS. If you really want to use it, run Linux. > Thoughts? See above. > Kare ______ Dennis _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user