4.2.5 (August 2015)

Bug Fixes

  • Force locale to "C" in QGLE
  • Apply patch by Chris Ward to make GLE build with GCC5
  • Fixed #53 Segfault when non-ASCII characters and Tex labels enabled
  • Take key (outside graph) into account when doing "scale auto"
  • Fixed "end if" not allowed before size command
  • Fixed rounding error in colormap command
  • Fixed bug in zmin/zmax arguments for colormap with a function
  • Fixed bug #50: GLE axis auto scaling does not take error bars into account
  • Fixed bug #52: Error bars should be clipped to the graph window
  • Fixed filling problem (-nomaxpath no longer needed for fills)
  • Fixed bug #54: GLE overwrites .tex file
  • Fixed Rotated y2labels does not work (reported by Viachara Amirdayl)
  • Fixed 'shade' fill option does not work (reported by Ben Lobo)
  • Fixed "xnames from di": don't show labels twice
  • Bug 3494736: QGLE terminates trying to create new file
  • Implemented patch to use RTLD_DEEPBIND for dlopen
  • Fixed all compiler warnings (gcc 4.7.0)
  • Corrected formatting of 3D axis labels (bug reported by Nick Pomponio)
  • Strip should use --strip-unneeded for library (Reported by Christian T. Steigies)
  • Attempt to fix: Bug 669161: gle-graphics: FTBFS on sparc

New Features

  • Dynamic typing and type checking in the expression evaluator
  • Allow d[i] in let expression
  • Added ndatasets() function
  • Support for .gz data files in colormap command
  • Added colormap option "interpolate nearest" (based on patch by Brandon Aubie)
  • Made colormap take into account x/yaxis options such as log and negate
  • Added barcode.gle (by Jan Soubusta)
  • Added autocolor function to graphutil.gle
  • Added polar_segment to polar.gle
  • Improvements to the device$() function (suggested by Elrond)
  • Bitmap caching in the Cairo device (suggested by Alexis Letessier)
  • Added "-inverse" option to inverse black / white colors (based on patch by Brandon Aubie)
  • Adds "percent" number formatting option (patch by Brandon Aubie)
  • Adds "textcolor" to the key block (patch by Brandon Aubie)
  • QGLE monitors include and data files and updates preview if these change

4.2.4c (March, 2012)

Bug Fixes

  • Added checks on number of data sets, bar definitions, and fill definitions (QGLE crash reports 02/07/2012 and 02/16/2012)
  • Save .glerc in user's AppData on Windows
  • Added manifest to prevent AUC Virtualization on Windows Vista and above
  • Search "C:\Program Files (x86)" on 64 bit Windows for installed software
  • Fixed type in manual: logfit -> logefit
  • Fixed bug in tokenizer
  • Fixed crash when parsing "let d1 = x.x" (QGLE crash report 02/28/2012)
  • Fix for message "QWidget::setWindowModified: The window title does not contain a '[*]' placeholder"
  • Fixed bug in centering of .inc output (reported by Antonio DiCesare)
  • Bug 3485409: GLE should check for Cairo version >= 1.10.0
  • Added Python script to generate GLE palette functions (contributed by Brandon Aubie)
  • Fixed "too many open files" when including bitmaps in filled boxes (reported by Alexis Letessier)
  • Fixed issue with filled boxes (reported by Alexis Letessier)
  • Make GLE compile with GCC 4.7.x (issue raised by Terje RÝsten)
  • Support other 64bit systems besides x86
  • Fixed more GLU problems introduced in Qt4.8

4.2.4b (January, 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

4.2.4 (January, 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

4.2.3 (September, 2010)

  • #3058793: y1axis dominates the plot (lin/log) bound to y2axis
  • #2782744: 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
  • #2995351: Unwanted vertical space generated in graph module
  • Added "background" command to graph block to set the background color
  • #2949503: Fixed a number of errors in the GLE 4.2.2 manual
  • #2950381: Allow "marker m$" with m$ a string variable in the graph block
  • #2949642: Log axis sub tick font size should be based on the "alabelscale" setting
  • #2949495: 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.

4.2.2 (January, 2010)

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 (bug #2858424).
  • 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 (reported by Massimo Canonico).

4.2.1 (August, 2009)

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.

4.2.0 (April, 2009)

Features Overview

QGLE edits objects       Hierarchically named points       "Let" modifies x and y       "Compact" key mode

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.

4.1.2 (March, 2008)

4.1.2 fixes the following bugs:
  • 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.

4.1.1 (January, 2008)

  • 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 (by Michal Vyskocil).
  • Fix for GhostScript problem in QGLE on 64 bit machines.

4.1.0 (December, 2007)

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.

4.0.12 (September, 2006)

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

4.0.11 (December, 2005)

  • Adds the contour utility for generating contour plots.
  • Adds the fitz utility for generating 3d plots based on given data.
  • Adds support for command line arguments using nargs() arg(i) and arg$(i).
  • Adds the command line option -o to specify the name of the output file.
  • Fixes a bug with accents (\^, \i, and \j are supported now).
  • The \tex{} escape sequence can now also be used in tables.
  • From and to specifications are now optional for let command.

4.0.10 (November, 2005)

  • Adds landscape support to the full page mode (orientation landscape).
  • Improves the Windows installer (it now shows the readme, etc.).
  • Fixes a bug in the parsing of some floating point numbers (e.g., 1.e5).
  • Fixes a bug in user defined markers.

4.0.9 (August, 2005)

  • Parser has been significantly improved and gives more informative error messages.
    >> test.gle (22) |x = 64; y = log2(x)|
    >>                            ^
    >> Error: call to undefined function 'log2'
  • TeX expressions are now included in output by default, use -inc for the "inc way".
  • Added option -fullpage.
  • Added pagesize and margins commands and corresponding config section.
  • Added function eval(expr$) that evaluates expr$ and returns the result.
  • Added option "curve angle1 angle2 d1 d2" to commands rline, aline and join.
  • Fixed grid in log plots.
  • Added escape sequence \expr{some_exp} that can be used in block commands and inserts the result of evaluating some_exp.
  • EOF is stripped from .eps if included with postscript command.
  • Special variables xgmin, xgmax, ygmin, ygmax, xg2min, xg2max, yg2min, yg2max that indicate the graph axis bounds.
  • Fixed bug in return value of user defined functions.
  • Fixed bug in loading of certain .tiff files that include alpha data (EXTRASAMPLE_UNASSALPHA).
  • Angstrom symbol \AA added.
  • Rewrote fopen/fread/fclose code based on new tokenizer.
  • Added "fgetline chan line$" to read an entire line from a line.
  • Added "ftokenizer chan commentchar spacetokens singletokens" to set up the tokenizer.
  • Added command line option -c that turns GLE into a calculator.
  • Added option -gs for fast GhostView previewing (by Axel Rohde) (only on Unix).
  • Added rgb255() and rgb() functions.
  • Added set arrowsize 0.5 arrowangle 30 to control shape of arrows.
  • Local variables can now be used in graph blocks.
  • Slope, Offset and R squared values of regression plots can be stored in global variables.
  • Removed dependency on BOOST library.

4.0.8 (March, 2005)

  • One executable "gle" instead of one for each driver "gle_ps" and "gle_svg".
  • Output to .pdf/.png/.jpeg by linking to GhostScript.
  • Support for LaTeX expressions in GLE scripts using the command "tex" or the macro "\tex{}". (Examples can be found here.)
  • Support for bitmap import (.jpeg/.png/.tiff/.gif) using the commands "bitmap" and "bitmap_info". (An example can be found here.)
  • Options "impulses", "steps", "fsteps", and "hist" for the graph command "dn line".
  • Option "round" for the commands "box" and "begin box" to simplify drawing boxes with rounded corners.
  • Command "separator" in keys to construct keys with multiple columns. Option "absolute" to the offset command to position the key, e.g., at the bottom-center of the output.
  • Function "format$" for formatting numbers (e.g., format$(1/3,"fix 3") = 0.333). Option "format" to the axis graph command to format the labels in a similar way.
  • Functions "pagewidth()", "pageheight()", "width(name)", "height(name)", "pointx(name)", "pointy(name)".
  • Command "print" for writing to the command prompt.
  • Support for config file $GLE_TOP/glerc and $HOME/.glerc (on Unix).

4.0.7 (December, 2003)

  • No more segmentation fault when encountering some types of errors.
  • Unix version can now handle dos text mode files, gle, makefmt and fbuild.

4.0.6 (December, 2003)

  • Includes makefiles for OS/2.
  • Fix for slow rendering of long complex paths in postscript file. Speed now equivalent to 3.3h.
  • Tweak to exe and src release filenames i.e gle_version_[src,exe]_[platform]....
  • Exits gracefully when it cant open a file such as a data file in graph, image file, include file or using fopen.

4.0.5 (November, 2003)

  • Fix unix/linux compile issues with afm files. They now have the proper line endings for Unix.
  • Fix compatability issue with 3.3h: ATN and ATAN now work equivalently. In 3.3h only ATN worked for arctangent?

4.0.4 (November, 2003)

  • Fix unix/linux compile issues.
  • Will search c:\program files\gle (WINDOWS) or \usr\local\bin (UNIX) directories if GLE_TOP environment variable is not set.
  • Proper wildcard/globbing handling on UNIX (assumes shell does the expansion).
  • Minor improvement on file finding and error reporting.
  • Cleanup of unused functions and varibles in gle.cpp.
  • Windows binary now compressed with upx.

4.0.3 (November, 2003)

  • Accepts filenames with wildcards/globbing i.e. "gle_ps *.gle" will compile all gle files in current directory.


  • Fixed problem with program crashing when it couldn't open the gle file or include file.
  • New zip files of source code and win32 executables.


  • Fixed problem with PATH and GLE_TOP not being set properly in installer. Fixed problem with loading include files from GLE_USRLIB.


Finally its here.
  • Code cleanup from 3.5.
  • Compiles with latest C++ compilers.
  • Has better error reporting where it prints out the line number and text associated with the line (even if the error was detected in an include file).
  • Removed ncurses dependancy.

GLE 3.3g (14-May-1994)

	Ported to ALPHA OSF/1, some bugs still exist though.
	Merged changes made for gle32 and solaris and linux. 

GLE 3.3f (16-April-1993)

	fixed bug on sun's with axis labelling.  
	dviprint -dsx	Sixel graphics driver added to GLE DVIPRINT,
			thanks to:   Evan Wilson,   N Z Dairy Group

	Fixed RETURN statement so that it takes an optional parameter.
	(It always did, but why it used to work I don't know as the
	parameter wasn't optional)

	Added a yaxis option
		yaxis negate
	This is reversed the numbering on the y axis.  For use with
	measurements below ground, where you want zero at the top and 
	positive numbers below the zero.

GLE 3.3e (1-Jan-1993)

	Fixed clipping of lines through a log axis.
	Fixed help display which was loosing two lines on multi page

GLE 3.3d

	Problem with SMOOTH on SUN machines fixed.
	fixed bug with named objects on postscript driver.
	added -nops qalifier to dviprint.

GLE 3.3c (1-Apr-1992)

	Fixed problems with large datasets in surface and contour
	Fixed problem with /kern/lower/movexy and other def's
	Fixed bug with   dviprint -depson -hires -nosquash
	Fixed bug with smoothing contours which made lines dissappear.
	Fixed bug with UNTIL looping.
	Removed limit of number of 'saved' points.
	Fixed tokenizer so "ab\"cdef" would accent the 'c' as expected.

GLE 3.3b (25-Mar-1992)

	Bigfile now accepts variables in place of the file name, e.g.
		xxx$ = "test.dat,2,3"
		d1 bigfile xxx$
	Added AUTOSCALE option to bigfile e.g.:
		d1 bifile a.dat line autoscale
	This pre-reads the file to scale the axis, which is slow but
	sometimes required.
	Updated version of inittex.ini which was causing problems with
		/char /def /movexy
	UNIX: install.com now copies graph.idx into system area.
	VMS: dviprint symbol added to CGLE_LOGIN.COM

GLE 3.3a (27-Jan-1992)

	Bug: lowercase xnames labels being mis-aligned is fixed.

	Gle now writes out   gletmp.t1 .t2 .t3 .t4 instead of .bak
	so you have four backup versions if something crashes.

	Fixed axis rounding errors for labels, e.g. .1 to .9 step .1
	might occasionally stop at .8
	Fixed filled boxes on DVIGLE driver, the filled region wasn't
	being translated if a scale or rotate was being used.

	Added commands:
		fopen, fclose, fread, freadln, fwrite, fwriteln

	fopen "file.dat" inchan read
	fopen "file.out" outchan write
	until feof(inchan)
		fread inchan x y z
		aline x y
		rline x z
		fwriteln outchan x*2 "y =" y
	fclose inchan
	fclose outchan

	The following accents now work.
		\` \' \v \u \= \^ \. \H \~ \"
		text P\'e ter

GLE 3.2i (1-Jan-1992)

	Improvements made to lstyle for dot matrix and laserjet drivers.
	It now works!, patterns which don't divide into 32 bits and 
	dashlen are both supported.		(Thanks to Frank Evans)

	HPGL driver modified, now supports sizes greater than a3.
	New symbols HPGL_ADDX, HPGL_ADDY add a margin to the plot.  
	These default to .9cm and 1.5cm

	Bug in 'E' format numbers, 5e+7 was interpreted as 5+7 = 12
	instead of 50,000,000  (5e7 was always interpreted correctly)

GLE 3.2g (1-Nov-1991)

	All bitmap dot matrix drivers have been re-written:

		dvilj, dvilj300, dviepson, dviep24
	They now perform clipping and filling correctly, funny
	glitches in filled characters (texcmr) have been fixed.

	They also support a much wider range of fill styles

	Print the file DVIFILL.GLE to see the supported fill

	The command syntax has changed, the commands:
		dvilj, dvilj300, dviepson, dviep24
	Have been replaced by:
		dviprint -dlj 
		dviprint -dlj -hires		(was dvilj300) 
		dviprint -depson 	
		dviprint -depson -hires		(was dviep24)

	Support for HP-PaintJet printers
	has been added:
		dviprint -dpj

   Usage: dviprint [-depson | -dlj] [-old] [-hires] [-debug] [-output xx.prt]	
		-depson   To produce output for epson printers 
		-dwp      To add tiff image to wp .eps file 
		-dlj      To produce output for HP LaserJet printers 
		-dpj      To produce output for HP PaintJet printers 
		-dover    Overhead transparency mode for PaintJet
		-old	  For old HP Laser Jet printers (no compression)
	 	-hires	  Uses high resolution for that printer (slower)
	 	-wide     If your printer has a wide carriage 
	 	-noflip   Disable's auto flipping 
	 	-nosquash Tries to print it full size
	 	-compress Force internal bitmap compression (slow,saves memory) 
	 	-noff     No form feed
	 	-debug    Prints debug messages
	 	-out x.x  Prints output to file instead of printer port
	3d Bar graphs are now supported, the commands are:

	bar d1,d2  3d .5 .3  side red,green  notop
	bar d3,d4  3d .5 .3  side red,green top black,white 

	Take note of comma's.

3d  (xoffset yoffset)  
	Specifies the x and y vector used to draw the receding 
	lines, they are defined as fractions of the width of the
	A negative xoffset will draw the 3d bar on the left side
	of the bar instead of the right hand side.

side (color list)
	The color of the side of each of the bars in the group.

top (color list)
	The color of the top part of the bar
	Turns off the top part of the bar, use this if you have 
	a stacked bar graph so you only need sides on the lower parts
	of each stack.	

Note:	You won't see the color of the side or top on the pc screen.

GLE 3.2 (6-Mar-1991)

      File type changed from STREAM_LF to normal vax format.
      SMOOTHM option added which is identical to SMOOTH but
      will allow multi-valued functions. (e.g. circles etc)
      TWIDTH("") and THEIGHT("") functions fixed again.


      DEFINE MARKER myname subnamex
      MARKER myname
      Allows you to define a new marker as any subroutine.

      e.g. to define a character from the postscript ZapDingbats font
      as a marker you would use.

	sub subnamex size mdata
		gsave				! save font and x,y
		set just left font pszd hei size
		t$ = "\char{102}"
		rmove -twidth(t$)/2 -theight(t$)/2  ! Centers marker
		write t$
		grestore			! restores font and x,y
	end sub
	The second parameter can be supplied using the MDATA command
	when drawing a graph,  this gives the marker subroutine a 
	value from another dataset to use to draw the marker.  For 
	example the marker could vary in size, or angle, with every
	one plotted.
		d3 MARKER myname MDATA d4

	Encapsulated Postscript option modified so that WordPerfect
	won't clip the edge of the drawing.

	On a PC the /EPS qualifier will now create a file using 
	an extension of .EPS instead of .PS
	DEFMARKER mname fontname char_num scale dx dy 
	This command defines a new marker, from any font, it is 
	automatically centered but can be adjusted using dx,dy.
		defmarker hand pszd 43 1 0 0

	Bug in set color in PS devices which caused the 
	color to affect a previous line is fixed.

	Added built in function which returns a string describing 
	the device. e.g. DEVICE$() = "HARDCOPY, PS,"
	on the postscript driver.

	This can be used to use particular fonts etc on appropriate
	devices. E.g.:
		if pos(device$(),"PS,",1)>0 then
			set font psncsb
		end if 

	POS(src$,search$,start) string function fixed (surprise surprise)
	The editor now tolerates lines > 80 characters. 
	Fixed bug which caused incorrect characters to be drawn
	on pc screen occasionally.


	Pressing ESC repeatedly will now abort a redraw operation. (on PC)

	Load and Saveas will now default to .GLE 

	Bug with tex macro replacement fixed.

	Bug with mouse cursor not appearing on HERC screens is fixed.

	WPGLE.EXE added, this command will produce a special output
	file which contains EPS for PostScript printers and a 
	crude bitmap for WordPerfect to display on the screen.


	Fixed some colour mapping and added, purple, orange, pink, brown.


	Modified maximum size of dvilj,dvilj300,dviepson,dviep24 so that
	all can take graphs up to 19cm x 27cm

	Added command line switches

		/nod	(add ^D to ps file)
		/addd	(Don't add ^D to ps file)
		/nomaxpath (Don't choke on complex fill paths)
		/fill	(For dvibit, makes bar's filled instead of shaded)

	Added symbol for PC.
		 (Stops ^D being added to ps files)

	(this is the default for unix)
	The DCL symbol GLE_NOCONTROLD should be set to "TRUE" to kill the 
	^D on vms systems.

	If you set the DCL symbol GLE_EDITOR to TPU then you will get
	TPU instead of EDT when you press ^E

	You can now tell gle about postscript fonts that you have 
	downloaded into your own printer.

	Lets pretend we are adding a font called Greek-Bold

		1) Download the font into you laser printer
		2) Add a line to FONT.DAT
psgb 86 psgb.fmt plsr.fve psgb.fmt
a    b  c        d
		a = GLE's name for the font
		b = The next unused number in font.dat
		c = The font metric file, this can be created using
			makefmt from and adobe font metric file
			(.afm) which you should have been supplied
			with your font.
		d = The font vector file, this is just a font that
			that gle can use to draw your font on non
			postscript devices.
		3) Add a line to psfont.dat
psgb Greek-Bold
		This tells the postscript driver that this is a 
		font that the printer knows how to deal with.

GLE 3.1e (1-Mar-1990)

      Errbars will now work with the bigfile option.

      x2ticks now come back on again if you turn the xaxis off and x2axis on
      (The error bars distances cannot also be a bigfile)

      if you use a let d1 = exp from 1 to 10000 step 1
      with a log xaxis it doesn't produce a smooth line.  GLE now
      checks and if the xaxis is a LOG scale then it uses the
      step option as an approximate required number of intervals which
      it spreads along the xaxis in increasing steps.

      In the graph module, if you use '0' as a column for the x data
      of a bigfile GLE will generate xdata of 1,2,3,4 ...
      e.g.  d1 bigfile a.dat,0,2 

      Data separated with commas and no spaces was being read incorrectly
      The data reading routine has been re-written. (introducing new 
      and more interesting bugs in the process)

GLE 3.1d (19-Feb-1990)

      In the past  "TEXT a\delta b" would have produced a space
      between the delta character and the letter b,  this action
      was incorrect and had been fixed. 
      Use "TEXT a\delta\ b" to get a space.

      "TEXT a(\delta)b" also works now.

GLE 3.1c

      Built in functions twidth("") and theight("") now work.

      Their is now a BIGFILE command for executing large gle files 
      that won't fit into memory using INCLUDE. (note this should
      not be confused with  the BIGFILE graph command).
      As bigfile compiles and executes the gle file one line at a 
      time you cannot use multi line structures (subs, if then else etc)
      but you can call subroutines if they are defined before the bigfile

      Lines in bitmap drivers are now the right length (text looks better)

      There is currently a limitation on the size of text or tables that
      can be printed (this may be fixed at a later date)

      The xg() and yg() functions now work if the graph has log axes

      A bug which stopped the last line of a data file being
      read had been fixed.

      Correction to expression passing allows IF A$="ABC" THEN ... to work.

      Added shading styles RSHADE, RSHADE1, RSHADE2 ...(Lines at right angles)

GLE 3.1b

      Fixed the circle fill command so it uses the right colour.
      Modified PostScript arrows with wide lines so they look nice.
      They are now filled triangles rather than two short lines.

      There is now an example in BOXR.GLE which shows you how to 
      define a subroutine to draw boxes with rounded corners.

      Horizontal error bars have been added, the commands are

      If you had the same subroutine defined twice in a gle
      file it would skip the intervening gle commands, this is fixed.

      Arcto fixed for line devices (hpgl)

      Stacked bargraphs should not contain missing values,  replace
      missing values with the value from the column on the left. e.g.
            1 22 * 45  becomes          1 22 22 45

GLE 3.1a

      Bug with reading exponential format numbers fixed.

      Bigfile option added, so that you can extract particular 
      columns of data from a data file, e.g. 
            D1 LINE BIGFILE TEST.DAT,3,2
      Will use column 3 for x values and column 2 for y values.

'           data x.dat
            d3 line
            d3 line bigfile x.dat,1,4
      As dataset three is made from columns 1 and 4.

      The space codes (\: \; \,) are now proportional to the
      current font size.

      text \rule{2}{3}  will draw a box, and \glass can be used
      to offset text.

GLE 3.1

      Modified default DPOINTS setting so that if DTICKS is not a 
      whole number it will display one decimal point.
      e.g. (1.0,  1.5,  2.0) instead of (1   1.5   2)

      the  "graph data d2=c3,c1"  option now requires no spaces 
      within the "d1=c1,c2"

      Begin path wasn't issuing a newpath, so multiple paths 
      got added together.

      Gle files can now begin with a numeric character.

      Bug with bitmap drivers fixed (dviepson, dvilj300 etc) which 
      resulted in a stray horizontal line on the page.

      The editor doesn't display long lines correctly,  it does 
      store them though.

      On the PC  the PSGLE driver now writes output files 
      to INPUTFILE.PS instead of out.ps   e.g. bar.gle --> bar.ps

      Added \linegap{-1} tex primitive to stop odd spaces lines
      when using super/subscripts.
      vscale and hscale were not being reset after each graph.

      Some of the characters which were missing from the PLOTTER fonts
      have now been installed (e.g.  []{}<>% )

      You can no add lines and text to a drawing using the mouse or arrow
      keys on the PC version of gle. 

      There is now a graph command, FULLSIZE which sets 
      vscale,hscale to 1,  and turns the border off.

GLE 3.0h

      Fixed bug with LSTYLE in PSGLE (on the pc only)

      You can change the size of the default key by setting the
      hei of text used to draw the key. e.g.
      begin graph
            key hei 1.2
      end graph

      If the value of an error bar length is a missing value then that 
      particular bar won't be drawn.

      If you escape out of the idiot graph creation menu it will now 
      correctly put an END GRAPH in your file.

      Line and Grid shading has been added to the postscript 
      device driver, the following colour names are now accepted.


      e.g. BAR 2 3 FILL GRID3

      Print the example file SHADE.GLE on a postscript printer 
      and stick it on the wall for reference.  ($ cgle shade /print)

      Bug with changing diskdrives on a PC is fixed.

      The fonts SSBI and SSI were reversed on the laser printer.

      There is now an axis qualifier SHIFT for shifting the labelling
      horizontally (when the label refers to the data between the 
      two ticks) e.g.
            xaxis shift .4

      In order to put a large space between two words you must 
      use these control sequences e.g.  TEXT  Hello \; world
            \,   =     .1cm
            \:   =     .2cm
            \;   =     .4cm

      Use \_ to get an underscore character inside text
      ("_" normally means subscript) 

      Fixed X2AXIS SIDE ON 

      HPGL Plotter pens 1=black, 2=red, 3=green, 4=blue, 5=magenta, 6=white

      Bug fixed in linestyles caused by the cap being set to ROUND which 
      merges the dashes together for wide lines on the laser printer.

GLE 3.0g

      Fixed bug with smoothing more that 200 points
      Fixed bug with joining between saved objects.

When using the plotter fonts you may find some characters are missing,
      e.g.  %,[ and ]  (These have now been put into these fonts V3.1)
The following command will replace these characters with latex equivalents.
      size 24 18
      text \chardef{%}{{\setfont{texcmr}\char{37}}}
      text \chardef{[}{{\setfont{texcmr}\char{91}}}
      text \chardef{]}{{\setfont{texcmr}\char{93}}}
      ... rest of gle file

GLE 3.0e (17-Sep-1990)

Missing values are not used to calculate new dataset values during 
a let command (e.g.  "let d3 = sin(d2)")

Fixed bug in LOG data display.  (If you have used LOG axis prior to 
this release you SHOULD replot your graphs)

The bigfile option now works with markers as well as lines.
            (e.g.  "d3 bigfile "year.dat" lstyle 1 marker dot ")

GLE 3.0d (5-Sep-1990)

The default labelling of axes is sometimes not ideal, for example
      0     0.333333   0.6666667        1.0
you can now adjust this with the command "XAXIS DPOINTS 3" which sets 
the decimal places for an axis.  e.g.
      0.000 0.3330.666   1.000

The MSCALE option now works.

Markers have been reduced in size, this will affect existing gle 
files, they are now approx 60% of there original size.

The bigfile option now works on postscript printers, there was a bug 
caused by sending an entire 10,000 point curve to the printer as one path
which it choked on if it was short of memory.

You will occasionally get an error message "PATH TOO COMPLEX" this means
that GLE decided to split up a line into shorter segments.  Normally
this WARNING can be ignored.

The default axis labelling of  1, 1.5, 2  has been changed to  1.0, 1.5, 2.0
Exponent axis labelling has been fixed 2.00000e4 becomes 2.0e4 

      *** NEW DEVICE DRIVERS ***

GLE now supports the EPSON 8PIN and 24Pin printers, and the 
HP deskjet/laserjet printers.  To support bitmap devices which require
a large amount of memory GLE first writes a device independent file
OUT.DVI, you then run the bitmap driver for your printer and that prints
directly to LPT1:  e.g.
      C:\GLE> dvigle myfile        (produces OUT.DVI)
      C:\GLE> dviepson       (creates bitmap and prints to lpt1)

The output options are:
      C:\GLE> DVIEPSON Standard epson printer
      C:\GLE> DVIEP24        24 Pin epson printers (180 dpi)
      C:\GLE> DVILJ          HP Laser jet, Desk jet (150 dpi)
      C:\GLE> DVILJ300 HP Laser jet, Desk jet (300 dpi)
The hi resolution drivers are significantly slower (2-3 times) than the 
low resolution drivers so would only be used for final copies.

By default the fonts (RM, RMB, SS, TT etc) will all map to PLSR (plotter 
simplex roman) on both bitmap drivers and the HPGL driver.
If you want this to happen on other drivers then put the
command "PLOTTER FONTS" right after your SIZE command in your gle file.

An lwidth of .00001 on a laser printer will give you 1 pixel width lines.
(and won't occasionally round to two pixels)

Using Postscript and HP drivers on the PC:
      C:\GLE\> PSGLE MYFILE.GLE    (Writes myfile.ps)
      C:\GLE\> HPGLE myfile.gle    (Writes out.hp)

Making a 360K distribution diskette from the 1.2M diskette.
(if a: = 1.2Meg disk,  b: = 360K disk)
      a:> copy a:install.exe b:
      a:> copy a:pkunzip.exe b:
      a:> copy a:gle1.zip    b:
      a:> copy a:gle2.zip   b:
      a:> copy a:gle3.zip   b:
      a:> copy a:gle4.zip   b:

To install GLE on a pc type:
      C:\> a:install 

GLE 3.0c

Bug with LaTeX symbols in graph titles fixed. 

Extra graph dataset qualifiers "BIGFILE and NOMISS"
      NOMISS removes missing values from a dataset.  (so disjointed lines
      are re-connected)  (e.g.  "d3 colour red nomiss")
      BIGFILE allows a very large dataset to be drawn on a PC, it doesn't
      read the dataset into memory as usual.  (but must be in a file 
      with only one dataset, and no BARS or markers can be drawn.
      And axis ranges must be specified by hand.
      (e.g.  "d3 bigfile "year.dat" lstyle 1")

Fonts:      The LaTeX greek font is missing from the small distribution disk.
      It is now possible to copy on any missing font directly into the 
      c:\gle\font\ directory. Copy both the FMT and FVE files. 
      e.g. "texcmmi.fmt, texcmmi.fve"

      set join mitre | round | bevel
      set cap but | round | square

      Superscript, Subscript
      Symbols on Laser Printer after white fill.
      Individual dataset scaling fixed.
Notes on new Drivers:  HPGL, TEK4010, P79.
      HPGL: With this driver you can define the symbols
            hpgl_open, hpgl_close to be the escape
            sequences required for strange hp printers.
            also HPGL_WIDTH, and HPGL_HEIGHT for non A3 plotters
      TEK:  TEK_OPEN and TEK_CLOSE can be defined to allow
            non dec tektronix terminals, e.g. TEK_OPEN = "^[?38h"

      (this is normally done in CGLECMD.COM so that when you specify
      /DEV=V550, OR /DEV=HPA4 it defines the symbols for you.

      On the vax the following cgle dev qualifiers are valid:

            cgle myfile.gle /dev=vdisk,v550,hpgl,tek
      Plus any P79 supported device, your output file will be  MYFILE.HPGL

GLE 3.0b

2) Currently supported devices:
      PC version:
            HERC, EGA, CGA, etc (any BGI supported display)
      VAX version:
            REGIS(VT125,VT240,VT340 etc)
            UIS  (Workstations running VWS software)
      (additions to this list lower down)
3) Fonts:
      The PC version comes on one 360K floppy, on this disk is a 
      subset of fonts, if you use a font that isn't on this disk
      it will use a replacement font, and replacement metrics so
      the size of the text may be misleading.
      If you have enough disk space (another 1Meg) then you can
      install the complete font set.

4) PostScript:
      The PSGLE driver is not on the 360K Floppy, you must install 
      it separately if you have enough disk space (another 400K)
      (or copy gle and data files to a VAX and use the vax
      PS driver)

5) Using GLE on a VT100/VT240
      If your keyboard doesn't have function keys (f9-f14) then you
      can use GOLD 1-4 (for 11-14) and GOLD 0 (for f10) and
      GOLD 9 (for F9)  GOLD 5 (show errors)

      If you run GLE on a vt100 it will work OK but not actually DRAW
      anything on the screen (as it thinks it's a vt240)

6) Other keyboard features:
      ^F will toggle between fast and slow (but nicer text) on some devices
      ^E will call VAX/EDT
      ^Z Exits from all menu's etc (like ESC on a PC)
      ALT-X Exits on a PC without asking you for confirmation.

7) There are currently no drivers for Plotters or DotMatrix Printers, 
these are planned for the next month or two   (see update notices below)

8) Additions:
      The command "SET FONTLWIDTH value"  has been added, this allows
the line width of stroked fonts to be changed.