                        _____        ___  ___        _____
           |\  /|   /\    |   |   | |    |   | |\  |   |
           | \/ |  /__\   |   |---| |-   |   | | \ |   |
           |    | /    \  |   |   | |    |___| |  \|   |    rev. 0.8


History
-------
NEW in Version 0.8: Minifont  added;  now MFtog program toggle both system  font
    and  minifont. Small design adjustments and chars moving. Changed  the ID of
    the font to 01. Text below revised.
NEW in Version 0.7: Font object deleted. MFTog renamed to Mathfont.
NEW in Version 0.6: Many new  Math Symbols added.  Character map redesigned only
    for MathFont symbols, hence remains compatible with the builtin System Font.
    Added MFtog (see below).
NEW in Version 0.4: Various graphic/design adjustment and small letter adding.
NEW in Version 0.3: Very first public version of mathfont.

Installation
------------
MFtog  (2.4  KB) toggles, at the same time, current builtin Font8  and  Minifont
with  the incapsulated MathFont and MathMinifont objects. To recall these to the
stack  (usually  not  necessary) toggle in MFtog and execute  the  user-commands
FONT-> and MINIFONT->.
Toggling the built-in font and minifont may change some letters in global names.
Hence,  it  may  be  more useful to be able to restore  the  builtin  Font8  and
minifont  in  any  moment:  for this reason a toggler is  provided,  nor  simply
objects.
Note that a warmstart does not preserve an eventually font modification and sets
always  a  builtin  font  and minifont. So you can think to add  MFtog  to  your
STARTUP variable.

The Font
--------
MathFont  is  designed for  mathematics  and engineering.  Roughly  speaking, it
arises by replacing the multi-language support  of the builtin font by a  sample
of glyphs  used in  formal and  informal mathematical  languages. See  below for
preservings. Clearly, punctuation  signs are left  as they were,  and more greek
letters are  added. For  reasons of  compatibility, the  character map  has been
redesigned only to some extend. The order followed for adding new characters  is
the  following,  starting immediately  after the available  greek letters in the
builtin System Font:

1  - Lowercase Greek Letters
2  - Uppercase Greek Letters
3  - Superscript Numbers                 [0,...,9]
4  - Subscript Numbers                   [0,...,9]
5  - Superscript Operators and Symbols   [+, -, =, (, ), ~, dieresis, reversed^]
6  - Dot Product symbol
7  - Subscript Operators and Symbols     [+, -, =, (, ), ~, ', cedilla]
8  - Superscript lowercase letters       [i, j, k, l, m, n]
9  - Subscript lowercase letters         [i, j, k, l, m, n]
10 - Vectors                             [i, j, k, u, v, w, n, t, b]
11 - Math Signs

Accented  or characteristic-language  letters cannot  directly be  created -  an
automated font generator would be needed for  such a purpose - but a letter  can
get subscripts and superscripts, as  well as post- or pre-written  signs/accents 
of all kinds (look carefully at the char table).

Preserved characters:
- Uppercase 'A' with circle above it (Armstrong Unit Symbol)[CODE=197]
- Currency symbols (US Dollar, Euro, UK Pound, Yen)         [CODE=4,160,163,165]
- Paragraph sign modified to represent also circuitation    [CODE=167]

How to use the Font
-------------------
The primary use of  MathFont is, that one  can write set-theoretical or  logical
formulas of all  kind without any  difficulty as strings.  To a limited  extend,
non-standard  letters can  also be  used in  algebraics, written,  e.g., in  the
Equation Writer. They can also be used in global names and rompointers.
MathMinifont  is  a porting of the Mathfont to the minifont object type.  It  is
designed to be used in conjunction with Mathfont, so you can view your formulas,
equations  and  names with pretty-print facility provided by Mathfont also  with
"small" characters (e.g. you can enable the small stack/EQW display).
Note  that characters with code smaller than 33 can't be used in names: they are
control characters and "vanish" whenever they are not included in strings.

How to modify the Font
----------------------
Mathfont can be modified like any  builtin font just by pressing rightshift  CAT
(FONT) and then F4 (MODIFY). Move the cursor with the arrow keys and toggle  the
presence of  a font-pixel  with the  dot-key (103.1).  Then leave  with ENTER or
SCAN, or press CHR+/CHR- to alter  the next/prev character. Note that hitting ON
(CANCEL) deletes  all the  current modifications.  These remain  valid until the
next warmstart.  If you  want to  preserve a  modified font  forever, it must be
recalled  with FONT->  and  stored  (perhaps compressed),  best in  a port.  For
loading use the MODES/DISP Menu or the function ->FONT.
MathMinifont  can't  be directly modified, because the HP49G does not provide  a
built-in minifont editor as for font objects. You have to use an external editor
(search at www.hpcalc.org) to modify it accordingly to Mathfont.

--------------------------------------------------------------------------
Federico Marziali (Kickaha), Kickaha@libero.it
Wolfgang Rautenberg - raut@math.fu-berlin.de - www.math.fu-berlin.de/~raut
