A new Dislin distribution is available for .NET 64-bit.


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.


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.


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


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


A new Dislin distribution for Cygwin 64-bit and Windows is available in the file


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.


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.


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.


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.


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.


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.


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.


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.

Older news

loading content