View Single Post
Old 09-15-2012, 03:30 PM   #57
ihor
Enthusiast
ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'ihor understands when you whisper 'The dog barks at midnight.'
 
Posts: 43
Karma: 42986
Join Date: Aug 2011
Location: Lviv, Ukraine
Device: Kindle DX Graphite
In my case I have 3.2.1 firmware on DX, and I did this hack for my device. I don't have any other devices.

I wrote the steps how I did that hack in my instruction. So now everyone can make same things with his device.

What is the difference between my device and yours? The difference is the fact that your version of MobiReader (java app which is resonsible for rendering book on screen) may be different. The jar files in your case will have different resource classes with different names in comparison to mine, and those classes may have different array fields.

So, you have first to find where are those arrays that have to be changed.

I would suggest you to search for them in following way:
1) copy all jar files that you find in \opt\amazon\ebook\booklet\ and \opt\amazon\ebook\lib\ directories to your disk.
2) download JAD and put it to PATH
3) for each jar file which you found and which you suspect that it will have that array that should be changed, do following steps:
4) create a powershell file

get-childitem C:\Projects\MobiReader\ -include *.class -recurse | foreach ($_) {jad.exe -d $_.directory -s .java $_.fullname}

(MobiReader dir in my case is the dir where I unpacked MobiReader.jar)
this will decompile you all classes recursively and will create .java files for every .class file. This is for Windows machine (I am windows programmer). If you have Linux - I don't know how to automate it to avoid running jad.exe eachfile.class for every file separately.

5) in Far Manager (or any other tool you like) do search for "font.size.list" or for "17,18,21" in all java files you've just made. The latter string I made by looking at what sizes are set in FONT_SIZE parameter written to \mnt\us\system\com.amazon.ebook.booklet.reader\rea der.pref file after I increase font size one by one - IN YOUR CASE FONT SIZES MAY BE DIFFERENT.

In case of Kindle DX with 3.2.1 firmware there are 2 such files that are responsible for font sizes:
\opt\amazon\ebook\booklet\MobiReader.jar
and
\opt\amazon\ebook\lib\framework-api.jar

In your case with different firmware and device, you may have different set of jar files and different classes that contain a (hardcoded) array.

But you'll have to find it on your own.

6) after you find it, follow my instruction to modify it, recomile, jar and put back to your device.
ihor is offline   Reply With Quote