diff options
author | Denis Bitouzé <dbitouze@wanadoo.fr> | 2021-02-25 18:23:07 +0000 |
---|---|---|
committer | Denis Bitouzé <dbitouze@wanadoo.fr> | 2021-02-25 18:23:07 +0000 |
commit | c6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch) | |
tree | 1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/libs/xpdf/xpdf-src/CHANGES | |
parent | 07ee7222e389b0777456b427a55c22d0e6ffd267 (diff) |
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-src/CHANGES')
-rw-r--r-- | Build/source/libs/xpdf/xpdf-src/CHANGES | 2742 |
1 files changed, 0 insertions, 2742 deletions
diff --git a/Build/source/libs/xpdf/xpdf-src/CHANGES b/Build/source/libs/xpdf/xpdf-src/CHANGES deleted file mode 100644 index f2dccc095fd..00000000000 --- a/Build/source/libs/xpdf/xpdf-src/CHANGES +++ /dev/null @@ -1,2742 +0,0 @@ -0.2 (95-dec-12) ---------------- -First public release. - - -0.3 (96-jan-13) ---------------- -LZW patent workaround. -Implemented inline images. -Fixed (mostly) disjoint polygon fills. -Added remote server stuff. -Added page number on command line. -Fixed problem with font encodings which caused character misalignment. -Fixed inverted CCITT decoding and inverted image mask drawing. -Now compiles under gcc 2.7.x (ignore those stupid 'unused parameter' - warnings). -Many minor bug fixes and optimizations. - - -0.4 (96-apr-24) ---------------- -Implemented DCT filter. -Implemented PostScript output; wrote pdftops program. -Implemented links. -Implemented font rotation -- I was wrong: X11R6 servers *do* support - font rotation (by specifying a matrix in place of a size). -Added bindings for Home/End, Page Up/Down, arrow keys. -Added initialZoom resource and -z option. -Added geometry resource and -g option. -Fixed image size off-by-one bug. -Fixed bug where page content is reference to an array of streams. -Cleaned up uninitialized variables which were causing random problems - on various platforms. -Manually skip whitespace before calling atoi() for startxref. -Replaced calls to XrmCombineFileDatabase() with calls to - XrmGetFileDatabase() and XrmMergeDatabases() so it will work under - older versions of X. -Fixed problem with reading multiple xref tables in updated PDF files. -Check for encryption and print appropriate error message. -Rudimentary dithering of images. -Fixed bug in CCITTFax filter (pass mode followed by horizontal mode). -Optimized drawImage() and drawImageMask(). -Changed several things to ease porting: - - changed '__inline' to 'inline' (to adhere to the ANSI standard) - - surrounded interface/implementation pragmas with #ifdef _GNUC__ - - got rid of empty array initializer lists - - moved Operator type definition from Gfx.cc to Gfx.h - - renamed String, uint, etc. - - ability to uncompress to file (NO_POPEN and USE_GZIP flags) - - added definitions of XK_Page_Up/Down and XPointer for old versions - of X -For VMS port: - - use correct Xdefaults name for VMS, get rid of ltkGetHomeDir() - - added '#include <stddef.h>' before all X includes - - renamed files with multiple periods in their names -Fixed window resizing infinite oscillation bug. -Fixed problem with string-type (as opposed to stream-type) indexed - color space lookup tables (which are used in inline images). -If an X font is not found, try smaller and then larger sizes (this is - useful for old or broken X servers which can't scale bitmap fonts). -Added -rgb (color cube size) option. -Various minor bug fixes. - - -0.5 (96-may-23) ---------------- -Fixed bug in LTKWindow which broke the remote server mode. -Fixed PostScript output: - - doesn't seg fault if file is unwritable. - - incorrect DSC comment - need colon in '%%Page:'. - - use 'imagemask' command for masks. - - output filters in the correct order. - - Stream::isBinary() checks the next-to-bottom, not top, stream. - - if page width > height, rotate it 90 degrees. - - if page is larger than paper size, scale it down. -Set default MediaBox to 8.5" x 11" to deal with non-compliant PDF - files which don't specify a MediaBox. -Added DEBUG_MEM stuff in gmem.c and gmempp.cc. -Fixed memory leaks: - - LTKWindow didn't delete the LTKBox. - - LinkAction needs a virtual destructor. -Use $(RANLIB) variable in goo/Makefile and ltk/Makefile. -Allocate image data after calling XCreateImage, using - image->bytes_per_line -- works in 24-bit mode now. -DCTStream rounds width of rowBuf lines up to the next multiple of - mcuWidth, so last MCU doesn't run off end of buffer. -Increase size of block (from 255 to 1024 bytes) read at end of file to - search for 'startxref'. -Skip past garbage at start of file, look for '%PDF'. -Moved more compiler options out of Makefiles into Makefile.config. -Top-level Makefile uses '$(MAKE)' instead of 'make' for making - subdirectories. -Space/PageDown/Next and Backspace/PageUp/Previous now moves to - next/previous page if already scrolled to bottom/top of current - page. - - -0.5a (96-jul-09) ----------------- -[not a public release] -For PDF 1.2 (a.k.a. Amber, a.k.a. Acrobat 3) support: - - look for trailer after first xref instead of at end of file. -Deal with font subsets by converting character names of the form - 'Cnnnn' to the appropriate character from the standard encoding. -Extract encoding from embedded Type 1 fonts. -Kludge to fill one-pixel thick polygons. -Changed X font encoding to use endash for hyphen (gets rid of too-long - hyphens). -Handle Resources key in Pages dictionaries (needed for pstoedit - output). -Fix comment handling in Parser (needed for pstoedit output). -Move Bezier curve conversion from GfxState to XOutputDev; look at - flatness parameter in GfxState. -Change all of the path functions in XOutputDev (stroke, fill, clip) to - use the same path transformation/conversion function. -Rewrote PostScript output driver as a subclass of OutputDev; removed - duplicated code (ps_ functions) from Gfx. -Fixed bug in xref code with small (< 1024 bytes) PDF files. -Implemented BX/EX operators. -Added PDFDoc class. - - -0.6 (96-nov-12) ---------------- -Add support for PostScript output to stdout (-) and to a command - (|lpr); added -ps option and psFile resource. -Decryption is implemented but not included in the distribution due to - legal restrictions: the decryption algorithm is a trade secret of - RSA, Inc., and the U.S.A. still has bogus export controls on - cryptography software. -Added .xpdfrc config file: - - Added fontmap parameter: user can map PDF font names to X fonts. - - Added fontpath parameter: search for Type 1 font if encoding is - not in PDF file. -Incremental display: display is updated after every 200 commands. -Added forward and backward by-10-page buttons. -Links: - - Implement links with "Launch" actions that point to PDF files. - - Draw borders around links. - - Handle links with named destinations. - - GoToR links specify a page number instead of a page reference. -Optimizations: - - Rewrote Stream to use buffering, and added lookChar() functions; - rewrote Lexer to take advantage of this. - - Use hash tables for name->code mapping in font encodings. - - Made XOutputDev::doCurve() iterative, changed /2 to *0.5, and - changed the flatness test. -Added file name to window title. -Implemented RunLength filter. -Implemented forms. -Convert ObjType to an enum. -Changed isDict("Pages") to isDict() (in Catalog.cc) to deal with - incorrect PDF files. -Changed color selection so that very pale colors don't map to white. -Fixed bug in CCITTFax filter (multiple make-up codes). -In GString::clear(): need to set length to 0 before calling resize(). -Base initial window size on first displayed page, not page 1; deal - correctly with rotated pages. -Added ltkGetIntResource() and LTKApp::getIntResource(). -PostScript output fixes: - - Escape backslashes in strings. - - When doing ASCII85 encoding, keep both chars of EOF marker ('~>') - on same line. - - Add extra line '%-EOD-' after image data streams; call wrapper - functions for image and imagemask which look for this line -- this - should fix the 'too much data in stream' bug. - - Font tags can be reused for different fonts on different pages -- - so use font object reference (number/generation) instead. -Initialize character widths to zero (this caused crashes on OSF/1). -Handle image masks which go outside of pixmap. -Makefile.config changes: - - Remove -o in C++ compile rule. - - Add $(AR) variable. -Code which read char widths from font dictionary read all but the last - width. -Add 'return 0;' to main() in xpdf and pdftops. -Allow fonts to use StandardEncoding. -Convert man pages to VMS help files. - -0.7 (97-may-28) ---------------- -Implemented FlateDecode filter (for PDF 1.2). -Basic xref table reconstruction for damaged files -New pdftotext program converts PDF to plain text. -Implemented menus in LTK; added a menu to xpdf. -Added open and save functions; allow xpdf to start without any PDF - file. -Implemented text find. -Implemented text select/copy. -Change mouse cursor when it's over a link. -Embed Type 1 fonts in PostScript output. -Moved rotate functions to menu; added quit to menu. -Fixed stroke color bug in PostScript output (was using fill color - instead of stroke color; this sometimes caused lines to be missing - (white) in PostScript output). -Support Launch-type links -- pops up a dialog before executing - anything. Expects the A (action) dictionary to contain a Unix - dictionary with F (file) and P (paremeter) keys just like the Win - dictionary. -A moveto op all by itself should just be discarded, instead of - generating a subpath with one point (this was causing seg faults). -Balanced parentheses in strings don't need to be escaped. -Tj operator in PostScript prolog didn't check for zero when dividing - by length of string. -Implemented selection in LTK; TextIn widgets support dragging/copy/ - paste. -Handle font subsets that use hex character codes. -Added icon pixmap; added the XPMLIB and NO_XPM variables to - Makefile.config. -Fixed subtle bug in use of horizontal scaling parameter (it affects - only the width of drawn characters, not positioning done in text - space). -Memory testing (with DEBUG_MEM): - - gmalloc now fills memory blocks with garbage to catch unitialized - fields. - - gfree fills memory blocks with garbage to catch uses of freed - blocks. -Handle image masks which go off the pixmap on the top and/or left. -Fixed inline functions which had two return statements (to make the - HP, SCO, and other cfront-based compilers happy). -Fixed bug which caused seg faults when following a link to a different - file (info in LinkGoto object was used after link was deleted by - loadFile). -If page content is an array of streams, the streams are concatenated; - objects and commands can span multiple streams. -If file open fails, try lower-casing and upper-casing the file name. -Commands should end when lexer sees a '/' character. -GString::append(char *, int) was broken. -Changed LTKScrollingCanvas redraw to be more efficient: copy as much - as possible from window before copying from off-screen pixmap. -Ignore gs (set extended graphics state) operator. -Handle colorspaces (CalGray/RGB are treated as DeviceGray/RGB; the - weird colorspaces are not yet implemented). -Named destinations (for links) can be strings as well as names; deal - with the names tree in the catalog. -Clip to the page CropBox. -Added '-q' to gzip options (to suppress warnings, in case user has -v - in GZIP env var). -Added 'include Makefile.config' to top-level Makefile. -Added INSTALL variable to Makefile.config; used in top-level - Makefile. -Always initialize LinkDest left/bottom/top/right/zoom fields (bogus - floating point values were causing crashes on Alpha). -Added Makefile.config options for Digital Unix (DEC compilers), HP-UX - (HP compilers), SCO Unix, and Evans & Sutherland ES/OS. -Added flag to set stream mode in fopen call for VMS. -Rewrote Link module. -Pages with no contents shouldn't cause an error message. -In PostScript output: pdfImM needs to set fill color before doing - imagemask. -If font doesn't specify character widths, use widths from built-in - font, based on font flags. -Fixed LTK scrollbar to delay before repeating and to control the - period between repeats. -Removed window/widget copy() methods (they were untested and unused). -Unknown filter types produce a single error message instead of a - stream of errors. -Added a dummy target in top-level Makefile so making individual - executables (e.g., 'make pdftops') should now work. -Added optional xpdf-flip.ltk with buttons on right side instead of - bottom of window. - -0.7a (98-feb-22) ----------------- -Moved find command from menu to toolbar button ('f' key still works). -Support TrueColor visuals. -Added a -cmap option and a installCmap resource to install a private - colormap. -Mouse button 2 pans the window. -Selecting a URI link now executes a configurable command (from the - urlCommand resource). -Added a "link info" display which shows the URL or file for the link - under the mouse. -Don't draw (or convert to PostScript) text drawn in render modes 3 and - 7 -- this is invisible text, used by Acrobat Capture; this text is - still passed to the TextPage object so that selection works. -Recognize (and quietly ignore) marked content operators (BMC, BDC, - EMC, MP, DP). -Recognize new color-setting operators (scn, SCN). -Added A4_PAPER option. -Embed external Type 1 font files (this currently only works with PFA - files). -Added "-level1" option (in xpdf and pdftops) to generate Level 1 - PostScript. -Setup autoconf -- replaced Makefile.config. Added SELECT_TAKES_INT - flag, and use configure to autodetect (for HP-UX). -Fixed appendToPath() to behave reasonably when appending ".." to root - directory. -Fixed array size in FlateStream::compHuffmanCodes() (was causing xpdf - to crash under OSF/1). -ASCII85Stream, ASCIIHexStream, and DCTStream didn't check for EOF and - could run past the end of the stream in damaged files. -Handle hex escapes (#xx) in names. Still allow the name /# for - backward-compatibility. -Check for NULL characters in encoding array in GfxFont.cc (was calling - strcmp() with NULL which crashed under Solaris). -PageAttrs::PageAttrs() didn't initialize crop box boundaries. -Changed uses of lookup() to lookupNF() in XRef.cc. -Fixed type checking of operators which take a variable number of - args. -Gfx::buildImageStream() doesn't need to check for parser (since I got - rid of the bogus array-of-command thing). -XOutputFont matches on font reference instead of font tag (similar to - PSOutputDev fix). -Fixed bug in position calculation for multi-char substitutions in - XOutputDev. -Cleaned up local variables which hid class variables. -Optimized variable length decoding in CCITTFaxStream. -Set link border width to zero if Border dictionary entry is missing. -Throw away zero-length strings in TextOutputDev -- they don't have - valid xMin/xMax values. -Swapped order of XLIBS and XPMLIB in xpdf/Makefile. -Deleted 'LTKApp::' in function declaration in LTKApp.h. -Changed '(XKeyEvent *)&event' to '&event.xkey' in LTKApp.cc. -Check that the link rectangle coordinates are in the correct order, - and swap if necessary. -TextOutputDev didn't set text to NULL, which caused pdftotext to - segfault if it couldn't open it's output file. -Fixed a hash table search bug in GfxFontEncoding::getCharCode(). -Cleaned up colorspace code: rewrote GfxColorSpace and added - GfxImageColorMap; cleaned up PSOutputDev::doImage. -Handle named colorspaces in images. -Correctly set the default color after a colorspace change. -Old setcolor operators now set the colorspace. -Fixed bug with uncompressed blocks in FlateStream. -Fixed bug with fixed Huffman code table in FlateStream. -Added hash table of X windows (for LTKWindow and LTKWidget) to LTKApp - and replaced calls to XQueryTree with hash table searches -- this - avoids a roundtrip to the server for each event and also fixes the - problem where XQueryTree crashed if the window no longer existed - (with leftover events from a destroyed window). (Thanks to Yair - Lenga for the suggestion.) -Create a new GC for selection -- xor black and white (instead of LTK - foreground and background). -Fixed crash with blank lines in .xpdfrc. -Allow spaces in font descriptors in fontmap lines in .xpdfrc. -Check for bogus object number in XRef::fetch(). -Use MacRomanEncoding for TrueType fonts that don't specify an - encoding. -Certain PDF generators apparently don't include FontDescriptors for - Arial, TimesNewRoman, and CourierNew -- set GfxFont flags - appropriately. -Fixed a bug in width guessing in GfxFont -- sans serif and serif were - swapped. -Rewrote XRef::readXRef() to avoid using a parser to read the xref - entries. -Added NO_TEXT_SELECT option. -Ignore APPn/COM/etc. markers in DCT streams. -Replaced select() with XMultiplexInput() in LTKApp.cc for VMS. -Handle WM_DELETE_WINDOW protocol -- if you ask the window manager to - delete the xpdf window, xpdf will exit cleanly; other - windows/dialogs are simply closed. -Optimized DCT decoder; switched to integer arithmetic. -The "/Type /Annots" field in an annotation dictionary is optional. -Check for null nameTree in Catalog::findDest(). -In XOutputDev, search user font map before default font map. -Added "normal" SETWIDTH parameter to all font descriptors in - XOutputDev (some systems have a narrow-width Helvetica font). -Added FOPEN_READ_BIN and FOPEN_WRITE_BIN to support Win32. -Added a hack which allows better font substitution for some Type 3 - fonts. Also allow character names of the form /nn and /nnn. -Added <strings.h> and <bstring.h> to LTKApp.cc (needed by AIX and IRIX - for bzero() declaration for FD_ZERO). - -0.80 (98-nov-27) ----------------- -Support for some Japanese fonts (Type 0 fonts using the Adobe-Japan1-2 - character collection, horizontal only). -Added pdfinfo application. -Added pdftopbm application. -Added pdfimages application. -Added -papercolor option and .paperColor resource. -Fixed divide-by-zero problem in XOutputDev Type 3 font matrix kludge. -Font subset char names can be 'Bxx' as well as 'Cxx' and 'Gxx'. -Fixed bug in color space conversion in DCTStream filter (YCC->RGB was - correct, YCCK->CMYK was broken). -Added XRef::getDocInfo() and PDFDoc::getDocInfo() to support pdfinfo. -Optimized GfxImageColorMap. -Lexer::getStream(), getPos(), and setPos() check for null stream. -Decryption code now does strings as well as streams. -ASCII85 decoder rounds short tuples up instead of down. -CropBox and MediaBox can be non-integers. -PostScript output: - - Use a rectangle operator. - - Call setpagedevice with page size. - - Insert %%PageOrientation comments. - - Add paper size flags (-paperw and -paperh) to xpdf and pdftops. - - If HAVE_POPEN is not defined, and user tries to print to '|...', - the PSOutputDev destructor tried to write to the PS file. - - Added support for forms (pdftops -form). -Removed error messages for empty paths in stroke, fill, etc. operators. -Don't allow flatnesses less than 1 in XOutputDev (this speeds up - rendering a little bit when there are lots of tiny curves). -Moved the font subset character name guessing from GfxFont to - XOutputDev and TextOutputDev - now these files print correctly. -Cast argument to XFree() to XPointer; add XPointer definition where - necessary (portability fixes). -Various minor VMS fixes. -Changes to configure script and Makefiles: - - Print a warning if X is missing. - - Use C++ when checking select() argument type (HP-UX). - - Use 0 instead of NULL when checking select(). - - Default to gcc instead of c++. - - Get rid of AC_C_INLINE -- this is meant for C, not C++. - - Changed -USE_GZIP to -DUSE_GZIP. - - Added ability to compile ouside of the source tree. - - Added .cc.o rule to {goo,ltk,xpdf}/Makefile.in. - - Added @LIBS@ to XLIBS in xpdf/Makefile.in. - - In top-level Makefile.in: added '-' to clean commands; added - distclean rule. - - Create install directories. - - Use INSTALL_DATA (instead of INSTALL) for man pages. - - Changed xpdf-ltk.h rule to avoid leaving an empty file when - ltkbuild fails. - - Change things so that by default, ltkbuild is not built and - xpdf-ltk.h is not rebuilt. - - Use AM_PROG_CC_STDC to add compiler flags for ANSI C. - - Modify autoconf's builtin macros to check for xlC. - - Use Steve Robbins' smr_CHECK_LIB to test for pixmap library (Xpm) - -- this should fix the problems on systems that have the library - but not the include file. - - Added better test for sys/select.h, sys/bsdtypes.h, strings.h, - bstring.h. - - New VMS make scripts from Martin P.J. Zinser. - - Moved dependences into Makefile.in -- this gets rid of problems - with 'cc -MM' (which is gcc-specific) and 'include Makefile.dep' - (which isn't supported by all make implementations). Also changed - all non-system include files to '#include "..."' (from '<...>'). -Tweaked the TextOutputDev heuristics slightly. -Modify Gfx to use a stack of resources -- this is necessary for Form - XObjects, which can define their own local resources; also modified - PSOutputDev to dump fonts used by forms. -Look for excessively large MediaBox (compared to CropBox) and shrink - it to CropBox. -Minor fix to scrolling when dragging a selection. -Various patches for pdftex and Win32 support. -Deal with Separation colorspaces by using their alternate colorspace - entry. -Added PBMOutputDev for pdftopbm application. -Added ImageOutputDev for pdfimages application. -Separated XOutputDev into LTKOutputDev + XOutputDev. -Added support for 1-D and mixed 1-D/2-D (Group 3) decoding to - CCITTDecode filter. -Added resetImage(), getImagePixel(), and skipImageLine() to Stream - class; used these in XOutputDev, PSOutputDev, and ImageOutputDev. -Implemented predictor for LZW and Flate filters. -In pdfImM1 in PSOutputDev prolog: div should be idiv. -Changed output from printUsage() function in parseargs to look nicer. - -0.90 (99-aug-02) ----------------- -Added Type 1/1C font rendering, using t1lib. -Added "backward" and "forward" buttons. -Added fit-page and fit-page-width zoom factors; replaced zoom-in and - zoom-out buttons with a zoom popup menu. -Type 1C fonts are converted to Type 1 and embedded in PostScript. -Support vertical Japanese text. -Added Japanese text support (EUC-JP) to pdftotext. -Bumped PDF version to 1.3. Added stub functions for ri and sh - operators. (But there are still some missing 1.3 features.) -Added -raw option to pdftotext. -Minor changes to allow compiling under MS Visual C++ 5.0. -Top-level makefile: changed 'mkdir -p' to '-mkdir -p'. -Configure script: added X_CFLAGS to smr_CHECK_LIB(Xpm). -Added Xpm_CFLAGS to xpdf/Makefile.in (this is needed to get the -I for - the xpm includes). -Rewrote code that handles font encodings; added support for Type 1C - fonts. -In the setpagedevice dictionary in PostScript output - added a - /Policies entry which tells the PS interpreter to scale the page to - fit the available paper. -Changed PageUp behavior slightly: move to bottom (instead of top) of - previous page. -TextPage used character's dx (width + char space) instead of just its - width. -Read base URI from document Catalog (for URI-type links). -Minor change to configure script to avoid using 'unset'. -Fixed bugs in CropBox inheritance. -Fixed a bug in resource stack handling for form objects. -Display forms even if they have a missing/incorrect FormType. -Fixed a bug in stream predictors -- the predictor parameters (width, - comps, bits) don't need to match the actual image parameters. - Completely rearranged the predictor code. -Fixed PostScript output to correctly handle stream predictors. -Don't segfault on empty (zero-page) documents. -Added the xpdf.viKeys feature. -Added the ffi and ffl ligatures to XOutputDev and TextOutputDev. -Pdftotext and pdfimages now check okToCopy(). -Added a '-q' flag to all programs (except pdfinfo) to suppress - messages and errors. -Deal with DeviceN colorspaces by using their alternate colorspace - entry. -Change PostScript output so setpagedevice is only called once, at the - very beginning of the document (to avoid problems on duplex - printers). -Changes to configure script and makefiles for DOS/DJGPP. -FontEncoding::getCharCode() looked for (code>0) instead of (code>=0). -Added keypad arrow keys, etc. to xpdf. -Minor changes to gfile.{h,cpp} (<windows.h>) to compile under VC++. -Fixed CCITTFaxStream to correctly handle all parameters. -Modifications to gfile.{h,cc} for Acorn. -Some minor changes for OS/2. -Added 'SHELL = /bin/sh' to Makefiles. -Compare file version to pdfVersionNum+0.0001 to avoid floating point - precision problems. -Added LDFLAGS to Makefiles. -Removed strip entirely from configure and Makefiles. -Fixed a bug in choosing the correct DCTStream color transform. - -0.91 (2000-aug-14) ------------------- -Added TrueType font rendering, using FreeType. -Support for Chinese fonts (Type 0 fonts using the Adobe-GB1-2 - character collection). -Decryption code is included with the main distribution (now that the - US export regulations are a little bit less irrational). -Added (very basic) support for generating PostScript with Japanese - fonts -- only tested with ghostscript so far. -Added support for generating EPS files (pdftops -eps). -Much-improved image filtering in xpdf (for downsampling and for - transforms other than 0/90/180/270-degree rotations). -Implemented a basic full-screen (presentation) mode (xpdf - -fullscreen). (There is currently no way to switch between window - and full-screen modes on the fly -- this will be fixed in a later - release.) -Added "reload" menu item. -Do a better job with anti-aliased Type 1 fonts on non-white - backgrounds. -Handle Lab color spaces. -Handle non-null user passwords. -Avoid security hole with tmpnam()/fopen() -- added openTempFile() in - goo/gfile.cc. [Thanks to Joseph S. Myers for pointing this out.] -Filter out quote marks (' and ") in URLs before running urlCommand to - avoid a potential security hole. [Thanks to Frank Doepper for - pointing this out.] -Fixed TrueColor detection to look at the complete list of available - visuals, not just the default visual. -In gfile.h, changed NAMLEN(dirent) macro to NAMLEN(d). -Removed copyright character from start-up banners. -In the open and save dialogs, if the open/save button is pressed with - no file name, the dialog is not canceled. -Added Xpm_CFLAGS to ltk/Makefile. -XOutputDev::updateLineAttrs was using dashLength before it was - defined. -In top-level Makefile.in, use INSTALL_PROGRAM instead of INSTALL. -In man page, recommend -q instead of -err in .mailcap. -Changes for GNOME / Bonobo support: - - Separated Stream classes into BaseStream and FilterStream trees. - - Got rid of all FileStream-specific stuff. - - Added a PDFDoc constructor that takes a BaseStream* instead of a - file name. -Allow newlines inside strings (Photoshop does this). -Don't require whitespace between tokens in consecutive content - streams (for pages that specify an array of streams). -Look at MissingWidth when constructing font character widths array. -Fixed a bug that caused incorrect PostScript output for images that - use 8-bit indexed color spaces with < 256 colors in the palette. -Handle case where embedded font file is bad (this was seg faulting). -Minor changes for Windows/pdftex. -Work around a bug in PDF files from the IBM patent server. -Fixed bugs in PostScript form generation: use pdfStartPage instead of - pdfSetup; problem with inline images. -Minor bug fix in FlateStream::loadFixedCodes(). -Added %%DocumentMedia and %%PageMedia comments to the PostScript so - that gsview (a Windows frontend for ghostscript) gets the right - paper size. -Draw AcroForm fields that have appearance annotations. -Bounds check gray, CMYK, and RGB values (in GfxColor). -Moved the link border drawing code into Page (from PDFDoc). -Minor modifications for pdftohtml. -PSOutputDev: use the Type 3 font scaling kludge from XOutputDev. -Separation color spaces were handled incorrectly in images. -Fixed a bug with form bounding boxes. -Modified the t1lib support -- replace libt1x code with my own code. - Type 1 and TrueType fonts are now handled similarly, and clipping - works on Type 1 fonts. -Don't print copyright banner (xpdf); add -v switch to get copyright - and version info (all apps); get rid of -err switch (xpdf). -Automatically reload the PDF file if it has been changed, i.e., if the - modification time is different. -Fixed a memory (malloc size) bug in CCITTFaxStream. -Fixed two bugs in FontEncoding::hash() -- handle zero-length character - names (which were found in a (buggy?) PDF file), and handle - character names with high-bit-set characters (use unsigned ints). -Added PDFDoc::isLinearized() and corresponding code in pdfinfo.cc. -Handle files with an incorrect page count in the Pages dictionary - (FOP, from the Apache project produces a page count of 0). -Handle TrueType equivalents to the Base14 fonts (Arial, TimesNewRoman, - CourierNew) -- Adobe's tools use these names without embedding the - fonts. -Tweaked the Type 3 font sizing kludge. -Changed pdfimages (ImageOutputDev) so it doesn't output JPEG files for - 4-component color spaces, since these seem to confuse most image - viewers. -Added support for generating OPI comments (pdftops -opi). -In XOutputDev::drawImage() and drawImageMask(), check for images that - are completely off-page. -Use the provided alternate or a default (DeviceGray/RGB/CMYK) color - space for ICCBased color spaces. -Incorporated MacOS-specific code from Leonard Rosenthol. -Configure script switches to C++ for the strings.h/bstring.h test. -Gfx::opRestore() calls clearPath() to handle (apparently) buggy PDF - files produced by FreeHand. -The /Type field in most dictionaries is optional (PDF 1.3 change). -Move printCommands variable definition into Gfx.cc. -If page is smaller than paper, center the PostScript output. -Fix a minor bug in the SELECT_TAKES_INT detection in the configure - script. -TextOutputDev filters out control characters. -Changed enough occurrences of 'char *' to 'const char *' to keep gcc - 2.95 from barfing. -Support for Latin-2 and Latin-5 in pdftotext (however, this will only - work if the PDF file contains correct font encodings, which seems to - be rare). -TextOutputDev converts "eightoldstyle" to "eight", etc. -Don't use the return value from sprintf() -- most systems return the - length, but some return the string. -Minor fixes for SunOS 4. -Configure script looks for both select() and fd_set in sys/select.h. -Configure script checks for gethostbyname() in -lbsd (for LynxOS). -Fix missing closepath bug in PostScript output. -Change PostScript portrait/landscape mode selection so it only uses - landscape if the page width is greater than the paper width. -Tweaked the VMS code in makePathAbsolute(). - -0.91a (2000-oct-11) -------------------- -Implemented separable CMYK PostScript output (the -level1sep switch to - pdftops). -Implemented Pattern color spaces with tiling patterns (polygon fills - only). -Implemented Stamp annotations. -Implemented Named link actions. -Fixed a really dumb bug in the TrueColor code in SFont (which affects - both Type 1 and TrueType font rendering on 16-bit displays). -Rewrote the GfxColorSpace / GfxColor code. -Switched from djgppcfg to dj_make.bat (from Michael Richmond). -Bug in the Type 1 encoding parser -- couldn't handle lines of the form - 'dup NNN/name put' (with no space between the code and the name). -Fixed the mkstemp() test in configure.in -- switched from - AC_TRY_COMPILE to AC_TRY_LINK and added <unistd.h>. -Added DESTDIR to top-level Makefile.in. -Fixed an incorrect OPI comment in PSOutputDev. -Minor tweak to the CCITTFax code to avoid writing past the end of an - array on an invalid data stream. -Xpdf crashed if the user selected 'reload' when no document was - loaded. -Look for character names of the form "xx" (two hex digits with no - leading alphabetic char) and 'cNNN' (decimal digits with a leading - alphabetic char that happens to be a hex digit). -FlateStream didn't correctly handle zero-length streams. -Xref reconstruction didn't handle the case where the opening "<<" - immediately followed "trailer" with no intervening whitespace. -Fix the %%DocumentSuppliedResources comment in EPS output. -Scale annotations to fit their rectangles. -Added Stream::close() to handle cases (e.g., patterns) where a Stream - object is used multiple times before it is deleted. -Added the topLevel arg to Gfx::go() so it doesn't call out->dump() for - every pattern element (and form). -Rearranged the GfxResources class. -Clean up white space handling in Lexer. -Make the dpi parameter to PDFDoc::displayPage etc. a double - this - avoids margin gaps with fit-page and fit-width. -Fix a rounding problem in xpdf.cc that was causing the window to - sometimes be one pixel too small. -Fixed a minor bug in dealing with Base-14 TrueType font names. -Fixed Lab -> RGB color space conversion. -Added support for opacity values (from PDF 1.4) to GfxState and - OutputDev. [Thanks to Leonard Rosenthol.] -Implemented type 2 functions; rearranged the Function class - hierarchy. - -0.91b (2000-oct-29) -------------------- -Print a warning about Type 3 fonts (XOutputDev, PSOutputDev). -Added the scroll lock behavior to 'n' and 'p' keys in xpdf. -Change FileStream buffer size to a #define'd constant. -Renamed Pattern to GfxPattern to avoid clashes with Windows and MacOS - types. -Added CNS (Big5) Chinese font support (CHINESE_CNS_SUPPORT); renamed - CHINESE_SUPPORT to CHINESE_GB_SUPPORT. - -0.91c (2000-nov-19) -------------------- -Fix an endianness problem in the Type 1 font code which resulted in an - incorrect display with "-t1lib plain" on big-endian systems. -CCITTFax stream decoder will skip over extra zero bits at end of line, - even if EncodedByteAlign flag wasn't set. -Added Big5 support to pdftotext (with CHINESE_CNS_SUPPORT enabled). -Fixed a typo in the CNS/Big5 encoding translation table. -Change the form code in PSOutputDev to store images in arrays of - strings. -The xref reconstruction (for damaged files) now also looks for - 'endstream' tags, and the parser uses this information when setting - up stream objects. -In pdfinfo, convert Unicode chars in the 00xx range into 8-bit chars; - print a warning if there are any other Unicode chars. - -0.92 (2000-dec-03) ------------------- -Fixed %%BeginResource comment (for xpdf procset) in PostScript - output. -Added "-title" switch and "xpdf.title" resource to set the window - title. -Check for <freetype.h> in addition to <freetype/freetype.h>. -Upgraded the configure script to smr_macros 0.2.4 - this should fix a - bug where configure wasn't correctly finding t1lib. - -0.92a (2000-dec-17) -------------------- -Added 'extern "C" { ... }' in various places for ANSI C++ compliance. -Tweaked the code that figures out DPI for fit-to-page and fit-to-width - modes. -Fixed the image transformation code in XOutputDev -- no more missing - lines. -Implemented color key image masking in XOutputDev. - -0.92b (2001-jan-07) -------------------- -Fixed a bug in the error-checking code in the Separation/DeviceN color - space parsing functions. [Thanks to Lidia Mirkin.] -Added wheel mouse support (mouse buttons 4 and 5). [Thanks to - Thorsten Schreiner.] -Added preliminary support for FreeType 2 (disabled by default). - -0.92c (2001-jun-04) -------------------- -Fixed a bug in the new image transformation code. -Look for character names of the form "<letter><digit><digit>", instead - of looking for names beginning with a few specific letters. -T1FontFile::T1FontFile wasn't initializing vars, and ~T1FontFile - wasn't checking before calling T1_DeleteFont -- this caused crashes - if it tried to open a nonexistent font file. -Catalog::Catalog didn't set baseURI to NULL early enough. -Tweak the check for strings.h in the configure script. -Yet another fix for the image rotation code in XOutputDev -- - off-by-one problem when upsampling. -Handle Type 1/1C encodings when using FreeType 2. -Allow FreeType2 to render user-supplied Type 1 base fonts. -Opening a new file from full-screen mode tried to scroll. -Fixed a bug in GfxFont constructor (missing check for NULL base font - name). -Don't crash if a Type 1 font's FontBBox is non-integer. -Pdfinfo prints page size. -Tweak for the alpha hack in T1Font/TTFont: sample the middle pixel - instead of the top-left pixel. -Automatically activate the text input widget in the find window. -Changed a Japanese char code mapping in XOutputDev and TextOutputDev: - period was being incorrectly mapped to small circle (end-of-sentence - character). -Add the 0/+/-/z/w key bindings to control the zoom setting. -Fixed ImageOutputDev (pdfimages) to correctly handle inline image - masks. -Extract ascent/descent info from font descriptor. - -0.92d (2001-jun-26) -------------------- -Embed TrueType fonts in PostScript output. (Added a "-noembtt" flag - to pdftops.) -Extract encoding from TrueType fonts. -Moved Function classes to a separate file (Function.h/cc). -Implemented multi-dimensional sampled Functions. -Implemented Type 4 (PostScript calculator) Functions. -For Type 0 fonts, FontDescriptor is in descendant font, not parent. - [Thanks to Lidia Mirkin.] -Added the "-htmlmeta" option to pdftotext. -In TextOutputDev, when computing the number of blank lines to insert, - do a sanity check on the result. -If both FlateDecode and some other filter (e.g., DCTDecode) were - applied to an image stream, getPSFilter() crashed instead of just - returning NULL. -Handle the /Identity function. - -0.92e (2001-aug-23) -------------------- -Widths in font dict should override built-in font widths. -Changed "rotate left/right" menu items to "rotate - clockwise/counterclockwise". -The link parsing code choked if the Border array was incorrect (too - short). -Modified PSOutputDev to output CMYK for fill/stroke colors. - -0.93 (2001-oct-25) ------------------- -Implement PDF 1.4 (128-bit) decryption. -Bump supported PDF version number to 1.4. -Text output for Simplified Chinese. [Thanks to Cheung Siu Fai.] -Read an app-defaults file for Xpdf. -Read a system-wide config file (<prefix>/etc/xpdfrc) if ~/.xpdfrc - doesn't exist. -Accept and verify owner password; if correct, allow all actions. -Added a "-level2sep" option to pdftops to generate Level 2 separable - PostScript. The PostScript separation convention operators are used - to handle custom (spot) colors. [Thanks to Thomas Freitag for help - on this.] -Add support for FreeType 2 to the configure script. Warning: this - requires FT 2.0.5 or newer. -Fixed the bounding rectangle overlap test in the disconnected subpath - fill hack in XOutputDev. -Stupid typo in font name table in PSOutputDev. -Changing the zoom setting with a keyboard shortcut didn't update the - displayed setting. -Modified the mouse wheel support and added the second wheel (mouse - buttons 6 and 7). [Thanks to Michal Pasternak.] -Character and word spacing is affected by horizontal scaling (display - and PS output). [Thanks to Eddy Ng.] -Rotation specified by the text matrix, character spacing, and - horizontal scaling interacted incorrectly (display and PS output). -Some broken Type 1/1C fonts have a zero BBox -- kludge around this by - assuming a largeish BBox. -Handle PDF files with an incorrect (too small) xref table size. -Allow "-?" and "--help" as aliases for "-h" (all apps). -Correctly handle unescaped parens in strings in Lexer. -Fixed a bug in LTK where a menu got posted multiple times if you right - clicked while a page was being rendered. -Removed a comma inside a string in configure.in. -Kludge around broken PDF files that use char 32 but encode it as - .notdef instead of space. -Clean up various compiler warnings: use constructor args like "fooA" - if there is a field named "foo". Everything now compiles cleanly - under gcc 2.91.66, 2.95.2, and 3.0.1. -Page objects now read all of the page rectangles (MediaBox, CropBox, - BleedBox, TrimBox, ArtBox), as requested by the pdfTeX folks. - Added a new PDFRectangle struct to hold these. -Use XOutputDev's Type 3 font size hack in TextOutputDev too, so it - does a little better job of extracting text in Type 3 fonts. -Modify pdfimages to write one-bit images as PBM files. -Work around a bug in cygwin's implementation of fseek. - -0.93a (2001-nov-21) -------------------- -Implemented the sh (shaded fill) operator for the axial shading type. -Minor fixes to avoid compiler warnings. -Cleaned up global variables -- moved many into instance vars and - function args. -Minor fixes for OS/2. -Fix the system config file path for VMS. -Fix an uninitialized var in XOutputDev that caused crashes on Alphas. -Don't incrementally update the display in full-screen mode. -For Type 1/1C fonts, use the FontBBox from the PDF FontDescriptor - (instead of the one in the font file) if present -- this avoids - problems with fonts that have non-standard FontMatrixes. -Add the Euro character to WinAnsiEncoding. -Track the bounding box of the clip region to make rendering patterns - more efficient. -Fix openTempFile() for Win32. - -0.93b (2001-dec-11) -------------------- -Added a duplex option to PSOutputDev and a -duplex switch to pdftops. -Added XRef::PDFgetDocInfoNF() for pdftex project. -Updated the VMS build script. - -0.93c (2001-dec-12) -------------------- -Completely rewrote the code that handles font encodings: - - everything is Unicode-based - - 16-bit fonts are handled much more cleanly - - text output encoding can be set more flexibly -New .xpdfrc config files. - -1.00 (2002-feb-01) ------------------- -More work on the font encoding rewrite: - - use the ToUnicode font dict entry - - pdfinfo and pdftotext (with '-htmlmeta') convert info strings to - the selected text encoding -Added key bindings for forward ('v') and backward ('b'). -Added the pdffonts program which lists the fonts used in a PDF file. -Fixed several problems in the TrueType font embedding code (for - PostScript output). -Accept named destination on command line. -Added several new items to pdfinfo: file size, PDF version, tagged - (yes or no), XML metadata (with the -meta option). -Pdftops didn't get the portrait/landscape setting correct for PDF - files with rotated pages. -The TrueTypeFontFile class (including the Type 42 converter) now - understands cmap format 6. -Improved the "about" window -- mention the GPL, add a list of key - bindings. -Added Zcaron and zcaron characters to WinAnsiEncoding. -The '0' keyboard shortcut didn't update the zoom popup menu. -Handle the complete list of alternate names for the Base14 fonts. -Fixed substitute font scaling in XOutputDev - scale only the width, - not the height. -Implemented stitching (type 3) functions. -Handle the case of moveto/closepath/clip, which defines an empty - clipping region. -Move dependences into separate Makefile.dep files; get rid of the - distdepend target. -Move all of the configure-script-generated -D options out of the - Makefiles and into a top-level .h file (aconf.h). -Cleaned up the FreeType 1/2 detection code in the configure script. -Pdfinfo prints dates in a more readable format. -Fixed a bug in the Paeth image predictor. -Handle annotations with multiple states. -Another workaround for buggy X servers: clip points that are way out - of bounds. -Added libpaper support (for Debian). -Generate PostScript DSC resource comments for PS (not just EPS) - files. -The save and restore (q/Q) operators shouldn't save/restore the path. -Performance optimization: disable pattern drawing in TextOutputDev. - -1.00a (2002-feb-25) -------------------- -Added an optimized special case for one-bit images in XOutputDev. -Implemented CID TrueType font embedding; added a psEmbedCIDTrueType - option. -The initialZoom X resource was broken. -The reverse MacRoman encoding should return 32 for "space" (not 202, - which is an alternate encoding). -Tweaks to the FreeType 2 support: only disable hinting if the bytecode - interpreter is disabled (i.e., disable autohinting but not bytecode - hinting); add some padding to the glyph cache for CJK fonts. -Added level3 and level3Sep options for the psLevel setting and - corresponding -level3 and -level3Sep options to pdftops. -Added a -level2 option to pdftops for consistency. -Avoid a divide by zero in pdftotext. [Thanks to William Bader.] -Added a Greek language support package. [Thanks to Alexandros - Diamantidis and Maria Adaloglou.] -Don't bother trying to extract a "builtin" encoding from a TrueType - font. -Accept either a page number or a page reference in a link - destination. -Update the fontFixedWidth flag in GfxFont after reading the char - widths (used by the Acorn RiscOS port). -Removed yet another (illegal but not caught by gcc) class specified - from a .h file. -Avoid using snprintf - it's not available everywhere. -Improved the CMYK->RGB transform. -Use mkstemps where available. - -1.01 (2002-may-20) ------------------- -Implemented Type 3 fonts. -Implemented PostScript CID font embedding; added a - psEmbedCIDPostScriptFonts option. -Implemented PostScript 16-bit font substitution; added psNamedFont16 - and psFont16 options. -Moved the initialZoom setting from X resources to the xpdfrc file. -Implemented the radial shading type in the sh (shaded fill) operator. - [Thanks to Mike Sweet.] -Added an 'include' command to the xpdfrc format. -Added the displayNamedCIDFontX option so different fonts can be used - within one character collection. -Added a simple reverse video mode (-rv switch, xpdf.reverseVideo - resource). -Implemented stroked text in XOutputDev (with t1lib and FreeType2). - [Thanks to Leonard Rosenthol.] -Implemented stroked text in PSOutputDev. -Added a built-in Unicode map for UCS-2. -New key binding in xpdf: 'g' activates the page number text field. -PSOutputDev will now embed external TrueType fonts in addition to - external Type 1 fonts. -The psEmbedType1Fonts and psEmbedTrueTypeFonts options were missing - the "Fonts" suffix. -Documentation in xpdf.1 for -freetype option was wrong. -Added the Big5ascii Unicode map to the Chinese-traditional support - package (maps 7-bit ASCII straight through). [Thanks to Lawrence - Lai.] -Modified the EUC-CN and EUC-JP encodings to pass 7-bit ASCII straight - through. [Thanks to Lawrence Lai.] -Avoid a divide by zero in XOutputDev. [Thanks to Simon Burge.] -Remove old code in openTempFile that removed an extension from the - name returned by tmpnam. -Tweak the scrolling behavior when switching pages. [Thanks to Case - Jones.] -In the code that guesses character names (for font subsets), also - handle names of the form 'ABnnn'. [Thanks to Colin Granville.] -Fix the transform code for annotations. -Improved the CMap file parser to handle more general PostScript - lexical conventions. -Added '-enc' option to pdfinfo. -Added the small caps and oldstyle numbers from Adobe's Unicode - corporate use area to the Latin1 and ASCII7 Unicode maps. -The code in TextOutputDev that guesses Type 3 font size could generate - a zero size, which resulted in div-by-zero errors. -Various tools (including Adobe's) occasionally embed Type 1 fonts but - label them Type 1C - so check for a '%!' at the start. -Some tools embed Type 1C fonts with an extra whitespace char at the - beginning - just skip over it. -Fixed a typo in the Simplified Chinese add-to-xpdfrc file. -Updates to dj_make.bat and the djgpp build instructions. -Added a Turkish language support package. -Updated VMS build scripts. [Thanks to Martin Zinser.] -Modify the incremental display update code to redraw less often if - most of the commands are vector graphics, as opposed to text and - images. -Tweak the Type 1 font bbox code to look at the bboxes in both the PDF - font object and the embedded font file. -Fixed the ETenms-B5-H CMap file (for traditional Chinese) to map the - Latin characters to their proportional versions. -Added an optional displayCIDFontX entry for one of the Arphic TrueType - fonts in the traditional Chinese 'add-to-xpdfrc' file. -Remove leading '-' on include statements in Makefiles. -Added psASCIIHex parameter. -Added the GBK Unicode map to the simplified Chinese language pack. -Pdftotext now opens the text file in binary mode to avoid Microsoft's - annoying automatic end-of-line translation stuff. -Added an executeCommand function in goo/gfile.cc. [Thanks to Mikhail - Kruk.] -The %ALDImagePosition OPI comment was wrong if the page was scaled to - a different paper size. -The OPI code was saving the default transform matrix before calling - setpagedevice, which can change the matrix. -Fixed a crash when an inline image dictionary contains garbage. -Upgraded to autoconf 2.53. -Use unsigned int file offsets, to allow access to PDF files in the 2-4 - GB size range; use fseek64/ftell64 if available. -Fixed two floating point exception cases that came up with broken PDF - files. -Avoid a crash when printing an error message regarding an unnamed - font. -Default link border width should be 1. [Thanks to Michael Pfeiffer.] -Minor tweak to build with FreeType 2.1.0. -Handle "weird" characters in PostScript font names. -PSOutputDev now handles PostScript XObjects. -Added several more page attributes for the pdftex project. -Transferred the copyright to Glyph & Cog, LLC. - -2.00 (2002-nov-04) ------------------- -Switched to the Motif toolkit. -Support multiple open documents (in separate windows). -Added document outlines to the viewer. -Modified the text extraction (placement) algorithm. -Implemented the JBIG2 decoder. -Added a Latin2 language support package. -Added support for movie annotations. -Switched back to native LZW decompression code. -Text extraction from Type 3 fonts was (partly) broken. -The owner password checking code was missing a step in the case of - 128-bit encryption. -Added the 'printCommands' option to the xpdfrc file. -Added key binding for '?' to bring up the about/help dialog. -In TextOutputDev, ignore any text that's outside the page bounding - box. -Text extraction throws away "tiny" characters after the first 20000 - per page, to avoid really slow runtimes with PDF files that use - special fonts to do shading or cross-hatching; added the - 'textKeepTinyChars' option to disable this behavior. -Text extraction discards duplicated text (fake boldface, shadow - effects). -Added ctrl-F as a key binding for find. -Added a "find next" function, bound to ctrl-G. -Added ctrl-P as a key binding for print. -Modified the DCT decoder to handle progressive and non-interleaved - JPEG streams. -Added key bindings for ctrl-Home and ctrl-End. -Allow the initialZoom setting to be made in either the xpdfrc file or - as an X resource. -Added a Hebrew language support package. [Thanks to Roy Arav.] -The "make distclean" target now creates (empty) Makefile.dep files in - the three subdirectories. -Initialize XRef::ownerPasswordOk. -Correctly handle stroking of Type 3 fonts in PSOutputDev. -Generate correct PostScript for fonts with "weird" character names - (e.g., "("). -Generate correct PostScript for images using Indexed color spaces with - DeviceN base color spaces. -Added lowercase Roman numerals to ISO-2022-CN.unicodeMap (simplified - Chinese support package). -Tweak the image scaling code to better handle flipped (top-bottom - and/or left-right) images. -Generate correct PostScript code for inline images and images in Type - 3 fonts which are too large for a single PS string. -Correctly handle indexed color spaces whose base color spaces have - component ranges other than [0,1]. -Optimized the DCT decoder. -Fixed mistakes in the list of key bindings in the about/help dialog. -Optimized the Flate decoder. -Add literal names for punctuation and digits to the Unicode name - table. -Cygwin's popen wants mode "r", not "rb". -Fixed a bug in the Type 4 function parser (the "if" operator wasn't - parsed correctly). -Fix a bug in PS output for TrueType fonts with no PDF encoding. -Make the bbox size in FTFont more liberal (to avoid problems with - fonts that have incorrect bboxes). -Reverse the colors in PBM files generated by pdfimages, so the common - case (an image mask filled with black) comes out correct. -Add fseeko/ftello support which is basically identical to - fseek64/ftell64. [Thanks to Nassib Nassar.] -Modified column assignment in text extractor to account for characters - that convert to multiple characters in the output encoding. -Fix TrueType fonts which have an incorrect cmap table length. -Work around a pragma bug in the version of gcc that ships with MacOS X - 10.2. [Thanks to Frank Siegert and Andrew Stone.] -Fix a problem that was causing an infinite loop when a damaged content - stream contains an 'ID' command inside a dictionary. -Handle the case where systempapername() returns NULL (libpaper - support). -Handle fonts which are defined directly in the font resource - dictionary rather than as separate objects. -Track process colors in Level 1 separable PostScript. -Pdfinfo now checks the return value from mktime to avoid seg faults in - flakey strftime implementations. -If duplex is not enabled in PostScript output, leave the duplex - setting alone, allowing the spooler to insert its own setting. -Added three missing fclose calls. -Change the default encoding for TrueType fonts (used when the PDF file - doesn't specify an encoding) from MacRomanEncoding to - WinAnsiEncoding. -Move X_CFLAGS to the end of the list in CXXFLAGS (in Makefile.in) to - avoid some of the FreeType2 include path problems. -Fixed an obscure bug in the LZW decoder. [Thanks to Martin - Schroeder.] -Fixed a bug in decryption when using the newer (PDF 1.4) algorithm - with shorter-than-128-bit keys. -Minor optimization for image data streams: the ImageStream class can - return an entire buffered line. - -2.01 (2002-dec-05) ------------------- -Redesigned the text extraction process: - - process the text into "reading order" - - added a "-layout" flag to pdftotext to switch back to the old - style, where physical layout is maintained - - use of the "-raw" flag is no longer recommended -Added the -reload option for xpdf (in remote mode). -Added support for external CID fonts; added the displayCIDFontT1 and - displayNamedCIDFontT1 commands to the xpdfrc file. -Handle the case of moveto/newpath/clip, which defines an empty - clipping region (just like moveto/closepath/clip). -Accept XYZ link destinations with missing array elements. -Fix some problems with state save/restore triggered by Type 3 fonts - that reference other fonts. -Accept bogus font names based on "Symbol": Symbol,{Bold,Italic, - BoldItalic}. -Fixed color and font resource names in the xpdf man page. -Was using delete instead of gfree in OutlineItem::~OutlineItem. -Set the busy cursor in the find dialog while searching. -Map variants of the copyright, trademark, and registered trademark - symbols to the proper Unicode codes, not to Adobe's corporate use - area codes. -Fixed a floating point exception bug in TextOutputDev (check for a - too-small denominator). -Fixed a typo in TextOutputDev, in the code that generating blank lines - to add vertical whitespace. -Config files whose last line didn't end with a LF (or CR+LF) weren't - being handled correctly. -The code that handled CIDToGIDMaps in Type 2 CIDFonts was broken. -Check the per-glyph bounding box in Type 3 fonts, and don't try to - cache glyphs with bogus bboxes. -Allow ToUnicode CMaps to use fewer than four hex digits in the Unicode - char indexes. -Added multithreading protection to the GlobalParams class. -Fixed a bug in end-of-stream detection with the TIFF predictor. -Added some characters to MacRomanEncoding to match up with Apple's - definition. - -2.02 (2003-mar-24) ------------------- -Rewrote the text extractor code that assembles words into lines to - better handle vertically overlapping lines. -Add the "match" option for paper size (in PostScript output). -Added support for external 16-bit TrueType fonts; added the - displayCIDFontTT and displayNamedCIDFontTT commands to the xpdfrc - file. -Added an Arabic language support package. -Added the Windows-1255 encoding to the Hebrew language package. -A missing NULL check was causing a crash when closing the file in a - single window (which clears out the window, but leaves it open). -Deal with TrueType fonts whose glyph data is out of order - this - affected both FreeType rasterization and PostScript generation. -Munge font names in PSOutputDev to avoid names that are problematic - for ghostscript because they start with an out-of-limits number - (e.g., 1e999foo). -Modify the TrueType font encoding deciphering algorithm in yet another - attempt to match up with Acrobat's behavior. -Bounds check the indexHigh value in indexed color spaces. -The text extractor no longer bothers trying to get an average - character width for Type 3 fonts, since it generally doesn't work - very well (because Type 3 metrics are unreliable). -Don't crash if the user hits ctrl-G ("find again") before doing a - find. -Set the button pixmap foreground color correctly. -Handle text drawn backward on 180 degree rotated pages. -Added a magic call to XtUngrabButton after calling XmCreatePopupMenu - which appears to prevent some very odd problems (idea taken from the - DDD source code). -Fix the MacOS X fix (needed to include <AvailabilityMacros.h>). -Fixed a bunch of Motif 1.x / X11R5 incompatibilities. [Thanks to - William Bader and Albert Chin-A-Young.] -Fixed various bugs in previously untested code in the JBIG2 decoder. -Modify the XPDFCore destructor to avoid a bogus warning message from - OpenMotif 2.2. -Modified the Type 1C font parser to do proper bounds checking. -Fixed the bounds checking in the TrueType font parser. -Text extractor shouldn't do block merging in physical layout mode. -Fixed a problem in PSOutputDev in level2sep mode with images in a - Separation color space and with a non-default Decode array. -Text extraction with "-raw" was concatenating lines from the bottom of - one column and the top of the next. -Handle Type 1C subroutines in the font converters. -Correctly handle progressive JPEG images whose scans are slightly - different sizes (e.g., the Y scan rounds up to a multiple of 8 - pixels and the Cb/Cr scans round up to 16 pixels). -Avoid a potential divide-by-zero problem in TextOutputDev. -Modified the T1Font and FTFont modules to correctly handle glyphs that - are larger than the font's claimed bounding box. -Tweak dupMaxDeltaX parameter in TextOutputDev to avoid triggering on - double characters. -Improved detection in pdfinfo for ISO paper sizes. [Thanks to Hartmut - Henkel.] -Xpdf wasn't responding to the TARGETS atom, which prevented pasting - the selection into various applications. [Thanks to Phillip Ezolt.] -Handle XObjects with recursive references in their Resources - dictionaries (in PSOutputDev). -Change PSOutputDev to deal with invalid PDF files that use - non-embedded TrueType fonts with no encoding. -Check for undersized Widths arrays in fonts. -Add bounds checking code to Array class. -Updated VMS build scripts. [Thanks to Martin Zinser.] -Tweak the TrueType font handling code (again): - - char codes in symbolic fonts may or may not be offset by 0xf000 - - discard empty tables because they sometimes confuse FreeType -Fixed bounds checking in the Flate decoder. -Removed a bogus error message for exponential functions without - explicit C0/C1 values. [Thanks to Hartmut Henkel.] -Handle the other Unicode cmap type (platform=0) in TrueType fonts. -Added support for the SGI Motif horizontal paned window widget. - [Thanks to Felix Ritter.] -Ignore extra elements in link destination arrays. -Accept external Type 1 font files with a suffix of ".ps" or no suffix - at all. -Add a bounds check in the DCT decoder. -Added instructions for building xpdf.exe under cygwin/XFree86. -Tweaked the word separation parameter for raw-mode text extraction. - -2.03 (2003-oct-10) ------------------- -Rewrote the text extractor to: - - do a better job with rotated text; - - handle right-to-left scripts; - - be faster. -Changed the zoom setting to use a percentage (relative to 72 dpi) - instead of a zoom "factor". -If the PDF file has an outline, open the outline pane initially. -Added -f and -l options to pdfinfo; print multiple page sizes. -The HAVE_XTAPPSETEXITFLAG test in XPDFApp.cc was backwards. -The BitsPerComponent entry is optional in image mask objects. -Render any annotation with an appearance stream, instead of just - Widget and Stamp annotations. -Fix a bug in the TrueType font checker: the test for an unsorted - 'loca' table was wrong. -Modify the TrueType cmap selection algorithm yet again to try to match - Adobe's behavior. -Changed sqrt(2) to sqrt(2.0) in pdfinfo.cc to make various compilers - happy. -Fixed a deadlock problem (when MULTITHREADING is set); cleaned up some - other problems with the locking code. -Fixed a bug in the interpolation code for type 0 (sampled) functions. -Implemented type 1 (function-based) shaded fills. -Fixed some stupid bugs in the JBIG2 decoder (introduced with the - previous optimization work). -Fixed a typo in the code that parses vertical font metrics for CID - fonts that was causing a seg fault. -Fixed a couple of bugs that were causing seg faults with badly damaged - PDF files. -Limit the number of nested Forms to avoid infinite recursion (in buggy - PDF files). -Add a special case for rectangular clip regions - make sure these - don't drop pixels on the right and bottom edges. -Tell FreeType not to use glyph bitmaps when in anti-aliased mode. -Read all of the border style info for links. -All of the shaded fill types now do at least one bisection to avoid - problems when the colors at the endpoints of the domain are the - same. -If the Length2 parameter for an embedded Type 1 font was incorrect - (too small), pdftops was losing font data. -Deal with (broken) DCT streams that use the same component ID number - for different components. -The MediaBox page attribute was not being inherited correctly. -Fixed a bug in the Type 1C font converter related to local - subroutines. -The Type 1C -> Type 1 font converter was allocating the font dictionary - one slot too small. -Added a missing private dictionary entry to Type 1 fonts generated by - the Type 1C converter. [Thanks to Michael Shell.] -Fixed bugs in the tiling pattern fill code. -Try the TrueType 0xf000 char code offset hack for the MacRoman - encoding too (in addition to MS Symbol). -Update the font metrics info for the Base 14 fonts to include the Euro - character. -SECURITY HOLE: Escape various characters in URLs before running a web - browser (or movie viewer). [Fixed in 2.02p11] -SECURITY HOLE: In the dialog used to verify "launch" links, provide a - scrolling view if the command to be run is excessively long. [Fixed - in 2.02p11] -Added an option to disable insertion of page breaks (form feed - characters) in extracted text (pdftotext -nopgbrk; xpdfrc - "textPageBreaks" option). -Check for 8-bit fonts that specify an out-of-range FirstChar or - LastChar. -Correctly handle an obsolete Type 2 charstring op (in the Type - 1C-to-Type 1 font converter). [Thanks to Helge Blischke.] -Use the font encoding info to fill in holes in the ToUnicode map. -Added character names for Bulgarian (in the Cyrillic support pacakage) - and Greek. -Handle clipping to text in xpdf and pdftops. -Fix color space detection in DCT decoder. [Thanks to Dwight Kelly.] -Added the "unicodeToUnicode" xpdfrc option, intended (initially) for - Arabic support. -Handle the case in PSOutputDev where two font objects refer to the - same embedded TrueType font, but with different encodings. [Thanks - to Frank Siegert.] -Kill any pre-existing path before drawing a form (or annotation). -Save state before rendering page content; restore state afterward. -Fix Stream::reset/close to work correctly with encoder streams; fix - PSOutputDev to use Stream::close consistently. -Fix a seg fault when hitting the 'back' button after closing a file. -GfxState::getStrokeGray was returning the fill gray value (this only - affected Level 1 PS output). -Change PSOutputDev to reuse dictionaries in Level 1 mode (since Level - 1 PS interpreters don't do garbage collection). [Thanks to Frank - Siegert.] -PSOutputDev was generating incorrect translations for landscape-mode - pages. -Implemented shading pattern color spaces. -PSOutputDev wasn't correctly handling Type 3 fonts which used image - resources (as opposed to inline images). [Thanks to Frank Siegert.] -The fix from 1.00 which clipped out-of-bounds points was a bit too - aggressive. -Do proper Floyd-Steinberg dithering in XOutputDev. -Don't automatically check for a null owner password (to match Adobe's - behavior). -Allow the FlateDecode filter in Level 3 PostScript output. -Fixed small bugs in the Type 1C -> Type 1 converter and Type 1C -> - Type 0 converter. [Thanks to Tom Kacvinsky.] -Work around another weird Motif problem with the right button menu - (which was sometimes causing the menu to not be displayed). -Make the code that handles fonts defined directly in the resource dict - more robust. -Add a brief description of the outline pane to the xpdf man page. -Ignore extra operands to content stream operators. -Fixed a bug in the CCITTFax decoder. -Allow the Count entry in a Pages dictionary to be a real number - (because some PDF generators actually do this). -Shading pattern fills weren't being clipped correctly. -Incorrect shallow copies in GfxRadialShading and StitchingFunction. -The StitchingFunction destructor wasn't checking for funcs being - NULL. -Change the TrueType code-to-GID mapping code so it looks at the - TrueType 'post' table. -Set the print command in the print dialog once at startup, don't - change it each time a file is (re)loaded. -Generate the %%BoundingBox comment in regular PostScript files (not - just EPS files). -Fixed a bug in the Unicode CMap parser. - -3.00 (2004-jan-22) ------------------- -New PDF rasterizer ("Splash"). -Added support for PDF 1.5: - - JPX (JPEG 2000) decoder - - XRef streams - - object streams - - DeviceN color spaces with up to 32 components - - Added new CMaps to the CJK language support packages -Replaced pdftopbm with pdftoppm (which can generate PBM, PGM, and PPM - files). -Reorganized the font file parser code into a new library ("Fofi"). -Removed support for FreeType 1.x. -Removed support for X server fonts - Xpdf (and pdftoppm) will now - search for the URW fonts (from ghostscript). -Changed the "-t1lib" and "-freetype" switches; replaced the - "t1libControl" and "freetypeControl" config file options with - "enableT1lib", "enableFreeType", and "antialias". -Added the "-box" option to pdfinfo. -Added imageable area support to PSOutputDev (for CUPS); added the - "psImageableArea" config file option. -Added the "-nocrop", "-expand", "-noshrink", and "-nocenter" switches - to pdftops; added the "psCrop", "psExpandSmaller", "psShrinkLarger", - and "psCenter" config file options. -Dictionary size was in PostScript code generated for Type 3 fonts. -The PS code generated for images in Type 3 characters was broken. -Tweaked the text extractor. -Accept xref entries that are one byte too short (matching Adobe's - behavior). -Change things so "xpdf -h" and "xpdf -v" work if DISPLAY isn't set. -Fix a problem in the damaged file repair code that handles the trailer - dictionary. -Use the "Last" entries in "Outlines" objects - this avoids a problem - with PDF files generated by buggy software that, e.g., sets the last - item's Next pointer to point to itself. -PSOutputDev was not handling DeviceN color spaces correctly in Level 2 - images. -Fixed a stupid little bug that broke PS output for JBIG2 images. -Work around a Lesstif bug: set up an extra callback so hitting <Enter> - in the find dialog performs a search. [Thanks to Elliott Hughes.] -Pdftops was crashing on zero page PDF files. -Add an AC_PREREQ call to configure.in. -Change the 'find' dialog so the text entry box resizes with the - dialog. -Skip extraneous zero bits at the start of a CCITTFax stream. -The PostScript text clipping operator was missing a 'newpath'. - [Thanks to Frank Siegert.] -Fix a bug in tiling patterns with bboxes that don't start at (0,0). -Fix a bug in Type 3 font handling with rotated text. -The tiled pattern fill code was destroying the current path, which - broke the fill+stroke operators when the fill color space was a - tiled pattern. -ICCBased color spaces don't always set their Ranges values correctly, - so just use the values from the alternate color space. -Modified GHash to accept int or void* - this avoids some conversion - warnings. -Check for missing Type 3 CharProcs - avoid a segfault. -Pdffonts now marks all Type 3 fonts as embedded. -Outline entries with no Title string weren't being handled correctly, - resulting in segfaults. -PSOutputDev now forces the text horizontal scale factor to be non-zero - to avoid singular font matrices in the PS code. -Tweaked the error recovery in the CCITTFax decoder. -The LZW/Flate predictor should treat any Predictor value (in the - stream dictionary) >= 10 identically. -PSOutputDev and pdffonts check for NULL font objects (which can - happen, e.g., because of missing CMap files). -Swap the left and right mouse wheel button numbers. -EPS output ("pdftops -eps") now uses the CropBox instead of the - MediaBox as the EPS bounding box. - -3.01 (2005-aug-17) ------------------- -Added the continuous view mode, including the '-cont' switch and the - 'continuousView' config file option. -At high zoom levels, don't rasterize the entire page - this avoids - problems running out of memory. -Added "search backward" and "match case" options to the find dialog. -Support explicitly masked images and soft masked images. -Add support to DCTStream for 16-bit quant tables. -Don't segfault if the user clicks on an outline entry with a broken - destination. -Changed the makefiles and configure script to skip building pdftoppm - (in addition to xpdf) if X, Motif, or FreeType is not found; changed - the error message in the configure script to match. -Move an inline function in JArithmeticDecoder.cc to avoid compiler - errors. -Fixed a bug in the rasterizer that was sometimes causing infinite - loops with round line caps on vertical lines. -Various rasterizer optimizations. -Look for intermediate resize events - try to avoid lagging when the - user is doing an opaque resize. -The FormType key in Form XObjects is optional. -Handle external 16-bit TrueType fonts correctly, using the Unicode - cmap. -Add class declarations to TextOutputDev.h to work with stricter C++ - compilers. -Support FreeType's weird include file stuff (ft2build.h, etc.). -Fixed a bug handling empty paths. -Fixed a text positioning problem in PostScript output. -Handle TrueType collections in FoFiTrueType.cc. -FoFiTrueType constructor was reporting a failure if the post table was - bad - this should be non-fatal. -Type 1 font parser was missing a NULL test. -Mask chars passed to isdigit in goo/parseargs.c to avoid problems with - signed chars. -Added more error checking to the CCITTFax decoder. -Fixed a bug (computing the MCU size) in the DCT decoder. -Change a test in the Splash stroke code to avoid x86 floating point - weirdness. -Reorganized the decryption code to allow security handler plugins; - removed the NO_DECRYPTION #ifdefs. -Added a plugin interface, initially just for security handlers. -Support color key masked images and explicitly masked images in PS - output (Level 2 only). -When checking for aliases of the Base 14 fonts, ignore spaces in the - specified font name. -Handle encrypted PDF files that are missing the file ID string. -Handle tiling patterns more efficiently in the PostScript output. -Rewrote the code that handles color spaces in PostScript output. -Fixed a bug in the Type 1C font parser - zero-length indexes (and - zero-length names) weren't handled correctly. -Handle shaded fills more efficiently in the PostScript output. -Implement the remaining shading types (4-7). -Rearranged the Splash color modes. -Add the EarlyChange parameter to LZWStream when generating PostScript. -Check for zero values in line dash arrays in PSOutputDev. -Fixed an uninitialized variable in JArithmeticDecoder which was - causing crashes. -Treat unknown CMap names as identity mappings (to match Adobe's - behavior). -Fixed bugs in the XRef parser related to XRef streams in updated - files. -Added a missing call to FT_Done_Glyph which was causing a memory leak. - [Thanks to Dave Formanek.] -Fixed a bug in text copying that was causing the last word to be - dropped on some pages. -Tweaked the image width/height computation in Splash::drawImage and - Splash::fillImageMask to make striped images work better. -Ignore minus signs in the middle of numbers (to match Adobe's - behavior). -Missing '%s' in format strings for dates in pdftotext '-htmlmeta' - mode. -Change the TrueType code-to-GID mapping code so it looks at the - standard name-to-Unicode mapping before the ToUnicode mapping - defined in the font object. -Added a matteColor setting (command line option and X resource). -Tweaked the CMYK->RGB transform. -Fix some problems in tracking the character position (to match up with - Adobe's highlight file format). -Handle moveto/closepath/stroke correctly. -Check for singular text matrices and font size of zero in PSOutputDev. -Clip PS output to the size of the page (avoiding any gibberish that - lies outside the MediaBox, in the case where the MediaBox is smaller - than the paper). -If the line dash element in an annotation's Border array is of an - invalid type (i.e., not an array), don't draw the link at all (this - matches Adobe's behavior). -Don't remap small caps and oldstyle glyphs in the name-to-Unicode - table - it messes up TrueType font encodings. -Pdftoppm wasn't setting the paper color correctly in mono and gray - modes (this only showed up on big-endian machines). -Missing NULL check was causing crashes when attempting to read non-PDF - files that happened to contain the string '%PDF'. -Fixed a problem in the text extractor that was breaking up words. -Handle vertical text (CJK fonts) in PS output with TrueType fonts that - are missing the vertical metrics tables. -Handle the case where a font object and the corresponding embedded - font are different types. -Handle basic crypt filter functionality. -Added more value checking in the XRef parser, to avoid potential - security problems. -Updated the CJK language support packages: replaced the - displayCIDFontX references with displayCIDFontTT; added pointers to - free TrueType fonts. -Added a missing error message when SplashOutputDev can't parse an - embedded TrueType font file. -PDFCore and TextOutputDev now correctly handle searching for Unicode - strings, including real Unicode case-folding. -Throw away tiling pattern fills that are completely outside the clip - region. -The JPEG 2000 inverse reversible multiple component transform code was - wrong. -Fixed some bugs in shading pattern fills: clipping was wrong, and - background color was not implemented. -Added tool tips for the toolbar buttons. -Decrease the max depth of recursive patch mesh filling if the pattern - has a large number of patches. -Highlight the find text whenever the find dialog is mapped. -Handle page boundary boxes with reversed coordinates. -Fixed a bug in the text extractor code that handles duplicated text. -Optimization work on SampledFunction::transform(). -Use the CropBox instead of the MediaBox as the display region. -Dither for PseudoColor (8-bit) displays. -Fix a bug in DCTStream that was causing an infinite loop with - corrupted DCT image data. -Fix a bug in the ToUnicode CMap parser. -Fix a bug in the text extractor - negative font sizes weren't being - handled correctly. -Fix a bug in the text extractor - in certain cases, out-of-bounds text - could cause crashes (generally only in damaged PDF files). -Fix a read-past-end-of-array bug in the JBIG2 decoder. -Fix a case where pdftops was generating lines longer than 255 chars. -Optimize redraws - don't regenerate the XImage every time redrawRect - is called. -The ASCII85 decoder wasn't skipping whitespace properly. -Optimize text extraction: skip (non-inline) image setup entirely. -Added initial transparency support (stroke/fill alpha and blend mode). -Added support for the overprint setting in PostScript output. -Fixed various buffer overflow bugs. -Handle negative font sizes and horizontal scaling correctly - this - affected PSOutputDev for all text operators, as well as the TJ - operator for all OutputDevs. -Fixed a buffer overflow in the CCITTFax decoder. -Fixed an out-of-order entry in the list of font name aliases. -Fixed a backward loop in the PostScriptFunction code. -Treat a zero-length base URI the same way as a nonexistent base URI. -Add a divide-by-zero check in TextOutputDev (the problem was happening - in cases of mixed horizontal and vertical text). -PSOutputDev wasn't rounding the page bounding box coordinates - correctly. -Support the SOF1 marker in DCT (JPEG) image streams. -Minor changes to GlobalParams.h and JPXStream.h because some compilers - don't like anonymous structs inside anonymous unions. -Xpdf now complains about a negative page number. -Changed GString::cmp and GString::cmpN to correctly handle '\0' chars - in the middle of strings. -Fixed the radial shading code; corrected the handling of the 'extend' - parameters. -Added the gmallocn and greallocn functions. -Fixed a bug in the TIFF image component predictor which shows up with - components that are not 1 or 8 bits wide. -Optimized FlateStream::loadFixedCodes(). -For non-embedded Base-14 fonts, don't use the ascent/descent/bbox - values from the FontDescriptor - various PDF generators get them - wrong. -Fixed a bug in the text extractor - words on the same line (especially - in tables) were being split vertically onto multiple lines. -Automatically select the correct radio button ("print with command" - vs. "print to file") in the print dialog. -Don't create the "open" and "save as" dialogs until needed - this - avoids stat-ing every file in the directory at startup. -Changed the Big5 and Big5ascii encodings (in the traditional Chinese - language support package) to include characters from the Unicode - database (which aren't mentioned in the Adobe character collection - documentation). -Added the '-pagecrop' switch to pdftops. -Tweaked the RGB->gray and CMYK->gray conversion functions to match the - PDF spec. -The JPEG 2000 decoder wasn't correctly handling codeblocks split - across multiple packets/layers. -Fixed a typecast that caused compile errors on 64-bit systems. -The CMap parser wasn't handling the 'cidchar' construct. -Handle the case in PSOutputDev where two font objects refer to the - same embedded 16-bit TrueType font, but with different CIDToGIDMaps. -Changed the configure script to report more accurate warnings when - it can't find X / Motif / FreeType. -Encryption with revision=2 always uses a 40-bit key, regardless of the - specified Length value. -Yet another minor change to the TrueType font encoding deciphering - algorithm. -Don't completely invalidate the Catalog if one (or more) of the page - objects are bogus -- just skip over those pages. -Removed the workaround in pdftops for too-small Length2 values in Type - 1 fonts -- it was causing problems on various PostScript printers. -Started adding error checking to the JBIG2 decoder (this is nowhere - near complete yet). -Extended the "unicodeToUnicode" config option to also apply to CID - fonts. -Added the narrow Latin characters to the Adobe-Korea1.cidToUnicode - file in the Korean language support package. -Fixed the code that handles page rotation in PSOutputDev. -When converting a Type 1C glyph to a Type 1 glyph, insert closepath - operators as appropriate. -Check for a sane 'loca' table in TrueType fonts (FoFiTrueType::parse). -Fix PSOutputDev to correctly handle the case of an empty name in a - font encoding. - -3.02 (2007-feb-27) ------------------- -Added anti-aliasing for vector graphics; added the vectorAntialias - xpdfrc option; added the "-aaVector" switch to xpdf and pdftoppm. -Implemented stroke adjustment (always enabled by default, ignoring the - SA parameter, to match Adobe's behavior), and added the strokeAdjust - xpdfrc command. -Support PDF 1.6 and PDF 1.7. -Added support for AES decryption. -Added support for OpenType fonts (only tested with 8-bit CFF data so - far). -Added user-configurable key/mouse bindings - the bind/unbind xpdfrc - commands. -Cleaned up the full-screen mode code and added the ability to toggle - it on the fly (the default key binding is alt-f). -Pdfimages with the -j option now writes JPEG files for 1-component - (grayscale) DCT images, in addition to 3-component (RGB) images. -Fixed bugs in handling sampled (type 0) functions with 32-bit - samples. -Fixed some things to support DeviceN color spaces with up to 32 - colorants. -Pdftops now constructs the %%Creator and %%Title DSC comments from the - relevant information in the PDF Info dictionary. -Tweak the TrueType font encoding deciphering algorithm. -Added the "mapUnkownCharNames" xpdfrc option. -Fix a bug (that only showed up with certain window managers) in the - intermediate resize event optimization. [Thanks to Michael Rogers.] -Check for a broken/missing embedded font (this was causing xpdf to - crash). -Added support for transfer functions in PostScript output. -Be a bit more tolerant of Link destinations that contain null values - for positioning parameters. -Use ordered dot dithering instead of clustered dot dithering at - resolutions below 300 dpi (for monochrome output). -Fixed security holes (bounds checking issues) in several places. -Don't bother creating a SplashFont (allocating memory) for fonts that - are only used for hidden text - this avoids problems with fonts of - unreasonably large sizes. -Clipping in TextOutputDev was off for characters on the left edge of - the page. -The scn and SCN operators weren't correctly handling colors with more - than four components. -FoFiType1::writeEncoded wasn't always correctly finding the end of the - encoding. -Use the ColorTransform parameter in the DCTDecode stream dictionary. -Type 3 fonts are allowed to have a bbox of [0 0 0 0], which means - "unspecified" -- don't issue error messages in that case. -Perform the transform (to device space) in Splash instead of in - SplashOutputDev -- this is needed to correctly handle round joins - and caps on stroked paths. -PSOutputDev now rasterizes any pages that use transparency. -Limit the crop, bleed, trim, and art boxes to the edges of the media - box (per the PDF spec). -Change GString to increase the allocation increment by powers of two. -Handle whitespace in hex strings in CMap files/streams. -Use strings instead of names for separation colorant names in - PSOutputDev. -For explicitly masked images where the mask is higher resolution than - the image, use the soft mask code. -Avoid problems with very large x-steps in the PostScript output for - tiling pattern fills. -Avoid a divide-by-zero in stitching functions which have a subfunction - with empty bounds. -Honor the "Hidden", "NoView", and "Print" flags on annotations. -Rewrote the pixel rendering code in Splash to use a single set of - pixel pipeline functions. -Added support for transparency groups and soft masks. -Fixed the transparency blend functions to match the addendum published - by Adobe. -Changed Splash/SplashBitmap to store alpha in a separate plane. -Setting the color space now selects the correct default color for that - color space. -Remove the mutex lock from GlobalParams::getErrQuiet() to avoid a - deadlock when parseCIDToUnicode() or parseUnicodeToUnicode() calls - it from inside a locked section. -Added error checking (on the argument count) in the sc/SC/scn/SCN - operators. -Skip over notdef glyphs in TrueType fonts (which sometimes get drawn - as little boxes), to match Adobe's behavior. -Painting operations in a Separation color space with the "None" - colorant or a DeviceN color space with all colorants set to "None" - never mark the page. -Fixed an obscure bug in the JPX decoder - it wasn't reading the extra - stuffing byte in the case where the last byte of a packet header was - 0xff. -Change the TrueType font parser (FoFiTrueType) to change the glyph - count rather than report an error if the 'loca' table is too small. -Fixed a couple of bugs in the JBIG2 decoder. -Added stochastic clustered dot dithering. -Added the screenType, screenSize, screenDotRadius, screenGamma, - screenBlackThreshold, and screenWhiteThreshold xpdfrc settings. -PSOutputDev now correctly handles invalid Type 3 charprocs which don't - start with a d0 or d1 operator -FreeType 2.2.x support - get rid of the FT_INTERNAL_OBJECTS_H include, - and add some 'const' declarations. -Handle PDFDocEncoding in Info dictionary strings. -Tweak the xref repair code - ignore whitespace at the start of lines - when looking for objects. -Added the "-exec" switch to xpdf. -Removed the xpdf.viKeys X resource. -Changed the color key / explicit masked image code in PSOutputDev to - generate better PS code, including a Level 3 option. -Tweaked the DEBUG_MEM code for performance. -Move the JBIG2 global stream reading code into reset() instead of the - constructor - this way, pdftotext doesn't end up reading the global - stream. -Added the "-preload" option to pdftops and the psPreload xpdfrc - command. -Added the "zoom to selection" command (on the popup menu). -Fix a bug (in xpdf/pdftoppm/pdftops) with tiling patterns whose bbox - size is different from their xStep/yStep. -Implemented stroke with pattern color spaces. -Following a link to a page whose CropBox was different from the - MediaBox was resulting in an incorrect scroll position. -Parse truncated date strings from the Info dictionary correctly. -Change FoFiType1 to handle Type 1 fonts with two /Encoding keys. -Extend the PSOutputDev shaded fill code to handle DeviceCMYK shaded - fills in level2sep and level3sep modes. -Detect infinite loops in the Page tree. -Optimized the ASCII85Encoder code. -Tweaked the text extractor to do a better job of lining up rows of - text. -Leave images compressed (or re-compress them with RLE) in PostScript - output when setting up images for forms and Type 3 fonts (or with - -preload). -Extend FoFiType1 to handle Type 1 fonts with octal character codes in - their encodings. -Use a custom string formatter to avoid problems with locale-based decimal - formatting (commas instead of periods) in PS output. -Allow comments in PostScript-type functions. -Change the TrueType font parser (FoFiTrueType) to delete glyf table - entries that are too short. - -3.03 (2011-aug-15) ------------------- -Added the "fixed pitch" text extraction mode. -Modified "pdftops -paper match" to handle PDF files with - different-sized pages, i.e., it will now select the matching paper - size on a page-by-page basis. -Add ability for pdftoppm to write to stdout. -Added the pdfdetach tool. -Implemented 256-bit AES decryption. -Commented out the t1lib section in the configure script -- t1lib has - some potential security holes, and hasn't been updated in years. -Redesigned the font configuration xpdfrc commands: removed the - displayFontT1, displayFontTT, displayNamedCIDFontT1, - displayCIDFontT1, displayNamedCIDFontTT, displayCIDFontTT, psFont, - psNamedFont16, and psFont16 commands; added the fontFile, - fontFileCC, psResidentFont, psResidentFont16, and psResidentFontCC - commands. -Switched from GPLv2 to dual v2/v3 licensing. -Performance: cache tiling patterns. -Implemented text fills with pattern color spaces. -Rewrote the image and image mask rendering code to be more accurate - and faster. -Fixed a bug in PDFCore that could sometimes cause crashes at high zoom - levels. -Implemented embedded CMap streams. -Added the 'setSelection' command. -Added the 'rotateCCW' and 'rotateCW' commands. -Added the 'psFontPassthrough' xpdfrc command. -Added the 'launchCommand' xpdfrc command. -Implemented alpha-type soft masks. -Added "Form: AcroForm|XFA|none" to pdfinfo output. -Added support for image masks filled with pattern color spaces. -Text search wasn't finding all occurrences of a string on rotated pages - (i.e., pages where the primary rotation, as displayed, was not - horizontal). -The text extractor now uses "ActualText" spans if they are present. -Modified PSOutputDev so it always check for transparency; if Splash is - not available, it now prints a warning. -Handle the blending color space for soft masks. -Added the disableFreeTypeHinting xpdfrc option. -Added the psAlwaysRasterize xpdfrc option. -Added support for transfer functions in the rasterizer. -Optimized the JPEG 2000 decoder to use less memory. -Do fill adjustment (similar to stroke adjustment) on simple - rectangular fills. -Added the antialiasPrinting xpdfrc setting. -Added '%i', '%j', and '%k' (mouse pointer page and position) to the - available options for the 'run' command. -Links with the underlined border style were being drawn with the lines - over, instead of under, the text. -Add #include <aconf.h> to XPDFTree.cc (to avoid problems with certain - compilers). -Change XRef::fetch() to avoid infinite loops caused by odd damage to - the xref table (e.g., where a stream object's "Length" value is an - indirect reference that points to another stream object). -Minor fix in GString.cc to deal with an error in newer C++ compilers - (pow() can take int or double args). -Handle embedded fonts which are declared with the wrong font type, - including 8-bit fonts declared as CID fonts and vice versa; this - was causing various problems, including crashes and invalid - PostScript output. -In text extractor, don't drop horizontally overlapping words onto a - separate line. -The numbers in the operand to the TJ operator should be multiplied by - the current horizontal scaling parameter. -Fixed a bug in the Type 1C-to-Type 1 font converter -- need to escape - strings in the font dictionary. -The zero-font-size check in PSOutputDev.cc was broken. -Fixes for the form field appearance regeneration code: handle Unicode - strings (by downconverting to Latin1); check for "True" in addition - to "Yes" as a button value. -Modify XPDFTree to limit the widget height to 32767 pixels -- this - avoids crashes with very large outlines. -Modify FoFiType1 to handle PFB headers in Type 1 font files. -Allow image mask decode arrays to be [1.0 0.0] in addition to [1 0]. -Tweak the form field appearance regeneration code. -PSOutputDev now sets up resources for DR dictionaries in forms (in - case the form field appearances are regenerated). -For TrueType fonts which are marked symbolic, the cmaps should be - ignored. -Change the handling of numeric characters in Unicode text output -- - they are now treated as left-to-right, which isn't strictly correct, - but does result in correct visual formatting. -Modify FoFiTrueType to handle bogus loca table entries where the - offset is past the end of the glyf table. -Fixed shading pattern fills to do clipping and background fills - correctly. -Change the code that reads the page tree to be more flexible with - regard to improperly constructed trees. -Changed the PostScript header comment from "Produced by xpdf/pdftops - x.yy" to "XpdfVersion: x.yy" to make it (mostly) DSC-compliant. -Fixed PSOutputDev to handle page rotation correctly where the PDF page - is rotated 90 or 270 degrees and the page width (before rotation) is - greater than its height (and vice versa for 0 or 180 degrees). -Unbalanced save/restores inside form XObjects (which can be happen in - damaged or incorrectly constructed PDF files) could cause crashes. -The CCITTFax decoder could go into an infinite loop on certain types - of corrupt input. -Added the "drawAnnotations" xpdfrc command. -Added the "psUncompressPreloadedImages" xpdfrc command. -Escape newlines and other non-printable characters in the custom color - DSC comments in PostScript output. -Added the tilingPatternFill and *ShadedFill functions to - PreScanOutputDev to speed it up. -Too many elements in an image's Decode array should not be a fatal - error. -Fixed a buffer overflow security hole in StreamPredictor. -Empty pages (zero-length content streams and null contents) were - causing crashes in continuous view mode. -Handle line dash arrays that start with a zero element correctly. -PreScanOutputDev was not correctly detecting all transparency - in - some places, it was looking only at the blending mode, and not at - the opacity setting. -Force halftone screen size to be a power of 2. This allows optimizing - the halftoning code. -Fixed a bug in the JBIG2 MMR decoder (and also in the CCITTFax - decoder) that was causing array references with negative indexes. -Fixed a bug in the transparency code that was causing memory overruns. -Fixed a 64-bit bug in the ASCII85 encoder. -The focusToPageNum was crashing in full-screen mode - it should simply - do nothing. -Added '%p' (current page number) to the available options for the 'run' - command. -Tweak the behavior with PDF files that have pages of different widths - in continuous mode: scroll horizontally to avoid blank space on the - left side (when changing pages via entering a page number or - clicking on a link). -A closepath followed by a lineto should create a new subpath for the - lineto. -Fixed a buffer overflow in the CCITTFax decoder. -Adobe Acrobat appears to ignore the flatness setting when rasterizing - curves, so Xpdf now does the same. (Oddly, Acrobat passes the - flatness setting through to PostScript output, which ends up making - the PS file look different from the PDF file - so Xpdf continues to - pass flatness through to PS files, too.) -Pdfimages now ignores tiling pattern fills (for performance reasons). -Fixed a bug in PDFCore that could sometimes cause crashes at high zoom - levels. -Use std::sort (with functors) in place of qsort (if available) - this - can be significantly faster. -Hitting "close" while Xpdf is in full-screen mode (with only one file - open) was crashing. -Tweak the TrueType font encoding deciphering algorithm. -Rewrote the CCITTFax decoder inner loop - this fixes a security hole. -Fixed two security holes (missing bounds checks) in the DCT decoder. -Do the correct zooming for "Fit" and "FitR" destinations. -Implement the rotation value in the form field appearance regeneration - code. -When PSOutputDev rasterizes a page (because it contains transparency), - the image is broken into stripes if it is above a size threshold. -Don't clip the other page boxes to the MediaBox at the intermediate - (Pages) nodes; only do it at the leaf (Page) nodes - the other boxes - can be specified before the MediaBox is specified. -Split several special cases off from Splash::pipeRun, for performance. -Add a sanity check for excessively large font sizes (which caused - problems because Xpdf tried to allocate memory for a font cache). -Fixed a bug in the GfxCIDFont constructor involving reading the - vertical metrics. -Rewrote the code that handles annotation transforms - it was not - handling non-rectangular transforms correctly. -Tweak the Type 3 bbox code to allow some slack on the left/bottom - edges, as well as the top/right edges. -Fixed a bug that was causing problems rendering Type 3 fonts to 1-bit - monochrome output. -Handle the case where AES padding is invalid. -Changed XRef::getNumObjects to return the number of used entries, - instead of the same value as returned by XRef::getSize(). -Ignore bogus entries in the TrueType table directory instead of - immediately giving up on the font. -Fixed a bug in the radial shading code that could cause divide-by-zero - errors. -Tweaked the TrueType font fixup code to deal with an extra zero entry - at the end of the loca table. -Increased font cache sizes to improve performance. -Tweaked the TrueType notdef kludge to skip the notdef glyph only if it - was caused by a character for which a Unicode/MacRoman mapping could - not be found. -Added another font size sanity check, this time for Type 3 glyphs. -Added initial support for optional content (layers) - no GUI yet. -For CID fonts that specify the 'Adobe-Identity' or 'Adobe-UCS' - collection, use an identity mapping for char code-to-Unicode - conversion. -Updated the error function to take a category argument, and to use - GString::format instead of printf; added an error callback. -The PDF spec claims that names are limited to 127 chars, but Distiller - 8 will produce longer names, and Acrobat 8 will accept longer names - -- Xpdf will now handle them, too. -Change the Catalog code so it doesn't load the entire page tree at - startup (this only helps the command line tools - the viewer scans - all of the pages at startup). -Clip opacity values to the range [0,1]. -Handle glyph names of the form 'unixxxx' (similar to Ann, Axx, etc.). -Resolution of rasterized pages in PostScript output was not being - computed correctly (resulting in overly large images). -Extend the mapUnknownCharNames config command to cover CID fonts. -Zero-length segments in the middle of stroked paths were not being - handled correctly -- they should be completely ignored, except for - the special case of a zero-length path with round line caps. -Various optimizations to the Splash rasterizer. -Allow "Identity" and "Default" as the transfer function in soft masks. -Tweaked the ToUnicode CMap parser to allow <00xx> char codes for 8-bit - fonts. -TextPage::clear() was not clearing the lists of underlines and links. -Changed the CCITTFax decoder to correctly handle the interaction - between the EndOfLine and EncodedByteAlign parameters. -Fixed a bug where xpdf wouldn't go to a destination specified on the - command line, if continuous mode was enabled - (xpdf -cont file.pdf +foo). -Fixed a bug in the FreeType interface code which was causing incorrect - positioning/sizing of characters. -Tweaked the FreeType interface code - use 'light' hinting with Type 1 - fonts (because it generally looks better). -Tweak the Windows font searching code to handle "Black" fonts. -Fixed a bug in the PostScript-type function parser -- real numbers - that start with a decimal point weren't being handled correctly. -Changed the way filled-and-stroked text is handled -- use Splash to do - both the fill and the stroke (rather than using the font ending to - do the fill and Splash to do the stroke); also turn off stroke - adjustment when drawing stroked text. -Ignore generation numbers on compressed objects (to match Adobe's - behavior). -Changed the PostScript PageSize policy from 3 to 6 (choose next - largest paper size, don't rescale). -Check that the mask values for color key masked images are in range -- - both Ghostscript and Distiller choke on the PostScript if invalid - mask colors are specified. -Fixed a bug in generic region decoding in the JBIG2 decoder. -Fixed the lexer to handle large real numbers correctly. -Pdftops wasn't correctly handling tiling patterns that use both fill - and stroke operators. -Report an error if the Size array in a sampled function includes any - zeros. -The PostScriptFunction.codeString field wasn't being initialized - correctly. -Invalid object streams were not being handled correctly. -Check for loops in xref tables. -Handle the case where a content stream ends after the 'ID' operator - which starts inline image data. -Check for invalid object streams (i.e., an object stream can't be - inside another object stream. -Add a recursion limit to the object parser - this avoids stack - overflows with various sorts of damaged PDF files. -Handle various parameter settings in the extended graphics state - dictionary. -An invalid document outline (missing fields) could cause a crash. -Added an overprint preview mode (for CMYK output only). -Correctly handle FitH/BH/V/BV link destinations that contain null - values for positioning parameters. -If the PDF file doesn't define a BaseURI, set one based on the - location of the PDF file -- this allows relative links to be handled - correctly. -Use ResusableStreamDecode when generating Level 3 PostScript for an - explicitly masked image. -Tweak the Type 1 font parser to handle encodings with multiple - characters on one line. -Invert subtractive color components before passing them to the - blending function. -Fix an invalid array access in SplashOutputDev::setSoftMask() in CMYK - mode. -A PS interpreter may attempt to read past the end of a preloaded - image, so we need to check for that. -Fixed several overflow/uninit bugs in JBIG2Stream. -Fix the CCITTFax decoder to correctly find end-of-file (RTC/EOFB) - markers when the EndOfLine parameter is false. -Don't limit the startxref offset to 10 digits - some PDF generators - use extra leading zeros. -Use the "DV" (default value) field in text annotations if the "V" - (value) field is missing. -Increase the number of digits printed for floating point numbers in - PostScript output -- it was running into numerical accuracy problems - on large pages. -Fixed integer overflow bugs in Catalog.cc and GfxFont.cc. -Zero-length tables in TrueType fonts should be treated as missing. -ToUnicode CMaps map char codes to Unicode; .cidToUnicode files map - CIDs to Unicode -- ToUnicodeCMaps were being handled incorrectly. -Added the "psRasterResolution" and "psRasterMono" xpdfrc commands. -Added code to FoFiTrueType to check for entries in the table directory - with bogus tags -- this handles the case where the number of tables - given in the header is too high. -Negative shift values in the PostScript bitshift operator were being - handled incorrectly. -GfxICCBasedColorSpace was not correctly bounds-checking the number of - components. -Check SampledFunction input values for NaNs. -Fix a divide-by-zero when the page width or height is zero. -Fix a bug positioning text in PostScript output - if the last char in - a string has an incorrect width in the PDF font object, that messes - up the total string width, so we have to position individual chars. -In PostScript output, if CID font substitution fails, drop all text in - that font. -Handle PDF files that set the stream/string decryption filters to - Identity (i.e., no encryption). -Avoid passing a zero font size to FreeType. -Tweak raw mode in the text extractor to handle words on the same line - drawn in the wrong order. -Pdftops was generating a singular transform matrix for annotations - whose bounding boxes had zero width or height. -Handle embedded OpenType CFF fonts with CIDToGIDMaps. -Remove the old kludge from PSOutputDev that was converting char 32 - from ".notdef" to "space". -Allow CCITTFax images to be more than 32k pixels wide. -Modified the CMap parser to handle usecmap with Identity-H/V. -Added some parameter checking in the JPX decoder. -Added checks for infinite loops in PDF objects - for color spaces, - functions, optional content, and outline items. -Add support for mouse button bindings up to button 32 (old limit was - 7). -Fixed a bug in the decryption code for revision 3 with keyLength < 16 - -- the owner password was not being handled correctly. [Thanks to - Matthias Franz.] -Optimize SampledFunction: pull index computation code out of the - transform function; cache the last transform. -Tweaked the font naming algorithm in PSOutputDev. -Treat mirrored (as opposed to rotated) text the same as upright text - in pdftotext. -Fixed buffer overflows in Splash and SplashBitmap. -Check for bogus character codes (e.g., <ffffffff>) in ToUnicode CMaps. -The radial shading code (in both Gfx.cc and PSOutputDev.cc) was not - computing the s bounds properly. -Drop empty subpaths in clip and fill (but not stroke) operations - - this can significantly speed up clip performance in the weird case - where a PDF file does "<x> <y> <w> <h> re <x> <y> m h W n". -Added code to FoFiTrueType to check for an invalid loca format field - in the head table. -The axial shading code (in Gfx.cc, but not PSOutputDev.cc) was not - computing the incremental polygon vertices correctly. -Set the character width in TextOutputDev to something sensible for - vertical fonts. -Added basic support to the text extractor for vertical writing mode. -The non-interactive tools (pdftotext, pdftops) now free Page objects - after using them, avoiding performance problems with pages that have - huge resource dictionaries. -Check for line dash arrays like [0], and draw nothing at all (to match - Acrobat's behavior). -Add a sanity check for the ascent/descent values in FontDescriptors. -Single-point paths with a line dash were causing a crash. -Correctly handle Level 3 PostScript output with masked images inside - patterns. -Tweaked the xref repair code so that it runs if the catalog is messed - up (in addition to running if the xref table is damaged). -If Indexed color space tables (streams or strings) are too small, - reduce the max index instead of throwing away the color space. -Change the CMap parser to allocate memory only when it sees a mapping, - not when it sees a 'codespacerange' declaration -- this avoids - allocating huge amounts of memory for CMaps with large, unused - codespaceranges. -In monochrome mode, treat lines with width <= 1 as hairlines (to match - Acrobat's behavior). -Cache the last transform for PostScript-type functions. -Added the "-rawdates" option to pdfinfo. -Optimized ImageStream::getLine(). -Fixed the Hue, Saturation, Color, and Luminosity blend functions to - match Adobe's spec. -Fixed the non-isolated group compositing computation. -Skip extraneous unused data at the end of JBIG2 segments. -Change the algorithm that stroke/fill adjustment uses so that the - edges of adjacent strokes/fills line up. -Do stroke adjustment on end caps when cap style is butt or projecting. -Fixed a security hole: Gfx.parser was not being initialized to NULL. -Fixed a security hole: integer bounds check in the Type 1 encoding - parser in FoFiType1.cc. -If an embedded font object is invalid or non-existent, do font - substitution (same as if there were no embedded font). -TextOutputDev was reusing an old font in the case where the font - changed but the font size and character positioning stayed the same. -When starting a transparency group, copy the fill/stroke colors from - the graphics state. -Tweaked the fixed-point code. -When a TrueType font is declared resident (with a psFont command), - don't munge the encoding. -Look for URIs starting with "www." and treat them as absolute "http:" - URIs, not as relative URIs (to match Adobe's behavior). -Added code to FoFiTrueType to check for a zero-entry cmap table. -Tweaked the font substitution code to do a better job of scaling the - substituted font. -Require at least two splits in the axial shading color bisection. -Optimized JBIG2Stream::readGenericBitmap(). -JPXStream wasn't correctly handling row padding for images with fewer - than 8 bits per component. -Optimized the ToUnicode CMap parser. -Added a "whole words only" option to text searches. -Check for valid component parameters in the DCT decoder. -Implement embedding of external 16-bit fonts (without subsetting) in - PostScript output. -Added the minLineWidth xpdfrc command. -Added warning messages for font substitutions. - -3.04 (2014-may-28) ------------------- -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. - -4.00 (2017-aug-10) ------------------- -Complete rewrite of the xpdf GUI, using Qt instead of Motif. -Multithreaded rasterization in the viewer - pages are now rasterized - in a separate thread so that scrolling and other UI activity is not - blocked. -Added a linear text selection mode. -Limit transparency groups to the clip rectangle (performance - optimization). -Optimized the SplashScreen code, used in 1-bit monochrome mode. -Added setmode calls to pdftopng, when writing to stdout on Windows. - [Thanks to Robert Schroll.] -Regenerate the appearance stream for an AcroForm field if there is - no appearance stream, even if NeedAppearances isn't set. -When regenerating AcroForm field appearance streams, use a default - font (Helvetica) for fields that don't have a valid font. -When the line width is increased by the minLineWidth setting, force - the line join mode to "bevel" to avoid "whiskers" at sharp corners. -Change the pdftoppm/pdftopng resolution (-r) argument from an integer - to floating point. -Use the FontDescriptor 'CapHeight' value in place of 'Ascent' if it's - available. -OC (optional content) entries in image XObjects were being ignored. -Added support for preblended soft-masked images. -Added optional support for using libjpeg to decode DCT (JPEG) - streams. -Transparency groups weren't being composited correctly in mono1 mode. -Switched to a different IDCT transform in the DCT (JPEG) decoder, to - get better accuracy; the new transform is also a bit faster. -Modified the polygon scan converter to avoid O(n^2) performance, which - can get really bad with paths that have extremely large numbers of - segments. -Added the maxTileWidth, maxTileHeight, tileCacheSize, and - workerThreads xpdfrc settings. -Modified PSOutputDev so it doesn't output resources (fonts, etc.) for - pages that are rasterized (because they use transparency). -Added the -alpha flag to pdftopng. -Handle TrueType fonts with out-of-bounds loca entries. -Optimize consectutive "q" (gsave) operations in PostScript output. -Various improvements to the XFA rendering code. -Added the -nodiag flag to pdftotext. -Switched to cmake instead of autoconf. -Look for Widget-type annotations that aren't attached to the - AcroForm, and add them to the AcroForm. -Added the "-z" option to pdftohtml. -The JPEG 2000 decoder now treats invalid boxes after the image - codestream as non-fatal errors. -Improved the handling of drop caps in pdftohtml. -Added the "psNeverRasterize" setting. -Pdftohtml now converts invisible PDF text to transparent HTML text. -Check for zero-width/height bitmaps in the JBIG2 decoder -- these can - happen in corrupted JBIG2 streams. -Pdfimages was inverting 1-bit monochrome images. -Added CCITTFaxStream::getBlock() to speed up the CCITTFax decoder. -Added resolution info to PNG files generated by pdftopng. -The DCT decoder now ignores non-Adobe APP14 markers (rather than - generating an error). -Regenerate appearance streams for FreeText annotations. -The TextString class now handles UTF-16LE in addition to UTF-16BE. - (UTF-16LE isn't allowed by the PDF spec, but I've seen it used.) -Added the simple one-column text extraction mode (pdftotext -simple). -Added a -cmyk option to pdftoppm to write CMYK PAM files. -Modified pdfinfo to output "static XFA" or "dynamic XFA", rather than - just "XFA". -Added the "drawFormFields" xpdfrc command. -Various performance optimizations in the rasterizer. -Fixed the tiling pattern code to avoid stripes between pattern cells, - and to honor the TilingType flag. -Always split axial shadings into 256 slices. -Handle the case where an optional content block is left open at the - end of a page content stream. -Accept code-to-CID-type CMaps as ToUnicode CMaps (to work around buggy - PDF generators). -Unicode-to-unicode maps weren't working correctly with fonts that have - an "Identity" encoding. -Modify the lexer to interpret "--123.4" as -123.4, "--123" as 0, and - "123-45" as "123" to match Adobe's behavior. -The text extractor now reverses the order of side-by-side columns for - right-to-left scripts. -Worked on right-to-left script support in pdftohtml (still not - complete). -Switched the default display mode to continuous (from single page). -Added the "-bom" switch to pdftotext. -Share font objects when multiple font tags point to the same object. -The transfer function goes before alpha blending in the rasterizer - pipeline. -Added the "-allinvisible" switch to pdftohtml. -Added overprint mode (OPM) support in Level 3 PostScript output. -Added support for DeviceN color spaces in Level 3 PostScript output. -Added the "-userunit" option to pdftops. -Added the "-raw" and "-list" options to pdfimages. -Pdfimages now writes PGM files (instead of PPM files) for DeviceGray - and CalGray images. -Added grayscale PostScript output -- added the '-level2gray' and - '-level3gray' switches to pdftops. -Fix up Type 1 fonts when embedding in PostScript. -Added the "problematic" column to pdffonts output. -Generate an appearance stream for signature fields in AcroForms. -Correctly handle line dash patterns with zero-length segments when the - line cap is butt or project. -Added the "strokeAdjust cad" xpdfrc option; fixed some issues with - stroke adjustment and projecting line caps. -Added support for Code128B bar codes in XFA forms. -Look at both the ON and OFF arrays in the default OCCD (optional - content config dict), to work around certain broken PDF files. -Added support for XFA 'numericEdit' fields. -Added support for 'picture' formatting in XFA forms. -Added mouseClickN events (in addition to mousePressN and - mouseReleaseN). -External CID OpenType CFF fonts should map through Unicode (similarly - to external CID TrueType fonts). -Handle axial and radial shadings in SplashOutputDev, in device space. -Use the PDF 2.0 inline image length field. -Handle duplicate embedded Type 1 font names in PostScript output. -Handle the case of a stroked closed path with a dash pattern -- if the - dash pattern is "on" at both the start and end of a subpath, it - should be joined. -If the line dash phase is negative, add a multiple of 2x the total - dash length. -Indexed color space indexes should be clipped to [0,hival]. -Fix the handling of the text render mode with Type 3 fonts, in the - rasterizer and in PostScript output. -CID font metrics shouldn't be sorted - the PDF 2.0 spec says that, in - the case of duplicate entries, the first entry should be used. -PSOutputDev now converts tiling patterns to PostScript tiling patterns - (in Level 2/3). -Fixed a security hole in SecurityHandler.cc (uninitialized variables). - This vulnerability was discovered by Kushal Shah of Fortinet's - FortiGuard Labs. -Fixed a security hole in Function.cc (write past end of array). -Fixed a security hole with the use of d0/d1 operators outside of a - Type3 CharProc [CVE-2016-9027]. - -4.01 (2019-feb-18) ------------------- -Added remote server mode back into xpdf. -Add support for Unicode file names for the command line tools on - Windows. -Added the tabStateFile setting, the saveTabState/loadTabState - commands, and the "-tabstate" switch to xpdf. [Thanks to Christian - Barthel for the suggestion.] -Added the defaultPrinter xpdfrc setting. -Removed the psFile xpdfrc option (should have been removed in the 4.00 - release). -Tweaked the TrueType encoding/cmap code again, to get closer to the - PDF 2.0 spec, and to fix a problem (difference between Xpdf and - Adobe) with a specific PDF file. -Optimized transparency group rasterization: only composite the part of - the group bitmap that was modified. -If vector antialiasing is disabled, use the narrow stroke code for - lines less than one pixel wide. -Do not map through Unicode for non-embedded CID TrueType fonts with - encoding = Identity-H and char collection = Adobe-Identity -- this - matches Adobe's behavior on a somewhat common case. -The CCITTFax decoder now aborts after 1000 error messages, avoiding - problems with huge data expansion for badly corrupted CCITTFax - streams. -The xref loop detection code was only looking at xref tables, and not - xref streams. (CVE-2018-7174) [Thanks to skysider for the bug - report.] -The JPX decoder wasn't checking to make sure the number of components - is non-zero. (CVE-2018-7175) [Thanks to skysider for the bug - report.] -Modify the lexer to accept leading '+' signs on numbers. -Pdftohtml wasn't setting the background image width/height attributes - correctly for rotated pages. -Ignore color-setting operators in cached Type 3 characters. -Support color-key masking in Level3Gray PS output with preload. -Xpdf was crashing on zero-page PDF files. -Added the unicodeRemapping xpdfrc option. -Change the cursor when the mouse is over text (in linear selection - mode). -Support external OpenType CFF fonts for PostScript output. -Handle choice-type AcroForm fields that have separate display values - and export values. -Increased the supported PDF version from 1.7 to 2.0. (This isn't a - change in functionality. The code was already in place -- I just - forgot to bump the PDF version number.) -Added the dropFont xpdfrc option. -Added support for PDF417 barcodes in XFA forms. -Modified pdfinfo to look at both the Info dict and the XML metadata. -Check for invalid line cap/join values. [Thanks to - fish@360TeamSeri0us for the bug report.] -Modified the object stream cache to hold onto more object streams, if - they're being used. -Don't look at the "DV" (default value) key in AcroForm fields -- that - should only be used when a form is explicitly reset. -Accept 8-byte values in xref streams. -Two DCTStream bugs: don't allow SOF headers between progressive scans; - check for invalid Huffman table indexes. [Thanks to - fish@360TeamSeri0us for the bug reports.] -Check for uses of the scn/SCN operators with no arguments. [Thanks to - fish@360TeamSeri0us for the bug report.] -Correctly handle indexed color spaces with empty lookup tables. - [Thanks to fish@360TeamSeri0us for the bug report.] -Support large bitmaps (>4GB) on 64-bit systems. -Soft masks are always isolated. -When "undoing" preblended image/softmask data, clip the resulting - color values to avoid problems with incorrect data. -Set the default text encoding to UCS-2 in Xpdf, so that copying to the - clipboard works as expected. -Added a sanity check for JBIG2 symbol height. (CVE-2018-7173) - [Reported by skysider.] -Check for uninitialized value in JPXStream::fillReadBuf. - (CVE-2018-7452) [Thanks to skysider for the bug report.] -Don't try to load an XFAForm if the PDF file has zero pages. - (CVE-2018-7454) [Thanks to skysider for the bug report.] -Check for invalid line cap/join values. (CVE-2018-16368) [Thanks to - fish@360TeamSeri0us for the bug report.] -If the page count is greater than 50k, rescan the page tree and count - the pages. This prevents long load times where various tools try to - read pages 1 through n. (CVE-2018-18651) [Thanks to krace for the - bug report.] -Handle a null font name in PSOutputDev::setupEmbeddedType1Font. - [Thanks to r4xis for the bug report.] -Check for invalid quant table indexes in the DCT decoder. [Thanks to - r4xis for the bug report.] - -4.01.01 (2019-mar-14) ---------------------- -The PDFDoc(BaseStream) initializer wasn't working correctly. -Fixed a missing array bounds check in PSOutputDev. [Thanks to - Loginsoft for the bug report.] -If the "U" string used for RC4 decryption is short, Adobe apparently - zero-pads it, so Xpdf now does the same. -Pdffonts now checks more carefully for loops between objects. -Fixed a problem parsing large real numbers. [Thanks to Loginsoft for - the bug report.] - -4.02 (2019-sep-25) ------------------- -Pdftohtml now extracts embedded fonts (TrueType and CFF only). -Added the margin settings (-marginl -marginr -margint -marginb) to - pdftotext. -Various user interface tweaks: - - added a toolbar button to toggle (show/hide) the sidebar - - added view menu items to toggle (show/hide) the sidebar and - toolbar - - added the 'showToolbar', 'hideToolbar', 'toggleToolbar', - 'expandSidebar', and 'shrinkSidebar' commands - - added the 'initialDisplayMode', 'initialToolbarState', and - 'initialSelectMode' xpdfrc settings - - rearranged the xpdf toolbar -Implemented drag-and-drop, so that PDF files can be drag-and-dropped - onto an already-open xpdf window. -Added the option to display page labels, rather than page numbers. -Implemented the missing 'openInNewWin' command. -Added the 'openFileIn', 'openFileAtDestIn', 'openFileAtPageIn', and - 'openIn' commands; removed the 'openInNewWin' command. -Added the '-open' switch to xpdf. -Added the reverseVideoInvertImages setting. -Page-up and page-down now "snap" to the nearest page, if it's within a - few pixels. This avoids annoying behavior when the window is a tiny - bit too short or too tall for a page. -Properly handle overprint in non-isolated transparency groups. -Missing null check in Gfx::opSetExtGState(). [Thanks to - pwd@360TeamSeri0us for the bug report.] -The DCT decoder doesn't handle a sampling factor of 3 -- check for - this and report an error. [Thanks for Agostino Sarubbo of Gentoo - for the bug report.] -Check for images with a Pattern color space, and report an error. - [Thanks to TeamSeri0us for the bug report.] -Check that the Width, Height, and BitsPerComponent are valid in image - soft masks. [Thanks to TeamSeri0us for the bug report.] -Check for zero page width/height in PSOutputDev. [Thanks to - TeamSeri0us for the bug report.] -Check for divide-by-zero in PostScript functions. [Thanks to - TeamSeri0us for the bug report.] -Properly handle overprint in shading pattern strokes. -The "save image" feature in Xpdf wasn't getting the user-specified - page number correctly. -PostScript doesn't support progressive or non-interleaved DCT (JPEG) - streams, so check for those and re-encode them in PS output. -Splash now caches the most recent scaled image, in case it is - immediately reused -- this results in a significant speedup in - certain cases. -Fixed a problem with parsing the TrueType loca table. [Thanks to - Pangu Lab for the bug report.] -Fixed a problem with int overflow on image bounds. [Thanks to - Pangu Lab for the bug report.] -Fixed a problem with TrueType font parsing where there is gibberish in - the TrueType table directory. [Thanks to Pangu Lab for the bug - report.] -Fixed a problem with JPX image resolution reduction. [Thanks to Pangu - Lab for the bug report.] -Fixed a problem with non-isolated transparency groups in 1-bit - monochrome mode. [Thanks to Pangu Lab for the bug report.] -Fixed various bugs in FoFi. [Thanks to Pangu Lab for the bug - reports.] -Added a missing bounds check to Annot::setFillColor(). [Thanks to - Pangu Lab for the bug report.] -Added a check on the DCT quant table selector. [Thanks to Pangu Lab - for the bug report.] -Fixed a problem with the Type 3 font cache running out of entries. - [Thanks to Pangu Lab for the bug report.] -Fixed an integer overflow bug in SampledFunction. [Thanks to Pangu - Lab for the bug report.] -Fixed an integer overflow bug in the tiling pattern size. [Thanks to - Martin Muskens at Ergosoft for the bug report.] -Fixed a read-past-end-of-buffer in the Type 1 font parser. [Thanks to - Pangu Lab for the bug report.] -Fixed an int overflow bug in the JBIG2 decoder. [Thanks to - TeamSeri0us for the bug report.] -Added a missing bounds check to GfxPatchMeshShading::parse(). [Thanks - to TeamSeri0us for the bug report.] -JPEG 2000 tile indexes were being computed incorrectly. [Thanks to - TeamSeri0us for the bug report.] -Large sample separation values in a JPX stream were resulting in - zero-width/height tiles, which caused problems. [Thanks to Pangu - Lab for the bug report.] -The XFA parser now looks for "ancestor matches" when searching for - data to fill a form field. -Fixed an uninitialized variable in BuiltinFontWidths::getWidth(). - [Thanks to Martin Muskens at Ergosoft for the bug report.] -If there are no popupMenuCmd instances, construct a popup menu with - basic instructions pointing to 'popupMenuCmd'. -Ignore color operators in uncolored tiling patterns. [Thanks to - Martin Muskens at Ergosoft for the bug report.] -Pdftotext raw mode output looks for space characters. -Increased the width of the font name column in the pdffonts output. -Function objects weren't checking their input/output counts properly. - [Thanks to Pangu Lab for the bug report.] -TextPage::findGaps() wasn't checking the x/y min/max values for int - overflow. [Thanks to Taolaw for the bug report.] - -4.03 (2021-jan-28) ------------------- -Implemented selection extension via shift-click, and word/line - selection via double/triple click. -Added default bindings for ctrl-mousewheel-up/down to zoom in/out. -Added the "-nofonts" option to pdftohtml. -Added the "simple2" mode to pdftotext. -Added the "-rot" flag to xpdf, pdftoppm, and pdftopng. -Added the "-listencodings" flag to pdftotext. -Added the 'copyLinkTarget' command. -Added the 'selectionColor' xpdfrc setting. -Added the 'initialSidebarWidth' xpdfrc setting. -Added support for @"..." strings in xpdfrc files. This includes using - '%' as an escape character, and also the '${DATADIR}' variable. -Added a help menu item that shows all of the key bindings. -Reorganized the gradient shading rasterization code to avoid - transparency artifacts between triangles/patches. -Use interpolation rather than subdivision to rasterize Gouraud - triangle shadings. -Allow escaping (via the \x01 character) in command args, so that "xpdf - -open foo(123).pdf" works correctly. -Extended the damaged file repair code to handle PDF files that use - xref streams and object streams. -Modified pdfinfo to print the encryption algorithm used (if any). -Handle Windows shortcut (.lnk) files in Xpdf and in the command line - tools. -Display an error dialog when trying to copy text from a protected - file. -Updated all four of the CJK language support packages with the latest - Adobe data. -Modified pdftohtml to draw 'invisible' text over non-horizontal words. -Catalog.pageLabels wasn't being properly initialized to NULL. [Thanks - to Dhiraj for the bug report.] -Added a sanity check for JBIG2 symbol width. [Reported by Marc - Schoenefeld.] -Fixed a bug in the fontconfig calls that was causing Xpdf to crash. -The Type 3 font cache code wasn't correctly handling the case where a - Type 3 char refers to another char in the same T3 font. [Thanks to - Pangu Lab for the bug report.] -Xpdf was crashing if 'view page labels' was enabled without any - document open. [Thanks to TeamSeri0us for the bug report.] -The Type 1C-to-Type 1 font converter wasn't checking for - divide-by-zero with rational numbers. [Thanks to TeamSeri0us for - the bug report.] -Fixed a bug in the TrueType font parser - zero-length loca tables - weren't handled correctly. [Thanks to TeamSeri0us for the bug - report.] -Fixed an integer overflow bug in the transparency group setup code. - [Thanks to TeamSeri0us for the bug report.] -Pdfinfo with the "-box" option was crashing on zero-page PDF files. - [Thanks to TeamSeri0us for the bug report.] -The code that caches scaled images wasn't checking the rendering - intent. [Thanks to Martin Muskens at Ergosoft for the bug report.] -The JBIG2 decoder now checks for gibberish values in various segment - headers, but keeps any data decoded prior to that. -Fixed two bugs in the FoFi code that handles CFF fonts. [Thanks to - dsmic for the bug report.] -Redesigned the image scaling code, for performance. -Cleaned up the code that sanity-checks font sizes to avoid trying to - allocate too much memory for the font cache. -Implemented precincts in the JPEG 2000 decoder. -The page-up/down snapping code was calling TileMap::getPageTopY() with - invalid page numbers. [Thanks to dfandrich for the bug report.] -Added missing error-checking when parsing an annotation appearance - stream's bbox. -Handled UTF-16 sequences in ToUnicode maps. -Rewrote the code that draws static XFA forms: combined it with the - AcroForm code, to match Adobe's behavior. Removed the enableXFA - xpdfrc setting. -Check for indirect references in content streams and report an error. -Doing overprint preview in tiling patterns requires tracking the - overprint mask at each pixel. -Check for "decompression bombs" in Flate and LZW streams. -The nextPageNoScroll and prevPageNoScroll commands weren't working - correctly in continuous mode. -Disable stroke adjustment when drawing Type 3 characters. -The "xpdf -open" flag now constructs an absolute path, so it's not - dependent on the current directory when xpdf was started. -Check for infinite loops in Type 1C charstring subroutines. [Thanks - to blbi for the bug report.] -Fixed an incomplete test for headless CFF files. [Thanks to Chengbin - for the bug report.] -Tweaked the code that computes segment slope in SplashXPath.cc to - avoid problems with extremely small coordinate values. [Thanks to - Chengbin for the bug report.] -Check for an invalid segment length in PSOutputDev's PFB parse. - [Thanks to Chengbin for the bug report.] -Check for JPEG 2000 segments that are only allowed in the first - tile-part of a tile. [Thanks to Chengbin for the bug report.] -Check for invalid AcroForm ListBox field top index. [Thanks to - Chengbin for the bug report.] -Check for invalid mesh shading parameters. [Thanks to Chengbin for - the bug report.] |