Provided by: groff_1.23.0-3build2_amd64 bug

Name

       tfmtodit - adapt TeX Font Metrics files for use with groff and grodvi

Synopsis

       tfmtodit [-s] [-g gf-file] [-k skew-char] tfm-file map-file font-description

       tfmtodit --help

       tfmtodit -v
       tfmtodit --version

Description

       tfmtodit creates a font description file for use with groff(1)'s dvi output device.  tfm-file is the name
       of  the  TeX  font  metric  file  for  the  font.   map-file  assigns groff ordinary or special character
       identifiers to glyph indices in the font; it should consist of a sequence of lines of the form
              i c1 ... cn
       where i is a position of the glyph in the font in decimal, and c1 through cn are glyph identifiers in the
       form used by groff font descriptions.  If a glyph has no groff names but exists in tfm-file, it is put in
       the groff font description file as an unnamed glyph.  Output is written in groff_font(5) format to  font-
       description, a file named for the intended groff font name.

       If  the  font  is  “special”,  meaning  that  groff should search it whenever a glyph is not found in the
       current font, use the -s option and name font-description in the fonts directive in the  output  device's
       DESC file.

       To  do  a  good  job of math typesetting, groff requires font metric information not present in tfm-file.
       This is because TeX has separate math italic fonts, whereas groff uses normal italic fonts for math.  The
       additional information required by groff is given by the two arguments  to  the  math_fit  macro  in  the
       Metafont  programs  for  the Computer Modern fonts.  In a text font (a font for which math_fit is false),
       Metafont normally ignores these two arguments.  Metafont can be made to put this information into the  GF
       (“generic  font”)  files  it  produces  by  loading  the  following definition after cmbase when creating
       cm.base.
              def ignore_math_fit(expr left_adjustment,right_adjustment) =
                  special "adjustment";
                  numspecial left_adjustment*16/designsize;
                  numspecial right_adjustment*16/designsize;
                  enddef;
       For the EC font family, load the following definition after exbase; consider patching exbase.mf locally.
              def ignore_math_fit(expr left_adjustment,right_adjustment) =
                  ori_special "adjustment";
                  ori_numspecial left_adjustment*16/designsize;
                  ori_numspecial right_adjustment*16/designsize;
                  enddef;
       The only difference from the previous example is the “ori_” prefix to “special” and “numspecial”.  The GF
       file created using this modified cm.base or exbase.mf should be  specified  with  the  -g  option,  which
       should not be given for a font for which math_fit is true.

Options

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

       -g gf-file
              Use  the  gf-file  produced  by  Metafont containing “special” and “numspecial” commands to obtain
              additional font metric information.

       -k skew-char
              The skew character of this font is at position skew-char.  skew-char should be an integer; it  may
              be  given  in  decimal, with a leading 0 in octal, or with a leading 0x in hexadecimal.  Any kerns
              whose second component is skew-char are ignored.

       -s     Add the special directive to the font description file.

Files

       /usr/share/groff/1.23.0/font/devdvi/DESC
              describes the dvi output device.

       /usr/share/groff/1.23.0/font/devdvi/F
              describes the font known as F on device dvi.

       /usr/share/groff/1.23.0/font/devdvi/generate/ec.map
       /usr/share/groff/1.23.0/font/devdvi/generate/msam.map
       /usr/share/groff/1.23.0/font/devdvi/generate/msbm.map
       /usr/share/groff/1.23.0/font/devdvi/generate/tc.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texb.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texex.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texi.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texitt.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texmi.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texr.map
       /usr/share/groff/1.23.0/font/devdvi/generate/texsy.map
       /usr/share/groff/1.23.0/font/devdvi/generate/textex.map
       /usr/share/groff/1.23.0/font/devdvi/generate/textt.map
              map glyph indices in TeX fonts to groff ordinary and special  character  identifiers.   ec.map  is
              used  for  TREC,  TIEC,  TBEC,  TBIEC,  HREC, HIEC, HBEC, HBIEC, CWEC, and CWIEC; msam.map for SA;
              msbm.map for SB; tc.map for TRTC, TITC, TBTC, TBITC, HRTC, HITC, HBTC,  HBITC,  CWTC,  and  CWITC;
              texb.map  for  TB,  HR, HI, HB, and HBI; texex.map for EX; texi.map for TI and TBI; texitt.map for
              CWI; texmi.map for MI; texr.map for TR; texsy.map for S; textex.map for SC; and textt.map for CW.

See also

       groff(1), grodvi(1), groff_font(5)

groff 1.23.0                                      31 March 2024                                      tfmtodit(1)