[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Adding fonts to groff -- instructions?

From: Werner LEMBERG
Subject: Re: [Groff] Adding fonts to groff -- instructions?
Date: Sun, 12 Mar 2006 02:49:46 +0100 (CET)

> It seems a lot of people would like to have such instruction.
> Ergo - please, write at least a draft of it (preferably in sh).

I did!  I've sent it to the list yesterday, it appears in the list
archive, but it hasn't shown up (yet?) on the list.  Strange.  Here it
is again.



> Now I want to add an ESSTIX font (which comes with .pfb, .afm, .pfm,
> and .ttf files) and the only doc I can find is in the momdoc
> appendices, at
> but
> registration of the new font is Debian-specific.
> Are there any more general instructions?  Have I missed some?

Indeed, there aren't instructions within groff which clearly say how
to do it.  The following should be done -- is there a good guy who
converts this to good English which a novice can understand?  I think
the appropriate place is, with a proper reference in (and probably

  . Convert your font to something groff understands.  This is either
    a PostScript Type 1 font in PFA format or a PostScript Type 42
    font, together with an AFM file.

    The very first characters in a PFA file look like this:


    A PFB file has this also in the first line, but the string is
    preceded with some binary bytes.

    The very first characters in a Type 42 font file look like this:


    This is a wrapper format for TrueType fonts.  Old PS printers
    might not support it (this is, they don't have a built-in TrueType
    font interpreter).

    If your font is in PFB format (such fonts normally have `.pfb' as
    the file extension), you might use groff's `pfbtops' program to
    convert it to PFA.  For all other font formats I suggest to use
    the `FontForge' font editor (available from which can convert most outline font

  . Convert the AFM file to a groff font description file with the
    `afmtodit' program.  An example call is

      afmtodit Foo-Bar-Bold.afm textmap FBB

    which converts the metric file `Foo-Bar-Bold.afm' to the groff
    font `FBB'.  If you have a font family which comes with normal,
    bold, italic, and bold italic faces, it is recommended to use the
    letters `R', `B', `I', and `BI', respectively, as postfixes in the
    groff font names to make groff's `.fam' request work.  An example
    is groff's built-in Times-Roman: The font family name is `T', and
    the groff font names are `TR', `TB', `TI', and `TBI'.

  . Install both the groff font description files and the fonts in a
    `devps' subdirectory of the font path which groff finds.  See the
    `ENVIRONMENT' section in troff(1) which lists the actual value of
    the font path.  Note that groff doesn't use the AFM files (but it
    is a good idea to store them anyway).

  . Register all fonts which must be downloaded to the printer in the
    `devps/download' file.  Currently, due to a limitation in the
    PostSript device of groff (grops), only the first occurrence of
    this file in the font path is read.  This means that you should
    copy the default `download' file to the first directory in your
    font path and add your fonts there.  To continue the above example
    we assume that the PS font name for Foo-Bar-Bold.pfa is
    `XY-Foo-Bar-Bold' (the PS font name is stored in the
    `internalname' field in the `FBB' file), thus the following line
    should be added to `download'.

      XY-Foo-Bar-Bold Foo-Bar-Bold.pfa

reply via email to

[Prev in Thread] Current Thread [Next in Thread]