The imgsizer script automates away the tedious task of creating and updating the extension HEIGHT and
WIDTH parameters in HTML IMG tags. These parameters help many browsers (including the Netscape/Mozilla
family) to multi-thread image loading, instead of having to load images in strict sequence in order to
have each one's dimensions available so the next can be placed. This generally allows text on the
remainder of the page to load much faster.
This script will try create such attributes for any IMG tag that lacks them. It will correct existing
HEIGHT and WIDTH tags unless either contains a percent (%) sign, in which case the existing dimensions
are presumed to be relative and left unaltered.
This script may be called with no arguments. In this mode, it filters HTML presented on stdin to HTML
(unaltered except for added or corrected HEIGHT and WIDTH attributes) on stdout. If called with file
arguments, it will attempt to transform each file in place. Each argument file is not actually modified
until the script completes a successful conversion pass.
The -d <directory> option sets the DocumentRoot, where images with an absolute filename (i.e., ones which
contain a leading "/") may be found. If none is specified, the DocumentRoot defaults to the current
working directory.
The -n (no-overwrite) option prevents the program from overwriting existing width and height tags if both
are present.
Additional options may also be specified in the environmental variable "IMGSIZER". For example, to avoid
typing "imgsizer -d /var/www/docs" each time imgsizer is invoked, you might tell sh (or one of its
descendants):
IMGSIZER="-d /var/www/docs"; export IMGSIZER
or, if you use csh:
setenv IMGSIZER "-d /var/www/docs"
This script is written in Python, and thus requires a Python interpreter on the host system. It also
requires either the identify(1) utility distributed in the open-source ImageMagick suite of image-display
and manipulation tools, or a modern version of file(1) and rdjpgcom(1). These utilities are used to
extract sizes from the images; imgsizer itself has no knowledge of graphics formats. The script will
handle any image format known to identify(1) including PNG, GIF, JPEG, XBM, XPM, PostScript, BMP, TIFF,
and anything else even remotely likely to show up as an inline image.