4.4BSD/usr/share/man/cat5/groff_font.0




GROFF_FONT(@MAN5EXT@)  BSD Reference Manual GROFF_FONT(@MAN5EXT@)


NNAAMMEE
       groff_font  -  format of groff device and font description
       files

DDEESSCCRRIIPPTTIIOONN
       The groff font format is roughly a superset of the ditroff
       font  format.  Unlike the ditroff font format, there is no
       associated binary format.  The font files for device  _n_a_m_e
       are stored in a directory ddeevv_n_a_m_e_.  There are two types of
       file: a device description file called DDEESSCC and  for  each
       font  _F a font file called _F.  These are text files; there
       is no associated binary format.

   DDEESSCC ffiillee ffoorrmmaatt
       The DESC file can contain the following types of line:

       rreess _n  There are _n machine units per inch.

       hhoorr _n  The horizontal resolution is _n machine units.

       vveerrtt _n The vertical resolution is _n machine units.

       ssiizzeessccaallee _n
              The scale factor for pointsizes.  By  default  this
              has a value of 1.  One _s_c_a_l_e_d _p_o_i_n_t is equal to one
              point/_n.  The arguments to the uunniittwwiiddtthh and  ssiizzeess
              commands are given in scaled points.

       uunniittwwiiddtthh _n
              Quantities  in  the font files are given in machine
              units for  fonts  whose  point  size  is  _n  scaled
              points.

       ttccoommmmaanndd
              This  means that the postprocessor can handle the tt
              and uu output commands.

       ssiizzeess _s_1 _s_2_._._._s_n 00
              This  means  that  the  device  has  fonts  at  _s_1,
              _s_2,..._s_n  scaled points.  The list of sizes must be
              terminated by a 00.  Each ss_i can also be a range  of
              sizes  _m-_n.  The list can extend over more than one
              line.

       ssttyylleess _S_1 _S_2_._._._S_m
              The first _m font positions will be associated  with
              styles _S_1_._._._S_m.

       ffoonnttss _n _F_1 _F_2 _F_3_._._._F_n
              Fonts _F_1_._._._F_n will be mounted in the font positions
              _m+1,...,_m+_n where _m is the number of styles.   This



Groff Version @VERSION@      @MDATE@                            1








GROFF_FONT(@MAN5EXT@)  BSD Reference Manual GROFF_FONT(@MAN5EXT@)


              command may extend over more than one line.  A font
              name of 00 will cause no font to be mounted  on  the
              corresponding font position.

       ffaammiillyy _f_a_m
              The default font family is _f_a_m.

       cchhaarrsseett
              This  line and everything following in the file are
              ignored.  It is allowed for the sake  of  backwards
              compatibility.

       The  res, unitwidth, fonts and sizes lines are compulsory.
       Other commands are ignored by ttrrooffff but  may  be  used  by
       postprocessors  to  store  arbitrary information about the
       device in the DESC file.

   FFoonntt ffiillee ffoorrmmaatt
       A font file has two  sections.  The  first  section  is  a
       sequence  of  lines  each  containing  a sequence of blank
       delimited words; the first word in the line is a key,  and
       subsequent words give a value for that key.

       nnaammee _F The name of the font is _F.

       ssppaacceewwiiddtthh _n
              The normal width of a space is _n.

       ssllaanntt _n
              The  characters  of  the  font  have  a  slant of _n
              degrees. (Positive means forward.)

       lliiggaattuurreess _l_i_g_1 _l_i_g_2_._._._l_i_g_n [00]
              Characters _l_i_g_1, _l_i_g_2,...,_l_i_g_n are ligatures;  pos-
              sible  ligatures are ffff, ffii, ffll and ffffll.  For back-
              wards compatibiliy, the list of  ligatures  may  be
              terminated with a 00..  The list of ligatures may not
              extend over more than one line.

       ssppeecciiaall
              The font is _s_p_e_c_i_a_l; this means that when a charac-
              ter is requested that is not present in the current
              font, it will be searched for in any special  fonts
              that are mounted.

       Other  commands  are  ignored  by ttrrooffff but may be used by
       postprocessors to store arbitrary  information  about  the
       font in the font file.

       The  first  section  can contain comments which start with
       the ## character and extend to the end of a line.



Groff Version @VERSION@      @MDATE@                            2








GROFF_FONT(@MAN5EXT@)  BSD Reference Manual GROFF_FONT(@MAN5EXT@)


       The second section contains one or  two  subsections.   It
       must  contain a _c_h_a_r_s_e_t subsection and it may also contain
       a _k_e_r_n_p_a_i_r_s subsection.  These subsections can  appear  in
       any  order.   Each subsection starts with a word on a line
       by itself.

       The word  cchhaarrsseett  starts  the  charset  subsection.   The
       cchhaarrsseett  line  is  followed  by a sequence of lines.  Each
       line gives information for one  character.   A  line  com-
       prises a number of fields separated by blanks or tabs. The
       format is

              _n_a_m_e _m_e_t_r_i_c_s _t_y_p_e _c_o_d_e _c_o_m_m_e_n_t

       _n_a_m_e identifies the character: if _n_a_m_e is a single charac-
       ter  _c then it corresponds to the groff input character _c;
       if it is of the form \\_c where c  is  a  single  character,
       then  it corresponds to the groff input character \\_c; oth-
       erwise it corresponds to the groff input character \\[[_n_a_m_e]]
       (if  it  is exactly two characters _x_x it can be entered as
       \\((_x_x.)  Groff supports eight bit characters; however  some
       utilities has difficulties with eight bit characters.  For
       this reason, there is a convention that the name cchhaarr_n  is
       equivalent  to the single character whose code is _n _.  For
       example, cchhaarr116633 would be equivalent to the character with
       code 163 which is the pounds sterling sign in ISO Latin-1.
       The name ------ is special and indicates that  the  character
       is  unnamed;  such characters can only be used by means of
       the \\NN escape sequence in ttrrooffff.

       The _t_y_p_e field gives the character type:

       1      means the character has an descender, for  example,
              p;

       2      means  the  character has an ascender, for example,
              b;

       3      means the character has  both  an  ascender  and  a
              descender, for example, (.

       The _c_o_d_e field gives the code which the postprocessor uses
       to print the character.  The character can also  be  input
       to  groff  using  this  code  by  means  of  the \\NN escape
       sequence.  The code can be any integer.  If it starts with
       a  00 it will be interpreted as octal; if it starts with 00xx
       or 00XX it will be intepreted as hexdecimal.

       Anything on the line after the code field will be ignored.

       The _m_e_t_r_i_c_s field has the form:



Groff Version @VERSION@      @MDATE@                            3








GROFF_FONT(@MAN5EXT@)  BSD Reference Manual GROFF_FONT(@MAN5EXT@)


              _w_i_d_t_h[,,_h_e_i_g_h_t[,,_d_e_p_t_h[,,_i_t_a_l_i_c___c_o_r_r_e_c_t_i_o_n[,,_l_e_f_t___i_t_a_l_i_c___c_o_r_r_e_c_t_i_o_n[,,_s_u_b_s_c_r_i_p_t___c_o_r_r_e_c_t_i_o_n]]]]]

       There must not be  any  spaces  between  these  subfields.
       Missing  subfields are assumed to be 0.  The subfields are
       all decimal integers.  Since there is no associated binary
       format,  these values are not required to fit into a vari-
       able of type cchhaarr as they are in ditroff.  The _w_i_d_t_h  sub-
       fields  gives the width of the character.  The _h_e_i_g_h_t sub-
       field gives the height of the character (upwards is  posi-
       tive);  if a character does not extend above the baseline,
       it should be given a zero height, rather than  a  negative
       height.  The _d_e_p_t_h subfield gives the depth of the charac-
       ter, that is, the distance below the  lowest  point  below
       the  baseline to which the character extends (downwards is
       positive); if a character does not extend below above  the
       baseline,  it  should be given a zero depth, rather than a
       negative depth.  The _i_t_a_l_i_c___c_o_r_r_e_c_t_i_o_n subfield gives  the
       amount  of  space that should be added after the character
       when it is immediately to be followed by a character  from
       a  roman  font.  The _l_e_f_t___i_t_a_l_i_c___c_o_r_r_e_c_t_i_o_n subfield gives
       the amount of space that should be added before the  char-
       acter when it is immediately to be preceded by a character
       from a roman font.   The  _s_u_b_s_c_r_i_p_t___c_o_r_r_e_c_t_i_o_n  gives  the
       amount  of  space  that  should be added after a character
       before adding a subscript.  This should be less  than  the
       italic correction.

       A line in the charset section can also have the format

              _n_a_m_e ""

       This  indicates  that  _n_a_m_e  is  just another name for the
       character mentioned in the preceding line.

       The word kkeerrnnppaaiirrss starts  the  kernpairs  section.   This
       contains a sequence of lines of the form:

              _c_1 _c_2 _n

       This  means that when character _c_1 appears next to charac-
       ter _c_2 the space between them should be  increased  by  _n.
       Most  entries  in  kernpairs  section will have a negative
       value for _n.

FFIILLEESS
       @@FFOONNTTDDIIRR@@//ddeevv_n_a_m_e//DDEESSCC   Device   description   file   for
                                device _n_a_m_e.

       @@FFOONNTTDDIIRR@@//ddeevv_n_a_m_e//_F      Font  file  for  font _F of device
                                _n_a_m_e.




Groff Version @VERSION@      @MDATE@                            4








GROFF_FONT(@MAN5EXT@)  BSD Reference Manual GROFF_FONT(@MAN5EXT@)


SSEEEE AALLSSOO
       ggrrooffff__oouutt(@MAN5EXT@), @@gg@@ttrrooffff(@MAN1EXT@).




















































Groff Version @VERSION@      @MDATE@                            5