OnWorks favicon

hpftodit - Online in the Cloud

Run hpftodit in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command hpftodit that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



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 parameter.


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 access them.

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 included, e.g.,

3 0023 # # number sign


3 0023 # sh # number sign

rather than

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 standard output.

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 groff_font(5)).


-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 given.

-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.

Use hpftodit online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Clover EFI bootloader
    Clover EFI bootloader
    Project has moved to
    Features:Boot macOS, Windows, and Linux
    in UEFI or legacy mode on Mac or PC with
    Download Clover EFI bootloader
  • 2
    Join us in Gitter!
    Enable the URPMS repository in your
    system -
    Download unitedrpms
  • 3
    Boost C++ Libraries
    Boost C++ Libraries
    Boost provides free portable
    peer-reviewed C++ libraries. The
    emphasis is on portable libraries which
    work well with the C++ Standard Library.
    See http://www.bo...
    Download Boost C++ Libraries
  • 4
    VirtualGL redirects 3D commands from a
    Unix/Linux OpenGL application onto a
    server-side GPU and converts the
    rendered 3D images into a video stream
    with which ...
    Download VirtualGL
  • 5
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Download libusb
  • 6
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    Download SWIG
  • More »

Linux commands