wwpsof(8)wwpsof(8)NAMEwwpsof - Generic I18N (internationalized) print filter for PostScript
/usr/lbin/wwpsof [-c] [-D data] [-h host-name] [+I input-tray] [-i
indent] [-K sides] [-l page-length] [-N number-up] [-n login-name] [-O
option-list] [+o output-bin] [-S paper-size] [-v] [-w page-width] [+C
Most of the options supported by wwpsof should be specified by the user
on the lpr command line rather than on the wwpsof command line that you
enter as the if or of value in the /etc/printcap file. When the wwpsof
command is specified in the /etc/printcap file, you can include options
either to establish defaults (which a user can override) or to hard
code a particular setting (which the user cannot override). To estab‐
lish a default setting, precede an option with a plus sign (+). To
establish a setting that the user cannot override, precede an option
with a hyphen (-). Options shown with a hyphen (-) in this section and
the SYNOPSIS are typically not included on a wwpsof command line, and
are left to user discretion.
Some print characteristics, such as vertical printing, can be specified
to the filter by using one of several options. In these cases, the
options that correspond to those on the lpr command line are preferred.
The alternative options are supported for backward compatibility
between the wwpsof command line and the command lines of older print
Support for the listed options can vary from printer to printer and the
code required to communicate these options can vary as well. Therefore,
several wwpsof options will work only if enabled by code entries in the
printer customization file specified by the +C option. See the Printer
Customization File section for detailed information. Prints control
characters. Tells the print filter how to interpret the text. Valid
values are: Interpret as PostScript Interpret as plain ASCII text
This option is supported for backward compatibility. The recom‐
mended alternative is -O format=input-format Specifies the name
of the job owner's host system. This name can contain non-ASCII
characters. Selects the default paper input tray of the
printer. Valid values are printer specific and should be speci‐
fied in the printer customization file (PCF). This option corre‐
sponds to -I on the lpr command line. Specifies the amount of
indentation in columns. The default value is 0 (no indentation).
This option corresponds to -i on the lpr command line. Speci‐
fies one- or two-sided printing. Valid values are 1 or 2. You
can use this option only if the printer supports it and there is
appropriate encoding in the printer's PCF. This option corre‐
sponds to -K on the lpr command line. Specifies page length as
the number of lines. The default value is 66. Specifies the
number of pages to be printed per side on a sheet of paper.
This option requires support in the PCF and corresponds to -N on
the lpr command line. Specifies the login name of the print
job's owner. This name can contain non-ASCII characters. Speci‐
fies options related to page orientation and printing of a file.
The option-list value can include one option or multiple options
that are separated by commas (no embedded spaces).
The wwpsof filter supports the following options for option-
list: Prints the specified number of copies. Specifies the data
format of the input file. Valid values are text or ascii (for a
text input file) or post (for a PostScript input file). Prints
so that the printed output is parallel to the long side of the
page. Specifies the locale setting in which the filter pro‐
cesses the input file. Prints so that the printed output is
parallel to the short side of the page. Specifies the range of
pages to be printed, starting with page number m and ending with
page number n. This option requires support in the PCF if the
input file is in PostScript format. Specifies vertical writing
mode for Chinese, Japanese, and Korean multibyte characters.
When this option is included, multibyte characters are printed
vertically in a rotated orientation; however, any single-byte
characters in the text are still printed horizontally.
This option corresponds to the -O "vprint" option on an lpr com‐
This option corresponds to the -O option on an lpr command line.
Specifies the default output bin on the printer. Valid values
are printer specific and must be specified in the printer's PCF.
This option corresponds to the -o option on an lpr command line.
Specifies the paper-size. Valid values are: Letter (the
default), Executive, Legal, Tabloid, A0, A1, A2, A3, A4, A5, A6,
B0, B1, B2, B3, B4, B5, and B6. Performs the same function as
-O vprint. Specifies the width of the page in columns. The
default values are 80 (for portrait orientation) and 132 (for
landscape orientation). Specifies the printer customization
file (PCF) to be used. See the Printer Customization File sec‐
tion for more information.
Specifies the file that logs accounting information for print jobs.
The wwpsof filter is a generic text-to-PostScript converter that con‐
verts the various single-byte and multibyte characters used in an
international environment to printable PostScript input. The filter
embeds all required PostScript font data within the PostScript program.
Therefore, print jobs that include local language characters can be
printed on printers where local language fonts are not resident. To use
this filter with a printer, the printer has to support PostScript Level
2 (or higher) or PostScript Level 1 with the composite font extension.
The wwpsof filter uses PostScript outline fonts, if available. Other‐
wise, the filter attempts to use one of two types of bitmap fonts. The
filter uses high-resolution, rasterized, TrueType fonts or, if not
available, it uses low-resolution bitmap fonts. Bitmap fonts are avail‐
able to the filter only if it has access to a running X font server.
See the Printer Customization File section for specifying the location
of an X font server to the filter.
The wwpsof filter handles device-specific printer options provided that
an appropriate printer configuration file (PCF) is supplied. The fil‐
ter also performs accounting functions. At the completion of each print
job, accounting records are written to the file specified by the af
field of the entry for the printer in /etc/printcap.
The filter can handle plain text files, files preprocessed by nroff,
and PostScript files generated by CDE applications. All of these files
can contain non-ASCII characters.
The wwpsof filter is sensitive to the locale setting. When processing
a character, the filter determines if the character is printable in the
current locale. The filter also uses the codeset part of the locale
setting to find an appropriate font (whether outline, TrueType bitmap,
or low-resolution bitmap). Except for files in UTF-16 or UCS-4 (UTF-32)
format, users must set the locale appropriately before printing files
that contain characters in languages other than English. If the locale
setting for the process is not appropriate for the input file, the
locale can be set specifically for the print job through the -O
The filter recognizes files in UTF-16 and UCS-4 (UTF-32) data formats
by the presence of Byte Order Marks (BOMs) in the file. (It can recog‐
nize UTF-16LE and UTF-16BE without the BOM.) See Unicode(5) for more
information on data formats.
These files are printed by using the appropriate font or, if necessary,
combination of fonts.
You can specify wwpsof for both the of and if fields of an /etc/print‐
cap file entry. If the user's login name and host system name contain
non-ASCII characters, you must specify wwpsof in the of field. Other‐
wise, you can omit the value for of. See printcap(4) for more informa‐
tion about defining /etc/printcap entries.
Printer Customization File
The printer customization file (PCF) provides printer-specific and wwp‐
sof-specific information for controlling the operation of a printer.
The wwpsof filter uses /usr/i18n/share/options/wwpsof.pcf as the PCF
file. This file has a generic set of font-handling tags that will work
with all supported PostScript printers but does not contain any device-
specific settings. For example, the PCF file contains XLFD font speci‐
fications for Japanese and Chinese scalable, bitmap fonts.
The operating system also provides a set of PCF files customized for
specific printers in the /usr/lbin/pcf directory. These files have
device-specific settings but no font-handling information. The printer-
specific PCFs are supported by the pcfof filter, and the following
ones, which apply to PostScript printers, can also be used with the
ln17ps.pcf ln17ps_a4.pcf hplj4000tn.pcf hplj4000tn_a4.pcf
hplj4mplus.pcf hplj4mplus_a4.pcf hplj5simx.pcf hplj5simx_a4.pcf
ln15.pcf ln15_a4.pcf ln20.pcf ln20_a4.pcf ln40.pcf ln40_a4.pcf
If one of these PCFs has settings appropriate for your printer and you
simply want to apply these printer-specific values in addition to the
font-handling definitions in the wwpsof.pcf file, you can use the +C
option to specify the printer-specific PCF and do not need to specify
wwpsof.pcf at all. The wwpsof filter always applies the settings in
wwpsof.pcf unless they are redefined in a PCF specified on the command
You can also create a customized PCF. The main reasons for creating
your own PCF are to: Change the font server location
The default PCF specifies the local system as the font server.
You might want to specify another system for importation of
TrueType or other bitmap fonts. Add information about printer-
The default PCF does not include tags for these fonts because
they are printer specific. This information also does not reside
in the printer-specific PCFs because the fonts available on a
particular printer may be site-specific. When it is possible to
use printer-resident fonts for characters, the PostScript file
produced by wwpsof can be substantially smaller than when font
glyphs must be embedded in the file. So, it is worthwhile to
create a PCF that allows printer-resident PostScript fonts to be
used when these are available. Add or override settings for
None of these settings are included in the default PCF and you
may not find a printer-specific PCF that meets all requirements
for your printer.
The remainder of the information in this section explains the contents
of a PCF file so you can create or adapt one to meet your printer and
If you do create a customized version of an existing PCF, make sure
your version has a file name different from any system-supplied PCF
name. Otherwise, an update installation procedure will not recognize
your PCF as being user supplied and will replace it with an unmodified
version of the file you customized.
If you want to add only one or two entries to a printer-specific PCF
that already exists, the recommended practice is to specify only the
additional entries in your customized PCF. Then you specify the exist‐
ing PCF, followed by your supplemental PCF, on the wwpsof command line.
When multiple PCFs are specified on the command line, entries supplied
by all of the PCFs apply. One PCF overrides another only when there are
multiple occurrences of the same kind of entry. In this case, the entry
defined in the file you specify last in the command line is the one
that wwpsof uses.
Each entry in the PCF adheres to the following format: tag: value
In this format, tag specifies the capability to be customized and value
is the setting or code for this capability.
A tag can be one or more keywords or a mix of keywords and user-sup‐
plied values. There are two types of tags: those that correspond to
printer-specific capabilities and those that are wwpsof-specific. The
value for a tag that is printer specific is frequently the code
sequence that needs to be sent to the printer to enable or exercise a
printer capability. The value for a tag that is wwpsof specific con‐
trols font handling or codeset conversion. All tags are named and
described following the list of PCF format rules.
Format rules for PCF entries include the following: To continue a PCF
entry to the next line, use the backslash character (\) at the end of
the line to be continued. To include the backslash character in a
value, enter two backslashes (\\). To begin a comment, use an exclama‐
tion mark (!). To specify a character by its octal value, use a back‐
slash (\) followed by three octal digits. For example, \033 represents
the escape character. A field that begins with a slash (/) is inter‐
preted as a file specification.
Printer-specific tags supported by wwpsof include the following ones.
These tags are a subset of the tags supported by the pcfof filter. The
reset sequence that is sent to the printer The number of seconds to
wait after sending out a reset sequence The initialization sequence
that is sent to the printer at the beginning of a print job The number
of seconds to wait after sending out an initialization sequence The
termination sequence that is sent to the printer at the end of a print
job The number of seconds to wait after sending out a termination
sequence Code that enables the PostScript interpreter. The number of
seconds to wait after sending the code to enable the PostScript inter‐
preter Code that disables the PostScript interpreter The number of sec‐
onds to wait after sending the code to disable the PostScript inter‐
preter PostScript prolog included in every print job Code that enables
portrait page orientation
This tag is optional; that is, the tag can be omitted and the -O
portrait option will still work as long as the printer supports
varying page orientation. Code that enables landscape page ori‐
entation. This tag is optional; that is, the tag can be omitted
and the -O landscape option will still work as long as the
printer supports varying page orientation. Prolog code for
input tray selection Code for selecting the specified input tray
Prolog code for output bin selection Code for selecting the
specified output bin Code for printing on only one side of a
sheet of paper Code for printing on both sides of a sheet of
paper Code for printing multiple pages per sheet of paper. This
code is required for the -N number-up option to work. The num‐
ber-up value is related to the number of an operand stack. Code
for printing multiple copies of a print job
This tag is optional; that is, the -O copies=number option does
not require it. Code for printing a specified range of pages.
(The m and n page numbers of the -O range=m:n option correspond
to positions on an operand stack.)
This tag is required only for PostScript input files; that is,
the -O range=m:n option does not require it for text input
files. The supported PostScript version
Font-handling tags include the following: Printer resolution in the x
direction Printer resolution in the y direction Location of the font
server. The default value is localhost:7100. This value means that the
font server is the local system and has been set up to listen for
client connections at port 7100. For basic information about setting up
a font server, refer to X Window System Environment. For information
about using the /sbin/init.d/xfs script to create a configuration file
for autostarting the font server, see the xfs(1X) reference page. The
/sbin/init.d/xfs script is provided to help set up the font server so
that it can be used with wwpsof. Keep in mind that bitmap fonts, both
high-resolution, TrueType, fonts and low-resolution fonts require a
running X font server. The printer-resident font to be used for a par‐
ticular font type and codeset. See the discussion of font specification
tags that immediately follows this list. The soft outline font to be
used for a particular font type and codeset. See the discussion of font
specification tags that immediately follows this list. The soft bitmap
font to be used for a particular font type and codeset. See the discus‐
sion of font specification tags that immediately follows this list.
The codeset look-up sequence that the filter follows for Unicode char‐
acter conversion. This value is a comma-separated list of codeset
names. If a Unicode character can be converted to a character in the
first codeset listed, the font supporting that codeset is used for the
character in the PostScript file. If the character cannot be converted
to that codeset, the filter tries conversion by using the next codeset
in the list. If a Unicode character cannot be converted to a character
in any of the codesets listed, the character is ignored.
A PCF file can include multiple entries containing tags that begin with
font specification key words (ps resident font, ps soft outline font,
or ps soft bitmap font). In addition to the key words, these tags
include the following parameters: The font type, which can be normal,
bold, italic, or bold-italic The name of any codeset supported on a
Tru64 UNIX system
The Japanese, Korean, Simplified Chinese, and Traditional Chi‐
nese languages are supported by multiple codesets, but only one
codeset per language has associated fonts. Therefore, when
including entries to support characters in one of the following
languages, specify only the codeset listed:
For Japanese, eucJP
For Korean, deckorean
For Simplified Chinese, dechanzi
For Traditional Chinese, eucTW
In the PCF file font definition, the Japanese font, mincho, is
assigned to the fdpc TrueType font that is delivered on the
Tru64 UNIX Japanese Extensions CD-ROM. If the extensions are not
installed, the wwpsof filter falls back to the low-resolution
The Chinese fonts are assigned to the Unicode, double-width,
font. Thus, you can provide a customized PCF file that supports
GB18030 characters set printing with TrueType fonts.
The value part of a font-specification entry has the following format:
font-name [fprop] [plane:pmask]... [, ...]
In this format, font-name is the name of the font, such as Courier-ISO‐
Latin2 (example of an outline font name) or -fdpc-mincho-medium-r-nor‐
mal--0-0-0-0-c-0-jisx0212.1990-0 (example of a scalable, TrueType, bit‐
map font name).
The fprop value can be Mono (for monospace) or Prop (for proportional).
The plane and pmask values are used only for fonts supporting multiple
codesets. In these cases, the filter finds specific font data by using
a logical OR operation to combine a code point with the plane and pmask
A font-specification entry can contain multiple font listings, sepa‐
rated by a comma and space. If there are multiple plane:pmask pairs
following a particular font name, they are separated only by spaces.
Following are three examples of font-specification entries from the PCF
file that wwpsof uses by default:
ps soft outline font normal ISO8859-9: Courier-ISOLatin5
ps soft outline font bold eucTW : Hei-Light-CNS11643-1 1:8080, \
ps soft bitmap font normal deckorean: \ -dyna-munjo-medium-r-nor‐
mal--0-0-0-0-m-0-KSC5601.1987-1 1:8080, \ -adecw-myungcho-medium-r-nor‐
The value of the ps resident font tag must be a font that is resident
in the printer. If you are sure that non-Latin-1 fonts are printer res‐
ident and specify them in the PCF, the wwpsof does not embed in the
PostScript file any glyphs for characters supported by those fonts.
This reduces the size of the PostScript print job and, if soft bitmap
fonts are the only alternative, improves the clarity of the printed
file. However, for Asian and many Eastern European languages, printer-
resident fonts are usually available only on printers manufactured to
support specific local languages.
The value of the ps soft outline font tag must be one or more Post‐
Script outline fonts that are installed on the local system. Outline
fonts for characters included in the Latin-1 character set are
installed by default on a Tru64 UNIX system. Outline fonts for charac‐
ters not included in the Latin-1 character set can be installed from
optional subsets that are included in the Tru64 UNIX product kit. For
example, PostScript outline fonts for Chinese characters are included
in one of the software subsets that support Chinese.
The value of the ps soft bitmap font tag must be one or more TrueType
or low-resolution bitmap fonts made available through the X font
server. Like outline fonts, bitmap fonts are installed on the font
server from optional subsets that are included in the Tru64 UNIX prod‐
uct kit. The X font server, which can be either the local system or a
remote system, sends fonts to the client application, in this case, the
Setting up bitmap fonts in the PCF for a printer controlled by the wwp‐
sof filter allows CDE application users to use that printer to print
screen text that contains local language characters. Furthermore, cer‐
tain languages, such as Japanese, are supported on a Tru64 UNIX system
only through printer-resident or bitmap fonts. The wwpsof filter there‐
fore enables hard copy printing of Japanese text files for users who do
not have a Japanese printer. Because low-resolution bitmap fonts are
primarily used for screen displays, their resolution is not as crisp on
the printed page when compared to printer-resident, TrueType bitmap, or
Embedding font data in PostScript files may increase the size of the
file beyond what printer memory can support. If this happens, the wwp‐
sof filter appends an error page to the end of printed output to notify
the user that the file size exceeded printer capacity.
Commands: fsinfo(1X), fslsfonts(1X), lpr(1), lpd(8), pcfof(8), xfs(1X)
X Window System Environment