Provided by: groff_1.23.0-2_amd64 bug

Name

       hpftodit - create font description files for use with groff and grolj4

Synopsis

       hpftodit [-aqs] [-i n] tfm-file map-file font-description

       hpftodit -d tfm-file [map-file]

       hpftodit --help

       hpftodit -v
       hpftodit --version

Description

       hpftodit  creates a font description file for use with a Hewlett-Packard LaserJet 4-series
       (or newer) printer with the grolj4(1) output driver of groff(1), using  data  from  an  HP
       tagged  font  metric (TFM) file.  tfm-file is the name of the font's TFM file; Intellifont
       and TrueType TFM files are supported, but symbol set TFM files are  not.   map-file  is  a
       file  giving  the  groff  special  character identifiers for glyphs 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 glyph's MSL (Master Symbol List) number,  u  is  a
       hexadecimal  integer  giving  its  Unicode  character code, and c1, c2, ...  are its groff
       glyph names (see groff_char(7) for a list).  The values can be separated by any number  of
       spaces and/or tabs.  The Unicode value must use uppercase hexadecimal digits A–F, and must
       lack a leading “0x”, “u”, or “U+”.  Unicode values corresponding to composite  glyphs  are
       decomposed;  that  is  “u00C0”  becomes  “u0041_0300”.   A  glyph  without a groff special
       character identifier may be named 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 (PUA)
       (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, as in
              3   0023   #   # number sign
       or
              3   0023   # sh   # number sign
       whereas in
              3   0023   sh #   # number sign
       the first “#” is interpreted as the beginning of the comment.

       Output  is  written  in  groff_font(5)  format  to  font-description, a file named for the
       intended groff font name; if this operand is “-”, the font description is written  to  the
       standard output stream.

       If  the  -i  option  is used, hpftodit automatically will generate an italic correction, a
       left italic correction, and a subscript correction for each  glyph  (the  significance  of
       these parameters is explained in groff_font(5)).

Options

       --help displays a usage message, while -v and --version show version information; all exit
       afterward.

       -a     Include glyphs in the TFM file that are not included in  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) is also 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 it, only the “text” symbol sets are searched for matching glyphs;
              with  it,  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, -a should be used only as a last resort.

       -d     Dump information about the TFM file to the standard  output  stream;  use  this  to
              ensure  that  a  TFM  file  is a proper match for a font, and that its contents 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 output-font is ignored if given.

       -i n   Generate an italic correction for each glyph so that  its  width  plus  its  italic
              correction  is  equal  to n thousandths of an em plus the amount by which the right
              edge of the glyphs's bounding box is to the right of its  origin.   If  a  negative
              italic correction would result, 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  a  subscript
              correction  greater  than  the  italic  correction  would  result,  use a subscript
              correction equal to the italic correction instead.

              Also generate a left italic correction for each glyph equal to n thousandths of  an
              em  plus  the  amount by which the left edge of the glyphs's bounding box is to the
              left of its 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.

       -q     Suppress warnings about glyphs 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 stream.

       -s     Add the special directive to the font description  file,  affecting  the  order  in
              which  HP symbol sets are searched for each glyph.  Without this option, the “text”
              sets are searched before the “mathematical” symbol sets.  With it, the search order
              is reversed.

Files

       /usr/share/groff/1.23.0/font/devlj4/DESC
              describes the lj4 output device.

       /usr/share/groff/1.23.0/font/devlj4/F
              describes the font known as F on device lj4.

       /usr/share/groff/1.23.0/font/devlj4/generate/Makefile
              is  a  make(1)  script  that uses hpftodit(1) to prepare the groff font description
              files above from HP TFM data; in can be used to regenerate them in  the  event  the
              TFM files are updated.

       /usr/share/groff/1.23.0/font/devlj4/generate/special.awk
              is  an awk(1) script that corrects the Intellifont-based height metrics for several
              glyphs in the S (special) font for TrueType CG Times used in the HP  LaserJet  4000
              and later.

       /usr/share/groff/1.23.0/font/devlj4/generate/special.map
       /usr/share/groff/1.23.0/font/devlj4/generate/symbol.map
       /usr/share/groff/1.23.0/font/devlj4/generate/text.map
       /usr/share/groff/1.23.0/font/devlj4/generate/wingdings.map
              map  MSL  indices  and  HP  Unicode  PUA  assignments  to  groff  special character
              identifiers.

See also

       groff(1), groff_diff(1), grolj4(1), groff_font(5)