gifbuildA program to convert a series of editable text GIF icon specifications and named GIF files into a multi\-image GIF, usable as a graphic resource file. It can also dump existing GIFs in this format.If no GIF file is given, gifbuild will try to read a text input from stdin.Here is a syntax summary in informal BNF. The token `NL' represents a required newline. ::= ... ::= ... NL | screen height NL | screen colors NL | screen background NL | pixel aspect byte NL | screen map NL ::= ... end NL ::= rgb [ is ] NL | sort flag {on|off} NL ::= include NL | image NL ... [ ] ::= image top NL | image left NL | image interlaced NL | image map NL | image bits by [hex|ascii] NL := NL NL end NL |

     NL <extension\-block> NL end NL
    | graphics control NL <GCB\-part> NL end NL
    | netscape loop  <digits> NL
    | extension <hex\-digits> NL <extension\-block> NL end NL

    <GCB\-part> ::= disposal mode <digits> NL
    | user input flag {on|off} NL
    | delay <digits> NL
    | transparent index <digits> NL

    ,
    <span class="quote">“<span class="quote">screen width,
    <span class="quote">“<span class="quote">image top declarations
    aren't obvious to you, what are you doing with this software? declaration sets an integer
    denominator for a fraction expressing the puxel aspect ratio.  See the
    GIF standard for details; this field is actually long obsolete.A color table declares color indices (in ascending order from 0)
    and may associate them with key characters (these associations are
    absent when the map is more than 94 colors lang and raster blocks
    using it must use hex pairs).  These characters can later be used in
    raster blocks.  As these must be printable and non\-whitespace, you can
    only specify 94 colors per icon.  Life is like that sometimes.A color table declaration can also set the table's sort flag with
    "sort flag on" or "sort flag off" on any line before the end. raster block is just a block of key
    characters (used for a color map of 94 or fewer colors).  A
    <span class="quote">“<span class="quote">hex raster block uses hex digit pairs instead (used for
    a color map with more than 94 colors). The default is ASCII.  It
    should be sized correctly for the <span class="quote">“<span class="quote">image bits
    declaration that leads it. Raster blocks from interlaced GIFs are
    dumped with the lines in non\-interlaced order. keywords
    lead defined GIF89 extension record data (the other two GIF89 types,
    graphics control and application block, are not yet supported).  You
    can also say <span class="quote">“<span class="quote">extension followed by a hexadecimal record
    type.  All of these extension declarations must be followed by an
    extension block, which is terminated by the keyword <span class="quote">“<span class="quote">end
    on its own line.An extension block is a series of text lines, each interpreted
    as a string of bytes to fill an extension block (the terminating
    newline is stripped).  Text may include standard C\-style octal and hex
    escapes preceded by a backslash.A graphics control block declaration creates a graphics control
    extension block; for the field semantics see the GIF89 standard, part
    23.A netscape loop declaration creates an application extension
    block containing a NETSCAPE 2.0 animation loop control with a
    specified repeat count (repeat count 0 means loop forever). This must
    be immediately after the header declaration. These loop blocks are
    interpreted by the Netscape/Mozilla/Firefox line of browsers.All <digits> tokens are interpreted as decimal numerals;
    <hex\-digits> tokens are interpreted as two hex digits (a byte). All
    coordinates are zero\-origin with the top left corner (0,0).  Range
    checking is weak and signedness checking nonexistent; caveat
    hacker!In general, the amount of whitespace and order of declarations within a
    header or image block is not significant, except that a raster picture
    must immediately follow its <span class="quote">“<span class="quote">image bits declaration includes a named GIF as
    the next image.  The global color maps of included GIFs are merged
    with the base table defined by any <span class="quote">“<span class="quote">screen color
    declaration.  All images of an included multi\-image GIF will be
    included in order.Verbose mode (show progress).
    Enables printout of running scan lines. Dump the input GIF file(s) into the text form described
    above.Specify name characters to use when dumping raster blocks.  Only
    valid with \-d option.Print one line of command line help, similar to Usage
    above. is
    included in the pic directory of the GIFLIB source
    distribution.