What's new in GLE 4.2.4b
Jan 18, 2012
- Bug Fixes:
- Added GLU dependency to make GLE compile with Qt4.8
- Fixed bug in fallback to "texcmr" when using -cairo
- Fixed crash due to subroutine argument type mismatch
New in GLE 4.2.4 (Jan 5, 2012)
- New Features:
- "Marker only" 3D plots (patch by Laurence Abbott)
- Added "discontinuity threshold" option to graph block
- Added "draw" command to graph block
- Added "msize" option to box plots (request by Nicolas Lerme)
- Added GLE-TeX symbols \uparrow, \downarrow, \updownarrow, \Uparrow, \Downarrow, \Updownarrow, and \backslash
- Added changes by Pascal Buescher to feyn.gle
- Added functions rgba() and rgba255()
- Added functions xg3d() and yg3d()
- Always embed all fonts in PDFs
- Cairo (www.cairographics.org) rendering now available in QGLE
- Control constructs (e.g., if-then-else and for-next) can be used in graph and key blocks
- Feature #3174151: Variable justification
- GNU/Hurd now officially supported
- Multiple layers in graph blocks
- New "begin length" block to compute curve length
- New CSV file reader with better error handling and wider CSV format support (including Microsoft Excel)
- Option "-cairo" can now be combined with LaTeX expressions
- Semi-transparent colors (also known as alpha blending)
- Support for "key separator" in graph blocks
- Use Poppler PDF library for rendering in QGLE and for image exports
- Support GZIP compressed CSV data in graph blocks
- QGLE export dialog remembers resolution and other settings
- Better definition of circle style markers (including "dot")
- Added support for arc arrow heads in QGLE edit mode
- Bug Fixes:
- Fix for "QGLE does not support bold / italic fonts" (aka "set font rm" insertion problem)
- Bug #3101026: Fixes for possible buffer overflows
- Bug #3344819: Marker line width is different in legend
- Fix for bug in number formatting (part before 10^x missing)
- Fix for compiler error on std::min/max (suggested by Laurence Abbott)
- Fixed \leftarrow kerning problem
- Patch by Michal Vyskocil: Use QMAKE_LIBS_DYNLOAD
- Subticks are now generated over the entire axis range
- g_bitmap now also works with "-cairo"
- Bug #3434175: Turning on sublabels produces wrong width of some subticks
- Fixed bug in when QGLE edits scripts with filled boxes
New in GLE 4.2.3 (Oct 1, 2011)
- y1axis dominates the plot (lin/log) bound to y2axis
- Automatic tick labels with latex
- Fixed compilation on Mac OS/X
- The graph block's "data" command now understands column c0, which contains the data set's line numbers
- 2996854: Missing a few multiple bars
- Fixed: xend()/yend() do not work in QGLE's edit mode
- QGLE's about box has been improved and shows license and contributors in separate tabs
- Graph command 'xsubticks length' now overrides 'xaxis grid'
- Fixed: key block with 'fill' incorrectly changes the 'set fill' value
- Unwanted vertical space generated in graph module
- Added "background" command to graph block to set the background color
- Fixed a number of errors in the GLE 4.2.2 manual
- Allow "marker m$" with m$ a string variable in the graph block
- Log axis sub tick font size should be based on the "alabelscale" setting
- Access to environment variables: added getenv() command and allow $ENVVAR in file names
- Added support for single quoted strings
- Escaping single and double quote characters in strings now works by doubling them
- Experimental support for EMF output (the vector format on Windows).
- New QGLE menu entry "Edit | Copy as EMF" to copy the diagram to the clipboard on Windows.
New in GLE 4.2.2 (Oct 1, 2011)
- New Features:
- Windows installer can now copy settings from a previous GLE install thereby avoiding the long 'find dependencies' process.
- Support \'' style umlauts in LaTeX expressions
- Additional command line options for GhostScript/PDFLaTeX/LaTeX/DVIPS can now be specified in the "glerc" settings file
- GLE now expands environment variables in the tool paths specified in the "glerc" settings file.
- Bug Fixes:
- QGLE now no longer modifies the string argument of "write" if a text string is moved or one of its properties is changed.
- GLE now compiles with "-Wl,--no-add-needed" and hopefully also with binutils-gold.
- Fixed GLE crash on illegal font name.
- Fixed GLE crash on certain scripts with error bars.
- Fixed regression in key block in 3.5 compatibility mode.
- Diamond markers are now also centered in 3.5 emulation mode.
- QGLE now sets the locale such that the decimal point indicator is "." (workaround "export LC_ALL=C").
- Fixed crash in certain bar graphs
New in GLE 4.2.1 (Oct 1, 2011)
- New Features:
- Added "from/to/step" options to "values" command of "contour" block.
- Number of available datasets increased from 100 to 1000 (patch by Laurence Abbott).
- Added "reload" button to QGLE.
- Added "key off" to turn off the key of a graph block (Feature #2781887).
- Added "ylabels align left" to align all labels left (right is the default).
- Added support for FreeBSD (Bug #2786222).
- Added support for --docdir configure option.
- Changed package name to "gle-graphics" and distribute GLE's source code as .tar.gz.
- Moved plotter fonts to a separate package (./configure --with-extrafonts=yes to enable these).
- Added license information to all files where this can be done easily.
- Replaced font metrics files for core PostScript fonts with a set that is freely available from Adobe.
- Manual can now be compressed and installed as "gle-manual.pdf.gz".
- Configure script checks for "qmake-qt4" before checking for "qmake".
- Bug Fixes:
- Arrowhead not drawn correctly when using dashed line (#2838971).
- Fixed problem in TeX macro substitution (#2838978).
- Curve with zero distance control points should be straight line #2838965).
- Added support for operations on arbitrary length strings.
- More commands are now allowed to come before the "size" command (e.g., bitmap_info).
- Improved routine for determining axis tick labels.
- Fixed QGLE crash on key block error (e.g., entry with no text).
- QGLE no longer crashes when "Save As" is selected while an EPS (not GLE) file is loaded.
- QGLE fix for the case that a "recent file" is opened that no longer exists.
- Fixed crash in "postscript" include command if bounding box is at the end of the EPS.
- The "clean" target now removes all files generated by "make".
- A "distclean" target has been added to also remove all files generated by "./configure".
- Replaced calls to "make" with "$(MAKE)" to handle the case that GNU make is "gmake".
- Added range checks for "from" "to" and "step" for the "letz" and "fitz" blocks.
New in GLE 4.2.0 (Oct 1, 2011)
- New features:
- Added "range" and "nsteps" options to the graph block's let command.
- Added functions file$() and path$() to retrieve the script's name and path (suggested by Jörg Baumgartner).
- Added function isname() that tests if its argument is a named point or object.
- Added "set background" to set background color of shade / grid filling patterns.
- Added "background" to bar command and key block.
- Added "set fillmethod", which can be "GLE" (more accurate) or "PostScript" (faster).
- Source distribution now includes syntax highlighting patterns (in contrib/editors/).
- Source distribution now includes the GLE manual (compile with "make doc").
- Adds "ylabels log n1" to enable subticks without labels on a log scale axis (patch by Luca Donetti).
- Adds option "adist" to "x/ytitle" to set the distance between the title and axis (useful for aligning axis titles of multiple graphs).
- Support for multi-dimensional let (#2008719).
- (See: let-multi-dim.gle.)
- Support for stdin/stdout (#2009125).
- E.g., cat file.gle | gle -d pdf - > file.pdf
- E.g., cat file.gle | gle -o file.pdf -
- Experimental support for objects with named points.
- (See: transistor.gle, shapes.gle.)
- Scalable Vector Graphics (SVG) output device (-d svg).
- Engineering format "eng" for the format$ function and axis format option.
- (See: axisformat.gle.)
- Quantile based axis auto-scaling (by Florian Wisser).
- New axis command: "roundrange on/off" to disable rounding the axis range to the next tick.
- New key block mode: "compact", which combines "marker" and "line" in one column.
- New key block setting: "background", which sets the background color.
- Key box is now transparent (only for keys defined within the graph block).
- Adds function "atan2" (#1881021).
- QGLE is now available on MacOS/X (installation instructions).
- "File | Edit" menu added to QGLE for easy access to files included in GLE script.
- "Edit | Copy as Bitmap" menu added to copy the diagram to the clipboard.
- Adds entries to QGLE's help menu to display the GLE manual and website.
- GUI for detecting GLE's software dependencies (GhostScript and LaTeX).
- Automatically infer device from extension of "-o" option, which specifies the output name.
- DSC comments for title and creator added to PostScript/EPS/PDF output.
- Includes HiResBoundingBox in PostScript output.
- Better support for UTF8 accents in LaTeX expressions (use \usepackage[utf8]{inputenc}).
- Command line option "-noligatures" to disable the use of ligatures for "fl" and "fi".
- Bug Fixes:
- Fix for stack corruption in PSGLEDevice::read_psfont() (bug #2543164).
- GLE now creates .inc file if -inc is given and script does not contain TeX expressions (bug #2165591).
- Fix for smooth crash in case of too few data and missing values (reported by Cilliers Kruger).
- Fix for 3D plot bounding box (reported by Brandon Aubie).
- Fix for QGLE compilation on MacOS/X: add "-spec macx-g++" to qmake (suggested by Mol Lukas).
- Fix for "xsubticks lwidth" also affecting the line width of the main ticks.
- Fix for the "strip" target in Makefile.in (by Michal Vyskocil).
- Auto-ranging now also works for x2axis/y2axis (#1933925).
- GLE can't handle filenames with a dot (#2015073).
- Fix for auto-range function with data sets with no spread (suggested by Florian Wisser).
- Fix for "nox" option of "data" command of graph block.
- Fixes for incorrect code points in GLE's Unicode table (o.a., for "ü").
- Combining "clip" + "fill" in "begin path/end path" does not perform the requested fill.
- Command line option "-noctrl-d" and some others are not documented in GLE's man page and "-help" output.
- Landscape detection PS mode is now more robust.
- Fixes for all warnings new in GCC 4.3.0.
New in GLE 4.1.2 (Oct 1, 2011)
- GLE fails to read certain JPG files (bitmap command).
- Colormap command does not work for non-square .z files.
- Bug "rotate + tex = misplacement of text" (#1881020).
- Patch to make GLE compile with gcc 4.3 (include limits.h) (by Terje Røsten).
- QGLE's export fails if path contains a space or '.' character.
New in GLE 4.1.1 (Oct 1, 2011)
- Smooth option of "dn line" fixed for log-scale graphs (Bug #1860761).
- Patches to make GLE compile with gcc 4.3 (by Michal Vyskocil).
- Patches to make GLE work on 64 bit machines with "lib64" dir
- Fix for GhostScript problem in QGLE on 64 bit machines.
New in GLE 4.1.0 (Oct 1, 2011)
- New Features:
- QGLE edits
- GLE scripts
- Auto scale + Auto key/labels
- Curved arrow heads
- Begin/end object blocks
- Detailed Changes:
- Added man page (now "man gle" should work on Linux).
- Added option "-verbosity" to set the amount of console output produced by GLE.
- Grid is now by default under the bars (use "grid ontop" to get the old behavior).
- Added "boxcolor" command to key block to set the color of the box indicating the fill.
- Added "append" and "prepend" commands to format$ strings.
- Added command "abound x y" to update the current bounding box.
- Added "scale auto" "hscale auto" "vscale auto" to fit the graph to the page size.
- Added auto-key based on header in data set.
- Added auto-xnames based on names in first data set column.
- Added "let d2 = hist d1 from 0 to 10 bins 10" for computing histograms (step 1 can be used instead of bins).
- Added "bar" option to "dn line" command for drawing histograms.
- Data sets can now be just one column. If "nox" is given, the x-values are set to 1...N.
- Added "compatibility" command (e.g., compatibility "3.5").
- Added compatibility range option to include command.
- Added support for standard SVG/X11 color names (by color, alphabetical).
- Added HTML notation for color names (e.g., #FF0000 = red).
- Added "defcolor name color".
- Added "set fill xxx" and "set pattern xxx".
- Made "include filename.gle" itempotent.
- Added "declare sub name args", to allow forward declarations of subroutines.
- Added "default" to set default values for subroutine arguments.
- Output of LaTeX is now hidden, only errors are shown if they occur.
- Option "dticks" now works for log scales + improved log autoscaling.
- Improved Windows installer: added bitmaps and license screen (by Vincent P LaBella).
- Added "mdist d" option to "dn marker" to draw a marker every d cm along the given curve.
- Added "deresolve n" option to "dn line" to subsample the points before drawing (by Laurence Abbott).
- Added option "average" to "dereslove" to average the points instead of just skipping them.
- Added functions dataxvalue(di,i), datayvalue(di,i), ndata(di) (by Laurence Abbott).
- Added options "xmin" "xmax" "ymin" "ymax" to fitting routines of "let" command.
- Added "-safemode" command line option that prevents GLE scripts from accessing the file system.
- Added "-allowread" and "-allowwrite" to allow I/O in given paths if "-safemode" is given.
- Added "comment" option to "data" in graph block (by Vincent P LaBella).
- Example: "data filename.dat d1=c1,c2 comment //" will make GLE ignore lines starting with "//" in the data file.
- Better formatting of error messages if script contains long lines.
- Added support for curved arrows on arcs, elliptical arcs, and bezier curves (experimental).
- Added "palette" option to colormap command.
- Added fitting of arbitrary functions (based on fitls code from GLE 3.x).
- Example: "let d2 = fit d1 with a*sin(b*x)+c*x^2+d".
- Example: "let d2 = fit d1 with a*sin(b*x)+c*x^2+d eqstr e$ rsq r".
- These two examples fit dataset d1 with a function of the form "a*sin(b*x)+c*x^2+d" and put this function in d2. The second example in addition stores the resulting equation as a string in variable "e$" and the correlaction coefficient in "r". The complete example can be found here.
New in GLE 4.0.1.2 (Jul 14, 2007)
- Includes a GUI called QGLE (written by A. S. Budden)
- - displays the output of GLE and updates automatically after the source file is modified (run "gle -p myfile.gle")
- - has basic editing tools (add amove/line/circle/...)
- - QGLE is based on the QT and Ghostscript library
- Added GNU autoconf support (in addition to the regular makefile.os system)
- (on Linux, one can now compile with ./configure; make; make install)
- Added autopackage support
- UTF8 support (limited to latin characters with accents)
- LaTeX expressions are scaled to the current font height
- (set texscale none/fixed/scale)
- LaTeX expressions are used in key and graph blocks (set texlabels 1)
- The "begin box / end box" block now fills underneath its contents
- Added keyword "local" to define local variables
- (see e.g., Examples | Fractals | Sierpinski on the website)
- Added "colormap" command (regular and graph block)
- (see e.g., Examples | 3D plots | Information Gain on the website)
- Colormap works for functions and for .z files
- Added option "-v" to run another version of GLE
- (if more than one version is installed, use "gle -help v" to list installed versions)
- Added "begin object name" and "end object" to define objects
- Added "draw name.pos" to draw objects
- More sensible defaults for graph font sizes
- (use gle -cmode 3.0 to get the old defaults)
- Font size in graph now depends on the "hei" setting
- Added new set subcommands: titlescale, atitlescale, ticksscale, atitledist, alabeldist
- (to set font sizes and distances relative to the value of the "hei" setting)
- Distance between axis labels and title are better calculated
- Added "margins", "dist", "coldist" and "row" options to key block
- Added "scale h v" command to graph block, which is equivalent to a hscale/vscale pair
- Added colored fill patterns for the "bar" command and key block
- bar d1,d2,d3,d4 fill blue,red,blue,purple pattern none,shade,grid,shade2
- Added "xnames from di" to retrieve the axis labels from a data set
- Added "xnoticks p1 p2 ..." to disable ticks at specified positions
- Added "ftick x0" to "axis" to manually set the position of the first tick
- Added "offset y0" to "axis" to move the origin of the axis
- Added "angle a" to "axis" to rotate the axis labels
- Added "x0axis" and "y0axis" (these are disabled by default)
- Added option "center" to center a graph block
- Added option "math" to create a "math mode" graph with the axis crossing at the origin
- (see e.g., Examples | 2D Simple | Sin on the website)
- Added option "horiz" to bar command allowing "horizontal" bar plots
- Added option "style" to bar command allowing user defined bar styles
- (see e.g., Examples | 2D Complex | Color Bar on the website)
- Added arrow styles "filled", "empty" and "simple"
- Added support for user defined arrow styles
- (see e.g., Examples | Other | Arrow Styles on the website)
- Added function xbar(xp,i) retrieving the x-coordinate of bar i in a bar plot
- Added function xy2angle(dx,dy) that computes the angle (polar coords) given dx and dy
- Added function sdiv(x,y) implementing y == 0.0 ? 0.0 : x / y
- Added formatting modes "pi" and "frac" to format$
- (see e.g., Examples | 2D Simple | Sin on the website)
- Subroutine definitions and assignments can come before the size command
- Checks for correct nesting of all block commands
- While loops are now also supported (besides until ... next loops)
- Support for single line then/else blocks allowing code such as
- if a < 1 then print a "is smaller than 1"
- else if a < 2 then print a "is smaller than 2 but larger than 1"
- else if a < 3 then print a "is smaller than 3 but larger than 2"
- else print a "is larger than 3"
- LaTeX expressions can now also be used in combination with .ps output
- Axis scales are now computed based on the datasets that are actually used
- Graph block can include function calls, of which the output is clipped to the graph window
- (see e.g., Examples | 2D Complex | Labeled Scatter on the website)
- The manip utility has been integrated back into the GLE distribution
- (see e.g., this screenshot of manip).