# phpman > man > HPFTODIT(1)

[HPFTODIT(1)](https://www.chedong.com/phpMan.php/man/HPFTODIT/1/markdown)                            General Commands Manual                           [HPFTODIT(1)](https://www.chedong.com/phpMan.php/man/HPFTODIT/1/markdown)



## NAME
       hpftodit - create font description files for use with groff -Tlj4

## SYNOPSIS
       **hpftodit** [**-aqs**] [**-i** _n_] _tfm-file_ _map-file_ _output-font_

       **hpftodit** **-d** _tfm-file_ [_map-file_]

### hpftodit --help

### hpftodit -v
### hpftodit --version

## DESCRIPTION
       **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 (Master Symbol List) 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 (see **groff**___**[char**(7)](https://www.chedong.com/phpMan.php/man/char/7/markdown) for a list).  The values can be separated by
       any whitespace; the Unicode value must use uppercase digits A–F, and must be without a  lead‐
       ing  ‘**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  **u**_XXXX_  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)](https://www.chedong.com/phpMan.php/man/diff/1/markdown) 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**
       or
              **3**   **0023**   **#** **sh**   **#** **number** **sign**
       rather than
              **3**   **0023**   **sh** **#**   **#** **number** **sign**
       which will treat the first ‘**#**’ as the beginning of the comment.

       The _groff_ font file is written to the specified _output-font_; if this operand is ‘**-**’, the font
       file is written to the standard output.

       The  **-s**  option  should  be given if the font is special (a font is “special” if _groff_ 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 _groff_ 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)](https://www.chedong.com/phpMan.php/man/font/5/markdown)).

## OPTIONS
### -a
              corresponding  Unicode  value is given the name u_XXXX_; 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 pres‐
              ence 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
              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 True‐
              Type 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 _output-font_ is ignored if given.

### -q
              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

### -s
              fects 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.

### -i
              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 cor‐
              rection 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.

## FILES
       _/usr/share/groff/1.22.4/font/devlj4/DESC_
              device description file

       _/usr/share/groff/1.22.4/font/devlj4/_F
              Font description file for font _F_

       _/usr/share/groff/1.22.4/font/devlj4/generate/_*_.map_
              symbol mapping files

## SEE ALSO
       [**groff**(1)](https://www.chedong.com/phpMan.php/man/groff/1/markdown), **groff**___**[diff**(1)](https://www.chedong.com/phpMan.php/man/diff/1/markdown), [**grolj4**(1)](https://www.chedong.com/phpMan.php/man/grolj4/1/markdown), **groff**___**[font**(5)](https://www.chedong.com/phpMan.php/man/font/5/markdown), **lj4**___**[font**(5)](https://www.chedong.com/phpMan.php/man/font/5/markdown)



groff 1.22.4                                23 March 2022                                [HPFTODIT(1)](https://www.chedong.com/phpMan.php/man/HPFTODIT/1/markdown)
