pbmtext - render text into a bitmap


SYNOPSIS

       pbmtext  [-font fontfile] [-builtin fontname] [-space pix­
       els] [text]


DESCRIPTION

       Takes the specified text, either a single  line  from  the
       command  line  or  multiple lines from standard input, and
       renders it into a bitmap.

       In the bitmap, each line of input is  a  line  of  output.
       Formatting  characters  such  as newline have no effect on
       the formatting; like any unprintable character, they  turn
       into spaces.

       The  bitmap  is  just  wide enough for the longest line of
       text, plus margins, and just high enough  to  contain  the
       lines  of  text, plus margins.  The left and right margins
       are twice the width of the widest character in  the  font;
       the  top  and bottom margins are the height of the tallest
       character in the font.  But if the text is only one  line,
       all the margins are half of this.


OPTIONS

       -font,-builtin
              By default, pbmtext uses a built-in font called bdf
              (about a 10 point Times-Roman font).  You can use a
              fixed width font by specifying -builtin fixed.

              You  can  also specify your own font with the -font
              flag.  The fontfile is either a BDF file from the X
              window system or a PBM file.

              If  the  fontfile is a PBM file, it is created in a
              very  specific  way.   In  your  window  system  of
              choice,  display  the following text in the desired
              (fixed-width) font:

                  M ",/^_[`jpqy| M

                  /  !"#$%&'()*+ /
                  < ,-./01234567 <
                  > 89:;<=>?@ABC >
                  @ DEFGHIJKLMNO @
                  _ PQRSTUVWXYZ[ _
                  { \]^_`abcdefg {
                  } hijklmnopqrs }
                  ~ tuvwxyz{|}~  ~

                  M ",/^_[`jpqy| M

              for  instance xwd, xgrabsc, or screendump.  Convert
              the result into a pbm file.  If necessary, use pnm­
              cut to remove everything except the text.  Finally,
              run it through pnmcrop to make sure the  edges  are
              right  up against the text.  pbmtext can figure out
              the sizes and spacings from that.

       -space pixels
              Add pixels  pixels  of  space  between  characters.
              This  is  in addition to whatever space surrounding
              characters is built into the font, which is usually
              enough to produce a reasonable string of text.

              pixels  may be negative to crowd text together, but
              the author has not put much thought or testing into
              how  this works in every possible case, so it might
              cause disastrous results.


USAGE

       Often, you want to place text over another image.  One way
       to  do  this is with ppmlabel.  ppmlabel does not give you
       the font options that pbmtext does, though.

       Another way is to use pbmtext to create an image  contain­
       ing  the  text, then use pnmcomp to overlay the text image
       onto your base image.  To make only the text (and not  the
       entire  rectangle containing it) cover the base image, you
       will need to give pnmcomp a mask, via its  -alpha  option.
       You  can  just  use  the text image itself as the mask, as
       long as you also specify the -invert option to pnmcomp.

       If you want to overlay colored text instead of black, just
       use  ppmchange  to change all black pixels to the color of
       your choice before overlaying the text image.   But  still
       use the original black and white image for the alpha mask.

       If you want the text at an angle,  use  pnmrotate  on  the
       text image (and alpha mask) before overlaying.


SEE ALSO

       pnmcut(1),  pnmcrop(1),  pnmcomp(1),  ppmchange(1), pnmro­
       tate(1), ppmlabel(1), pbm(5)


AUTHOR

       Copyright (C) 1993 by Jef Poskanzer and George Phillips


Man(1) output converted with man2html