Allegro Book Worm v0.91
copyright (c) 2004 by Miran Amon


1. Introduction

Allegro Book Worm is a book reader application written by Miran Amon with the
excellent Allegro game programming library. It is designed for reading e-books
in normal ASCII txt format on the computer screen. Main features:

  * loads txt files of arbitrary size
  * renders text with true type, type 1 and many other types of fonts
    with or without antialiasing
  * intelligent automatic text justification
  * fully customizable colours, fonts, font sizes and page layout
  * remembers where you finished reading when exiting the program
  * can be run fullscreen or in a window
  * skin support
  * flexible bookmarks

2. Installing

Under MS Windows simply unzip the contents of the zip archive into an
arbitrary directory and optionally make a shortcut on your desktop. The
archive should contain the following files:

  BookWorm.exe  - the main application executable
  allegro.cfg   - the file with program configuration settings
  skins\*.*     - program skins
  src.zip       - source code
  info.txt      - short program info
  readme.txt    - this file
  alleg41.dll   - the Allegro DLL

In Linux you need to compile the program yourself (see below).

3. Compiling

This program was written with the aid of several programming libraries. To
be more precise, Allegro, Allegro Font and MASkinG were used. In order to
compile the program you will need to install those libraries first. See
section 5 to find where you can download those files from. After you have
successfully compiled and installed all the required libraries you can
compile Allegro Book Worm itself by unzipping the source files into a new
directory and running the command "make -f makefile.linux" (withuot the
quotes) in that directory. If all goes well, the compilation process will
produce the program executable named "BookWorm" which you can then run. If
not, make sure you have properly installed all the required libraries.

4. Using and configuration.

When you first run the program, you will be presented with a clean empty
desktop. To open a book simply select File/Open in the menu or press
Ctrl+O and select the file you wish to open with the file selector. Then
use the following keys to navigate and read the book:

  left         - previous page
  right        - next page
  up           - scroll up
  down         - scroll down
  page up      - scroll up (faster)
  page down    - scroll down (faster)
  home         - go to first page
  end          - go to last page
  keypad plus  - increase font size
  keypad minus - decrease font size
  Ctrl-G       - select page
  
Alternatively you can use the mouse to navigate. Left mouse button click
advances one page while right click goes one page page. Use the mouse
scroller if you have one to scroll the current page.

The program is fully customizable although at this stage in development
changes can't yet be made interactively. Instead you need to manually edit
the program configuration file which is located in the same directory as
the executable and is called book.cfg. Here are the most important options:

  skinPath     - full or relative path to the skin you want to use
  screenWidth
  screenHeight - the resolution or window size of the program in pixels
  fullscreen   - set to 1 for fullscreen mode or 0 for windowed
  antialiasing - set to 1 if you want fonts to use antialiasing; note tha
                 this is only available with some types of fonts (TTF and
                 type 1)
  back         - background colour in RGB format
  text         - text colour
  texts        - shadow colour; set to -1 to disable text shadows
  font         - path to the font you want to use; the program will search in
                 your windows/fonts directory automatically if the font can't
                 be found in the given path or current directory; supported
                 font formats include true type fonts and type 1 fonts
  fontSize     - the size of the font used for rendering the text
  linesPerPage - number of lines you want on each page.

Note that if you select unavailable options or options that don't make sense
you may get undefined behaviour, the program may refuse to run or it can even
crash. When setting the font try to select one in which no character is size
much differently than others, otherwise the text may not be rendered properly,
especially if the input text contains very long lines. Also certain text files
might not be rendered properly at all. As a rule of thumb, no lines in the
input text should exceed the length of 80 characters. If this is not the case
and some lines don't fit on the page, simply decrease the size of the font.

5. Links

Here are some links you might find useful:

  alleg.sourceforge.net       - the Allegro Game Programming Library homepage
  ferisrv5.uni-mb.si/~ma0747  - the MASkinG homepage
  promo.net/pg                - project Gutenberg (thousands of free books)

6. Credits

I would like to say thank you to the following people who made this
program possible:
    
  - Shawn Hargreaves and everybody else who made or helped make the
    Allegro programming library,
          
  - David Turner, Robert Wilhelm and Werner Lemberg for making the
    FreeType project (www.freetype.org),

  - Javier Gonzalez for making the AlegroFont library,
        
  - evryone else who offered assistance and support either by
    reporting bugs, suggesting program features, providing solutions
    to problems or in any other way helping develop this program and
    the MASkinG library.

7. Contact info

You can get the latest version of this program at my homepage:
    
  http://ferisrv5.uni-mb.si/~ma0747
        
If you want to contact me for any reason you can reach me at this address:
    
  miran_amon@hotmail.com
