I've found a bug in pstoimg.


The -depth command-line parameter and DEPTH environment variable are supposed to allow the user to choose the colour depth of the bitmap. Valid values are 1, 8 and 24 according to the documentation, and the default is 8.

So, I added a $ENV{DEPTH}=24 line to my .latex2html-init file. However, pstoimg then generates the following commandline:

Running "/usr/bin/pnmcrop -verbose < /tmp/l2h9345/p9567.pnm | | /usr/bin/pnmtopng -interlace > img21.png"

The double pipe causes a shell error, and the image doesn't get generated. This is simply due to the way the reduce_color variable is used - typically, $reduce_color is set to something like "ppmquant 256". When depth is 24, however, there's no need to call ppmquant, and $reduce_color is empty. However, the current code still executes a $reduce_color command in the pipeline, even though $reduce_color is a null command.

The sequence

  if(!$type || $type =~ /(ppm|pgm)/i) {
    if($cmd) {
      $cmd .= "| $reduce_color "
    } else {
      $cmd = "$reduce_color < $in ";
    }
  }

should be changed to

  if((!$type || $type =~ /(ppm|pgm)/i) && $reduce_color) {
    if($cmd) {
      $cmd .= "| $reduce_color "
    } else {
      $cmd = "$reduce_color < $in ";
    }
  }


That should fix the bug,


- David

--
David Pritchard                            http://www.david.enigmati.ca
                          drpritch [ at ] cs [ point ] ubc [ point ] ca
Imager Lab, Computer Science Department, University of British Columbia

_______________________________________________
latex2html mailing list
[EMAIL PROTECTED]
http://tug.org/mailman/listinfo/latex2html

Reply via email to