FontMaker for BasicG


By George D. Madison




Recently, the ability to use DotWriter fonts on the HiRes screen was made
available to the TRS-80 user.  This is a great development, but it does
have some drawbacks.  One is that the process is slow, another is that it
requires that you have the fonts somewhere online, taking up disk
space.  Also, if all you want are a few special symbols, the ones you need
may not exist.

Enter FontMaker.  The built-in "PRINT-#3" command in BasicG uses a fast,
self-contained font which, up until now, was not easily
changed.  FontMaker lets you make whatever changes you desire, and save
them in a way that lets you use them from ANY BasicG program.

Run FM/BAS like any other BasicG program; the startup notice will let you
know the program is initializing; the screen will then clear to present
you with an 8x8 grid on the left, and a menu of options on the
right.  I'll go down the list of menu options and explain what they do.


<S>ave -- This will save the area of RAM in which BasicG keeps its font
data to disk; you will be prompted for a filename without extension.  This
file is a memory DUMP, and may be loaded in again easily using the
SYSTEM"LOAD command.

<L>oad -- This is the opposite of Save, loading a disk file into the RAM
area by the method I just described.

<P>ut -- This command will copy your work buffer back to the RAM area in
BasicG when you are finished editing your character set.

<G>et -- This command will copy the RAM area to your work buffer so that
you can edit your character set.

<E>dit -- This displays a character on the editing grid so that you may
edit it.  The grid is cleared before the character is displayed.

<D>one -- This command takes whatever is on the editing grid and saves it
to the character specified when the last <E>dit command was issued.

<Q>uit -- This clears the screen and terminates the program.  It's up to
you to make sure all your work is properly saved before you issue this
command.

<SPACE> -- The space bar will complement the cell the flashing cursor is
in; if the cell is black, it will be made white, and vice versa.

<#> -- This indicates that cursor movement is made by the number keys on
the numeric keypad.  For example, 8 is up, 1 is down and left, etc.

<C>lear -- This erases the editing grid.

<I>nvert -- This reverses the white/black status of all the cells on the
editing grid.


You will note that there is no way to load or save the work buffer
directly from disk; this is due to the simple fact that I don't know how
to construct a memory load module from BASIC.  It may seem clumsy to have
to work through the RAM area in BasicG, but the <P>ut/<G>et functions are
relatively speedy and painless.

Have fun with this; I realize that an 8x8 pixel grid isn't much to work
with, but that's the way it goes; think of it as a challenge to your
creativity!  If you think of any significant improvements or enhancements,
I'd like to hear from you; my account on GEnie is GEORGE.M.
