


TTF2TFM(1)                                             TTF2TFM(1)


NNAAMMEE
       ttf2tfm - build TeX metric files from a TrueType font

SSYYNNOOPPSSIISS
       ttttff22ttffmm _t_t_f_f_i_l_e[_._t_t_f|_._t_t_c] [--cc _c_a_p_s_-_h_e_i_g_h_t_-_f_a_c_t_o_r]
               [--ee _e_x_t_e_n_s_i_o_n_-_f_a_c_t_o_r] [--EE _e_n_c_o_d_i_n_g_-_i_d]
               [--ff _f_o_n_t_-_i_n_d_e_x] [--ll] [--nn] [--NN] [--OO]
               [--pp _i_n_e_n_c_f_i_l_e[_._e_n_c]] [--PP _p_l_a_t_f_o_r_m_-_i_d] [--qq]
               [--rr _o_l_d_-_g_l_y_p_h_n_a_m_e _n_e_w_-_g_l_y_p_h_n_a_m_e]
               [--RR _r_e_p_l_a_c_e_m_e_n_t_-_f_i_l_e[_._r_p_l]] [--ss _s_l_a_n_t_-_f_a_c_t_o_r]
               [--tt _o_u_t_e_n_c_f_i_l_e[_._e_n_c]] [--TT _i_n_o_u_t_e_n_c_f_i_l_e[_._e_n_c]] [--uu]
               [--vv _v_p_l_f_i_l_e[_._v_p_l]] [--VV _s_c_v_p_l_f_i_l_e[_._v_p_l]] [--xx]
               [--yy _v_e_r_t_i_c_a_l_-_s_h_i_f_t_-_f_a_c_t_o_r] [_t_f_m_f_i_l_e[_._t_f_m]]
       ttttff22ttffmm ----vveerrssiioonn | ----hheellpp

DDEESSCCRRIIPPTTIIOONN
       This  program  extracts the metric and kerning information
       of a TrueType font and converts it into metric  files  us-
       able by TeX (quite similar to aaffmm22ttffmm which is part of the
       ddvviippss package; please consult its info files for more  de-
       tails  on  the  various  parameters  (especially  encoding
       files).

       Since a TrueType font often contains more than 256 glyphs,
       some  means  are necessary to map a subset of the TrueType
       glyphs into a TeX font.  To do this,  two  mapping  tables
       are  needed:  the first (called `input' or `raw' encoding)
       maps the TrueType font to a raw  TeX  font  (this  mapping
       table  is used by both ttttff22ttffmm and ttttff22ppkk), and the second
       (called `output' or `virtual' encoding) maps the  raw  TeX
       font  to another (virtual) TeX font, providing all kerning
       and ligature information needed by TeX.

       This two stage mapping has the advantage that one raw font
       can  be  accessed  with various TeX encodings (e.g. T1 and
       OT1) via the virtual font mechanism, and just one PK  file
       is necessary.

       For CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts, a
       different mechanism is provided  (see  SSUUBBFFOONNTT  DDEEFFIINNIITTIIOONN
       FFIILLEESS below).

PPAARRAAMMEETTEERRSS
       Most  of  the command line switch names are the same as in
       aaffmm22ttffmm for convenience.  One or more space characters be-
       tween  an option and its value is mandatory; options can't
       be concatenated.  For historical reasons, the first param-
       eter can _n_o_t be a switch but must be the font name.

       --cc _c_a_p_s_-_h_e_i_g_h_t_-_f_a_c_t_o_r
              The  height  of small caps made with the --VV switch.
              Default value of this real number is 0.8 times  the
              height  of  uppercase  glyphs.   Will be ignored in
              subfont mode.



FreeType version 1.3       15-Aug-1999                          1





TTF2TFM(1)                                             TTF2TFM(1)


       --ee _e_x_t_e_n_s_i_o_n_-_f_a_c_t_o_r
              The extension factor to stretch the characters hor-
              izontally.   Default  value  of  this  real  number
              is 1.0; if less than 1.0, you get a condensed font.

       --EE _e_n_c_o_d_i_n_g_-_i_d
              The  TrueType  encoding  ID.  Default value of this
              non-negative integer is 1.  Will be ignored  if  --NN
              is used.

       --ff _f_o_n_t_-_i_n_d_e_x
              The  font  index in a TrueType Collection.  Default
              is the first font (index 0).  Will be  ignored  for
              ordinary TrueType fonts.  [TrueType collections are
              usually found in some  CJK  fonts;  e.g. the  first
              font  index  specifies glyphs and metrics for hori-
              zontal writing, and the second font index does  the
              same  for  vertical  writing.  TrueType collections
              usually have the extension `.ttc'.]

       --ll     Create ligatures in subfonts between first and sec-
              ond bytes of all the original character codes.  Ex-
              ample:  Character  code 0xABCD  maps  to  character
              position 123  in  subfont 45.   Then  a ligature in
              subfont 45 between position 0xAB and 0xCD  pointing
              to  character 123  will  be produced.  The fonts of
              the Korean HLaTeX package use this  feature.   Will
              be ignored if not in subfont mode.

       --nn     Use  PS  names  (of  glyphs)  of the TrueType font.
              Will be ignored in subfont mode.  Only glyphs  with
              a valid entry in the selected cmap are used.

       --NN     Use only PS names of the TrueType font.  No cmap is
              used, thus the switches --EE and --PP have  no  effect,
              causing a warning message.  Will be ignored in sub-
              font mode.

       --OO     Use octal values for all character codes in the VPL
              file  rather  than names; this is useful for symbol
              or CJK fonts where character names such as `A'  are
              meaningless.

       --pp _i_n_e_n_c_f_i_l_e
              The  input  encoding file name for the TTF->raw TeX
              mapping.  This parameter has  to  be  specified  in
              ttfonts.map  for  successive ttttff22ppkk calls.  Will be
              ignored in subfont mode.

       --PP _p_l_a_t_f_o_r_m_-_i_d
              The TrueType platform ID.  Default  value  of  this
              non-negative  integer  is 3.  Will be ignored if --NN
              is used.




FreeType version 1.3       15-Aug-1999                          2





TTF2TFM(1)                                             TTF2TFM(1)


       --qq     Make ttttff22ttffmm quiet.  It suppresses any information-
              al  output  except warning and error messages.  For
              CJK fonts, the output can get quite  large  if  you
              don't specify this switch.

       --rr _o_l_d_-_g_l_y_p_h_n_a_m_e _n_e_w_-_g_l_y_p_h_n_a_m_e
              Replaces  _o_l_d_-_g_l_y_p_h_n_a_m_e  with  _n_e_w_-_g_l_y_p_h_n_a_m_e.  This
              switch is useful if you want  to  give  an  unnamed
              glyph  (i.e., a glyph which can be represented with
              `.gXXX' or `.cXXX' only) a name or if you  want  to
              rename  an  already existing glyph name.  You can't
              use the `.gXXX' or `.cXXX'  glyph  name  constructs
              for  _n_e_w_-_g_l_y_p_h_n_a_m_e;  multiple occurrences of --rr are
              possible.  If in subfont mode  or  if  no  encoding
              file is specified, this switch is ignored.

       --RR _r_e_p_l_a_c_e_m_e_n_t_-_f_i_l_e
              Use this switch if you have many replacement pairs;
              they can be  collected in a file which should  have
              `.rpl'  as  extension.  The syntax used in such re-
              placement files is simple: Each non-empty line must
              contain  a pair `_o_l_d_-_g_l_y_p_h_n_a_m_e _n_e_w_-_g_l_y_p_h_n_a_m_e' sepa-
              rated by whitespace (without the quotation  marks).
              A  percent sign starts a line comment; you can con-
              tinue a line on the next line with a  backslash  as
              the  last  character.   If in subfont mode or if no
              encoding file is specified, this switch is ignored.

       --ss _s_l_a_n_t_-_f_a_c_t_o_r
              The  obliqueness  factor to slant the font, usually
              much smaller than 1.  Default of this  real  number
              is 0.0; if the value is larger than zero, the char-
              acters slope to the right, otherwise to the left.

       --tt _o_u_t_e_n_c_f_i_l_e
              The output  encoding  file  name  for  the  virtual
              font(s).   Only  characters in the raw TeX font are
              used.  Will be ignored in subfont mode.

       --TT _i_n_o_u_t_e_n_c_f_i_l_e
              This is equivalent to `--pp _i_n_o_u_t_e_n_c_f_i_l_e --tt _i_n_o_u_t_e_n_c_-
              _f_i_l_e'.  Will be ignored in subfont mode.

       --uu     Use  only  those characters specified in the output
              encoding, and no others.  By default, ttttff22ttffmm tries
              to include all characters in the virtual font, even
              those not present in the encoding for  the  virtual
              font (it puts them into otherwise-unused positions,
              rather arbitrarily).  Will be  ignored  in  subfont
              mode.

       --vv _v_p_l_f_i_l_e
              Output  a VPL file in addition to the TFM file.  If
              no output encoding file is specified, ttttff22ttffmm  uses



FreeType version 1.3       15-Aug-1999                          3





TTF2TFM(1)                                             TTF2TFM(1)


              a  default font encoding (cmtt10).  Will be ignored
              in subfont mode.

       --VV _s_c_v_p_l_f_i_l_e
              Same as --vv, but the virtual  font  generated  is  a
              pseudo  small  caps font obtained by scaling upper-
              case letters by 0.8 (resp. the value specified with
              --cc)  to  typeset  lowercase.  This font handles ac-
              cented letters and retains proper kerning.  Will be
              ignored in subfont mode.

       --xx     Rotate  all glyphs by 90 degrees counter-clockwise.
              If no --yy parameter is given, the rotated glyphs are
              shifted down vertically by 0.25em.  Will be ignored
              if not in subfont mode.

       --yy _v_e_r_t_i_c_a_l_-_s_h_i_f_t_-_f_a_c_t_o_r
              Shift down rotated glyphs by the given amount  (the
              unit  is  _e_m).   Ignored  if not in subfont mode or
              glyphs are not rotated.

       ----vveerrssiioonn
              Shows the current version of ttttff22ttffmm and  the  used
              file search library (e.g.  kkppaatthhsseeaa).

       ----hheellpp Shows usage information.

       If  no TFM file name is given, the name of the TTF file is
       used, including the full path and replacing the  extension
       with `.tfm'.

CCMMAAPPSS
       Contrary  to  Type 1  PostScript fonts (but similar to the
       new CID PostScript font format), most TrueType fonts  have
       more  than  one  native mapping table, also called `cmap',
       which maps the (internal) TTF glyph indices to the (exter-
       nal)  TTF  character codes.  Common examples are a mapping
       table to Unicode  encoded  character  positions,  and  the
       standard Macintosh mapping.

       To  specify  a  TrueType mapping table, use the options --PP
       and --EE.  With --PP you specify the platform ID; defined val-
       ues are:

           _p_l_a_t_f_o_r_m              _p_l_a_t_f_o_r_m _I_D _(_p_i_d_)

           Apple Unicode                0
           Macintosh                    1
           ISO                          2
           Microsoft                    3

       The  encoding  ID  depends on the platform.  For pid=0, we
       ignore the --EE parameter (setting it  to  zero)  since  the
       mapping  table  is always Unicode version 2.0.  For pid=1,



FreeType version 1.3       15-Aug-1999                          4





TTF2TFM(1)                                             TTF2TFM(1)


       the following table lists the defined values:

         platform ID = 1

           _s_c_r_i_p_t                _e_n_c_o_d_i_n_g _I_D _(_e_i_d_)

           Roman                        0
           Japanese                     1
           Chinese                      2
           Korean                       3
           Arabic                       4
           Hebrew                       5
           Greek                        6
           Russian                      7
           Roman Symbol                 8
           Devanagari                   9
           Gurmukhi                    10
           Gujarati                    11
           Oriya                       12
           Bengali                     13
           Tamil                       14
           Telugu                      15
           Kannada                     16
           Malayalam                   17
           Sinhalese                   18
           Burmese                     19
           Khmer                       20
           Thai                        21
           Laotian                     22
           Georgian                    23
           Armenian                    24
           Maldivian                   25
           Tibetan                     26
           Mongolian                   27
           Geez                        28
           Slavic                      29
           Vietnamese                  30
           Sindhi                      31
           Uninterpreted               32

       Here are the ISO encoding IDs:

         platform ID = 2

           _e_n_c_o_d_i_n_g              _e_n_c_o_d_i_n_g _I_D _(_e_i_d_)

           ASCII                        0
           ISO 10646                    1
           ISO 8859-1                   2

       And finally, the Microsoft encoding IDs:

         platform ID = 3




FreeType version 1.3       15-Aug-1999                          5





TTF2TFM(1)                                             TTF2TFM(1)


           _e_n_c_o_d_i_n_g              _e_n_c_o_d_i_n_g _I_D _(_e_i_d_)

           Symbol                       0
           Unicode 2.0                  1
           Shift JIS                    2
           GB 2312 (1980)               3
           Big 5                        4
           KSC 5601 (Wansung)           5
           KSC 5601 (Johab)             6

       The program will abort if you  specify  an  invalid  plat-
       form/encoding  ID  pair.   It  will then show the possible
       pid/eid pairs.  Please note that most fonts have  at  most
       two  or  three cmaps, usually corresponding to the pid/eid
       pairs (1,0), (3,0), or (3,1) in case of Latin based fonts.
       Valid  Microsoft  fonts should have a (3,1) mapping table,
       but some fonts exist (mostly Asian  fonts)  which  have  a
       (3,1)  cmap  not  encoded in Unicode.  The reason for this
       strange behavior is the fact that some MS Windows versions
       will  reject fonts having a non-(3,1) cmap (since all non-
       Unicode Microsoft encoding IDs are  for  Asian  MS Windows
       versions).

       The --PP and --EE options of ttttff22ttffmm must be equally specified
       for ttttff22ppkk; the corresponding  parameters  in  ttfonts.map
       are `Pid' and `Eid', respectively.

       The default pid/eid pair is (3,1).

       Similarly,  an  --ff option must be specified as `Fontindex'
       parameter in ttfonts.map.

       If you use the --NN switch, all cmaps are ignored, using on-
       ly  the PostScript names in the TrueType font.  The corre-
       sponding option in ttfonts.map is `PS=Only'.  If  you  use
       the  --nn switch, the default glyph names built into ttttff22ttffmm
       are replaced with the PS glyph names found  in  the  font.
       In  many cases this is not what you want because the glyph
       names in the font are  often  incorrect  or  non-standard.
       The corresponding option in ttfonts.map is `PS=Yes'.

       Single  replacement  glyph names specified with --rr must be
       given directly  as  `_o_l_d_-_g_l_y_p_h_n_a_m_e=_n_e_w_-_g_l_y_p_h_n_a_m_e';  --RR  is
       equivalent to the `Replacement' option.

IINNPPUUTT AANNDD OOUUTTPPUUTT EENNCCOODDIINNGGSS
       You  must  specify  the encoding vectors from the TrueType
       font to the raw TeX font and from the raw TeX font to  the
       virtual  TeX  font  exactly  as with aaffmm22ttffmm, but you have
       more possibilities to address the character codes.   [With
       `encoding vector' a mapping table with 256 entries in form
       of a PostScript vector is meant; see the file  T1-WGL4.enc
       of  this  package for an example.]  With aaffmm22ttffmm, you must
       access   each   glyph   with   its   Adobe   glyph   name,



FreeType version 1.3       15-Aug-1999                          6





TTF2TFM(1)                                             TTF2TFM(1)


       e.g. `/quotedsingle' or `/Acircumflex'.  This has been ex-
       tended with ttttff22ttffmm; now you can (and sometimes must)  ac-
       cess  the  code  points  and/or glyphs directly, using the
       following syntax for specifying the character position  in
       decimal,  octal,  or  hexadecimal  notation: `/.c_<_d_e_c_i_m_a_l_-
       _n_u_m_b_e_r_>',  `/.c0_<_o_c_t_a_l_-_n_u_m_b_e_r_>',  or   `/.c0x_<_h_e_x_a_d_e_c_i_m_a_l_-
       _n_u_m_b_e_r_>'.   Examples:  `/.c72',  `/.c0646', `/.c0x48'.  To
       access a glyph index directly, using the character `g' in-
       stead  of  `c'  in the just introduced notation.  Example:
       `/.g0x32'.  [Note: The `.cXXX' notation makes no sense  if
       --NN is used.]

       For pid/eid pairs (1,0) and (3,1), both ttttff22ttffmm and ttttff22ppkk
       recognize built-in default Adobe glyph names;  the  former
       follows  the names given in Appendix E of the book `Inside
       Macintosh', volume 6, the latter uses the names  given  in
       the TrueType Specification (WGL4, a Unicode subset).  Note
       that Adobe names for a given glyph are  often  not  unique
       and  do  sometimes  differ,  e.g.,  many PS fonts have the
       glyph `mu', whereas this glyph is called `mu1' in the WGL4
       character set to distinguish it from the real Greek letter
       mu.  Be also aware that OpenType (i.e. TrueType 2.0) fonts
       use an updated WGL4 table; we use the data from the latest
       published TrueType specification  (1.66).   You  can  find
       those mapping tables in the source code file ttfenc.c.

       On  the  other  hand, the switches --nn and --NN makes ttttff22ttffmm
       read in and use the PostScript names in the TrueType  font
       itself (stored in the `post' table) instead of the default
       Adobe glyph names.

       Use the --rr switch to remap single glyph names  and  --RR  to
       specify a file containing replacement glyph name pairs.

       If   you   don't  select  an  input  encoding,  the  first
       256 glyphs of the TrueType font with a valid entry in  the
       selected  cmap will be mapped to the TeX raw font (without
       the --qq option, ttttff22ttffmm prints this mapping table to  stan-
       dard  output), followed by all glyphs not yet addressed in
       the selected cmap.  However,  some  code  points  for  the
       (1,0) pid/eid pair are omitted since they do not represent
       glyphs useful for TeX: 0x00 (null), 0x08 (backspace), 0x09
       (horizontal  tabulation), 0x0d (carriage return), and 0x1d
       (group separator).  The  `invalid  character'  with  glyph
       index 0 will be omitted too.

       If  you  select the --NN switch, the first 256 glyphs of the
       TrueType font with a valid PostScript name will be used in
       case  no  input encoding is specified.  Again, some glyphs
       are omitted:  `.notdef', `.null', and  `nonmarkingreturn'.

       If  you don't select an  output encoding, ttttff22ttffmm uses the
       same mapping table as aaffmm22ttffmm would use (you can  find  it
       in  the  source code file texenc.c); it corresponds to TeX



FreeType version 1.3       15-Aug-1999                          7





TTF2TFM(1)                                             TTF2TFM(1)


       typewriter text.  Unused positions (either caused by empty
       code  points in the mapping table or missing glyphs in the
       TrueType font) will be filled  (rather  arbitrarily)  with
       characters present in the input encoding but not specified
       in the output encoding  (without  the  --qq  option  ttttff22ttffmm
       prints the final output encoding to standard output).  Use
       the --uu option if you want only glyphs in the virtual  font
       which are defined in the output encoding file, and nothing
       more.

       One feature missing in aaffmm22ttffmm has  been  added  which  is
       needed  by  the  T1  encoding:  ttttff22ttffmm will construct the
       glyph `Germandbls' (by simply concatenating to `S' glyphs)
       even  for  normal  fonts  if  possible.  It appears in the
       glyph list as the last  item,  marked  with  an  asterisk.
       Since this isn't a real glyph it will be available only in
       the virtual font.

       For both input and output encoding, an empty code position
       is represented by the glyph name `/.notdef'.

       In  encoding files, you can use `\' as the final character
       of a line to indicate that the input is continued  on  the
       next  line.  The backslash and the following newline char-
       acter will be removed.


SSUUBBFFOONNTT DDEEFFIINNIITTIIOONN FFIILLEESS
       CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usual-
       ly  contain  several thousand glyphs; to use them with TeX
       it is necessary to split such large fonts  into  subfonts.
       Subfont  definition  files  (usually  having the extension
       `.sfd') are a simple means to do this smoothly.

       A subfont file name usually consists of a prefix,  a  sub-
       font  infix, and a postfix (which is empty in most cases),
       e.g.

         ntukai23 -> prefix: ntukai, infix: 23, postfix: (empty)

       Here the syntax of a line in an SFD file,  describing  one
       subfont:

       _<_w_h_i_t_e_s_p_a_c_e_> _<_i_n_f_i_x_> _<_w_h_i_t_e_s_p_a_c_e_> _<_r_a_n_g_e_s_> _<_w_h_i_t_e_s_p_a_c_e_>


       _<_i_n_f_i_x_> :=
              anything  except whitespace.  It's best to use only
              alphanumerical characters.

       _<_w_h_i_t_e_s_p_a_c_e_> :=
              space, formfeed, carriage  return,  horizontal  and
              vertical tabs -- no newline characters.




FreeType version 1.3       15-Aug-1999                          8





TTF2TFM(1)                                             TTF2TFM(1)


       _<_r_a_n_g_e_s_> :=
              _<_r_a_n_g_e_s_> _<_w_h_i_t_e_s_p_a_c_e_> _<_c_o_d_e_p_o_i_n_t_> |
              _<_r_a_n_g_e_s_> _<_w_h_i_t_e_s_p_a_c_e_> _<_r_a_n_g_e_> |
              _<_r_a_n_g_e_s_> _<_w_h_i_t_e_s_p_a_c_e_> _<_o_f_f_s_e_t_> _<_w_h_i_t_e_s_p_a_c_e_> _<_r_a_n_g_e_>

       _<_c_o_d_e_p_o_i_n_t_> :=
              _<_n_u_m_b_e_r_>

       _<_r_a_n_g_e_> :=
              _<_n_u_m_b_e_r_> `_' _<_n_u_m_b_e_r_>

       _<_o_f_f_s_e_t_> :=
              _<_n_u_m_b_e_r_> `:'

       _<_n_u_m_b_e_r_> :=
              hexadecimal (prefix `0x'), decimal, or octal  (pre-
              fix `0')

       A  line can be continued on the next line with a backslash
       ending the line.  The ranges  must  not  overlap;  offsets
       have to be in the range 0-255.

       Example:

         The line

           03   10: 0x2349 0x2345_0x2347

         assigns  to the code positions 10, 11, 12, and 13 of the
         subfont  having  the  infix  `03'  the  character  codes
         0x2349, 0x2345, 0x2346, and 0x2347 respectively.

       The  SFD  files in the distribution are customized for the
       CJK package for LaTeX.

       You have to embed the SFD file name into the TFM font name
       (at  the  place where the infix will appear) surrounded by
       two `@' signs, on the command line  resp. the  ttfonts.map
       file; both ttttff22ttffmm and ttttff22ppkk switch then to subfont mode.

       Subfont mode disables the options --nn, --NN, --pp,  --rr, --RR, --tt,
       --TT, --uu, --vv,  and  --VV for ttttff22ttffmm; similarly, no `Encoding'
       or `Replacement'  parameter  is  allowed  in  ttfonts.map.
       Single replacement glyph names are ignored too.

       ttttff22ttffmm will create all subfont TFM files specified in the
       SFD files (provided the subfont contains  glyphs)  in  one
       run.

       Example:

         The call

           ttf2tfm ntukai.ttf ntukai@/usr/local/lib/ttf2tfm/Big5@



FreeType version 1.3       15-Aug-1999                          9





TTF2TFM(1)                                             TTF2TFM(1)


         will use /usr/local/lib/ttf2tfm/Big5.sfd, producing  _a_l_l
         subfont files ntukai01.tfm, ntukai02.tfm, etc.

RREETTUURRNN VVAALLUUEE
       ttf2tfm  returns  0 on success and 1 on error; warning and
       error messages are written to standard error.

SSOOMMEE NNOOTTEESS OONN FFIILLEE SSEEAARRCCHHIINNGG
       Both ttttff22ppkk and ttttff22ttffmm use either the kkppaatthhsseeaa, eemmtteexxddiirr,
       or  MMiiKKTTeeXX library for searching files (eemmtteexxddiirr will work
       only on operating systems which have  an  MS-DOSish  back-
       ground, i.e.  MS-DOS, OS/2, Windows; MMiiKKTTeeXX is specific to
       MS Windows).

       As a last resort, both programs can be compiled without  a
       search  library;  the  searched  files must be then in the
       current directory or specified with a path.   Default  ex-
       tensions  will  be  appended also (with the exception that
       only `.ttf' is appended and not `.ttc').

       KPATHSEA

       Please note that older versions of kkppaatthhsseeaa (<3.2) have no
       special  means  to  seach  for  TrueType fonts and related
       files, thus we use the paths for PostScript related stuff.
       The  actual  version of kpathsea is displayed on screen if
       you call either ttttff22ppkk or ttttff22ttffmm with the ----vveerrssiioonn  com-
       mand line switch.

       Here  is  a  table  of the file type and the corresponding
       kkppaatthhsseeaa variables.  TTF2PKINPUTS  and  TTF2TFMINPUTS  are
       program   specific  environment  variables  introduced  in
       kkppaatthhsseeaa version 3.2:

           .ttf and .ttc       TTFONTS
           ttfonts.map         TTF2PKINPUTS
           .enc                TTF2PKINPUTS, TTF2TFMINPUTS
           .rpl                TTF2PKINPUTS, TTF2TFMINPUTS
           .tfm                TFMFONTS
           .sfd                TTF2PKINPUTS, TTF2TFMINPUTS

       And here the same for pre-3.2-versions of kkppaatthhsseeaa::

           .ttf and .ttc       T1FONTS
           ttfonts.map         TEXCONFIG
           .enc                TEXPSHEADERS
           .rpl                TEXPSHEADERS
           .tfm                TFMFONTS
           .sfd                TEXPSHEADERS

       Finally, the same for pre-3.0-versions (as  used  e.g.  in
       teTeX 0.4):

           .ttf and .ttc       DVIPSHEADERS



FreeType version 1.3       15-Aug-1999                         10





TTF2TFM(1)                                             TTF2TFM(1)


           ttfonts.map         TEXCONFIG
           .enc                DVIPSHEADERS
           .rpl                DVIPSHEADERS
           .tfm                TFMFONTS
           .sfd                DVIPSHEADERS

       Please  consult  the info files of kkppaatthhsseeaa for details on
       these variables.  The decision whether to use the  old  or
       the new scheme will be done during compilation.

       You  should  set  the  TEXMFCNF  variable to the directory
       where your texmf.cnf configuration file resides.

       Here is the proper command to find out to  which  value  a
       kkppaatthhsseeaa  variable  is set (we use TTFONTS as an example).
       This is especially useful  if  a  variable  isn't  set  in
       texmf.cnf  or in the environment, thus pointing to the de-
       fault value which is hard-coded into the kkppaatthhsseeaa library.

         kpsewhich -progname=ttf2tfm -expand-var='$TTFONTS'

       We  select  the  program name also since it is possible to
       specify variables which are searched only  for  a  certain
       program -- in our example it would be TTFONTS.ttf2tfm.

       A similar but not identical method is to say

         kpsewhich -progname=ttf2tfm -show-path='truetype fonts'

       [A  full  list  of  format types can be obtained by saying
       `kpsewhich --help' on the command line prompt.]   This  is
       exactly the how ttttff22ttffmm (and ttttff22ppkk) search for files; the
       disadvantage is that all variables are expanded which  can
       cause very long strings.

       EMTEXDIR

       Here  the  list  of  suffixes  and its related environment
       variables to be set in autoexec.bat (resp.  in  config.sys
       for OS/2):

           .ttf and .ttc       TTFONTS
           ttfonts.map         TTFCFG
           .enc                TTFCFG
           .rpl                TTFCFG
           .tfm                TEXTFM
           .sfd                TTFCFG

       If  one  of  the variables isn't set, a warning message is
       emitted.  The current directory will always  be  searched.
       As  usual,  one  exclamation  mark appended to a directory
       path causes subdirectories one level deep to be  searched,
       two  exclamation  marks  causes  all  subdirectories to be
       searched.  Example:



FreeType version 1.3       15-Aug-1999                         11





TTF2TFM(1)                                             TTF2TFM(1)


         TTFONTS=c:\fonts\truetype!!;d:\myfonts\truetype!

       Constructions like `c:\fonts!!\truetype' aren't  possible.

       MIKTEX

       Both  ttttff22ttffmm  and  ttttff22ppkk have been fully integrated into
       MMiiKKTTeeXX.  Please refer to the documentation of  MMiiKKTTeeXX  for
       more details on file searching.

PPRROOBBLLEEMMSS
       Most  vvppttoovvff  implementations allow only 100 bytes for the
       TFM header (the limit is 1024 in  the  TFM  file  itself):
       8 bytes  for  checksum  and  design size, 40 bytes for the
       family name, 20 bytes for the encoding, and 4 bytes for  a
       face byte.  There remain only 28 bytes for some additional
       information which is used by ttttff22ttffmm for an identification
       string  (which is essentially a copy of the command line),
       and this limit is always exceeded.

       The  optimal  solution  is  to  increase  the   value   of
       _m_a_x___h_e_a_d_e_r___b_y_t_e_s  in  the  file  vptovf.web  (and probably
       pltotf.web too) to, say, 400  and  recompile  vvppttoovvff  (and
       ppllttoottff).   Otherwise you'll get some (harmless) error mes-
       sages like

         This HEADER index is too big for my present table size

       which can be safely ignored.

SSEEEE AALLSSOO
       ttttff22ppkk(1), aaffmm22ttffmm(1), vvppttoovvff(1),
       the info pages for ddvviippss and kkppaatthhsseeaa

AAVVAAIILLAABBIILLIITTYY
       ttttff22ttffmm is part of the FreeType package,  a  high  quality
       TrueType rendering library.

AAUUTTHHOORRSS
       Werner LEMBERG <wl@gnu.org>
       Frdric LOYER <loyer@ensta.fr>
















FreeType version 1.3       15-Aug-1999                         12


