## News

22-July-2020

• The new DISLIN distribution dl_11_fp.zip is added for supporting Free Pascal 64-bit on Windows.

28-June-2020

#### DISLIN upgrade 11.3.3 is available:

• Legends can be plotted in table form with multiple columns if the new option 'TABLE' is specified in the routine LEGTYP. The number of columns and the plot direction of legend entries can be defined with the routine LEGTBL.
• Some more attributes are added to LEGVAL for modifying the appearance of legends.
• TIFF files organized in tiles can now be included in DISLIN. Tiles are a TIFF extension and were not recognized by DISLIN until yet.
• CRVMAT supports mesh lines defined with SURMSH.
• The static libraries in the DISLIN distributions for Linux and FreeBSD are now compiled with the -fPIC option, so that they can be linked into shareable objects.
• Python 3.8 is supported by the DISLIN distributions for Windows.
• A reported crash in the routine TRIANG should be fixed. The crash was caused by a rounding error.
• A bug in the Perl wrapper routine for TRIANG is corrected.
• The background option for Smith charts was not working. The bug is fixed.

2-June-2020

Dr. Scott Best from SiberSci, LLC, has published the paper 'A General-Purpose Scientific and Engineering Plotting Library that Includes Smith Charts' before a few days. The paper describes how Smith Charts can be created with DISLIN. A copy of the paper is available in the Downloads section, or here.

26-May-2020

• There was still a restriction for increasing the possible number of legend lines from 30 to 80. The bug is fixed.

19-May-2020

#### DISLIN upgrade 11.3.2 is available:

• The Smith chart in DISLIN can now plot impedance or admittance data. The type of the axis system is defined with the new options 'IMPEDANCE' and 'ADMITTANCE' in the routine AXSTYP. The default value is 'IMPEDANCE'. Thanks to Dr. Scott Best for the suggestion.
• Two more predefined legend positions are added to the routine LEGEND. Left and right positions on the page centered vertically are also available.
• The limit for possible legend lines is increased from 30 to 80.
• The DISLIN utilities were revised.

25-April-2020

#### DISLIN upgrade 11.3.1 is available:

• The limitation for the number of data points for spline and parametric spline interpolation is removed. Space for working arrays is now allocated as much as needed.
• The keyword 'CURVE' is added to the interpolation methods in the routine POLCRV for connecting two data points in a Smith chart with a curved line.
• The new routine YPOLAR plots secondary polar axes for Smith and polar axis systems.
• A bug in the conversion routine GETICO is fixed.
• Negative distances between axis ticks, labels and names defined by the routines LABDIS and NAMDIS were ignored by GRAF and GRAFMP. This behavior is corrected.
• The C++ library in the DISLIN distribution for Linux ARM systems has produced link errors. The problem is solved.

31-March-2020

#### Support for the programming language Go

• New DISLIN distributions for Windows 32-bit and Windows 64-bit are added for using DISLIN from the programming language Go. The distributions contain Go bindings and the double precision gcc/MinGw library of DISLIN. A version of the gcc/MinGw compiler is necessary for linking Go code with DISLIN. For example: tdm-gcc.
• Go bindings are also included in the Linux distributions of DISLIN for 32- and 64-bit.
• A PDF manual with the description of the Go bindings and example code is available here.

15-March-2020

#### DISLIN version 11.3 is released:

• The DISLIN license has changed. DISLIN can now be used freely without any limitations, either as a private person, or in a commercial or non-commercial environment. The access to the source code is still restricted and available via a support contract.
• The zlib compression routines in DISLIN are updated to version 1.2.11.
• Kosovo and Montenegro are added to SHDEUR for plotting European countries.
• Two reported bugs for SENDOK and VLTFIL are corrected.

15-March-2019

#### DISLIN upgrade 11.2.1 is released:

• Cubes plotted by the routines CURV3D and CURV4D can now have a different size in the X-, Y- and Z-directions. The size can be defined with the routines SETRES3D and AUTRES3D. A better clipping algorithm is implemented for cube symbols.
• A reported bug in the Fortran wrapper routine for QPLSCL is fixed.
• There was a crash in a GRFINI/GRFFIN environment for the routines CRVMAT and CURVE3 if a user has not defined solid shading before. The problem is solved.

11-February-2019

#### DISLIN version 11.2 is released with the following changes since 11.1:

• SWGCB2 supports now callbacks for main widgets. The callback routine is invoked when the size of a main widget is changed (11.2).
• New DISLIN distibutions are available for the NAG Fortran compiler version 6.2 on Windows (32- and 64-bit) (11.2).
• Silverfrost Fortran version 8.30 is now supported for 64-bit programming on Windows (11.2).
• Python 3.7 is supported by the DISLIN distributions for Windows 32- and 64-bit (11.2).
• The new routine GRAFR plots a two-dimensional axis system for a Smith chart, where the non negative impedance or admittance plane is projected to a complex reflexion coefficient plane (11.1.3).
• GRIDRE plots a grid line in a Smith chart, where the real parts of the impedance data are constant (11.1.3).
• GRIDIM plots a grid line in a Smith chart, where the imaginary parts of the impedance data are constant (11.1.3).
• The routine GETRCO converts a complex impedance value to a reflexion factor (11.1.3).
• GETICO is the reverse routine to GETRCO and converts a complex reflexion factor to an impedance (11.1.3).
• The option ('HORI', 'POLAR') is added to LABTYP for allowing true horizontal labels on polar and Smith charts (11.1.3).
• GAPSIZ is extended with the 'Z' option for enabling gaps in 3D curves (11.1.3).
• The new routine CSRPOL returns an array of mouse positions, where help lines are plotted between the points (11.1.2).
• GRFIMG is a new routine that includes a PNG, BMP, TIFF of GIF image into a 3-D plane defined by GRFINI (11.1.2).
• Arrows are added to scale widgets created by WGSCL for X11, so that scale widgets should have the same behavior on X11 and Windows systems (11.1.2).
• New symbols are added to the list of TeX symbols (11.1.1):
      \leqslant \geqslant \nless \ngtr \nleq \ngeq \nleqslant \ngeqslant
\prec \succ \nprec \nsucc \preceq \succeq \npreceq \nsucceq
\ll \gg \lll \ggg \nsubseteq \nsupseteq \sqsubset \sqsupset
\sqsubseteq \sqsupseteq \doteq \simeq \propto \angle \measuredangle
\circ \sphericalangle

• The TeX instructions \hat{arg}, \tilde{arg} and \dot{arg} plot a circumflex, a tilde and a dot above arg (11.1.1).
• A problem with plotting in black foreground conlor on a white background in transparency mode is corrected. The bug appeared when the white background was plotted directly instead of using scrmod ('reverse'). Thanks to Te-Pu Chiang for the hint.
• Yioryhos Kriempardis has reported that RLCIRC was plotted in polar plots with a wrong radius. The same for RLPIE. The bug is fixed.
• A memory overflow in DWGFIL after the option SWGOPT ('USER', 'MASK') is fixed. The bug concerns only DISLIN distributions for Windows (11.1.2).

14-January-2019

30-November-2018

#### The following small reported bugs are corrected:

• There was a problem with plotting in black foreground conlor on a white background in transparency mode, when the white background was plotted directly instead of using scrmod ('reverse'). Thanks to Te-Pu Chiang for the hint.
• Yioryhos Kriempardis has reported that RLCIRC was plotted in polar plots with a wrong radius. The same for RLPIE. The bug is fixed.
• An old version of disdlnc.dll was distributed in the Windows distributions from 8-November-2018. Thanks to Ahron Fegelman for the hint.

8-November-2018

#### DISLIN upgrade 11.1.3 is available with the follwoing changes:

• The new routine GRAFR plots a two-dimensional axis system for a Smith chart, where the non negative impedance or admittance plane is projected to a complex reflexion coefficient plane.
• GRIDRE plots a grid line in a Smith chart, where the real parts of the impedance data are constant.
• GRIDIM plots a grid line in a Smith chart, where the imaginary parts of the impedance data are constant.
• The routine GETRCO converts a complex impedance value to a reflexion factor.
• GETICO is the reverse routine to GETRCO and converts a complex reflexion factor to an impedance.
• The option ('HORI', 'POLAR') is added to LABTYP for allowing true horizontal labels on polar and Smith charts.
• GAPSIZ is extended with the 'Z' option for enabling gaps in 3D curves.
• A reported bug in transparency for special back- and forground colours is corrected.
• The DISLIN utilities were broken on 64-bit Windows systems and are recompiled with a different compiler.

27-August-2018

#### DISLIN is upgraded to version 11.1.2 with the following changes:

• The new routine CSRPOL returns an array of mouse positions, where help lines are plotted between the points.
• GRFIMG is a new routine that includes a PNG, BMP, TIFF of GIF image into a 3-D plane defined by GRFINI.
• Arrows are added to scale widgets created by WGSCL for X11, so that scale widgets should have the same behavior on X11 and Windows systems.
• A memory overflow in DWGFIL after the option SWGOPT ('USER', 'MASK') is fixed. The bug concerns only DISLIN distributions for Windows.

9-July-2018

#### A new DISLIN distribution for FreeBASIC 64-bit on Windows systems is available in the file dl_11_fb.zip.

2-July-2018

Python version 3.6 is now supported by the DISLIN disributions for Python on Windows 32- and 64-bit.

27-April-2018

#### The DISLIN upgrade 11.1.1 is available with the following changes:

• New symbols are added to the list of TeX symbols:
      \leqslant \geqslant \nless \ngtr \nleq \ngeq \nleqslant
\ngeqslant \prec \succ \nprec \nsucc \preceq \succeq \npreceq
\nsucceq \ll \gg \lll \ggg \nsubseteq \nsupseteq \sqsubset
\sqsupset \sqsubseteq \sqsupseteq \doteq \simeq \propto
\angle \measuredangle \circ \sphericalangle

• The TeX instructions \hat{arg}, \tilde{arg} and \dot{arg} plot a circumflex, a tilde and a dot above arg.
• The Python3 module is renamed from dislinmodule.so to dislin.so in the Linux distributions, so that it can be found by newer Python3 versions.

27-February-2018

#### The DISLIN version 11.1 is released with the following new features and bug fixes:

• CONTUR2 is a new routine for plotting contours on curvilinear grids.
• CONSHD2 plots filled contours on curvilinear grids.
• The routine LINFIT plots or calculates a straight line that has the best fit to a series of data points.
• The mathematical symbol 'approx' is added to the LaTeX symbols.
• The GCL wrapper routine NANCRV has called a wrong DISLIN routine. Thanks to Jens Bischoff for the hint.
• A transparency bug in the routine TPRINI is fixed. Thanks to Vladimir Rashchikov for the report.
• A clipping bug for bitmap fonts in image formats such as PNG is fixed. The bug was reported by Mark Sinclair.
• A memory leak was removed that appeared when the output format was 'PNG'.
• The routine DELGLB was missing in the C++ libraries of DISLIN. Thanks to Bruce Boffin for the last two bug reports.
• A bug in the positioning of labels on the color bar plotted by ADDLAB is fixed. The labels were plotted on a wrong position when the default position of the color bar was changed with the options POSBAR or JUSBAR. Thanks to Ivan Sunker for the hint.

7-April-2017

#### A few bug fixes were applied to the Windows and Linux distributions of DISLIN:

• A reported bug in the Fortran wrapper routine for SURISO is corrected. The bug could cause an access violation or a corrupted isosurface, when unequal dimensions were passed to SURISO. Thanks to Dr. Tian Lu for the hint.
• Diagonal lines were plotted with a wrong direction in image files if the option LINMOD ('ON', 'SMOOTH') was used before. Thanks to Thomas Bank Lauridsen for the report.
• The utility gclhlp could not find it's online help files on Linux. Thanks to Jens Bischoff for the hint.

8-March-2017

### The Data Plotting Software DISLIN - Version 11

by Helmut Michels (Author)

Paperback : 353 pages
Publisher: Shaker Media GmbH (March 2017)
Language: English
ISBN: 978-3-95631-557-2
Product Dimension: 17 x 24 cm
Weight: 662 g
Price: 22,90 Euro + shipping costs (a shipping within Germany is normally free)

The book can be ordered from:

20-February-2017

#### DISLIN version 11.0 is released as a stable summarize of the 10.6.x upgrades with a few changes.

• The i386 and i386_64 distributions of DISLIN for very old Linux systems are removed from the server. These Linux systems are no longer supported.
• The pre-compiled Perl modules in the DISLIN distributions for Linux are updated to the Perl versions 5.18.2, 5.20.2 and 5.22.1 compiled on Ubuntu 14.04, 15.10 and 16.04.
• A new DISLIN book for version 11 is in preparation and will be available in a few weeks (hopefully).

14-September-2016

#### Upgrade 10.6.2 is available with the following changes and bug fixes:

• FITSHDU is a new routine that defines the FITS HDU for following FITS operations.
• The keywords 'LSEA', 'ISEA' and 'HSEA' are added to SHDMAP for sea shading with GSHHS map coordinates.
• A bug in the routine NEGLOG in the Fortran code of DISLIN is fixed. The routine NEGLOG had no effect before.
• SHDEUR produced wrong colors in the Java distributions of DISLIN. The bug is corrected.
• Possible horizontal lines caused by clipping in conical conformal projections are eliminated. Thanks to Winfried Seitz for the last two bug reports.
• The routine GETWIN has not returned the correct position of the DISLIN graphics window for the Salford Fortran compiler. Thanks to Johannes Adam for the hint.
• The axis scaling produced by automatic scaling could be different for the X- and Y-axes if vertical labels are plotted at the Y-axis, even if the data range and axis lengths were equal. Thanks to Philippe Bourdin for the bug report.
• The DISLIN utility dismov was not working on Linux caused by an older software change. The bug is fixed.

25-April-2016

#### The DISLIN upgrade 10.6.1 is available with the following changes:

• The routines FITSOPN, FITSCLS, FITSIMG, FITSVAL, FITSTYP, FITSSTR and FITSFLT are added to DISLIN for reading simple FITS files.
• The routine AUTRES for defining the size of points plotted by CRVMAT can now be called in level 1, 2 and 3, and accepts negativ values for logarithmic scalings and aquidistant data grids.
• Support for the programming language Julia is added to the Linux distribution of DISLIN for i586 (32- and 64-bit).
• A 16-bit dependency is removed from the DISLIN TIFF format, so that the width and height of TIFF images is no longer restricted to 16-bit values.

20-February-2016

New DISLIN distributions are available for the programming language Julia in the file dl_10_jl.zip. The 32- and 64-bit versions of Julia are supported. A PDF manual for using DISLIN from Julia can also be downloaded from this site.

18-January-2016

The DISLIN version 10.6 is released. The new version is mostly a summary of the minor upgrades since version 10.5 with some new features and last bug fixes:

• The DISLIN widget routines on X11 systems based on OpenMotif support now Unicode characters. An X11 Unicode font must be loaded and Unicode characters must be passed as UTF8 strings to a DISLIN widget routine for getting this feature. (10.6)
• Thick lines in image formats such as PNG, TIFF, etc. are plotted with raster operations to increase the quality of image output. The vector operations used before could lead to some rounding effects. (10.6)
• The routine WINJUS sets a character option for positioning the graphics window on the screen. (10.5.3)
• A graphics window without any decorations such as frames and title bars is created after the option WINTYP ('POPUP'). The default value is WINTYP ('STANDARD'). (10.5.3)
• The icon in the title bar of a graphics window can be replaced by an icon loaded with the routine WINICO (only Windows). (10.5.3)
• A graphics window can be made unvisible and visible again with the new routine HIDWIN. (10.5.3)
• The new routine AXSERS erases the contents of an axis system. (10.5.1)
• The option SWGOPT ('FULL', 'MAIN') defines a fullscreen modus for the main widget created by WGINI. (10.5.1)
• A hidden password can be entered in a text widget if the option SWGTYP ('PASSWORD', 'TEXT') is set before. (10.5.1)
• Minimize and maximize buttons in the system menu of the main widget can be disabled with the new options SWGATT (ID, 'OFF', 'MINI') and SWGATT (ID, 'OFF', 'MAXI'). The complete system menu is disabled with the option SWGATT (ID, 'OFF', 'MENU'), where ID should be the widget ID of the main widget. (10.5.1)

1-October-2015

The Windows distributions of DISLIN are upgraded to version 10.5.4. The reason for the upgrade was the incompatibility of some DISLIN libraries with Visual Studio 2015. The problems should be fixed.

12-August-2015

#### The DISLIN upgrade 10.5.3 is released with the following changes:

• The routine WINJUS sets a character option for positioning the graphics window on the screen.
• A graphics window without any decorations such as frames and title bars is created after the option WINTYP ('POPUP'). The default value is WINTYP ('STANDARD').
• The icon in the title bar of a graphics window can be replaced by an icon loaded with the routine WINICO (only Windows).
• A graphics window can be made unvisible and visible again with the new routine HIDWIN.
• The routine WINDOW for positioning the graphics window on the screen was not full compatible for X11 and Windows. For Windows, the upper left corner of the client area was used for the position, for X11, the upper left corner of the window. This is changed, so that the Windows version of WINDOW uses also the upper left corner as position for the graphics window.
• The DISLIN distribution for Mingw and Windows 32-bit supports now the GFortran compiler by containing link scripts and pre-compiled module files for GFortran. The extra distribution for GFortran in the file dl_10_gf.zip is no longer needed and removed from the DISLIN website.
• An additional library for g++ programming is also added to the DISLIN distribution for Mingw and Windows 32-bit, that supports the newer GNU g++ versions 4.9 and 5.1. Th name of the library is discpp51.a.
• The Python distributions for Windows 32- and 64-bit contain additional pre-compiled modules for Python versions 3.3.x and 3.4.x.
• The Perl distributions for Windows 32- and 64-bit support now the Perl versions 5.16.x, 5.18.x, 5.20.x and 5.22.x from ActiveState.

22-July-2015

New DISLIN distributions for the programming language R and Windows 32- and 64-bit bit are available in the file dl_10_r.zip.

26-June-2015

A new DISLIN distribution for FreeBASIC and Windows 32-bit is available in the file dl_10_fb.zip.

5-May-2015

#### The DISLIN upgrade 10.5.2 is released with some small new features and bug fixes:

• Two additional arrow forms are added to VECTOR. The new options should also work for all routines, where an array option can be specified.
• 'XEXP' is a new keyword for the routine LABELS, which has the same meaning as 'EXP', except that a times symbol is used as an operator instead of an asterisk. Thanks to Malcolm Field for the last both suggestions.
• The DISLIN distribution for Cygwin 32-bit supports now gfortran. A linking script and pre-compiled modules for gfortran are added. The libraries were already compatible to gfortran before.
• A bug in WGPBAR for the DISLIN C libraries on Windows is corrected. The progress bar was corrupted for the default mode 'NOSMOOTH', where the problem was introduced with DISLIN version 10.3.6. Thanks to Karim Elrayes for the hint.
• A problem in the PDF bookmarks created by DISLIN with the routine PDFMRK is solved. Thanks to David Kubal for the report.
• James Sanovale reported a crash in the routine INCFIL for the native Fortran libraries of DISLIN on Windows. The bug is fixed.

19-March-2015

#### The DISLIN upgrade 10.5.1 is released with the following new features and bug fixes:

• The new routine AXSERS erases the contents of an axis system.
• Multiple graphics windows can be used with the OpenGL driver.
• The OpenGL driver in DISLIN supports also now X11 fonts on Linux and Unix systems. TrueType fonts on Windows systems were already possible in older DISLIN versions.
• The option SWGOPT ('FULL', 'MAIN') defines a fullscreen modus for the main widget created by WGINI.
• A hidden password can be entered in a text widget if the option SWGTYP ('PASSWORD', 'TEXT') is set before.
• Minimize and maximize buttons in the system menu of the main widget can be disabled with the new options SWGATT (ID, 'OFF', 'MINI') and SWGATT (ID, 'OFF', 'MAXI'). The complete system menu is disabled with the option SWGATT (ID, 'OFF', 'MENU'), where ID should be the widget ID of the main widget.
• SWGATT (ID, CFIL, 'ICON') replaces the icon in the system menu of the main widget by the icon in the file CFIL. CFIL must be in the Windows .ico format.
• The option SWGIOP (ID, 'ICON') defines an icon ID for the system menu and for the routines WGICON and WGPICON. The icon is taken from the program resources in the executable file. The file parameter in WGICON and WGPICON will be ignored for that case (only Windows).
• A reported bug for SURISO is corrected. In seldom cases the sign of some gradients could be wrong for a unsymmetric scaling of the Z-axis, so that light calculations and backface culling failed.
• For LITOP3 (ID, XR, XG, XB, 'DIFFUSE') the parameters XG and XB were interchanged in the Fortran code of DISLIN.
• Nested main widgets created by WGINI could not have different titles and help entries. The bug is fixed.

13-January-2015

#### The DISLIN version 10.5 is released.

The new version is mostly a summary of the minor upgrades since version 10.4 with the last bug fixes:

• The routine DELGLB frees allocated space for global parameters in DISLIN. It can be called if DISLIN routines are no longer needed in a program. (10.5)
• The new routine GWGGUI informs about the used GUI in a DISLIN library. (10.5)
• The new routine FILTYP returns the type of an image or plotfile. (10.4.3)
• GETSCM informs if automatic scaling is enabled in an axis system routine. (10.4.3)
• ITMNCNT is a replacement of ITMCNT with an additional length parameter to avoid buffer overflows. ITMCNT is left in the library to provide compatibility. (10.4.3)
• The new routine FREEPTR deallocates space that is allocated is DISLIN before. This routine is for example necessary if the space was allocated in an DLL. (10.4.3)
• SHDMAP accepts the additional options 'GSHL', 'GSHI' and 'GSHH' for using GSHHS map coordinates for shading continents. (10.4.1)
• The routine WGPICON was missing in the Fortran wrapper libraries of DISLIN. Thanks to William Podgorski for the hint.
• A WMF file created by DISLIN could be corrupted if it was created after a graphical output to the screen. Thanks to Ziguo Zuo for the report.
• Not all parts of list and table widgets were invisible after the option 'INVISIBLE' in SWGATT for X11. The bug is corrected.

29-September-2014

#### DISLIN is upgraded to version 10.4.3 with the following changes:

• The new routine FILTYP returns the type of an image or plotfile.
• GETSCM informs if automatic scaling is used in an axis system routine.
• ITMNCNT is a replacement of ITMCNT with an additional length parameter to avoid buffer overflows. ITMCNT is left in the library to provide compatibility.
• The new routine FREEPTR deallocates space that is allocated is DISLIN before. This routine is for example necessary if the space was allocated in an DLL.
• The routine TICMOD was missing in some wrapper libraries of DISLIN. Thanks to Patrick Daly for the hint.
• The attribute 'INACTIVE' was no longer working for push button widgets since push buttons were replaced by ownerdrawn buttons in version 10.4.0. Thanks to Markku Pirttijärvi for the hint.
• Markku reported also a problem with the Z-scaling in GRAF3 after automatic scaling for the X-axis, which was caused in very seldom cases by a uninitialized variable in SETSCL in the DISLIN C code.
• If automatic scaling is enabled, the axis system routines (GRAF, GRAF3, ...) does return for Fortran caluclated scaling parameters in the parameter list. This was not working for wrapper libraries (C libraries with wrapper routines for Fortran), but it's fixed now.
• WPIXLS and RPIXLS gave link errors for DISLIN and the Portland Fortran compiler on Windows. The bug is fixed. Thanks to Te-Pu Chiang for the report.

21-July-2014

#### DISLIN is upgraded to version 10.4.2 with some bug fixes:

• A uninitialized variable in the PDF driver has caused corrupted PDF files in very seldom cases. The bug is fixed.
• The routine GWGTBL for requesting the value of a table cell has given a wrong value after a call to SENDOK.
• Some constants for line types were not defined correctly in the files dislin.h, dislin.f90 and discpp.h. Thanks to Armin Rauthe-Schöch for the hint.
• The new utilities dispng and disbmp are added for displaying PNG and BMP files.

28-February-2014

27-February-2014

#### The DISLIN upgrade 10.4.1 contains bug fixes and a new feature for SHDMAP:

• SHDMAP accepts the additional options 'GSHL', 'GSHI' and 'GSHH' for using GSHHS map coordinates for shading continents.
• The DISLIN distribution for .NET contains now a library for passing double parameters to DISLIN.
• A program crash happened when the routine SENDOK was used in a callback routine for dropping list widgets (only Windows). Thanks to Charles Thorsness for the hint.
• A uninitialized variable has caused another crash in a Perl script for graphical output to a draw widget. Thanks to Michael Okuntsov for the report.
• Johannes Adam has reported some problems for using transparency and Z-buffer. The problems should be solved.
• A special GIF file could not be displayed by the routine INCFIL. The bug is fixed.

15-January-2014

#### DISLIN version 10.4 is released.

The new version 10.4 is mostly a summary of the minor upgrades since version 10.3 with a few new features and bug fixes:

• The routine SWGBGD changes the background colour of widgets.
• SWGFGD can change the foreground colour of widgets.
• The push buttons created with routines such as WGPBUT, WGOK and WGQUIT are replaced by OWNERDRAW buttons for Windows, so that the background colour of the buttons can now be modified. The appearance of the buttons should be the same.
• The new routines WGICON and WGPICON of version 10.3.6 are ported to X11 systems.
• The option SWGTYP ('NOSIZE', 'MAIN') was no longer working since a software change in version 10.3.6. The bug is fixed. Thanks to Dr. Guntram Buchheim for the hint.
• Separator widgets created by WGSEP were not displayed correctly in nested widget trees for Windows. The bug is fixed. Thanks to Alessandro Vicini for the report.
• A possible overflow in the widget routine WGBOX was reported by Clive Jones if more than 100 list entries were passed to WGBOX. Thanks to Clive for the hint. The problem is solved.

The new features above are described in the online and HTML documentation of DISLIN. A description of all features since DISLIN version 10.0, which are not covered by the DISLIN book, is also available in the PDF document dislin_new.pdf.

16-December-2013

There is a new web design for the DISLIN pages that corresponds to the new web design of the Max Planck Society.

25-November-2013

A new DISLIN distribution for Cygwin 64-bit and Windows is available in the file dl_10_gc.zip. The distribution is created with gcc 4.8.2 and supports the languages C/C++, Fortran, Perl and Python.

15-November-2013

#### A new DISLIN upgrade with the version 10.3.6 is available. The following changes are applied:

• The routine LDIMG loads PNG, BMP, GIF and TIFF images into an array. RapidEye satellite TIFF files are also supported by LDIMG.
• The routines WGICON and WGPICON create label and push button widgets with icons as labels. Thanks to Clive Jones for the suggestion. This feature is only supported on Windows systems at the moment.
• The routines WGIMG and WGPIMG create label and push button widgets with images as labels.
• The DISLIN main widget can now have scroll bars with the option SWGTYP ('SCROLL', 'MAIN').
• The option 'GREEK' is added to the routine SWGOPT for the keyword 'CODING' for passing greek coded characters (ISO-8859-7) to widget routines.
• The buttons of box widgets can be ordered in form of a matrix with the new option SWGTYP ('GRID', 'BOX').
• The routine SWGTXT can now modify the labels of push button widgets including the labels of WGQUIT and WGOK.
• Undefined values (NaN) are handled in curves if the option NANCRV ('ON') is used. NaNs are then plotted as gaps and reported in the DISLIN protocol. If a compiler doesn't support NaN values, the routine NANCRV gives a warning.
• 'MAPNDG' is a new keyword in LABELS for plotting geographic labels without degree symbols.

13-September-2013

#### DISLIN is upgraded to version 10.3.5 with the following changes:

• The new routine LEGSEL sets a selection of legend lines plotted by LEGEND.
• The routine FILSIZ returns the size of an image file, where the image file can have the formats PNG, GIF, TIFF and BMP.
• SGWSCL accepts now the widget ID of a draw widget and can modify the value of scrollbars in draw widgets.
• GWGSCL is extended to request the values of scrollbars in draw widgets.

26-July-2013

A new DISLIN distribution is available for Linux on Raspberry Pi. The distribution supports programming with gcc, g++, gfortran, Perl, Python, Java, Ruby and TCL. The Raspberry Pi is a small and cheap single-board computer with an ARM processor.

19-July-2013

#### DISLIN is upgraded to version 10.3.4 with the following changes:

• The routine SWGCB3 sets callback routines for mouse wheel events in draw widgets. Thanks to Miguel Hermanns for the suggestion.
• The new routine FILWIN defines a rectangle of an image that can be included with the routine INCFIL instead of the full image.
• A reported bug in the cursor routines for scrolled draw widgets is corrected. The position of the cursor was not returned correctly. Thanks to Juan Garbayo de Pablo for the hint.
• A new version of the IDL wrappers for calling DISLIN from IDL is available in the download section. Thanks to Philippe Bourdin for the new version.
• My production system for the DISLIN Windows libraries and distributions is moved from Windows XP to Windows 7 64-bit. I hope that everything is working as before.

13-June-2013

#### The most DISLIN distributions are upgraded to version 10.3.3. The Mac OSX distributions will follow in a few days. The following changes are applied:

• The new routine PROJ3D defines a perspective or orthographic 3D projection. A perspective view is used by default.
• For an orthographic projection the projected plot can be scaled by a factor defined with VSCL3D.
• The option 'RUSSIAN' is added to the routine SWGOPT for the keyword 'CODING' for passing cyrillic coded characters (ISO-8859-5) to widget routines.
• The symbol number -1 is allowed in the routine MARKER for suppressing the plotting of symbols in routines such as CURVE and ERRBAR.
• The plotting extensions for Java are now created from the double precision libraries of DISLIN. DISLIN routines that expect Floatingpoint arrays are overloaded, so that float or double arrays can be passed to DISLIN.
• The plotting extensions for Python are also created from the double precision libraries of DISLIN, so that all plotting extensions (Perl, Python, Java, Ruby, TCL) use now the double precision libraries of DISLIN.
• A new DISLIN distribution for Perl 5.16.3 and Windows 64-bit is available.

23-April-2013

#### Some small changes are applied to the new DISLIN version 10.3.2:

• The distance of scan lines is reduced for shaded characters of vector fonts for getting a better shading in high-resolution image files. Thanks to Dr. Armin Rauthe-Schöch for the hint.
• The new routine SHDFAC sets a scaling factor for the distance of scan lines in shading patterns. The default value is 1.
• Not all points in an axis system were converted to map coordinates by the routine PT2POS for some projections. The bug is fixed.
• A bug for the keywords 'LAND' and 'SEA' in the routine SHDMAP is corrected. Some shadings were wrong for special projections.
• The routine WINDBR for plotting wind barbs can now plot wind flags on the opposite side of symbols if the symbol length is specified as a negative number. Thanks to Prof. Mark Sinclair for the suggestion and for the last two bug reports.

12-March-2013

#### DISLIN is upgraded to version 10.3.1 with the following changes:

• The new routine EXPIMG copies the contents of the DISLIN graphics window to a PostScript or PDF file. It can also replace routines such as RPNG, RGIF, RTIFF, RBMP and RPPM for copying the contents of the graphics window to image files.
• The keywords 'SEA' and 'LAND' are added to SHDMAP for sea and land shading.
• PT2POS is an inverse routine to POS2PT for converting plot coordinates to map coordinates.
• A clipping bug in SHDMAP for conical projections is corrected. Thanks to Mark Sinclair for the hint.
• Shaded contours plotted by CONSHD could contain some not shaded thin lines for PostScript and PDF output. The bug is fixed. Thanks to Joachim Eichhorn for the report.
• The keyword 'ON' was not working in FILOPT. Thanks to Armin Rauthe-Schoech for the hint.

15-January-2013

#### DISLIN version 10.3 is released.

Here is a brief summary of the new DISLIN features since version 10.2. The most of the features were already added by minor patch releases.

• SURSHC plots a shaded surface, where an extra matrix can be specified for calculating surface colours (10.3).
• WGPOPB and WGAPPB are new widget routines for plotting icons instead of strings in widget menus (10.3).
• The keywords 'TOP', 'MIDDLE' and 'BOTTOM' are added to the routine TXTJUS for vertical alignment of text and numbers (10.2.7).
• A background box for text and numbers can be plotted if the routine TXTBGD is called before (10.2.7).
• New keywords 'GRAY' and 'HALF' can be used with the routine COLOR (10.2.7).
• Different colours can be defined for the pen-downs in line styles with the new routine LINCLR (10.2.7).
• GAPSIZ is an entension of the routine GAPCRV for allowing gaps in curves for X- and Y-coordinates (10.2.7).
• The routines PLYINI and PLYFIN allow the output of 3D polygones created by DISLIN to a .PLY file (10.2.7).
• The routine INCFIL supports now the additional image formats PNG and TIFF for importing images (10.2.6).
• Unicode characters coded in UTF8 can be used in the DISLIN widget routines if the new option SGWOPT ('UTF8', 'CODING') is used. The default coding is 'ANSI'. At the moment, this feature is only available for Windows systems, but not for X11 systems (10.2.6).
• The new options SWGIOP (N, 'HMARGIN') and SWGIOP (N, 'VMARGIN') change the horizontal and vertical text margins in text and push button widgets (only X11) (10.2.6).
• Image files included with the routine INCFIL can now be scaled to a region on the screen after the option FILOPT ('ON', 'SCALE'). By default images are included without a scaling (10.2.5).
• The slider value at scrollbars can be suppressed with the new option SWGOPT ('NOVALUE', 'SLIDER') (10.2.5).
• The ZLIB routines in DISLIN used for compression in PNG and PDF formats are updated to the current ZLIB version 1.2.7 (10.2.5).
• The new routine TTFONT reads a TrueType font file, so that the characters of the font can be displayed in DISLIN plots. The intention of the routine was to make Unicode characters available for all output formats (i.e. by using 'arialuni.ttf'). By default, only the outlines of the characters are plotted. After a call to SHDCHA characters will be shaded (10.2.4).
• The new routines FRMBAR, SPCBAR, JUSBAR and POSBAR modify the appearance of colour bars in 3D colour plots. FRMBAR defines the thickness of frames around colour bars, SPCBAR sets the space between colour bars and axis systems, and JUSBAR defines the alignment of colour bars. The routine POSBAR sets the position of colour bars, where colour bars can now be plotted near the left and right X-axes, or near the lower and upper Y-axes (10.2.4).
• The new routine LEGBGD (NCLR) defines a background colour for legends. The default value NCLR = -1 means, that the background is not plotted (10.2.2).
• CSRLIN is a similar cursor routine to CSRREC and returns the endpoints of a line constructed with the mouse.
• The DISLIN C++ libraries contain additional overloaded methods for passing float arrays, so that you can either pass double or float arrays to DISLIN methods (10.2.2).
• A new XML output format with the keyword 'IPE' is added to METAFL. The output format can be interpreted by the graphics editor Ipe (10.2.1).
• Anti-aliased lines can be enabled in image formats such as PNG, TIFF and BMP with the option LINMOD ('ON', 'SMOOTH'). RGB mode of the output format is required for this option (see IMGFMT) (10.2.1).
• The width of the dropping list in a dropping list widget can be modified with the option SWGIOP (N, 'DLIST'), where N contains the number of pixels (if negative), or the number of characters (if positive). The default value N = 0 means that the dropping list has the same width as the widget (10.2.1).
• Some DISLIN distributions (Linux i586, Visual C++ and MinGW) contain additional C++ libraries for using DISLIN from C++. At the moment all DISLIN routines are implemented as methods of the class DISLIN, so that the description of the routines in the DISLIN manual is also valid for C++ (10.2.1).

The new features above are described in the online and HTML documentation of DISLIN. A description of all features since DISLIN version 10.0, which are not covered by the DISLIN book, is also available in the PDF document dislin_new.pdf.