home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.5 / groff_font.5 < prev    next >
Encoding:
Text File  |  1995-07-26  |  13.3 KB  |  265 lines

  1.  
  2.  
  3.  
  4.      GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))  GGGGrrrrooooffffffff VVVVeeeerrrrssssiiiioooonnnn 1111....00009999 ((((00004444 MMMMaaaarrrrcccchhhh 1111999999994444))))   GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           groff_font - format of groff device and font description
  10.           files
  11.  
  12.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  13.           The groff font format is roughly a superset of the ditroff
  14.           font format.  Unlike the ditroff font format, there is no
  15.           associated binary format.  The font files for device _n_a_m_e
  16.           are stored in a directory ddddeeeevvvv_n_a_m_e.  There are two types of
  17.           file: a device description file called DDDDEEEESSSSCCCC and for each
  18.           font _F a font file called _F.  These are text files; there is
  19.           no associated binary format.
  20.  
  21.         DDDDEEEESSSSCCCC ffffiiiilllleeee ffffoooorrrrmmmmaaaatttt
  22.           The DESC file can contain the following types of line:
  23.  
  24.           rrrreeeessss _n
  25.                There are _n machine units per inch.
  26.  
  27.           hhhhoooorrrr _n
  28.                The horizontal resolution is _n machine units.
  29.  
  30.           vvvveeeerrrrtttt _n
  31.                The vertical resolution is _n machine units.
  32.  
  33.           ssssiiiizzzzeeeessssccccaaaalllleeee _n
  34.                The scale factor for pointsizes.  By default this has a
  35.                value of 1.  One _s_c_a_l_e_d _p_o_i_n_t is equal to one point/_n.
  36.                The arguments to the uuuunnnniiiittttwwwwiiiiddddtttthhhh and ssssiiiizzzzeeeessss commands are
  37.                given in scaled points.
  38.  
  39.           uuuunnnniiiittttwwwwiiiiddddtttthhhh _n
  40.                Quantities in the font files are given in machine units
  41.                for fonts whose point size is _n scaled points.
  42.  
  43.           ttttccccoooommmmmmmmaaaannnndddd
  44.                This means that the postprocessor can handle the tttt and
  45.                uuuu output commands.
  46.  
  47.           ssssiiiizzzzeeeessss _s_1 _s_2..._s_n 0000
  48.                This means that the device has fonts at _s_1, _s_2,..._s_n
  49.                scaled points.  The list of sizes must be terminated by
  50.                a 0000.  Each ssss_i can also be a range of sizes _m-_n.  The
  51.                list can extend over more than one line.
  52.  
  53.           ssssttttyyyylllleeeessss _S_1 _S_2..._S_m
  54.                The first _m font positions will be associated with
  55.                styles _S_1..._S_m.
  56.  
  57.           ffffoooonnnnttttssss _n _F_1 _F_2 _F_3..._F_n
  58.                Fonts _F_1..._F_n will be mounted in the font positions
  59.                _m+1,...,_m+_n where _m is the number of styles.  This
  60.  
  61.  
  62.  
  63.      Page 1                                           (printed 7/8/94)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))  GGGGrrrrooooffffffff VVVVeeeerrrrssssiiiioooonnnn 1111....00009999 ((((00004444 MMMMaaaarrrrcccchhhh 1111999999994444))))   GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))
  71.  
  72.  
  73.  
  74.                command may extend over more than one line.  A font
  75.                name of 0000 will cause no font to be mounted on the
  76.                corresponding font position.
  77.  
  78.           ffffaaaammmmiiiillllyyyy _f_a_m
  79.                The default font family is _f_a_m.
  80.  
  81.           cccchhhhaaaarrrrsssseeeetttt
  82.                This line and everything following in the file are
  83.                ignored.  It is allowed for the sake of backwards
  84.                compatibility.
  85.  
  86.           The res, unitwidth, fonts and sizes lines are compulsory.
  87.           Other commands are ignored by ttttrrrrooooffffffff but may be used by
  88.           postprocessors to store arbitrary information about the
  89.           device in the DESC file.
  90.  
  91.         FFFFoooonnnntttt ffffiiiilllleeee ffffoooorrrrmmmmaaaatttt
  92.           A font file has two sections. The first section is a
  93.           sequence of lines each containing a sequence of blank
  94.           delimited words; the first word in the line is a key, and
  95.           subsequent words give a value for that key.
  96.  
  97.           nnnnaaaammmmeeee _F
  98.                The name of the font is _F.
  99.  
  100.           ssssppppaaaacccceeeewwwwiiiiddddtttthhhh _n
  101.                The normal width of a space is _n.
  102.  
  103.           ssssllllaaaannnntttt _n
  104.                The characters of the font have a slant of _n degrees.
  105.                (Positive means forward.)
  106.  
  107.           lllliiiiggggaaaattttuuuurrrreeeessss _l_i_g_1 _l_i_g_2..._l_i_g_n [0000]
  108.                Characters _l_i_g_1, _l_i_g_2,...,_l_i_g_n are ligatures; possible
  109.                ligatures are ffffffff, ffffiiii, ffffllll and ffffffffllll.  For backwards
  110.                compatibility, the list of ligatures may be terminated
  111.                with a 0000....  The list of ligatures may not extend over
  112.                more than one line.
  113.  
  114.           ssssppppeeeecccciiiiaaaallll
  115.                The font is _s_p_e_c_i_a_l; this means that when a character
  116.                is requested that is not present in the current font,
  117.                it will be searched for in any special fonts that are
  118.                mounted.
  119.  
  120.           Other commands are ignored by ttttrrrrooooffffffff but may be used by
  121.           postprocessors to store arbitrary information about the font
  122.           in the font file.
  123.  
  124.           The first section can contain comments which start with the
  125.           #### character and extend to the end of a line.
  126.  
  127.  
  128.  
  129.      Page 2                                           (printed 7/8/94)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))  GGGGrrrrooooffffffff VVVVeeeerrrrssssiiiioooonnnn 1111....00009999 ((((00004444 MMMMaaaarrrrcccchhhh 1111999999994444))))   GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))
  137.  
  138.  
  139.  
  140.           The second section contains one or two subsections.  It must
  141.           contain a _c_h_a_r_s_e_t subsection and it may also contain a
  142.           _k_e_r_n_p_a_i_r_s subsection.  These subsections can appear in any
  143.           order.  Each subsection starts with a word on a line by
  144.           itself.
  145.  
  146.           The word cccchhhhaaaarrrrsssseeeetttt starts the charset subsection.  The cccchhhhaaaarrrrsssseeeetttt
  147.           line is followed by a sequence of lines.  Each line gives
  148.           information for one character.  A line comprises a number of
  149.           fields separated by blanks or tabs. The format is
  150.  
  151.                _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
  152.  
  153.           _n_a_m_e identifies the character: if _n_a_m_e is a single character
  154.           _c then it corresponds to the groff input character _c; if it
  155.           is of the form \\\\_c where c is a single character, then it
  156.           corresponds to the groff input character \\\\_c; otherwise it
  157.           corresponds to the groff input character \\\\[[[[_n_a_m_e]]]] (if it is
  158.           exactly two characters _x_x it can be entered as \\\\((((_x_x.) Groff
  159.           supports eight bit characters; however some utilities has
  160.           difficulties with eight bit characters.  For this reason,
  161.           there is a convention that the name cccchhhhaaaarrrr_n is equivalent to
  162.           the single character whose code is _n . For example, cccchhhhaaaarrrr111166663333
  163.           would be equivalent to the character with code 163 which is
  164.           the pounds sterling sign in ISO Latin-1.  The name ------------ is
  165.           special and indicates that the character is unnamed; such
  166.           characters can only be used by means of the \\\\NNNN escape
  167.           sequence in ttttrrrrooooffffffff.
  168.  
  169.           The _t_y_p_e field gives the character type:
  170.  
  171.           1    means the character has an descender, for example, p;
  172.  
  173.           2    means the character has an ascender, for example, b;
  174.  
  175.           3    means the character has both an ascender and a
  176.                descender, for example, (.
  177.  
  178.           The _c_o_d_e field gives the code which the postprocessor uses
  179.           to print the character.  The character can also be input to
  180.           groff using this code by means of the \\\\NNNN escape sequence.
  181.           The code can be any integer.  If it starts with a 0000 it will
  182.           be interpreted as octal; if it starts with 0000xxxx or 0000XXXX it will
  183.           be intepreted as hexadecimal.
  184.  
  185.           Anything on the line after the code field will be ignored.
  186.  
  187.           The _m_e_t_r_i_c_s field has the form:
  188.  
  189.                _w_i_d_t_h[,,,,_h_e_i_g_h_t[,,,,_d_e_p_t_h[,,,,
  190.  
  191.           There must not be any spaces between these subfields.
  192.  
  193.  
  194.  
  195.      Page 3                                           (printed 7/8/94)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))  GGGGrrrrooooffffffff VVVVeeeerrrrssssiiiioooonnnn 1111....00009999 ((((00004444 MMMMaaaarrrrcccchhhh 1111999999994444))))   GGGGRRRROOOOFFFFFFFF____FFFFOOOONNNNTTTT((((5555))))
  203.  
  204.  
  205.  
  206.           Missing subfields are assumed to be 0.  The subfields are
  207.           all decimal integers.  Since there is no associated binary
  208.           format, these values are not required to fit into a variable
  209.           of type cccchhhhaaaarrrr as they are in ditroff.  The _w_i_d_t_h subfields
  210.           gives the width of the character.  The _h_e_i_g_h_t subfield gives
  211.           the height of the character (upwards is positive); if a
  212.           character does not extend above the baseline, it should be
  213.           given a zero height, rather than a negative height.  The
  214.           _d_e_p_t_h subfield gives the depth of the character, that is,
  215.           the distance below the lowest point below the baseline to
  216.           which the character extends (downwards is positive); if a
  217.           character does not extend below above the baseline, it
  218.           should be given a zero depth, rather than a negative depth.
  219.           The _i_t_a_l_i_c__c_o_r_r_e_c_t_i_o_n subfield gives the amount of space
  220.           that should be added after the character when it is
  221.           immediately to be followed by a character from a roman font.
  222.           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
  223.           space that should be added before the character when it is
  224.           immediately to be preceded by a character from a roman font.
  225.           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
  226.           should be added after a character before adding a subscript.
  227.           This should be less than the italic correction.
  228.  
  229.           A line in the charset section can also have the format
  230.  
  231.                _n_a_m_e """"
  232.  
  233.           This indicates that _n_a_m_e is just another name for the
  234.           character mentioned in the preceding line.
  235.  
  236.           The word kkkkeeeerrrrnnnnppppaaaaiiiirrrrssss starts the kernpairs section.  This
  237.           contains a sequence of lines of the form:
  238.  
  239.                _c_1 _c_2 _n
  240.  
  241.           This means that when character _c_1 appears next to character
  242.           _c_2 the space between them should be increased by _n.  Most
  243.           entries in kernpairs section will have a negative value for
  244.           _n.
  245.  
  246.      FFFFIIIILLLLEEEESSSS
  247.           ////uuuussssrrrr////sssskkkkuuuunnnnkkkk////lllliiiibbbb////ggggrrrrooooffffffff////ffffoooonnnntttt////ddddeeeevvvv_n_a_m_e////DDDDEEEESSSSCCCC
  248.                Device description file for device _n_a_m_e.
  249.  
  250.           ////uuuussssrrrr////sssskkkkuuuunnnnkkkk////lllliiiibbbb////ggggrrrrooooffffffff////ffffoooonnnntttt////ddddeeeevvvv_n_a_m_e////_F
  251.                Font file for font _F of device _n_a_m_e.
  252.  
  253.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  254.           ggggrrrrooooffffffff____oooouuuutttt(5), ggggttttrrrrooooffffffff(1).
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                           (printed 7/8/94)
  262.  
  263.  
  264.  
  265.