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

Previous | Contents | Index

# 7.4 Creating Device Control Libraries

To make the setup module accessible to users, you must create a device control library and put the module in the library. Create a different library for setup modules of each data type. Do not include setup modules of different data types in the same library. You can create a library for ANSI, PCL, Proprinter, or PostScript files.

Note Do not put your custom setup modules in the standard DCPS$DEVCTL library. Custom setup modules in DCPS$DEVCTL will be deleted if you upgrade DECprint Supervisor software.

To create a library for setup modules, use the following command format:

        $ LIBRARY /CREATE /TEXT SYS$COMMON:[SYSLIB]library-name

You supply the library-name, the name you give to the library.

The following command creates a new PostScript device control library, PS1, for your customized PostScript setup modules:

        $ LIBRARY /CREATE /TEXT SYS$COMMON:[SYSLIB]PS1

For more information, refer to the HP OpenVMS Command Definition, Librarian and Message Utilities Manual.

## 7.4.1 Putting Setup Modules in Libraries

To insert a setup module into a device control library, use the following command format:

        $ LIBRARY /INSERT /TEXT SYS$LIBRARY:library-name module-name

In the command line, you supply the following information:

library-name | The name of the library
module-name | The name of the setup module

The following command puts the PostScript setup module, CONFIDENTIAL.PS, into your PostScript device control library, PS1.TLB, and names the setup module CONFIDENTIAL:

        $ LIBRARY /INSERT /TEXT SYS$LIBRARY:PS1 CONFIDENTIAL.PS

The following command puts the ANSI setup module, A4_PAGE.TXT, into your ANSI device control library, ANSI1.TLB, and names the setup module A4_PAGE:

        $ LIBRARY /INSERT /TEXT SYS$LIBRARY:ANSI1 A4_PAGE.TXT

## 7.4.2 Specifying a Library Search List

If you have several device control libraries, you need to set up a search list of the libraries in SYS$STARTUP:DCPS$STARTUP.COM. The search list specifies which device control libraries to search, and the priority of the libraries.

Example 7-1 shows a search list of device control libraries.

Example 7-1 Search List for Device Control Libraries

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS_LIB -
        _$ DCPS$DEVCTL, -
        _$ "PS1 /DATA_TYPE=POSTSCRIPT", -
        _$ "ANSI1 /DATA_TYPE=ANSI", -
        _$ PS2

In Example 7-1, the software does the following:

1. Looks in the standard device control library DCPS$DEVCTL for required setup modules and for any setup modules that have been specified with /SETUP or /FORM.
2. Looks in the PostScript library PS1 for any specified setup modules not found in the standard device control library. (PostScript setup modules can be used with any type of file, so the PostScript device control library is always included in the search for a setup module.)
3. If the print job is ANSI, looks in the library called ANSI1.
4. If the print job is a data type other than ANSI, skips the ANSI1 library and looks for it in the PostScript library PS2.

To define your library logical name and search list, perform the following steps:

1. Edit DCPS$STARTUP.COM and replace the line:

           $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS_LIB DCPS$DEVCTL

   with the lines:

           $ DEFINE /EXECUTIVE_MODE /SYSTEM logical-name search-list

   In the command line, you supply the following information:
   logical-name: Use a logical name that expands to a list of library names. Make sure the logical name also appears in the execution queue definition (parameter P3).
   search-list: Add the list of libraries to be searched. Use the following guidelines as you add libraries:
   - Place the standard device control library, DCPS$DEVCTL, first in the list for most efficient printing.
     If you do not include DCPS$DEVCTL in the library search list, the symbiont stops and returns the following error message:

             REQMODNOTFOUND, Required device control module module-name not found

   - Make sure all the library names are in SYS$LIBRARY.
   - Make sure all the library names have the file extenstion .TLB.
   - For each library that includes the /DATA_TYPE qualifier, enclose the library name and the qualifier in quotation marks. If you do not use the /DATA_TYPE qualifier, you do not need to enclose the library name in quotation marks. The default data type for a library is PostScript.
   - If an ANSI module and a PostScript module perform the same function and have the same name, determine which one you want as the default for ANSI jobs.
     If you want ANSI jobs to default to PostScript, place the PostScript device control library before the ANSI library. If you want ANSI jobs to default to ANSI, place the ANSI library in front of the PostScript library.
2. Stop and restart the execution queue to include your new library. (If you add a setup module to an existing library, you do not have to reinitialize the queue.)

For example, to add PostScript libraries called PS1 and PS2, and an ANSI library called ANSI1, enter:

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS_LIB DCPS$DEVCTL, -
           "PS1 /DATA_TYPE=POSTSCRIPT", -
           "ANSI1 /DATA_TYPE=ANSI", -
           PS2

## 7.4.3 Device Control Libraries Must Exist for Queue to Start

All device control libraries specified for a queue must exist for the queue to start. For example, if a queue is defined with the following logical, the libraries SYS$LIBRARY:DCPS$DEVCTL.TLB, SYS$LIBRARY:ANSI.TLB and SYS$LIBRARY:PS.TLB must all exist as text libraries:

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS_LIB -
        _$ DCPS$DEVCTL, -
        _$ "ANSI /DATA_TYPE=ANSI", -
        _$ "PS /DATA_TYPE=POSTSCRIPT"

## 7.4.4 Preserving Custom Setup Modules During Upgrades

When you install DECprint Supervisor software, it creates a new version of the standard device control library (DCPS$DEVCTL.TLB). If you purged old files during the software installation, early copies of the device control library are deleted. (Refer to the Software Installation GuideSoftware Installation Guide for more information.)

When you add custom setup modules, create a new library and refer to it in the library search list. This preserves your custom setup modules when you upgrade your software.

Upgrading from DECprint Printing Services or PrintServer Client Software

DECprint Printing Services software and PrintServer Client software have their own device control libraries (CPS$DEVCTL.TLB and LPS$DEVCTL.TLB). When you upgrade to DECprint Supervisor, the CPS$ and LPS$ device control libraries are no longer used. If you have custom setup modules in either of those libaries, insert the modules into a new library and specify the library in the device control library search list.

# 7.5 Including Setup Modules in Print Job

You can specify setup modules using the /SETUP qualifier in the PRINT command.

To include an ANSI setup module in a print job using the /SETUP qualifier, use the following command format:

        $ PRINT /QUEUE=queue-name /SETUP=module-name print-file.TXT

If you enter the command wrong, the error is not detected until the file prints. To enable the software to detect the error immediately, you can include the setup module in a form. See Chapter 8 for instructions.

If users access a setup module frequently, you can associate the setup module with a queue, so that all print jobs submitted to that queue are printed with the setup module automatically. See Chapter 8 for instructions.

# 7.6 Persistently Loading PostScript Resources

Note This feature applies only to desktop printers; PrintServer printers are loaded with persistent resources using the PrintServer software.

Downloading PostScript code with every print job can adversely affect printing performance. To resolve this problem, you can load a module that permanently resides in the printer.

The module LPS$PERSISTENT_RESOURCES loads persistently to desktop printers. To create a persistent PostScript module, follow these steps:

1. Create a new device control library for site-specific PostScript setup modules, using the following command:

           $ LIBRARY /CREATE /TEXT SYS$COMMON:[SYSLIB]library-name

2. Edit the SYS$STARTUP:DCPS$STARTUP.COM file to include the new device control library in the search list. Use the following command in the DCPS startup file:

           $ DEFINE /SYSTEM /EXECUTIVE /NOLOG DCPS_LIB DCPS$DEVCTL, "library-name /DATA=POST"

3. In the execution queue definition for each PostScript printer to which you want to load the setup module, ensure that the logical name DCPS_LIB is entered in parameter 3 as the device control search list logical name.
4. Save the DCPS$STARTUP.COM file.
5. Stop the queues for the printers affected by the change, using the STOP /QUEUE /RESET command for each queue.
6. Execute the new DCPS$STARTUP.COM file.
7. Test each print queue by sending two print jobs to the printer. The setup module is loaded with the first print job sent to the printer. The setting should be effective for the second print job, as well.

CAUTION Problems can occur from the misuse of the persistent setup feature. Keep the following in mind when using this feature: Only PostScript setup modules can be persistently loaded. Other data types cannot be persistently loaded. A setup module can exceed the printer's virtual memory. Different models of printers have different capacities. For example, a setup module can overwhelm a printer with too many fonts. A shared network printer can be used from several nodes in the network. Make sure the same setup module is loaded from all the nodes that access the printer to ensure consistent print results. If you required different setup modules load the setup module with each print job, using either the /SETUP or /FORM qualifier. Improper PostScript coding in a persistently loaded setup module can cause unexpected results that are difficult to analyze. Also, because the code remains in the printer until the printer is turned off, users from different systems may have print jobs fail with unexpected results, but would not be able to determine the cause of the problem.

# 7.7 Changing the Default Character Set for PCL and Proprinter Print Jobs

The default character set for PCL files is Roman-8. The default character set for Proprinter files is code page 437, character set 1. To change the default character set, use the following procedure:

1. Create one device control library for PCL setup modules, one for Proprinter modules, and another library for PostScript modules. Use the following commands:

           $ LIBRARY /CREATE /TEXT SYS$COMMON:[SYSLIB]PCL_LIB

           $ LIBRARY /CREATE /TEXT SYS$COMMON:[SYSLIB]PRO_LIB

           $ LIBRARY /CREATE /TEXT SYS$COMMON:[SYSLIB]PS_LIB

2. Edit DCPS$STARTUP.COM to include these libraries, as follows:

           $ DEFINE /EXECUTIVE_MODE /SYSTEM /NOLOG DCPS_LIB DCPS$DEVCTL, -
              "PCL_LIB /DATA=PCL", -
              "PRO_LIB /DATA=PRO", -
              PS_LIB

   The PostScript device control library (PS_LIB) must be last in the search list.
3. Create the following setup modules:
   - The DEF_CHAR_SET.PCL file selects the PC-8 Danish/Norwegian character set:

                 <ESC>!`1P<ESC>(11U<ESC>!`0P

     Replace <ESC> with the escape character (decimal 27).
   - The DEF_CHAR_SET.PRO file selects code page 850:

                 <ESC>`<ETX><NUL><CR>R<ETX>

     - Replace <ESC> with the escape character (decimal 27).
     - Replace <ETX> with the etx character (decimal 3).
     - Replace <NUL> with the null character (decimal 0).
     - Replace <CR> with the carriage return character (decimal 13).
   - The DEF_CHAR_SET.PS PostScript file is used for printing files that are neither PCL nor Proprinter.
4. Put these modules in the appropriate device control libraries, using the LIBRARY command as shown in the following example:

           $ LIBRARY /INSERT /TEXT SYS$COMMON:[SYSLIB]PCL_LIB DEF_CHAR_SET.PCL

           $ LIBRARY /INSERT /TEXT SYS$COMMON:[SYSLIB]PRO_LIB DEF_CHAR_SET.PRO

           $ LIBRARY /INSERT /TEXT SYS$COMMON:[SYSLIB]PS_LIB DEF_CHAR_SET.PS

5. Create a form definition that includes DEF_CHAR_SET as the setup module. You can associate this form with your printer execution queue as follows:

           $ DEFINE /FORM DEF_CHAR_SET form-number /SETUP=DEF_CHAR_SET /STOCK=DEFAULT

   To make this change to the queue permanent, specify this form in the execution queue definition in the DCPS$STARTUP.COM file.

# 7.8 Specifying Printer Resolution with Setup Module

These setup modules allow you to manipulate the resolution of PostScript Level 2 printers.

Table 7-1 Printer Resolution Setup Modules
Setup Module | Description
--- | ---
RES_300X300 | 300 dpi horizontal and vertical
RES_600X300 | 600 dpi horizontal and 300 dpi vertical
RES_600X600 | 600 dpi horizontal and vertical - default
RES_1200X600 | 1200 dpi horizontal and 600 dpi vertical
RES_1200X1200 | 1200 dpi horizontal and vertical

Note Not all resolutions are supported by all printers. To have the printer notify you if it cannot print at a specified resolution, add the /NOTIFY switch to the PRINT command. If the printer cannot print at the requested resolution, it prints at a lower resolution.

# 7.9 Modifying DECimage Parameters with Setup Modules

There following setup modules invoke DECimage or modify the DECimage parameters. They are grouped into the following categories:

Enabling and Disabling DECimage

These setup modules leave all current parameters intact, and turn DECimage on or off. It is not necessary to use these modules if you use other DECimage setup modules. The DECimage setup modules automatically invoke DECimage for the current print job.

Table 7-2 Enabling and Disabling DECimage
Setup Module | Description
--- | ---
DI_ON | Turns DECimage ON
DI_OFF | Turns DECimage OFF

Combined Parameters

These setup modules adjust two DECimage parameters simultaneously.

Table 7-3 DECimage Setup Modules---Combined Parameters
Setup Module | Description
--- | ---
DI_HICONTRAST | Punch0 = 0.2, Punch1 = 0.8
DI_LOCONTRAST | Punch0 = -.1, Punch1 = 1.1
DI_BRIGHTER | Punch0 = -.2, Punch1 = 0.8
DI_DARKER | Punch0 = 0.2, Punch1 = 1.2
DI_NORMAL | Punch0 = 0, Punch1 = 1

Individual Parameters

When you specify one of these setup modules, all other parameters remain at the default value or the value most recently modified by another setup module. The setup modules have no order dependency, so they may appear in any order on the print command line.

Table 7-4 DECimage Setup Modules---Individual Parameters
Setup Module | Description
--- | ---
DI_PUNCH0_0 | Punch0 = 0
DI_PUNCH0_0P1 | Punch0 = 0.1
DI_PUNCH0_0P2 | Punch0 = 0.2
DI_PUNCH0_M0P1 | Punch0 = -.1
DI_PUNCH0_M0P2 | Punch0 = -.2
DI_PUNCH1_1 | Punch1 = 1
DI_PUNCH1_0P8 | Punch1 = 0.8
DI_PUNCH1_0P9 | Punch1 = 0.9
DI_PUNCH1_1P1 | Punch1 = 1.1
DI_PUNCH1_1P2 | Punch1 = 1.2
DI_SHARP_0P5 | Sharpness = 0.5
DI_SHARP_1 | Sharpness = 1.0
DI_SHARP_1P5 | Sharpness = 1.5
DI_SHARP_2 | Sharpness = 2.0
DI_SHARP_2P5 | Sharpness = 2.5

DECimage Setup Module Example

The following example adds sharpening and shifts the gray levels:

        $ PRINT /NOTIFY /QUEUE=queue-name /SETUP=(DI_SHARP_2,DI_DARKER) file-name

# 7.10 Providing Access to Font Cartridge Emulation

The DCPS software can emulate physical font cartridges. Use the FONTS_USED parameter with the PRINT command to specify one or more soft font modules from the device control library SYS$LIBRARY:CPS$ANSI_FONTS.TLB.

This feature, which is available for ANSI files only, supports documents that require font cartridges to print on DIGITAL ANSI printers. Just as with these printers, the document must contain escape sequences that select the desired fonts.

Note DCPS software does not include any soft font modules. SoftFont kits have been retired and are no longer available from HP.

You can associate one or more default soft font modules with a print queue, so that users do not have to specify this parameter on the PRINT command line. For example, to establish CGTRIUM24_ISO1 as the default soft font module for the queue, include the following line in DCPS$STARTUP.COM:

    FONTS_USED=CGTRIUM24_ISO1

(Add the line to P4 in the execution queue definition or as P3 in the generic queue definition.)

You can combine soft font modules for user convenience, at the expense of disk space and loading time. For example, if users need to load all three DEC Multinational CG Times soft font modules together, create a new module using the following sequence of commands:

        $ LIBRARY /TEXT SYS$LIBRARY:CPS$ANSI_FONTS /EXTRACT=CGTIMES8-10-12_MCS

        $ LIBRARY /TEXT SYS$LIBRARY:CPS$ANSI_FONTS /EXTRACT=CGTIMES14-18_MCS

        $ LIBRARY /TEXT SYS$LIBRARY:CPS$ANSI_FONTS /EXTRACT=CGTIMES24_MCS

        $ COPY CGTIMES8-10-12_MCS.TXT, CGTIMES14-18_MCS.TXT, CGTIMES24_MCS.TXT -
        _$ ALLCGTIMES_MCS.TXT

        $ LIBRARY /INSERT /TEXT SYS$LIBRARY:CPS$ANSI_FONTS ALLCGTIMES_MCS.TXT

Users can specify the new module with the print parameter FONTS_USED=ALLCGTIMES_MCS.

Previous | Next | Contents | Index