|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.