HPFTODIT(1) General Commands Manual HPFTODIT(1)
hpftodit - create font description files for use with groff -Tlj4
hpftodit [ -adqsv ] [ -in ] tfm_file map_file font
It is possible to have whitespace between the -i option and its
hpftodit creates a font file for use with a Hewlett-Packard LaserJet
4–series (or newer) printer with groff -Tlj4, using data from an HP
tagged font metric (TFM) file. tfm_file is the name of the TFM file for
the font; Intellifont and TrueType TFM files are supported, but symbol
set TFM files are not. map_file is a file giving the groff names for
characters in the font; this file should consist of a sequence of lines
of the form:
m u c1 c2 ... [ # comment ]
where m is a decimal integer giving the MSL number of the character, u is
a hexadecimal integer giving the Unicode value of the character, and c1,
c2, ... are the groff names of the character. The values can be
separated by any whitespace; the Unicode value must use uppercase digits
A–F, and must be without a leading `0x', `u', or `U+'. Unicode values
corresponding to composite glyphs are decomposed; e.g., `u00C0' becomes
`u0041_0300'. The name for a glyph without a groff name may be given as
uXXXX if the glyph corresponds to a Unicode value, or as an unnamed glyph
`---'. If the given Unicode value is in the Private Use Area
(0xE000–0xF8FF), the glyph is included as an unnamed glyph. Refer to
groff_diff(1) for additional information about unnamed glyphs and how to
Blank lines and lines beginning with `#' are ignored. A `#' following
one or more groff names begins a comment. Because `#' is a valid groff
name, it must appear first in a list of groff names if a comment is
3 0023 # # number sign
3 0023 # sh # number sign
3 0023 sh # # number sign
which will treat the first `#' as the beginning of the comment.
font is the name of the groff font file. The groff font file is written
to font; if font is specified as `-', the output is written to the
The -s option should be given if the font is special (a font is special
if troff should search it whenever a character is not found in the
current font). If the font is special, it should be listed in the fonts
command in the DESC file; if it is not special, there is no need to list
it, since troff can automatically mount it when it's first used.
If the -i option is used, hpftodit automatically will generate an italic
correction, a left italic correction and a subscript correction for each
character (the significance of these parameters is explained in
-a Include characters in the TFM file that are not included in the
map file. A glyph with corresponding Unicode value is given the
name uXXXX; a glyph without a Unicode value is included as an
unnamed glyph `---'. A glyph with a Unicode value in the Private
Use Area (0xE000–0xF8FF) also is included as an unnamed glyph.
This option provides a simple means of adding Unicode-named and
unnamed glyphs to a font without including them in the map file,
but it affords little control over which glyphs are placed in a
regular font and which are placed in a special font. The presence
or absence of the -s option has some effect on which glyphs are
included: without the -s option, only the “text” symbol sets are
searched for matching glyphs; with the -s option, only the
“mathematical” symbol sets are searched. Nonetheless, restricting
the symbol sets searched isn't very selective—many glyphs are
placed in both regular and special fonts. Normally, the -a option
should be used only as a last resort.
-d Dump information about the TFM file to the standard output; this
option can be useful for ensuring that a TFM file is a proper
match for a font, and that the contents of the TFM file are
suitable. The information includes the values of important TFM
tags, and a listing (by MSL number for Intellifont TFM files or by
Unicode value for TrueType TFM files) of the glyphs included in
the TFM file. The unit of measure `DU' for some tags indicates
design units; there are 8782 design units per em for Intellifont
fonts, and 2048 design units per em for TrueType fonts. Note that
the accessibility of a glyph depends on its inclusion in a symbol
set; some TFM files list many glyphs but only a few symbol sets.
The glyph listing includes the glyph index within the TFM file,
the MSL or Unicode value, and the symbol set and character code
that will be used to print the glyph. If map_file is given, groff
names are given for matching glyphs. If only the glyph index and
MSL or Unicode value are given, the glyph does not appear in any
supported symbol set and cannot be printed.
With the -d option, map_file is optional, and font is ignored if
-q Suppress warnings about characters in the map file that were not
found in the TFM file. Warnings never are given for unnamed
glyphs or by glyphs named by their Unicode values. This option is
useful when sending the output of hpftodit to the standard output.
-v Print the hpftodit version number.
-s The font is special. This option adds the special command to the
font file, and affects the order in which HP symbol sets are
searched for each glyph. Without the -s option, the “text” sets
are searched before the “mathematical” symbol sets. With the -s
option, the search order is reversed.
-in Generate an italic correction for each character so that the
character's width plus the character's italic correction is equal
to n thousandths of an em plus the amount by which the right edge
of the character's bounding is to the right of the character's
origin. If this would result in a negative italic correction, use
a zero italic correction instead.
Also generate a subscript correction equal to the product of the
tangent of the slant of the font and four fifths of the x-height
of the font. If this would result in a subscript correction
greater than the italic correction, use a subscript correction
equal to the italic correction instead.
Also generate a left italic correction for each character equal to
n thousandths of an em plus the amount by which the left edge of
the character's bounding box is to the left of the character's
origin. The left italic correction may be negative.
This option normally is needed only with italic or oblique fonts;
a value of 50 (0.05 em) usually is a reasonable choice.
/usr/share/groff/1.19.2/font/devlj4/DESC Device description
/usr/share/groff/1.19.2/font/devlj4/F Font description file
for font F.
Symbol mapping files
groff(1), groff_diff(1), grolj4(1), groff_font(5), lj4_font(5)
Groff Version 1.19.2 14 January 2004 HPFTODIT(1)