--  file  : font.txt - 'readme.1st' file
--  author: jiri babor
--  email : jbabor@paradise.net.nz
--  date  : 98-11-02

--  version 4.30

Firstly I want to thank many people who helped me to get this far,
some directly, some just by posting a good code. I will not mention
any names, because I do not even remember them all. I really
appreciate *every* request, suggestion, advice and even criticism I
receive. But I must make just one exception: Colin Taylor deserves my
special thanks, simply because he contributed so many excellent ideas
and so much encouragement in the early stages of the project (what
happened to you, Colin?).

This is a major update of my font.e itself, but *not* of the utilities
previously bundled with it: the font editor, mouse routines, menus,
graphical elements, etc. Sorry, but I shall be working on those and
releasing them at my own pace (very very slow at the moment, the new
tennis season has already started...) and only if I judge there is a
genuine demand for them.

New features include (as listed at the top of the font.e file):

    *faster* writes, especially with plain color fore/backgrounds
    foreground texturing option
    8x16 ROM char set as default
    font attributes: bold, shadow, italic & underline
    images function - fast generation of rectangular text images
    vertical text
    global routines only: *no* global variables any more
    each font with its own private copy of size dependant parameters
    'on-the-fly' change of foreground color and/or attributes
    multi-line support (imbedded new line chars)
    text justification: left, right and centre
    new/changed defaults
    prompt function (formerly fgets) with additional width parameter,
        scroll, xor cursor and much better edit facilities

I have deliberately kept the font file format intact, so if you need
to touch up a font, or even to design a new one, you can always go
back to version 2.xx...

For the people, who never used or even heard of font.e: it is just one
of many graphical text utilities already available for Euphoria. It
allows you to place text on the screen with pixel accuracy. Dozens of
fonts of various styles and sizes are already available and the system
is reasonably flexible. It works well in all graphics modes that
support the pixel() routine.

So how do you use it? Simple, now even simpler than in the previous
versions: just include font.e somewhere near the top of your program
and you are ready to go. By default it accesses the built-in 8x16 ROM
character set, so no other font files are even required. If you say,
e.g.:

    setx(10)  sety(50)
    write("this is just a test...")

the text pointer, the top left corner of the first character space is
moved to the specified screen location and the text is displayed in
default colors and with default attributes.

So what's the big deal? No big deal, but it does allow you to get
quite fancy. Among other things, you can change foreground and
background colors (I said, no big deal), or you can make the
background transparent. The foreground color does not have to be a
single color, it can be any two-dimensional pattern too. You can also
select any combination of attributes: just plain, or bold, shadow,
italics and underline. The foreground color and all attributes can
also be changed 'on-the-fly', from within the text itself, using
special characters. Left, right or centre line justifications can be
chosen and multi-line strings (with imbedded new line characters) are
correctly handled. You can load and use as many fonts as you need and
each one will have it own private, permanent copy of size dependant
parameters. And if that's not interesting enough, you can try the
vertical text orientation, or the indirect text image generation...

Enjoy. jiri
