News of the Data Plotting Library DISLIN ---------------------------------------------- 15-March-2022 DISLIN version 11.5 is released with the following changes: - The new option SWGOPT (COPT, 'FILE') enables or disables a text field created by WGFIL for the selected file name. COPT can have the values 'FIELD' (default) and 'NOFIELD'. - The Python modules in the DISLIN distributions for Python and Windows are updated. The supported Python versions are now 2.7, 3.7, 3.8, 3.9 and 3.10 (32- and 64-bit). - The supported Perl modules in the DISLIN distributions for Perl and Windows are updated to Perl versions 5.20.x, 5.22.x, 5.30.x and 5.32.x (32- and 64-bit). - The Ruby versions 1.9, 2.7 and 3.1 are supported now by DISLIN for Windows (32-bit). - All Go versions greater or equal 1.13 are supported by DISLIN (32- and 64-bit). - DISLIN can be used from the Julia programming language between Julia version 0.7 and the current version 1.7.2 (32- and 64-bit). - The programming language R is supported by DISLIN for R versions greater or equal 3.2.1 (32- and 64-bit). - The DISLIN libraries for Linux are now compiled on CentOS 3.9 systems (32- and 64-bit) with gcc 4.8.5. The RPM packages were also created on these systems while the DEB packages were generated on Ubuntu 16.04 LTS with ESM support. 15-March-2021 DISLIN version 11.4 is released with some new features and bug fixes: - The Windows Enhanced Metafile format EMF is supported by DISLIN. EMF files can be created with the keyword 'EMF' in the routine METAFL. EMF is a 32-bit extension of the WMF format. DISLIN stores plot vectors as pixels in EMF files with the origin in the upper left corner. - The new option SWGOPT (file, 'BACKGROUND') sets an image as background for main widgets, where the parameter 'file' should contain the name of a BMP file. If the image is smaller than the size of the main widget, the image will be duplicated. Otherwise, it will be clipped. - A reported access violation in the routine LEGEND is fixed. The crash was caused by trying to plot a symbol lying outside of the page. - The file dislin.f90 was missing in the dl_11_if.zip distribution for Intel Fortran. Thanks to Ahron Fegelman for the hint. - The install names of the DISLIN libraries are changed for MAC OSX. The environment variable DYLD_LIBRARY_PATH is no longer needed, if DISLIN is installed in the directory /usr/local/dislin. Anthony Bratt has suggested the change. - A bug in the interpretation of the Mapgen format for plotting external maps is corrected. The bug was caused by a source code change in DISLIN. - The routine GOTHIC was missing in the Fortran wrapper routines. Thanks to Dr. Richard Patzak for the hint. - A missing call to DISINI in the quickplot routine QPLSUR was reported by Andi Zuend. The bug is corrected. 28-June-2020 DISLIN upgrade 11.3.3 is released: - 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. 26-Mai-2020 - There was still a restriction for increasing the number of legend lines from 30 to 80. The problem is fixed. 19-Mai-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 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. 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). 28-February-2018 The DISLIN version 11.1 is released with the following changes 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. 20-February-2017 DISLIN version 11.0 is released as a stable summarize of the minor 10.6.x upgrades. 16-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 and Windows 32- and 64-bit. A PDF manual for using DISLIN from Julia can also be downloaded. 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) 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 R and Windows 32- and 64-bit are available in the file dl_10_r.zip. 26-June-2015 A new DISLIN distribution FreeBASIC and Windows 32-bit is available in the file dl_10_fb.zip. 05-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. 20-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. 15-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 Pirttijaervi 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. - 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-Schoech for the hint. - The new utilities dispng and disbmp are added for displaying PNG and BMP files. 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. For the most part, the new version is a summary of the patch levels since version 10.3. The following new routines are added to version 10.4: - SWGBGD changes the background colour of widgets. - SWGFGD changes the foreground colour of widgets. 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. 4-September-2013 The DISLIN page DISLINSoftware is available at Facebook. 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. For the most part, the new version is a summary of the patch levels since version 10.2. The following new routines are added to version 10.3: - SURSHC plots a shaded surface, where an extra matrix can be specified for calculating surface colours. - WGPOPB and WGAPPB are new widget routines for plotting icons instead of strings in widget menus. 4-December-2012 DISLIN is upgraded to version 10.2.7 with the following changes: - The keywords 'TOP', 'MIDDLE' and 'BOTTOM' are added to the routine TXTJUS for vertical alignment of text and numbers. - A background box for text and numbers can be plotted if the routine TXTBGD is called before. - New keywords 'GRAY' and 'HALF' can be used with the routine COLOR. - Different colours can be defined for the pen-downs in line styles with the new routine LINCLR. - GAPSIZ is an entension of the routine GAPCRV for allowing gaps in curves for X- and Y-coordinates. - The routines PLYINI and PLYFIN allow the output of 3D polygones created by DISLIN to a .PLY file. The new routines 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 http://www.dislin.de/dislin_new.pdf. 9-November-2012 DISLIN is upgraded to version 10.2.6 with the following changes: - The routine INCFIL supports now the additional image formats PNG and TIFF for importing images. - 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. - 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). - A bug in the polygon shading algorithm for image formats is corrected. There could be some missing lines if the polygon must be clipped. Thanks to Mark Sinclair for the hint. - Smoothed triangles plotted by routines such as CRVTRI and CRVQDR could have swapped colours at the edges. This bug was introduced in version 10.2.3 by a software change and should be fixed now. 10-October-2012 DISLIN is upgraded to version 10.2.5 with the following changes: - Characters from a font defined with TTFONT were not plotted correctly after the option PAGORG ('BOTTOM'). The bug is fixed. Thanks to Ahron Fegelman for the hint. - Another bug in TTFONT reported by Orlando Hevia is fixed. TrueType fonts containing short offsets for glyph data caused a program crash. Thanks to Orlando for the report. - 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. - The slider value at scrollbars can be suppressed with the new option SWGOPT ('NOVALUE', 'SLIDER') - The ZLIB routines in DISLIN used for compression in PNG and PDF formats are updated to the current ZLIB version 1.2.7. 26-September-2012 DISLIN is upgraded to version 10.2.4 with the following changes: - 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. - 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. - Grids plotted by the routine GRID should no longer overplot axis lines. Thanks to Dr. Armin Rauthe-Schöch for the bug report. - A bug in the routine FIXSPC is fixed. Characters were not correctly centered for PostScript, Windows and X11 fonts. 13-July-2012 DISLIN is upgraded to version 10.2.3 with a few bug fixes: - The routine TXTURE was not working in the wrapper Fortran libraries of DISLIN. Native Fortran libraries are not affected. - Callback routines for the widget routine WGBOX were not executed on Linux and Unix systems. This bug was introduced with version 10.2.1. Thanks to Farzin Sereshti for the report of the last two bugs. - The Python interpreter was hanging when callback routines for widgets are used together with the Numpy package. Thanks to Gerald Cecil for the hint. - Some old drivers for Tektronix emulation and Kyocera Prescribe output are removed from the DISLIN code. - A slight performance improvement is achieved for text, line and triangle output. Hopefully, without introducing new bugs. 8-June-2012 DISLIN is upgraded to version 10.2.2 with the following changes and bug fixes: - The new routine LEGBGD (NCLR) defines a background colour for legends. The default value NCLR = -1 means, that the background is not plotted. - 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. - A bug in the Fortran wrapper routine for WGINI and Linux is corrected. The bug was introduced with version 10.2.1 and causes a crash of DISLIN widget programs on Linux written in Fortran. Thanks to Farzin Sereshti for the hint. - The routine RVYNAM for modifying labels and titles of the right Y-axis was ignored in ADDLAB. Thanks to Jens Bischoff for the report. 9-May-2012 Two bugs introduced with the new version 10.2.1 are corrected: - Cursor routines were not working in draw widgets on Linux and Unix systems. - The line width in PostScript files was incorrect for the native Fortran libraries of DISLIN. The affected DISLIN distributions are replaced. 2-May-2012 The most DISLIN distributions are upgraded to version 10.2.1 with the following changes: - a new XML output format with the keyword 'IPE' is added to METAFL. The output format can be interpreted by the graphics editor Ipe. - 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). - 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. - 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++. Here is a short example of a DISLIN C++ program using the new libraries: #include #include "discpp.h" int main () { DISLIN g; g.metafl ("cons"); g.disini (); g.messag ("This is a test!", 100, 100); g.disfin (); } 22-February-2012 A new DISLIN distribution for Java and Windows 64-bit is available in the file dl_10_jv.zip. 13-February-2012 - The interpreting prgramming language Tcl is now supported by DISLIN. Pre- compiled plotting extensions for Tcl are added to the i586 and i586_64 Linux distributions of DISLIN and a new DISLIN distribution for Tcl 8.5 ActiveState is available in the file dl_10_tc.zip. - Plotting extensions for Ruby and Tcl are added to the FreeBSD distributions of DISLIN. 17-January-2012 A new DISLIN distribution for Ruby 1.9 and Windows is available in the file dl_10_rb.zip. The extension module is compiled with the MinGW port of gcc and linked with the DISLIN library for MinGW. Plotting extensions for the programming language Ruby are also added to the 32- and 64-bit Linux distributions of DISLIN. 22-November-2011 A pre-compiled module for Perl 5.14.x is added to the Linux i586 and i586_64 distributions of DISLIN, which is compatible with the Perl versions on openSUSE 12.1 and Fedora 16. 17-November-2011 DISLIN version 10.2 is released. Here is a brief summary of the new DISLIN features since version 10.1. The most of the features were already added by minor patch releases. - The new routine CURV4D plots 3-D symbols with different colours calculated from a colour scale. - The routine LEGTYP defines whether legend lines are plotted in vertical or horizontal direction. - The added routine TRIFLC plots triangles with interpolated colours. - TR3AXS is a new 3-D base transformation routine for a rotation about an arbitrary axis. - WGSEP can also draw separators in popup menus if the ID of a popop menu is passed to WGSEP. - GWGSIZ is a new routine that returns the size of widgets in pixels. - Frames around draw widgets may be suppressed with the option SWGTYP ('OFF', 'FRAME'). - The editability of text widgets can be disabled with the option SWGOPT ('NOEDIT', 'TEXT'). - Routines for changing widget attributes such as SWGTXT can also be used for widgets with the attribute 'INVISIBLE'. - The new option 'STRING' is added to SWGTYP for the class 'POPUP' to connect a popup widget directly with a callback routine. - The resizing of the main widget can be disabled with the option 'NORESIZE' in SWGTYP for the class 'MAIN'. - The latest version 2.1.1 of the GSHHS map coordinates is supported. - The Windows distributions for Perl and Python support now multiple versions of Perl and Python, so that extra distributions for certain versions are obsolete and deleted. - Support for Absoft Fortran is added to the standard Linux distribution of DISLIN and tested with the current Absoft Fortran compilers. Thanks to Absoft for the licenses. The special DISLIN distributions for Absoft Fortran are no longer necessary and removed from the server. - Some DISLIN distributions for older systems such as FreeBSD 5.4 and 6.0 and Linux on Sparc processors are no longer supported.