
|Symmetry Group Introduction|
|SLATE Introduction|
|SLATE|
|SLATE with Graphics|
|SLATEUTL|
|SCRIPT|
|S_PRINT|
|Supported Printers|
|Compilers Supported|
|License Agreements|
|Terms and Conditions|
|Price List and Ordering Information|
|Support@SymmetryGroup.com|
Printing Topics
|Printable Area|
|Fonts|
|DeskJet Limitations|
|Graphic Printing Speed|
|Network Printers|
|Unlisted Printers|
Printable Area
- Impact printers with continuous forms usually print from the top of the
page to the bottom of the page with no unprintable vertical area. However,
narrow carriage printers usually print only 8 inches wide. The available
8 inches is usually determined by the position of the tractors.
- If cut sheets are used (either from a sheet feeder or manual feeding), a
small area at the top of the page and as much as the bottom 1 inch is not
printable.
- Laser printers usually have an unprintable area on all four sides. It can
be as much as 0.3 inches on the top and bottom and is usually about 0.25
inches on the sides.
- Cut sheet ink jet printers usually have limits similar to laser printers
except the bottom unprintable area can be as large as 0.6 inches.
- In most cases, setting generous margins will allow printing without much
consideration for the printable area. If the maximum space is required,
SLATE provides functions to get the limits of the printable area. If headers
or footers are printed, the minimum and maximum vertical position should
be used to set margins and printing positions.
Fonts
- Most dot matrix printers have a large selection of Font spacings, styles
and weights. Older IBM printers do not support italic. Some can print double
high characters (although SLATE doesn't allow this unless single high and
double high characters can be mixed on the same line). Some of the latest
printers can print high quality Fonts at various sizes.
- Daisy wheel printers usually can print only 10 and 12 characters per inch.
Bold may be available on some printers. Italic is not available.
- Early laser printers provided only 10 pitch Courier and 16 lineprinter (no
bold, italic, or other pitches). Even the LaserJet II only supported 10
pitch medium and bold Courier and 16 pitch lineprinter. The LaserJet III
was the first LaserJet printer to come with a full complement of Fonts.
- Also note that attempting to download an IBM-2 (PC-8) font to a LaserJet
or clone prior to the LaserJet II will result in the printer hanging or
stopping with an error.
- SLATE now comes with an extensive set of download fonts for LaserJet printers
(and clones). However, the font files must be distributed and Font Downloading
must be enabled.
- Applications should use the Load Matching Font function and test the actual
Font selected if necessary.
- Printing columns, centering, and other formatting should be done with positioning
functions and string width testing functions, not spaces. Do not assume
a specific width for a character or string, test it.
DeskJet Limitations
- The HP DeskJet printer series is quite popular because of price and quality.
Unfortunately, these printers were often sold as low cost LaserJet replacements.
Except the 1200C, this is just not the case because of their limited capabilities.
(Windows manages to get by the limitations by sending the entire page as
graphic data. This is quite slow, however, and requires the extensive graphics
and font rasterization capabilities of Windows 3.1.)
- The DeskJet 500C, 510, 520, 530, and 540 have only one ink cartridge position.
With a black cartridge, they can print text and black and white graphics.
With the color cartridge, they can print only color images (no text). Attempting
to print text and color graphics requires extensive cartridge swapping which
is probably unacceptable.
- The DeskJet 550 and 560 provide two cartridges which makes printing mixed
text and color graphics better.
- The landscape mode for all these printers is almost unusable since it does
not support graphics and only supports fixed pitch fonts.
- Soft Fonts are different from the LaserJet Fonts. However, this is probably
not important since all these printers require an extra memory cartridge
to download fonts.
Graphic Printing Speed
- Graphic printing speed is often a problem. Because of its support for many
printers and advanced image scaling and rotating features, SLATE is often
slower than routines written to print a specific image on a specific printer.
- Currently, SLATE can print up to about 50,000 output dots per second when
printing a black and white image on a fast printer with a 486/33 computer.
Adding halftoning, color conversion, etc. will slow things down. There are
a number of things that can be done to improve graphic printing speed:
- If images are coming from the screen, the capture mode with the sl_vicre()
function will usually result in significant speed improvements.
- Select an appropriate printer resolution. An image printed 8 x 10 inches
at 300 dpi has 7.2 million output dots. It serves no purpose to select a
resolution significantly higher than the image resolution except to give
better halftoning. Reducing the resolution from 300 dpi to 150 dpi will
reduce the number of output dots and the print time by a factor of 4.
- Print the image no larger than necessary. Printing a low resolution image
quite large will take longer and make the image look poorer.
- Use an image no larger than necessary. Sometimes signatures and logos are
created quite large and scanned at 300 dpi or higher resolution. While SLATE
can print such images quite small, the entire image must be loaded (1 megabyte
or larger when decompressed). This can take a significant amount of time
and use excessive memory.
- When running with overlays, obviously, functions that are not resident must
be swapped before they can be executed. What is not so obvious is that calling
a function that can be overlaid is slower, even if it is resident, since
the overlay manager must intercept the function call and determine if the
function is resident. By keeping key routines in the root segment, this
delay can be avoided. See Overlay Notes in the SLATELIB Manual for details.
- When printing color images, use images with palettes (16 or 256 colors)
rather than color images without palettes (24 bit color). Besides requiring
less memory or disk space, images with palettes can be printed much faster
since only the palette table needs to be color transformed rather than the
pixel for each output dot.
- When printing gray monochrome images, make sure that a grey only palette
is used. If each color component is the same for each palette code, SLATE
assumes that the image is monochrome and prints it using the black printing
capability of the printer. Otherwise, it assumes a color image (even if
the color palette codes are not used) and prints in color. This takes at
least 3 or 4 times as long.
- When using SMEM disk buffering, be sure the image is not rotated 90 or 270
degrees or printed in landscape mode on older laser printers (LJ II and
before). This can cause multiple SMEM page faults on each scan line. This
can be seen as continuous disk activity and extremely slow printing. Similar
effects can be seen with 24 pin dot matrix printers and 48 dot ink jet printers,
particularly if the image is being reduced (printed with less than one printer
dot for each image pixel) if the SMEM page buffer doesn't have enough rows.
Network Printers
- Printing to network printers can introduce a number of problems. For
Novell NetWare networks, selecting the Network via Netware connection mode
will solve most problems you may have. This mode connects directly to NetWare
and avoids all printer redirection problems.
- For other networks, the printer redirection features of the network
shell must be used. If Parallel via BIOS is used, the network shell cannot
detect when SLATE closes since there is no BIOS close command. The output
will not be printed until the application is terminated. Use the Device/File
via DOS mode.
- Adding a timeout to the redirect command just compounds the problem
by splitting the print job after an arbitrary timeout. This can cause a
SLATE printing session to be split. The printer may be left in an unusual
state after the first network print job. If an intervening job or the network
resets the printer, the next print job will not have the proper setup commands
to print properly.
- In addition, some network print managers can add special command strings
to the beginning or end of print jobs. They may also trap commands in the
data stream and alter them. The network supervisor can usually resolve these
problems. In particular, make sure that no additional form feed is sent
at the end of the print job. This will result in a blank page at the end
of the print job. Also make sure that tab commands are not expanded. This
can result in garbage inserted in images, download fonts, or simple positioning
commands.
Unlisted Printers
- No matter how many printers are in the Printer Database, there will
always be printers that are not specified. Following are some hints for
selecting a printer specification providing the best support:
- Always test with sl_test to make sure the selected printer specification
is compatible with the actual printer.
- If the printer manual is available, it usually provides a list of
printer specifications to use. Usually, the higher in the list, the better
the emulation. Use sl_test to make sure it works properly. Sometimes some
new features or fonts will not be included in the older specification.
- If the model is obviously a later version of a printer in the database,
try it. Unfortunately, some printer manufactures don't assign model numbers
in numeric order.
- If the manual is not available, determine as much as possible about
the printer. Is it a laser printer, dot matrix printer, daisy wheel, or
ink droplet printer?
- Laser Printers: If it is a laser printer, it will probably
either emulate an HP LaserJet or use the PostScript language. PostScript
printers often say so on the case or have PS is the name. If it is a relatively
new printer, try the LaserJet 4 specification. If 600 dpi graphics fails,
try the LaserJet III specification. If the Times Roman and Universe fonts
fail to print, try the LaserJet II specification. If the printer hangs when
downloading IBM-2 fonts, try the LaserJet Plus specification.
- If it is a PostScript printer, use the Adobe PostScript specification.
Try the standard 35 font version. If some of the fonts don't print properly,
try the standard 17 font version.
- Dot Matrix Printers: If it is a dot matrix printer, determine
if it is a 9 pin or 24 pin printer. Often 24 pin printers have "24"
or "LQ" in their name. Otherwise look at the print head or the
printout.
- Most reasonably new 9 pin dot matrix printers use the Epson or the
IBM command language (or allow selecting either). For Epson modes, try the
FX-850, FX-86e, FX-80, RX-80, and the MX-80 in that order until one works
fully. For IBM modes, try the ProPrinter III, ProPrinter II, ProPrinter,
and PC Graphic Printer in that order until one works fully.
- Most reasonably new 24 pin dot matrix printers use the Epson or the
IBM command language (or allow selecting either). For Epson modes, try the
LQ-2550, LQ-850, and LQ-810 in that order until one works fully. (Do not
try the LQ-800, LQ-1000, or LQ-1500. They are rather strange and are not
likely to work properly.) For IBM modes, try the ProPrinter XL and the ProPrinter
XL AGM in that order until one works fully. (The Alternate Graphics Mode
(AGM) uses the Epson graphic commands and changes the vertical positioning
increment. It can usually be selected with a switch.)
- Daisy Wheel Printers: Daisy wheel printers are now relatively
rare, but some users may use old daisy wheel printers for printing letters.
Try the Diablo 630API specification. This is the most common daisy wheel
command language. Otherwise try the Qume Sprint 11 specification.
- Ink Droplet and Other Printers: If it is an ink droplet or
other style printer, there are more options. If it is a HP DeskJet, usethe
DeskJet 560C if it does not require changing cartridges for color or the
DeskJet 520C if it does.
- If it has a moving print head, try 24 pin dot matrix options described
above.
- If it prints a complete horizontal raster line as the paper moves
through the printer, use the laser printer options described above.

