Programming Web Graphics with Perl and GNU Softwar

Errata for Programming Web Graphics with Perl and GNU Softwar

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page xii
Booktech e-mail: missing ".com"

Anonymous   
Printed
Page xiii

Paragraph 4 of the Acknowledgments reads: Bob Freishanham It should read: Bob Friesenhahn

Anonymous   
Printed
Page xiii

Paragraph 4 of the Acknowledgments used to read: Bob Freishanham It now reads: Bob Friesenhahn

Anonymous    Jun 01, 1999
Printed
Page 14-15
Figures 1-5 and 1-6: the captions should note that the

PNGs for which file sizes are given are 24-bit images; they would be comparable to or smaller than the GIFs if saved as 8-bit indexed images (e.g., use gif2png to convert and optionally pngcrush to optimize)

Anonymous   
Printed
Page 46
binmode(STDIN); should be binmode(INFILE)

Anonymous   
Printed
Page 48
Change

if ((length($text) > 20 | ($text =~ / /) ) { to if ((length($text) > 20 || ($text =~ / /) ) {

Anonymous   
Printed
Page 53
The line at the top of the page reading:

$filesize = $filesize / 1000; Should read: $filesize = $filesize / 1024;

Anonymous   
Printed
Page 58
In comment line starting "# The right ear: ...." should be

the upper left and lower right (not left)

Anonymous   
Printed
Page 65
In the references section, the URL for the Perl-Apache

Integration Project should be http://perl.apache.org

Anonymous   
Printed
Page 71
libjpeg platforms: should be "Most"; also, "IPG" should be "IJG"

Anonymous   
Printed
Page 74
zlib platforms: should be "Most"

Anonymous   
Printed
Page 82
Mentions that

If you are working on a platform that makes a distinction between text and binary files (such as Windows 95/NT), be sure that you are writing in binary mode by calling the binmode() method first." But on page 96 it reads On Unix systems, you can pipe the image data to an image viewer, such as xv or the display utility that comes with ImageMagick. Yet in the example that soon follows is the binmode statement advised for Windows 95/NT systems. On a UNIX system it doesn't matter whether the filehandle is in binary mode or not. It won't hurt anything, but it doesn't do anything either. Remove from future printings.

Anonymous   
Printed
Page 99
"allocateColor" should be "colorAllocate." This error occurs

twice, in 2. and 3. of the "setBrush()" section

Anonymous   
Printed
Page 99
On line 4. Change

($whitest) to ($mostestwhitest)

Anonymous   
Printed
Page 100
3rd last line. 'INFILE' should read *INFILE

Anonymous   
Printed
Page 111
$image->rectangle(@boundingbox, red); should be

$image->rectangle(@boundingbox, $red);

Anonymous   
Printed
Page 117
Table 5-1, line 1: "GraphDics": delete D

Anonymous   
Printed
Page 117
Table 5-1, last line: "Multiple" should be "Multiple-image"

Anonymous   
Printed
Page 128
Under 'base_rows, base_filename' should be 'base_rows'

Anonymous   
Printed
Page 129
Under colormap[i], 'set' should be 'Set'.

Anonymous   
Printed
Page 321
Two times it lists Times-Roman instead of /Times-Roman.

Anonymous   
Printed
Page 336
Under the font heading on the last line it says...

corresponds with the set of default Ghostscript fonts with have AFM files: Should say corresponds with the set of default Ghostscript fonts with AFM files:

Anonymous   
Printed
Page 337

The first line reads: currently fonts currently supported by PostScript::Metrics Should be fonts currently supported by PostScript::Metrics

Anonymous   
Printed
Page 340
Two Bugs in the PostScript::TextBlock module in two areas in

the Write() subroutine of the TextBlock module that required a patch. They both have to do with proper word wrapping. One problem was that words would not always line up against the left margin due to white space that remained attached to the font of a word when we'd gone over the limit and the word had to be pushed back for later processing. In this case, we would want to remove the leading white space. Below is the updated version of the code section that covers this. # If we've gone over, push the word back on # for later processing. # if ( ($wcount>$w) || ($word =~ s/ //) ) { if ($word =~ /^ /) { $word =~ s/^[ ]+//; } # This line is the patch unshift @words, $word; last LINE; } The other problem had to do with the section of code that determined if there were any remaining words that needed to be put back for later processing. The existing code does the logical check: if ($#words) { $element->{text} = join '', @words; } but "$#words" returns the subscript of the last element in @words, NOT the number of elements. Instead, use the code: my $numWords = @words; if ($numWords) { $element->{text} = join '', @words; }

Anonymous   
Printed
Page 353

Under linetint and filltint it reads: with 1 as black and 0 as white. It should be with 1 as white and 0 as black

Anonymous