STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
NAME
stmkfont - Scalable Typeface font compiler to create X and
PCL fonts
SYNOPSIS
stmkfont [options] xlfdname
DESCRIPTION
The stmkfont utility is a bit-mapped font generator for
creating X and PCL fonts from scalable typeface data. By
specifying desired font characteristics via an X Logical
Font Description (XLFD) name, the user can instruct stmkfont
to generate an almost limitless variety of font flavors from
one or more Agfa Compugraphic Intellifont typeface
libraries. Possible output formats are BDF, SNF, and PCL
for various HP printers.
REQUIRED PARAMETERS
xlfdname
The last argument on the command line is always
assumed to be the required XLFD name. The XLFD name
is the means by which you specify the typeface, font
size, and additional treatments for the final font.
(See xlfd(3) for information on XLFD construction).
The XLFD name should begin with a field-delimiter
hyphen and specify from one to fourteen contiguous
fields. If less than 14 fields are given, stmkfont
will automatically append wildcard fields to fill
the name out to fourteen. Stmkfont then attempts to
qualify the XLFD name by looking for a matching
scalable typeface descriptor in fonts.dir, and upon
finding a one, proceeds to build the font.
SWITCH OPTIONS
-B progname
Specifies an alternate BDF-to-SNF converter utility
to be run in place of the standard utility bdftosnf.
Affects operation only if the SNF output format is
specified.
-C Output a catalog of typeface/character set combina-
tions. For the given XLFD specification, stmkfont
will generate a list of fully qualified XLFD names
that reflect the various typefaces and character
sets that could be used to construct a final font.
No font is generated when this option is used.
-I Send additional status information to stderr, such
as the requested and final XLFD names, return status
of the underlying stmakefont() call, and a list of
characters that either failed font generation or
were not in the symbol set.
Printed 2/15/92 1
STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
-P Send ``one-percent progress dots'' to stderr. As
stmkfont constructs the final font, it will output a
stream of period characters at regular time inter-
vals. Exactly 100 periods will be output; when the
100th dot has been sent, the font is ready.
-S If one of the PCL output formats is requested, this
option causes stmkfont to output to stderr the PCL
selection string required to select the resulting
font on the PCL printer.
-T Suppress temporary output file. In its normal mode
of operation, stmkfont takes time to ``dribble''
output into a /tmp tempfile, and then quickly
``burst'' copy the complete tempfile to the actual
output file or device. While this file re-copy does
cause stmkfont to take somewhat longer to produce
results, it minimizes the amount of time that a
parent process must spend ``listening'' to
stmkfont's output. If overall speed is more criti-
cal than time spent actually writing the final out-
put, this switch can be used to bypass the tempfile
and ``dribble'' output directly to the final desti-
nation.
-V Requests that a fully qualified XLFD name be sent to
stderr without continuing to generate final output.
-b string
Specifies command line arguments to be passed to the
BDF-to-SNF utility when generating an SNF font.
Affects operation only if the SNF output format is
specified.
-cf CharsetFile
-cp CharsetPath
These options allow you to specify the subdirectory
(under one of the database directories) and/or
filename of a symbol set mapping file. Once
stmkfont has determined the name of the scalable
typeface library it will use, it extracts the
filename extension from the library's name, and uses
it in conjunction with CharsetPath, CharsetFile, and
the database directory trees Primary and Alternate
to locate an appropriate character set map.
Stmkfont will look for CharsetFile (or charsets.dir)
in several directories, in the following order:
1. Primary/TypefaceExtension/CharsetPath
2. Alternate/TypefaceExtension/CharsetPath
3. {STPATH}/TypefaceExtension/CharsetPath
Printed 2/15/92 2
STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
If left unspecified, the default CharsetPath is
charsets, and the default CharsetFile is determined
by scanning the above directories for charsets.dir,
then using the Charset Registry and Charset Encoding
properties of the XLFD name to extract from it a
charset map filename. Note: In the above directory
search hierarchy there should normally exist only
one charsets.dir file. Stmkfont will stop searching
when the first charsets.dir is encountered. If that
charsets.dir does not contain an appropriate
registry/encoding to match the XLFD name, stmkfont
will be unable to generate the requested font.
In practice, the character sets are usually found in
the Alternate directory's CharsetPath subdirectory.
When this product is installed, for example, the
character sets are placed in the
/usr/lib/X11/fonts/stadmin/ifo/charsets directory,
where stmkfont finds them with the default Alternate
and CharsetPath values.
The Alternate directory is also the customary home
of the misc/st.dev file used by stmkfont to deter-
mine PCL printer characteristics.
Because the Alternate directory is the customary
home of many important typeface-independent files,
it is usually inadvisable to use the -d2 option.
-d1 Primary
-d2 Alternate
Whenever stmkfont must open a typeface library, a
character set map, or a *.dir control file, it
searches through several directories in a specific
order until either the required file is found, or
the list of search directories are exhausted. These
database directories and the order in which they are
searched are as follows:
1. Primary (default /usr/lib/X11/fonts/ifo.st)
2. Alternate (default /usr/lib/X11/fonts/stadmin)
3. {STPATH} (environment variable)
The -d1 and -d2 options let you change the Primary
and Alternate database directories. If a requested
file cannot be found based on either of these two
paths, additional places to look can be specified by
using the STPATH environment variable.
In practice, typefaces are usually found in the Pri-
mary directory, and character sets are found in the
Alternate directory's CharsetPath directory (see
Printed 2/15/92 3
STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
below).
-dv device
Specifies the device for which a font is to be made,
in the format host:device. If not specified or
partly specified (host: or :device), host defaults
to the executing machine's hostname, and device
defaults to PRINTERS or DISPLAYS (depending on the
output format specified). See stlicense(1) for
further information on the format of the device
parameter.
-f format
Specifies the output format for the requested font,
which must be one of the following: BDF, SNF, or
one of the supported PCL printer formats. Output
formats currently supported are: LJPLUS, LJII,
LJ2000, LJIIP, LJIII (bitmapped fonts for various
models of LaserJet), PJXL (bitmapped fonts for the
PaintJet XL), and PCLEO (scalable fonts for the
LaserJet III). Bitmapped fonts reflect any
transformations (such as emboldening and obliqueing)
requested in the xlfdname argument; scalable fonts
(PCLEO format) do not.
If left unspecified, output format is BDF. If SNF
output is requested, stmkfont generates BDF and
pipes output through the bdftosnf utility.
-h There is no -h option. For online help, run
stmkfont without any parameters.
-nf fonts.dir
-ns charsets.dir
-nt typefaces.dir
These three options allow you to specify alternate
names for the three control files that may be used
by stmkfont. fonts.dir contains a list of typeface
library files and the XLFD ``outline'' name descrip-
tions of those typefaces. charsets.dir contains
associates character set registry, encoding, and
requirements with particular character set map
files. typefaces.dir assigns ``official'' names to
individual Agfa Compugraphic typeface IDs.
-nv name
Specifies an alternate environment variable name to
use instead of STPATH.
-o outfile
This option specifies the output file. Default is
stdout.
Printed 2/15/92 4
STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
-q Run quietly (suppress error messages).
-v Similar to the -V option, -v requests that a fully
qualified XLFD name be sent to stderr before
stmkfont begins generating glyphs. The string will
be terminated with a newline character and stderr
will be flushed before any glyph output appears.
-w This option causes all bitmap output data to be
suppressed, resulting in only header and trailer
information being generated. Header metrics will
accurately reflect the entire font that would have
been emitted, but the character count will show
zero.
ENVIRONMENT
STPATH STPATH specifies the last-resort paths to be
searched when looking for typeface libraries, char-
acter set mapping files, and *.dir files. Searching
STPATH is only considered if requested files are not
found in the Primary or Alternate paths (normally,
/usr/lib/X11/fonts/ifo.st and
/usr/lib/X11/fonts/stadmin). STPATH has a format
similar to the PATH variable, consisting of one or
more paths concatenated together with colons.
ABOUT XLFD NAMES
If the xlfdname argument contains any embedded blanks the
entire XLFD name should be enclosed in quotes. Also, while
it is good practice to always specify something in all XLFD
fields, null fields (double dashes) are permissible and will
be treated as though they contain asterisk wildcards. Cer-
tain fields of the XLFD name will ``default'' if specified
as zero or wild:
Point Size (field 8) - default value is 120 (12 point)
X resolution (field 9) - default value is 100 dots per inch (BDF/SNF)
default value is printer resolution (PCL)
Y resolution (field 10) - default value is 100 dots per inch (BDF/SNF)
default value is printer resolution (PCL)
Resolution of other fields containing wildcards depends
wholly on the contents and ordering of data in fonts.dir and
charsets.dir.
ABOUT THE VARIOUS PCL FORMATS
The PCL bitmapped output formats for the various LaserJet
printers are identical. Stmkfont uses the format specified
with the -f option to ensure that the font will work within
the restrictions imposed by the target printer. For exam-
ple, the LJPLUS printer cannot handle the large glyphs
allowed by the other models, nor can it handle character
Printed 2/15/92 5
STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
sets that define glyphs for the control characters.
EXAMPLES
To generate a BDF file for a 14-point/110 DPI ``cg times''
font using the iso8859-1 character set:
stmkfont "-agfa-cg times-normal-r-normal-*-*-140-110-110-*-*-iso8859-1"
To generate the same font for a LaserJet II:
stmkfont -f LJII "-agfa-cg times-normal-r-normal-*-*-140-*-*-*-*-iso8859-1"
Note that the resolution fields will default to the
printer's 300 DPI resolution. The output will be a LaserJet
II font without the font management sequences for assigning
font ID and for making the font temporary or permanent.
To search for fonts in a directory ``$HOME/fonts'' contain-
ing scalable fonts and a fonts.dir directory:
stmkfont -d1 "$HOME/fonts" "-agfa-cg times-normal-r----140-----hp-roman8"
Note here that empty fields are simply run together as a
string of dashes. While this is an unrecommended departure
from the XLFD format standard, stmkfont will allow such a
specification and treats the empty fields as though they
contain asterisk wildcards.
FILES
/usr/lib/X11/fonts/stadmin/ifo/charsets/charsets.dir
/usr/lib/X11/fonts/ifo.st/typefaces/fonts.dir
/usr/lib/X11/fonts/stadmin/misc/st.dev
.in -2
ERRORS
Typeface does not contain an HP alias
The typeface file does not contain sufficient infor-
mation to construct a PCL font.
LJPLUS printer does not support this charset
A character set was requested that cannot be used on
the LaserJet Plus printer. Any character set that
defines glyphs for characters 0-31 or 128-159 cannot
be used on the LaserJet Plus printer.
Font too large for printer
The requested font size is larger than can be han-
dled by the target printer.
SEE ALSO
bdftosnf(1), mkfontdir(1), stmkdirs(1), stlicense(1M),
stload(1M)
Printed 2/15/92 6
STMKFONT(1) UNIX Programmer's Manual STMKFONT(1)
COPYRIGHT
(C) Copyright 1990 Hewlett-Packard Company
Printed 2/15/92 7