View Single Post
Old 07-21-2009, 10:24 AM   #1
Gearhead
Enthusiast
Gearhead began at the beginning.
 
Posts: 32
Karma: 45
Join Date: Dec 2007
Device: Kindle DX, PRS505
Restore KindleDX's font dialog justification toggle

Selectable text justification is one the issues that I've been keen to have Amazon address. They actually built this feature into all Kindles but left it disabled. I've not seen any issues when using the built in left justification but maybe there is a reason Amazon left it disabled. Maybe it is buggy? Maybe some publishers are forcing Amazon to keep the feature off the Kindle? This is the third generation of the Kindle hardware without an official left justification toggle and it doesn't seem likely that Amazon will enable this so I'll go over the steps I took to enable the built in justification toggle (full, left) on the DX.

First, a bit of background. Out of the box, the Kindle uses full text justification. This means that the left and right margins are even. This looks good to most folks. It is how most printed books look and works well enough. I find that full justification is distracting and prefer a single space between words with a ragged right margin. This is a more agreeable to me when you have the ability to change font sizes, it keeps the white space uniform between the words no matter what font size. (see attached images)

I've been following ebs lead on the screen saver fix and poked around the DX until I found the settings that need to be changed to enable the justification toggle. Once these settings are added to your DX, you will see the toggle show up automatically on the font (aA button) screen.

The settings to allow the toggle reside in this file:

system/com.amazon.ebook.booklet.reader/reader.pref.default

Here is how mine looks now:

Code:
#Reader Booklet
#Tue Jul 21 09:31:16 GMT 2009
FONT_SIZE=36
JUSTIFICATION=left
LAST_BOOK_READ=/mnt/us/documents/UR-asin_B001RF3U9K-type_EBOK-v_0.azw
ALLOW_JUSTIFICATION_CHANGE=true
You can view this file in any text editor. It is in the user mountable section at the same level as the documents folder. Unfortunately, you can't just add ALLOW_JUSTIFICATION_CHANGE=true because the Kindle framework rewrites this file when shutting down. The settings need to be injected after boot but before the java framework is started. Since I already implemented ebs usbnetworking auto start script, I decided to hijack it to see what happened. It worked. My changes are in bold

Code:
#!/bin/sh

    _FUNCTIONS=/etc/rc.d/functions
    [ -f ${_FUNCTIONS} ] && . ${_FUNCTIONS}

    US_ENABLE=/mnt/us/usbnet/AUTO

    case "$1" in

            start)
                    if [ -f ${US_ENABLE} ]; then
                            /mnt/us/usbnet/usbnetwork
                            
                            echo "JUSTIFICATION = left" >> /mnt/us/system/com.amazon.ebook.booklet.reader/reader.pref                                       
                            echo "ALLOW_JUSTIFICATION_CHANGE = true" >> /mnt/us/system/com.amazon.ebook.booklet.reader/reader.pref
                            
                    else
                            msg "not usbnet" I
                    fi
            ;;

            stop)
                    ;;
            *)
                    msg "Usage: $0 {start|stop}" W >&2
                    exit 1
                    ;;
    esac

    exit 0
With these changes, I rebooted once into auto usbnetworking. That injected the changes. Another reboot is needed to get back to normal mode. Although this works, the echo lines should be moved to separate script and there needs to be some shell logic written to prevent injecting the justification lines into the reader.pref file if they already exist. If there is enough interest, these changes could be packaged up into a binary file to make updating easier. Also, there needs to be a way to reverse this change.

-robert
Attached Thumbnails
Click image for larger version

Name:	screen_shot-4589.gif
Views:	905
Size:	16.2 KB
ID:	32735   Click image for larger version

Name:	screen_shot-4590.gif
Views:	907
Size:	15.5 KB
ID:	32736  
Gearhead is offline   Reply With Quote