home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Du Jour
/
SoftwareDuJour.iso
/
COMPUTER
/
PRINTER
/
LQALL.ARC
/
LQ.DOC
< prev
next >
Wrap
Text File
|
1985-11-01
|
65KB
|
1,830 lines
LQ (tm)
by Mark Harris
Granny's Old-Fashioned Software (tm)
Rt 4, Box 216
Boone, NC 28607
(704) 264-6906
October, 1985
Version 1.0
(C) 1985 by Mark Harris
All Rights Reserved
The unmodified LQ distribution diskette, containing a
copy of this manual, may be freely copied and shared,
but printed copies of this document may not be copied.
Table of Contents
1. Introduction 1
2. Memory vs. file use of LQ 2
3. Control sequences 5
4. The LQ parameter line 9
5. Creating or modifying a configuration file 12
6. Tips for better printouts 17
7. Character sets available in LQ 19
8. Editing character sets: the EDCHAR program 20
Appendix A. About 'Shareware' 26
Appendix B. Coming attractions 27
Appendix C. ASCII codes 28
Introduction 1
LQ
Letter quality for dot matrix printers.
(C) 1985 by Mark Harris
All rights reserved.
1. Introduction.
LQ is a program for the IBM PC and compatible
computers which will allow you to produce high-quality
text on inexpensive dot matrix printers. Almost all
such printers are supported, but you may have to create
a configuration file (see Section 5) if yours deviates
significantly from an Epson.
LQ offers these features:
1. LQ can be 'locked' into memory to function
inconspicuously with your favorite word processor
or other program, or it can be used only as needed
to process disk files.
2. Most control sequences for turning on special
modes (double-strike, underline, superscript,
etc.) will produce the corresponding results with
LQ, so you will not have to modify your word
processor to accommodate LQ.
3. Additional modes such as proportional spacing and
extra-large printing can be turned on within a
document or when LQ is executed.
4. Four fonts are available at any time, and others
can be swapped into memory when desired.
5. You can modify an existing character set or edit
your own from scratch using the EDCHAR program
included in the package.
You will probably want to take a look at LQ's
output before reading about all the details. Following
is a procedure to get some quick results if you have an
Epson-compatible printer; if yours is different, skip
this test and read on.
1. Boot DOS.
2. Insert the LQ disk and type LQDEMO.
3. Turn on your printer and press a key when prompted.
For best results, leave friction on if you have
friction feed.
2 Memory vs. file
2. Memory vs. file use of LQ.
Most computer users generate a lot of paper
output, but only a small fraction needs to be letter
quality. One problem with using daisy wheel printers
is that all output is slowed to accommodate this
fraction. LQ offers two ways of using its features,
depending on how often you expect to use it in a
session and on the memory available:
1. LQ can be 'locked' into memory so that all printer
output is intercepted and altered to letter
quality. LQ can be turned off and on
subsequently, but it will continue to occupy about
60K of RAM.
2. LQ can print disk files without permanently taking
up memory. For example, the command
LQ F'MYFILE'
will print the text file MYFILE in letter quality,
then restore your system to its previous state.
In either case a number of options are available (see
sections 3 and 4 for details). Here are a few
illustrations of setting LQ in motion:
LQ - loads LQ and locks it into memory, or turns LQ
on if previously loaded and turned off. Options
are set to their defaults.
LQ OFF - if LQ is locked in memory, this command
returns printing to its normal function (but does
not free the memory occupied by LQ).
LQ F'MYFILE' MP - prints the file MYFILE in letter
quality with proportional spacing
[M(ode)P(roportional)], whether or not LQ has been
previously loaded.
LQ MP - loads LQ if not already resident, and sets
the default mode to proportional spacing.
LQ F'MYFILE' W - prints MYFILE, pausing at form
feeds [W(ait)] for changing single-sheet paper.
The commands are shown in upper case, but you may mix
upper case and lower case with exactly the same
results. You can specify as many parameters as you
like in a single line, and you can give them in any
order. For example,
LQ MP F'MYFILE' W
will print MYFILE using proportional spacing and
pausing at form feeds.
Memory vs. file 3
When using the F(ile) option, you can stop
printing at any time by pressing a key; you will be
asked if you want to abort the printout or continue.
There are several considerations when choosing
between memory and file use of LQ. If your computer
has little memory installed (128K) or if your word
processor or other application software hogs memory,
you may not have enough space to keep LQ resident. If
this is the case, you should send output from your
favorite program to a text file rather than to the
printer, then process the file with LQ. How you create
such a file varies from program to program, but such
output redirection can almost always be performed. For
example, with PC-Write (a highly-recommended Shareware
word processor), the command
PR MYFILE
formats and prints the file MYFILE, while
PR MYFILE YOURFILE
sends exactly the same sequence of (formatted)
characters to a second file YOURFILE instead of to the
printer. The command
LQ F'YOURFILE'
can then be used to obtain letter quality.
Similar redirection to a file is available with
many DOS programs using the '>' symbol. For example,
DEBUG >MYFILE will run the DEBUG program and send
output to the file MYFILE instead of to the screen.
This technique is frustrating, since you can't see the
program's response to what you type; all output goes
directly to MYFILE. However, if you want to capture a
short DEBUG session, you can run through the sequence
with screen output, then repeat the same sequence with
output to a file.
There are many other ways to create text files
which can be printed with LQ. Probably 80% of the
files you have stored fall into this category; they are
created by word processors, data base programs, the
Sidekick 'Notepad' (from Borland International),
programs which you write yourself, etc. Consult the
documentation for a particular application to get
details of file creation and format.
If you have a previously-created text file
'printout' you want to print in a letter quality mode
you can take two different approaches.
LQ F'filename' [parameter list]
will function as described above, or you can enter
COPY filename PRN
if LQ is resident in memory. The latter tactic simply
sends the file to the printer, and characters are
'dressed up' by LQ on the way through. The former
method is preferred for reasons which will become more
clear later: the F(ile) option lets you request pauses
at page breaks, and automatically advances the platen
4 Memory vs. file
just enough to remove slack which otherwise can distort
the first line printed. (You can explicitly request
this initial line advance using the B(egin) control
sequence described in Section 3.)
Control sequences 5
3. Control sequences.
A 'control sequence' in a document is a sequence
of codes or characters which has a special meaning to
your printer (or the program controling it), and which
changes the way in which subsequent characters are
printed. You have probably used such codes for some
time, perhaps without realizing it. When you tell your
word processor to print a book's title in boldface or
to print a subscript, you are telling your software to
insert the appropriate control charaters for performing
this function.
There are two levels at which you will be
concerned with control sequences when using LQ. At the
first level, you would like to have LQ use the usual
sequences for turning on bold face, italics,
superscript and so forth so that you can use your
accustomed word processor without changing your habits.
This is simply a matter of naming the corresponding LQ
functions with the same codes that your printer manual
describes; if your printer behaves much like an Epson,
the chances are that LQ will already satisfy this
requirement. If your printer is significantly
different, there are three possibilities:
1. With luck, there is a configuration file (with the
suffix LQP) on the LQ disk already set up for your
printer. In this case, you will specify this file
when calling LQ. For example, if you have a
C.Itoh printer then you can use the configuration
file CITOH.LQP by calling LQ with
LQ P'CITOH'.
2. The next-best case is that no configuration file
has been written for your printer, but that you
can write one yourself. Create the file by
following the instructions in Section 5, then
proceed as in case 1.
3. There is a slight chance that your printer is
really incompatible with LQ. This is the case
with the Okidata printer because only 7 dots can
be printed at one time in graphics mode, and LQ
relies heavily on printing 8. LQ may be modified
in the future to suit your printer; you can help
by sending us a copy of the control code section
of your printer manual. In the mean time, please
call us to confirm the problem.
The second level of concern has to do with controling
the additional features which LQ has but which your
word processor does not know about, for example triple-
high characters. Such options are set using using
control sequences which start with the two codes <ESC>
6 Control sequences
<ESC>. For example, '<ESC> <ESC> L' turns on the
triple-high mode. Since these sequences are new to
your application program, you must find some means for
inserting them in your text file. There are several
possible approaches:
1. You may use a word processor which allows for
entering control codes directly. In PC-Write, the
<ESC> character (ASCII code 27) can be entered by
pressing <ALT 2> <ALT 7>.
2. You may insert control codes after you exit your
program using a simple text editor such as
Sidekick's Notepad. In the Notepad, any control
code can be entered by preceding it with <Ctrl P>.
To get <ESC> <ESC> you would enter
<Ctrl P> <ESC> <Ctrl P> <ESC> .
3. If the LQ feature you want to use will not change
during a printout, you can request it in the LQ
command line rather than using control sequences.
For example,
LQ C3 turns on character set number three (out
of the four in memory) as an alternative
to
<ESC> <ESC> 3 within your document.
A few additional comments on option 3 are in order.
Even if you want to switch back and forth between
character sets within a document, you may be able to
get by without entering control codes yourself. Most
word processors have a way of turning on italics; since
the italic set is expected to be the second of LQ's
four sets, you can change to any second set by turning
on italics. If you want to use this method, have LQ
load the desired alternate character set with a command
such as
LQ C2'SANSSER'
(which loads SANSSER.SET as character set number 2,
replacing italics).
Control functions available in LQ.
Following is a list of LQ functions which may be
used or changed within a document using control
sequences. Those functions which can be renamed (with
different control sequences which will have the same
effect) are indicated with an asterisk; the renaming is
done in a 'configuration file' (see Section 5).
Each control sequence is shown in two forms: the
sequence of keys to press, then the corresponding
sequence of (decimal) ASCII codes. For example,
<ESC> 'E' = 27,69
indicates that the sequence consists of the escape key
code followed by the code for the capital E character.
Control sequences 7
* Turn on boldface:
<ESC> 'E' = 27,69 or <ESC> 'G'
* Turn off boldface:
<ESC> 'F' or <ESC> 'H'
* Turn on italics (character set #2):
<ESC> '4'
* Turn off italics (turn on set #1):
<ESC> '5'
* Turn on double-wide print:
<Ctrl N> = 14
* Turn off double-wide print:
<Ctrl T> = 20
* Turn on underline:
<ESC> '-' # = 27,45,# where # corresponds to any
code except 0 or '0'. For example, use
<ESC> '-' '1' = 27,45,49.
* Turn off underline:
<ESC> '-' # = 27,45,# where # corresponds to
either '0' or 0. For example, use <ESC> '-' '0 =
27,45,48.
* Superscript:
<ESC> 'S' # = 27,83,# where # corresponds to '0' or
0. For example, <ESC> 'S' '0' = 27,45,48.
* Subscript:
<ESC> 'S' # = 27,83,# where # corresponds to any
code except 0 or '0'. For example, use <ESC> 'S'
'1' = 27,45,49.
* Superscript/subscript off:
<ESC> 'T' = 27,84
Turn on proportional spacing:
<ESC> <ESC> 'P' = 27,27,80
Turn off proportional spacing:
<ESC> <ESC> 'Q' = 27,27,81
Turn on triple-high (large) characters in the current
set:
<ESC> <ESC> 'L' = 27,27,76
(The large mode stays on for the entire line
regardless of where in the line it was turned on,
and the mode is turned off automatically at the end
of the line.)
Switch to character set n (1 <= n <= 4):
<ESC> <ESC> 'n'. For example, <ESC> <ESC> '3' =
27,27,51 turns on character set number 3.
8 Control sequences
Advance platen a little to put tension on paper
(recommended for preceding first line of printout;
this function is performed automatically when the
F(ile) option is used.):
<ESC> <ESC> 'B' = 27,27,66
Wait for key to be pressed at page breaks:
<ESC> <ESC> 'W' = 27,27,87
Don't wait at page breaks (the default):
<ESC> <ESC> 'X' = 27,27,88
Set line space to n units (where one unit is either
1/144" or 1/216" depending on the smallest line
advance your printer supports):
<ESC> <ESC> 'S' # = 27,27,83,#
where # is the number (from 1 to 255) of increments
desired. For example, the smallest Epson line
advance is 1/216", so <ESC> <ESC> 'S' '$' =
27,27,83,36 sets the line space to 36/216" = 1/6".
It is generally easier to use the L(ines per page)
parameter when activitating LQ to determine the
number of lines on an 11" page.
Other control codes.
Three additional control codes are recognized by
LQ: 10 (line feed), 12 (form feed) and 13 (carriage
return). All other control codes (ASCII codes less
than 28) besides those listed above (or the substitutes
given in a parameter file) are ignored. It is unlikely
that your word processor or other application program
will insert such codes without your having explicitly
requested them, so you should not have any unpleasant
surprises in store. However, just in case you see an
occasional mystery character in your printouts, here is
what could happen: if your word processor puts the
sequence <ESC> 'A' in your text, expecting some
response from your printer, the <ESC> would be stripped
by LQ but the 'A' would be printed. If the <ESC> 'A'
corresponds to a needed printer function, you may need
to specify it in a configuration file.
LQ parameters 9
4. The LQ parameter line.
The easiest way to set one-shot options LQ is in
the command line typed when LQ is installed. For
example if you want proportional spacing for all your
printing,
LQ MP
will install LQ with the proportional mode turned on.
The 'LQ' file must be loaded each time an LQ command is
given, so if LQ is not on the default drive, give the
full path name for LQ, e.g. B:LQ MP (if LQ is on the
disk in drive B). You select as many options as you
like in a single line by separating parameters with
spaces. For example,
LQ MPD F'MYFILE' P'CITOH' W
turns on proportional spacing, double-strike printing
for the file MYFILE, using the parameter file CITOH.LQP
and pausing at form feeds. This section lists all
command line options. Parameters are shown in upper
case, but you can mix upper and lower case freely.
M
Sets one or more of the following modes:
P: proportional spacing,
W: double-wide printing,
D: double-strike printing.
For example, LQ MPDW could be used to set all three
modes. Modes omitted default to the opposite state.
C
Specifies a character set in memory, or loads a new
set. Four sets are embedded in LQ, and the first of
these is normally used as the default. LQ C4 can be
used to switched to the fourth set; when used in this
way, 'C' can be followed by one of the digits 1,2,3,
4. The standard sets installed in LQ are:
1 - MAIN.SET
2 - ITALIC.SET
3 - ROMAN
4 - GREEK
These defaults can be changed with the INSTLSET
program described in Section 7. You can see a list
of all character sets on the LQ disk by typing DIR
*.SET at the DOS prompt '>'.
If the 'C' option is followed by a file name, the
character set having this name is loaded to the
indicated set number. For example,
LQ C2'PRETTY'
would load the character set PRETTY.SET as set number
two (without switching to it). The 'SET' suffix is
the default; you should stick with this naming
convention to maintain compatibility with the
character editor EDCHAR. You can simultaneously load
a set and switch to it by using 'C' in both contexts;
e.g., LQ C2'PRETTY' C2.
10 LQ parameters
You can load all four sets in one line:
LQ C1'FIRST' C2'SECOND' ...
You can also use path names in the file
specification:
LQ C1'/MYDIR/FIRST'
L
Sets the number of lines printed on a standard 11"
page. The default is 66; LQ L70 changes this to 70.
The number entered must be from 1 to 99. Spacing
between lines is micro-adjusted using the smallest
platen advance supported by your printer (1/216" or
1/144").
S
Sets the space per line in units of the smallest
possible line advance. For example, on an Epson
(which advances in multiples of 1/216"), the command
LQ S30 would set the distance between the tops of
successive lines to 30/216". The 'L' parameter
generally offers an easier way of accomplishing the
same objective.
W
Wait at page breaks. Use this for printing with
single-sheet paper. Insert a new sheet, align the
paper at the top, then press a key to resume
printing.
B
Advance paper a little at the beginning. If you are
just starting printing there is apt to be a little
'slack' in the paper feed; advancing just a little
fixes a potential blur on the first line of text.
This advance is performed automatically when the
F(ile) option is used.
F'filename'
If you have a file named MYFILE, the command
LQ F'MYFILE'
will print MYFILE without locking LQ into memory.
This is an important option if your computer doesn't
have enough memory to keep LQ resident, or if most of
your printing is in draft mode. The file to be
printed should be a standard text file, possibly
containing some of the control sequences described in
Section 3.
P'filename'
If your printer is an Epson or close compatible, you
will never need this option. If your printer behaves
differently from an Epson in a way which 'surprises'
LQ, you will need to use a parameter file to
communicate these differences. The default suffix
for such a file is LQP; to see a list of such files
insert the LQ disk and type DIR *.LQP. Hopefully
your printer (or a compatible) will be listed; if
LQ parameters 11
not, read Section 5 for directions for creating
a new parameter file.
Example: LQ P'CITOH' loads the parameters (from
CITOH.LQP) for a C. Itoh printer.
One class of non-Epson printers can be accomodated
without creating a parameter file. The Star Gemini
line acts almost like an Epson except that the
minimum line feed supported is 1/144" instead of
1/216". To address this special case, you can enter
LQ P=1 .
OFF
If LQ is currently resident, LQ OFF restores your
printer to its normal operation. The space occupied
by LQ in your operating system is not made available,
but if LQ is turned on again with another LQ command
no additional memory is used for the program.
12 Configuration files
5. Creating or modifying a configuration file.
If your printer is compatible with an Epson or
another printer for which a configuration file (with
suffix LQP) exists on the LQ disk, just follow the
directions in Section 5 for letting LQ know what you
have. If neither the built-in configuration nor any of
the LQP alternatives work, you will have to write your
own configuration file. If you have problems, send us
a copy of the control code section of your printer
manual and we will try to write the file for you. For
LQ to work properly, your printer must support
1. a graphics mode in which 8 pins of the print head
can be individually controlled, and
2. a minimum line advance of either 1/216" or 1/144".
In addition, the graphics mode must be intialized with
a control sequence telling the printer how much
subsequent data will be in graphics mode. A prominent
counterexample is the Okidata, which
1. controls only 7 pins in graphics mode, and
2. uses one control sequence to turn graphics on and
another to turn it off.
All other dot matrix printers we have seen can run LQ,
but we can't get our hands on all the brands out there.
A configuration file is a text file named with a
suffix of LQP which contains lines typically starting
with a symbol indicating a definition category,
followed by a letter specifying the function to be set,
then the '=' character, then a word or sequence of
characters and numbers giving the definition itself.
For example,
%A=27,'E'
indicates that emphasized print will be turned on with
the <ESC> 'E' sequence (that normally used by the
Epson). A control sequence is a list of codes and/or
characters separated by commas; characters are put
within quotes (one pair of single quotes per character)
and codes are given as decimal numbers. The definition
%A=27,69
is equivalent to that above since 69 is the ASCII code
for 'E'. The leading symbol indicates one of the
following categories:
% - a control sequence for a mode definition,
$ - one of the words TRUE, FALSE,
# - a decimal number.
A line starting with any other symbol is treated as a
comment.
Here is the information LQ needs (any one of these
omitted defaults to the Epson value):
Configuration files 13
% parameters.
%A - control sequence for turning on emphasized
print,
%B - sequence for turning off emphasized print,
%C - sequence for turning on double-strike print,
%D - sequence for turning off double-strike print,
%E - sequence for turning on italics,
%F - sequence for turning off italics,
%G - sequence for turning on double-wide print,
%H - sequence for turning off double-wide,
%I - sequence for turning on underline mode,
%J - sequence for turning off underline mode,
%K - sequence for turning on superscript,
%L - sequence for turning on subscript,
%M - sequence for turning off superscript/subscript,
%N - prefix for turning on high-resolution graphics.
For example, the Epson MX 80 manual describes
its high-resolution mode as follows:
<ESC> L Sets dot graphics mode to 960 dots per
8" line.
Format: <ESC> 'L' N1 N2, N1 and N2
determine line length. Line length =
N1 + 256*N2
1 <= N1 <= 255, 1 <= N2 <= 255
Thus you would enter the prefix in your
configuration file as %N=27,'L' or %N=27,76.
(You would also set the number of graphics bytes
to 2 with #A=2, and non-ASCII (binary) number
format with $B=FALSE. See below.)
If you have several graphics densities to choose
from, pick the one closest to 960 dots per 8"
line (120 dots per inch).
%O - In a similar fashion, %O gives the prefix used
to set line feeds in units of the smallest
possible increment. Again, here is the
appropriate material from the Epson manual:
<ESC> 3 Sets line spacing to N/216". Format:
<ESC> '3' N, 1 <= N <= 255
You would enter %O=27,'3' (and set the number of
line feed bytes with #B=1).
%P - The control sequence used to put your printer in
'unidirection' mode. Most dot matrix printers
print in both directions to speed up output, but
the resulting characters are apt to vary in
alignment.
%Q - The sequence of characters you would like sent
to your printer when LQ is disabled with the LQ
OFF option. This should include an appropriate
line feed setting and a return to bidirection
printing. Since the printer is reset to its
default settings when its power is turned off
and on, you will probably have reset the printer
yourself without using this parameter.
14 Configuration files
%R - The sequence of characters you would like sent
at the start of each line printed by LQ. Epson-
compatible printers don't need this parameter,
but it can be very useful for other printer
types. For example, the C. Itoh doesn't have a
separate 'high-resolution' graphics mode;
graphics printing functions in the last
character pitch (pica, elite, compressed,...)
set. The most appropriate pitch is compressed;
%R=27,'Q' sets this at the start of each line.
$ parameters.
$A - You control 8 pins on the print head in graphics
mode. The pins correspond to the numbers
1,2,4,8,16,32,64,128; for example, to fire the
two pins corresponding to the numbers 2 and 16,
the code 18 is sent to the printer. If the
highest pin corresponds to 1 and the lowest to
128, set $A=TRUE; if the order is reversed, set
A$=FALSE.
$B - There are two ways various printers accept
numeric values: ASCII and binary. To indicate
to an Epson printer that 300 graphics positions
are about to be printed, the prefix
<ESC>,'L',44,1
is sent. The numbers 44 and 1 are combined as
44 + 256*1 to obtain the number 300; this is the
binary format. On many other brands of printers
the number 300 would be sent as '3','0','0' or
'0','3','0','0' in ASCII format. Set $B=TRUE
for ASCII or $B=FALSE for binary.
$C - Set $C=TRUE if the minimum line space your
printer will accept is 1/216"; if this value is
1/144", set $C=FALSE.
# parameters.
#A - The number of bytes after the graphics prefix
(specified with %N) used to set the number of
bytes expected by the printer. For example, to
print 300 bytes in high-resolution graphics you
first send the Epson the sequence
<ESC>,'L',44,1; since the prefix takes up two of
these four bytes, the remaining two determine
the setting #A=2. The same task on a C. Itoh
requires sending <ESC>,'S','0','3','0','0', so
you would set #A=4.
#B - The number of bytes after the line feed prefix
(specified with %O) to determine the space
advanced by a line feed. (See #A.)
Configuration files 15
Creating the configuration file.
Any setting omitted in a configuration file
defaults to the corresponding Epson value; see the
EPSON.LQP listing below.
Now that you know what to put in your config-
uration file, how do you actually create one? Any
screen or line editor will do; you will probably want
to use your accustomed word processor. If you have no
other alternative, you can always use the EDLINE line
editor which comes with DOS. Just make sure that you
create a standard ASCII file, not a file in a special
non-ASCII format used internally by your program. To
see if you can make such a file, try writing a 2-line
test file and store it under the name TESTFILE. Then
(at the DOS prompt '>') enter TYPE TESTFILE; if the
lines look right on your screen, you are probably in
luck. Check your word processor index under ASCII for
details.
If you have an unusual printer and succeed in
creating a new configuration file for it, please send
us a listing of your file. In return, if your
configuration is significantly different from those we
already have on record we will send you a disk with all
current LQ character fonts on it.
The EPSON.LQP configuration file.
If you are using an Epson printer or close
compatible you should never need a configuration file;
all needed parameters are already set by default.
However, if you are creating a new configuration file
for a different printer it is instructive to look at
the EPSON.LQP file which lists the Epson parameters;
the form of the file may be helpful, and you should
know what the defaults are in case you omit a parameter
line. Here are the Epson values:
{emphasized on:}
%A=27,'E'
{emphasized off:}
%B=27,'F'
{double-strike on:}
%C=27,'G'
{double-strike off:}
%D=27,'H'
{italics on:}
%E=27,'4'
{italics off:}
%F=27,'5'
{double wide on:}
%G=14
{double wide off:}
%H=20
16 Configuration files
{underline on:}
%I=27,'-',255
{the 255 code will match any 1-byte value except
for 0 and '0'=48. Likewise, 0 matches 0 or
'0'=48. This means you can turn off underlining
in a document with the sequence <ESC> '-' '0',
which is much easier to insert than <ESC> '-' 0.}
{underline off:}
%J=27,'-',0
{superscript on:}
%K=27,'S',0
{subscript on:}
%L=27,'S',255
{superscript/subscript off:}
%M=27,'T'
{hi-res graphics prefix:}
%N=27,'L'
{set line feed:}
%O=27,'3'
{unidirection:}
%P=27,'U',1
{restore:}
%Q=27,'U',0,27,'2'
{start each line with:}
%R=
{no sequence needed}
{upsidedown:}
$A=FALSE
{numbers in ASCII:}
$B=FALSE
{min linefeed=1/216?}
$C=TRUE
{how many bytes for graphics #?}
#A=2
{how many bytes for linefeed #?}
#B=1
Printing tips 17
6. Tips for better printouts.
LQ obtains its high quality print by making three
passes over each line, placing dots at very precise
positions. Any 'play' in the paper can disrupt this
precision and blur a line of print. To keep the
alignment precise, it we recommend that you use
friction feed if possible, even if you are using pin-
feed paper. LQ works fine without friction feed, but
you must make certain that the paper feeds evenly and
that there is uniform tension on the paper.
As previously mentioned, the first line of print
is something of a special case. When your printer is
first turned on there is not apt to be sufficient
tension on the platen to obtain the needed precision on
the first line. This problem is solved by advancing
the platen a negligible distance; this is done
automatically when you use the F option for printing
files. Otherwise, you can use one of the following
approaches:
1. When first installing LQ, include the B(eginning)
parameter: e.g., LQ B. (The printer must first
have been turned on for this to have any effect.)
2. Insert the sequence <ESC> <ESC> 'B' at the start
of the document you want to print.
3. Start your document with a blank line.
Proportional spacing can improve the appearance of
a docoument, but this mode must be used with caution.
Since extra 'white space' between characters is removed
and since the amount of such space varies considerably
(e.g. compare the characters 'i' and 'w'), tables of
data can be distorted. For example, if the two lines
iiii xxxx
wwww yyyy
were printed with proportional spacing, the 'yyyy'
would be further left than 'xxxx'. One way to avoid
this problem is to turn proportional spacing off (with
<ESC> <ESC> 'Q') just before the table and back on
(<ESC> <ESC> 'P') at the end of the table.
Another tip for improving output quality concerns
printing triple-high characters. Because dots are
spaced further apart when printing these large
characters, the print will appear lighter. To keep the
print density uniform, we recommend that you set
double-strike print on when printing large characters.
Most LQ modes are enhancements of familiar print
styles, so your word processor should not require
special consideration. However, triple-high characters
will definitely come as a surprise to any program which
thinks it is counting 1/6" lines; you will use up a
sheet of paper three times as fast as your word
processor thinks you are. To fix this, you can change
18 Printing tips
the number of lines per page in your word processor, or
take charge yourself in other ways. One compromise was
made to keep margins consistent: if the string
' This is a test.'
(7 spaces preceding 'This') is printed in 'large
character' mode, the leading spaces are printed as
normal characters. This lets you set the margin to a
fixed value in your word processor rather than worrying
about whether the margin is in terms of large or
regular spaces.
Character sets 19
7. Character sets available in LQ.
The following list of LQ character sets will
almost certainly be incomplete; new sets are being
created on a regular basis. To see a list of all
character sets on the LQ disk, type DIR *.SET. (These
sets will all appear the same if you are printing these
instructions yourself. If you have an Epson-compatible
printer you can see a printed copy of all character
sets on the LQ distribution disk by typing PRINSETS.)
MAIN.SET
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
ITALIC.SET
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
ROMAN.SET
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
GREEK.SET
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
SANSSER.SET
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
PALATINO.SET
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Changing LQ's default character sets.
The default sets installed in LQ are
1 - MAIN.SET
2 - ITALIC.SET
3 - ROMAN
4 - GREEK
Greek letters are great for scientific applications but
may never be needed by some users. You can change the
list of fonts which are loaded automatically as part of
LQ with the INSTLSET program. First make certain you
have a backup of LQ.COM, then insert a disk with the
following files in the default drive:
LQ.COM
INSTLSET.COM
all character sets desired
(You can copy all character sets from drive A to drive
B by typing COPY A:*.SET B:.) A copy of the original
distribution disk fits the bill, or you can transfer
these files to a separate work disk. Now type INSTLSET
20 Character sets
and follow the instructions. The basic idea is to
choose (as often as desired) a character set from the
list of sets on a disk and then install it as set
number 1,2,3 or 4 in LQ. When you have finished you
will be given a chance to make these changes permanent.
Editing character sets 21
8. Editing character sets: the EDCHAR program.
Sooner or later you will probably want to modify
one of the character sets provided with LQ, or make a
new set from scratch. For example, you may need a
couple of special technical symbols occasionally, or
you may fall in love with an altogether new font. The
EDCHAR program included on the LQ disk offers a
convenient way to edit characters in the format
expected by LQ. The basic sequence is to run the
program, specify the character set you want to edit
(which may be an existing set or a new one), edit one
or more characters corresponding to the ASCII codes 32-
127, then save the revised (or created) set. EDCHAR
also lets you move characters from one set to another
easily.
To get started simply insert the LQ disk and type
EDCHAR. If you want to edit an existing set, you will
want to load it now; if you are creating a new set, you
can skip this step. Press 'L' to get the following
L(oad) submenu:
1. Load main character set.
2. Load auxiliary character set.
3. Return to Character Editor.
If you choose one of the first two options you are
shown a list of all character sets in the current
directory, and you are given a chance to select a set
or to change the directory from which you will select a
set. For example, if you enter '\MYDIR\', the path
will be changed to the indicated directory and all
character sets (files ending in '.SET') in this new
directory will be listed. Similarly, if the font you
want is in the main directory of drive B you would
simply enter 'B:'. You can browse through all your
directories in this fashion, and when you find the one
containing the set you want just type the set's name.
The set will be loaded into memory as the main or
auxiliary set depending on your previous menu
selection. The main difference between these two
categories is that the main set can be altered but the
auxiliary set cannot. The only reason to use an
auxiliary set at all is to transfer characters to the
main set.
Let's assume that you have loaded a main and/or
auxiliary character set if necessary and that you are
ready to edit a character. Press 'G' to obtain the
G(et) submenu:
1. Get character from current set.
2. Get character from auxiliary set.
3. Edit new character.
4. Return to Character Editor.
If you choose one of options 1 - 3, you will be
prompted to enter the ASCII code of the character or
the character (preceded by a single quote) itself. For
22 Editing character sets
example, you can specify the letter 'A' by entering the
code 65 or by entering 'A. If you selected option 1 or
2, you will see the existing character from the
appropriate set ready for editing; if you choose option
3 you will see a clear edit window. (See Figure 1 for a
typical display.) A character is edited as a 24 X 10
matrix of dots, each of which is turned on or off. You
can use the arrow keys along with the Home, End, Pg Up
and Pg Dn keys to position the cursor. Pressing the
space bar toggles the state of the dot under the
cursor. At any time you can also select any of the
menu options listed on the right of the screen.
0 1 2 3 4 5 6 7 8 9 Edit character set:
A████████████████████████████ A C:\TURBO\main
B████████████████████████████████ B
C ████░░░░ ████████ C Auxiliary set:
D ████ ████ D
E ████ ████ E
F ████ ████ F Edit character B
G ████ ████ G code = 66
H ████ ████████ H
I ████ ████████ I
J ████████████████████ J Options:
K ████████████████████ K
L ████ ████████ L C)lear character
M ████ ████████ M B)ackup character
N ████ ████ N R)estore character
O ████ ████ O G)et character
P ████ ████ P P)ut character
Q ████ ████ Q L)oad character set
R ████ ████████ R S)ave character set
S████████████████████████████████ S W)rite char to printer
T████████████████████████████ T Q)uit
U U
V V
W W
X X
Figure 1
When the character has been edited to your
satisfaction, you can put it into the main character
set with the P(ut) option. You will be given a chance
to change the code under which the character will be
stored, but more than likely you will use the default:
the code you used with the G(et) command.
There are three levels of storage used in EDCHAR.
The ultimate (and only safe) storage site is your
disk, and only complete sets, not individual
characters, are saved as files on disk. There are also
the main and/or auxiliary character sets in your
computer's volatile memory; since the power may flicker
at any time, you should backup a set you are editing on
a regular basis. Finally, there is the individual
character being edited: modifying this character
Editing character sets 23
affects neither the set in memory nor the set on disk.
Only when you P(ut) the character to a set is the set
in memory changed, and only when you S(ave) the set in
memory is the set on disk changed.
When editing a character, you have at your
disposal the following options:
C)lear character - pressing 'C' blanks the character
matrix, but doesn't affect the corresponding
character in the set being edited. (Remember, only
the P(ut) command changes that.)
B)ackup character - pressing 'B'makes a copy in
memory of the character definition currently
displayed.
R)estore character is the reverse of backup - the
last character definition backed up with the 'B'
option replaces that being displayed.
Backup and restore let you experiment with a
character definition without altering a set on disk.
S)ave character set - pressing 'S' lets you save the
set being edited under the name used for loading
the set, or under any other name. You are prompted
to enter the name of the set or the path for
saving. You can overwrite the previous version
simply by pressing return, or you can create a
separate second version by changing the path or
name. You will want to use the S(ave) option often
since it provides cheap insurance against power
fluctuation and other perils to your data.
W)rite character lets you see how your character
looks on paper if you have an Epson-compatible
printer attached. You will be prompted to turn on
your printer, then the character being displayed
will be printed in LQ mode. (LQ should not be
installed in memory if you use this option.) Note
that while LQ works with printers which are not
Epson-compatible (through the use of LQP
configuration files), EDCHAR does not. This simply
means that if you want to see your new characters
on paper, you may have to wait until you exit
EDCHAR and run LQ.
Q)uit prompts you to make certain you're serious,
then returns to DOS.
24 Editing character sets
There is an additional choice not shown on the screen.
If you press <Ctrl C>, you will be given the following
menu:
1. Center character.
2. Center entire set.
3. Return to Character Editor.
Selecting the first option centers the character
definition on the screen, while choosing the second
centers all of the character definitions in the main
character set. If characters are not centered then
spacing within words can appear irregular; it is always
a good idea to center the entire set when you are
finished editing it.
Tips on editing character sets.
Make certain that you use the same 'base lines' for
all the characters in a given set, so that the
characters will line up properly when printed. The
following should be aligned:
the base of characters without descenders,
the top of lower case letters such as 'a' and 'c',
the top of upper case letters.
If you want to create a new font, you may want to
work from an existing font. For example, you might
reuse the punctuation symbols but change the letters
and numbers. To do this, copy (at the DOS prompt) the
set to be edited to a new name:
A> COPY OLD.SET NEW.SET.
Editing character sets 25
Now you can run EDCHAR and edit the new set without
risking your old set. The same thing can be
accomplished from within EDCHAR by loading a set,
editing it, then saving it to a different name, but you
must be sure to enter the new name or your old set will
be lost.
26 About Shareware
Appendix A. About 'Shareware'.
'Shareware' is a relatively new means of software
distribution with several advantages to you the
consumer. The complete package including this
instruction manual is contained on a single diskette
which may be freely copied and distributed. Word of
mouth provides a more accurate and less expensive way
of making a product known than magazine advertisements,
and the savings keep LQ's cost down.
Shareware does not mean 'public domain'.
Distribution is permitted only if the package stays
intact; all files should be passed on in unmodified
form.
If you find LQ of use, you are encouraged to
register. Your registration fee of $35 will provide
the following benefits:
1. A current version of LQ including all available
character sets,
2. a mail-in card for a future version of LQ,
3. a $10 commission each time someone registers from
one of your copies,
4. telephone support for your technical questions.
To register, phone (with MC or VISA) (704) 264-6906 or
mail payment to:
Granny's Old-Fashioned Software
Rt 4, Box 216
Boone, NC 28607
North Carolina residents please add 4.5%.
Please include the registration number from the upper
right of LQ's initial display so that we can reimburse
the person from whom your copy originated.
Coming attractions 27
Appendix B. Coming attractions.
Version 2.0 of LQ is currently in the works and
promises some significant enhancements:
More LQP files to support additional printers
automatically,
a print-spooler which will work efficiently with LQ,
support for generating your own letterheads,
a utility to help 'digitize' printed fonts,
several additional fonts.
28 ASCII codes
Appendix C. ASCII codes.
0 32 SP
1 ^A 33 !
2 ^B 34 "
3 ^C 35 #
4 ^D 36 $
5 ^E 37 %
6 ^F 38 &
7 ^G 39 '
8 ^H 40 (
9 ^I 41 )
10 ^J 42 *
11 ^K 43 +
12 ^L 44 ,
13 ^M 45 -
14 ^N 46 .
15 ^O 47 /
16 ^P 48 0
17 ^Q 49 1
18 ^R 50 2
19 ^S 51 3
20 ^T 52 4
21 ^U 53 5
22 ^V 54 6
23 ^W 55 7
24 ^X 56 8
25 ^Y 57 9
26 ^Z 58 :
27 Esc 59 ;
28 60 <
29 61 =
30 62 >
31 63 ?
ASCII codes 29
64 @ 96 `
65 A 97 a
66 B 98 b
67 C 99 c
68 D 100 d
69 E 101 e
70 F 102 f
71 G 103 g
72 H 104 h
73 I 105 i
74 J 106 j
75 K 107 k
76 L 108 l
77 M 109 m
78 N 110 n
79 O 111 o
80 P 112 p
81 Q 113 q
82 R 114 r
83 S 115 s
84 T 116 t
85 U 117 u
86 V 118 v
87 W 119 w
88 X 120 x
89 Y 121 y
90 Z 122 z
91 [ 123 {
92 \ 124 |
93 ] 125 }
94 ^ 126 ~
95 _ 127 Del