Appendix C. Report Device Configuration Files

Support for ASCII text output for reports can be enhanced and customized through device configuration files. These files can define control sequences for the following capabilities of an output device:

The device configuration file also can provide information about the device itself:

Some of these settings can be specified as properties within the report or as arguments to the report's invocation string. Properties and invocation arguments always have precedence over their equivalent settings in the device configuration file.

Device configuration files are created and edited as ASCII source files. After editing the file, compile it with the dev2bin utility. You specify the desired device configuration file in the report invocation string (refer to "Driver Options").

File Format

The ASCII source for a device configuration file contains one or more statements in this format:

keyWord = value

For example:

init    = ESC P
reset = ESC Q
spool = lp


This section describes each device file keyword and its possible values.

Specify the initialization and reset strings for the output device in this format:
init  = init-str
reset = reset-str

If an init string is specified, the report is prefixed with the string. If a reset string is specified, the string is appended to the report.

These strings follow the conventions of Panther video file capability strings: the capabilities are given byte-by-byte, separated by spaces. Non-printable bytes and the space character are represented by their respective ASCII names—for example, NUL, NL, ESC and SP. Any byte can instead be represented by its octal value \ddd, where each d is an octal digit. Refer to Chapter 7, "Video File," in Configuration Guide for more information on how to format these capabilities.

Resolve font aliases that are defined in the configuration map file (cmap) [Text Fonts] section as follows:
FontOn fontname = escape-sequence
FontOff fontname = escape-sequence

Refer to Chapter 7, "Video File," in Configuration Guide for information about Panther escape sequences.

For example, given these font definitions:

# Prolifics Font Name   Qualifiers  =  Text font
# ------------- ---------- ---------
Prolifics Times Roman 18 = TimesRomanBig
Prolifics Times Roman = TimesRoman
Prolifics Courier = Courier

the device file requires these corresponding statements:

FontOn TimesRoman     = ESC m t f 1
FontOff TimesRoman = ESC m t f 0
FontOn TimesRomanBig = ESC m t h 1
FontOff TimesRomanBig = ESC m t h 0
FontOn Courier = ESC m c f 1
FontOff Courier = ESC m c f 0

text-attr = string
The output device turns italics, boldface, and underlining on and off through these command strings:
ItalicOn     = ital-on-str
ItalicOff = ital-off-str
BoldOn = bold-on-str
BoldOff = bold-off-str
UnderlineOn = under-on-str
UnderlineOff = under-off-str

spool = spool-cmd
spool-cmd is the name of a program or file. On UNIX systems, output is piped to the specified program. On other operating systems, the output is written to the specified file.

procedure = outproc
outproc is the name of a user-written procedure that writes or filters output. For more information about writing output procedures, refer to Appendix D, "Report Output Procedures."

obuffsize = bufsize
bufsize is the size of the output buffer, in bytes, used by the function outproc. If not specified, the default size is 256 bytes.

lines = nlines
For text output, nlines specifies the length of the printing area on the report page.

columns = ncols
For text output, ncols specifies the width of the printing area on the report page.

leftmargin = nblanks
nblanks specifies the number of blank spaces to left-indent all output. These spaces must be included in the line length ncols. This parameter can also be specified in the Indent property of a print or subreport node. The default setting is 0.

feedlines = nflines
nflines is the number of line feed characters that should be used to separate pages. If specified, nflines plus the number of lines specified for output must equal the physical length of the page.

If nflines has a value less than 0 or this statement is absent, Panther outputs a form feed to begin the next page. If the value of nflines is greater than or equal to 0, the form feed is suppressed. The default value of nflines is -1.

The feedlines parameter can also be specified in the report invocation string.

These keywords enable landscape mode on an output device:
landscapeon  = landscapeon-str
landscapeoff = landscapeoff-str

graphic-type = char-spec
Use the following keywords to specify the characters used to print lines and boxes:

Graphic type keyword Usage


Horizontal line segment.


Vertical line segment.


Top right box corner.


Top left box corner.


Bottom right box corner.


Bottom left box corner.

fixedlength specifies to pad the end of each line with enough spaces to produce output of uniform width, based on the number of columns specified for report width. If fixedlength is not specified, Panther outputs variable-length lines.