Solaris 8 Software Developer Supplement

.xpr File Customization

These files are located, by default, at /usr/lib/lp/locale/C/mp/. A .xpr file corresponds to each PostScript prolog layout file, except for You can define an alternate prolog directory by defining the MP_PROLOGUE environment variable.

These files work as keyword/values pairs. Lines that start with "#" are considered comments. Spaces separate different tokens unless explicitly stated in the following description. Three main sections for each .xpr file are bound by the following keyword pairs:

Certain keyword/value pairs can be used in these three areas. Each area is described next.


All the keyword/value pairs that appear after the STARTCOMMON keyword and before the ENDCOMMON keyword define general properties of the print page. Different valid values for a keyword are separated by using "/".


"0" means the printing occurs in portrait and "1" means in landscape.

PAGELENGTH <unsigned integer>

A value that indicates the number of lines per logical page.

LINELENGTH <unsigned integer>

A value that indicates the number of single column characters per line.

NUMCOLS <unsigned integer>

The number of logical pages per physical page.

HDNGFONTSIZE <unsigned integer>

The heading font point size in decipoints.

BODYFONTSIZE <unsigned integer>

The body font point size in decipoints.

PROLOGDPI <unsigned integer>

The dots-per-inch scale in which the current .xpr file is created.

YTEXTBOUNDARY <unsigned integer>

This y-coordinate establishes the boundary for text printing in a page or logical page (column). This boundary is used as an additional check to see whether text printing is occurring within the expected area. This boundary is needed for Complex Text Layout and EUC printing, as character height information obtained from corresponding fonts can be wrong.

STARTTEXT <unsigned integer> <unsigned integer>

The decipoint x/y points where the actual text printing starts in the first logical page in a physical page.


The 1 indicates that a "Page" string needs to be appended before the page number in the heading.

0 indicates that only the page number is displayed.

EXTRAHDNGFONT "font string 1, font string 2, ... font string n”

The 'font string 1' to 'font string n' are X Logical Font Descriptions. The Token which separates the keyword EXTRAHDNGFONT from the comma separated font name list is '"', not spaces or tabs. These fonts are given preference over the built-in fonts when printing of the heading occurs. Usually, EXTRABODYFONT is used to assign printer-resident fonts that are configured in /usr/openwin/server/etc/XpConfig/C/print/models/<model name>/fonts directory. The fonts.dir contains the XLFD of the printer-resident fonts.

Usually a font is specified like

"-monotype-Gill Sans-Regular-r-normal- -*-%d-*-*-p-0-iso8859-2"

in the .xpr file. "%d", if present, is replaced by the mp(1) to the point size of the current heading fonts in the .xpr file. The x resolution and y resolution are specified "*" and the average width field is set as "0" to indicate selection of scalable font, if possible. You can give more specific font names also.

EXTRABODYFONT “font string 1, font string 2, ... font string n”

This is the same as EXTRAHDNGFONT, except that these fonts are used to print the page body.

XDISPLACEMENT <signed/unsigned int>

Gives the x coordinate displacement to be applied to the page for shifting the contents of the page in the x direction. This displacement can be a +ve or -ve value.

YDISPLACEMENT <signed/unsigned int>

This parameter is the same as x displacement except that the shifting happens in the y direction.

These two keywords are useful when you find that some printers have nonstandard margin widths and you need to shift the printed contents in a page.