                                        Oct. 10, 1988   19:00
                                        Dan Ross
                                        1346 River St.
                                        Santa Cruz, CA 95060
                                        (408)426-4197


            Laser printer font for people with visual impairment

This diskette contains a proportional-pitch font in portrait orientation, for
use in laser printers compatible with the H-P LaserJet2.

IMPAIRED is a 31-by-(approximately)25 font with no descenders.  It includes the
printable subset of the ASCII character set, except that all ASCII values that
represent lower case letters, actually will print upper case letters.

The size of the font is appropriate for printing 7.5 lines per inch, with
approximately 72 characters (maximum) per line.

The appearance of the font is designed to optimize human recognition and
distinction among the characters, even if the characters appear slightly
blurred to the human reader.

All the software for developing or modifying the font, are included in both
source and executable form in this diskette.  All code is written in the
language Microsoft C version 5.10.

FILES
-----

IMPAIRED.LOD    containing the LaserJet2 commands and font to be downloaded for
                    exclusive use of this font only.
IMPAIRED.SFP    containing the LaserJet2 commands and font to be downloaded for
                    shared use of this font along with other fonts.
IMPAIRED.BAT    for downloading the font from file IMPAIRED.LOD.
IMPAIRED.TXT    containing the character patterns as drawn by a text editor.
IMPAIR2C.C      containing the source code of IMPAIR2C.EXE.
IMPAIR2C.EXE    for converting the character patterns into initialization data
                    for an array declaration in the C language.
IMPAIRED.C      containing the initialization data created by IMPAIR2C.EXE.
IMP2LOAD.C      containing the source code of IMP2LOAD.EXE.
IMP2LOAD.EXE    for generating file IMPAIRED.LOD.
IMP2SFP.C       containing the source code of IMP2SFP.EXE.
IMP2SFP.EXE     for generating file IMPAIRED.SFP.
CL_IMP2C.BAT    for compiling and linking IMP2C.EXE.
IMP2C.LNK       for linking IMP2C.EXE.
CL_IMP2L.BAT    for compiling and linking IMP2LOAD.EXE.
IMP2LOAD.LNK    for linking IMP2LOAD.EXE.
CL_IMP2S.BAT    for compiling and linking IMP2SFP.EXE.
IMP2SFP.LNK     for linking IMP2SFP.EXE.
TEST.TXT        containing some example text to be printed, which will
                    demonstrate the font.
EDITING NEEDED
--------------

The *.BAT files contain directory references that are appropriate to my own
computer.  You undoubtedly will want to edit these files, to change the
directory references.

HOW TO USE THE FONT
-------------------

Copy all the files from the distribution diskette into hard disk subdirectory
C:\LASER.

This section describes how to print exclusively with font IMPAIRED, using file
IMPAIRED.LOD.  This section does not describe how to install font IMPAIRED into
some other word processing package.  Refer to the instructions for your word
processor on how to perform that installation, and use file IMPAIRED.SFP.

Use the DOS COPY command, or file IMPAIRED.BAT, to copy file IMPAIRED.LOD to
the laser printer.  In addition to downloading the font, file IMPAIRED.LOD
contains laser printer commands to reset the laser printer, to make the font
permanent, to make it the primary selected font, and to set spacing appropriate
to the font.  IMPAIRED has font ID number 13.

EXAMPLE
-------

In this example, source code file TEST.TXT will be printed in font IMPAIRED.

Select the root directory of hard disk C:
    C:
    CD \
If hard disk subdirectory C:\LASER does not already exist, create it:
    MKDIR \LASER
Make it be the current directory:
    CD \LASER
Mount the distribuition diskette on drive A:, then copy all files:
    COPY/V A:*.*
Remove the distribution diskette from the computer.  Turn on the printer and
let it warm up.  Then download font IMPAIRED with the aid of the BATCH file:
    IMPAIRED
Print file TEST.TXT using a standard PC-DOS PRINT statement:
    PRINT TEST.TXT

MORE ON HOW TO USE THE FONT
---------------------------

Downloading file IMPAIRED.SFP is not sufficient for subsequent use of the font.
It also is necessary to set the Vertical Motion Index of the laser printer.
The proper vertical spacing is 7.5 lines per inch, or 40 pixels from the top of
one line to the top of the next line, or (6.4)/48 inches per line.  The
Vertical Motion Index is set by the Escape sequence:
    e&l6.4C
where the lower case letter "e" represents the Escape character, and all the
other characters represent themselves.  Observe that the character after the
ampersand "&" is a lower case letter "L".

WHAT I HAVE DONE
----------------

I designed this font for ease of recognition, not for beauty.  To start with,
I discarded the lower case letters because they are too cramped and have too
many confusing lines for easy recognition.  The characters are drawn in a mix
of bold and extra-bold typefaces, with serifs only where serifs help
recognition.  Large areas which may be conceptualized as enclosed spaces, are
partially or completely filled in, to reduce the confusion of lines.  Some
lines, such as in the digit 7, are slightly tapered to mimic drawing with a
brush stroke.  The horizontal lines in the letter E are beveled, to emphasize
the open end on the right-hand side of the letter.  The asterisk has a sharp,
spiky appearance.  Each character is treated as a special case.  There is very
little stylistic uniformity among the characters.

WHAT I HAVE NOT DONE
--------------------

There are certain activities that normally should be performed before a new
product is released, that I have neglected to do.  Among them are:

    checking the Patent Office for design patents on similar fonts

    checking with organizations for visually impaired persons, to discover
    whether similar fonts exist

    extensive Beta site testing, using people with a variety of impairments,
    to determine what modifications might be necessary for each type of
    visual impairment

WHAT YOU NOW HAVE
-----------------

Because I have not done my homework, this font must be considered experimental.
I hope this font will be a useful starting point for independent investigations
and experiments by people receiving this diskette.  All the tools (except
Microsoft C) for modifying the font are included in the diskette.  Over a
period of time, YOU and other people like you can make this font evolve into a
truly optimized font for visually impaired readers.

HOW TO CREATE OR MODIFY THE FONT
--------------------------------

File IMPAIRED.TXT contains the character patterns as drawn by a text editor.
The characters appear in their order within the ASCII character set, starting
with character Exclamation Mark "!".  Each character is drawn in a cell
enclosed by quotation marks.  Inside the cell there must be only Asterisk and
Space characters, no Tab characters.  All patterns must contain at least 1
Asterisk.  Separating each pattern are:  an empty line (no Spaces), a line of
27 dashes matching the (nominal) cell width, and another empty line.  I used
the text editor programs PCWRITE and (Microsoft) M to draw the patterns.
PCWRITE does not leave Tab characters in the text it edits.  M can be
configured so as not to leave Tab characters.

Program IMPAIR2C reads the character patterns from file IMPAIRED.TXT, and
converts them to array initialization data for use in any C language program.
The output is written to file IMPAIRED.C.

The source code of program IMP2LOAD contains an array declaration, and an
#include "IMPAIRED.C"
statement to initialize the array with the character patterns.  Program
IMP2LOAD must be recompiled whenever the character patterns are changed.  Then
when IMP2LOAD is executed, it generates data file IMPAIRED.LOD.  Similarly,
program IMP2SFP generates data file IMPAIRED.SFP.

Caution:  Microsoft C version 5.0 has a bug in the use of 8086 register ES.
In order to avoid the bug, I do not use version 5.0.  The bug has been fixed in
version 5.1.  If only version 5.0 is available to you, you MIGHT avoid the bug
by disabling compiler optimization.

All Microsoft C programs in this diskette may be compiled using the small
memory model.

I have organized my C library as individual small files.  Therefore all the
.LNK files contain /NOD parameters and name each library file separately.

To change the font ID number, change the definition at the beginning of file
IMP2LOAD.C, recompile, and rerun program IMP2LOAD.

REWARDS
-------

I am submitting this font as part of my contribution to the welfare of the
computing community.  It is not to be used for direct commercial advantage,
unless it is included in some other product which has significant value
added.  There may be a nominal service charge for copying and redistributing
this diskette.
                                                Daniel Ross

