"Fossies" - the Fresh Open Source Software Archive

Member "netpbm-10.91.01/doc/HISTORY" (22 Jul 2020, 236490 Bytes) of package /linux/misc/netpbm-10.91.01.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "HISTORY": 10.91.00_vs_10.91.01.

    1 See http://netpbm.sourceforge.net/history.html for a general history of
    2 Netpbm.
    3 
    4 CHANGE HISTORY 
    5 --------------
    6 
    7 not yet  BJH  Release 10.91.01
    8 
    9               pbmtext: fix double-free crash with -font .  Introduced in
   10               Netpbm 10.91 (June 2020).
   11 
   12               pcdovtoppm: Fix some garbage from the conversion from csh to sh
   13               in Netpbm 9.12 (March 2001) in conversion from csh arrays that
   14               should have stopped it from working at all, despite reports from
   15               users that they were using it.
   16 
   17 20.06.28 BJH  Release 10.91.00
   18 
   19               pamstretch-gen: Add -quiet (supposedly added in 10.86, but never
   20               worked).
   21 
   22               pamstereogram: Add -tileable.  Thanks Scott Pakin.
   23 
   24               pcdovtoppm: implement -version, -plain, and -quiet.
   25 
   26               pcdovtoppm: more secure temporary file handling.
   27 
   28               pcdovtoppm: Improve the way it fails when 'hpcdtoppm' fails.
   29 
   30               anytopnm, pnmmargin: Fail properly when unable to create
   31               temporary file.  Broken in Netpbm 10.75 (June 2016).
   32 
   33               winicontoppm: Fix undefined behavior for various invalid input.
   34               Always broken.  Winicontoppm was new in Netpbm 9.3 (June 2000).
   35 
   36               winicontoppm: Fix incorrect output with 256 pixel wide or high
   37               image.  Always broken.  Winicontoppm was new in Netpbm 9.3 (June
   38               2000).
   39 
   40               pjtoppm: Handle input stream with no transmission mode command.
   41               Always broken.  Pjtoppm was in primordial Netpbm (1991).
   42 
   43               cameratopam: Handle I/O error on input file.  Always broken.
   44               Cameratopam was new to Netpbm in Netpbm 10.25 (June 2005).
   45 
   46               xbmtopbm: Recognize "unsigned short" as an extension of
   47               XBM X10 format.
   48 
   49               pjtoppm: Fix handling of input with width unspecified or not
   50               positive.  Always broken.  (Pjtoppm was in primordial Netpbm, ca
   51               1991).
   52 
   53               winicontopam: Fix crash with PNG icon.  Always broken.
   54               Winicontopam was new in Netpbm 10.63 (June 2013).
   55 
   56               picttoppm: Fix bug with an input file that specifies a clip
   57               region (ClipRgn opcode) that is not contained within the
   58               picture frame.  Result is invalid memory access.  Broken
   59               some time 1994-2002.
   60 
   61               picttoppm: Fix incorrect output (sheared) when a blit must be
   62               scaled.  Broken in Netpbm 10.34 (June 2006) or 10.35 (August
   63               2006).
   64 
   65               pbmtonokia: Fix incorrect output with -txt option.
   66 
   67               pbmtonokia: Fix incorrect output with newer compiler.
   68 
   69               pnmtorle: Fix incorrect command and filename in header.
   70               Broken in Netpbm 10.88 (September 2019).
   71 
   72               cameratopam: Fix buffer overrun.  Always present. (cameratopam
   73               was new in Netpbm 10.28 (June 2005)).
   74 
   75               cameratopam: Fix undefined behavior using 'swab' to swap bytes
   76               in place.  Always present. (cameratopam was new in Netpbm 10.28
   77               (June 2005)).
   78 
   79               ppmtompeg: Fix buffer overruns with very long names in input
   80               parameter files.  Always broken.  Ppmtompeg was new in
   81               Netpbm 8.4 (April 2000).
   82 
   83               ximtoppm: Fix possible program crash due to invalid memory
   84               reference.  Always broken.  ximtoppm was in primordial Netpbm,
   85               ca 1989.
   86 
   87               pcdovtoppm: Fix bug: accepts anything starting with -s
   88               as equivalent to -s.
   89 
   90               pcdovtoppm: properly selects Bash as interpreter.  Broken
   91               in Netpbm 9.12 (March 2001) (when it was called pcdindex).
   92 
   93 20.03.26 BJH  Release 10.90.00
   94 
   95               pamundice: Add -listfile.
   96 
   97               pamditherbw: Remove restriction to 2^18 pixels width and height
   98               for -hilbert .
   99 
  100               pamundice: Add error and warning messages for insane file name
  101               pattern.
  102 
  103               pamcut: Improve error messages for legacy command line
  104               arguments.
  105 
  106               pbmtopgm: Fix incorrect output when convolution area is not
  107               square.  Always broken.  pbmtopgm was in primordial Netpbm,
  108               ca 1991.
  109 
  110               pbmtopgm: Fix crash when convolution matrix too large for word
  111               size.  Always broken.  pbmtopgm was in primordial Netpbm, ca
  112               1991.
  113 
  114               pnmshear: Fix arithmetic overflow with shear angle near +/- 90
  115               degrees.  Always broken; pnmshear was in primordial Netpbm,
  116               ca. 1989.
  117 
  118               pnmshear: Fix shearing direction for angles larger than 90
  119               degrees.  Always broken; pnmshear was in primordial Netpbm,
  120               ca. 1989.
  121 
  122               pamditherbw: Fix bug: issue error message instead of just
  123               ignoring one of the options when you specify -hilbert and
  124               another halftone option.
  125 
  126               pamdice: Fix junk output when -width or -height not specified.
  127 
  128               pamdice: Fix crash when -width or -height is zero.
  129 
  130               pamdice: Fix incorrect file names when -outstem contains "%s",
  131               etc.
  132 
  133               pgmnoise: Correct error messages for invalid height, width
  134               arguments.
  135 
  136               pnmquantall: remove accidentally published debugging trace.
  137 
  138               libnetpbm: pm_getline, xvminitoppm, pamtris : Fix bug: crash
  139               when reading empty line.
  140 
  141               libnetpbm: pm_read_unknown_size, rawtopgm, zeisstopnm: crash
  142               when out of memory
  143 
  144               Build: make deb: don't include empty Recommends; newer dpkg-deb
  145               won't accept it.
  146 
  147               Install: Use e.g. "10.90.00" for version in pkg-config and
  148               config file, intead of e.g. "Netpbm 10.90.00".
  149 
  150 19.12.29 BJH  Release 10.89.00
  151 
  152               pnmpad: Add -reportonly.
  153 
  154               anytopnm: Fix unpredictable behavior when file name contains
  155               spaces.
  156 
  157               pamfind: Fix typo in message.
  158 
  159               pnmquant: Fail if user specifies both -spreadbrightness and
  160               -spreadluminosity or both -randomseed and -norandom, rather
  161               than just pick one.
  162 
  163               pamrubber: Fix bug: -frame doesn't work.  Always broken.
  164               (Pamrubber was new in Netpbm 10.54 (March 2011).
  165 
  166 19.09.28 BJH  Release 10.88.00
  167 
  168               pnmquant: Fail if user specifies more than one of -meanpixel,
  169               -meancolor, and -center, rather than just pick one.
  170 
  171               pnmremap: Don't output any part of the image if program fails
  172               because the maxval of input and map file do not match, in a
  173               case where matching maxval is required, i.e. the user specified
  174               -firstisdefault or -missingcolor.
  175 
  176               ppmhist: sort secondarily by RGB with -sort=frequency, so
  177               output is repeatable.
  178 
  179               pnmcolormap: Add -splitpix, -splitcol, -splitdim.
  180               Thanks Vladislav Zavjalov.
  181 
  182               pbmtext: fix erroneous failure message with long input text.
  183 
  184               jpeg2ktopam, pamtojpeg2k: fix negative array index.  Always
  185               broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
  186 
  187               jpeg2ktopam, pamtojpeg2k: fix assertion failure.  Always
  188               broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
  189 
  190               jpeg2ktopam: Fix memory leak after decoder failure.  Always
  191               broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
  192 
  193               jpeg2ktopam: fix null pointer dereference.  Always broken
  194               (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
  195 
  196               pnmtorle, rletopnm: fix wild pointer dereference when memory
  197               allocation fails.  Always broken (programs were added to
  198               Netpbm in Release 9.0 (April 2000).
  199 
  200               pamsumm: Fix bug: with -mean and a conflicting option such as
  201               -sum, the program ignores one of the options.  It should fail.
  202               Always broken (pamsumm was new in Netpbm 10.21 (March 2004).
  203 
  204               Build: fix for Cygwin, "no rule to make pm_config.h".
  205 
  206 19.06.28 BJH  Release 10.87.00
  207 
  208               pamfind: Add -machine .
  209 
  210               Multiple: fix bug: when you specify the same option twice, you
  211               can get a syntax error, with the message telling you you
  212               specified some other option that conflicts with it.  Should just
  213               take the last setting.
  214 
  215               pnmtopng: Fix bug: Defaults to no filters.  Should be all
  216               filters.  Effect is larger PNG output.  Broken after Netpbm
  217               10.26 (January 2005) but no later than Netpbm 10.35 (August
  218               2006).
  219 
  220               pnmtopng: Fix bug: Doesn't allow multiple filter options.
  221               Broken after Netpbm 10.26 (January 2005) but no later than
  222               Netpbm 10.35 (August 2006).
  223 
  224               pnmcrop: Don't allow -borderfile with -reportXXX.  It doesn't
  225               work.
  226 
  227               pnmcrop: fix bug: -bgcolor doesn't work.  Always present
  228               (-bgcolor was introduced in Netpbm 10.86 (March 2019)).
  229 
  230               pbmtext: fix bug: don't ignore -builtin when specified with
  231               -font.  Fail with syntax error instead.
  232 
  233               pbmtozinc: fix wrong output on big-endian machines.  Broken in
  234               Netpbm 10.71 (June 2015).
  235 
  236               pbmpage: Fix error message for invalid syntax.
  237 
  238               pamtris: Fix bug: debug trace left in
  239 
  240 19.03.30 BJH  Release 10.86.00
  241 
  242               Add pamfind.
  243 
  244               Add pambrighten.
  245 
  246               Add pamhue.
  247 
  248               pnmcrop: Add -bg-color, bg-corner, -reportfull, -reportsize,
  249               -blank-image .
  250 
  251               pamtopng: Add -interlace .
  252 
  253               pamenlarge: Add -scale, -xscale, -yscale .
  254 
  255               pamenlarge: Much faster for PBM with xscale factor above 10;
  256               slightly faster for xscale factor 2-10.
  257 
  258               pamfile: Add -machine and -size .
  259 
  260               pamscale: Add -reportonly
  261 
  262               pamstretch-gen: Add -quiet, -plain.
  263 
  264               pamstretch-gen: Use -dropedge on the 'pamstretch' piece for
  265               better looking output.
  266 
  267               pamstretch: Accept scale factor of 1 as a parameter (already
  268               was accepted with -xscale and -yscale options).
  269 
  270               pamstretch: Don't mess with edge when scale factor is 1,
  271               regardless of -dropedge and -blackedge.
  272 
  273               ppmwheel: Add -huevalue, -huesaturation, -maxval .
  274 
  275               various: Fix unnormalizing code so a value exactly between two
  276               sample values rounds consistently up.  Affects many programs.
  277 
  278               pstopnm: Fix bug: -textalphabits has no effect.  Always broken.
  279               (-textalphabits was new in Netpbm 10.53 (December 2010)).
  280 
  281               pamtopng: Fix sBit chunk, bit shift value for 1-, 2-, and 4-bit-
  282               per-sample images.  Always broken (Pamtopng was new in Netpbm
  283               10.71 (June 2015)).
  284 
  285               pamtopng: Fix buffer overrun.  Always broken (Pamtopng was new
  286               in Netpbm 10.71 (June 2015)).
  287 
  288               pnmtopng: fix bug: -interlace ignored.  Broken in 10.55
  289               (June 2011).
  290 
  291               pamstretch: Reject very large scale factors instead of producing
  292               incorrect output.
  293 
  294               ppmbrighten: Fix crash with -normalize when there is only one
  295               intensity in the image.  Always broken - Ppmbrighten was new in
  296               the first Netpbm release in 1991.
  297 
  298               ppmdraw: Fix bug: 'setlinetype nodiag' says invalid type.
  299               Always broken.  (Ppmdraw was new in Netpbm 10.29 (August 2005)).
  300 
  301               Build: split link/ directory in package tree into staticlink/
  302               and sharedlink/ .  Make 'installnetpbm' do separate prompts to
  303               install static libraries and shared library stubs.  Make
  304               'installnetpbm' install clean symlink in the usual case that the
  305               shared library stub and shared library are in the same
  306               directory.
  307 
  308               Build: update 'mkdeb' so it works on Debian 9 (in addition to
  309               Debian 8).  Thanks Neil R Ormos <ormos@ormos.org>.
  310 
  311 18.12.29 BJH  Release 10.85.00
  312 
  313               pnmpaste: Add -nand, -nor, and -nxor.
  314 
  315               pamcut: add -cropleft, -cropright, -croptop, -cropbottom.
  316 
  317               ppmtobmp: respect -bpp with PBM input.
  318 
  319               bmptopnm: allow single color colormap with bpp 1.
  320 
  321               bmptopnm: validate plane count = 1.
  322 
  323               bmptopnm: Add RLE4 compression decoding.  This was ostensibly
  324               added in Netpbm 10.32 (February 2006), but never worked.
  325               
  326               Add pammixmulti.  Thanks Scott Pakin (scott+pbm@pakin.org).
  327 
  328               pamtotga: Add -cmap16 .
  329     
  330               pamtris: Add -rgb, -grayscale.  Add w parameter to vertex
  331               instructions.  Fix perspective correctness.  Thanks Lucas Brunno
  332               Luna <lucaslunar32@hotmail.com>.
  333 
  334               picttoppm: accept rectangle specifications in input that have
  335               the corners in any order, not just upper left, then lower right.
  336 
  337               pamtotga: identify compressed colormapped format in error
  338               message saying the program doesn't know how to interpret it.
  339 
  340               pamtotga: Ignore extra planes in black and white or grayscale
  341               input instead of generating junk output.
  342 
  343               Merge build: make old names for JPEG, TIFF, and PNG converter
  344               programs work (function previously omitted by design because it
  345               was too hard).
  346 
  347               bmptopnm: Fix wrong output for non-colormapped OS2 BMP.  Broken
  348               in Netpbm 10.18 (September 2003).
  349 
  350               bmptopnm: Fix array bounds violation when index value in raster
  351               is too big.  Broken after Netpbm 10.11 (October 2002) but before
  352               10.19 (November 2003).
  353 
  354               libnetpbm: Fix invalid memory reference in color name processing
  355               when trivial memory allocation fails.
  356 
  357               pamtojpeg2k: fix incorrect interpretation of -ilyrrates option
  358               when it contains multiple delimiter characters in a row.  Always
  359               broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).
  360 
  361               pnmtojbig: fix incorrect handling of -x option.  Always broken
  362               (pnmtojbig was new in Netpbm 9.2 (May 2000)).
  363 
  364               pjtoppm, pbmtoppa: fix arithmetic overflow.
  365 
  366               Build: fix parallel make.
  367 
  368               Build: fix reference to nonexistent getline on Mac OS X 10.6.
  369 
  370               Build: fix reference to nonexistent strndup on Mac OS X 10.6.
  371 
  372               Merge build: fix duplicate symbol 'prefabCode' in g3topbm,
  373               pbmtog3.  Introduced in Netpbm 10.79 (June 2017).
  374 
  375 18.09.29 BJH  Release 10.84.00
  376 
  377               Add pamaltsat.  Thanks Anton Shepelev <anton.txt@gmail.com>.
  378 
  379               Add pamtris.  Thanks Lucas Brunno Luna
  380               <lucaslunar32@hotmail.com>.
  381 
  382               libpbmfont, pbmtext: fix bugs with BDF file lines with
  383               insufficient number of fields.  Unknown effect.
  384 
  385               pbmtext: -wchar works with built-in fonts.
  386 
  387               pbmtext: improved -verbose information about BDF fonts:
  388               include CHARSET_REGISTRY, CHARSET_ENCODING.
  389 
  390               libnetpbm font facilities: built-in fonts work with wide
  391               characters.
  392 
  393               pbmtext; libnetpbm BDF font processing: fix invalid memory
  394               reference when BDF font file has invalid syntax.  Broken
  395               in primordial Netpbm, ca 1993.
  396 
  397               pamgetcolor: fix bug: gets color of only the top half of a
  398               region.
  399 
  400               pnmfiasco, fiascotopnm: Fix trivial memory leak.  Always broken
  401               (programs were new in Netpbm 9.6, July 2000).
  402 
  403 18.06.30 BJH  Release 10.83.00
  404 
  405               Add pamlevels.  Thanks Anton Shepelev <anton.txt@gmail.com>.
  406 
  407               Add pamgetcolor.  Thanks Anton Shepelev <anton.txt@gmail.com>.
  408 
  409               Add rgb-<maxval>:r/g/b color specification format.
  410 
  411               pngtopam: Fix bogus warning of non-square pixels when image does
  412               not contain pixel resolution information.  Introduced in Netpbm
  413               10.48 (September 2009).
  414 
  415               pstopnm: Fix divide-by-zero crash when Postscript input says
  416               the image has zero size.
  417 
  418               pstopnm: Fix divide-by-zero crash when computed resolution
  419               rounds down to zero dots per inch.
  420 
  421               pbmmask: Fix invalid memory reference with zero-dimension
  422               input image.  Broken in primordial Netpbm, ca 1989.
  423 
  424               pamtojpeg2k: Fix incorrect metadata in output with GRAYSCALE PAM
  425               input.  Always broken (pamtojpeg2k was new in Netpbm 10.12
  426               (November 2002)).
  427 
  428               libnetpbm: Add pnm_colorspec_rgb_integer,
  429               pnm_colorspec_rgb_norm, pnm_colorspec_rgb_x11,
  430               pnm_colorspec_dict, pnm_colorspec_dict_close.
  431 
  432               libnetpbm: Add pnm_parsecolor2.
  433 
  434               libnetpbm: Add pnm_allocpamtuplen, pnm_freepamtuplen.
  435               
  436               libnetpbm: Make the normalized tuple functions respect the
  437               allocation depth specified in struct pam (member
  438               'allocation_depth') instead of using the actual tuple depth
  439               (member 'depth').
  440 
  441               ilbmtoppm: Fix bug: may fail with bogus error message about an
  442               invalid CLUT chunk if image has a CLUT chunk.  Introduced after
  443               Netpbm 10.26 (January 2005) and at or before Netpbm 10.35
  444               (August 2006).
  445 
  446 18.03.25 BJH  Release 10.82.00
  447 
  448               pbmtext: Add -wchar.
  449 
  450               pbmtext: Add -text-dump option.
  451 
  452               ppmhist: Add color summary to top of output, (except with
  453               -noheader).
  454 
  455               pnmremap: Add -randomseed.
  456 
  457               pnmquant: Add -norandom, -randomseed.
  458 
  459               pamtogif: Add -noclear option.
  460 
  461               giftopnm: Check "data width" value from GIF image properly:
  462               can't be bigger than 11, because the minimum code size is one
  463               more than the data width and the maximum code size is 12.  (Note
  464               that GIF spec prohibits anything more than 8).
  465 
  466               pnmpsnr: Add -targetX options.
  467 
  468               ppmrainbow: Add "ppmrainbow: " to error messages, like other
  469               programs.
  470 
  471               ppmrainbow: improve error message.
  472 
  473               g3topbm: Fix bug - produces invalid empty PBM image if input
  474               image is empty.
  475 
  476               ppmpat: Fix bug - crash or junk output with -camo or -anticamo
  477               and no -color.  Introduced in Netpbm 10.78 (March 2017).
  478 
  479               mrftopbm: Fix bug - wrong error messages or output when input
  480               invalidly short.  Always broken (mrftopbm was new in Netpbm
  481               10.18 (September 2003).
  482 
  483               Build: fix compile failure on systems without strnlen (such
  484               as MacOS X before 10.7).  Broken in 10.81 (December 2017).
  485 
  486 17.12.30 BJH  Release 10.81.00
  487 
  488               sldtoppm: -lib and -dir don't work - always says slide not
  489               found.  Broken in Netpbm 10.63 (June 2013).
  490 
  491               sldtoppm: fix bug: says AutoCAD slide file isn't an AutoCAD
  492               slide file.  Broken after Netpbm 10.26 (January 2005), but no
  493               later than 10.35 (August 2006).
  494 
  495               sldtoppm: fix bug: wild memory accesses, weird messages when
  496               invalid input file has unterminated strings.
  497               
  498 17.09.30 BJH  Release 10.80.00
  499 
  500               pnmtopalm: Refuse to create a compressed image with more than 8
  501               bits per pixel.
  502 
  503               pbmtext, libnetpbm font facilities: allow glyphs in font files
  504               that have no bitmap data; just used for their advance value to
  505               code a space.
  506 
  507               pbmtext: Improve error message when there is a problem reading
  508               the font file.
  509 
  510               libnetpbm font facilities: consider font invalid if a glyph is
  511               more than 65536 pixels high or wide.
  512 
  513               ppmshadow: handle images with a black background and low
  514               contrast images (i.e. little difference between foreground and
  515               background).
  516 
  517               ppmbrighten: fix bug: red pixels change hue.  Introduced in
  518               after Netpbm 10.11 (October 2002) and before Netpbm 10.18
  519               (September 2003).
  520 
  521               palmtopnm: fix crash if invalid input contains color index that
  522               is not in the palette.  Always broken (palmtopnm was new in
  523               Netpbm 9.10 (October 2001)).
  524 
  525               pnmtopalm: fix incorrect output with certain input files and
  526               -packbits_compression.  Always broken.  -packbits_compression
  527               was new in Netpbm 10.27 (March 2005).
  528 
  529               pnmtopalm: Correct error message recommending running
  530               pnmquant when the real solution is to run pnmremap to modify the
  531               image to Palm standard colors.
  532 
  533               pnmtopalm: Fix bug causing "color not in colormap" failure with
  534               -colormap and maxval other than 255.
  535 
  536               libnetpbm: font facilities: fix invalid memory reference with
  537               certain font files.
  538 
  539               libnetpbm: ppm_readcolordict: Improve error message when there is
  540               a problem reading the color dictionary.  Affects ppmhist.
  541 
  542               pgmmake: Fix bug: treats non-numeric gray-level argument as zero.
  543               Always broken (Pgmmake was new in Netpbm 10.32, February 2006).
  544 
  545               pdbimgtopam, pamtopdbimg: fix various cases of incorrect output,
  546               some always present (programs were new in Netpbm 10.52.00
  547               (October 2010)).
  548 
  549               libnetpbm: pnm_parsecolorn(), pnm_parsecolor(): fix parsing of
  550               rgb: color specifications: yields value slightly too dim.
  551               Affects many programs.  Broken in Netpbm 10.79 (June 2017).
  552 
  553               Makeman: make it work with Python 3.6 II.
  554 
  555 17.06.30 BJH  Release 10.79.00
  556 
  557               Add pamtable .
  558 
  559               pamgauss: Add -maximize, -oversample .  Thanks Anton Shepelev
  560               <anton.txt@gmail.com>
  561 
  562               pnmconvol: Extend -normalize to be applicable to convolution
  563               kernels specified by PGM file.  Thanks Anton Shepelev
  564               <anton.txt@gmail.com>
  565 
  566               g3topbm: tolerate fill bits.
  567 
  568               pbmtog3: Add -align8, -align16.
  569 
  570               ppmshadow: Improve results for very small maxval.
  571 
  572               ppmshadow: eliminate extraneous messages from pnmconvol.
  573 
  574               libnetpbm: Add pnm_parsecolorn().
  575 
  576               libnetpbm: Improve error message for purported image that is
  577               exactly 1 byte long (so ends in the middle of what would be the
  578               magic number).
  579 
  580               pbmtox10bm: Get the Perl interpreter for this Perl program from
  581               the PATH instead of hardcoded as /usr/bin/perl (like all other
  582               Netpbm Perl programs).
  583 
  584               ppmcolormask: fix incorrect output when input maxval is not 255.
  585               Always broken (ppmcolormask was new in Netpbm 9.0, April 2000).
  586 
  587               bmptopnm: fix crash when input is a Windows BMP with negative
  588               number for width.  Always broken.  (bmptopnm was new, as
  589               bmptoppm, in original Netpbm, 1992).
  590 
  591               pamcomp: fix incorrect output with -mixtransparency.
  592               Always broken.  (-mixtransparency was new in Netpbm 10.56,
  593               September 2011).
  594 
  595               pamcomp: remove debug trace message with -mixtransparency.
  596               Always broken.  (-mixtransparency was new in Netpbm 10.56,
  597               September 2011).
  598 
  599               pnmtojpeg: fix array bounds violation in argument list.  Always
  600               broken (pnmtojpeg was new to Netpbm in Netpbm 8.2 (March 2000).
  601 
  602               pamcrater: fix incorrect output with non-square image.
  603               Introduced in Netpbm 10.69 (December 2014).
  604 
  605               svgtopam: fix treating negative width or height values in SVG
  606               like twos complement positive numbers; fail instead.  Always
  607               broken (svgtopam was new in Netpbm 10.33 (March 2006)).
  608 
  609               svgtopam: fix error messages when input has splines or negative
  610               positions.  Always broken (svgtopam was new in Netpbm 10.33
  611               (March 2006)).
  612 
  613               libnetpbm: fix bug: pm_system_XXX closes Standard Input if you
  614               supply a Standard Output accepter but not a Standard Input
  615               feeder.  Broken since Netpbm 10.40 (September 2007).
  616 
  617               Windows: fix bug: pm_system_lp() and pm_system_vp() fail
  618               silently instead of with a clear error message in an environment
  619               that does not provide Unix process management.  Always broken.
  620               (pm_system_lp and pm_system_vp were new in Netpbm 10.40
  621               (September 2007), but wouldn't even compile until Netpbm 10.42
  622               (March 2008)).
  623 
  624               installnetpbm: Accept globs for directory name responses
  625               (notably, ~/DIR).
  626 
  627               makeman: Make it work with Python 3.6.
  628 
  629               Build: don't try to build standardppmdfont.c if it already
  630               exists (so don't require ppmdcfont to exist).  Broken around
  631               Netpbm 10.35 (2006).
  632 
  633               Build: Define _XOPEN_SOURCE=500 in source files that use M_PI.
  634               While C libraries in the past have always provided this with
  635               just _XOPEN_SOURCE=null, it appears that M_PI is actually
  636               defined by Single Unix Specification 2, aka UNIX98, for which
  637               you need _XOPEN_SOURCE=500, and Cygwin has changed to enforce
  638               this.
  639 
  640               Build: document MinGW _XOPEN_SOURCE incompatibility and add
  641               warning to Configure.
  642 
  643               Debian packaging: fix bug: don't try to include Manweb files, as
  644               it is no longer packaged by 'make package'.
  645 
  646 17.03.28 BJH  Release 10.78.00
  647 
  648               ppmpat: Add -color.
  649 
  650               ppmpat: Add -argyle1, -argyle2.
  651 
  652               pnmtotiff: Fail with -miniswhite or -minisblack on color image
  653               rather than produce an invalid TIFF.
  654 
  655               tifftopnmcmyk: Default rows per strip to the TIFF library
  656               default instead of whatever yields 8K strips.
  657 
  658               --version global option: with SOURCE_DATE_EPOCH environment
  659               variable, display source code datetime instead of build
  660               datetime.  And when displaying build datetime, do it in the
  661               local time of the process running the command instead of the
  662               process that did the build.
  663 
  664               tifftonm: Fix incorrect PBM output with two-color paletted TIFF
  665               image.  Broken in primordial Netpbm, ca 1990.
  666 
  667               tifftopnm: Fix memory corruption when image is more pixels than
  668               can be represented as a C unsigned integer.  Broken in Netpbm
  669               10.11 (October 2002).
  670 
  671               tifftopnmcmyk: Fix bug: fails with very wide images and no
  672               -rowsperstrip.  Always broken.  (Tifftopnmcmyk was new in Netpbm
  673               8.2 (March 2000).
  674 
  675               svgtopam: Fix crash when out of memory.  Always broken (svgtopam
  676               was new in Netpbm 10.33 (March 2006)).
  677 
  678               pnmcrop: Add -closeness
  679 
  680               libnetpbm: Add ppmd_pathbuilder_* functions.
  681 
  682               libnetpbm: ppmd_fill_path: remove debug trace.  Always broken
  683               (ppmd_fill_path was new in Netpbm 10.34 (June 2006).
  684 
  685               Build: don't create pointer man pages anymore.  These were
  686               classic man pages, created by 'make package', one for each
  687               program, that just told the user to get the manual from the web
  688               and that other options for manuals are available at install
  689               time.  Getting documentation online is commonplace enough now
  690               that the user doesn't need to be told to do it or that there are
  691               other options.  The existence of pointer man pages was,
  692               meanwhile, misleading, since it looked from the outside like
  693               they actually contained documentation.
  694 
  695               Build: Don't package or install Manweb setup (for accessing
  696               manuals on the web with Manweb).  Probably 100% unused and
  697               distracting.
  698 
  699               Debian package: change dependencies to be compatible with
  700               Debian 8.
  701 
  702 16.12.25 BJH  Release 10.77.00
  703 
  704               pnmpad: Fix bug: incorrect output width.  Introduced in
  705               Netpbm 10.72 (July 2015).
  706 
  707               Makeman: Slight improvement to formatting of man pages.
  708               Thanks Werner LEMBERG <wl@gnu.org>.
  709 
  710               Test: Skip tests of some parts that are configured out of the
  711               build.
  712 
  713 16.09.27 BJH  Release 10.76.00
  714 
  715               pnmquantall: Fix failure when temporary file location is not the
  716               same filesystem as the output file.  Always broken (pnmremap was
  717               new in Netpbm 10.58 (March 2012)).
  718 
  719               pnmquantall: Fix incorrect handling of when the Pnmremap or
  720               the final rename fails.  Always broken (pnmremap was new
  721               in Netpbm 10.58 (March 2012)).
  722 
  723               giftopnm: Fix bug: crash on little-endian computers that can't
  724               toleration unaligned memory access.  Thanks Ignatios Souvatzis
  725               (is@netbsd.org).  Broken in Netpbm 10.47 (June 2009).
  726 
  727               cmuwmtopbm: Fix trivial memory leak.  Always broken (cmuwmtopbm
  728               was in primordial Pbmplus, in 1988).
  729 
  730               Build: Add PKG_CONFIG make variable.
  731 
  732               Build: tifftopnm.c: Fix undefined WIFSIGNALED, etc.
  733 
  734 16.06.26 BJH  Release 10.75.00
  735 
  736               pbmtextps: Add -leftmargin, -rightmargin, -topmargin,
  737               -bottommargin, -ascent, -descent, -pad, -crop.
  738 
  739               pbmtextps: Add -dump-ps.
  740 
  741               pbmtextps: Abort with error instead of generating single space
  742               when user supplies no text.
  743 
  744               pbmtextps: Accept fractional -fontsize.
  745               
  746               pbmtextps: Change margins for non-default fonts.
  747 
  748               pbmtextps: Minor output changes caused by code cleanup.
  749 
  750               bmptopnm: Add ability to convert Version 4 and 5 Windows BMP.
  751 
  752               pbmtext: Remove undocumented -dump option; add 'genfontc'
  753               development tool (buildtools/ directory) to replace it.
  754 
  755               pbmtext: Add -dry-run
  756 
  757               pbmtext: Add -dump-sheet
  758 
  759               pbmtext: Speedup: renders directly in raw PBM.
  760 
  761               pbmreduce: Add -randomseed.
  762 
  763               anytopnm, pnmmargin, pnmquant, ppmquant, pnmquantall, pgmcrater,
  764               ppmfade, ppmrainbow, ppmshadow, pbmtox10bm, pamstretch-gen:
  765               Add -version.
  766 
  767               fiascotopnm: Change -version to include Netpbm version.
  768 
  769               libnetpbm: Add pm_system2(), pm_system2_lp(), pm_system2_vp() -
  770               same as pm_system(), etc. but returns the termination status.
  771 
  772               pamarith: Fix incorrect output when maxvals differ, for
  773               -add, -multiply, -mean, -min, -max.  Broken in Netpbm 10.41
  774               (December 2007).
  775 
  776               pbmtextps: Fix bug: input text or font name with Postscript
  777               control characters messes up the Postscript program.  Always
  778               broken (pbmtextps was new in Netpbm 10.0 (June 2002).
  779 
  780               hpcdtoppm dummy version: Update web link to real version.
  781 
  782               ppmhist: Fix incorrect color names.  Introduced in
  783               Netpbm 10.19 (November 2003).
  784 
  785               ppmshadow: Fix bug: don't ignore invalid option.  Introduced in
  786               Netpbm 10.9 (September 2002).
  787 
  788               pnmpaste: Fix possible invalid memory access.  Introduced in
  789               Netpbm 1.44 (September 2008).
  790 
  791               pbmreduce: Fix undefined behavior when scale factor argument is
  792               too big.  Always present (pbmreduce was new in September 1989).
  793 
  794               pbmtext: Fix bug: invalid memory reference when text contains
  795               code points > 127.  Broken in 10.74 (March 2016).
  796 
  797               pnmtofiasco, fiascotopnm: Fix incorrect math on systems with
  798               unusual floating point representation.  Always broken (programs
  799               were new in Netpbm 9.6 (July 2000).
  800 
  801               cameratopam: Fix invalid memory reference; effect unknown.
  802               Introduced in Netpbm 10.68 (September 2014).
  803 
  804               Install on Windows: Fix backward compatibility symlinks for
  805               pnmtoplainpnm, pnmquantall.
  806 
  807               Build: Remove use of strndup so it compiles on Mac OS X 10.6.
  808               Broken in 10.74.
  809 
  810               Build: Remove use of isfinite so it compiles with C89 standard
  811               compiler.
  812 
  813 16.03.27 BJH  Release 10.74.00
  814 
  815               pbmtext: Produce same image when you run pbmtext with -width
  816               explicitly set to the width you get when you don't specify
  817               width.
  818 
  819               pbmtext: Ignore -nomargins when -width is specified.
  820 
  821               pbmtext: Report when line ends are dropped because of
  822               truncation.
  823 
  824               pbmtext: Fix bug: if input has a code point that is not in the
  825               font, Pbmtext substitutes space, but behavior is undefined if
  826               font doesn't have space either.  Now it aborts the program in
  827               that case.
  828 
  829               pbmtext: Fix bug: Respect -width when specified.
  830 
  831               pbmtext: Fix bug: Deal correctly with negative -space.
  832 
  833               pbmtext: Fix bug: Consider all characters in line, not just
  834               first and last, in determining line width.
  835 
  836               libnetbpm font facility (so pbmtext): Fix bug: undefined
  837               behavior when font definitions are invalid in any of various
  838               ways.
  839 
  840               libnetpbm font facility (so pbmtext): Fix incorrect font names
  841               in error messages.
  842 
  843               pnmtopsnr: Add -machine, -max .
  844 
  845               Netpbmlib: Add /usr/local/netpbm/lib and /etc/X11 to search
  846               path for rgb.txt.
  847 
  848               makeman: Add some text replacements to solve glitches.
  849               Handle &mdash, &minus.
  850 
  851 15.12.26 BJH  Release 10.73.00
  852 
  853               anytopnm: use --mime-type option instead of --mime on newer
  854               'file' program (on which --mime has a new meaning so that
  855               'anytopnm' cannot recognize some file types).
  856 
  857               anytopnm: recognize "Netpbm PAM" non-mime output from 'file'
  858               program as indicating PAM.
  859 
  860               pnmtops: fix bug: always thinks -level=N is -level=1.
  861               Introduced after Netpbm 10.26 (January 2005) but before 10.35
  862               (August 2006).  Manifests only with recent compilers.
  863 
  864               pnmpaste: fix bug with PBM: incorrect output.  Introduced in
  865               Netpbm 10.44 (September 2008).
  866 
  867               Build: fix undefined reference to parse_printf_format etc.  on
  868               system that doesn't have that facility.  Broken in Netpbm 10.69
  869               (December 2014).
  870 
  871               Build: fix superfluous error message when USER environment
  872               variable contains whitespace.  Broken since primordial Netpbm.
  873 
  874               Windows build: fix bug: make clean doesn't clean icon/netpbm.o.
  875               Broken since Netpbm 10.67 (June 2014).
  876 
  877               Test: improved pnmpaste test.
  878 
  879 15.09.26 BJH  Release 10.72.00
  880 
  881               Add pamunlookup .
  882 
  883               pamtopng: Implement -itxt .
  884 
  885               pamlookup: Add -byplane .
  886 
  887               pbmtoescp2: Add -stripeheight .
  888 
  889               phmtoescp2: Add -resolution .
  890 
  891               pbmtoescp2: Add -formfeed .
  892 
  893               pbmtoescp2: Add -raw .
  894 
  895               pbmtoescp2: Add -resolution=720 .
  896 
  897               pbmtoescp2: Pad output horizontally to a multiple of 8 columns
  898               and vertically to a whole stripe to prevent image loss.
  899 
  900               fitstopnm: Add message saying you're probably making a mistake
  901               if you have a 3-D image and don't specify -image.  The third
  902               dimension is almost always time in practice.
  903 
  904               fitstopnm: Fix -min and -max.  Broken in Netpbm 10.39 (June
  905               2007).
  906 
  907               pnmtopclxl: fix buffer overrun causing unpredictable behavior.
  908               (Introduced in Netpbm 10.54 (March 2011).
  909 
  910               pnmtopclxl: fix wild memory access when out of memory.  Always
  911               broken (Pnmtopclxl was new in Netpbm 10.6 (July 2002)).
  912 
  913               pnmtopclxl: fix wild memory access with pathologically large and
  914               uncompressible image.  Always broken (Pnmtopclxl was new in
  915               Netpbm 10.6 (July 2002)).
  916 
  917               pnmtopclxl: fix silent output corruption when a file write
  918               fails.  Always broken (Pnmtopclxl was new in Netpbm 10.6 (July
  919               2002)).
  920 
  921               escp2topbm: Fix -plain.  Always broken (escp2topbm was new in
  922               Netpbm 10.18 (September 2003)).
  923 
  924               pnmpad: Add -mheight, -mwidth.
  925 
  926               ppmtoilbm: Fix failure with -hamforce and -nocompression.
  927               Broken in Netpbm 9.12 (March 2001).
  928 
  929               makeman: fix Python syntax error.  Introduced in Netpbm 10.70
  930               (June 2015).
  931 
  932 15.06.28 BJH  Release 10.71.00
  933 
  934               Add pamtopng.  Thanks Willem vanSchaik (willem@schaik.com).
  935 
  936               pnmtopng: Add -srgbintent.
  937 
  938               pamstereogram: Add -xbegin.  Change default to render from
  939               center outwards instead of from right to left, thus making the
  940               center of the image the crispest part.  Thanks Scott Pakin
  941               (scott+pbm@pakin.org).
  942 
  943               pamstereogram: Allow -xshift and -yshift to be negative.  Thanks
  944               Scott Pakin (scott+pbm@pakin.org).
  945 
  946               pnmpsnr: Add -rgb.
  947 
  948               ppmtoicr: remove -rle option.  Actually, it never worked
  949               because of a bug.  Now it isn't expected to.  Ppmtoicr was
  950               new in 1991.
  951 
  952               pnmtopalm: Fix arithmetic overflow with ridiculously large
  953               image.  Introduced after Netpbm 10.26 (January 2005) but before
  954               Netpbm 10.35 (August 2006).
  955 
  956               palmtopnm: Fix distorted output with PackBits compressed input.
  957               Always broken (Ability to convert PackBits input was new in
  958               Netpbm 10.27 (March 2005).
  959 
  960               pbmtoepson: fix -protocol option - never works and sometimes
  961               crashes program.  Always broken (-protocol was new in Netpbm
  962               10.23 (July 2004).
  963 
  964               pbmtoppa: fix buffer overruns, double-free crashes.  Always
  965               broken (pbmtoppa was new in Netpbm 9.1 (March 2000).
  966 
  967               pbmtomatrixorbital: fix bug: fails if you specify the input
  968               file name argument.  Always broken.  (pbmtomatrixorbital was
  969               new in Netpbm 10.18 (Setpember 2003).
  970 
  971               sbigtopgm: fix detection of camera type.  Always broken
  972               (sbigtopgm was new in Netpbm 8.3 (March 2000)).
  973 
  974               sbigtopgm: fix recognition of compressed image.  Broken in
  975               Netpbm 10.70 (March 2015).
  976 
  977               pbmtogo: Fix bug: garbage first row.  Broken at least since
  978               November 1989.
  979 
  980               pbmtogo: Fix bug: buffer overrun with certain input.  Broken
  981               at least since November 1989.
  982 
  983               pbmtoescp2: Fix bug: overrun on certain input.  Always broken
  984               (pbmtoescp2 was new in Netpbm 10.18 (September 2003)).
  985 
  986               escp2topbm: Fix buffer overrun on certain input.  Always broken
  987               (escp2topbm was new in Netpbm 10.18 (September 2003)).
  988 
  989               libnetpbm: pm_stripeq: fix bug: wild pointer access when
  990               comparator is shorter than comparand.  Doesn't affect function,
  991               but could cause crash or privacy exposure.  Affects reading of a
  992               PAM file by any program.  Introduced in one of Netpbm 10.27
  993               (March 2005) through 10.35 (August 2006).
  994 
  995               pnmconvol: Fix bug: wrong output for pixels that convolve to
  996               negative values (should be clipped to zero).  Introduced in
  997               Netpbm 10.68 (September 2014).
  998 
  999               pbmtog3: Fix buffer overrun.  Introduced in Netpbm 10.23
 1000               (July 2004).
 1001 
 1002               cameratopam: Fix arithmetic underflow in JPEG processing;
 1003               unknown effect.
 1004 
 1005               pbmtoxbm: Fix bug: crash with zero width input.  Broken in
 1006               Netpbm 10.37 (December 2006).
 1007 
 1008               sbigtopgm: fix buffer overrun with invalid input image.  Always
 1009               present (sbigtopgm was new in Netpbm 8.3 (March 2000)).
 1010 
 1011               pnmtorle: Fix buffer overrun with long file name.  Always
 1012               present.  (pnmtorle was new to Netpbm in Netpbm 9.0 (April
 1013               2000)).
 1014 
 1015               pbmtopk: Fix buffer overrun with long file name.  Always
 1016               present.  (pbmtopk was new in Netpbm 1 (March 1991)).
 1017 
 1018               pktopbm: Fix buffer overrun with long file name.  Always
 1019               present.  (pbmtopk was new in Netpbm 1 (March 1991)).
 1020 
 1021               ppmtoyuvsplit: Fix buffer overrun with long file name.  Always
 1022               present.  (New in Netpbm 1 (March 1991)).
 1023 
 1024               pbmtopi3: Fix bug: wrong output when input is higher or wider
 1025               than 640 pixels.  Always broken (pbmtopi3 was new in September
 1026               1991).
 1027 
 1028               st4topgm: Fix bug: with no argument, uses file named "'" instead
 1029               of Standard Input.  Always present (st45topgm was new in Netpbm
 1030               10.70 (March 2015).
 1031 
 1032               pbmtomgr: Fix incorrect output when input is too large (must be
 1033               at most 4095 pixels high or wide).  Always broken.  (pbmtomgr
 1034               was new in 1989).
 1035 
 1036               pbmtomacp: fix wild pointer dereference with -b larger than
 1037               image height.  Always broken.  (pbmtomacp was new in X.V11R3
 1038               (March 1988).
 1039 
 1040               ppmtorgb3: Fix buffer overflow with long input file name.
 1041               Always present.  (ppmtorgb3 was new in X.V11R4 (November 1989).
 1042 
 1043               ppmtoarbtxt: fix bug: wrong output when high numbers represent
 1044               darker.  Broken in Netpbm 10.69 (November 2014).
 1045 
 1046               ppmtoarbtxt: better rounding in sample values.
 1047 
 1048               libnetpbm: Remove bitio.h as an external interface.
 1049 
 1050               test: replace some GNU-only code with more portable code that
 1051               works on OS X.  Thanks Ryan Schmidt <ryandesign@macports.org>.
 1052 
 1053               makeman: deal properly with backlash in source.  But something
 1054               was wrong with this change and it caused the program always to
 1055               fail, so we reversed this change in 10.72.
 1056 
 1057               Build: don't build and install libjbig and libjasper if we
 1058               are using external versions of them instead.
 1059 
 1060               Build: various cross-compile fixes, especially for MinGW.
 1061 
 1062               Build: work around bug in GCC < 4.2 related to SSE2 builtins
 1063               that causes compile of pamflip to fail.
 1064 
 1065               Build: fix 'make package' where config.mk sets a subdirectory
 1066               other than 'man' for the manual.
 1067 
 1068               Build: improve pointer man page text.
 1069 
 1070 15.03.29 BJH  Release 10.70.00
 1071 
 1072               Add st4topgm, pgmtost4.
 1073 
 1074               Add pgmtosbig.  Mainly a test tool for sbigtopgm.
 1075 
 1076               Add yuy2topam.  Thanks Michael Haardt.
 1077 
 1078               tifftopnm: allow input file to be nonseekable.
 1079               Thanks Ludolf Holzheid <ludolf.holzheid@gmx.de>.
 1080 
 1081               pnmhisteq: add -noblack and -nowhite.  Idea from Andrew Brooks
 1082               <arb@sat.dundee.ac.uk>.
 1083 
 1084               pgmmorphconv: add -gradient.  Thanks Michael Haardt
 1085               <michael@moria.de>.
 1086 
 1087               giftopnm: Fix bug: crashes if purported GIF has neither a global
 1088               color map nor a local one.
 1089 
 1090               pgmmorphconv: fix bug: always produces PGM Plain format.  Always
 1091               present (program was added to Netpbm in Release 10.0 (June 2002)).
 1092 
 1093               pamtilt: fix bug: unconditional crash.  Broken in Netpbm 10.63
 1094               (June 2013).
 1095 
 1096               pnmgamma -srgbtobt709, -bt709tosrgb: fix bug; incorrect output
 1097               nearly always.  Always broken (These options were new in
 1098               Netpbm 10.32 (February 2006)).
 1099 
 1100               pamtosvg: fix use of unset variable; probably results in a
 1101               crash.  Always present (pamtosvg was new in Netpbm 10.33 (March
 1102               2006)).
 1103 
 1104               cameratopam: fix bug: variable used before set; unknown impact.
 1105               Introduced in Netpbm 10.66 (March 2014).
 1106 
 1107               On Windows, don't leave temporary files around (previous code
 1108               did so because unlink of an open file fails in Windows; new
 1109               code deletes temporary files via atexit).  Thanks
 1110               Ludolf Holzheid <ludolf.holzheid@gmx.de>.
 1111 
 1112               Libnetpbm: fix external header file pm.h so it does not include
 1113               internal header file pm_c_util.h.  Introduced in Netpbm
 1114               10.69 (December 2014).
 1115 
 1116               build: fix incompatible type compilation error in giftopnm.
 1117               Introduced in Netpbm 10.38 (March 2007) (but obviously manifests
 1118               only in recent build environments).
 1119 
 1120               build: fix compile failure in wordint_access_be.h with Bigendian
 1121               target platforms.  Introduced in Netpbm 10.63 (June 2013).
 1122 
 1123               build: fix compile failure in pbmtomacp, ppmtoacad, pgmabel:
 1124               TRUE redefined.  Introduced in Netpbm 10.69 (December 2014).
 1125 
 1126 14.12.25 BJH  Release 10.69.00
 1127 
 1128               pnmnorm: add -bsingle, -wsingle.
 1129 
 1130               ppmtoarbtxt: Do some validation of format strings.  Thanks
 1131               Akira F Urushibata <afu@wta.att.ne.jp>.
 1132 
 1133               pamcrater: Add -verbose.
 1134 
 1135               ppmtoarbtxt: Fail if a #() escape sequence runs off end of
 1136               file or is too long to process; before, the program would
 1137               treat the text from # to EOF or where the buffer filled up
 1138               as literal text, even ignoring any #() within.
 1139 
 1140               NetBSD: show actual numbers in messages instead of "f" or
 1141               no information, by using NetBSD's vasprintf.
 1142 
 1143               Make %g in messages display the actual number instead of "g" in
 1144               messages where platform doesn't have vasprintf.  (But scores of
 1145               %f are still left).
 1146 
 1147               anytopnm: convert all images in a multi-image GIF instead of
 1148               just the first.
 1149               
 1150               Improve "bad magic number" message from pbmXXX, and pgmXXX, and
 1151               pnmXXX programs.
 1152 
 1153               Fix bogus message from ppmXXX programs when the input is not
 1154               (per the magic number) a Netpbm image.  Introduced after
 1155               Netpbm 10.26 (January 2005) but before Netpbm 10.35 (August
 1156               2006).
 1157 
 1158               ppmtoarbtxt: Fix some undefined behavior when program limits
 1159               are exceeded (i.e. buffer overruns).
 1160 
 1161               pambackground: fix bug: segfault or incorrect results in most
 1162               cases.  Thanks Ludolf Holzheid (ludolf.holzheid@gmx.de).
 1163               Introduced in Netpbm 10.37 (December 2006).
 1164 
 1165               Windows build: fix universal build failure with "No rule to make
 1166               ...icon.netpbm.oLINKERISCOMPILER...".  Broken in Netpbm 10.67
 1167               (June 2014).
 1168 
 1169 14.09.26 BJH  Release 10.68.00
 1170 
 1171               Split pgmcrater into pamcrater and pamshadedrelief.
 1172 
 1173               pnmconvol: add -bias .
 1174 
 1175               Remove pnmcomp, install a pnmcomp symlink for pamcomp.
 1176 
 1177               Fix incorrect option parsing when there are multiple common
 1178               options (e.g. -plain -quiet).  Always broken.  (Possibility of
 1179               specifying multiple common options that don't cause the program
 1180               to ignore every other option (like -version) was new in Netpbm
 1181               10.10 (October 2002).
 1182 
 1183               cameratopam: fix buffer overflow.  Always present.  (cameratopam
 1184               was new in Netpbm 10.28 (June 2005)).
 1185 
 1186               cameratopam: fix incorrect output introduced in Netpbm 10.51
 1187               (June 2010).
 1188 
 1189               ppmtopict: Fix unconditional crash.  Introduced in 
 1190               Netpbm 10.52 (September 2010).
 1191 
 1192               pcdovtoppm: Fix crash due to invalid operator == on some
 1193               systems.  Always broken (pcdovtoppm was new sometime between
 1194               Netpbm 9.25 (March 2002) and Netpbm 10.11 (October 2002)).
 1195 
 1196               Build: change _XOPEN_SOURCE from 600 back to 500 in 7 files.  It
 1197               was changed from 500 to 600 in Subversion revision 1731 in
 1198               Netpbm 10.60 (September 2012) because that made a similar
 1199               version of Netpbm compile on Mac OSX.  Without it, strdup did
 1200               not get defined.  But this is apparently a bug in Mac OSX, since
 1201               X/Open 500 does have strdup.  Furthermore, many other Netpbm
 1202               files use strdup and apparently compile OK on Mac OSX without
 1203               600.  Finally, we see today that Illumos system header files
 1204               deliberately kill the compilation if the compiler is pre-C99 and
 1205               _XOPEN_SOURCE is 600.  So we go back to 500 and if the problem
 1206               on Mac OSX gets reported again, we will look more deeply.
 1207 
 1208               Build: change _XOPEN_SOURCE from 600 back to 500 in
 1209               jpeg2ktopam.c and pamtojpeg2k.c.  It was changed from 500 to 600
 1210               in Netpbm 10.41 (December 2007), reportedly to get int_fast32_t,
 1211               etc. defined on AIX, but other files that use int_fast32_t
 1212               don't have it today, so that must be wrong.  See above for the
 1213               drawback of 600.
 1214 
 1215               Build: fix undefined symbols in fiasco converters with
 1216               static libraries.
 1217 
 1218               Build: provide means of setting the default search path for
 1219               rgb.txt color database via config.mk.
 1220 
 1221               Build: fix bug which prevents JBIG converters from building with
 1222               internal JBIG library.  Introduced in 10.67.00.
 1223 
 1224               Build: fix bug which makes build of Ppmsvga fail (which is
 1225               attempted only on a system with libvga).  Introduced in Netpbm
 1226               10.63 (June 2013)
 1227 
 1228               Build: fix build failure in an environment that does not have
 1229               __inline .  Introduced some time between Netpbm 10.26
 1230               (January 2005) and Netpbm 10.35 (August 2006).
 1231 
 1232               Build: fix build failure on SCO OpenServer due to SIGURG not
 1233               existing.  Broken in Netpbm 10.49 (December 2009).
 1234 
 1235               Build: Declare _XOPEN_SOURCE >= 500 in source files that use
 1236               strdup.
 1237 
 1238               Build: fix compile failure due to use of reserved word
 1239               'stdout'.
 1240 
 1241               Build with 'installosf': Fix crash due to invalid operator ==
 1242               on some systems.
 1243 
 1244 14.06.29 BJH  Release 10.67.00
 1245 
 1246               sgitopnm: add ability to convert 2-channel SGI image.
 1247               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1248 
 1249               sgitopnm: add ability to work with non-seekable input (e.g. a
 1250               pipe).  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1251 
 1252               pamtotiff: add -output, use Standard Output normally (before, it
 1253               had to be seekable.  Also, you could do an append operation to
 1254               Standard Output; now you have to use -output for that).  Thanks
 1255               Akira F Urushibata <afu@wta.att.ne.jp>.
 1256 
 1257               pamsharpness: put primary output on Standard Output instead of
 1258               on Standard Error as a Netpbm message.
 1259 
 1260               pamflip: fix bug when built with WANT_SSE=n: column-for-row
 1261               transformations of PBM produce garbage output.  Introduced in
 1262               10.65 (December 2013).
 1263 
 1264               sgitopnm: fix bug: no output if input is RLE compressed.  Broken
 1265               in Netpbm 10.53 (December 2010).  Thanks Akira F Urushibata
 1266               <afu@wta.att.ne.jp>.
 1267 
 1268               jpegtopnm -dumpexif: fix incorrect display of resolution.
 1269               Always broken.  (-dumpexif was new in Netpbm 9.18 September
 1270               2001).
 1271 
 1272               jpegtopnm -dumpexif: fix truncated make, model, or datetime.
 1273               Always broken.  (-dumpexif was new in Netpbm 9.18 September
 1274               2001).
 1275 
 1276               jpegtopnm -dumpexif: fix wild pointer with invalid EXIF data.
 1277               Always broken.  (-dumpexif was new in Netpbm 9.18 September
 1278               2001).
 1279 
 1280               Windows build: include an icon in every executable.  The icon
 1281               was designed by Ron Vantreese (ait_frog-netpbm@yahoo.com).
 1282 
 1283               Build: fix bug in which null value is not taken to mean
 1284               "in the system search path" for JBIGHDR_DIR and JASPERHDR_DIR.
 1285 
 1286               Build: Fix inconsistent use of upper and lower case Y and N in 
 1287               make variables, causing static library not to get built.
 1288               Introduced in 10.66.
 1289 
 1290               Build: fix dependencies in .deb package so they work with
 1291               Debian 6 at least.  Always broken (.deb capability was new in
 1292               10.66).
 1293 
 1294 14.03.30 BJH  Release 10.66.00
 1295 
 1296               Add pamvalidate.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1297 
 1298               Add pamfix: Does what pamfixtrunc did, plus repairs excessive
 1299               sample values.
 1300 
 1301               pamfixtrunc: implement as call to new pamfix.
 1302 
 1303               pgmhist, ppmhist: Add -forensic: Analyze invalid >maxval pixels.
 1304               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1305 
 1306               pgmramp: add -diagonal.  Thanks Akira F Urushibata
 1307               <afu@wta.att.ne.jp>.
 1308 
 1309               libnetpbm: Read functions validate that sample values do not
 1310               exceed maxval.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1311 
 1312               libnetpbm: Validate image dimensions are small enough that you
 1313               can allocate a row buffer.  Thanks Akira F Urushibata
 1314               <afu@wta.att.ne.jp>.
 1315 
 1316               pgmhist: fix incorrect report of quantiles or crash due to array
 1317               bounds violation in some builds.  Thanks Akira F Urushibata
 1318               <afu@wta.att.ne.jp>.  Always broken.  Quantile reporting was
 1319               new in Netpbm 10.61 (December 2012).
 1320 
 1321               pgmhist: fix buffer overrun with -median.  Always broken.
 1322               -median was new in Netpbm 10.61 (December 2012).
 1323 
 1324               pnmmargin: fix for size 0 and superfluous "unexpected operator" 
 1325               message with size != 0.  Introduced in 10.42.
 1326 
 1327               pstopnm: fix wrong interpretations of -xsize and -ysize when
 1328               rendering image in landscape (rotated).  This can appear as
 1329               stretching and squashing.  Probably always broken.
 1330 
 1331               pstopnm: fix wrong orientation sometimes when you specify
 1332               both -xsize and -ysize.  Introduced in 10.65.
 1333 
 1334               pgmramp: fix bogus output with really large images.  Thanks
 1335               Akira F Urushibata <afu@wta.att.ne.jp>.  Always broken.
 1336 
 1337               ppmrelief: fix out-of-bound values in output.  Always broken.
 1338               ppmrelief was new in primordial Netpbm in 1989.
 1339               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1340 
 1341               ppmrelief: fix crash when input image is too small.  Always
 1342               broken.  ppmrelief was new in primordial Netpbm in 1989.  Thanks
 1343               Akira F Urushibata <afu@wta.att.ne.jp>.
 1344 
 1345               pgmtexture: fix buffer overflow.  Always broken.  (Program
 1346               was added in primordial Netpbm in 1991).
 1347 
 1348               pamdeinterlace: fix incorrect output with -takeodd and image has
 1349               only one row.  Always broken (pamdeinterlace was introduced in
 1350               Netpbm 9.21 (January 2001)).  Thanks Akira F Urushibata
 1351               <afu@wta.att.ne.jp>.
 1352 
 1353               configure: warn if user says JPEG library is in the linker's
 1354               default search path, but it isn't.
 1355 
 1356               build/install: add tools for creating a Debian package.
 1357 
 1358               make package: Include template for pkgconfig file.
 1359 
 1360               make package: Include a man/web directory with .url files for
 1361               each manual page.
 1362 
 1363               test: Add -portrait to invocations of pstopnm in order to get
 1364               proper round trips.
 1365 
 1366               Windows build: fix Ppmtompeg build failure in non-Cygwin build
 1367               due to missing sys/utsname.h.
 1368 
 1369               Windows build: fix missing .exe on copies of programs under
 1370               their old names.
 1371 
 1372 13.12.26 BJH  Release 10.65.00
 1373 
 1374               pamfunc: add -changemaxval.
 1375 
 1376               pgmkernel: add -maxval.
 1377 
 1378               Recognize SIGPWR on systems that have it in messages
 1379               about signal received.
 1380 
 1381               pstopnm: More rational default for landscape/portrait choice.
 1382               In particular, if the image or page is square, image will always
 1383               be in portrait (not rotated).
 1384 
 1385               brushtopbm: check for read errors, extraneous data after apparent
 1386               end of image.
 1387 
 1388               pnmtops: Fix spurious blank line in asciihex encoding of the
 1389               image raster.  Probably harmless.  Introduced in 10.56
 1390               (September 2011).
 1391 
 1392               pnmtops: Fix crash with 12 bits per sample.  Introduced in 10.53
 1393               (December 2010).  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1394 
 1395               pnmtops: Fix bug: wrong output with -ascii85.  Introduced in
 1396               10.63 (June 2013).
 1397 
 1398               pnmtops: Fix bug: wrong output with -rle.  Introduced in
 1399               10.63 (June 2013).
 1400 
 1401               pnmtops: Fix bug: program hangs if it inherits lots of open
 1402               files.  Introduced in 10.56 (September 2011).
 1403 
 1404               pnmtops: Fix bug: fails with message about waitpid() failing
 1405               if invoked with SIGCHLD ignored.  Introduced in 10.56
 1406               (September 2011).
 1407 
 1408               pbmtoepsi: fix handling of all-white image.  Always broken.
 1409               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1410 
 1411               pbmtoepsi: fix excessively long raster line.  Always broken.
 1412               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1413 
 1414               pnmshear: fix incorrect determination of background color.
 1415               Always broken.
 1416 
 1417               ppmpat: fix crash with -squig with aspect ratio < 1:25 or
 1418               > 25:1. Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1419               Always broken.
 1420 
 1421               pgmkernel: fix some pixels 1 less than they should be.
 1422 
 1423               pamgauss: Fix typo in message.
 1424 
 1425               Fix wild pointer dereference when memory allocation for a string
 1426               fails.  Broken since 10.36 (September 2006).
 1427 
 1428               Build for big-endian machines: fix syntax error so it compiles.
 1429               Introduced in 10.63 (June 2013).
 1430 
 1431               Fix compile failure on system such as OpenBSD that don't have
 1432               SIGWINCH and SIGIO.  Broken since 10.49 (December 2009).
 1433 
 1434               Build: Use SSE2 vector instructions when compiling with Clang,
 1435               as done already with GCC.
 1436 
 1437               Build: Use <emmintrin.h> interface for SSE intrinsics
 1438               instead of GCC-specific versions.  Thanks Akira F Urushibata
 1439               <afu@wta.att.ne.jp>.
 1440 
 1441               Build on system without vasprintf (not GNU libc): fix compiler
 1442               warning.
 1443 
 1444               Apple build: use vasprintf.
 1445 
 1446 13.09.28 BJH  Release 10.64.00
 1447 
 1448               pngtopam: fix bug: ignores -gamma.  Introduced in 10.48
 1449               (September 2009).
 1450 
 1451               libnetpbm, pnmpsnr, ppmcie on systems that don't use GNU C
 1452               library: fix bogus printing of floating point numbers.
 1453 
 1454               test: fix ppmhist lack of sorting.
 1455 
 1456 13.06.29 BJH  Release 10.63.00
 1457 
 1458               Add pamtowinicon, winicontopam.  Thanks Ludolf Holzheid
 1459               (lholzheid@bihl-wiedemann.de).
 1460 
 1461               pgmnoise: add -maxval, speed up.  Thanks Akira F Urushibata
 1462               <afu@wta.att.ne.jp>.
 1463 
 1464               Perl programs: make them shell programs that reinvoke themselves
 1465               as perl so we can get the Perl interpreter from the PATH.
 1466 
 1467               yuvtoppm: check for inconsistencies between specified
 1468               width and height and size of input.
 1469 
 1470               411toppm: check for inconsistencies between specified
 1471               width and height and size of input.
 1472 
 1473               Ignore -plain when program generates PAM.  Before, programs
 1474               failed if the user specified -plain to a program that generates
 1475               a PAM image.
 1476 
 1477               giftopnm: fix bug: erroneously claims GIF ends prematurely.
 1478               Broken in Netpbm 10.38 (March 2007).  This affects all GIFs, but
 1479               the problem does not manifest when Netpbm was built with Gcc
 1480               from 2007 and later.
 1481 
 1482               pnmtops: Fix bug: only first image gets converted.  Broken in
 1483               Netpbm 10.56 (September 2011).
 1484 
 1485               pnmtopng: fix bug: incorrect output when output should have
 1486               an alpha mask.  Broken in Netpbm 10.55 (June 2011).  Thanks
 1487               Ludolf Holzheid (lholzheid@bihl-wiedemann.de).
 1488 
 1489               pnmtopng: fix bug: output bigger than it needs to be when the
 1490               input is a color format image that contains only gray.  Broken
 1491               since at least Netpbm 10.26 (May 2001), but after 10.18
 1492               (September 2003).  Thanks Ludolf Holzheid
 1493               (lholzheid@bihl-wiedemann.de).
 1494 
 1495               pnmremap (ergo pnmquant): fix bug: incorrect output with
 1496               -norandom and floyd-steinberg dithering.  Always broken.
 1497               (-norandom was introduced in Netpbm 10.39 (June 2007)).
 1498 
 1499               pamtilt: fix bug: incorrect output or invalid memory access
 1500               crash.  Always broken (program was new in Netpbm 10.30
 1501               (October 2005)).
 1502 
 1503               pnmpsnr: fix bug: says types aren't the same when they are.
 1504               Introduced in Netpbm 10.61 (December 2012).
 1505               
 1506               ppmtowinicon: fix bug: sometimes creates image truncated in the
 1507               middle of the AND mask.  Always broken (program was new in
 1508               Netpbm 9.3 (June 2000)).
 1509 
 1510               ppmtoxpm: fix bug: ignores inability to open the specified color
 1511               dictionary file (-rgb) and just doesn't use color names.
 1512               Introduced in Netpbm 10.15 (April 2003).
 1513 
 1514               libnetpbm: fix bug: ppm_freecolornames() has wild pointer
 1515               dereference when the color name table was generated empty
 1516               because the color dictionary file was not openable.  ppmtoxpm
 1517               suffers from this.  Broken in 10.15 (April 2003).
 1518 
 1519               libnetpbm: fix bug: pnm_readpaminit and pnm_writepaminit set
 1520               'opacity_plane' member of struct pam incorrectly.  No Netpbm
 1521               programs are affected.  Always broken (member was added in
 1522               Netpbm 10.56 (September 2011)).
 1523 
 1524               sparc64 pbmtog3: fix bug that causes crash due to unaligned
 1525               memory access.
 1526 
 1527               ppmforge. fix crash when -mesh is 1 or less.  Always broken
 1528               (program was added in Pbmplus (October 1991).  Thanks 
 1529               Akira F Urushibata <afu@wta.att.ne.jp>.
 1530 
 1531               ppmforge: fix array bounds violation.  Always broken (program
 1532               was added in Pbmplus (October 1991).  Thanks Akira F Urushibata
 1533               <afu@wta.att.ne.jp>.
 1534 
 1535               install: fix Perl warning in installnetpbm.  Broken in 
 1536               Netpbm 10.61.
 1537 
 1538               build: Use <stdbool.h> when available.
 1539 
 1540               build: fix problem with creating lib/util that already exists.
 1541               Broken in Netpbm 10.62.
 1542 
 1543 13.03.28 BJH  Release 10.62.00
 1544 
 1545               pnmtorast: set don't care bytes to zero to make output
 1546               repeatable.
 1547 
 1548               rasttopnm: add -dumpheader, dumpcolormap.
 1549 
 1550               pamstereogram: change -guidesize default from 10 to 20
 1551               (relevant since Netpbm 10.61).
 1552 
 1553               rasttopnm: fix bug: incorrect output due to used-before-set
 1554               variable.  Introduced in Netpbm 10.56 (September 2011).
 1555 
 1556               pamstereogram: fix bug: doesn't reject negative guidesize.
 1557               Broken since Netpbm 10.61.
 1558 
 1559               pamstereogram: fix bug: garbage in -verbose listing.  Broken
 1560               since Netpbm 10.61
 1561 
 1562               Windows MinGW build: various fixes.
 1563 
 1564 12.12.30 BJH  Release 10.61.00
 1565 
 1566               pgmhist: Add -machine option.
 1567 
 1568               pgmhist: Add -median, -quartile, and -decile options.
 1569 
 1570               pamstereogram: Add -guidetop and -guidebottom options to replace
 1571               trick where negative -guidesize means top, positive means
 1572               bottom, absent means none.
 1573 
 1574               pamtojpeg2k: default to no compression ratio constraint and
 1575               allow compression ratios less than 1.  Because of compression
 1576               metadata, small images do require loss of quality in order to
 1577               get down to a compression ratio of 1.
 1578 
 1579               pamstereogram: -smoothing smooths images even without -texfile.
 1580               Thanks Scott Pakin (scott+pbm@pakin.org).
 1581 
 1582               pnmcat: set don't care bits in packed PBM output to zero so
 1583               they are predictable.
 1584 
 1585               libpam, pamcomp: fix bug: treats tuple type GRAYSCALE_ALPHA like
 1586               GRAYSCALE on 32-bit machine.  Actually, looks only at first 4
 1587               characters (8 characters on machine with 64 bit addresses) of
 1588               the tuple type.  Broken since Netpbm 10.56 (September 2011).
 1589 
 1590               pngtopam -alphapam with grayscale input: fix bug: generates
 1591               invalid output: tuple type GRAYSCALE_ALPHA, but depth 1.  Depth
 1592               should be 2.  Always broken (pngtopam was created in 
 1593               Netpbm 10.44 (September 2008)).
 1594               
 1595               pamtotiff: fix bug: XRESOLUTION, YRESOLUTION, and RESOLUTIONUNIT
 1596               not allowed in -tags.  Broken at least since Netpbm 10.35.
 1597 
 1598               pnmpsnr: fix crash when invoked (invalidly) with only one
 1599               argument.  Always broken.
 1600 
 1601               leaftoppm: fix incorrect determination of whether input is
 1602               Interleaf on 64 bit systems.  Always broken.
 1603 
 1604               cmuwmtopbm: fix incorrect determination of whether input is
 1605               a CMU window manager bitmap on 64 bit systems.  Always broken.
 1606 
 1607               pnmmontage: fix totally wrong output.  Broken in Netpbm 10.44
 1608               (August 2008).
 1609 
 1610               pnmmontage: fix random stuff placed in unoccupied space in the
 1611               output image.  Always broken (program was new in Netpbm 9.10
 1612               (January 2001).
 1613 
 1614               pbmpscale, pgmhist, pampick, pamtompfont: fix wild pointer in
 1615               command line parsing.  Bug has always been there in pampick,
 1616               pamtompfont, since Netpbm 10.50 (March 2010) in pbmpscale, since
 1617               10.44 (September 2008) in pgmhist.
 1618 
 1619               xbmtopbm: fix incorrect output, memory leak.  Thanks Akira F
 1620               Urushibata <afu@wta.att.ne.jp>.
 1621 
 1622               sunicontopnm: Fix incorrect output for depth 8.  Always broken
 1623               (depth = 8 capability was added in Netpbm 10.53 (December 2010).
 1624 
 1625               pamgauss: Fix bug: erroneously says -maxval is too big on 64 bit
 1626               system.  Always broken (Pamgauss was added in Netpbm 10.23 (July
 1627               2004).
 1628 
 1629               ppmpat: Fix bug: wrong output with -poles.  Broken in Netpbm
 1630               10.47 (June 2009).
 1631 
 1632               Add tests.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1633 
 1634 12.09.30 BJH  Release 10.60.00
 1635 
 1636               xpmtoppm: major speedup for 3-character-per pixel files,
 1637               memory reduction for all files: use hash table instead of
 1638               linear search or direct index, go row by row.
 1639 
 1640               xpmtoppm: fix bogus "color number too large" failure.  Broken
 1641               in Netpbm 10.49 (December 2009).
 1642 
 1643               pnm_hashtuple: slight performance improvement from new hash
 1644               function.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1645 
 1646               ppmtospu: wild memory accesses.  Always broken (program added in
 1647               Netpbm 10.58 (March 2012).
 1648 
 1649               pamtosrf: fix storage corruption.  Always broken (program added
 1650               in Netpbm 10.55 (June 2011).
 1651 
 1652               Build: change _XOPEN_SOURCE 500 to 600 because on a Mac OSX
 1653               Netpbm 10.8 system, this is necessary to get 'strdup' into
 1654               <strings.h>.
 1655 
 1656               Build: rename getline() in xpmtoppm.c to avoid collision
 1657               with some libc.  Always broken.
 1658 
 1659               Build: Don't expect GCC facilities to exist when compiler is
 1660               Clang.  (Note that Clang identifies itself as GCC).
 1661 
 1662 12.06.28 BJH  Release 10.59.00
 1663 
 1664               pamtogif: Make data blocks 255 bytes instead of 254.  255 is
 1665               the maximum allowed by GIF.  254 was intended to not trigger
 1666               potential bugs in programs that read the file.
 1667 
 1668               ppmdraw: Add 'filledcircle' command class.  Thanks
 1669               Elijah Griffin <eli@panix.com>.
 1670 
 1671               pamstereogram: Add -planes .  Thanks Scott Pakin
 1672               (scott+pbm@pakin.org).
 1673 
 1674               pamstereogram: improve verbose output.  Thanks Scott Pakin
 1675               (scott+pbm@pakin.org).
 1676 
 1677               pamstereogram: fix crash introduced in Netpbm 10.54 (March 2011).
 1678 
 1679               pamstereogram: fix crash introduced in Netpbm 10.53 (December
 1680               2010).
 1681 
 1682               Build: fix bug: declines to build pnmtops.  Broken in Netpbm
 1683               10.58.
 1684 
 1685               Build: move -lm to end of -l's.  Broken at least since Netpbm
 1686               10.35.
 1687 
 1688 12.03.29 BJH  Release 10.58.00
 1689 
 1690               Add ppmtospu, 22 years late.
 1691 
 1692               pngtopam: fix incorrect output when PNG has 16 bits per pixel.
 1693               Broken in Netpbm 10.56.
 1694 
 1695               pgmtexture: fix integer overflow in difference variance.
 1696               Always broken.
 1697 
 1698               pgmtexture: fix array bounds violations in various calculations.
 1699               Always broken.
 1700 
 1701               xpmtoppm: Make it work on XPM with zero characters per pixel.
 1702 
 1703               pm_make_tmpfile_fd: fix improper handling when unable to get
 1704               memory to construct file name.
 1705 
 1706               ppmquantall: replace with pnmquantall and change from Bash
 1707               to Perl.
 1708 
 1709               Windows/Mingw: fix bug: temporary file creation fails
 1710               consistently.  Broken in Netpbm 10.34.
 1711 
 1712               Windows/Mingw: set binary mode on files.
 1713 
 1714               Windows: compute program name correctly.
 1715 
 1716               configure: work around Perl bug that causes 'configure' to
 1717               falsely conclude Svgalib is installed.
 1718 
 1719               Build: Use rand/srand instead of random/srandom because the
 1720               latter are not present in Mingw builds.
 1721 
 1722               Build: fix bug finding X libraries for merge buildl
 1723 
 1724               Build: redo conditional compilation of Windows to use
 1725               MSVCRT, based on _WIN32, instead of WIN32.
 1726 
 1727               Build, Windows: various fixes.
 1728 
 1729               Build: use Pkgconfig to find libxml2 if it works (fall back
 1730               to xml2-config).
 1731 
 1732 11.12.30 BJH  Release 10.57.00
 1733 
 1734               pnmnorm: add -midvalue, -middle .
 1735 
 1736               pngtopam: fix crash with invalid tIME chunk.  Always broken.
 1737 
 1738               pamarith: fix wrong result with -multiply.  Broken in Netpbm
 1739               10.41.
 1740 
 1741               pamscale: fix all black output with resampling.  Always broken.
 1742 
 1743               Build: don't use <alloca.h>.
 1744 
 1745 11.09.28 BJH  Release 10.56.00
 1746 
 1747               Add pamexec.  Thanks Michael Pot <fmw@actrix.co.nz>.
 1748 
 1749               pbmclean: add -extended.  Idea from kugland@gmail.com.
 1750 
 1751               rasttopnm: add -index.
 1752 
 1753               pamcomp: Retain opacity information from underlying image.
 1754 
 1755               pnmtops: Add PBM fast path.  Thanks Akira F Urushibata
 1756               <afu@wta.att.ne.jp>.
 1757 
 1758               libnetpbm and most programs that use color maps: speedup with
 1759               new color hash function.  Thanks Akira F Urushibata
 1760               <afu@wta.att.ne.jp>.
 1761 
 1762               pnmquant: use File::Temp::tempfile() instead of local
 1763               approximation if it is available.
 1764 
 1765               pnmquant: work with older Perl that doesn't have 3-argument open.
 1766               Thanks Slaven Rezic <srezic@iconmobile.com>.
 1767 
 1768               pamscale: Issue error message instead of ignoring extraneous
 1769               arguments.
 1770 
 1771               libnetpbm, many programs: fix bug in pm_allocarray(): returns
 1772               NULL when can't get memory.  Calling programs thus crash on
 1773               very large images.  Introduced in Netpbm 10.51.
 1774               
 1775               pnmtopng: fix bug: with -alpha specifying a mask which contains
 1776               no fully transparent area, output PNG is fully opaque.
 1777               Introduced in Netpbm 10.29.
 1778 
 1779               pnmtops: fix message: says "from top edge" where it means
 1780               "from bottom edge."
 1781 
 1782               ppmcie: fix bug: fails with "X coordinate out of range" error.
 1783               Introduced in Netpbm 10.51.
 1784 
 1785               bmptopnm: Fail properly with BMP that indicates an illegal bits
 1786               per pixel.
 1787 
 1788               Build: To find libpng, use the Pkgconfig database entry instead
 1789               of libpng-config if it is available.
 1790 
 1791               Build: pnmtops: Instead of omitting pnmtops from the build when
 1792               there is no libz, just omit ability to create flate-compressed
 1793               output from pnmtops.
 1794 
 1795 11.06.29 BJH  Release 10.55.00
 1796 
 1797               Add pamtosrf, srftopam.  Thanks Mike Frysinger
 1798               (vapier@gentoo.org).
 1799 
 1800               pgmtexture: fix wrong sum variance result.  Wrong since the
 1801               beginning.  Thanks Francois P. S. Luus <fpsluus@gmail.com>.
 1802 
 1803               pamrubber: fix crash.  Introduced in Netpbm 10.54.
 1804 
 1805               libnetpbm: pm_system(): fix bug - program always takes
 1806               Standard Input from invoker's Standard Input when you don't
 1807               supply a Standard Output accepter.  Introduced in Netpbm 10.40.
 1808 
 1809               ppmtobmp: fix bug: crash ("internal error") or bogus failure or
 1810               incorrect output on image without palette (e.g. black and
 1811               white).  Introduced in Netpbm 10.54.
 1812 
 1813               pnmtops: fix floating point exception or bogus width/height
 1814               too large error.  Introduced in Netpbm 10.53.
 1815 
 1816               pnmcat: Fix garbage output when multiple input image are from
 1817               Standard Input (now it just fails gracefully).
 1818 
 1819               Build: Use 'pkg-config' to find X libraries if possible (This
 1820               works with modern Xorg installations).
 1821 
 1822               Build: pnmtopng, pamrgbatopng compile with newer libpng,
 1823               as they no longer refer to private members of the pnginfo
 1824               structure.
 1825 
 1826               Build: fix undefined "strsol" and "vsnprintfN" failure on
 1827               systems without vasprintf().  Introduced in Netpbm 10.53.
 1828 
 1829               Build: fix compiler warning in pbmtocmuwm.
 1830 
 1831               configure: fix selection of mingw compiler.  Introduced in
 1832               Netpbm 10.48.
 1833 
 1834 11.03.30 BJH  Release 10.54.00
 1835 
 1836               Add pamrubber.  Thanks Willem van Schaik <willem@schaik.com>.
 1837 
 1838               Add ppmtoapplevol.  Thanks Matthew Garrett
 1839               <mjg59@srcf.ucam.org>.
 1840 
 1841               Add pamwipeout.  Thanks Willem van Schaik <willem@schaik.com>.
 1842 
 1843               pngtopam: add -byrow.
 1844 
 1845               pnmtopclxl: add -embedded.
 1846 
 1847               pgmtoascii: Truncates instead of undefined behavior if input
 1848               image is wider than specified width.
 1849 
 1850               Add libpamd (PAM version of classic libppmd drawing routines).
 1851 
 1852               Rename pbmtoicon to pbmtosunicon, to go with change
 1853               of icontopbm to sunicontopnm in Netpbm 10.53.
 1854 
 1855               g3topbm: correct error message: codes go up to 13 bits.
 1856 
 1857               pamstereogram: fix crash when not doing texture.
 1858 
 1859               pgmtoascii: Fix numerous output bugs.
 1860 
 1861               pngtopam: fix bug: -verbose reports history chunk present when
 1862               it's really a palette.
 1863 
 1864               pnmpsnr: fix bug: says PGM images differ when they don't
 1865               and vice versa.
 1866 
 1867 10.12.30 BJH  Release 10.53.00
 1868 
 1869               Add pammosaicknit.  Thanks Scott Pakin.
 1870 
 1871               pstopnm: Add -textalphabits, default Ghostscript TextAlphaBits
 1872               to 4.
 1873 
 1874               pngtopam: include tuple type in output.  Thanks
 1875               Thomas Henlich <thenlich@users.sourceforge.net>.
 1876 
 1877               sunicontopnm: Understands Depth=8.  Thanks Akira F Urushibata
 1878               <afu@wta.att.ne.jp>.
 1879 
 1880               sunicontopnm: Validate header.  Thanks Akira F Urushibata
 1881               <afu@wta.att.ne.jp>.
 1882 
 1883               bmptopnm: Don't crash on invalid zero value of image height in
 1884               the BMP header of a compressed file.  Always broken.
 1885               
 1886               bmptopnm: don't crash on large invalid value of 'colorsused' in
 1887               the BMP header.  Introduced in Netpbm 9.11.
 1888 
 1889               pm_mallocarray2: fix wild pointers when image is too big to fit
 1890               in a single chunk of malloc memory.  Affects many Netpbm
 1891               programs.  Introduced in Netpbm 10.51.00.
 1892 
 1893               ilbmtoppm: Don't crash on image that has a transparent color
 1894               index, but no color map.
 1895 
 1896               sunicontopnm: fix for 32 bit items in input.  Thanks Akira F
 1897               Urushibata <afu@wta.att.ne.jp>.
 1898 
 1899               sunicontopnm: fix arithmetic overflows.  Thanks Akira F
 1900               Urushibata <afu@wta.att.ne.jp>.
 1901 
 1902               icontopbm: rename to sunicontopnm.
 1903 
 1904               pamstereogram: Add mapped texture stereogram option.
 1905               Thanks Scott Pakin.
 1906 
 1907               pamstereogram: slight change to dpi and eye separation defaults.
 1908               invert near/far dark/light association.  Thanks Scott Pakin.
 1909 
 1910               pnmtops: Fix incorrect output with -flate.  Thanks Akira F
 1911               Urushibata <afu@wta.att.ne.jp>.
 1912 
 1913               sgitopnm: Fix arithmetic overflow on -channel option.  Thanks
 1914               Akira F Urushibata <afu@wta.att.ne.jp>.
 1915 
 1916               sgitopnm: Fix crash with -channel on verbatim SGI image.  Thanks
 1917               Akira F Urushibata <afu@wta.att.ne.jp>.
 1918 
 1919               fitstopnm: Deal properly with NaN in input image.
 1920 
 1921               pm_floatFromBigendFloat, pm_doubleFromBigendFloat, fitstopnm:
 1922               fix corrupted output.  Broken in Netpbm 10.46.
 1923 
 1924               pamtopdbimg: fix corrupted output image.  Thanks Scott Pakin.
 1925 
 1926               pdbimgtopam: fix corrupted output image.  Thanks Scott Pakin.
 1927 
 1928               pnmtops: fix arithmetic overflows.  Thanks Akira F Urushibata
 1929               <afu@wta.att.ne.jp>.
 1930 
 1931               Rename all external symbols that don't have a Netpbm prefix
 1932               to start with "pm_": shhopt, nstring, nsleep.  Eliminate
 1933               createBlackTuple -- pnmCreateBlackTuple already existed.
 1934 
 1935               libnetpbm: Change shared library major number to 11 because
 1936               of above renaming.
 1937 
 1938               build: include -lm in build of pamtopdbimg, pdbimgtopam.
 1939 
 1940               configure: Make warnings stand out more.
 1941 
 1942               configure: Fix crash when libpng test compile fails.
 1943 
 1944 10.09.26 BJH  Release 10.52.00
 1945 
 1946               Add pamtopdbimg, pdbimgtopam.
 1947 
 1948               Add pamrecolor.  Thanks Scott Pakin.
 1949 
 1950               anytopnm: Use 'pngtopam' shell command instead of 'pngtopnm'.
 1951 
 1952               pnmtopng:  -libversion doesn't report level of linked libz.
 1953               It was a modularity violation and caused build failures on
 1954               Mac OS X, because pnmtopng per se doesn't know about libz --
 1955               it's used by libpng.
 1956 
 1957               libnetpbm: add pm_readbiglong2, pm_readbiglong2u,
 1958               pm_readlittlelong2, pm_readlittlelong2u: These use the proper
 1959               32 bit integer types instead of "long".  (But the old ones
 1960               still work in legacy code because long is always at least 32
 1961               bits).
 1962 
 1963               pnmconvol: fix reversed sense of -nooffset.  Introduced in
 1964               Netpbm 10.49.
 1965 
 1966               ppmtompeg: fix crash with free of unallocated memory.
 1967               Broken after Netpbm 10.18, not later than 10.26.
 1968 
 1969               Build: fix parallel make - multiple simultaneous attempts to
 1970               build lib/util/importinc.
 1971 
 1972               Build: don't fail due to SIGRTMIN, SIGRTMAX being undefined.
 1973 
 1974               Build: don't expect snprintf() to exist.
 1975 
 1976               Build: don't use <strings.h> or bzero().
 1977 
 1978               Build: fix PNGVER.  Thanks Matthew Fischer
 1979               <futhark@users.sourceforge.net>.
 1980 
 1981 10.06.27 BJH  Release 10.51.00
 1982 
 1983               Add ppmtoascii.  Thanks "Frank Ch. Eigler" <fche@elastic.org>.
 1984 
 1985               pnmtops: Add -bitsperpixel option.
 1986 
 1987               pamx: Make exit status 0 instead of 10 when window manager
 1988               requests termination.
 1989 
 1990               pnmsmooth: Respect -plain.  Thanks Akira F Urushibata
 1991               <afu@wta.att.ne.jp>.
 1992 
 1993               pnmsmooth: Don't display pnmconvol messages (i.e. run
 1994               pnmconvol with -quiet).
 1995 
 1996               pamflip: speedup for PBM.  Use SSE2 and skip some idempotent
 1997               pixel movement.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 1998 
 1999               anytopnm: recognize "PC bitmap" in 'file' response as BMP.
 2000               (in addition to existing "PC bitmap data").
 2001 
 2002               libnetpbm, various PBM programs: Use SSE instead of MMX.  Thanks
 2003               Akira F Urushibata <afu@wta.att.ne.jp>.
 2004 
 2005               pbmtext/libpbmfont: Fix wild pointer; probably asymptomatic.
 2006               Introduced in Netpbm 10.39.
 2007 
 2008               pbmtext/libpbmfont: Fix some error messages for bad fonts.
 2009 
 2010               pbmtext/libpbmfont: fix crash with a BDF font with negative
 2011               left or bottom border.  Introduced in Netpbm 10.39.
 2012 
 2013               pamarith: fix memory leak.  Introduced in Netpbm 10.41.
 2014 
 2015               pnm_bytespersample(): fix bogus assertion on 64 bit system.
 2016 
 2017               pnmtops: fix bug: 12 bits per sample output when 8 would do.
 2018               Introduced in Netpbm 10.40.
 2019 
 2020               palmtopnm: fix for pixel size 16.  Thanks Paul Bolle
 2021               <pebolle@tiscali.nl>.
 2022 
 2023               pnmsmooth: Fail politely when convolution matrix is so
 2024               large as to bust the system's program parameter size limit
 2025               on the invocation of pnmconvol.
 2026 
 2027               avstopam: fix incorrect output.
 2028 
 2029               pnmsmooth: fix arithmetic overflow with absurdly large
 2030               convolution matrix dimensions.  Thanks Akira F Urushibata
 2031               <afu@wta.att.ne.jp>.
 2032 
 2033               pnmsmooth: fix wild pointer: causes wrong arguments to
 2034               'pnmconvol'.  Introduced in Netpbm 10.50.  Thanks Akira F
 2035               Urushibata <afu@wta.att.ne.jp>.
 2036 
 2037               pamscale: fix -reduce.  Introduced in Netpbm 10.27 (March 2005).
 2038 
 2039               pampaintspill: fix incorrect output.
 2040 
 2041               libnetpbm text drawing: fix incorrect output in all cases.
 2042               Introduced in Netpbm 10.47.
 2043 
 2044               libnetpbm line drawing: fix bogus assertion, introduced in
 2045               Netpbm 10.47.
 2046 
 2047               build: fix incorrect determination of when vasprintf() exists
 2048               in libc.
 2049 
 2050               configure: don't default to /usr/X11R6/lib/libX11.so just because
 2051               /usr/X11R6 exists.  /usr/X11R6/lib must exist.
 2052 
 2053 10.03.27 BJH  Release 10.50.00
 2054 
 2055               Add pamtoavs, avstopam.  Thanks Scott Pakin.
 2056 
 2057               Add pampaintspill.
 2058 
 2059               pnmconvol: Add -normalize .
 2060 
 2061               pm_system(): Close extraneous file descriptors that, among
 2062               other things, prevent child from seeing EOF.
 2063 
 2064               libnetpbm: Add PNM_GETR(), PNM_GETG(), PNM_GETB().  Same
 2065               as PPM_GETR(), etc.
 2066 
 2067               libnetpbm: Add ppm_luminosity().  Same as PPM_LUMIN, but
 2068               returns pixval.
 2069 
 2070               pnmhisteq: Equalize based on luminosity alone, rather than a
 2071               strange combination of luminosity and HSV value.
 2072 
 2073               pamenlarge: Make special fast path for scale factors up to 10
 2074               (2, 3, and 5 already existed).  Thanks Akira F Urushibata
 2075               <afu@wta.att.ne.jp>.
 2076 
 2077               pamflip: Speed up for most images.  Thanks Akira F Urushibata
 2078               <afu@wta.att.ne.jp>.
 2079 
 2080               ybmtopbm: Assume YBM format has raster in natural order
 2081               instead of byte-reversed.  This is what pbmtoybm creates,
 2082               and is most logical.  We don't know if there are any existing
 2083               YBM images or generators of them other than pbmtoybm.
 2084 
 2085               pbmpscale: speedup.
 2086 
 2087               pbmclean: speedup.
 2088 
 2089               pbmtext: fix crash when BDF font file contains spurious
 2090               blank line.  Ignore such blank lines.
 2091               
 2092               pbmpscale: fix arithmetic overflow on output image dimensions.
 2093 
 2094               pbmtogem, pbmtoybm, pgmtolispm, ppmtoilbm, pnmtosgi: fix
 2095               arithmetic overflow with image dimension represented as
 2096               16 bit integer.
 2097 
 2098               pbmpage: fix garbage output.
 2099 
 2100               pnmhistmap: Fix crash with -width.  Always broken.
 2101 
 2102               libppmd/ppmpat: fix wild pointer in ppmd_fill_drawprocp();
 2103               broken in Netpbm 10.47.
 2104 
 2105               palmtopnm: fix incorrect "PALM_DIRECT_COLOR_FLAG is not valid
 2106               for version 3 encoding type" failure.  Thanks Paul Bolle
 2107               <pebolle@tiscali.nl>.
 2108 
 2109               pamtosvg: fix bug: occasional crash with out of range error.
 2110               Introduced in Netpbm 10.42.
 2111 
 2112               palmtopnm: fix incorrect output with version 3 direct color.
 2113               Thanks Paul Bolle <pebolle@tiscali.nl>.
 2114 
 2115               Build: don't fail due to SIGPWR being undefined.
 2116 
 2117 09.12.30 BJH  Release 10.49.00
 2118 
 2119               Add pnmmercator.
 2120 
 2121               pnmconvol: Add -matrix, -matrixfile.
 2122 
 2123               pambayer: add -nointerpolate.
 2124 
 2125               jpeg2ktopam: Work with JP2 input as well as JPC.
 2126 
 2127               pamscale: Work on multi image stream.
 2128 
 2129               ppmrainbow: Make new directory for temporary files.
 2130               Prevents interference by other user who shares the main
 2131               temporary file directory.
 2132 
 2133               libnetpbm: When reading plain format PNM with PAM routines,
 2134               validate pixel against maxval (necessary for integer non-overrun
 2135               guarantees).
 2136 
 2137               pnmsmooth: change -dump option to output a new pnmconvol
 2138               -matrix option instead of a PGM file (because pnmsmooth now
 2139               uses -matrix).
 2140 
 2141               pnmtofiasco: fix bug: doesn't work with Standard Input.
 2142 
 2143               pnmsmooth: fix incorrect call to pm_system_lp() that makes
 2144               it never work (but it wouldn't anyway because pm_system_lp()
 2145               was broken -- see below).
 2146 
 2147               pm_system*: fix various bugs making it never work.
 2148 
 2149               xpmtoppm: fix wild pointer with color index > 127.
 2150 
 2151               xpmtoppm: fix wild pointer when the input has a color index
 2152               value that is too large to be consistent with the number of
 2153               colors and bytes per pixel.
 2154 
 2155               pamtouil: fix crash when -name option doesn't contain an
 2156               underscore.
 2157               
 2158               pamtosvg: fix some bug with unset Z coordinate.
 2159 
 2160               pnmtofiasco, fiascotopnm: fix bug on bigendian machine.
 2161 
 2162               pngtopam: use png_create_read_struct() instead of
 2163               png_create_write_struct().  Broken since Netpbm 10.48.
 2164 
 2165               configure: advise if adding -lz -lm fixes libpng link problem.
 2166 
 2167               makeman: some fixes or enhancements.
 2168 
 2169 09.09.27 BJH  Release 10.48.00
 2170 
 2171               ppmsvgalib: Wait to initialize Svgalib to prevent it from
 2172               interfering with error messages early code might issue, and
 2173               leaving the console in an undesirable state if the failures
 2174               cause the program to abort early.
 2175 
 2176               tifftopnm: wait for Pamflip processes to terminate before
 2177               exiting.
 2178 
 2179               Remove pngtopnm from the package.  Pngtopnm is now an alias
 2180               for Pngtopam.
 2181 
 2182               pngtopam, pnmtopng: Compiles with libpng 1.4 beta.
 2183 
 2184               pamtotiff: do miniswhite properly with 8 and 16 bit samples.
 2185 
 2186               pamsumm: fix syntax error message.
 2187 
 2188               pambayer: fix unconditional crash/failure when you aren't using
 2189               Standard Input.
 2190 
 2191               Add pbmtocis, cistopbm.  Thanks John Elliott
 2192               <jce@seasip.demon.co.uk>.
 2193 
 2194               Build: tifftopnm builds on systems without fork().
 2195 
 2196               Build: work with JPEG library Version 7.
 2197 
 2198               Build: Configure recognizes libvga.a installed without
 2199               libvga.so and offers that as default.
 2200 
 2201               Build: Configure recognizes the Mingw-64 compiler.
 2202 
 2203               Build: fix failure of a merge build on a system that doesn't
 2204               have the PNG library.
 2205 
 2206               Build: fix failure to recognize static library in omitting
 2207               -R from link.
 2208 
 2209               Build: use AR from config.mk instead of "ar" to build static
 2210               libraries: libnetpbm, librle, libjasper.
 2211 
 2212               Build: don't use "uint".
 2213 
 2214               Package: fix installation of pnmplain on Windows (.exe suffix).
 2215 
 2216 09.06.27 BJH  Release 10.47.00
 2217 
 2218               Add pamsistoaglyph.  Thanks Scott Pakin.
 2219 
 2220               pnmpsnr: Use more precise math to conclude that images are
 2221               identical.
 2222 
 2223               Add /usr/share/netpbm/rgb.txt to search path for color
 2224               dictionary.
 2225 
 2226               Remove nstring.h from exported interfaces.
 2227 
 2228               giftopnm: improve efficiency.
 2229 
 2230               libppmd: Add ppmd_point-based functions (ppmd_linep(), etc).
 2231 
 2232               pnmremap: fix: -firstisdefault uses an arbitrary color from the
 2233               map as default.
 2234 
 2235               pnmremap: fix -missingcolor:  where map file (ergo output) is not
 2236               depth 3, uses an arbitrary color.
 2237 
 2238               pnmremap: fix loss of dithering when the map (and thus the
 2239               output) has lower maxval than the input.  (Old code scales down
 2240               to the new maxval before dithering).
 2241 
 2242               giftopnm: fix for unlikely case of a block smaller than a code.
 2243 
 2244               ppmpat: fix crash in -squig.
 2245 
 2246               ppmpat: fix crash when width or height is zero.
 2247 
 2248               ppmpat: fix wrong output with -poles.
 2249 
 2250               libppmd (ppmpat, ppmdraw): Fix various out of bounds number
 2251               problems.
 2252 
 2253               ilbmtoppm: fix some bug in interpreting ILBM input.
 2254               (due to wrong pm_uintFromBigend16()).  From Netpbm 10.46.
 2255 
 2256               ximtoppm: fix crash in command line processing.
 2257 
 2258               ppmrainbow: exit with proper exit status upon failure.
 2259               
 2260               ppmfade: eliminate reference to undeclared subroutine.
 2261 
 2262               ppmquantall: don't use 'set' to set Bourne shell variable.
 2263 
 2264               pnmtile: fix reference to arbitrary storage in option
 2265               processing.  Introduced in Netpbm 10.42.
 2266 
 2267               pamstereogram: fix tuple type in output file (and crash
 2268               with -verbose) with -patfile .
 2269 
 2270               pamstereogram: fix uninitialized bytes per sample value.
 2271 
 2272               pbmtomacp: fix buffer overflow.
 2273 
 2274               libnetpbm (ppmd): fix: don't ignore failure to read font file.
 2275 
 2276               Fix: remove inclusion of pm_c_util.h from sshopt.h, which is
 2277               an exported interface header file, whereas pm_c_util.h is not.
 2278 
 2279               Lots of changes to integer code, bit access, word access, etc.
 2280               None functional.  Some speedup.
 2281 
 2282               make distclean: remove lib/compile.h.
 2283               
 2284               configure: use TEMP environment variable for TMPDIR if TMPDIR
 2285               is not set.  Don't try different temp file names forever; the
 2286               problem may not be the filename.
 2287 
 2288               configure: offer Gcc as an optional compiler for HP-UX.
 2289 
 2290 09.03.29 BJH  Release 10.46.00
 2291 
 2292               xwdtopnm: Add -cmapdump .
 2293 
 2294               xwdtopnm: Change maxval calculation for truecolor to fit
 2295               X11 spec.  Now it's determined by bits_per_rgb.
 2296 
 2297               xwdtopnm: Add warning about 2 byte sample output.
 2298          
 2299               pnmcrop: fast path for PBM.
 2300 
 2301               pnmcrop: Use border file instead of original image to determine
 2302               the background color (i.e. the color of added margins).
 2303 
 2304               pnmscale: finally make it just an alias of pamscale, which
 2305               obsoleted it in Netpbm 10.20.
 2306               
 2307               pnmcut: finally make it just an alias of pamcut, which
 2308               obsoleted it in Netpbm 9.20.
 2309 
 2310               tifftopnm: fix orientation problem on big-endian machines.
 2311               Introduced in Netpbm 10.42.
 2312 
 2313               pnmcrop: various fixes.
 2314 
 2315               g3topbm: fix array bound violation.  Introduced in Netpbm 10.32.
 2316 
 2317               pnmcat: fix array bound violation with PBM top/bottom
 2318               concatenation.  Introduced in Netpbm 10.44.
 2319 
 2320               ilbmtoppm: Fix array bound violation with compressed ILBM.
 2321               Introduced in Netpbm 10.18.
 2322 
 2323               fitstopnm: fix garbage output when input is little endian
 2324               floating point FITS.
 2325 
 2326               picttoppm: Fix crash with -fullres and all-text PICT image.
 2327               Also issue warning that program omits text with -fullres.
 2328 
 2329               picttoppm: Improve error/informational messages.
 2330 
 2331               picttoppm: Don't fail if 'fontdir' file doesn't exist.  Bug
 2332               from Netpbm 10.44.
 2333 
 2334               ppmtopict: Use two-byte length field when image width > 200
 2335               instead of > 250.  Former is what Picttoppm has been assuming
 2336               since March 2004, when it was found to work better than 250,
 2337               which is the number documented as right.
 2338 
 2339               ilbmtoppm: fix bug: appends color map PPM to output if input
 2340               has color map; fails if input doesn't have color map.  Broken
 2341               in Netpbm 10.18.
 2342 
 2343               leaftoppm: fix bug: uses red channel as all three channels;
 2344               (produces grayscale output).  Broken between Netpbm 10.19 and
 2345               10.26, inclusive.
 2346 
 2347               pbmtomrf, mrftopbm: fix crashes, incorrect output in all cases.
 2348               Always broken (mrftopbm was new in Netpbm 10.18 (September
 2349               2003).
 2350 
 2351               pnm_alloctupletable, pnm_tuplehashtotable,
 2352               pnm_computetuplefreqtable3: fix crash when out of memory,
 2353               memory leak with uncomputably large numbers.
 2354 
 2355               build: rename getline() in xvminitoppm.c to avoid collision
 2356               with libc.
 2357 
 2358               Source tree: split out some of editor/ directory into new
 2359               editor/specialty directory.
 2360 
 2361 08.12.28 BJH  Release 10.45.00
 2362 
 2363               pgmnoise: Add -randomseed.
 2364 
 2365               ppmtobmp: Add -mapfile option.
 2366 
 2367               pnm_createBlackTuple(): Fix array bounds violation with
 2368               PBM, PGM.
 2369 
 2370               pnmtoddif: Fix crash with any PGM input.
 2371 
 2372               pgmnoise: Fix bug: never generates full white pixel.
 2373 
 2374               pamditherbw: Fix -value other than .5 with -fs, -atkinson.
 2375 
 2376               Configure: fix crash when Libxml2 is installed, but not new
 2377               enough version.
 2378 
 2379               Build: Use GNU compile options for Darwin.
 2380 
 2381               Build: Move CFLAGS later in libjasper and librle build so that a
 2382               -I in CFLAGS doesn't interfere with finding the local libjasper
 2383               and Netpbm header files.
 2384 
 2385               Build: Move LDFLAGS later so that a -L in LDFLAGS doesn't
 2386               interfere with finding the built libnetpbm.  (The common
 2387               link rule is already this way in Netpbm 10.44.00; all the other
 2388               link rules are now the same).
 2389 
 2390               Build: Rename Makefile.common, Makefile.config, to common.mk,
 2391               etc.
 2392 
 2393               Build: Add source type declarations to make -ansi compile work.
 2394 
 2395 08.09.27 BJH  Release 10.44.00
 2396 
 2397               Add pngtopam as a replacement for pngtopnm.  Has ability
 2398               to generate image with alpha channel.  Thanks 
 2399               David Jones <drj@ravenbrook.com>.
 2400 
 2401               pnmcolormap (pnmquant): round instead of truncating when
 2402               computing means.
 2403 
 2404               pamcut, pnmcat, pnmpaste, pnmpad, g3topbm: Add fast PBM
 2405               path.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2406 
 2407               pnmpaste: fail if user specified stdin for both images.
 2408 
 2409               libppmd/ppmdraw: fix crash when line is completely out of
 2410               frame.
 2411 
 2412               pamgradient: fix bug: always produces color, not grayscale.
 2413 
 2414               pnm_backgroundxel(), pnm_backgroundxelrow() (affects
 2415               pnmrotate, pnmshear, pnmcrop, pnmcat: correctly average
 2416               corner colors to determine background (fill) color.
 2417 
 2418               pamcut: don't crash when cutting a region entirely to
 2419               the left or right of the input image, with -pad.  Thanks
 2420               Akira F Urushibata <afu@wta.att.ne.jp>.
 2421 
 2422               pamcut: don't crash when left > right or top > bottom with
 2423               -pad.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2424 
 2425               pgmhist: arbitrary output when total pixels doesn't fit in an
 2426               integer.
 2427 
 2428               pamcomp: fix bug: arbitrary output when combined number of rows
 2429               doesn't fit in an integer.
 2430 
 2431               pamtosvg: remove "needed exchange" debug trace.
 2432 
 2433               Add pbmminkowski (source code has been in package since Netpbm
 2434               10.12 but not documented or built by default).
 2435 
 2436               pnmmontage: don't corrupt file names when they contain
 2437               colons.
 2438 
 2439               pamflip: fix bug: garbage output for PBMs, since Netpbm 10.42.
 2440 
 2441               pngtopnm: fix gamma correction.
 2442 
 2443               pngtopnm: fix bug: when background is color, output
 2444               should be PPM.
 2445 
 2446               pamperspective: fix bug: array bounds violation crash.
 2447 
 2448               Build: add dependencies so parallel make of top level
 2449               "all" works.
 2450 
 2451 08.06.27 BJH  Release 10.43.00
 2452 
 2453               Add pamtompfont: Mplayer bitmap font.
 2454 
 2455               pamthreshold: copy transparency information from input to
 2456               output.
 2457 
 2458               pnmnorm: adjust bvalue, wvalue when -bpercent and/or -wpercent
 2459               would cause an overlap, instead of failing.
 2460 
 2461               pamscale: fix PBM input + -nomix.
 2462 
 2463               anytopnm: fix parsing of type description.
 2464 
 2465               pamtilt: fix crash with excessive angle.
 2466 
 2467               pbmtext: remove meaningless "no output" from error messages.
 2468 
 2469               pbm_loadbdffont(): handle zero size glyph.  Affects pbmtext.
 2470 
 2471               pbmtext: fail properly if input contains no text.
 2472 
 2473               pbmtext: fix buffer overrun with tab characters.
 2474 
 2475               pnmnorm: fix -colorvalue, -saturation, -keephues options.
 2476 
 2477               pnmnorm: fix resolution of conflicting -wpercent and -wvalue.
 2478 
 2479               pamtohtmltbl: fix output error: contains holes due to
 2480               uninitialized memory.
 2481 
 2482               xvminitoppm: fix.  Totally broken since Netpbm 10.34.
 2483 
 2484               pnmtopclxl: fix crash with Standard Input input.
 2485 
 2486               pbmtogo: fix buffer overrun with too wide image.
 2487 
 2488               tgatoppm: fix standard input invocation.
 2489 
 2490               pamtotga: fix free of unallocated memory with no -name option.
 2491 
 2492               pamtouil: fix double free of memory.
 2493 
 2494               ppmd_filledrectangle: fail properly on negative image
 2495               height, width.
 2496 
 2497               Add back ppmd_fill_init() for backward compatibility;
 2498               removed in Netpbm 10.29.
 2499 
 2500               Build: make it work with Gcc 4.3 and -sse.
 2501 
 2502 08.03.26 BJH  Release 10.42.00
 2503 
 2504               anytopnm: Recognize xwd image by 'file' type.
 2505 
 2506               pamflip: Rewrite low-memory algorithm; use temp files and
 2507               conserve virtual as well as real memory.
 2508 
 2509               tifftopnm: orient raster properly in row-by-row operation
 2510               when TIFF uses nonstandard raster orientation.  (ORIENTATION
 2511               tag).
 2512 
 2513               pbmtext: fail cleanly if -width, -space, or -lspace is
 2514               too large for computation.  Thanks Akira F Urushibata
 2515               <afu@wta.att.ne.jp>.
 2516 
 2517               pnmmargin: don't crash with zero margin request.
 2518 
 2519               pnmtile: deal with zero width/height.
 2520 
 2521               pbmtext: fix negative -space.
 2522 
 2523               pbmtext: fail cleanly if input line is > 5000 characters.
 2524 
 2525               pamundice: Fix bogus error about missing "-instem" option.
 2526 
 2527               pgmdeshadow: fix crash in option processing.
 2528 
 2529               pgmmedian: fix crash.
 2530 
 2531               pgmbentley: fix output; black areas not black.
 2532 
 2533               pamtosvg: fix various bugs: crash, poor tracing, memory leaks.
 2534 
 2535               pamtosvg: fix log file name with Standard Input.
 2536               
 2537               ppmtoarbtxt: fix array bounds violation with really large
 2538               replacement sequence.
 2539 
 2540               ppmtoarbtxt: fix missing right parenthesis with impostor
 2541               replacement sequence.
 2542 
 2543               pnmnlfilt: fix internal error "impossible alpha value".
 2544 
 2545               Add pm_tmpfile_fd() and pm_make_tmpfile_fd().
 2546 
 2547               Various things to make it build on Windows without POSIX
 2548               emulation.
 2549 
 2550               Build: Include LDFLAGS environment variable in link of
 2551               build tools.
 2552               
 2553 07.12.27 BJH  Release 10.41.00
 2554 
 2555               pamenlarge: much faster for PBM.  Thanks Akira F Urushibata
 2556               <afu@wta.att.ne.jp>.
 2557 
 2558               pamenlarge: remove arithmetic overflow.
 2559 
 2560               pnmmontage: new search algorithm to choose square
 2561               output quickly.  Thanks "Nic Roets" <nroets@gmail.com>.
 2562 
 2563               bmptopnm: fix crash with 16 bit images.
 2564 
 2565               palmcolor8.map: Make it a 256 color map sorted by index,
 2566               per Palm's spec.  Thanks Paul Bolle <pebolle@tiscali.nl>.
 2567 
 2568               xwdtopnm: deal with too-large bits per pixel value in XWD 
 2569               header.
 2570 
 2571               pamditherbw, pamsharpness, pamsharpmask, pamtopfm:
 2572               fix crash due to write to arbitrary memory.
 2573 
 2574               pamtotiff: fix incorrect pixels with PNM maxval != TIFF
 2575               maxval.
 2576 
 2577               pnmcrop: fix -verbose message about background color with
 2578               -white.
 2579 
 2580               pbmmake: handle ridiculously large height, width arguments.
 2581 
 2582               pnmcat: fix arithmetic overflow.
 2583 
 2584               libnetpbm: Add arithmetic overflow protection to PBM
 2585               routines, like PGM/PPM/PNM have had for a long time.
 2586 
 2587               libnetpbm: make all row free operations go through
 2588               pm_freerow(); change row buffer type from char * to void *
 2589               for pm_allocrow(), pm_freerow().
 2590 
 2591               set _XOPEN_SOURCE=600 so jpeg2ktopam and pamtojpeg2k
 2592               compile on AIX (_XOPEN_SOURCE=500 keeps int_fast32_t from
 2593               being defined).
 2594 
 2595               pamperspective: Eliminate build-time symbol conflict
 2596               with 'nearest' on AIX.
 2597 
 2598               Fix bug: ppmdraw.h, ppmdfont.h not installed.
 2599 
 2600               Add -fPIC to all Gcc compiles of library modules, so it works
 2601               on AMD64, IA64.
 2602 
 2603               Add Windows version of gethostname to ppmtompeg; normal build
 2604               does not use it.
 2605 
 2606               package, install: install interface header files as
 2607               <netpbm/xxx.h> instead of just <xxx.h>.
 2608 
 2609 07.09.26 BJH  Release 10.40.00
 2610 
 2611               pamfunc: Add -andmask, -ormask, -xormask, -not,
 2612               -shiftleft, -shiftright.
 2613 
 2614               pbmtonokia: fail if input is > 255 x 255.  Thanks Paul Bolle
 2615               <pebolle@tiscali.nl>.
 2616 
 2617               pnmmargin: add -plain option.    Thanks
 2618               Akira F Urushibata <afu@wta.att.ne.jp>.
 2619 
 2620               pnmgamma: improve error messages.
 2621 
 2622               pamstack: accept Standard Input properly.
 2623 
 2624               pnmmargin: recognize invalid options better.  Thanks
 2625               Akira F Urushibata <afu@wta.att.ne.jp>.
 2626 
 2627               anytopnm, pnmmargin, pamstretch-gen, ppmquantall: fix
 2628               small temporary file security exposure.
 2629 
 2630               pnmtopalm: fix typo in error message.  Thanks Paul Bolle
 2631               <pebolle@tiscali.nl>.
 2632 
 2633               pnmtops: fix crash when program attempts to write 12 bits per
 2634               sample Postscript.  It doesn't really know how to do that, so
 2635               now it just writes 8 unless you do -psfilter.
 2636 
 2637               pnmtopng: Sort palette properly when alpha maxval != 255.
 2638 
 2639               pnmtopng: Fix array bound violation with = 256 colors and -alpha.
 2640 
 2641               pnmtopng: Fix array bound violation with > 256 alpha mask levels.
 2642 
 2643               pamtopfm: Fix wrong selection of default endianness.
 2644 
 2645               libnetpbm: Add pm_system_lp(), pm_system_vp().
 2646 
 2647               libnetpbm: Make pbm_readpbminit() and pgm_readpgminit()
 2648               recognize incompatible Netpbm formats and issue a
 2649               helpful error message.
 2650 
 2651               libnetpbm: pbm_readppminit: read PBM as maxval of 255, not 1.
 2652 
 2653               libnetpbm: Fix pm_drain() to use the specified limit.
 2654               Thanks Paul Bolle <pebolle@tiscali.nl>.
 2655 
 2656               libnetpbm: Fix multi-line TUPLTYPE interpretation:
 2657               separate lines with blank, not newline.  Thanks Paul
 2658               Bolle <pebolle@tiscali.nl>.
 2659 
 2660               libnetpbm: Reject empty TUPLTYPE header.
 2661 
 2662               libnetpbm: Fix uninitialized variable in pnm_allocpamrown().
 2663 
 2664               libnetpbm: fix crash in REALLOCARRAY with advanced optimization.
 2665 
 2666               libnetpbm: REALLOCARRAY frees memory if it fails.
 2667 
 2668               Rename pamtooctave to pamtooctaveimg.
 2669 
 2670               Build: don't build pstopnm on system without unix process
 2671               management.
 2672 
 2673               Build: put -l's after .o's in test links.
 2674 
 2675               Build: don't use 'uint' type.  Solaris 10 apparently doesn't
 2676               have it.
 2677 
 2678               Build: Add missing <stdlib.h> to ppmrough.c.
 2679 
 2680 07.06.26 BJH  Release 10.39.00
 2681 
 2682               Add pamtooctave.  Thanks Scott Pakin (scott+pbm@pakin.org).
 2683 
 2684               Add pamundice.
 2685 
 2686               fitstopnm: add -omaxval.
 2687 
 2688               pnmremap: add -norand.
 2689 
 2690               pbmtext: improve error messages about fonts.
 2691 
 2692               pamtofits: fix -min, -max.
 2693 
 2694               fitstopnm: fix BITPIX = -32.
 2695 
 2696               PAM_STRUCT_SIZE: cast pointer to ulong instead of uint.
 2697 
 2698               pamthreshold: fix totally bogus threshold selection with
 2699               simple thresholding.
 2700 
 2701               Configure: do test compile for missing Libxml2 and too old
 2702               Libxml2.
 2703 
 2704               Configure: fix bug detecting presence of libvga with
 2705               Ldconfig.
 2706 
 2707               Configure: build properly for Mac OSX when user says
 2708               libnetpbm will be in the default search path.
 2709 
 2710               Build: don't use 'uint' type.  Mac OSX apparently doesn't
 2711               have it.
 2712 
 2713 07.03.30 BJH  Release 10.38.00
 2714     
 2715               Add pamfixtrunc.
 2716 
 2717               pamtogif: Add -aspect.  Thanks
 2718               Akira F Urushibata <afu@wta.att.ne.jp>.
 2719 
 2720               pamditherbw: Add -atkinson.
 2721 
 2722               pammixinterlace: Add -filter and fir and ffmpeg filters.
 2723               Thanks Bruce Guenter <bruce@untroubled.org>.
 2724 
 2725               pammixinterlace: Add -adaptive.
 2726               Thanks Bruce Guenter <bruce@untroubled.org>.
 2727 
 2728               pambackground: recognize mid-row background.
 2729 
 2730               ppm3d: Change default offset to zero columns.
 2731 
 2732               ppm3d: Add -color option.
 2733 
 2734               ppm3d: Add -offset option as alternative to offset argument.
 2735 
 2736               jpegtopnm: Add -repair option.
 2737 
 2738               giftopnm: Add -repair option.
 2739 
 2740               xwdtopnm: use pm_drain() to catch some format
 2741               misinterpretations.
 2742 
 2743               pamtogif: Speed up for monochrome images.  Thanks
 2744               Akira F Urushibata <afu@wta.att.ne.jp>.
 2745 
 2746               pamtogif: Speed up for small images by using smaller
 2747               hash table (so smaller memory footprint).  Thanks
 2748               Akira F Urushibata <afu@wta.att.ne.jp>.
 2749 
 2750               libnetpbm: add pm_drain().
 2751               
 2752               libnetpbm: shhopt: reject signed number as value for
 2753               OPT_UINT option.
 2754 
 2755               libnetpbm: in the "no such option" error message, say what
 2756               the valid options are.
 2757 
 2758               libnetpbm: Embellish "bad magic number" error message.
 2759 
 2760               pnmremap: fix incorrect output with map file deeper than
 2761               input file.
 2762 
 2763               xwdtopnm: fix right edge padding for 24 bit per pixel,
 2764               32 bit per item images.
 2765 
 2766               xwdtopnm: update assumptions about format for direct color
 2767               images to match an image we found.
 2768 
 2769               pnmtopclxl: fix -feeder, -outtray options.  Thanks
 2770               "Eric K. Olson" <olson@mauicomputing.com>.
 2771 
 2772               picttoppm: Fix wild memory reference in all use cases.
 2773 
 2774               picttoppm: Fix for multi-pixel-per-byte image in which
 2775               it says the image has a row that is too long (because of
 2776               padding).
 2777 
 2778               pamtogif: fix crash with -mapfile.
 2779 
 2780               ppmtogif: handle case that map file and input file are not
 2781               the same depth, as was the case with the original ppmtogif.
 2782               Run the input through pnmremap.
 2783 
 2784               pamtoxvmini: fix bug: produces garbage when maxval is
 2785               not 255.
 2786 
 2787               pamtoxvmini: fix crash.
 2788 
 2789               libnetpbm: fix buffer overrun with PBM images < 8 columns.
 2790 
 2791               libnetpbm: fix crash with PBM images < 8 columns on MMX/SSE
 2792               machine.
 2793 
 2794               pamtogif: fail properly if image to wide or high for GIF.
 2795 
 2796               ppmdraw: fix crash with use of freed storage.  Thanks
 2797               John Walker <kelvin@fourmilab.ch>.
 2798 
 2799               libnetpbm: fix crash with PAM read as PNM.
 2800 
 2801               installnetpbm: use 2-argument open() for old Perl.
 2802     
 2803               configure: fix choice of default library suffix.
 2804 
 2805               configure: default to 'none' for Svgalib if it doesn't appear
 2806               to be installed.
 2807 
 2808 06.12.31 BJH  Release 10.37.00
 2809 
 2810               Add pambackground.  But doesn't find mid-row background yet.
 2811 
 2812               pnmcrop, pamtopnm: work on multi-image stream.
 2813               Thanks Erik Auerswald <auerswal@unix-ag.uni-kl.de>.
 2814 
 2815               pnmshear: add -background.  Thanks Erik Auerswald
 2816               <auerswal@unix-ag.uni-kl.de>.
 2817 
 2818               ppmtogif: replace with pamtogif.  Fix garbage output with
 2819               -interlace.
 2820 
 2821               pbmtoxbm: add -name option.
 2822               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2823 
 2824               ppmshift, ppmspread, ppmforge, pgmnoise, pgmcrater: better
 2825               randomization; won't produce the same image if you run it
 2826               twice within the same second.
 2827 
 2828               pbmtoxbm: Use packed PBM functions for efficiency.
 2829               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2830               
 2831               xbmtopbm: Use packed PBM functions for efficiency.
 2832               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2833 
 2834               cmuwmtopbm, mgrtopbm, pbmtocmuwm, pbmtoicon, pbmtomgr:
 2835               Use packed PBM functions for efficiency.
 2836               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2837 
 2838               libnetpbm: add pnm_colorname().
 2839 
 2840               libnetpbm: add pnm_computetuplefreqtable3().  Has ability
 2841               to limit number of planes of input considered.
 2842 
 2843               libpam: better checking of sufficient size of struct pam
 2844               in pnm_writepaminit().
 2845 
 2846               pnm_readpaminit(): abort instead of crash if width == 0.
 2847 
 2848               pnmtopng: fix transparency optimization on PPM input.
 2849     
 2850               pnmrotate: fix -background option with PGM/PBM input.
 2851 
 2852               pamx: fix bug with X depth = 0.
 2853 
 2854               pamx: fix bug: incorrect display of one-plane input image.
 2855 
 2856               libnetpbm: fix bogus results from ppm_parsecolor() of
 2857               rgb:0/0/0 style color name.
 2858 
 2859               pbmtoxbm, pbmtox10bm: merge.
 2860               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2861 
 2862               pbmtox10bm: Fix generation of name in XBM file.
 2863               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 2864 
 2865               pbmtextps: Fix buffer overrun -- typical symptom: extra
 2866               text generated.
 2867 
 2868               ppmchange: Fix bug with -closeness and not -remainder or
 2869               vice versa.
 2870 
 2871               pgmtoppm: Fix garbage output with -map and input maxval
 2872               != map maxval.
 2873 
 2874               pbmtext: Fix crash when there is only one character.
 2875 
 2876               pnmnlfilt: Give proper error message for syntax errors.
 2877 
 2878               ppmtompeg: fix reading of GOPs.  Thanks Alun Jones.
 2879 
 2880               Fix pamcomp: due to use of undefined value, sometimes produces
 2881               plain format.
 2882 
 2883               Fix pamperspective: read all of input.
 2884 
 2885               Fix libnetpbm pm_system(): don't hang if shell command quits
 2886               before taking all the input.
 2887 
 2888               Build: Configure does test links to detect broken
 2889               libpng-config --ldflags.
 2890 
 2891               Build: Fix some compile failures with Irix IDO compiler.
 2892 
 2893               Build: fix Darwin (Mac OS X) build.
 2894 
 2895               Configure: fix default for X library location.
 2896 
 2897               Build: remove unnecessary limit of 200 characters on
 2898               argument length in Libopt.
 2899 
 2900               Build: fix build with separate build directory.
 2901 
 2902               Build: fix merge build with no X11 library.
 2903 
 2904 06.09.21 BJH  Release 10.36.00
 2905 
 2906               pbmtonokia: Add plain NPM output capability.  Thanks Paul Bolle
 2907               <pebolle@tiscali.nl>.
 2908 
 2909               pbmtonokia: Pad to 8 bytes.  Thanks Paul Bolle
 2910               <pebolle@tiscali.nl>.
 2911 
 2912               pbmtonokia: Limit text to 120 bytes.  Thanks Paul Bolle
 2913               <pebolle@tiscali.nl>.
 2914 
 2915               pamthreshold: don't gather global information, and reread
 2916               file, for local thresholding (to save time, resources).
 2917               Thanks Erik Auerswald <auerswal@unix-ag.uni-kl.de>.
 2918 
 2919               libnetpbm: BK color matching adjustments, change of
 2920               enum bk_color.  Thanks "Kenan Kalajdzic"
 2921               <kalajdzic@gmail.com>.
 2922 
 2923               Fix version number control.
 2924 
 2925               pbmtonokia: fix headers of NGG and NOL to include 3 character
 2926               magic.
 2927 
 2928               Release allocated memory before longjmping from libnetpbm.
 2929 
 2930               Eliminate pm_perror() in favor of informative error messages.
 2931 
 2932               libnetpbm: fix rgb:r/g/b color name parsing for invalid
 2933               syntax.
 2934 
 2935               Add pm_errormsg(), pm_setusererrormsg(), pm_setusermessage().
 2936 
 2937               pm_accept_to_pamtuples: fix bug: fill in pam structure.
 2938               Thanks "Christian Schlotter" <schlotter@users.sourceforge.net>.
 2939 
 2940               Fix selection of MMX_SSE fastpath based on GNU compiler version
 2941               number.
 2942 
 2943               Properly clean thinkjettopbm.c with 'make distclean'.
 2944 
 2945               Remove some generated files from release so build works.
 2946 
 2947               Remove general history from change file
 2948 
 2949 06.08.19 BJH  Release 10.35.00
 2950 
 2951               Add pgmdeshadow.
 2952 
 2953               giftopnm: add -quitearly.
 2954 
 2955               pamfile: add -comments.
 2956 
 2957               ppmdraw: remove limitation on size of script.
 2958 
 2959               pnm_readpaminit(), pnm_writepaminit(): Add comment control.
 2960 
 2961               ppmtogif: do one row at a time.
 2962 
 2963               Pnmtopng: improve validation of -modtime option.
 2964 
 2965               Look in /usr/share/X11 instead of /usr/openwin/lib for
 2966               rgb.txt.
 2967 
 2968               ppmtompeg: die properly when frame is less than 16x16.
 2969 
 2970               ppmdraw: fix bug with semicolon in script not followed by
 2971               white space.
 2972 
 2973               libppmd (ppmdraw, ppmlabel): don't crash with horizontal
 2974               or vertical line that is entirely out of frame.
 2975 
 2976               picttoppm: Fix 32 bit per pixel conversion, broken in 10.34.
 2977 
 2978               pamthreshold: fix read from pipe.
 2979 
 2980               Fix typo in make file that makes svgtopam get built
 2981               when Libxml2 is not available.
 2982 
 2983               pnm_computetuplefreqhash(), pnm_computetuplefreqtable2():
 2984               Don't crash on error without pm_setjmp().
 2985 
 2986               Change memmem() to memmem_internal() in cameratopam/identify.c
 2987               to avoid collision with system library.
 2988 
 2989               Use __MINGW32__ to determine HAVE_MKSTEMP (instead of manual).
 2990 
 2991               Eliminate use of network functions for endianness computations.
 2992 
 2993               Use "inttypes_netpbm.h" on a system that doesn't have
 2994               the int_fast32_t, etc. types.  Like Solaris 8.
 2995 
 2996               configure, installnetpbm: autoflush stdout.
 2997 
 2998               Build: Use libpng-config if it exists.
 2999 
 3000               Build: assume no Lex program if neither 'flex' or 'lex' shell
 3001               command verb exists.
 3002 
 3003               Remove test source file ppmdtexttest.  Ppmdraw should be
 3004               sufficient now.
 3005               
 3006 06.06.18 BJH  Release 10.34
 3007 
 3008               Add pamthreshold.  Thanks Erik Auerswald
 3009               <auerswal@unix-ag.uni-kl.de>.
 3010 
 3011               Add pamx.
 3012 
 3013               Add pamtoxvmini.
 3014               
 3015               pammasksharpen: Add -threshold.
 3016 
 3017               pnmtopng: make "N colors found" message verbose-only.
 3018 
 3019               pnmtopng: make "no room in palette" message non-verbose.
 3020 
 3021               picttoppm: Tolerate various PICT file corruptions.
 3022 
 3023               picttoppm: Don't issue warning message when file named
 3024               'fontdir' doesn't exist.
 3025 
 3026               libnetpbm: Add ppm_bk_color_from_color(),
 3027               ppm_bk_color_from_name(), ppm_name_from_bk_color().
 3028               Thanks "Kenan Kalajdzic" <kalajdzic@gmail.com>.
 3029 
 3030               libnetpbm: Add ppmd_fill_path().
 3031 
 3032               ppmtobmp: Fix for PBM input.
 3033 
 3034               bmptopnm: Don't crash on BMP with no color map.
 3035 
 3036               bmptopnm: Fix wrong file name in error messages.
 3037 
 3038               ppmtogif: fix bug: always produces garbage output.
 3039 
 3040               ppmtompeg: fix input from Standard Input.
 3041 
 3042               pnmflip: fix bug: -rotate90, -rotate180, and -rotate270
 3043               (and synonyms) don't work when followed by other rotation
 3044               options.
 3045 
 3046               ppmtoilbm: Fig bug: generates more planes than necessary.
 3047 
 3048               pamtofits: fix buffer overflow in asembling header.
 3049 
 3050               picttoppm: fix bug - interprets some images wrong because of
 3051               bogus "rowBytes" value.
 3052 
 3053               libnetpbm: add ppm_fastlumin().  Change ppmtopgm, ppmtoilbm,
 3054               and ppm3d to use this, which results in higher quality output,
 3055               because ppm_fastlumin() rounds to nearest, whereas these
 3056               programs rounded down.  Otherwise, it's the same calculation.
 3057 
 3058               Redo asprintfN(), etc. so as not to use va_list in a way
 3059               that doesn't work on some machines.
 3060 
 3061               cameratopam: remove definition of memmem() so it doesn't collide
 3062               with same in some C libraries.  Add memmemN() and MEMEQ to
 3063               libnetpbm.
 3064 
 3065               Fix build of filename.o.
 3066 
 3067               Build: Use local version of mkstemp() based on mktemp() when
 3068               mkstemp() isn't available.  No automatic determination that
 3069               mkstemp() isn't available yet.
 3070 
 3071               Build: Include dummy pm_system() on a system that doesn't
 3072               have regular Unix process management.
 3073 
 3074               Add -Wundef to Gcc compile options.
 3075 
 3076 06.03.26 BJH  Release 10.33
 3077 
 3078               Add pamtosvg.
 3079 
 3080               g3topbm: Add -width, -paper_size.
 3081 
 3082               libnetpbm / most newer programs: Fix bug that produces
 3083               plain format output when it should be raw because
 3084               pnm_readpaminit() does not set 'plainformat' and most
 3085               programs just copy the input pam to the output pam.
 3086 
 3087               pamflip: fix bug with left/right flip of PBM that has 
 3088               width an even multiple of 8 plus something less than 8.
 3089 
 3090               pnmquant: turn on autoflush when creating seekable file.
 3091 
 3092               install: fix symbolic link pnmdepth -> pamdepth.
 3093               
 3094               build: fix some importinc dependencies.
 3095 
 3096 06.02.25 BJH  Release 10.32
 3097 
 3098               Add rlatopam.  Thanks Simon Walton <simonw@matteworld.com>.
 3099 
 3100               Add pgmmake.
 3101 
 3102               bmptopnm: Understands RLE4/RLE8 compressed BMP.  Thanks
 3103               Akira F Urushibata <afu@wta.att.ne.jp>.
 3104 
 3105               pnmgamma: Add -bt709tosrgb -srgbtobt709, -bt709tolinear,
 3106               -lineartobt709, -gamma, -rgamma, -ggamma, -bgamma (gammma
 3107               values were formerly specified as parameters).
 3108 
 3109               pnmgamma: Rename -cieramp to -bt709ramp.
 3110 
 3111               pnmnorm: add -maxexpand option.
 3112 
 3113               ppmdraw: work on multi-image streams.              
 3114 
 3115               anytopnm: add mime time image/x-ms-bmp for BMP
 3116 
 3117               pamchannel: works on multi-image streams.
 3118 
 3119               pamstack: works on multi-image streams.
 3120 
 3121               Convert pnmdepth to pamdepth.  Add multi-image stream
 3122               capability.
 3123 
 3124               pamcut: works on multi-image streams.
 3125 
 3126               pnmtops: allow -flate and -rle together.
 3127 
 3128               pnmtops: overhaul of -psfilter output.
 3129               Thanks Chapman Flack <chap@anastigmatix.net>.
 3130 
 3131               pnmrotate: fine adjustment to arithmetic (rounding,
 3132               pixel quantization).
 3133 
 3134               pbmtopsg3: Put currentfile ... in exec block.  Thanks
 3135               Chapman Flack <chap@anastigmatix.net>
 3136 
 3137               pbmtopsg3: Add missing /EndOfBlock .  Thanks
 3138               Chapman Flack <chap@anastigmatix.net>
 3139 
 3140               pnmtops: Don't claim EPSF if using setpagedevice.
 3141               Thanks Chapman Flack <chap@anastigmatix.net>
 3142 
 3143               giftopnm: do "reading image sequence N" message only if
 3144               being verbose.
 3145 
 3146               ppmtobmp, bmptopnm: major speed improvement for PBM.  Thanks
 3147               Akira F Urushibata <afu@wta.att.ne.jp>.
 3148 
 3149               pbmtog3: Use new GCC features instead of assembly language
 3150               for superspeed operations.  Thanks
 3151               Akira F Urushibata <afu@wta.att.ne.jp>.
 3152 
 3153               pm_make_tmpfile(): Use TEMP and TMP environment variables if
 3154               TMPDIR not set.
 3155 
 3156               pm_make_tempfile(): improve error message.
 3157 
 3158               libpam: pnm_writepamrowmult() respects pam.plainformat.
 3159 
 3160               libpam: pnm_writepaminit() checks -plain option for PAM format
 3161               (recognizes the error).
 3162 
 3163               ppmtoglobe: Fix wild pointer bug.
 3164 
 3165               Fix wild pointer in REALLOCARRAY(). Affects ppmdraw,
 3166               escp2topbm, ppmtowinicon, ppmtompeg, pnmtopalm,
 3167               pnmtopng.  Thanks Steve Summit <scs@eskimo.com>.
 3168 
 3169               pnmtopng: fix bug with undefined cmdline.modtimeSpec.
 3170               Thanks Mike Frysinger <vapier@gentoo.org>.
 3171 
 3172               pnmquant: Use Perl sysseek() instead of seek() to avoid
 3173               a mispositioned file disaster on some platforms.
 3174 
 3175               pamditherbw, pgmtopbm: fix bug: overly dark with cluster
 3176               methods because only 1/4 of the dither matrix is used.
 3177               Thanks Mark Williams <mark@aziraphale.homeip.net>.
 3178 
 3179               pnmrotate: fix bug: garbage in lower right corner of background
 3180               with -noantialias.
 3181 
 3182               pnmsmooth: change to regular Netpbm syntax.  Replace -size
 3183               with -width and -height.
 3184 
 3185               pnmsmooth: fix bug: free of temp file name even when there
 3186               is no temp file (-dump option).
 3187 
 3188               pnm_scaletuplerow() fix bug: does nothing when old maxval ==
 3189               new maxval.  Affects pamedge only.
 3190 
 3191               ppmtompeg: Fix array/pointer degeneration mess with LumBlock
 3192               arguments; fix crash.
 3193 
 3194               pamstereogram: Fix crippling bugs.  Thanks Scott Pakin
 3195               <scott+pbm@pakin.org>.
 3196 
 3197               giftopnm: Handle case of a clear code at the end of a block.
 3198 
 3199               ppmtogif: Fix bug with interlaced GIF < 5 rows.
 3200 
 3201               cameratopam: Fix segmentation fault from undefined 'ifp'.
 3202               Thanks Bernard Hatt <bmh@arkady.demon.co.uk>.
 3203 
 3204               xwdtopnm: Fix bug from 10.31: LSB-first XWDs convert to all
 3205               black.
 3206 
 3207               ppmglobe: fix bug: always says stripcount is zero
 3208               because it looks at the wrong argument.  Thanks Urs Enke
 3209               <urs.enke@web.de>.
 3210 
 3211               pnmtotiffcmyk: Fix inttypes conflict on AIX.
 3212 
 3213               Stop exporting stripeq().
 3214          
 3215               Add -lm to link of libnetpbm shared library, to express the
 3216               fact that code in libnetpbm requires it.  Helps GNU Ld
 3217               --as-needed.
 3218 
 3219               Build: move symbolic links to header files into
 3220               'importinc' directories to keep directories cleaner.  Fully
 3221               populate 'importinc' in every directory so we don't have
 3222               to maintain a list of header files for each.
 3223 
 3224 05.12.23 BJH  Release 10.31
 3225 
 3226               Add pamgradient.
 3227 
 3228               libnetpbm/everything: speed up ppm_readppmrow() and
 3229               pgm_readpgmrow() by doing one fread per row instead of a
 3230               pgm_readrawsample() per sample.  Thanks "Ariel Berkman"
 3231               <aberkm1@uic.edu>.
 3232 
 3233               libnetpbm: Make PGM, PPM, and PNM routines read suitable
 3234               PAM images.
 3235 
 3236               pnmsplit: upgrade to pamsplit.
 3237 
 3238               xwdtopnm: Add ability to work with bits per pixel >
 3239               bits per item.  Replace whole pixel reader.
 3240 
 3241               pamtotiff: Use TIFFDefaultStripSize() for ROWSPERSTRIP default.
 3242 
 3243               pamtotiff: add -tag option.  Thanks Gary Gorbet
 3244               <ggorbet@sdicgm.com>.
 3245 
 3246               ppmglobe: add -background, -closeok, filename argument.
 3247 
 3248               pnmcolormap: Work on multi-image stream (one map for all).
 3249 
 3250               pnmtopclxl: read/convert/write one row at a time.
 3251               Thanks Martin Buck <m@rtin-buck.de>.
 3252 
 3253               ppmtolj: read/convert/write one row at a time.
 3254               Thanks Martin Buck <m@rtin-buck.de>.
 3255 
 3256               ppmtoxpm: fix bug: produced incorrect output when number
 3257               of colors is a power of 92.  Thanks Mark Weyer.
 3258 
 3259               pnmcolormap: fix bug: crashes with input depth > 3.
 3260 
 3261               pambayer: fix bug: doesn't actually read input file.
 3262 
 3263               ppmtompeg build: add missing const to work around TRU64
 3264               compile failure.
 3265 
 3266               xwdtopnm: Fix handling of padding at end of XWD row.
 3267 
 3268               pamtotiff: fix bug with PAMs with > 3 planes.
 3269 
 3270               Remove PPM_PACKCOLORS.
 3271 
 3272               pnmremap: fix arithmetic overflow bug with maxval > 255 that
 3273               caused random pixels.
 3274 
 3275               remove global "cmdline" variables from all programs (4 had them).
 3276 
 3277               pnmtops: remove extra %%%%Page from 10.27.
 3278 
 3279               mkinstalldirs: remove chmod 755 to match Automake's
 3280               mkinstalldirs.
 3281 
 3282               libopt: add -quiet option
 3283 
 3284               ppmtojpeg: fix prototype mismatch when building without
 3285               the JPEG function.
 3286 
 3287               libnetpbm: fix: PPM_DISTANCE uses red twice instead of and green.
 3288 
 3289               pnmnlfilt: fix alpha ranges.
 3290          
 3291               cameratopam: replace setenv with putenv so it works on Solaris.
 3292 
 3293               cameratopam: put in workaround for Solaris header file bug.
 3294 
 3295               pngtopnm: fix bug: grayscale PNG produces PPM.  s/b PGM.
 3296 
 3297               anytopnm: Use sed instead of Awk -- more universal.
 3298 
 3299               anytopnm: fix "INTERNAL ERROR" crash due to "filetype" variable
 3300               not set.
 3301 
 3302               rletopnm: fix crash when input file is empty or
 3303               there are various other problems reading its header.
 3304 
 3305               rletopnm: fix universal crash in option parser.
 3306 
 3307               tifftopnm: fix crash due to uninitialized variable.
 3308 
 3309               libnetpbm: Fix bug from 10.30: erroneously says a PAM header
 3310               line is missing.
 3311 
 3312 05.10.16 BJH  Release 10.30
 3313 
 3314               Add pambayer.
 3315               
 3316               Add pamrgbatopng.
 3317                             
 3318               Add pamtilt.  Thanks Gregg Townsend <gmt@cs.arizona.edu>.
 3319               
 3320               pamtotiff: create from pnmtotiff.
 3321 
 3322               pamtofits: create from pnmtofits.
 3323 
 3324               pamaddnoise: create from pnmaddnoise.
 3325          
 3326               pamarith: Add -divide.
 3327 
 3328               pammasksharpen: Add -sharpness.
 3329 
 3330               pnmtopng: add -comp_mem_level, -comp_strategy, -comp_method,
 3331               -comp_window_bits, -comp_buffer_size.
 3332 
 3333               pnmtopng: use Shhopt command line processor; replace
 3334               -chroma with -rgb, -phys with -size, -time with -modtime.
 3335 
 3336               pnmremap: Handle multiple image stream.
 3337 
 3338               xpmtoppm: Expand capacity from 2K character input lines to
 3339               8K character input lines.
 3340 
 3341               libnetpbm: improved messages for "color xxx cannot be
 3342               represented precisely with maxval M"
 3343 
 3344               libnetpbm color specification parsing:  Improve warning message
 3345               about rounding.
 3346 
 3347               libnetpbm/everything: speed up ppm_writeppmrow() and
 3348               pgm_writepgmrow() by doing one fwrite per row instead of
 3349               a pgm_writerawsample() per sample.
 3350 
 3351               pnmtopng: fix "meaningful bits" optimization of PGM so it
 3352               optimizes all the way instead of stopping at 4 bits.
 3353 
 3354               pnmtopng: fix crash when no -alpha option, due to dereferencing
 3355               of undefined alpha_mask.
 3356 
 3357               pnmtopng: fix bug: arbitrary color made transparent in
 3358               paletted PNG when nothing should be transparent.
 3359 
 3360               pnmtops: bug: selects wrong Postscript level.
 3361 
 3362               ppmtowinicon: use REALLOCARRAY instead of arithmetic-overflowing
 3363               realloc().
 3364 
 3365               anytopnm: fix bug: fails when 'file' database doesn't
 3366               have mime type but does have human-readable type.
 3367               
 3368               manweb: recognize directory as not executable in search of PATH.
 3369 
 3370               pgm_allocrow(), ppm_allocrow(), pnm_allocrow(): cure
 3371               arithmetic overflow.
 3372 
 3373               libnetpbm: On plain formats, check for sample value exceeding
 3374               maxval.
 3375 
 3376               libnetpbm: reject maxval > 65535 in "pam" functions. 
 3377 
 3378               pamarith: Use normalized libnetpbm facilities to get
 3379               proper accuracy.  Thanks Thomas Henlich
 3380               <http://sourceforge.net/users/thenlich/>.
 3381 
 3382               pamarith: fix bug: shift functions don't work when maxvals
 3383               are not identical.
 3384 
 3385               pamarith: fix rounding error on multiply.
 3386 
 3387               pgmtexture: correct calculation of normalizing constants
 3388               for d > 1.  Thanks Marc Breithecker
 3389               <Marc.Breithecker@informatik.uni-erlangen.de>.
 3390 
 3391               pnmnorm: fix divide by zero crash.
 3392 
 3393               pnmnorm: fix bug that doesn't let you specify
 3394               -luminosity, -colorvalue, or -saturation.
 3395 
 3396               ilbmtoppm: fix variable used before set.
 3397 
 3398               pnmtofits: fix 16 bit sample values > 2**15.
 3399 
 3400               pnmtopsnr: minor adjustments to messages.
 3401 
 3402               pnmnorm: don't crash when wvalue == bvalue.  Thanks Thomas
 3403               Henlich <http://sourceforge.net/users/thenlich/>.
 3404 
 3405               pnmnorm: fix rounding of output values.  Thanks Thomas
 3406               Henlich <http://sourceforge.net/users/thenlich/>.
 3407 
 3408               pnmhisteq: Fix external map to have width maxval + 1 instead
 3409               of maxval, so full intensity input pixels map properly.
 3410 
 3411               pnmhisteq: Fix -rmap.
 3412 
 3413               Fix typos in error messages in various programs.
 3414 
 3415               pgmmedian: change syntax to Netpbm standard.
 3416 
 3417               pammasksharpen: fix signedness bug that caused random bright
 3418               pixels at edges.
 3419 
 3420               pammasksharpen: fix bug with maxval != 255.
 3421 
 3422               Clean up a bunch of function prototypes so some broken
 3423               compilers don't complain about missing "const" in them.
 3424 
 3425               Remove dependency of pnmtops on basename().  It isn't in
 3426               some C libraries and we don't want to mess with linking
 3427               extra libraries.
 3428 
 3429               Build of ppmsvgalib: work properly when LINUXSVGALIB is
 3430               a "default path" value such as "libvga.so".
 3431 
 3432 05.08.15 BJH  Release 10.29
 3433 
 3434               Add ppmdraw.
 3435 
 3436               Add pammixinterlace.  Thanks Bruce Guenter <bruceg@em.ca>.
 3437               
 3438               Add pgmmedian.
 3439 
 3440               Add pnmaddnoise.
 3441 
 3442               pnmtopclxl: add -rendergray option.
 3443 
 3444               pnmtopclxl: add -jobsetup option.
 3445               
 3446               pstopnm: add -dSAFER Ghostscript option.
 3447 
 3448               pnmcrop: add -margin option.
 3449 
 3450               pnmcrop: add -borderfile option.
 3451 
 3452               pnmnorm: add -luminosity (which was already default),
 3453               -colorvalue, and -saturation.
 3454          
 3455               pnmtopng: Don't include any alpha info if supplied alpha mask
 3456               is all opaque.
 3457 
 3458               ppmcie: Make white point mark more visible.
 3459 
 3460               pamdice: Remove restriction of 100 slices in each direction.
 3461 
 3462               pnmtopng: Fix bug: erroneous transparent pixels when supplied
 3463               alpha mask is all opaque.
 3464               
 3465               Fix bytesToWordInt(): converts incorrectly on a machine that
 3466               has pointer size != word size and uses the general case code.
 3467 
 3468               libnetpbm: fix basic pm_readlittleshort() bug introduced
 3469               in 10.27 (March 2005).  Affects mdatopbm, rawtopgm, lispmtopgm,
 3470               pcxtoppm, winicontoppm, bmptopnm, sirtopnm, xwdtopnm,
 3471               cameratopam.
 3472 
 3473               pamlookup: fix universal crash.  Thanks "Colley, Anthony
 3474               W." <Anthony.Colley@ngc.com>
 3475 
 3476               pbmtolj: fix bug from 10.28: crashes with a line which is
 3477               a multiple of 8 plus 7 pixels wide not counting white right
 3478               margin.
 3479 
 3480               ppmtompeg: fix uname() rc test (sometimes > 0 is success).
 3481 
 3482 05.06.06 BJH  Release 10.28
 3483 
 3484               Add cameratopam (Dave Coffin's dcraw).
 3485 
 3486               ppmtoxpm: ignore empty or similar malformed XPM line instead
 3487               of giving up.
 3488 
 3489               pbmtolj: do multi-image stream.
 3490 
 3491               pnmindex: rewrite in C.
 3492 
 3493               Fix Gcc 3 warnings.
 3494 
 3495               pamcomp: fix out of memory problem due to uninitialized
 3496               pam.allocation_depth.
 3497 
 3498               anytopnm: remove apparently redundant traps of signals.
 3499 
 3500               pnm_alloctupletable(): fix bug from 10.27: returns random value.
 3501               (affects pnmcolormap, pnmremap, pnmquant, others).
 3502          
 3503               jpeg2ktopam: fix array bounds violation on 64 bit machines.
 3504               Thanks Frederic Devernay <Frederic.Devernay@inrialpes.fr>.
 3505 
 3506               rle_open: remove extraneous errno declaration.  Thanks
 3507               Joerg Sonnenberger <joerg@britannica.bec.de>.
 3508 
 3509               pm_tmpfile, pm_make_tmpfile: rearrange code.
 3510 
 3511               ppmtompeg: fix insecure temp file.  Thanks Alexey
 3512               Tourbin <at@altlinux.ru>.
 3513 
 3514               libnetpbm: fix basic readlittlelong() bug introduced in 10.27
 3515               (March 2005).  Affects xwdtopnm, bmptopnm, winicontoppm,
 3516               lispmtopgm.
 3517 
 3518               pbmtext/libnetpbm: fix crash with -builtin=fixed.
 3519 
 3520               pbmtoppa: fix floating point exception always due to
 3521               undefined DPI.
 3522 
 3523               fix jpeg2000 build failure on system without inttypes.h,
 3524               etc.  Build now excludes jpeg2000 if you don't have 64
 3525               bit capability, which practically means you have
 3526               inttypes.h, etc.
 3527 
 3528               jpeg2000: don't do unsafe temporary files.
 3529 
 3530               ppmshadow: make it work with old Perl.
 3531 
 3532               pnmquant: remove use of Fcntl::seek, not available in
 3533               Perl 5.00503.
 3534 
 3535               pnmquant: make -quiet option work.
 3536 
 3537               pnmgamma: Correct math in -srgbramp.  Add proper rounding.
 3538               Thanks Horst J. Wobig (hjw.fsw@wobig.de).
 3539 
 3540               ppmshadow: fix blurring of non-translucent shadow.
 3541 
 3542               ppmtoxpm: fix use of uninitialized variable that results
 3543               in invalid color map.
 3544          
 3545               Fix backward pnmtopnm - pamtopnm symlink.
 3546 
 3547 05.03.28 BJH  Release 10.27
 3548 
 3549               tifftopnm: do multi-image streams.
 3550 
 3551               pnmtotiff: add -append option.
 3552 
 3553               pnmtotiff: do multi-image streams.
 3554 
 3555               pnmtopclxl: fix bug with invalid palette in
 3556               SetColorSpace command.
 3557 
 3558               pnmtopng: don't accept -background without -mix.
 3559 
 3560               Eliminate pnmtopnm program -- install 'pnmtopnm' as an
 3561               alternate name for 'pamtopnm' instead.
 3562 
 3563               pamscale: refilter as part of resampling for better
 3564               quality downsampling.
 3565 
 3566               ppmcolormask: fix segfault with stdin input.
 3567 
 3568               Add pm_setjmpbuf().
 3569 
 3570               pnmindex, ppmquantall: use pnmquant instead of ppmquant.
 3571 
 3572               pnmquant: add -quiet, -plain options
 3573 
 3574               ppmfade, pnmshadow, pnmindex, pamlookup: Use pamscale
 3575               instead of pnmscale.
 3576 
 3577               ppmtoxpm: Don't include superfluous entries for colors
 3578               of transparent pixels, or for transparency when there are
 3579               all colors are opaque, in the XPM color map.
 3580               
 3581               pnmquant: remove dependency on File::Temp, not available
 3582               before Perl 5.6.1.
 3583 
 3584               pamfunc: use multiplication instead of division for -divisor,
 3585               for speed.
 3586 
 3587               pamfunc: fix bug in -adder and -subtractor with signed
 3588               arithmetic.  Thanks David Jones <drj@pobox.com>.
 3589 
 3590               pamscale: fix bug in converting negative floats to integers.
 3591               Thanks David Jones <drj@pobox.com>.
 3592 
 3593               pamscale: fix bug with -filter: scanbuf too small, thus
 3594               some output rows/columns can never be created and output raster
 3595               is invalid.
 3596 
 3597               build: fix build errors in ppmtompeg with OMIT_NETWORK.
 3598 
 3599               jpeg2ktopam: fix uninitialized memory problem in allocating
 3600               jasperCmptNo.
 3601 
 3602               pbmclean: fix -minneighbors so it isn't really -minneighbor.
 3603 
 3604               pnmremap: allow RGB map and BLACKANDWHITE/GRAYSCALE input.
 3605 
 3606               pamstereogram: fix bug with -eyesep (float/double).
 3607 
 3608               pamtojpeg2k: fix bug with -compression (float/double).
 3609 
 3610               pamtojpeg2k/jpeg2ktopam: work on 64 bit machine; fix
 3611               definition of int32fast_t, etc. in libjasper.
 3612 
 3613               libnetpbm: Respect plainness of specified format when writing.
 3614 
 3615               pnmremap: fix handling of arithmetic overflow in color
 3616               distance calculation.
 3617 
 3618               pnmremap: fix bug with palette of different depth from image.
 3619               
 3620               libnetpbm: fix 2 byte per pixel pnm_pamwriterow(),
 3621               pnm_formatpamrow().
 3622 
 3623               pbmmake: fix bug: requires color option.  (Introduced ca.
 3624               10.23).
 3625 
 3626               -plain works with PAM write functions.
 3627 
 3628               common -plain option causes failure instead of wrong output
 3629               when used with PAM output.
 3630 
 3631               pnmremap: fix rounding error where map maxval is small and
 3632               unequal to image maxval.
 3633 
 3634               Add pnm_normalizeRow(), pnm_unnormalizeRow(),
 3635               pnm_creategammatransform(), pnm_createungammatransform(),
 3636               pnm_freegammatransform(), pnm_freeungammatransform().
 3637               Idea and prototype from "Scott T. Smith" <scott@gelatinous.com>.
 3638 
 3639               pamscale: Use pnm_noramlizeRow() to speed up gamma adjustments.
 3640 
 3641               palmtopnm: Don't assume Palm Bitmap is valid.
 3642               Thanks Paul Bolle <pebolle@tiscali.nl>.
 3643 
 3644               giftopnm: fix crash with input that has bogus color indices
 3645               in the raster.
 3646 
 3647               giftopnm: fix crash with input that has a bogus minimum code
 3648               length field.  Thanks deekoo@tentacle.net (Deekoo L.).
 3649 
 3650               pnm_readpamrown(): use pnm_readpamrow() instead of
 3651               pm_getraw() for speed.  Similar for pnm_writepamrown().
 3652 
 3653               pnm_readpamrown(): use multiplication instead of division
 3654               for speed.  Thanks "Scott T. Smith" <scott@gelatinous.com>.
 3655          
 3656               pm_readbiglong(), etc.: pm_error() in case of failure.
 3657 
 3658               Add pm_readchar(), pm_writechar(), pm_readcharu(),
 3659               pm_writecharu().
 3660 
 3661               pnmtopalm: Add packbits compression.
 3662 
 3663               pnmtopalm: Add version 3 capability (-density, -withdummy).
 3664 
 3665               pnmtopalm: fix bug: incorrect between-image pad amount.
 3666 
 3667               pnmtopalm: fix compressed images.  use 0 compressed size
 3668               field - not totally correct, but passable.
 3669 
 3670               palmtopnm: fix incorrect handling of some combinations of
 3671               PALM_IS_COMPRESSED flag and compression type field.
 3672               Thanks Paul Bolle <pebolle@tiscali.nl>.
 3673 
 3674               palmtopnm: fix totally broken RLE and scanline compression.
 3675               Thanks Paul Bolle <pebolle@tiscali.nl>.
 3676 
 3677               palmtopnm: handle PackBits compression.  Thanks Paul
 3678               Bolle <pebolle@tiscali.nl>.
 3679 
 3680               palmtopnm: handle Version 3 encoding.  Thanks Paul Bolle
 3681               <pebolle@tiscali.nl>.
 3682 
 3683               Make makeman put in missing newline.  Thanks Eric S. Raymond
 3684               <esr@thyrsus.com>.
 3685 
 3686               Include libz in build of programs that use TIFF library.
 3687 
 3688               palmtopnm: fix wrong check for disallowed combination of
 3689               -transparent and -rendition.
 3690 
 3691               pnmtops: Add -psfilter, -flate, -ascii85, -level options.
 3692 
 3693               pnmtops: Add -dict, -vmreclaim options.
 3694 
 3695               pnmtops: improve %%Title
 3696 
 3697               pamcomp: fix bug that duplicates last row of overlay image.
 3698               Thanks achurch@achurch.org (Andrew Church).
 3699 
 3700               pamcut: fix bug that fills the rightmost column with black.
 3701               Thanks achurch@achurch.org (Andrew Church).
 3702 
 3703               pnmtops: Add -noshowpage option.
 3704 
 3705               pnmtops: Add %%%%Page. (whoops, this actually added a second
 3706               %%%%Page.  Removed in 10.31).
 3707 
 3708               pnmtopalm: fix bug with -offset option.
 3709 
 3710               xwdtopnm: recognize TrueColor visual class in header dump.
 3711 
 3712               ppmforge: fix bug: crash due to wild pointer with -night.
 3713               Thanks John Walker <kelvin@fourmilab.ch>.
 3714 
 3715               libnetpbm: add pm_make_tmpfile().
 3716 
 3717 05.01.01 BJH  Release 10.26
 3718 
 3719               pnmhistmap: Add -dots, -nmax, -red, -green, -blue, -lval,
 3720               -rval, -height, and -width options.
 3721               Thanks "John H. DuBois III" <spcecdt@armory.com>.
 3722 
 3723               pnmnorm: accept -wpercent and -wvalue (or -bpercent and -bvalue)
 3724               together.  Thanks Gregg Townsend <gmt@CS.Arizona.EDU>.
 3725          
 3726               xwdtopnm: Add -headerdump option.
 3727 
 3728               pnmtoxwd: Include 256 color color maps in direct color instead
 3729               of zero.  Zero has a weird effect.
 3730 
 3731               pamtotga: recognize RGB_ALPHA instead of RGBA.
 3732 
 3733               palmtopnm: fix bug in determination of compression type.
 3734 
 3735               palmtopnm: fix bug in handling of multi-image streams.
 3736               Thanks Paul Bolle <pebolle@tiscali.nl>.
 3737 
 3738               pnmtopalm: fix bugs in computation of nextDepthOffset.
 3739               Thanks Paul Bolle <pebolle@tiscali.nl>.
 3740 
 3741               pamtotga: fix TGA pixel size for TGA with alpha.  Don't do
 3742               colormap if input has transparency.
 3743 
 3744               pamtotga: fix crash due to uninitialized "id" field in TGA 
 3745               header.
 3746 
 3747               pbm_writepbmrow(): Fix bug in MMX/SSE code that causes
 3748               segmentation fault.
 3749 
 3750               pnmhistmap: Fix bug: doesn't work with maxval != 255.
 3751               Thanks "John H. DuBois III" <spcecdt@armory.com>.
 3752 
 3753               pbmtext: fix crash with code point > 127.
 3754 
 3755               ppmtompeg: major cleanup.
 3756 
 3757               pnmtopng: fix "internal error" and crash bug with -transparent.
 3758 
 3759               pnmtoxwd: fix endianness on littleendian machines.
 3760 
 3761               pnmtoxwd: fix bug: doesn't work if you specify an option.
 3762               
 3763               jpegtopnm: fix bug: -dumpexif all wrong.
 3764 
 3765               jpegtopnm: fix bug: newline written to stdout instead of stderr
 3766               with -dumpexif.
 3767 
 3768               Add missing 'col' declaration so -msse compile works.
 3769 
 3770               pcdovtoppm: fix syntax error
 3771 
 3772               pnmtojbig/jbigtopnm: add newline to "usage" message.
 3773 
 3774               pamperspective: fix bugs with -frame_include, etc.
 3775 
 3776               build: Jpeg2k programs build properly with newer Jasper library.
 3777 
 3778               build: Fix bug: "no rule to build xxx.so" with external
 3779               Jasper or Jbig library.
 3780 
 3781               Add NAME and DESCRIPTION section to pointer man pages.
 3782 
 3783 04.10.16 BJH  Release 10.25
 3784 
 3785               Add pcxstd.ppm.
 3786 
 3787               Add pbmtoibm23xx.  Thanks Jo Fahlke <jorrit@jorrit.de>.
 3788 
 3789               Add pamedge, replacement for pnmedge.
 3790          
 3791               pamperspective: add -frame_include, -*margin, -include.
 3792 
 3793               pamcomp: Handle RGB_ALPHA and GRAYSCALE_ALPHA images,
 3794               using the opacity plane.
 3795               
 3796               pamscale: do transparency pixel mixing properly.
 3797 
 3798               ppmtompeg: cleanups and additional verbosity.
 3799 
 3800               anytopnm: Use 'nawk' instead of 'awk' where available.
 3801 
 3802               anytopnm: Don't use -e.  (not available everywhere).
 3803 
 3804               tifftopnm: Add warning when Whole Image method reduces
 3805               resolution to 8 bit.
 3806 
 3807               pamtopnm: accept extra planes (ignore them).
 3808 
 3809               pamcut: major speedup.  Thanks Akira F Urushibata
 3810               <afu@wta.att.ne.jp>
 3811 
 3812               libnetpbm: Add pnm_getopacity().
 3813 
 3814               libnetpbm: Add pnm_applyopacityrown(), pnm_unapplyopacityrown().
 3815 
 3816               libnetpbm: "pam" read and write routines much more
 3817               efficient.  Thanks Akira F Urushibata
 3818               <afu@wta.att.ne.jp>
 3819 
 3820               Add pnm_formatpamrow(), pnm_allocrowimage(),
 3821               pnm_freerowimage().  Thanks Thanks Akira F Urushibata
 3822               <afu@wta.att.ne.jp>
 3823 
 3824               pnm_readpamrow(): Add option to have "tuplerow" argument
 3825               NULL and not get the row's contents.  Thanks Thanks
 3826               Akira F Urushibata <afu@wta.att.ne.jp>
 3827 
 3828               Add pnm_writepamrowmult().  Thanks Thanks Akira F Urushibata
 3829               <afu@wta.att.ne.jp>.
 3830 
 3831               libnetpbm: format plain format images more nicely.
 3832               Thanks Thanks Akira F Urushibata <afu@wta.att.ne.jp>
 3833 
 3834               pamcut: fix bug: Blows up instead of failing cleanly
 3835               when you try to cut beyond the bounds of the image.
 3836               Thanks Thanks Akira F Urushibata <afu@wta.att.ne.jp>
 3837 
 3838               fix bug: MMX/SSE fast PBM writing (with gcc -msse) all wrong.
 3839 
 3840               pamscale; fix bug: -linear option sense reversed.
 3841 
 3842               pamscale: fix bug: everything too dark when using resampling
 3843               to enlarge.
 3844 
 3845               Speed up pbm_writepbmrow() (and all PBM output programs)
 3846               by going a byte at a time.  Thanks Akira F Urushibata
 3847               <afu@wta.att.ne.jp>.
 3848 
 3849               pamperspective: fix bug that can cause memory corruption
 3850               and crashes.  Thanks Mark Weyer
 3851               <Mark.Weyer@math.uni-freiburg.de>.
 3852 
 3853               ppmtompeg: put in proper marshalling/unmarshalling so as not
 3854               to depend on a 32 bit integer type.
 3855 
 3856               ppmtopcx: add -palette option.
 3857 
 3858               pnmconvol: fix bug: green and blue convolution matrices
 3859               exchanged, gray exchanged with random.
 3860 
 3861               ppmtowinicon: fix bug: crashes on 32 bit images.
 3862          
 3863               Use <inttypes.h> or <types.h> where possible, dynamically
 3864               built "inttypes.h" where not.  Eliminate uint32n.
 3865 
 3866               Handle BITS_PER_WORD=64 in wordaccess.h so it builds on 
 3867               64 bit platforms.
 3868 
 3869 04.08.11 BJH  Release 10.24
 3870 
 3871               g3topbm: Add -stop_error.
 3872 
 3873               Add makeman to build tools.  Thanks Eric S. Raymond
 3874               <esr@thyrsus.com>.
 3875 
 3876               pamflip: Large speed, memory improvements for
 3877               non-diagonal flips.  Thanks Akira F Urushibata
 3878               <afu@wta.att.ne.jp>.
 3879 
 3880               jbigtopnm, pnmtojbig: Use packed PBM functions to speed up
 3881               greatly.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 3882 
 3883               g3topbm: Don't fail on premature EOF; produce partial
 3884               output instead.
 3885 
 3886               add pnm_maketuplergb(), pnm_makerowrgb(), pnm_makearrayrgb().
 3887 
 3888               Fix a bunch of programs that, starting with 10.23, have too
 3889               large a "len" field in the pam structure, causing storage
 3890               overwrites.
 3891 
 3892               pbmtext: fix free of unallocated storage bug with stdin
 3893               input text.
 3894 
 3895               pnm_writepaminit(): deal correctly with pam structure that
 3896               doesn't contain tuple_type member.
 3897 
 3898               Fix pamP->allocation_depth == 0.
 3899 
 3900               pamstretch-gen: use pamscale instead of pnmscale.
 3901 
 3902               Generate pm_config.h at make time.  Determine endianness
 3903               and word size stuff dynamically.  Use uint32n instead of
 3904               uint32_t in infotopam.c.
 3905          
 3906               fitstopnm: fix MIN/MAX transposition in maxval bounding.
 3907          
 3908               Fix bug: "wordn" in place of "wordint" in wordaccess.h.
 3909 
 3910               Fix bug: -plain option on "pam" programs generated plain
 3911               header, but raw raster.
 3912 
 3913 04.07.17 BJH  Release 10.23
 3914 
 3915               Add pamgauss.
 3916 
 3917               Add pammasksharpen.
 3918 
 3919               Replace pnmtoplainpnm with pnmtopnm.
 3920 
 3921               pnmconvol: Add -nooffset.
 3922 
 3923               pamdice: add -hoverlap, -voverlap.  Thanks Geoff
 3924               Kuenning <geoff@cs.hmc.edu>.
 3925          
 3926               pbmtoepson: Add -dpi, -adjacent, -noadjacent, and -protocol
 3927               options.
 3928 
 3929               pstopnm: recognize Encapsulated Postscript by presence of 
 3930               "EPSF-" in the header instead of a whole specific header line.
 3931               Thanks Philip Hallstrom <philip.hallstrom@gilbarco.com>.
 3932 
 3933               pnmpad: Allow -left/-right along with -width,
 3934               -bottom/-top along with -height.  Thanks David Jones 
 3935               <drj@pobox.com>.
 3936 
 3937               pnmpad: round to nearest instead of lowest in interpretation
 3938               of -halign, -valign.
 3939 
 3940               pnmsplit: Add -padname option.
 3941 
 3942               pnmenlarge: work on multi-image streams.
 3943               
 3944               libnetpbm: add allocation_depth to PAM structure.  Add
 3945               maketuplergb(), makerowrgb(), makearrayrgb().
 3946 
 3947               pnminvert: much faster for PBMs.  Thanks 
 3948               Akira F Urushibata <afu@wta.att.ne.jp>.
 3949 
 3950               pbmmake: use packed bits to speed up.  Thanks
 3951               Akira F Urushibata <afu@wta.att.ne.jp>.
 3952 
 3953               pbmtog3: speedups.  Thanks Akira F Urushibata
 3954               <afu@wta.att.ne.jp>.
 3955 
 3956               Fix gamma value (from .45 to 2.2) in pm_gamma709(), 
 3957               pm_ungamma709().
 3958 
 3959               pgmramp: Fix signedness bug with -rectangle, -ellipse.
 3960 
 3961               pnmtojpeg: fix bug with large exif files. (negative malloc)
 3962 
 3963               pnmtopng: Fix estimation of whether it's better to use a
 3964               colormap or not.
 3965          
 3966               Add pamditherbw, replacement for pgmtopbm.
 3967 
 3968               pamperspective: Fix bug.  Incorrect output.  Thanks
 3969               <Mark.Weyer@math.uni-freiburg.de>.
 3970 
 3971               ppmtompeg: fix crash with input that is not a multiple of
 3972               16 pixels high and wide.
 3973 
 3974               pamtotga: fix crash due to freeing nonexistent color table.
 3975 
 3976               pamtotga: fix bug: invalid TGA when you use -rgb with a
 3977               non-color input.
 3978 
 3979               pgmtopbm: fix calculations that divide by maxval+1; should
 3980               divide by maxval.  Thanks David Jones <drj@pobox.com>.
 3981 
 3982 04.05.01 BJH  Release 10.22
 3983 
 3984               Add pamperspective.  Thanks Mark Weyer
 3985               <Mark.Weyer@math.uni-freiburg.de>.
 3986 
 3987               Add pamstereogram.  Thanks Scott Pakin <scott+pbm@pakin.org>.
 3988 
 3989               Add pc1toppm.  Thanks Roine Gustafsson
 3990               <roine@users.sourceforge.net>.
 3991 
 3992               Add pbmtodjvurle.  Thanks Scott Pakin <scott+pbm@pakin.org>.
 3993 
 3994               Add infotopam.  Thanks Rich Griswold <griswold@acm.org>.
 3995 
 3996               Add pamtopfm, pfmtopam.
 3997 
 3998               ppmtowinicon: Add -truetransparent.
 3999 
 4000               ppmtowinicon: remove old, wrong, undocumented -andppm synonym
 4001               of -andpgm.
 4002 
 4003               ppmtopcx: Add -stdpalette option.
 4004 
 4005               pamsumm: Add -brief, -normalize.
 4006 
 4007               All programs that interpret color specifiers (ppmchange, etc.):
 4008               warn if the specified color can't be represented, to the 
 4009               precision specified, in the operative maxval.
 4010 
 4011               ppmchange: fail if the specified color can't be represented in
 4012               the maxval of the input image.
 4013 
 4014               pcxtoppm: Imply standard palette when palette in PCX header is
 4015               all black.  This function apparently got lost some time since
 4016               it was added in 1994.
 4017               
 4018               pcxtoppm: Add the color palette to -verbose output.
 4019 
 4020               ppmtopcx: Fix bug: wrong 256 color PCX output.  From
 4021               10.21.  Thanks Timothy Borgeaud
 4022               <timothy@borgeaud.freeserve.co.uk>.
 4023 
 4024               Convert ppmtodjvurle into pamtodjvurle.
 4025 
 4026               pngtopnm: Dump additional info about PNG with -verbose.
 4027 
 4028               pngtopnm: Use Netpbm command line parser.
 4029 
 4030               pbm_readpbmrowpacked(): Fix bug: ORs bits into return value
 4031               instead of setting them.  Affects pbmtoescp2.
 4032 
 4033               ppmtopcx: Fix bug: don't add black to a palette if it's not
 4034               already there.
 4035 
 4036               pnm_tuplehashtotable(): fix allocsize (maxsize) = 0 case.
 4037 
 4038               pamflip: fix bug with random memory accesses due to
 4039               signed/unsigned comparison.
 4040 
 4041 04.03.28 BJH  Release 10.21
 4042 
 4043               Add pamsumm.
 4044 
 4045               Add pamsummcol.
 4046 
 4047               Add pamsharpness, pamsharpmap.
 4048 
 4049               Add ppmtodjvurle.  Thanks Scott Pakin <scott+pbm@pakin.org>.
 4050 
 4051               pstopnm: add -dpi option.
 4052 
 4053               ppmtopcx: add -planes option.
 4054          
 4055               pbmtext: add -width option.
 4056 
 4057               replace pnmcomp with pamcomp, do transparency right wrt gamma.
 4058 
 4059               tifftopnm: Use better CMYK->RGB algorithm: y=1-(b+k) instead
 4060               of y=(1-k)*(1-b) in Row By Row mode.
 4061 
 4062               pbmtext/libnetpbm: Allow pbmfont fonts to have 96 characters
 4063               (32-128) instead of 95.
 4064 
 4065               pnmtopng: fix bug with -transparent.
 4066 
 4067               pcxtoppm: remove debugging footsteps.
 4068 
 4069               pnmflip: pass through -plain, etc. to pamflip.
 4070 
 4071               Include pm_system.h, pm_gamma.h in package.
 4072 
 4073               ppmtomap: Change #/bin/sh to #!/bin/sh.
 4074 
 4075               ppmtogif: Don't violate array bounds when GIF color map is
 4076               is larger than internal color map.
 4077 
 4078               yuvsplittoppm: Fix -ccir601 option; clean up.
 4079 
 4080               ppmtobmp: Fix bug: Generates invalid bits per pixel
 4081               (e.g. 3) when input image has small number of colors.
 4082               Thanks David Jones <drj@pobox.com>.
 4083 
 4084               pbmtog3: fix buffer overrun when image > 1728 columns.
 4085               Thanks Akira F Urushibata <afu@wta.att.ne.jp>.
 4086 
 4087               pnmsvgalib: Correct error message - too wide -> too tall.
 4088 
 4089               pnmtotiffcmyk:  Correct abs to fabs so -theta works.
 4090 
 4091               sldtoppm: Correct abs to fabs.
 4092 
 4093               pgmramp: Correct abs to fabs so -rectangle and -ellipse work.
 4094 
 4095               pgmramp: Don't crash with -rectangle and height or width = 1.
 4096 
 4097               ppmforge: Correct abs to fabs so the planet is more than
 4098               2 pixels wide.  Also recode much of program in high level C.
 4099 
 4100               pnmtojpeg: interpret "length" field in exif data as unsigned
 4101               16 bit instead of signed.
 4102 
 4103               pnmrotate: fix bug: always crashes in memory free
 4104 
 4105               pnmrotate: remove debugging messages.
 4106 
 4107               Declare _XOPEN_SOURCE=500 in programs that use strdup() so
 4108               C libraries that don't have _BSD_SOURCE will declare it.
 4109 
 4110               Use FTELLO macro so things compile on a system that
 4111               doesn't have ftello.  Don't assume _LARGE_FILE_API means
 4112               ftello is available -- _LARGE_FILE_API is input to libc, not
 4113               output from it.
 4114 
 4115 04.01.30 BJH  Release 10.20
 4116 
 4117               pamscale: derive from pnmscale.
 4118 
 4119               pamscale: Add resampling/convolution code.  Thanks
 4120               Michael Reinelt <m.reinelt@steinhilberschwehr.at>.
 4121 
 4122               pamscale: Do math in linear intensities instead of
 4123               gamma-adjusted.
 4124 
 4125               pamscale: Add -xyfill.
 4126 
 4127               pnmtopng: Remove global variables.  Solves a problem with 
 4128               conflicting name with libc: "gamma".
 4129                        
 4130               pbmtomda: make program identifier 'MicroDesignPCW'.  Thanks
 4131               John Elliott <jce@seasip.demon.co.uk>.
 4132 
 4133               fitstopnm: Produce maxval 1 instead of 0 when input is all one
 4134               value.  Use maxval 255 when samples are floating point.
 4135 
 4136               pamstretch-gen: be robust to invalid PNM input.
 4137 
 4138               anytopnm: do safe temporary files.
 4139 
 4140               ppmquantall: do safe temporary files.
 4141 
 4142               pnmindex: do safe temporary files.
 4143 
 4144               pnmmargin: do safe temporary files.
 4145 
 4146               pamstretch-gen: do safe temporary files.  Thanks 
 4147               Stefan Nordhausen <nordhaus@informatik.hu-berlin.de>.
 4148               
 4149               tifftopnm: Do better validation of number of channels.
 4150 
 4151               libnetpbm: Add pm_tmpfile().
 4152               
 4153               libnetpbm: Add "normalized" (floating point) read/write
 4154               routines:  pnm_readpamrown(), pnm_writepamrown(), 
 4155               pnm_allocpamrown(), pnm_freepamrown().
 4156 
 4157               libnetpbm: Add pm_gamma709, pm_ungamma709().
 4158 
 4159               libnetpbm: rename createBlackTuple() to pnm_createBlackTuple().
 4160 
 4161               pm_openr_seekable(): use TMPFILE environment variable.
 4162               Thanks Kai Strieder <ska@pixelboxx.de>.
 4163 
 4164               libnetpbm: Fail when input maxval is 0.  This wreaks havoc
 4165               with such things as rescaling to a new maxval.
 4166 
 4167               pnmquant: Fix bug wherein all options are rejected.
 4168 
 4169               ppmshadow: Fix crash in all invocations.
 4170 
 4171               pnmtopng: fix bug with array bounds violation with -alpha.
 4172               Usual symptom: "internal inconsistency" message.
 4173 
 4174               anytopnm: Remove "function" so it works on FreeBSD.
 4175 
 4176               configure: Do a better job of choosing between -R and -rpath.
 4177 
 4178               configure: Add test compile for PNG, Z libraries.
 4179 
 4180 03.11.15 BJH  Release 10.19
 4181 
 4182               ppmhist: Add -float option.
 4183 
 4184               ppmhist: speed up -colorname by reading color dictionary only
 4185               once.
 4186 
 4187               bmptopnm: fix bug with BMPs that end prematurely.
 4188 
 4189               giftopnm: Properly generate alpha mask when the same
 4190               color is both transparent and opaque in the GIF.  Thanks
 4191               Karl Zilles <zilles@1969.ws>.
 4192 
 4193               rgb.txt: move D65 to the end, so "white" is preferred.
 4194 
 4195               xwdtopnm: change interpretation of bitmap_pad and bitmap_unit
 4196               to accommodate Xfree86 direct color 24 bit xwd.
 4197 
 4198               pbmtextps: fix bug where intermediate file gets truncated.
 4199 
 4200               pstopnm: fix bug in which Standard Input never works.
 4201 
 4202               ppmtobmp: change 'char' to 'unsigned char' to work around a
 4203               Solaris C library bug.
 4204 
 4205               ppmtobmp: handle maxval properly for maxval != 256 truecolor BMP.
 4206               Thanks Michael Buchholz <michael.buchholz@deu.mci.com>.
 4207 
 4208               ppmquant: replace with wrapper for pnmquant, because ppmquant
 4209               had some really hard bug in computing the new color set.
 4210 
 4211               Fix stack corruption in pXm_check() on systems that have
 4212               both 32 and 64 bit file offsets.
 4213 
 4214               Add 'makecat' build tool and description to USERDOC of
 4215               using lynx -dump to get man-able documentation.
 4216 
 4217               Make AIX shared library build work, with -qmkshrobj.
 4218 
 4219               configure: Add intelligence to default location for zlib,
 4220               libpng headers.
 4221 
 4222               configure: Make shared libraries work on AIX.
 4223 
 4224               Add netpbm-config.
 4225 
 4226               installnetpbm: don't crash on mkdir on old Perl.
 4227 
 4228 03.09.19 BJH  Release 10.18
 4229 
 4230               Add pbmtomrf, mrftopbm.
 4231 
 4232               Add escp2topbm, pbmtoescp2.  Thanks Ulrich Walcher
 4233               <u.walcher@gmx.de>
 4234 
 4235               Add pbmtomatrixorbital.
 4236 
 4237               Add ddbugtopbm by Russell Marks.
 4238 
 4239               bmptopnm: Handle transparency, arbitrary pixel format (rgba
 4240               masks in BMP header).
 4241 
 4242               bmptopnm: Handle top-down BMP.
 4243 
 4244               bmptopnm: Handle 32 bit BMP.  Thanks Aaron Orenstein
 4245               <aorenste@grandvirtual.com>.
 4246 
 4247               ppmtopcx: add -8bit option.  Thanks Holger Schemel
 4248               <holger.schemel@telefonica.de>.
 4249 
 4250               ilbmtoppm: recognize (and ignore) DPPS and TINY chunks.
 4251 
 4252               pbmpage: Add solid perimeter box to Pattern 1.
 4253 
 4254               anytopnm: use 'file --mime' where available to determine file
 4255               type more robustly.
 4256 
 4257               manweb: make 'webdir' a list of directories instead of just one.
 4258 
 4259               pnmpsnr: fix bug: Cr and Cb interchanged.  Thanks
 4260               "Uwe Utecht" <uwe.utecht@bbc.co.uk>.
 4261 
 4262               pnmstitch: fix crash.  Thanks "Paul" <pwilkins@lashwhip.com>.
 4263 
 4264               manweb: add ability to read info files.
 4265 
 4266               configure: missing lineends for Solaris.
 4267 
 4268               anytopnm, ppmquantall: remove non-POSIX tail -N and egrep.
 4269 
 4270               pgmtexture: Fix Measure of Correlation-2 so small values don't
 4271               turn into zero (replace abs() with fabs()).
 4272          
 4273               Add and use MALLOCVAR and MALLOCARRAY utility macros.
 4274 
 4275               Allocate rows individually if can't get all rows in a single
 4276               memory block.
 4277 
 4278               Remove hpcdtoppm from the main package because it isn't
 4279               licensed properly to be distributed on Sourceforge.
 4280               
 4281               Remove "magic" file -- the version that comes with Christos
 4282               Zoulas' 'file' package now contains everything that file had.
 4283 
 4284               configure: put space after -o in test compiles.
 4285 
 4286               Explicitly set SCRIPTS make variable to null so environment
 4287               variable of the same name doesn't screw things up.
 4288 
 4289               Remove -DALL_SOURCE from AIX compile; define it in files that
 4290               require it.
 4291 
 4292               Add -ffast-math option to recommended Gcc options.
 4293 
 4294               stamp_date: don't use LOGNAME as a variable (on AIX, you can't).
 4295 
 4296 03.07.05 BJH  Release 10.17
 4297 
 4298               Various code cleanups based on TRU64 compiler warnings.
 4299 
 4300               Configure: print message when $OSNAME not recognized.
 4301 
 4302               Fix Makefile.common so LIBS and LOADLIBES work.
 4303 
 4304               Fix make file for Ppmglobe so it links the math library.
 4305 
 4306               Fix bug in xxx_check(): function/prototype mismatch
 4307               causes bogus wrong-filesize error on systems where off_t
 4308               is sometimes not 64 bits.
 4309 
 4310 03.07.03 BJH  Release 10.16
 4311 
 4312               Add ppmglobe.  Thanks Max Gensthaler <Max@Gensthaler.de>.
 4313 
 4314               bmptopnm: Add ability to convert 16 bits per pixel Windows BMP.
 4315 
 4316               giftopnm: add -image=all.
 4317 
 4318               pnmtiff: Add -resolutionunit option.
 4319 
 4320               pnmtopng: fix bugs, remove limitations with -text.
 4321 
 4322               pgmabel: Declare internal subroutines 'static'.
 4323               
 4324               pstopnm: fix bug: encapsulated postscript confused with 
 4325               regular postscript, so all pages get overlaid as one page.
 4326 
 4327               pnmrotate: Use smaller real memory working set.
 4328 
 4329               winicontoppm: use standard option parser.
 4330 
 4331               pnmflip: fix bug causing -r180 and -r270 to be ignored.
 4332               Thanks YANO Hirokuni <hyano@ya-no.com>.
 4333 
 4334               configure: fix bug with missing space when using CFLAGS
 4335               environment variable.
 4336 
 4337               Add CPPFLAGS and LOADLIBES to rules and 'configure' test
 4338               compiles.
 4339 
 4340               Issue error message if you do 'make package' before 'make'.
 4341 
 4342               Add VERSION file to package.
 4343 
 4344               Use explicit library file name on a link instead of -L/-l
 4345               where possible.
 4346 
 4347 03.04.27 BJH  Release 10.15
 4348 
 4349               Add pamtohtmltbl.  Thanks Alexander B. Ivanov <ssh@S-and-B.ru>.
 4350 
 4351               Add pampop9.  Thanks Robert Tinsley, 
 4352               <http://www.thepoacher.net/contact>.
 4353 
 4354               winicontoppm: Handle 24 bit direct color winicons.  Thanks
 4355               Lee Benfield <lee@benf.org>.
 4356 
 4357               pnmrotate: add -background option.
 4358 
 4359               pnmtojpeg: Add -density option.
 4360 
 4361               pamtotga: Fix bugs with images with alpha planes.
 4362 
 4363               libnetpbm: Add ppm_readcolornamefile().
 4364 
 4365               Make library and programs work with files > 2GB.  At least 
 4366               on GNU and AIX.
 4367 
 4368               pbmtext: Add -momargin option.  Thanks "Slaven Rezic"
 4369               <eserte@web.de>.
 4370 
 4371               pbmtoepsi: fix bug: non six-digit lines between 
 4372               %%BeginPreview: ... and %%EndImage .  Thanks
 4373               "K.Nakano" <ksk@seeds-man.com>.
 4374 
 4375               pnmrotate: fix bug: background color computed wrong.
 4376               
 4377               pnmrotate: fix bug: PBMs without -noantialias not properly
 4378               promoted to PGM.
 4379 
 4380               pnmtops: fix bug: 1 bit per sample output when maxval is 2
 4381               or 3.  Should be 4 bits per sample.
 4382 
 4383               pnmtops: fix bug: everything too dark when input maxval less
 4384               than Postscript maxval.
 4385 
 4386               pm_nextimage(): fix bug: doesn't read past white space at the
 4387               end of a plain-format raster.
 4388 
 4389               pnmremap: fix performance bug: don't put same color into hash
 4390               twice.  Thanks Hannu Koivisto <Hannu.Koivisto@ionific.com>.
 4391 
 4392               ppmtoxpm: Add -hexonly.  Default to system color dictionary.
 4393               Use standard library routines to access color dictionary.
 4394 
 4395               pnmcolormap: Keep only one row at a time in memory.
 4396 
 4397               bmptopnm: fix buffer overrun with wild ColorsUsed value.
 4398 
 4399               Change ordering of include files in parallel.c so it compiles
 4400               on AIX 5.
 4401 
 4402               configure: change -O2 to -O0 for broken gcc compiler.
 4403 
 4404               One more chop at the -R/-rpath issue: new defaults for Solaris.
 4405 
 4406 03.02.13 BJH  Release 10.14
 4407 
 4408               Add pamedge, adapted from pnmedge by Peter Kirchgessner, 1995.
 4409 
 4410               Add ppmwheel, adapted from ppmcirc by Peter Kirchgessner, 1995.
 4411 
 4412               Add ppmtoarbtxt, renamed from ppmtotxt by Peter Kirchgessner,
 4413               1995.
 4414               
 4415               pnmflip: add pnmflip directory to search path for pamflip.
 4416 
 4417               picttoppm: Recognize DirectBitsRgn opcode.  Thanks
 4418               <kabe@sra-tohoku.co.jp>.
 4419 
 4420               ppmbrighten: -normalize works with nonseekable input.
 4421 
 4422               jpegtopnm: Update exif stuff to match Jhead 1.9.
 4423 
 4424               bmptopnm: fix for the case of ColorsUsed != 0 in 
 4425               non-colormapped (24 bit) image.
 4426 
 4427               pbmtopgm: limit the maxval to legal values.
 4428          
 4429               pamarith: minimum output maxval of 2 for -compare.
 4430 
 4431               rgb.txt: remove redundant lines, clean up.
 4432 
 4433               pnmgamma: fix bug in -ungamma -cieramp. 1/gamma vs gamma.
 4434 
 4435               pnmtopng: fix bug: background color = transparent color in
 4436               colormapped image causes transparent color not to be
 4437               transparent.  Also make bilevel images with background color
 4438               use 1 bit per pixel instead of 2.
 4439 
 4440               pngtopnm: Fix bug: wrong exit code.
 4441 
 4442               Fix broken ISUPPER; affects sbigtopgm and color name functions
 4443 
 4444               pamflip: Use bundled strsepN() instead of strsep().
 4445 
 4446               giftopnm: fix bug with GIFs that (invalidly) contain translation
 4447               cycles.  Clean up LZW decompression so it is readable and more
 4448               robust.
 4449               
 4450               Add strsepN() to libnetpbm, because strsep() is not available
 4451               everywhere.
 4452 
 4453               Change --rpath to -rpath.
 4454 
 4455               Change LINKERISGCC to LINKERISCOMPILER and default to Y.
 4456 
 4457               configure: Handle explicit "none" response to svgalib prompt.
 4458 
 4459               Add merge.o (vs mergelist) method of doing merge build.
 4460          
 4461               Fix bug: jbig converters missing from merge build.
 4462 
 4463 03.01.09 BJH  Release 10.13
 4464 
 4465               Add pamlookup.
 4466               
 4467               Add pamflip: replacement of pnmflip.  Does PAM images and has
 4468               -xform option.
 4469 
 4470               Add pm_system().
 4471 
 4472               Ppmrainbow:  Add -norepeat option.
 4473 
 4474               tifftopnm: handle 32 bits per sample -- Use upper 16 bits.
 4475 
 4476               tifftopnm: add -byrow.
 4477 
 4478               pamarith:  Add -compare operator.
 4479 
 4480               ppmtompeg: Check for missing YUV_SIZE option with 
 4481               -combine_frames and -combine_gops.
 4482 
 4483               ppmtompeg: fix buffer overrun with invalid message received
 4484               by slave processor.
 4485 
 4486               pamseq: Fix crash/memory corruption.
 4487 
 4488               pamseq: Remove debugging statement.
 4489 
 4490               Add some protection against Netpbm images that indicate
 4491               dimensions too big to process without arithmetic overflow.
 4492 
 4493               Replace isdigit() with ISDIGIT(), etc.
 4494 
 4495               pnmnorm: malloc histogram array instead of using stack
 4496               variable to avoid stack overflow.
 4497 
 4498               thinkjettopbm: works with Solaris Lex.
 4499               
 4500               Add PKGDIR_DEFAULT Makefile.config variable.
 4501 
 4502               Configure: Test for old JPEG library without jpeg_marker_struct.
 4503 
 4504               Configure: Add -I/usr/local/include and -I/usr/local/lib to
 4505               OpenBSD and NetBSD compiles and links.
 4506 
 4507               Change make variable from INCLUDE to INCLUDES to avoid collision
 4508               with Cygwin environment variable.
 4509 
 4510 02.11.09 BJH  Release 10.12
 4511               
 4512               Add pamtojpeg2k, jpeg2ktopam.
 4513 
 4514               pnmtotiff: add test for seekable output.
 4515 
 4516               pnmflip: use packed PBM format to save memory.  Thanks
 4517               Ivan Karski <karski@nym.alias.net>.
 4518 
 4519               thinkjettopbm: replace getopt with shhopt to avoid header file
 4520               problem (getopt.h) on some systems.
 4521 
 4522               fix multiple definition problem with pm_plain_output.
 4523 
 4524               pgmminkowski, pgmmorphconv: fix bug: programs missing.  These
 4525               were formally added in 10.0, but the code never actually went in.
 4526 
 4527               pbmtomda: fix crash with input image not multiple of 4 rows.
 4528 
 4529               tgatoppm: fix segfault in option processing from recent
 4530               option processor change.
 4531 
 4532               Slight correction to coefficients in pnm_YCbCrtuple.
 4533 
 4534               Add pnm_YCbCr_to_rgbtuple() to libnetpbm.
 4535 
 4536               ppmtompeg: fix build failure with NETWORKLD=NONE.
 4537 
 4538               ppmtompeg: fix build error due to broken C library header files
 4539               on SunOS.
 4540 
 4541               Fix missing alias symlinks in merge build.
 4542 
 4543 02.10.17 BJH  Release 10.11
 4544          
 4545               Fix nstring.h, ppmcmap.h dependency in analyzer/.
 4546 
 4547               pnmtojpeg: Add -rgb option.
 4548 
 4549               jpegtopnm: Handle a stream of consecutive JPEGs.
 4550 
 4551               tifftopnm: use TIFFRGBAImageGet() so it works on compressed
 4552               images.
 4553 
 4554               'make distclean' deletes all symbolic links, even if I forget
 4555               to put them in HEADERLINKS so that 'make clean' gets them.
 4556 
 4557 02.10.10 BJH  Release 10.10
 4558 
 4559               Add -plain common option.  Thanks "John H. DuBois III"
 4560               <spcecdt@armory.com>.
 4561 
 4562               ppmhist: Add -colorname option
 4563 
 4564               pnmcomp: Add -align=beyondleft, -align=beyondright,
 4565               -valign=above, -valign=below and make -xoff and -yoff work
 4566               in conjunction with -align and -valign.  Idea from 
 4567               "John H. DuBois III" <spcecdt@armory.com>.
 4568 
 4569               manweb: Add ability to search through PATH for documentation
 4570               so you can just say 'manweb bmptopnm'.
 4571 
 4572               bmptopnm: fix bug from 10.9: 24 bit truecolor should be
 4573               BGR, not RGB.
 4574 
 4575               ppmtobmp: fix bug from 10.9: 24 bit truecolor should be
 4576               BGR, not RGB.
 4577 
 4578               pamarith: Fix bug with mixed depth inputs.
 4579          
 4580               pamarith: Fix bug with -subtract of larger # from smaller.
 4581 
 4582               pnmstitch: fix bug causing segfault at end.
 4583 
 4584               pgmtopgm, ppmtoppm: Issue error message if arguments given.
 4585 
 4586               giftopnm: remove debugging messages.
 4587 
 4588               Fix line number in color dictionary error messages.
 4589 
 4590               Fix build errors on systems that don't do "echo -n" by using
 4591               cat /dev/null instead.
 4592 
 4593               Fix build errors that cause the data files not to get installed.
 4594               
 4595               Merge build: fix install of other/ programs and add NETWORKLD
 4596               to the link.
 4597 
 4598               Merge build: add missing backward compatibility 'pnmfile' link.
 4599 
 4600               Add SCO OpenServer to configure dialog.  Thanks
 4601               John H. DuBois III <spcecdt@armory.com>
 4602 
 4603               Add FreeBSD to the configure dialog.
 4604 
 4605 02.09.21 BJH  Release 10.9
 4606 
 4607               Add pgmtopgm.
 4608 
 4609               Add ppmtoppm.
 4610 
 4611               Add ppmtoterm.  Thanks Ero Carrera <ecarrera@lightforge.com>.
 4612 
 4613               Add ppmrough.  Thanks Eckard Specht
 4614               <specht@hydra.nat.uni-magdeburg.de>.
 4615 
 4616               Add rgb.txt
 4617 
 4618               pnmquant: make it work with pipe input; fix crash due to 
 4619               half-finished work accidentally released a few releases ago.
 4620 
 4621               bmptopnm: Use way less memory by inverting image while still
 4622               in the BMP raster format (as little as 1 bit per pixel), 
 4623               instead of in the libnetpbm format (96 bits per pixel).
 4624 
 4625               ppmhist: Reads image into memory one row at a time instead
 4626               of entire image in memory at once.
 4627 
 4628               ppmshadow: make it work with non-PPM input.
 4629 
 4630               ppmshadow: Don't run a shell for every Netpbm program.
 4631 
 4632               xwdtopnm, pnmtoxwd: make them work on 64-bit-long machines.
 4633               
 4634               ppmdither: Fix subscript out of bounds bug which caused
 4635               random intensity values for the most intense pixels (and
 4636               very slightly too-intense values everywhere).
 4637 
 4638               ppmtobmp: Fix bug in 24 bit truecolor: was writing B, G, R
 4639               but standard appears to be R, G, B (per bmptopnm and xli).
 4640 
 4641               pamarith: restore pnmarith capability of having one of the
 4642               inputs be depth 1 while the other is not.
 4643 
 4644               pnmtopclxl: fine tuning of PBM input case.
 4645 
 4646               remove pnmfile; obsoleted by pamfile.
 4647 
 4648               ppmfade, ppmshadow: Change #!/bin/perl to #!/usr/bin/perl.
 4649 
 4650               Add a bunch of missing #include <string.h> and fix scanf type
 4651               mismatches, per gcc 3.2 compiler warnings.
 4652 
 4653               Add some missing -R options to links.
 4654 
 4655 02.08.16 BJH  Release 10.8
 4656   
 4657               Build: Fix Configure bug with JPEG headers in default path.
 4658 
 4659               Pnmtopclxl: fix bug with PBM input not multiple of 8 across.
 4660 
 4661 02.08.15 BJH  Release 10.7
 4662 
 4663               Pnmtopclxl: remove padBytesMultiple attribute, which doesn't
 4664               exist on old printers.
 4665 
 4666               Pnmtopclxl: fix MediaDestination parameter value.
 4667 
 4668               Pnmtopclxl: make options parsed by standard Netpbm
 4669               option parser; remove unconventional (and broken)
 4670               --output option.  Fix crash with Standard Input input.
 4671               Check whole length given for option values.
 4672 
 4673               pnmflip: Add -memsize and -pagesize.  Make other options
 4674               conventional - only one transformation allowed.
 4675 
 4676               Make 'configure' a Bourne Shell program that calls configure.pl.
 4677 
 4678               Add pnmstitch.  Thanks Mark Salyzyn <salyzyn@cfl.rr.com>.
 4679 
 4680               Fix -R stuff to fix Solaris build.
 4681               
 4682               Add lots of consts, remove dead code, with the help of 
 4683               GNU compiler warnings.
 4684 
 4685 02.07.29 BJH  Release 10.6
 4686 
 4687               Add pnmtopclxl.  Thanks Jochen Karrer
 4688               <cip307@cip.physik.uni-wuerzburg.de>.
 4689 
 4690               Add pnmstitch code; not working yet.
 4691 
 4692               pnmmontage: add -data option.  Thanks Ben
 4693               <bem@mad.scientist.com>.
 4694 
 4695               pamtotga: Add alpha capability, via "RGBA" tuple type.
 4696 
 4697               pamtotga: put "image ID" in TGA output.
 4698 
 4699               ppmtotga: take PAM input; rename dot 'pamtotga'.  Former name
 4700               was a misnomer anyway; it was always a PNM program because it
 4701               distinguished between PGM and PPM input.
 4702 
 4703               pamtotga: Add alpha capability, via "RGBA" tuple type.
 4704 
 4705               pamtotga: put "image ID" in TGA output.
 4706 
 4707               pnmcomp:  Add -opacity option.
 4708 
 4709               pbmtog3: Add -nofixedwidth option.  Vladimir Nadvornik
 4710               <nadvornik@suse.cz>
 4711 
 4712               ppmtopgm: upgrade to handle multi-image PPM file.
 4713 
 4714               icontopbm: fix bugs with invalid input formats.  Thanks
 4715               Vladimir Nadvornik <nadvornik@suse.cz>
 4716 
 4717               ppmtompeg: fix crash with logarithmic psearch algorithm and
 4718               non-power-of-2 search range.
 4719 
 4720               configure: fix use of compiler other than cc.  Thanks
 4721               Ben <bem@mad.scientist.com>.
 4722 
 4723               Fix Cygwin library build for default DLLVER.
 4724 
 4725               Fix file handle problem with Configure on old Perl.
 4726 
 4727               Don't use .defs file/run dlltool (Windows).
 4728 
 4729 02.07.14 BJH  Release 10.5
 4730          
 4731               Make library link on Solaris with GNU Ld work.  Thanks
 4732               Russel Winder <russel@russel.org.uk>.
 4733 
 4734               Make Configure not depend on File::Temp.
 4735 
 4736 02.07.09 BJH  Release 10.4
 4737 
 4738               Fix space after -I bug in Makefile.common, lib/Makefile.
 4739 
 4740               Change a bunch of macros to upper case; avoid name collision
 4741               of round() with math library.
 4742 
 4743               Configure detects broken gcc, sets -O2.
 4744 
 4745               Configure detects jpeg headers not in default search path.
 4746 
 4747 02.07.02 BJH  Release 10.3
 4748 
 4749               Add pamfunc.
 4750 
 4751               Add pgmabel.  Thanks Volker Schmidt <lefti@voyager.boerde.de>.
 4752 
 4753               pamslice: add -xmgr option.
 4754                        
 4755               pgmslice: upgrade to pamslice.
 4756          
 4757               pamarith: add -mean option.
 4758 
 4759               pnmarith: upgrade to pamarith.
 4760 
 4761               pnmtopng: add -palette option.  Functional copy from
 4762               "Pnmtopng" package.
 4763 
 4764               pbmtoepsi: Add -dpi option.  Thanks Bill Cheng
 4765               <bill.cheng@acm.org>
 4766 
 4767               tifftopnm: make -respectfillorder work.
 4768 
 4769               pnmtopng: fix bugs in handling of text comment files.
 4770               Taken from "Pnmtopng" package.
 4771 
 4772               pnmtopng: fix -hist option.
 4773 
 4774               Cygwin build accommodations.  Thanks Charles Wilson 
 4775               <cwilson@ece.gatech.edu>.
 4776 
 4777               Fix ppmtompeg build failure when JPEGLIB = NONE
 4778 
 4779               Fix missing -R link options.
 4780 
 4781 02.06.14 BJH  Release 10.2
 4782          
 4783               Works with separate build directory.
 4784 
 4785               pnmnorm: fix precision error causes whites to become black
 4786 
 4787               Fix bug: Pbmpage needs math library
 4788 
 4789 02.06.07 BJH  Release 10.1
 4790 
 4791               ppmmake: add -maxval option
 4792 
 4793               pgmramp: add -maxval option
 4794 
 4795               Add pamseq.
 4796 
 4797               ppmcolors: base on pamseq.
 4798 
 4799               pnmtotiff: Fix bug in -indexbits.
 4800 
 4801               Fix runtime library paths for Darwin, Netbsd
 4802 
 4803               installnetpbm: Fix infinite loop when you refuse manweb.conf.
 4804 
 4805               installnetpbm: Add mode to mkdir for older Perl.
 4806 
 4807               installnetpbm: Use BSD option on Cp if not GNU.
 4808 
 4809 02.06.01 BJH  Release 10.0
 4810          
 4811               Man pages replaced by web pages -- either private copies
 4812               or straight from Netpbm Central.  Documentation distributed
 4813               via Worldwide Web, not in the Netpbm source code tarball.
 4814 
 4815               Reorganize source tree.  Combine 4 Netpbm libraries into 1.
 4816               Make merge build merge ALL programs into one.
 4817 
 4818               Add pamendian.
 4819 
 4820               Add pamstack.
 4821 
 4822               Add pamtohdiff, hdifftopam.
 4823          
 4824               Add pbmtextps.  Thanks James McCann <jmccann@eskimo.com>.
 4825 
 4826               Add pgmminkowski, pgmmorphconv.  Thanks Luuk van Dijk
 4827               <lvd@mndmttr.nl>
 4828 
 4829               pnmtotiff: Add -indexbits option to allow fewer than 8 bits
 4830               per sample in apletted image.  Thanks Thomas Henlich.
 4831               <http://sourceforge.net/users/thenlich/>.
 4832 
 4833               pnmtotiff: put zeroes in unused colormap entries.  Thanks
 4834               Thomas Henlich <http://sourceforge.net/users/thenlich/>.
 4835          
 4836               pbmtext:  Add -lspace option.  Thanks Denis <denism@cyberus.ca>.
 4837 
 4838               ppmqvga: remove; appears to be obsoleted by Pnmquant.
 4839 
 4840               pnmtops: remove setpagedevice by default.  Add -setpage option.
 4841 
 4842               ppmtouil: rename to pamtouil, add transparency.
 4843 
 4844               pamchannel: Add -tupletype option.
 4845 
 4846               pstopnm: Add a showpage in case the EPS source doesn't have it.
 4847               Thanks "J. Milgram" <milgram@cgpp.com>.
 4848 
 4849               pstopnm: Run Ghostscript directly instead of via a shell.
 4850               Some Windows environments don't have a Bourne-compatible shell.
 4851 
 4852               pnmtotiff: Don't put bogus colormap in grayscale TIFF.
 4853               Thanks Thomas Henlich  <http://sourceforge.net/users/thenlich/>.
 4854 
 4855               picttoppm, ppmtompeg, rletoppm: fix bug with invalid parameter
 4856               ("b" modes) on popen().
 4857 
 4858               pnmtopng: fix bug with 'mayscale'.
 4859 
 4860               pnmnorm: Fix bug with bvalue == 0.  Thanks "Blake, Chris" 
 4861               <chris.blake@windriver.com>
 4862 
 4863               pnmtopng: restructure palette generation to make it
 4864               easier to read.
 4865 
 4866               configure: Add --help.
 4867 
 4868               Add Windows DLL versioning.  Thanks Charles Wilson 
 4869               <cwilson@ece.gatech.edu>.
 4870          
 4871               Add Nstring library, so Netpbm programs can use asprintf(), etc.
 4872 
 4873 02.03.15 BJH  Release 9.25
 4874 
 4875               Add pamdice.
 4876          
 4877               pnmgamma: add -srgbramp.
 4878 
 4879               ppmnorm, pgmnorm: replace with pnmnorm
 4880 
 4881               ppmnorm: Read only a row at a time into memory.
 4882          
 4883               ppmnorm: Add -keephues option.
 4884 
 4885               pnmtotiff: Add -miniswhite option.
 4886 
 4887               pnmtopsnr: Read only a row at a time into memory.
 4888 
 4889               Convert bmptoppm to bmptopnm.
 4890 
 4891               ppmtopcx: Add -xpos, -ypos options.
 4892 
 4893               pcxtoppm: Don't require seekable input.
 4894 
 4895               pcxtoppm: Improve messages; add some PCX header validation.
 4896 
 4897               ppmtowinicon: Use standard alpha mask (PGM image) instead of
 4898               PPM image (black/not black) for and file.
 4899 
 4900               pnmpad: Add -width, -height, -halign, -valign options.
 4901               Thanks M. van Beilen <mvb@iradis.org>.
 4902 
 4903               ppmhist: remove 100,000 color limit.
 4904 
 4905               pnmnlfilt: works with multi-image streams.  Thanks 
 4906               "Steven M. Schultz" <sms@2BSD.COM>.
 4907 
 4908               pcxtoppm: Fix bug with negative image position.
 4909 
 4910               pnmtopsnr: fix unsigned integer bug giving wrong results on PGMs.
 4911 
 4912               libpnm: fix bug: PAM functions write 16 bit samples wrong.
 4913 
 4914               Tifftopnm: fix bug: transparency mask all wrong.  Thanks
 4915               Heikki Suonsivu <hsu@bbnetworks.net>.
 4916 
 4917               Makefile improvements for cross compiling.  Thanks
 4918               "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>.
 4919  
 4920               Allow build with existing JBIG library instead of the
 4921               bundled one.  Thanks "Maciej W. Rozycki"
 4922               <macro@ds2.pg.gda.pl>.
 4923 
 4924               ppmtompeg Makefile: include -R option where needed.
 4925               Thanks Hans Werner Strube <strube@physik3.gwdg.de>.
 4926 
 4927               Add BSD/OS to configure program.  
 4928               Thanks seebs@plethora.net (Peter Seebach)
 4929 
 4930               install uses supplied install.sh instead of an 'install program
 4931               it finds on your system.
 4932 
 4933               configure: Fix missing newline bug for IRIX.
 4934 
 4935 02.01.27 BJH  Release 9.24
 4936 
 4937               Add ppmsvgalib.
 4938               
 4939               pnmremap: Use full color resolution of input instead of that
 4940               of color map to do Floyd-Steinberg dithering.
 4941          
 4942               pnmremap: fix bug where Floyd-Steinberg dithering of very 
 4943               dark areas creates spots of maximal brightness.
 4944 
 4945               ppmquant: fix same bug as pnmremap.
 4946 
 4947               pnmscale: add -nomix option
 4948 
 4949               rawtopgm: fix bug.  Thanks Joe Krahn <krahn@niehs.nih.gov>.
 4950               
 4951               pnmquant: replace with a Perl program that calls
 4952               pnmcolormap and pnmremap.
 4953 
 4954               Fix bug: PAM library routines fail to read 2-byte samples.
 4955          
 4956               fix bug: install-dev doesn't install mappam.h.
 4957 
 4958               configure sets up install paths.
 4959 
 4960               make install does Ldconfig where required.
 4961          
 4962               pnmtops: Add "XxY" form of -dpi option.  Thanks Vladimir 
 4963               Nadvornik <nadvornik@suse.cz>
 4964 
 4965               ppmtomap: rewrite to call the new pnmcolormap.
 4966 
 4967               pnmscale: clean up code a little; now it appears to produce
 4968               somewhat better results -- don't know why.
 4969 
 4970               exif.h: remove C++ comments
 4971 
 4972               various fixes to please Irix compiler.
 4973 
 4974               Change some "long" to "uint32n" so it works on 64 bit 
 4975               machines.
 4976 
 4977 02.01.04 BJH  Release 9.23
 4978 
 4979               tifftopnm: fix bug from 9.22: always crashes.
 4980 
 4981               xpmtoppm: fix bug from 9.21: XPM 3 files not recognized because
 4982               /* XPM */ comment read twice.
 4983                          
 4984               xwdtopnm: Use bitmap_pad instead of bitmap_unit on X11 pixmap
 4985               files with depth > 1.  Thanks "Ben Kelley" <ben_kelley@ubsw.com>.
 4986 
 4987               pnmtopalm: fix bug: crashes with -colormap and non-color input.
 4988 
 4989               ppmforge: fix bug: array subscripts out of bounds.  Thanks
 4990               Rob Menke <robmenke@mac.com>.
 4991 
 4992               giftopnm: fix bug with extraneous "bogus character 0x00" message
 4993 
 4994               tifftopnm: add -respectfillorder option.  Ignore FILLORDER
 4995               by default.
 4996 
 4997               make install-dev: install shared library stub files (symlinks).
 4998               
 4999               ppmtogif: Fix bug: color resolution in wrong bits in logical
 5000               screen descriptor.  Thanks Elmue <elmue@gmx.de>.
 5001 
 5002               Add -lz to Tiff programs; libtiff requires it now.
 5003 
 5004               Add ppmcolors.
 5005 
 5006               Add pnmremap.
 5007 
 5008               Add pnmcolormap.
 5009 
 5010               pnmtops: Include setpagedevice directive in Postscript output.
 5011               Thanks A Braunsdorf <ab@eas.purdue.edu>.
 5012 
 5013               pnmtops: turn-to-fit logic works properly where paper is 
 5014               wider than tall.  Thanks A Braunsdorf <ab@eas.purdue.edu>.
 5015 
 5016               giftopnm: cleanup
 5017          
 5018 01.12.10 BJH  Release 9.22
 5019 
 5020               Fix bug: pnm_luminosity_factor must be "extern" in pam.h
 5021 
 5022               pbmtonokia: can create picture messages.  -txt, -net options.
 5023 
 5024               tifftopnm: Accept invalid FILLORDER value - assume msb-to-lsb.
 5025 
 5026 01.12.01 BJH  Release 9.21
 5027 
 5028               Add pamdeinterlace.
 5029 
 5030               Add pnmquant.
 5031 
 5032               pnmtops: Accept maxval > 255 input.
 5033          
 5034               Rename pnminterp to the more informative pnmstretch and
 5035               pnminterp-gen to pamstretch-gen.
 5036 
 5037               pnmstretch: convert from pnm to pam - pamstretch.
 5038 
 5039               pamstretch: add -xscale, -yscale options
 5040 
 5041               pbmtolj: Add -copies option
 5042 
 5043               ppmtogif: Add secret -h option to make Latex2html configure
 5044               program work.
 5045 
 5046               ppmquant: output maxval controlled by colormap maxval,
 5047               not input maxval.
 5048 
 5049               pbmclean: Add -black and -white options.  Thanks
 5050               Michael Sternberg <sternberg@phys.uni-paderborn.de>.
 5051 
 5052               xpmtoppm: Don't require input to start with a comment.
 5053               Thanks MINAMI <minami@chem.s.u-tokyo.ac.jp>.
 5054 
 5055               xpmtoppm: Fix bug introduced with 9.20 with XPM 1 files.
 5056 
 5057               pnmcut, pamcut: fix bug with cut that begins past right edge
 5058               of image.
 5059          
 5060               pamcut: Same fix as in pnmcut in 9.9.  Also fix black fill.  
 5061 
 5062               pnmtotiff:  Process one row at a time instead of reading
 5063               entire image into memory.  Add -color, -truecolor.
 5064 
 5065 01.10.05 BJH  Release 9.20
 5066 
 5067               ppmtogif: Add -nolzw option.
 5068 
 5069               ppmntsc: do multiple images
 5070 
 5071               pnmtojpeg: fix bug from 9.19 causing crash on most images.
 5072 
 5073               ilbmtoppm: Correct cmyk -> rgb transformation.
 5074 
 5075               ppmtompeg: Fix bug due to missing "breaks".  Thanks
 5076               Wolfgang Mueller <muellerw@pc7143.unige.ch>    
 5077 
 5078               eyuvtoppm: fix memory leak, speed up by allocating working
 5079               storage only once.
 5080 
 5081               libopt.c: replace strtok_r() with strtok() so it compiles on
 5082               Mac OS X.
 5083          
 5084 01.09.18 BJH  Release 9.19
 5085 
 5086               pnmtotiff: fix bug from 9.17 causing compile to fail
 5087               with old Tiff library
 5088 
 5089               pnmtojpeg: Add -exif option.
 5090 
 5091               ppmtojpeg: Change to pnmtojpeg; PBM/PGM input causes grayscale
 5092               output.
 5093 
 5094               pnmtotiff: Handle LSB2MSB FILLORDER.
 5095 
 5096               pnmtotiff: Fix -msb2lsb, -lsb2msb.  Used to do nothing but 
 5097               set FILLORDER tag value.
 5098 
 5099               Make maxval of a PBM image read as a PGM image 255 instead of 1.
 5100               
 5101               libpbm: eliminate external data symbol pm_show_version
 5102               so it works with Windows.
 5103 
 5104               Use subplatform-specific prefixes on Windows shared libraries.
 5105               Thanks Charles Wilson <cwilson@ece.gatech.edu>.
 5106 
 5107 01.09.04 BJH  Release 9.18
 5108 
 5109               Fix bug from 9.17: -lm now needed in jpegtopnm link.
 5110 
 5111               jpegtopnm: Add -dumpexif and -exif options.
 5112 
 5113               pnmtotiff: Fix bug: 16 bit samples byte-swapped on little-
 5114               endian machines.
 5115 
 5116               Remove C++ comments from exif.c
 5117 
 5118 01.09.03 BJH  Release 9.17
 5119 
 5120               Add ppmtoneo, neotoppm.  Thanks Teemu Hukkanen <tjhukkan@iki.fi>.
 5121 
 5122               pnmtotiff:  Add -flate, -adobeflate.  Thanks Peter Creath.
 5123 
 5124               pnmindex: Fix bug with -size option.  Thanks 
 5125               André Majorel <amajorel@teaser.fr>
 5126 
 5127               pnmflip: Fix memory leak, plus make special case for PBM
 5128               images that uses 12 times less memory.  Thanks
 5129               Stefan Roellin <stefan.roellin@switzerland.org>.
 5130           
 5131               tifftopnm: Fix incorrect interpretation of FILLORDER tag
 5132               causing incorrect output with 16 bit samples and
 5133               FILLORDER not msb2lsb.  Thanks Don Reid
 5134               <donr@cvs.agilent.com>.
 5135 
 5136               tifftopnm: Fix PHOTOMETRIC_MIN_IS_WHITE case.
 5137               Thanks Don Reid <donr@cvs.agilent.com>.
 5138 
 5139               giftopnm: Fix bug with malformed GIFs that end prematurely.
 5140 
 5141               pbmtonokia: Convert C++ style comments to C style so Sun C
 5142               compiler can handle them.  Thanks Jon Parise <jon@csh.rit.edu>.
 5143 
 5144               Install development package (header files, static libraries)
 5145               by default.  Add ability to build both static and shared
 5146               libraries.
 5147 
 5148               Add merge/nonmerge to Makefile.config/configure, in place
 5149               of special make targets.
 5150 
 5151               Fix Mac OSX build for gcc 3.0.  Thanks m-sekino@mb.kcom.ne.jp 
 5152               (Masanori Sekino)
 5153 
 5154               Fix make install.hdr.  Thanks m-sekino@mb.kcom.ne.jp 
 5155               (Masanori Sekino)
 5156 
 5157 01.07.24 BJH  Release 9.16
 5158 
 5159               Builds on Darwin/Mac OS.  Thanks m-sekino@mb.kcom.ne.jp 
 5160               (Masanori Sekino)
 5161 
 5162               Add pbmtopsg3.  (Postscript G3 fax) Thanks Kristof Koehler 
 5163               <kristof@fachschaft.physik.uni-karlsruhe.de>
 5164 
 5165               Add pbmtonokia.  Thanks Tim.Ruehsen@OpenMediaSystem.de.
 5166 
 5167               Add ppmrainbow.  Thanks Arjen Bax <arjen.bax@cmg.nl>.
 5168 
 5169               Add pamoil, as replacement for pgmoil.  Based on ppmoil by
 5170               Chris <cesheppa@midnightsun.uwaterloo.ca>.
 5171 
 5172               ppmtogif:  Add -alpha option.
 5173 
 5174               ppmtojpeg: fix bug: option takes as input filename.
 5175 
 5176               xpmtoppm: fix bug: Bogus EOF failure.  Thanks 
 5177               "Dr. Larry Pyeatt" <pyeatt@redwood.cs.ttu.edu>.
 5178               
 5179               pnmtopng/pngtopnm: update to Release 2.37.5 of the pnmtopng
 5180               package.  Make -transparent option work like ppmtogif --
 5181               you can add an "=" before the color to specify "exact".
 5182               fix bug with background color and maxval = 65535.  Fix a 
 5183               raft of bugs in pnmtopng from Netpbm 9.15.
 5184 
 5185               Remove Tiff library from the package.
 5186 
 5187               Proper naming of AIX and HP-UX shared libraries.
 5188 
 5189               giftopnm: Add color index to transparency message.
 5190 
 5191               Add some -R link options in make files.
 5192 
 5193               ppm3d: fix bug: ignores offset argument.
 5194 
 5195               tifftopnm: fix bug: shifted right one pixel.
 5196          
 5197               pnmshear: remove sscanf so it works better with Cygwin,
 5198               convert to shhopt, clean up.
 5199 
 5200               pgmcrater: Remove black vertical line at right
 5201               edge. Make craters wrap around the image (enables tiling
 5202               of image).  Thanks Arjen Bax.
 5203               
 5204               pgmtopbm: remove sscanf so it works better with Cygwin.
 5205               Thanks Arjen Bax.
 5206 
 5207               Treat all white space, including DOS carriage returns,    
 5208               in color name db file as white space;  Thanks Arjen Bax.
 5209 
 5210 01.06.24 BJH  Release 9.15
 5211 
 5212               Change format specs to state that sample values are
 5213               nonlinear instead of linear.
 5214 
 5215               pnmtopalm/palmtopnm: Handle PalmOS 4.0 16 bit direct
 5216               color format.  Thanks  Bill Janssen  <janssen@parc.xerox.com>.
 5217 
 5218               pnmgamma: Add CIE Rec 709 gamma correction option.
 5219 
 5220               pnmgamma: Add -ungamma option
 5221               
 5222               ppmcie: Add -rec709 color system option as default so
 5223               that it produces true PPM output (per the new spec) and
 5224               carefully document what the program generates.
 5225               
 5226               ppmcie (work done by Andrew Hamilton
 5227               <Andrew.Hamilton@colorado.edu> in May 1999 but not
 5228               distributed):
 5229 
 5230                  1. Corrected the XYZ -> RGB transformation;
 5231                  2. Eliminated the -interpwp option, a fudge which had been
 5232                     necessitated by the incorrect XYZ -> RGB transformation;
 5233                  3. Added a Gamma correction, missing in the original;
 5234                  4. Added the option to plot u' v' chromaticity instead of x y;
 5235                  5. Added options to suppress labels and/or axes.
 5236 
 5237               pnmscale, pnmscalefixed:  Fix bug with unwanted -verbose
 5238               behavior.
 5239 
 5240               pnmscale, pnmscalefixed: Add -reduce option.  Thanks
 5241               Christopher W. Boyd <cboyd@pobox.com>
 5242 
 5243               ppmtoeyuv: Speed up by not freeing/reallocating storage for
 5244               each image.  Thanks "Steven M. Schultz" <sms@moe.2bsd.com>
 5245 
 5246               ppmtoeyuv: Fix memory leak.
 5247 
 5248               Eliminate pgm_pbmmaxval, ppm_pbmmaxval, and pnm_pbmmaxval
 5249               from libpgm, libppm, and libpnm.  'maxval' argument to 
 5250               pgm_readpgmrow() and ppm_readppmrow() already accomplishes
 5251               this.  pnm_readpnmrow() changed to do same.  external data
 5252               symbols like this do not work with Mingw.
 5253          
 5254               various changes to accommodate Mingw (native Windows)
 5255               and DLLs with Cygwin (Windows).
 5256 
 5257               eyuvtoppm: rewrite.  Uses Netpbm libraries now.
 5258 
 5259               pstopnm: Remove gratuitous 5% margin.  Add -equalpixels,
 5260               -imageheight, and -imagewidth options.
 5261 
 5262               pnmtopng: Read only one row at a time, not the whole image,
 5263               into memory.  Do multiple passes through the (hopefully
 5264               fully cached) file.  This saves memory because pnmtopng's
 5265               internal format may use 96 times as much space per pixel 
 5266               as the file.
 5267 
 5268               libpbm: Add pm_openr_seekable(), pm_seek(), pm_tell().
 5269 
 5270               libppm: Add ppm_computecolorhash2(), ppm_computecolorhist2().
 5271 
 5272               configure: fix bug with Solaris/Sun compiler.
 5273 
 5274               Split pbmplus.h into pm_config.h and pbm/pm.h to prepare
 5275               for automatic generation of pm_config.h.  Move pm_*()
 5276               subroutines from libpbm1.c to new libpm.c for clarity.
 5277 
 5278               Remove malloc.h from 411toppm.  malloc is included by
 5279               pm_config.h, in platform-dependent way.
 5280 
 5281 01.05.13 BJH  Release 9.14
 5282 
 5283               fix bug in shhopt causing wild branches.
 5284 
 5285               winicontoppm: Make alpha mask ("and") output PBM instead
 5286               of PPM; correct sense so white is opaque, black transparent.
 5287 
 5288               ppmtoxpm: Add --alphamask option.  Remove 256 color limit.
 5289          
 5290               xpmtoppm: Add --alphaout option
 5291          
 5292               ppmtogif: Add "=" to -transparent option to specify exact
 5293               color.
 5294 
 5295               configure: change /bin/perl to /usr/bin/perl.  Red Hat Linux
 5296               doesn't have /bin/perl.
 5297 
 5298               pnm/Makefile: correct bugs in link.  Thanks J Scott Berg 
 5299               <jsberg@bnl.gov>
 5300 
 5301               Make it build on Unixware.
 5302 
 5303               Make it build on OpenBSD.
 5304 
 5305               document color indexing and histogram functions.
 5306 
 5307 01.04.22 BJH  Release 9.13
 5308 
 5309               ppmtogif: fix divide by zero
 5310 
 5311               move much of README file into a new master man page, netpbm.1.
 5312 
 5313               pnmcomp: add -align and -valign options.
 5314               
 5315               Add thinkjettopbm.  Thanks Eric Norum <eric.norum@usask.ca>.
 5316 
 5317               Builds with Sun compiler.
 5318 
 5319 01.03.25 BJH  Release 9.12
 5320 
 5321               Add 411toppm.  Thanks Steve Allen <sla@alumni.caltech.edu>.
 5322 
 5323               pnmcrop:  add -sides option (does what was default
 5324               behavior until July 2000)
 5325 
 5326               ppmtoeyuv: Use netpbm libraries, deal with multi-image
 5327               input.
 5328 
 5329               Add color row color map and Floyd-Steinberg functions from
 5330               ilbm package to libppm.
 5331 
 5332               ilbmtoppm, ppmtoilbm: replace with Ingo Wilken's version from
 5333               April 13, 1995.
 5334 
 5335               jpegtopnm: fix crash with B&W JPEG input.
 5336 
 5337               pnmcomp: fix bug: invalid output image when overlay image
 5338               is "higher" format than underlying image.
 5339 
 5340               ppmchange: fix bug: wouldn't work with maxval != 255.
 5341 
 5342               pnmtojbig: fix bug: it always says invalid maxval. 
 5343               Thanks Bill Davidsen.
 5344 
 5345               pbmtext: fix bug: output is sometimes "not implemented"
 5346               because of uninitialized variable.
 5347 
 5348               pnmpsnr: rewritten so as not to use Fiasco library.
 5349               Correctly handles maxval != 255.  Works with PAM.
 5350 
 5351               Add IRIX to the configure program.  Thanks Neil Franklin 
 5352               <franklin@arch.ethz.ch>.
 5353 
 5354               make files: add ZLIB_DIR and ZHDR_DIR variables to
 5355               Makefile.config.  Thanks Bill Janssen.  
 5356               <janssen@parc.xerox.com>
 5357 
 5358               pcdindex: convert from csh to sh.  Thanks Steve McIntyre.
 5359 
 5360 01.02.20 BJH  Release 9.11
 5361 
 5362               pnmtopalm: Handle 16 bit direct color format.
 5363 
 5364               pnmtotiff: Add -xresolution and -yresolution options.
 5365               Thanks Tim Ruehsen.
 5366 
 5367               Add error message to GNUMakefile for when GNU Make is too old.
 5368 
 5369               pnmpsnr: fix bug: PGM files always compared equal.
 5370 
 5371               libpbm: improve --version to reflect that libraries are
 5372               usually dynamically linked now, so it's the version of
 5373               libpbm, not the program itself.
 5374 
 5375               pbmtext: add -space option.
 5376 
 5377               asciitopgm: fix crash due to memcpy that should be memset.
 5378               Thanks Philipp Knirsch <pknirsch@redhat.com>.
 5379 
 5380               pktopbm: fix numerous bugs.  Copied from Red Hat.  By
 5381               jcn <janneke@gnu.org> 1998.09.22.
 5382 
 5383               pstopnm.csh: fix bomb when xres=yres.  This program is
 5384               obsolete (use pstopnm.c instead), but the patch was free,
 5385               so why not?  Copied from Red Hat.  By Nalin Dahyabhai
 5386               <nalin@redhat.com> 2000.02.14.
 5387 
 5388               pnmtotiff: Make photometric for G3/G4 fax MINISWHITE 
 5389               instead of MINISBLACK.  Add -minisblack option.  Thanks
 5390               Eric Smith <eric@brouhaha.com>.
 5391 
 5392               libppm/ppm_parsecolor: fix rounding error for very small
 5393               maxvals (e.g. PBM files -- maxval = 1).
 5394          
 5395               pnmtopalm, palmtopnm: minor updates
 5396               
 5397               bmptoppm: handle BMPs that use ColorsUsed instead of
 5398               bits per pixel to determine color map size.
 5399 
 5400               bmptoppm: add -verbose option.
 5401 
 5402               ppmquant: fix bug with maxval > 255 causing arithmetic
 5403               overflow and arbitrary colors in output.
 5404 
 5405 01.01.10 BJH  Release 9.10
 5406 
 5407               giftopnm: add -alphaout.
 5408 
 5409               ppmchange: Add -remainder option.
 5410 
 5411               Add pnmtopalm, palmtopnm.  Thanks Bill Janssen 
 5412               <bill@janssen.org>.
 5413 
 5414               Add pnmmontage.  Thanks Ben Olmstead <bem@mad.scientist.com>.
 5415 
 5416               ppmtogif: Add -comment option.
 5417 
 5418               ppmtogif: fix bug: created GIF89 when it should have created
 5419               GIF87.
 5420 
 5421               giftopnm: fix bug in displaying of comment extensions.
 5422 
 5423               jpegtopnm: Add -comments option.
 5424 
 5425               ppmtojpeg: Add -comment option.
 5426 
 5427               ppmtompeg: fix crash.  Thanks  Roger Southwick 
 5428               <rogers@mediaforte.com>
 5429 
 5430               More work on separating source and build directories.
 5431               GNU Make 3.77 or better now required.
 5432 
 5433 00.11.20 BJH  Release 9.9
 5434 
 5435               add ppmtolj: color HP Laserjet graphics (PCL).  Thanks
 5436               Jonathan.Melvin@heywood.co.uk.
 5437 
 5438               ppmfade: add -mix option.
 5439 
 5440               ppmhist: add -noheader option.
 5441 
 5442               rawtopgm: Add --bpp, --maxval, and --littleendian options.
 5443 
 5444               pnmindex: Add -noquant, -title options.
 5445 
 5446               pnmtotiff: create 16 bits-per-sample Tiff files when 
 5447               maxval > 255 instead of crash.
 5448 
 5449               tifftopnm: handle 16 bits-per-sample Tiff files.
 5450 
 5451               pnmscale: Use floating point arithmetic instead of 12 bit
 5452               fixed point to reduce distortion at right and bottom edge of
 5453               large images with weird scaling factors.  Add pnmscalefixed,
 5454               which is the old fixed point pnmscale, which goes faster.  But
 5455               also fix bug in the fixed point version so the distortion 
 5456               isn't as bad.  Add -verbose option.
 5457 
 5458               pnmcut: fix bug: right edge wrong or subscript out of bounds.
 5459               Thanks MURAKAMI Masahiko <muramasa@np.catv.ne.jp>,
 5460               Sven Over <sven.over@web.de>, Frederic Vivien 
 5461               <vivien@lcs.mit.edu>, Pete Weisz <pete@pw34.resnet.cornell.edu>.
 5462 
 5463               xpmtoppm: fix reading of 4-character color codes; handles
 5464               "NONE" color (transparent background); add -v.  Thanks
 5465               Martin Vermeer <martin.vermeer@hut.fi>.
 5466 
 5467               ppm/Makefile: fix bug: ppmtompeg, hpcdtoppm not installed.
 5468               Thanks Mike Castle <dalgoda@ix.netcom.com>.
 5469 
 5470               ppmpspread: fix bug: invalid memory reference crash.  Thanks
 5471               digger <jfk666@poczta.onet.pl>, john joseph iii casey 
 5472               <jjcasey@midway.uchicago.edu>.
 5473 
 5474               ppmchange: fix bug: every other argument pair ignored.
 5475               Thanks Sven Over <sven.over@web.de>.
 5476 
 5477               Fix error message in pXmmerge (no pm_error()).  Thanks
 5478               Pete Weisz <pete@pw34.resnet.cornell.edu>, 
 5479               <g031w503@soft.iwate-pu.ac.jp>
 5480 
 5481               libppm: add /usr/X11R6/lib/X11/rgb.txt as default rgb.txt file.
 5482               Thanks ceder@lysator.liu.se (Per Cederqvist).
 5483 
 5484               Replace hpcdtoppm version 0.3 (1992) with 0.6 (1994).  Add
 5485               pcdindex.
 5486 
 5487               Build fixes for Tru64.  Thanks Phil Benchoff <benchoff@vt.edu>.
 5488 
 5489               Makefile.config: option to not strip binaries on install.
 5490 
 5491 00.09.01 BJH  Release 9.8
 5492 
 5493               jpegtopnm: Add -adobe, -notadobe options.
 5494 
 5495               ppmchange:  Add -closeness.
 5496 
 5497               giftopnm: report transparency information.
 5498 
 5499               jpegtopnm: Accept single-hyphen options.
 5500 
 5501               Make it build on DJGPP.
 5502 
 5503 00.08.12 BJH  Release 9.7
 5504 
 5505               Add PAM format, Pamchannel, Pamtopnm.
 5506 
 5507               sgitopnm: add -channel option to access more than 3 channels.
 5508               Thanks Smarasderagd.
 5509          
 5510               pnmcut: Add -pad option
 5511 
 5512               ppmtobmp: change default from -os2 to -windows.
 5513 
 5514               pnmcut: fix bug: height argument misinterpreted.
 5515 
 5516               ppmquantall: fix bug: don't crop white borders off images
 5517 
 5518               yuvtoppm: fix bugs: don't depend on bigendian representation
 5519               of integers.  reject odd-width images.
 5520 
 5521               ppmtoyuv: fix bug: reject odd-width images.
 5522 
 5523               anytopnm: fix bug: required nonstandard shell feature.
 5524 
 5525               giftopnm: fix bug: when image consists of two gray colors,
 5526               program converted them to black or white and created PBM
 5527               file.  Thanks Smarasderagd.  Also fix memory leak.
 5528 
 5529               Make changes since 9.2 build on Cygwin.
 5530 
 5531 00.07.12 BJH  Release 9.6
 5532 
 5533               Add pnmtofiasco, fiascotopnm, psnpsnr.  Thanks to Ullrich
 5534               Hafner.
 5535 
 5536               Make Pnmcrop use a temporary file instead of huge amounts
 5537               of memory.
 5538 
 5539               bmptoppm: fix crash when OS/2 BMP file has > 8 bits per pixel.
 5540 
 5541               anytopnm: fix bug (from 9.0) wherein program almost
 5542               always crashed.  Add gzip, bzip, bzip2 capability.
 5543               Thanks Charles Howes.
 5544 
 5545               parallel.c: Work around SunOS libc problem.
 5546 
 5547               Define some newer libtiff macros so it compiles against
 5548               older libtiff.
 5549 
 5550 00.07.01 BJH  Release 9.5
 5551 
 5552               Extend formats to allow multiple images per file.  Add
 5553               -allimages option to pnmfile.  Add pnmsplit.  Extend
 5554               pnmtops.
 5555 
 5556               Add pbmtowbmp, wbmptopbm.  Thanks Terje Sannum.
 5557 
 5558               ppmtobmp: Add 24 bit (truecolor) capability.  Remove Release 8.3
 5559               colormap size update.
 5560 
 5561               pnmcut: easier, more expressive syntax for specifying what
 5562               to cut.
 5563 
 5564               pnminterp: handle maxval != 255, convert to use Netpbm
 5565               libraries.
 5566 
 5567               Translate pstopnm from Csh to C, eliminate dependency
 5568               on the 'bc' program.
 5569 
 5570               Fix bug in tiff library build which caused null soname.
 5571 
 5572               Add optParseopt2() to shhopt.a so you can use long options
 5573               with one hyphen instead of two.
 5574 
 5575               giftopnm: fix bug with variable used before set.  Fix bug
 5576               (coding error -- 0=>i).  Unknown impact.
 5577 
 5578               bmptoppm: fix bug with 24 bit (truecolor) Windows BMPs.
 5579 
 5580               xwdtopnm: fix one more bug with bits_per_item <> bits_per_pixel.
 5581 
 5582               Fix ppmtompeg build bug with static libraries.
 5583 
 5584               Make build clean with gcc -ansi (albeit with some files
 5585               that need extensions declaring the _BSD_SOURCE etc.).
 5586 
 5587 00.06.04 BJH  Release 9.4
 5588 
 5589               Rebase pnmtopng, pngtopnm on Pnmtopng 2.37.4.
 5590 
 5591               pbmtolj: fix bug where blank lines get discarded.  Thanks
 5592               Charles Howes.
 5593 
 5594               ppmtompeg: fix bug with "PNM" format files with maxval != 255.
 5595               Get rid of built-in PPM file parsing.
 5596 
 5597               Fix 'make install' where mkinstalldirs is not found.
 5598 
 5599               Fix bug where rle_global.c would not compile with GNU C 
 5600               Library 2.
 5601 
 5602 00.06.01 BJH  Release 9.3
 5603 
 5604               pnmfile: check for file size error.
 5605 
 5606               ppmhist: handle larger maxvals, image sizes
 5607 
 5608               xwdtopnm: Use color map with DirectColor to fix wrong color
 5609               bug on some DirectColor xwds.
 5610 
 5611               xwdtopnm: Correct bug with 24/32 DirectColor LSBfirst xwds.
 5612 
 5613               Add pXmcheck() library function.
 5614 
 5615               Add leaftoppm and ppmtoleaf.  Thanks Bill O'Donnell.
 5616 
 5617               Add winicontoppm and ppmtowinicon.  Thanks Lee Benfield 
 5618               <lee@benf.org>.
 5619 
 5620               Add pgmslice.  Thanks to Jos Dingjan.
 5621               
 5622               Include subset of RLE library in the package.
 5623 
 5624               stamp-date doesn't rely on whoami.
 5625 
 5626               Make file fixes to accommodate more install programs.
 5627          
 5628               Replace tmpnam() with mkstemp().
 5629 
 5630               Add pXm_init() into all programs that didn't have it.
 5631 
 5632 00.05.15 BJH  Release 9.2
 5633 
 5634               Shared libraries now build properly for Solaris, SunOS, NetBSD.
 5635 
 5636               Add jbigtopnm, pnmtojbig.  Thanks to Markus Kuhn.
 5637 
 5638               Add pnminterp, pnminterp-gen by Russell Marks.
 5639 
 5640               Add pbm_writepbmrow_packed() and pbm_readpbmrow_packed() to
 5641               libpbm.
 5642 
 5643               ppmdither: fix bug with input maxval != 255.  Make output
 5644               maxval the LCM of the requested numbers of primary levels.
 5645 
 5646               xwdtopnm: works with files where there aren't an integral
 5647               number of pixels per storage unit (e.g. 24 bits per pixel)
 5648               
 5649               Add some missing pXm_init()
 5650 
 5651               Make pXmmerge source code automatically generated.
 5652 
 5653 00.05.06 BJH  Release 9.1
 5654 
 5655               Add pbmtoppa (renamed from pbm2ppa, renamed from print-pbm).
 5656               Thanks Tim Norman.
 5657 
 5658               Add pbmpage.  Thanks Tim Norman.
 5659 
 5660               Add pbmtomda, mdatopbm.  Thanks John Elliott.
 5661 
 5662               Replace gemtopbm with gemtopnm.  Thanks to John Elliott.
 5663 
 5664               Add ppmntsc: change colors to those acceptable for ntsc or pal.
 5665 
 5666               Rename old ppmntsc to ppmtv.
 5667 
 5668               pbmtolj: Add compression (-delta, -packbits, -compress) by
 5669               Dave Platt
 5670 
 5671               Look for both /usr/lib/X11/rgb.txt and /usr/openwin/lib/rgb.txt
 5672               by default.  Improved error messages if file not found.
 5673 
 5674               pbmtext: renders character codes 0x80-0xff and 0x00-0x1f as
 5675               whatever the font says, rather than always blank.  Thanks
 5676               Helge Oldach.
 5677 
 5678               Fix bug in parsing of rgb.txt file in ppm_colorname().
 5679 
 5680               Add optional static library build to make files.
 5681 
 5682               Fix a bunch of build bugs for Solaris, SunOS.  Still not all 
 5683               the way there.  Thanks Richard Curnow, Philippe Brieu, 
 5684               Benjamin Kuit.
 5685 
 5686               Make it build on Cygwin.  Thanks Pierre Humblet.
 5687 
 5688               Use rm -f;ls instead of ls -sf in make files; some systems don't
 5689               have ln -f.
 5690               
 5691 00.04.15 BJH  Release 9.0
 5692 
 5693               Add the 16-bit-per-sample format for maxval > 255.
 5694               Change size of samples in the library interface from 8
 5695               bits to 32 bits.  Library write routines now create the
 5696               new 16 bit format instead of plain format when you
 5697               request a maxval > 255 and not 'forceplain'.  Make all
 5698               programs read the new format, and all programs that
 5699               convert to PNM from a >8 bit input generate it instead
 5700               of failing or normalizing.  Make pnmdepth generate it.
 5701 
 5702               pnm_readpnminit(), etc. fails if you request a maxval >
 5703               65535 and not 'forceplain'.  It used to generate plain
 5704               format in that case, but you couldn't actually specify    
 5705               a sample value > 255.
 5706 
 5707               Add pnmtorle and rletopnm from the Army High Performance 
 5708               Computing Research Center.
 5709 
 5710               add ppmcolormask - creates a mask of areas of a certain 
 5711               color in an image.
 5712 
 5713               anytopnm: fix infinite loop
 5714               
 5715               pbmtext:  Ignore non-8-bit characters in bdf files instead
 5716               of crashing.
 5717 
 5718               ppmdither: fix crash with large dithering matrix dimensions.
 5719 
 5720               Rename ppmtompeg/headers/search.h to motion_search.h to avoid
 5721               possible confusion with the OSF system file search.h
 5722          
 5723               Fix erroneous shhopt.h dependency in build.
 5724               
 5725 00.04.03 BJH  Release 8.4
 5726 
 5727               Add ppmtompeg, adapted from Berkeley's mpeg_encode.
 5728          
 5729               Add eyuvtoppm and ppmtoeyuv, and vidtoppm, from Berkeley
 5730               mpeg tools.
 5731 
 5732               Add ppmfade, adapted from Wesley C. Barris' pbmfade. 
 5733 
 5734               Add ability to extract the alpha channel to tifftopnm,
 5735               tgatoppm, and ximtoppm.  (It's already in pngtoppm,
 5736               and still missing from ilbmtoppm).
 5737 
 5738               pnmtotiff: Change default compression to none, due to
 5739               removal of LZW capability from Tiff library.
 5740 
 5741               Make merge build use symbolic links instead of hard links.
 5742 
 5743               Include dependent libraries in the link of the
 5744               libraries.  This is necessary on some systems, and a
 5745               good idea on others.
 5746 
 5747               Use strerror() instead of sys_errlist[] everywhere.  If
 5748               some systems do not have the former, we need to do some
 5749               work, because strerror() was already used in some
 5750               places.  We do have a report of a BeOS system with no
 5751               sys_errlist[].
 5752 
 5753 00.03.24 BJH  Release 8.3
 5754 
 5755               Add ppmshadow, by John Walker <http://www.fourmilab.ch/>,
 5756               dated 1997.08.15.
 5757 
 5758               Add ppmlabel, by John Walker, dated June 1995.
 5759 
 5760               Add ppmcie by John Walker, dated September 1994.
 5761 
 5762               Add character drawing routines by John Walker to libppm.
 5763 
 5764               Add sbigtopgm by John Walker, dated January 1998.
 5765 
 5766               Handle BMP file color map size parameter in ppmtobmp, bmptoppm.
 5767               Thanks Marc Moorcroft.
 5768 
 5769               Rewrite make files, fix lots of make install bugs.
 5770 
 5771 00.03.20 BJH  Release 8.2
 5772 
 5773               Add ppmtojpeg and jpegtopnm.
 5774 
 5775               Rename pnmnoraw to pnmtoplainpnm.
 5776 
 5777               Add CMYK capability to tifftopnm.
 5778  
 5779               Major make file rewrite, especially making install work.
 5780               Pnmmerge is no longer the default.  Shared libraries are.
 5781  
 5782               Add pnmtotiffcmyk.  Written by Andrew Cooke  (Jara Software)
 5783               jara@andrewcooke.free-online.co.uk
 5784 
 5785 00.03.02 BJH  Release 8.1
 5786 
 5787 00.03.02 BJH  Add pnmtopng and pngtopnm.  I got these from 
 5788               ftp://ftp.au.netbsd.org/pub/NetBSD/packages/distfiles
 5789               today.  Release 2.37.3.  I added an "unsigned" and
 5790               changed the type of 'scaleval' to quiet compiler warnings.
 5791 
 5792 00.03.01 BJH  Fix xwdtopnm interpretation of 16 bit TrueColor files.
 5793               Thanks to Martin Kroeker, mk@daveg.com.
 5794 
 5795 99.09.23 BJH  Update xbmtopbm to recognize newer xbm format.
 5796 
 5797 
 5798 
 5799 
 5800 CHANGES TO NETPBM THROUGH MARCH 1994
 5801 ------------------------------------
 5802 
 5803 Functional changes to Netpbm since 13 October 1993.
 5804 Minor bug fixes and compatibility fixes are not documented in this file.
 5805 
 5806 PBM
 5807 
 5808 libpbm1.c       strstr() added to libpbm1.c.
 5809 libpbm5.c       BDF font functions added.
 5810 pbmtext         Ability to use BDF fonts added.
 5811 pbmto4425       New filter.
 5812 pbmtoln03       Command line parsing changed to Pbmplus standard.
 5813 
 5814 
 5815 PGM
 5816 
 5817 pgmnoise        New filter.
 5818 
 5819 
 5820 PPM
 5821 
 5822 picttoppm       Updated
 5823 ppm3d           New facility.
 5824 ppmchange       New filter.
 5825 ppmdim          New filter.
 5826 ppmflash        New filter.
 5827 ppmmix          New filter.
 5828 ppmntsc         New filter.
 5829 ppmqvga         Option parsing changed to Pbmplus standard.
 5830 ppmshift        New filter.
 5831 ppmspread       New filter.
 5832 ppmtoxpm        Prototypes added.
 5833 xpmtoppm        Prototypes added.
 5834 ilbmtoppm       Updated.
 5835 ppmtoilbm       Updated.
 5836 
 5837 
 5838 PNM
 5839 
 5840 pnmtoddif       New filter.
 5841 pnmhistmap      New facility.
 5842 pnmtops         New option (-nocenter) added.
 5843 
 5844 
 5845 Functional changes to Netpbm since 7 December 1993.
 5846 Minor bug fixes and compatibility fixes are not documented in this file.
 5847 
 5848 PGM
 5849 
 5850 asciitopgm      New filter.
 5851 fitstopgm       Replaced by fitstopnm.
 5852 pgmtofits       Replaced by pnmtofits.
 5853 pgmtopbm        Upgraded.
 5854 pgmkernel       New filter.
 5855 
 5856 PPM
 5857 
 5858 ppmchange       Upgraded.
 5859 xvminitoppm     New filter.
 5860 
 5861 PNM
 5862 
 5863 pnmalias        New filter.
 5864 pnmtofits       Replacement for pgmtofits.
 5865 fitstopnm       Replacement for fitstopgm.
 5866 pnmtosgi        New filter.
 5867 sgitopnm        New filter.
 5868 pstopnm         New filter.
 5869 
 5870 
 5871 
 5872 CHANGES BETWEEN PBMPLUS AND THE ORIGINAL NETPBM
 5873 -----------------------------------------------
 5874 
 5875 The following is new in Netpbm (compared to Pbmplus):
 5876 
 5877 PBM
 5878 
 5879 pbmtext         Ability to use BDF fonts added.
 5880 
 5881 pbmto4425       Display on an AT&T 4425 Ascii terminal.
 5882 
 5883 pbmtoascii      A new improved version.
 5884 
 5885 pbmtoln03       Convert to DEC LN03+.
 5886 
 5887 pbmtolps        Fast PostScript creator.
 5888 
 5889 pbmtopk         Conversion to/from a packed (PK) format font.
 5890 pktopbm
 5891 
 5892 pbmclean        Flip isolated pixels.
 5893 
 5894 pbmpscale       Enlarge pbm image with edge smoothing.
 5895 
 5896 
 5897 PGM
 5898 
 5899 asciitopgm      Convert an ascii image into pgm.
 5900 
 5901 pbmtopgm        Convert pbm to pgm by averaging areas.
 5902 
 5903 rawtopgm        Handles input files without specification of the file size,
 5904                 assuming the input image is quadratic. It also has a
 5905                 -tb (top bottom flip) option.
 5906 
 5907 bioradtopgm     Conversion utility for files created by Biorad confocal
 5908                 microscopes.
 5909 
 5910 spottopgm       Convert SPOT satellite images to pgm.
 5911 
 5912 pgmkernel       Generate a convolution kernel.
 5913 
 5914 pgmnoise        Create a pgm file with random pixels.
 5915 
 5916 
 5917 PPM
 5918 
 5919 bmptoppm        Conversion to/from windows bitmap format.
 5920 ppmtobmp
 5921 
 5922 ppmtogif        Updated version.
 5923 giftoppm        Removed (see giftopnm).
 5924 
 5925 ppmtoilbm       Updated version.
 5926 ilbmtoppm
 5927 
 5928 picttoppm       Updated version.
 5929 ppmtopict
 5930 
 5931 ppmtoxpm        Updated version, which understands xpm version 3.
 5932 xpmtoppm
 5933 
 5934 ppmtomap        Extract all colors from a ppm file.
 5935 
 5936 ppmtomitsu      Convert to Mitsubishi S340-10 printer format.
 5937 
 5938 xvminitoppm     Convert an XV thumbnail picture to ppm.
 5939 
 5940 ppmtoyuvsplit   Conversion to/from YUV triplets. (MPEG / JPEG).
 5941 yuvsplittoppm
 5942 
 5943 ppm3d           Create a red/blue stereo image.
 5944 
 5945 ppmbrighten     Change image saturation and value on an HSV map.
 5946 
 5947 ppmchange       Change all pixels of one color to another in a portable pixmap
 5948 
 5949 ppmdim          Dim a ppm file down to total blackness.
 5950 
 5951 ppmdist         Simplistic grayscale assignment for machine generated
 5952                 color images.
 5953 
 5954 ppmflash        Brighten a picture up to complete white-out
 5955 
 5956 ppmmix          Blend together two portable pixmaps.
 5957 
 5958 ppmnorm         Normalize the contrast in a portable pixmap.
 5959 
 5960 ppmntsc         Make a portable pixmap look like taken from an American TV.
 5961 
 5962 ppmqvga         Eight plane quantization.
 5963 
 5964 ppmshift        Shift lines of a portable pixmap left or right by a random amount.
 5965 
 5966 ppmspread       Displace a portable pixmap's pixels by a random amount.
 5967 
 5968 ppmtopjxl       Convert a ppm file into an HP PaintJet XL PCL file.
 5969 
 5970 
 5971 PNM
 5972 
 5973 pnmtops         New option (-nocenter) added.
 5974 
 5975 pnmtofits       Replacement for pgmtofits/fitstopgm
 5976 fitstopnm
 5977 
 5978 pnmtosgi        Conversion to/from sgi image format.
 5979 sgitopnm
 5980 
 5981 pnmtosir        Conversion to/from Solitaire image recorder format.
 5982 sirtopnm
 5983 
 5984 giftopnm        Replaces giftoppm. Examines the input image and produces
 5985                 a pbm, pgm, or ppm output.
 5986 
 5987 pstopnm         Convert PostScript to pnm. Requires Ghostscript.
 5988 
 5989 zeisstopnm      Conversion utility for files created by Zeiss confocal
 5990                 microscopes (the old standard).
 5991 
 5992 pnmalias        Anti aliasing filter.
 5993 
 5994 pnmcomp         Composite two portable anymaps together.
 5995 
 5996 pnmcrop         New options added.
 5997 
 5998 pnmpad          Add borders to anymap.
 5999 
 6000 
 6001 LIBTIFF
 6002 
 6003 A new release of libtiff is included. Please read its supporting
 6004 documentation.
 6005 
 6006 
 6007 CHANGE LOG FROM PBMPLUS
 6008 -----------------------
 6009 
 6010 Changes since the 30oct91 patch version:
 6011 
 6012     Fixed uninitialized variable in ppmtotga.  (John Walker)
 6013     Added pgmcrater, ppmforge, ppmtoacad, sldtoppm.  (John Walker)
 6014     Slight change to the p?mmerge.c front-ends to allow for main programs
 6015       that return instead of exitting.
 6016     Minor clarifications to the pnmconvol man page.
 6017     Fixed xwdtopnm to read some 16-bit True/Direct files. (David Elliott)
 6018     Fixed uninitialized variables in pnmtotiff.  (Larry Rosenstein, Bayles Holt)
 6019     Added a couple of checks for \r while reading whitespace. (Larry Rosenstein)
 6020     Removed all the BROKENPUTC stuff.  Now we ignore all return values from
 6021       putc(), and check ferror() in pm_close().  Added pm_close() calls to
 6022       many of the filters.
 6023     Fixed pnmdepth to check for too-large newmaxvals.  Improved rounding
 6024       in pnmdepth and PPM_DEPTH macro.  (Tom Lane)
 6025     Minor fix to ppmtouil.  (Mohsen Banan)
 6026     Added new Imakefiles.  (Rainer Klute)
 6027 
 6028 Changes since the 05oct91 X11R5 contrib tape version:
 6029 
 6030     Fixed minor SysV config error in pbmplus.h.  (Tom Lane)
 6031     Fixed tifftopnm so that BITSPERSAMPLE and SAMPLESPERPIXEL default
 6032       correctly.  Fixed possible bug in tgatoppm line-interleaving code.
 6033       (Arthur David Olson)
 6034     Fixed tifftopnm so that colormapped files are read correctly.
 6035       (PauL Drews, Mike Wade)
 6036     Corrected use of DefaultRGBDatabase / RGB_DB for imake sites.
 6037       (Randal L. Schwartz)
 6038     Bugfix to pnmtops color PostScript in -rle mode.  (Angus Duggan)
 6039     Added auto-turning to pnmtops.
 6040     Added run-length encoding to ppmtotga.
 6041     Space optimization to pgmoil.
 6042 
 6043 Changes since the 27sep91 comp.sources.misc distribution:
 6044 
 6045     Fixed spelling error in giftoppm.  Fixed ppmrelief to not shrink the
 6046       image by 2 rows and columns.  Minor fix to pgmramp.  Fixed off-by-one
 6047       error in pnmtoxwd.  Man page fix for pnmgamma.  (Arthur David Olson)
 6048     Converted ANSI trigraphs in ppmtosixel into good old octal.  (Jeff Glover)
 6049     Fix to 24/32 bit case in rasttopnm.  (Behr de Ruiter)
 6050     Float/double portability fix to libppm4.  (Bruce Holmer, Ronald Khoo)
 6051     Fixed typo in compat.ksh.  (Larry Virden)
 6052     Fixed int/short incompatibility in tifftopnm.  (Salik Rafiq)
 6053 
 6054 Changes during the extended beta test period, starting on 15jan91:
 6055 
 6056     Lots of fixes from: Anthony A. Datri, Arthur David Olson, David Brooks,
 6057       David Elliott, Doug Claar, Duncan Sinclair, Francois Pinard, Gerard
 6058       Leurs, Jim Hanko, Ken Laprade, Klaus U. Schallhorn, Markus Bolz, Mike
 6059       Hench, Philip Gladstone, R C Smith, Selden E. Ball, Jr., Stephen Uitti,
 6060       Steve Allen, Tom Lane, update.kpj-jaakkola@athena.dsv.su.se,
 6061       Charles Karney, Unmesh Agarwala, Ed Pendzik, Juha Sarlin, Tom Tulinsky,
 6062       Phillip Smith, Lai-King Mau, David Koblas, Mark Donovan.
 6063     Added a global -version flag.
 6064     Added bunches of statics and prototypes.  Now compiles with zero
 6065       warnings under gcc -ansi -pedantic.
 6066     Changed #ifdef __STDC__ to #if __STDC__, since some non-compliant
 6067       compilers define it as 0.
 6068     Changed pm_message and pm_error to be varargs routines.  Added a
 6069       portable version of vfprintf for those systems which don't have it.
 6070     Removed the option of not compiling the pgm and ppm parts.  Very few
 6071       people used it, and it added amazing complexity to the pnm programs,
 6072       turning them into maintenance nightmares.
 6073     Merged pbmpaste into pnmpaste.
 6074     Merged pgmtops and ppmtops into pnmtops.
 6075     Added auto-scaling and dpi / page size flags to pnmtops.
 6076     Changed the interpretation of bits in pbmlife to conform with other
 6077       tools.
 6078     Changed xwdtopnm to ignore the pixel number in the xwd color structure.
 6079     Added a -pseudodepth flag to pnmtoxwd.
 6080     Updated tifftopnm for libtiff 2.4.
 6081     Added many option flags to pnmtotiff.  (J.T. Conklin)
 6082     Added recognition of X11R5's new color specifiers rgb: and rgbi:.
 6083     Added pgmtexture.  (James Darrell McCauley)
 6084     Added ppmtopj, pjtoppm, and ppmdither.  (Christos Zoulas)
 6085     Added ppmtotga.  (Mark Shand)
 6086     Added ppmtosixel.  (Rick Vinci)
 6087     Added pbmtoatk and atktopbm.  (Bill Janssen)
 6088     Added ppmtoyuv and yuvtoppm.  (Marc Boucher)
 6089     Fixes to picttoppm.  (George Phillips)
 6090     Added recognition of 24-bit images to ilbmtoppm.  (Mark Thompson)
 6091 
 6092 Changes since the X.V11R4 / comp.sources.misc distribution of 22nov89:
 6093 
 6094     Added pgmramp, pgmedge, pgmtoppm, rgb3toppm, ppmtoxpm, pnmgamma,
 6095       ximtoppm, pgmtofs, picttoppm, ppmtopict, ppmquantall, anytopnm,
 6096       pi1toppm, ppmtopi1, sputoppm, spctoppm, pbmto10x, ppmtoicr, ppmmake,
 6097       xpmtoppm, ppmtopuzz, ppmtouil, ybmtopbm, pbmtoybm, lispmtopgm,
 6098       pgmtolispm, pbmtogem, pi3topbm, pbmtopi3, pbmtoepson, pbmtoplot,
 6099       pbmtozinc, pbmtext, pnmnoraw, pnmmargin, pnmfile, pnmindex,
 6100       ppmtorgb3, gouldtoppm, pgmbentley, pgmoil, ppmrelief, pnmtotiff,
 6101       ppmtopcx.
 6102     Merged some filters:
 6103       rasttopbm and rasttoppm into rasttopnm;
 6104       pbmtorast and ppmtorast into pnmtorast;
 6105       xwdtopbm and xwdtoppm into xwdtopnm;
 6106       pbmtoxwd and ppmtoxwd into pnmtoxwd.
 6107     Promoted some filters:
 6108       pcxtopbm to pcxtoppm;
 6109       ppmarith to pnmarith;
 6110       ppmconvol to pnmconvol;
 6111       ppmcscale to pnmdepth;
 6112       ppmrotate to pnmrotate;
 6113       ppmscale to pnmscale;
 6114       ppmshear to pnmshear;
 6115       ppmsmooth to pnmsmooth;
 6116       tifftopgm to tifftopnm - new version based on Sam Leffler's libtiff.
 6117     Bugfixes to pbmtoicon, ppmtops.
 6118     The Makefiles now have a "merge" option.
 6119     All flags are now case-insensitive.
 6120     Added $(MAKE) stuff to Makefile.
 6121     Changed pnmsmooth from a csh script to a sh script.
 6122     Made macro use in pbmtox10bm and pbmtoxbm more portable.
 6123     Moved compataliases to compat.csh, and added compat.ksh.
 6124     Made ppmtoilbm less Amiga-specific.
 6125     Added -headerskip and -rowskip flags to rawtopgm.
 6126     Enhanced rasttopnm to interpret 8-bit rasters with no colormap as grayscale.
 6127     Changed sscanf %g to %f - some systems can't handle %g on input.
 6128     Added -expand flag to pbmmask.
 6129     Speedup to pnmflip - don't buffer if possible.
 6130     Added color-name-to-value routine to ppm - uses X11's rgb.txt if present.
 6131     Updated Imakefile function to reflect X.V11R4.
 6132     Removed picttopbm.
 6133     Improved pnmcut argument syntax so that negative coords work like pnmpaste.
 6134     Added "magic" file, for use with the "file" program.
 6135     40% speedup for pgmnorm from Robert Stockton (rgs@cs.cmu.edu).
 6136     Fixed long-standing bug involving colormaps on SPARCstations when
 6137       compiled with gcc -- had to do with passing structs by value.
 6138     Removed the -x flag from pnmtorast -- it's not really needed.
 6139     Fixed subtle bug in the pnm reading code that caused pnmcat to blow
 6140       it on images that differed greatly in width or height.
 6141     New version of giftoppm that handles the GIF89a standard, and doesn't
 6142       use fseek.
 6143     Fixed fitstopgm to handle three-axis images, such as the Hubble pix.
 6144     Xwdtopnm and pnmtoxwd finally handle byte-order properly.
 6145     Added -xysize flag to pnmscale.
 6146     Added conditional ANSI function prototypes to library routines.
 6147     Added -noantialias flag to pnmrotate and pnmshear.
 6148     Removed the TIPS file.  No one ever sent in any new tips, so I just
 6149       moved the few I had into the relevant man pages.  That's probably
 6150       where they belonged in the first place.
 6151     Added justification flags to pnmcat.
 6152     Added -map flag to ppmquant - user-specifiable colormap.  Also, the
 6153       Floyd-Steinberg error diffusion finally works right.
 6154     Added -map flag to pgmtoppm.
 6155     Added DirectColor capability to xwdtopnm and pnmtoxwd.
 6156     Speedup to pgmtolj from Arthur David Olson: avoid sending whitespace.
 6157     Fix to pbmtogo from Bo Thide': 2D compression now works.
 6158 
 6159 Patch 1 to the X.V11R4 / comp.sources.misc distribution of 22nov89:
 6160 
 6161     Fixed bug in pgmtops -rle.
 6162 
 6163 Changes since the alt.sources distribution of 13sep89:
 6164 
 6165     Small corrections to ppmtorast, pgmtops.
 6166     Moved pbm/tifftopbm to pgm/tifftopgm - it now handles grayscale TIFF files.
 6167     Fixed tifftopgm to handle non-native byte order.
 6168     Changes to tifftopgm to handle bogus AppleScan TIFF files, to have
 6169       better command syntax, and to use stdio.
 6170     Optimizations to xbmtopbm, pbmtoxbm, and pbmtox10bm, courtesy of
 6171       Juha Sarlin, to make them go about three times as fast.
 6172     Optimization to pgmtops and ppmtops to make them go three times as fast.
 6173     Optimization to pnmcrop.
 6174     Added PBMPLUS_BROKENPUTC defines in pbmplus.h to handle systems (such as
 6175       ULTRIX) which have broken putc() macros.
 6176     Rewrote ppmscale, pnmcat, and pgmhist to operate line-by-line, instead
 6177       of reading in the whole image.
 6178     Rewrote pnmflip to keep only one copy of the image in memory.
 6179     Added pgmtofits, courtesy of Wilson H. Bent, plus bugfixes to fitstopgm
 6180       and a patch to giftoppm to handle black&white GIF files.
 6181     Added picttopbm and rawtopgm.
 6182     Fixes to xwdtoppm and ppmtoxwd so they compile with SunOS cc as well as gcc.
 6183     Another small change to ppmtoxwd having to do with colormap size.
 6184     Changed macptopbm's -headersize flag to be -extraskip.
 6185     Changed tgatoppm to read color values as BGRA instead of ARGB; the Targa
 6186       documentation is apparently wrong about the order.
 6187     Some changes to the Makefiles, partially to work around bugs in gnumake.
 6188     Got g3topbm working, and added pbmtog3, courtesy of Paul Haeberli.
 6189     Added some pixrect work-alike code so that rasttopbm, pbmtorast, rasttoppm,
 6190       and ppmtorast can be used on non-Sun systems.  This also provides a
 6191       final solution to the persistent byte- and bit-order problems on 386's.
 6192     Moved the SYSV-checking #ifdefs to *after* the include of pbm.h, which
 6193       defines SYSV.
 6194     Made all the #else's and #endif's ANSI-compliant.
 6195     Added manual pages for libpbm, libpgm, libppm, and libpnm, courtesy
 6196       of Tony Hansen.
 6197     Changed man page installation so that pages from different sections
 6198       can go in different directories.
 6199     Fixed Imakefiles.
 6200 
 6201 Changes since the expo.lcs.mit.edu FTP distribution of 06sep89:
 6202 
 6203     Added #ifdefs to pnm/libpnm3.c to allow the PBM-PNM-only configuration.
 6204     Small corrections to TIPS, pnm/Makefile, pnm/Imakefile, ppm/ppmrotate.1,
 6205       ppm/ppmshear.1, ppm/ppmtoilbm.c, pbm/xwdtopbm.c, ppm/xwdtoppm.c,
 6206       ppm/ppmtoxwd.c, ppm/ppmtoxwd.1, pbm/x11wd.h.
 6207 
 6208 Changes since the comp.sources.misc distribution of 31oct88:
 6209 
 6210     Added pbmreduce, pbmlife, pbmmask, and pbmupc.
 6211     Added gemtopbm, tifftopbm, pcxtopbm, pbmtogo, mgrtopbm, pbmtomgr,
 6212       cmuwmtopbm, pbmtocmuwm, g3topbm, and pbmtobg.
 6213     Minor bugfix to pbmtolj.
 6214     Slight restructuring of most of the programs to use vastly less memory.
 6215     Various other minor optimizations.
 6216     Fixed pbmtorast and rasttopbm to handle byte-swapped big-endian 386 boxes.
 6217     Slight changes to argument syntax of pbmcrop, pbmmake, pbmreduce.
 6218     Moved to the new PGM package: pbmtops (which now produces Conforming PS).
 6219     Moved to the new PPM package: giftopbm.
 6220     Moved to the new PNM package: pbmcrop pbmcut pbmenlarge pbminvert.
 6221     Consolidated into a single pnmflip tool: pbmfliplr pbmfliptb pbmtrnspos.
 6222     Consolidated into a single pnmcat tool: pbmcatlr pbmcattb.
 6223     Added compataliases script for upward compatibility with changed tools.
 6224     Removed xxxtopbm.
 6225     Added a -headersize flag to macptopbm, to help get around annoying
 6226       problems in MacPaint file format.
 6227     Added the RAWBITS compilation-time option, to use a more compact and
 6228       much faster (but less portable) external format.
 6229     Removed the CBM format - use compress(1) and / or RAWBITS instead.
 6230     Pbmpaste (and the new pnmpaste) now accepts negative x and y coords,
 6231       which are interpreted relative to the right and bottom sides.
 6232     Changed all programs to accept a "-" file argument as meaning standard
 6233       input.
 6234     Removed pbmtox10wd, since it was never very useful (X10 doesn't have xwud).
 6235     Added Imakefiles, for X11 types to use.
 6236 
 6237 Changes since the X.V11R3 distribution of 31aug88:
 6238 
 6239     The cbm format has been revised to include run-length encoding.
 6240     Pbmtops now does run-length encoding.
 6241 
 6242 Major changes since the X.V11R2 distribution of 28mar88:
 6243 
 6244     The pbm format now has a "magic number".
 6245     New conversion filters: brushtopbm, giftopbm, pbmtolj, pbmtomacp,
 6246       pbmtoxwd, and pbmtox10wd.
 6247     Icontopbm converter has a better parser -- it knows to skip over
 6248       any extraneous comments at the beginning of the icon file.
 6249     Pbmtops generates a different PostScript wrapper program -- it should
 6250       handle huge bitmaps better.
 6251     Xwdtopbm now handles byte-swapping correctly.
 6252     Pbmmake takes a flag to specify the color of the new bitmap.
 6253     Pbmpaste now implements 'or', 'and', and 'xor' operations as well
 6254       as the default 'replace'.