GLE Changelog

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).