"Fossies" - the Fresh Open Source Software Archive

Member "hp2xx-3.4.4/doc/changes" (21 Jun 2003, 39621 Bytes) of package /linux/misc/old/hp2xx-3.4.4.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Changes to hp2xx:
    2 =================
    3 3.4.4 : 03/06/22
    4 
    5 Source indentation (indent -kr -i8) and removal of some dead code.
    6 Added missing menu entry for 'DXF specifics' in Appendix B of the texinfo
    7 source, updated revision number. Updated manpage and reran texi2html to 
    8 update the html version of the texinfo documentation. Corrected drawing 
    9 of filled wedges (WG command, broken by polygon buffer rewrite in 3.4.3). 
   10 Moved version information from hp2xx.c to hp2xx.h to give output drivers
   11 access to the version number if desired.
   12 
   13 3.4.4a9:
   14 Changing the to_png.c 'colour' to an unsigned char in 3.4.3 broke color
   15 PNGs. SP commands in PE mode did not yet update the pen count (important
   16 for raster palette sizing). Added new commandline option -M <pen number>
   17 for remapping of pen 0 drawing commands to any other (ideally unused) pen 
   18 - this is just a workaround for the 8bit palette limitation of the raster 
   19 buffer, which cannot hold 256 colors plus 'empty' background. (Without 
   20 this option, HPGL files that use pen 0 for actual plotting change the 
   21 background color of raster images to its color as a side effect. 
   22 Vector modes are not affected as they do not use a background color).
   23 
   24 3.4.4a8:
   25 page_number was not incremented correctly, especially it should increase
   26 at end-of-file to match the multi-page selection algorithm.
   27 
   28 3.4.4a7:
   29 adapted the optional ttf character plot functions to Bitstream Vera Mono,
   30 added commented-out section for ttf support to makes/generic.mak.
   31 Arcs with 'deviation distance' tolerance were seriously broken due to an
   32 embarrassing typo (badly placed braces).
   33 
   34 3.4.4a6:
   35 hp2xx incorrectly assumed that any user-defined label terminator should
   36 automatically be printed, mishandled DT without parameters (Rich Pasco), 
   37 and completely ignored the optional second parameter in the DT command. 
   38 
   39 3.4.4a5:
   40 Using the -ansi flag with gcc (even suggested by the generic Makefile) would
   41 make it ignore the prototype of the hypot() function on some if not all 
   42 platforms, resulting in a practically unusable binary (NaN in calculation
   43 of image width or height, picbuf overflows in raster modes, etc.). Removed
   44 -ansi from the gcc CFLAGS in generic.mak and added an #ifdef case for the
   45 __STRICT_ANSI__ macro that is set by -ansi to the declaration of HYPOT in 
   46 hpgl.h. Added another workaround for cases (typically labels) where the 
   47 (stupid) wide line miter code would kick in prematurely, adding spurious
   48 lines to the image.
   49 
   50 3.4.4a4:
   51 Reduced the default miter limit in the eps and pdf modes from the arbitrary 
   52 "100" value to 5 to remove strange artefacts particularly visible in text 
   53 rendering. Changed the circle renderer to generate overlapping circle segments 
   54 (needed to render complete circles at huge linewidths) only when not in 
   55 polygon mode. Polygon fillcode was propagating its internal linewidth/spacing 
   56 settings to the general linedrawing code (which could then overflow the raster 
   57 buffer, without adding actual content to the image). Fixed several 
   58 inaccuracies and inconsistencies in the polygon fill code (particularly for 
   59 vertical fills) uncovered by Eugene Doudines new fill.plt test case. 
   60 Special flag S=4 in esc/p2 output now invokes the new color selection commands
   61 for six-color Stylus Photo printers (untested - but a Photo1290 only advances
   62 paper with the old driver).
   63 Fixed some cases in the line pattern generator where a double was compared against
   64 exact zero - which does not work as intended on some platforms such as Solaris.
   65 
   66 3.4.4a3:
   67 
   68 Documentation fixes and updates. Polygon lines were not clipped in some 
   69 cases. Simplified HPGL output could create illegal HPGL (by using exponential 
   70 notation for very small coordinates). Added (optional) conversion of pen 
   71 number and/or width to DXF line color, added more DXF header items
   72 (Georg Viehoever). Made HPGL error handler print 20 characters around the
   73 unparseable command before quitting - the sequence number information alone
   74 was useless for real-world files.
   75 
   76 
   77 3.4.4a2:
   78 
   79 Removed a few debug printf statements introduced in a1. 
   80 Changed PJL header parsing to support linelengths up to the 256 characters 
   81 required by the PJL standard (Eugene Doudine). Added support for the rectangle
   82 mode of the PE statement (Eugene Doudine). Treat NR as a frame terminator
   83 (like PG,AF,AH) instead of just ignoring it.
   84 
   85 
   86 3.4.4a1: 11.2.03
   87 
   88 Revived the 'STROKED_FONTS' stubs in chardraw.c by attaching a truetype
   89 font renderer to them. Requires freetype2 and a fixed-width truetype font
   90 such as the LucidaTypewriterRegular.ttf font included with the Sun Java 
   91 Runtime Environment (not included here - check licensing conditions).
   92 Fixed two bugs in the scanline renderer that could cause it to fill the gaps
   93 in a complex object. Saving and restoring the pen width when drawing characters
   94 requires the current (parse-time) penwidth to be updated (and not just to 
   95 place a command to update the penwidth in the temporary file, which will only
   96 be read at render time) - this is now done by Pen_Width_to_tmpfile(). 
   97 Both xfig and rgip modes were lacking a handler for the pencolor (DEF_PC) 
   98 directive (and would fail on colored input). The rgip mode was still using 
   99 wrong penwidths. Added lots of typecasts and typing fixes suggested by 
  100 'splint -weak'. Removed the '-m486' compiler switch from my personal Makefile
  101 (the one in sources), as some people try to use it directly instead of adapting
  102 the generic one from the makes directory. Added a 'lint' target for code 
  103 checking to same Makefile. Fixed bug that prevented -p with numeric argument
  104 instead of the new A-Z range from working.
  105 
  106 3.4.3: 02/12/29
  107 
  108 Documentation updates and source indentation.
  109 
  110 3.4.3a26:
  111 Silenced the "unknown escape sequence" warnings in quiet mode. Added new
  112 output mode for CNC G-code (experimental, constant depth)(Michael Rooke).
  113 
  114 3.4.3a25:
  115 Small improvements in PCL3GUI support (still not really working, best result
  116 had the designjet500 print strips of the desired image separated by equally 
  117 wide blank areas (it is unclear whether this is due to extraneous paper feed 
  118 commands or to the fact that its native resolution is 600x1200 while the test
  119 case was 600x600dpi). Suppressed miter code for dotted line ends, where it is 
  120 unnecessary (this also works around the remaining bug that could cause stray
  121 lines particularly in characters). Made character stroke width independent of
  122 pen linewidth by default. Implemented kind=6 (stroke width) function of the 
  123 SD/AD command (-7 to +7 translated to 0.01 ... 0.21 mm penwidth, defaulting 
  124 to 0.11 which is close to the hp2xx default penwidth of 0.1. SD6,9999 copies 
  125 current PW value). Handle arc commands with an eps value given as zero (Steve 
  126 Edmonds)
  127 
  128 3.4.3a24:
  129 Wide line miter code still swapped near and far end of preceding line at
  130 will. Hopefully fixed for good now. PCL3GUI does not work yet - best result
  131 had the designjet500 move its printhead across the page several times without
  132 printing or even advancing the page.
  133 
  134 3.4.3a23:
  135 Simplified HPGL output (-mhpgl) did not honor any rescaling done with -h,-w.
  136 Added experimental initialization code for HP 'PCL3GUI' devices, and new -I
  137 command to select it (spells taken from gimp-print, incantation possibly not
  138 quite right).
  139 
  140 3.4.3a22:
  141 Fixed a bug in the miter fill code that could cause gaps in the filled area.
  142 Modified circle drawing code to create an overlapping segment to join the
  143 first and last segments when drawing wide lines. Modified polygon_PicBuf to
  144 draw fill lines directly instead of calling the bresenham code. Removed all
  145 references to (l)rint as they only created portability problems. Line join
  146 logic should be correct now.
  147 
  148 3.4.3a21: 
  149 Some code cleanup (Andrew Bird). Modified criteria for drawing miter sections
  150 to fix some cases where non-consecutive lines were erroneosly joined. Improved
  151 sorting of miter region corners. Still have some pathological cases to study.
  152 
  153 3.4.3a20:
  154 Reduced the default raster mode miter limit. Added preliminary code for 
  155 triangular and square line ends.
  156 
  157 3.4.3a19:
  158 Revised the 'butt miter' code for wide lines - the implementation in a17 was
  159 working more by accident than by design. Caught special cases of PS with zero
  160 pagewidth and of blank IW; with default values of P1,P2 .
  161 
  162 3.4.3a18:
  163 Small changes to improve numerical stability - the LPattern_Generator 
  164 could enter an endless loop on Sun/Solaris due to comparisons of small 
  165 floating-point numbers with exact zero (special thanks for Michael Geary
  166 for access to his Sun).
  167 
  168 3.4.3a17:
  169 Fixed incompletely applied patch for endcap selection in a16. Added 
  170 experimental code for filling the miter section on wide lines to correct
  171 the rendering of arcs and circles drawn with wide pens (replaces the arcs
  172 hack of a16). Fixes size_PicBuf (buffer could be one pixel line too small
  173 depending on penwidths and line endings - this will probably need more work
  174 when (if) we do mitering).
  175 
  176 3.4.3a16:
  177 Reverted line end changes from a15 (thin lines should already be handled in 
  178 other parts of the code, only this was broken in the raster modes). Modified 
  179 IW handling again to accomodate another case. Adapted initialization of line 
  180 parameters in eps and pdf modes for multiple input files(Andrew Bird). Added
  181 bad hack in arc drawing code as a temporary workaround for the missing miter
  182 support in the raster modes (switching to round ends even for wide lines to
  183 avoid leaving holes between the segments of the arc). Another ugly hack now
  184 allows specifying penwidths beyond 0.9mm on the commandline by using capital
  185 letters (A being 1.0mm, and Z 3.5mm). Keep EP from drawing the final edge
  186 if it was created by implicit closure while in pen up state (fixes files
  187 generated by transfig, which were broken by the addition of implicit closure
  188 support). Probably need to keep track of penstate for individual edges - EP 
  189 edges only pendown moves, while FP fills regardless of penstate. Made frame
  190 selection in multi-image files (-P option) work again. 
  191 
  192 3.4.3a15: 
  193 Fixed bug in a14 that set all pencolors to black unless explicitly defined
  194 using -c. Rewrote IW parameter shuffling to fix all known cases including
  195 those that a14 broke.  Line ends were erroneously defaulted to butt-shaped 
  196 instead of rounded for thin lines. Reduced pensize used for polygon fills, 
  197 and removed check for duplicate intersections. Removed leftover file named
  198 sources/outfile that had somehow crept into the a14 source tree. Fixed 
  199 output format for linewidths in svg export. Applied HPGL-to-MM scaling factor
  200 to SVG viewbox, not just to the coordinates (Robert Hancock). 
  201 
  202 3.4.3a14:
  203 Reset default colors only if they were not overridden by the -c option.
  204 Reset penwidths and IW clipping flag between plots.
  205 Fixed several memory leaks in output filename generation and png output. 
  206 Fixed PJL header misinterpretation introduced with the treatment of unknown 
  207 esc sequences. Added missing $(EX_DEFS) in HPUX section of generic.mak.
  208 Added special treatment of AF/AH as for PG (AF at end caused crash). Fixed
  209 IW handling for P2<P1. 
  210 
  211 3.4.3a13: 
  212 reset outfile name between files in multiple-file mode (unless a common
  213 basename was declared via -f) to ensure generation of correct output file 
  214 names.  Reset default pencolors on IN or DF.
  215 
  216 3.4.3a12:
  217 S1,S2 were not initialized by IP (Problem uncovered in a11, and reported by
  218 Bengt-Arne Fjellner). Usage message was printing zeroes for the penwidth
  219 string. Rephrased the description of the penwidth and color options - it now
  220 mentions the relation between digit position and pen number, and lists the
  221 corresponding colors for 0-7 instead of refering to the manual. Also mentions
  222 that the range of valid output modes is a property of that particular binary.
  223 More cleanup of to_pdf.c and equivalent changes to to_eps.c (color, miter,join
  224 support) by Andrew Bird. Updated documentation. Added line cap/join support
  225 in to_fig.c, adapted minimum linewidth requirements to get it to draw normal
  226 width lines again. Moved calculated anchor point for polygon fills by 0.5 units
  227 to avoid missing borderlines. Added sanity check for out-of-area scanlines to
  228 the vertical fill function as well.
  229 
  230 3.4.3a11:
  231 Rectangle drawing was broken by the vertex buffer changes in a8. The multi-file
  232 mode added in a10 crashed in previews because it tried to generate output file 
  233 names. Added an instruction counter for HPGL commands - this also helps decide
  234 whether to generate another output file (otherwise PG at end would be required)
  235 a10 based that decision on the number of commands currently in the temporary
  236 file, but this may change depending on how many initialisation code is moved 
  237 there. Moved the line attribute initialization from the temporary file to
  238 global parameters (need to check back with Andrew Bird if this is correct).
  239 Changed wedge code to use the polygon buffer instead of private storage.
  240 Added experimental line join/miter support in PDF output (Simon Milton,using
  241 the framework already built by Andrew Bird). Moved call to init_HPGL to ensure
  242 it is called only once even for multiple files (else PG would imply IN).
  243 Some cleanup in PS/IW/RO - all files from my collection can be rotated without
  244 undue clipping again. Esc E is no longer flagged as an invalid sequence.
  245 Andrew Bird cleaned up to_pdf.c, using filled circle for PLOT_AT instead of
  246 short line. Added OW (output clipping window) command.
  247 
  248 3.4.3a10:
  249 
  250 another change in the endless RO/IW saga. And a fix for IP with P2.y < P1.y.
  251 Added a loop in std_main/hp2xx.c to allow dissecting plotfiles that contain
  252 several images. Previous versions would plot all in the same frame, now you
  253 get a neat set of numbered output files (or a slideshow-like preview). Replaced
  254 the tmpnam() in to_tif.c with a mkstemp/dup combination - not sure if anybody
  255 even wants to send TIFF output to stdout, as most if not all viewers will need
  256 random access to the image because of its complicated structure (which is also
  257 the reason why we need a temporary file here at all). This is mostly to silence
  258 the annoying warning in GNU ld, and non-Unix platforms still use the old,
  259 potentially insecure code for portability reasons. Added support for IR, but
  260 this is largely untested as i have yet to find a file that does more than
  261 the default "IR0,100,0,100". ifdef'd out Werntges' sanity checks on the 
  262 of -o/-O offsets in std_main.c. There may well be valid reasons for negative
  263 offsets (printing on DJ970cx is said to be a case), and maybe even for offsets
  264 bigger than the width or height of an A4 page.
  265 
  266 3.4.3a9:
  267 
  268 still looking for correct defaults for AC. Reactivated polygon vertex storing
  269 code in line() - not sure if the real problem is with PM1 handling. The code
  270 i added to support Color Range caused strange colors for all but the primary
  271 colors, as i managed to invert the scaling factor. Ouch. Added 
  272 TIFFTAG_ROWSPERSTRIP to the TIFF header in to_tif.c - apparently required 
  273 by the standard, definitely required by at least one program. Value seems
  274 to be -1 by definition for compressed files, and happens to be 1 for the
  275 uncompressed files because all the code does is dump the individual scanlines. 
  276 The 'pentip dots' introduced for PUPDPU sequences got drawn for PDPA as well,
  277 which messed up the drawing of dashed lines (pattern disruption between what
  278 should be consecutive lines, as the dot drawing forced a move command)
  279 
  280 3.4.3a8:
  281 
  282 moved the vertex adding stuff to a new function that updates the extents of
  283 the drawing as well - previously vertices that were only used as boundaries
  284 for filling, not edging, polygon, did not enter into the size calculation.
  285 Tried to achieve a more sensible initialization of AC - 0,0 as in alpha7 is
  286 plain stupid, but the "physical extents" is a somewhat dubious thing in hp2xx,
  287 and the actual limits are not yet known when the IN or plain AC is seen.
  288 Modified the warning message code to make sure that the "unsupported charset"
  289 message is printed only once per SD, not once per character.
  290 The seeming IW brokenness was not in hp2xx but in the program that created the
  291 strange test file, so i have reverted the change from a7, which makes some
  292 correct files display again.
  293 Some fixes by Bengt-Arne Fjellner: usage message was printing garbage 
  294 in description of -p (because of penwidth type change), EMF files were 
  295 upside down, and microsoft platforms seem to need a replacement for 
  296 rint/lrint (actually some non-MS platforms may need this as well - not sure 
  297 if everybody does obey C99 already ?).
  298 
  299 3.4.3a7:
  300 Stray Escape chars in the HPGL code are reported and ignored (one guy was 
  301 trying to use esc-prefixed commands in his code because he was too familiar 
  302 with PCL). Guess what, there was still some brokenness in IW/SC handling.:-(
  303 Fixed some wreckage from the penwidth type change in to_emf.c and added the
  304 ability to create EMF files on UNIX with libEMF. Added VS and CR support.
  305 Added -e for extra margin around IW (at least one commercial code miscalculates
  306 its clip boxes, cutting of text from spectra). FP with --nofill now does EP,
  307 so fat lettering done with just FP does not simply vanish.
  308 
  309 3.4.3a6:
  310 PM2 now closes open polygons automatically. Anchor corners for fill patterns
  311 were defaulting to P1 which could be undefined or unsuitable at that time.
  312 Added some whitespace between operators and constants to work around what
  313 is most probably a compiler bug on HPUX 11 with ansi CC.
  314  
  315 3.4.3a5:
  316 Most of the LA line ending options are now supported, thanks to Andrew Bird.
  317 X11 previewer was leaking memory when zooming, but valgrind found that.
  318 to_pdf sometimes got confused about when to begin and end its stroke paths.
  319 
  320 3.4.3a4:
  321 PJL preambles with more than one Esc sequence confused the HPGL parser.
  322 
  323 3.4.3a3:
  324 Several optional arguments to SD,AD and BP were not handled, causing strange 
  325 results.  Extremely short lines could confuse the line pattern generator 
  326 into drawing the gaps instead of the lines. 
  327 
  328 3.4.3a2:
  329 Andrew Bird implemented a "fat bresenham" to draw true linewidths in the
  330 raster modes.
  331 
  332 3.4.3a1:
  333 Ignore broken SC. Fix AC to not always calculate scan lines across the 
  334 whole canvas for each polygon. Use 8bpp pixel buffer only if large pen
  335 numbers are actually used, not just defined - lots of programs do NP255
  336 by default. Fixed stupidity where IW/RO interaction could cause unwanted
  337 image cutoff on rotation. to_pdf could overflow the y coordinate, inverting
  338 one half of the image onto the other. Dots for PUPDPU were not clipped by IW.
  339 to_dxf now writes a more elaborate header. 
  340 
  341 V 3.4.2, 02/04/15:
  342 
  343 Added support for AC and CT. Added color support to SVG output module, and
  344 added a new output module for JPEG images, based on libjpeg.
  345 Bugfixes: 
  346 - SVG output mode could not be selected on the commandline
  347 - PDF and EPS modes were not always generating penwidth commands on pen changes
  348 - Polygon mode was influencing the overall pen up/down state
  349 - PM1 immediately after PM was not setting the new starting point correctly
  350 - FT instructions did not store/recall hatch spacing and angle correctly
  351 - X11 preview always used black for pen 1
  352 - Polygon fill algorithm did not handle parallel bounding lines correctly,
  353   and could draw lines beyond the limits of the polygon in some cases.
  354 - the commandline interpreter now handles mis-spelled or unknown long
  355   options gracefully (Serge Ivanchenko)
  356 - PDF output was only about 1/3 the intended size
  357 - handling of RO/IW was broken (again) for the unscaled case (no SC)
  358 - PNG output was still using a fixed eight pen palette
  359 - raster modes were limited to 15 pens due to restrictions of the internal
  360   picture buffer (higher pen numbers were either mapped to black or scaled
  361   to the accessible range, depending on output format)
  362 - DXF output had leading whitespace in layer numbers (Patrice Pinel)
  363 - EPS output still had oversized margins
  364 
  365 V 3.4.1, 02/01/28:
  366 
  367 call line_PicBuf with pt.width scaled by HP_to_xdots/10./0.025 to achieve
  368 more sensible translation from metric penwidths to integer multiples of a
  369 pixel in picbuf.c (Gerhard Buergmann; requires different pensizes correction
  370 in size_PicBuf as well). Added function bezier for the cubic bezier curves
  371 (BR,BZ) to hpgl.c - need real-world cases for testing. Added #ifdef'd code
  372 to stdmain.c that opens stdin/stdout in binary mode on windoze. to_pcx.c
  373 still had one of my eloquent fprintf statements from the debugging phase.
  374 charset2.h was missing a comma in the declaration of the degree sign. 
  375 Finally identified(?) Werntges' default setting of P1,P2 to A4-size paper 
  376 with margins as the cause of strange offsets and bad cliping ranges. 
  377 Joe Greens patch suggested using A3 dimensions (the largest size a 7550 could
  378 handle), i've decided to try A0 unless that blows up something somewhere.
  379 read_string() in hpgl.c was treating '\0', a valid no-op control character 
  380 in HPGL, like an ordinary character, accidentally terminating the label at 
  381 that point. Added charsets 9,30-39 (by selecting appropriate characters from 
  382 sets 0 and 7). Changed status of 'CV' (curved line generator)  command from 
  383 'unsupported' to 'not applicable' in hp_cmds.lst, as it is basically a pause 
  384 command that makes no sense for an emulation. Modified X11 previewer to allow
  385 terminating the program by keypresses or mouse clicks on the preview window,
  386 and to allow moving(paning) about a drawing that is larger than the available
  387 screensize (Based on patches and suggestions by Yuri Strelenko). Updated the
  388 manual page. Changed load_pen_color_table to return -1 instead of 0 on failure,
  389 as assigning and retrieving the color of pen 0 is a valid action in HPGL2. The
  390 previous code would gladly store PC0,255,255,255, but panic with a spurious
  391 'unexpected end of temp. file: SUCCESS' in the output module. Added the math
  392 fonts (Ventura math and the related PS math), as they contain greek characters
  393 and other symbols that might appear in scientific or engineering plots (after
  394 receiving a sample file from Bengt-Arne Fjellner that used several characters
  395 from ventura math). I do not claim to be an artist, and Werntges' encoding 
  396 scheme does not simplify matters, but all glyphs should at least be 
  397 recognizable. Added SVG output. Fixed some polygon-related problems.
  398 
  399 V 3.4.0, 01/02/09:
  400 
  401 case CI in hpgl.c did not yet feed the polygon buffer (and adding it
  402 immediately uncovered a bug in fillpoly.c - needed to check for coinciding
  403 start- and endpoint of fill lines, as they may occur for circle segments)
  404 Default case in chardraw changed to substitute the corresponding font 0 
  405 character instead of a blank - this makes much more sense at least for the
  406 ISO 646 international fonts 30-39. Fixed the IW clipping of labels - scaling 
  407 is now taken into account correctly. Added no-ops for EC (enable cutter) 
  408 and NR (not ready, i.e. pause plotter).
  409 
  410 V 3.4.alpha6, 01/01/08:
  411 
  412 lindef.c had two SCHARS that should be ints, and abs that should be fabs.
  413 In hpgl.c, case PS used MAX(myheight,xmax) when width was not given, instead
  414 of p2.y. The case of height<width was not handled (rotates frame of reference),
  415 we now simply swap width and heigth. The scale/rotate transformation was applied
  416 twice, leading to unnecessary whitespace around plots (duplicate code - bah).
  417 lines() now adds 'pen dots' only if the 'PU without parameters' occured as the
  418 first command in its current invocation (to avoid acting on PD0,0,1,1,...,PU).
  419 
  420 
  421 V 3.4.alpha5, 01/01/01:
  422 
  423 Fixed a bug in the line() function - a stupid if-else sequence added two
  424 MOVE_TOs instead of one when the iwflag was set. This made the pattern
  425 generator reinitialize at each stroke of a polyline, ruining the line pattern.
  426 Changed function lines() to create a small dot for PDPU sequences without 
  427 lateral movement, as a real pen plotter would do. (Some oscilloscope software 
  428 apparently dumps a screen image that way - ouch).
  429 Andrew Bird found and squashed the real IW bug i introduced in with my code
  430 cleanup and function prototyping in alpha3, and provided a rewrite of the 
  431 linetype code, adding linetypes 7,8 and UL in the process. 
  432 
  433 
  434 V 3.4.alpha4, 00/10/10:
  435 
  436 Added linewidth handling code and TIFF compression selection via the -S
  437 switch (both patches by Andrew Bird). Wrote similar handling scheme for
  438 pen colors in the Postscript driver - handling the raster modes will be
  439 much harder. Updated the documentation. Reverted some alpha2 changes to
  440 the IW/SC/PS handling that could cut off half of the plot. Added small
  441 tolerances to the clip ranges to avoid numerical problems. Added function
  442 prototypes and fixed variable declarations. Revived the Epson driver (using
  443 the excellent gimp-print driver by Kramitz et al. as documentation) so that it
  444 actually does something. It is limited to A4 format and produces very slow-
  445 printing code (using only one row of nozzles) at the moment, but at least 
  446 it does not require ghostscript on the same machine. Cleaned up the fill code
  447 a little. Since alpha2, some input paths were accepted without creating an 
  448 appropriate name for the output file.
  449 
  450 V 3.4.alpha3, 00/08/??:
  451 
  452 Added forgotten references to fillpoly.(c,o) to all Makefiles.
  453 Changed pattern definition for LT-2 in LPattern_Generator (lines were 
  454 twice their expected length) (John Reeve). Reinstated scaling of XT/YT
  455 tick marks in the special case of SCaling (bug introduced in 3.3.0 by a
  456 well-meant fix for the non-SC case). Added command line switch to turn
  457 off the polygon filling code.
  458 
  459 V 3.4.alpha2, 00/07/20:
  460 
  461 Fixed several numeric problems in the scanline fill code, and removed
  462 (commented) the debugging code that stored outlines and scanlines in the
  463 temporary file. Adapted penwidth correction for picbuf to new decipixel
  464 width scheme. Fixed PW code to map penwidths less than 0.1 to .1 
  465 Added a patch to provide a message window for the OS/2 viewer. Added build 
  466 instructions for NT. (both untested by me)
  467 The X11 previewer no longer aborts when the preview window exceeds
  468 the size of the screen.
  469 Changed the outfile name check from isalpha to isascii to allow relative
  470 filenames and names that start with a number. Fixed the broken header code
  471 in the new epson module, but still did not get it to work. I will probably 
  472 drop it again from 3.4, unless i receive requests and/or documentation for 
  473 esc/p2 output. 
  474 
  475 V 3.4.alpha1, 00/03/05:
  476 
  477 Added ER (edge rectangle relative), WU (pen width unit) and the 'arc through
  478 three points' commands AT and RT. 
  479 Started work on polygon and fill modes - FT (filltype), PM (polygon mode), 
  480 EP (edge polygon), FP (fill polygon), WG (filled wedge), RA (filled rectangle 
  481 absolute) and RR (filled rectangle relative).
  482 User-defined fill types are not yet supported, and the handling of pattern 
  483 angles is not always correct.
  484 Fixed a problem with IW after SC - IW parameters were always treated as
  485 plotter units, but SC imposes user units (reported by Gerhard Buergmann).
  486 Incorporated a set of patches provided by Eugene Doudine that make the
  487 parser more robust by checking both characters of a command and providing
  488 an error exit for broken PE parameters (previously hp2xx could get into an
  489 endless loop getting and ungetting characters from the input). His patches
  490 also rearrange the line drawing functions (PE_line removed, lines reduced
  491 to reader part for PU/PD/PA, new function line() as common backend with
  492 clipping etc.), add anisotropic scaling support (SC types 1 and 2) and
  493 parser functions for PJL and RTL headers.
  494 Investigated PCX colormap problems reported by Christian Steigies - the
  495 current code in to_pcx.c is not really suited for output of non-primary
  496 colors, and the palette seems strange. Changed a few palette entries so
  497 that black-and-white plots do not get a dark red background and switched
  498 back to the original color masking code. Should probably switch to PCX5
  499 24bit image generation (better PCX format documentation needed).
  500 Started work on an Esc/P2 output module for the Epson Stylus inkjet
  501 models, which do not understand PCL. Untested and probably does not work.
  502 
  503 
  504 V 3.3.2     , 00/02/12:
  505 
  506 Added flags to make the command line options -c and -s override any PC or PW 
  507 commands in the HPGL file. (One can now force monochrome output from a color 
  508 hpgl file again, and work around silly programs that use global PW at every 
  509 pen change). Fixed autoscaling of plot in landscape mode and interpretation
  510 of PE pen change commands. Removed artificial A4 page limitation in Postscript
  511 mode. Documented the automatic selection between PBM and PPM file formats 
  512 done in pbm mode. Changed color for 'black' pen in to_x11.c from (light) 
  513 gray to gray10. Added TIFF output module provided by M.Liberi after changing 
  514 requested compression from LZW to DEFLATE, added TIFF and PNG defines to 
  515 generic.mak. Added support for DV (vertical text).
  516 
  517 V 3.3.1     , 99/11/20:
  518 
  519 Changed handling of PS/RO to finally(?) eliminate the scaling problems.
  520 Corrected xfig file header (had FIG3.2 title but 3.1-style parameters). 
  521 Added Solaris/SunOS 5.x options for generic.mak (suggested by Wolfram Wagner),
  522 fixed all files in generic.mak that did not yet include to_fig.c and clip.c.
  523 Fixed DR/DI implementation to do correct initialization when called without 
  524 parameters, changed text height factor to better resemble plotter output, 
  525 (re)allocate LB strings dynamically instead of imposing arbitrary limit on 
  526 label length (patches supplied by Georgy Salnikov). Completed PE support.
  527 Cosmetic changes to compile without warnings with gcc -Wall. 
  528 Added Michael Schmitz' current email address in to_png.c.
  529 
  530 V 3.3.0     , 99/09/30:
  531 
  532 Corrected scaling of PS with RO and -r. Corrected positioning and scaling
  533 of clipping box for LB with IW. Removed BF from the list of unsupported 
  534 commands, as none of my HP-GL references mentions such a command.
  535 
  536 V 3.3 ALPHA2, 99/09/12:
  537 
  538 Corrected interpretation of PW (parameter list was backwards and there
  539 was no provision for the 'default' cases),  added support for NP and
  540 >8 pens, added PS (plot size) command to accurately reproduce page
  541 position, added EW (edge wedge) command support. Removed improper scaling
  542 of tick marks in ax_ticks(). Corrected rect(), which was advancing the
  543 pen position after an EA.
  544 
  545 =====================================================================
  546 
  547 V 3.3 ALPHA,  99/09/01:
  548 
  549 Incorporated PNG support (patches by Michael Schmitz as packaged
  550 by Lars Koeller for FreeBSD) and partial support for the PE command
  551 (by Eugene Doudine). Added more character sets, so that 0-7 are now
  552 supported (although some glyphs may be ugly or even wrong, they were
  553 drawn after the small illustrations in an old plotter manual). Added
  554 PenColor and PenWidth commands from HPGL/2 (not yet supported in the
  555 old Sun and OS/2 output modules - help needed for these platforms).
  556 PCL initialization sequence changed to use maximum available area in
  557 "-t" mode and generate paper selection commands for formats larger than
  558 A3 (untested).
  559 
  560 =====================================================================
  561 
  562 
  563 V 3.30.0, 99/01/31: (unreleased) 
  564 
  565 First version packaged by new maintainer (this is what you get when you
  566 ask where to send patches for an orphaned project).
  567 Output functions for xfig (by Ian McPhedran) and gnuplot (by Emmanuel Bigler).
  568 Support for the HP-GL commands IW (clipping) and CS (character set selection),
  569 implementation of character sets 5 (Special Symbols) and 7 (HP Roman8 
  570 Extensions), and support for 8bit addressing of charset 7 from charset 0.
  571 PCL initialization sequence now includes appropriate paper size selection 
  572 when in "-t" mode (European A4 and A3 formats only), as some (most?) printers 
  573 do not select the larger size automatically.
  574 
  575 
  576 
  577 ======================================================================
  578 
  579 NOTES:
  580      o  Intermediate versions have not been made publicly available.
  581      o  Letters at end of version number indicate small changes like
  582         source restructuring or minor bug fixes.
  583 
  584 
  585 V 3.20a, 94/02/15:
  586 
  587 This release contains major modifications. Besides a lot of cleamup it
  588 deals with the introduction of high-level functions which represent
  589 the different conversion phases of hp2xx. These may be called by *any*
  590 user front-end, not just the traditional command line interface.
  591 
  592 My intention is to facilitate the introduction of various graphical
  593 user front-ends. If you want to add one, study function "action_traditional"
  594 and read the comments in "hp2xx.h"!
  595 
  596 
  597 	-- hp2xx.h:     Re-structured! Options & parameters now separated into
  598 	                three groups: General / for input / for output conversion
  599 	-- hp2xx.c:     Now with high-level routines suitable for future
  600 	                GUI front-ends.
  601 	                CLI functions incl. main() moved to "std_main.c"
  602 	-- std_main.c:  New file! Keeps functions for traditional command line interface.
  603 	                PCL mode now also accepts 600 DPI.
  604 	-- hpgl.c:      Bug fixed: Gap in min/max determination caused later crash
  605 	-- to_pbm.c:    Color supported + compact binary format (by Ian McPhedran)
  606 	-- most files:    o  Adapted to new parameter structs
  607 	                  o  Re-organized
  608 	                  o  Use of "const"
  609 	                  o  Better error recovery
  610 	                  o  Direct output to stderr now eliminated (see std_main.c)
  611 	Plus all changes later than 3.14a
  612 
  613 
  614 V 3.15a, 94/01/02:
  615 
  616     Suggestions by Lawrence Lowe:
  617 	-- to_pcl.c.c:  Effects of -o -O with and without -i more consistent
  618 	-- hpgl.c:      New option: -C (center mode); affects -o -O
  619 	-- chardraw.c:  Symbol plotting now with more general symbol centering
  620 	-- hp2xx.c:     Warning "DPI setting is no ..." suppressed in DeskJet modes
  621 	-- hpgl.c:      Second parameter of ES now optional (default 0)
  622 
  623 
  624 V 3.14b, 93/11/23:
  625 
  626 	-- to_pcx.c:    Color mode working again - though CLUT still has no effects
  627 	                (by R. Frahm, DESY, Hamburg)
  628 	-- hp2xxinf.tex:More typos fixes
  629 
  630 
  631 V 3.14a, 93/11/15:
  632 
  633 	-- to_eps.c:    Code now closer to Adobe EPSF structuring conventions
  634 	                (thanks to Nelson Beebe for his detailed report)
  635 	-- generic.mak: install-exe --> install-bin
  636 	-- hp2xxinf.tex:Typos fixes
  637 	Plus all changes later than 3.13a
  638 
  639 
  640 
  641 V 3.13c, 93/10/23 & 93/11/08:
  642 
  643 	-- to_vga.c:    Fix in getchar()-handling; bug reported by
  644 	                Uwe Girlich (girlich@aix520.informatik.uni-leipzig.de)
  645 	-- hp2xxinf.tex:Typo causing makeinfo error removed
  646 
  647 V 3.13b, 93/09/27:
  648 
  649 	-- hp2xx.c:     Fix in autoset_outfile_name() prevents crash in pipe mode
  650 	                Improved VAX/VMS "makefiles"
  651 
  652 V 3.13a, 93/09/03:
  653 
  654 	-- hp2xx.c:     Wait() --> NormalWait(); -m hpgl added; -Pn:m parser modified
  655 	-- hp2xx.h:     A few new #define's (VAX-VMS needs them); rect() prototype
  656 	-- hp2xx.c:     Wait() --> NormalWait(); -m hpgl added; -Pn:m parser modified
  657 	-- hpgl.c:      Support for EA (rect() added)
  658 	-- to_mf.c:     Mode 5 (Simple HP-GL) added
  659 	-- to_pm.c:     Minor changes to match emx 0.8g header
  660 	-- to_pcl.c:    Compression only in Deskjet modes
  661 	-- to_uis.c:    Minor fixes
  662 	Plus all changes later than 3.12a
  663 
  664 
  665 V 3.12f, 93/07/20: (see ./fixes)
  666 
  667 	-- hp2xx.c:     SilentWait() better adapted to UNIX pipes (A. Bagge)
  668 	-- hp2xx.h:     A few prototypes added
  669 	-- to_os2.c:    Updated (H. Szillat); working in combination with to_vga.c
  670 	-- to_pcl.c:    TIFF compression (mode 2) added
  671 	-- to_vga.c:    Minor adaptations
  672 	-- generic.mak: Fix for OS/2 full-screen version
  673 
  674 
  675 V 3.12e, 93/05/28: (see ./fixes)
  676 
  677 	-- hp2xx.h:     "Binary vs. text mode" finally added for OS/2, too
  678 	-- to_os2.c     (by H. Szillat) added to distribution
  679 	-- generic.mak: Minor improvements around OS/2, emx versions
  680 
  681 
  682 V 3.12d, 93/05/20: (see ./fixes)
  683 
  684 	-- hpgl.c:   Bug fix for LB/PR problem (by W. Eric Norum),
  685 	             LT1 pattern adjustment
  686 	-- to_eps.c: BoundingBox corrected for max pen width
  687 	-- to_pcl.c: Code for end-of-raster-graphics corrected
  688 	-- hp2xx.c:  Option --version added (GNU standard)
  689 
  690 
  691 V 3.12, 93/04/17:
  692 
  693 	-- New makefile for ATARI
  694 	-- ATARI only: Support for mode "cs" (Chr. Strunk's TeX specials)
  695 	-- New ATARI previewer
  696 	-- charset.h: `0' without slash now, according to HP-GL charset 0
  697 	-- chardraw.c:
  698 		Prepared for multiple fonts;
  699 		Bug fixed: 8-bit char codes won't crash hp2xx
  700 		plot_user_char() added (code by A. Treindl)
  701 	-- hpgl.c:
  702 		Arcs/circles now properly closed (occasional tiny gaps removed)
  703 		Bug fixed: SC followed by draw (without move) misplaced a point
  704 		Serious bug fixed in the line type (LT) pattern generator
  705 		Exception fixed in LT pattern generator
  706 		hypot() problem fixed (DOS)
  707 		UC supported
  708 	-- picbuf.c:
  709 		Always use 4 bits per pel in color mode (and 1 in b/w mode)
  710 		New encoding scheme for color codes:
  711 			nybbles instead of bit planes
  712 			--> more mem, but faster access in color mode
  713 		Obsolete type "DotBlock" finally replaced by "Byte"
  714 	-- to_pcl.c:
  715 		CMYK color support (for HP Deskjet 550C) added
  716 	-- to_mf.c:
  717 		Bug fix in "cad" mode (\emline statement lines now end with '%')
  718 	-- to_eps.c:
  719 		VM report lines are suppressed in 'quiet' mode
  720 		BoundingBox: improved rounding (using floor and ceil)
  721 
  722 	-- Much better generic makefile for many UNIX systems;
  723 		   improved special makefiles
  724 	-- Files re-organized (./extras removed):
  725 		"amigalib.zoo" now distributed as separate file
  726 			"hp2xx.amigalib.zoo"
  727 		HGC support now distributed in separate file
  728 			"hp2xx.hgc.showit.zoo"
  729 		Other sources moved from ./extras to ./sources
  730 
  731 V 3.11, 93/01/17:
  732 
  733 	-- New makefile for Amiga
  734 	-- Root directory renamed to hp2xx311 to make life easier
  735 	   for DOS-based people
  736 	-- File ownerships now rw-rw-rw
  737 	-- code_to_ucoord() in chardraw.c:
  738 		Reported bug (on RS6000 ONLY!) fixed
  739 
  740 V 3.10, 93/01/09
  741 	First release of sources as hp2xx.3.1.0.tar.Z under GNU conditions!!
  742 	CMY color for Deskjet (PLC), option -S now with parameter;
  743 	minor corrections
  744 
  745 V 3.03a, 92/12/14
  746 	Long options & "true size" mode (-t) added
  747 
  748 V 3.02c, 92/12/10
  749 	Range of pages (-P a:b) permitted now
  750 	New mode: "cad" for TeXcad code!
  751 
  752 V 3.02a, 92/10/20
  753 	HPGL command LT (line type) now fully supported; bug in eps mode removed.
  754 
  755 V 3.01d, 92/06/08
  756 	HPGL commands SM, TL, XT, YT supported
  757 
  758 V 3.00f, 92/05/25
  759 	Up to seven colors (some modes)! Multiple-input handling; log files;
  760 	auto-generation of output file names; output to stdout via "-f-"
  761 
  762 V 2.20d, 92/04/14
  763 	Symmetrical use of -h (height) and -w (width) options, new defaults:
  764 	200 [mm] for both -h & -w. Picture will always fit into a window
  765 	given by -h and -w
  766 
  767 V 2.20c, 92/03/03
  768 	Arcs, circles, fonts (Charset 0), pages, and many more commands supported
  769 	ATARI-ST binary file added (only old version of hp2xx - sorry)
  770 	DOS/386 binary file added (compiled with DJ Delorie's GNU-C version)
  771 		WARNING: hp2xx386.exe's previewer tries to activate 800x600 SVGA mode!
  772 	New modes: -m em (emTeX-specials), -m epic (epic macro \drawline)
  773 	Modes pic & pac only supported in (outdated) ATARI version
  774 	HPGL parser much easier portable and more tolerant to HPGL syntax variations
  775 	Bugs in character scaling fixed; LO now fully supported
  776 
  777 V 2.18e, 92/02/06
  778 	X11,Sunview,ATARI: preview; IMG format supported;
  779 	HPGL parser improved
  780 
  781 V 2.17, 92/01/12
  782 	Some debugging; more coherent sources, but no functional changes
  783 
  784 V 2.16a, 91/11/21
  785 	ATARI mode reduced again to simple "pic" format,
  786 	support of "LT;", "LT0;" (for point plotting),
  787 	support of different pens ("SP;", "SP0;"..."SP8;"),
  788 	internal changes (faster now), more flexible MF syntax
  789 
  790 V 2.14b, 91/10/10
  791 	ATARI mode: New file name convention, adapted to STAD
  792 	hp2xx.dvi:  Now part of distribution package
  793 
  794 V 2.14a, 91/09/08
  795 	ATARI ST support added.
  796 
  797 V 2.13a, 91/06/30
  798 	PostScript support added.
  799 	Warning: Due to lack of local resources, PostScript format could
  800 		 not be thoroughly tested. Please consider the PostScript
  801 		 part as in "beta" state and report all problems.
  802 
  803 V 2.12,  91/06/20
  804 	First external release!
  805 	Rotate option added, debug code removed