mangle/README.md

98 lines
6.2 KiB
Markdown
Raw Normal View History

2016-09-07 04:16:15 +00:00
# Mangle #
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
Mangle is a cross-platform image converter and optimizer built for reading Manga on the Amazon Kindle and other E-ink
devices written in Python. With this application you can easily:
* Sort and organize images from different directories; bulk rename feature exists for output to the Kindle.
* Optionally re-save images in a format Kindle will be sure to understand with no visible quality loss.
* Downsample and rotate images for optimal viewing on Kindle, convert to grayscale to save space and improve contrast.
* Automatically generate book meta-data so that your Manga is always properly detected and viewable in-order.
## Motivation ##
2016-07-10 20:39:38 +00:00
Many years ago I received an Amazon Kindle as a gift. I immediately began playing around with it and reading about
certain undocumented features that the Kindle has to offer. After a couple of hours I discovered it to be the perfect
device for reading Manga is almost always grayscale, and the aspect ratio fits the Kindle's 600x800 pixel screen almost
perfectly. Better yet, the Kindle's undocumented image viewer actually keeps track of the last image you viewed and thus
you are always able to return to the page you left off on when you power on your Kindle. The device supports several
popular image formats (jpeg, png, gif, etc), and is able to dither and downscale images to fit the screen.
2015-01-22 08:23:19 +00:00
However... The Kindle's image viewer does have certain shortcomings:
2015-11-17 05:27:51 +00:00
* The Kindle is very picky about file format; any additional embedded data (thumbnails, comments, possibly even EXIF
2015-01-22 08:23:19 +00:00
data) can confuse it. As a result, images may not display properly or even not at all (which actually prevents you
from reading the given book, as one bad panel will prevent you from viewing subsequent images).
2015-05-23 03:39:57 +00:00
* The first image that you view in a Manga (until the Kindle first writes the "bookmark" file) seems to be arbitrary
2015-01-22 08:23:19 +00:00
even when files are named sequentially. About half the time it will correctly pick the first file in the batch, at
other times it will pick out some other image seemingly at random.
2016-07-03 04:30:58 +00:00
* Normally for Kindle to find your Manga scans you have to press <kbd>Alt</kbd> + <kbd>Z</kbd> on the home screen. I
haven't always had luck with it correctly identifying image directories. At other times, after finding an image
directory the Kindle will appear to hang while trying to access it (forcing you to return to the home screen).
2015-01-22 08:23:19 +00:00
* The Kindle image viewer has no functionality to rotate images. So if there is a horizontally large image (such as
what often happens with dual-page scans), it can be difficult to make out the text because the image is simply
scaled to fit (consequently leaving a lot of wasted space at the bottom of the screen).
* Scanlation images are oftentimes much larger than the 600x800 screen; not only does this make them take more space
on your memory card but it also slows down image loading (the Kindle has to read more data off of the slow SD card
and scale the image). Scanlations often also include color scans of covers and inserts which take up more space than
a grayscale equivalent (which is would be fine for the Kindle's limited display).
* Kindle's image viewer provides no way to sort images (to determine in which order they are shown). This can be very
problematic especially considering that scanlation groups have differing naming conventions, and as a result files
2015-05-23 03:39:57 +00:00
from later chapters may appear before earlier ones when you are reading your Manga (spoilers ftl).
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
Mangle was born out of my annoyance with these issues. The program name is a portmanteau of "Manga" and "Kindle"; I
thought it was pretty clever at the time.
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
## Usage ##
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
1. Add the desired images and image directories to the current book.
2. Re-order the images as needed (files pre-sorted alphabetically).
3. Configure the book title and image processing options.
4. Create a root-level directory on your Kindle called `pictures` (case sensitive).
5. Export your images, selecting the `pictures` directory you just created.
2016-07-03 04:30:58 +00:00
6. Enjoy your Manga (if it doesn't show up, press <kbd>Alt</kbd> + <kbd>Z</kbd> while on the home menu).
2015-01-22 08:23:19 +00:00
2016-07-10 20:39:38 +00:00
## Requirements ##
For running from source:
* [PyQt4](https://riverbankcomputing.com/software/pyqt/download)
2016-07-10 20:39:38 +00:00
* [Python 2.7](http://www.python.org/download/releases/2.7/)
* [Pillow (PIL)](https://pypi.org/project/Pillow/)
* [ReportLab](https://pypi.org/project/reportlab/)
2016-07-10 20:39:38 +00:00
2015-11-17 05:27:51 +00:00
## Installation ##
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
Pre-build binaries are available for the platforms listed below. I don't have the means to make MacOS X releases myself,
so I am providing the old (and unsupported) package built by Rob White instead. Linux users should run Mangle directly
from source.
2015-01-22 08:23:19 +00:00
2016-10-26 02:15:43 +00:00
* [mangle_win.zip](https://foosoft.net/projects/mangle/dl/mangle_win.zip)
2016-07-03 04:30:58 +00:00
* [mangle_osx.zip](https://foosoft.net/projects/mangle/dl/mangle_osx.zip) (quite old)
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
## Screenshots ##
2015-01-22 08:23:19 +00:00
2016-07-03 04:30:58 +00:00
[![Main window](https://foosoft.net/projects/mangle/img/main-thumb.png)](https://foosoft.net/projects/mangle/img/main.png)
[![Options dialog](https://foosoft.net/projects/mangle/img/options-thumb.png)](https://foosoft.net/projects/mangle/img/options.png)
2015-01-22 08:23:19 +00:00
2015-11-17 05:27:51 +00:00
## On the Kindle... ##
2015-01-22 08:23:19 +00:00
2016-07-03 04:30:58 +00:00
[![](https://foosoft.net/projects/mangle/img/kindle1-thumb.png)](https://foosoft.net/projects/mangle/img/kindle1.png)
[![](https://foosoft.net/projects/mangle/img/kindle2-thumb.png)](https://foosoft.net/projects/mangle/img/kindle2.png)
[![](https://foosoft.net/projects/mangle/img/kindle3-thumb.png)](https://foosoft.net/projects/mangle/img/kindle3.png)
[![](https://foosoft.net/projects/mangle/img/kindle4-thumb.png)](https://foosoft.net/projects/mangle/img/kindle4.png)
2015-11-13 09:40:29 +00:00
2015-11-17 05:27:51 +00:00
## License ##
2015-11-13 09:40:29 +00:00
2017-07-31 00:37:27 +00:00
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.