Subject: CVS commit: pkgsrc/print/xpdf
From: Matthias Scheler
Date: 2014-08-01 14:31:27
Message id: 20140801123127.91F0996@cvs.netbsd.org

Log Message:
Update "xpdf" package to version 3.04. Changes since version 3.03:
- New text extractor.
- Added the pdftohtml tool.
- Added the pdftopng tool.
- New trapezoid-based rasterizer core (for performance).
- Generate appearance streams for Line, PolyLine, and Polygon
  annotations.
- Added the closeWindowOrQuit command, and changed the default binding
  for ctrl-W from closeWindow to closeWindowOrQuit.
- Implemented the new AES-256 mode (R=6, Acrobat X).
- Add an object cache.
- Added a small cache for object streams.
- Modify PSOutputDev to use LZW compression instead of RLE, with a
  fallback to RLE if the "psLZW no" setting is given.
- Pdfinfo now prints page rotation info.
- Modified ImageOutputDev, used by pdfimages, to output the masks and
  soft masks used when drawing images.
- Remove non-printable characters from error output, just in case they
  might cause problems for the terminal program.
- Added initial support for Code3of9 bar codes in XFA forms.
- Added the mapExtTrueTypeFontsViaUnicode xpdfrc command.
- Apply stroke adjustment to rectangular images and clipping regions (in
  addition to strokes and fills).
- Decode JPEG 2000 images at less than full resolution if the full res
  image isn't needed (i.e., if the raw image is higher resolution than
  the output).
- Implemented knockout groups.
- Removed t1lib support.
- Added support for images with 16-bit components.
- Rewrote the Dict class to use a hash table; as a side effect, this
  handles dictionaries with multiple definitions for a key, which are
  in violation of the spec, but Acrobat appears to handle.
- The transformed line width computation -- used to implement the
  minLineWidth setting, and the hairline threshold in monochrome mode --
  was incorrect.
- Pdftops was not correctly handling the case where it couldn't find
  a 16-bit font -- this led to crashes and/or invalid PostScript.
- A bug in FlateStream::getBlock() was causing problems with narrow
  images.
- Use the correct _WIN32 define instead of WIN32.
- Use copy-on-write for the clip path in SplashState (when doing gsave),
  for performance.
- Added a Solaris-specific entry to the ghostscript font search path.
- SplashState was initializing line width to 0 instead of 1.
- Abort processing on a content stream after getting 500 errors
  (undefined operator, wrong number of args) -- this avoids very long
  processing time for malicious PDF files using bogus RLE encoded
  content streams.
- Added the psUseCropBoxAsPage xpdfrc option; "pdftops -pagecrop" now
  sets psUseCropBoxAsPage; "pdftops -pagecrop -paper match" now uses
  the CropBox as the page size.
- Re-architected the AcroForm support code into a separate AcroForm
  module.
- Fixed the handling of overprinting/transparency interaction, using
  the CompatibleOverprint blend mode.
- The TIFF predictor code for the 1-bit-per-pixel case was broken.
- For triangle and patch mesh shadings (types 4-7) with color functions,
  interpolate the function parameter not the color.
- Check the fontFile/fontDir commands before (instead of after) doing
  Base-14 substitution in PS output.
- Correctly handle non-embedded TrueType fonts that have an Identity
  ToUnicode mapping (display and PS output were failing).
- Added support for XFA form rendering, including an "enableXFA" xpdfrc
  setting.
- Handle PFB Type 1 fonts when generating PostScript output.
- Unwind any extraneous saved graphics state at the end of the page
  (before drawing annotations).
- Added some integer overflow checks in the GString class.
- Handle 16-bit components in JPEG 2000 images.
- ActualText spans can end without a valid font, in which case
  TextPage::beginWord was crashing.
- The Domain entry in function shadings wasn't being parsed correctly.
- Fixed a bug in the JPEG decoder - successive approximation
  (progressive mode) coefficients weren't being handled correctly.
- Added a better infinite loop test to the xref parser.
- When generating PostScript, merge reused TrueType fonts (if their
  code-to-GID mappings are the same).
- Tweak the Gouraud triangle shaded fill code to end the recursive
  splitting if the triangles get sufficiently small.
- Do bilinear interpolation when upsampling images.
- When skipping extraneous image data from an inline image, look for
  EI<whitespace> instead of just EI.
- When writing to stdout on Windows, pdftoppm now sets the file mode to
  binary.  [Thanks to Robert Frunzke.]
- Accept strings as well as names for the BaseFont entry in font
  objects.
- Removed the TEXTOUT_WORD_LIST config option (with the new text
  extractor, this is always enabled).
- Fixed a bug in the JBIG2 decoder (the TPGD context for template #3 in
  readGenericBitmap was incorrect).
- Rewrote the PostScriptFunction code for performance.
- Handle 8-bit OpenType CFF fonts that are missing required tables in
  the OpenType wrapper.
- Handle tiling patterns with reversed coordinates in their bounding
  boxes.
- Added support for 64-bit file offsets, i.e., PDF files larger than
  2GB.
- Optimize the code that rasterizes pattern-filled image masks.
- Added support for Mac OS X system fonts (Base-14 only).
- The backdrop color in luminosity-type soft mask groups was not being
  handled correctly.
- Modified behavior of "pdftops -paper match -duplex ..." - it will now
  duplex consecutive same-sized pages.
- Tweak the handling of degenerate fills ('moveto lineto fill') to
  match Adobe.
- Don't honor the OPM=1 setting with ICCBased CMYK color spaces.
- Whole-word searches were treating certain punctuation (Unicode number
  separators and terminators) as part of the word, e.g., searching for
  "foo" would not match "foo,".
- Use the TextString class everywhere it makes sense.
- Removed the unnecessary segment sort in Splash (performance
  optimization).
- Handle hyperlinks that use Widget-type annotations.
- Fix up the integer overflow checks to avoid issues with clever
  compilers.  [Thanks to Nickolai Zeldovich.]
- Correctly handle streams with missing Length entries in damaged PDF
  files.
- Added a compile-time option (LOAD_FONTS_FROM_MEM) to load fonts from
  memory rather than temporary files on disk.
- Added the psRasterSliceSize xpdfrc option.
- Fixed a case in the JPEG 2000 arithmetic decoder where extra data is
  present in packet i, and needs to be saved for use in packet i+1.
- Fixed a bug in the JPEG 2000 decoder related to images with fewer than
  8 bits per component.
- Handle the case in PSOutputDev where slice size overflows a 32-bit
  integer.
- Add (partial) support for TrueType cmap format 2.
- Always pass FT_LOAD_NO_BITMAP to FreeType -- bitmaps apparently fail
  with rotated characters.
- Support fonts specified in ExtGState dictionaries.
- Annotations with empty Border arrays should not draw a border.
- Fix the CMap parser to handle large CID ranges.
- Check for Type 3 CharProcs that call q or Q before the d0/d1 operator,
  and treat them as uncacheable.
- Invert the selection color when starting in reverse video mode.
- Device{Gray,RGB,CMYK} cannot be mapped via a resource dict.
- Changed the PS output for masked images (explicit and color key
  masking): use a plain old clip path instead of rectclip to avoid
  array overflows.
- Check the StemSnapH/V arrays when converting Type 1C fonts to Type 1 -
  if there are any duplicate or out-of-order values, skip that
  StemSnapH/V array.
- Added the psMinLineWidth xpdfrc setting.
- Fix an obscure issue in converting TrueType fonts to Type 42, related
  to empty glyph descriptions (12 zero bytes).
- Pdftops now reports an error if there were any I/O errors writing to
  the PS output file.
- Fix vertical text (CJK fonts) in PS output -- offset the character
  origin correctly.
- Increased the number of digits used by pdfimages for the image number
  from three to four.
- Handle right-to-left (e.g., Arabic) ligatures correctly in the text
  extractor.
- Added the -loc and -locPS options to pdffonts.
- Extend the object parser recursion limit to cover Stream::addFilters()
  / Stream::makeFilters() - to avoid another possibility of stack
  overflow.
- Disable FreeType autohinting, because it can fail badly with font
  subsets that use invalid glyph names -- except in the case of Type 1
  fonts, which look much better with light autohinting.
- Modified the rasterizer pipeline functions to process a scan line at a
  time (for performance).
- Removed VMS build support (it hasn't been updated in ages).
- Removed pdftotext's '-htmlmeta' option (use pdftohtml instead).
- PSOutputDev's font/form setup code, and pdffonts, were not scanning
  soft mask groups in ExtGState dictionaries.
- Invalid DCT input (e.g., from a damaged PDF file) could overflow the
  dctClip array.
- When upsampling an image mask or image with a large resulting image
  size, do it in stream mode instead of prescaling the whole image
  (to avoid running out of memory).
- Added infinite loop detection to pdffonts.

Files:
RevisionActionfile
1.81modifypkgsrc/print/xpdf/Makefile
1.42modifypkgsrc/print/xpdf/distinfo
1.5modifypkgsrc/print/xpdf/patches/patch-al
1.4modifypkgsrc/print/xpdf/patches/patch-am
1.4removepkgsrc/print/xpdf/patches/patch-aq
1.4removepkgsrc/print/xpdf/patches/patch-ar