1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262
|
Version 2.0 released, 1/98
Installation process now installs (by default in subdirectories of
/usr/local/share) documentation files for ode, tek2plot, and libplot.
libplot: a new type of Plotter added. An `X Drawable Plotter' will draw
graphics to one or two drawables (e.g. a window and a pixmap).
spline, tek2plot: "-" on command line now means standard input.
libplot: function declarations in plot.h header file now use `const char *'
as appropriate. parampl() now takes a void * as value argument.
libplot: semantics of "disconnected" linetype clarified. For ellipses,
circles, and boxes it's the same as "solid". For paths, it means
the defining points are plotted, and nothing else (it's irrelevant
whether they were joined by line segments or arcs).
libplot: invoking deletepl() on an XPlotter now sends a SIGKILL to the
forked-off processes maintaining each of the X windows generated by a
openpl()..closepl() pair, causing said X windows to vanish.
libplot: metafile driver now has access to metrics for Hershey, PS, and PCL
fonts. So it can compute string widths with the labelwidth() method.
libplot and plot: graphics metafile format now supports `open device'
and `close device' directives, as in Plan 9.
spline: -x option (--x-limits) replaced by -t (--t-limits), in preparation
for a move to multidimensional splining. --tension option moved
accordingly from -t to -T. Yes, this smacks of overloading.
libplot: box() now moves graphics cursor to midpoint of the box, not
the second-specified vertex.
graph, spline, double: support for two additional binary input/output formats,
namely single-precision floating point and integer.
libplot: new user-settable error handlers added as global variables
(libplot_error and libplot_warning; former is fatal).
plotutils: package converted to use automake and libtool.
libplot: falabel() dropped from the API, and alabel() no longer returns
a value related to the width of the label. This is in preparation
for a more object-oriented version of the library. If you need
to get the width of a label, use flabelwidth() or labelwidth().
libplot: undocumented dot() function dropped from the API. Seems last
to have been used in Unix libplot on PDP-11's in the mid-'70s,
driving Versatec storage scopes. (Thanks Lorinda Cherry
<llc@research.att.com> for background info!)
graph,plot,tek2plot: --ascii-output option renamed --portable-output.
libplot: all 45 fonts resident in PCL 5 devices such as recent HP LaserJets
are now supported by the HP-GL/2 driver. Traditional Stick and
Stick-Bold fonts supported too.
libplot: font size can now be set to zero without unexpected consequences.
libplot: improper affine transformations from user to device coordinates,
i.e., those that involve a reflection, now fully supported. Many
bugs dealing with them, in all device drivers, were fixed.
libplot: fallback font for nonexistent or inaccessible X fonts is now a
Hershey font. (No more problems with old X servers not being able
to retrieve rotated or sheared fonts!) Similarly, retrieving an
anamorphically transformed PS font from the xfig driver will now
yield a Hershey font, since xfig does not support anamorphic
transformations (only rotations).
graph,plot,tek2plot: display device type now specified with `-T' option.
libplot: support now added for multiple display devices. The libplot
family of libraries is merged into a single library. The C binding
supports multiply display devices through new functions newpl(),
selectpl(), and deletepl().
libplot: code completely reconfigured, internally, in preparation for a C++
binding. Now quite object-oriented, including a form of dynamic
binding. `Plotter objects' introduced, each with private data and
public methods.
libplot: all external variables now begin with an underscore, to
avoid namespace collisions.
libplot, all versions: new havecap() function, which checks a version
of libplot for capabilities (0/1/2=yes/no/maybe). Replaces
the undocumented external capability variables.
raw libplot: binary metafile format now uses ints rather than short ints
to represent integers. Plot filters changed to compensate. Plot
filters should still parse traditional plot(5) input format,
however; if there are any problems, be sure to use the -h or -l
option, whichever is appropriate for your architecture.
plot: undocumented --guess-byte-order option dropped as obsolete.
graph: line width used in drawing marker symbols is now properly
device-independent, and a fixed fraction of the marker size.
graph: --help-fonts option now yields nicely formatted 2-column lists of fonts.
libplotps: BoundingBox computations now take line widths into account,
cap styles and join styles too.
libplotps and graph-ps: line widths are no longer quantized, as seen by
a Postscript interpreter (they continue to be quantized when the
output file is edited with idraw, since idraw supports only line
widths that are integer multiples of 1 point).
libplotX: setting join mode for polylines no longer core dumps.
libplot, all versions: "mitre" is now a synonym for "miter"
(i.e. as an argument to the joinmod() function).
libplotX (and graph-X etc.): previously, xplot.geometry resource needed
to be set, to adjust window size. Now, Xplot.geometry suffices,
in agreement with documentation.
tek2plot: Tek parser completely rewritten (now uses essentially the same
parse tables as the Tek emulator in xterm(1), developed by Edward Moy
at Berkeley in the mid-'80s). tek2plot documented.
graph: bug in plots with a user-specified reversed (min > max) axis fixed
(axis range on other axis no longer incorrectly set).
ode/specfun.c: gamma support now always works (no more compilation problems).
New libplot function, parampl(), for setting device-specific driver
parameters. Can also set them via environment variables
(parampl() wins).
All user-writable external variables removed from libplot (they were
undocumented, in fact anything undocumented is subject to change).
libplottek: `graphics display' (a square) is now central 3/4 of Tek display
rather than left 3/4. This affects graph-tek and plot2tek.
tek2plot command-line parsing improved. --pen-color initialization
and --help-fonts command-line options added.
graph: Partial workaround of problem with xfig 3.1: text strings
containing a printable 8-bit (non-ascii) char, followed by a digit,
are incorrectly displayed by xfig. Fixed in xfig 3.2.
Output from libplotps now uses idraw `Circ' primitive instead of `Elli'
to draw circles.
Plot filter options --{high|low}-byte-order renamed to
--{high|low}-byte-order-input.
Also, -I option dropped as unnecessary (due to magic string).
Continues to exist, but is now undocumented and flagged for deletion.
Each graphics metafile produced by raw libplot (or raw graph, or plot2plot)
now begins with a magic string, currently "#PLOT" followed by the
metafile format number.
libplotps: capmod() and joinmod() now take effect (non-default cap style
and join style are not recognized by idraw, however).
graph: --{high|low}-byte-order options now dropped as obsolete.
Plot filter parser overhauled. plot filters should no longer crash on garbage
input (keep fingers crossed here). If input file named on command
line is nonexistent, plot filter no longer opens stdin instead.
Improved parsing of graph command-line options. Bad syntax now recognized
immediately, without data files or stdin being read.
libplothpgl: new libplot library, by default emitting HP-GL/2.
plot2hpgl and graph-hpgl are linked with it. Many options specified
via environment variables (HP-GL and HP7550A format also supported).
In raw libplot, space2() produced wrong plot(5) op code. Now fixed.
Bad problems with fill color in libplotps now fixed (quantization for idraw
was interfering with fill color as seen by a PS interpreter).
New convention on quantization of pen colors in versions of libplot which
quantize them (libplothpgl unless HPGL_HAVE_LOGICAL_PENS is set and
HPGL_VERSION is 2, libplotps when producing colors for idraw,
libplottek when producing kermit output). Non-white pen colors are
no longer quantized to white, to avoid confusion.
In several versions of libplot, calling endpoly() on polylines with linemode
"disconnected" was incorrectly moving the graphics cursor. Now fixed.
libplot: New `plotter-like' semantics for arc() and ellarc(). After drawing,
position of graphics cursor now moves to endpoint of arc.
libplot: arc() now draws an arc with sweep angle no greater than 180 degrees,
which may be clockwise as well as counterclockwise. Also, ellarc()
now always draws a quarter-ellipse, never a three-quarter ellipse.
Remaining positioning problems in graph-fig and libplotfig fixed:
later-plotted objects now never placed `behind' previously
plotted ones.
libplotps and graph-ps: PS_ANY_LINE_WIDTH environment variable now supported.
If set to "yes", no quantization of line widths; arbitrarily thin lines
may be drawn, but support for editing the PS output with idraw is lost.
libplotps,libplotfig,libplothpgl: PAGESIZE environment variable now supported,
can be any ISO or ANSI size such as "a4", "a3", "a2", "a1", "a0",
"letter" (i.e. "usletter" or "a" ), "legal" (i.e. "uslegal"),
"ledger" (i.e. "usledger"), "tabloid" (i.e. "b"), "c", "d", or "e".
libplot: calling closepl() to end a plot, when there is one or more
drawing states on the stack, no longer generates a warning message.
libplottek: exiting from kermit Tektronix emulation mode no longer
incorrectly affects text color.
libplotX: in Motif, drag-and-drop via middle mouse button should now work.
Version 1.3 released, 9/97
Major improvements to process of configuration and building (thanks
to Nelson Beebe <beebe@math.utah.edu>, many new configs now work).
Validation test of plot2fig no longer fails on some systems due to
innocuous causes (sign differences). This does not include NeXT's,
which format floating point numbers in a genuinely nonstandard way.
Output of libplotfig and graph-fig now indicates (via comment lines)
which ellipse objects are circles.
Bugs in support for MS-DOS kermit's Tektronix emulation fixed: initial drawing
color now is white, background black. TERM="kermit", "kterm"
now recognized. Linemodes 3, 4 no longer incorrectly swapped.
Library linking (if Athena widgets used) is now -lXmu -lXt, not the reverse.
ode: improvements to arithemetic exception handling (error or warning message
now always printed).
ode/specfun.c: `signgam' variable declared and used properly.
Problems with pointers to signed vs. unsigned chars, which gave problems
on overly strict ANSI or pseudo-ANSI compilers, fixed.
Version 1.2 released, 9/97
Problems with 8-bit characters (`8-bit uncleanliness') fixed in libplot.
In `graph', they affected the drawing of axis labels containing 8-bit
characters.
graph: buggy --reposition option fixed.
--with-motif configuration option added, for systems (e.g. HP/UX) with
Motif widgets but not Athena widgets.
libplotps (and e.g. graph-ps) output is now conformant EPS, version 3.0.
No more spare dictionary left on the PS stack, which interfered
with inclusion as an EPS file and importing into xfig.
Escape sequences which allow access to Greek characters and mathematical
symbols (e.g. "\*a", which means `alpha') now work in graph-X
and in general in libplotX even if the current font is a non-builtin
(user-specified) X font.
libplotX: switching among builtin PS fonts in a single label
was causing slightly incorrect estimates for the label width,
with not-so-good horizontal justification as a result (visible
e.g. in graph-X labels). Fixed.
raw libplot: functions that take a string argument no longer try to
write into the string.
graph: when labelling ticks along an axis with large or small numbers (printed
in exponent form, i.e. FOOx10^BAR), zero is now printed just
as `0', not as 0.0x10^0.
graph: FOOx10^BAR form for tick labels now works even when current font
is a symbol font.
graph: identical upper and lower limits on an axis no longer cause an
error message and an abort. Instead each limit is displaced
by 1 unit, with a warning message.
graph: -s option (--save-screen) now works. (Meaningful only for
graph-tek and raw graph.)
libplotfig: later-drawn objects, of whatever kind, now appear in front
of (rather than behind) earlier-drawn objects. This has
implications for graph-fig (it fixes a bug previously mentioned in the
PROBLEMS file).
graph: new --frame-color option (sets name of color of frame, and plotted
curves too if -C option is not used)
New libplot functions: pencolorname(), fillcolorname(), colorname(),
which search a database of color names (orig. from X11R6 rgb.txt).
New libplot function: pencolor(). color() now just calls it and fillcolor().
plot filters: bug in parsing of fmarkerrel() op code fixed.
plot filters (plot2X etc.) now abort instead of just printing a warning,
if an unrecognized directive is seen in the input stream.
This is to avoid confusing ascii-format input streams with
binary-format input streams (which can cause X servers to crash).
Regression tests in ./test reworked; different options now used
on `graph', in the tests. Output is more visually pleasing.
ode-examples directory reworked; examples are documented and some
are renamed.
ode arithmetic exception handling improved.
Separate ascii-format doc on ode (originally nroff) merged into texinfo
doc, heavily edited.
In ./ode, gram.c, gram.tab.h and lex.c are no longer removed during
a `make distclean'. This is for the benefit
of people who may not have bison or yacc. If you want to
re-make them, you should do a `make realclean'. The
info/plotutils.info documentation file and test/*.xout
are similarly not removed except in a `make realclean'.
No more annoying flicker in graph-X after plot is drawn (libplotX
no longer clears window before redrawing, when closepl() is called).
alloca.c now supplied in ./ode directory for machines that don't have alloca.
Repeated calls to openpl..closepl in libplotps were producing
incorrect %%DocumentFonts lines in the PS output; now fixed.
Closed polylines (final vertex = initial vertex) drawn with libplotps
now close correctly, as seen by a PS interpreter.
Widths of lines drawn with libplotps, as displayed by idraw, now agree with
the widths seen by a PS interpreter such as Ghostscript. If lines
now look too thick, use the zero-linewidth (`-W 0') option.
Octagonal markers added (markers #30 and #31), as in UGS marker set.
Bug in special function code (used by ode), for machines that don't have
them, now fixed (compilation of ode/specfun.c no longer bombs).
Hershey fonts now include Russian HersheyCyrillic, and HersheyEUC (for Japanese
support; Hiragana, Katakana, and 603 Kanji are supported).
HersheyScript is now located in its own typeface; HersheySans-Oblique
and HersheySans-BoldOblique created.
Ligature support added to certain Hershey fonts.
ISO-Latin-1 characters in Hershey fonts now include most accented
characters.
Characters missing from Hershey fonts now print as an
`undefined character' symbol (seven horizontal strokes).
Hershey astronomical and misc. symbols added.
Many miscellaneous cleanups to Hershey fonts
(inverted questionmark and exclamation point now supported,
for example; `asteriskmath' vertical height fixed, etc.).
plot.h now works with C++ as well as C
Version 1.1 released, 7/97
|