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

Previous | Contents | Index

## 7.6.1 Description of PJL and TBCP

PJL is a command language that allows job-level printer control. TBCP is a communications protocol for the serial, LAT, and parallel ports of a printer. It allows 8-bit binary data in files concurrent with the use of some control characters for communications and print job control. You cannot print TBCP to printers that do not support TBCP, or to ports other than the serial, LAT or parallel ports for printers. When an application is creating files for printing to printers that support PJL or TBCP, the files can include PJL and TBCP.

## 7.6.2 Steps to Prevent Problems with DECprint Supervisor

When printing files that include PJL, DCPS strips any PJL code from the file. This process allows DCPS to use PJL to switch print protocols in the printer, and enables the printing of these files on printers that do not support PJL.

If the interconnect to the printer is not serial or LAT, the file must not use the TBCP. DCPS does not remove TBCP characters.

### 7.6.2.1 Preventing Problems with PostScript

When an application is generating PostScript output, use the following guidelines:

Whether printing to a printer or saving to a file, it is best to avoid both TBCP and PJL.

If the interconnect is serial or LAT then TBCP may be used. If the interconnect is raw TCP/IP or AppleTalk, then TBCP must be disabled. Because detailed information about the printer and queue may not be available to a Windows user, HP recommends that TBCP be disabled.

Disable the "Tagged Binary" item from the Advanced Options Menu of printer drivers that offer this option. This disables TBCP, and the TBCP introducer is not included in the file. Note that disabling the Performance item "Binary" in the PostScript Option menu is not sufficient. The file will not include binary data, but will include the TBCP introducer, which will cause PostScript errors.

### 7.6.2.2 Problems with PCL

DCPS removes all PJL commands from PCL files, which may result in problems when printing these files. Because drivers for PCL Level 5 printers use PJL to select advanced printing features such as the configuration of the Resolution Enhancement hardware (RET), page protection, and print resolution, the print job may not print as expected without the PJL commands.

Moreover, the PCL is sent to the printer only if DCPS supports printing PCL directly to the printer. Otherwise, the PCL (Level 4) translator is used.

If problems arise with PCL output, an alternative would be to generate PostScript output if the application allows for it.

# 7.7 Interaction Between Native PCL Printing and Automatic DATA_TYPE Detection

Jobs that use DATA_TYPE=AUTOMATIC=PCL may print with unexpected results. In particular, files printed as PCL which contain commands to switch to PostScript may be printed entirely as PCL. This result occurs if all of the following cases are true:

- DCPS does not detect the data type of the file by looking at the first few bytes of the file or by matching the file extension to a data type.
- The target printer can print PCL files as well as PostScript files.
- DCPS supports use of the PCL language interpreter in the printer.
- There are no other print qualifiers that require the file to be printed using the PCL translator (for example, NUMBER_UP or PAGE_LIMIT).

Under these circumstances, DCPS uses the PCL language interpreter in the printer, and does not look for a switch to PostScript. Also, the automatic language sensing feature of the printer is not used to detect the file's switch from the PCL language to the PostScript language because DCPS specifies the file's data type as PCL, which disables any auto language sensing by the printer. You can use one of the following workarounds:

1. Set up the print queue to use AUTOMATIC, but select ANSI as the default data type. Generally, the text part of files that include both text and PostScript is simple ACSII text that is handled properly by both the ANSI and PCL translators.
2. Ensure that the PCL translator is used for all PCL files, by setting up the print queue with a qualifier that requires the use of the PCL translator (include the PAGE_LIMIT parameter as a default queue parameter). Note, however, that the PCL translator interprets PCL level 4. The printers for which DCPS supports printing in native PCL mode have PCL level 5 language interpreters.

# 7.8 Native PCL Mode Concatenates Files

If the PCL language interpreter in a printer is used to print PCL files and a job includes multiple PCL files, the PCL files are concatenated. DCPS does not ensure that the files begin on new pages, or even that the last line of the first PCL file does not get printed over by the first line of the next PCL file. Concatenation can occur if:

- The files do not ensure that the page is ejected from the printer. To print PCL files correctly, Hewlett-Packard recommends that the files begin and end with the PCL reset sequence <ESC>E.
- Multiple files are specified and two or more files in sequence are PCL
- /COPIES is used on a PCL file
- /JOB_COUNT is used and two or more PCL files are printed in sequence

If concatenated PCL files are not acceptable, the following workarounds can be used:

- Create and use a PCL setup module to include the PCL reset sequence in the data stream before a file prints.
- Print using the PCL translator by specifying a parameter that forces DCPS to use the PCL translator (for example, NUMBER_UP, or PAGE_LIMIT)
- Print the job and specify a file separation page between all files (PRINT/FLAG).

# 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 DCPS 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 qualifiers for the print job:

        /PARAMETERS=NUMBER_UP=1
        /PARAMETERS=LAYUP_DEFINITION=BORDERS
        /PARAMETERS=LAYUP_DEFINITION=layup-file-name

The DCPS 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-name.PRO /PARAMETERS=LAYUP_DEFINITION=PROPRINTER-FULL-PAGE

The final output is illustrated in Figure 8-4.

Figure 8-4 Proprinter Page Adjusted to Fit PostScript Page

Previous | Next | Contents | Index