------------------------------------------------------------------------------
H E L P F U L H O R R A C E
B y C h r i s S k e l l e r n
------------------------------------------------------------------------------
OVERVIEW
After wrestling away and getting nowhere with some two column printing
utilities, I decided to write my own with user friendliness being a major
design feature.
Helpful Horrace is the result. Programmed in assembler on my assembly program
ASSEMBLER 2000 (available from Emerald City) it is a versatile printing
utility which allows for standard disk based ASC11 files to be printed in
either single or double columns. The idea of 2 column printing is to save
paper when printing out disk based read_me files or PD manuals etc.
Most printers allow you to configure them to achieve 160 characters across a
single page width. With this setup, 2 column printing can be a real paper
saver.
Helpful Horrace only accepts pure ASCII files with the standard 13/10 line
terminators. Tab settings (9) are replaced with a single space and any other
obscure characters are ignored altogether.
The program allows for a variety of options to be set including half and full
hyphenation, centre character definition, margins, centre gap, page numbering
etc.
All these settings can be saved to disk as a preference file.
GETTING STARTED
First thing to do is to load a file into memory. Do this by selecting the LOAD
icon and then selecting your desired file from the file selector screen. Once
a file is loaded into memory its time to setup the program variables. The
VERT LINES value must be set to the total number of lines that your sheet of
paper is capable of displaying. NOTE: this should NOT be set to the number of
lines you want printed since this value is calculated automatically from
within the program by means of adding up the margins etc. HOZ CHARS needs to
be set to the maximum amount of characters that can be displayed on the page
width. This value is dependant on the font size you are using, so could be
anywhere between 40-200. Again ensure the value is the total characters that
the sheet width can handle and not the number you want displayed. The column
widths are calculated by the program at time of printout by subtracting the
left/right margins and the centre gap.
The CENTRE GAP value determines the number of spaces you wish to act as your 2
column gap. I find 2 or 3 works quite well. The centre gap character is a
little optional extra that allows you to have a vertical division running down
the centre of the page. Use a '|' for the best effect, if you dont want
anything to appear then set this value to a ' ' (space).
The above settings are the basic 'get you started' variables required. To
start printing select PRINT or if you wish to do a dry run on the screen
select SCREEN.
OTHER FEATURES
2 primitive hyphenation modes exist within the program, selectable from the
main screen. WORD BOUN forces any words that cannot fit fully into a column to
be moved to the next left margin. WORD SPLIT goes one step further and splits
the offending word into 2 and placing the '-' character at the end of the
first half. Leading spaces are ignored when hyphenation is in operation.
SAVE PREFS
This selector allows for the current program variable settings to be saved to
disk as a special resource file. This file is loaded automatically at the time
of program startup (providing the pref file is on the main menu of the disk
and on the same disk as the HH program itself).
SETUP
This selector takes you into the printing setup screen. Data can be sent
directly to your printer from here allowing you to set your favourite font
style and size etc. The commands must be entered as a hexadecimal string only
with commers separating each command.
EG: 1B,4D
The above command is the standard printer command for setting elite pitch. You
should consult your printers handbook for the complete listing of commands.
You can send the printers string directly to the printer by selecting SEND
PRINTER STRING or have the program do it automatically for you whenever you
start a print run by selecting the auto flag.
The notes string allows you to enter a few words describing what commands you
have set. Both printer command string and notes string are saved and loaded
automatically with the preference resource file.
COUNT
This selection does a quick format of the loaded text file using the current
program settings as its guide. It lets you know exactly how many pages your
current file will require with the current pref settings in operation, thus
allowing you to 'fiddle about' with the settings if you wish to achieve a
definitive amount.
PAGE NUMBERING
This will only work if the TOP MARGIN value is equal or greater than 1. It
simply prints the current page number at the top of each page during printout.
PAUSE AFTER PAGE
Set this to perform a pause after each page print procedure giving you time to
adjust/load paper etc if required.
DOUBLE PASS
If you have a dot matrix printer with a worn ribbon, set this selection to
achieve crisper results.
PAGE FEED
This command automatically informs the printer to perform a page feed after
every printed page. If displaying to the screen then it will be ignored.
PRINT
Starts the printing procedure. Is important NOT to use any Proportional
settings on your printer since the output text has been formatted to specific
column widths and proportional printing will upset this balance.
SCREEN
Dumps the text to the screen instead of the printer. Only 80 characters width
will be visible.