2006-02-05 softadm * ChangeLog: hpgs-1.0.0 released. 2006-02-02 softadm * src/hpgs.h, src/hpgscairo/hpgscairo.c, src/hpgsdevices.c, src/hpgsfreetype.c, src/hpgsimagerop.c, src/hpgspaint.c, src/hpgspcl.c, src/hpgsscanline.c, src/hpgsswf/hpgsswf.c, src/hpgszostream.c: - Introduce gcc attributes for hpgs_i18n. - Remove hpgs_alloca_free(). 2006-01-29 softadm * src/hpgs.c, src/hpgs.h, src/hpgsimage.c, src/hpgsimage.h, src/hpgspaint.c, src/po/hpgs.pot, src/po/hpgs_de.po: Augmented quality of png files by - writing the software version to a tEXT chunk. - writing the resolution to a pHYs chunk. As a side effect, we had to introduce a method hpgs_image_set_resolution to the API. * src/hpgs.h, src/hpgsbase.c, src/hpgsbbox.c, src/hpgsbezier.c, src/hpgscharacter.c, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsfreetype.c, src/hpgsglobal.c, src/hpgsgstate.c, src/hpgsi18n.c, src/hpgsi18n.h, src/hpgsimage.c, src/hpgsimage.h, src/hpgsimagerop.c, src/hpgsistream.c, src/hpgslexer.c, src/hpgsmkrop.c, src/hpgsostream.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/hpgspaintpath.c, src/hpgspath.c, src/hpgspcl.c, src/hpgspe.c, src/hpgspen.c, src/hpgspjl.c, src/hpgsplugin.h, src/hpgsreader.c, src/hpgsreader.h, src/hpgsscanline.c, src/hpgssetup.c, src/hpgstransform.c, src/hpgszostream.c: Changed copyright to 2004-2006. 2006-01-19 softadm * src/hpgsimagerop.c: Corrected the comment on memory estimations. * src/hpgspcl.c: Emit large PCL images in smaller portions in order to economize memory. 2006-01-18 softadm * src/hpgs.h, src/hpgspcl.c, src/hpgsreader.c, src/hpgsreader.h, src/po/hpgs.pot, src/po/hpgs_de.po: Allow to interrupt hpgs_reader_read from another thread. 2006-01-16 softadm * src/hpgs.c: Fixed get_int_pair and get_double_pair. * src/hpgsbase.c: Removed unnecessary log print to stderr. * build/unix-shared/Makefile: Finally got CFLAGS right for gettext. 2006-01-15 softadm * src/hpgsdevices.c: Fixed the size calculation of splines with large turning angles. 2006-01-14 softadm * src/hpgsreader.c: Added support of Oce Job-headers. * src/po/hpgs.pot, src/po/hpgs_de.po: i18n update for OceJob support. 2006-01-10 softadm * src/po/hpgs.pot, src/po/hpgs_de.po: Fixed i18n typos. * src/hpgs.h, src/hpgsimage.c, src/po/hpgs.pot, src/po/hpgs_de.po: Removed the last API FIXME by making image->get_data virtual. * src/po/hpgs_de.po: Fixed i18n typo. * build/unix-shared/Makefile: Use gettext library. * src/include.mak: Renamed languae de_DE to de. 2006-01-06 softadm * src/hpgsglobal.c, src/hpgsreader.c: Brush-up of error messages. 2006-01-05 softadm * src/hpgsbase.c: Doa much more stringent parsing of lengths. * src/hpgs.c: Do a more stringent number parsing. Set copyright to 2006. * src/po/hpgs.pot, src/po/hpgs_de.po: i18n update. 2006-01-04 softadm * src/hpgs.c, src/po/hpgs.pot, src/po/hpgs_de.po: Completed i18n. * build/unix-shared/Makefile, src/hpgs.c, src/hpgs.h, src/hpgscharacter.c, src/hpgsdevices.c, src/hpgsfreetype.c, src/hpgsglobal.c, src/hpgsi18n.c, src/hpgsi18n.h, src/hpgsimage.c, src/hpgsimagerop.c, src/hpgspaint.c, src/hpgspaintimage.c, src/hpgspaintpath.c, src/hpgspath.c, src/hpgspcl.c, src/hpgspe.c, src/hpgspen.c, src/hpgspjl.c, src/hpgsreader.c, src/hpgsscanline.c, src/hpgssetup.c, src/hpgstransform.c, src/include.mak, src/po, src/po/Makefile, src/po/hpgs.pot, src/po/hpgs_de.po: Added i18n support and freezed 1.0 API. 2005-11-18 softadm * ChangeLog: hpgs-0.99.1 (1.0rc1) released. * src/hpgspaintpath.c: Now the miter join implementation is really tested. * TODO: Update to the status of hpgs-0.99.1 * build/unix-shared/Makefile, build/unix/Makefile: Correctly link pthread library. * src/hpgsostream.c: Get rid of gcc4 warnings. * src/hpgsreader.c: Allow .( and .Y initialization commands. * src/hpgssetup.c: Set miter limit in device setup. 2005-11-17 softadm * src/hpgspaintpath.c: Corrected miter join. 2005-11-11 softadm * src/hpgsostream.c: Fixed a typo in the copy_streams buffer, which is now of the right size. 2005-11-10 softadm * src/hpgsfreetype.c: Add an extra mutex lock. 2005-10-28 softadm * src/hpgspen.c: Auto-expand the palette inside the SP statement. Check for realloc errors in palette auto-expand. 2005-10-16 softadm * src/hpgsfreetype.c, src/hpgsglobal.c, src/hpgsreader.c, src/hpgsreader.h: Use a mutex for protecting freetype resources. * src/hpgsglobal.c: Avoid memory leak of the error message of the main thread. * src/hpgs.c: Better reporting of errors during plugin device creation. * src/hpgs.c, src/hpgsglobal.c: Use argv[0] as base for hpgs_get_arg_value in order to comply with the usage of hpgs_get_arg_value inside plugins. 2005-10-12 softadm * src/hpgs.c, src/hpgs.h, src/hpgscairo/hpgscairo.c, src/hpgscairo/hpgsplugin.c, src/hpgsdevices.c, src/hpgsglobal.c, src/hpgsswf/hpgsplugin.c, src/hpgsswf/hpgsswf.c: Use hpgs_set_error throughout the plugins. Finally pull hpgs_get_arg_value into the core API. 2005-10-11 softadm * build/unix-shared/Makefile, src/hpgs.c, src/hpgs.h, src/hpgsdevices.c, src/hpgsfreetype.c, src/hpgsglobal.c, src/hpgsimage.c, src/hpgsimagerop.c, src/hpgslexer.c, src/hpgspaint.c, src/hpgspath.c, src/hpgspcl.c, src/hpgspjl.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgssetup.c: Revised error handling using thread local storage. Set the version to 0.99.1 as we are heading towards 1.0rc1 2005-10-02 softadm * src/hpgs.h: Switch patch version to 0.9.1 Add some inlines and macros for array handling. * release.sh: Include swf backend. 2005-08-15 softadm * src/hpgspaintimage.c: Even more fixes with complex alpha clip paths. 2005-08-14 softadm * src/hpgspaintimage.c: Fixed potential problem with complex clip path, which does not apply to HPGL images. 2005-08-13 softadm * ChangeLog: hpgs-0.9.0 released. * build/mingw/Makefile: Fixed mingw non-dll build. * src/hpgspaintimage.c: Do a more thorough and correct calculation of clip alphas for antialiasing. * src/hpgsscanline.c: Implement a golden cut max/min finder for bezier alpha cut, which brings us more numerical stability in corner cases and saves us from infinite loops. * src/hpgs.c, src/hpgs.h, src/hpgspaint.c, src/hpgspaint.h, src/hpgsscanline.c: Fine-tuning of antialiasing. Introduced --thin-alpha. * src/hpgspaintimage.c: Fixed image painting with new antialiased paint engine. * src/hpgsscanline.c: Make antialiased clipping real functional. * src/hpgs.c, src/hpgs.h, src/hpgsbase.c, src/hpgsbbox.c, src/hpgsbezier.c, src/hpgscairo/hpgscairo.c, src/hpgscharacter.c, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsfreetype.c, src/hpgsglobal.c, src/hpgsgstate.c, src/hpgsimage.c, src/hpgsimage.h, src/hpgsimagerop.c, src/hpgsistream.c, src/hpgslexer.c, src/hpgsmkrop.c, src/hpgsostream.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/hpgspaintpath.c, src/hpgspath.c, src/hpgspcl.c, src/hpgspe.c, src/hpgspen.c, src/hpgspjl.c, src/hpgsplugin.h, src/hpgsreader.c, src/hpgsreader.h, src/hpgsscanline.c, src/hpgssetup.c, src/hpgsswf/hpgsswf.c, src/hpgstransform.c, src/hpgszostream.c: Added year 2005 to copyright. * ChangeLog, INSTALL, TODO, doc/images/scanline_0.fig, doc/images/scanline_n.fig, src/hpgs.c, src/hpgs.h, src/hpgsbezier.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgsscanline.c: Documentation cleanup, code brush-up, heading up to a hpgs-0.9.0 release. 2005-08-12 softadm * build/mingw-shared/Makefile: Adpat to compile with recent mingwPORT's. * src/hpgsimagerop.c: Do a better estimation of clip_lines_sz for small images. 2005-08-12 softadm * build/mingw-shared/Makefile: Adpat to compile with recent mingwPORT's. * src/hpgsimagerop.c: Do a better estimation of clip_lines_sz for small images. 2005-08-11 softadm * src/hpgspcl.c: Fixed direct by plane CID encoding, which produced an endless loop. * src/hpgs.c: Allow resolutions as low as 5 dpi. * src/hpgsscanline.c: Fixed bad performing bezier splines in alpha_cut. * src/hpgspaint.c, src/hpgspaint.h, src/hpgsscanline.c: Completely revised antialiased rendering. Needs more detail work. 2005-08-10 softadm * src/hpgspcl.c: Don't issue nested PCL start raster graphics error. * src/hpgspcl.c: Try to use the whole canvas as PCL image for PCL only files. * src/hpgsimagerop.c: Dynamically grow clip_lines as needed. * src/hpgsimage.c: Fixed pim_resize. 2005-08-04 softadm * src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsglobal.c, src/hpgsreader.c, src/include.mak: - Added plugin cleanup to hpgs_cleanup(). - Moved all global stuff to new file hpgsglobal.c * src/hpgsbase.c: Fixed typos in the doxygen documentation. 2005-08-03 softadm * src/hpgsbezier.c, src/hpgspaint.h, src/hpgsscanline.c: Finalization of new bezier cutting engine: - Made thin_cut for bezier splines finally working. - Remove hpgs_bezier_scanline_cut from internal API. - Remove ytol from clipper. - Resurrect dashed bezier spline processing, which recently has gone due to a typo. * src/hpgsscanline.c: Use a handcrafted bezier spline bisection for cut and thin cut. 2005-08-01 softadm * src/hpgsistream.c: Fixed mem_getc(). 2005-07-25 softadm * src/hpgs.h, src/hpgsbezier.c, src/hpgspaint.h, src/hpgspaintpath.c, src/hpgsscanline.c: Completely revised scanline intersection code, which now uses curve bisection. Greatly simplified the bezier API. Bezier internals are no longer part of hpgs_paint_path structure. 2005-07-25 softadm * src/hpgs.h, src/hpgsbezier.c, src/hpgspaint.h, src/hpgspaintpath.c, src/hpgsscanline.c: Completely revised scanline intersection code, which now uses curve bisection. Greatly simplified the bezier API. Bezier internals are no longer part of hpgs_paint_path structure. 2005-07-22 softadm * src/hpgsswf/hpgsswf.c, src/hpgsswf/hpgsswf.h: Implemented drawimage. * src/hpgs.h, src/hpgszostream.c: Added take_base argument to hpgs_new_z_ostream. * src/hpgsbezier.c: Avoid even harder any division by zero. 2005-07-21 softadm * src/hpgsswf/hpgsswf.c, src/hpgsswf/hpgsswf.h: Optimized flash player loading time due to the concatenation of multiple path' to a single character. * src/hpgs.h, src/hpgsbbox.c: hpgs 0.9 API changes, part 5: - Added hpgs_bbox_distance. - Make hpgs_bbox_isnull argument const. 2005-07-20 softadm * src/hpgsswf/hpgsswf.c, src/hpgsswf/hpgsswf.h: Make clipping really functional, code simpifications. * src/hpgsbezier.c: Fixed quadratic bezier approximation. * build/unix-shared/hpgsswf/Makefile, src/hpgsswf/hpgsplugin.c, src/hpgsswf/hpgsswf.c, src/hpgsswf/hpgsswf.h, src/hpgsswf/include.mak: Added a shockwave flash plugin. * src/hpgszostream.c: Fixed byte accounting and z_tell(). * src/hpgspcl.c: Reduced PCL coordinate seetup to the bare minimum. 2005-07-19 softadm * src/hpgspcl.c: Don't take the HPGL rotation into account for PCL coordinate setup. * src/hpgs.h, src/hpgsbezier.c, src/hpgsistream.c, src/hpgsostream.c, src/hpgspjl.c, src/hpgsreader.c, src/hpgszostream.c: hpgs 0.9 API changes, part 4: - Use size_t in seek/tell methods and pass out parameters as pointers. - Added an argument layer to hpgs_ostream_tell in order to retrieve compressed or uncompressed size of zstreams. - Make hpgs_z_ostream 100% compatible with other ostreams. 2005-07-18 softadm * build/unix-shared/Makefile: Added -rpath to linker flags. * src/hpgszostream.c, src/hpgs.h, src/hpgsbezier.c, src/hpgsostream.c, src/hpgspaint.h: hpgs 0.9 API changes, part 3: - Added hpgs_ostream_tell(). - Revised singulrity finding fro bezier splines. 2005-07-16 softadm * src/hpgs.h, src/hpgspaintpath.c, src/hpgszostream.c, src/include.mak: hpgs 0.9 API changes, part 2: - Added a deflate output stream. - Added hpgs_paint_path_decompose_dashes(). * src/hpgs.h, src/hpgsistream.c, src/hpgspaint.h, src/hpgspjl.c, src/hpgsreader.c: hpgs-0.9 API changes, part 1: - hpgs_paint_path functionality moved to public interface. - hpgs_istream_rewind is replaced by more versatile hpgs_istream_seek. 2005-07-04 softadm * src/hpgspjl.c: Added a HPGL autodetection for non-conformant PJL headers. 2005-06-23 softadm * ChangeLog: hpgs-0.8.1 released. * TODO: Stress antialiasing and single palette issues. 2005-06-23 softadm * ChangeLog: hpgs-0.8.1 released. * TODO: Stress antialiasing and single palette issues. 2005-06-21 softadm * src/hpgspcl.c, src/hpgsreader.h, src/hpgssetup.c: Moved CID parameters in PCL palette. * src/hpgstransform.c: Remove over-sophistication from FR command. 2005-06-16 softadm * src/hpgspcl.c: Do not reset rster graphics dimension when leaving PCL mode. 2005-06-13 softadm * src/hpgspcl.c, src/hpgstransform.c: Completely revised coordinate setup: - HPGL coordinate setup is now much simpler and conformant. - PCL setup is now based on my extensive testsuite. 2005-06-04 softadm * src/hpgs.h, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsimagerop.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgsscanline.c: - Finally solved the ROP3 mystery for all transparency modes. - Added an optimization of single-color images, which are now drawn as a filled outline on vector output devices. 2005-05-25 softadm * ChangeLog: hpgs-0.8.0 released. * TODO: Update version to 0.8.0 * src/hpgs.c, src/hpgsimage.c, src/hpgsreader.h: Minor code brush-up. * src/hpgs.c: Use default linewidth factor 1. For rendering to png w/o anitaliasing use default lw factor of 0.5 * build/unix-shared/hpgscairo/Makefile: Adjuct cairo path to /usr/local. 2005-05-25 softadm * ChangeLog: hpgs-0.8.0 released. * TODO: Update version to 0.8.0 * src/hpgs.c, src/hpgsimage.c, src/hpgsreader.h: Minor code brush-up. * src/hpgs.c: Use default linewidth factor 1. For rendering to png w/o anitaliasing use default lw factor of 0.5 * build/unix-shared/hpgscairo/Makefile: Adjust cairo path to /usr/local. 2005-05-24 softadm * src/hpgs.c: Fixed typos. Set default overscan to 2. * src/hpgs.h: Add const to hpgs_ostream_write arg. * src/hpgspaint.c, src/hpgsscanline.c: Don't use thin cut for antialiasing, which gives the desired results. * src/hpgs.h, src/hpgsistream.c, src/hpgsostream.c: Allow duplicating the input data for memory istreams. * src/hpgscairo/hpgscairo.c: Change in order to meet recent cairo API shakeup. * src/hpgs.h, src/hpgsdevices.c, src/hpgsistream.c, src/hpgsostream.c, src/hpgsreader.c: Redesign of stream API. * src/hpgsimagerop.c: Use malloc for clip_lines, which gets really big in practice. 2005-05-20 softadm * src/hpgspen.c: Extend palette, if PC of PW uses a larger pen number than the palette size. 2005-04-12 softadm * src/hpgsbase.c: Fixed Bug #3739: Incorrect parsing of papersize x arguments 2005-04-07 softadm * src/include.mak, build/mingw-shared/Makefile: Allow different installation prefixes for runtime and development. 2005-04-06 softadm * src/hpgsreader.c: Handle semicolon right after PCL context. Write file position for unknown HPGL commands. * src/hpgs.h, src/hpgscairo/hpgscairo.c, src/hpgsimage.c: Use a 4 byte-aligned stride in png images. Export depth in hpgs_image_get_data, too. Set version to 0.7.3 2005-04-05 softadm * src/hpgsreader.c, src/hpgsreader.h, src/hpgssetup.c: Implemented CO command. * src/hpgspath.c: Reverse angle sweep, when the transformation has a neg. determinant. * src/hpgspe.c: Forward broken PE streams to the recovery in hpgs_read, which allows to parse some ultra-broken HPGL files. * src/hpgspjl.c: Be more tolerant with leading linefeeds. * src/hpgspjl.c: Allow empty lines with '@PJL\n' 2005-04-04 softadm * src/include.mak: Added install-devel rule for installing header files. 2005-04-01 softadm * ChangeLog: hpgs-0.7.2 released. * src/hpgsimagerop.c: Include the right headers for alloca. * TODO, release.sh: Fixed hpgscairo integration. * TODO, release.sh, src/hpgs.c, INSTALL: Integrate cairo plugin in distribution. * src/hpgstransform.c: Handle IP after RO90 correctly. * src/hpgsreader.c: Handle 0B0A correctly. * src/hpgspath.c: Handle AC w/o arguments. 2005-03-31 softadm * src/hpgsbezier.c: Removed a shortcut in midpoint hit, which produced wrong results. 2005-03-30 softadm * src/hpgspaintpath.c: Use golden cut for partitioning bezier splines. * src/hpgsbezier.c, src/hpgspaint.h, src/hpgspaintpath.c: Detect bezier spline singularities and extrude spline piececwise. * src/hpgsbezier.c, src/hpgspaint.h, src/hpgspaintpath.c, src/hpgsscanline.c: Calculate a robust tangent in bezier extrusion. Allow left/right/mid tangents in hpgs_bezier_tangent. * src/hpgsscanline.c: Handle bezier corner cases in thin_cut. * src/hpgsbezier.c, src/hpgspaint.h: Added robust bezier tangent calculation. 2005-03-29 softadm * src/hpgsbezier.c, src/hpgsscanline.c: Preliminary work on handling bezier corner cases. * src/hpgspaintpath.c: Fixed inside join of paths and prepare internals for better bezier handling. * build/unix-shared/hpgscairo/Makefile, src/hpgscairo/hpgscairo.c, src/hpgscairo/hpgscairo.h, src/hpgscairo/hpgsplugin.c, src/hpgscairo/include.mak, src/hpgsimage.c: Integration of an expermental cairo plugin. 2005-03-26 softadm * src/hpgs.h, src/hpgsimage.c: Changed image get_data API in order to take a hpgs_image instead of hpgs_png_image. * src/hpgsplugin.h: Added common header file for all plugins. * src/hpgs.h: Expose png image buffer in API. Set version to 0.7.2 * src/hpgsimage.c: Use premultiplied alpha in alpha images. 2005-03-17 softadm * src/hpgspcl.c: Respect frame advance in PCL coordinate calculations. * INSTALL, build/mingw-shared/Makefile, src/hpgs.c, src/hpgsdevices.c: - Adapted default prefix for Windows in order to use PROGAMFILES. - Activated plugin mechanism unde Win32. - Allow loading of up to 4 plugins simultaneously. 2005-03-16 softadm * ChangeLog: hpgs-0.7.1 released. * INSTALL: Added notes on zlib and libpng for MinGW. * src/hpgs.h: Set patch version to 1. * src/hpgspcl.c: Silently ignore raster lines with too much data for compression 0. * src/hpgsdevices.c: Fixed pls_expand_pages, which crashed. * src/hpgslexer.c: Ignore commas after a HPGL command when interpreting numbers, which is needed to accept some broken files. 2005-03-15 softadm * src/hpgstransform.c: Revised coordinate setup in order to avoid mirrored plots through a negative orientation of P1/P2 set through IP. 2005-03-13 softadm * build/mingw/Makefile, build/unix/Makefile: Add LNS variable in order to allow 'make install'. 2005-03-10 softadm * src/hpgslexer.c: Do a proper cleanup upon realloc failure in hpgs_vsprintf_malloc. 2005-03-09 softadm * release.sh: Added src/hpgsrop.dat to tarball. * ChangeLog: hpgs-0.7.0 released. * TODO: Drop a note on a missing PCL testsuite. * src/hpgsdevices.c: Fixed the documentation of hpgs_getplotsize. * src/hpgs.c: Added a simple bounding box pseudo-device. 2005-03-08 softadm * TODO: The PJL papersize mystery has recently been resolved. * src/hpgspaint.c, src/hpgspaint.h, src/hpgsscanline.c: Finally figured out, that for HPGL primitives we have to apply ROP3 only if source transparency is ON. * src/include.mak: Fixed typo in fixed install rule. * src/hpgs.h: Fixed typo in iline hpgs_image_rop3_chunk(). * src/hpgsmkrop.c, src/hpgssetup.c: Fixed raster operation in a way to work around typos in HP's docs. * src/include.mak: Remove installed shared lib before actually copying it ins install rule. * src/hpgspcl.c: Fixed an endless loop with pcl_fill_scanline for CID encoding 0 (Indexed by plane). 2005-03-02 softadm * ChangeLog: Updated ChangeLog as we approach hpgs-0.7.0 * TODO: Drop a note on raster fill and screened vectors. * src/hpgsreader.h, src/hpgssetup.c, src/hpgspen.c: Implement PC excatly as in HP's spec. 2005-02-27 softadm * src/hpgspcl.c, src/hpgspjl.c, src/hpgsreader.c: Cleanly handle EOF inside PCL. Documented PCL/PJL return values. * src/hpgscharacter.c: Corrected pen positioning avter LB for non-trivial LO's. * src/hpgspen.c: Tolerate PC w/o arg. * src/hpgstransform.c: Set a portrait paper size for PS w/o args. * src/hpgsreader.c: Be much more tolerant with broken or unknown HPGL commands. * src/hpgslexer.c: Added lookahead after comma in order to tolerate commands that end prematurely. 2005-02-24 softadm * src/hpgsscanline.c: Detect horizontal sub-pixel fill areas, which are not hit by any scanline. * src/hpgspcl.c: Do not reset CID parameters when leaving PCL context. 2005-02-23 softadm * src/include.mak: Avoid endless make-loop by usig dep=no in hpgsrop.c rule. * src/hpgslexer.c, src/hpgsmkrop.c, src/hpgsostream.c: Obey a cleaner semantics for va_start/va_end. 2005-02-22 softadm * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c: Pass ROP3 flag onto plugins. * src/hpgsimagerop.c: More assertion. Issue newpath after clip. * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsimagerop.c, src/include.mak: Added ROP3 support for PostScript images. * src/hpgsimage.c: Change 0.0 -> 0 constants in integer initialization. * src/hpgs.h, src/hpgsmkrop.c: Added ROP3 transfer functions. 2005-02-21 softadm * src/hpgspcl.c: Fix PCL coordinate setup for portrait plots. * src/hpgspjl.c: Interpret PJL paper size in PCL units. * INSTALL: Added a note about compiling ROP3 tables from CVS. * TODO: Drop a note about ROP3 incertainities. * build/unix-shared/Makefile: Use force option for ln command. * src/hpgssetup.c: Turn off default transparency for better integration of old-style plots. * src/hpgspaint.c, src/hpgspaint.h, src/hpgsscanline.c: Apply ROP operations to filled polygons. 2005-02-20 softadm * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c, src/hpgsgstate.c, src/hpgsimage.c, src/hpgsimage.h, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/hpgspath.c, src/hpgspcl.c, src/hpgspen.c, src/hpgspjl.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgsscanline.c, src/hpgssetup.c, src/include.mak: Integration of ROP3 support: - Added setrop3 / setpatcol to hpgs_device API. - Added setrop3 / setpatcol to hpgs_image API. - Images have now a ROP3 enabled version of put_chunk/put_pixel. - Implement MC,TR HPGL/2 commands. - Implement PCL ROP3/pattern commands. - Use hpgs_color in hpgs_setrgbcolor. - Use PJL resolution for PCL units/raster resolution. - Correctly move the PCL position after procccessing an image. - Implemented PCL push/pop palette. - Added argument do_rop3 to hpgs_new_png_image. - Added --rop3 --no-rop3 options to main program. * src/hpgsmkrop.c: Changed ROP3 API from color to unsigned char. Generate less temporary stack objects in ROP functions. 2005-02-19 softadm * src/hpgsmkrop.c, src/hpgsrop.dat: Added an ahead-of-time raster operation engine. 2005-02-17 softadm * src/hpgspcl.c: correctly ignore and warn about unimplemented raster compression modes. 2005-02-16 softadm * src/hpgsdevices.c: Make the filename of the plugin dependent on the device name. * src/include.mak: Fixed typo in install rule. 2005-02-15 softadm * release.sh: Added shared Makefiles to distribution. * TODO: Update to reflect 0.6 status. * ChangeLog: hpgs-0.6.0 released. * src/hpgsdevices.c, src/hpgspaint.c, src/include.mak: Minor adaption for mingw build. * src/hpgsdevices.c: Fixed page bbox stack reallocation. * src/hpgsdevices.c: Carefully write %%EOF at the end of each file. * INSTALL, src/hpgs.c, src/hpgs.h, src/hpgsdevices.c, src/hpgspcl.c, src/hpgsreader.c, src/hpgsreader.h: Changed the semantics of hpgs_init(). Specify prefix instead of share path. * src/hpgsbase.c: Allow meter as unit. Fixed documentation typos. * src/hpgs.h: Set version to 0.6.0. Use gcc format attribute to get the most out of -Wall. * src/hpgspaint.c, src/hpgsdevices.c: Allow writing to stdout, when filename is NULL. * src/hpgsimage.c: Fixed clearing extended areas in pim_resize. * src/hpgs.c, src/hpgs.h, src/hpgsbase.c, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsostream.c, src/include.mak: Implemented multipage postscript device: - Added basic paper size and length parsing subroutines. - Adapted hpgs_ostream for usage with stdout. - Implemented papersize handling in hpgs_eps_device. 2005-02-14 softadm * src/hpgs.h, src/hpgsostream.c, src/include.mak: Added an abstract outputstream used to implement a multipage PostScript device. * src/hpgs.c: Allow multiple input documents to be collated. * src/hpgsreader.c, src/hpgssetup.c: Be careful in order to stop interpretation after the last page known to the plotsize device. * src/hpgspath.c: Print PP: unimplemented for verbosity 2, not 1. * src/hpgstransform.c: Don't report plot size, if we have a plotsize device. * src/hpgsbbox.c, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/hpgspaintpath.c, src/hpgspcl.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgsscanline.c, src/hpgssetup.c, src/hpgstransform.c, src/include.mak, src/hpgs.c, src/hpgs.h: More API changes for support of multiple pages with different sizes: - Added getplotsize to the hpgs_device API. - Use setplotsize for multipage devices in order to transfer page sizes from the plotsize device. - Added device capability information to hpgs_device API. - Added a hpgs_bbox helper struct, wihch is used for bounding boxes. - hpgs_plotsize_device now has a real clip stack and calculates the size of each page separately. - hpgs_reader can be fed with more than one file using hpgs_attach(). - hpgs_reader holds a reference to the plotsize device in order to transfer page sizes. - hpgs_read() has now an extra arg for indicating, whether we are processing the last input file. - hpgs_eps_device and hpgs_paint_device now handle multiple page sizes. * src/hpgs.h, src/hpgsreader.c: Renamed hpgs_close() to hpgs_istream_close(). 2005-02-13 softadm * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsimage.c, src/hpgsimage.h, src/hpgspaint.c, src/hpgspaint.h, src/hpgspcl.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgssetup.c: Major API revision in order to allow multipage support: - Added a write() method to images. - Removed hpgs_png_image_write(). - Added hpgs_png_image_set_compression(). - Added hpgs_device_finish(). - Added a page hint to hpgs_showpage(). - Multipage enabled all devices. - Moved the internals of hpgs_png_image to a sepearate private header hpgsimage.h * src/hpgs.c, src/hpgs.h, src/hpgsfreetype.c, src/hpgsreader.c, src/hpgsreader.h: Implemented custom encodings for background stamps. * build/mingw-shared/Makefile, build/mingw/Makefile, build/unix-shared/Makefile, build/unix/Makefile: Added full support for a shared library build. * src/hpgs.h, src/hpgsgstate.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgsreader.h, src/include.mak: Enable ELF/Win32 function attributes for full shared library support. Moved hpgs_gstate to the public API. * src/hpgsreader.c: Implemented O(log(N)) HPGL command lookup in a sorted cmd table. 2005-02-12 softadm * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c: Revision of the plugin mechanism, which has been unused for a long time. 2005-02-09 softadm * htdocs/include/cache.php, htdocs/include/news.php, htdocs/index.php: Minor brush-up. Now using rss-2.0 news. 2005-02-05 softadm * htdocs/index.php: Added documentation link. 2005-02-04 softadm * src/hpgs.h: Set patch version to 2. * src/hpgsreader.h: Finished the documentation of the structure memebers. * src/hpgspaintpath.c: Join inner edges via the center point in order to avoid strange artefacts with short line segments and thick lines. 2005-02-03 softadm * ChangeLog: hpgs-0.5.1 released. * README, src/hpgs.c, src/hpgs.doxycfg, src/hpgs.h, src/hpgsdevices.c, src/hpgsdevices.h, src/hpgsimage.c, src/hpgsistream.c, src/hpgslexer.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/hpgspaintpath.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgsscanline.c, src/include.mak: Finshed integration of first mostly complete doxygen documentation. * release.sh, src/hpgs.h, src/hpgsbezier.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/hpgspaintpath.c, src/hpgsscanline.c, src/include.mak: Finished doxygen documentation of paint device and internals. * doc/images/Makefile, doc/images/clipper.fig, doc/images/eps2png.sh, doc/images/scanline_0.fig, doc/images/scanline_n.fig: Added images for the doxygen documentation. * src/hpgspaint.h: Added doxygen documentation for structures and their members. 2005-02-02 softadm * ChangeLog: Updated ChangeLog * htdocs/index.php: Added status section and notes about PCL. * release.sh: Include ChangeLog in releases. * src/hpgsdevices.c, src/hpgspcl.c, src/hpgsscanline.c: Use the correct include for alloca() under Windows. * INSTALL: Updated installation notes. 2005-02-01 softadm * ChangeLog: hpgs-0.5.0 released. * TODO: Updated TODO for the status of hpgs-0.5.0 * src/hpgstransform.c: Restore SC settings in hpgs_reader_do_IP, which is more conformant with old HPGL files. * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c, src/hpgsdevices.h: Separated device internal into private header file. Corrected an invalid bounding box generated from totally clipped paths. Handle empty bounding boxes with an error message. * src/hpgspcl.c, src/hpgsreader.c: Handle universal exit command in PCL context. * src/hpgslexer.c: Fixed hpgs_reader_read_pcl_int for negative numbers. * src/hpgsimage.c: Fixed pim_resize. * src/hpgslexer.c, src/hpgspcl.c, src/hpgspjl.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgstransform.c, src/include.mak: Added PJL header interpretation. 2005-01-31 softadm * src/hpgsreader.c, src/hpgsreader.h, src/hpgssetup.c, src/hpgstransform.c: Implemented FR command. Revised transformation engine: - Always apply SC settings after changing any other transformation setting. - Retain the orientation, if we encounter multiple IR commands. * src/hpgs.c, src/hpgs.h, src/hpgsdevices.c: Added the possibility to take linewidths into account for the plotsize calculation. * src/hpgsdevices.c, src/hpgspaint.c: Make drawimage methods reports an error for null imagepointers. * src/hpgspcl.c: Don't process image data for the plotsize device. 2005-01-30 softadm * src/hpgspcl.c: Use hpgs_image_set_palette for indexed images. Tolerate broken PCL files with premature ESC-bytes. Fixed direct-by-plane image extraction. * src/hpgs.h, src/hpgsimage.c: Made hpgs_define_color an inline checking for image w/o palette. Added hpgs_image_set_palette with index update. * src/hpgspaintimage.c: Fixed a missing hpgs_image_define_color for uninterpolated image drawing. * src/hpgspaint.c, src/hpgsreader.c: Improved error reporting. 2005-01-29 softadm * src/hpgs.h, src/hpgsdevices.c, src/hpgsfreetype.c, src/hpgspcl.c, src/hpgsscanline.c: Added the possibility to compile the program without using alloca() through -DHPGS_NO_ALLOCA. This makes it possible to supervise the program using valgind-2.2.0 * src/hpgspcl.c, src/hpgsreader.h, src/hpgssetup.c: Implemented even more correct PCL cursor position. Added PCL vertical motion index. Polished the default PCL state to be more conformant with HP's docs. 2005-01-28 softadm * build/unix/Makefile: Added -lz for 'make LDFLAGS=-static'. * src/hpgspaintimage.c: Fixed image drawing with antialiasing activated. * src/hpgs.c, src/hpgs.h, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c: Implemented switch for interpolated or non-interpolated image drawing. * src/hpgspcl.c, src/hpgsreader.c: Minor restructuring of the PCL entry/exit code. Implemented HPGL takeover of PCL pen position. * src/hpgspaintimage.c: fixed an off-by-a-half pixel error. * src/hpgs.c, src/hpgs.h, src/hpgspcl.c, src/hpgsreader.c, src/hpgsreader.h: Add the possibility to dump inline pcl files to a user-defined filename. * src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintimage.c, src/include.mak: Added image drawing for hpgs_paint_device. 2005-01-27 softadm * src/hpgspcl.c, src/hpgsreader.h, src/hpgssetup.c: Implemented PCL image placement. * src/hpgsdevices.c: Fixed eps_drawimage. * src/hpgspcl.c: Fixed some bugs with indexed images. 2005-01-26 softadm * src/hpgs.h, src/hpgsdevices.c, src/hpgsimage.c, src/hpgspaint.c, src/hpgspcl.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgssetup.c, src/include.mak: PCLimage integration cut #1: The interpreter/decoder. 2004-09-22 softadm * htdocs/index.php: Fixed CVS->php conversion of data and author. * htdocs/index.php: Brushed up meta iformation and added keywords. * ChangeLog: Added a ChangeLog file for use with Emacs' 'update ChangeLog' functionality. * htdocs/index.php: Linguisitcal amendements, Make link to EV-i a target="_blank" link. 2004-09-21 softadm * put.sh, release.sh: Helper shell scripts. * htdocs/index.php: Corrected download link. * INSTALL, README, TODO, build/mingw/Makefile, build/unix/Makefile, src/hpgs.c, src/hpgs.h, src/hpgsbezier.c, src/hpgscharacter.c, src/hpgsdevices.c, src/hpgsfreetype.c, src/hpgsimage.c, src/hpgsistream.c, src/hpgslexer.c, src/hpgspaint.c, src/hpgspaint.h, src/hpgspaintpath.c, src/hpgspath.c, src/hpgspe.c, src/hpgspen.c, src/hpgsreader.c, src/hpgsreader.h, src/hpgsscanline.c, src/hpgssetup.c, src/hpgstransform.c, src/include.mak: First public release. * htdocs/include/news.php: Set news update interval to 1h. * htdocs/images/background.png, htdocs/include/cache.php, htdocs/include/news.php: Initial checkin. * htdocs/images/background.png, htdocs/include/cache.php, htdocs/include/news.php: New file. * htdocs/hpgs.css, htdocs/index.php: Initial checkin. * htdocs/hpgs.css, htdocs/index.php: New file. * LICENSE, README: Initial checkin. * LICENSE, README: New file. * TODO: Initial checkin. * TODO: New file.