# Compaq DECprint Supervisor (DCPS) for OpenVMS
User's Guide

Previous | Contents | Index

# Chapter 8
Printing Proprinter Files

DCPS includes a translator for Proprinter files, allowing PostScript printers to emulate the IBM Proprinter XL24. If your Proprinter file is not automatically recognized by the DECprint Supervisor software, you can explicitly specify the Proprinter data type using the DATA_TYPE parameter. For example:

    $ PRINT/PARAMETERS=DATA_TYPE=PROPRINTER MYFILE.PRO

Note Because of incompatibilities among Proprinter printers, files created for Proprinter models other than the XL24 printer may not print as expected. For best results, when producing a file to be printed using the Proprinter translator, specify the Proprinter XL24 as the printer model in your application.

# 8.1 Proprinter Translator Versus the Proprinter Printer

The DCPS translator for Proprinter files differs from the operation of the Proprinter XL24 printer in the following ways:

- The XL24 printer does not print two adjacent horizontal dots for some types of raster graphics, while the translator prints all data specified in the raster graphic. The translator supplies a special escape sequence that allows you to specify the print attribute that causes the translator to drop alternate dots (see Section 8.6).
- The translator does not require AGM mode to be enabled to process the AGM raster graphic escape sequence (ESC *).
- The translator does not contain the bitmaps for the XL24 built-in fonts. Therefore, the prefill commands do not store bitmaps or initialize lookup tables to point at bitmaps. Any Proprinter data stream that relies on bitmap initialization will fail.
- The translator can print either 9-wire or 24-wire downloaded fonts. The mode is determined by the escape sequence that the translator encounters first:
  - If the Character Font Image Download escape sequence is encountered first, the mode is determined by the escape sequence.
  - If the Select Print Mode escape sequence is encountered first, the mode is determined by the translator's Front Panel Mode escape sequence (see Section 8.3).
- The XL24 does not underscore or overscore the lower integral and square root characters. The Proprinter translator underscores and overscores these characters.

Documentation specifying the Proprinter language is available from IBM. The documentation specific to the Proprinter and the XL24 includes:

IBM's Proprinter Family Technical Reference | IBM part number SC31-2587-3
IBM's Proprinter X24E and XL24 Guide to Operations | IBM part number SA34-2106-0

# 8.2 How DECprint Supervisor Recognizes Proprinter Files

DECprint Supervisor recognizes the Proprinter data type if the files have the following characteristics:

- They begin with an ANSI escape sequence.
- They have a file extension that links them to a Proprinter data type.

If your Proprinter file does not meet these criteria, you can explicitly specify the data type by including the DATA_TYPE=PROPRINTER parameter in your PRINT command.

# 8.3 Modifying the Default State of the Proprinter Translator

The default state of the XL24 can be modified from its front panel and from its DIP switches. Emulate these settings in your print job using PRINT parameters and the translator-specific front panel escape sequences. Table 8-1 shows the print attributes that you can modify using PRINT parameters.

Table 8-1 PRINT Parameters that Affect Proprinter Settings
Print Attribute | PRINT Parameter | Reference
--- | --- | ---
orientation | /PARAMETERS=PAGE_ORIENTATION | Section 1.4
tray selection | /PARAMETERS=INPUT_TRAY 1 | Section 3.1
paper size | /PARAMETERS=PAGE_SIZE | Section 10.7

1Instructions in the data file can override this PRINT parameter.

All of the print attributes on the XL24 front panel and DIP switches can be modified in the Proprinter translator using the appropriate front panel mode escape sequence.

The format of the front panel mode escape sequence is:

Escape Sequence Format

    ESC   `   count-low count-high item-id new-value-low [new-value-high]

Decimal Values

    027   096

Note This format shows spaces between the elements of the command for clarity. Do not include spaces in your actual command.

This escape sequence allows you to specify:

- count-low and count-high bytes to indicate the number of bytes to follow.
- item-id, which identifies the item to be changed. The item-id values and the corresponding attributes are listed in Table 8-2.
- new-value is the default translator state for the item, assumed if the translator performs a reset. If this command is stored in a setup module, the default state is applied to the data file following the setup module.

Do not use ASCII encoded numerals (1, 2, 3,...) to specify the count bytes, item-id, and new-value in the escape sequence. Instead, use ASCII characters whose numeric codes represent the values you want. For example, zero is represented by the NULL code; 126 is represented by the tilde character (~).

The print attributes that you can change using this escape sequence are listed in Table 8-2. The item-id is listed first, followed by a description of the print attribute. The third column shows the default Proprinter translator behavior for this print attribute. The last column shows how to present the value for each item.

Table 8-2 Proprinter Print Attributes
Item-Id | Description | Default Translator Value | You Specify ...
--- | --- | --- | ---
2 | Slashed 0 | Default: 0 | 1 or 0.
3 | Auto NL | Default: 0 | 1 or 0.
4 | Form length | Default: based on logical page length. See Section 8.4.2. | The page length in points (72 units per inch). Any value is allowed.
5 | Character set | Default: Set 1 | 1 indicates character set 1. 2 indicates character set 2.
6 | Auto CR | Default: 0 | 1 or 0.
7 | Margins | Default: based on logical page width. See Section 8.4.2. | The page width in points (72 units per inch). Any value is allowed.
8 | Ignore FF | This determines whether form feeds are ignored at the top of form. Default: 1 | 1 or 0.
12 | 12 cpi comp. | There are three options: 12, 17.1, or 20 cpi. Default: 12 | 2 indicates 12 cpi. 3 indicates 17.1 cpi. 4 indicates 20 cpi.
13 | Code page | Default: 437 | The code page value: 437 or 850.
14 | AGM | Default: disabled | 1 or 0.
16 | Left offset | Default: 18 points (1/4 in.) | The left offset in points. Any value is allowed.
17 | Top offset | Default: 36 points (1/2 in.) | The top offset in points. Any value is allowed. This is the position of the baseline of the first line of the file.
19 | Characters per inch | Default: 10 cpi | 1 indicates 10 cpi. 2 indicates 12 cpi. 3 indicates 17.1 cpi. 4 indicates 20 cpi. 5 indicates proportional.
20 | Emphasize | Default: 0 | 1 or 0.
21 | Dbl Wide | Default: 0 (single) | 1 or 0.
22 | Dbl High | Default: 0 (single) | 1 or 0.
23 | Printer ID | Number for use with ERDPR. Default: 23 | The printer ID number.
24 | 9-wire or 24-wire downloaded fonts | A flag that determines 9-wire (0) or 24-wire (1) emulation. This is required so that appropriate downloaded fonts are selected with ESC I. Default: 24-wire | 1 or 0.
25 | Grey bitmaps | A flag that is true if bitmaps are printed dark gray (85% black). Default: 0 | 1 or 0.
26 | Printer ID | Number for use with ERSIC. Default: 3 | The printer ID number.
27 | Alternate dots | A flag that determines whether alternate dots are dropped in certain graphics modes. Default: 0 | 1 or 0.

## 8.3.1 Creating a Setup Module for Proprinter Commands

The front panel mode commands affect the way a file is printed if the commands are in a setup module and the setup module is specified with the file in the PRINT command. To use front panel commands to affect a print job, use the following procedure:

1. Create a setup module that includes the necessary front panel mode commands.
2. Ask your system manager to insert the setup module into a Proprinter device control library.
3. Print the file, specifying the setup module and the file. For example:

       $ PRINT/QUEUE=PS$A14/PARAMETERS=DATA_TYPE=PROPRINTER/SETUP=module-name file-name.DAT

The system manager can include the setup module in a form definition, which can be associated with a queue by default. In this case, you need only specify the data file name and the queue name in the PRINT command.

For example, to change the default character set of the translator from code page 437, character set 1, to code page 850, character set 2, create a setup module that contains the following escape sequence:

Escape Sequence Format

    ESC `    ETX NUL CR  R   ETX ESC `   STX NUL ENQ STX

Decimal Values

    027 096  003 000 013 082 003 027 096 002 000 005 002

Note These examples show spaces between the elements of the command for clarity. Do not include spaces in your actual command.

To change the translator from printing on just 10 inches of a letter-size sheet to printing on all 11 inches of the sheet, create a setup module that includes the following escape sequences:

Escape Sequence Format

    ESC '   STX NUL DC1 LF  ESC '   ETX NUL EOT CAN ETX

Decimal Values

    027 096 002 000 017 010 027 096 003 000 004 024 003

This front panel command changes the top offset to 10 points, and sets the text length to 11 inches. Because most laser printers cannot print on the entire sheet, you may need to scale the page using the NUMBER_UP or LAYUP parameters to fit within the printable area.

# 8.4 Changing the Printable Area

Applications that create files for Proprinter print jobs assume that the entire page is available for printing. Dot matrix printers, such as Proprinter devices, use the full page. Laser printers, such as those supported by the DECprint Supervisor for OpenVMS software, have a printable area that is often smaller than the entire page, and leave a blank margin around the printable area.

The software that translates Proprinter files for PostScript printing formats the text so that it prints only within the printable area on the laser printer. Specifically, the translator formats the text so that it does not print within 1/4 inch of the left and right edges of the page, nor within 1/2 inch of the bottom edge. The first line of a file prints with its baseline 1/2 inch from the top edge of the page. This is illustrated in Figure 8-1.

Figure 8-1 Proprinter Default Printable Area

## 8.4.1 Proprinter Files That Do Not Fit on the Page

When you print a Proprinter file, you may find that a page that should fit on one page requires two pages, as shown in Figure 8-2.

Figure 8-2 Proprinter Page on Two PostScript Pages

You can correct this problem by using a setup module that causes the translator to put more lines on the page.

For example, to change the translator from printing on 10 inches of a letter-size sheet to printing on 11 inches of the sheet, create a setup module to scale the page. Include the following escape sequences:

Proprinter Escape Sequence Format

         ESC '   STX NUL DC1 LF  ESC '   ETX NUL EOT CAN ETX

Decimal Values

         027 096 002 000 017 010 027 096 003 000 004 024 003

Note These examples show spaces between the elements of the command for clarity. Do not include spaces in your actual command.

This changes the top offset to 10 points, and sets the text length to 11 inches.

The new output may also need to be scaled because the text prints off the bottom of the page (see Figure 8-3).

Figure 8-3 Proprinter Page Too Long

You can correct this problem by scaling the page image. To scale the page image, specify any one of the following for the print job:

    /PARAMETERS=NUMBER_UP=1

    /PARAMETERS=LAYUP_DEFINITION=BORDERS

    /PARAMETERS=LAYUP_DEFINITION=layup-file-name

The DECprint Supervisor for OpenVMS software includes an example layup definition file that shrinks the size of the logical page to fit within the normal laser printer margins. The example file PROPRINTER-FULL-PAGE.LUP is supplied in SYS$COMMON:[SYSHLP.EXAMPLES.DCPS]. Ask your system manager to copy it to the DCPS$LAYUP area if it is not already there. Then you can specify the layup definition file in the PRINT command, as follows:

    $ PRINT file.PRO/PARAMETERS=LAYUP_DEFINITION=PROPRINTER-FULL-PAGE/NOTIFY

The final output is illustrated in Figure 8-4.

Figure 8-4 Proprinter Page Adjusted to Fit PostScript Page

## 8.4.2 Specifying the Page Size for Proprinter Print Jobs

You can select the page size with the /PARAMETERS=PAGE_SIZE qualifier. All page size values are supported by the Proprinter translator. The translator will print within the area of the page specified by the PAGE_SIZE parameter except for a small area around the edge of the page. The area around the edge of the page is specified by the top offset and the left offset (see Table 8-2).

The top offset specifies the position of the baseline of the first line of the page as well as the default margin at the bottom of the page. The default top offset is 1/2 inch.

The left offset specifies the area at the left edge of the page as well as the default margin at the right edge of the page. The default left offset is 1/4 inch.

If your application allows for a margin around the page, you can decrease these offsets.

If you need a page size that is not supported by DECprint Supervisor, you can explicitly specify the page size using the front panel mode escape sequences for form length and margins (see Table 8-2). These escape sequences specify the length and width of the page measured from the offsets.

# 8.5 Specifying the Input Tray for Proprinter Print Jobs

A Proprinter file may contain instructions to select the printer input tray on a Proprinter printer. When you print this file on a different type of printer, the print job will fail if the specified input tray is not available. You can modify the print job to redefine the input tray selection command, using a PostScript setup module. Your system manager can create a setup module to redefine the appropriate Postscript operators, as in the following which shows the contents of a setup module that selects tray 3 for the upper input tray, and tray 1 for the bottom input tray.

    /settoptray {statusdict begin 3 setpapertray end} def
    /setbottomtray {statusdict begin 1 setpapertray end} def

Input tray values are specific to the printer. Refer to the PostScript documentation for your printer to determine the numbers for the available trays.

The input tray selection commands, and the PostScript operators to which the Proprinter translator converts them, are listed in Table 8-3. The default setpapertray value is the value that the translator uses if no other value has been defined. A setup module with a different value would override the default value.

Table 8-3 PostScript Operators for Changing Input Trays
Bin | Meaning | PostScript Extension Operator | Default setpapertray Value
--- | --- | --- | ---
0 | No change |  |
1 | Upper tray | settoptray | 1
2 | Lower tray | setbottomtray | 2
3 | Envelope feeder | setenvelopefeedertray | 3

# 8.6 Including Soft Fonts in Proprinter Print Jobs

If your Proprinter file requires soft fonts to be loaded in the printer, you can download the font using Proprinter setup modules.

The system manager must create a device control library designated for Proprinter setup modules and include that library in the search list in DCPS$STARTUP.COM, as described in the DECprint Supervisor for OpenVMS System Manager's Guide.

Proprinter setup modules from the Proprinter device control library are handled differently from ANSI and PostScript setup modules. Records from a Proprinter module are not appended with carriage control characters (<CR><LF>) because Proprinter setup modules can include binary data, such as Proprinter fonts and raster graphics. If the Proprinter setup module contains lines of text that must be separated by carriage control characters, you must explicitly specify them in the Proprinter setup module.

Proprinter setup modules are processed without a subsequent page eject command, so that anything printed by such setup modules will appear on the first page of the file.

Previous | Next | Contents | Index