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 buf 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 ' 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.