home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PRINT
/
PEDFONT.ZIP
/
PEDFONT.TXT
< prev
Wrap
Text File
|
1994-02-05
|
148KB
|
3,262 lines
PEDFONT
by
Ken Murphy
Table of Contents
General Description . . . . . . . . . . . . . . . . . . . . . . . . 4
What PEDFONT Does . . . . . . . . . . . . . . . . . . . . . . . . . 4
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . 5
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
RESETPRINTER . . . . . . . . . . . . . . . . . . . . . . . . . 6
SHEETFEEDER . . . . . . . . . . . . . . . . . . . . . . . . . 6
FONTMODULE . . . . . . . . . . . . . . . . . . . . . . . . . . 6
PRINTERPORT . . . . . . . . . . . . . . . . . . . . . . . . . 7
The Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
General Description . . . . . . . . . . . . . . . . . . . . . 7
Context Sensitive Help . . . . . . . . . . . . . . . . . . . . 8
Menu Selections . . . . . . . . . . . . . . . . . . . . . . . . . . 9
File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Load Font . . . . . . . . . . . . . . . . . . . . . . . . 9
Save Font . . . . . . . . . . . . . . . . . . . . . . . . 10
Save As . . . . . . . . . . . . . . . . . . . . . . . . . 11
Print Font . . . . . . . . . . . . . . . . . . . . . . . 11
Download Font . . . . . . . . . . . . . . . . . . . . . . 12
Delete Font . . . . . . . . . . . . . . . . . . . . . . . 12
Rename Font . . . . . . . . . . . . . . . . . . . . . . . 12
Setup New Font . . . . . . . . . . . . . . . . . . . . . 12
Font Status . . . . . . . . . . . . . . . . . . . . . . . 14
Temper Toggle . . . . . . . . . . . . . . . . . . . . . . 14
Edit Font . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Epson Control . . . . . . . . . . . . . . . . . . . . . . . . 15
Operation/Control . . . . . . . . . . . . . . . . . . . . 16
Vertical Motion . . . . . . . . . . . . . . . . . . . . . 17
Horizontal Motion . . . . . . . . . . . . . . . . . . . . 18
Font & Pitch . . . . . . . . . . . . . . . . . . . . . . 19
Ornamentation . . . . . . . . . . . . . . . . . . . . . . 20
Copy ROM to RAM . . . . . . . . . . . . . . . . . . . . . 20
Character Tables . . . . . . . . . . . . . . . . . . . . 21
Character Styles . . . . . . . . . . . . . . . . . . . . 21
Print Enhancement . . . . . . . . . . . . . . . . . . . . 22
Macros . . . . . . . . . . . . . . . . . . . . . . . . . 23
Reset Printer . . . . . . . . . . . . . . . . . . . . . . 24
Printer Status . . . . . . . . . . . . . . . . . . . . . 24
User Commands . . . . . . . . . . . . . . . . . . . . . . 24
Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Quick Fox . . . . . . . . . . . . . . . . . . . . . . . . 25
Cyclical . . . . . . . . . . . . . . . . . . . . . . . . 26
Space . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Block . . . . . . . . . . . . . . . . . . . . . . . . . . 26
User Text . . . . . . . . . . . . . . . . . . . . . . . . 26
Exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1
Editing a Font . . . . . . . . . . . . . . . . . . . . . . . . . . 26
General . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Character Edit Pin Map . . . . . . . . . . . . . . . . . . . . 27
Edit Commands . . . . . . . . . . . . . . . . . . . . . . . . 29
Font Status . . . . . . . . . . . . . . . . . . . . . . . 29
Save Character . . . . . . . . . . . . . . . . . . . . . 30
Restore Character . . . . . . . . . . . . . . . . . . . . 31
Consecutive Pins On/Off . . . . . . . . . . . . . . . . . 31
Print Character . . . . . . . . . . . . . . . . . . . . . 31
Copy Character . . . . . . . . . . . . . . . . . . . . . 32
Move Rotation Center . . . . . . . . . . . . . . . . . . 32
Define Side Columns . . . . . . . . . . . . . . . . . . . 33
Clear Character . . . . . . . . . . . . . . . . . . . . . 33
Home Cursor . . . . . . . . . . . . . . . . . . . . . . . 33
Cursor to End . . . . . . . . . . . . . . . . . . . . . . 33
Move Cursor . . . . . . . . . . . . . . . . . . . . . . . 33
Toggle Pin On/Off . . . . . . . . . . . . . . . . . . . . 33
Insert Row . . . . . . . . . . . . . . . . . . . . . . . 33
Delete Row . . . . . . . . . . . . . . . . . . . . . . . 34
Insert Column . . . . . . . . . . . . . . . . . . . . . . 34
Delete Column . . . . . . . . . . . . . . . . . . . . . . 34
Shift Character . . . . . . . . . . . . . . . . . . . . . 34
Shift Column or Row . . . . . . . . . . . . . . . . . . . 34
Rotate Clockwise . . . . . . . . . . . . . . . . . . . . 34
Rotate CounterClockwise . . . . . . . . . . . . . . . . . 34
End edit . . . . . . . . . . . . . . . . . . . . . . . . 34
High Resolution Display . . . . . . . . . . . . . . . . . . . 34
Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 34
Designing Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Steps to Follow . . . . . . . . . . . . . . . . . . . . . . . 36
Adjacent Pins . . . . . . . . . . . . . . . . . . . . . . . . 36
Font Size . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Planning Characters . . . . . . . . . . . . . . . . . . . . . 36
Character Columns . . . . . . . . . . . . . . . . . . . . . . 37
Design Grids . . . . . . . . . . . . . . . . . . . . . . . . . 40
Cautions . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Sending Fonts to the Printer . . . . . . . . . . . . . . . . . . . 43
Partial Font Over . . . . . . . . . . . . . . . . . . . . . . 43
Full Font . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Full Font Defined Range . . . . . . . . . . . . . . . . . . . 44
Switching to RAM Character Printing . . . . . . . . . . . . . . . . 45
Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 45
What PEDFONT Doesn't Do . . . . . . . . . . . . . . . . . . . . . . 46
Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Technical Stuff . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3
I. General Description
PEDFONT is another program in the "ultimate" series. You know, the
"Ultimate File Copy" ... the "Ultimate Menu System", etc. which we see
so often. Now, here's the "Ultimate Epson Printer Utility".
Seriously, PEDFONT was developed as part of my "PEDIGREE" Shareware
system which prints graphic genealogical pedigree charts on an Epson LQ
24 pin printer (or compatible) using GEDCOM genealogical data. Any
Epson-compatible printer recognizing Epson's "ESC/P" command language
will work. Since PEDFONT was a development tool, I never intended
releasing it. I developed it because there was no satisfactory Epson
LQ font editor available. I also wanted a single program that managed
ALL the Epson LQ features AND included font building and editing. My
third reason for developing PEDFONT was to refine LQ fonts already
available in the public domain for which no editor could be found. And
I wanted all of that in a single menu-driven program. After PEDIGREE
had been released and had evolved through several versions, I became
aware that PEDFONT had also grown. And it looked good enough to let
loose if I made a few cosmetic and user-friendly changes, and if I
wrote a document for it.
Note: I make reference to keystrokes in the following manner: <key>.
Anything you read here that's surrounded with "<>" means a keyboard
key. <Esc> means the "Escape" key; <Ins> means the "Insert" key, <B>
means the letter "B" key, etc. Don't type either of the "<>" symbols.
II. What PEDFONT Does
PEDFONT was designed to send to the printer all possible commands in
the Epson "ESC/P" command repertoire. Epson America has since moved to
the "ESC/P2" command language in order to support newer printers that
have scalable fonts, raster graphics, multipoint, etc. PEDFONT was
designed only for the ESC/P Epson command language and not ESC/P2.
PEDFONT is useful in the following ways:
· Configuring the printer
· Developing and testing printer fonts
· Testing printer features
· Writing printer macros
· Designing and testing forms
Within one program, PEDFONT provides single key, menu driven access to
virtually every feature of the Epson LQ printer. Using more than 200
logically organized menu selections, you can turn "On" or "Off" every
print mode, set the printer into any font and style, select any
character set or ornamental style, control vertical and horizontal
printhead movement, and much more. PEDFONT is completely window
oriented and menu-driven. No other printer control program I examined
provides the total printer control of PEDFONT. The tradeoff for all
this good looking power is that PEDFONT is a substantially larger
program than any of it's predecessors, but it's small enough to run in
any IBM compatible computer.
4
PEDFONT provides an easy way to develop and/or modify user-defined
printer fonts. PEDFONT has font development features available in no
other font editor. As previously noted, it was used to develop each of
the 10 printer fonts I supply with my "PEDIGREE" genealogical shareware
program. PEDFONT will read fonts created by other font editors such as
LQFONT. The only restriction observed by PEDFONT is that a printer
font file must have the DOS file extension LQC. That seems to be a
de-facto standard that makes sense. Other than that, PEDFONT will
process just about any Epson font produced by any font manager.
PEDFONT is menu driven. It's menu tree is intuitive and simple to use.
Since PEDFONT was written for someone who understands the special
features of the LQ printer and what they do, I've chosen to avoid
writing a lot of instructions about how the printer works. That would
duplicate the printer's manual. However, even if you have only the
most basic understanding of the Epson LQ printer, you can use PEDFONT.
Any LQ printer manual is the best source of info on what the printer
will or won't do and, for some of the more esoteric printer features,
you'll need it. A standard printer manual has a few pages at the back
which tables all the printer's commands. PEDFONT, through it's menu,
gives you access to virtually all of them. Using PEDFONT, you'll learn
and explore things you never knew your printer could do.
All versions of PEDFONT, registered or not, are fully functional.
PEDFONT is also useful on a non-Epson printer as long as it's LQ
compatible. And much of the Epson LQ ESC/P repertoire is also sensible
to 9 pin printers, so PEDFONT can be used on them, as well.
III. System Requirements
PEDFONT runs on any 286 or better with MS-DOS 3.1 or higher, a minimum
of 512K main RAM and an extended keyboard (numeric keypad and 12
function keys). It can run from a floppy or hard drive. It doesn't
require nor does it use EMS, XMS, high memory, temporary disk space or
a mouse. Everything it does is done in main memory. Of course, you'll
need an Epson LQ-compatible 24 pin dot matrix printer connected to the
parallel port which DOS sees as "LPT1". If you simply MUST have a
PEDFONT that runs on an 80xx, contact me.
PEDFONT autodetects and adjusts to whatever monitor type you have, but
it expects an EGA or VGA. It will run on any EGA or VGA color monitor
or even a monochrome. I designed the color sets and PEDFONT's
operation for an 80x25 VGA text mode display. In order to display a
high resolution picture of the edit character, I redefine some of the
EGA/VGA display adapter's character maps and set the monitor into an
alternate font width. High resolution character display is possible
only on an EGA or VGA monitor.
IV. Parameters
PEDFONT recognizes four command line parameters, and they're all
optional. All command line parameters are the "KEYWORD=VALUE" variety,
and they can be supplied in any order. The only two possible parameter
values for three of the parameters is "YES" or "NO", and the fourth has
value that specify a parallel port name. You can use one parameter,
5
all or none. They can be in upper or lower case. If you use more than
one parameter, separate them with a space, e.g.
PEDFONT param1=YES PARAM2=no
A. RESETPRINTER
"RESETPRINTER" is used to suppress PEDFONT's reset of the printer
when PEDFONT first starts. Ordinarily, PEDFONT will turn "Off"
every print enhancement feature, erase the printer's RAM and return
the printer to it's most simple operating mode. The command line
parameter "RESETPRINTER=NO" will suppress PEDFONT's initial reset of
the printer. If you enter any other value for "RESETPRINTER",
PEDFONT will ignore it. To suppress PEDFONT's printer reset with
this parameter, start PEDFONT from the DOS command prompt with the
following:
PEDFONT RESETPRINTER=NO
I suggest that you do not use this parameter unless: a) you're sure
you understand exactly the condition and settings of the printer at
the time PEDFONT starts, and b) you don't want the printer's
settings disturbed.
If PEDFONT does not reset the printer when it starts, it's display
of the printer status will be mostly meaningless because there's no
way to interrogate the printer for it's settings. Secondly,
allowing PEDFONT to reset the printer is a good way to confirm that
the printer is, indeed, functioning properly before continuing with
PEDFONT.
You can, of course, reset the printer at any time by using the menu
selection "Reset Printer".
B. SHEETFEEDER
The Cut Sheet Feeder is an optional, extra-cost accessory for the
LQ-850/950/1050 printers. Later printers that recognize the ESC/P2
language have built-in abilities similar to the Cut Sheet Feeder.
The SHEETFEEDER parameter is used to tell PEDFONT that you do/don't
have the Cut Sheet Feeder installed on the printer. PEDFONT
presumes your printer does not have a Cut Sheet Feeder, i.e., it's
default is "SHEETFEEDER=NO". If that's the case, there's no need to
use the "SHEETFEEDER" parameter. If your printer has a cut sheet
feeder, and you want to use PEDFONT's ability to control it, use the
parameter "SHEETFEEDER=YES". When you enable the Cut Sheet Feeder
with this option, PEDFONT enables the menu selections which provide
access to the Cut Sheet Feeder functions. Ordinarily, these menu
options are protected, and you can't use them. If you supply a
parameter value other than "YES", PEDFONT will ignore it.
C. FONTMODULE
The Epson LQ-850/950/1050 printers have only the Roman and Sans
6
Serif fonts as standard. An extra-cost option called the
"Multi-Font Module" provides six more fonts. They are Courier,
Prestige, Script, OCR-A, OCR-B, Orator and Orator-S. If you tell
PEDFONT that the Multi-Font Module is installed with
"FONTMODULE=YES", PEDFONT will enable those menu selections which
allow use of the Courier and Prestige fonts. This version of
PEDFONT supports Courier, Prestige and Script but not the other font
module fonts. If you supply a parameter value other than "YES",
PEDFONT will ignore it.
Printers other than the Epson LQ-850/950/1050 such as some
Panasonics have the extra fonts built-in as standard, and they can
be used by PEDFONT by specifying "FONTMODULE=YES". PEDFONT's
default is "FONTMODULE=NO".
D. PRINTERPORT
By default, the parallel port to which PEDFONT directs it's printer
commands is "LPT1". With this parameter you can change it, and use
PEDFONT to manage a printer connected to another parallel port.
Allowable operand values are "LPT1", "LPT2", and "LPT3".
V. The Menu
A. General Description
The menu system is SAA/CUA compliant. The main menu is a horizontal
row of five selections. Submenu selection are arranged vertically.
The single exception if the "On Off" submenu which has it's two
choices arranged horizontally.
The main menu and every submenu has a highlight bar that is moved
with the cursor control keys. Those include the arrow keys, <PgDn>,
and <PgUp>. If a submenu is active, and you use the < > or < >
arrow key, PEDFONT moves the highlight bar into the submenu in that
direction. It automatically closes the original submenu and opens
the new submenu. <Esc> closes whatever submenu is currently active
returning control to the preceding submenu. Closing the highest
level submenu returns control to the main menu. If only the main
menu is active when you press <Esc>, PEDFONT terminates. Move the
highlight bar over your choice, and press <Enter> to select it.
Each menu selection has a highlighted character which can be used to
select the menu choice directly. The highlighted character is the
leftmost character of the menu choice. Where a submenu has more
than two choices, the selection "hot key" is one of the letters "A",
"B", "C", etc. "A" is always the first selection in the submenu,
"B" the second, etc. The "hot key" is always the leftmost letter
of the menu choice. Where a submenu has only two choices, the "hot
key" is one of the letters of the submenu selection.
Selecting one of the main menu choices causes a submenu to drop
down. Submenus will "pop up" or "explode" depending on their
function within the menu hierarchy. In some cases, selecting an
entry on a submenu produces another submenu, and so on. All menus
7
and submenus, except for colors, look and work the same.
Selecting some submenu choices will active a data entry panel. It's
a separate window. A data entry panel is used to collect some
numeric value(s) or text string from you. You have use of all
editing keys such as <Ins>, <Del> and the cursor control keys.
<Ins> toggles the "insert/overtype" mode. A data entry panel will
have either a field value prompt or a header for the entire panel.
A text string data entry panel may be prefilled for you. Such is the
case with a panel that asks for a file name. PEDFONT generally
preloads a data entry field with either a suggested value or the
previous value of that field.
When supplying the data entry value, if the first keystroke is not
an editing or cursor key (it's an alphabet key), PEDFONT erases the
prefill string, moves the cursor to the start of the field, and puts
your first character there. That is, PEDFONT has assumed you're
overtyping the entire field rather than editing it. To edit it,
your first character would have been an editing or cursor control
key. If a data entry panel has multiple fields, you can move among
them with <Tab> or <Enter>.
If the data entry panel requests a file name, PEDFONT automatically
converts every character you type to upper case. There's no need to
press <Shift> or use <Caps Lock>.
When the data entry panel is complete, press <Ctrl Enter> to accept
it.
When PEDFONT starts, you'll note that some menu choices are
"protected". That is, they're displayed in a low intensity
attribute and color, and you can't move the cursor to them. Those
are choices not yet available until some other event has happened.
For example, PEDFONT won't let you EDIT a font if you haven't loaded
or set up one.
B. Context Sensitive Help
The bottom line of the display screen is a status and help line. It
receives messages about the success or failure of any operation
PEDFONT attempts. When the menu is on screen, each menu or submenu
selection displays a one-line, help message describing the intention
of the menu choice. Whenever PEDFONT completes an activity, it
displays a confirmation message in the status line and waits 2
seconds for you to read it. Then it erases the message, and it
continues.
For the submenus subordinate to the "Epson Controls" menu selection,
there is additional help available. Pressing <F1> will open a help
window with extra detail about the selection under the highlight
cursor. Pressing <Esc> closes the help window. There may be more
help information than can fit into the help window. Use the cursor
control keys <PgDn> and <PgUp> to page the help window. The
information presented in the help window is, generally, explanation
8
about the specific Epson printer command. It may also include
restrictions on what the printer will or won't do as a result of the
command. NOTE: not every submenu selection provides additional
help. If there's no help for a selection when you press <F1>,
PEDFONT beeps.
If anything amiss occurs while PEDFONT is doing something, it will
beep the computer's speaker and display an error message in the
status line. Most errors are temporary, and PEDFONT will continue.
Some aren't, and PEDFONT will terminate execution after displaying
the error message. If PEDFONT beeps, you can be sure something
planned didn't happen.
VI. Menu Selections
A. File
The FILE menu choice, when selected, drops down a submenu with all
the choices for managing font files. PEDFONT can LOAD them, SAVE
them, DELETE them, RENAME them, DOWNLOAD them to the printer, and so
on. If you're using PEDFONT as a font manager, this is where you
start. The submenu is as follows:
A Load Font
B Save Font
C Save As
D Print Font
E Download Font
F Delete Font
G Rename Font
H Setup New Font
I Font Status
----------------
T Temper Toggle
As noted above, the leftmost character, e.g. "A", "B", ... is the
highlighted "hot key" and can be used to select the submenu entry.
1. Load Font
This menu choice loads a font file (with an LQC file extension)
into PEDFONT's working storage. PEDFONT displays a picklist of
all the disk drives, all directories on the currently active
drive, and any files with an LQC file extension. The picklist is
used just like a menu - move the highlight cursor to your choice,
and press <Enter>.
One caveat - I've designed PEDFONT to read many different font
file types. Generally, if the file can be sent to the printer,
PEDFONT can read it. There are available, however, font files
that specify character column widths exceeding 37, the max for a
proportional character pin map. There are also font files that
attempt to redefine characters outside the range of ASCII 0-126.
I've built PEDFONT with a fair degree of self-protection to be
able to deal with some of the more bizarre font files I've come
9
across. PEDFONT will read and load those font files, but it will
discard any data it doesn't like. For example, if you attempt to
load a font with a character defined with 42 columns, PEDFONT
will load the first 37 and ignore the rest. Even so, if the font
file doesn't say it's a proportional font, you'll only see the
first 29 columns of that character when you try to edit it. The
maximum width for any character is 42 columns. Of those, 37 is
the max for the pin map data. See the section on "Restrictions"
for more info.
PEDFONT has self-protection and validation built-in to guard
against malevolent font files. If PEDFONT detects something
wrong with a font file it's loading, it will attempt to correct
the error. If the error is uncorrectable, it will ignore the
offending character or pin pattern. In either case, PEDFONT
displays a message in the status line indicating that a defective
font file has just been loaded.
2. Save Font
This choice writes the loaded font to the disk using the same
file name used to load it. After saving, the font remains loaded
and available for any other font activity. When this menu entry
is selected, another submenu displays providing the choices:
A Partial Font Over Roman
B Partial Font Over Sans Serif
C Partial Font Over Courier
D Partial Font Over Prestige
E Partial Font Over Script
F Full Font
G Full Font Defined Range
"Partial ..". transfers the pin maps for only those characters
that have them. If you've developed a font file wherein only one
character is defined, the partial font will be a very short one
with one character's pin map. A "Full Font" contains a
definition for EVERY character in the definable ASCII set from
code 0 to 126. A "Full Font Defined Range" contains definitions
for every character from the lowest defined to the highest
defined but none outside that range. This is the option you'll
use most often. Pin maps for characters undefined are treated by
the printer as spaces if you send a "Full ..". font. See the
section on "Sending Fonts to the Printer" for more info on why
you might select one option over another.
If you're saving a partial font file, consider how the printer is
supposed to use just those characters you've defined. The
choices "A" through "E" above respectively mean:
a. Printer, preload the Roman font into RAM. Then, overlay
any Roman font character pin map with the pin map from this
downloaded font. Leave the other Roman font characters
unaltered.
10
b. c. and d. Same as "a". except start with the designated
font.
PEDFONT always precedes the user-defined characters with
preparatory Epson commands. In sequence, they are:
1. Initialize Printer
2. Italics Off
3. Letter or Draft quality
4. Set Size (normal or Super/Subscript)
5. Super/Subscript On/Off
6. Proportional or Fixed spacing
7. Copy ROM font to RAM
PEDFONT always ends the font file with a command to switch the
printer to the user-defined characters in RAM.
Since PEDFONT does not know your intention re using a
Super/Script size font, it always presumes that it is Superscript
font. If you want to either use it as a Subscript font, print it
with proportional spacing, or as a small fixed font, you'll have
to enable those functions separately. PEDFONT must include a
"Super/subscript On/Off" command so that it can recognize a
Super/subscript font when it reloads one.
3. Save As
This choice is the same as "Save Font" except you can specify a
new name for the font file. If you load a font file and then
write it back to disk with "Save As", you've copied the font to a
new file. "Save As" provides the same submenu choices as "Save".
"Save As" asks for the name of the new font file. This must be a
full path\filename ending in ".LQC". PEDFONT preloads the new
file name field with the drive and directory from which it was
loaded and appends "NEWFONT.LQC". If that font file name is
acceptable, press <Ctrl Enter>. Otherwise, overtype it with
whatever you like, and then press <Ctrl Enter>.
If the filename you've selected already exists, PEDFONT displays
a warning message that it's about to overwrite it and asks for
confirmation that it's OK to do so just as in "Save Font". Also,
the "Font Status" display shows the current font file name.
4. Print Font
"Print Font" downloads the loaded font to the printer and then
prints every character in the font in each of 5 styles:
a. Normal
b. Double Strike
c. Emphasized
d. Double Wide
e. Condensed
11
Use "Print Font" to get a complete printed illustration of every
character in your font in each of several print styles.
5. Download Font
This choice sends the loaded font to the printer and activates
it. Any printing from this point will be done with the newly
downloaded font. "Download Font" provides the same submenu
choices as "Save" and "Save As".
6. Delete Font
This choice displays a picklist of font files just like the "Load
Font" selection picklist. Any LQC file selected will be targeted
for deletion from the disk. When you select a file, PEDFONT will
display another screen asking for confirmation of the delete.
The display window asks:
Delete X? A
Where X is the name of the font file you selected, and "A" can be
either "Y" or "N" for "yes" or "no". If you hit <Esc> or <N>,
the file will not be deleted. After you enter a "Y" or "N",
press <Ctrl Enter> to register your choice. <Enter> by itself
won't do it. After attempting to delete the selected font,
PEDFONT confirms the success or failure in the status line.
7. Rename Font
This choice displays a picklist of font files just as for the
"Delete Font" selection. Any LQC file you select will be
targeted for renaming. When you select a file, PEDFONT will
display another screen asking for confirmation of the renaming.
The display window asks:
Rename X? A
Where X is the name of the font file selected, and "A" can be
either "Y" or "N" for "yes" or "no". If you hit <Esc> or <N>,
the file will not be renamed. After entering a "Y" or "N", press
<Ctrl Enter> to register your choice.
If you select "Y" to rename the file, another window explodes
asking for the new file name. This window allows only an 8
character filename. If you press <Esc> at this point, the rename
activity is aborted. Otherwise, enter the 8 character new file
name, and press <Ctrl Enter>. PEDFONT appends the LQC file name
extension to the new file name. After attempting to rename the
file, PEDFONT confirms the success or failure of the rename in
the status line.
8. Setup New Font
Use this selection when preparing to edit a new font. PEDFONT
will abandon any font loaded, and prepare for new font
12
specifications. "Setup New Font" causes a submenu to display
with the following choices for the type of the new font:
Letter Quality
Draft Quality
If you select "Draft Quality", PEDFONT solicits the font size
with another submenu containing the choices:
A 10 CPI
B 12 CPI
C 15 CPI
If you select "Letter Quality", PEDFONT solicits the font size
with another submenu containing the choices:
A 10 CPI Fixed
B 12 CPI Fixed
C 15 CPI Fixed
D Proportional
E Super/Sub 10 CPI
F Super/Sub 12 CPI
G Super/Sub 15 CPI
After you've selected font size, PEDFONT will solicit the
path\file name of where to write the new font file. It preloads
the data entry field with a default font name. Whether you use
PEDFONT's default name or you enter your own, the path\filename
must end in .LQC. When you're satisfied with the path\filename,
enter <Ctrl Enter>. PEDFONT checks whether or not the
path\filename already exists. If it does, PEDFONT warns you and
asks if it's OK to overwrite the file. Responding anything other
than "Y" (including <Esc>) causes PEDFONT to abandon the new
font.
Whichever type of font you intend to create, PEDFONT opens a data
entry panel soliciting the default values of d0 and d2. d0 is
the number of dot columns to be added to the left of each
character, and d2 is the number of dot columns on the right.
These values will be applied to ALL new font characters in the
event you don't specify d0 and d2 individually for each character
you design. d0 and d2 can be set separately for each character
during character edit. See "Editing a Font" for more information
on d0 and d2.
The default settings of d0=0 and d2=0 shown in the data entry
panel are suggestions only. You can set them to whatever value
you like. When outputting a font file either to disk or to the
printer, PEDFONT always writes a d0 and d2 FOR EACH CHARACTER.
The d0 and d2 used can be the overall font default or the
individual character d0 and d2 you supplied when editing the
character. Epson America recommends that d0 and d2 be non-zero
only for proportionally spaced fonts.
13
9. Font Status
A window opens displaying all the configurational parameters that
define the font that's loaded. They are:
a. Type: Draft or Letter Quality
b. Size: Pitch 10, 12, 15, Proportional, Super/Sub 10, 12, 15
c. Characters in Font: the number of characters in the font
that have definitions
d. First Char: the decimal, hexadecimal and graphic
representation for whatever character in the font has the
lowest ASCII value
e. Last Char: as above but for the highest character
f. Left/Right Side Cols: a default number of columns defined
to be unused on the left and right of the character. This
is not necessarily the actual values used for the
characters. See "Editing a Font" for more detail on side
column space.
g. Maximum Columns: the defined maximum columns for the given
font type and size.
h. Max Side Cols: default sum of left and right side columns
defined for this font Type and Size.
i. Character Pins: the width in pins for this font depending
on type. It could be 9, 23, 29 or 37.
j. Font Has Changed: "Yes" or "No". Editing any character
causes PEDFONT to think the font has changed. You can use
this to determine whether or not the font needs to be
saved.
k. ROM Font Preload: the name of the printer's ROM font
designated to be preloaded prior to it's acceptance of the
downloaded font. It could be "None", "Roman" or "Sans
Serif".
l. Font Has Errors: "Yes" or "No" based on whether or not
PEDFONT detected something amiss when loading the font.
NOTE: This status display is nearly identical to the "Font
Status" display produced by the edit command <F1>. Some of those
display values, however, pertain to only the character in the
edit pin map window and not to the entire font. This menu
selection, however, pertains to the entire font.
10. Temper Toggle
This selection toggles the temper control switch. Having the
temper control switch "On" can be useful for those exhausting
font edit sessions or when things are going badly.
B. Edit Font
"Edit Font" has no submenu attached to it. Selecting "Edit Font"
displays a new screen with a window containing all the possible
characters which can be edited and/or downloaded to the LQ printer.
The characters have the ASCII values 0 to 126 decimal. They're
displayed in a scrolling picklist window with a highlight cursor
bar. The window has a scroll bar along the right edge which
14
indicates where the cursor is positioned relatively within the ASCII
set. Characters whose bit maps are already present will be
displayed highlighted, and those whose bit maps are undefined will
be displayed in a lower intensity gray. If you're creating a new
font, ALL characters will be displayed in low intensity. On a color
monitor, characters having column definitions are Yellow while
characters that don't are Gray.
Alongside the picklist of font characters is a small high resolution
window. PEDFONT displays in the hires window a graphic
representation of the character highlighted in the picklist. Toggle
this display "On/Off" with <Alt D>. Since displaying high
resolution font characters on a text-mode screen is a
computationally intensive activity, you might see some screen
flicker especially on slower computers. If it annoys you, you can
turn off the high resolution character display.
Move the cursor over the character you want to edit, and press
<Enter>. You can also select the character you want to edit by
pressing it's key on the keyboard.
For example, if you want to edit the pin map for "b", press the <B>
key. PEDFONT will automatically move the cursor to the capital "B"
character or the lower case "b" whichever is the first defined for
the font. Assuming that both are defined, the cursor would move to
the capital "B". Press <B> again, and PEDFONT moves the cursor to
the lower case "b" character. Pressing <Enter> activates the edit
screen for the "b" pin map. See the section describing use of the
editing screen for details.
The edit character picklist window also shows several other useful
items of information about every character in the font. The entire
display contains left to right:
1. The ASCII character
2. The decimal value of the character
3. The hex value of the character
4. The number of left side columns
5. The number of dot columns
6. The number of right side columns
7. Total defined columns - sum of d, e and f.
Items "4" through "7" don't display for characters in the font
that have not been defined.
Use <Home> to move to the first character in the list, and use
<End> to move to the last. <PgUp> and <PgDn> also work as
expected. Pressing <Esc> returns the display to the main menu -
no editing. In the status line at the bottom of the screen is a
reminder about some keystrokes to use while this screen is
active.
C. Epson Control
This main menu selection causes a drop down submenu to display which
15
contains all the Epson control choices arranged in logical groups.
Using this selection you manage all the features built into the
printer. Selecting most of the control features on the drop down
menu will cause another submenu to display and some of them, in
turn, will display another submenu. Listed below are all printer
feature groups controllable from this submenu including each submenu
under the group. Consult your Epson printer manual for specifics on
these features and what they do.
A Operation/Control
B Vertical Motion
C Horizontal Motion
D Font & Pitch
E Ornamentation
F Copy ROM to RAM
G Character Tables
H Character Styles
I Print Enhancement
--------------------
R Reset Printer
S Printer Status
--------------------
U User Commands
1. Operation/Control
This selection displays another submenu with choices directed at
overall control of the printer. You can initialize the printer
and send one of several single-character commands to it. When
you select this entry, another submenu displays with the
following selections:
A Initialize
B Unidirectional
C Cut Sheet Feeder
D Beeper
E Carriage Return
F Cancel Line
Selection "Initialize" returns the printer to it's power-on
settings. That IS NOT the same as the "Reset Printer" function
described later. Note that the "Initialize" command DOES NOT
affect printer settings selected with the printer control panel
(SelecType). "Initialize" also does not effect user-defined
characters.
Selection "UniDirectional" will display another submenu allowing
you to select "On" or "Off" to enable unidirectional or
bidirectional printing.
Selection "Cut Sheet Feeder" will display another submenu with
the following choices:
A Bin1
B Bin2
16
C Eject Sheet
D Feeder On
E Feeder Off
DO NOT use the Cut Sheet Feeder options unless your printer has
the Cut Sheet Feeder option installed. If you do, you'll know
what the various menu selections mean.
2. Vertical Motion
This selection gives you control over the vertical movement of
the paper, and it also allows setting the vertical page
definitions. The following submenu pops up:
A Form Feed
B Skip Over Perforation
C Line Feed
D 1/8 Line Spacing
E 1/6 Line Spacing
F Set Page Length Inches
G Set Page Length Lines
H n Over x Line Spacing
I Vertical Tabs
Submenu items "A", "C", "D" and "E" have immediate effect.
Submenu item "Skip Over Perforation" causes an "On/Off" submenu
to pop up. If you turn "Skip Over Perforation" "On", a data
entry panel will display asking how many line above/below the
perforation you want to skip.
Submenu items "F" and "G" cause a data entry panel to display for
you to supply the required page length value.
Submenu selection "n Over x Line Spacing" causes another submenu
to display with the choices:
A n Over 180th Inch
B n Over 60th Inch
C n Over 360th Inch
Selecting any of these choices will cause a data entry panel
to open requesting the new value of "n". Note: Epson
recommends NOT using the "n/60" spacing commands. I've
included them here because the LQ series supports them. But
PEDFONT DOES NOT actually send an "n/60" command to the
printer if you select option "B n Over 60th Inch". Rather,
PEDFONT computes the appropriate "N/180" value and uses that
command. The result is the same as if the "n/60th" command
were used.
If you select item "Vertical Tabs", another submenu appears with
the following choices:
A Tab Vertically
B Set Vertical Tabs
17
C Switch Tab Channel
D Clear Vertical Tabs
E Display Tab Settings
Selection "Tab Vertically" sends an immediate vertical tab
command to the printer.
Selecting "Set Vertical Tabs" causes a data entry window to
appear asking for which of the printer's 8 vertical tab channels
you want to set. When the channel number has been correctly
entered, PEDFONT displays another data entry window requesting
the complete set of 16 vertical tab stops. NOTE: each tab stop
must be greater than the previous. The first zero tab stop ends
all the tab stops. That is, if you set tab stops to "5, 10, 0,
and 20", PEDFONT will set the printer's vertical tab stops to 5
and 10 in whatever channel you selected.
The last choice displays the current settings for each of the 16
tab stops in each of the 8 vertical tab channels.
3. Horizontal Motion
This selection causes a submenu to display with the following
choices:
A Set Left Margin
B Set Right Margin
C BackSpace
D Set Absolute Position
E Set Relative Position
F Select Justification
G Set Intercharacter Space
H Horizontal Tabs
Selecting either "A ..". or "B ..". causes a data entry panel to
display requesting the new margin position. Margins are
permitted from 0 to 133 to accommodate the various font and size
settings.
"F Set Justification" causes another submenu to display offering
the following four justification choices:
A Left
B Center
C Right
D Full
Selecting "H Horizontal Tabs" causes another submenu to display
with the following choices:
A Tab Horizontally
B Set Horizontal Tabs
C Clear Horizontal Tabs
D Display Tab Settings
18
Selecting "Set Horizontal Tabs" causes a data entry window to
appear asking for the complete set of horizontal tab stops.
You can change all 32 of them. NOTE: each tab stop must be
greater than the previous. The first zero tab stop ends all
the tab stops. That is, if you set tab stops to "5, 10, 0,
and 20", PEDFONT will set the printer's horizontal tab stops
to 5 and 10.
Select "Display Tab Settings" displays the current tab stop
settings for each of the 32 possible horizontal stops.
4. Font & Pitch
This selection provides access to all of the printer's built-in
font styles and sizes. It also allows you to select a font
stored in the printer's RAM. The following submenu will display
when this menu item is selected:
A Roman Draft
B Roman LQ
C Sans Serif Draft
D Sans Serif LQ
E Courier
F Prestige
G Script
------------------
H Proportional
------------------
I Select RAM Font
J Select ROM Font
K Erase RAM Font
The Courier, Prestige and Script fonts can be selected only if
the printer has the plug-in font module. If you've used the
"FONTMODULE=YES" parameter but your printer does not have the
extra fonts, a command attempting to enable one of the extra
fonts will be ignored, and the printer will switch to the default
Roman font.
Some non-Epson printers (Panasonics) have these fonts as
standard, so they can be used without additional hardware. When
selected, they're always activated by PEDFONT in the Letter
Quality mode. If you want a draft Prestige, use the PEDFONT
command to disable Letter Quality printing after selecting the
Prestige font.
Submenu items "A" through "G" each cause another submenu to
display for you to select one of the following:
A 10 CPI
B 12 CPI
C 15 CPI
Selecting "Proportional" causes an "On Off" submenu to display so
you can enable or disable proportional character spacing.
19
Picking "Select RAM Font" immediately switches the printer to use
any font stored in it's RAM IF PEDFONT thinks the printer's RAM
has been loaded. If PEDFONT hasn't told the printer to either
copy a ROM font to RAM or to Downloaded a font, it won't let you
switch to printer RAM. That would be pointless, although the
printer would permit it.
Selecting "Select ROM Font" switches the printer back to whatever
ROM font mode was previously selected.
Selecting "Erase RAM Font" sends commands to the printer to make
sure it has no character maps in it's RAM.
5. Ornamentation
This selection causes a submenu to display allowing you to select
one of four ornamental character styles. The choices are:
A Normal (default)
B Outline
C Shadow
D Both
6. Copy ROM to RAM
This selection causes a submenu to display allowing selection of
one of the printer's internal fonts to copy to the printer's RAM.
The two choices are:
A Roman Font
B Sans Serif Font
C Courier Font
D Prestige Font
E Script
For an Epson LQ-850/950/1050, et al, the Font Module is necessary
in order to select Courier, Prestige or Script. If you've used
the "FONTMODULE=YES" parameter but your printer does not have the
extra fonts, a command attempting to copy one of the fonts to ROM
will be ignored.
NOTE: When the printer copies a ROM font to RAM, it copies
several font attributes. Those are:
Typeface
LQ or Draft
Super/Subscript setting (font size)
Proportional spacing On/Off
International Character Set
Before copying a ROM font to RAM, be sure those attributes are
what you want.
NOTE: PEDFONT ALWAYS disables Italics before copying any ROM font
to RAM.
20
7. Character Tables
This selection causes a submenu to display allowing selection of one of
the several printer's character tables. The submenu includes:
A Character Table
B Printable Characters
C Upper Control Codes
D International Character Set
Sending the command to select a character table tells the printer
which character table to use for codes 128 to 255. There are
three possibilities. Selecting choice "Character Table" causes
another submenu to display with the following choices:
A Italics
B Graphics
C Remap Download
"Italics" tells the printer to use it's Italics Character
table for the patterns for codes 128 to 255. "Graphics" sets
the printer to use the Epson Extended Graphics character table
which contains international accented characters, Greek
characters, and character for printing lines, corners, and
shaded areas. "Remap Download" tells the printer that, when
accepting user-defined characters, map them into the 128 to
255 area rather than the 0 to 126 area. You may need to do
this if your user-defined character set defines codes outside
the recommended range of ASCII 33 to 126. NOTE: This menu
selection duplicates the function of one of the printer's DIP
switches. Ordinarily, the printer is set to use the Epson
Extended Graphics table. Using the graphics table DOES NOT
disable Italic printing ability.
Selection "International Character Set" causes another submenu to
display allowing selection of one of the 14 built-in
international character sets. They are:
A USA (default)
B France
C Germany
D England
E Denmark I
F Sweden
G Italy
H Spain I
I Japan
J Norway
K Denmark II
L Spain II
M Latin American
N Legal
8. Character Styles
21
Selecting this choice causes another submenu to display which
provides selection of one of five Character Styles. They are:
A Letter Quality
B Condensed
C Double Wide
D Double High
Selecting any choice causes another submenu to pop up allowing
you to turn "On" or "Off" the character style you selected.
9. Print Enhancement
Selecting this choice causes another submenu to display which
provides selection of one of several Print Enhancements features.
They are:
A Emphasized
B Double Strike
C Underlined
D Italics
E SuperScript
F SubScript
G Scoring
H Select Color
Each of these selections except the last two cause an "On/Off"
submenu to display allowing any of the features to be enabled or
disabled.
Selection "Scoring" displays a submenu offering control over
the three types of scoring. The submenu contains:
A Underline
B Strikethrough
C OverScore
Each type of scoring can be enabled or disabled independently.
After you select the type of scoring, PEDFONT displays another
submenu with the following scoring choices:
A Cancel
B Single Continuous
C Double Continuous
D Single Broken
E Double Broken
Each of these options, other than A, determines the style of
scoring. It can be a single or double, continuous or broken
line.
Submenu choice "Select Color" allows setting the printer for a
specified color. Only printers that support color should use
this option. The printer ignores this command if color
printing is not available, and PEDFONT has no way of knowing
22
whether or not the color selection setting succeeded. "Select
Color" causes a submenu to pop up with the following color
selections:
A Black
B Magenta
C Cyan
D Violet
E Yellow
F Red
G Green
NOTES: Print Yellow first when overlapping colors. Only
blank, magenta, cyan, and yellow are available during graphics
modes.
Other colors are possible by overprinting the above colors.
When combining yellow with other colors, always print yellow
dots first (this prevents soiling of the print side of the
ribbon).
10. Macros
This feature is useful if you need the numeric values of the
commands PEDFONT sends to the printer. Like most "macros",
PEDFONT's macros record a consecutive series of commands. Macro
recording can be turned "On" or "Off" at any time. Rather than
recording key strokes, PEDFONT records the actual commands sent
to the printer. When "Macros" is selected, PEDFONT displays the
submenu:
A Start Macro
B Stop Macro
C Resume Macro
D Display Macro
E Send Macro
Option "A" erases the macro memory and prepares to record a new
macro. Option "B" suspends macro recording without erasing the
macro memory. Option "C" restarts recording usually after it's
been suspended with option "B".
Option "D" displays on-screen the decimal values of all commands
recorded in the macro from the time macro recording started to
the present. NOTE: PEDFONT records only those commands sent as a
result of using the submenus under the main menu selection "Epson
Controls". Option "D" will only display Epson command values IF
the macro recording mode is "on" and there's something in the
macro memory.
Option "E" sends the entire macro to the printer. The macro is
not erased nor is the status of macro recording changed.
Macro memory holds about 55 bytes of Epson commands. If PEDFONT
exhausts macro memory while you're sending commands to the
23
printer with macro recording "on", it issues a warning message
and turns macro recording "off", but it doesn't erase the macro
recorded so far.
I found this feature invaluable for capturing the values of
commands I needed to set the printer into specific modes -
especially when the command string was a long one. Turn macro
recording "on", use the menu system to configure the printer, and
then display all the commands used to do it. Then, write down
the command byte values for use in other software. Thus, the
error-prone tedium of looking in the printer manual each time can
be avoided.
11. Reset Printer
The printer is capable of "remembering" some of it's settings
when it's turned off, and it will restore those settings when
it's turned back on. The "Reset Printer" function sets the
printer to it's factory defaults, i.e., Roman, draft quality, 10
CPI font, EVERY printing enhancement feature "Off", no tab stops,
nothing in RAM, etc. Using "J Reset Printer" essentially
"brainwashes" the printer. This feature is very useful when
you've changed several printer settings, and you want to reset
EVERYTHING with one command without having to reset the printer
feature-by-feature.
12. Printer Status
Selecting this menu option causes PEDFONT to examine the
operability status of the printer and display it in the status
line at the bottom of the screen.
Also, a panel is displayed in the center of the screen which
shows many of the printer's current settings such as font size,
style, print enhancement settings, etc. NOTE: there is NO way to
interrogate the printer for these values. PEDFONT presumes that
the printer starts in the default Roman 10 CPI font with all the
print enhancement settings "Off" and all tabs stops set at 0.
PEDFONT sets the printer to those defaults when it first starts.
As it successfully sends commands to the printer, it updates an
internal table of states. If you observe the restriction of
starting the printer in this default condition, and you don't
power-down the printer while PEDFONT is in control, PEDFONT's
display of printer settings will accurately reflect the state of
the printer.
13. User Commands
With this command you can enter your own Epson printer commands.
When you select "User Commands", PEDFONT opens a single-line data
entry panel soliciting commands to be sent to the printer. Each
command can be in decimal or in hexadecimal. A hex command is
distinguished from a decimal by a starting "$". That is, "78" is
decimal 78, but "$78" is decimal 120.
24
You can enter as many commands as will fit into the data entry
line. Each command must be ended by a "/" including the final
command in the string of commands.
For example, each of the following three commands will set the
printer into Letter Quality mode:
a. 27/120/1/
b. $1B/$78/$1/
c. 27/$78/1/
The following are not legitimate Epson command strings:
d. 27,120,1/
e. 27 120 1
f. Drop/Dead/Epson/
g. ///
PEDFONT processes the command string left-to-right sending each
legitimate code one at a time. While so doing, if PEDFONT
detects a syntax error in any single command, it will display an
error message and stop sending commands ignoring the remainder of
the command string.
NOTE: Since PEDFONT does not interpret user commands, it has no
way of knowing the condition of the printer after sending one.
That is, if you send the printer a command to switch to it's RAM
font, PEDFONT's status will not reflect that, and PEDFONT will
"think" the printer is still in the ROM font.
CAUTION: Be careful with this function. As long as a single
command is syntactically correct, PEDFONT will trustingly send it
to the printer. If you enter a value that isn't an Epson command
value, there's no telling what your printer will do.
User's with "Epson compatible" printers may find this function
useful to send commands not otherwise supported by PEDFONT.
Actually, the commands don't even have to be Epson commands.
D. Test Data
This menu selection permits test text to be sent to the printer.
It's useful if you've either downloaded a new font to test or if
you've set the printer into a special mode, and you want to see what
print looks like. Selecting "Test Data" causes a submenu to drop
down allowing selection of one of several test data patterns. The
submenu contains:
A Quick Fox
B Cyclical
C Space
D Block
U User Text
1. Quick Fox
25
This is the obligatory and historically reverent "The quick brown
fox ..". in both lower and upper case. The test also includes
all the special keyboard symbols. The entire test is 3 print
lines long.
2. Cyclical
A test pattern similar to the printer's power-on, built-in test
pattern. The test printout uses a full printer page. The first
line of the test pattern starts with the character produced by
hex code $21. Each line is 80 characters long with each
successive character after the first being the next character in
the font. Each successive line starts with the character in the
font immediately AFTER the character that started the previous
line. E.g., if one line starts with "L", the next line will
start with "M". Thus, the test data appears to "slide" to the
left one character as each line is printed with new characters in
the font appearing on the right end of the line.
3. Space
A single space character will be sent to the printer.
4. Block
A single block character will be sent to the printer. This
character fires all of the pins and prints on the widest
character area of any character in the printer's ASCII set.
5. User Text
Selecting this option causes a data entry panel to open in which
you can type any test text up to about 55 characters. Whatever
you type will be sent to the printer followed by a single
carriage return but without a line feed. The carriage return
will force printing, the print head will return to the left, and
the paper WILL NOT advance.
E. Exit
Terminate PEDFONT execution and return to DOS. PEDFONT can also be
stopped by pressing <Esc> when the main menu is displayed.
VII. Editing a Font
A. General
Selecting "Edit Font" causes PEDFONT to display the edit character
selection screen described previously. Move the cursor over the
character you want to edit, and press <Enter>. Characters already
defined in the font are displayed in a higher intensity than
characters not yet defined. As noted, the character can be selected
for editing by pressing it's keyboard key.
PEDFONT next displays the editing screen. The screen is divided
26
into 3 main areas:
The character edit pin map
Edit commands
High resolution preview of the character in the edit window.
As with all screens, there's also a status line at the bottom of the
screen although it's only present when PEDFONT has something
important to say. The cursor always remains in the pin map edit
window. You can exit the edit screen at any time by pressing <Esc>.
PEDFONT also displays, to the right of the pin map edit window, the
column and row number of the edit cursor's position.
Documents for a program that lets you change something always extol
the virtue of periodic "saves" while you're in the process of
editing. I agree. If a font has been loaded which you intend to
edit, I recommend that, after the first character has been altered,
you save the font file to a new name with "Save As". Thereafter, as
each new character in the font is changed, the font can be saved
with "Save Font". This technique keeps the original intact as a
backup. You can, of course, "Save As" to as many different files as
you like, and "Delete Font" the superfluous ones later.
Since there are font files available that have consecutive pins
turned "on", I made sure PEDFONT would read those files with no
problem. It will also edit, display and download those fonts to the
printer without complaint. I've even included a command to
allow/disallow use of adjacent print head pins. In actual practice,
there's no need to turn on adjacent horizontal pins; the printer
will ignore them. Try one of the included test fonts which has
adjacent pins turned on, and see for yourself. Then turn off every
other pin and print the font again - no perceptible difference.
There IS one visible difference with a font that has enabled
adjacent pins, however - it won't print correctly using emphasized
printing. Again, you can test this.
B. Character Edit Pin Map
On the left side of the screen is the character edit pin map window.
The pin map is the design grid used to lay out the pin configuration
defining how a character will print. It's height is usually 24 rows
which reflects the design of the LQ print head - one dot for each
pin on the LQ print head. The height, however, can be only 16 rows
if the font is a Super/Subscript type. The width of the pin map
character matrix varies depending on the type of font being edited
and the number of characters per inch:
1. Draft - 8 to 12 columns
2. Letter Quality - 24 to 36 columns
3. Proportional - 37 columns
4. Super/Subscript - 24 to 36 columns
The "Pin Map" window displays all columns in the recommended size
that can be changed. See the section "Restrictions" and the section
"Columns" for an introductory explanation of how the LQ expects to
27
receive a user-defined character. Any Epson LQ manual has a section
on User-Defined Characters which explains the details. If you want
to master the LQ, get the Epson manual noted in "Technical Stuff".
NOTE: the width of the edit window is the recommended maximum number
of columns for the specified font - not the expected maximum for d1
body pins. That's because PEDFONT expects all fonts EXCEPT for
proportional will have d0 and d2 set to zero. For proportional,
PEDFONT expects that you'll be using d0 and d2 to specify left and
right side space. Therefore, only 37 columns for the body of a
proportional character are editable rather than the maximum of 42.
You can layout your character pin map anywhere within the pin map
window. You can, of course, leave empty columns to the left of your
leftmost pin column. Designing the character so that it's pin map
falls in the middle of the edit window yields a character that will
print in the middle of it's allowable print space (if the left/right
side column white space is balanced.) Columns left empty on the
left of your character ARE NOT considered left side space insofar as
the printer command is concerned - they are part of the body of the
character. In effect, however, that's exactly what it is, and
printing will reflect it.
"True" left side space (d0 in the Epson command) and right side
space (d2 in the Epson command) can be set with the edit function
<F8>. Those spaces are the number of columns to be skipped by the
printer before and after printing the body of your character. Each
number can vary from 0 to 47 columns maximum, but the real limit
depends on the type of font. Left side white space as printed,
therefore, is the sum of "true" left side space set with <F8> and
any columns you leave empty on the left of your character.
Other font editors may not work the way PEDFONT does in this
respect, but this is the way the printer works. If you're editing a
font created by another editor, you might see their characters in
the edit map windows with blank columns on the left that include d0
columns. Fine. PEDFONT "paints" their character maps exactly as
specified using their d1 specifications only.
The LQ printer automatically spaces the dots for both a Letter
Quality and proportional font more closely together than the dots
for a draft font. That spacing is not, however, replicated in the
on-screen character edit pin map. Also, I don't spread the dots for
a Draft font - what you see is what the printer gets. By not
spreading the dots, I'm hoping to discourage you from fiddling with
Draft fonts.
Keep in mind there is one restriction in designing characters. Dots
in the same row may not print in adjacent columns. That is, there
must be an empty dot position to the left and to the right of each
dot that prints. This is true in Draft, Letter Quality, and
Proportional. PEDFONT will not permit adjacent pins to be turned
"on", and it will complain if you try.
Every pin that's "Off" in the pin map matrix is represented by a
28
"".. Every pin that's "On" in the character edit matrix is
represented by a diamond. Toggle the pins on/off with the <Space>
bar. Move the cursor within the character edit matrix in the usual
manner, i.e. with the cursor control arrow keys on the keyboard.
The pin map window has the top 3 rows and the bottom 4 rows shaded.
This reflects the Epson LQ character design that specifies the top 3
rows are above the cap of the character, and the bottom 4 rows are
below the base. Generally, the area within the shaded border is the
limit for a capital letter. Dots in the top border are typically
used for character accents and dots in the lower border are
typically used for descenders. The bottom row of dots is generally
used for underlining. There's nothing special about dots within any
of those rows, however. Turn them "On" or "Off" as you like. The
shading is used to identify when a pin falls into either of the
character border areas.
In the center of the pin map window is a dot displayed in a shade
(mono monitors) or color different than the surrounding dots. On a
color monitor the dot is black against the blue background of the
edit window. You might have to squint a bit to see it. That dot
marks the rotational center of the character. If that particular
pin is "On" or you move an "On" pin onto that position, it also is
displayed in the same color/mono attribute. The rotational center
of the character is always displayed.
If you select the edit command to rotate the character either right
or left (clockwise or counterclockwise), it's around that center the
character is rotated. You can move the rotation center with another
edit command.
This display screen, like all the others, uses the 25th screen line
for status messages. Immediately to the right of the character edit
window PEDFONT displays the row and column numbers of the edit
window's cursor.
C. Edit Commands
PEDFONT always displays the list of the editing commands available
while you're editing the character pin map. For editing character
pin maps, edit commands provide control over a single pin, a row or
column of pins, or the entire character pin map. The keystrokes and
their function are:
<F1> Font Status. An exploding window appears displaying 13
parameters for the font being edited. They are:
(1) Type: Draft or Letter Quality
(2) Size: Pitch 10, 12 or 15, Proportional, Super/Sub 10,
12 or 15 CPI.
(3) Characters in Font: the number of characters
currently having pin maps
(4) First Char: the decimal, hexadecimal and graphic
representation for whatever character in the font has
the lowest ASCII value defined pin map.
29
(5) Last Char: as above but for the highest character.
(6) Left/Right Side Cols: the number of columns defined
to be unused on the left of the character being
edited. The default value for the entire font may be
different.
(7) Maximum Columns: the maximum number of columns
definable for the specified font type and size. It
includes character dot columns and side space.
(8) Max Side Cols: sum of left and right side columns
defined for this character.
(9) Character Pins: the width in pins for this character.
It could be any value from 0 up to (7) Maximum
Columns. The number reflects the setting of d1 for
the character being edited.
(10) Font Has Changed: "Yes" or "No". Editing any
character causes PEDFONT to think the font has
changed. You can use this to determine whether or
not the font need be saved.
(11) ROM Font Preload: the name of the printer's ROM font
designated to be preloaded prior to it's acceptance
of the downloaded font. It could be "None", "Roman"
or "Sans Serif'.
(12) Edit Character: as per (4) but for the current edit
character.
(13) Rotation Center: Row y; Col x. This is the currently
defined rotational center for the character in the
pin map edit window.
If there are no characters as yet defined for the font,
items (4) and (5) will not display. Note that items (6),
(7), (12) and (13) apply to the current edit character and
not the entire font. The status display remains on the
screen until your press a key.
<F1> is usually a good first step when you've just loaded a
font. It's also useful to corroborate your understanding
of the font parameters just before you save a character or
the entire font.
<F2> Save Character. <F2> saves the character in the edit
window. This causes the pin matrix to be scanned, and the
resultant map saved overwriting the original pin matrix.
I.e., the character pin map is permanently changed within
PEDFONT's RAM copy of the font. It hasn't changed yet on
the disk.
If you save a character map that is empty (no pins are on),
it will erase whatever pin map was originally defined for
the character. That is, saving an empty pin map removes
the character from the font.
If you save a character that has one or more blank columns
on it's left, the number of those columns will be added to
the already defined left side space, and the character will
be left-adjusted in the edit window.
30
<F3> Restore Character. The character in the edit window to the
last saved pin map representation, i.e., the "original"
character map. You can use this command to "undo" editing
by resetting the character edit pin map to what it was
before you changed it. If you use <F2> to save a different
pin map, however, the pin map cannot be restored to what it
was at the time you loaded it from the disk. If you need
that pattern, you must <Esc> out of edit and reload the
font file.
<F4> Consecutive Pins On/Off. Toggle the restriction that
prevents enabling adjacent pins in the same row. Normally,
this restriction is active, and it should be left that way.
But, since there are fonts available that have adjacent
pins "On", I provided this toggle so I could more easily
work with them. Allowing adjacent pins also permits
testing on the printer those characters which have adjacent
pins "On". Pressing <F4> changes the state of the
restriction. If it's "On", PEDFONT turns it "Off", and
vice versa.
This function has an additional effect. When you select
<F4>, PEDFONT displays a small submenu with two choices,
i.e.
Ignore Adjacent Pins
Remove Adjacent Pins
If you select "Ignore Adjacent Pins", PEDFONT simply
toggles the state of the adjacent pin restriction, but does
nothing else, i.e., the pin mapping is undisturbed. If you
select "Remove Adjacent Pins", PEDFONT alters the pin
mapping so that no two adjacent pins "on". It does this
left-to-right. I implemented this function because of the
tediousness of manually removing adjacent pin mappings in
other people's fonts. NOTE: the effect of PEDFONT's
attempt to remove the adjacent pins may not leave the
character as you wish. However, I found it easier to
automatically turn "off" all the offending pins, and
manually turn back "on" those I wanted "on". In any case,
the feature is here if you need it.
When first editing a character and you push <F4>, PEDFONT
toggles the restriction from "On" to "Off". The next time
you push <F4>, PEDFONT toggles the restriction from "Off"
to "On"". Both times the submenu is displayed.
<F5> Print Character. Print the character in the edit window
allowing for left side and right side space as defined.
PEDFONT sends the character's pin pattern to the printer
and then prints the character several times in each of 5
print styles:
Normal
Double Strike
31
Emphasized
Double Wide
Condensed
It also prints the edit character surrounded by the block
symbol so you'll have a relative idea of where your pin
layout falls amongst other characters in the print line.
Before PEDFONT prints the edit character, it sets the
printer so that it's using the overall font traits such as
proportional or fixed character spacing, Letter or Draft
quality, etc. Therefore, printing the character not only
gives you a printed representation of the pin map but how
the character prints with others like it.
<F6> Copy Character. Copy another font character pin map into
the editing window. A window opens displaying all possible
characters in the font. Characters that already have some
pins defined are highlighted while those that don't are
displayed in a low intensity. Move the cursor over the
character you want to copy, and press <Enter>. You can not
select a character that has no pin definitions. PEDFONT
will prevent the cursor moving onto a character with a pin
pattern as yet undefined.
You can also directly key in the character you want to copy
by pressing it's key on the keyboard. For example, if you
want to copy the pin map for "b" and "b" has a pin map
defined, press the <B> key. PEDFONT will move the cursor
to the capital "B" character in the list. Press <B> again,
and PEDFONT moves the cursor to the lower case "b"
character. Pressing <Enter> will copy the pin map for "b"
into the edit window.
Note: The copy is a destructive one, i.e., any pin map
already in the edit window will be erased before the new
pin map is copied.
<F7> Move Rotation Center. When PEDFONT first enters the edit
mode, the rotation center of the edit map window is in the
middle of the window at row 12. <F7> lets you move the
character rotation center in any direction one pin position
for each time you invoke this function. When you press
<F7>, a small menu opens providing the choices:
Right
Left
Up
Down
Pressing <Esc> closes the menu with no resultant movement
of the rotation center. Select one of the menu choices
will move the character rotation center one position in the
specified direction. You can do this as often as you like
moving the character rotation center anywhere within the
32
pin map edit window. Use the functions <Alt Left/Right
Arrow> to rotate the edit character.
<F8> Define Side Columns. The edit pin map displays all pin
columns that can be changed for any character within the
defined font type. It DOES NOT display either left or
right side column space. <F8> provides the way to set the
number of dot columns that are blank to the left and to the
right of your character. Changing the left side space for
the character does not effect the map window display, but
it does effect the column positioning of where your
character is printed within it's character space in the
print line.
The high resolution character preview shows positions the
dot pattern using the defined left side space. Therefore,
you have a rough idea of where your character falls within
it's print space. The edit map, however, shows just those
pins that make up the character. Print the character to
see the true effect of altering left & right side space.
When you press <F8> a data entry window appears requesting
the number of columns to be left blank for both the left
and right side. The window has a title which displays the
type and size of font being designed. Use that for
reference. If the sum of the left and right side columns
exceeds the maximum, PEDFONT will display an error message
and refuse to accept both values.
You can use the cursor control keys to move amongst the two
fields. The data field is only 2 digits wide because no
side column value ever exceeds more than 15 for any font.
Press <Ctrl Enter> when you've entered your values.
Pressing <Esc> will close the window with no changes.
Whatever changes you make can be verified by using <F1> for
"Font Status".
<F10> Clear Character. The edit window is reset so that all pins
are turned "Off", and the cursor is sent to the upper left
corner.
<Home> Home Cursor. Move the edit cursor to the first pin,
i.e., the upper left corner of the edit window.
<End> Cursor to End. Move the edit cursor to the last pin, i.e.,
the lower right corner of the edit window.
< > Move Cursor. Each of the four arrow keys will move the
edit cursor one pin position in the expected direction.
<Space> Toggle Pin On/Off.
<Ins> Insert Row. Insert a row at the current cursor location.
All rows from the current cursor position to the last row
are moved down 1 row.
33
<Del> Delete Row. Delete the row at the current cursor location.
All rows lower than the cursor position are moved up 1 row.
<Alt Ins> Insert Column. Insert a column at the current cursor
location. All columns from the current cursor
position to the right side of the edit window are
moved right 1 column.
<Alt Del> Delete Column. Delete a column at the current cursor
location. All columns to the right of the current
cursor location are moved left one column.
<Ctrl Arrow> Shift Character. Use the <Ctrl> key in
conjunction with an arrow key to shift the entire
pin pattern one dot in the specified (arrow)
direction. For example, <Ctrl > slides the
entire pin pattern up one dot position.
<Alt Arrow> Shift Column or Row. <Alt> in conjunction with the
up or down arrow key shifts the column in which the
cursor rests. <Alt> in conjunction with the left or
right arrow key shifts the row in which the cursor
rests. For example, <Alt > slides the entire column
in which the cursor rests down one dot position.
<R> Rotate Clockwise. Rotate the character pattern clockwise
around the currently defined rotational center. Either
upper or lower case "R" is acceptable.
<L> Rotate CounterClockwise. Rotate the character pattern
counterclockwise around the currently defined rotational
center. Either upper or lower case "L" is acceptable.
<Esc> End edit. Terminate editing and return to the edit
character selection window in order to pick another
character to edit. You must use <F2> if you've changed the
pin map, and you want it saved. <Esc> will not warn you
something has changed.
D. High Resolution Display
In order for you to get a clearer picture of how your character will
appear when printed, PEDFONT displays a high resolution preview of
the edit pin map. Each pin in the edit pin map is used to control 1
screen pixel. Generally, the high resolution character is 3 normal
screen characters wide and 3 deep, but it's size really depends on
the type of font being edited. The character is displayed in WHITE
against a CYAN background on a color monitor. This display gives
you a fair preview of your character since the resolution and aspect
ratio more closely match the printer's, but the real test of
appearance requires printing.
E. Restrictions
PEDFONT accepts only files whose extender is LQC. It writes only
34
files whose extender is LQC. Additionally, it accepts only font
files that begin with an Epson escape command.
PEDFONT will permit editing of character patterns for characters
whose ASCII value falls within the range of 0 to 126 inclusive.
PEDFONT does not permit editing the defining a character for ASCII
127. PEDFONT will read and load font files produced by other font
editors, but it will not accept a character definition for an ASCII
code that falls outside it's specified range.
PEDFONT will also not accept pin map patterns for characters that
extend beyond the pin column as defined for the specific font type
being processed. The table below specifies those limits. For those
who don't know the Epson LQ intimately, here's a little info (you
can also find this in your printer manual).
The pin mapping for a character provides 3 pieces of information to
the printer:
1. Number of columns of white space on the left of the character.
2. Number of columns of real dots making the character.
3. Number of columns of white space on the right of the
character.
For each of the character styles available the maximums are:
Style Real Dots Total Columns
----- --------- -------------
Draft 9 12
LQ 10 CPI 29 36
LQ 12 CPI 23 30
Proportional 37 42
PEDFONT checks every font character's mapping for two things:
1. The "Total Columns" does not exceed the max allowed.
2. The "Real Dots" does not exceed the max allowed.
As noted, there is high variability in font file construction
amongst PEDFONT's predecessors especially in the Epson commands that
precede the character redefinitions. Since reading all possible
font files was a design goal of PEDFONT, I've added considerable
code that addresses the variety of font file designs. If, for
example, PEDFONT reads a character definition whose column max tests
fail for some reason, PEDFONT attempts to correct them so it can
load as much of the character map as possible. Therefore, if
PEDFONT announces that the font it just loaded contained errors, you
can expect characters to look different than if you loaded them with
whatever program created them.
VIII. Designing Fonts
Much of the information and cautions about this subject have already
been noted elsewhere, so this is somewhat repetitious. Nevertheless,
it's a good idea to collect all the "font design" notes together.
35
A. Steps to Follow
Plan the data for your desired characters. The amount of data
required depends on the following factors:
· The space you specify on the left and right of each character
· Character size (normal Elite, Pica, Super/Subscript, etc.)
· Character spacing (fixed or proportional)
· The print quality of your characters (draft or LQ)
Keep in mind that "proportional" refers to character spacing and not
to character size. Character size relates to point size. An Elite
or Superscript character can be printed 12 to the inch OR
proportionally spaced. When you specify a new font as
"proportional", that simply provides you with the widest possible
pin edit map so you can design your own intercharacter spacing if
you like.
If you specify a new font as "10 CPI", you can still later use the
font with proportionally spaced printing. PEDFONT uses the font
size information you select to provide an appropriate pin map edit
window. Look at the sample design grids and note that
"proportional" simply provides access to all the columns.
B. Adjacent Pins
The Epson LQ expects character redefinitions wherein no two adjacent
pins in the same row are fired. That means that the bit patterns
that define the pins to be fired for any character must not have two
bits "on" next to each other within the same horizontal row. In
practice, the printer will accept such a character definition, but
it won't reproduce the consecutive pin mapping on paper. The print
head moves too fast for it to fire pins in consecutive positions.
If you send the printer such a font, it will ignore the second of
two contiguous dots. In any case, don't do it.
C. Font Size
All user-defined fonts print only as 10.5-point (or 21-point when
double-height printer is selected). Even if you select a different
point size, characters in RAM can be printed only as 10.5 or
21-point characters.
D. Planning Characters
Characters are defined based on a combination of several traits.
This combination determines the number of dots that can be defined
for each character. These traits, and the maximum recommended size
for each combination of traits, is shown in the table below.
Exceeding the width may not allow sufficient spacing between your
characters, and PEDFONT does not permit it.
36
Trait Recommended Height x Width
----- --------------------------
Draft, fixed pitch 24 x 12 (10 CPI)
24 x 10 (12 CPI)
24 x 8 (15 CPI)
LQ, fixed pitch 24 x 36 (10 CPI)
24 x 30 (12 CPI)
24 x 24 (15 CPI)
LQ, proportional 24 x 37
LQ, super/subscript 16 x 36 (10 CPI)
16 x 30 (12 CPI)
16 x 24 (15 CPI)
LQ, super/subscript 16 x 37
proportional
A Draft font is always a fixed-pitch font. A Letter Quality font of
either normal or super/subscript size can be proportionally spaced
or fixed-pitch. When you set up a new font, you select the font
traits. When editing characters in that new font, PEDFONT always
sets the character edit window to the above recommended dimensions.
Left and right side space are always under your control either at
the font level or at the individual character level.
E. Character Columns
Each redefined character has three column values called "do", "d1",
and "d2" (the ESC/P2 manual uses "a0", "a1", and "a2"). d0 is the
number of dot columns left blank on the left side of the character,
and d2 is the number of dot columns left blank on the right side of
the character. d1 is the actual number of dot columns making the
body of the character. Each font type and size has a maximum number
allowable for both d1 AND the sum of d0+d1+d2.
For each of the character styles available the maximums are:
Style d1 Dots Total Columns
----- --------- -------------
Draft 10 CPI 9 12
Draft 12 CPI 8 10
Draft 15 CPI 8 8
LQ 10 CPI 29 36
LQ 12 CPI 23 30
LQ 15 CPI 18 24
Proportional 37 42
Superscript and subscript font specifications are the same as the LQ
specifications.
When you set up a new font, PEDFONT does not know how you're going
to use d0 and d2. Each character can have different values. In
order to setup a new font, PEDFONT suggests default values for d0
37
and d2 FOR ALL CHARACTERS when you set up your font type and size.
These are simply estimates, and they may not be what you'd like.
Epson America recommends that d0 and d2 side space be used for only
proportionally spaced fonts, but PEDFONT permits use of d0 and d2
for any font. PEDFONT follows the recommendation in that it's
initial suggested d0 and d2 for non-proportionally spaced fonts are
both zero.
PEDFONT displays, in the character pin map edit window, only those
columns defined by d1 - the body of the character. d0 and d2 space
are not part of the pin map edit window. You can examine or alter
the two side space values with an edit command.
PEDFONT examines the layout of each character that you save to
assure that it's acceptable to the printer. The following rules
apply to character column use:
0 <= d0+d1+d2 <= max total pins for the font
The value of "max total pins" varies with the font style, pitch and
spacing. PEDFONT uses the Epson America recommended maximum values.
They're listed later.
For example, assume you're building a Letter Quality 12 CPI fixed
spacing font. The maximum number of pins for one of those
characters is 30. PEDFONT will display a pin map edit window 30
columns wide. Now assume that you design a character that has dots
"on" in columns 2 through 18. Your character body width is 18
columns. Column 1, though blank, is part of the body. The
rightmost blank columns are not.
Now also assume that you set left side space for this character to
14 columns and right side space to 3 columns, and you attempt to
save the character pin map. PEDFONT won't let you do it. The total
number of pin columns it will determine will be 14+18+3 = 35 which
is greater than the LQ 12 CPI max pin limit of 30 pins. Change the
do left side space to 4, resave the character, and PEDFONT will
accept it.
When you load a non-PEDFONT font file and browse it with "Edit
Font", you'll see immediately that d0, d1 and d2 vary widely for
each character. Some fonts force d0 and d2 to zero, and the entire
character is encompassed by d1. How you design YOUR fonts is up to
you. Understand, however, that these 3 values relate to each
character and not to the font. There's no way to tell the Epson
printer that a specified d0 and d2 are to apply to ALL characters.
The Epson printer wants to know both values FOR EACH character.
As noted, when your start the design for a new character, PEDFONT
will set the left and right side column space to whatever defaults
were determined for the font type and size. YOU SHOULD CHANGE THESE
with an edit command when you layout each of your characters if
they're not what you want. At least, you must take into
consideration the d0 and d2 values when designing each and every
character. If you don't (and it may not be necessary), PEDFONT will
38
gladly use it's defaults when writing new font files.
There is great variety amongst font files available. Some font
designers take great pains to determine d0 and d2 while others
always use an overall default for all characters. Others always set
both d0 and d2 to 0. The later is the approach adopted as a default
by PEDFONT.
The font status displayed from the main menu "File" selection will
reflect the character d0, d1 and d2 specifications that are DEFAULT
for the font type and size loaded. The font status displayed from
the "Edit" selection will reflect whatever d0, d1 and d2 values
exist for the character being edited.
The restriction that the sum of the values of d0, d1 and d2 cannot
exceed the maximum number of columns allowable for the specified
font type and size is a safeguard. A perfectly legitimate character
definition for a Letter Quality 12 CPI font is d0=15, d1=0 and
d2=15. Can you see why?
39
F. Design Grids
Below is a character design grid illustrating the various column
widths for a Letter Quality font. The Character Edit Pin Map window
will display only those columns for the specified font type and
size. Each "O" can be a pin "on" or "off".
Col 1 Col 37
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO <-- Row 1
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO <-- Caps Top
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO <-- Base
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO <-- Row 24
------- 15 CPI -------
│---------- 12 CPI ----------│ ││
│--------------- 10 CPI -----------││
│----------- Proportional ----------│
40
Below is a character design grid illustrating the various column
widths for a Super/subscript font. The Character Edit Pin Map
window will display only those columns for the specified font
type and size. Each "O" can be a pin "on" or "off".
Col 1 Col 37
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO <-- Row 1
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO <-- Row 16
------- 15 CPI -------
│---------- 12 CPI ----------│ ││
│--------------- 10 CPI -----------││
│----------- Proportional ----------│
41
Below is a character design grid illustrating the various column
widths for a Draft font. The Character Edit Pin Map window will
display only those columns for the specified font type and size.
Each "O" can be a pin "on" or "off".
Col 1 12
OOOOOOOOOOOO <-- Row 1
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO <-- Caps Top
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO <-- Base
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO
OOOOOOOOOOOO <-- Row 24
- 15 -
│-- 12 --│ │
│--- 10 ---│
G. Cautions
It's best to restrict the user-defined character set to the ASCII
range 33 decimal to 126 decimal. Although PEDFONT permits
redefining characters in the range 0 to 126, Avoid defining any pin
pattern for ASCII 32 (hex 20). It's the "space", and it should be
left alone. Also avoid user-defined character for the range 0 to
31. Those are control codes and should be left alone.
Restricting the user-defined range to decimal 33 through 126
provides plenty a room for a complete upper and lower case alphabet
and special symbols.
If you're designing a font whose character images are supposed to
resemble space creatures, you can do whatever you like with the pin
42
maps for any of the characters.
IX. Sending Fonts to the Printer
In the section describing the main menu options "Save", "Save As" and
"Download", I referred to this section for details on the submenu.
I'll explain the difference between sending the printer a "Full" font
and a "Partial" font. And, in the case of a partial font, I'll explain
what happens when you overlay one, or none, of the printer's built-in
fonts.
First, PEDFONT always precedes any user-defined characters with a
sequence of Epson commands. That sequence is fixed and cannot be
changed. This is true whether the font is sent directly to the printer
or to the disk. These initial commands are:
A. Initialize
B. Master Select to disable all print enhancements
C. Italics OFF
D. Select Font Traits (type and size)
The submenu options determine how many font definition characters are
written to your font disk file or sent to the printer. The following
assumes the font file is directed at the printer rather than the disk.
Taking each submenu option in turn, they mean:
A Partial Font Over Roman
First, the printer is instructed to copy it's Roman font to it's
RAM. Then the user-defined font file is transferred with only those
characters which have pin maps defined. That could be as little as
1 character. Any character position in the user-defined font that
has not had a pin map defined, IS NOT sent. Therefore, any "gaps"
or characters not provided by the user-defined font will be filled
by the printer's hardware font which was copied into RAM. Finally,
the printer is instructed to switch to the new font in it's RAM.
For example, assume you've developed a font with only the characters
"T" and "S" defined, and you send it to the printer as "Partial Font
Over Roman". When you later send text to the printer, every
character will print in the Roman font EXCEPT "T" and "S" which will
print using whatever pin pattern you designed for those two
characters.
B Partial Font Over Sans Serif
C Partial Font Over Courier
D Partial Font Over Prestige
E Partial Font Over Script
These are identical to the previous except the specified printer's
ROM font is preloaded rather than the Roman.
F Full Font
Your font file is output with the full range of definable ASCII
43
characters 0 - 126 whether or not you defined each. If there are
character positions in your font that have not had their pin maps
defined, they'll be treated by the printer as spaces.
For example, if you download to the printer a "Full Font" in which
the pin map for ASCII 44 is undefined and you then print text using
that font, any ASCII 44 characters in your text will print as spaces
since the printer has no pin map available for that character. The
printer still "thinks" ASCII 44 has been defined because the font
file had a skeletal definition for it.
G Full Font Defined Range
Your font file includes definitions for ALL characters that fall
within a range. The range is the ASCII character with the lowest
code to the ASCII character with the highest code. This works the
same as the previous "Full Font" except the range depends on which
characters in your font have definitions. All character within that
range will be output whether or not you defined each. If there are
character positions in your font that have not had their pin maps
defined, they'll be treated by the printer as spaces.
For example, assume you've designed a font whose lowest character is
the exclamation mark "!" and the highest is lower case "z". You
also have designed pin maps for all the upper case alphabetic
characters, but you still haven't define any lower case character
other than "z". You're font file is treated as if ALL characters
between the "!" and the "z" were defined. If you send that font
file to the printer followed by the "Quick brown fox ..". test, the
printer will print the upper case line just fine. The lower case
line will print a long line of spaces with a single "z" where you'd
expect it to be within the word "lazy".
If you've designed a normal font with all upper and lower case
alphabetic characters, this is the option you want to use.
As you can see, the submenus offering the save and download "partial"
choices give you control over what will be in the printer's RAM just
before it receives your new font. By using the appropriate selection
you can instruct the printer to copy one of it's hardware font's into
RAM before the downloaded font is processed. Your new font, when
downloaded, overlays that hardware font character-by-character.
Therefore, if your font file redefines a few selected characters, those
characters NOT defined by your font file print in the preloaded
hardware font.
PEDFONT does not permit you to either save or download a partial font
without first telling the printer to copy one of it's ROM fonts into
RAM. Such use of the printer has little meaning. Why? Suppose you
send a partial font file that defines only the character "A", but you
don't instruct the printer to copy one of it's ROM fonts to RAM
beforehand. At the time you send your partial font, printer RAM is
empty. After downloading your single-character font and switching the
printer to it, you send the "Quick Brown Fox ..". test data. The
printer will print "AAA" and nothing more (QBF contains three "A"
44
characters) because only the "A" has a definition in RAM. Every other
character is ignored by the printer.
If you design a new font and you only specify the pin map for one
character, saving that font to disk as "partial" will create a very
small disk file. There'll be only one character definition in it. If
you download that font file to the printer, you've, in effect,
redefined that single character and all others remain unchanged from
whatever ROM font was overlaid.
The printer understands that a character defined with no pin map IS NOT
the same as a character undefined. Data for the former prints as a
space, and data for the later prints nothing - it's ignored by the
printer - it doesn't exist. When the printer is switched to a
user-defined font, it will print only those characters that are in it's
RAM.
Here's more examples of the various results. Each assumes you're
printing the text "TEST'.
PRELOAD FONT YOUR FONT DEFINES RESULT
------------ ----------------- ------
None T and S "TS" (PEDFONT won't do this)
Roman T and S "TEST" where "E" is in Roman
Sans Serif T and S "TEST" where "E" is Sans Serif
Irrelevant Full except E "T ST"
All of these effects, of course, are temporary and exist only as long
as the printer is turned on. When the printer is turned off, all font
information in it's RAM is lost. When the printer is turned back on,
it's set to use the draft Roman 10 CPI font.
X. Switching to RAM Character Printing
Once you've store user-defined characters in the printer, you can
instruct the printer to switch to RAM character printing. Under normal
circumstance you can access the RAM characters in the ASCII range 32 to
126 decimal. There are two ways to access user-defined characters 0 to
31. The first method is available only on ESC/P2 printers, and PEDFONT
does not support it.
The second method is to first download your character set to the
printer. Then select ROM character printing and send the command that
remaps all user-defined characters to the upper half of the character
memory leaving the lower half as ROM characters. In other words, the
technique adds 128 to the user-defined character codes. This method is
necessary if you're redefining characters outside the recommended range
of 33 to 126. If PEDFONT is instructed to "Save ..". or "Download"
such a font, it will generate the necessary Epson commands to employ
the second method. In this case you need to know that your characters
are in the upper half of the printer's RAM and the printer's ROM font
is in the lower half.
XI. Error Messages
45
Things can and will go wrong, and PEDFONT can issue one of many error
messages when they do. Many of the messages can be generated by the
host Pascal environment, are too numerous to document here, and are
highly unlikely to occur. Most of the others are due to PEDFONT's
failure to acquire a system resource such as RAM or disk space. These
error messages take the form "x Init Error y" where "x" is the name of
the resource and "y" is the failure status code. You'll probably never
see one of those messages, and there isn't much you can do about one
other than let me know.
In every other instance, an error message will most likely be
self-explanatory. Here's some error messages that may occur more
routinely:
a. "The printer is turned off"
PEDFONT has attempted to communicate with the printer, and
the status returned indicates the printer is turned off.
b. "The printer is on but not ready"
Maybe you need to press the "ON LINE" button.
c. "The printer is out of paper"
I think you know what this means.
d. "Delete of x failed"
You asked PEDFONT to delete font file "x", it tried but
couldn't do it for some reason. Maybe the file is
READ-ONLY?
e. "x missing 1st Escape code"
You asked PEDFONT to load font file "x". It took a look at
the file and found it had no initial Epson escape command.
PEDFONT insists that a "real" font file begin with an Epson
escape sequence. Maybe the file has an LQC extender, but
it's not a font file? Maybe the file has been damaged?
f. "x is empty"
You asked PEDFONT to load font file "x", but "x" has no
data - nada - a font file in name only.
g. "Save of x failed"
PEDFONT tried to write your font file to disk, but the
write failed due to an I/O error or out-of-space.
The usual first step in curing a problem is to understand the error
message. Failing that, one usually reboots the computer. That's fine.
If, however, you experience an unsolvable problem with PEDFONT, please
let me know so I can exorcise it.
XII. What PEDFONT Doesn't Do
PEDFONT has no provisions for controlling the graphics abilities of the
Epson LQ printer. That includes all of the following:
Select Single-Density Graphics Mode
46
Select Double-Density Graphics Mode
Select High-Speed Double-Density Graphics Mode
Select Quadruple-density Graphics Mode
Select Graphics Mode
Reassign Graphics Mode
Raster Graphics
Also, PEDFONT does not support the following miscellaneous commands:
Commands that toggle the MSB
Select/deselect Printer
Multipoint Modes
Scalable Fonts
Color
Design and management of LQ Super/Subscript proportional fonts
PEDFONT does not support the commands in the "ESC/P2" printer control
language that were not present in "ESC/P". If someone wants a PEDFONT
that supports ESC/P2, let me know.
XIII. Registration
PEDFONT is not free. It's "Shareware". Shareware is a software
distribution method - not a type of software. Shareware carries the
ultimate money-back guarantee - if you don't use the product, you don't
pay for it. However you obtained a Shareware product, you're obligated
to pay the author if you keep it.
This program along with its associated documentation and accessories
("the software") is the copyrighted work of its author. All rights
under U.S. and International copyright law are reserved. The software
may not be reverse-engineered.
You are hereby granted a license to use the software free of charge for
test and evaluation purposes for a period not to exceed 15 days from
the date on which you acquired the software. After that evaluation
period, you are legally and honor-bound to either send me the specified
registration fee, or cease using the software. If you decide to not
register after the trial period, erase the software in all it's forms
from your system, and accept my sincere congratulations and admiration
for your personal integrity. Once you have registered the software,
you are free to make archival backup copies for your security, and to
use the software on as many computers as you own or use, subject to the
following restrictions:
A. Your use of the software is for personal benefit only. Any
business or commercial use of the software requires a commercial
license and payment of the commercial license fee. Contact me
for details on commercial use. Use of the software by CompuServe
employees, and forum SysOps and assistants, does not constitute
commercial use.
B. You may distribute the software as long as the material you
distribute is the original ZIP file as released by myself. You
may not charge a fee for profit for the software without my
47
express written consent. Non-profit organizations such as users
groups, Bulletin Board Systems and Shareware distributors may
distribute the unregistered software to its members and/or
customers and may charge a nominal disk duplication and/or media
fee.
The registration fee is $15 US. From foreign registrants I need
another two dollars. As a bonus for registering, you'll get back a few
dozen fonts plus the latest version of PEDFONT without the registration
reminders. For another $10 you can have the source code.
Mail the registration to:
Ken Murphy
1704 West Lindner Ave.
Mesa, AZ 85202
Unless you tell me otherwise, you'll get back the latest version of
PEDFONT plus all the extra fonts on a 720 KB, 3.5 floppy disk.
All versions of PEDFONT, registered or not, are fully functional, but
the unregistered version does have a reminder or two suggesting you
register it. The registered version is free of those annoyances.
Earlier versions of PEDFONT were shipped to registered users of
"PEDIGREE" as a bonus program. To all others, PEDFONT is shareware.
If you received PEDFONT as a bonus for registering PEDIGREE, you're
considered a registered user of PEDFONT. In either case, all users are
bound by the registration agreement. Included with the unregistered
version is this document and a few sample fonts.
XIV. Support
I ALWAYS respond to users' needs regarding any of my software products
in any of their versions. If you have any questions, suggestions for
improvement, constructive criticisms, etc. about PEDFONT, you can reach
me on CompuServe at 74025,731, and I'd love to hear any of them ...
really. Also, I often read my U.S. Mail. General nastiness you can
keep to yourself.
Telephone support is not provided. Support for any particular version
of PEDFONT begins from the time you received the registered version to
3 months afterward. During that time you are entitled to have any
"bug" repaired followed by the corrected version delivered to you at no
charge. After 3 months time, a registered user may upgrade to the last
version for 1/2 the then current full registration price. If the 3
month support period has lapsed, you discover a bug, and no newer
version is available, I'll fix the problem under the terms of the
upgrade policy, i.e., you get the fixed version for 1/2 the then
current full registration price.
XV. Technical Stuff
PEDFONT was written in Pascal using "Borland Pascal with Objects"
version 7. It's optimized for an 80x86 CPU. There are a few routines
48
written with the inline assembler, and even fewer in Borland's Turbo
C++ 3.0. Extensively used was "Object Professional" version 1.21 from
TurboPower Software. Although I am in no way affiliated with either
company, consider this a blatant advertisement and recommendation for
those fine products including the superior technical support from both
organizations. And, like a certain dish in your local Chinese
restaurant, they are indeed a "Happy Marriage".
PEDFONT was developed on a 486DX 33 MHz IBM clone running under an AMI
BIOS and MS-DOS 5.0.
I can also recommend "PC Intern System Programming", a hefty (weight
AND price) volume in the Developer's Series developed by Michael
Tischer and published by Abacus. I found a wealth of info about the
EGA/VGA BIOS in there. ISBN 1-55755-145-6 and $60 retail, but it comes
with a disk containing all it's sample code in 3 languages, Pascal, C
and assembler.
Information about Epson's ESC command language and how printers respond
was taken from "Epson Esc/P2 Reference Guide For 24-Pin Printers".
It's a publication available from Epson America for $25+3$ S&H. It's
invaluable information about the ESC/P printer control language. NOTE:
"Epson", "Epson ESC/P" and "Epson ESC/P2" are registered trademarks of
Seiko Epson Corporation.
PEDFONT was developed for my Epson LQ-850 printer. PEDFONT supports
most of the ESC/P printer language even for those commands that aren't
supported by an LQ 850/950/1050. It has been successfully used on a
Panasonic KX-P1124 and a Star Micronics NX-2400. Both are highly
compatible 24 pin dot matrix printers.
This document was prepared with WordPerfect 5.1.
XVI. Glossary
ASCII American Standard Code for Information Interchange. A
standardized coding system for letters and symbols used by
nearly all manufacturers of computers, printers, and
software.
Ascender The part of a lowercase letter that rises above the body of
the letter, as in b, d, f, h, k, l, and t.
Baselines Invisible lines on which the bottom of characters rest.
Bidirectional Printing in which the print head prints from left to
right only on every other line. On the other lines it
prints from right to left. This increases the speed of
the printing because the print head prints from both
directions without having to return. See
"Unidirectional".
Boldface A heavier, darker version of a regular typeface.
Capitals The large letters of the alphabet. Also known as "caps" or
49
"uppercase letters".
Carriage Return A control code that cause the printer to return the
print position to the left margin. In bidirectional
printing the print head may not actually move to the
left margin.
Characters Individual letters, figures, punctuation marks, etc. of the
alphabet.
Condensed type Narrow version of a regular typeface. The Epson
prints condensed at approximately 60% of the normal
width of standard characters. For example, condensed
10 pitch has 17 characters per inch.
Descenders The part of lowercase letters that falls below the
baseline, as in g, j, p, q, and y.
Dingbat The collective name for all symbols and ornaments, such as
stars, pointing fingers, bullets, arrows, etc.
Display type Type (usually 14 point or larger) that by virtue of its
design is used to attract attention in headlines.
Dot matrix A method of printing in which letters and symbols are
formed by patterns of individual dots.
Double width A print width in which each character is twice as wide
as normal characters.
Draft One of two print qualities available on the LQ. Draft uses
a minimum number of dots per character for high-speed
printing. See also "Letter Quality".
Drop cap Display letter that is inserted into the text. May also be
raised.
Elite A typeface of 12 characters to the inch as on a typewriter.
Em A printer's unit of measurement, refers to the width of the
letter "M".
En Another printer's unit of measurement which refers to the
width of the letter "N" ... used for inserting white space
in a line of type.
Extended A wide version of a typeface.
Face See "Typeface"
Font Complete assortment of all the characters (upper and lower
case letter, numerals, punctuation marks, etc.) of one size
and one typeface.
Italic A letterform that slants to the right or is cursive.
50
Italics are companions to, and distinct from, roman
(upright) typefaces.
Kerning Adjusting the space between letters (usually moving them
closer together) to improve the apparent regularity of the
spacing.
Leading (Pronounced ledding). The term originates from a time when
thin strips of lead were inserted between lines of type to
achieve proper spacing. Leading determines the amount of
white space between lines of type.
Letter Quality One of two methods of printing on the LQ. Letter
Quality reduces the print speed and increases the number
of dots per character to increase the print quality.
Letterspacing Adding space between individual letters in order to fill
out a line of type and improve appearance.
Lowercase The small letters, as opposed to the capitals.
Measure The length of a line of type, normally expressed in picas,
or in picas and points.
Monospaced A typeface in which all characters occupy the same amount
of horizontal space, such as fixed-pitch typewriter face.
Oblique Roman characters that have been slanted to the right. Not
true italics.
Pica A typographic unit of measurement equal to one-sixth of an
inch. Column width is measured in picas.
Pitch A form of typeface measurement describing the number of
characters that fit into one inch. The smaller the size
(in points) of each letter, the more of them can fit in one
inch of printed space.
Point Smallest typographical unit of measurement, approximately
1/72 on an inch. Type is measured in terms of points, the
standard sizes being 6, 8, 10, 12, 14, 18, 24, 30, 36, 42,
48, 60, and 72.
Point size The size of a particular font.
Printer's Dam An expletive often mumbled by frustrated font designers.
Proportional Printing in which the width of the character space
varies from character to character. Therefore, a
capital W, for example, receives much more space than a
lower case i.
Sans Serif Without serifs. A clean, modern typeface, such as Swiss
(Helvetica).
51
Serifs Small cross-bars (or finishing strokes) that end the main
strokes of letters. Dutch (Times Roman) is a serif type
style.
Typeface A specific design of a set of letters, numbers, and
symbols, such as Dutch, Baskerville, Times Roman, Goudy,
etc.
Type family The various weights and styles of a typeface. Baskerville
roman, italic, bold, and bold italic together are a
typeface family.
Typestyle A variation of weight or width within a typeface family.
Standard type styles include roman, italic, bold,
condensed, or extended but there are many different weights
and widths, and each one is a typestyle.
Unidirectional Printing in which the print head prints from left to
right on every line. This decreases the speed of the
printing because the print head must return to the
left for each line. Although slower, this can
improve the appearance of graphics because the
printer always determines horizontal positioning
starting from the same point, i.e., the left side of
the carriage. See "Bidirectional".
52