eReader

eReader is the name for a particular program used to read a Palm based eBook format. It is also used by many people as a generic term to indicate eReading devices. This page covers the Palm Reader program. If you were really looking for hardware Readers go to E-book devices.

eReader is the latest name for Palm Reader. It is a viewer for electronic documents on PalmOS and other platforms and devices. eReader is also used by many people to indicate eReading devices. If you were really looking for hardware Readers try E-book devices. Barnes and Noble purchased Fictionwise and thus eReader software and uses this as their eBook format on their web site and the new Nook eBook reader. This format is no longer used in new devices and publishing in this format has ceased.

Palm Reader was originally Peanut Reader, a product of early ebook publisher Peanut Press. Palm bought Peanut Press and renamed them the Palm Digital Media division. The product was renamed Palm Reader, and a freeware version was bundled with most PalmOS devices as an optional install, or included in device ROM.

Palm subsequently sold the Digital Media division to Motricity, Inc., who renamed the product eReader, and created versions for Windows Mobile devices, Windows and Mac platforms. As of Jan 09, 2008, Fictionwise acquired eReader from Motricity. Barnes and Noble purchased Fictionwise as of Mar 05, 2009 which includes eReader.

Like PalmReader, eReader is available in freeware and Pro versions. Currently the Pro version is released free as well on some platforms and for a reduced price on others. The additional features include downloadable font support and dictionary look up. The same executable is used in both the free and pro versions with the pro version reverting to basic support after a trial period. Most platforms now include the Pro version for free. This is also available from Barnes and Noble for free as their eBook format, as they now own eReader and Fictionwise.

eReader files are produced from source text in Palm Markup Language format. eReader files in PNRd format can be produced by the older MakeBook and DropBook programs, or by the shareware eBook Studio. They will generally have a .pdb extension.

eReader is capable of displaying PalmDOC files and its native PML (Palm Markup Language) formatted files. Documents may be in device RAM, or may be on an expansion card in the /Palm/Launcher or /Palm/Books directories on a PalmOS Device. eReader is available on a wide variety of platforms.

In addition, eReader supports Digital Rights Management, and can be used to view downloaded commercial titles. These titles are encrypted, and use a key based on the purchaser's credit card number to decrypt for viewing. They have a temporary license capability that can be used by libraries and for sharing eBooks.

Two other data files are associated with this reader: Ex and Kx. These letters are appended to the file name (just ahead of the extension) and store metadata.

The easiest method to make content in this format is to use eBook Studio which is available for Windows and MacOS. If you are willing you learn PML, Palm Markup Language, you can create files in a text editor and then drag them to Dropbook or use a Java version called Makebook. Dropbook is also available on Windows, MacOS, and Unix. Makebook is no longer supported but will run anywhere Java is supported. Dropbook and Makebook are free.

If you include a file called cover.png it will be recognized as a cover and displayed as such.

odt2pml is a macro to export an OpenOffice Writer document to Palm eReader. It creates a PML file for use with dropbook. Another Macro, this one for word, called PublisheBook allows using SaveAs to make a eReader PML file.

Adobe Framemaker includes a convert option supplied by the Webworks connection.

Book Designer can also be used to create these kinds of books. It also uses Dropbook but includes a really old copy. Replace the copy in the install directory with the latest version for better results.

Palm Markup Language is the source language used to create documents for eReader. Files in this format are then compiled for use with the reader. The following table specifies the Palm Markup Language commands, and what they do. Looking at the table provides insight into what can be done with the PNPd format which Fictionwise calls -ER.PDB.

\p

New page

\x

New chapter; also causes a new page break. Enclose chapter title (and any style codes) with \x and \x

\Xn

New chapter, indented n levels (n between 0 and 4 inclusive) in the Chapter dialog; doesn't cause a page break. Enclose chapter title (and any style codes) with \Xn and \Xn

\Cn="Chapter title"

Insert "Chapter title" into the chapter listing, with level n (like \Xn). The text is not shown on the page and does not force a page break. This can sometimes be useful to insert a chapter mark at the beginning of an introduction to the chapter, for example.

\c

Center this block of text; close with \c on beginning of line

\r

Right justify text block; close with \r on beginning of line

\i

Italicize block; close with \i

\u

Underline block; close with \u

\o

Overstrike block; close with \o

\v

Invisible text; close with \v (can be used for comments)

\t

Indent block. Start at beginning of a line, close with \t at end of a line

\T="50%"

Indents the specified percentage of the screen width, 50% in this case. If the current drawing position is already past the specified screen location, this tag is ignored.

\w="50%"

Embed a horizontal rule of a given percentage width of the screen, in this case 50%. This tag causes a line break before and after it. The rule is centered. The percent sign is mandatory.

\n

Switch to the "normal" font, which is specified by the user

\s

Switch to stdFont; close with \s to revert to normal font

\b

Switch to boldFont; close with \b to revert to normal font (deprecated; use \B instead)

\l

Switch to largeFont; close with \l to revert to normal font

\B

Mark text as bold. Unlike the \b tag, \B doesn't change the font, so you can have large bold text. You cannot mix \b and \B in the same PML file.

\Sp

Mark text as superscript. Should not be mixed with other styles such as bold, italic, etc. Enclose superscripted text with \Sp.

\Sb

Mark text as subscript. Should not be mixed with other styles such as bold, italic, etc. Enclose subscripted text with \Sb.

\k

Make enclosed text into small-caps; close with \k. Any characters enclosed in \k tags (including those with accents) are made uppercase and are rendered at a smaller point size than a regular uppercase character.

Reference a link anchor which is at another spot in the document. The string after the anchor specification and before the trailing \q is underlined or otherwise shown to be a link when viewing the document.

\Q="linkanchor"

Specify a link anchor in the document.

\-

Insert a soft hyphen. A soft hyphen shows up only if it is necessary to break a word across a line.

\Fn="footnote1"1\Fn

Link the "1" to a footnote whose name is footnote1, tagged at the end of the PML document. See the section on Footnotes and Sidebars below.

\Sd="sidebar1"Sidebar\Sd

Link the "Sidebar" text to a sidebar whose name is sidebar1, tagged at the end of the PML document. See the section on Footnotes and Sidebars below.

\I

Mark as a reference index item. Enclose index item (and any style codes) with \I and \I. See Creating Dictionaries for more information.

The following rules are intended to guarantee that images in your eBook will be viewable on all platforms that eReader runs on.

On low-resolution Palm OS handhelds, an image wider than 158 pixels or taller than 148 pixels will be represented in the text by a thumbnail that the user can tap to view the entire image. Images smaller than 158 x 148 will be presented in-line with the text.

On high-resolution Palm OS handhelds (those having screens of 320x320 pixels or more), images smaller than 158 by 148 pixels will be pixel-doubled. Images larger than 158x148 may be shown in-line with the text, if they will fit on the screen.

On non-Palm OS platforms, small images will be scaled up appropriately. Large images will be scaled down to fit on the page; in this case the user can tap on the image to view the entire image and zoom in or out.

For DropBook to find the image, it must be present in a directory whose name matches that of the PML text file. For example, if "pmlsample.txt" contains a reference to an image called "intro.png", then there must be a directory called "pmlsample_img" that contains intro.png. The directory's name is the name of the PML file (without the .txt extension) with "_img" appended.

Images must be in PNG format and cannot be filtered or interlaced. Image depth must be 8 bits or less. Any color table may be used for color images.

Image files must be less than or equal to 65505 bytes in size, since they are embedded into the .pdb format of the book; Palm database records are limited to 65505 bytes in length. Since images are compressed, the actual image displayed by the reader may be much larger than 64K.

DropBook normally presents a dialog in which the title and other Metadata information for the eBook may be specified. This information may be embedded in the PML file instead.

To specify the eBook title as it will appear in the Open dialog on the handheld, place a block of invisible comment text at the beginning of the file using \v tags. Inside this comment block, put the string TITLE="My eBook", where "My eBook" is replaced with the name of your eBook. It should look something like this:

\vTITLE="Palm Sample Document"\v

You can also specify the author using the AUTHOR meta-tag, the publisher with PUBLISHER, copyright information with COPYRIGHT, and the eBook ISBN with EISBN. A fully-specified set of meta-information might appear in PML as:

The \I PML tag is used to delimit an index item. Example: \Iaardvark\I

Each entry must start in the normal font. If DropBook shows an error beginning with "No styles permitted before...", there is probably a missing end style tag before the text shown in the error message.

Links, chapters and other PML structures are not permitted in dictionaries. Images, however, are.

A special dictionary entry, "(Front matter)" is shown before other entries in the list of entries, and should be used to include pronunciation symbols and other front matter.

The eReader format is contained within a Palm Database Format container. The first record in the container is the eReader header which contains information about what type of data is in the rest of the sections as well as other information. All subsequent sections contain data such as compressed text, images, footnotes, sidebars, bookmarks...

All text records use cp1252 encoding (although eReader documents talk about UTF-8 as well). Their total compressed size is unknown however, anything below 3560 Bytes is known to work. The text will be either zlib or palmdoc compressed. Use the compression value from the eReader header to determine which.

Starting with DropBook 1.6.0 text is divided into 8KB (8192 bytes) blocks trimming the end to the closest space character and then being compressed.
Earlier version of DropBook 1.5.2 tries to behave the same way, though sometimes it trims the block in unexpected place.

Each chapter record corresponds to 1 chapter and points at the place in the book. Chapter record takes a form of 'offset name\x00'
First 4 bytes are offset of the original pml file where the chapter index points to (offset of the \x|\X?|\C? tags). Then without a space goes a name of a chapter in chapter index. It should contain only text, all formatting tags should be removed. \U and \a tags are not permitted in chapter name. To maintain sub-chapters 4*n spaces (\x20) are added to the beginning of the name, where "n" is level of chapter: 0 for \x tag and N for \CN="" and \XN tags. And then an ending \x00 symbol.

Links records are constructed the same way as chapter ones. Each link anchor record corresponds to 1 link anchor and points at the place in the book. Link record takes a form of 'offset name\x00'
First 4 bytes are offset of the original pml file where the link anchor points to (offset of the \Q tag). Then without a space goes a name of a link anchor. It should contain only text, all formatting tags should be removed. \U and \a tags are not permitted in link anchor name. And then an ending \x00 symbol.

The first footnote record is a \x00 separated list of footnote ids. All subsequent footnote records are the footnote text corresponding to the id's position in the list. Footnote text is compressed in the same manner as normal text records

E.G.

footnote section 1 = 'notice1\x00notice2\x00notice3\x00'

footnote section 2 = 'Text for notice 1'

footnote section 3 = 'Text for notice 2'

footnote section 4 = 'Text for notice 3'

Starting with Dropbook 1.5.2 first record looks a bit different. It is sequence of \x00\x01 then 1 byte of footnote id length, then footnote id then \x00.

The first sidebar record is a \x00 separated list of sidebar ids. All subsequent sidebar records are the sidebar text corresponding to the id's position in the list. Sidebar text is compressed in the same manner as normal text records

E.G.

sidebar section 1 = 'notice1\x00notice2\x00notice3\x00'

sidebar section 2 = 'Text for notice 1'

sidebar section 3 = 'Text for notice 2'

sidebar section 4 = 'Text for notice 3'

Starting with Dropbook 1.5.2 first record looks a bit different. It is sequence of \x00\x01 then 1 byte of sidebar's id length, then sidebar's id then \x00.

The metdata record is always followed by a record which contains 'MeTaInFo\x00'

Note: Starting with DropBook 1.5.2 'MeTaInFo\x00' is not following Metadata Record. It is a separate record that ends the file and there are some more records between Metadata record and 'MeTaInFo\x00' record.