Reading Greek (or Russian, or ...) ePub books on a Sony Reader

I downloaded a number of Greek ePub books from Project Gutenberg and discovered on opening them that the Greek text fails to display correctly because the internal fonts on my Sony Reader PRS600 do not contain the glyphs for accented Greek characters or substitution tables. It is possible to reflash the Reader with firmware containing fonts with a greater unicode coverage, but here is an alternative method.

Mangled Greek text

1. Obtain some good quality fonts that are readable in small point sizes. I used Droid fonts designed for the small Android phone screen consisting of DroidSerif.ttf, DroidSerifBold.ttf, DroidSerifBoldItalic.ttf and the monospaced DroidSansMono.ttf. Place your chosen fonts in a new top-level directory called "fonts" (or any other name if you change the following instructions to match) on the internal storage of the Reader. This will be referred to as "/Data/fonts" by the internal browser.

2. Edit the cascading stylesheet (css file) within each ePub book to reflect the new fonts. Open the ePub file (which is a zip archive) using Archive Manager and locate the book content - my book is called "pg17814.epub" and in a folder called "17814", amongst various html files, is a stylesheet called "pgepub.css". I added the font-family rules for regular, bold and bold-italic text - and because this book also uses monospaced text to display the body text, I also modified the monospaced rule - the additions to "pgepub.css" are in red:


@font-face { font-family: "DroidSerif"; font-weight: normal; font-style: normal; src: url(res:///Data/fonts/DroidSerif-Regular.ttf) }
@font-face { font-family: "DroidSerif"; font-weight: bold; font-style: normal; src: url(res:///Data/fonts/DroidSerif-Bold.ttf) }
@font-face { font-family: "DroidSerif"; font-weight: normal; font-style: italic; src: url(res:///Data/fonts/DroidSerif-Italic.ttf) }
@font-face { font-family: "DroidSerif"; font-weight: bold; font-style: italic; src: url(res:///Data/fonts/DroidSerif-BoldItalic.ttf) }
@font-face { font-family: "DroidSansMono"; src: url(res:///Data/fonts/DroidSansMono.ttf) }
body { font-family: "DroidSerif", serif }

body, body.tei.tei-text {
color: black;
background-color: white;
margin: 0.5em 1em 0 0.5em;
border: 0;
padding: 0
}
div, p, pre, h1, h2, h3, h4, h5, h6 {
margin-left: 0;
margin-right: 0
}
h2 {
page-break-before: always;
padding-top: 1em
}
.pgmonospaced {
font-family: "DroidSansMono", monospace;
font-size: 0.9em
}
a.pgkilled {
text-decoration: none
}

3. You can save this "pgepub.css" file outside the ePub archive to insert into other Project Gutenberg ePub books, or to refer to when modifying the stylesheets of ePub books from other sources.

4. Now when the ePub book is transferred to a memory card, or the internal storage on the Reader, the fonts will be displayed using the fonts from the "/fonts" directory. This will only affect ePub books edited this way. It will not affect the menus. It will nort affect any other boks in any format. The new fonts will not be used if the modified ePub book is transferred to a different reader without the "/fonts" collection, which will fall back to the internal font files.

5. The internal fonts files are Swis721 BT, Roman (sans serif, file "tt0003m_.ttf"), Dutch801 Rm BT (serif, file "tt0011m_.ttf") and Courier10 BT (monospaced, file "tt0419m_.ttf") and can be inspected on your computer hard disk (if you have installed the Sony Reader library software) in the "Reader/Data/fonts" directory.