Canti
@author: Andrew Mantel
@version: 1.85a
----------------------------------------------------------------------
-Instructions-
1) Install java runtime environment (most computers should already have this installed). You can test if java is already installed by running:
   java -version
   Canti was written using java v1.6, but java v1.5 should also be ok. You can get the latest version of java from: http://www.java.com/en/download/manual.jsp
2) Install ImageMagick. ImageMagick is free software used for image manipulation and can be downloaded from http://www.imagemagick.org/script/binary-releases.php
3) Create a default Canti.properties file for your device/os by running the command:
   java -jar Canti.jar -create_device [device_name]
   For example (creating a Kindle DX .properties file): java -jar Canti.jar -create_properties kdx
   For a full list of acceptable [device_name] values, run the program without any options: java -jar Canti.jar
4) Use a text editor to modify Canti.properties to suit your needs. The default values are based on whatever os you are running and the [device_name] you specified in Step 2.
5) Open a command prompt to the folder containing Canti.jar and .properties. Run:
   java -jar Canti.jar
   This will give you a list of the commands you will need to specify to run the program. Here is an example of running the program:
   java -jar Canti.jar -parent_folder C:\\Manga\\SchoolRumble\\ -title "School Rumble" -manga_prefix "Ch." -output_folder C:\\Manga\\KDX\\School_Rumble\\

   There are several values you can use for -parent_folder.
   For processing a single manga chapter, set -parent_folder to:
   - A single folder of image scans
   - A single .zip/.cbz/.rar/.cbr archive of image scans
   - A single .pdf of image scans
   For processing a complete series of manga, set -parent_folder to:
   - A folder containing any number of the above items, all belonging to the same manga series.
     For more details, see below.

6) Let the program run. Depending on how much manga is processing and the speed of your computer it may take some time to finish. It will display a time estimate based on how much work it has done and how much work is left to do.

----------------------------------------------------------------------
-Feature List-
+Image processing:
 -scale width/height
 -reduce to maximum dpi
 -auto trim white space around an image
 -auto rotate landscape images to portrait
 -full color or grayscale
 -specify # of colors
 -change source image format
+Supported input sources:
 -Single folder of images
 -Single .zip/.cbz
 -Single .rar/.cbr (Note: Must have compatible unrar program installed on your system. See below for details.)
 -Single .pdf
 -A folder containing any number of the above items, allowing you to process a whole manga series with one command (See -Processing an entire series of manga- section for details on how to organize your manga for batch processing)
+Supported output formats:
 -Folder of images (any format supported by ImageMagick should be ok)
 -.zip/.cbz
 -.rar/.cbr (Note: Must have compatible rar program installed on your system. See below for details.)
 -pdf (including right-to-left page ordering)
 -epub (including right-to-left page ordering)
+Supported input images:
 -Pretty much anything that ImageMagick supports (see http://www.imagemagick.org/script/formats.php)
  It's safe to assume that all major image formats are supported: .jpg, .bmp, .gif, .png, etc...
+Binding
 -Binding allows you to combine multiple input sources into a single output
 -Two ways to use binding:
  -Can create a bind file to manually specify which chapters to bind into a single volume
  -Can also auto bind a specified number of chapters into volumes
+Auto split landscape 2-page scans
 -Can detect whether a landscape scan contains two separate pages and split them accordingly
 -Tries not to split landscape 2-page scans where the two pages form one big image
+Generate a settings file for a variety of ereader devices
 -Optimal settings stored for many of the top ereader devices:
  Amazon: kdx, k2
  Apple: ipad
  B&N: nook
  Sony: prs-900, prs-700, prs-600, prs-505, prs-500, prs-300
  iRex: iliad, dr800, dr1000
  Ectaco: jb, jbl
 -Can also generate a default settings file if Canti doesn't know the optimal settings for your particular ereader device
 -Any setting can be changed by the user to meet his/her needs

Well, that's a list of the major features. For a full list of features you can read through the update history.

----------------------------------------------------------------------
-Processing an entire series of manga-
For processing a lot of manga at once, you can organize your manga like this:
  Manga_Title  <-- this is the folder you would specify as -parent_folder
    Blah_blah_001    <-- this is a folder or .zip/.cbz/.rar/.cbr/.pdf holding the image scans for chapter 1
    Blah_blah_002    <-- this is a folder or .zip/.cbz/.rar/.cbr/.pdf holding the image scans for chapter 2
    ...
    Blah_blah_999    <-- this is a folder or .zip/.cbz/.rar/.cbr/.pdf holding the image scans for chapter 999

When you are ready to run the program, use Manga_Title as -parent_folder.
Here's an example:
  C:\Manga\SchoolRumble\
    School_Rumble_001.cbz
    School_Rumble_002.cbz
    ...
    School_Rumble_283.cbz

java -jar ConvertManga -parent_folder C:\\Manga\\SchoolRumble\\ -title "School Rumble" -manga_prefix "Ch."

Notice that I added the argument -manga_prefix "Ch.". This will make the output files look like: School_Rumble_-_Ch.1.cbz, School_Rumble_-_Ch.2.cbz, ...
Also note that this is an example of running the program on a Windows machine and I used \\ instead of \ in the command line.

----------------------------------------------------------------------
-Setting up unrar/rar support-
Because rar is a proprietary format, Canti cannot simply read or write a rar file itself. It relies on your system having a rar handler already installed.
For unrar support, make sure you have installed one of the following:
  For Linux/Unix: rar, unrar, unrar-nonfree
  For Windows: WinRAR (installed to [drive_letter]:\Program Files\[folder with "rar" in its name, such as WinRAR]\)
  For Mac: rar
For rar support, make sure you have installed one of the following:
  For Linux/Unix: rar
  For Windows: WinRAR (installed to [drive_letter]:\Program Files\[folder with "rar" in its name, such as WinRAR]\)
  For Mac: rar

----------------------------------------------------------------------
-Update History-

New to version 1.85b:
-Improved finding rar/unrar on Mac
Improved the rar/unrar finding algorithm for Mac. It will now also look in the same places as it does for Linux.

New to version 1.85a:
-Bug fix: Binding may be ordered incorrectly
I was relying on Java's built-in sorter to sort bindings alphabetically, but this wasn't always working properly. For example, if you had:
  School_Rumble_Ch.1
  School_Rumble_Ch.2
  ...
  School_Rumble_Ch.10
It would sort as:
  School_Rumble_Ch.1
  School_Rumble_Ch.10
  School_Rumble_Ch.2
  ...
I think the problem was that Java's built-in sorter couldn't tell that Ch.10 refers to the number "10", not ".10".
Anyway, I wrote my own comparator so the sorting problem should be fixed.
-Bug fix: Zipping could cause a "Too many open files" exception
The zipping algorithm (used to zip an image folder into a .zip/.cbz archive) left file streams open, which could potentially cause a "Too many open files" exception, crashing the program. This has been fixed.
-User can specify -use_original_filenames [true or false] in command line
If enabled (-use_original_filenames true) then the output files will have the same filenames as the source files.
This value supersedes the one in the .properties file.

New to version 1.85:
-Bug fix: @manga_prefix not working properly
If you set @manga_prefix to default, Canti interpreted it literally (meaning you would get something like School_Rumble_-_default1.cbz). This has been fixed.
Also, the auto setting for @manga_prefix wasn't working correctly. I think it has been fixed now.
-Bug fix: Auto binding not working properly
This problem is hard to explain. Just know that auto binding was a little bit broken but has been fixed.
-Bug fix: Binding not working properly
Binding was considering all folders in output_folder as potential folders to bind when it should have only considered image folders of the currently processing series. This has been fixed.
-Added support for spaces in paths
Spaces in paths has been a pita since the beginning of Canti. I finally tracked down the cause of the problem (it was an issue with the way Java interacts with external programs like ImageMagick) and it has been fixed.
Remember that when specifying a path with spaces you must put "" around the path (for example: -parent_folder "C:\\Program Files\\manga\\").
-User can specify location of .properties file
I got some requests for this feature, and since it took ~3mins to program I added it in :P
New command line option -properties [path to .properties file] allows you to specify the location of the .properties file.
By default, Canti assumes that the .properties file is in the same directory as the .jar, so if you haven't moved the .properties file from its default location then you don't need to set this option.
-Added more default .properties profiles
Added requested .properties profiles for Ectaco JetBook and JetBook Lite. They can be created by running (respectively):
java -jar Canti.jar -create_properties jb
java -jar Canti.jar -create_properties jbl
Currently, the JetBook regular and lite version settings are the same, but Canti still handles them separately in case their specs change in the future.
-User can specify -auto_bind [integer] in command line
This should make it easier to use auto binding as needed since I doubt most people like to leave it enabled all the time.
This value supersedes the one in the .properties file.

New to version 1.84:
-Use original filenames
Canti uses -title, -manga_prefix, and a suffix (either auto sensed or size specified by -num_chars_keep_suffix) to form the output filenames.
The basic naming scheme is: [title]_-_[manga_prefix][suffix], for example: School_Rumble_-_Ch.1
@use_original_filenames allows you to use the original filenames of the source manga as the output filenames. This can be especially useful if your source files are not named in a way that auto sense suffix can handle (i.e. they don't end with the chapter or volume number).
This option supersedes the default of using auto sense suffix but can be disabled at runtime by specifying -num_chars_keep_suffix [integer]
This is set up in the .properties file.

New to version 1.83:
-Bug fix: Potential crash when trying to determine the file extension of a file with no extension
Oops, left the potential for a NullPointerException if Canti tries to determine the extension of a file which has no extension. Problem has been fixed.
-Bug fix: Can't create .properties file for certain Sony devices
Canti had the incorrect filenames for the default .properties files of several Sony devices. This was easily fixed.
-Auto sense suffix length
In the last release of Canti, the naming scheme for auto sense suffix changed (see the notes for v1.82 for details). I've added @auto_sense_suffix_length for those that preferred the previous auto sense suffix naming scheme.
@auto_sense_suffix_length is the number of digits to use when auto sensing the suffix of folders. An auto sensed suffix whose length is less than @auto_sense_suffix_length will be padded with leading 0's.
The length of a suffix is the number of digits before the decimal. For example, 1.999 has a length of one, 01.999 has a length of two.
Acceptable values: -1 (to disable), or an integer greater than or equal to 1
Recomended: -1 (if you don't want to pad the auto sensed suffix) or 4 (if you want to pad, 4 digits should be enough to handle most series (how many series have more than 9999 issues?))
This is set up in the .properties file.

New to version 1.82:
-Improved image handling stability
ImageMagick is a whole lot better at handling images than native Java libraries, so I've added in a preprocessing stage to let ImageMagick fix any weird data within images before letting Java take a whack at them.
Currently, Java image handling is only used for landscape 2-page split detection. In case Java still has trouble interpreting an image after ImageMagick has processed it, Canti will simply ignore trying to split that scan (in the past, Canti would have crashed).
-Bug fix: @del_output_image_folders didn't always work correctly in Windows
Geez, I thought I fixed this before, but it still occasionally fails to delete an output folder on Windows machines.
I added in one more layer of defense. After that, if there is still a folder left in the output directory, you can delete it yourself :P
-Improved auto sense suffix
I changed the naming scheme of auto sense suffix to make it better able to handle reprocessing a manga series.
Before, auto sense suffix would expand all suffix names to match the length of the longest suffix. For example:
  Random_Manga_-_Ch.001    <-- added two extra 0's to match longest length of three
  ...
  Random_Manga_-_Ch.015.5  <-- added an extra 0 to match longest length of three (decimal and characters after the decimal don't count towards length)
  ...
  Random_Manga_-_Ch.100    <-- longest length (three characters)
Although this makes the filenames line up nicely, it can be a problem if you add manga to your collection and the longest suffix length changes.
The new auto sense suffix method is to make each suffix as short as possible. For example:
  Random_Manga_-_Ch.1
  ...
  Random_Manga_-_Ch.15.5
  ...
  Random_Manga_-_Ch.100
In this way, if the length of the longest suffix changes, the filenames will not be affected (and thus you won't have to worry about reprocessing the same manga using a different name).

New to version 1.81F2:
-Renamed all references of auto split portrait scans to auto split landscape scans
I can't believe I missed this. I was calling auto split 2-page scans "portrait" when really they were "landscape" orientation. The code was correct (so it was performing split detection on landscape scans) but the naming was wrong.
Sorry for the confusion, the naming has been fixed. There is no need to reprocess anything since this fix was purely aesthetic.

New to version 1.81F:
Note: The F stands for final, so this is probably the last release of Canti.
Also note that the jar has been renamed from ConvertManga.jar -> Canti.jar and the .properties file has been renamed from ConvertManga.properties -> Canti.properties
-Bug fix: Single folder mode doesn't work on a single file (only a single folder)
Wow, single folder mode was broken big-time if you specify a single file and not a single folder. Looking through the code I'm surprised it ever worked.
The problem was complicated but has been fixed... sorry about that.
-Bug fix: .bmp support fixed
.bmp support was always in Canti but Canti didn't know that .bmp was a valid image format. Now it knows, problem solved.
-Bug fix: Internal filename problem with .zip/.cbz archives
Files within .zip/.cbz archives had a filesystem separator char at the beggining of the filename (for example, \0000.jpg instead of 0000.jpg). I believe this bug only occurred on Windows machines, but it has been fixed.
-Bug fix: @del_output_image_folders didn't always work correctly in Windows
Sometimes in Windows if you enabled @del_output_image_folders, a folder or two would be left undeleted.
This bug was not my fault. The code was correct, but for whatever reason Windows has a problem sometimes with java deleting folders. I had to add in code to retry deleting output image folders if it fails the first time.
-.pdf support for input
Canti already had .pdf support for output, but now it also has .pdf support for input.
Note that this feature works by converting each page of the pdf doc to indvidual images; thus, an output pdf will not have the ability to rescale font like you can with typical pdf files.
-Improved auto sense suffix
Auto sense suffix can now handle hyphens in suffix (for example, Manga_Title_001-023) and spaces/underscores.
-Improved auto split 2-page portrait scans intelligence
Improved the page split detection algorithm by increasing the number of samples it uses to try to detect a page split (at a small cost to processing time).
Even if you have @auto_split_color_scans disabled it will still split scans that are half grayscale half color (because those are guaranteed not to form one giant image).
Added options to the .properties file to specify auto split grayscale and color strictness. These values will allow you to fine-tune the page split detection algorithm to your liking (so the user can make it easier or harder for a page split to be detected).
Added @auto_sense_portrait_scans to the .properties file to specify whether the page split detection should only be performed on folders in which most of the scans are portrait.
-Added default .properties profiles for more devices
You can always edit the .properties file for whatever ereader device you have, but I've added default profiles for the following devices:
  B&N: nook
  Sony: prs-900, prs-700, prs-600, prs-505, prs-500, prs-300
  Default: default (used to make a default .properties file that you can modify if you use a device Canti doesn't have an optimized profile for)
-Set default manga_prefix in the .properties file
The value of -manga_prefix can still be set in the command line at runtime, but now you can also set a default @manga_prefix in the .properties file.
If you set @manga_prefix to "auto" then Canti will attempt to use the same -manga_prefix that you used previously for the current series. This only works if you are using the same output_folder and -title as before.
If you specify -manga_prefix at runtime then this value will supersede the one in the .properties file.

New to version 1.8a:
-Fixed a minor mistake with auto split 2-page portrait scans.
I was splitting pages at the left edge of the detected page spacing instead of the center.
This should make the x coordinate of page splits a few pixels better.
(I know, not a big deal... any split within the detected page spacing should be fine, but I'm a perfectionist :P)

New to version 1.8:
-Auto split 2-page portrait scans
If enabled then Canti will attempt to automatically split portrait scans that contain two pages into separate images.
Canti will try to only split two-page portrait scans where the two pages don't form one giant image.
Note that this is not perfect... sometimes it will split scans which shouldn't be split or doesn't split scans that should have been split.
It uses an algorithm which I came up with myself to try to detect the space between two pages in a scan. The algorithm isn't perfect, but it's fast and it works pretty damn well.
There are additional options that you can specify when using this feature:
@auto_split_r_first: This value determines if the right side of the image should come before the left side (like with manga books).
@allow_auto_split_color_scans: Allows or prevents the auto splitter from splitting color images. I've defaulted this to off since two-page color scans in manga usually form one giant image.
This is set up in the .properties file.
-Improved page ordering
Previous page ordering moved cover pages to the front and credits to the back (based on filenames).
Now also attempts to place inserts after the covers, checks if a cover is a back cover, and doesn't alter the ordering if the order is already forced through a number naming scheme.
-Unarchive input image folders
If enabled then any input image archive will be unarchived to a folder and then the archive will be deleted.
This value supersedes @archive_input_image_folders and is useful if you need to test individual images within an archive collection.
This is set up in the .properties file.
-Other tweaks
Too hard to remember everything, but as always the latest release of Canti is always the best version to use.

New to version 1.72:
-.rar/.cbr support
Canti now supports .rar/.cbr input and output files.
Because rar is a proprietary format, Canti cannot simply read or write a rar file itself. It relies on your system having a rar handler already installed.
For unrar support, make sure you have installed one of the following:
  For Linux/Unix: rar, unrar, unrar-nonfree
  For Windows: WinRAR (installed to [drive_letter]:\Program Files\[folder with "rar" in its name, such as WinRAR]\)
  For Mac: rar
For rar support, make sure you have installed one of the following:
  For Linux/Unix: rar
  For Windows: WinRAR (installed to [drive_letter]:\Program Files\[folder with "rar" in its name, such as WinRAR]\)
  For Mac: rar
Note that the .properties file has changed. Instead of @zip and @zip_format, there is now @archive and @archive_format. @archive_format can be set to .zip, .cbz, .rar, or .cbr
This is set up in the .properties file.
-Archive input image folders
For a long time I've had my manga scans organized as image folders, but since Canti can handle input archive files I've added this new feature.
If it is enabled then all input image folders will be archived (using whatever format you set as archive_format, either .zip/.cbz/.rar/.cbr) and the folders will be deleted.
This will keep the file system cleaner since it reduces thousands of image files to a collection of zip archives.
This is set up in the .properties file.
-Other tweaks
I don't remember all the little stuff I changed, just know that the latest release of Canti is always the best version to use.
To give you an idea of Canti's growth:
  # lines of code in Canti v1.1a: ~1600
  # lines of code in Canti v1.72: ~3900

New to version 1.71:
Special notice: The default Canti.properties file will no longer be included when you download the program. Instead, you must create a default .properties file for your device/os using the new feature listed below.
                Make sure to make the default .properties file before processing any manga. Also make sure to read through the default .properties file and make any changes to match your individual needs.
-Default .properties file creator
Will create a default Canti.properties file for the device you specify.
This is run by calling: java -jar Canti.jar -create_properties [device name]
Current list of acceptable [device name] values: kdx, k2, ipad
Note that this will attempt to determine your ImageMagick install directory based on what operating system your are using.
  >For unix/linux or mac it uses default locations.
  >For windows it will search "Program Files" directories of all local disks. You may have to manually correct this value if the program fails to find this install directory for you.
-Improved reprocessing intelligence
Verifies folders listed in progress.txt (i.e. the folders which were previously processed) and removes an entry if the folder no longer exists. Of course zip restoration is performed before verifying the progress folder in case you have del_output_image_folders turned on.
Also, zip restoration will only be performed on archives relative to the current processing (so if there are other archives in the ouput folder, Canti won't waste time restoring them).

New to version 1.7:
-Source files in zip/cbz format
Program can now process manga located in -parent_folder in .zip or .cbz format.
You can also set -parent_folder to be a .zip or .cbz file.
Note that this will only process the images in the root of the archived file, so if you have an archive with multiple levels of subfolders then the images in those folders won't be processed.
-Delete output image folders after processing
This feature can only be used if:
  1) You output zip/cbz archives as these will allow the program to temporarily recreate the output image folders in case you need to process the same manga again (a big time saver)
  2) Binding (either through bind file or auto-binding) is disabled
This is set up in the .properties file.
-Pdf page/bind ordering from right to left
Same as epub right to left feature introduced in v1.61, now for pdf.
This is set up in the .properties file.

New to version 1.61:
-Epub works in iBooks
Epub is finally out of beta and the output epub files can be synced through iTunes and read in iBooks.
I do not recommend epubs for manga though... a good portion of the screen is used by the virtual book, you can't zoom in on images,
and iBooks sometimes sizes the images wrong (especially when switching from 2-page to single-page view, the image may remain at the smaller 2-page size).
-Epub page/bind ordering from right to left
Hehe, this is a cool feature to try out in iBooks. By turning this option on, the ordering of the output epub will resemble that of manga (i.e. pages and bindings will be ordered right to left).
Currently iBooks automatically loads page 1 of the epub, so if you use this feature you will have to either use the page slider to jump to the last page or (if you used binding) load the first chapter from the table of contents.
Kinda fun to see the virtual iBook with proper manga ordering :)
This is set up in the .properties file.

New to version 1.6:
-Auto sense suffix
By not setting (or setting to -1) the -num_chars_keep_suffix value, the program will attempt to automatically determine the suffixes of your manga folders.
Note that each manga folder must end with a number such as 1, 001, 1.11, or 001.11 for this to work.
-Output base folder
Instead of specifying -output_folder at runtime, can specify an output base folder in the .properties file.
If the value is set to "default", then the output_base_folder will be: one directory up from -parent_folder/OUT/
If this value is set to [path to output base folder], then the output_base_folder will be: [path to output base folder]/[manga title]/
Acceptable values: default, [path to output base folder]
For Linux systems, [path to output base folder] should be something like /home/[username]/Manga/IPAD/
For Windows systems, [path to output base folder] should be something like C:\\Manga\\IPAD\\
Note that [path to output base folder] cannot contain any spaces.
-ComicZeal naming
For iPad users who read manga using ComicZeal (like me), this option uses a special ComicZeal naming scheme for the zip archives.
It places the title of the manga at the beginning of the filename, followed by a ~ (for example: School_Rumble~School_Rumble_-_Ch.001).
When ComicZeal imports these specially named files it will automatically sort the manga into the correct collections.
This is set up in the .properties file.

New to version 1.5:
My parents surprised me with an iPad (they are awesome!), so now I have one to test manga on.
Manga looks great on the iPad, and I've changed the defaults in the .properties file to reflect the best settings for the iPad.
Also, for iPad users I recommend getting a reader app such as Goodreader for pdf manga, or better yet ComicZeal for cbz manga (that's what I use).
-Single folder mode
Instead of batch processing a collection of organized manga folders, you can specify a single folder to process.
This works transparent to the user. When you specify -parent_folder it checks whether there are subfolders (batch mode) or not (single folder mode) and then continues working accordingly.
-Full size images
Instead of specifying a width and height to resize images to, now you can leave the images the same size as the source images.
I recommend using this setting for the iPad since the larger images are better to zoom on, and the iPad makes it easy to zoom on images.
This is set up in the .properties file by setting "width" and/or "height" to -1
-Can disable auto rotate for portrait images
Before I had portrait images automatically rotated to landscape mode by default, but now you can turn this off if you want.
This is set up in the .properties file.
-Binding for epub
Now you can bind multiple manga folders into a single epub.
Note that epub is still in BETA. I can sync the epubs using iTunes, but I can't get them to appear in iBooks. If you know how to fix this please pm me on mobileread.com (username "lilman").

New to version 1.4a:
Fixed an error in the toc.ncx file of the epubs.

New to version 1.4:
-Epub
This is in BETA! I do not have an iPad and so I have no idea how this will look on one.
I wanted to add epub support so that you could add your manga to your iTunes library, making it easier to sync (and also so you could view it in iBooks).
This is my first experience with epubs and I wrote the code from reading epub tutorials online. A lot of this is guess work and therefore will most likely not work perfectly.
If you have any epub experience and know how to make these epubs work better on the ipad, please pm me on mobileread.com (my username is lilman). Thanks!
This is set up in the .properties file.
Note that there is no binding support for epubs yet.
-Bug fix: Fixed changing page_filename_length after processing manga will correctly rename image filenames when binding (I know, you probably would have never noticed this, but I did and it bothered me :P)

New to version 1.3:
-Auto-Binding
Same as binding, except you don't create a bind file. Instead, you just specify a single size for all bindings (for example, all bindings could have 10 folders in them).
This is set up in the .properties file.

New to version 1.2:
-Binding
Binding allows you to easily combine chapters into volumes while still keeping your original manga chapter folders intact.
See the included bind.txt for instructions on setting up a bind file.
-Can specify zip format (either .zip or .cbz)
I figured some comic programs might like the .cbz extension better. This option is set in the .properties file.
-Changed command line parameters
I changed some of the command line parameters, so run 'java -jar Canti.jar' to see the list of new commands.
-Other random tweaks
I rewrote a good chunk of the code. Lots of error handling and other nice stuff. For example, let's say you already converted a lot of manga but
you added a few more chapters to your collection. The program is smart enough not to reprocess manga that has already been processed (a big timesaver).

New to version 1.1a:
Fixed the grayscale not working bug.

New to version 1.1:
Since the iPad is about to come out, I made some small changes to the program to accomodate the new shiny device.
-Added support to .properties file for specifying color or grayscale of output images.
-Added support to .properties file for specifying number of colors of output images, or not limiting the range of colors at all.
Also, I got tired of calling this "my manga processing program" so I'm giving it a name: Canti, after the Medical Mechanica robot from FLCL. So anyway, enjoy Canti version 1.1.

----------------------------------------------------------------------
-Note from the author-
I wrote this program for fun and for my own personal use, but decided to release it publicly so that all manga/comic lovers could use it.
It works great to process manga for my Kindle DX and iPad. I hope you enjoy!

I HIGHLY recommend using pdf for manga on the Kindle DX.
For the iPad, I recommend cbz manga and a comic reading app. I use ComicZeal, but if I ever end up writing my own iPad comic app I recommend that one instead :P

----------------------------------------------------------------------
-License-
Canti is Copyright 2010 Andrew Mantel.

Canti is freeware and can be distributed freely as long as it is not
modified.

Then you use this software you do so at your own risk. The author is
not responsible for any loss or damage resulting from the use or
misuse of this software.
