Man Linux: Main Page and Category List


       icon2gif  -  A  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.


       icon2gif [-q] [-a] [-d] [t TranslationTable] [-h] gif-file...

       If no gif-file is given, icon2gif will try to read a  text  input  from

Specification Syntax

       Here  is a syntax summary in informal BNF.  The token ‘NL’ represents a
       required newline.

       <gif-spec> ::= <header-block> <image-block>...

       <header-block> ::= <header-declaration>...

       <header-declaration ::= | screen width  <digits>  NL  |  screen  height
       <digits> NL | screen colors <digits> NL | screen background <digits> NL
       | screen map <color-table> NL

       <color-table> ::= <color-declaration>... end NL

       <color-declaration> ::= rgb <digits> <digits> <digits> is <key> NL

       <image-block>   ::=    include    <file-name>    NL    |    image    NL
       <image-declaration>...  <raster-picture> [ <extension> ]

       <image-declarations> ::= image top <digits> NL | image left <digits> NL
       | image interlaced NL  |  image  map  <color-table>  NL  |  image  bits
       <digits> by <digits> NL <raster-block>

       <extension>  :=  <comment> NL <extension-block> NL end NL | <plaintext>
       NL  <extension-block>  NL  end   NL   |   extension   <hex-digits>   NL
       <extension-block> NL end NL

       If  the  semantics  of  the  ‘screen  height’,  ‘screen width’, ‘screen
       background’, ‘image top’, ‘image left’ declarations aren’t  obvious  to
       you, what are you doing with this software?

       A  color  table  declares color indices (in ascending order from 0) and
       assiciates them with key characters.  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  raster  block is just a block of key characters.  It should be sized
       correctly for the ‘image bits’ declaration that leads it.

       The ‘comment’ or ‘plaintext’  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
       ‘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 ‘end’ on its own line.

       An  extension  block  is  a series of text lines, each interpreted as a
       string of bytes to fill an argument block (the terminating  newline  is
       stripped).   Text  may  include  standard C-style octal and hex escapes
       preceded by a backslash.

       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 ‘image bits’ bits declaration.

       The  ‘include’ 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 ‘screen color’ declaration.  All images of an included
       multi-image GIF will be included in order.

       Comments may be preceded with ‘#’ and will be ignored.


       For the compilation mode, proportional to the size of the  input  file.
       For dumping, proportional to the line size of the widest GIF.


               Quiet  mode.   Defaults  off on MSDOS, on under UNIX.  Controls
              printout of running scan lines. Use -q- to invert.

               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.


       Because there are only 94 characters unambiguously  usable  for  raster
       blocks, an attempt to dump a GIF with a larger color map will fail.

       Error checking is rudimentary.


       A  sample  icon  file  called  ‘sample.ico’  is  included  in  the  pic


       Eric S. Raymond <>

       Man page created by T.Gridel <>, originally  written  by
       Eric S. Raymond <>

                                 giflib-tools                      icon2gif(1)