"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
the uninterpreted source code file.
1 Changes to hp2xx:
3 3.4.4 : 03/06/22
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.
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).
25 page_number was not incremented correctly, especially it should increase
26 at end-of-file to match the multi-page selection algorithm.
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).
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.
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.
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.
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.
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.
86 3.4.4a1: 11.2.03
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.
106 3.4.3: 02/12/29
108 Documentation updates and source indentation.
111 Silenced the "unknown escape sequence" warnings in quiet mode. Added new
112 output mode for CNC G-code (experimental, constant depth)(Michael Rooke).
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
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.
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).
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.
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.
154 Reduced the default raster mode miter limit. Added preliminary code for
155 triangular and square line ends.
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 .
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).
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).
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.
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).
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.
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.
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.
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.
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.
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)
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 ?).
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.
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.
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.
321 PJL preambles with more than one Esc sequence confused the HPGL parser.
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.
329 Andrew Bird implemented a "fat bresenham" to draw true linewidths in the
330 raster modes.
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.
341 V 3.4.2, 02/04/15:
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.
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
365 V 3.4.1, 02/01/28:
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.
399 V 3.4.0, 01/02/09:
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).
410 V 3.4.alpha6, 01/01/08:
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).
421 V 3.4.alpha5, 01/01/01:
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.
434 V 3.4.alpha4, 00/10/10:
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.
450 V 3.4.alpha3, 00/08/??:
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.
459 V 3.4.alpha2, 00/07/20:
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.
475 V 3.4.alpha1, 00/03/05:
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.
504 V 3.3.2 , 00/02/12:
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).
517 V 3.3.1 , 99/11/20:
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.
530 V 3.3.0 , 99/09/30:
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.
536 V 3.3 ALPHA2, 99/09/12:
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.
547 V 3.3 ALPHA, 99/09/01:
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).
563 V 3.30.0, 99/01/31: (unreleased)
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.
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.
585 V 3.20a, 94/02/15:
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.
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"!
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
614 V 3.15a, 94/01/02:
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)
624 V 3.14b, 93/11/23:
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
631 V 3.14a, 93/11/15:
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
641 V 3.13c, 93/10/23 & 93/11/08:
643 -- to_vga.c: Fix in getchar()-handling; bug reported by
644 Uwe Girlich (email@example.com)
645 -- hp2xxinf.tex:Typo causing makeinfo error removed
647 V 3.13b, 93/09/27:
649 -- hp2xx.c: Fix in autoset_outfile_name() prevents crash in pipe mode
650 Improved VAX/VMS "makefiles"
652 V 3.13a, 93/09/03:
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
665 V 3.12f, 93/07/20: (see ./fixes)
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
675 V 3.12e, 93/05/28: (see ./fixes)
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
682 V 3.12d, 93/05/20: (see ./fixes)
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)
691 V 3.12, 93/04/17:
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)
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
727 HGC support now distributed in separate file
729 Other sources moved from ./extras to ./sources
731 V 3.11, 93/01/17:
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
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
745 V 3.03a, 92/12/14
746 Long options & "true size" mode (-t) added
748 V 3.02c, 92/12/10
749 Range of pages (-P a:b) permitted now
750 New mode: "cad" for TeXcad code!
752 V 3.02a, 92/10/20
753 HPGL command LT (line type) now fully supported; bug in eps mode removed.
755 V 3.01d, 92/06/08
756 HPGL commands SM, TL, XT, YT supported
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-"
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
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
777 V 2.18e, 92/02/06
778 X11,Sunview,ATARI: preview; IMG format supported;
779 HPGL parser improved
781 V 2.17, 92/01/12
782 Some debugging; more coherent sources, but no functional changes
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
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
794 V 2.14a, 91/09/08
795 ATARI ST support added.
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.
803 V 2.12, 91/06/20
804 First external release!
805 Rotate option added, debug code removed