STMKFONT(1)STMKFONT(1)NAMEstmkfont - Scalable Typeface font compiler to create X and PCL fonts
SYNOPSISstmkfont [options] xlfdname
DESCRIPTION
The stmkfont utility is obsolete and will not be supported in future
releases. It has been replaced by the fstobdf utility.
The stmkfont utility is a bit-mapped font generator for creating X and
PCL fonts from Intellifont 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, and PCL for vari‐
ous 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 con‐
struction). 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. Stmk‐
font 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-C Output a catalog of typeface/character set combinations on
stderr. For the given XLFD specification, stmkfont will gener‐
ate a list of fully qualified XLFD names that reflect the vari‐
ous typefaces and character sets that could be used to con‐
struct 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
stmkfont() call, and a list of characters that either failed
font generation or were not in the symbol set.
-P Send ``one-percent progress dots'' to stderr. As stmkfont con‐
structs the final font, it will output a stream of period char‐
acters at regular time intervals. 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 opera‐
tion, 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 critical than time spent actually writing the final out‐
put, this switch can be used to bypass the tempfile and ``drib‐
ble'' output directly to the final destination.
-V Requests that a fully qualified XLFD name be sent to stderr
without continuing to generate final output.
-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
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 Alter‐
nate 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 stmk‐
font finds them with the default Alternate and CharsetPath val‐
ues.
The Alternate directory is also the customary home of the
misc/st.dev file used by stmkfont to determine 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 Alter‐
nate 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 Primary direc‐
tory, and character sets are found in the Alternate directory's
CharsetPath directory (see 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 (depend‐
ing on the output format specified). See stlicense(1) for fur‐
ther 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 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 embolden‐
ing and obliqueing) requested in the xlfdname argument; scal‐
able fonts (PCLEO format) do not.
If left unspecified, output format is BDF.
-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 descriptions of those typefaces.
charsets.dir contains associates character set registry, encod‐
ing, 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.
-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 gener‐
ated. 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, character 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. Certain 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)
default value is printer resolution (PCL)
Y resolution (field 10) - default value is 100 dots per inch (BDF)
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 example, the LJPLUS printer cannot handle the
large glyphs allowed by the other models, nor can it handle character
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 tem‐
porary or permanent.
To search for fonts in a directory ``$HOME/fonts'' containing 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
NOTE
Stmkfont supports only Intellifont scalable fonts; it cannot be used to
generate fonts from Type 1 or any other format of scalable outlines.
ERRORS
Typeface does not contain an HP alias
The typeface file does not contain sufficient information to
construct a PCL font.
LJPLUS printer does not support this charset
A character set was requested that cannot be used on the Laser‐
Jet 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 handled by the
target printer.
SEE ALSOmkfontdir(1), stmkdirs(1), stlicense(1M), stload(1M)COPYRIGHT
(C) Copyright 1990 Hewlett-Packard Company
X Version 11 Release 5 STMKFONT(1)